@font-face{font-family:'Geist';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-cyrillic-ext-wght-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Geist';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-cyrillic-wght-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Geist';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-latin-ext-wght-normal.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:'Geist';font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fonts/geist-latin-wght-normal.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:'Geist Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/geist-mono-cyrillic-ext-400-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Geist Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/geist-mono-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Geist Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/geist-mono-latin-ext-400-normal.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:'Geist Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/geist-mono-latin-400-normal.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:'Geist Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/geist-mono-cyrillic-ext-500-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Geist Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/geist-mono-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Geist Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/geist-mono-latin-ext-500-normal.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:'Geist Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/geist-mono-latin-500-normal.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}
/* SN Advisory Redesign 2026 */
:root{
  --bg:#F6F7F5; --bg-2:#EEF0ED; --surface:#FFFFFF; --surface-2:#F1F3F0;
  --ink:#1B1E1C; --ink-2:#343936; --muted:#5E6461; --faint:#8A918C;
  --line:#DADFDA; --line-2:#C7CEC8;
  --accent:#3A7F52; --accent-2:#2F6A44; --accent-ink:#FFFFFF; --accent-soft:#E4EEE7;
  --logo-grey:#6E6E6E; --logo-green:#3A7F52; --plate:#FFFFFF;
  --band-bg:#1B1E1C; --band-ink:#F2F4F1; --band-muted:#A7AEA9; --band-line:#343936;
  --grad-a:#1B1E1C; --grad-b:#6E6E6E;
  --cursor-fill:#151816; --cursor-edge:#F6F7F5;
  --glass:rgba(246,247,245,.78);
  --shadow:0 1px 2px rgba(27,30,28,.05),0 16px 40px -16px rgba(27,30,28,.22);
  --grid-line:rgba(27,30,28,.06);

  --s-25:2px;--s-50:4px;--s-75:8px;--s-100:12px;--s-200:16px;--s-300:24px;--s-400:32px;--s-500:40px;--s-600:48px;--s-700:64px;--s-800:80px;--s-900:96px;
  --r-md:6px;--r-lg:8px;--r-xl:12px;--r-2xl:16px;--r-3xl:24px;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-io:cubic-bezier(0.77,0,0.175,1);
  --ease-drawer:cubic-bezier(0.32,0.72,0,1);
  --font:"Geist",ui-sans-serif,"Segoe UI",system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --wrap:1280px;
  --gutter:clamp(16px,4vw,48px);
  --nav-h:72px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#181818; --bg-2:#1F1F1F; --surface:#1F1F1F; --surface-2:#272727;
    --ink:#EEF1EE; --ink-2:#D2D7D3; --muted:#9FA7A1; --faint:#737A75;
    --line:#313131; --line-2:#3D413E;
    --accent:#5AA878; --accent-2:#7ABF93; --accent-ink:#0D1A12; --accent-soft:#223328;
    --logo-grey:#A9AEAB; --logo-green:#5AA878; --plate:#EEF1EE;
    --band-bg:#272727; --band-ink:#EEF1EE; --band-muted:#9FA7A1; --band-line:#3D413E;
    --grad-a:#FFFFFF; --grad-b:#9B9B9B;
    --cursor-fill:#EEF1EE; --cursor-edge:#181818;
    --glass:rgba(24,24,24,.78);
    --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.6);
    --grid-line:rgba(238,241,238,.05);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#181818; --bg-2:#1F1F1F; --surface:#1F1F1F; --surface-2:#272727;
  --ink:#EEF1EE; --ink-2:#D2D7D3; --muted:#9FA7A1; --faint:#737A75;
  --line:#313131; --line-2:#3D413E;
  --accent:#5AA878; --accent-2:#7ABF93; --accent-ink:#0D1A12; --accent-soft:#223328;
  --logo-grey:#A9AEAB; --logo-green:#5AA878; --plate:#EEF1EE;
  --band-bg:#272727; --band-ink:#EEF1EE; --band-muted:#9FA7A1; --band-line:#3D413E;
  --grad-a:#FFFFFF; --grad-b:#9B9B9B;
  --cursor-fill:#EEF1EE; --cursor-edge:#181818;
  --glass:rgba(24,24,24,.78);
  --shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -16px rgba(0,0,0,.6);
  --grid-line:rgba(238,241,238,.05);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:24px;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
html.theming body, html.theming body *{transition:background-color .45s var(--ease-out),color .45s var(--ease-out),border-color .45s var(--ease-out),fill .45s var(--ease-out),stroke .45s var(--ease-out)!important}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3,h4{text-wrap:balance;font-weight:600;letter-spacing:-.02em}
p,li,dd{text-wrap:pretty}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.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}
.skip{position:fixed;left:16px;top:-80px;z-index:200;background:var(--accent);color:var(--accent-ink);padding:12px 16px;border-radius:var(--r-lg);font-weight:600;transition:transform .2s var(--ease-out)}
.skip:focus{transform:translateY(96px)}

.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.ic{width:20px;height:20px;fill:currentColor;flex:none}
.ic-sm{width:16px;height:16px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}

/* type */
.t-xs{font-size:12px;line-height:16px}.t-sm{font-size:14px;line-height:20px}.t-base{font-size:16px;line-height:24px}
.t-lg{font-size:18px;line-height:28px}.t-xl{font-size:20px;line-height:28px}.t-2xl{font-size:24px;line-height:32px}
.t-3xl{font-size:30px;line-height:36px}.t-4xl{font-size:36px;line-height:40px}
.t-5xl{font-size:48px;line-height:1}.t-6xl{font-size:60px;line-height:1}.t-7xl{font-size:72px;line-height:1}
.t-8xl{font-size:96px;line-height:1}.t-9xl{font-size:128px;line-height:1}
.muted{color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--accent);border-radius:2px;flex:none}
.h2{font-size:48px;line-height:1;letter-spacing:-.035em;font-weight:600}
.lead{font-size:18px;line-height:28px;color:var(--muted);max-width:60ch}
@media (max-width:899px){.h2{font-size:36px;line-height:40px}}
@media (max-width:520px){.h2{font-size:30px;line-height:36px}}

/* buttons */
.btn{--bh:48px;position:relative;display:inline-flex;align-items:center;gap:12px;height:var(--bh);padding:0 24px;border-radius:var(--r-lg);
  font-weight:600;font-size:16px;line-height:24px;background:var(--accent);color:var(--accent-ink);
  transition:background-color .2s var(--ease-out),transform .45s var(--ease-out),box-shadow .2s var(--ease-out);isolation:isolate;overflow:hidden;white-space:nowrap}
.btn .ic{width:18px;height:18px;transition:transform .3s var(--ease-out)}
.btn::after{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .45s var(--ease-drawer);z-index:-1}
.btn span,.btn .ic{position:relative}
.btn:active{transform:scale(.97)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-ghost::after{background:var(--ink)}
.btn-sm{--bh:40px;padding:0 16px;font-size:14px;line-height:20px;gap:8px}
.btn-sm .ic{width:16px;height:16px}
.on-band .btn-ghost{color:var(--band-ink);box-shadow:inset 0 0 0 1px var(--band-line)}
.on-band .btn-ghost::after,.on-band .btn::after{background:var(--band-ink)}
@media (hover:hover) and (pointer:fine){
  .btn:hover::after{transform:translateY(0)}
  .btn:hover{color:var(--bg)}
  .on-band .btn:hover,.on-band .btn-ghost:hover{color:var(--band-bg)}
  .btn:hover .ic{transform:translateX(4px)}
}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);position:relative}
.link::after{content:"";position:absolute;left:0;right:28px;bottom:-4px;height:1px;background:currentColor;transform-origin:left;transform:scaleX(.35);transition:transform .45s var(--ease-drawer)}
.link .ic{width:18px;height:18px;transition:transform .3s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.link:hover::after{transform:scaleX(1)}.link:hover .ic{transform:translateX(4px)}}

/* ---------- nav ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:60;padding-top:calc(env(safe-area-inset-top,0px) + 16px);pointer-events:none}
.nav-in{pointer-events:auto;position:relative;height:var(--nav-h);display:flex;align-items:center;gap:24px;padding-inline:24px;
  max-width:calc(var(--wrap) + 48px);margin-inline:auto;width:calc(100% - 2 * max(8px, var(--gutter) - 24px))}
.nav-in::before{content:"";position:absolute;inset:0;border-radius:var(--r-2xl);background:var(--glass);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:inset 0 0 0 1px var(--line),var(--shadow);opacity:0;transform:scale(.97,.9);transition:opacity .5s var(--ease-drawer),transform .6s var(--ease-drawer);z-index:-1}
.nav.scrolled .nav-in::before,.nav.solid .nav-in::before{opacity:1;transform:none}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;transition:transform .6s var(--ease-drawer);transform-origin:left center}
.brand svg{width:38px;height:33px}
.brand-word{font-family:var(--font);font-weight:400;font-size:18px;line-height:28px;letter-spacing:.02em;color:var(--ink)}
.nav:not(.scrolled):not(.solid) .brand{transform:scale(1.12)}
.nav-links{display:flex;gap:4px;margin-left:auto}
.nav-links a{position:relative;padding:8px 12px;font-size:14px;line-height:20px;font-weight:500;color:var(--ink-2);border-radius:var(--r-lg);transition:color .2s var(--ease-out)}
.nav-links a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-drawer)}
.nav-links a[aria-current="true"]{color:var(--ink)}
.nav-links a[aria-current="true"]::after{transform:scaleX(1)}
@media (hover:hover) and (pointer:fine){.nav-links a:hover{color:var(--ink)}.nav-links a:hover::after{transform:scaleX(1)}}
.nav-tools{display:flex;align-items:center;gap:12px}
.theme-btn{position:relative;width:40px;height:40px;border-radius:var(--r-lg);display:grid;place-items:center;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .2s var(--ease-out)}
.theme-btn .ic{position:absolute;transition:transform .5s var(--ease-drawer),opacity .3s var(--ease-out)}
.theme-btn .i-moon{transform:rotate(-90deg) scale(.6);opacity:0}
.is-dark .theme-btn .i-sun{transform:rotate(90deg) scale(.6);opacity:0}
.is-dark .theme-btn .i-moon{transform:none;opacity:1}
@media (hover:hover) and (pointer:fine){.theme-btn:hover{background:var(--surface-2)}}
.burger{display:none;width:40px;height:40px;border-radius:var(--r-lg);position:relative;box-shadow:inset 0 0 0 1px var(--line)}
.burger i{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .45s var(--ease-drawer),opacity .2s var(--ease-out)}
.burger i:nth-child(1){top:14px}.burger i:nth-child(2){top:19.25px}.burger i:nth-child(3){top:24.5px}
.menu-open .burger i:nth-child(1){transform:translateY(5.25px) rotate(45deg)}
.menu-open .burger i:nth-child(2){opacity:0;transform:scaleX(.2)}
.menu-open .burger i:nth-child(3){transform:translateY(-5.25px) rotate(-45deg)}
@media (max-width:1079px){.nav-links,.nav-cta{display:none}.burger{display:block}.nav-tools{margin-left:auto}.nav-in{padding-inline:16px}}
.mmenu{position:fixed;inset:0;z-index:55;background:var(--glass);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);
  padding:calc(env(safe-area-inset-top,0px) + 120px) var(--gutter) calc(env(safe-area-inset-bottom,0px) + 32px);display:flex;flex-direction:column;gap:32px;
  opacity:0;visibility:hidden;transition:opacity .45s var(--ease-drawer),visibility 0s linear .45s}
.menu-open .mmenu{opacity:1;visibility:visible;transition:opacity .45s var(--ease-drawer)}
.mmenu nav{display:flex;flex-direction:column}
.mmenu nav a{font-size:36px;line-height:40px;font-weight:600;letter-spacing:-.03em;padding:8px 0;display:flex;align-items:baseline;gap:16px;
  transform:translateY(48px);opacity:0;transition:transform .7s var(--ease-drawer),opacity .5s var(--ease-out)}
.mmenu nav a span{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted);font-weight:400;letter-spacing:0}
.menu-open .mmenu nav a{transform:none;opacity:1}
.mmenu nav a:nth-child(1){transition-delay:.1s}.mmenu nav a:nth-child(2){transition-delay:.15s}.mmenu nav a:nth-child(3){transition-delay:.2s}
.mmenu nav a:nth-child(4){transition-delay:.25s}.mmenu nav a:nth-child(5){transition-delay:.3s}.mmenu nav a:nth-child(6){transition-delay:.35s}
.mmenu-foot{margin-top:auto;display:flex;flex-direction:column;gap:16px;color:var(--muted)}

/* ---------- loader ---------- */
.loader{display:none}
.js .loader{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;place-items:center;
  animation:loaderFailsafe 0s linear 3s forwards}
