/* Cealius 2026 — site stylesheet (all pages, BA + EN).
   Two schemes that follow the device: dark by default, light under prefers-color-scheme: light.
   Film and photo sections (.hero, .window, .sub-hero) stay dark in both schemes; they carry white type.
   Every size is rem; on desktops the root size follows the viewport so the composition is the same on every screen. */

@font-face{font-family:"Inter Tight";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/intertight-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/intertight-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- tokens ---------- */
:root{color-scheme:dark;
  --bg:#0b0b0c;--sheet:#0b0b0c;--card:#141416;--card2:#1a1a1d;--field:#0e0e10;
  --line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14);--line3:rgba(255,255,255,.22);
  --text:#f5f5f4;--body:#b9b9b6;--muted:#8a8a87;--accent:#d6b98c;--on-accent:#0a0a0a;
  --btn:#f5f5f4;--btn-ink:#0a0a0a;--btn-hover:#fff;--ghost:rgba(255,255,255,.04);--tag:rgba(255,255,255,.04);
  --ic:rgba(214,185,140,.08);--ic-line:rgba(214,185,140,.22);--pop:linear-gradient(180deg,#1a1814,#141416 55%);--pop-line:rgba(214,185,140,.38);
  --nav:rgba(11,11,12,.8);--nav-ink:#d4d4d2;--nav-ink-hi:#fff;--menu-bg:#141416;--shadow:rgba(0,0,0,.45);--err:#f0a896;--err-line:#e08e79;
  --gut:4rem;--max:72.5rem;--r:1.125rem;--ease:cubic-bezier(.22,.7,.2,1);
  --display:"Inter Tight",Inter,"Helvetica Neue",Arial,sans-serif;--sans:Inter,"Helvetica Neue",Arial,sans-serif;
  --edge:11 11 12}                                   /* the colour film sections fade into */
@media(prefers-color-scheme:light){:root{color-scheme:light;
  --bg:#f5f3ee;--sheet:#f5f3ee;--card:#ffffff;--card2:#fbfaf7;--field:#ffffff;
  --line:rgba(24,20,14,.09);--line2:rgba(24,20,14,.15);--line3:rgba(24,20,14,.26);
  --text:#15140f;--body:#4b4943;--muted:#77736b;--accent:#94743f;--on-accent:#fff;
  --btn:#15140f;--btn-ink:#fff;--btn-hover:#000;--ghost:rgba(24,20,14,.03);--tag:rgba(24,20,14,.035);
  --ic:rgba(148,116,63,.08);--ic-line:rgba(148,116,63,.24);--pop:linear-gradient(180deg,#fffaf0,#fff 55%);--pop-line:rgba(148,116,63,.45);
  --nav:rgba(245,243,238,.86);--nav-ink:#3a3832;--nav-ink-hi:#000;--menu-bg:#ffffff;--shadow:rgba(40,30,15,.12);--err:#b3402b;--err-line:#c9553d}}
/* film and photo sections keep the dark palette in both schemes */
.hero,.window,.sub-hero{--text:#f5f5f4;--body:#d6d6d3;--muted:#a3a3a0;--accent:#ecdcbf;--btn:#f5f5f4;--btn-ink:#0a0a0a;--btn-hover:#fff;--ghost:rgba(255,255,255,.05);--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.16);--line3:rgba(255,255,255,.26);--ic:rgba(214,185,140,.1);--ic-line:rgba(214,185,140,.26);color:var(--text)}

/* ---------- base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media(min-width:1081px){html{font-size:clamp(14px,min(1.1111vw,2vh),40px)}}
@media(min-width:1081px) and (min-aspect-ratio:2/1){html{font-size:clamp(14px,min(1.1111vw,2.2vh),40px)}:root{--max:88rem;--gut:6rem}}
body{font:400 .96875rem/1.6 var(--sans);background:var(--bg);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--text);color:var(--bg)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:200;background:var(--text);color:var(--bg);padding:.625rem .875rem;border-radius:.625rem}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.i{width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.arw{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .4s var(--ease)}
.wrap{width:100%;max-width:var(--max);margin:0 auto}
main{position:relative;z-index:2}   /* above the fixed film layer */
.cxf-film{background:#0b0b0c!important}.cxf-film .side,.cxf-film .shade,.cxf-buf{display:none!important}

/* ---------- type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.625rem;font:600 .71875rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:1.125rem;height:1px;background:currentColor;opacity:.7}
h1{font:600 4.75rem/1 var(--display);letter-spacing:-.04em;color:var(--text)}
h2{font:600 2.75rem/1.08 var(--display);letter-spacing:-.032em;color:var(--text)}
h3{font:600 1.1875rem/1.25 var(--display);letter-spacing:-.015em;color:var(--text)}
.lead{font-size:1.03125rem;line-height:1.65;color:var(--body);max-width:36em}
.hero .eyebrow,.window .eyebrow,.sub-hero .eyebrow{text-shadow:0 1px 14px rgba(0,0,0,.6)}
.hero h1,.window h2,.sub-hero h1{text-shadow:0 2px 30px rgba(0,0,0,.35)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5625rem;height:2.875rem;padding:0 1.25rem;border-radius:999px;font:600 .90625rem/1 var(--sans);letter-spacing:-.005em;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease),box-shadow .4s}
.btn b{font:inherit}
.btn.primary{background:var(--btn);color:var(--btn-ink)}
.btn.primary:hover{background:var(--btn-hover);box-shadow:0 .875rem 2.5rem var(--shadow);transform:translateY(-1px)}
.btn.ghost{border-color:var(--line3);color:var(--text);background:var(--ghost)}
.btn.ghost:hover{border-color:var(--text)}
.btn:hover .arw{transform:translateX(3px)}
.btn.sm{height:2.375rem;padding:0 1rem;font-size:.84375rem}
.tlink{display:inline-flex;align-items:center;gap:.5rem;font:600 .875rem/1 var(--sans);color:var(--text)}
.tlink:hover .arw{transform:translateX(3px)}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.nav .in{max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;height:4.25rem;padding:0 var(--gut);display:flex;align-items:center;gap:2.25rem}
.nav .logo{position:relative;display:block;height:1.3125rem}
.nav .logo img{height:1.3125rem;width:auto}
.nav .logo .ink,.foot .brand .ink{display:none}
.nav .links{display:flex;align-items:center;gap:1.75rem;margin-left:auto}
.nav .links>a{font:500 .875rem/1 var(--sans);color:#d4d4d2;padding:.625rem 0;transition:color .25s}
.nav .links>a:hover,.nav .links>a[aria-current],.nav .links>a.on{color:#fff}
.nav .end{display:flex;align-items:center;gap:1.125rem}
.nav .lang{font:600 .8125rem/1 var(--sans);color:rgba(255,255,255,.62);padding:.5rem .25rem}.nav .lang:hover{color:#fff}
.nav .btn.primary{background:#f5f5f4;color:#0a0a0a}
.cx-scrolled .nav{background:var(--nav);-webkit-backdrop-filter:blur(1.125rem) saturate(1.4);backdrop-filter:blur(1.125rem) saturate(1.4);border-bottom-color:var(--line)}
.cx-scrolled .nav .links>a,.cx-scrolled .dd-t{color:var(--nav-ink)}
.cx-scrolled .nav .links>a:hover,.cx-scrolled .nav .links>a[aria-current],.cx-scrolled .dd-t:hover{color:var(--nav-ink-hi)}
.cx-scrolled .nav .lang{color:var(--muted)}.cx-scrolled .nav .lang:hover{color:var(--text)}
.cx-scrolled .nav .btn.primary{background:var(--btn);color:var(--btn-ink)}
@media(prefers-color-scheme:light){
  .cx-scrolled .nav .logo .film,.foot .brand .film{display:none}.cx-scrolled .nav .logo .ink,.foot .brand .ink{display:block}
  .cx-scrolled .burger{border-color:var(--line3);background:transparent}.cx-scrolled .burger::before,.cx-scrolled .burger::after{background:var(--text)}}
.dd{position:relative}
.dd-t{display:inline-flex;align-items:center;gap:.375rem;background:none;border:0;cursor:pointer;font:500 .875rem/1 var(--sans);color:#d4d4d2;padding:.625rem 0;transition:color .25s}
.dd-t:hover,.dd.open .dd-t,.dd-t.on{color:#fff}
.dd-t .chev{width:.75rem;height:.75rem;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .3s var(--ease)}
.dd.open .chev{transform:rotate(180deg)}
.dd-m{position:absolute;left:-1.25rem;top:calc(100% + .5rem);width:20rem;padding:.5rem;border-radius:1rem;background:var(--menu-bg);border:1px solid var(--line2);box-shadow:0 1.5rem 4rem var(--shadow);opacity:0;visibility:hidden;transform:translateY(-.375rem);transition:opacity .25s,transform .3s var(--ease),visibility .25s}
.dd.open .dd-m{opacity:1;visibility:visible;transform:none}
@media(hover:hover){.dd:hover .dd-m,.dd:focus-within .dd-m{opacity:1;visibility:visible;transform:none}.dd:hover .chev{transform:rotate(180deg)}}
.dd-m a{display:flex;gap:.875rem;align-items:center;padding:.75rem;border-radius:.75rem;transition:background .2s}
.dd-m a:hover,.dd-m a:focus-visible{background:var(--ghost)}
.dd-m .ic{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.625rem;background:var(--ic);border:1px solid var(--ic-line);color:var(--accent);flex:none}
.dd-m .ic .i{width:1.125rem;height:1.125rem}
.dd-m b{display:block;font:600 .875rem/1.25 var(--sans);color:var(--text)}
.dd-m small{display:block;margin-top:.125rem;font-size:.78125rem;color:var(--muted)}
.burger{display:none;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(255,255,255,.26);background:rgba(0,0,0,.25);position:relative;cursor:pointer;margin-left:0}
.burger::before,.burger::after{content:"";position:absolute;left:.875rem;right:.875rem;height:1.5px;background:#f5f5f4;transition:transform .35s var(--ease)}
.burger::before{top:1.0625rem}.burger::after{top:1.5625rem}
.burger.open::before{transform:translateY(.25rem) rotate(45deg)}.burger.open::after{transform:translateY(-.25rem) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:45;background:var(--bg);padding:6.5rem var(--gut) 2rem;display:flex;flex-direction:column;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.menu.open{opacity:1;visibility:visible}
.menu .mh{margin-bottom:.25rem;font:600 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.menu>a{font:600 2rem/1.1 var(--display);letter-spacing:-.03em;color:var(--text);padding:.875rem 0;border-bottom:1px solid var(--line)}
.menu>a.sm{font-size:1.375rem;padding:.625rem 0 .625rem 1rem}
.menu>a.btn{align-self:stretch;margin-top:1.75rem;height:3.25rem;padding:0 1.25rem;border:0;font:600 .9375rem/1 var(--sans);letter-spacing:-.005em}
.menu .meta{margin-top:auto;padding-top:2rem;display:flex;justify-content:space-between;color:var(--muted);font-size:.875rem}
@media(prefers-color-scheme:light){
  :root:has(.menu.open) .nav .logo .film{display:none}:root:has(.menu.open) .nav .logo .ink{display:block}
  :root:has(.menu.open) .nav .lang{color:var(--muted)}
  :root:has(.menu.open) .burger{border-color:var(--line3);background:transparent}:root:has(.menu.open) .burger::before,:root:has(.menu.open) .burger::after{background:var(--text)}}

/* ---------- home hero, facts ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:7.5rem var(--gut) 0}
.hero::before,.sub-hero::before,.window::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero::before{background:linear-gradient(180deg,rgb(var(--edge)/.5) 0%,rgb(var(--edge)/0) 16%,rgb(var(--edge)/0) 38%,rgb(var(--edge)/.55) 62%,rgb(var(--edge)/.9) 84%,rgb(var(--edge)) 100%),linear-gradient(90deg,rgb(var(--edge)/.5) 0%,rgb(var(--edge)/0) 55%)}
.hero .copy,.sub-hero .copy,.window .copy{max-width:var(--max);width:100%;margin:0 auto}
.hero h1{max-width:10.5em;margin:1.25rem 0 1.375rem}
.hero .lead{max-width:33em}
.hero .acts,.sub-hero .acts{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.875rem}
.facts{max-width:var(--max);width:100%;margin:4.5rem auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line2)}
.facts>div{display:flex;gap:.75rem;align-items:flex-start;padding:1.375rem 1.25rem 1.75rem 0}
.facts>div+div{padding-left:1.25rem;border-left:1px solid var(--line)}
.facts .i{color:var(--accent);margin-top:1px;width:1.25rem;height:1.25rem}
.facts b{display:block;font:600 .90625rem/1.3 var(--sans);color:var(--text)}
.facts span span{display:block;margin-top:.1875rem;font-size:.84375rem;line-height:1.5;color:var(--muted)}

/* ---------- sheets, section heads, windows ---------- */
.sheet{position:relative;z-index:3;background:var(--sheet);padding:6.5rem var(--gut)}
.sheet+.sheet{padding-top:0}
.sheet.tint{background:var(--card2)}
.sheet.tint+.sheet,.sheet+.sheet.tint{padding-top:6.5rem}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;align-items:end;margin-bottom:3.25rem}
.sec-head h2{margin-top:1rem}
.sec-head .lead,.sec-head .side{justify-self:end}
.sec-head .side{max-width:32em}.sec-head .side .tlink{margin-top:1rem}
.sec-head.single{grid-template-columns:1fr}.sec-head.single .lead{justify-self:start;margin-top:1rem}
.window{position:relative;min-height:112svh;display:flex;align-items:flex-end;padding:8.75rem var(--gut) 6rem}
.window::before{background:linear-gradient(180deg,rgb(var(--edge)) 0%,rgb(var(--edge)/.6) 9%,rgb(var(--edge)/0) 24%,rgb(var(--edge)/0) 38%,rgb(var(--edge)/.55) 60%,rgb(var(--edge)/.9) 82%,rgb(var(--edge)) 100%),linear-gradient(90deg,rgb(var(--edge)/.45) 0%,rgb(var(--edge)/0) 60%)}
.window h2{max-width:12em;margin:1rem 0 1.125rem}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:3.75rem;border-top:1px solid var(--line3)}
.steps>div{padding:1.5rem 1.625rem 0 0}
.steps>div+div{padding-left:1.625rem;border-left:1px solid var(--line2)}
.steps b{display:block;margin:.625rem 0 .375rem;font:600 1.125rem/1.25 var(--display);letter-spacing:-.02em}
.steps p{font-size:.875rem;line-height:1.55;color:var(--body)}
.final{text-align:center;align-items:center;justify-content:center;min-height:118svh}
.final::before{background:linear-gradient(180deg,rgb(var(--edge)) 0%,rgb(var(--edge)/.6) 9%,rgb(var(--edge)/.1) 24%,rgb(var(--edge)/.35) 50%,rgb(var(--edge)/.75) 80%,rgb(var(--edge)) 100%),radial-gradient(ellipse 60% 45% at 50% 52%,rgb(var(--edge)/.5),rgb(var(--edge)/0) 75%)}
.final .copy{display:flex;flex-direction:column;align-items:center}
.final h2{max-width:13em;margin:1rem 0 0}.final .lead{margin:1.25rem auto 0}
.final .acts{display:flex;flex-wrap:wrap;justify-content:center;gap:.625rem;margin-top:2.125rem}

/* ---------- cards ---------- */
.svc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.feat.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{position:relative;display:flex;flex-direction:column;padding:1.625rem 1.5rem 1.5rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:background .35s,border-color .35s,transform .45s var(--ease),box-shadow .45s}
a.card:hover{background:var(--card2);border-color:var(--line2);transform:translateY(-2px);box-shadow:0 1.25rem 3rem var(--shadow)}
.card .ic{display:grid;place-items:center;width:2.375rem;height:2.375rem;border-radius:.6875rem;background:var(--ic);border:1px solid var(--ic-line);color:var(--accent)}
.card h3{margin:1.25rem 0 .5rem}
.card p{color:var(--body);font-size:.90625rem;line-height:1.6;max-width:30em}
.card .more{margin-top:auto;padding-top:1.375rem;display:flex;align-items:center;gap:.5rem;font:600 .84375rem/1 var(--sans);color:var(--text)}
a.card:hover .more .arw{transform:translateX(3px)}
.card .tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.875rem}
.card .tags span{font:500 .75rem/1 var(--sans);color:var(--body);padding:.4375rem .625rem;border-radius:999px;background:var(--tag);border:1px solid var(--line)}
.card.num h3{margin-top:0}

/* ---------- offer, plans, table ---------- */
.offer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding:.9375rem 1.25rem;margin-bottom:.875rem;border-radius:.875rem;background:linear-gradient(90deg,var(--ic),transparent);border:1px solid var(--ic-line)}
.offer p{font-size:.90625rem;color:var(--body)}.offer b{color:var(--text)}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;padding:1.5rem 1.375rem 1.375rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.plan.pop{background:var(--pop);border-color:var(--pop-line);box-shadow:0 1.875rem 5rem var(--shadow)}
.badge{font:600 .6875rem/1 var(--sans);color:var(--on-accent);background:var(--accent);padding:.375rem .5625rem;border-radius:999px;white-space:nowrap}
.plan .badge{position:absolute;top:1.25rem;right:1.125rem}
.plan h3{font-size:1.125rem}
.plan .who{margin-top:.1875rem;font-size:.8125rem;color:var(--muted)}
.plan .price{margin:1.125rem 0 .125rem;display:flex;align-items:baseline;gap:.4375rem;flex-wrap:wrap}
.plan .price b{font:600 2.125rem/1 var(--display);letter-spacing:-.03em;color:var(--text)}
.plan .price span{font-size:.8125rem;color:var(--muted)}
.plan .pm{font-size:.78125rem;color:var(--muted)}
.plan ul{list-style:none;margin:1.125rem 0 1.25rem;padding-top:1rem;border-top:1px solid var(--line);display:grid;gap:.5rem}
.plan li{display:flex;gap:.625rem;align-items:flex-start;font-size:.84375rem;color:var(--body)}
.plan li .i{width:.9375rem;height:.9375rem;color:var(--accent);margin-top:.1875rem}
.plan .btn{margin-top:auto;width:100%}
.fine{margin-top:1.375rem;font-size:.84375rem;line-height:1.7;color:var(--muted);max-width:62em}
.fine a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line3);text-underline-offset:3px}
.sec-links{display:flex;flex-wrap:wrap;gap:.875rem 2rem;margin-top:1.625rem}
.tbl{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line);background:var(--card)}
.cmp{width:100%;border-collapse:collapse;min-width:40rem;font-size:.9375rem}
.cmp th,.cmp td{padding:1rem 1.5rem;text-align:left;border-bottom:1px solid var(--line)}
.cmp thead th{font:600 1.125rem/1.2 var(--display);letter-spacing:-.015em;color:var(--text);padding-top:1.375rem;padding-bottom:1.375rem;white-space:nowrap}
.cmp thead .badge{margin-left:.5rem;vertical-align:middle}
.cmp tbody th{font-weight:500;color:var(--body)}
.cmp td{color:var(--text)}
.cmp td b{font:600 1.25rem/1 var(--display)}
.cmp .ok{width:1.125rem;height:1.125rem;color:var(--accent)}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp .hl{background:var(--ic)}
.cmp .acts-row td{padding-top:1.25rem;padding-bottom:1.5rem}

