/* ===========================================================================
   Maréa Yachts — shared site stylesheet
   Reuses the Fable-5 design tokens verbatim (design preserved) and the
   component styles from the original build, plus multi-page components.
   =========================================================================== */
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/fonts.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/colors.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/palettes.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/scales.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/collections.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/typography.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/spacing.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/effects.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/motion.css");
@import url("/_ds/fable-5-design-system-fcaa9864-a06b-4c7c-840d-735c2e60ad2d/tokens/base.css");
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600&display=swap");

/* Elegant, trustworthy serif for all display/headings (overrides the token) */
:root{--font-display:"Playfair Display", Georgia, "Times New Roman", serif}

*{box-sizing:border-box}
html,body{margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg-0);color:var(--text-1);font-family:var(--font-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--iris);text-decoration:none;transition:color var(--t-fast) var(--ease-glide)}
a:hover{color:var(--iris-bright)}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-sm)}
.page{position:relative;overflow:hidden}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 32px}
.serif{font-family:var(--font-accent);font-style:italic;font-weight:400;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.serif-h{font-family:var(--font-accent);font-style:italic;font-weight:400;color:var(--iris-bright)}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--iris-bright)}
.mono{font-family:var(--font-mono)}
.sec{padding:120px 0;position:relative}
.sec-sm{padding:84px 0;position:relative}
.sec-head{max-width:680px;margin-bottom:56px}
.h1{font-family:var(--font-display);font-weight:700;font-size:clamp(42px,5.6vw,72px);line-height:1.04;letter-spacing:-.005em;margin:0}
.h2{font-family:var(--font-display);font-weight:600;font-size:clamp(32px,3.8vw,54px);line-height:1.08;letter-spacing:-.005em;margin:0 0 18px}
.h3{font-family:var(--font-display);font-weight:600;font-size:clamp(23px,2.3vw,30px);line-height:1.14;letter-spacing:0;margin:0}
.lede{font-size:19px;color:var(--text-2);margin:0;max-width:620px}
.dim{color:var(--text-2)}
.faint{color:var(--text-3)}
.center{text-align:center}
.mt-0{margin-top:0}

/* aurora backdrop */
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.aurora .blob{position:absolute;width:60vw;height:60vw;max-width:820px;max-height:820px;border-radius:50%;filter:blur(90px);mix-blend-mode:screen;opacity:.5;will-change:transform;animation:f5-aurora-drift 26s var(--ease-glide) infinite}
.aurora .b1{top:-14%;left:-8%;background:radial-gradient(circle,rgba(143,182,201,.55),transparent 66%);animation-delay:0s}
.aurora .b2{top:8%;right:-12%;background:radial-gradient(circle,rgba(156,207,216,.45),transparent 66%);animation-delay:-8s}
.aurora .b3{bottom:-18%;left:22%;background:radial-gradient(circle,rgba(163,205,180,.4),transparent 66%);animation-delay:-15s}
.aurora .grain{position:absolute;inset:0;background:url("/assets/grain.png");background-size:220px;opacity:.05;mix-blend-mode:overlay}
.aurora.soft .blob{opacity:.4}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:background var(--t-med) var(--ease-glide),border-color var(--t-med) var(--ease-glide),backdrop-filter var(--t-med) var(--ease-glide)}
.nav.scrolled,.nav.solid{background:var(--surface-glass);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border-bottom:1px solid var(--line-1)}
.navrow{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.brand{display:inline-flex;align-items:baseline;gap:9px;color:var(--text-1)}
.brand:hover{color:var(--text-1)}
.brand-word{font-family:var(--font-accent);font-style:italic;font-weight:400;font-size:27px;line-height:1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-sub{font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--iris-bright)}
.brand-mark{width:24px;height:24px}
.navlinks{display:flex;align-items:center;gap:26px}
.navlink{font-size:14px;color:var(--text-2);font-weight:500;white-space:nowrap}
.navlink:hover,.navlink[aria-current="page"]{color:var(--text-1)}
.navhome{display:inline-flex;align-items:center;padding:2px}
.navhome svg{width:18px;height:18px;display:block}
.navcta{display:flex;align-items:center;gap:12px}
.navtoggle{display:none;width:42px;height:42px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface-glass);color:var(--text-1);cursor:pointer;align-items:center;justify-content:center}
.navtoggle svg{width:20px;height:20px}
/* mobile menu */
.mnav{position:fixed;inset:0;z-index:59;background:rgba(8,7,13,.86);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:none;flex-direction:column;padding:96px 32px 40px;gap:6px;overflow-y:auto}
.mnav.open{display:flex}
.mnav a{font-family:var(--font-display);font-size:26px;font-weight:600;color:var(--text-1);padding:12px 0;border-bottom:1px solid var(--line-1);letter-spacing:-.02em}
.mnav a:hover{color:var(--iris-bright)}
.mnav .mcta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;border:0}