.loader-mark{display:flex;align-items:center;gap:16px}
.loader svg{width:92px;height:80px;overflow:visible}
.loader .lg-n{clip-path:inset(100% 0 0 0);animation:clipUp .9s var(--ease-drawer) .1s forwards}
.loader .lg-s{clip-path:inset(0 0 100% 0);animation:clipDown .9s var(--ease-drawer) .25s forwards}
.loader-word{font-size:36px;line-height:40px;letter-spacing:.04em;font-weight:400;display:flex;overflow:hidden}
.loader-word span{display:inline-block;transform:translateY(110%);animation:rise .7s var(--ease-drawer) forwards}
.loader.out{animation:loaderOut .75s var(--ease-io) forwards}
@keyframes clipUp{to{clip-path:inset(0 0 0 0)}}
@keyframes clipDown{to{clip-path:inset(0 0 0 0)}}
@keyframes rise{to{transform:none}}
@keyframes loaderOut{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes loaderFailsafe{to{visibility:hidden;opacity:0;pointer-events:none}}
@media (prefers-reduced-motion:reduce){.js .loader{animation:loaderFailsafe .3s linear .2s forwards}.loader .lg-n,.loader .lg-s{clip-path:none;animation:none}.loader-word span{transform:none;animation:none}}

/* ---------- page wipe ---------- */
.wipe{position:fixed;inset:0;z-index:250;pointer-events:none;visibility:hidden}
.wipe.on{visibility:visible;pointer-events:auto}
.wipe i{position:absolute;inset:0;transform:translateY(101%)}
.wipe .w1{background:var(--accent)}
.wipe .w2{background:var(--band-bg)}
.wipe .wipe-plane{position:absolute;left:0;top:0;width:72px;height:72px;opacity:0}
.wipe .wipe-plane path{fill:var(--band-ink)}
.wipe .wipe-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--band-ink);font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:0}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:400;pointer-events:none;width:32px;height:32px;display:none;will-change:transform}
.has-cursor .cursor{display:block}
.has-cursor, .has-cursor *{cursor:none!important}
.has-cursor input:not([type=checkbox]):not([type=radio]),.has-cursor textarea{cursor:text!important}
.cursor-body{position:absolute;inset:0;transform-origin:30px 2px;transition:transform .35s var(--ease-out),opacity .25s var(--ease-out)}
.cursor svg{width:32px;height:32px;overflow:visible;display:block}
.cursor .cp-body{fill:var(--cursor-fill);stroke:var(--cursor-edge);stroke-width:1.1;stroke-linejoin:round}
.cursor .cp-fold{fill:var(--cursor-fill);opacity:.72}
.cursor .cp-crease{stroke:var(--cursor-edge);stroke-width:.8;opacity:.35;fill:none}
.cursor-ring{position:absolute;left:30px;top:2px;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--accent);
  transform:scale(.3);opacity:0;transition:transform .4s var(--ease-out),opacity .25s var(--ease-out)}
.cursor-label{position:absolute;left:40px;top:18px;padding:4px 8px;border-radius:var(--r-md);background:var(--ink);color:var(--bg);font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.06em;white-space:nowrap;
  opacity:0;transform:translateY(4px);transition:opacity .2s var(--ease-out),transform .3s var(--ease-out)}
.cursor.is-hover .cursor-body{transform:scale(1.3) rotate(-10deg)}
.cursor.is-hover .cursor-ring{transform:scale(1);opacity:1}
.cursor.is-view .cursor-body{transform:scale(1.55) rotate(-4deg);opacity:.9}
.cursor.is-view .cursor-label{opacity:1;transform:none}
.cursor.is-down .cursor-body{transform:scale(.82) translate(-3px,3px)}
.cursor.is-text .cursor-body,.cursor.is-out .cursor-body{opacity:0}

/* ---------- reveal system ---------- */
.motion [data-reveal]{opacity:0;transform:translateY(48px);filter:blur(8px);transition:opacity .9s var(--ease-drawer),transform 1s var(--ease-drawer),filter .9s var(--ease-drawer);transition-delay:var(--d,0s)}
.motion [data-reveal].in{opacity:1;transform:none;filter:none}
.motion [data-reveal="fade"]{transform:none;filter:none}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .wi{display:inline-block}
.motion .split:not(.in) .wi{transform:translateY(110%)}
.motion .split .wi{transition:transform 1s var(--ease-drawer);transition-delay:calc(var(--i,0) * 55ms + var(--d,0s))}
.motion [data-clip]:not(.in){background:transparent}
.motion [data-clip] img{clip-path:inset(100% 0 0 0);transform:scale(1.18);transition:clip-path 1.2s var(--ease-io),transform 1.6s var(--ease-drawer)}
.motion [data-clip].in img{clip-path:inset(0 0 0 0);transform:none}
@media (prefers-reduced-motion:reduce){
  .motion [data-reveal]{transform:none;filter:none;transition:opacity .4s ease}
}

/* ---------- hero ---------- */
.hero{position:relative;padding-top:calc(var(--nav-h) + 96px);padding-bottom:64px;overflow:clip}
.hero-grid-bg{position:absolute;inset:0;pointer-events:none;color:var(--grid-line)}
.hero-grid-bg svg{width:100%;height:100%}
.hero-in{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.hero-copy{grid-column:1 / span 7;display:flex;flex-direction:column;gap:32px;padding-bottom:16px}
.hero h1{font-size:128px;line-height:1;letter-spacing:-.055em;font-weight:600;max-width:680px}
.hero h1 .ln{display:block}
.hero h1 .grad .wi{background:linear-gradient(90deg,var(--grad-a),var(--grad-b));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.hero h1 .acc .wi{color:var(--accent)}
.hero-sub{font-size:20px;line-height:28px;color:var(--muted);max-width:560px}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.hero-proof{display:flex;align-items:center;gap:12px;font-size:14px;line-height:20px;color:var(--muted)}
.hero-proof b{font-family:var(--mono);color:var(--ink);font-weight:500}
.hero-media{grid-column:8 / span 5;position:relative}
.frame{position:relative;aspect-ratio:4/5;border-radius:var(--r-2xl);overflow:hidden;background:var(--bg-2);max-width:100%}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame .slide{clip-path:inset(0 0 0 100%);transition:clip-path 1.1s var(--ease-io)}
.frame .slide img{transform:scale(1.12);transition:transform 2.4s var(--ease-drawer)}
.frame .slide.on{clip-path:inset(0 0 0 0)}
.frame .slide.on img{transform:none}
.frame .slide.base{clip-path:none}
.reg{position:absolute;width:16px;height:16px;color:var(--faint)}
.reg::before,.reg::after{content:"";position:absolute;background:currentColor}
.reg::before{left:7.5px;top:0;width:1px;height:16px}.reg::after{top:7.5px;left:0;height:1px;width:16px}
.reg.tl{left:-24px;top:-24px}.reg.tr{right:-24px;top:-24px}.reg.bl{left:-24px;bottom:-24px}.reg.br{right:-24px;bottom:-24px}
.frame-tag{position:absolute;left:16px;bottom:16px;right:16px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;z-index:3;color:#fff}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-lg);background:rgba(17,20,18,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:14px;line-height:20px;font-weight:500;color:#fff}
.chip .mono{opacity:.7;font-size:12px}
.topic{display:inline-grid;overflow:hidden}
.topic span{grid-area:1/1;transition:transform .7s var(--ease-drawer),opacity .5s var(--ease-out)}
.topic span:not(.on){transform:translateY(100%);opacity:0}
.topic span.was{transform:translateY(-100%);opacity:0}
.float-stat{position:absolute;left:-64px;top:48px;z-index:4;background:var(--surface);border-radius:var(--r-xl);padding:16px;box-shadow:var(--shadow),inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:4px;min-width:176px}
.float-stat b{font-family:var(--mono);font-size:30px;line-height:36px;font-weight:500;color:var(--accent)}
.float-stat > span{font-size:12px;line-height:16px;color:var(--muted)}
.growth{position:absolute;left:0;right:0;bottom:120px;height:260px;pointer-events:none}
.growth svg{width:100%;height:100%;overflow:visible}
.growth .gl{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.55}
.growth .gd{fill:var(--bg);stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}
.motion .growth .gl{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--ease-io) .6s}
.motion .hero.go .growth .gl{stroke-dashoffset:0}
.motion .growth .gd{opacity:0;transition:opacity .4s var(--ease-out)}
.motion .hero.go .growth .gd{opacity:1}
.hero-stats{position:relative;margin-top:64px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);padding-top:24px}
.hero-stats div{display:flex;flex-direction:column;gap:4px}
.hero-stats b{font-family:var(--mono);font-size:30px;line-height:36px;font-weight:500}
.hero-stats div > span{font-size:14px;line-height:20px;color:var(--muted)}
.hero-stats .hs-tag{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
@media (max-width:1279px){.hero h1{font-size:96px}.float-stat{left:-24px}}
@media (max-width:899px){
  .hero{padding-top:calc(var(--nav-h) + 64px)}
  .hero-copy,.hero-media{grid-column:1 / -1}
  .hero h1{font-size:72px}
  .hero-media{max-width:520px}
  .float-stat{left:auto;right:16px;top:16px}
  .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reg{display:none}
}
@media (max-width:520px){.hero h1{font-size:60px}.hero-sub{font-size:18px;line-height:28px}}

/* ---------- marquee ---------- */
.band-marquee{border-block:1px solid var(--line);padding:24px 0;overflow:hidden;position:relative}
.mq{display:flex;width:max-content;animation:mq 48s linear infinite}
.mq-set{display:flex;align-items:center;gap:40px;padding-right:40px}
.mq-set span{font-size:36px;line-height:40px;font-weight:500;letter-spacing:-.03em;white-space:nowrap;color:var(--ink-2)}
.mq-set svg{width:20px;height:20px;fill:var(--accent);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}
@media (max-width:520px){.mq-set span{font-size:24px;line-height:32px}}

/* ---------- sections ---------- */
.sec{padding-block:128px}
.sec-sm{padding-block:96px}
@media (max-width:899px){.sec{padding-block:96px}.sec-sm{padding-block:64px}}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-bottom:64px;align-items:end}
.sec-head .sh-l{grid-column:1 / span 7;display:flex;flex-direction:column;gap:24px}
.sec-head .sh-r{grid-column:9 / span 4;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
@media (max-width:899px){.sec-head .sh-l,.sec-head .sh-r{grid-column:1 / -1}.sec-head{margin-bottom:48px}}

/* ---------- expertise list ---------- */
.xp{border-top:1px solid var(--line)}
.xp-item{border-bottom:1px solid var(--line);position:relative}
.xp-item::before{content:"";position:absolute;inset:0;background:var(--surface);opacity:0;transition:opacity .4s var(--ease-out);z-index:-1;border-radius:var(--r-2xl)}
.xp-item.open::before{opacity:1}
.xp-btn{width:100%;display:grid;grid-template-columns:96px minmax(0,1fr) auto 48px;gap:24px;align-items:center;padding:32px 24px;text-align:left}
.xp-no{font-family:var(--mono);font-size:14px;line-height:20px;color:var(--muted);transform-origin:left center;transition:transform .6s var(--ease-drawer),color .3s var(--ease-out)}
.xp-title{font-size:48px;line-height:1;letter-spacing:-.035em;font-weight:600;transition:transform .6s var(--ease-drawer),color .3s var(--ease-out)}
.xp-kw{font-size:14px;line-height:20px;color:var(--muted)}
.xp-plus{width:48px;height:48px;border-radius:var(--r-lg);display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-2);transition:transform .5s var(--ease-drawer),background-color .3s var(--ease-out),color .3s var(--ease-out)}
.xp-item.open .xp-plus{transform:rotate(45deg);background:var(--accent);color:var(--accent-ink);box-shadow:none}
.xp-item.open .xp-no{transform:scale(2.2);color:var(--accent)}
@media (hover:hover) and (pointer:fine){.xp-btn:hover .xp-title{transform:translateX(12px)}.xp-btn:hover .xp-no{color:var(--accent)}}
.xp-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease-drawer)}
.xp-item.open .xp-panel{grid-template-rows:1fr}
.xp-panel > div{overflow:hidden}
.xp-body{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:0 24px 40px}
.xp-body .xb-txt{grid-column:2;display:flex;flex-direction:column;gap:24px}
.xp-body .xb-img{grid-column:3;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:16/10;background:var(--bg-2)}
.xp-body .xb-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1.4s var(--ease-drawer)}
.xp-item.open .xb-img img{transform:none}
.xp-body > *{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .7s var(--ease-drawer)}
.xp-item.open .xp-body > *{opacity:1;transform:none;transition-delay:.15s}
.xp-item.open .xp-body > .xb-img{transition-delay:.25s}
.pts{display:flex;flex-direction:column;gap:16px}
.pts li{display:grid;grid-template-columns:16px 1fr;gap:12px;font-size:16px;line-height:24px;color:var(--muted)}
.pts li::before{content:"";width:8px;height:8px;margin-top:8px;background:var(--accent);border-radius:2px}
.pts b{color:var(--ink);font-weight:600}
@media (max-width:899px){
  .xp-btn{grid-template-columns:48px minmax(0,1fr) 40px;padding:24px 8px;gap:12px}
  .xp-kw{display:none}
  .xp-title{font-size:30px;line-height:36px}
  .xp-plus{width:40px;height:40px}
  .xp-item.open .xp-no{transform:scale(1.4)}
  .xp-body{grid-template-columns:1fr;padding:0 8px 32px}
  .xp-body .xb-txt,.xp-body .xb-img{grid-column:1}
}