/* ---------- work, cases, CTA band ---------- */
.work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.shot{display:flex;flex-direction:column;border-radius:var(--r);background:var(--card);border:1px solid var(--line);overflow:hidden;transition:border-color .35s,transform .45s var(--ease),background .35s,box-shadow .45s}
.shot:hover{border-color:var(--line2);transform:translateY(-3px);background:var(--card2);box-shadow:0 1.25rem 3rem var(--shadow)}
.shot .frame{margin:.875rem .875rem 0;border-radius:.75rem;overflow:hidden;border:1px solid var(--line);background:#000}
.shot .bar{display:flex;gap:.375rem;padding:.625rem .75rem;background:#161618;border-bottom:1px solid rgba(255,255,255,.06)}
.shot .bar i{width:.5rem;height:.5rem;border-radius:50%;background:#2c2c2f}
.shot img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;transition:transform .8s var(--ease)}
.shot:hover img{transform:scale(1.025)}
.shot .meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.125rem 1.125rem}
.shot b{display:block;font:600 1rem/1.2 var(--display);letter-spacing:-.015em;color:var(--text)}
.shot small{display:block;margin-top:.1875rem;font-size:.8125rem;color:var(--muted)}
.shot .desc{padding:0 1.125rem 1.25rem;margin-top:-.25rem;font-size:.875rem;line-height:1.6;color:var(--body)}
.go{display:grid;place-items:center;width:2.125rem;height:2.125rem;border-radius:50%;border:1px solid var(--line2);flex:none;color:var(--text);transition:all .35s}
.shot:hover .go,.case:hover .go{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem}
.cases.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.case{display:flex;justify-content:space-between;gap:1.5rem;align-items:stretch;padding:1.375rem 1.5rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:all .35s var(--ease)}
.case:hover{background:var(--card2);border-color:var(--line2);box-shadow:0 1.25rem 3rem var(--shadow)}
.case small{font:600 .6875rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.case h3{margin:.625rem 0 .375rem}
.case p{font-size:.875rem;color:var(--body);max-width:30em}
.case.wide{margin-bottom:1.5rem}
.case>.go{align-self:flex-end}
.cta-band{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem 2rem;padding:2.5rem 2.25rem;border-radius:var(--r);border:1px solid var(--ic-line);background:linear-gradient(120deg,var(--ic),transparent 60%)}
.cta-band h2{font-size:2rem;max-width:18em}
.cta-band .lead{margin-top:.5rem}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:.625rem}

/* ---------- sub-page hero ---------- */
.sub-hero{position:relative;isolation:isolate;min-height:74svh;display:flex;flex-direction:column;justify-content:flex-end;padding:8.5rem var(--gut) 0;overflow:hidden;background:#0b0b0c}
.sub-hero.short{min-height:56svh}
.sub-hero .still{position:absolute;inset:0;z-index:-2}
.sub-hero .still img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.sub-hero::before{background:linear-gradient(180deg,rgb(var(--edge)/.55) 0%,rgb(var(--edge)/.05) 20%,rgb(var(--edge)/.2) 42%,rgb(var(--edge)/.78) 70%,rgb(var(--edge)) 100%),linear-gradient(90deg,rgb(var(--edge)/.6) 0%,rgb(var(--edge)/0) 60%)}
.sub-hero .copy{padding-bottom:3rem}
.sub-hero:not(:has(.facts)) .copy{padding-bottom:4.5rem}
.sub-hero h1{font-size:4rem;max-width:12em;margin:1.125rem 0 1.25rem}
.sub-hero.short h1{font-size:3.25rem}
.sub-hero .lead{max-width:36em}
.sub-hero .facts{margin-top:0}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.75rem;font-size:.8125rem;color:rgba(255,255,255,.62)}
.crumbs a{color:rgba(255,255,255,.82)}.crumbs a:hover{color:#fff}
.sub-hero+.sheet{padding-top:5rem}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:52rem}
.faq{border-top:1px solid var(--line2)}
.faq details{border-bottom:1px solid var(--line2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.375rem 0;font:600 1.0625rem/1.4 var(--display);letter-spacing:-.01em;color:var(--text)}
.faq summary::-webkit-details-marker{display:none}
.faq .pm{position:relative;width:1rem;height:1rem;flex:none}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--accent);transition:transform .35s var(--ease)}
.faq .pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq details p{padding:0 3rem 1.5rem 0;color:var(--body);font-size:.96875rem;line-height:1.7;max-width:44em}
.faq details p a,.prose a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line3);text-underline-offset:3px}

