/* Layout concept: an Indian wedding told through arches (jharokhas), silk drapes and marigold strings —
   ivory paper ground, deep emerald bands, antique-gold line work from the logo, rose as the single warm accent. */
:root{
  /* v1.4 pastel palette — blush, peach, mint and lilac with the logo's burgundy and gold */
  --ivory:#FFF8F4;
  --paper:#FCEDE8;
  --blush:#FADDDF;
  --rose:#B24A6C;
  --rose-deep:#7D1E2E;
  --emerald:#2E5C59;
  --emerald-2:#3D716C;
  --gold:#C9A15A;
  --gold-soft:#F0DDB4;
  --ink:#38292A;
  --muted:#6F5E5B;
  --line:rgba(56,41,42,.12);
  --white:#FFFDFB;
  --t-sage:#E2F1E6; --t-saffron:#FDE8D2; --t-lilac:#EFE3F7; --t-sky:#DCEFF1; --t-blush:#FCE0E4;
  --f-display:"Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
  --f-script:"Pinyon Script", "Snell Roundhand", cursive;
  --f-body:"Jost", "Futura", "Avenir Next", system-ui, sans-serif;
  --f-dev:"Tiro Devanagari Hindi", "Noto Serif Devanagari", serif;
  --hh:84px;
  --ease:cubic-bezier(.22,.8,.2,1);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
main{overflow-x:clip}
html{scroll-behavior:auto}
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
svg{display:block}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:400;text-wrap:balance}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
::selection{background:var(--rose);color:var(--white)}

.wrap{max-width:1240px;margin-inline:auto;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px))}
@media (max-width:600px){.wrap{padding-left:max(18px, env(safe-area-inset-left,0px));padding-right:max(18px, env(safe-area-inset-right,0px))}}
.sec{padding-block:clamp(72px,10vw,130px);position:relative}
.center{text-align:center}
.mt{margin-top:48px}

/* type */
.eyebrow{font-size:12.5px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--rose);margin-bottom:18px}
.eyebrow.light{color:var(--gold-soft)}
.h2{font-family:var(--f-display);font-size:clamp(32px,4.2vw,54px);line-height:1.08;letter-spacing:-.01em;margin-bottom:24px;font-weight:400}
.h2.light{color:var(--white)}
.script{font-family:var(--f-script);font-weight:400;letter-spacing:0}
.rose{color:var(--rose)}
.gold{color:var(--gold)}
.sec-head{margin-bottom:56px;max-width:760px}
.sec-head.center{margin-inline:auto}
.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;max-width:none;flex-wrap:wrap}
.sec-head.row .h2{margin-bottom:0}
.divider{width:64px;height:32px;color:var(--gold);margin:6px auto 0}

/* split-text helpers */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.sc{display:inline-block;will-change:transform}
.script .sw,.ht-script .sw{padding:.14em .12em .22em;margin:-.14em -.12em -.22em}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 28px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:.02em;position:relative;overflow:hidden;isolation:isolate;transition:color .4s var(--ease), border-color .4s, box-shadow .4s;white-space:nowrap}
.btn svg{width:18px;height:18px;transition:transform .45s var(--ease)}
.btn:hover svg{transform:translateX(5px)}
.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:translateY(102%);transition:transform .55s var(--ease);z-index:-1}
.btn:hover::before{transform:translateY(0)}
.btn-rose{background:var(--rose);color:var(--white);box-shadow:0 10px 30px -12px rgba(164,74,96,.7)}
.btn-rose::before{background:var(--rose-deep)}
.btn-gold{background:var(--gold);color:var(--emerald)}
.btn-gold::before{background:var(--gold-soft)}
.btn-ghost{border:1px solid var(--rose);color:var(--rose)}
.btn-ghost::before{background:var(--rose)}
.btn-ghost:hover{color:var(--white)}
.btn-sm{padding:11px 22px;font-size:14px}
.btn .lead{width:20px;height:20px}
.btn:hover .lead{transform:none}

/* ============ CURTAIN / PRELOADER ============ */
.curtain{position:fixed;inset:0;z-index:200;pointer-events:none}
.curtain.is-active{pointer-events:auto}
.drape{position:absolute;top:0;bottom:0;width:50.5%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(122,48,69,.12) 70%, rgba(122,48,69,.3)),
    repeating-linear-gradient(90deg, #E7B8B6 0, #F5D6D1 22px, #EDC3C0 40px, #DCA3A3 58px, #EBBCB9 76px, #F6DAD5 96px);
  box-shadow:inset 0 0 120px rgba(122,48,69,.25)}
.drape-l{left:0;transform-origin:left center}
.drape-r{right:0;transform-origin:right center}
.drape-trim{position:absolute;top:0;bottom:0;width:10px;background:linear-gradient(90deg,#9b7536,#E7D3A6,#b38a45)}
.drape-l .drape-trim{right:0}
.drape-r .drape-trim{left:0}
.curtain-mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;color:var(--rose-deep);display:grid;justify-items:center;gap:10px}
.pre-mono{width:110px;height:96px;fill:transparent;stroke:#8a6428;stroke-width:1.1}
.pre-mono use{stroke-dasharray:1400;stroke-dashoffset:1400}
.pre-word{font-family:var(--f-body);font-weight:600;letter-spacing:.42em;font-size:15px;color:#8a6428;padding-left:.42em}
.pre-dev{font-family:var(--f-dev);font-size:22px;color:var(--rose-deep)}
/* no-JS / reduced motion: curtain stays open */
.curtain.is-open .drape-l{transform:scaleX(0)}
.curtain.is-open .drape-r{transform:scaleX(0)}
.curtain.is-open .curtain-mark{opacity:0}

/* ============ CURSOR ============ */
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:300;border-radius:50%;opacity:0}
.cursor-dot{width:6px;height:6px;background:var(--rose);margin:-3px 0 0 -3px}
.cursor-ring{width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid var(--gold);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s}
.cursor-label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--white);opacity:0;transition:opacity .25s}
.has-cursor .cursor-dot,.has-cursor .cursor-ring{opacity:1}
.cursor-ring.is-link{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(194,156,85,.12)}
.cursor-ring.is-label{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--rose);border-color:var(--rose)}
.cursor-ring.is-label .cursor-label{opacity:1}
@media (pointer:fine){.has-cursor, .has-cursor a, .has-cursor button{cursor:none}}

.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--rose));transform-origin:left;transform:scaleX(0)}