/* ---------- band CTA ---------- */
.band{background:var(--band-bg);color:var(--band-ink);border-radius:var(--r-3xl);padding:64px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;position:relative;overflow:hidden;isolation:isolate}
.band .b-l{grid-column:1 / span 8;display:flex;flex-direction:column;gap:24px}
.band .b-r{grid-column:9 / span 4;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.band h2{font-size:48px;line-height:1;letter-spacing:-.035em}
.band h2 em{font-style:normal;color:var(--band-muted)}
.band p{color:var(--band-muted);font-size:18px;line-height:28px}
.band .eyebrow{color:var(--band-muted)}
.band-lines{position:absolute;inset:0;z-index:-1;color:var(--band-line);opacity:.9}
.band-lines svg{width:100%;height:100%}
.band-lines .bl-move{animation:drift 22s linear infinite}
@keyframes drift{to{transform:translateX(-60px)}}
@media (max-width:899px){.band{padding:40px 24px}.band .b-l,.band .b-r{grid-column:1 / -1}.band h2{font-size:36px;line-height:40px}}

/* ---------- tagline ---------- */
.tagline{padding-block:160px}
.tagline p{font-size:60px;line-height:1.05;letter-spacing:-.04em;font-weight:500;max-width:1080px}
.tagline .tw{color:var(--ink);transition:color .6s var(--ease-drawer)}
.motion .tagline .tw{color:color-mix(in srgb,var(--ink) 22%,var(--bg))}
.motion .tagline .tw.on{color:var(--ink)}
.motion .tagline .tw.acc.on{color:var(--accent)}
@media (max-width:1079px){.tagline p{font-size:48px}}
@media (max-width:899px){.tagline{padding-block:96px}.tagline p{font-size:36px;line-height:40px}}
@media (max-width:520px){.tagline p{font-size:30px;line-height:36px}}

/* ---------- strengths ---------- */
.st{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.st-media{grid-column:1 / span 5;position:sticky;top:calc(var(--nav-h) + 48px);height:min(72vh,680px);align-self:start;border-radius:var(--r-2xl);overflow:hidden;background:var(--bg-2)}
.st-media figure{position:absolute;inset:0;clip-path:inset(100% 0 0 0);transition:clip-path 1s var(--ease-io)}
.st-media figure.on{clip-path:inset(0 0 0 0)}
.st-media figure.past{clip-path:inset(0 0 0 0)}
.st-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 1.6s var(--ease-drawer)}
.st-media figure.on img{transform:none}
.st-count{position:absolute;left:16px;top:16px;z-index:5;color:#fff}
.st-list{grid-column:7 / span 6;display:flex;flex-direction:column}
.st-item{min-height:62vh;display:flex;flex-direction:column;justify-content:center;gap:24px;padding-block:48px;border-top:1px solid var(--line);opacity:.32;transition:opacity .6s var(--ease-out)}
.st-item.on{opacity:1}
.st-item .no{font-family:var(--mono);font-size:14px;line-height:20px;color:var(--accent)}
.st-item h3{font-size:48px;line-height:1;letter-spacing:-.035em}
.st-item p{font-size:18px;line-height:28px;color:var(--muted);max-width:52ch}
.st-item .st-img{display:none}
@media (max-width:899px){
  .st-media{display:none}
  .st-list{grid-column:1 / -1}
  .st-item{min-height:0;opacity:1;padding-block:40px}
  .st-item h3{font-size:30px;line-height:36px}
  .st-item .st-img{display:block;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3}
  .st-item .st-img img{width:100%;height:100%;object-fit:cover}
}

/* ---------- trust ---------- */
.trust{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.trust-big{grid-column:1 / span 7;display:flex;flex-direction:column;gap:24px}
.big-num{font-family:var(--font);font-size:128px;line-height:1;letter-spacing:-.06em;font-weight:600;font-variant-numeric:tabular-nums;display:flex;align-items:flex-start}
.big-num small{font-size:60px;line-height:1;margin-top:12px;color:var(--accent)}
.trust-txt{grid-column:8 / span 5;display:flex;flex-direction:column;gap:24px}
.trust-txt p.t-3xl{letter-spacing:-.02em}
.meter{height:4px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:8px}
.meter i{display:block;height:100%;background:var(--accent);transform-origin:left;transform:scaleX(.97);transition:transform 2s var(--ease-io)}
.motion .meter i{transform:scaleX(0)}
.motion .in .meter i{transform:scaleX(.97)}
.stats{margin-top:96px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.stat{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:12px}
.stat b{font-family:var(--mono);font-size:48px;line-height:1;font-weight:500;letter-spacing:-.04em}
.stat h3{font-size:16px;line-height:24px;font-weight:600;letter-spacing:0}
.stat p{font-size:14px;line-height:20px;color:var(--muted)}
@media (max-width:899px){
  .trust-big,.trust-txt{grid-column:1 / -1}
  .big-num{font-size:96px}.big-num small{font-size:48px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:64px}
}
@media (max-width:520px){.stats{grid-template-columns:1fr}}

/* ---------- logos ---------- */
.logos-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.lg-rows{display:flex;flex-direction:column;gap:16px;overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lg-row{display:flex;width:max-content;animation:mq 60s linear infinite}
.lg-row.rev{animation-direction:reverse;animation-duration:70s}
.lg-rows:hover .lg-row{animation-play-state:paused}
.lg-set{display:flex;gap:16px;padding-right:16px}
.plate{position:relative;width:224px;height:112px;border-radius:var(--r-xl);background:var(--plate);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;padding:20px 28px;
  transition:opacity .35s var(--ease-out),transform .45s var(--ease-out)}
.plate img{max-height:64px;max-width:100%;width:auto;object-fit:contain}
.plate .pl-name{position:absolute;left:12px;bottom:8px;font-family:var(--mono);font-size:12px;line-height:16px;color:#5E6461;opacity:0;transform:translateY(4px);transition:opacity .25s var(--ease-out),transform .3s var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .lg-rows:hover .plate{opacity:.4}
  .lg-rows .plate:hover{opacity:1;transform:scale(1.05)}
  .plate:hover .pl-name{opacity:1;transform:none}
}
.lg-grid{display:none}
@media (max-width:899px){
  .lg-rows{display:none}
  .lg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .lg-grid .plate{width:auto;height:96px}
}

/* ---------- portfolio ---------- */
.pf-pin{position:relative}
.pf-sticky{position:relative}
.pf-head{margin-bottom:48px}
.pf-fach{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pf-fach .lbl{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-right:8px}
.tag{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line-2);font-size:14px;line-height:20px;color:var(--ink-2)}
.pf-track{display:flex;gap:24px;padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.pf-track::-webkit-scrollbar{display:none}
.pf-card{flex:none;width:min(360px,78vw);scroll-snap-align:start;display:flex;flex-direction:column;gap:16px}
.pf-img{position:relative;aspect-ratio:3/4;border-radius:var(--r-2xl);overflow:hidden;background:var(--bg-2)}
.pf-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-drawer)}
.pf-img .pf-no{position:absolute;left:12px;top:12px}
@media (hover:hover) and (pointer:fine){.pf-card:hover .pf-img img{transform:scale(1.05)}.pf-card:hover .pf-go .ic{transform:translate(3px,-3px)}}
.pf-meta{display:flex;flex-direction:column;gap:8px}
.pf-meta .t{font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.pf-meta h3{font-size:20px;line-height:28px;letter-spacing:-.01em}
.pf-meta p{font-size:14px;line-height:20px;color:var(--muted)}
.pf-go{display:inline-flex;gap:8px;align-items:center;font-size:14px;line-height:20px;font-weight:600}
.pf-go .ic{width:16px;height:16px;transition:transform .3s var(--ease-out)}
.pf-end{flex:none;width:min(360px,78vw);aspect-ratio:3/4;border-radius:var(--r-2xl);background:var(--accent);color:var(--accent-ink);padding:32px;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:start}
.pf-end h3{font-size:36px;line-height:40px;letter-spacing:-.03em}
.pf-end .btn{background:var(--accent-ink);color:var(--accent)}
.pf-progress{margin-top:32px;height:2px;background:var(--line);position:relative;overflow:hidden;border-radius:2px}
.pf-progress i{position:absolute;inset:0;background:var(--ink);transform-origin:left;transform:scaleX(0)}
/* pinned mode */
.pf-pinned .pf-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding-top:calc(var(--nav-h) + 16px)}
.pf-pinned .pf-track{overflow:visible;scroll-snap-type:none;will-change:transform;padding-right:calc(var(--gutter) + 8vw)}
.pf-pinned .pf-card{width:clamp(300px,24vw,380px)}
.pf-pinned .pf-end{width:clamp(300px,24vw,380px)}
.pf-pinned .pf-head{margin-bottom:40px}
@media (max-height:760px){.pf-pinned .pf-card,.pf-pinned .pf-end{width:clamp(260px,20vw,320px)}}

/* ---------- testimonials ---------- */
.tm{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.tm-l{grid-column:1 / span 4;display:flex;flex-direction:column;gap:24px}
.tm-l .h2{font-size:36px;line-height:40px}
.tm-r{grid-column:6 / span 7;display:flex;flex-direction:column;gap:40px}
.tm-quote-mark{font-size:128px;line-height:.7;color:var(--accent);font-weight:600;height:64px}
.tm-view{overflow:hidden}
.tm-track{display:flex;transition:transform .9s var(--ease-io)}
.tm-slide{flex:0 0 100%;padding-right:24px}
.tm-slide blockquote{font-size:36px;line-height:40px;letter-spacing:-.025em;font-weight:500;max-width:32ch;transition:opacity .6s var(--ease-out)}
.tm-slide:not(.on) blockquote{opacity:.15}
.tm-slide figcaption{margin-top:32px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;line-height:20px}
.tm-slide figcaption::before{content:"";width:32px;height:1px;background:var(--line-2)}
.tm-ctrl{display:flex;align-items:center;gap:16px}
.tm-ctrl button{width:48px;height:48px;border-radius:var(--r-lg);display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-2);transition:background-color .2s var(--ease-out),color .2s var(--ease-out),transform .15s var(--ease-out)}
.tm-ctrl button:active{transform:scale(.95)}
@media (hover:hover) and (pointer:fine){.tm-ctrl button:hover{background:var(--ink);color:var(--bg)}}
.tm-bars{display:flex;gap:8px;flex:1;max-width:240px}
.tm-bars i{flex:1;height:2px;background:var(--line);position:relative;overflow:hidden;border-radius:2px}
.tm-bars i::after{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left}
.tm-bars i.done::after{transform:scaleX(1)}
.tm-bars i.on::after{animation:bar var(--dur,7s) linear forwards}
.tm-paused .tm-bars i.on::after{animation-play-state:paused}
@keyframes bar{to{transform:scaleX(1)}}
@media (max-width:899px){.tm-l,.tm-r{grid-column:1 / -1}.tm-slide blockquote{font-size:24px;line-height:32px}.tm-quote-mark{font-size:96px;height:48px}}

/* ---------- about ---------- */
.about-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:64px}
.about-hero h2{grid-column:1 / span 8;font-size:96px;line-height:1;letter-spacing:-.05em}
.about-hero h2 .heart{display:inline-block;width:.72em;height:.72em;vertical-align:-.02em;color:var(--accent)}
.about-hero h2 .heart svg{width:100%;height:100%;fill:currentColor}
.motion .about-hero h2 .heart svg{animation:beat 2.4s var(--ease-out) infinite}
@keyframes beat{0%,60%,100%{transform:scale(1)}20%{transform:scale(1.12)}40%{transform:scale(.98)}}
.about-hero .ah-r{grid-column:9 / span 4;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.about-img{border-radius:var(--r-3xl);overflow:hidden;aspect-ratio:21/9;background:var(--bg-2);position:relative}
.about-img img{width:100%;height:124%;object-fit:cover;position:absolute;top:-12%;left:0;will-change:transform}
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.person{display:flex;flex-direction:column;gap:16px}
.person .ph{aspect-ratio:4/5;border-radius:var(--r-2xl);overflow:hidden;background:var(--bg-2)}
.person .ph img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1s var(--ease-drawer)}
@media (hover:hover) and (pointer:fine){.person:hover .ph img{transform:scale(1.04)}}
.person h4{font-size:24px;line-height:32px;letter-spacing:-.02em}
.person p{font-size:14px;line-height:20px;color:var(--muted)}
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:40px}
.value{padding:32px 24px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:12px;transition:transform .5s var(--ease-drawer)}
@media (hover:hover) and (pointer:fine){.value:hover{transform:translateY(-4px)}}
.value h4{font-size:24px;line-height:32px;display:flex;align-items:center;gap:12px}
.value h4::before{content:"";width:8px;height:8px;background:var(--accent);border-radius:2px}
.value p{font-size:16px;line-height:24px;color:var(--muted)}
.sub-head{display:flex;flex-direction:column;gap:16px;margin-top:96px}
.sub-head h3{font-size:36px;line-height:40px;letter-spacing:-.03em}
@media (max-width:1079px){.values{grid-template-columns:repeat(2,minmax(0,1fr))}.about-hero h2{font-size:72px}}
@media (max-width:899px){.about-hero h2,.about-hero .ah-r{grid-column:1 / -1}.about-hero h2{font-size:48px}.team{grid-template-columns:1fr 1fr}.about-img{aspect-ratio:4/3}}
@media (max-width:520px){.team,.values{grid-template-columns:1fr}.about-hero h2{font-size:36px;line-height:40px}}

/* ---------- blog ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.filters button{height:40px;padding:0 16px;border-radius:var(--r-lg);font-size:14px;line-height:20px;font-weight:500;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2);transition:background-color .25s var(--ease-out),color .25s var(--ease-out),transform .15s var(--ease-out)}
.filters button:active{transform:scale(.97)}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--bg);box-shadow:none}
@media (hover:hover) and (pointer:fine){.filters button:not([aria-pressed="true"]):hover{background:var(--surface-2)}}
.blog-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.post-card{display:flex;flex-direction:column;gap:16px;grid-column:span 3;transition:opacity .4s var(--ease-out),transform .5s var(--ease-drawer)}
.post-card.feat{grid-column:span 12;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;margin-bottom:24px}
.post-card.feat .pc-img{grid-column:span 7;aspect-ratio:16/9}
.post-card.feat .pc-body{grid-column:span 5}
.post-card.feat h3{font-size:36px;line-height:40px}
.post-card.hide{display:none}
.post-card.dim{opacity:0;transform:translateY(12px)}
.pc-img{aspect-ratio:4/3;border-radius:var(--r-2xl);overflow:hidden;background:var(--bg-2)}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-drawer)}
@media (hover:hover) and (pointer:fine){.post-card:hover .pc-img img{transform:scale(1.05)}}
.pc-body{display:flex;flex-direction:column;gap:12px}
.pc-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted)}
.pc-meta .cat{color:var(--accent);text-transform:uppercase;letter-spacing:.08em}
.post-card h3{font-size:20px;line-height:28px;letter-spacing:-.015em}
.post-card p{font-size:14px;line-height:20px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news{margin-top:64px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:32px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.news h3{grid-column:span 6;font-size:24px;line-height:32px}
.news form{grid-column:span 6;display:flex;gap:12px;flex-wrap:wrap}
.news .field{flex:1;min-width:220px}
.news .msg{flex-basis:100%}
@media (max-width:1079px){.post-card{grid-column:span 6}}
@media (max-width:899px){.post-card.feat{grid-template-columns:1fr}.post-card.feat .pc-img,.post-card.feat .pc-body{grid-column:1 / -1}.post-card.feat h3{font-size:30px;line-height:36px}.news h3,.news form{grid-column:1 / -1}}
@media (max-width:520px){.post-card{grid-column:1 / -1}}

/* ---------- career teaser ---------- */
.career{position:relative;overflow:hidden;border-radius:var(--r-3xl);background:var(--accent-soft);padding:80px 64px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;isolation:isolate}
.career-bg{position:absolute;inset:-40px;z-index:-1;color:color-mix(in srgb,var(--accent) 16%,transparent)}
.career-bg svg{width:100%;height:100%}
.career-bg .cg{animation:drift2 30s linear infinite}
@keyframes drift2{to{transform:translate(-80px,-80px)}}
.career .c-l{grid-column:1 / span 6;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.career h2{font-size:72px;line-height:1;letter-spacing:-.045em}
.career .c-r{grid-column:8 / span 5}
.jobs-mini{display:flex;flex-direction:column}
.jobs-mini a{display:grid;grid-template-columns:32px 1fr 20px;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--accent) 22%,transparent);font-size:16px;line-height:24px;font-weight:500}
.jobs-mini a .mono{font-size:12px;color:var(--accent)}
.jobs-mini a .ic{width:18px;height:18px;transition:transform .3s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.jobs-mini a:hover .ic{transform:translate(3px,-3px)}}
@media (max-width:899px){.career{padding:48px 24px}.career .c-l,.career .c-r{grid-column:1 / -1}.career h2{font-size:48px}}
@media (max-width:520px){.career h2{font-size:36px;line-height:40px}}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.contact .c-l{grid-column:1 / span 5;display:flex;flex-direction:column;gap:32px}
.contact h2{font-size:72px;line-height:1;letter-spacing:-.045em}
.contact .c-r{grid-column:7 / span 6}
.details{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.detail{display:grid;grid-template-columns:40px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.detail .d-ic{width:40px;height:40px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--accent)}
.detail .d-k{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.detail .d-v{font-size:16px;line-height:24px;font-weight:500;user-select:all}
.copy{height:32px;padding:0 12px;border-radius:var(--r-md);font-size:12px;line-height:16px;font-family:var(--mono);box-shadow:inset 0 0 0 1px var(--line-2);display:inline-flex;align-items:center;gap:6px;transition:background-color .2s var(--ease-out)}
.copy .ic{width:14px;height:14px}
@media (hover:hover) and (pointer:fine){.copy:hover{background:var(--surface-2)}}
.socials{display:flex;gap:8px;flex-wrap:wrap}
.socials a{width:44px;height:44px;border-radius:var(--r-lg);display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-2);transition:background-color .2s var(--ease-out),color .2s var(--ease-out),transform .3s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.socials a:hover{background:var(--accent);color:var(--accent-ink);box-shadow:none;transform:translateY(-2px)}}
.story{padding:24px;border-radius:var(--r-2xl);background:var(--surface-2);display:flex;flex-direction:column;gap:8px}
.story b{font-size:20px;line-height:28px}
.story span{color:var(--muted)}
.form-card{background:var(--surface);border-radius:var(--r-3xl);padding:40px;box-shadow:inset 0 0 0 1px var(--line),var(--shadow);display:flex;flex-direction:column;gap:24px}
.form-card h3{font-size:30px;line-height:36px;letter-spacing:-.02em}
.form-card > p{color:var(--muted)}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:var(--r-xl);background:var(--surface-2);position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{position:relative;z-index:1;height:40px;display:grid;place-items:center;font-size:14px;line-height:20px;font-weight:500;border-radius:var(--r-lg);color:var(--muted);transition:color .25s var(--ease-out)}
.seg input:checked + label{color:var(--ink)}
.seg input:focus-visible + label{outline:2px solid var(--accent);outline-offset:2px}
.seg-pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 16px)/3);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.08),inset 0 0 0 1px var(--line);transition:transform .45s var(--ease-drawer)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1 / -1}
.field label{font-size:14px;line-height:20px;font-weight:500}
.field label i{font-style:normal;color:var(--accent)}
.field input,.field textarea{width:100%;font:inherit;font-size:16px;line-height:24px;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:12px 16px;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}
.field textarea{min-height:128px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.field .err{font-size:12px;line-height:16px;color:#B3403A;min-height:16px}
:root[data-theme="dark"] .field .err{color:#E88A84}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .field .err{color:#E88A84}}
.field.bad input,.field.bad textarea{border-color:#B3403A}
.check{display:grid;grid-template-columns:20px 1fr;gap:12px;font-size:14px;line-height:20px;color:var(--muted);align-items:start}
.check input{width:20px;height:20px;margin:0;accent-color:var(--accent)}
.check.bad{color:#B3403A}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.btn.loading{pointer-events:none}
.btn.loading span{opacity:.6}
.btn .spin{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 2px currentColor;clip-path:inset(0 0 50% 50%);display:none;animation:rot .7s linear infinite}
.btn.loading .spin{display:block}.btn.loading .ic{display:none}
@keyframes rot{to{transform:rotate(360deg)}}
.done{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.done .ok{width:48px;height:48px;border-radius:var(--r-lg);background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}
.done h3{font-size:24px;line-height:32px}
.done p{color:var(--muted)}
@media (max-width:1079px){.contact h2{font-size:48px}}
@media (max-width:899px){.contact .c-l,.contact .c-r{grid-column:1 / -1}.form-card{padding:24px}.fgrid{grid-template-columns:1fr}}
@media (max-width:520px){.contact h2{font-size:36px;line-height:40px}.seg label{font-size:12px}}

/* ---------- footer ---------- */
.foot{margin-top:128px;background:var(--band-bg);color:var(--band-ink);padding-top:96px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 32px);position:relative;overflow:hidden}
.foot-big{font-size:96px;line-height:1;letter-spacing:-.05em;font-weight:600;max-width:14ch}
.foot-big em{font-style:normal;color:var(--band-muted)}
.foot-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:96px;padding-top:40px;border-top:1px solid var(--band-line)}
.foot-grid > div{display:flex;flex-direction:column;gap:12px}
.foot-grid .fg-brand{grid-column:span 4;gap:24px}
.foot-grid .fg-col{grid-column:span 2}
.foot-grid .fg-exp,.foot-grid .fg-contact{grid-column:span 3}
.foot h4{font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--band-muted);font-weight:400;margin-bottom:4px}
.foot a{color:var(--band-ink);font-size:14px;line-height:20px;opacity:.86;transition:opacity .2s var(--ease-out),color .2s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.foot a:hover{opacity:1;color:var(--accent-2)}}
.foot .brand-word{color:var(--band-ink)}
.foot .brand svg{--logo-grey:#A9AEAB;--logo-green:#5AA878}
.foot .socials a{box-shadow:inset 0 0 0 1px var(--band-line);opacity:1}
.foot-bottom{margin-top:64px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;line-height:16px;color:var(--band-muted);font-family:var(--mono)}
.foot-bottom a{font-size:12px;line-height:16px}
.fly{position:absolute;right:0;top:0;width:940px;height:420px;pointer-events:none;color:var(--band-line)}
.fly > svg{position:absolute;inset:0;overflow:visible}
.fly .trail{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:4 8}
.fly .fplane{position:absolute;left:0;top:0;width:28px;height:28px;offset-path:path("M 40 360 C 220 340 300 120 520 160 S 760 320 900 60");offset-rotate:auto 45deg;animation:flyPath 16s var(--ease-io) infinite}
.fly .fplane svg{width:28px;height:28px;display:block}
.fly .fplane path{fill:var(--band-ink)}
@keyframes flyPath{0%{offset-distance:0%;opacity:0}8%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
@media (max-width:1079px){.foot-big{font-size:72px}.foot-grid .fg-brand{grid-column:1 / -1}.foot-grid .fg-col,.foot-grid .fg-exp,.foot-grid .fg-contact{grid-column:span 4}}
@media (max-width:1179px){.fly{display:none}}
@media (max-width:520px){.foot-big{font-size:36px;line-height:40px}.foot-grid .fg-col,.foot-grid .fg-exp{grid-column:span 6}.foot-grid .fg-contact{grid-column:1 / -1}.foot{margin-top:96px;padding-top:64px}}

/* ---------- subpages ---------- */
.view[hidden]{display:none!important}
.page-top{padding-top:calc(var(--nav-h) + 96px)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted);margin-bottom:40px}
.crumbs a{color:var(--muted);transition:color .2s var(--ease-out)}
.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-hidden]{opacity:.5}
.back{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;line-height:20px;margin-bottom:24px}
.back .ic{width:16px;height:16px;transition:transform .3s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.back:hover .ic{transform:translateX(-4px)}}
.ph-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.ph-grid .ph-l{grid-column:1 / span 8;display:flex;flex-direction:column;gap:24px}
.ph-grid .ph-r{grid-column:9 / span 4;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.page-h1{font-size:72px;line-height:1;letter-spacing:-.045em;font-weight:600}
.page-h1 .l2{color:var(--accent)}
.page-img{margin-top:64px;border-radius:var(--r-3xl);overflow:hidden;aspect-ratio:21/9;background:var(--bg-2)}
.page-img img{width:100%;height:100%;object-fit:cover}
.statement{font-size:36px;line-height:40px;letter-spacing:-.025em;font-weight:500;color:var(--faint);max-width:40ch}
.statement em{font-style:normal;color:var(--ink)}
.steps{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.steps .s-head{grid-column:1 / span 4;position:sticky;top:calc(var(--nav-h) + 48px);align-self:start;display:flex;flex-direction:column;gap:24px}
.steps ol{grid-column:6 / span 7;display:flex;flex-direction:column;counter-reset:s}
.step{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:40px 0;border-top:1px solid var(--line)}
.step .no{font-family:var(--mono);font-size:48px;line-height:1;color:var(--accent);font-weight:400;letter-spacing:-.04em}
.step h3{font-size:30px;line-height:36px;margin-bottom:16px}
.step p{color:var(--muted);font-size:16px;line-height:24px}
.step p + p{margin-top:8px}
.mini-track{display:flex;gap:16px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.mini-track .pf-card{width:260px}
.next-link{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:40px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.next-link .nl-k{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.next-link .nl-t{font-size:48px;line-height:1;letter-spacing:-.035em;font-weight:600;transition:transform .6s var(--ease-drawer)}
.next-link .nl-ic{width:64px;height:64px;border-radius:var(--r-xl);display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);flex:none;transition:transform .5s var(--ease-drawer)}
@media (hover:hover) and (pointer:fine){.next-link:hover .nl-t{transform:translateX(12px)}.next-link:hover .nl-ic{transform:rotate(-45deg)}}
@media (max-width:1279px){.page-h1{font-size:60px}}
@media (max-width:899px){
  .ph-grid .ph-l,.ph-grid .ph-r{grid-column:1 / -1}
  .page-h1{font-size:48px}
  .page-img{aspect-ratio:4/3;margin-top:40px}
  .statement{font-size:24px;line-height:32px}
  .steps .s-head,.steps ol{grid-column:1 / -1;position:static}
  .step{grid-template-columns:56px 1fr}.step .no{font-size:30px}
  .step h3{font-size:24px;line-height:32px}
  .next-link .nl-t{font-size:30px;line-height:36px}
}
@media (max-width:520px){.page-h1{font-size:36px;line-height:40px}}

/* project page */
.pj{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:64px}
.pj-img{grid-column:1 / span 5;position:sticky;top:calc(var(--nav-h) + 48px);align-self:start;border-radius:var(--r-2xl);overflow:hidden;aspect-ratio:3/4;background:var(--bg-2)}
.pj-img img{width:100%;height:100%;object-fit:cover}
.pj-body{grid-column:7 / span 6;display:flex;flex-direction:column;gap:24px}
.pj-body .pj-lead{font-size:24px;line-height:32px;letter-spacing:-.015em;font-weight:500}
.pj-body p{font-size:18px;line-height:28px;color:var(--ink-2)}
.pull{margin-top:24px;padding:32px;border-radius:var(--r-2xl);background:var(--accent-soft);display:flex;flex-direction:column;gap:16px}
.pull blockquote{font-size:24px;line-height:32px;font-weight:500;letter-spacing:-.015em}
.pull figcaption{font-family:var(--mono);font-size:12px;line-height:16px;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:899px){.pj-img,.pj-body{grid-column:1 / -1;position:static}.pj-img{max-width:480px}}

/* prose */
.prose{max-width:720px;font-size:18px;line-height:28px;color:var(--ink-2)}
.prose > * + *{margin-top:20px}
.prose h2{font-size:30px;line-height:36px;color:var(--ink);margin-top:56px}
.prose h3{font-size:24px;line-height:32px;color:var(--ink);margin-top:40px}
.prose h4{font-size:20px;line-height:28px;color:var(--ink);margin-top:32px}
.prose ul{display:flex;flex-direction:column;gap:8px}
.prose ul li{display:grid;grid-template-columns:16px 1fr;gap:8px}
.prose ul li::before{content:"";width:6px;height:6px;margin-top:11px;background:var(--accent);border-radius:2px}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose .tbl{overflow-x:auto;border-radius:var(--r-xl);box-shadow:inset 0 0 0 1px var(--line)}
.prose table{border-collapse:collapse;width:100%;font-size:16px;line-height:24px;min-width:520px}
.prose td{padding:12px 16px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.prose tr:first-child td{font-weight:600;color:var(--ink);background:var(--surface-2)}
.prose tr:last-child td{border-bottom:0;font-weight:600;color:var(--ink)}
.prose td:first-child{color:var(--ink);font-weight:500}
.art-head{max-width:960px;display:flex;flex-direction:column;gap:24px}
.art-head h1{font-size:60px;line-height:1;letter-spacing:-.04em}
.art-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-family:var(--mono);font-size:12px;line-height:16px;color:var(--muted)}
.art-meta .cat{color:var(--accent);text-transform:uppercase;letter-spacing:.08em}
.art-cover{margin-top:48px;border-radius:var(--r-3xl);overflow:hidden;aspect-ratio:21/9;background:var(--bg-2)}
.art-cover img{width:100%;height:100%;object-fit:cover}
.art-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:64px}
.art-body .prose{grid-column:3 / span 8}
.art-aside{grid-column:1 / span 2;position:sticky;top:calc(var(--nav-h) + 48px);align-self:start;display:flex;flex-direction:column;gap:16px;font-size:14px;line-height:20px;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px}
.progress-read{position:fixed;left:0;right:0;top:0;height:2px;z-index:70;background:var(--accent);transform-origin:left;transform:scaleX(0);pointer-events:none}
@media (max-width:899px){.art-head h1{font-size:36px;line-height:40px}.art-body .prose{grid-column:1 / -1}.art-aside{display:none}.art-cover{aspect-ratio:4/3}}

/* jobs */
.job{border-top:1px solid var(--line)}
.job:last-child{border-bottom:1px solid var(--line)}
.job summary{list-style:none;display:grid;grid-template-columns:64px 1fr auto 48px;gap:24px;align-items:center;padding:32px 0}
.job summary::-webkit-details-marker{display:none}
.job summary .mono{font-size:14px;color:var(--accent)}
.job summary h3{font-size:30px;line-height:36px;letter-spacing:-.02em}
.job summary .jt{font-size:14px;line-height:20px;color:var(--muted)}
.job summary .xp-plus{justify-self:end}
.job[open] summary .xp-plus{transform:rotate(45deg);background:var(--accent);color:var(--accent-ink);box-shadow:none}
.job-body{padding:0 0 48px 88px;display:flex;flex-direction:column;gap:32px}
.job-body > p{font-size:20px;line-height:28px;max-width:60ch}
.job-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.job-cols h4{font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:16px}
.motion .job[open] .job-body{animation:jobIn .7s var(--ease-drawer)}
@keyframes jobIn{from{opacity:0;transform:translateY(16px)}}
@media (max-width:899px){.job summary{grid-template-columns:40px 1fr 40px;gap:12px}.job summary .jt{display:none}.job summary h3{font-size:20px;line-height:28px}.job-body{padding:0 0 40px}.job-cols{grid-template-columns:1fr}}

/* legal */
.legal .prose h1{display:none}

/* 404 */
.nf{min-height:70vh;display:flex;flex-direction:column;justify-content:center;gap:24px;align-items:flex-start}
.nf .t-9xl{font-family:var(--mono);color:var(--accent);font-weight:400}

/* reduced motion extras */
@media (prefers-reduced-motion:reduce){
  .mq,.lg-row,.band-lines .bl-move,.career-bg .cg,.fly .fplane{animation:none!important}
  .lg-row{flex-wrap:wrap}
  .fly .fplane{display:none}
}

/* print */
@media print{
  .nav,.cursor,.loader,.wipe,.mmenu,.fly,.band-marquee,.progress-read,.tm-ctrl,.filters,.skip{display:none!important}
  .motion [data-reveal],.motion .split .wi,.motion [data-clip] img{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .view[hidden]{display:none!important}
  body{background:#fff;color:#111}
  .sec{padding-block:32px}
  .pf-pinned .pf-sticky{position:static;height:auto}
  .pf-track{flex-wrap:wrap;transform:none!important}
  .st-media{display:none}.st-item{opacity:1;min-height:0}
  .xp-panel{grid-template-rows:1fr!important}.xp-body > *{opacity:1!important;transform:none!important}
  .tm-track{flex-direction:column;transform:none!important}.tm-slide:not(.on) blockquote{opacity:1}
  .foot{margin-top:32px}
}

/* ---------- extras ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}
.mag{transition:transform .45s var(--ease-out),background-color .2s var(--ease-out),color .2s var(--ease-out)}
.cursor{transform-origin:30px 2px}
.xp-float{position:fixed;left:0;top:0;z-index:45;pointer-events:none;will-change:transform}
.xp-float-in{width:260px;aspect-ratio:16/10;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);opacity:0;transform:scale(.86) rotate(-3deg);transition:opacity .3s var(--ease-out),transform .5s var(--ease-drawer)}
.xp-float-in img{width:100%;height:100%;object-fit:cover}
.xp-float.on .xp-float-in{opacity:1;transform:none}
.pf-pinned .pf-card,.pf-pinned .pf-end{width:calc(42vh * .8)}
.pf-pinned .pf-img{aspect-ratio:auto;height:42vh}
.pf-pinned .pf-end{aspect-ratio:auto;height:42vh}
.pf-pinned .pf-head .sec-head{margin-bottom:16px!important}
.pf-pinned .pf-meta p{display:none}
.pf-pinned .sec-head .lead{font-size:16px;line-height:24px}

.field .err:empty{display:none}
.post-card{height:100%}
.pc-body{flex:1}
.post-card:not(.feat) .pc-body .pf-go{margin-top:auto;padding-top:4px}

.next-link{flex-wrap:wrap}
@media (max-width:520px){
  h1,h2,h3,.xp-title,.page-h1,.foot-big{-webkit-hyphens:auto;hyphens:auto}
  .xp-title{font-size:24px;line-height:32px}
  .hero-stats b{font-size:24px;line-height:32px}
  .band h2{font-size:30px;line-height:36px}
  .growth{display:none}
  .float-stat{min-width:0;max-width:200px;padding:12px}.float-stat b{font-size:24px;line-height:32px}
  .career h2,.contact h2{font-size:36px;line-height:40px}
}

/* ================= v2: Sprachen, Webdesign, Assistent ================= */
#app{display:contents}
template{display:none}

/* nav adjustments */
.nav-links a{padding:8px 10px}
@media (max-width:1279px){.nav-cta{display:none}}
@media (max-width:1139px){.nav-links{display:none}.burger{display:block}.nav-tools{margin-left:auto}.nav-in{padding-inline:16px}}
@media (min-width:1140px){.burger{display:none}}
.lang-seg{display:flex;padding:3px;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line);gap:2px}
.lang-seg button{height:34px;min-width:34px;padding:0 8px;border-radius:6px;font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.06em;color:var(--muted);transition:background-color .25s var(--ease-out),color .25s var(--ease-out)}
.lang-seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
@media (hover:hover) and (pointer:fine){.lang-seg button:not([aria-pressed="true"]):hover{color:var(--ink);background:var(--surface-2)}}
.mlang{display:flex;gap:8px;flex-wrap:wrap}
.mlang button{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line-2);font-family:var(--mono);font-size:12px;color:var(--ink)}
.mlang button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--accent)}
.flag{display:inline-block;width:20px;height:14px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.12);flex:none}
.flag svg{width:100%;height:100%;display:block}

/* floating language button */
.lang-fab{position:fixed;left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:58}
.lf-btn{height:44px;padding:0 14px 0 12px;border-radius:22px;display:inline-flex;align-items:center;gap:8px;background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:inset 0 0 0 1px var(--line),var(--shadow);color:var(--ink);transition:transform .45s var(--ease-out),background-color .2s var(--ease-out)}
.lf-btn .ic{width:20px;height:20px;transition:transform .8s var(--ease-drawer)}
.lf-code{font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.08em}
@media (hover:hover) and (pointer:fine){.lf-btn:hover .ic{transform:rotate(180deg)}}
.lf-btn:active{transform:scale(.96)}
.lf-menu{position:absolute;left:0;bottom:56px;min-width:232px;padding:6px;border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),var(--shadow);
  transform-origin:left bottom;opacity:0;transform:translateY(8px) scale(.96);transition:opacity .2s var(--ease-out),transform .3s var(--ease-out)}
.lf-menu.on{opacity:1;transform:none}
.lf-menu button{width:100%;display:grid;grid-template-columns:20px 1fr auto 16px;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-lg);text-align:left;font-size:14px;line-height:20px;color:var(--ink);transition:background-color .2s var(--ease-out)}
.lf-menu button .ln-c{font-family:var(--mono);font-size:12px;color:var(--faint)}
.lf-menu button .ic{width:16px;height:16px;color:var(--accent);opacity:0}
.lf-menu button[aria-checked="true"]{background:var(--accent-soft)}
.lf-menu button[aria-checked="true"] .ic{opacity:1}
@media (hover:hover) and (pointer:fine){.lf-menu button:hover{background:var(--surface-2)}}
.wz-open .lang-fab,.menu-open .lang-fab{opacity:0;pointer-events:none}
.lang-fab{transition:opacity .3s var(--ease-out)}

/* legal note */
.legal-note{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border-radius:var(--r-lg);background:var(--accent-soft);color:var(--ink-2);font-size:14px;line-height:20px;max-width:640px}
.legal-note .ic{width:18px;height:18px;color:var(--accent);margin-top:1px}

/* free chip */
.free-chip{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:var(--r-lg);background:var(--accent-soft);color:var(--ink-2);font-size:14px;line-height:20px}
.free-chip .ic{width:18px;height:18px;color:var(--accent);flex:none;margin-top:1px}

/* home: webdesign teaser */
.wt{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}
.wt-l{grid-column:1 / span 5;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.wt-r{grid-column:7 / span 6;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wt-tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease-drawer),box-shadow .3s var(--ease-out)}
.wt-tile .wt-name{font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.02em}
.wt-tile .wt-kind{font-size:14px;line-height:20px;color:var(--muted)}
.wt-tile .wt-price{margin-top:12px;font-family:var(--mono);font-size:14px;color:var(--accent)}
.wt-tile .ic{position:absolute;right:20px;top:24px;width:18px;height:18px;color:var(--faint);transition:transform .3s var(--ease-out),color .3s var(--ease-out)}
.wt-tile.rec{box-shadow:inset 0 0 0 2px var(--accent)}
@media (hover:hover) and (pointer:fine){.wt-tile:hover{transform:translateY(-4px)}.wt-tile:hover .ic{transform:translate(3px,-3px);color:var(--accent)}}
@media (max-width:899px){.wt-l,.wt-r{grid-column:1 / -1}}
@media (max-width:420px){.wt-r{grid-template-columns:1fr}}

/* contact start card */
.start-card{gap:20px}
.start-card > p.muted{margin-top:-8px}
.st-topics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.st-topic{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-lg);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;line-height:20px;font-weight:500;text-align:left;color:var(--ink);
  transition:box-shadow .2s var(--ease-out),transform .3s var(--ease-out),background-color .2s var(--ease-out)}