/* ---------- prose: legal texts and case studies ---------- */
.prose{max-width:46rem;color:var(--body);font-size:1rem;line-height:1.75}
.prose .meta{font-size:.875rem;color:var(--muted);margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}
.prose h2{font-size:1.4375rem;line-height:1.3;letter-spacing:-.02em;margin:2.5rem 0 .75rem}
.prose h3{font-size:1.125rem;margin:1.75rem 0 .5rem}
.prose p,.prose ul,.prose ol{margin-bottom:1rem}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li{margin-bottom:.375rem}
.prose b,.prose strong{color:var(--text);font-weight:600}
.prose table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.9375rem}
.prose th,.prose td{text-align:left;padding:.625rem .75rem;border-bottom:1px solid var(--line)}
.legal-grid{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:4rem;align-items:start}
.toc{position:sticky;top:6rem;display:grid;gap:.125rem;font-size:.84375rem}
.toc p{font:600 .6875rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}
.toc a{color:var(--muted);padding:.3125rem 0;line-height:1.35;transition:color .2s}.toc a:hover{color:var(--text)}
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.pair .card p{font-size:.96875rem;line-height:1.7}
.links-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}
.links-row a{display:inline-flex;align-items:center;gap:.5rem;height:2.25rem;padding:0 .875rem;border-radius:999px;border:1px solid var(--line2);font:500 .8125rem/1 var(--sans);color:var(--text);transition:border-color .25s,background .25s}
.links-row a:hover{border-color:var(--text);background:var(--ghost)}