/* button */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;border:1px solid transparent;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;text-decoration:none;transition:transform var(--t-fast) var(--ease-glide),box-shadow var(--t-med) var(--ease-glide),background var(--t-fast) var(--ease-glide),border-color var(--t-fast) var(--ease-glide),color var(--t-fast) var(--ease-glide)}
.btn:active{transform:translateY(1px)}
.btn-sm{height:34px;padding:0 16px;font-size:13px}
.btn-md{height:42px;padding:0 20px;font-size:14px}
.btn-lg{height:52px;padding:0 28px;font-size:15px}
.btn-aurora{background:var(--grad-aurora);color:#0d0c15;box-shadow:var(--glow-iris)}
.btn-aurora:hover{color:#0d0c15;box-shadow:var(--glow-iris),0 6px 26px rgba(143,182,201,.32);transform:translateY(-1px)}
.btn-primary{background:var(--iris);color:var(--text-inverse)}
.btn-primary:hover{background:var(--iris-bright);color:var(--text-inverse);transform:translateY(-1px)}
.btn-secondary{background:var(--surface-glass);border-color:var(--line-2);color:var(--text-1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.btn-secondary:hover{color:var(--text-1);border-color:rgba(244,242,252,.3);background:rgba(27,24,41,.7)}
.btn-ghost{background:transparent;color:var(--iris-bright);padding-left:8px;padding-right:8px}
.btn-ghost:hover{color:var(--text-1)}
.btn-block{width:100%}

/* badge / pill */
.badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:var(--r-pill);background:var(--surface-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:var(--text-1)}
.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.badge.t-iris{color:var(--iris-bright)}
.badge.t-cyan{color:var(--cyan)}
.badge.t-mint{color:var(--mint)}
.badge.t-peach{color:var(--peach)}

/* home hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:132px 0 76px;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,7,13,.6) 0%,rgba(8,7,13,.2) 34%,rgba(8,7,13,.74) 82%,var(--bg-0) 100%)}
.hero-aurora{position:absolute;inset:0;z-index:1;opacity:.5;pointer-events:none}
.hero-in{position:relative;z-index:3;width:100%}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.hero-sub{font-size:20px;color:var(--text-1);opacity:.92;max-width:620px;margin:26px 0 0;text-shadow:0 1px 30px rgba(8,7,13,.6)}
.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-note{margin-top:22px;font-size:12.5px;color:var(--text-3);max-width:560px}

/* interior page hero (subpages) */
.phero{position:relative;min-height:90vh;display:flex;align-items:flex-end;padding:170px 0 64px;overflow:hidden;border-bottom:1px solid var(--line-1)}
.phero-media{position:absolute;inset:0;z-index:0}
.phero-media img{width:100%;height:100%;object-fit:cover;opacity:.9}
.phero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,13,.4) 0%,rgba(8,7,13,.28) 38%,rgba(8,7,13,.72) 82%,var(--bg-0));z-index:1}
.phero-in{position:relative;z-index:2;width:100%}
.phero .lede{margin-top:20px;color:var(--text-1);opacity:.94;text-shadow:0 1px 24px rgba(8,7,13,.6)}
.phero .crumbs{color:rgba(244,242,252,.7)}
.phero .crumbs a{color:rgba(244,242,252,.7)}

/* breadcrumb */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:22px}
.crumbs a{color:var(--text-3)}
.crumbs a:hover{color:var(--text-1)}
.crumbs .sep{opacity:.5}