/* ============ HEADER ============ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding-top:env(safe-area-inset-top,0px);transition:background .5s, box-shadow .5s, transform .5s var(--ease)}
.header-inner{height:var(--hh);display:flex;align-items:center;gap:28px;max-width:1360px;margin-inline:auto;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px))}
.site-header.is-scrolled{background:rgba(251,246,240,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.site-header.is-hidden{transform:translateY(-100%)}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand-mono{width:46px;height:40px;fill:var(--gold);transition:transform .6s var(--ease)}
.brand:hover .brand-mono{transform:rotate(-8deg) scale(1.06)}
.brand-text{display:grid;line-height:1.1}
.brand-name{font-weight:600;letter-spacing:.3em;font-size:15px;color:var(--gold)}
.brand-tag{font-family:var(--f-display);font-style:italic;font-size:12.5px;color:var(--muted);margin-top:4px}
.main-nav{display:flex;gap:26px}
.main-nav a{font-size:14.5px;position:relative;padding:6px 0;color:var(--ink)}
.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.main-nav a:hover::after,.main-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.main-nav a[aria-current="page"]{color:var(--rose)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);position:relative}
.burger span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);transition:transform .4s var(--ease),top .4s}
.burger span:first-child{top:17px}.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}
@media (max-width:1120px){.main-nav{display:none}.burger{display:block}.header-cta{display:none}}
.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--emerald);color:var(--white);display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hh) + 20px) max(28px, env(safe-area-inset-right,0px)) 40px max(28px, env(safe-area-inset-left,0px));overflow:hidden}
.mobile-menu nav{display:grid;gap:4px;position:relative}
.mobile-menu nav a{font-family:var(--f-display);font-size:clamp(30px,8vw,46px);line-height:1.25}
.mobile-menu nav a:hover{color:var(--gold-soft);font-style:italic}
.mm-foot{margin-top:32px;color:var(--gold-soft);font-size:14px;position:relative}
.mm-mandala{position:absolute;right:-30%;bottom:-20%;width:90vw;max-width:700px;aspect-ratio:1;opacity:.3;color:var(--gold)}
body.menu-open .site-header{background:transparent;box-shadow:none;backdrop-filter:none}
body.menu-open .brand-tag,body.menu-open .burger span{color:var(--white)}
body.menu-open .burger span{background:var(--white)}
body.menu-open .burger{border-color:rgba(255,255,255,.3)}

/* ============ MANDALA ============ */
.mandala{position:absolute;aspect-ratio:1;color:var(--gold);pointer-events:none}
.mandala svg{width:100%;height:100%;animation:spin 160s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ============ HERO ============ */
.hero{position:relative;padding-top:calc(var(--hh) + 40px);padding-bottom:70px;overflow:hidden;background:
  radial-gradient(60% 70% at 85% 30%, rgba(244,221,215,.9), transparent 70%),
  radial-gradient(40% 50% at 0% 100%, rgba(231,211,166,.35), transparent 70%), var(--ivory)}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.hero-mandala{width:900px;right:-260px;top:-180px;opacity:.22}
.petals{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr 1fr;gap:56px;align-items:center}
.hero-copy{min-width:0}
.hero-title{font-family:var(--f-display);font-weight:400;margin-bottom:26px;line-height:1}
.ht-line{display:block}
.ht-serif{font-size:clamp(46px,6.4vw,92px);letter-spacing:-.02em;color:var(--emerald)}
.ht-script{font-family:var(--f-script);font-size:clamp(46px,5.4vw,82px);color:var(--rose);margin-top:-.02em;margin-left:.35em;line-height:1.25}
@media (min-width:901px){.ht-script{white-space:nowrap}}
.hero-lead{max-width:30em;color:var(--muted);font-size:18px}
.hero-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:34px}
.btn-play{display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:500}
.play-ring{width:54px;height:54px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--rose);position:relative;transition:background .4s,color .4s}
.play-ring svg{width:18px;height:18px;margin-left:3px}
.play-ring::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--gold);opacity:.5;animation:pulse 2.4s var(--ease) infinite}
.btn-play:hover .play-ring{background:var(--rose);color:var(--white);border-color:var(--rose)}
@keyframes pulse{0%{transform:scale(.85);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.hero-dev{margin-top:44px;display:flex;align-items:baseline;gap:16px;color:var(--rose-deep)}
.hero-dev span[lang]{font-family:var(--f-dev);font-size:24px}
.hero-dev-en{font-family:var(--f-display);font-style:italic;font-size:15px;color:var(--muted);padding-left:16px;border-left:1px solid var(--gold)}

.hero-visual{position:relative;height:clamp(460px,46vw,640px);min-width:0}
.arch{clip-path:url(#arch);overflow:hidden;position:relative;background:var(--paper)}
.arch img,.arch video{width:100%;height:100%;object-fit:cover}
.arch-line{position:absolute;inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px);overflow:visible;pointer-events:none}
.arch-line path{fill:none;stroke:var(--gold);stroke-width:1.2;vector-effect:non-scaling-stroke}
.hv-main{position:absolute;right:4%;top:0;width:60%;height:100%}
.hv-main .arch{width:100%;height:100%;box-shadow:0 40px 80px -40px rgba(42,32,30,.5)}
.kenburns{animation:kb 18s ease-in-out infinite alternate;transform-origin:50% 70%}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1)}}
.hv-video{position:absolute;left:0;bottom:6%;width:37%;height:62%;z-index:2}
.hv-video .arch{width:100%;height:100%;border:0;box-shadow:0 30px 60px -25px rgba(42,32,30,.55);outline:6px solid var(--ivory)}
.arch-video{cursor:pointer}
.hv-video::before{content:"";position:absolute;inset:-8px;clip-path:url(#arch);background:var(--ivory)}
.hv-video-tag{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);white-space:nowrap;background:var(--white);border:1px solid var(--gold-soft);border-radius:999px;padding:6px 14px 6px 26px;font-size:12px;letter-spacing:.08em;color:var(--rose-deep)}
.hv-video-tag::before{content:"";position:absolute;left:12px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#d23a4f;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.hv-badge{position:absolute;left:6%;top:4%;width:124px;height:124px;z-index:3;background:var(--emerald);border-radius:50%;display:grid;place-items:center;box-shadow:0 20px 40px -18px rgba(22,61,56,.7)}
.badge-ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 22s linear infinite}
.badge-ring text{font-size:15.5px;letter-spacing:.24em;fill:var(--gold-soft);font-family:var(--f-body);font-weight:500}
.badge-mono{width:42px;height:38px;fill:var(--gold)}
.hv-urn{position:absolute;right:-6%;bottom:-8%;width:30%;z-index:4;filter:drop-shadow(0 18px 18px rgba(42,32,30,.18))}
.scroll-cue{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:grid;justify-items:center;gap:8px;z-index:2}
.scroll-cue span{width:1px;height:38px;background:linear-gradient(var(--gold),transparent);animation:cue 2s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .hero-visual{height:min(520px,120vw)}
  .scroll-cue{display:none}
}
@media (max-width:520px){.hv-badge{width:96px;height:96px}.badge-ring text{font-size:17px}.hv-video{width:42%}}

/* ============ MARQUEE ============ */
.marquee{background:var(--emerald);color:var(--gold-soft);overflow:hidden;padding-block:22px;border-block:1px solid rgba(194,156,85,.4);position:relative;z-index:2}
.marquee-track{display:flex;align-items:center;gap:34px;width:max-content;white-space:nowrap}
.marquee-track span{font-family:var(--f-display);font-style:italic;font-size:clamp(22px,2.6vw,34px)}
.marquee-track svg{width:44px;height:22px;color:var(--gold);flex:none}

/* ============ ABOUT TEASER ============ */
.at-grid{display:grid;grid-template-columns:.9fr 1.2fr .85fr;gap:clamp(28px,4vw,64px);align-items:center}
.at-media{position:relative}
.arch-soft{aspect-ratio:4/5;border-radius:0}
.at-media .arch{aspect-ratio:3/4}
.at-chip{position:absolute;right:-18px;bottom:30px;background:var(--white);padding:14px 22px;border-radius:14px;box-shadow:0 20px 40px -20px rgba(42,32,30,.35);display:grid;line-height:1.1;text-align:center}
.at-chip .script{font-size:32px;color:var(--rose)}
.at-chip span:last-child{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.at-copy{min-width:0}
.at-copy p{color:var(--muted)}
.at-copy .btn{margin-top:12px}
.at-note{background:var(--blush);border-radius:22px;padding:34px 28px 0;position:relative;overflow:visible}
.at-note-script{font-family:var(--f-script);font-size:40px;line-height:1.1;color:var(--rose-deep);margin-bottom:12px}
.at-note p:not(.script){color:var(--muted);font-size:15.5px}
.polaroid{margin:18px -10px -40px 30px;background:var(--white);padding:10px 10px 34px;transform:rotate(4deg);box-shadow:0 24px 50px -20px rgba(42,32,30,.45)}
.polaroid img{aspect-ratio:1/1;object-fit:cover;width:100%}
@media (max-width:1000px){.at-grid{grid-template-columns:1fr 1fr}.at-note{grid-column:1/-1;max-width:520px}}
@media (max-width:680px){.at-grid{grid-template-columns:1fr}.at-media{max-width:360px}.at-chip{right:0}}

/* ============ STATEMENT ============ */
.statement{background:var(--paper);text-align:center;overflow:hidden}
.statement-lotus{width:80px;height:40px;color:var(--gold);margin:0 auto 26px}
.statement-text{font-family:var(--f-display);font-size:clamp(36px,6vw,84px);line-height:1.08;letter-spacing:-.02em;max-width:15ch;margin:0 auto 26px;color:var(--emerald)}
.statement-text em{font-family:var(--f-script);font-style:normal;color:var(--rose);font-size:1.15em}
.statement-by{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}
.fw{display:inline-block}

/* ============ SERVICES GRID ============ */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.svc-card{position:relative;padding:30px 26px 26px;border-radius:20px;background:var(--tint);display:flex;flex-direction:column;gap:10px;min-height:250px;overflow:hidden;transition:transform .6s var(--ease), box-shadow .6s var(--ease);transform-style:preserve-3d}
.svc-card::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid var(--gold);opacity:0;transition:opacity .5s}
.svc-card::before{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:rotate(20deg) translateX(-200%);transition:transform 1s var(--ease)}
.svc-card:hover{transform:translateY(-8px);box-shadow:0 30px 50px -28px rgba(42,32,30,.45)}
.svc-card:hover::after{opacity:.8}
.svc-card:hover::before{transform:rotate(20deg) translateX(700%)}
.svc-ico{width:58px;height:58px;border-radius:50%;background:var(--white);display:grid;place-items:center;color:var(--rose);margin-bottom:8px;box-shadow:0 8px 20px -12px rgba(164,74,96,.5);transition:transform .6s var(--ease)}
.svc-card:hover .svc-ico{transform:rotate(-10deg) scale(1.08)}
.svc-ico svg{width:28px;height:28px}
.svc-card h3{font-family:var(--f-display);font-size:22px;line-height:1.2}
.svc-card p{font-size:14.5px;color:var(--muted);margin:0;flex:1}
.svc-card .go{width:36px;height:36px;border-radius:50%;border:1px solid rgba(42,32,30,.18);display:grid;place-items:center;transition:background .4s,color .4s,border-color .4s}
.svc-card .go svg{width:16px;height:16px}
.svc-card:hover .go{background:var(--rose);border-color:var(--rose);color:var(--white)}
@media (max-width:1050px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.svc-grid{grid-template-columns:1fr}.svc-card{min-height:0}}

/* ============ WHY ============ */
.why-journey{padding-bottom:0}
.why-card{display:grid;grid-template-columns:1fr 1.1fr;background:var(--emerald);border-radius:28px;overflow:hidden;color:rgba(255,253,249,.82);position:relative}
.why-card::after{content:"";position:absolute;inset:14px;border:1px solid rgba(194,156,85,.35);border-radius:20px;pointer-events:none}
.why-img{min-height:420px;position:relative;overflow:hidden}
.why-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.why-body{padding:clamp(36px,5vw,72px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.why-body .btn{margin-top:14px}
@media (max-width:800px){.why-card{grid-template-columns:1fr}.why-img{min-height:300px}}

/* ============ JOURNEY ============ */
.journey{padding-block:clamp(80px,10vw,120px);position:relative;overflow:hidden}
.jr-track{position:relative;padding-top:10px}
.jr-line{position:absolute;left:5%;right:5%;top:46px;height:2px;background:repeating-linear-gradient(90deg,var(--gold-soft) 0 8px,transparent 8px 14px)}
.jr-line-fill{position:absolute;inset:0;background:linear-gradient(90deg,var(--gold),var(--rose));transform-origin:left;transform:scaleX(0)}
.jr-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}
.jr-step{text-align:center;display:grid;justify-items:center;gap:6px}
.jr-icon{width:74px;height:74px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold-soft);display:grid;place-items:center;color:var(--gold);transition:background .5s,color .5s,border-color .5s,transform .5s var(--ease);margin-bottom:10px}
.jr-icon svg{width:30px;height:30px}
.jr-step.is-on .jr-icon{background:var(--rose);color:var(--white);border-color:var(--rose);transform:scale(1.08)}
.jr-num{font-family:var(--f-display);font-style:italic;color:var(--gold);font-size:18px}
.jr-step h3{font-family:var(--f-display);font-size:24px}
.jr-step p{font-size:14.5px;color:var(--muted);max-width:22ch;margin:0}
@media (max-width:860px){
  .jr-line{left:36px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--gold-soft) 0 8px,transparent 8px 14px)}
  .jr-line-fill{transform-origin:top;transform:scaleY(0)}
  .jr-steps{grid-template-columns:1fr;gap:34px}
  .jr-step{grid-template-columns:74px 1fr;text-align:left;justify-items:start;column-gap:22px;row-gap:2px}
  .jr-icon{grid-row:span 3;margin:0}
}

