/* ================= v7 — mobile experience (app-style) ================= */

/* ---------- Consistency marquee ---------- */
.cmq{overflow:hidden;padding:34px 0;border-block:1px solid var(--line);background:var(--ink)}
.cmq-track{display:flex;align-items:center;gap:40px;width:max-content;animation:marq 38s linear infinite;font-family:var(--serif);font-weight:500;font-size:clamp(40px,6vw,88px);line-height:1;white-space:nowrap}
.cmq-track span{color:var(--ivory)}
.cmq-track span.o{color:transparent;-webkit-text-stroke:1px #93603a}
.cmq-track i{font-style:normal;font-size:.4em;color:var(--gold-2)}
.cmq:hover .cmq-track{animation-play-state:paused}

/* ---------- nav Instagram icon ---------- */
.nav-ig{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,border-color .3s,transform .3s}
.nav-ig svg{width:19px;height:19px;stroke:var(--gold-2);fill:none;stroke-width:1.6}
.nav-ig:hover{background:#1d1714;border-color:#1d1714;transform:translateY(-2px)}
.nav-ig:hover svg{stroke:#f5ede4}
@media (max-width:480px){.nav-ig{width:38px;height:38px}.nav-actions{gap:8px}}

/* ---------- reels: no stray scrollbars ---------- */
.reels{scrollbar-width:none;overflow-y:hidden}
.reels::-webkit-scrollbar{display:none}

/* ---------- bottom sheet (Book Now) — all sizes ---------- */
.sheet{position:fixed;inset:0;z-index:180;display:none}
.sheet.on{display:block}
.sheet-bg{position:absolute;inset:0;background:rgba(20,15,12,.55);backdrop-filter:blur(4px)}
.sheet-panel{position:absolute;left:0;right:0;bottom:0;max-height:92svh;overflow-y:auto;overscroll-behavior:contain;background:var(--black);border-radius:28px 28px 0 0;box-shadow:0 -30px 80px -30px rgba(0,0,0,.5);padding:10px 16px calc(24px + env(safe-area-inset-bottom))}
@media (min-width:901px){.sheet-panel{left:50%;right:auto;bottom:auto;top:50%;width:min(860px,92vw);max-height:90vh;border-radius:28px;padding:18px 24px 26px}}
.sheet-grab{width:44px;height:5px;border-radius:5px;background:rgba(122,84,52,.3);margin:4px auto 14px}
.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:0 4px}
.sheet-head h3{font-size:30px;line-height:1.05}
.sheet-head p{font-size:13.5px;color:var(--muted);margin-top:4px}
.sheet-x{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel);font-size:22px;color:var(--ivory);cursor:pointer;display:grid;place-items:center}
.sheet-contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 0 14px}
.sheet-contacts a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 6px;border-radius:16px;background:var(--panel);border:1px solid var(--line);font-size:12px;line-height:1.2;text-align:center;color:var(--ivory);min-width:0}
.sheet-contacts svg{width:20px;height:20px;stroke:var(--gold-2);fill:none;stroke-width:1.7}
.sheet-contacts a:active{transform:scale(.96)}
.sheet .ap{box-shadow:none;border-radius:22px}