/* ---------- contact page ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);gap:1.25rem;align-items:start}
.contact-side{display:grid;gap:.75rem}
.contact-side .card h3{margin-top:1rem}
.contact-side .card p a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line3);text-underline-offset:3px}
.contact-side ol{list-style:none;counter-reset:s;display:grid;gap:.75rem;margin-top:.875rem}
.contact-side li{display:flex;gap:.75rem;font-size:.90625rem;color:var(--body);line-height:1.55}
.contact-side li::before{content:"";flex:none;width:.4375rem;height:.4375rem;margin-top:.5rem;border-radius:50%;background:var(--accent)}

/* ---------- footer ---------- */
.foot{position:relative;z-index:3;background:var(--sheet);padding:2.5rem var(--gut) 1.875rem}
.foot .grid{max-width:var(--max);margin:0 auto;padding-top:3rem;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:2.5rem}
.foot .brand img{height:1.625rem;width:auto}
.foot .brand p{margin:1rem 0 1.25rem;color:var(--muted);font-size:.875rem;max-width:24em}
.foot h4{font:600 .71875rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin-bottom:1.125rem}
.foot nav a{display:block;padding:.3125rem 0;font-size:.875rem;color:var(--muted);transition:color .25s}.foot nav a:hover{color:var(--text)}
.foot .legal{max-width:var(--max);margin:3.5rem auto 0;padding-top:1.625rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.625rem;font-size:.84375rem;color:var(--muted)}
.foot .legal nav{display:flex;flex-wrap:wrap;gap:.375rem 1.375rem}.foot .legal nav a{display:inline;padding:0;font-size:.84375rem}