.st-topic .ic{width:20px;height:20px;color:var(--accent)}
.st-topic:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.st-topic:hover{box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}}
@media (max-width:420px){.st-topics{grid-template-columns:1fr}}

/* ================= webdesign page ================= */
.cur{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--r-xl);background:var(--surface-2)}
.cur-l{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 8px}
.cur button{height:36px;padding:0 12px;border-radius:var(--r-lg);font-size:14px;font-weight:500;color:var(--muted);transition:background-color .25s var(--ease-out),color .25s var(--ease-out),box-shadow .25s var(--ease-out)}
.cur button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08),inset 0 0 0 1px var(--line)}
.amt{font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-block}
.pkgs{margin-top:64px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.pkg{position:relative;display:flex;flex-direction:column;gap:20px;padding:28px 24px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease-drawer),box-shadow .3s var(--ease-out)}
.pkg.rec{box-shadow:inset 0 0 0 2px var(--accent),var(--shadow)}
@media (hover:hover) and (pointer:fine){.pkg:hover{transform:translateY(-6px)}}
.pkg header{display:flex;flex-direction:column;gap:4px}
.pkg-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pkg-name{font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.02em}
.rec-chip{font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--accent);color:var(--accent-ink)}
.pkg-kind{font-size:14px;line-height:20px;color:var(--muted)}
.pc-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding-block:16px;border-block:1px solid var(--line)}
.pc-price b{font-size:36px;line-height:40px;font-weight:600;letter-spacing:-.03em}
.pc-price b.req{font-size:30px;line-height:36px}
.pc-price > span{font-size:14px;color:var(--muted)}
.pkg-list{display:flex;flex-direction:column;gap:10px;flex:1}
.pkg-list li{display:grid;grid-template-columns:16px 1fr;gap:10px;font-size:14px;line-height:20px;color:var(--ink-2)}
.pkg-list .ic{width:16px;height:16px;color:var(--accent);margin-top:2px}
.pkg-best{font-size:14px;line-height:20px;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.pkg-best span{font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.pkg-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.pkg-actions .btn{justify-content:center}
.pkg-more{display:inline-flex;gap:6px;align-items:center;justify-content:center;height:40px;font-size:14px;font-weight:500;color:var(--muted);border-radius:var(--r-lg);transition:color .2s var(--ease-out),background-color .2s var(--ease-out)}
.pkg-more .ic{width:14px;height:14px}
@media (hover:hover) and (pointer:fine){.pkg-more:hover{color:var(--ink);background:var(--surface-2)}}
.pkg-note{margin-top:24px;font-size:14px;line-height:20px;color:var(--muted);max-width:90ch}
@media (max-width:1179px){.pkgs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.pkgs{grid-template-columns:1fr}}

.proc-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:p}
.proc-list li{display:flex;flex-direction:column;gap:8px;padding-top:20px;border-top:1px solid var(--line);position:relative}
.proc-list li::before{content:"";position:absolute;left:0;top:-1px;width:40px;height:2px;background:var(--accent)}
.proc-list .mono{font-size:14px;color:var(--accent)}
.proc-list h3{font-size:20px;line-height:28px}
.proc-list p{font-size:14px;line-height:20px;color:var(--muted)}
@media (max-width:899px){.proc-list{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.proc-list{grid-template-columns:1fr}}

.pdetail{margin-top:32px;scroll-margin-top:96px}
.ptabs{position:relative;display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-xl);background:var(--surface-2);max-width:100%;overflow-x:auto;scrollbar-width:none}
.ptabs::-webkit-scrollbar{display:none}
.ptab-pill{position:absolute;left:0;top:4px;bottom:4px;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.08),inset 0 0 0 1px var(--line);transition:transform .5s var(--ease-drawer),width .5s var(--ease-drawer)}
.ptabs [role="tab"]{position:relative;z-index:1;height:44px;padding:0 20px;border-radius:var(--r-lg);font-weight:600;font-size:16px;color:var(--muted);transition:color .25s var(--ease-out);white-space:nowrap}
.ptabs [role="tab"][aria-selected="true"]{color:var(--ink)}
.ppanels{margin-top:24px}
.pp{border-radius:var(--r-3xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:48px}
.pp-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.pp-head > div:first-child{display:flex;flex-direction:column;gap:16px}
.pp-head h3{font-size:48px;line-height:1;letter-spacing:-.035em}
.pp-head h3 em{font-style:normal;color:var(--muted);font-weight:500;font-size:30px;line-height:36px;letter-spacing:-.02em;display:block;margin-top:8px}
.pp-price{display:flex;flex-direction:column;gap:16px;align-items:flex-end;text-align:right}
.pp-amt{font-size:48px;line-height:1;font-weight:600;letter-spacing:-.04em}
.pp-amt small{display:block;font-size:14px;line-height:20px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:6px}
.pp-facts{margin:40px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.pp-facts > div{padding:16px;border-radius:var(--r-xl);background:var(--bg)}
.pp-facts dt{font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.pp-facts dd{margin-top:4px;font-weight:600;font-size:16px;line-height:24px}
.pp-cols{margin-top:48px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px}
.pp-h{font-family:var(--mono);font-size:12px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:20px}
.pp-inc{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.pp-inc li{display:flex;flex-direction:column;gap:4px;padding-left:16px;position:relative}
.pp-inc li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:2px;background:var(--accent)}
.pp-inc b{font-size:16px;line-height:24px}
.pp-inc span{font-size:14px;line-height:20px;color:var(--muted)}
.pp-need{padding:24px;border-radius:var(--r-2xl);background:var(--bg);align-self:start}
.pp-need ul{margin-top:16px;display:flex;flex-direction:column;gap:12px}
.pp-need li{display:grid;grid-template-columns:18px 1fr;gap:12px;font-size:14px;line-height:20px;color:var(--muted)}
.pp-need li b{color:var(--ink);font-weight:600}
.pp-need .ck{width:18px;height:18px;border-radius:5px;box-shadow:inset 0 0 0 1.5px var(--line-2);margin-top:1px}
.pp-note{margin-top:16px;font-size:14px;line-height:20px;color:var(--muted);padding-left:12px;border-left:2px solid var(--accent)}
.fits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fit{padding:20px;border-radius:var(--r-xl);box-shadow:inset 0 0 0 1px var(--line)}
.fit h4{font-size:16px;line-height:24px;margin-bottom:6px}
.fit p{font-size:14px;line-height:20px;color:var(--muted)}
.pp-close{margin-top:40px;padding:32px;border-radius:var(--r-2xl);background:var(--band-bg);color:var(--band-ink);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.pp-close h4{font-size:24px;line-height:32px}
.pp-close p{color:var(--band-muted);margin-top:6px;max-width:60ch}
@media (max-width:1079px){.pp{padding:32px}.pp-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-cols{grid-template-columns:1fr}.pp-inc{grid-template-columns:1fr 1fr}}
@media (max-width:720px){.pp{padding:24px}.pp-head{grid-template-columns:1fr}.pp-price{align-items:flex-start;text-align:left}.pp-head h3{font-size:36px;line-height:40px}.pp-amt{font-size:36px}
  .pp-facts{grid-template-columns:1fr 1fr}.pp-inc{grid-template-columns:1fr}.fits{grid-template-columns:1fr}}

.care{margin-top:64px}
.care-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.care-head > div:first-child{display:flex;flex-direction:column;gap:20px}
.care-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:24px 28px;border-radius:var(--r-2xl);background:var(--band-bg);color:var(--band-ink);min-width:240px}
.care-name{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted)}
.care-price b{font-size:60px;line-height:1;letter-spacing:-.04em;font-weight:600}
.care-price > span:not(.care-name):not(.free-badge){color:var(--band-muted);font-size:14px}
.free-badge{margin-top:12px;display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:600}
.free-badge .ic{width:14px;height:14px}
.care-free{margin-top:32px;padding:24px;border-radius:var(--r-2xl);background:var(--accent-soft);display:flex;flex-direction:column;gap:6px}
.care-free b{font-size:18px;line-height:28px}
.care-free p{color:var(--ink-2)}
.care-grid{margin-top:48px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px}
.plans{display:flex;flex-direction:column;gap:16px}
.plan{padding:24px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.plan h4{font-size:24px;line-height:32px}
.plan-row{margin-top:16px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 16px;border-radius:var(--r-lg);background:var(--bg)}
.plan-row.best{box-shadow:inset 0 0 0 1px var(--accent)}
.pr-k{font-size:14px;line-height:20px;font-weight:600}
.pr-k .off{font-style:normal;margin-left:6px;font-family:var(--mono);font-size:12px;padding:2px 6px;border-radius:4px;background:var(--accent);color:var(--accent-ink);font-weight:400}
.pr-v{grid-row:span 2;align-self:center;font-size:14px;color:var(--muted);text-align:right}
.pr-v b{font-size:20px;line-height:28px;color:var(--ink)}
.pr-s{font-size:12px;line-height:16px;color:var(--muted)}
.flow{display:flex;flex-direction:column;gap:0;position:relative}
.flow li{display:grid;grid-template-columns:20px 1fr;gap:4px 12px;padding-bottom:16px;position:relative}
.flow li::before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:1px;background:var(--line-2)}
.flow li:last-child::before{display:none}
.flow .dot{width:13px;height:13px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--accent);margin-top:5px;grid-row:span 2}
.flow b{font-size:16px;line-height:24px}
.flow span:not(.dot){font-size:14px;line-height:20px;color:var(--muted)}
@media (max-width:899px){.care-head,.care-grid{grid-template-columns:1fr}.care-price{align-items:flex-start}}

/* ================= wizard ================= */
.wz{position:fixed;inset:0;z-index:90;display:flex;justify-content:flex-end}
.wz[hidden]{display:none}
.wz-scrim{position:absolute;inset:0;background:rgba(10,12,11,.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .4s var(--ease-out)}
.wz.on .wz-scrim{opacity:1}
.wz-panel{position:relative;width:min(640px,100%);height:100%;background:var(--bg);display:flex;flex-direction:column;box-shadow:-24px 0 64px -24px rgba(0,0,0,.35);
  transform:translateX(104%);transition:transform .55s var(--ease-drawer)}
.wz.on .wz-panel{transform:none}
.wz-head{padding:calc(env(safe-area-inset-top,0px) + 24px) 32px 16px;display:flex;flex-direction:column;gap:14px;border-bottom:1px solid var(--line)}
.wz-top{display:flex;justify-content:space-between;align-items:center}
.wz-x{width:40px;height:40px;border-radius:var(--r-lg);display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line-2);transition:background-color .2s var(--ease-out),transform .3s var(--ease-out)}
.wz-x:active{transform:scale(.95)}
@media (hover:hover) and (pointer:fine){.wz-x:hover{background:var(--surface-2)}}
.wz-prog{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.wz-prog i{height:4px;border-radius:4px;background:var(--line);position:relative;overflow:hidden}
.wz-prog i::after{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-drawer)}
.wz-prog i.on::after{transform:scaleX(1)}
.wz-head .free-chip{margin:0}
.wz-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:28px 32px 32px}
.wz-step{display:flex;flex-direction:column;gap:20px}
.wz-step[hidden]{display:none}
.wz-step h3,.wz-done h3{font-size:30px;line-height:36px;letter-spacing:-.025em}
.wz-step > p.muted{margin-top:-12px}
.wz-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wz-tile{position:relative;display:grid;grid-template-columns:24px 1fr;gap:2px 12px;align-items:start;text-align:left;padding:16px;border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);
  transition:box-shadow .25s var(--ease-out),background-color .25s var(--ease-out),transform .2s var(--ease-out)}
