/* ================= v4 — clean heroes, height-aware sections, light endings ================= */

/* ---------- HOME HERO ---------- */
.hx2{position:relative;min-height:100svh;display:flex;align-items:center;padding:120px 0 70px;overflow:hidden}
.hx2::before{content:"";position:absolute;width:70vw;height:70vw;right:-25vw;top:-30vw;border-radius:50%;background:radial-gradient(circle,rgba(214,160,116,.32),transparent 62%);pointer-events:none}
.hx2-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.hx2 .hx-title{font-size:clamp(48px,min(5.2vw,10vh),96px);line-height:.98;margin:22px 0 0}
.hx2 .hx-title .script{display:block;font-size:.62em;line-height:1.25;margin-top:.06em}
.hx2 .lead{margin:22px 0 32px;color:var(--muted);max-width:520px}
.trust{display:flex;align-items:center;gap:14px;margin-top:32px;font-size:13px;letter-spacing:.08em;color:var(--muted)}
.trust b{color:var(--gold-2);letter-spacing:3px;font-weight:400;margin-right:8px}
.hx2-media{position:relative;height:min(76vh,700px);display:flex;justify-content:center}
.hx2-arch{position:relative;height:100%;aspect-ratio:9/14;max-width:100%;border-radius:400px 400px 26px 26px;overflow:hidden;box-shadow:var(--shadow)}
.hx2-arch img{width:100%;height:115%;object-fit:cover;object-position:50% 30%;will-change:transform}
.hx2-ring{position:absolute;inset:-14px;border:1px solid rgba(160,106,60,.35);border-radius:420px 420px 34px 34px;pointer-events:none}
.float-card{position:absolute;z-index:3;background:rgba(255,250,244,.92);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:20px;box-shadow:var(--shadow);padding:16px 20px;display:flex;align-items:center;gap:14px}
.float-card strong{font-family:var(--serif);font-weight:400;font-size:46px;line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.float-card span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);line-height:1.5}
.float-card img{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 25%}
.float-card b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ivory);letter-spacing:0}
.fc1{left:-4%;bottom:12%}
.fc2{right:-6%;top:12%}
.fc2 span{display:block;letter-spacing:.12em}

/* ---------- INNER PAGE HERO ---------- */
.ph2{position:relative;padding:150px 0 80px;text-align:center;overflow:hidden}
.ph2::before{content:"";position:absolute;width:80vw;height:80vw;left:50%;top:-55vw;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(214,160,116,.28),transparent 62%);pointer-events:none}
.ph2-head{position:relative;max-width:900px;margin-inline:auto}
.ph2 .eyebrow{justify-content:center}
.ph2 .eyebrow::after{content:"";width:34px;height:1px;background:var(--gold)}
.ph2 h1{font-size:clamp(44px,5.6vw,88px);line-height:1;margin-top:22px}
.ph2 h1 .script{display:block;font-size:.66em;line-height:1.25;margin-top:.08em}
.ph2 .lead{margin:24px auto 0;color:var(--muted);max-width:640px}
.ph2 .hero-ctas{justify-content:center;margin-top:34px}
.ph2-row{display:flex;justify-content:center;align-items:flex-end;gap:clamp(12px,1.6vw,24px);margin-top:56px;padding:0 20px}
.ph2-img{position:relative;overflow:hidden;border-radius:22px;box-shadow:var(--shadow);flex:none}
.ph2-img img{width:100%;height:118%;object-fit:cover;object-position:50% 30%;will-change:transform}
.ph2-img.mid{width:min(28vw,360px);height:min(52vh,500px);border-radius:400px 400px 22px 22px}
.ph2-img.side{width:min(22vw,290px);height:min(38vh,370px)}

/* ---------- FINAL CTA (light) ---------- */
.fcta{background:var(--ink);padding:120px 0;overflow:hidden}
.fcta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.fcta h2{font-size:clamp(44px,5.4vw,84px);margin:18px 0 22px}
.fcta .lead{color:var(--muted)}
.fcta .hero-ctas{margin-top:34px}
.fcta-media{position:relative;height:min(64vh,580px);display:flex;justify-content:center}
.fcta-img{height:100%;aspect-ratio:9/13;border-radius:400px 400px 24px 24px;overflow:hidden;box-shadow:var(--shadow)}
.fcta-img img{width:100%;height:115%;object-fit:cover;object-position:50% 30%}
.fcta .fc1{left:0;bottom:10%}