/* ---------- contact dialog ---------- */
.ce-dialog{margin:auto;width:min(40rem,calc(100% - 1.5rem));max-height:calc(100dvh - 1.5rem);overflow:auto;padding:2.75rem;border-radius:1.5rem;border:1px solid var(--line2);background:var(--card);color:var(--text);box-shadow:0 3rem 8.75rem var(--shadow)}
.ce-dialog::backdrop{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ce-dialog[open]:not(.inline){animation:up .45s var(--ease)}
.ce-dialog-close{position:absolute;top:1.125rem;right:1.125rem;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--line2);background:none;cursor:pointer}
.ce-dialog-close::before,.ce-dialog-close::after{content:"";position:absolute;left:.75rem;right:.75rem;top:1.1875rem;height:1.5px;background:var(--text)}
.ce-dialog-close::before{transform:rotate(45deg)}.ce-dialog-close::after{transform:rotate(-45deg)}
.ce-dialog .kicker{font:600 .71875rem/1 var(--sans);letter-spacing:.14em;color:var(--accent)}
.ce-dialog h2{margin:.875rem 0 .625rem;font-size:2.125rem;line-height:1.08;letter-spacing:-.035em}
.ce-dialog .dlg-sub{color:var(--body);font-size:1rem}
.ce-dialog .topics{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 1.375rem;border:0}
.ce-dialog .topics label{cursor:pointer}
.ce-dialog .topics input{position:absolute;opacity:0;pointer-events:none}
.ce-dialog .topics span{display:inline-block;padding:.625rem 1rem;border-radius:999px;border:1px solid var(--line2);font-size:.90625rem;color:var(--body);transition:all .25s}
.ce-dialog .topics input:checked+span{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.ce-dialog .topics input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.ce-dialog .row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ce-dialog .field{display:block;margin-bottom:.875rem}
.ce-dialog .field span{display:block;margin-bottom:.5rem;font:500 .875rem/1 var(--sans);color:var(--body)}
.ce-dialog input:not([type=radio]):not([type=checkbox]),.ce-dialog textarea{width:100%;padding:.875rem 1rem;border-radius:.875rem;border:1px solid var(--line2);background:var(--field);color:var(--text);font:400 1rem/1.4 var(--sans);resize:vertical;transition:border-color .25s}
.ce-dialog input:focus,.ce-dialog textarea:focus{outline:none;border-color:var(--accent)}
.ce-dialog [aria-invalid=true]{border-color:var(--err-line)!important}
.ce-dialog .err{display:block;margin-top:.375rem;font-size:.84375rem;font-style:normal;color:var(--err)}
.ce-dialog .err:empty{display:none}
.hp{position:absolute!important;left:-9999px}
.ce-dialog .check{display:flex;gap:.625rem;align-items:flex-start;margin-top:.375rem;font-size:.90625rem;color:var(--body);cursor:pointer}
.ce-dialog .check input{margin-top:.25rem;accent-color:var(--accent);width:1rem;height:1rem}
.ce-dialog .dlg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.125rem;margin-top:1.5rem}
.ce-dialog .dlg-alt{font-size:.90625rem;color:var(--muted)}.ce-dialog .dlg-alt a{color:var(--text)}
.ce-dialog .dlg-trust{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.84375rem;color:var(--muted)}
.ce-dialog .dlg-trust a{color:var(--body);text-decoration:underline;text-underline-offset:3px}
.ce-dialog .form-status{margin-top:.75rem;font-size:.90625rem;color:var(--err)}
.ce-dialog .dlg-done{text-align:center;padding:1.875rem 0 .375rem}
.ce-dialog .dlg-check{width:4rem;height:4rem;fill:none;stroke:var(--accent);stroke-width:1.5;margin:0 auto}
.ce-dialog .dlg-done p{color:var(--body);margin:.5rem 0 1.5rem}
.dlg-open body{overflow:hidden}
.ce-dialog.inline{position:static;display:block;width:100%;max-height:none;margin:0;box-shadow:none;border-radius:var(--r);border-color:var(--line)}
.ce-dialog.inline .ce-dialog-close,.ce-dialog.inline .dlg-done .btn{display:none}
.ce-dialog.inline .topics span{padding:.5625rem .875rem;font-size:.875rem}