/* ---------- app bottom bar (phones/tablets) ---------- */
.tabbar{display:none}
@media (max-width:900px){
  .tabbar{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:120;height:66px;padding:0 6px;background:rgba(255,250,244,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(122,84,52,.14);border-radius:22px;box-shadow:0 18px 40px -18px rgba(60,35,20,.45)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:66px;font-size:10px;letter-spacing:.06em;color:#7a6c62;position:relative;transition:color .3s}
  .tabbar a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .tabbar a.on{color:#93603a}
  .tabbar a.on::after{content:"";position:absolute;bottom:7px;width:4px;height:4px;border-radius:50%;background:#93603a}
  .tabbar a:active svg{transform:scale(.85)}
  .tabbar .tb-book{height:auto}
  .tabbar .tb-book span.c{width:58px;height:58px;margin-top:-26px;border-radius:50%;background:linear-gradient(135deg,#c99868,#93603a);display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(147,96,58,.8);border:4px solid #f7f1ea}
  .tabbar .tb-book svg{stroke:#fff;width:24px;height:24px}
  .tabbar .tb-book b{font-weight:500;color:#93603a;margin-top:2px;margin-bottom:8px}
  .burger,.sticky-cta{display:none!important}
  .nav-links{display:none!important}
  body{padding-bottom:0}
  .ft-bottom{padding-bottom:100px!important}
}

/* ---------- MOBILE HERO: full-screen media behind the words ---------- */
@media (max-width:700px){
  .hero5{min-height:100svh;padding:0;justify-content:flex-end;background:#120e0c;color:#f5ede4}
  .hero5 .gl-bg,.hero5 .h5-marquee,.hero5 .h5-stat,.hero5 .h5-badge{display:none}
  .hero5 .h5-media{position:absolute;inset:0;height:auto;margin:0}
  .hero5 .h5-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
  .hero5 .h5-frame::after{border-radius:0;box-shadow:none;background:linear-gradient(180deg,rgba(18,14,12,.55) 0%,rgba(18,14,12,.05) 22%,rgba(18,14,12,.15) 45%,rgba(18,14,12,.88) 72%,#120e0c 100%)}
  .hero5 .h5-card{display:none}
  .hero5 .h5-frame video,.hero5 .h5-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .hero5 .h5-ba{width:64px;height:44px;border-radius:9px}.hero5 .h5-ba::after{display:none}
  .hero5 .h5-card b{font-size:16px;color:#1d1714}.hero5 .h5-card span{font-size:9.5px}
  .hero5 > .container{position:static;align-items:flex-end;padding-bottom:104px}
  .hero5 .h5-trust .dot:last-of-type{display:none}
  .hero5 .h5-grid{display:block}
  .hero5 .h5-copy{position:relative;z-index:3}
  .hero5 .eyebrow{color:#e3bf98;font-size:10.5px;letter-spacing:.28em}
  .hero5 .eyebrow::before{background:#e3bf98;width:22px}
  .hero5 h1{font-size:clamp(38px,11vw,50px);color:#fff;margin-top:12px;line-height:1.02}
  .hero5 h1 .gold .ch,.hero5 h1 .gold{color:#f3d3b1!important;-webkit-text-fill-color:#f3d3b1!important}
  .hero5 .lead{color:rgba(245,237,228,.86);font-size:15px;margin-top:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .hero5 .hero-ctas{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hero5 .hero-ctas .btn{width:100%;padding:15px 10px;font-size:11px;letter-spacing:.16em}
  .hero5 .btn-gold{color:#1a120c!important;background:linear-gradient(100deg,#f6dcc0,#d9a97f 55%,#f3d3b1)}
  .hero5 .btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.45)!important}
  .hero5 .h5-trust{color:rgba(245,237,228,.75);font-size:11px;margin-top:16px;gap:8px}
  .hero5 .h5-trust span:nth-child(n+5){display:none}
  .hero5 .h5-trust .stars{color:#e3bf98}
  .hero5 .h5-trust .dot{background:#e3bf98}
}

/* ---------- PILE-ON-SCROLL cards (mobile) ---------- */
@media (max-width:900px){
  .services{display:block}
  .services .service{position:sticky;top:84px;margin-bottom:22px;min-height:min(74svh,560px);transform-origin:50% 0;background:#1d1714;box-shadow:0 -14px 34px -14px rgba(0,0,0,.55)}
  .services .service:nth-child(2){top:96px}
  /* habits: pinned horizontal scroll on mobile too */
  .hz{overflow:hidden}
  .hz-wrap{height:100svh;padding:92px 0 96px;gap:22px;justify-content:center}
  .hz .section-head .lead{font-size:14.5px}
  .hz-track{display:flex;flex-direction:row;width:max-content;padding:0 16px;gap:14px}
  .hz-track .hz-card{position:relative;width:80vw;height:auto;aspect-ratio:4/4.6;max-height:48svh;margin:0}
  .hz-end{width:78vw;padding:0 10px}
  .hz-end p{font-size:28px}
  .promises .promise:nth-child(2){top:106px}.promises .promise:nth-child(3){top:116px}.promises .promise:nth-child(4){top:126px}
  .promises{display:block}
  .promises .promise{position:sticky;top:96px;margin-bottom:18px;transform-origin:50% 0}
}

/* ---------- REELS on mobile: swipe row + arrows ---------- */
.reel-arrows{display:none}
@media (max-width:640px){
  .reels.reels-row{scroll-behavior:auto;scroll-snap-type:none!important}
  .reel-arrows{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
  .reel-arrows button{width:46px;height:46px;border-radius:50%;border:1px solid rgba(245,237,228,.3);background:rgba(255,255,255,.06);color:#f5ede4;display:grid;place-items:center}
  .reel-arrows svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
  .reels-row .reel{width:58vw!important}
}

/* ---------- COMPACT FORM on mobile ---------- */
@media (max-width:700px){
  .ap{padding:18px 14px 16px;border-radius:22px}
  .ap-head{margin-bottom:18px}
  .ap-steps span i{display:none}
  .ap-steps{justify-content:space-between}
  .ap-step h3{font-size:24px}
  .ap-step > p{font-size:13.5px;margin-bottom:14px}
  .opt-cards{grid-template-columns:1fr;gap:10px}
  .opt-card{aspect-ratio:auto!important;max-height:none;min-height:0;height:84px;border-radius:16px;align-items:center;background:#1d1714}
  .opt-card video,.opt-card img{position:relative;inset:auto;width:84px;height:84px;flex:none;opacity:1;border-radius:0}
  .opt-card::after{display:none}
  .opt-card .oc-body{padding:0 44px 0 14px}
  .opt-card strong{font-size:19px}
  .opt-card small{font-size:12px;margin-top:2px}
  .opt-card .tick{top:50%;transform:translateY(-50%);width:26px;height:26px}
  .opt-card:hover{transform:none}
  .goal-grid{grid-template-columns:1fr 1fr;gap:8px}
  .goal{padding:12px;gap:8px;font-size:13.5px;border-radius:14px}
  .goal svg{width:22px;height:22px}
  .seg{gap:6px}.seg label{padding:9px 13px;font-size:12px}
  .ap .field{margin-bottom:14px}
  .ap-nav{margin-top:18px;padding-top:14px}
  .range-wrap output{font-size:32px}
  textarea{min-height:84px}
  .cta .cta-grid > div:first-child .contact-list{display:none}
}

/* ---------- COMPACT FOOTER on mobile ---------- */
@media (max-width:700px){
  .ft{padding-top:44px}
  .ft-cta{padding-bottom:24px;gap:16px}
  .ft-title{font-size:30px}
  .ft-cta-btns{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .ft-cta-btns .btn{padding:13px 8px;font-size:11px;letter-spacing:.14em}
  .ft-cols{grid-template-columns:1fr 1fr;gap:22px 16px;padding:24px 0 0}
  .ft-about{grid-column:1/-1}
  .ft-about p{display:none}
  .ft .socials{margin-top:0}
  .ft-cols > div:nth-child(2){display:none}
  .ft h4{margin-bottom:10px}
  .ft ul{gap:6px}
  .ft ul a{font-size:13px}
  .ft-logo{width:84vw;margin-top:18px}
  .ft-bottom{flex-direction:column;gap:4px;font-size:11.5px;text-align:center;align-items:center}
}

/* ---------- other mobile polish ---------- */
@media (max-width:700px){
  .pad{padding:64px 0}
  h2{font-size:clamp(32px,9vw,44px)}
  .section-head{gap:18px}
  .why-media{height:min(60svh,460px)}
  .rv-stage .ba-slide{width:100%;max-height:62svh}
  .rv-name{font-size:38px;margin:6px 0 10px}
  .rv-quote{font-size:19px;min-height:0}
  .next-page{padding:70px 0}
  .next-page strong{font-size:clamp(46px,14vw,70px)}
  .fill-wrap{padding:60px 0 10px}
  .manifesto{padding:60px 0 70px!important}
  .manifesto p{font-size:clamp(28px,8vw,40px)}
  .stack-card{padding:26px 22px}
  .nav .container{height:64px}
  .nav-book{padding:11px 18px!important}
}