/* ============ REELS ============ */
.reels{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.reel{position:relative;aspect-ratio:9/15;border-radius:200px 200px 18px 18px;overflow:hidden;cursor:pointer;background:var(--paper);isolation:isolate}
.reel video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.reel:hover video{transform:scale(1.06)}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(22,61,56,.85));z-index:1}
.reel-cap{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;color:var(--white)}
.reel-cap span{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.reel-cap h3{font-family:var(--f-display);font-size:22px;line-height:1.2;margin-top:4px}
@media (max-width:1000px){.reels{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.reels{grid-template-columns:1fr 1fr;gap:12px}.reel-cap{left:12px;right:12px;bottom:12px}.reel-cap h3{font-size:17px}}

/* ============ TESTIMONIAL SLIDER ============ */
.testi-home{background:linear-gradient(180deg,var(--ivory),var(--blush));overflow:hidden}
.th-urn{position:absolute;left:-40px;bottom:-30px;width:220px;opacity:.9;pointer-events:none}
.tslider{max-width:820px;margin-inline:auto;text-align:center;position:relative}
.ts-stage{position:relative;min-height:260px;display:grid}
.ts-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .8s var(--ease),transform .8s var(--ease),visibility .8s;transform:translateY(16px)}
.ts-slide.is-active{opacity:1;visibility:visible;transform:none}
.ts-quote{font-family:var(--f-display);font-size:clamp(22px,2.6vw,32px);line-height:1.4;color:var(--emerald);margin-bottom:20px}
.ts-mark{font-family:var(--f-display);font-size:90px;line-height:.5;color:var(--gold);display:block;height:40px}
.ts-who{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}
.ts-sample{display:inline-block;margin-top:10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px dashed rgba(108,93,88,.5);border-radius:999px;padding:3px 10px}
.ts-ctrl{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px}
.ts-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--rose);transition:background .4s,color .4s}
.ts-btn:hover{background:var(--rose);color:var(--white);border-color:var(--rose)}
.ts-btn svg{width:18px;height:18px}
.ts-prev svg{transform:rotate(180deg)}
.ts-dots{display:flex;gap:8px}
.ts-dots button{width:8px;height:8px;border-radius:999px;background:var(--gold-soft);transition:width .5s var(--ease),background .5s}
.ts-dots button.is-active{width:28px;background:var(--rose)}
.tslider.big .ts-quote{font-size:clamp(24px,3.2vw,40px)}