/* ---------- order ---------- */
.order-sheet{padding-top:4rem}
.order-grid{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:2.5rem;align-items:start}
.oform{min-width:0}
.ostep{display:flex;align-items:center;gap:.75rem;margin:2.5rem 0 1rem;font:600 1.25rem/1.2 var(--display);letter-spacing:-.02em;color:var(--text)}
.ostep:first-child{margin-top:0}
.ostep i{display:grid;place-items:center;width:1.875rem;height:1.875rem;border-radius:50%;border:1px solid var(--ic-line);background:var(--ic);color:var(--accent);font:600 .8125rem/1 var(--sans);font-style:normal}
#order-form .seg{display:inline-flex;gap:.25rem;padding:.25rem;border-radius:999px;border:1px solid var(--line2);background:var(--card);margin-bottom:1rem}
#order-form .seg label{cursor:pointer}
#order-form .seg input{position:absolute;opacity:0;pointer-events:none}
#order-form .seg span{display:inline-block;padding:.625rem 1.125rem;border-radius:999px;font:500 .875rem/1 var(--sans);color:var(--body);transition:all .25s}
#order-form .seg input:checked+span{background:var(--btn);color:var(--btn-ink)}
#order-form .seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.plans-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.625rem}
.popt{cursor:pointer}
.popt input,.picker input{position:absolute;opacity:0;pointer-events:none}
.po{display:flex;flex-direction:column;gap:.5rem;height:100%;padding:1.125rem 1.125rem 1rem;border-radius:1rem;border:1px solid var(--line2);background:var(--card);transition:border-color .25s,box-shadow .25s,background .25s}
.popt:hover .po{border-color:var(--line3)}
.popt input:checked+.po{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:var(--card2)}
.popt input:focus-visible+.po{outline:2px solid var(--accent);outline-offset:2px}
.po-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.po-head b{font:600 1.0625rem/1.2 var(--display);color:var(--text)}
.po-head i{font:600 .625rem/1 var(--sans);font-style:normal;color:var(--on-accent);background:var(--accent);padding:.3125rem .4375rem;border-radius:999px}
.po-price strong{font:600 1.5rem/1 var(--display);letter-spacing:-.02em;color:var(--text)}
.po-price small{margin-left:.25rem;font-size:.8125rem;color:var(--muted)}
.po-spec{font-size:.8125rem;color:var(--muted);line-height:1.45}
.osmall{font-size:.84375rem;color:var(--muted);line-height:1.6}
.ofield{display:block;margin-bottom:.875rem}
.ofield>span{display:flex;flex-wrap:wrap;gap:.375rem;align-items:baseline;margin-bottom:.5rem;font:500 .875rem/1.3 var(--sans);color:var(--body)}
.ofield>span small{font-size:.78125rem;color:var(--muted)}
.ofield input,.ofield select{width:100%;height:3rem;padding:0 1rem;border-radius:.875rem;border:1px solid var(--line2);background:var(--field);color:var(--text);font:400 1rem/1.4 var(--sans);transition:border-color .25s;appearance:none;-webkit-appearance:none}
.ofield select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.25rem) 55%,calc(100% - .9375rem) 55%;background-size:.3125rem .3125rem;background-repeat:no-repeat;padding-right:2.5rem}
.ofield input:focus,.ofield select:focus{outline:none;border-color:var(--accent)}
.ofield [aria-invalid=true],.ofield .invalid{border-color:var(--err-line)!important}
.oerr{display:block;margin-top:.375rem;font-size:.8125rem;font-style:normal;color:var(--err)}
.oerr:empty{display:none}
.orow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ochk{display:flex;gap:.625rem;align-items:flex-start;margin:.75rem 0 .375rem;font-size:.875rem;line-height:1.55;color:var(--body);cursor:pointer}
.ochk input{margin-top:.25rem;accent-color:var(--accent);width:1rem;height:1rem;flex:none}
.ochk a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.picker{display:grid;gap:.625rem}
.picker.two{grid-template-columns:1fr 1fr}
.picker label{cursor:pointer}
.pk{display:block;height:100%;padding:1rem 1.125rem;border-radius:1rem;border:1px solid var(--line2);background:var(--card);transition:border-color .25s,box-shadow .25s}
.pk b{display:block;font:600 .9375rem/1.3 var(--sans);color:var(--text)}
.pk small{display:block;margin-top:.1875rem;font-size:.8125rem;color:var(--muted)}
.picker input:checked+.pk{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.picker input:focus-visible+.pk{outline:2px solid var(--accent);outline-offset:2px}
.osubmit{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.osubmit .button{display:inline-flex;align-items:center;gap:.75rem;height:3.25rem;padding:0 1.5rem;border:0;border-radius:999px;background:var(--btn);color:var(--btn-ink);font:600 .96875rem/1 var(--sans);cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s,background .3s}
.osubmit .button:hover{background:var(--btn-hover);transform:translateY(-1px);box-shadow:0 .875rem 2.5rem var(--shadow)}
.osubmit .button b{font:inherit}
.osubmit .button:disabled{opacity:.55;cursor:wait}
.osubmit .osmall{margin-top:.875rem}
.ostatus{margin-top:.75rem;font-size:.875rem;color:var(--err)}
.ostatus:empty{display:none}
.summary{position:sticky;top:6rem;padding:1.75rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line2);box-shadow:0 1.875rem 5rem var(--shadow)}
.summary h2{font:600 .71875rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1.375rem}
.summary dl{display:grid;gap:.875rem}
.summary .row{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem}
.summary dt{color:var(--muted)}.summary dd{color:var(--text);text-align:right;font-weight:500;overflow-wrap:anywhere}
.summary .total{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.375rem;padding-top:1.125rem;border-top:1px solid var(--line)}
.summary .total span{font-size:.875rem;color:var(--muted)}
.summary .total b{font:600 1.875rem/1 var(--display);letter-spacing:-.03em;color:var(--text)}
.summary .vat{margin-top:.625rem;font-size:.78125rem;color:var(--muted)}
.summary ul{list-style:none;margin-top:1.125rem;padding-top:1rem;border-top:1px solid var(--line);display:grid;gap:.5rem}
.summary li{display:flex;gap:.5rem;font-size:.8125rem;color:var(--body);line-height:1.45}
.summary li::before{content:"";flex:none;width:.375rem;height:.375rem;margin-top:.4375rem;border-radius:50%;background:var(--accent)}
.odone{padding:2rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line2)}
.odone h2,.odone h3{font-size:1.75rem;margin-bottom:.75rem}
.odone p{color:var(--body);margin-bottom:.75rem}
/* Stripe step */
.oembedded[hidden]{display:none}
.stripe-module-head{display:flex;gap:.875rem;align-items:flex-start;margin-bottom:1.375rem}
.stripe-lock{display:grid;place-items:center;flex:0 0 2.375rem;height:2.375rem;border-radius:.6875rem;background:var(--ic);border:1px solid var(--ic-line);color:var(--accent);font-weight:700}
.oembedded .stripe-step{margin:0}
.oembedded .stripe-intro{max-width:40rem;margin:.3125rem 0 0}
.ce-payment-stage{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;background:var(--card)}
.ce-card-side{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.375rem;padding:2.75rem 2rem;background:radial-gradient(circle at 50% 35%,var(--ic),transparent 55%),var(--card2)}
.ce-payment-visual{width:min(100%,22rem);perspective:1200px}
.ce-card-flip{position:relative;width:100%;aspect-ratio:1.62/1;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.75,.2,1)}
.ce-card-flip.is-flipped{transform:rotateY(180deg)}
.ce-card-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:1.25rem;padding:1.5rem;color:#f5f1e8;box-shadow:0 1.75rem 3rem -1.5rem rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.08) inset}
.ce-card-front{background:radial-gradient(circle at 18% 0,rgba(214,185,140,.28),transparent 40%),linear-gradient(145deg,#1b1a17 0,#0f0f10 60%,#1a1813 100%)}
.ce-card-back{transform:rotateY(180deg);background:linear-gradient(145deg,#141414,#1d1b17);display:flex;flex-direction:column}
.ce-card-top,.ce-card-bottom{display:flex;align-items:flex-start;justify-content:space-between}
.ce-card-top b{letter-spacing:.24em;font-size:.875rem}
.ce-contactless{font-weight:700;letter-spacing:-.2em;transform:rotate(90deg);opacity:.75}
.ce-chip{width:2.625rem;height:2rem;margin-top:1.5rem;border-radius:.5rem;background:linear-gradient(135deg,#e5cf98,#a88a52 55%,#f1dfb0);box-shadow:inset 0 0 0 1px rgba(68,47,0,.18)}
.ce-card-number{margin-top:1.25rem;font:600 1.1875rem/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}
.ce-card-bottom{margin-top:1.5rem;align-items:end}
.ce-card-bottom span{display:grid;gap:.1875rem}
.ce-card-bottom small{font-size:.5rem;letter-spacing:.13em;opacity:.58}
.ce-card-bottom b{font-size:.6875rem;letter-spacing:.08em}
.ce-card-bottom strong{font-size:1.25rem;font-style:italic;letter-spacing:-.06em}
.ce-card-stripe{height:3.25rem;background:#050505;margin:1rem -1.5rem 1.375rem}
.ce-card-back-row{display:flex;align-items:center;gap:.75rem}
.ce-card-back-row span{font-size:.5625rem;letter-spacing:.14em;opacity:.6}
.ce-card-back-row b{margin-left:auto;width:4.5rem;padding:.625rem .75rem;border-radius:.375rem;background:#f5f1e8;color:#1a1a1a;text-align:right;letter-spacing:.22em}
.ce-card-back-copy{margin-top:auto;display:flex;align-items:end;justify-content:space-between;gap:1.125rem}
.ce-card-back-copy b{letter-spacing:.22em}
.ce-card-back-copy small{max-width:11rem;text-align:right;line-height:1.35;opacity:.68}
.ce-card-flip-toggle{border:1px solid var(--line2);border-radius:999px;background:var(--card);color:var(--body);padding:.5rem .75rem;font:600 .6875rem/1 var(--sans);cursor:pointer;transition:.2s}
.ce-card-flip-toggle:hover{border-color:var(--accent);color:var(--text)}
.ce-method-visual{min-height:15rem;border-radius:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.875rem;padding:2rem;text-align:center;background:var(--card);border:1px solid var(--line2)}
.ce-method-visual[hidden]{display:none}
.ce-method-visual span{display:grid;place-items:center;min-width:5.375rem;min-height:4rem;padding:.625rem 1.125rem;border-radius:1rem;font:800 1.5rem/1 var(--sans)}
.ce-method-visual strong{font-size:1.75rem;letter-spacing:-.035em;color:var(--text)}
.ce-method-visual small{max-width:15rem;color:var(--muted);line-height:1.5}
.ce-trust-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.625rem}
.ce-trust-badges span{padding:.4375rem .625rem;border:1px solid var(--line2);border-radius:999px;background:var(--card);color:var(--muted);font-size:.6875rem}
.ce-payment-form{padding:2.25rem 2rem;background:var(--card)}
.ce-pay-title{margin-bottom:1.375rem}
.ce-pay-title h3{font-size:1.375rem;margin-bottom:.375rem}
.ce-pay-title p{color:var(--muted);font-size:.8125rem;line-height:1.55}
.stripe-amount-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding:.9375rem 1rem;border:1px solid var(--line2);border-radius:.75rem;background:var(--card2);color:var(--muted);font-size:.8125rem}
.stripe-amount-row b{color:var(--text);font-size:1.375rem;letter-spacing:-.03em}
.stripe-pay-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem;padding:1rem 1.125rem;border:0;border-radius:.75rem;background:var(--btn);color:var(--btn-ink);font:600 .9375rem/1.2 var(--sans);cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}
.stripe-pay-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1rem 1.75rem -1rem var(--shadow)}
.stripe-pay-button:disabled{opacity:.48;cursor:not-allowed}
.stripe-pay-button.is-loading span::after{content:'…'}
.stripe-element-error{min-height:1.25rem;margin-top:.625rem;color:var(--err);font-size:.8125rem}
.stripe-safe-note{margin-top:.8125rem;text-align:center;color:var(--muted);font-size:.75rem}
.thanks{max-width:44rem}
.thanks .lead{margin:1rem 0 1.5rem}

/* ---------- motion ---------- */
@keyframes up{from{opacity:0;transform:translateY(1.75rem)}to{opacity:1;transform:none}}
.js .reveal{opacity:0;transform:translateY(1.625rem);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.js .reveal.in{opacity:1;transform:none}
.js .rise{opacity:0;animation:up 1s var(--ease) forwards;animation-delay:var(--d,0ms)}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  :root{--gut:clamp(20px,4.4vw,48px)}
  h1{font-size:clamp(40px,6.2vw,62px)}h2{font-size:clamp(30px,4.2vw,40px)}
  .sub-hero h1{font-size:clamp(38px,5.6vw,54px)}.sub-hero.short h1{font-size:clamp(34px,5vw,46px)}
  .nav .links,.nav .end .btn{display:none}.burger{display:block}.nav .end{margin-left:auto}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts>div:nth-child(3){padding-left:0;border-left:0}.facts>div:nth-child(n+3){border-top:1px solid var(--line)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps>div:nth-child(3){padding-left:0;border-left:0}.steps>div:nth-child(n+3){margin-top:1.5rem;border-top:1px solid var(--line2)}
  .svc,.plans,.work,.feat,.cases.three{grid-template-columns:1fr 1fr}
  .foot .grid{grid-template-columns:1fr 1fr}.foot .brand{grid-column:1/-1}
  .order-grid{grid-template-columns:1fr}.summary{position:static;order:-1}
  .legal-grid{grid-template-columns:1fr;gap:2rem}.toc{position:static;display:none}
  .contact-grid{grid-template-columns:1fr}
  .ce-payment-stage{grid-template-columns:1fr}
}
@media(max-width:760px){
  body{font-size:1rem}
  .nav .in{height:4.125rem;gap:.875rem}.nav .logo,.nav .logo img{height:1.3125rem}
  .hero{padding-top:6.25rem}
  .hero::before{background:linear-gradient(180deg,rgb(var(--edge)/.55) 0%,rgb(var(--edge)/.2) 14%,rgb(var(--edge)/.5) 28%,rgb(var(--edge)/.86) 50%,rgb(var(--edge)) 100%)}
  h1{font-size:clamp(38px,10.5vw,52px)}h2{font-size:clamp(28px,7.6vw,38px)}
  .hero .acts .btn,.sub-hero .acts .btn,.final .acts .btn{flex:1 1 100%}
  .facts{grid-template-columns:1fr;margin-top:2.5rem}
  .facts>div,.facts>div+div{padding:1.125rem 0;border-left:0;border-top:1px solid var(--line)}
  .facts>div:first-child{border-top:0}
  .sheet{padding:4rem var(--gut)}.sheet.tint+.sheet,.sheet+.sheet.tint{padding-top:4rem}
  .sec-head{grid-template-columns:1fr;gap:1.125rem}.sec-head .lead,.sec-head .side{justify-self:start}
  .svc,.plans,.work,.cases,.cases.three,.feat,.feat.two,.pair{grid-template-columns:1fr}
  .card,.plan{padding:1.5rem 1.25rem}
  .window{min-height:100svh}
  .window::before{background:linear-gradient(180deg,rgb(var(--edge)) 0%,rgb(var(--edge)/.7) 8%,rgb(var(--edge)/.5) 20%,rgb(var(--edge)/.72) 50%,rgb(var(--edge)/.9) 80%,rgb(var(--edge)) 100%)}
  .steps{grid-template-columns:1fr}.steps>div,.steps>div+div{padding:1.25rem 0 0;border-left:0;margin-top:0}.steps>div+div{border-top:1px solid var(--line2);margin-top:1.25rem}
  .case{flex-direction:column;align-items:flex-start}
  .sub-hero{min-height:88svh;padding-top:6.5rem}.sub-hero.short{min-height:62svh}
  .sub-hero::before{background:linear-gradient(180deg,rgb(var(--edge)/.55) 0%,rgb(var(--edge)/.2) 14%,rgb(var(--edge)/.5) 30%,rgb(var(--edge)/.86) 52%,rgb(var(--edge)) 100%)}
  .sub-hero h1{font-size:clamp(34px,9.6vw,46px)}.sub-hero.short h1{font-size:clamp(32px,9vw,42px)}
  .hide-phone{display:none}
  .faq details p{padding-right:0}
  .cta-band{padding:1.75rem 1.5rem}.cta-band .acts .btn{flex:1 1 100%}
  .foot .grid{grid-template-columns:1fr 1fr;gap:1.75rem}
  .ce-dialog{padding:1.75rem 1.25rem}.ce-dialog .row2{grid-template-columns:1fr}
  .plans-pick,.picker.two,.orow{grid-template-columns:1fr}
  .ce-card-side{padding:1.5rem 1rem}.ce-payment-form{padding:1.5rem 1.125rem}
}
@media(hover:none) and (pointer:coarse){.cx-scrolled .nav{-webkit-backdrop-filter:none;backdrop-filter:none}.cx-scrolled .nav{background:var(--bg)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal,.js .rise{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  a.card:hover,.shot:hover,.btn.primary:hover{transform:none}.shot:hover img{transform:none}
}
@media(max-width:760px){.eyebrow{line-height:1.6}.hero .eyebrow,.sub-hero .eyebrow{text-shadow:0 1px 3px rgba(0,0,0,.55),0 1px 16px rgba(0,0,0,.7)}}
