:root{--maroon:#8d0710;--red:#b50912;--gold:#f6c514;--cream:#fff1bd;--paper:#fffbee;--ink:#27140d;--muted:#725c49;--line:#e3cc76;--green:#075c27;--deep-green:#003f1b}
.topbar{background:var(--deep-green)}.site-header{border-bottom:3px solid var(--gold)}.official-brand img{width:70px;height:70px;object-fit:contain;flex:0 0 auto}.official-brand strong{color:var(--maroon);text-transform:uppercase}.official-brand small{color:var(--green);font-weight:800}nav a.active{color:var(--maroon);box-shadow:inset 0 -3px var(--gold);padding-bottom:8px}.primary{background:var(--green);color:#fff;border:2px solid var(--gold)}.ghost{border-color:var(--green);color:var(--green)}.hero-art{background:var(--green)}.food-card{border-bottom:5px solid var(--gold)}.promise-section,.facts,.contact-form-wrap{background:#fff4c9}.home-cta,.price-card,.menu-note{background:var(--green)}.home-cta .tamil,.site-footer h3{color:var(--gold)}.site-footer{background:var(--deep-green);border-top:5px solid var(--gold)}.copyright{background:#002b12}.footer-brand .official-brand img{width:110px;height:110px}.footer-brand .official-brand strong{color:#fff}.footer-brand .official-brand small{color:var(--gold)}.palcova-hero{background:radial-gradient(circle at 76% 50%,#ffd94d 0 15%,#08712f 15.4% 30%,#8d0710 30.4%)}.coffee-hero{background:linear-gradient(135deg,#6e050c,#a60b12 58%,#075c27)}.page-hero.green,.tamil-band{background:var(--green)}.page-hero.gold,.ghee-teaser{background:linear-gradient(135deg,#f6c514,#ffe89a)}.menu-title{background:#ffe79d}.brand-art{padding:55px 7vw;background:#fff5c9}.brand-art img{width:min(100%,1320px);margin:0 auto;border-radius:18px;box-shadow:0 24px 65px #43240030;border:4px solid var(--gold)}.wide-art img{max-height:760px;object-fit:contain;background:#fff}.coffee-banner{background:linear-gradient(180deg,#075c27 0 9%,#fff5c9 9%)}.promo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:85px 8vw;background:var(--green)}.promo-pair img{width:100%;border-radius:16px;box-shadow:0 25px 60px #00000047;border:3px solid var(--gold)}.product-promo-split{display:grid;grid-template-columns:minmax(300px,.75fr) 1.25fr;gap:8vw;align-items:center;padding:85px 8vw;background:#fff6d4}.product-promo-split img{width:100%;max-width:620px;border-radius:16px;border:4px solid var(--gold);box-shadow:0 25px 60px #4324002e}.product-promo-split h2{font-size:clamp(42px,5vw,70px);line-height:1}.product-promo-split p:not(.eyebrow){font:18px/1.8 "Playfair Display",serif;color:var(--muted)}.campaign-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;background:#fff4c9}.campaign-gallery img{width:100%;border-radius:14px;border:3px solid var(--gold);box-shadow:0 20px 45px #43240029}
@media(max-width:900px){.official-brand img{width:58px;height:58px}.product-promo-split{grid-template-columns:1fr}.product-promo-split img{max-width:520px;margin:auto}.campaign-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.official-brand img{width:52px;height:52px}.official-brand span{display:none}.promo-pair,.campaign-gallery{grid-template-columns:1fr;padding:45px 6vw}.brand-art{padding:35px 4vw}.brand-art img,.promo-pair img,.campaign-gallery img,.product-promo-split img{border-radius:8px}.product-promo-split{padding:55px 6vw}.footer-brand .official-brand span{display:block}}

.image-hero{position:relative;overflow:hidden;background:var(--deep-green);border-bottom:7px solid var(--gold)}
.image-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-image-hero{height:min(72vw,780px);min-height:520px}
.branch-image-hero{height:min(70vw,760px);min-height:520px}
.branch-image-hero:after,.home-image-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(0,34,14,.64))}
.image-hero-actions{position:absolute;z-index:2;left:7vw;bottom:38px;display:flex;gap:12px;flex-wrap:wrap}
.contain-banner{display:grid;grid-template-columns:minmax(360px,.8fr) 1.2fr;align-items:center;padding:48px 7vw;background:radial-gradient(circle at 25% 50%,#fff2b7,var(--gold) 35%,var(--green) 35.5%)}
.contain-banner>img{height:100%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 22px 25px rgba(0,0,0,.24))}
.contain-banner:after{display:none}
.ghee-hero-banner{grid-template-columns:1fr;justify-items:center;background:linear-gradient(135deg,#f8c616,#fff2b7 50%,#075c27 50.3%)}
.ghee-hero-banner>img{width:auto;max-width:100%}
.mess-hero-banner>img{max-width:590px;justify-self:center}
.branch-caption{position:relative;z-index:2;color:#fff;padding:45px}
.branch-caption .eyebrow,.branch-caption .tamil{color:var(--gold)}
.branch-caption h1{font-size:clamp(42px,5vw,76px);line-height:.98;margin:0 0 22px}

@media(max-width:900px){.home-image-hero{height:70vw;min-height:460px}.branch-image-hero{height:75vw;min-height:460px}.contain-banner{height:auto;min-height:620px;grid-template-columns:1fr 1fr;padding:35px 5vw}.branch-caption{padding:20px}.branch-caption h1{font-size:42px}}
@media(max-width:620px){.home-image-hero{height:78vw;min-height:390px}.branch-image-hero{height:82vw;min-height:390px}.image-hero-actions{left:5vw;right:5vw;bottom:20px}.image-hero-actions .button{padding:11px 14px}.contain-banner{height:auto;min-height:700px;grid-template-columns:1fr;padding:30px 5vw;background:linear-gradient(180deg,#fff2b7 0 58%,var(--green) 58%)}.contain-banner>img{height:470px}.ghee-hero-banner{min-height:620px}.ghee-hero-banner>img{height:560px}.mess-hero-banner>img{height:360px}.branch-caption{text-align:center;padding:15px}.branch-caption h1{font-size:36px}}

.image-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(15,10,5,.78) 0%,rgba(15,10,5,.48) 38%,rgba(15,10,5,.04) 70%),linear-gradient(0deg,rgba(0,35,15,.6),transparent 38%)}
.hero-overlay-copy{position:absolute;z-index:2;left:7vw;top:50%;transform:translateY(-55%);max-width:700px;color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.55)}
.hero-overlay-copy .eyebrow{color:var(--gold);margin-bottom:14px}
.hero-overlay-copy h1{font-size:clamp(48px,6vw,88px);line-height:.94;letter-spacing:-.035em;margin:0}
.hero-overlay-copy h1 em{color:var(--gold)}
.hero-overlay-copy>p:last-child{font:600 16px/1.5 "Noto Serif Tamil","DM Sans",sans-serif;color:#fff3bf}
.branch-image-hero .hero-overlay-copy h1{font-size:clamp(44px,5vw,76px)}

@media(max-width:700px){.image-hero:before{background:linear-gradient(90deg,rgba(15,10,5,.75),rgba(15,10,5,.12)),linear-gradient(0deg,rgba(0,35,15,.72),transparent 55%)}.hero-overlay-copy{left:5vw;right:5vw;top:45%;max-width:none}.hero-overlay-copy h1,.branch-image-hero .hero-overlay-copy h1{font-size:clamp(34px,9vw,52px)}.hero-overlay-copy>p:last-child{font-size:13px}.home-image-hero,.branch-image-hero{min-height:500px;height:78vh}.image-hero>img{object-position:58% center}}
.form-error{margin-bottom:24px;padding:14px 16px;border-left:5px solid var(--red);background:#fff0ed;color:#781018;font-weight:700;line-height:1.5}.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

@media(max-width:700px){
  .site-header{padding-inline:4vw}
  .official-brand{gap:8px;min-width:0}
  .official-brand img{width:48px;height:48px}
  .official-brand span{display:block;min-width:0}
  .official-brand strong{font-size:16px;line-height:1.05;white-space:nowrap;letter-spacing:0}
  .official-brand small{display:none}
  .menu-toggle{position:relative;width:auto;min-width:67px;height:44px;display:flex;align-items:center;justify-content:flex-end;padding:0 0 0 27px;color:var(--green)}
  .menu-toggle>span{position:absolute;left:0;width:19px;margin:0;border-color:var(--green)}
  .menu-toggle>span:nth-child(1){top:15px}.menu-toggle>span:nth-child(2){top:21px}.menu-toggle>span:nth-child(3){top:27px}
  .menu-toggle b{position:static;clip:auto;font-size:14px;line-height:1;font-family:"DM Sans",sans-serif}
  #primary-nav{padding:18px 5vw 24px;gap:4px;border-top:1px solid var(--line)}
  #primary-nav a{font-size:16px;line-height:1.25;padding:13px 10px;border-radius:4px}
  #primary-nav a.active{padding-bottom:13px;background:#fff3bd;box-shadow:inset 4px 0 var(--gold)}
}

@media(max-width:380px){
  .official-brand img{width:43px;height:43px}
  .official-brand strong{font-size:14px}
  .menu-toggle{min-width:58px}
  .menu-toggle b{font-size:13px}
}

/* Site-wide motion system */
.site-header{animation:navDrop .65s cubic-bezier(.22,.75,.25,1) both}
.image-hero>img{animation:heroReveal 1.25s cubic-bezier(.22,.75,.25,1) both}
.hero-overlay-copy{animation:heroCopy .85s .18s cubic-bezier(.22,.75,.25,1) both}
.image-hero-actions{animation:heroActions .8s .34s cubic-bezier(.22,.75,.25,1) both}
.button,nav a,.cards article,.promise-grid>div,.feature-list>div,.value-grid article,.menu-row,.gallery-tile{transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,55,23,.22)}
.cards article:hover,.promise-grid>div:hover,.feature-list>div:hover,.value-grid article:hover{transform:translateY(-7px);box-shadow:0 18px 45px rgba(83,45,5,.12);position:relative;z-index:2}
.cards article:hover .number{color:var(--red)}
.gallery-feature img,.campaign-gallery img,.promo-pair img,.brand-art img{transition:transform .7s cubic-bezier(.22,.75,.25,1),filter .5s ease}
.gallery-feature:hover img,.campaign-gallery img:hover,.promo-pair img:hover,.brand-art img:hover{transform:scale(1.025);filter:saturate(1.06)}
.menu-row:hover{transform:translateX(7px);color:var(--green)}
.motion-ready .reveal{opacity:0;transform:translateY(34px);transition:opacity .72s cubic-bezier(.22,.75,.25,1) var(--reveal-delay,0ms),transform .72s cubic-bezier(.22,.75,.25,1) var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:none}

@keyframes navDrop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@keyframes heroReveal{from{opacity:.35;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
@keyframes heroCopy{from{opacity:0;transform:translateY(calc(-55% + 28px))}to{opacity:1;transform:translateY(-55%)}}
@keyframes heroActions{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

@media(max-width:700px){
  #primary-nav.open{animation:mobileMenu .28s ease both}
  body.menu-open{overflow:hidden}
  @keyframes mobileMenu{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .motion-ready .reveal{opacity:1;transform:none}
}