/* ============ CTA BAND + LADIS ============ */
.cta-band{position:relative;background:var(--emerald);overflow:hidden;padding-block:clamp(150px,16vw,200px) clamp(80px,9vw,120px);text-align:center}
.cta-band.slim{padding-block:90px}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 50% 120%, rgba(194,156,85,.35), transparent 70%)}
.cta-inner{position:relative;max-width:880px}
.cta-script{font-size:clamp(40px,5vw,64px);color:var(--gold-soft);line-height:1;margin-bottom:8px}
.cta-band .h2{margin-bottom:34px}
.ladis{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;padding-inline:10px;pointer-events:none;z-index:1}
.ladi{display:flex;flex-direction:column;align-items:center;transform-origin:top center;animation:sway var(--dur,5s) ease-in-out infinite alternate;animation-delay:var(--del,0s)}
.ladi::before{content:"";width:1px;height:10px;background:#7a5a2a}
.bead{width:17px;height:14px;border-radius:50%;margin-top:-3px;background:radial-gradient(circle at 40% 35%, #FFE08A, #F3A522 55%, #C76A0B);box-shadow:inset 0 -2px 3px rgba(120,50,0,.35)}
.ladi.y .bead{background:radial-gradient(circle at 40% 35%, #FFF2B0, #F6C935 55%, #C99000)}
.bead.r{background:radial-gradient(circle at 40% 35%, #f7a3b3, #c7385a 60%, #87203a);width:12px;height:11px}
.ladi .tassel{width:6px;height:16px;margin-top:2px;background:linear-gradient(var(--gold),#8a6428);border-radius:0 0 3px 3px}
@keyframes sway{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}

/* ============ PAGE HERO (inner) ============ */
.phero{position:relative;padding-top:calc(var(--hh) + 60px);padding-bottom:70px;background:linear-gradient(180deg,var(--paper),var(--ivory));overflow:hidden}
.phero-mandala{width:760px;left:-280px;bottom:-420px;opacity:.2}
.phero-grid{position:relative;display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:end}
.crumbs{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.crumbs a{color:var(--rose)}
.crumbs a:hover{text-decoration:underline}
.phero-title{font-family:var(--f-display);font-size:clamp(44px,6.4vw,92px);line-height:1.02;letter-spacing:-.02em;color:var(--emerald);margin-bottom:24px}
.phero-title .script{font-size:1.12em;letter-spacing:0;line-height:1.2}
.phero-lead{max-width:36em;color:var(--muted);font-size:18px}
.phero-art .arch{aspect-ratio:3/4;max-height:420px;margin-left:auto;width:100%}
@media (max-width:800px){.phero-grid{grid-template-columns:1fr}.phero-art{display:none}}

/* ============ ABOUT PAGE ============ */
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,96px);align-items:center}
.tc-media{position:relative}
.tc-media .arch{aspect-ratio:4/5}
.about-peacock{position:absolute;right:-60px;bottom:-60px;width:42%;filter:drop-shadow(0 20px 20px rgba(0,0,0,.12))}
.tc-copy p{color:var(--muted)}
@media (max-width:860px){.two-col{grid-template-columns:1fr}.tc-media{max-width:440px}.about-peacock{right:-10px;width:38%}}

.approach{background:var(--paper);overflow:hidden}
.approach-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,90px);align-items:center}
.approach-grid p{color:var(--muted)}
.signposts{position:relative;display:grid;justify-items:center;gap:14px;padding-top:34px}
.sign-rail{position:absolute;top:0;left:12%;right:12%;height:6px;border-radius:4px;background:linear-gradient(90deg,#8a6428,var(--gold-soft),#8a6428)}
.sign{position:relative;transform-origin:50% -30px;animation:swing 4.2s ease-in-out infinite alternate;animation-delay:var(--d)}
.sign::before,.sign::after{content:"";position:absolute;bottom:100%;width:1px;height:30px;background:#8a6428}
.sign::before{left:22%}.sign::after{right:22%}
.sign:first-child{margin-top:0}
.sign span{display:block;min-width:250px;text-align:center;padding:14px 30px;background:var(--white);border:1px solid var(--gold);border-radius:6px;font-family:var(--f-display);font-size:26px;color:var(--emerald);box-shadow:0 14px 26px -16px rgba(42,32,30,.45);position:relative}
.sign span::before{content:"";position:absolute;inset:4px;border:1px solid var(--gold-soft);border-radius:3px}
.sign:nth-child(odd) span{background:var(--blush)}
.sign:hover span{color:var(--rose)}
@keyframes swing{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}
@media (max-width:860px){.approach-grid{grid-template-columns:1fr}.sign span{min-width:210px;font-size:22px}}

.founders-story .story-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;max-width:1000px;margin:0 auto 70px;color:var(--muted)}
.big-quote{font-family:var(--f-display);font-style:italic;font-size:clamp(30px,4.4vw,58px);line-height:1.15;color:var(--emerald)}
.founders{display:flex;justify-content:center;gap:clamp(30px,8vw,120px);flex-wrap:wrap}
.founder{margin:0;text-align:center}
.founder-frame{position:relative;width:min(280px,70vw);aspect-ratio:3/4;margin-bottom:26px}
.founder-frame .arch{width:100%;height:100%}
.founder-frame .arch img{transition:transform 1.2s var(--ease)}
.founder:hover .arch img{transform:scale(1.06)}
.founder figcaption{display:grid;gap:4px}
.founder strong{font-family:var(--f-display);font-weight:400;font-size:26px}
.founder span{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}
@media (max-width:760px){.founders-story .story-cols{grid-template-columns:1fr;gap:0}}

.focus{background:var(--emerald);padding-block:clamp(90px,11vw,140px);text-align:center;position:relative;overflow:hidden}
.focus-line{font-family:var(--f-display);font-size:clamp(34px,5.4vw,74px);line-height:1.1;color:var(--white);margin:0}
.focus-line.script{font-family:var(--f-script);font-size:clamp(44px,7vw,96px);margin-top:14px;line-height:1.2}

/* ============ SERVICES PAGE ============ */
.svc-layout{display:grid;grid-template-columns:240px 1fr;gap:64px;align-items:start}
.svc-index{position:sticky;top:calc(var(--hh) + 30px)}
.svc-index ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;border-left:1px solid var(--line)}
.svc-index a{display:block;padding:8px 0 8px 18px;font-size:14.5px;color:var(--muted);position:relative;transition:color .3s}
.svc-index a::before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:2px;background:var(--rose);transform:scaleY(0);transition:transform .4s var(--ease)}
.svc-index a.is-active{color:var(--rose)}
.svc-index a.is-active::before{transform:scaleY(1)}
.svc-index a:hover{color:var(--ink)}
.svc-sections{display:grid;gap:clamp(90px,10vw,140px);min-width:0}
.svc-block{scroll-margin-top:calc(var(--hh) + 30px)}
.svc-top{display:flex;align-items:flex-start;gap:22px;margin-bottom:28px}
.svc-num{font-family:var(--f-display);font-size:clamp(60px,7vw,96px);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--gold);font-style:italic}
.svc-block h2{font-family:var(--f-display);font-size:clamp(30px,3.6vw,46px);line-height:1.1;color:var(--emerald)}
.svc-tagline{font-family:var(--f-script);font-size:clamp(26px,2.6vw,34px);color:var(--rose);line-height:1.2;margin-top:6px}
.svc-intro{color:var(--muted);max-width:44em}
.svc-body{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;margin-top:30px;align-items:start}
.svc-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.svc-photos figure{margin:0;overflow:hidden;border-radius:14px;aspect-ratio:1/1;background:var(--paper)}
.svc-photos figure:first-child{grid-column:1/-1;aspect-ratio:16/10;border-radius:180px 180px 14px 14px}
.svc-photos img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.svc-photos figure:hover img{transform:scale(1.07)}
.svc-list-head{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-bottom:14px;font-weight:500}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:0}
.checks li{display:flex;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:16px}
.checks svg{width:20px;height:20px;flex:none;color:var(--white);background:var(--gold);border-radius:50%;padding:3px}
.svc-closing{margin-top:22px;font-family:var(--f-display);font-style:italic;font-size:20px;color:var(--emerald)}
.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tabs button{padding:9px 18px;border-radius:999px;border:1px solid var(--gold-soft);font-size:14px;transition:background .3s,color .3s}
.tabs button[aria-selected="true"]{background:var(--emerald);color:var(--white);border-color:var(--emerald)}
@media (max-width:1000px){.svc-layout{grid-template-columns:1fr}.svc-index{display:none}}
@media (max-width:760px){.svc-body{grid-template-columns:1fr}}

/* ============ WORK PAGE ============ */
.work-list{display:grid;gap:clamp(90px,11vw,150px)}
.case{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(36px,6vw,96px);align-items:center}
.case:nth-child(even){grid-template-columns:1.25fr .75fr}
.case:nth-child(even) .case-media{order:2}
.case-media{position:relative;max-width:380px;width:100%;justify-self:center}
.case-media .arch{aspect-ratio:9/15;cursor:pointer}
.case-media .arch-line{inset:-16px}
.case-play{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(255,253,249,.92);color:var(--rose);display:grid;place-items:center;pointer-events:none;transition:transform .5s var(--ease)}
.case-play svg{width:24px;height:24px;margin-left:4px}
.case-media:hover .case-play{transform:translate(-50%,-50%) scale(1.12)}
.case-kicker{font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--rose);margin-bottom:16px}
.case h2{font-family:var(--f-display);font-size:clamp(34px,4.4vw,58px);line-height:1.05;color:var(--emerald);margin-bottom:18px}
.case p{color:var(--muted)}
.case .checks{margin-top:20px;max-width:520px}
.case-index{font-family:var(--f-display);font-style:italic;font-size:15px;color:var(--gold);display:block;margin-bottom:8px}
@media (max-width:860px){.case,.case:nth-child(even){grid-template-columns:1fr}.case:nth-child(even) .case-media{order:0}.case-media{max-width:300px}}
.field-sec{background:var(--paper)}
.field-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.field-strip figure{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:3/4;cursor:pointer}
.field-strip figure:nth-child(even){transform:translateY(30px)}
.field-strip img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.field-strip figure:hover img{transform:scale(1.08)}
@media (max-width:900px){.field-strip{grid-template-columns:repeat(3,1fr)}}

/* ============ PROCESS PAGE ============ */
.timeline{position:relative;max-width:1040px;margin-inline:auto;display:grid;gap:clamp(70px,9vw,120px)}
.tl-thread{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--line)}
.tl-thread-fill{position:absolute;inset:0;background:linear-gradient(var(--gold),var(--rose));transform-origin:top;transform:scaleY(0)}
.tl-step{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;position:relative}
.tl-node{width:90px;height:90px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);z-index:1;transition:background .6s,color .6s,transform .6s var(--ease)}
.tl-node svg{width:34px;height:34px}
.tl-step.is-on .tl-node{background:var(--rose);color:var(--white);border-color:var(--rose);transform:scale(1.06)}
.tl-text{padding-inline:clamp(20px,4vw,56px)}
.tl-step:nth-child(odd) .tl-text{grid-column:1;text-align:right}
.tl-step:nth-child(odd) .tl-node{grid-column:2;grid-row:1}
.tl-step:nth-child(odd) .tl-extra{grid-column:3}
.tl-step:nth-child(even) .tl-extra{grid-column:1;grid-row:1}
.tl-step:nth-child(even) .tl-node{grid-column:2;grid-row:1}
.tl-step:nth-child(even) .tl-text{grid-column:3}
.tl-num{font-family:var(--f-display);font-style:italic;font-size:clamp(70px,8vw,120px);line-height:.8;color:transparent;-webkit-text-stroke:1px var(--gold);display:block;margin-bottom:12px}
.tl-text h2{font-family:var(--f-display);font-size:clamp(32px,3.6vw,46px);color:var(--emerald);margin-bottom:10px}
.tl-text p{color:var(--muted);margin:0}
.tl-extra{padding-inline:clamp(20px,4vw,56px)}
.tl-extra-card{background:var(--white);border:1px solid var(--gold-soft);border-radius:18px;padding:22px 24px;box-shadow:0 20px 40px -30px rgba(42,32,30,.4)}
.tl-extra-card p{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-bottom:8px}
.tl-extra-card ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:15px}
.tl-extra-card li::before{content:"✓";color:var(--gold);margin-right:10px}
@media (max-width:820px){
  .tl-thread{left:45px}
  .tl-step{grid-template-columns:90px 1fr;row-gap:20px}
  .tl-step .tl-node{grid-column:1 !important;grid-row:1 / span 2 !important;align-self:start}
  .tl-step .tl-text{grid-column:2 !important;grid-row:1 !important;text-align:left !important;padding-inline:24px 0}
  .tl-step .tl-extra{grid-column:2 !important;grid-row:2 !important;padding-inline:24px 0}
}
.goodbye{background:var(--blush);padding-block:clamp(80px,10vw,130px)}
.goodbye-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,90px);align-items:center}
.gb-img{aspect-ratio:4/5}
.gb-script{font-size:clamp(34px,4vw,52px);color:var(--rose);line-height:1.1;margin-bottom:10px}
.goodbye p:not(.script){color:var(--muted)}
@media (max-width:800px){.goodbye-inner{grid-template-columns:1fr}.gb-img{max-width:380px}}

