/* ===== RESET ===== */
*,
*::before,
*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
ul[role='list'],ol[role='list']{list-style:none;padding:0;margin:0}
img,picture,svg{max-width:100%;display:block}
input,button,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
:root{
  --bg:#0b0f13;
  --panel:#121922;
  --panel-2:#18212b;
  --panel-3:#22303d;
  --surface:#f5f3ef;
  --surface-2:#ece8e1;
  --text:#eef3f7;
  --text-soft:#bfd0dd;
  --text-dark:#16202a;
  --muted:#8293a3;
  --line:rgba(255,255,255,.12);
  --line-dark:rgba(13,18,23,.1);
  --accent:#ff723d;
  --accent-2:#d64f1c;
  --accent-soft:#ffd7c8;
  --success:#3fb980;
  --warning:#f5a623;
  --danger:#d54f4f;
  --shadow:0 10px 30px rgba(0,0,0,.28);
  --shadow-soft:0 8px 20px rgba(0,0,0,.12);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;
  --radius-xl:34px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-7:32px;
  --space-8:40px;
  --space-9:48px;
  --space-10:64px;
  --space-11:80px;
  --space-12:96px;
  --container:1180px;
  --header-h:76px;
  --hero-h:min(78vh,760px);
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "Arial Narrow", "Segoe UI", Inter, sans-serif;
}
html{background:var(--bg);color:var(--text)}
body{
  font-family:var(--font-sans);
  background:linear-gradient(180deg,#081015 0%, #0f161d 40%, #0f1419 100%);
  color:var(--text);
  line-height:1.6;
  font-size:1rem;
}
body.body-light{background:var(--surface);color:var(--text-dark)}
main{display:block}
.container{width:min(calc(100% - 32px), var(--container));margin-inline:auto}
.container-wide{width:min(calc(100% - 32px), 1360px);margin-inline:auto}
.section{padding-block:var(--space-11)}
.section-sm{padding-block:var(--space-9)}
.section-lg{padding-block:clamp(72px,10vw,140px)}
.surface{background:var(--surface);color:var(--text-dark)}
.surface-alt{background:var(--surface-2);color:var(--text-dark)}
.panel{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid var(--line);backdrop-filter:blur(12px)}
.panel-light{background:#fff;border:1px solid rgba(22,32,42,.08);box-shadow:var(--shadow-soft)}
.flow > * + *{margin-top:var(--space-5)}
.grid{display:grid;gap:var(--space-7)}
.grid-2{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(1,minmax(0,1fr))}
.span-2{grid-column:span 2}
@media (min-width:760px){
  .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1040px){
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  line-height:1.12;
  letter-spacing:-.03em;
}
h1{font-size:clamp(2.3rem,5vw,4.9rem)}
h2{font-size:clamp(1.8rem,3.2vw,3rem)}
h3{font-size:clamp(1.25rem,2vw,1.65rem)}
h4{font-size:1.05rem}
p,li{max-width:72ch}
.small{font-size:.92rem}
.tiny{font-size:.82rem}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:.45rem .9rem;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  color:var(--accent-soft);font-weight:700;font-size:.88rem;text-transform:uppercase;letter-spacing:.08em;
}
.surface .eyebrow,.surface-alt .eyebrow{
  background:rgba(255,114,61,.08);
  border-color:rgba(255,114,61,.18);
  color:var(--accent-2);
}
.lead{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--text-soft);max-width:68ch}
.surface .lead,.surface-alt .lead{color:#44515c}
.accent{color:var(--accent)}
.text-soft{color:var(--text-soft)}
.text-muted{color:var(--muted)}
.text-dark{color:var(--text-dark)}
.text-center{text-align:center}
.mt-2{margin-top:var(--space-2)}
.mt-3{margin-top:var(--space-3)}
.mt-4{margin-top:var(--space-4)}
.mt-5{margin-top:var(--space-5)}
.mt-6{margin-top:var(--space-6)}
.mt-7{margin-top:var(--space-7)}
.mt-8{margin-top:var(--space-8)}
.mb-0{margin-bottom:0}
.list-clean{list-style:none;padding:0;margin:0}
.list-check{list-style:none;padding:0}
.list-check li{position:relative;padding-left:1.9rem;margin-top:.8rem}
.list-check li::before{
  content:"✓";
  position:absolute;left:0;top:0;
  color:var(--accent);font-weight:800
}
.skip-link{
  position:absolute;left:16px;top:-48px;z-index:10000;
  background:#fff;color:#000;padding:.8rem 1rem;border-radius:12px;transition:top .2s ease
}
.skip-link:focus{top:16px}

/* ===== TOP BAR / HEADER ===== */
.topbar{
  position:sticky;top:0;z-index:60;
  background:linear-gradient(90deg,var(--accent),#ff8f63);
  color:#fff;border-bottom:1px solid rgba(255,255,255,.18)
}
.topbar-inner{
  min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;
  text-align:center;font-weight:700;font-size:.93rem;padding:0 46px 0 0;position:relative
}
.topbar button{
  position:absolute;right:0;top:50%;transform:translateY(-50%);
  border:0;background:transparent;color:#fff;padding:10px;border-radius:999px
}
.site-header{
  position:sticky;top:44px;z-index:55;
  background:rgba(8,12,16,.84);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)
}
.site-header[data-topbar-hidden="true"]{top:0}
.nav{
  min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:24px
}
.brand{
  display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:-.02em;font-size:1.04rem
}
.brand-mark{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,var(--accent),#ff9a73);
  box-shadow:0 10px 18px rgba(255,114,61,.28);
  color:#fff;font-weight:900
}
.brand-stack{display:flex;flex-direction:column;line-height:1.05}
.brand-stack small{font-weight:600;color:var(--text-soft);font-size:.74rem;letter-spacing:.03em}
.desktop-nav{display:none;align-items:center;gap:18px}
.desktop-nav a{padding:.55rem .8rem;border-radius:999px;color:var(--text-soft);font-weight:600}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{background:rgba(255,255,255,.08);color:#fff}
.nav-cta{display:none}
.menu-toggle{
  width:46px;height:46px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff
}
.mobile-panel{
  position:fixed;inset:0 0 0 auto;width:min(88vw,380px);z-index:70;
  background:#0e141b;transform:translateX(102%);transition:transform .32s ease;
  border-left:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:18px
}
.mobile-panel.is-open{transform:none}
.mobile-panel a,.mobile-panel button.linkish{
  color:#fff;padding:14px 0;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:none;text-align:left
}
.mobile-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:65
}
.mobile-overlay.is-open{opacity:1;pointer-events:auto}
@media (min-width:980px){
  .desktop-nav,.nav-cta{display:flex}
  .menu-toggle{display:none}
}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 18px;border-radius:999px;border:1px solid transparent;
  font-weight:700;transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease
}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,.menu-toggle:focus-visible,.topbar button:focus-visible,.faq-toggle:focus-visible,
summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{
  outline:3px solid rgba(255,114,61,.4);
  outline-offset:2px
}
.btn-primary{
  background:linear-gradient(180deg,#ff854f,#ff723d);color:#fff;
  box-shadow:0 12px 24px rgba(255,114,61,.28)
}
.btn-primary:hover{background:linear-gradient(180deg,#ff9160,#ff7844)}
.btn-secondary{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.22)
}
.surface .btn-secondary,.surface-alt .btn-secondary{color:var(--text-dark);border-color:rgba(22,32,42,.15)}
.btn-ghost{padding:0;min-height:auto;border:0;background:none;color:var(--accent)}
.btn-wide{width:100%}
.btn-floating{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:52;
  display:none
}
.btn-floating.is-visible{display:flex}
@media (min-width:980px){
  .btn-floating{display:none!important}
}

/* ===== HERO ===== */
.hero{
  position:relative;min-height:var(--hero-h);display:flex;align-items:flex-end;
  border-bottom:1px solid var(--line)
}
.hero-media{
  position:absolute;inset:0;overflow:hidden
}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(8,12,16,.15) 0%, rgba(8,12,16,.35) 45%, rgba(8,12,16,.94) 100%),
    radial-gradient(circle at 70% 10%, rgba(255,114,61,.22), transparent 28%)
}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 34%}
.hero-inner{
  position:relative;z-index:2;padding:clamp(92px,10vw,140px) 0 52px
}
.hero-grid{display:grid;gap:26px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-pills{display:flex;flex-wrap:wrap;gap:10px}
.pill{
  display:inline-flex;align-items:center;gap:8px;padding:.7rem 1rem;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:700
}
.hero-card{
  width:min(100%,430px);margin-top:18px;padding:22px;border-radius:24px
}
.hero-card strong{font-size:1.1rem}
@media (min-width:920px){
  .hero-grid{grid-template-columns:1.4fr .8fr;align-items:end}
}

/* ===== TRUST / CARDS / FEATURES ===== */
.trustbar{padding:18px 0;background:rgba(255,255,255,.04);border-block:1px solid var(--line)}
.trust-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.trust-item{
  padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);font-weight:700;text-align:center
}
@media(min-width:760px){
  .trust-list{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.card{
  border-radius:24px;padding:24px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)
}
.card-light{
  border-radius:24px;padding:24px;background:#fff;border:1px solid rgba(22,32,42,.08);box-shadow:var(--shadow-soft)
}
.feature-card h3,.team-card h3,.testimonial-card h3,.price-card h3,.blog-card h3{margin-bottom:8px}
.feature-icon{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  background:rgba(255,114,61,.12);color:var(--accent);font-size:1.4rem;margin-bottom:14px
}
.team-card img{border-radius:22px;aspect-ratio:1/1;object-fit:cover;margin-bottom:16px}
.badge{
  display:inline-flex;align-items:center;padding:.4rem .7rem;border-radius:999px;
  background:rgba(255,114,61,.12);color:var(--accent-2);font-weight:700;font-size:.82rem
}
.grade{background:rgba(255,255,255,.08);color:#fff}
.surface .grade,.surface-alt .grade{background:rgba(22,32,42,.08);color:#24323f}
.testimonial-card{position:relative}
.testimonial-card::before{
  content:"“";position:absolute;right:20px;top:4px;font-size:5rem;color:rgba(255,114,61,.16);line-height:1
}
.testimonial-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.stars{color:#f7c65c;font-size:1rem}
.price-card{
  position:relative;overflow:hidden
}
.price-card.featured{border-color:rgba(255,114,61,.35);box-shadow:0 20px 38px rgba(255,114,61,.18)}
.price-ribbon{
  position:absolute;right:-34px;top:18px;transform:rotate(28deg);
  background:var(--accent);color:#fff;font-size:.75rem;font-weight:800;padding:.45rem 2.8rem
}

/* ===== CONTENT ===== */
.content p + p{margin-top:1rem}
.content h2,.content h3,.content h4{margin-top:2.2rem;margin-bottom:1rem}
.content ul,.content ol{padding-left:1.2rem;margin-top:1rem}
.content li + li{margin-top:.45rem}
.highlight{
  border-left:4px solid var(--accent);padding:18px 20px;border-radius:0 18px 18px 0;
  background:rgba(255,114,61,.08)
}
.surface .highlight,.surface-alt .highlight{background:rgba(255,114,61,.08)}
.table-wrap{overflow:auto}
table{
  width:100%;border-collapse:collapse;margin-top:1rem;font-size:.95rem
}
th,td{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.12);text-align:left;vertical-align:top}
.surface th,.surface td,.surface-alt th,.surface-alt td{border-bottom:1px solid rgba(22,32,42,.08)}
th{font-size:.88rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-soft)}
.surface th,.surface-alt th{color:#6a7784}
.info-strip{
  display:grid;gap:18px;padding:24px;border-radius:26px;background:rgba(255,255,255,.04);border:1px solid var(--line)
}
@media(min-width:860px){
  .info-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.check-grid{display:grid;gap:18px}
@media(min-width:760px){
  .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.page-hero{
  position:relative;padding:120px 0 54px;border-bottom:1px solid var(--line)
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(8,12,16,.1) 0%, rgba(8,12,16,.72) 100%),
    radial-gradient(circle at 80% 10%, rgba(255,114,61,.14), transparent 24%)
}
.page-hero > .container{position:relative;z-index:1}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.92rem;color:var(--text-soft)}
.breadcrumbs a{color:var(--text-soft)}
.breadcrumbs span{opacity:.7}

/* ===== FAQ / ACCORDION ===== */
.faq-list{display:grid;gap:14px}
.faq-item{
  border-radius:22px;border:1px solid rgba(255,255,255,.1);overflow:hidden;background:rgba(255,255,255,.03)
}
.surface .faq-item,.surface-alt .faq-item{border-color:rgba(22,32,42,.08);background:#fff}
.faq-toggle,summary{
  list-style:none;width:100%;padding:18px 20px;background:none;border:0;text-align:left;
  font-weight:700;color:inherit;cursor:pointer
}
.faq-panel{padding:0 20px 18px 20px;color:var(--text-soft)}
.surface .faq-panel,.surface-alt .faq-panel{color:#4a5661}
details > summary::-webkit-details-marker{display:none}

/* ===== FORMS ===== */
.form-card{padding:24px;border-radius:28px}
.form-grid{display:grid;gap:16px}
@media(min-width:700px){.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
label{display:block;font-weight:700;margin-bottom:8px}
input,select,textarea{
  width:100%;min-height:50px;padding:14px 16px;border-radius:16px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff
}
.surface input,.surface textarea,.surface select,.surface-alt input,.surface-alt textarea,.surface-alt select{
  background:#fff;border-color:rgba(22,32,42,.12);color:var(--text-dark)
}
textarea{min-height:140px;resize:vertical}
.field-note{font-size:.88rem;color:var(--text-soft);margin-top:8px}
.surface .field-note,.surface-alt .field-note{color:#5f6c78}
.field-error{color:#ffb3a0;font-size:.9rem;display:none}
.form-row{display:grid;gap:10px}
.form-step{display:none}
.form-step.is-active{display:block}
.radio-stack,.check-stack{display:grid;gap:10px}
.radio-card,.check-row{
  border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 16px
}
.surface .radio-card,.surface .check-row,.surface-alt .radio-card,.surface-alt .check-row{
  border-color:rgba(22,32,42,.12)
}
.radio-card label,.check-row label{margin:0;font-weight:600}
.form-progress{
  display:flex;gap:8px;margin-bottom:16px
}
.form-progress span{
  height:8px;border-radius:999px;background:rgba(255,255,255,.1);flex:1
}
.form-progress span.is-active{background:var(--accent)}
.form-success,.form-fail{
  margin-top:16px;padding:14px 16px;border-radius:16px;display:none
}
.form-success{background:rgba(63,185,128,.14);color:#d8ffec}
.form-fail{background:rgba(213,79,79,.14);color:#ffd9d9}
.span-2{grid-column:1/-1}
.price-summary{display:grid;gap:8px;padding-left:18px;margin:0}
.minor-block{padding:18px;border-radius:20px;border:1px solid rgba(22,32,42,.12);background:rgba(255,255,255,.65)}
.rule-box{display:grid;gap:14px;padding:22px;border-radius:24px;border:1px solid rgba(22,32,42,.08);background:#fff}
.form-popup{position:fixed;inset:0;display:none;place-items:center;padding:16px;background:rgba(0,0,0,.56);backdrop-filter:blur(4px);z-index:95}
.form-popup.is-visible{display:grid}
.form-popup-card{width:min(100%,560px);padding:24px;border-radius:28px;background:#10161d;border:1px solid var(--line);box-shadow:var(--shadow)}
.surface .minor-block,.surface-alt .minor-block{background:#fff}

/* ===== BLOG ===== */
.blog-card img{aspect-ratio:16/9;border-radius:18px;object-fit:cover;margin-bottom:14px}
.blog-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.88rem}
.article-hero{
  padding:122px 0 50px;border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0))
}
.article-shell{display:grid;gap:28px}
@media(min-width:1024px){
  .article-shell{grid-template-columns:minmax(0,1fr) 320px}
}
.article-aside{
  position:sticky;top:130px;align-self:start;padding:22px;border-radius:24px
}

/* ===== FOOTER ===== */
.footer{
  padding:64px 0 28px;border-top:1px solid var(--line);background:#0a0f14
}
.footer-grid{display:grid;gap:22px}
.footer a{color:var(--text-soft)}
.footer a:hover{color:#fff}
.footer-legal{
  margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)
}
@media(min-width:860px){
  .footer-grid{grid-template-columns:1.2fr .8fr .8fr .9fr}
}

/* ===== COOKIE BANNER ===== */
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:80;
  display:none;padding:18px;border-radius:24px;box-shadow:var(--shadow)
}
.cookie-banner.is-visible{display:block}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cookie-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);
  display:none;place-items:center;z-index:85;padding:16px
}
.cookie-modal.is-visible{display:grid}
.cookie-modal-card{
  width:min(100%,640px);border-radius:28px;padding:24px;background:#10161d;border:1px solid var(--line)
}
.toggle{
  display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line)
}
.switch{
  width:54px;height:32px;background:#304150;border-radius:999px;position:relative;border:none
}
.switch::after{
  content:"";position:absolute;left:4px;top:4px;width:24px;height:24px;border-radius:50%;
  background:#fff;transition:transform .2s ease
}
.switch[aria-checked="true"]{background:var(--accent)}
.switch[aria-checked="true"]::after{transform:translateX(22px)}

/* ===== UTILS / REVEALS ===== */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0
}
.hidden{display:none!important}
.center-stack{display:grid;place-items:center}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease, transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}
.kicker{font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}
.separator{height:1px;background:rgba(255,255,255,.1);margin:20px 0}
.surface .separator,.surface-alt .separator{background:rgba(22,32,42,.08)}
.map-card{padding:24px;border-radius:28px}
.note{
  padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)
}
.surface .note,.surface-alt .note{background:#fff;border-color:rgba(22,32,42,.08)}
.hero-mini{display:flex;align-items:center;gap:12px;color:#fff}
.hero-mini strong{display:block}
.stat-grid{display:grid;gap:16px}
@media(min-width:760px){.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat{
  padding:20px;border-radius:22px;background:rgba(255,255,255,.04);border:1px solid var(--line)
}
.stat strong{display:block;font-size:1.85rem;line-height:1;color:#fff;margin-bottom:10px}
.surface .stat,.surface-alt .stat{background:#fff;border-color:rgba(22,32,42,.08)}
.surface .stat strong,.surface-alt .stat strong{color:var(--text-dark)}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* V2 — kinetic editorial. Original form layout hooks remain available. */
:root{--bg:#080a0e;--panel:#11141a;--panel-2:#181d26;--panel-3:#293241;--surface:#f7f8fa;--surface-2:#eaedf2;--text:#f9fafc;--text-soft:#aeb6c5;--text-dark:#10131a;--muted:#667084;--accent:#4160ff;--accent-2:#3046c0;--accent-soft:#b6c2ff;--line:#ffffff24;--line-dark:#10131a22;--font-sans:'Segoe UI',Arial,sans-serif;--font-display:'Arial Black','Bahnschrift','Segoe UI',sans-serif;--radius-sm:0;--radius-md:2px;--radius-lg:3px;--radius-xl:4px;--shadow:none;--shadow-soft:none;--container:1440px;--header-h:84px}
html{scroll-padding-top:105px}body{padding-bottom:38px;font-size:1rem;overflow-x:clip}body.body-light{background:#f7f8fa;color:#10131a}.container{width:min(var(--container),calc(100% - 96px))}.section{padding-block:110px}.flow>*+*{margin-top:24px}h1,h2,h3{font-weight:800;letter-spacing:-.055em}h2{font-size:clamp(2rem,3.6vw,3.6rem);line-height:1.13;max-width:25ch}h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.035em}p{line-height:1.75}.lead{font-size:1.15rem;line-height:1.7}.prototype .eyebrow{background:none;border:0;border-radius:0;padding:0;font-size:.75rem;letter-spacing:.14em;font-weight:500;color:#8d9ffb}.eyebrow::before{display:none}.body-light .eyebrow,.surface .eyebrow,.surface-alt .eyebrow{color:#3348ba}.topbar{position:relative;background:#080a0e;border:0;color:#97a0b3}.topbar-inner{min-height:30px;font-size:.75rem;font-weight:400;letter-spacing:.015em}.topbar button{color:#aab5ca;padding:4px}.site-header,.site-header[data-topbar-hidden=true]{top:0;background:#080a0eef;backdrop-filter:blur(20px);border-bottom:1px solid #ffffff22;color:#fff;z-index:60}.nav{gap:22px}.brand{gap:12px}.brand-mark{background:#4160ff;color:#fff;border-radius:0;box-shadow:none;width:46px;height:46px;font-size:1.2rem;letter-spacing:-.12em;transform:skew(-7deg)}.brand-stack{gap:4px;white-space:nowrap}.brand-stack>span{font-size:1rem}.brand-stack small{font-size:.66rem;letter-spacing:.035em;color:#a6afc3}.desktop-nav{gap:4px}.desktop-nav a{font-size:.85rem;padding:12px 9px;font-weight:400;border-radius:0;background:none!important;color:#acb5c6;position:relative}.desktop-nav a[aria-current=page],.desktop-nav a:hover{color:#fff}.desktop-nav a::after{content:'';position:absolute;height:1px;bottom:5px;left:9px;right:9px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .35s}.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}.desktop-nav .nav-highlight{color:#b6c2ff!important}.nav-cta .btn{min-height:43px;padding:0 19px;font-size:.83rem;background:#fff;color:#111}.menu-toggle{border-radius:0;background:none;color:#fff;border-color:#ffffff44}.mobile-panel{background:#0c0f16;gap:3px;padding:28px;padding-bottom:70px;overflow-y:auto}.mobile-panel a{font-size:1.3rem}.mobile-panel .btn-primary{background:#4160ff}.btn{border-radius:0;box-shadow:none;font-weight:500;min-height:54px;padding:0 25px;gap:18px;font-size:.95rem;transition:background .25s,box-shadow .25s,transform .3s;position:relative}.btn-primary{background:#4160ff;color:#fff;box-shadow:none}.btn-primary:hover{background:#5270ff;box-shadow:0 8px 30px #4160ff44;transform:translateY(-3px)}.btn-secondary{border-color:#ffffff55;background:none;color:#fff}.btn-secondary:hover{background:#ffffff0e;border-color:#fff}.btn-ghost{color:#9eadff}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7188ff;outline-offset:4px}.surface .btn-secondary,.surface-alt .btn-secondary,.body-light main .btn-secondary,.intro-v2 .btn-secondary{color:#111a2e;border-color:#111a2e66}.btn-floating{bottom:53px}.hidden{display:none!important}
/* Opening: monumental typography + independently moving photographic and 3D planes. */
.hero-v2{isolation:isolate;overflow:hidden;min-height:790px;height:calc(100svh - 160px);max-height:1100px;position:relative;display:block;background:#080a0e;border-bottom:0}.hero-v2::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,#12224388,transparent 65%);pointer-events:none}.hero-grain{position:absolute;inset:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.22' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:7;pointer-events:none}.hero-content{height:100%;position:relative;padding-top:32px}.hero-topline{display:flex;justify-content:space-between;position:relative;z-index:5;font-size:.7rem;letter-spacing:.12em;color:#b9c2d4}.hero-heading{position:relative;z-index:4;margin-top:40px;pointer-events:none}.hero-v2 h1{font-family:'Impact','Arial Narrow',sans-serif;font-weight:400;font-size:clamp(7rem,14.5vw,14.5rem);line-height:.89;letter-spacing:-.035em;max-width:none;margin:0}.title-line{display:block;overflow:hidden;padding-bottom:.07em}.title-line>span{display:block;width:max-content;transform:translateY(0)}.title-outline{color:transparent;-webkit-text-stroke:1px #ffffffc9}.hero-art{position:absolute;inset:0 -48px 140px 39%;z-index:2;perspective:1400px;pointer-events:none}.art-photo{position:absolute;left:15%;right:0;top:28px;bottom:0;overflow:hidden;transform:perspective(1400px) rotateY(-15deg) rotateZ(-5deg) scale(.96);transform-origin:center;will-change:transform;border:1px solid #728db65c;clip-path:polygon(0 0,100% 0,100% 91%,91% 100%,0 100%)}.art-photo img{height:100%;width:100%;object-fit:cover;object-position:65% 30%;filter:grayscale(1) brightness(.76);transform:scale(1.1);will-change:transform}.art-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080a0e77,transparent 35%),linear-gradient(0deg,#080a0edd,transparent 40%);pointer-events:none}.art-glass{position:absolute;inset:25% 3% -2% 44%;border:1px solid #96b6ff59;transform:perspective(1000px) rotateY(-27deg) rotateZ(8deg);background:linear-gradient(135deg,#3a62ff19,transparent 40%)}.motion-canvas{position:absolute;inset:7% auto auto -18%;height:70%;width:78%;z-index:3;pointer-events:none;opacity:.94}.art-coordinate{position:absolute;right:38px;top:70px;z-index:6;writing-mode:vertical-rl;font-size:.67rem;letter-spacing:.2em;color:#b9c7e4}.art-credit{position:absolute;right:60px;bottom:65px;z-index:5;font-size:.63rem;color:#9aa8bf}.hero-foot{position:absolute;bottom:80px;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:end;z-index:5}.hero-intro p{font-size:1rem;line-height:1.65;max-width:29ch;margin-top:15px;color:#d8deea}.hero-booking{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.hero-booking .btn{min-height:62px;font-size:1rem;padding:0 30px;box-shadow:0 0 50px #3455ff27}.hero-link{font-size:.82rem;display:flex;gap:36px;align-items:center;border-bottom:1px solid #ffffff33;padding-bottom:7px}.hero-schedule{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.hero-schedule span{font-size:.68rem;letter-spacing:.12em;color:#a6b1c8}.hero-schedule strong{font-size:1.6rem;font-weight:500;letter-spacing:-.04em}.hero-controls{position:absolute;bottom:20px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;z-index:6;color:#a1afc8;font-size:.75rem}.scroll-invite{display:flex;align-items:center;gap:10px}.scroll-invite i{height:28px;width:1px;background:#7f99ed;display:inline-block;transform-origin:top;animation:scrollCue 1.8s ease-in-out infinite}.motion-toggle{background:none;border:0;color:#bbc6de;font:inherit;display:flex;gap:15px;align-items:center;padding:8px}.motion-toggle:hover,.motion-toggle[aria-pressed=true]{color:#fff}.intro-v2{background:#fff;color:#131a28}.intro-v2-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:start}.intro-v2 h2{font-size:clamp(3rem,5.2vw,5.1rem);margin-top:25px;line-height:1.05;letter-spacing:-.07em}.intro-v2 h2 span{color:#4160ff}.intro-v2 .lead{color:#27344c}.intro-v2 p{color:#6e788a}.intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-block:1px solid #10131a22;padding:28px 0;margin-bottom:28px}.intro-stats>span{display:flex;flex-direction:column;font-size:.75rem;gap:6px}.intro-stats strong{font-size:3rem;line-height:1.1;letter-spacing:-.055em;font-weight:600}.trustbar{padding:25px 0;background:#4160ff;border:0;overflow:hidden;color:white}.trust-list{display:flex;justify-content:space-between;gap:24px;white-space:nowrap}.trust-item{border:0;background:none;color:white;font-size:.82rem;letter-spacing:.06em;font-weight:400;border-radius:0;padding:0}.trust-item::before{content:'✳';font-size:1.2rem;margin-right:20px}.trust-list.marquee-ready{width:max-content;animation:marquee 25s linear infinite;justify-content:flex-start;gap:60px}.trust-list .marquee-copy{display:contents}
/* Editorial body: open numbered columns replace the old stack of rounded cards. */
.grid{gap:40px}.card,.panel{border-radius:2px;background:#10151f;border:1px solid #ffffff26;box-shadow:none;padding:35px;color:#f2f5fa}.card-light,.panel-light{border-radius:2px;background:#fff;border:1px solid #111a2e20;box-shadow:none;padding:35px;color:#111a2e}.surface,.surface-alt{background:#f5f7fa;color:#101723}.surface .lead,.surface-alt .lead,.surface .text-soft,.surface-alt .text-soft{color:#657187}.surface-alt .text-dark,.surface .text-dark{color:#101723}.page-home main>.section{border-bottom:1px solid #ffffff18}.page-home .feature-card{border:0;border-top:1px solid #16203566;background:transparent;padding:30px 0;border-radius:0}.feature-icon{width:auto;height:auto;display:block;color:#7182a6;background:none;font-size:3rem;font-weight:300;margin-bottom:40px;border-radius:0;letter-spacing:-.07em}.feature-card h3{font-size:1.6rem}.feature-card p{font-size:1rem;line-height:1.8}.feature-card{transition:transform .45s}.feature-card:hover{transform:translateY(-10px)}.info-strip{background:none;border-radius:0;border-block:1px solid #ffffff44;padding:40px 0;gap:35px}.info-strip>div{border-left:1px solid #ffffff22;padding-inline:24px}.info-strip>div:first-child{border:0;padding-left:0}.info-strip h3{font-size:2.5rem;font-weight:500}.list-check li::before{color:#667fff}.list-check li{margin-bottom:15px}.team-card{text-align:left;padding:30px 0;background:transparent;border:0;border-top:1px solid #101a2f44;position:relative}.team-card img{width:110px;height:110px;margin:0 0 22px;border-radius:50%;filter:grayscale(1);opacity:.7;transition:transform .6s}.team-card:hover img{transform:rotateY(20deg) scale(1.07)}.badge,.grade{border-radius:0;color:#4057c4;background:#e9edff;border:0;font-weight:500;font-size:.8rem;padding:7px 10px}.price-card{border-radius:2px;box-shadow:none;padding:35px 28px;border:1px solid #a5b1c8;background:#fff;transition:transform .4s}.price-card:hover{transform:translateY(-8px)}.price-card.featured{border:2px solid #4160ff;box-shadow:none}.ribbon{background:#4160ff}.quote-card{border:0;background:none;border-top:1px solid #ffffff44;border-radius:0;padding:30px 0}.quote-card::after{color:#6c83eb}.faq-item{border-radius:0;background:#fff;border:1px solid #c4ccda}.faq-toggle{padding:24px;font-weight:500;color:#18243c}.faq-toggle[aria-expanded=true]{color:#4160ff}.faq-panel{padding:0 24px 24px;color:#56637b}.faq-panel[hidden]{display:none}.page-hero{padding:60px 0 65px;background:#0b1020;color:#fff;border-bottom:1px solid #4160ff66;position:relative;overflow:hidden}.page-hero::before{background:radial-gradient(ellipse at right,#2241b84d,transparent 60%)}.page-hero::after{content:'';position:absolute;inset:-80% -20% -80% 60%;border:1px solid #8599f53d;transform:rotate(-30deg);pointer-events:none}.page-hero h1{font-size:clamp(2.8rem,5.4vw,5.3rem);line-height:1.05;max-width:24ch}.page-hero .eyebrow{color:#9cafff}.page-hero .lead{max-width:68ch;color:#b3bfd6;margin-top:20px}.breadcrumbs{font-size:.8rem;gap:12px;margin-bottom:30px}.page-inner main>.section:first-child{padding-top:75px}.page-inner .stat{background:#142044;color:white;border:1px solid #8c9cce33;border-radius:2px;padding:20px}.stat strong{color:#a1b2ff}.stat span{color:#d7e0f8}.source-note{background:#e9edfc;color:#243568;padding:48px 0}.source-note a{text-decoration:underline}.source-note h2{font-size:2.3rem}
/* Forms remain stationary and keep native validation and every original control. */
.form-card{border-radius:3px;padding:35px}.form-card h3{font-size:1.7rem}.form-grid{gap:20px}.form-grid>*{min-width:0}input,textarea,select{font:inherit;border:1px solid #a6b2c9;border-radius:1px;background:#fff;color:#172139;padding:13px 14px;min-height:49px;font-size:1rem}label{font-size:.9rem;font-weight:500;margin-bottom:9px}.field-note,.panel-light .text-soft{color:#64728a}.field-note{font-size:.85rem;line-height:1.6}.minor-block{background:#f6f8fd;border:1px solid #adb9d0;border-radius:0;padding:22px}.check-row,.radio-card{display:block;border:1px solid #c4cee0;border-radius:2px;padding:16px;background:#f9faff}.check-row label,.radio-card label{display:block;margin:0;font-size:.9rem;line-height:1.65;font-weight:500}.check-row input,.radio-card input{display:inline-block;width:18px;height:18px;min-height:0;margin:0 9px 2px 0;padding:0;vertical-align:middle;accent-color:#4160ff}.check-row a{text-decoration:underline}.radio-card:has(input:checked){background:#ebefff;border-color:#4160ff}.radio-card[aria-disabled=true]{opacity:.45}.form-success{background:#e9f4ec;color:#285538;border-radius:2px}.form-fail{background:#fff0f0;color:#973b3b;border-radius:2px}.rule-box{border-radius:0;border-color:#bcc6d8}.note{background:#ecf0ff;border:1px solid #8095d3;color:#263664;border-radius:2px}.form-popup-card{background:#111a2c;color:#fff;border-radius:3px}.footer{background:#080a0e;color:#fff;padding:75px 0 35px}.footer h3{font-size:1rem;color:white;margin-bottom:24px}.footer p,.footer a{font-size:.85rem;color:#a5b0c6}.footer .badge{background:#1b2544;color:#a9baff}.footer-legal{font-size:.75rem;color:#8997b0;padding-bottom:20px}.cookie-banner{max-width:420px;width:calc(100% - 40px);left:20px;bottom:56px;background:#121b2e;border:1px solid #788bb6;padding:25px;box-shadow:0 25px 90px #0006;z-index:85}.cookie-banner strong{font-size:1rem}.cookie-banner .small{font-size:.85rem}.cookie-actions{gap:8px}.cookie-actions .btn{font-size:.8rem;min-height:42px;padding:0 13px}.cookie-modal-card{background:#111a2c;color:#fff;border-radius:3px}.switch[aria-checked=true]{background:#4160ff}.demo-dock{position:fixed;bottom:0;inset-inline:0;height:36px;z-index:80;background:#11182af5;color:#a3b4dc;border-top:1px solid #859cd744;display:flex;justify-content:center;align-items:center;gap:24px;font-size:.65rem;letter-spacing:.06em;backdrop-filter:blur(14px)}.demo-dock button{font:inherit;letter-spacing:0;color:#e3eaff;background:none;border:0;border-bottom:1px solid #6a7daf;padding:2px 0}.test-dialog{width:min(650px,calc(100% - 28px));max-height:85svh;overflow:auto;background:#f7f9ff;color:#172340;border:1px solid #7a92c9;border-radius:3px;padding:28px;box-shadow:0 30px 100px #0007}.test-dialog::backdrop{background:#040918c9;backdrop-filter:blur(12px)}.test-dialog h2{font-size:1.9rem}.test-dialog p{font-size:.9rem}.test-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.test-dialog .btn-secondary{color:#253663;border-color:#6375a4}.test-dialog select{width:100%;margin:10px 0}.test-status{white-space:pre-wrap;padding:14px;background:#e9eefc;border:1px solid #9baccf;font-size:.82rem;line-height:1.7;margin-top:20px}.text-muted{color:#63718b}.reveal{opacity:1;transform:none}
/* Motion is enabled only after successful JS initialization. */
.motion-ready .hero-heading .title-line>span{animation:titleEnter 1.15s cubic-bezier(.18,.7,.1,1) both}.motion-ready .hero-heading .title-line:nth-child(2)>span{animation-delay:.15s}.motion-ready .art-photo{animation:photoEnter 1.6s cubic-bezier(.14,.7,.1,1) both}.motion-ready [data-motion-reveal]{opacity:0;transform:translateY(55px);transition:opacity .8s ease,transform .95s cubic-bezier(.16,.75,.18,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready [data-motion-reveal].motion-visible{opacity:1;transform:none}.motion-ready .page-hero h1{animation:titleEnter .8s cubic-bezier(.18,.7,.1,1) both}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}.motion-paused [data-motion-reveal]{opacity:1;transform:none}.motion-reduced .title-line>span,.motion-reduced .art-photo{animation:none!important}.motion-reduced [data-motion-reveal]{opacity:1;transform:none;transition:none}.motion-reduced .scroll-invite i,.motion-reduced .trust-list{animation:none}.webgl-unavailable .motion-canvas{display:none}.scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:#7187ff;z-index:100;pointer-events:none}.section-index{display:block;color:#7486aa;font-size:.75rem;letter-spacing:.14em;margin-bottom:28px}.card[data-tilt]{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s ease-out}.hero-art[data-settled] .art-photo{animation:none!important}
@keyframes titleEnter{from{transform:translateY(115%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}@keyframes photoEnter{from{opacity:0;transform:perspective(1400px) rotateY(-48deg) rotateZ(8deg) translateX(150px) scale(.8)}to{opacity:1;transform:perspective(1400px) rotateY(-15deg) rotateZ(-5deg) scale(.96)}}@keyframes scrollCue{0%,100%{transform:scaleY(.45);opacity:.4}50%{transform:scaleY(1);opacity:1}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1100px){.page-sinscrire main>.section:first-child>.grid-2{grid-template-columns:.8fr 1.2fr;align-items:start}.page-sinscrire main>.section:first-child>.grid-2>.flow:first-child{position:sticky;top:110px}}
@media(max-width:1250px){.desktop-nav a{padding-inline:7px;font-size:.8rem}.brand-stack small{display:none}.nav{gap:15px}.hero-v2 h1{font-size:15vw}.hero-foot{gap:30px}.hero-schedule strong{font-size:1.4rem}.hero-art{left:37%}.intro-v2-grid{gap:60px}.hero-booking .btn{padding-inline:20px;font-size:.9rem}}
@media(max-width:1099px){.desktop-nav,.nav-cta{display:none}.menu-toggle{display:block}.hero-v2{min-height:830px}.hero-v2 h1{font-size:16vw}.hero-heading{margin-top:60px}.container{width:calc(100% - 56px)}.hero-art{inset:40px -28px 180px 26%}.hero-foot{grid-template-columns:1fr 1fr;bottom:80px}.hero-schedule{display:none}.hero-intro p{font-size:1rem}.intro-v2-grid{gap:40px}.hero-booking{justify-self:end}.hero-topline{font-size:.67rem}.hero-topline>span:last-child{display:none}.trust-list{gap:30px}.grid{gap:26px}}
@media(max-width:767px){:root{--header-h:70px}.container{width:calc(100% - 40px)}.topbar-inner{font-size:.68rem;min-height:30px}.brand-mark{width:38px;height:38px}.brand-stack>span{font-size:.95rem}.section{padding-block:65px}.hero-v2{height:auto;min-height:720px;max-height:none}.hero-content{padding-top:25px;height:720px}.hero-topline{font-size:.55rem;letter-spacing:.065em}.hero-v2 h1{font-size:20vw;line-height:.97;letter-spacing:-.04em}.hero-heading{margin-top:34px}.hero-art{inset:105px -20px 205px 7%}.art-photo{left:18%;right:-12%;top:45px;bottom:10px}.art-photo img{object-position:66% 40%;filter:grayscale(1) brightness(.7)}.art-coordinate{display:none}.motion-canvas{inset:15% auto auto -10%;width:76%;height:61%;opacity:.85}.art-glass{inset:34% 5% 2% 48%}.art-credit{right:24px;bottom:16px;font-size:.56rem}.hero-foot{bottom:80px;grid-template-columns:1fr;gap:25px}.hero-intro{max-width:48%}.hero-intro .eyebrow{display:none}.hero-intro p{font-size:.8rem;line-height:1.7}.hero-booking{justify-self:stretch;flex-direction:row;align-items:center;gap:20px}.hero-booking .btn{font-size:.85rem;padding:0 17px;min-height:55px;gap:12px}.hero-link{font-size:.75rem;gap:9px;white-space:nowrap}.hero-controls{font-size:.65rem;bottom:23px;gap:15px}.motion-toggle{font-size:.62rem;gap:8px;max-width:170px;text-align:right}.scroll-invite{font-size:.65rem;gap:9px}.intro-v2-grid{grid-template-columns:1fr;gap:35px}.intro-v2 h2{font-size:2.9rem}.intro-v2 .lead{font-size:1.02rem}.intro-stats strong{font-size:2.6rem}.intro-stats span{font-size:.75rem}.trustbar{padding:20px 0}.trust-item{font-size:.72rem}.trust-list.marquee-ready{gap:30px}.trust-item::before{margin-right:12px}.card,.panel,.card-light,.panel-light{padding:24px}.feature-card{padding:28px 0}.info-strip{padding:24px 0}.info-strip>div{padding:15px 0;border:0;border-bottom:1px solid #ffffff22}.info-strip h3{font-size:2rem}.page-hero{padding:35px 0 40px}.page-hero h1{font-size:2.5rem;letter-spacing:-.05em;overflow-wrap:anywhere}.page-hero .lead{font-size:1rem}.breadcrumbs{font-size:.75rem;margin-bottom:24px}.page-inner main>.section:first-child{padding-top:55px}.form-card{padding:22px}.form-grid.cols-2{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.form-card h3{font-size:1.5rem}.minor-block{padding:16px}.check-row,.radio-card{padding:13px}.demo-dock{gap:12px;font-size:.5rem;letter-spacing:.03em}.demo-dock button{font-size:.6rem}.cookie-banner{left:12px;bottom:48px;width:calc(100% - 24px);padding:22px}.cookie-actions .btn{font-size:.75rem}.footer{padding-top:50px}.footer .brand-stack small{display:block}.test-dialog{padding:22px}.test-dialog h2{font-size:1.6rem}.test-actions .btn{font-size:.82rem;padding-inline:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}[data-motion-reveal]{opacity:1!important;transform:none!important}.art-photo{transform:rotate(-3deg)!important}.scroll-progress{display:none}}

/* V3 — photography-led cinematic motion. Business controls remain in normal flow. */
:root{--accent:#5068e8;--bg:#030405;--font-display:'Arial','Segoe UI',sans-serif}
.page-home{background:#030405}.page-home .topbar{background:#030405}.page-home .site-header{background:#030405e8}.brand-mark{background:transparent;border:1px solid #ffffff70;transform:none}.nav-cta .btn{background:transparent;color:white;border:1px solid #ffffff70}.cinema{position:relative;background:#030405;color:white}.cinema-stage{height:calc(100svh - 152px);min-height:660px;position:relative;overflow:clip;isolation:isolate}.cinema-visual,.cinema-shade{position:absolute;inset:0;pointer-events:none}.cinema-visual{z-index:-3;background:#030405;overflow:clip}.cinema-poster,.cinema-visual canvas{width:100%;height:100%;object-fit:cover;object-position:65% center;position:absolute;inset:0}.cinema-poster{filter:brightness(.82);transform:scale(1.07)}.cinema-visual canvas{opacity:0;transition:opacity .7s}.cinema-visual canvas[data-engine=webgl]{opacity:1}.cinema-shade{z-index:-1;background:linear-gradient(90deg,#000b 0%,#0005 42%,transparent 75%),linear-gradient(0deg,#030405 0%,#03040588 12%,transparent 45%,#0002 80%,#0006 100%)}.cinema-top{position:absolute;top:30px;inset-inline:48px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.15em;color:#d2d5da}.cinema-scenes{position:absolute;inset:0}.cinema-scene{position:absolute;inset:0;padding:clamp(120px,19vh,220px) 48px 150px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,transform}.cinema-scene.is-current{opacity:1;visibility:visible;pointer-events:auto}.scene-eyebrow{font-size:14px;letter-spacing:.13em;margin:0 0 22px;line-height:1.5;font-weight:500}.cinema h1,.cinema h2{font-family:Arial,'Segoe UI',sans-serif;font-size:clamp(60px,6.8vw,112px);font-weight:800;letter-spacing:-.055em;line-height:.98;margin:0;max-width:12ch;text-transform:uppercase}.cinema h1 span,.cinema h2 span{display:block}.scene-summary{font-size:16px;color:#e0e2e6;line-height:1.65;margin:26px 0 30px;max-width:48ch}.scene-actions{display:flex;align-items:center;gap:32px}.cinema .cinema-cta{border:1px solid #ffffffb3;background:transparent;color:white;min-height:58px;min-width:225px;padding:0 27px;font-size:13px;text-transform:uppercase;letter-spacing:.045em;overflow:hidden}.cinema-cta::before{content:'';position:absolute;inset:0;background:white;transform:translateY(102%);transition:transform .35s cubic-bezier(.2,.7,.2,1);z-index:0}.cinema-cta span{position:relative;z-index:1}.cinema .cinema-cta:hover{color:black;box-shadow:none;transform:none}.cinema-cta:hover::before{transform:translateY(0)}.cinema-text-link{font-size:13px;text-transform:uppercase;border-bottom:1px solid #ffffff70;padding-block:14px}.cinema-bottom{position:absolute;inset-inline:48px;bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:25px}.cinema-scroll{font-size:11px;letter-spacing:.12em;display:flex;gap:16px;align-items:center;white-space:nowrap}.cinema-scroll>span{font-size:28px;animation:cinemaArrow 1.7s ease-in-out infinite}.scene-nav{display:flex;gap:25px}.scene-nav button{min-height:44px;position:relative;border:0;background:transparent;color:#85898f;display:flex;gap:9px;align-items:center;padding:10px 0;font-size:11px;letter-spacing:.04em}.scene-nav button::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:#ffffff40}.scene-nav button[aria-current=step]{color:white}.scene-nav button[aria-current=step]::after{background:white;transform-origin:left;transform:scaleX(var(--chapter-progress,1))}.cinema .motion-toggle{font-size:12px;min-height:44px;min-width:74px;justify-content:flex-end;white-space:nowrap}.cinema-credit{position:absolute;right:48px;bottom:104px;font-size:11px;color:#adb0b6}.cinema-ready .cinema{height:290svh}.cinema-ready .cinema-stage{position:sticky;top:84px}.cinema-ready .cinema-scene{transition:visibility 0s .5s}.cinema-ready .cinema-scene.is-current{transition:none}.cinema-enter .cinema-scene:first-child h1{animation:cinemaText 1.3s cubic-bezier(.18,.7,.1,1) both}.cinema-enter .cinema-scene:first-child .scene-eyebrow{animation:cinemaText 1s .12s both}.cinema-enter .cinema-scene:first-child .scene-summary,.cinema-enter .cinema-scene:first-child .scene-actions{animation:cinemaText 1.2s .22s both}
.page-home .intro-v2{background:#030405;color:#fff;border-bottom:1px solid #ffffff22}.page-home .intro-v2 p,.page-home .intro-v2 .lead{color:#aaaeb6}.page-home .intro-v2 h2{font-family:Arial,sans-serif;letter-spacing:-.06em}.page-home .intro-v2 h2 span{color:white}.page-home .intro-stats{border-color:#ffffff30}.page-home .intro-v2 .btn-secondary{color:white;border-color:#ffffff80}.page-home .trustbar{background:#080a0e;border-block:1px solid #ffffff2b}.page-home main .section{background:#030405;color:white;border-bottom:1px solid #ffffff18}.page-home main .section .lead,.page-home main .section p{color:#b8bcc3}.page-home main .section .eyebrow{color:#929dad}.page-home main .section h2{font-family:Arial,sans-serif;font-size:clamp(38px,4.3vw,68px);text-transform:uppercase;letter-spacing:-.055em;max-width:24ch}.page-home .card-light,.page-home .panel-light,.page-home .card,.page-home .panel{background:#0b0e12;color:white;border-color:#ffffff24}.page-home .card p,.page-home .panel p{color:#b7bbc5}.page-home .feature-card,.page-home .team-card{background:transparent}.page-home .feature-icon{color:#a2a8b4}.page-home .feature-card{min-height:270px}.page-home .price-card{background:#0b0e12;border-color:#ffffff33;color:white}.page-home .price-card .price{color:white}.page-home .price-card.highlight{background:#141b30}.page-home .form-card{background:#f7f8fa;color:#10131a}.page-home .form-card p{color:#555e6d!important}.page-home .faq-item{background:transparent;border-color:#ffffff38}.page-home .faq-question{color:white}.page-home .faq-answer{color:#bec4cf}.page-home .surface .btn-secondary,.page-home .surface-alt .btn-secondary{color:white;border-color:#ffffff60}.page-home .quote-card{background:transparent;border-block:1px solid #ffffff30}.page-home .checklist li{color:#bbc1cc}.page-home .info-strip{background:transparent;border-block:1px solid #ffffff33}.page-home .info-strip>div{border-color:#ffffff25}.page-home .section .section-head{margin-bottom:64px}.page-home .footer{background:#030405}.page-inner .page-hero{background:linear-gradient(90deg,#000e,#0009),url('../img/training-editorial.png') 65% 42%/cover;padding-block:70px}.page-inner .page-hero h1{font-family:Arial,sans-serif;text-transform:uppercase}.cinema-ready [data-reveal]{opacity:0;transform:translateY(55px);clip-path:inset(0 0 15% 0);transition:opacity .8s,transform 1s cubic-bezier(.2,.75,.2,1),clip-path 1s}.cinema-ready [data-reveal].is-revealed{opacity:1;transform:none;clip-path:inset(0)}.cinema-ready [data-line-reveal]{background-size:0% 1px;transition:background-size 1.2s}.cinema-ready [data-line-reveal].is-revealed{background-size:100% 1px}.motion-paused [data-reveal],.motion-reduced [data-reveal]{opacity:1;transform:none;clip-path:none;transition:none}.motion-reduced .cinema-scene{transition:none!important}.motion-reduced .cinema-scroll>span{animation:none}.motion-reduced .cinema{height:auto}.motion-reduced .cinema-stage{height:auto;min-height:0;position:relative;top:auto}.motion-reduced .cinema-scenes{position:relative}.motion-reduced .cinema-scene{position:relative;opacity:1!important;visibility:visible;pointer-events:auto;transform:none!important;min-height:600px;padding:100px 48px}.motion-reduced .cinema-top{z-index:2}.motion-reduced .cinema-bottom{position:sticky;bottom:38px;background:#030405eb;margin-inline:0;padding:10px 48px;z-index:3}.motion-reduced .scene-nav,.motion-paused .scene-nav{display:none}.motion-reduced .cinema-credit{display:none}
@keyframes cinemaArrow{0%,100%{transform:translateY(-5px);opacity:.4}60%{transform:translateY(6px);opacity:1}}@keyframes cinemaText{from{opacity:0;transform:translateY(45px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(max-width:1099px){.cinema-top,.cinema-bottom{inset-inline:28px}.cinema-scene{padding-inline:28px}.cinema h1,.cinema h2{font-size:clamp(56px,9vw,92px)}.scene-nav{gap:16px}.scene-nav button>span:last-child{display:none}.cinema-credit{right:28px}}
@media(max-width:767px){.cinema-stage{height:calc(100svh - 148px);min-height:650px}.cinema-ready .cinema{height:245svh}.cinema-ready .cinema-stage{top:70px}.cinema-top{inset-inline:20px;top:22px;font-size:10px;letter-spacing:.04em}.cinema-top>span:last-child{display:none}.cinema-scene{padding:100px 20px 118px;justify-content:flex-end}.cinema h1,.cinema h2{font-size:clamp(48px,12vw,78px);letter-spacing:-.045em;line-height:1.02;max-width:14ch}.scene-eyebrow{font-size:11px;margin-bottom:16px;letter-spacing:.06em}.scene-summary{font-size:14px;margin:19px 0 23px;max-width:32ch}.scene-summary br{display:none}.scene-actions{gap:20px;flex-wrap:wrap}.cinema .cinema-cta{font-size:11px;min-height:52px;min-width:210px;padding-inline:20px}.cinema-text-link{font-size:11px}.cinema-bottom{inset-inline:20px;bottom:23px;gap:15px}.cinema-scroll{font-size:9px;gap:9px}.scene-nav{gap:15px}.scene-nav button{font-size:11px}.cinema-credit{right:20px;bottom:87px;font-size:10px}.cinema .motion-toggle{font-size:11px;min-width:60px}.cinema-shade{background:linear-gradient(0deg,#030405 2%,#030405c9 26%,#0004 68%,#0005),linear-gradient(90deg,#0003,transparent)}.cinema-poster{object-position:72% center}.page-home main .section h2{font-size:34px}.page-home .feature-card{min-height:0}.page-home .section .section-head{margin-bottom:38px}.page-inner .page-hero{padding-block:40px}.motion-reduced .cinema-scene{padding:100px 20px 65px;min-height:540px}.motion-reduced .cinema-bottom{padding-inline:20px}}
@media(max-height:760px){.cinema-ready .cinema{height:auto}.cinema-ready .cinema-stage{position:relative;top:auto;height:auto}.cinema-ready .cinema-scenes{position:relative}.cinema-ready .cinema-scene{position:relative;opacity:1!important;visibility:visible;pointer-events:auto;transform:none!important;min-height:560px;padding:90px 28px}.cinema-bottom{position:relative;inset:auto;padding:20px 28px}.scene-nav{display:none}}
@media(prefers-reduced-motion:reduce){.cinema-visual canvas{transition:none}.cinema-poster{transform:none}.cinema-scene *{animation:none!important}.cinema-scroll>span{animation:none}}

/* V4: objects answer the reading direction instead of only appearing once. */
.cinema-ready [data-scrollfx]{will-change:transform,opacity;transform-origin:center;transition:transform .72s cubic-bezier(.16,.78,.22,1),opacity .56s ease;transition-delay:calc(var(--scroll-order,0) * 55ms)}
.cinema-ready [data-scrollfx].scroll-exit-down{opacity:0;transform:translateY(62px) scale(.985)}
.cinema-ready [data-scrollfx].scroll-exit-up{opacity:0;transform:translateY(-50px) scale(.992)}
.cinema-ready [data-scrollfx].scroll-visible{opacity:1;transform:none}
.cinema-ready [data-scrollfx].scroll-enter-down{animation:scrollLandDown .76s cubic-bezier(.16,.78,.22,1) both}
.cinema-ready [data-scrollfx].scroll-enter-up{animation:scrollLandUp .7s cubic-bezier(.16,.78,.22,1) both}
.cinema-ready .feature-card.scroll-visible,.cinema-ready .team-card.scroll-visible,.cinema-ready .price-card.scroll-visible{transform:perspective(1200px) rotateX(0) rotateY(0)}
.cinema-ready .feature-card.scroll-exit-down,.cinema-ready .team-card.scroll-exit-down,.cinema-ready .price-card.scroll-exit-down{transform:perspective(1200px) rotateX(5deg) translateY(70px);transform-origin:bottom}
.cinema-ready .feature-card.scroll-exit-up,.cinema-ready .team-card.scroll-exit-up,.cinema-ready .price-card.scroll-exit-up{transform:perspective(1200px) rotateX(-4deg) translateY(-55px);transform-origin:top}
.cinema-ready .section-head.scroll-visible::after{content:'';display:block;width:min(150px,28%);height:1px;background:currentColor;margin-top:25px;animation:lineCharge .9s cubic-bezier(.16,.78,.22,1) both}
.cinema-ready .intro-stats>span{transition:transform .7s cubic-bezier(.16,.78,.22,1),opacity .55s}.cinema-ready .intro-v2-grid.scroll-exit-down .intro-stats>span{transform:translateY(28px);opacity:0}.cinema-ready .intro-v2-grid.scroll-visible .intro-stats>span{transform:none;opacity:1}.cinema-ready .intro-v2-grid.scroll-visible .intro-stats>span:nth-child(2){transition-delay:.11s}.cinema-ready .intro-v2-grid.scroll-visible .intro-stats>span:nth-child(3){transition-delay:.22s}
.cinema-ready .page-hero .container.scroll-visible .eyebrow{animation:signalIn .65s both}.cinema-ready .page-hero .container.scroll-visible h1{animation:scrollLandDown .8s .06s both}.cinema-ready .page-hero .container.scroll-visible .lead{animation:signalIn .7s .16s both}
@keyframes scrollLandDown{from{opacity:0;transform:translateY(68px) scale(.98)}to{opacity:1;transform:none}}@keyframes scrollLandUp{from{opacity:0;transform:translateY(-54px) scale(.99)}to{opacity:1;transform:none}}@keyframes lineCharge{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes signalIn{from{opacity:0;transform:translateY(20px);letter-spacing:.16em}to{opacity:1;transform:none;letter-spacing:inherit}}
.motion-paused [data-scrollfx],.motion-reduced [data-scrollfx]{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.motion-paused .section-head.scroll-visible::after,.motion-reduced .section-head.scroll-visible::after{animation:none!important}
@media(max-width:767px){.cinema-ready [data-scrollfx].scroll-exit-down{transform:translateY(34px)}.cinema-ready [data-scrollfx].scroll-exit-up{transform:translateY(-28px)}.cinema-ready [data-scrollfx].scroll-enter-down{animation-name:scrollLandDownMobile}.cinema-ready [data-scrollfx].scroll-enter-up{animation-name:scrollLandUpMobile}@keyframes scrollLandDownMobile{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}@keyframes scrollLandUpMobile{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:none}}}

.motion-reduced .cinema-visual{display:none}.motion-reduced .cinema-scene{background:linear-gradient(90deg,#000c,#0005),url("../img/cinema-dojo.png") 70% center/cover}.motion-reduced .cinema-scene:nth-child(2){background-image:linear-gradient(90deg,#000c,#0005),url("../img/training-editorial.png")}.motion-reduced .cinema-scene:nth-child(3){background-image:linear-gradient(90deg,#000c,#0005),url("../img/cinema-guard.png")}

/* Shared geometry: the compact mode below and motion.js both use 760px. */
:root { --cinema-header-offset: 84px; }
.cinema-ready .cinema { height: 580svh; }
.cinema-ready .cinema-stage {
  top: var(--cinema-header-offset);
  height: calc(100svh - var(--cinema-header-offset));
  min-height: 0;
}
.scene-nav { gap: clamp(12px, 1.6vw, 25px); }
@media (max-width: 1279px) { .scene-nav button > span:last-child { display: none; } }
@media (max-width: 767px) {
  :root { --cinema-header-offset: 70px; }
  .cinema-ready .cinema { height: 500svh; }
  .cinema-ready .cinema-stage { min-height: 0; }
}

/* A bounded background track contributes no height and cannot cover the footer. */
.page-home main { position: relative; isolation: isolate; }
.scroll-film {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.scroll-film-viewport {
  position: sticky;
  top: var(--cinema-header-offset);
  height: calc(100svh - var(--cinema-header-offset));
  overflow: hidden;
  background: #030405;
}
.scroll-film-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 64% center;
  opacity: 0;
  transform: translate3d(0, var(--story-pan, 0%), 0) scale(1.065);
  transition: opacity .65s ease;
}
.scroll-film-image.is-current { opacity: 1; }
.page-home main.story-ready > :not(.scroll-film) { position: relative; z-index: 1; }
.page-home .intro-v2 {
  min-height: min(88svh, 920px);
  display: grid;
  align-content: center;
  background: linear-gradient(90deg, #030405cf, #03040591 55%, #0304054d),
    url('../img/scroll-adults.png') 65% center / cover;
}
.page-home main.story-ready > .section {
  min-height: min(96svh, 1040px);
  display: grid;
  align-content: center;
  background-color: transparent;
  background-image: linear-gradient(90deg, #030405c9 0%, #03040599 45%, #0304054d 100%);
}
.page-home main.story-ready :where(.card, .card-light, .panel, .panel-light, .quote-card, .info-strip):not(.form-card):not(:has(form)) {
  background-color: #070b12bd;
}
.page-home main.story-ready .text-dark { color: #fff; }
.page-home main.story-ready :where(.card, .card-light, .quote-card) p { color: #d4d8df; }
.motion-paused .scroll-film-image,
.motion-reduced .scroll-film-image { transition: none; transform: none; }

/* Compact and reduced-motion modes remain in document flow at every CSS breakpoint. */
.cinema-ready.cinema-stacked .cinema { height: auto; }
.cinema-ready.cinema-stacked .cinema-stage {
  position: relative;
  top: auto;
  height: auto;
  min-height: 0;
}
.cinema-stacked .cinema-visual,
.cinema-stacked .cinema-shade { display: none; }
.cinema-stacked .cinema-scenes { position: relative; }
.cinema-ready.cinema-stacked .cinema-scene {
  position: relative;
  min-height: min(100svh, 720px);
  padding: 105px 48px 70px;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto;
  transform: none !important;
  background-image: linear-gradient(90deg, #000c, #0005), var(--scene-photo);
  background-position: 68% center;
  background-size: cover;
}
.cinema-stacked .cinema-top { z-index: 2; }
.cinema-stacked .cinema-bottom {
  position: relative;
  inset: auto;
  margin: 0;
  padding: 20px 48px;
  background: #030405;
}
.cinema-stacked .scene-nav,
.cinema-stacked .cinema-credit,
.cinema-stacked .scroll-film { display: none; }
.page-home.cinema-stacked main.story-ready > .section {
  min-height: 0;
  background-image: linear-gradient(90deg, #030405cf, #03040580), var(--story-photo);
  background-position: 65% center;
  background-size: cover;
  background-attachment: scroll;
}
.cinema-stacked .cinema-scene *,
.cinema-stacked .cinema-scroll > span,
.motion-paused .cinema-scene *,
.motion-paused [data-scrollfx] *,
.motion-reduced [data-scrollfx] * { animation: none !important; }
.cinema-ready [data-scrollfx]:focus-within {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
  animation: none !important;
  transition: none !important;
}
@media (max-width: 767px) {
  .scroll-film-image { object-position: 69% center; }
  .page-home main.story-ready > .section { min-height: 0; padding-block: 86px; }
  .page-home main.story-ready > .section {
    background-image: linear-gradient(90deg, #030405bf, #0304058f 60%, #0304056b);
  }
  .cinema-ready.cinema-stacked .cinema-scene { min-height: 540px; padding: 100px 20px 65px; }
  .cinema-stacked .cinema-bottom { padding: 20px; }
  .page-home.cinema-stacked main.story-ready > .section {
    background-image: linear-gradient(90deg, #030405c9, #0304058f), var(--story-photo);
  }
}
/* CSS fallback also prevents a late 580/500svh rule from undoing normal flow. */
@media (max-height: 760px), (prefers-reduced-motion: reduce) {
  .cinema-ready .cinema { height: auto; }
  .cinema-ready .cinema-stage { position: relative; top: auto; height: auto; min-height: 0; }
  .cinema-ready .cinema-scenes { position: relative; }
  .cinema-ready .cinema-scene {
    position: relative;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}