.wz-tile > .ic{width:24px;height:24px;color:var(--accent);grid-row:span 2}
.wt-t{font-weight:600;font-size:16px;line-height:24px;padding-right:20px}
.wt-d{font-size:12px;line-height:16px;color:var(--muted)}
.wz-ck{position:absolute;right:12px;top:12px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;transform:scale(.4);opacity:0;transition:transform .35s var(--ease-out),opacity .2s var(--ease-out)}
.wz-ck .ic{width:12px;height:12px}
.wz-tile[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}
.wz-tile[aria-pressed="true"] .wz-ck{transform:none;opacity:1}
.wz-tile:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.wz-tile:not([aria-pressed="true"]):hover{box-shadow:inset 0 0 0 1px var(--line-2),var(--shadow)}}
.wz-dets{display:flex;flex-direction:column}
.wz-det{display:flex;flex-direction:column;gap:20px;padding:20px;border-radius:var(--r-xl);background:var(--surface-2)}
.wz-det[hidden]{display:none}
.wz-q{display:flex;flex-direction:column;gap:10px}
.wz-ql{font-size:14px;line-height:20px;font-weight:600}
.wz-ql i,.field label i{font-style:normal;color:var(--accent)}
.wz-ql .muted{font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips.col{flex-direction:column}
.chip-o{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2);font-size:14px;line-height:20px;color:var(--ink);text-align:left;
  transition:box-shadow .2s var(--ease-out),background-color .2s var(--ease-out),color .2s var(--ease-out),transform .15s var(--ease-out)}