/* ============ GALLERY ============ */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:48px}
.filters button{padding:10px 20px;border-radius:999px;border:1px solid var(--gold-soft);font-size:14.5px;transition:background .4s,color .4s,border-color .4s}
.filters button:hover{border-color:var(--rose);color:var(--rose)}
.filters button[aria-selected="true"]{background:var(--rose);border-color:var(--rose);color:var(--white)}
.masonry{columns:3 300px;column-gap:18px}
.m-item{break-inside:avoid;margin:0 0 18px;position:relative;border-radius:16px;overflow:hidden;cursor:pointer;background:var(--paper);display:block;width:100%}
.m-item img,.m-item video{width:100%;height:auto;transition:transform 1.2s var(--ease)}
.m-item:hover img,.m-item:hover video{transform:scale(1.06)}
.m-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(22,61,56,.8));opacity:0;transition:opacity .5s}
.m-item:hover::after{opacity:1}
.m-cap{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:var(--white);transform:translateY(12px);opacity:0;transition:transform .5s var(--ease),opacity .5s;text-align:left}
.m-item:hover .m-cap,.m-item:focus-visible .m-cap{transform:none;opacity:1}
.m-cap span{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.m-cap strong{font-family:var(--f-display);font-weight:400;font-size:20px}
.m-film{position:absolute;top:14px;right:14px;z-index:2;width:42px;height:42px;border-radius:50%;background:rgba(255,253,249,.92);color:var(--rose);display:grid;place-items:center}
.m-film svg{width:16px;height:16px;margin-left:2px}
@media (hover:none){.m-cap{opacity:1;transform:none}.m-item::after{opacity:1}}

/* ============ PROMISE ============ */
.promise{background:var(--emerald);overflow:hidden}
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pcard{background:rgba(255,253,249,.04);border:1px solid rgba(194,156,85,.35);border-radius:20px;padding:34px 30px;color:rgba(255,253,249,.78);transition:background .5s,border-color .5s;transform-style:preserve-3d}
.pcard:hover{background:rgba(255,253,249,.08);border-color:var(--gold)}
.pcard svg{width:40px;height:40px;color:var(--gold);margin-bottom:22px}
.pcard h3{font-family:var(--f-display);font-size:24px;color:var(--white);margin-bottom:10px}
.pcard p{margin:0;font-size:15.5px}
@media (max-width:960px){.promise-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.promise-grid{grid-template-columns:1fr}}
.share{text-align:center}
.share-inner{max-width:760px}
.share-script{font-size:clamp(36px,4vw,54px);color:var(--rose);line-height:1}
.testi-page{background:linear-gradient(180deg,var(--ivory),var(--blush))}

/* ============ CONTACT ============ */
.contact-hero{position:relative;padding-top:calc(var(--hh) + 200px);padding-bottom:40px;background:linear-gradient(180deg,var(--blush),var(--ivory));overflow:hidden}
.contact-hero .ladis{top:var(--hh)}
.toran{position:absolute;top:var(--hh);left:0;right:0;height:46px;display:flex;justify-content:center;z-index:2;pointer-events:none}
.toran .leaf{width:22px;height:40px;margin-inline:-2px;background:linear-gradient(135deg,#5b8f3a,#2f5d22);border-radius:0 100% 0 100%;transform-origin:top center;animation:sway 3.5s ease-in-out infinite alternate}
.toran .leaf:nth-child(odd){background:linear-gradient(135deg,#7aa94d,#3c6f2a);border-radius:100% 0 100% 0;animation-delay:-1.2s}
.toran::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#8a6428,var(--gold-soft),#8a6428)}
.contact-hero-inner{position:relative;z-index:2;text-align:center}
.contact-hero-inner .phero-lead{margin-inline:auto}
.contact-sec{padding-top:40px}
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(30px,5vw,70px);align-items:start}
.cform{background:var(--white);border:1px solid var(--gold-soft);border-radius:24px;padding:clamp(24px,4vw,48px);display:grid;gap:22px;box-shadow:0 40px 70px -50px rgba(42,32,30,.45);min-width:0}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{position:relative}
.field input,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(42,32,30,.25);padding:22px 0 10px;outline:none;border-radius:0;transition:border-color .4s;resize:vertical}
.field label{position:absolute;left:0;top:22px;color:var(--muted);font-size:16px;pointer-events:none;transition:transform .35s var(--ease),font-size .35s,color .35s,top .35s}
.field input:focus,.field textarea:focus{border-color:var(--rose)}
.field input:focus + label,.field input:not(:placeholder-shown) + label,.field textarea:focus + label,.field textarea:not(:placeholder-shown) + label,.field label.up{top:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}
.field.err input{border-color:#b3261e}
.chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips legend{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-bottom:12px;padding:0}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:9px 16px;border-radius:999px;border:1px solid var(--gold-soft);font-size:14px;transition:background .3s,color .3s,border-color .3s}
.chips input:checked + span{background:var(--emerald);color:var(--white);border-color:var(--emerald)}
.chips input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.form-note{font-size:13.5px;color:var(--muted);margin:0;max-width:30ch}
.form-err{color:#b3261e;font-size:14px;margin:0}
@media (max-width:600px){.frow{grid-template-columns:1fr}}
.cinfo-card{background:var(--emerald);color:var(--white);border-radius:24px;padding:36px 30px 40px;position:relative;overflow:hidden}
.cline{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(194,156,85,.25);position:relative;z-index:1}
.cline svg{width:22px;height:22px;color:var(--gold)}
.clabel{display:block;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}
.cval{font-size:15.5px;overflow-wrap:anywhere}
.copy{font-size:12px;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(194,156,85,.5);border-radius:999px;padding:6px 12px;color:var(--gold-soft);transition:background .3s,color .3s}
.copy:hover{background:var(--gold);color:var(--emerald)}
.cinfo-dev{font-family:var(--f-dev);font-size:30px;color:var(--gold-soft);margin:28px 0 0;position:relative;z-index:1}
.cinfo-peacock{position:absolute;right:-30px;bottom:-40px;width:150px;opacity:.85}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ============ FOOTER ============ */
.site-footer{position:relative;background:var(--emerald);color:rgba(255,253,249,.75);padding-top:96px;overflow:hidden}
.footer-wave{position:absolute;top:0;left:0;right:0;height:40px;display:flex;align-items:center;justify-content:center;gap:18px;color:var(--gold)}
.footer-wave::before,.footer-wave::after{content:"";height:1px;flex:1;max-width:520px;background:linear-gradient(90deg,transparent,rgba(194,156,85,.6))}
.footer-wave::after{background:linear-gradient(90deg,rgba(194,156,85,.6),transparent)}
.footer-wave svg{width:56px;height:28px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;position:relative;z-index:1}
.f-mono{width:60px;height:52px;fill:var(--gold);margin-bottom:14px}
.f-name{font-weight:600;letter-spacing:.32em;color:var(--gold);font-size:18px;margin:0}
.f-tag{font-family:var(--f-display);font-style:italic;margin:4px 0 0}
.f-script{font-family:var(--f-script);font-size:34px;color:var(--gold-soft);margin-top:18px}
.f-head{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.f-col{display:flex;flex-direction:column;gap:8px;font-size:15px}
.f-col p{margin:0}
.f-col a{width:fit-content;position:relative}
.f-col a:hover{color:var(--white)}
.f-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(194,156,85,.25);margin-top:60px;padding-block:24px calc(24px + env(safe-area-inset-bottom,0px));font-size:13px;position:relative;z-index:1}
.f-peacock{position:absolute;right:3%;bottom:-30px;width:150px;opacity:.18;pointer-events:none}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}

.to-top{position:fixed;right:max(20px, calc(env(safe-area-inset-right,0px) + 20px));bottom:max(20px, calc(env(safe-area-inset-bottom,0px) + 20px));width:52px;height:52px;border-radius:50%;background:var(--white);border:1px solid var(--gold);color:var(--rose);display:grid;place-items:center;z-index:90;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .4s,transform .4s var(--ease),background .4s,color .4s;box-shadow:0 12px 24px -12px rgba(42,32,30,.4)}
.to-top svg{width:30px;height:16px}
.to-top.is-on{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--rose);color:var(--white)}

/* ============ LIGHTBOX ============ */
.lightbox{position:fixed;inset:0;z-index:250;background:rgba(18,40,37,.94);display:grid;grid-template-columns:80px 1fr 80px;align-items:center;justify-items:center;padding:calc(env(safe-area-inset-top,0px) + 60px) max(10px, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 60px) max(10px, env(safe-area-inset-left,0px));backdrop-filter:blur(8px)}
.lb-stage{max-width:100%;max-height:100%;width:100%;height:100%;display:grid;place-items:center;min-width:0}
.lb-stage img,.lb-stage video{max-width:100%;max-height:calc(100vh - 140px);border-radius:12px;box-shadow:0 40px 80px rgba(0,0,0,.5);object-fit:contain}
.lb-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 14px);right:max(18px, calc(env(safe-area-inset-right,0px) + 18px));width:48px;height:48px;border-radius:50%;border:1px solid rgba(231,211,166,.5);color:var(--gold-soft);font-size:28px;line-height:1}
.lb-close:hover{background:var(--gold);color:var(--emerald)}
.lb-nav{width:52px;height:52px;border-radius:50%;border:1px solid rgba(231,211,166,.5);color:var(--gold-soft);display:grid;place-items:center}
.lb-nav svg{width:20px;height:20px}
.lb-prev svg{transform:rotate(180deg)}
.lb-nav:hover{background:var(--gold);color:var(--emerald)}
.lb-cap{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);left:0;right:0;text-align:center;color:var(--gold-soft);font-family:var(--f-display);font-style:italic;font-size:18px;margin:0;padding-inline:20px}
@media (max-width:600px){.lightbox{grid-template-columns:1fr;padding-inline:10px}.lb-nav{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 50px);width:44px;height:44px}.lb-prev{left:20px}.lb-next{right:20px}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}
.lb-prev{grid-column:1;grid-row:1}
.lb-stage{grid-column:2;grid-row:1}
.lb-next{grid-column:3;grid-row:1}
.lb-stage video{height:calc(100vh - 160px);width:auto;background:#000}
@media (max-width:600px){.lb-stage{grid-column:1}.lb-stage video{height:auto;max-height:calc(100vh - 200px);width:100%}}

/* WordPress admin bar */
.admin-bar .site-header{top:32px}
.admin-bar .progress{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .progress{top:46px}}

/* ============ MUSIC BUTTON ============ */
.music-btn{position:fixed;left:max(20px, calc(env(safe-area-inset-left,0px) + 20px));bottom:max(20px, calc(env(safe-area-inset-bottom,0px) + 20px));z-index:90;display:flex;align-items:center;gap:12px;height:52px;padding:0 20px 0 16px;border-radius:999px;background:var(--emerald);color:var(--gold-soft);border:1px solid rgba(194,156,85,.55);box-shadow:0 14px 30px -14px rgba(22,61,56,.8);transition:padding .5s var(--ease),gap .5s var(--ease),background .4s}
.music-btn:hover{background:var(--emerald-2)}
.mb-bars{display:flex;align-items:flex-end;gap:3px;height:18px;width:22px;flex:none}
.mb-bars i{display:block;width:2.5px;height:5px;border-radius:2px;background:var(--gold);transition:height .4s}
.music-btn.is-playing .mb-bars i{animation:eq 1.1s ease-in-out infinite alternate}
.music-btn.is-playing .mb-bars i:nth-child(2){animation-delay:-.35s;animation-duration:.9s}
.music-btn.is-playing .mb-bars i:nth-child(3){animation-delay:-.7s;animation-duration:1.3s}
.music-btn.is-playing .mb-bars i:nth-child(4){animation-delay:-.2s;animation-duration:1s}
.music-btn.is-playing .mb-bars i:nth-child(5){animation-delay:-.55s;animation-duration:1.2s}
@keyframes eq{0%{height:4px}100%{height:18px}}
.music-btn:not(.is-playing)::after{content:"";position:absolute;inset:-5px;border-radius:inherit;border:1px solid var(--gold);opacity:.5;animation:pulse 2.6s var(--ease) infinite}
.mb-label{font-size:13px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;overflow:hidden;max-width:140px;transition:max-width .5s var(--ease),opacity .4s}
.music-btn.is-compact{padding:0 14px;gap:0}
.music-btn.is-compact .mb-label{max-width:0;opacity:0}
.music-btn.is-compact:hover,.music-btn.is-compact:focus-visible{padding:0 20px 0 16px;gap:12px}
.music-btn.is-compact:hover .mb-label,.music-btn.is-compact:focus-visible .mb-label{max-width:140px;opacity:1}
@media (prefers-reduced-motion:reduce){.music-btn.is-playing .mb-bars i{animation:none;height:12px}}

/* ============ MOBILE & SAFARI FIXES (v1.3) ============ */
.testi-home .wrap{position:relative;z-index:1}
.th-urn{z-index:0}
@media (max-width:900px){.th-urn{display:none}}
.lightbox{-webkit-backdrop-filter:blur(8px)}
.lb-stage video{height:calc(100vh - 160px);height:calc(100dvh - 160px)}
.lb-stage img{max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px)}
@media (max-width:600px){
  .lb-stage video{height:auto;max-height:calc(100vh - 200px);max-height:calc(100dvh - 200px)}
  .music-btn,.music-btn.is-compact:hover,.music-btn.is-compact:focus-visible{height:46px;padding:0 13px;gap:0;left:max(14px, calc(env(safe-area-inset-left,0px) + 14px));bottom:max(14px, calc(env(safe-area-inset-bottom,0px) + 14px))}
  .music-btn .mb-label,.music-btn.is-compact:hover .mb-label{max-width:0;opacity:0}
  .to-top{width:46px;height:46px;right:max(14px, calc(env(safe-area-inset-right,0px) + 14px));bottom:max(14px, calc(env(safe-area-inset-bottom,0px) + 14px))}
  .ts-quote{font-size:21px}
  .ts-sample{font-size:10px;letter-spacing:.08em}
  .reel-cap span{font-size:10px;letter-spacing:.14em}
  .tslider{padding-inline:4px}
}
/* designer credit */
.f-credit{position:relative;z-index:1;text-align:center;font-size:13px;letter-spacing:.04em;padding-block:0 calc(22px + env(safe-area-inset-bottom,0px));color:rgba(255,253,249,.7)}
.f-credit a{color:var(--gold-soft);border-bottom:1px solid rgba(231,211,166,.4);transition:color .3s,border-color .3s}
.f-credit a:hover{color:var(--white);border-color:var(--white)}
.f-heart{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-inline:4px;color:#e0607a;animation:beat 1.4s ease-in-out infinite}
.f-heart svg{width:100%;height:100%}
@keyframes beat{0%,60%,100%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1.05)}45%{transform:scale(1.2)}}
.f-bottom{padding-bottom:16px}