/* marquee */
.mq{border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1);padding:22px 0;background:var(--bg-1);overflow:hidden;position:relative;z-index:2}
.mq-track{display:inline-flex;white-space:nowrap;animation:mq-scroll 42s linear infinite}
.mq-item{display:inline-flex;align-items:center;gap:34px;padding-right:34px;font-family:var(--font-display);font-weight:500;font-size:22px;color:var(--text-2);letter-spacing:-.01em}
.mq-star{color:var(--iris)}
@keyframes mq-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* credibility trio */
.cred{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px;padding-top:30px;border-top:1px solid var(--line-1)}
.cred-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--iris-bright)}
.cred-v{font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.01em;margin-top:8px;color:var(--text-1)}

/* services grid */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.spotlight{position:relative;border:1px solid var(--line-1);border-radius:var(--r-lg);background:var(--surface-card);box-shadow:var(--edge-light);overflow:hidden;transition:transform var(--t-med) var(--ease-glide),border-color var(--t-med) var(--ease-glide),box-shadow var(--t-med) var(--ease-glide)}
.spotlight::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity var(--t-med) var(--ease-glide);background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%),var(--spot,rgba(143,182,201,.18)),transparent 60%);pointer-events:none}
.spotlight:hover{transform:translateY(-3px);border-color:var(--line-2);box-shadow:var(--shadow-2),var(--edge-light)}
.spotlight:hover::before{opacity:1}
.spot-iris{--spot:rgba(168,154,214,.20)}
.spot-cyan{--spot:rgba(156,207,216,.20)}
.spot-mint{--spot:rgba(163,205,180,.20)}
.spot-peach{--spot:rgba(236,201,160,.20)}
/* service card */
.svc{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:32px}
.svc-num{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--iris-bright)}
.svc-name{font-family:var(--font-display);font-weight:600;font-size:24px;letter-spacing:-.02em;margin:14px 0 12px}
.svc-body{color:var(--text-2);font-size:15px;margin:0 0 22px}
.svc-foot{margin-top:auto}

/* generic content card */
.card{position:relative;border:1px solid var(--line-1);border-radius:var(--r-lg);background:var(--surface-card);box-shadow:var(--edge-light);padding:30px}
.card h3{margin-bottom:10px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;counter-reset:step}
.step{position:relative;padding:28px;border:1px solid var(--line-1);border-radius:var(--r-lg);background:var(--surface-card);box-shadow:var(--edge-light)}
.step-n{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--iris-bright)}
.step h3{font-size:19px;margin:12px 0 8px}
.step p{color:var(--text-2);font-size:14px;margin:0}