.chip-o b{font-weight:500}
.chip-o span{font-family:var(--mono);font-size:12px;color:var(--muted)}
.chip-o .ic{width:18px;height:18px;color:var(--accent)}
.chip-o.wide{width:100%}
.chip-o[aria-pressed="true"]{background:var(--ink);color:var(--bg);box-shadow:none}
.chip-o[aria-pressed="true"] span,.chip-o[aria-pressed="true"] .ic{color:var(--bg)}
.chip-o:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.chip-o:not([aria-pressed="true"]):hover{box-shadow:inset 0 0 0 1px var(--accent)}}
.wz-err{font-size:12px;line-height:16px;color:#B3403A;min-height:0}
.wz-err:empty{display:none}
:root[data-theme="dark"] .wz-err{color:#E88A84}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .wz-err{color:#E88A84}}
.wz .field input,.wz .field textarea{background:var(--surface)}
.tel-req[hidden]{display:none}
.wz-sum{border-radius:var(--r-xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);padding:20px;display:flex;flex-direction:column;gap:12px}
.wz-sum h4{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:400}
.sum-g{position:relative;padding-top:12px;border-top:1px solid var(--line)}
.sum-g:first-of-type{border-top:0;padding-top:0}
.sum-g dl{margin:0;display:flex;flex-direction:column;gap:6px;padding-right:72px}
.sum-g dl > div{display:grid;grid-template-columns:120px 1fr;gap:12px;font-size:14px;line-height:20px}
.sum-g dt{color:var(--muted)}
.sum-g dd{font-weight:500;overflow-wrap:anywhere}
.sum-edit{position:absolute;right:0;top:12px;font-size:12px;font-weight:600;color:var(--accent);padding:4px 8px;border-radius:6px}
.sum-g:first-of-type .sum-edit{top:0}
@media (hover:hover) and (pointer:fine){.sum-edit:hover{background:var(--accent-soft)}}
.wz-foot{display:flex;justify-content:space-between;gap:12px;padding:16px 32px calc(env(safe-area-inset-bottom,0px) + 16px);border-top:1px solid var(--line);background:var(--bg)}
.wz-foot[hidden]{display:none}
.wz-foot #wzNext{margin-left:auto}
.wz-done{display:flex;flex-direction:column;gap:16px;align-items:flex-start;padding-top:24px}
.wz-done[hidden]{display:none}
.wz-done .ok{width:56px;height:56px;border-radius:var(--r-xl);background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}
.wz-done .ok .ic{width:28px;height:28px}
.wz-done-a{display:flex;gap:12px;flex-wrap:wrap}
.wz-open body{overflow:hidden}
@media (max-width:640px){
  .wz-panel{width:100%;box-shadow:none;transform:translateY(104%)}
  .wz-head{padding:calc(env(safe-area-inset-top,0px) + 16px) 16px 12px}
  .wz-body{padding:20px 16px 24px}
  .wz-foot{padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 12px)}
  .wz-tiles{grid-template-columns:1fr}
  .wz-step h3{font-size:24px;line-height:32px}
  .sum-g dl > div{grid-template-columns:1fr;gap:0}
  .wz-head .free-chip{font-size:12px;line-height:16px;padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){.wz-panel,.wz-scrim{transition:opacity .2s ease}.wz-panel{transform:none}}

/* long-word safety in Cyrillic/German headings */
.h2,.page-h1,.pp-head h3,.st-item h3,.xp-title,.career h2,.contact h2,.about-hero h2,.foot-big,.art-head h1,.nl-t{overflow-wrap:break-word}
@media (max-width:520px){.h2,.page-h1,.st-item h3,.art-head h1,.pp-head h3{-webkit-hyphens:auto;hyphens:auto}}
@media print{.lang-fab,.wz,.ptabs{display:none!important}.pp[hidden]{display:block!important}}

.wz-stepl{text-transform:none;letter-spacing:.04em}
.pf-end .btn{white-space:normal;height:auto;min-height:48px;padding-block:12px;max-width:100%}
@media (max-width:520px){
  .btn{white-space:normal;height:auto;min-height:var(--bh);padding-block:10px;max-width:100%;text-align:left}
}
@media (max-width:720px){.lang-fab{display:none}}

/* ================= v3: eigene Website, Cookiebanner, Blogseite, Meldungen ================= */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}
.nl-note{flex-basis:100%;margin-top:-4px}
.nl-note a{text-decoration:underline;text-underline-offset:2px}
.bl-none{padding:24px 0}
#blog-home .sh-r{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.foot-ck{color:var(--band-ink);font-size:14px;line-height:20px;opacity:.86;text-align:left;padding:0;transition:opacity .2s var(--ease-out),color .2s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.foot-ck:hover{opacity:1;color:var(--accent-2)}}
.fg-contact .foot-ck{display:block}

/* Meldungsseite (Newsletter Bestaetigung usw.) */
.msgv .msg-ic{width:64px;height:64px;border-radius:var(--r-xl);display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}
.msgv .msg-ic .ic{width:30px;height:30px}
.msgv .msg-ic.ok .ic:last-child,.msgv .msg-ic.bad .ic:first-child{display:none}
.msgv .msg-ic.bad{background:#B3403A;color:#fff}

/* Assistent Fehlerzustand */
.wz-done .ok.bad{background:#B3403A;color:#fff}

/* ---------------- Cookiebanner ---------------- */
.ck{position:fixed;left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:70;width:min(440px,calc(100vw - 32px));
  opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease-out),transform .5s var(--ease-drawer)}
.ck.on{opacity:1;transform:none}
.ck-in{padding:20px;border-radius:var(--r-2xl);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),var(--shadow);display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 32px);overflow:auto}
.ck-top{display:flex;align-items:center;gap:10px}
.ck-ic{width:32px;height:32px;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.ck-ic .ic{width:18px;height:18px}
.ck h2{font-size:18px;line-height:24px;letter-spacing:-.01em;font-weight:600}
.ck-txt{font-size:14px;line-height:20px;color:var(--muted)}
.ck-txt a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.ck-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ck-b{height:44px;padding:0 14px;border-radius:var(--r-lg);font-size:14px;line-height:20px;font-weight:500;background:var(--ink);color:var(--bg);transition:transform .15s var(--ease-out),opacity .2s var(--ease-out)}
.ck-b:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.ck-b:hover{opacity:.88}}
.ck-l{grid-column:1 / -1;height:36px;font-size:14px;line-height:20px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
@media (hover:hover) and (pointer:fine){.ck-l:hover{color:var(--ink)}}
.ck-save{grid-column:1 / -1;background:var(--accent);color:var(--accent-ink)}
.ck-opts{display:flex;flex-direction:column;gap:2px;border-radius:var(--r-xl);box-shadow:inset 0 0 0 1px var(--line);padding:4px}
.ck-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:12px}
.ck-row + .ck-row{box-shadow:0 -1px 0 var(--line)}
.ck-row b{font-size:14px;line-height:20px;font-weight:600}
.ck-row p{font-size:12px;line-height:16px;color:var(--muted);margin-top:2px}
.ck-always{font-family:var(--mono);font-size:11px;line-height:16px;color:var(--accent);white-space:nowrap}
.ck-sw{position:relative;display:inline-flex;cursor:pointer}
.ck-sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ck-track{width:44px;height:26px;border-radius:13px;background:var(--line-2);position:relative;transition:background-color .25s var(--ease-out)}
.ck-track i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .3s var(--ease-drawer)}
.ck-sw input:checked + .ck-track{background:var(--accent)}
.ck-sw input:checked + .ck-track i{transform:translateX(18px)}
.ck-sw input:focus-visible + .ck-track{outline:2px solid var(--accent);outline-offset:2px}
.ck-open .lang-fab{opacity:0;pointer-events:none}
@media (max-width:520px){.ck{left:8px;right:8px;width:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}.ck-in{padding:16px}}