@media (max-width:380px){.brand-tag{display:none}.brand-name{font-size:13px;letter-spacing:.22em}.brand-mono{width:38px;height:34px}}

/* ============ v1.4 PASTEL REFRESH ============ */
.site-header.is-scrolled{background:rgba(255,248,244,.9)}
.hero{background:
  radial-gradient(55% 65% at 85% 25%, rgba(250,214,222,.95), transparent 70%),
  radial-gradient(45% 55% at 5% 95%, rgba(253,226,200,.7), transparent 70%),
  radial-gradient(35% 45% at 45% 0%, rgba(226,241,230,.8), transparent 70%), var(--ivory)}
.phero{background:linear-gradient(180deg,#FCE6E6 0%,#FDF0E6 55%,var(--ivory))}
.statement{background:linear-gradient(180deg,#FDEFE6,#FBE6EA)}
.approach,.field-sec{background:linear-gradient(180deg,#F1F6EE,#FDF1EA)}
.testi-home,.testi-page{background:linear-gradient(180deg,var(--ivory),#FBE2E6)}
.goodbye{background:linear-gradient(135deg,#FBE2E6,#FDEBDC)}
.contact-hero{background:linear-gradient(180deg,#FBE2E6,#FDF0E6 60%,var(--ivory))}

/* logo: two short lines under the name */
.brand-tag{display:grid;gap:1px;font-size:12px;line-height:1.25;color:var(--rose-deep);margin-top:5px}

/* hero line next to the Hindi text */
.hero-dev{flex-wrap:wrap;row-gap:6px}
.hero-dev-en{font-size:16px;color:var(--rose)}

/* round badge in the logo colours (burgundy + gold) */
.hv-badge{background:radial-gradient(circle at 35% 30%,#9A2E40,var(--rose-deep) 70%);box-shadow:0 20px 40px -16px rgba(125,30,46,.6),inset 0 0 0 5px var(--rose-deep),inset 0 0 0 6px var(--gold)}
.badge-ring text{fill:var(--gold-soft);letter-spacing:0;font-size:14px}
.badge-mono{fill:var(--gold)}

/* scrolling band: soft pastel ribbon with burgundy lettering */
.marquee{background:linear-gradient(90deg,#FADDE3,#FDE8D6 30%,#E4F1E7 55%,#EEE4F6 80%,#FADDE3);color:var(--rose-deep);border-block:1px solid rgba(201,161,90,.55)}
.marquee-track svg{color:var(--gold)}

/* pink card + polaroid like the mockup */
.at-note{background:linear-gradient(160deg,#FCE3E6,#FDEDE3)}
.polaroid{position:relative}
.polaroid img{aspect-ratio:4/5}
.polaroid-tape{position:absolute;left:50%;top:-12px;width:78px;height:24px;transform:translateX(-50%) rotate(-4deg);background:rgba(233,211,170,.75);box-shadow:0 2px 4px rgba(56,41,42,.12);z-index:1}

/* why-us card: pastel sage instead of dark green */
.why-card{background:linear-gradient(135deg,#E6F2E9,#F4F8EF);color:var(--muted)}
.why-card::after{border-color:rgba(201,161,90,.45)}
.why-card .eyebrow.light{color:var(--rose)}
.why-card .h2.light{color:var(--emerald)}
.why-card .btn-gold{background:var(--emerald);color:var(--white)}
.why-card .btn-gold::before{background:var(--emerald-2)}

/* journey icons get pastel fills */
.jr-step:nth-child(1) .jr-icon{background:var(--t-saffron)}
.jr-step:nth-child(2) .jr-icon{background:var(--t-sage)}
.jr-step:nth-child(3) .jr-icon{background:var(--t-blush)}
.jr-step:nth-child(4) .jr-icon{background:var(--t-sky)}
.jr-step:nth-child(5) .jr-icon{background:var(--t-lilac)}
.jr-step.is-on .jr-icon{background:var(--rose)}

/* ============ v1.5 ============ */
/* footer "Atithi Devo Bhava": clearer lettering instead of the thin script */
.f-script{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:26px;letter-spacing:.01em;line-height:1.3}
/* hanging garlands removed: tighter top spacing */
.cta-band{padding-block:clamp(90px,10vw,130px) clamp(80px,9vw,120px)}
.contact-hero{padding-top:calc(var(--hh) + 80px)}
/* founder portraits: keep faces inside the arch */
.founder-frame .arch img{object-position:50% 20%}
/* guest video testimonial beside the quotes */
.testi-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center;max-width:1100px;margin-inline:auto}
.testi-row:not(:has(.tvideo)){grid-template-columns:1fr}
.tvideo{text-align:center;width:min(260px,70vw);margin-inline:auto}
.tv-frame{position:relative;aspect-ratio:9/16;border-radius:140px 140px 22px 22px;overflow:hidden;cursor:pointer;background:var(--paper);box-shadow:0 30px 60px -28px rgba(56,41,42,.5);outline:6px solid var(--white);outline-offset:0}
.tv-frame video{width:100%;height:100%;object-fit:cover}
.tv-play{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:rgba(255,253,251,.92);color:var(--rose);display:grid;place-items:center;box-shadow:0 10px 30px -10px rgba(0,0,0,.4);transition:transform .4s var(--ease),background .4s,color .4s}
.tv-play svg{width:22px;height:22px;margin-left:3px}
.tv-frame:hover .tv-play{transform:scale(1.08);background:var(--rose);color:var(--white)}
.tv-name{margin:18px 0 2px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}
.tv-note{margin:0;font-size:13px;color:var(--muted)}
.testi-row .tslider{max-width:none}
@media (max-width:860px){.testi-row{grid-template-columns:1fr}}