/* feature list */
.flist{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.flist li{display:flex;gap:14px;align-items:flex-start;color:var(--text-2);font-size:15.5px}
.flist li::before{content:"✳";color:var(--iris-bright);flex:none;font-size:13px;line-height:1.5}
.flist.tight li{font-size:15px}

/* article / prose */
.prose{max-width:760px}
.prose h2{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;line-height:1.14;margin:48px 0 16px}
.prose h3{font-family:var(--font-display);font-weight:600;font-size:21px;letter-spacing:-.01em;margin:34px 0 12px;color:var(--text-1)}
.prose p{color:var(--text-2);font-size:17px;margin:0 0 18px}
.prose ul,.prose ol{color:var(--text-2);font-size:17px;padding-left:22px;margin:0 0 18px}
.prose li{margin:0 0 9px}
.prose strong{color:var(--text-1);font-weight:600}
.prose a{color:var(--iris-bright);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(188,175,232,.4)}
.prose a:hover{text-decoration-color:currentColor}
.prose .lede{font-size:20px;color:var(--text-1);opacity:.94;margin-bottom:24px}

/* answer / summary block */
.answer{border:1px solid rgba(143,182,201,.35);background:var(--iris-tint);border-radius:var(--r-lg);padding:24px 28px;margin:0 0 28px}
.answer .eyebrow{margin-bottom:8px;display:block}
.answer p{margin:0;color:var(--text-1);font-size:17px}

/* note / disclaimer */
.note{border:1px solid var(--line-2);border-radius:var(--r-md);padding:18px 22px;background:var(--bg-1);color:var(--text-2);font-size:14.5px;margin:24px 0}
.note strong{color:var(--text-1)}

/* table */
.table-wrap{overflow-x:auto;border:1px solid var(--line-1);border-radius:var(--r-lg);margin:24px 0}
table.data{width:100%;border-collapse:collapse;min-width:520px;font-size:15px}
table.data th,table.data td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line-1)}
table.data th{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--iris-bright);background:var(--bg-1)}
table.data td{color:var(--text-2)}
table.data tr:last-child td{border-bottom:0}

/* FAQ */
.faq{border-top:1px solid var(--line-1)}
.faq details{border-bottom:1px solid var(--line-1)}
.faq summary{cursor:pointer;list-style:none;padding:22px 0;font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--text-1);display:flex;justify-content:space-between;gap:20px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--iris-bright);font-weight:400;font-size:24px;line-height:1;transition:transform var(--t-fast) var(--ease-glide)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--text-2);font-size:16px;margin:0 0 22px;max-width:720px}

/* destination / insight tiles */
.grid-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tile{position:relative;display:block;aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-1)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--t-epic) var(--ease-glide)}
.tile:hover img{transform:scale(1.06)}
.tile-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,13,0) 40%,rgba(8,7,13,.86) 100%)}
.tile-cap{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}
.tile-name{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.02em;margin:0;color:var(--text-1)}
.tile-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin-top:6px}
.tile-wide{aspect-ratio:16/10}

/* insight cards */
.ipost{display:flex;flex-direction:column;border:1px solid var(--line-1);border-radius:var(--r-lg);background:var(--surface-card);box-shadow:var(--edge-light);padding:28px;height:100%;overflow:hidden;transition:transform var(--t-med) var(--ease-glide),border-color var(--t-med) var(--ease-glide)}
.ipost-media{margin:-28px -28px 22px;height:184px;overflow:hidden}
.ipost-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-epic) var(--ease-glide)}
.ipost:hover .ipost-media img{transform:scale(1.05)}
/* article banner (moderate, not full-page) */
.article-img{aspect-ratio:16/7;border-radius:var(--r-lg);overflow:hidden;margin:4px 0 30px;border:1px solid var(--line-1)}
.article-img img{width:100%;height:100%;object-fit:cover}
.ipost:hover{transform:translateY(-3px);border-color:var(--line-2)}
.ipost .cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--iris-bright)}
.ipost h3{font-size:21px;margin:12px 0 10px;color:var(--text-1)}
.ipost p{color:var(--text-2);font-size:15px;margin:0 0 18px}
.ipost .read{margin-top:auto;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--iris-bright)}

