@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400&family=Hanken+Grotesk:wght@400;500;600;700&family=Tiro+Devanagari+Hindi:ital@0;1&display=swap');
:root{
 --cream:#FBF6EE;--sand:#F0E7D8;--sand-2:#E7DAC6;
 --gold:#BD9755;--gold-d:#9E7C3E;--terra:#C2724E;--terra-d:#A65B3B;--sage:#7E9B6E;--sage-d:#5F7B52;
 --ink:#352f2c;--ink-soft:#736a64;--on-dark:#fbf1e4;--on-dark-soft:#d8cdbd;
 --serif:"Fraunces",Georgia,serif;--sans:"Hanken Grotesk",system-ui,sans-serif;--deva:"Tiro Devanagari Hindi",serif;
 --pad:clamp(22px,6vw,84px);--radius:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);font-size:1.12rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.07;letter-spacing:-.01em}
.it{font-style:italic;font-weight:400}
.label{font-weight:600;font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-d)}
.label.on{color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.96rem;letter-spacing:.02em;padding:.95em 1.9em;border-radius:999px;cursor:pointer;border:1.6px solid transparent;transition:.28s}
.btn--solid{background:var(--terra);color:#fff;box-shadow:0 14px 30px -14px rgba(194,114,78,.8)}
.btn--solid:hover{background:var(--terra-d);transform:translateY(-2px)}
.btn--cream{background:#fff;color:var(--terra-d)}.btn--cream:hover{transform:translateY(-2px)}
.btn--line{border-color:currentColor}.btn--line:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn--gline{border-color:#fff;color:#fff}.btn--gline:hover{background:#fff;color:var(--ink)}

nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.05rem var(--pad);transition:.4s}
nav.solid{background:rgba(251,246,238,.93);backdrop-filter:blur(12px);box-shadow:0 6px 24px -18px rgba(53,47,44,.6)}
.brand{font-family:var(--serif);font-weight:600;font-size:1.5rem;letter-spacing:.04em;color:#fff;display:flex;align-items:baseline;gap:.5rem}
.brand small{font-family:var(--sans);font-weight:600;font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
nav.solid .brand{color:var(--ink)}
.nav-right{display:flex;align-items:center;gap:1.7rem}
.nav-links{display:flex;gap:1.5rem;list-style:none}
.nav-links a{font-weight:500;font-size:.95rem;color:#fff;opacity:.92}
nav.solid .nav-links a{color:var(--ink);opacity:.82}
.nav-links a:hover{opacity:1;color:#fff}nav.solid .nav-links a:hover{color:var(--terra-d)}
.burger{display:none;background:none;border:0;cursor:pointer}
.burger span{display:block;width:26px;height:2px;background:#fff;margin:6px 0;border-radius:2px}
nav.solid .burger span{background:var(--ink)}
.drawer{position:fixed;inset:0;z-index:99;background:#2c2622;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem}
.drawer.open{display:flex}.drawer a{color:#fff;font-family:var(--serif);font-style:italic;font-size:1.7rem}

.js .reveal{opacity:0;transform:translateY(32px);transition:.95s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;background-size:cover;background-position:center;overflow:hidden}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,32,28,.46) 0%,rgba(40,32,28,.12) 40%,rgba(40,32,28,.5) 100%)}
.hero__in{position:relative;z-index:3;padding:7rem var(--pad) 5rem;color:#fff;max-width:min(720px,92vw)}
/* shorter banner-style hero (home) so the wide image is mostly visible without scrolling */
.hero--banner{min-height:clamp(420px,64vh,600px);background-position:60% center}
.hero--banner .hero__in{padding-top:5.5rem;padding-bottom:3rem}
.hero .label{color:#fff;opacity:.95}
.hero h1{font-size:clamp(2.8rem,7vw,5.6rem);font-weight:500;color:#fff;text-shadow:0 2px 36px rgba(20,12,8,.4);margin-top:1rem}
.hero h1 .it{color:#f4d9b3}
.hero__sub{margin-top:1.4rem;max-width:38ch;font-size:1.2rem;color:#fdeede;text-shadow:0 1px 12px rgba(20,12,8,.5)}
.hero__cta{margin-top:2.3rem;display:flex;gap:1rem;flex-wrap:wrap}
.scrollcue{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:3;font-size:.64rem;letter-spacing:.32em;text-transform:uppercase;color:#fff;opacity:.9}
.scrollcue::after{content:"";display:block;width:1px;height:40px;background:linear-gradient(#fff,transparent);margin:.6rem auto 0;animation:pul 2.2s infinite}
@keyframes pul{0%,100%{opacity:.3}50%{opacity:1}}

.section{padding:clamp(64px,11vw,130px) var(--pad)}
.wrap{max-width:1180px;margin-inline:auto}
.sec-head{text-align:center;max-width:24ch;margin:0 auto clamp(2.4rem,5vw,3.4rem)}
.sec-head h2{font-size:clamp(2.1rem,4.8vw,3.4rem)}.sec-head p{margin-top:.8rem;color:var(--ink-soft)}

/* quote */
.quote{background:var(--sand);text-align:center;padding:clamp(80px,15vh,170px) var(--pad)}
.quote .sh{font-family:var(--deva);font-size:clamp(2rem,5vw,3.4rem);color:var(--terra-d);line-height:1.5}
.quote .tr{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2.6vw,1.7rem);margin-top:1.1rem;max-width:26ch;margin-inline:auto;color:var(--ink)}
.quote .src{margin-top:1.3rem;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-d)}

/* duo: image + text */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;max-width:1180px;margin-inline:auto}
.duo--flip .duo__img{order:2}
.duo__img{border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px -30px rgba(53,40,30,.55);aspect-ratio:4/5}
.duo__img img{width:100%;height:100%;object-fit:cover}
.duo h2{font-size:clamp(2rem,4.4vw,3.1rem)}
.duo p{margin-top:1.1rem;color:var(--ink-soft);font-size:1.14rem;max-width:42ch}
.duo .hi{font-family:var(--deva);color:var(--terra-d);font-size:1.2rem;margin-top:1.3rem}
.duo .sign{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--gold-d);margin-top:.3rem}
.ticks{list-style:none;margin:1.4rem 0 0;display:grid;gap:.7rem}
.ticks li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;font-size:1.05rem}
.ticks svg{width:21px;height:21px;stroke:var(--sage-d);stroke-width:2.4;fill:none;margin-top:.28rem}

/* photo tiles / cards */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:1200px;margin-inline:auto}
.tile{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;display:flex;align-items:flex-end;box-shadow:0 24px 46px -28px rgba(53,40,30,.55)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(35,26,20,.78));z-index:1}
.tile .cap{position:relative;z-index:2;padding:1.4rem;color:#fff}
.tile .cap .n{font-family:var(--serif);font-style:italic;font-size:.92rem;color:#f4d9b3;opacity:.95}
.tile .cap h3{font-size:1.5rem;color:#fff;margin-top:.1rem}
.tile .cap p{font-size:.9rem;color:rgba(255,255,255,.88);margin-top:.2rem}

/* full-bleed band */
.band{position:relative;min-height:64vh;display:flex;align-items:center;background-size:cover;background-position:center;color:#fff;overflow:hidden}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,26,20,.74),rgba(35,26,20,.28))}
.band__in{position:relative;z-index:2;padding:clamp(60px,10vw,120px) var(--pad);max-width:30ch}
.band h2{font-size:clamp(2rem,5vw,3.4rem);color:#fff}
.band p{margin-top:1rem;color:#f3e7d6;max-width:36ch}
.band .btn{margin-top:1.8rem}
.band .hi{font-family:var(--deva);color:#f4d9b3;font-size:1.15rem;margin-top:1.5rem}

/* packages */
.pkgs{background:var(--sand)}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1140px;margin-inline:auto;align-items:stretch}
.pkg{background:#fff;border-radius:var(--radius);padding:2.2rem 1.9rem;display:flex;flex-direction:column;box-shadow:0 22px 48px -30px rgba(53,40,30,.5);position:relative}
.pkg.feat{outline:2.5px solid var(--terra);transform:translateY(-8px)}
.pkg .tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--terra);color:#fff;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;padding:.4rem 1rem;border-radius:999px;font-weight:700}
.pkg h3{font-size:1.6rem}.pkg .who{color:var(--ink-soft);font-size:.95rem;margin-top:.3rem;min-height:2.6em}
.pkg .price{font-family:var(--serif);font-size:2.5rem;color:var(--ink);margin:1rem 0 .2rem}
.pkg .price small{font-family:var(--sans);font-size:.92rem;color:var(--ink-soft);font-weight:500}
.pkg ul{list-style:none;margin:1.2rem 0 1.6rem;display:grid;gap:.55rem}
.pkg li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;font-size:.96rem}
.pkg li svg{width:19px;height:19px;stroke:var(--sage-d);stroke-width:2.6;fill:none;margin-top:.2rem}
.pkg .btn{margin-top:auto;justify-content:center}
.micro{font-size:.88rem;color:var(--ink-soft);margin-top:1rem}

.cstrip{text-align:center}
.cstrip h2{font-size:clamp(1.9rem,4.4vw,2.8rem)}.cstrip p{margin-top:.8rem;color:var(--ink-soft)}
.cstrip .row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}

footer{background:#2c2622;color:#c8bdb0;padding:clamp(48px,7vw,80px) var(--pad) 2.4rem}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.6rem;align-items:flex-end;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:2rem}
.foot-brand b{font-family:var(--serif);font-weight:600;font-size:1.7rem;color:#fff;letter-spacing:.04em}
.foot-brand p{font-family:var(--serif);font-style:italic;color:#e9dccb;margin-top:.3rem}
.foot-links{display:flex;flex-wrap:wrap;gap:1.4rem}.foot-links a{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.foot-links a:hover{color:#fff}
.foot-bottom{padding-top:1.8rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.8rem}

@media(max-width:920px){.nav-links{display:none}.burger{display:block}
 .duo{grid-template-columns:1fr;text-align:center}.duo--flip .duo__img{order:0}.duo p,.duo .ticks{margin-inline:auto}.duo__img{aspect-ratio:4/3;max-width:520px;margin-inline:auto}
 .tiles{grid-template-columns:repeat(2,1fr)}.pkg-grid{grid-template-columns:1fr;max-width:460px}.pkg.feat{transform:none}}
@media(max-width:560px){.tiles{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.js .reveal{opacity:1!important;transform:none!important;transition:none!important}}