/* ---------- NEXT PAGE (light) ---------- */
.next-page{--black:#efe6db;--ivory:#1d1714;--muted:#6e6158;--line:rgba(122,84,52,.18);--gold:#a06a3c;--gold-2:#8a5a33;--gold-grad:linear-gradient(100deg,#c99868 0%,#93603a 42%,#c99a6c 70%,#7a4d2d 100%);background:var(--black)!important;color:var(--ivory);padding:110px 0}
.next-page::after,.next-page .np-bg{display:none!important}
.next-page strong{font-size:clamp(56px,10vw,160px)}
.next-page .arrow{border-color:var(--gold-2)}
.next-page:hover .arrow{background:var(--gold-2);color:#fff}
.np-follow{position:fixed;left:0;top:0;width:220px;height:290px;border-radius:120px 120px 16px 16px;overflow:hidden;pointer-events:none;z-index:80;opacity:0;transform:translate(-50%,-50%) scale(.6);box-shadow:var(--shadow)}
.np-follow img{width:100%;height:100%;object-fit:cover}

/* ---------- FOOTER warmer ---------- */
.footer{--black:#1e1713;background:#1e1713}

/* ---------- big type strip → light ---------- */
.xm{--ink:#efe6db;--line:rgba(122,84,52,.18);--gold-grad:linear-gradient(100deg,#c99868 0%,#93603a 42%,#c99a6c 70%,#7a4d2d 100%);background:var(--ink)!important;color:var(--ivory)}
.xm-row span{-webkit-text-stroke:1px rgba(122,84,52,.45)}
.xm{--ivory:#1d1714}

/* ---------- services: closer, height-aware ---------- */
.services-sec{padding-top:40px}
.service{min-height:min(72vh,640px)}
.service .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:1.2s cubic-bezier(.2,.8,.2,1)}
.service:hover .bg img{transform:scale(1.06)}

/* ---------- cinematic with still image ---------- */
.cine-media img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transform-origin:50% 50%;will-change:transform}

/* ---------- habits: fit the viewport height ---------- */
.hz-wrap{height:100vh;padding:100px 0 40px;gap:36px}
.hz-card{width:auto;height:min(54vh,500px);aspect-ratio:585/376}

/* ---------- carousel: sharp + fits ---------- */
.ba-swiper .swiper-slide{width:min(340px,30vw)!important}
.ba-swiper .ba-slide{aspect-ratio:3/4;max-height:58vh}
.story-card .ba-slide,.story-card .single-photo{aspect-ratio:3/4;max-height:52vh}

/* ---------- reels: smaller so they fit ---------- */
.marquee-reels .reel{width:clamp(170px,14vw,230px)!important}

/* ---------- about promises (light cards) ---------- */
.promises{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:60px}
.promise{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:38px 30px 34px;box-shadow:var(--shadow);overflow:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.promise:hover{transform:translateY(-8px)}
.promise .pn{font-family:var(--serif);font-size:64px;line-height:1;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.promise h3{font-size:28px;margin:18px 0 10px}
.promise p{color:var(--muted);font-size:15.5px}
.promise::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.promise:hover::after{transform:scaleX(1)}

/* ---------- about chapters: bigger number + sizing ---------- */
.chapter{position:relative}
.chapter-num{position:absolute;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:clamp(140px,16vw,260px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(122,84,52,.18);pointer-events:none;z-index:-1}
.chapter:nth-child(odd) .chapter-num{right:0}
.chapter:nth-child(even) .chapter-num{left:0}
.chapter-media .frame{max-width:380px;max-height:70vh}

/* ---------- results featured (sharp, side by side) ---------- */
.feature{grid-template-columns:.62fr 1.38fr;gap:50px}
.feature-media{grid-template-columns:repeat(3,1fr);gap:16px}
.feature-media .ba-slide{aspect-ratio:3/4.2;max-height:none}

/* ---------- FAQ smooth ---------- */
.faq details{overflow:hidden}
.faq details > p{will-change:height,opacity}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .hx2-grid,.fcta-grid{grid-template-columns:1fr;gap:50px}
  .hx2{padding-top:110px}
  .hx2-media{height:min(62vh,560px)}
  .promises{grid-template-columns:1fr 1fr}
  .feature{grid-template-columns:1fr}
  .fcta-media{height:min(56vh,480px)}
}
@media (max-width:700px){
  .hx2 .hx-title{font-size:clamp(44px,12vw,64px)}
  .hx2-media{height:min(58vh,480px)}
  .fc1{left:0;bottom:6%;padding:12px 16px}
  .fc2{right:0;top:6%;padding:10px 14px}
  .float-card strong{font-size:36px}
  .float-card b{font-size:17px}
  .ph2{padding:120px 0 60px}
  .ph2-row{gap:10px;margin-top:40px;padding:0 12px}
  .ph2-img.mid{width:46vw;height:min(42vh,340px)}
  .ph2-img.side{width:24vw;height:min(28vh,220px)}
  .promises{grid-template-columns:1fr}
  .feature-media{grid-template-columns:1fr}
  .feature-media .ba-slide{aspect-ratio:3/4;max-height:70vh}
  .ba-swiper .swiper-slide{width:74vw!important}
  .hz-wrap{height:auto}
  .hz-card{height:auto;width:100%}
  .chapter-num{display:none}
  .np-follow{display:none}
}
