/* Panjurli Grand - refinement layer (loaded after each page's own styles) */
body{line-height:1.6;}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}
html{scroll-padding-top:100px;}
.category,[id]{scroll-margin-top:100px;}

/* calmer motion */
.shimmer-text,.glow-text{animation:none!important;-webkit-text-fill-color:currentColor;}
.leaf-divider svg,.royal-book,.ra-seal svg,.ra-spark,.royal-marquee .track{animation:none!important;}
.reveal-init{transform:translateY(12px);transition-duration:.5s;}
.cuisine-card:hover,.pillar:hover,.feast-card:hover,.philosophy-item:hover,.ambience-item:hover,.info-card:hover,.popular-grid a:hover{transform:translateY(-3px);}
.order-platform:hover{transform:translateY(-3px) scale(1);}
.btn:hover{transform:none;}
.roofline{display:none;}
.hero-dots{bottom:28px;}
.amenities-strip{margin-top:-44px;}

/* hero */
.home-hero-inner{padding:84px 28px 96px;}
.hero-kicker{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#E8C88A;font-weight:600;margin-bottom:18px;}
.home-hero h1{font-size:clamp(42px,7vw,76px);}
.btn-ico{display:inline-flex;align-items:center;gap:9px;}
.btn-ico svg{width:17px;height:17px;}
.btn.wa{background:#25D366;color:#073B1B;box-shadow:var(--shadow-soft);}
.btn.wa:hover{background:#1fbd5a;}

/* top bar + footer contact */
.top-bar-left .tb-wa{color:#7FE3A6;font-weight:600;}
.top-bar-left .tb-wa svg{width:14px;height:14px;}
.footer-contact{margin-top:16px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:#B0A38F;}
.footer-contact a{display:inline-flex;align-items:center;gap:8px;color:#EFE6CE;}
.footer-contact svg{width:15px;height:15px;}

/* food mosaic */
.popular-photo-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:14px;}
.pop-card{aspect-ratio:auto;border-radius:var(--radius);}
.pop-card:nth-child(1){grid-column:span 2;grid-row:span 2;}
.pop-card:nth-child(6),.pop-card:nth-child(7){grid-column:span 2;}
.pop-card:nth-child(1) .pop-text strong{font-size:24px;}
@media(max-width:760px){.popular-photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px;}.pop-card:nth-child(6),.pop-card:nth-child(7){grid-column:span 1;}}
@media(max-width:480px){.popular-photo-grid{grid-template-columns:1fr 1fr;}.pop-card:nth-child(1){grid-row:span 1;}}

/* party hall: match the brand palette */
.royal{--plum:#0F332A;--plum-2:#1B4B3D;--gold:#C9A25C;--gold-2:#E8C88A;--rose:#C9A25C;
  background:linear-gradient(180deg,#0F332A,#1B4B3D);padding-bottom:64px;}
.royal::before,.royal::after,.royal-marquee,.ra-spark,.ra-seal{display:none;}
.royal h2 em{background:none;-webkit-text-fill-color:var(--gold-2);color:var(--gold-2);}
.royal-book{background:var(--gold-2);color:#0F332A;box-shadow:var(--shadow-soft);}
.royal-wa{background:#25D366;color:#073B1B;box-shadow:none;}
.royal-wa:hover{background:#1fbd5a;color:#073B1B;}

/* floating call + whatsapp */
.float-contact{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:95;display:flex;flex-direction:column;gap:12px;}
.float-contact a{position:relative;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 22px -6px rgba(0,0,0,.45);transition:transform .2s ease;}
.float-contact a:hover{transform:scale(1.07);}
.float-contact svg{width:28px;height:28px;}
.float-contact .fc-wa{background:#25D366;}
.float-contact .fc-call{background:var(--green);box-shadow:0 8px 22px -6px rgba(0,0,0,.45),0 0 0 2px var(--brass);}
.fc-label{position:absolute;right:68px;white-space:nowrap;background:var(--charcoal);color:#fff;font-size:13px;font-weight:600;padding:7px 12px;border-radius:8px;opacity:0;pointer-events:none;transform:translateX(6px);transition:all .2s ease;}
.float-contact a:hover .fc-label,.float-contact a:focus-visible .fc-label{opacity:1;transform:none;}
@media(max-width:760px){.float-contact{right:14px;gap:10px;}.float-contact a{width:52px;height:52px;}.fc-label{display:none;}footer{padding-bottom:96px;}}
@media print{.float-contact{display:none;}}

/* ===== Typography: Cormorant Garamond (display) + Jost (text) ===== */
body{font-family:'Jost',sans-serif;font-size:17px;letter-spacing:.005em;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:0;line-height:1.08;}
h2{font-size:clamp(34px,4.6vw,50px)!important;}
h3{font-size:clamp(24px,2.6vw,30px);}
.home-hero h1,.page-hero h1{font-size:clamp(52px,8.4vw,98px)!important;font-weight:600;letter-spacing:-.005em;line-height:.98;}
.home-hero .sub,.page-hero .sub{font-size:clamp(22px,3vw,32px)!important;font-weight:500;}
.brand-name{font-size:27px;font-weight:700;letter-spacing:.005em;}
.brand-sub{font-family:'Jost',sans-serif;}
.site-nav a{font-size:14.5px;letter-spacing:.03em;font-weight:500;}
.eyebrow,.hero-kicker,.royal-eyebrow{font-family:'Cormorant Garamond',serif;font-style:italic;text-transform:none!important;letter-spacing:.02em!important;font-size:22px!important;font-weight:600;color:var(--brass);}
.eyebrow.on-dark,.page-hero .eyebrow,.hero-kicker,.feast-banner .eyebrow,.royal-eyebrow,.photo-cta .eyebrow{color:#E8C88A;}
.btn,.header-cta,.royal-book,.royal-call{font-family:'Jost',sans-serif;letter-spacing:.09em;}
.buffet-block-sub,.visit-plaque,.footnote,.order-note,.tag,.royal-tag{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:500;}
footer h4{font-size:30px;}

/* ===== Signature details ===== */
.section-rule{position:relative;width:150px;height:1px;background:linear-gradient(90deg,transparent,var(--brass),transparent);margin:22px auto 0;}
.section-rule::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;background:var(--brass);transform:translate(-50%,-50%) rotate(45deg);}
.welcome-media.media-frame{border-radius:999px 999px 22px 22px;aspect-ratio:4/5;}
.welcome-media.media-frame::after{content:"";position:absolute;inset:10px;border:1px solid rgba(232,200,138,.75);border-radius:999px 999px 14px 14px;pointer-events:none;}
.feast-card,.form-card,.info-card{position:relative;}
.form-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(162,129,47,.35);border-radius:calc(var(--radius-lg) - 6px);pointer-events:none;}
.cuisine,.values,.popular{background-image:radial-gradient(rgba(162,129,47,.12) 1px,transparent 1.4px);background-size:22px 22px;}
.cuisine-card h3,.pillar h3{font-size:25px;}
.pop-card .pop-text strong{font-family:'Cormorant Garamond',serif;font-size:24px;}
.pop-card:nth-child(1) .pop-text strong{font-size:34px;}
.pop-card .pop-text span{font-family:'Cormorant Garamond',serif;font-style:italic;text-transform:none;letter-spacing:.02em;font-size:16px;}
.hero-slide .slide-tag{position:absolute;left:28px;bottom:34px;z-index:3;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:#FBF3E1;padding:8px 20px;border:1px solid rgba(232,200,138,.7);border-radius:999px;background:rgba(15,51,42,.45);backdrop-filter:blur(4px);opacity:0;transform:translateY(10px);transition:all .8s ease .5s;}
.hero-slide.active .slide-tag{opacity:1;transform:none;}
@media(max-width:700px){.hero-slide .slide-tag{left:50%;transform:translate(-50%,10px);bottom:56px;font-size:18px;white-space:nowrap;}.hero-slide.active .slide-tag{transform:translate(-50%,0);}}

/* ===== Buffet menu blocks: photo left, details right ===== */
.buffet-section{padding:70px 28px 80px;}
.buffet-block{display:grid;grid-template-columns:minmax(250px,340px) 1fr;column-gap:56px;align-items:start;padding:48px clamp(24px,4vw,56px);position:relative;margin-bottom:56px;}
.buffet-block::before{content:"";position:absolute;inset:9px;border:1px solid rgba(162,129,47,.3);border-radius:calc(var(--radius-lg) - 6px);pointer-events:none;}
.buffet-block > *{grid-column:2;min-width:0;}
.buffet-block > .block-media{grid-column:1;grid-row:1 / span 8;position:sticky;top:120px;aspect-ratio:3/4;margin:0;border-radius:999px 999px 22px 22px;}
.buffet-block > .block-media::after{content:"";position:absolute;inset:9px;border:1px solid rgba(232,200,138,.8);border-radius:999px 999px 14px 14px;}
.buffet-block-head{margin-bottom:4px;}
.buffet-block-head h3{color:var(--green-deep);font-size:clamp(32px,3.6vw,44px);}
.buffet-block-sub{margin-bottom:26px;}
.regular-items-title{display:flex;align-items:center;gap:14px;font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;text-transform:none;letter-spacing:0;color:var(--brass);font-weight:600;margin-bottom:14px;}
.regular-items-title::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--brass),transparent);}
.tag-list span{background:transparent;border:1px solid rgba(27,75,61,.28);color:var(--green-deep);font-size:14px;padding:6px 14px 6px 12px;}
.tag-list span::before{content:"\2713";color:var(--brass);font-weight:700;margin-right:7px;}
.choice-groups{margin-top:34px;gap:18px;grid-template-columns:1fr 1fr;}
.choice-group{background:var(--cream);border:1px solid var(--line);border-left:3px solid var(--brass);border-radius:var(--radius);padding:18px 20px 12px;}
.choice-group h4{font-family:'Cormorant Garamond',serif;font-size:25px;text-transform:none;letter-spacing:0;color:var(--green-deep);font-weight:700;margin-bottom:6px;}
.choice-group .choose{background:transparent;color:var(--terracotta);border:1px solid var(--terracotta);text-transform:none;letter-spacing:.02em;font-size:12.5px;font-weight:600;padding:2px 11px;margin-bottom:10px;}
.choice-group li{font-size:15px;padding:7px 0;}
@media(max-width:900px){.buffet-block{grid-template-columns:1fr;}.buffet-block > *,.buffet-block > .block-media{grid-column:1;}.buffet-block > .block-media{position:relative;top:auto;grid-row:auto;aspect-ratio:16/11;border-radius:22px;margin-bottom:26px;}.buffet-block > .block-media::after{border-radius:14px;}}
@media(max-width:640px){.choice-groups{grid-template-columns:1fr;}}

/* menu photos: consistent tile height, soft crop for small source photos */
.cat-media img{aspect-ratio:auto;height:240px;object-position:center 40%;}
@media(max-width:560px){.cat-media img{height:170px;}}