/* enquiry / forms */
.enq{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.enq-side{display:flex;flex-direction:column;gap:24px}
.enq-line{display:flex;gap:16px;align-items:flex-start}
.enq-ico{width:38px;height:38px;flex:none;border-radius:12px;background:var(--iris-tint);border:1px solid rgba(143,182,201,.3);display:flex;align-items:center;justify-content:center;color:var(--iris-bright);font-family:var(--font-mono);font-size:15px}
.enq-k{font-weight:600;font-size:15px;color:var(--text-1)}
.enq-v{font-size:14px;color:var(--text-2);margin-top:2px}
.enq-v a{color:var(--text-2)}
.enq-v a:hover{color:var(--text-1)}
.field-lb{font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;display:block}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:transparent;color:var(--text-2);cursor:pointer;transition:all var(--t-fast) var(--ease-glide)}
.chip:hover{color:var(--text-1);border-color:rgba(244,242,252,.28)}
.chip.on{background:var(--iris-tint);border-color:rgba(143,182,201,.45);color:var(--iris-bright)}
.form-grid{display:grid;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gi{position:relative}
.gi input,.gi select{width:100%;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px 18px 10px;font:500 15px var(--font-body);color:var(--text-1);outline:none;transition:border-color .3s,box-shadow .45s var(--ease-glide);appearance:none}
.gi select{color:var(--text-1)}
.gi input:focus,.gi select:focus{border-color:color-mix(in srgb,var(--iris) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--iris) 14%,transparent)}
.gi label{position:absolute;left:19px;top:20px;font:500 15px var(--font-body);color:var(--text-3);pointer-events:none;transition:all var(--t-fast) var(--ease-glide)}
.gi input:focus+label,.gi input:not(:placeholder-shown)+label,.gi.filled label{top:9px;font-size:10.5px;font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--iris-bright)}
.gi.static-lb label{position:static;display:block;margin-bottom:8px;color:var(--text-3);font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.gi.static-lb select{padding:15px 18px}
.gi .sel-arrow{position:absolute;right:18px;bottom:16px;pointer-events:none;color:var(--text-3)}
.ta{width:100%;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px 18px;font:500 14px var(--font-body);color:var(--text-1);resize:vertical;min-height:112px;outline:none;transition:border-color .3s,box-shadow .45s var(--ease-glide)}
.ta:focus{border-color:color-mix(in srgb,var(--iris) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--iris) 14%,transparent)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--text-2)}
.consent input{margin-top:3px;accent-color:var(--iris)}
.consent a{color:var(--iris-bright)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err-msg{color:var(--bad);font-size:13px;margin-top:8px}
.confirm{padding:44px;border-radius:var(--r-lg);background:var(--surface-card);border:1px solid rgba(143,182,201,.4);box-shadow:var(--glow-iris),var(--edge-light);text-align:center}
.confirm-mark{width:56px;height:56px;margin:0 auto 20px;border-radius:50%;background:var(--iris-tint);border:1px solid rgba(143,182,201,.4);display:flex;align-items:center;justify-content:center;color:var(--iris-bright);font-size:26px}
.confirm .ref{font-family:var(--font-mono);font-size:14px;color:var(--iris-bright);letter-spacing:.06em;margin-top:6px}
.hidden{display:none !important}
/* multi-step */
.stepbar{display:flex;gap:8px;margin-bottom:30px}
.stepbar span{flex:1;height:4px;border-radius:2px;background:var(--line-2);transition:background var(--t-med) var(--ease-glide)}
.stepbar span.on{background:var(--grad-aurora)}
.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:8px}
.qtype{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.qtype button{text-align:left;padding:20px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface-card);color:var(--text-1);cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:17px;transition:all var(--t-fast) var(--ease-glide)}
.qtype button:hover{border-color:rgba(143,182,201,.5);transform:translateY(-2px)}
.qtype button.on{border-color:rgba(143,182,201,.7);background:var(--iris-tint);box-shadow:var(--glow-iris)}
.qtype button small{display:block;font-family:var(--font-body);font-weight:400;font-size:13px;color:var(--text-2);margin-top:5px}

/* stats-ish band wrapper reused */
.band{background:var(--bg-1);border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1);position:relative;z-index:2}

