
:root{
  --wine:#6f2732;
  --wine2:#8b3a47;
  --ink:#231f20;
  --muted:#756d69;
  --cream:#f8f4ee;
  --paper:#fffdfa;
  --line:#ded5cc;
  --gold:#b79b6b;
  --shadow:0 24px 70px rgba(53,33,28,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.7}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:url("background.jpg") center/cover fixed;opacity:.52}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 44px));margin:auto}
.topbar{font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--wine);color:white}
.topbar .container{display:flex;justify-content:space-between;gap:18px;padding:8px 0;flex-wrap:wrap}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,250,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(111,39,50,.10)}
.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:45px;height:45px;object-fit:contain}
.brand-word{font-family:Georgia,"Times New Roman",serif;font-size:32px;letter-spacing:.13em;color:var(--wine)}
.navlinks{display:flex;align-items:center;gap:22px;font-size:13px;letter-spacing:.07em;text-transform:uppercase}
.navlinks a{padding:31px 0 27px;border-bottom:2px solid transparent}
.navlinks a:hover,.navlinks a.active{color:var(--wine);border-color:var(--wine)}
.book{padding:12px 17px!important;border:1px solid var(--wine)!important;color:var(--wine)!important}
.book:hover{background:var(--wine);color:white!important}
.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--wine)}
.hero{min-height:680px;position:relative;overflow:hidden;display:grid;place-items:center;background:
linear-gradient(120deg,rgba(43,27,27,.72),rgba(111,39,50,.48)),
radial-gradient(circle at 75% 25%,rgba(255,255,255,.20),transparent 36%),
linear-gradient(135deg,#9f8173,#3d2f2c)}
.hero:after{content:"";position:absolute;inset:0;background:
linear-gradient(90deg,transparent 49.6%,rgba(255,255,255,.13) 50%,transparent 50.4%),
linear-gradient(0deg,transparent 49.6%,rgba(255,255,255,.08) 50%,transparent 50.4%);
background-size:110px 110px;opacity:.18}
.hero-inner{position:relative;z-index:2;text-align:center;color:white;padding:95px 20px}
.hero-mark{width:92px;margin:0 auto 24px;filter:brightness(0) invert(1);opacity:.94}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:12px;font-weight:700}
.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:.04em;margin:12px 0 18px}
.hero h1{font-size:clamp(50px,8vw,104px);line-height:.95}
.hero p{max-width:760px;margin:0 auto 34px;font-size:17px;color:#f4ebe5}
.cta-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--wine);background:var(--wine);color:white;letter-spacing:.11em;text-transform:uppercase;font-size:12px}
.btn.light{background:white;color:var(--wine);border-color:white}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.7);color:white}
.btn.outline{background:transparent;color:var(--wine)}
.btn:hover{transform:translateY(-1px)}
.section{padding:92px 0}
.section.soft{background:rgba(248,244,238,.84)}
.section.wine{background:var(--wine);color:white}
.kicker{color:var(--wine);font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-bottom:12px}
.wine .kicker{color:#e8d9bd}
.display{font-family:Georgia,"Times New Roman",serif;font-size:clamp(35px,5vw,64px);font-weight:400;line-height:1.08;margin:0 0 20px}
.lead{font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.6;color:#4e4542}
.grid2{display:grid;grid-template-columns:1.03fr .97fr;gap:72px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:rgba(255,255,255,.88);border:1px solid var(--line);padding:36px;box-shadow:var(--shadow)}
.card h3{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400;margin:0 0 12px;color:var(--wine)}
.art-block{min-height:470px;display:flex;align-items:flex-end;padding:38px;position:relative;overflow:hidden;color:white;background:
linear-gradient(180deg,transparent,rgba(37,24,23,.72)),
linear-gradient(135deg,#b9a89e,#67504a)}
.art-block:before{content:"AMARE";position:absolute;right:-22px;top:70px;font-family:Georgia,serif;font-size:116px;letter-spacing:.17em;color:rgba(255,255,255,.09);transform:rotate(-90deg)}
.art-block strong{font-family:Georgia,serif;font-size:38px;font-weight:400;position:relative}
.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.menu-tile{min-height:340px;position:relative;padding:30px;display:flex;align-items:flex-end;color:white;overflow:hidden;background:linear-gradient(145deg,#b49282,#6e443f)}
.menu-tile:nth-child(2){background:linear-gradient(145deg,#ccb9a6,#71584c)}
.menu-tile:nth-child(3){background:linear-gradient(145deg,#86715f,#412e31)}
.menu-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(28,17,18,.72))}
.menu-tile>*{position:relative;z-index:2}
.menu-tile h3{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:0}
.menu-tile p{margin:3px 0 0;color:#f5ebe4}
.signature{font-family:Georgia,serif;font-style:italic;color:var(--wine)}
.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.info-strip>div{background:var(--paper);padding:25px 28px}
.info-strip b{display:block;color:var(--wine);text-transform:uppercase;font-size:11px;letter-spacing:.15em;margin-bottom:6px}
.page-hero{padding:120px 0 90px;text-align:center;background:
linear-gradient(rgba(57,35,32,.73),rgba(111,39,50,.63)),
linear-gradient(135deg,#ad9488,#4e3d39);color:white}
.page-hero h1{font-size:clamp(44px,7vw,82px)}
.page-hero p{max-width:720px;margin:0 auto;color:#efe4df}
.content{max-width:880px;margin:auto}
.content h2{font-family:Georgia,serif;font-size:36px;font-weight:400;color:var(--wine);margin-top:46px}
.content h3{font-family:Georgia,serif;font-size:26px;font-weight:400;color:var(--wine)}
.content ul{padding-left:20px}
.policy{border-left:3px solid var(--wine);padding:12px 0 12px 28px;margin:30px 0}
.split-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.menu-sheet{background:white;border:1px solid var(--line);padding:46px;box-shadow:var(--shadow);margin:28px 0}
.menu-sheet h2{text-align:center;margin-top:0}
.menu-sheet .item{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px dotted #d8cbc2}
.menu-sheet .item:last-child{border-bottom:0}
.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.feature{padding:30px;border:1px solid var(--line);background:#fff}
.feature span{display:block;font-family:Georgia,serif;font-size:48px;color:#c7b08a}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact-box{padding:38px;background:var(--wine);color:white}
.contact-box h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin-top:0}
.form{display:grid;gap:12px}
.form input,.form textarea{width:100%;border:1px solid var(--line);background:#fff;padding:14px 15px;font:inherit}
.form textarea{min-height:150px;resize:vertical}
.footer{background:#241d1c;color:#e9dfda;padding:60px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:50px}
.footer h4{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0 0 16px;color:white}
.footer a{color:#e9dfda}
.footer small{display:block;border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:22px;color:#ab9f99}
.notice{padding:16px 18px;border:1px solid #e3d8cf;background:#fff9f5;color:#685650}
@media(max-width:900px){
 .navlinks{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:20px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}
 .navlinks.open{display:flex}.navlinks a{padding:10px 0}.menu-toggle{display:block}
 .grid2,.grid3,.menu-cards,.feature-row,.contact-grid,.footer-grid{grid-template-columns:1fr}
 .hero{min-height:610px}.section{padding:70px 0}.art-block{min-height:380px}
 .info-strip{grid-template-columns:1fr}
}
@media(max-width:560px){
 .container{width:min(100% - 28px,1180px)}
 .brand-word{font-size:25px}
 .hero h1{font-size:58px}
 .split-list{grid-template-columns:1fr}
 .menu-sheet{padding:28px 22px}
}


/* Real Amare Cape Town photography */
.hero{
 background:
 linear-gradient(120deg,rgba(33,22,22,.68),rgba(111,39,50,.42)),
 url("https://www.timeslive.co.za/resizer/v2/OFYAGQE5INO2HIULQHMZH6M3SA.jpg?auth=437919710d1bfa7dda3df89a490fce9b10678da0902c31b103f55f5a4a3c654a") center 44%/cover no-repeat;
}
.art-block{
 background:
 linear-gradient(180deg,transparent,rgba(37,24,23,.70)),
 url("https://static-prod.dineplan.com/restaurant/restaurants/images/4337/amare-1733389684.jpg?d=1733396885") center/cover no-repeat;
}
.real-photo{position:relative;overflow:hidden;min-height:360px;background:#ddd}
.real-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.real-photo.tall{min-height:520px}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.photo-grid .real-photo{min-height:300px}
.photo-caption{position:absolute;z-index:2;left:20px;bottom:18px;color:white;background:rgba(32,20,20,.58);padding:8px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.photo-grid{grid-template-columns:1fr}}


/* ===== PREMIUM IMAGE-LED REFINEMENT ===== */
:root{
  --ease:cubic-bezier(.2,.75,.25,1);
}
body{overflow-x:hidden}
.hero{
  min-height:760px;
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(120deg,rgba(24,16,17,.72),rgba(77,30,39,.52)),
    url("https://www.timeslive.co.za/resizer/v2/OFYAGQE5INO2HIULQHMZH6M3SA.jpg?auth=437919710d1bfa7dda3df89a490fce9b10678da0902c31b103f55f5a4a3c654a") center 46%/cover no-repeat fixed;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.38)),
    radial-gradient(circle at 50% 35%,rgba(255,255,255,.08),transparent 32%);
}
.hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:160px;
  z-index:-1;
  background:linear-gradient(transparent,rgba(0,0,0,.28));
  opacity:.6;
}
.hero-inner{
  animation:heroReveal 1.1s var(--ease) both;
}
.hero h1{
  text-shadow:0 6px 28px rgba(0,0,0,.22);
}
.hero p{
  text-shadow:0 3px 16px rgba(0,0,0,.22);
}
@keyframes heroReveal{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:translateY(0)}
}

.image-panel{
  position:relative;
  overflow:hidden;
  min-height:560px;
  box-shadow:0 28px 80px rgba(38,24,22,.14);
  background:#ddd;
}
.image-panel img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.015);
  transition:transform 1.1s var(--ease),filter .6s ease;
}
.image-panel:hover img{transform:scale(1.055)}
.image-panel:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(28,18,18,.48));
}
.image-panel .caption{
  position:absolute;left:28px;bottom:24px;z-index:2;color:white;
  font-size:12px;letter-spacing:.15em;text-transform:uppercase;
}

.story-grid{
  display:grid;
  grid-template-columns:1fr 1.08fr;
  gap:72px;
  align-items:center;
}
.story-copy{max-width:560px}
.story-copy .display{margin-bottom:18px}

.gallery-shell{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  align-items:stretch;
  margin-top:34px;
}
.gallery-primary{min-height:560px}
.gallery-stack{
  display:grid;
  gap:18px;
  grid-template-rows:1fr 1fr;
}
.gallery-card{
  position:relative;
  overflow:hidden;
  min-height:270px;
  background:#ddd;
  box-shadow:0 18px 48px rgba(33,22,20,.10);
}
.gallery-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .9s var(--ease);
}
.gallery-card:hover img{transform:scale(1.06)}
.gallery-card:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(24,16,16,.55));
}
.gallery-card .caption{
  position:absolute;left:18px;bottom:14px;z-index:2;color:white;
  font-size:11px;letter-spacing:.13em;text-transform:uppercase;
}

.menu-cards{
  gap:22px;
}
.menu-tile{
  min-height:420px;
  background:#ddd !important;
  box-shadow:0 18px 52px rgba(40,27,24,.12);
  transition:transform .5s var(--ease),box-shadow .5s ease;
}
.menu-tile:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 70px rgba(40,27,24,.18);
}
.menu-tile:before{
  content:"";
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  transition:transform 1s var(--ease);
}
.menu-tile:hover:before{transform:scale(1.06)}
.menu-tile:nth-child(1):before{
  background-image:url("https://static-prod.dineplan.com/restaurant/restaurants/images/4337/cropped-amare-1733389639.jpg?d=1750424963");
}
.menu-tile:nth-child(2):before{
  background-image:url("https://iol-prod.appspot.com/image/d92de403565a212cbfec4459fa3e95e2d33b2045%3Dw700");
}
.menu-tile:nth-child(3):before{
  background-image:url("https://media.timeout.com/images/106247077/750/422/image.jpg");
}
.menu-tile:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(30,18,18,.06),rgba(30,18,18,.74));
}
.menu-tile>div{position:relative;z-index:2}

.wine{
  position:relative;
  overflow:hidden;
}
.wine:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(rgba(111,39,50,.86),rgba(77,25,34,.88)),
    url("https://static-prod.dineplan.com/restaurant/restaurants/images/4337/amare-1733389684.jpg?d=1733396885") center/cover no-repeat;
  opacity:.96;
}
.wine>.container{position:relative;z-index:1}

.fade-up{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
.fade-up.in-view{
  opacity:1;
  transform:none;
}
.stagger>*{
  opacity:0;
  transform:translateY(22px);
}
.stagger.in-view>*{
  animation:staggerIn .65s var(--ease) forwards;
}
.stagger.in-view>*:nth-child(2){animation-delay:.08s}
.stagger.in-view>*:nth-child(3){animation-delay:.16s}
@keyframes staggerIn{to{opacity:1;transform:none}}

.page-hero{
  min-height:480px;
  display:grid;
  place-items:center;
  position:relative;
  background:
    linear-gradient(rgba(35,22,22,.62),rgba(78,28,37,.66)),
    url("https://www.capetownetc.com/wp-content/uploads/2025/01/image003.jpg") center/cover no-repeat;
}
.page-hero:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.2));
}
.page-hero .container{position:relative;z-index:1}

@media(max-width:900px){
  .hero{min-height:640px;background-attachment:scroll}
  .story-grid,.gallery-shell{grid-template-columns:1fr}
  .gallery-primary{min-height:420px}
  .gallery-stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .image-panel{min-height:430px}
}
@media(max-width:600px){
  .gallery-stack{grid-template-columns:1fr}
  .menu-tile{min-height:360px}
  .hero{min-height:590px}
}
