:root{
  --white:#ffffff;
  --paper:#f6f4f0;
  --line:#e5e1da;
  --black:#0e0e0e;
  --text:#2b2b29;
  --gray:#6a6a66;
  --gray-2:#9a9a95;
  --orange:#c2561c;
  --orange-2:#d9642a;
  --r:16px;
  --wrap:1280px;
  --gut:32px;
  --head:"Clash Display","Satoshi",system-ui,sans-serif;
  --body:"Satoshi",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ivory:#fbfaf6;
  --shadow-ambient:0 0 0 1px rgba(20,20,20,.06),0 8px 28px -10px rgba(20,20,20,.22),0 0 22px -6px rgba(251,250,246,.7);
  --shadow-ambient-hover:0 0 0 1px rgba(20,20,20,.08),0 14px 36px -12px rgba(20,20,20,.3),0 0 30px -4px rgba(251,250,246,.85);
  --glow:0 0 18px -5px rgba(217,100,42,.45);
  --glow-hover:0 0 26px -4px rgba(217,100,42,.6);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{font-family:var(--body);background:var(--white);color:var(--black);line-height:1.55;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{line-height:1.15}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.o{color:var(--orange)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:999}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:6px}
.ic{width:18px;height:18px;flex:none}

/* ---------- type ---------- */
.h2{font-family:var(--head);font-weight:600;font-size:clamp(2.1rem,4.6vw,4.2rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.h3{font-family:var(--head);font-weight:600;font-size:1.5rem;letter-spacing:-.01em}
.kicker{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.kicker--light{color:var(--orange-2)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border-radius:999px;font-weight:700;font-size:.98rem;text-decoration:none;white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s}
.btn--orange{background:var(--orange);color:#fff;box-shadow:0 10px 26px -12px rgba(194,86,28,.7),var(--glow)}
.btn--orange:hover{background:var(--orange-2);box-shadow:0 14px 32px -12px rgba(194,86,28,.8),var(--glow-hover)}
.btn--black{background:var(--black);color:#fff;box-shadow:0 10px 26px -12px rgba(0,0,0,.5),var(--glow)}
.btn--black:hover{background:var(--black);box-shadow:0 14px 32px -12px rgba(0,0,0,.6),var(--glow-hover)}
.btn--outline{background:var(--ivory);color:var(--black);border:1px solid rgba(20,20,20,.12);box-shadow:var(--shadow-ambient),var(--glow)}
.btn--outline:hover{background:var(--ivory);color:var(--black);box-shadow:var(--shadow-ambient-hover),var(--glow-hover)}
.btn[data-book]::after,.cform button[type=submit]::after,#videos .btn--black::after{content:"\2192";font-weight:500}
.btn--sm{padding:11px 20px;font-size:.9rem}
.btn--block{width:100%}

/* ---------- socials ---------- */
.socials{display:flex;gap:8px}
.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(20,20,20,.14);background:var(--ivory);color:var(--black);box-shadow:var(--shadow-ambient)}
.socials a:hover{box-shadow:var(--shadow-ambient-hover),var(--glow-hover)}
.socials svg{width:18px;height:18px;fill:currentColor}
/* brand-colored icons; the circle itself stays clear */
.socials .s-tiktok{color:#000}
.socials .s-tiktok svg{filter:drop-shadow(-1.2px -1px 0 #25F4EE) drop-shadow(1.2px 1px 0 #FE2C55)}
.socials .s-instagram svg{fill:url(#ig-grad)}
.socials .s-facebook{color:#1877F2}
.socials--light .s-tiktok{color:#fff}
.socials--light a{border-color:rgba(255,255,255,.22);background:transparent;color:#fff;box-shadow:none}
.socials--light a:hover{border-color:rgba(255,255,255,.6);box-shadow:var(--glow-hover)}
.socials--nav a{width:36px;height:36px}
.socials--nav svg{width:16px;height:16px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
.nav__inner{max-width:1400px;margin:0 auto;padding:12px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav__brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.nav__brand img{width:40px;height:auto}
.nav__brand span{font-family:var(--head);font-weight:600;font-size:1.05rem;line-height:1.05;letter-spacing:-.01em}
.nav__brand small{display:block;font-family:var(--body);font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
.nav__links{display:flex;gap:26px}
.nav__links a{text-decoration:none;font-weight:500;font-size:.95rem;color:#333}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--orange)}
.nav__drawer>a[aria-current="page"]{color:var(--orange)}
.nav__right{display:flex;align-items:center;gap:14px}
.nav__burger{display:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);position:relative}
.nav__burger span{position:absolute;left:13px;right:13px;height:2px;background:var(--black)}
.nav__burger span:first-child{top:17px}.nav__burger span:last-child{top:25px}
.nav.is-open .nav__burger span:first-child{top:21px;transform:rotate(45deg)}
.nav.is-open .nav__burger span:last-child{top:21px;transform:rotate(-45deg)}
.nav__drawer{display:none}

/* ---------- hero (light) ---------- */
.hero{background:var(--paper);padding:64px 0 36px}
.hero__head{margin-bottom:40px}
.hero__where{display:flex;align-items:center;gap:6px;font-weight:500;color:var(--gray);margin-bottom:14px}
.hero__where .ic{color:var(--orange);width:16px;height:16px}
.hero__travel{margin-top:6px;font-weight:700;color:var(--black)}
.hero__title{font-family:var(--head);font-weight:600;font-size:clamp(3rem,11vw,10.5rem);line-height:.9;letter-spacing:-.04em;margin-bottom:28px}
.hero__side{display:flex;justify-content:space-between;align-items:center;gap:24px 40px;flex-wrap:wrap}
.hero__lede{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--text);max-width:34ch}
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero__vids{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 var(--gut);max-width:1400px;margin:0 auto}
.hv{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:9/13;background:#ddd}
.hv video{width:100%;height:100%;object-fit:cover}
/* hide iOS Safari's big play icon on the page videos (they autoplay muted); the pop-up player keeps its controls */
.hv video::-webkit-media-controls,.reel__btn video::-webkit-media-controls,.feat__video video::-webkit-media-controls,
.hv video::-webkit-media-controls-start-playback-button,.reel__btn video::-webkit-media-controls-start-playback-button,.feat__video video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none;opacity:0}
.hv figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);color:var(--black);font-size:.82rem;font-weight:700;padding:7px 12px;border-radius:999px}

/* ---------- stats ---------- */
.stats{border-bottom:1px solid var(--line)}
.stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{padding:40px 24px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:0}
.stat:first-child{border-left:0;padding-left:0}
.stat b{font-family:var(--head);font-weight:600;font-size:clamp(1.6rem,2.9vw,2.9rem);line-height:1.05;letter-spacing:-.025em;white-space:normal;overflow-wrap:normal}
.stat span{color:var(--gray);font-weight:500}

/* ---------- sections ---------- */
.sec{padding:110px 0}
.sec--paper{background:var(--paper)}
.sec--black{background:var(--black);color:#fff}
.sec__title{margin-bottom:44px;max-width:16ch}
.sec__row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 32px;flex-wrap:wrap;margin-bottom:44px}
.sec__note{color:var(--gray);max-width:340px}
.sec__note a{color:var(--black);font-weight:700}

/* why */
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin-bottom:20px}
.card__num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--head);font-weight:600;font-size:1rem;flex:none;box-shadow:var(--glow)}
.card__title{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.card__title h3{margin-bottom:0!important}
.card h3{font-family:var(--head);font-weight:600;font-size:1.5rem;letter-spacing:-.01em;margin-bottom:6px}
.card p{color:var(--gray)}

/* services: tabs on top, photo + details side by side */
.sp__tabs{display:flex;gap:12px;margin-bottom:20px;overflow-x:auto;scrollbar-width:none;padding:10px 4px 14px}
.sp__tabs::-webkit-scrollbar{display:none}
.sp__tab{flex:0 0 auto;padding:14px 22px;border:1px solid rgba(20,20,20,.1);border-radius:999px;background:var(--ivory);font-family:var(--head);font-weight:600;font-size:1.1rem;white-space:nowrap;box-shadow:var(--shadow-ambient),var(--glow)}
.sp__tab:not(.is-on):hover{box-shadow:var(--shadow-ambient-hover),var(--glow-hover)}
.sp__tab.is-on{background:var(--black);border-color:var(--black);color:#fff;box-shadow:0 10px 26px -12px rgba(0,0,0,.5)}
.sp__panel{display:none;grid-template-columns:1.45fr 1fr;gap:20px;align-items:stretch}
.sp__panel.is-on{display:grid}
.sp__img{border-radius:20px;overflow:hidden;background:#ddd;aspect-ratio:4/3}
.sp__img img{width:100%;height:100%;object-fit:cover}
.sp__info{background:var(--paper);border-radius:20px;padding:36px;display:flex;flex-direction:column;justify-content:center}
.sp__info h3{font-family:var(--head);font-weight:600;font-size:clamp(1.7rem,2.6vw,2.4rem);letter-spacing:-.02em;margin-bottom:10px}
.sp__info>p{color:var(--text);font-size:1.1rem}
.sp__info dl{display:flex;gap:32px;margin:22px 0 26px}
.sp__info dt{font-size:.85rem;font-weight:500;color:var(--gray)}
.sp__info dd{font-family:var(--head);font-weight:600;font-size:1.2rem}
.sp__info .btn{align-self:center}
.sp__step{display:flex;align-items:center;justify-content:center;align-self:stretch;gap:14px;margin-top:22px}
.sp__step span{font-weight:700;color:var(--gray);font-size:.9rem;min-width:3ch;text-align:center}
.sp__step .round{width:46px;height:46px;border:1px solid rgba(20,20,20,.12);background:var(--ivory);box-shadow:var(--shadow-ambient),var(--glow)}
.sp__step .round:hover{background:var(--ivory);color:var(--black);box-shadow:var(--shadow-ambient-hover),var(--glow-hover)}

/* featured job */
.feat__title{margin-bottom:24px}
.feat__head{display:grid;grid-template-columns:1.3fr 1fr;gap:20px 48px;align-items:start;margin-bottom:32px}
.feat__quote{font-family:var(--head);font-weight:500;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.4;color:var(--text)}
.feat__quote cite{display:block;font-family:var(--body);font-style:normal;font-size:.9rem;font-weight:500;color:var(--gray);margin-top:10px}
.feat__specs{display:grid;gap:14px;border-left:2px solid var(--orange);padding-left:20px}
.feat__specs dt{font-size:.85rem;color:var(--gray)}
.feat__specs dd{font-weight:700;font-size:1.05rem}
.feat__media{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}
.feat__media>*{aspect-ratio:9/14;border-radius:18px;overflow:hidden;background:#ddd}
.feat__media img,.feat__video video{width:100%;height:100%;object-fit:cover}
.feat__video{position:relative}
.feat__play{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:8px;background:#fff;color:var(--black);font-weight:700;font-size:.92rem;padding:11px 18px;border-radius:999px}
.feat__play:hover{background:var(--orange);color:#fff}

/* aviation care: plain card grid (fallback) */
.care{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.care__media{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;margin-bottom:18px;background:#ddd}
.care__media img{width:100%;height:100%;object-fit:cover}
.care__after{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}
.care__media.is-after .care__after{opacity:1}
.care__ba{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92);color:var(--black);font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:999px;display:none}
.care__ba .ba-after{display:none}
.is-after .care__ba .ba-before{display:none}
.is-after .care__ba .ba-after{display:inline;color:var(--orange)}
.is-scrolly .care__ba,.is-timeline .care__ba{display:block}
.care__num{display:block;font-family:var(--head);font-weight:600;color:var(--orange);font-size:.95rem;margin-bottom:6px}
.care h3{font-family:var(--head);font-weight:600;font-size:1.3rem;margin-bottom:8px}
.care p{color:var(--text);font-size:.98rem}
.care-track{display:none}

/* aviation care: pinned scroll-through steps (main.js adds .is-scrolly) */
.care-sec.is-scrolly{padding-bottom:0}
.is-scrolly .care-pin{position:relative;height:calc(100svh + 3 * 65svh)}
.is-scrolly .care-pin__sticky{position:sticky;top:var(--navh,70px);height:calc(100svh - var(--navh,70px));display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3vh,36px);padding-top:12px;padding-bottom:28px}
.is-scrolly .care-track{display:grid;grid-template-columns:repeat(4,1fr);position:relative;padding-top:4px}
.care-track__line{position:absolute;left:0;right:0;top:16px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.care-track__fill{position:absolute;inset:0;background:var(--orange);transform-origin:left;transform:scaleX(0)}
.care-track__dot{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;cursor:pointer}
.care-track__dot b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper);border:2px solid var(--line);font-family:var(--head);font-weight:600;font-size:.85rem;color:var(--gray);transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s}
.care-track__dot span{font-family:var(--head);font-weight:600;font-size:.95rem;color:var(--gray-2);transition:color .3s;padding-right:12px}
.care-track__dot.is-done b,.care-track__dot.is-on b{background:var(--orange);border-color:var(--orange);color:#fff}
.care-track__dot.is-on b{box-shadow:var(--glow-hover)}
.care-track__dot.is-on span{color:var(--black)}
.is-scrolly .care{display:block;position:relative;flex:1;min-height:0}
.is-scrolly .care article{position:absolute;inset:0;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .6s cubic-bezier(.16,.84,.3,1);pointer-events:none}
.is-scrolly .care article.is-on{opacity:1;transform:none;pointer-events:auto}
.is-scrolly .care__media{aspect-ratio:auto;height:100%;max-height:100%;margin:0;border-radius:20px;box-shadow:0 24px 50px -24px rgba(0,0,0,.35)}
.is-scrolly .care__num{font-size:1rem;margin-bottom:10px}
.is-scrolly .care h3{font-size:clamp(1.7rem,3.2vw,2.8rem);letter-spacing:-.02em;margin-bottom:14px}
.is-scrolly .care p{font-size:clamp(1rem,1.3vw,1.2rem);max-width:42ch}

/* aviation care: phone/tablet timeline (main.js adds .is-timeline) */
.is-timeline .care{display:block;position:relative;padding-left:46px}
.care-line{position:absolute;left:14px;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--line);overflow:hidden}
.care-line__fill{position:absolute;inset:0;background:var(--orange);transform-origin:top;transform:scaleY(0)}
.is-timeline .care article{position:relative;margin-bottom:44px;opacity:.38;transition:opacity .45s ease}
.is-timeline .care article:last-child{margin-bottom:0}
.is-timeline .care article.is-on,.is-timeline .care article.is-done{opacity:1}
.is-timeline .care__media{aspect-ratio:4/3;margin-bottom:16px;border-radius:16px}
.is-timeline .care__num{position:absolute;left:-46px;top:0;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--paper);border:2px solid var(--line);color:var(--gray);font-size:.8rem;margin:0;transition:background-color .35s,border-color .35s,color .35s,box-shadow .35s}
.is-timeline .care article.is-on .care__num,.is-timeline .care article.is-done .care__num{background:var(--orange);border-color:var(--orange);color:#fff}
.is-timeline .care article.is-on .care__num{box-shadow:var(--glow-hover)}
/* phone dots show a plain 1-4; desktop keeps 01-04 */
.is-timeline .care__num{font-size:0}
.is-timeline .care__num::after{content:attr(data-n);font-size:.8rem}
.is-timeline .care h3{font-size:1.45rem;margin-bottom:6px}
.is-timeline .care p{font-size:1rem}

/* videos */
.swipe{display:none}
.reels{--pad:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 8px;scroll-padding-inline:var(--pad);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.reels::-webkit-scrollbar{display:none}
.reel{flex:0 0 clamp(230px,21vw,280px);scroll-snap-align:start}
.reel__btn{display:block;width:100%;position:relative;border-radius:18px;overflow:hidden;background:#ddd}
.reel__btn video{width:100%;aspect-ratio:9/16;object-fit:cover}
.reel__play{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--black);display:grid;place-items:center}
.reel__play svg{width:16px;height:16px;margin-left:2px}
.reel__btn:hover .reel__play{background:var(--orange);color:#fff}
.reel figcaption{padding:12px 4px 0;font-size:.93rem;color:var(--gray);line-height:1.4}
.reel figcaption b{display:block;color:var(--black);font-family:var(--head);font-weight:600;font-size:1.08rem;margin-bottom:2px}
.reel--more{text-decoration:none}
.reel--more__box{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;aspect-ratio:9/16;border-radius:18px;background:var(--black);color:#fff;padding:24px;position:relative;transition:background-color .15s}
.reel--more:hover .reel--more__box{background:var(--orange)}
.reel--more__icon{width:44px;height:44px;position:absolute;top:24px;left:24px}
.reel--more__box b{font-family:var(--head);font-weight:600;font-size:1.6rem;line-height:1.1}
.reel--more__box span{color:rgba(255,255,255,.75)}
.reel--more__go{margin-top:14px;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--black)!important;display:grid;place-items:center}
.reels__ctrl{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}
.round{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--black);display:grid;place-items:center;transition:background-color .15s,color .15s}
.round:hover{background:var(--black);color:#fff}

/* gallery: masonry columns, no gaps */
.gallery{columns:4 240px;column-gap:12px}
.g{display:block;margin-bottom:12px;break-inside:avoid;border-radius:12px;overflow:hidden;background:#e9e6e0}
.g img{width:100%;height:auto}
.g:hover img{opacity:.9}
.g--more{display:none}
.gallery.is-open .g--more{display:block;animation:fadeUp .55s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.more{display:flex;justify-content:center;margin-top:28px}

/* family */
.fam{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center;margin-bottom:72px}
.fam__photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:20px}
.fam__copy .h2{margin-bottom:24px}
.fam__copy p{color:var(--text);margin-bottom:14px;max-width:56ch}
.fam__copy p.big{font-size:1.22rem;color:var(--black)}
.crew__title{margin-bottom:20px}
.crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.person img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px;margin-bottom:14px}
.person h4{font-family:var(--head);font-weight:600;font-size:1.35rem}
.person p{color:var(--gray)}
.trusted{margin-top:40px;background:var(--paper);border-radius:var(--r);padding:28px;display:flex;gap:22px;align-items:center}
.trusted img{flex:none;width:58px;height:auto}
.trusted h3{font-family:var(--head);font-weight:600;font-size:1.35rem;margin-bottom:4px}
.trusted p{color:var(--text)}

/* Q&A */
.faq{display:grid;grid-template-columns:1fr 1.7fr;gap:48px;align-items:start}
.faq .h2{margin-bottom:14px}
.faq__list{border-top:1.5px solid var(--black)}
.faq__list details{border-bottom:1px solid var(--line)}
.faq__list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-family:var(--head);font-weight:600;font-size:1.2rem}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-family:var(--body);font-weight:500;font-size:1.3rem;line-height:1}
.faq__list details[open] summary::after{content:"−";background:var(--black);border-color:var(--black);color:#fff}
.faq__list p{padding:0 50px 22px 0;color:var(--text)}
.faq__list a{font-weight:700;color:var(--black)}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact .h2{margin-bottom:32px}
.clist{list-style:none;border-top:1px solid rgba(255,255,255,.14);margin-bottom:32px}
.clist li{display:grid;grid-template-columns:110px minmax(0,1fr);padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);align-items:center;font-size:1.12rem}
.clist small{font-size:.85rem;color:var(--gray-2)}
.clist a{text-decoration:none;overflow-wrap:anywhere}
.clist a:hover{color:var(--orange-2)}
.contact__ctas{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.cform{background:#fff;color:var(--black);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:16px}
.cform h3{font-family:var(--head);font-weight:600;font-size:1.5rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:700;color:#333}
input,textarea,select{font:inherit;font-size:1rem;font-weight:400;color:var(--black);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;width:100%}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--orange);background:#fff}
textarea{resize:vertical}
.trap{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.cform__status{font-size:.95rem;min-height:1.2em;color:var(--gray);font-weight:500}
.cform__status.is-ok{color:#1d7a3a}
.cform__status.is-err{color:#b3261e}
.btn[disabled]{opacity:.65;cursor:wait}

/* inner pages */
.crumbs{display:flex;gap:10px;align-items:center;padding-top:28px;font-size:.9rem;color:var(--gray)}
.crumbs a{text-decoration:none;color:var(--gray)}
.crumbs a:hover{color:var(--orange)}
.crumbs [aria-current]{color:var(--black);font-weight:700}
.crumbs+.sec{padding-top:40px}
.cta{background:var(--paper);padding:80px 0}
.sec--paper+.cta{background:#fff;border-top:1px solid var(--line)}
.sec--paper+.cta,.sec+.cta{margin-top:0}
.cta__inner{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap}
.cta .h2{max-width:14ch}
.cta__btns{display:flex;gap:12px;flex-wrap:wrap}
.crumbs+.sec--paper,.crumbs+.sec--black{margin-top:24px}

/* footer */
.foot{background:#000;color:rgba(255,255,255,.7);padding:72px 0 28px}
.foot__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot__brand{display:flex;align-items:center;gap:18px}
.foot__brand img{width:72px;height:auto}
.foot__brand p{font-family:var(--head);font-weight:600;font-size:1.5rem;color:#fff;line-height:1.1;max-width:12ch}
.foot h4{font-size:.85rem;font-weight:700;color:#fff;margin-bottom:14px}
.foot__grid>div:not(.foot__brand){display:flex;flex-direction:column;gap:9px}
.foot a{text-decoration:none}
.foot a:hover{color:#fff}
.foot__base{padding-top:22px;font-size:.88rem}


/* booking */
.book{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.book[hidden]{display:none}
.book__scrim{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.book__panel{position:relative;width:min(600px,100%);max-height:92svh;overflow:auto;background:#fff;border-radius:22px;padding:30px}
.book__top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.book__step{font-size:.85rem;font-weight:700;color:var(--orange)}
.book__top h2{font-family:var(--head);font-weight:600;font-size:1.8rem;letter-spacing:-.02em;line-height:1.1;margin-top:4px}
.book__x{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);flex:none}
.book__bar{height:4px;background:var(--paper);border-radius:4px;margin:20px 0 24px;overflow:hidden}
.book__bar span{display:block;height:100%;width:25%;background:var(--orange)}
.step{display:none;border:0;flex-direction:column;gap:14px}
.step.is-on{display:flex}
legend{font-weight:700;font-size:1.05rem;margin-bottom:14px;float:left;width:100%}
.opts{display:flex;flex-direction:column;gap:10px;clear:both}
.opt{position:relative;cursor:pointer}
.opt input{position:absolute;opacity:0}
.opt>span{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:18px 20px;border:1.5px solid var(--line);border-radius:14px}
.opt b{font-family:var(--head);font-weight:600;font-size:1.15rem;color:var(--black)}
.opt small{grid-column:1;color:var(--gray);font-size:.9rem;font-weight:400}
.opt i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-weight:700;color:var(--orange)}
.opt input:checked+span{border-color:var(--orange);background:#fdf6f2}
.opt input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.cal{border:1.5px solid var(--line);border-radius:14px;padding:14px;clear:both}
.cal__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:700}
.cal__head button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line)}
.cal__head button:disabled{opacity:.3;cursor:default}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal__dow{font-size:.7rem;font-weight:700;color:var(--gray-2);padding:6px 0}
.cal__day{aspect-ratio:1;border-radius:10px;font-size:.95rem}
.cal__day:hover:not(:disabled){background:var(--paper)}
.cal__day:disabled{color:#c9c9c4;cursor:default}
.cal__day.is-sel{background:var(--orange);color:#fff;font-weight:700}
.cal__day.is-today{box-shadow:inset 0 0 0 1.5px var(--orange)}
.slots{display:flex;gap:8px}
.where{display:flex;flex-wrap:wrap;gap:8px}
.where__q{width:100%;font-size:.88rem;font-weight:700;color:#333}
.where .slot{flex:1 1 160px}
.slot{flex:1;cursor:pointer;position:relative}
.slot input{position:absolute;opacity:0}
.slot span{display:block;text-align:center;padding:12px;border:1.5px solid var(--line);border-radius:12px;font-weight:700;color:var(--black)}
.slot input:checked+span{border-color:var(--black);background:var(--black);color:#fff}
.summary{background:var(--paper);border-radius:14px;padding:16px 18px;font-size:.92rem}
.summary div{display:flex;justify-content:space-between;gap:16px;padding:5px 0;border-bottom:1px solid var(--line)}
.summary div:last-child{border:0}
.summary span{color:var(--gray);font-size:.8rem;font-weight:700}
.step--done{text-align:center;align-items:center;padding:16px 0}
.step--done h3{font-family:var(--head);font-weight:600;font-size:1.7rem}
.step--done p{color:var(--gray);max-width:40ch}
.book__err{color:#b3261e;font-size:.9rem;min-height:1.2em;margin-top:10px}
.book__nav{display:flex;gap:12px;margin-top:10px}
.book__nav .btn{flex:1}

/* video viewer + lightbox */
.vv,.lb{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:60px 20px}
.vv[hidden],.lb[hidden]{display:none}
.vv__box{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(400px,100%)}
.vv__frame{position:relative;width:100%;max-height:78svh;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#000}
.vv__frame video,.vv__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.vv__frame video{object-fit:contain}
.vv__loading{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.75);font-weight:600}
.vv__frame [hidden],.vv__box [hidden]{display:none!important}
@media (max-height:700px){.vv__box{width:min(330px,100%)}}
.lb{padding:60px 76px}
.lb img{max-height:86svh;max-width:100%;border-radius:10px}
.vv__x,.lb button{position:absolute;color:#fff;width:50px;height:50px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);font-size:1.15rem}
.vv__x,.lb__x{top:16px;right:16px}
.lb__prev{left:14px;top:50%;transform:translateY(-50%)}
.lb__next{right:14px;top:50%;transform:translateY(-50%)}

/* ---------- hover pop (no scroll animation) ---------- */
.card,.care article,.person,.g,.reel__btn,.reel--more__box,.feat__media>*,.sp__img,.fam__photo img{transition:transform .25s ease,box-shadow .25s ease}
.btn,.socials a,.sp__tab,.round{transition:transform .2s ease,box-shadow .2s ease,background-color .15s,color .15s,border-color .15s}
@media (hover:hover){
  .card:hover,.care article:hover,.person:hover{transform:translateY(-5px)}
  .card:hover img,.care article:hover img,.person:hover img{box-shadow:0 18px 40px -18px rgba(0,0,0,.35)}
  .g:hover,.reel__btn:hover,.reel--more:hover .reel--more__box,.feat__media>*:hover,.sp__img:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(0,0,0,.4)}
  .btn:hover,.socials a:hover,.sp__tab:hover,.round:hover{transform:translateY(-2px)}
}
.btn:active,.socials a:active,.sp__tab:active,.reel__btn:active,.g:active{transform:scale(.97)}

/* scroll reveal (added by main.js only to items below the fold) */
.reveal{opacity:0;transform:translateY(40px);transition:none}
.reveal:where(.card,.person,.g,.fam__photo,.feat__media > *,.care article,.reels){transform:translateY(40px) scale(.96)}
.reveal.is-in{opacity:1;transform:none;transition:opacity .8s ease var(--d,0ms),transform .9s cubic-bezier(.16,.84,.3,1) var(--d,0ms)}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* ---------- laptop / tablet ---------- */
@media (max-width:1180px){
  .nav__links,.socials--nav{display:none}
  .nav__burger{display:block}
  .nav.is-open .nav__drawer{display:flex}
  .nav__drawer{flex-direction:column;padding:8px var(--gut) 24px;border-top:1px solid var(--line);background:#fff}
  .nav__drawer>a{text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--head);font-weight:600;font-size:1.3rem}
  .socials--drawer{margin-top:18px}
  .stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .stat b{font-size:clamp(1.8rem,4.6vw,2.8rem)}
  .care{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
  .faq{grid-template-columns:1fr;gap:24px}
}
@media (max-width:900px){
  :root{--gut:20px}
  .hero{padding:40px 0 24px}
  .hero__vids{gap:10px}
  .sec{padding:76px 0}
  .sec__title,.sec__row{margin-bottom:32px}
  .why{grid-template-columns:1fr;gap:36px}
  .sp__panel{grid-template-columns:1fr}
  .sp__info{padding:24px}
  .sp__tabs{margin:0 calc(var(--gut) * -1) 8px;padding:10px var(--gut) 14px}
  .sp__tab{font-size:1rem;padding:12px 18px}
  .feat__head{grid-template-columns:1fr}
  .is-scrolly .care article{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;align-items:start;gap:18px}
  .is-scrolly .care__media{width:100%}
  .feat__media{grid-template-columns:1fr 1fr}
  .feat__media .feat__video{grid-column:1/-1;aspect-ratio:4/5}
  .feat__media>img{aspect-ratio:4/5}
  .swipe{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--gray);margin:-16px 0 16px}
  .reel{flex-basis:68vw;max-width:300px}
  .reels__ctrl{display:none}
  .gallery{columns:2;column-gap:8px}
  .g{margin-bottom:8px}
  .fam{grid-template-columns:1fr;gap:32px;margin-bottom:48px}
  .fam__photo img{aspect-ratio:4/3}
  .crew{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .person h4{font-size:1.1rem}
  .person p{font-size:.9rem}
  .contact{grid-template-columns:1fr;gap:40px}
  .foot__grid{grid-template-columns:1fr 1fr}
  .foot__brand{grid-column:1/-1}
}
/* ---------- phones ---------- */
@media (max-width:560px){
  body{font-size:16px}
  .hide-sm{display:none}
  .hero__vids{grid-template-columns:1fr}
  .hv--side{display:none}
  .hv{aspect-ratio:4/5}
  .nav__right .btn{display:none}
  .nav__brand span{font-size:.98rem}
  .hero__title{font-size:clamp(2.6rem,14vw,4rem)}
  .hero__ctas{width:100%}
  .hero__ctas .btn{flex:1;padding:15px 16px}
  .cta{padding:56px 0}
  .cta__btns{width:100%}
  .cta__btns .btn{flex:1}
  .stat{padding:22px 12px}
  .stat b{font-size:clamp(1.3rem,6.4vw,1.8rem)}
  .stat span{font-size:.88rem;line-height:1.35}
  .care{grid-template-columns:1fr 1fr;gap:24px 12px}
  .care-track__dot span{display:none}
  .care-track{justify-items:start}
  .is-scrolly .care article{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;align-items:start;gap:16px}
  .is-scrolly .care__media{height:100%;width:100%}
  .is-scrolly .care h3{font-size:1.55rem;margin-bottom:8px}
  .is-scrolly .care p{font-size:1rem}
  .care__media{aspect-ratio:1}
  .care h3{font-size:1.1rem}
  .care p{font-size:.92rem}
  .crew{grid-template-columns:1fr 1fr}
  .crew .person:last-child{grid-column:1/-1}
  .crew .person:last-child img{aspect-ratio:16/10}
  .trusted{flex-direction:column;align-items:flex-start;gap:14px}
  .faq__list summary{font-size:1.08rem;padding:18px 0}
  .faq__list p{padding-right:0}
  .row2{grid-template-columns:1fr}
  .cform{padding:22px}
  .clist li{grid-template-columns:84px minmax(0,1fr);font-size:1rem}
  .book{padding:0;place-items:end center}
  .book__panel{border-radius:22px 22px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));max-height:94svh}
  .lb{padding:70px 10px}
  .lb__prev,.lb__next{top:auto;bottom:16px;transform:none}
}