/* footer */
.foot{border-top:1px solid var(--line-1);padding:64px 0 40px;position:relative;z-index:2}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:52px}
.foot-h{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-3);margin-bottom:18px}
.foot-list{display:flex;flex-direction:column;gap:11px}
.foot-list a{color:var(--text-2);font-size:14px}
.foot-list a:hover{color:var(--text-1)}
.foot-desc{color:var(--text-2);font-size:14px;max-width:320px;margin:16px 0 0}
.foot-bot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:28px;border-top:1px solid var(--line-1);font-family:var(--font-mono);font-size:12px;color:var(--text-3);flex-wrap:wrap}
.foot-bot a{color:var(--text-3)}
.foot-bot a:hover{color:var(--text-1)}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-glide),transform .8s var(--ease-glide)}
.reveal.in{opacity:1;transform:none}
.rvg>*{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease-glide),transform .7s var(--ease-glide)}
.rvg.in>*{opacity:1;transform:none}
.rvg.in>*:nth-child(2){transition-delay:.08s}
.rvg.in>*:nth-child(3){transition-delay:.16s}
.rvg.in>*:nth-child(4){transition-delay:.24s}
.rvg.in>*:nth-child(5){transition-delay:.32s}
.rvg.in>*:nth-child(6){transition-delay:.4s}

/* video hero */
.hero-media video{width:100%;height:100%;object-fit:cover}

/* full-bleed showcase band (big image, minimal text) */
.showcase{position:relative;min-height:clamp(440px,64vh,680px);display:flex;align-items:flex-end;overflow:hidden}
.showcase>img,.showcase>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.showcase-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,13,.2),rgba(8,7,13,.35) 55%,rgba(8,7,13,.82))}
.showcase-in{position:relative;z-index:2;width:100%;padding:60px 0}
.showcase h2{font-size:clamp(30px,4vw,56px)}
.showcase .lede{color:var(--text-1);opacity:.94}

/* feature split — image beside short text */
.feature{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;border:1px solid var(--line-1);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-card);box-shadow:var(--edge-light)}
.feature.rev .feature-media{order:2}
.feature-media{position:relative;min-height:360px;overflow:hidden}
.feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--t-epic) var(--ease-glide)}
.feature:hover .feature-media img{transform:scale(1.05)}
.feature-body{padding:clamp(32px,4vw,52px);display:flex;flex-direction:column;justify-content:center}
.feature-body .lede{margin-top:14px}

/* big destination tiles */
.grid-dest2{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:18px}
.grid-dest2 .tile{aspect-ratio:4/5}
.grid-dest2 .tile.tall{grid-row:span 2;aspect-ratio:auto}
.grid-dest2 .tile.wide{grid-column:span 2;aspect-ratio:16/9}
.grid-dest2 .tile-name{font-size:26px}

/* credibility slim band */
.credband{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-1);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-card);box-shadow:var(--edge-light)}
.credband>div{padding:26px 30px;border-right:1px solid var(--line-1)}
.credband>div:last-child{border-right:0}

@media (max-width:920px){
  .feature,.feature.rev{grid-template-columns:1fr}
  .feature.rev .feature-media{order:0}
  .feature-media{min-height:260px}
  .grid-dest2{grid-template-columns:1fr}
  .grid-dest2 .tile,.grid-dest2 .tile.tall,.grid-dest2 .tile.wide{grid-row:auto;grid-column:auto;aspect-ratio:16/10}
  .credband{grid-template-columns:1fr}
  .credband>div{border-right:0;border-bottom:1px solid var(--line-1)}
  .credband>div:last-child{border-bottom:0}
}
@media (prefers-reduced-motion:reduce){.reveal,.rvg>*{opacity:1;transform:none}.aurora .blob,.mq-track{animation:none}html{scroll-behavior:auto}}
@media (max-width:920px){
  .navlinks{display:none}
  .navcta .btn-secondary{display:none}
  .navtoggle{display:inline-flex}
  .grid-2,.grid-3,.grid-tiles,.steps,.enq,.form-row,.foot-top,.cred,.qtype{grid-template-columns:1fr}
  .sec{padding:80px 0}
  .cred{gap:26px}
  .tile,.tile-wide{aspect-ratio:16/10}
}
@media (max-width:520px){
  .wrap,.wrap-narrow{padding:0 20px}
  .hero-btns .btn{flex:1}
}