/* ---------------- Sprachhinweis ---------------- */
.lh{position:fixed;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:60;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-radius:var(--r-xl);
  background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),var(--shadow);font-size:14px;line-height:20px;max-width:calc(100vw - 32px);
  opacity:0;transform:translateY(12px);transition:opacity .35s var(--ease-out),transform .45s var(--ease-drawer)}
.lh.on{opacity:1;transform:none}
.lh-t{color:var(--ink-2)}
.lh-b{height:36px;padding:0 12px;border-radius:var(--r-lg);background:var(--ink);color:var(--bg);display:inline-flex;align-items:center;font-weight:500;white-space:nowrap}
.lh-x{width:32px;height:32px;border-radius:var(--r-lg);display:grid;place-items:center;color:var(--muted)}
.lh-x .ic{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.lh-x:hover{background:var(--surface-2);color:var(--ink)}}
@media (max-width:720px){.lh{left:8px;right:8px;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);flex-wrap:wrap}.lh-t{flex:1 1 60%}}
.ck-open .lh{display:none}

/* Blog Fliesstext aus dem Editor */
.prose figure{margin:32px 0}
.prose figure img,.prose p img{width:100%;height:auto;border-radius:var(--r-xl)}
.prose figcaption{font-size:14px;line-height:20px;color:var(--muted);margin-top:8px}
.prose blockquote{border-left:3px solid var(--accent);padding-left:20px;color:var(--ink-2);font-size:20px;line-height:30px;margin:28px 0}

@media print{.ck,.lh,.foot-ck{display:none!important}}
