/* Modernize Studio v2. Self-hosted fonts: Bricolage Grotesque and IBM Plex Sans (SIL OFL 1.1). */
@font-face{font-family:"Bricolage";font-style:normal;font-weight:400 800;font-stretch:75% 100%;font-display:swap;src:url(/assets/fonts/bricolage.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(/assets/fonts/plex-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#f2f5f4; --bg-2:#e7edeb; --surface:#fff; --ink:#13213a; --ink-2:#33415a; --muted:#55627a;
  --line:#d3dcda; --line-2:#b7c4c1; --teal:#0f6f66; --teal-2:#0b524c; --teal-soft:#d6ebe7; --on-teal:#fff;
  --tip:#ffffe1; --tip-line:#d6cf93; --tip-ink:#4a4410; --navy:#0a246a; --focus:#0a246a;
  --dark:#13213a; --dark-2:#1b2c4a; --on-dark:#eef3f5; --on-dark-2:#b9c6d6;
  --ok:#1f7a4d; --ok-soft:#e3f3ea;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-disp:"Bricolage","IBM Plex Sans",system-ui,sans-serif;
  --gut:clamp(16px,4vw,48px); --wrap:1200px; --head:64px;
  --shadow:0 1px 2px rgba(19,33,58,.06),0 18px 40px -22px rgba(19,33,58,.32);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0e1727; --bg-2:#121e33; --surface:#172439; --ink:#e8eef2; --ink-2:#c8d3dc; --muted:#a2afbe;
    --line:#26364f; --line-2:#3a4d6e; --teal:#5cc3b6; --teal-2:#8fdcd2; --teal-soft:#16393c; --on-teal:#062420;
    --tip:#2b2913; --tip-line:#5c5524; --tip-ink:#f1e7a6; --focus:#9cc0ff;
    --dark:#0a1220; --dark-2:#14223a; --ok:#6fcf9b; --ok-soft:#173528;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 18px 40px -22px rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--head) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (max-width:600px){body{font-size:16px}}
img,svg{max-width:100%}
a{color:var(--teal-2);text-underline-offset:.18em;text-decoration-thickness:1px}
@media (prefers-color-scheme:dark){a{color:var(--teal-2)}}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:700;text-wrap:balance}
h1,h2{font-family:var(--f-disp);letter-spacing:-.022em}
h2{font-size:clamp(2rem,1.25rem + 2.3vw,3.15rem);line-height:1.04;font-weight:740}
h3{font-size:1.125rem;line-height:1.3;font-weight:600}
[lang=de] h1,[lang=de] h2{font-stretch:88%}
.wrap{width:min(var(--wrap),100% - 2*var(--gut));margin-inline:auto}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--surface);color:var(--ink);padding:10px 14px;border-radius:8px;box-shadow:var(--shadow)}
.skip:focus{top:12px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* buttons */
.btn{--b:var(--teal);display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:48px;padding:.7em 1.25em;border-radius:10px;border:1.5px solid var(--b);background:var(--b);color:var(--on-teal);font:600 1rem/1.2 var(--f-body);text-decoration:none;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,background-color .18s;text-align:center}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px color-mix(in srgb,var(--b) 80%,transparent);text-decoration:none}
.btn:active{transform:translateY(0)}
.btn .ic{width:1.15em;height:1.15em;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.btn:hover .ic{transform:translateX(2px)}
.btn:active{transform:translateY(0) scale(.985)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn.ghost:hover{border-color:var(--ink);box-shadow:none}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* header */
.site-head{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .25s}
.site-head.scrolled{border-bottom-color:var(--line)}
.hd{display:flex;align-items:center;gap:clamp(.5rem,1.4vw,1.25rem);height:var(--head)}
.brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none;white-space:nowrap;border-radius:8px}
.logo-sym{width:30px;height:30px;flex:none;overflow:visible}
.lp{fill:var(--ink)}.ls{fill:var(--teal)}
.logo-word{font:470 1.13rem/1 var(--f-disp);letter-spacing:-.018em;color:var(--ink-2)}
.logo-word b{font-weight:760;color:var(--ink)}
.brand:hover .ls{transform:translateY(-1px)}
.ls{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.brand{margin-right:auto}
.secnav{display:flex;gap:.15rem}
.secnav a{position:relative;color:var(--ink-2);text-decoration:none;font-size:.93rem;font-weight:500;white-space:nowrap;padding:.5em .75em;border-radius:8px;transition:color .2s,background-color .2s}
.secnav a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.secnav a.on{color:var(--ink)}
.secnav a::after{content:"";position:absolute;left:.75em;right:.75em;bottom:.2em;height:2px;border-radius:2px;background:var(--teal);transform:scaleX(0);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.secnav a.on::after{transform:scaleX(1)}
.hd-cta{min-height:40px;padding:.45em .95em;font-size:.92rem}
.lang{position:relative}
.secnav + .lang{margin-left:0}
.lang summary{list-style:none;display:flex;align-items:center;gap:.35em;cursor:pointer;min-height:40px;padding:0 .6em;border-radius:8px;font-weight:600;font-size:.9rem;color:var(--ink-2);border:1px solid var(--line)}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{border-color:var(--line-2)}
.lang summary .ic{width:1.05em;height:1.05em}
.lang ul{position:absolute;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:11.5rem;z-index:5}
.lang li a,.lang li span{display:flex;justify-content:space-between;gap:1rem;padding:.5em .7em;border-radius:6px;color:var(--ink);text-decoration:none;font-size:.95rem}
.lang li a:hover{background:var(--bg)}
.lang li span{color:var(--teal-2);font-weight:600}
.lang li small{color:var(--muted);font-weight:500}
@media (max-width:1020px){.secnav{display:none}}
@media (max-width:560px){.hd-cta{display:none}}

/* hero */
.hero{position:relative;padding:clamp(2.2rem,5.5vw,4.6rem) 0 clamp(3rem,6vw,5.5rem);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0 0 auto auto;width:62%;height:78%;background-image:conic-gradient(var(--line) 25%,transparent 0 50%,var(--line) 0 75%,transparent 0);background-size:8px 8px;-webkit-mask-image:linear-gradient(to left,#000,transparent 85%),linear-gradient(#000 40%,transparent);mask-image:radial-gradient(120% 100% at 100% 0,#000 20%,transparent 70%);opacity:.75;pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,4.6fr) minmax(0,7.4fr);gap:clamp(1.6rem,3.5vw,3.5rem) clamp(2rem,4vw,3.75rem);align-items:start}
.hero h1{grid-column:1/-1;max-width:15.5em;margin-bottom:0}
.hero[lang=it] h1,.hero[lang=es] h1,.hero[lang=fr] h1{max-width:17.5em}
.hero-text{padding-top:.4rem}
.hero h1{font-size:clamp(2.45rem,1rem + 4.4vw,5.4rem);line-height:.98;font-weight:780;letter-spacing:-.03em}
.hero[lang=fr] h1,.hero[lang=it] h1,.hero[lang=es] h1{font-size:clamp(2.3rem,1rem + 4vw,5rem)}
.hero[lang=de] h1{font-size:clamp(2.25rem,1rem + 4vw,5rem);font-stretch:86%}
.lead{font-size:1.1rem;color:var(--ink-2);max-width:36em}
.hw{display:inline-block}
@media (prefers-reduced-motion:no-preference){
  .hw{animation:rise .9s cubic-bezier(.2,.8,.2,1) backwards}
  .hw:nth-child(2){animation-delay:.05s}.hw:nth-child(3){animation-delay:.1s}.hw:nth-child(4){animation-delay:.15s}.hw:nth-child(5){animation-delay:.2s}.hw:nth-child(6){animation-delay:.25s}.hw:nth-child(7){animation-delay:.3s}.hw:nth-child(8){animation-delay:.35s}.hw:nth-child(n+9){animation-delay:.4s}
  .hero .lead,.hero .facts,.hero .actions{animation:fadeup .9s .35s cubic-bezier(.2,.8,.2,1) backwards}
  .hero-fig{animation:fadeup 1s .2s cubic-bezier(.2,.8,.2,1) backwards}
}
@keyframes rise{from{opacity:.001;transform:translateY(.35em)}}
@keyframes fadeup{from{opacity:.001;transform:translateY(14px)}}
.facts{list-style:none;margin:1.4rem 0 1.8rem;padding:0;display:grid;gap:.55rem}
.facts li{display:flex;align-items:flex-start;gap:.7rem;font-weight:500}
.facts li::before{content:"";flex:none;width:18px;height:18px;margin-top:.22em;background:var(--surface) no-repeat center/12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5 4.8 9 10 3' fill='none' stroke='%230f6f66' stroke-width='2.2' stroke-linecap='square'/%3E%3C/svg%3E");box-shadow:inset 1px 1px var(--line-2),inset -1px -1px var(--surface),inset 2px 2px var(--ink-2),inset -2px -2px var(--line)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.hero-fig{margin:0}
@media (max-width:1100px){.hero-grid{grid-template-columns:1fr}.hero::before{width:100%;height:50%}}

/* ---------------------------------------------------------------- before/after stage */
.ba{container:ba/inline-size;position:relative}
.ba-stage{--pos:50%;position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;isolation:isolate;font-size:clamp(9px,1.5cqw,12.5px);background:#dfe8e6;box-shadow:var(--shadow),0 0 0 1px rgba(19,33,58,.12);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;contain:layout paint}
.hero .ba-stage{aspect-ratio:3/2}
@container ba (max-width:600px){.ba-stage,.hero .ba-stage{aspect-ratio:3/4;font-size:11px;border-radius:12px}}
.ba-layer{position:absolute;inset:0;overflow:hidden}
.ba-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0);z-index:1}
.ba-after{background:linear-gradient(160deg,#e8f0ee,#d4e2df)}
.ba-handle{position:absolute;z-index:3;top:0;bottom:0;left:var(--pos);width:48px;margin-left:-24px;display:grid;place-items:center;cursor:ew-resize;outline:none}
.ba-handle::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(19,33,58,.28)}
.ba-handle::after{content:"";position:absolute;top:0;bottom:0;right:calc(50% + 1px);width:6px;background-image:conic-gradient(rgba(255,255,255,.75) 25%,transparent 0 50%,rgba(255,255,255,.75) 0 75%,transparent 0);background-size:3px 3px;opacity:.9}
.ba-grip{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:#fff;color:#13213a;display:flex;align-items:center;justify-content:center;gap:5px;box-shadow:0 2px 6px rgba(19,33,58,.25),0 0 0 1px rgba(19,33,58,.12);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.ba-grip i{width:0;height:0;border:6px solid transparent}
.ba-grip i:first-child{border-right-color:currentColor;border-left-width:0}
.ba-grip i:last-child{border-left-color:currentColor;border-right-width:0}
.ba-handle:hover .ba-grip,.ba.dragging .ba-grip{transform:scale(1.08)}
.ba-tip{position:absolute;z-index:2;top:calc(50% + 30px);left:50%;transform:translate(-50%,6px);padding:.3em .6em;white-space:nowrap;background:#ffffe1;color:#1d1d1d;border:1px solid #6b6b4f;font:11px/1.3 Tahoma,Verdana,sans-serif;box-shadow:2px 2px 0 rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s cubic-bezier(.2,.8,.2,1)}
.ba.tip-on .ba-tip{opacity:1;transform:translate(-50%,0)}
.ba-handle:focus-visible .ba-grip{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--navy)}
.ba-legend{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.6rem;font-size:.88rem;font-weight:600;color:var(--ink-2)}
.ba-legend span{display:inline-flex;align-items:center;gap:.45em;transition:opacity .25s,color .25s}
.ba-legend span::before{content:"";width:.7em;height:.7em;border-radius:2px}
.ba-legend .b::before{background:#008080;box-shadow:inset -1px -1px #004c4c,inset 1px 1px #5fc0c0}
.ba-legend .a::before{background:var(--surface);border:2px solid var(--teal);border-radius:50%}
.ba-legend .a{flex-direction:row-reverse}
.ba.lo .ba-legend .b,.ba.hi .ba-legend .a{opacity:.45}
.ba-cap{display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-items:center;margin-top:.9rem;color:var(--muted);font-size:.92rem}
.ba-cap p{margin:0}
.exl{display:inline-flex;align-items:center;gap:.4em;padding:.2em .6em;border-radius:5px;background:var(--tip);border:1px solid var(--tip-line);color:var(--tip-ink);font-size:.82rem;font-weight:600;white-space:nowrap}
.hint{font-size:.86rem}
@media (scripting:none){.hint{display:none}}

/* retro desktops */
.desk{position:absolute;inset:0;display:flex;flex-direction:column;padding:1.3em 1.5em 0;background:#008080}
.desk::after{content:"";flex:none;height:2.5em;margin:.7em -1.5em 0;background:#c0c0c0;box-shadow:inset 0 1px #dfdfdf,inset 0 2px #fff}
.desk::before{content:"Start";position:absolute;left:.25em;bottom:.3em;height:1.9em;padding:0 .7em 0 1.9em;display:flex;align-items:center;font:700 .95em/1 Tahoma,Verdana,sans-serif;color:#000;background:#c0c0c0 no-repeat .45em 50%/1.1em linear-gradient(90deg,#e33 0 50%,#3a3 0) ;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px #808080,inset 2px 2px #dfdfdf;z-index:1}
.d2k{background:#3a6ea5}
.d2k::before{background-image:linear-gradient(90deg,#e33 0 50%,#3a3 0)}
.dxp{background:linear-gradient(180deg,#4e88e0,#2a5fc1 70%,#3c7a2f 70.5%,#4f9a3a)}
.dxp::after{height:2.6em;background:linear-gradient(#3168d5,#2456c7 10%,#245edb 50%,#1941a5)}
.dxp::before{content:"start";font:italic 700 1.15em/1 "Trebuchet MS",Tahoma,sans-serif;color:#fff;text-shadow:1px 1px 1px #1b3a10;background:linear-gradient(#5eb25a,#3c8d2e 45%,#2f7a24);box-shadow:none;border-radius:0 .9em .9em 0;left:0;bottom:0;height:2.6em;padding:0 1.2em 0 1em}
.win-full{flex:1;min-height:0;display:flex;flex-direction:column}
.win-full>*{flex:none}
.win-full>.acc-f,.win-full>.wxp-body,.win-full>.wf,.win-full>.xl-sheet,.win-full>.w98-grid.flex{flex:1 1 auto;min-height:0}
/* win98 / 2000 classic */
.w98{background:#c0c0c0;color:#000;font:400 .95em/1.3 Tahoma,"MS Sans Serif","Microsoft Sans Serif",Geneva,Verdana,sans-serif;padding:3px;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #dfdfdf,inset -2px -2px #808080,inset 2px 2px #fff}
.w98-t{display:flex;align-items:center;gap:.35em;padding:.2em .2em .2em .3em;background:linear-gradient(90deg,#000080,#1084d0);color:#fff;font-weight:700;white-space:nowrap}
.w2k .w98-t{background:linear-gradient(90deg,#0a246a,#a6caf0)}
.tt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.tbb{display:flex;gap:2px}
.tbb i,.nb,.bt,.tico{position:relative}
.tbb i{width:1.45em;height:1.25em;background:#c0c0c0;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px #808080,inset 2px 2px #dfdfdf}
.tbb .cl{margin-left:2px}
.tbb .mn::after{content:"";position:absolute;left:28%;width:40%;bottom:24%;height:2px;background:#000}
.tbb .mx::after{content:"";position:absolute;left:24%;right:26%;top:20%;bottom:24%;border:1px solid #000;border-top-width:2px}
.tbb .cl::after,.xpb .cl::after{content:"\00d7";position:absolute;inset:0;display:grid;place-items:center;font:700 1.15em/1 Verdana,Tahoma,sans-serif;color:#000}
.tico{flex:none;width:1.15em;height:1.15em;border-radius:2px}
.tico::after{position:absolute;inset:0;display:grid;place-items:center;font:700 .72em/1 Tahoma,sans-serif;color:#fff}
.tico.acc{background:#8b1a1a}.tico.acc::after{content:"A"}
.tico.vb{background:#5a6f8c}.tico.vb::after{content:"V"}
.tico.dl{background:#c2271b;border-radius:50%}.tico.dl::after{content:"D"}
.tico.xl{background:#1d7a3a}.tico.xl::after{content:"X"}
.tico.net{background:#5c2d91}.tico.net::after{content:"N"}
.w98-m{display:flex;gap:.1em;padding:.15em .1em;white-space:nowrap;overflow:hidden}
.w98-m span,.wxp-m span{padding:.1em .45em}
.w98-m span::first-letter,.wxp-m span::first-letter{text-decoration:underline}
.w98-tool{display:flex;gap:2px;align-items:center;padding:.2em .3em;border-top:1px solid #808080;box-shadow:inset 0 1px #fff;overflow:hidden}
.w98-tool i{width:1.7em;height:1.6em;flex:none;background:no-repeat center/62% 62%}
.w98-tool i:nth-of-type(1){background-image:linear-gradient(135deg,#fff 80%,#999 80%)}
.w98-tool i:nth-of-type(2){background-image:linear-gradient(#e8c34a,#c99a1c)}
.w98-tool i:nth-of-type(3){background-image:linear-gradient(#000080 0 30%,#fff 30% 60%,#000080 60%)}
.w98-tool i:nth-of-type(4){background-image:linear-gradient(#888 0 40%,#ddd 40%)}
.w98-tool i:nth-of-type(5){background-image:radial-gradient(circle,#36c 40%,transparent 42%)}
.w98-tool i:nth-of-type(6){background-image:linear-gradient(90deg,#c00 0 50%,#00a 50%)}
.w98-tool i:nth-of-type(7){background-image:linear-gradient(#ffd800,#e0a800)}
.w98-tool i:nth-of-type(8){background-image:linear-gradient(135deg,#0a0 50%,#070 50%)}
.w98-tool b{width:2px;height:1.4em;margin:0 .2em;box-shadow:inset 1px 0 #808080,inset -1px 0 #fff}
.lb{white-space:nowrap}
.fd{display:block;min-width:0;min-height:1.7em;padding:.2em .4em;background:#fff;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff,inset 2px 2px #0a0a0a,inset -2px -2px #dfdfdf}
.fd.s{max-width:9em}
.fd.dd{position:relative;padding-right:1.8em}
.fd.dd::after{content:"";position:absolute;right:2px;top:2px;bottom:2px;width:1.35em;background:#c0c0c0 no-repeat center/.6em .35em linear-gradient(to bottom right,#000 50%,transparent 50%) ;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #dfdfdf,inset -2px -2px #808080,inset 2px 2px #fff;clip-path:none}
.fd.dd::before{content:"";position:absolute;z-index:1;right:calc(2px + .4em);top:50%;margin-top:-.15em;border:.27em solid transparent;border-top:.32em solid #000;border-bottom:0}
.fd.dd::after{background-image:none}
.fd.ta{white-space:normal;min-height:3.1em;line-height:1.3}
.fd.b{font-weight:700}
.fd.x{box-shadow:none;border:1px solid #7f9db9;width:10em;flex:none}
.bt{display:inline-block;min-width:5.6em;padding:.32em .9em;text-align:center;white-space:nowrap;background:#c0c0c0;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px #808080,inset 2px 2px #dfdfdf}
.bt.sq{min-width:0;padding:.32em .5em;display:inline-grid;place-items:center}
.acc-f{flex:1;min-height:0;display:flex;flex-direction:column;gap:.55em;padding:.65em .85em .55em;overflow:hidden;border-top:1px solid #808080;box-shadow:inset 0 1px #fff}
.acc-hd{display:flex;justify-content:space-between;align-items:baseline;gap:1em;font-size:1.4em;font-weight:700;color:#000080;padding-bottom:.2em;border-bottom:1px solid #808080;box-shadow:0 1px #fff;white-space:nowrap}
.acc-hd span{font-size:.62em;font-weight:400;color:#000}
.acc-grid{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr);gap:.4em .7em;align-items:center}
.acc-memo{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.7em;align-items:start}
.w98-grid{background:#fff;overflow:hidden;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff,inset 2px 2px #0a0a0a,inset -2px -2px #dfdfdf;padding:2px}
.w98-grid table,.dbgrid table,.xl-sheet table{width:100%;border-collapse:collapse}
.w98-grid th{background:#c0c0c0;font-weight:400;text-align:left;padding:.15em .45em;white-space:nowrap;box-shadow:inset -1px -1px #808080,inset 1px 1px #fff}
.w98-grid td{padding:.15em .45em;border:1px solid #c0c0c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}
.w98-grid td:first-child{max-width:none}
.r{text-align:right}
.w98-grid th.r{text-align:right}
.acc-tot{display:flex;justify-content:flex-end;gap:.7em;align-items:center}
.acc-tot .fd{min-width:7em;text-align:right}
.wf-btns,.xp-btns{display:flex;justify-content:flex-end;gap:.5em;margin-top:auto}
.acc-foot{display:flex;justify-content:space-between;align-items:center;gap:1em;margin-top:auto}
.acc-btns{display:flex;gap:.5em}
.acc-nav{display:flex;align-items:center;gap:2px;padding:.2em .3em;border-top:1px solid #808080;white-space:nowrap;overflow:hidden}
.acc-nav>span:first-child{margin-right:.3em}
.acc-nav>span:last-child{margin-left:.4em}
.nb{min-width:1.6em;height:1.45em;padding:0 .2em;display:inline-grid;place-items:center;flex:none;font-family:Tahoma,Verdana,"DejaVu Sans",sans-serif;line-height:1;box-shadow:inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px #808080,inset 2px 2px #dfdfdf;font-size:.78em}
.nn{background:#fff;padding:0 .5em;min-width:2.8em;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff}
.w98-s{display:flex;gap:2px;padding-top:2px;white-space:nowrap}
.w98-s span{flex:1;padding:.12em .45em;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff}
.w98-s span:first-child{flex:3}
/* vb6 dental */
.vb-bar{display:flex;align-items:center;gap:.4em;padding:.45em .55em;border-top:1px solid #808080;box-shadow:inset 0 1px #fff}
.vb-bar .fd{width:7.5em;flex:none}
.sp{flex:1}
.w98-grid.flex{flex:1;min-height:0;margin:0 .55em .45em}
.w98-grid table.fixed{table-layout:fixed;height:100%}
.w98-grid table.fixed th.c0{width:4.3em}
.w98-grid table.fixed tbody th{background:#c0c0c0;font-weight:400;text-align:center}
.w98-grid td.bk{background:#ffffe1}
.w98-grid td.sel{background:#000080;color:#fff}
/* winforms */
.wf{flex:1;min-height:0;display:flex;flex-direction:column;gap:.6em;padding:.6em .7em .5em;border-top:1px solid #808080;box-shadow:inset 0 1px #fff}
.gb{margin:0;padding:.35em .7em .65em;border:1px solid #808080;box-shadow:1px 1px #fff,inset 1px 1px #fff;display:grid;gap:.4em}
.gb legend{padding:0 .3em}
.wf-row{display:grid;grid-template-columns:8.2em minmax(0,1fr);gap:.5em;align-items:center}
.wf-row .fd.s{max-width:7em}
.dgv{flex:1;min-height:0}
.dgv td.neg{color:#c00000}
.dgv tr.sel td{background:#0a246a;color:#fff}
/* XP */
.wxp{display:flex;flex-direction:column;background:#ece9d8;color:#000;font:400 .95em/1.3 Tahoma,"Segoe UI",Verdana,sans-serif;border:3px solid #0831d9;border-top:0;border-radius:8px 8px 0 0;box-shadow:inset 0 0 0 1px #166aee}
.wxp-t{display:flex;align-items:center;gap:.4em;margin:0 -3px;padding:.35em .35em .35em .5em;border-radius:7px 7px 0 0;color:#fff;font-weight:700;white-space:nowrap;text-shadow:1px 1px #0f1089;background:linear-gradient(180deg,#0997ff,#0053ee 8%,#0050ee 40%,#06f 88%,#06f 93%,#005bff 95%,#003dd7 96%,#003dd7)}
.xpb{display:flex;gap:2px}
.xpb i{position:relative;width:1.55em;height:1.55em;border:1px solid #fff;border-radius:3px;background:linear-gradient(135deg,#5e9dfc,#1d5ee8 60%,#174fd0)}
.xpb .cl{background:linear-gradient(135deg,#ea8a63,#d64a1f 60%,#c23a12)}
.xpb .cl::after{color:#fff}
.xpb .mn::after{content:"";position:absolute;left:25%;width:40%;bottom:22%;height:3px;background:#fff}
.xpb .mx::after{content:"";position:absolute;inset:22%;border:1px solid #fff;border-top-width:3px}
.wxp-m{display:flex;gap:.1em;padding:.18em .2em;white-space:nowrap;overflow:hidden;border-bottom:1px solid #d6d2c2}
.wxp-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:.55em}
.tabs{display:flex;gap:2px;padding-left:.3em;white-space:nowrap}
.tabs span{padding:.25em .85em;border:1px solid #919b9c;border-bottom:0;border-radius:3px 3px 0 0;background:linear-gradient(#fff,#ecebe6)}
.tabs .on{background:#fcfcfe;box-shadow:inset 0 2px #e68b2c;position:relative;top:1px}
.tabpage{flex:1;min-height:0;display:flex;flex-direction:column;gap:.55em;padding:.6em;border:1px solid #919b9c;background:#fcfcfe}
.xp-row{display:flex;align-items:center;gap:.6em;white-space:nowrap}
.xchk{display:inline-flex;align-items:center;gap:.4em}
.xchk i{width:1em;height:1em;border:1px solid #1c5180;background:linear-gradient(135deg,#dcdcd7,#fff)}
.dbgrid{flex:1;min-height:0;overflow:hidden;background:#fff;border:1px solid #7f9db9}
.dbgrid th{background:#ece9d8;font-weight:400;text-align:left;padding:.2em .45em;white-space:nowrap;border-right:1px solid #aca899;border-bottom:1px solid #aca899}
.dbgrid th.r{text-align:right}
.dbgrid td{padding:.22em .45em;white-space:nowrap;border-right:1px solid #e5e2d6;border-bottom:1px solid #e5e2d6;overflow:hidden;text-overflow:ellipsis}
.dbgrid td:nth-child(2){max-width:0;width:100%}
.dbgrid tr.low td{color:#c00000}
.dbgrid tr.sel td{background:#316ac5;color:#fff}
.xbt{display:inline-block;min-width:6em;padding:.32em .9em;text-align:center;white-space:nowrap;border:1px solid #003c74;border-radius:3px;background:linear-gradient(#fff,#ecebe6 85%,#d6d0c5)}
.wxp-s{display:flex;gap:.5em;padding:.2em .5em;white-space:nowrap;overflow:hidden;border-top:1px solid #d6d2c2}
.wxp-s span{flex:1;overflow:hidden;text-overflow:ellipsis}
/* excel */
.xl-fx{display:flex;align-items:center;gap:.4em;padding:.25em .4em;border-bottom:1px solid #aca899;white-space:nowrap}
.xl-nm,.xl-fv{background:#fff;border:1px solid #7f9db9;padding:0 .35em}
.xl-nm{width:4em}
.xl-f{font-style:italic;color:#555;font-family:"Times New Roman",serif}
.xl-fv{flex:1;overflow:hidden}
.xl-sheet{flex:1;min-height:0;position:relative;overflow:hidden;background:#fff}
.xl-sheet table{table-layout:fixed}
.xl-sheet th{background:linear-gradient(#f6f6f1,#e2e0d6);border:1px solid #b3b0a2;font-weight:400;text-align:center;padding:.1em 0;white-space:nowrap}
.xl-sheet thead th:first-child{width:2.6em}
.xl-sheet thead th:nth-child(2){width:6.4em}
.xl-sheet thead th:nth-child(3){width:6.3em}
.xl-sheet thead th:nth-child(5),.xl-sheet thead th:nth-child(6),.xl-sheet thead th:nth-child(7){width:6.2em}
.xl-sheet thead th:nth-child(8){width:3.8em}
.xl-sheet td{height:1.6em;padding:0 .3em;border:1px solid #dadcdd;white-space:nowrap;overflow:hidden}
.xl-sheet td.h{font-weight:700;background:#f4f4f4}
.xl-sheet td.sel{outline:2px solid #000;outline-offset:-2px}
.xl-sheet td.b{font-weight:700}
.w98.uf{position:absolute;z-index:2;right:4%;top:22%;width:23em}
.uf-b{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.4em .6em;align-items:center;padding:.6em .6em .5em}
.fd.s2{width:4em}
.uf-btns{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.4em;margin-top:.2em}
.uf-btns .bt{min-width:4.6em}
.xl-tabs{display:flex;padding-left:2.6em;white-space:nowrap;border-top:1px solid #808080;background:#ece9d8}
.xl-tabs span{padding:.12em .9em;border:1px solid #808080;border-top:0;margin-left:-1px;background:#dcdad0}
.xl-tabs .on{background:#fff;font-weight:700}

/* modern app (after) */
.bw{position:absolute;top:1.3em;left:1.5em;right:1.5em;bottom:0;display:flex;flex-direction:column;border-radius:10px 10px 0 0;overflow:hidden;background:#f4f6f8;color:#172033;font-family:var(--f-body);line-height:1.4;box-shadow:0 0 0 1px rgba(19,33,58,.12),0 20px 40px -20px rgba(19,33,58,.4)}
.bw-bar{flex:none;height:2.5em;display:flex;align-items:center;gap:.4em;padding:0 .9em;background:#e8ecef;border-bottom:1px solid #d6dce1}
.bw-bar i{width:.72em;height:.72em;border-radius:50%;background:#c6cdd4}
.bw-url{margin-left:.8em;flex:1;max-width:30em;padding:.22em .9em;border-radius:999px;background:#fff;color:#5d6779;font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bw-body{flex:1;min-height:0;position:relative;overflow:hidden}
.ap{position:absolute;inset:0;display:grid;grid-template-columns:14em minmax(0,1fr)}
.ap-side{display:flex;flex-direction:column;gap:.8em;padding:1em .75em;background:#fafbfc;border-right:1px solid #e4e7ec;min-width:0}
.ap-brand{display:flex;align-items:center;gap:.6em;padding:0 .25em;font-weight:600;white-space:nowrap;overflow:hidden}
.ap-brand span{overflow:hidden;text-overflow:ellipsis}
.ap-logo{flex:none;display:grid;place-items:center;width:2.15em;height:2.15em;border-radius:.6em;background:#0f6f66;color:#fff;font-size:.85em;font-weight:600}
.ap-search{display:flex;align-items:center;gap:.5em;padding:.45em .6em;border:1px solid #e4e7ec;border-radius:.55em;background:#fff;color:#8b94a5;font-size:.92em}
.ap-nav{list-style:none;margin:0;padding:0;display:grid;gap:.12em}
.ap-nav li{display:flex;align-items:center;gap:.6em;padding:.45em .55em;border-radius:.5em;color:#344054;white-space:nowrap;font-size:.95em}
.ap-nav li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ap-nav li em{font-style:normal;color:#8b94a5;font-size:.85em}
.ap-nav li.on{background:#e2f0ed;color:#0b524c;font-weight:600}
.ap-nav li.on .ic{color:#0f6f66}
.ap-main{display:flex;flex-direction:column;gap:.85em;padding:1.3em 1.5em;min-width:0;overflow:hidden}
.ap-top{display:none}
.ap-crumb{margin-bottom:-.55em;color:#5d6779;font-size:.85em}
.ap-head{display:flex;align-items:center;justify-content:space-between;gap:.8em}
.ap-head>div:first-child{display:flex;align-items:center;gap:.6em;min-width:0}
.ap-h{font-size:1.5em;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pill{display:inline-flex;flex:none;padding:.15em .65em;border-radius:999px;background:#e9effc;color:#2950a8;font-size:.8em;font-weight:500;white-space:nowrap}
.pill.amber{background:#fdf3e1;color:#9a5b06}
.pill.red{background:#fdecea;color:#b42318}
.ap-acts{display:flex;gap:.5em;flex:none}
.ab{display:inline-flex;align-items:center;gap:.4em;padding:.45em .8em;border-radius:.55em;font-size:.9em;font-weight:500;white-space:nowrap}
.ab.o{background:#fff;border:1px solid #d0d5dd;color:#344054}
.ab.p{background:#0f6f66;color:#fff}
.ab.sq{padding:.45em .5em}
.ap-card{min-width:0;padding:.85em 1em;background:#fff;border:1px solid #e4e7ec;border-radius:.75em}
.ap-card small{display:block;color:#5d6779;font-size:.8em}
.kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8em}
.kv.k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.kv b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plate{display:inline-block;margin-top:.25em;padding:0 .45em;border:1px solid #d0d5dd;border-radius:.3em;font-size:.78em;letter-spacing:.04em;color:#344054}
.note p{margin:.2em 0 0;color:#344054}
.tbl{padding:0;overflow:hidden}
.ap-ch{padding:.7em 1em;font-weight:600;border-bottom:1px solid #eef0f3}
.ap-card table{width:100%;border-collapse:collapse}
.ap-card th{padding:.5em 1em;background:#fafbfc;border-bottom:1px solid #e4e7ec;color:#5d6779;font-size:.8em;font-weight:500;text-align:left;white-space:nowrap}
.ap-card th.r{text-align:right}
.ap-card td{padding:.5em 1em;border-bottom:1px solid #eef0f3;white-space:nowrap}
.ap-card td:first-child{overflow:hidden;text-overflow:ellipsis;max-width:0;width:100%}
.ap-card tfoot td{font-weight:600;background:#fafbfc;border-bottom:0}
.ap-sum{display:grid;grid-template-columns:1fr auto;gap:.25em 1.6em;padding:.75em 1em;text-align:right}
.ap-sum span{color:#5d6779}
.ap-sum .big{font-size:1.15em;color:#172033;font-weight:600}
.ap-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8em}
.ap-kpis b{display:block;font-size:1.45em;font-weight:600;line-height:1.25}
.ap-kpis b.sm{font-size:1em;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-kpis .warn b{color:#b42318}
.ap-chips{display:flex;gap:.4em;flex-wrap:wrap}
.chip{padding:.22em .75em;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#344054;font-size:.85em;white-space:nowrap}
.chip.on{background:#0f6f66;border-color:#0f6f66;color:#fff}
.stock td{padding:.5em 1em}
.stock td small{color:#8b94a5}
.stock td b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis}
.stock td:nth-child(2){min-width:8.5em}
.qty{display:block;font-weight:500}
.bar{display:block;width:7em;height:.36em;margin:.3em 0 0 auto;border-radius:999px;background:#eef0f3;overflow:hidden}
.bar i{display:block;height:100%;border-radius:inherit;background:#0f6f66}
.bar.low i{background:#d92d20}
.w0 {width:4%}.w1{width:12%}.w2{width:22%}.w3{width:32%}.w4{width:42%}.w5{width:52%}.w6{width:62%}.w7{width:72%}.w8{width:82%}.w9{width:92%}.w10{width:100%}
.dot{display:inline-block;width:.65em;height:.65em;border-radius:50%}
.dot.ok{background:#1f7a4d}.dot.part{background:#d08a17}.dot.due{background:#d92d20}
/* dental week */
.wk{flex:1;min-height:0;padding:0;display:grid;grid-template-columns:3.3em repeat(5,minmax(0,1fr));overflow:hidden}
.wk-t{display:grid;grid-template-rows:2.6em repeat(7,minmax(0,1fr));padding-bottom:.3em}
.wk-t span{padding:.35em .45em 0 0;text-align:right;color:#8b94a5;font-size:.75em}
.wk-t span:first-child{grid-row:2}
.wk-col{display:flex;flex-direction:column;min-width:0;border-left:1px solid #eef0f3}
.wk-d{flex:none;height:2.6em;display:flex;align-items:center;justify-content:center;gap:.35em;border-bottom:1px solid #e4e7ec;color:#5d6779;font-size:.85em;white-space:nowrap}
.wk-d b{font-weight:600;color:#344054;padding:0 .4em;border-radius:999px}
.today .wk-d b{background:#0f6f66;color:#fff}
.wk-slots{flex:1;min-height:0;display:grid;grid-template-rows:repeat(7,minmax(0,1fr));gap:.25em;padding:.3em;background:repeating-linear-gradient(#fff 0 calc(100%/7 - 1px),#f1f3f6 0 calc(100%/7))}
.today .wk-slots{background-color:#f6fbfa}
.ev{min-height:0;overflow:hidden;padding:.25em .45em;border-left:3px solid;border-radius:.4em;font-size:.8em;line-height:1.25}
.ev b,.ev small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev b{font-weight:600}
.ev small{opacity:.85}
.c1{background:#e7f4ec;border-color:#1f7a4d;color:#14532d}
.c2{background:#e9effc;border-color:#2950a8;color:#1e3a7b}
.c3{background:#e2f0ed;border-color:#0f6f66;color:#0b524c}
.c4{background:#fdf3e1;border-color:#b7791f;color:#6e4204}
.c5{background:#f3e8fd;border-color:#7e3fbf;color:#5b2a8c}
.s0{grid-row-start:1}.s1{grid-row-start:2}.s2{grid-row-start:3}.s3{grid-row-start:4}.s4{grid-row-start:5}.s5{grid-row-start:6}.s6{grid-row-start:7}
.l1{grid-row-end:span 1}.l2{grid-row-end:span 2}

/* narrow stage: phone layouts */
@container ba (max-width:600px){
  .nw,.nw2{display:none!important}
  .desk{padding:.7em .7em 0}
  .desk::after{margin:.6em -.7em 0}
  .acc-grid{grid-template-columns:max-content minmax(0,1fr)}
  .acc-memo{grid-template-columns:1fr;gap:.2em}
  .fd.s{max-width:none}
  .acc-f{gap:.45em}
  .w98-tool,.acc-hd span{display:none}
  .vb-bar .fd{width:6.5em}
  .w98.uf{left:5%;right:5%;width:auto;top:16%}
  .xl-sheet thead th:nth-child(3){width:5.4em}
  .xl-sheet th:nth-child(5),.xl-sheet td:nth-child(5),.xl-sheet th:nth-child(6),.xl-sheet td:nth-child(6){display:none}
  .xl-sheet thead th:nth-child(7){width:5.6em}
  .wf-row{grid-template-columns:6.4em minmax(0,1fr)}
  .fd.x{width:6em}
  .bw{top:.7em;left:.7em;right:.7em}
  .bw-url{margin-left:.4em}
  .ap{grid-template-columns:minmax(0,1fr)}
  .ap-side{display:none}
  .ap-top{display:flex;align-items:center;gap:.6em;margin:-1em -1em 0;padding:.6em .9em;background:#fff;border-bottom:1px solid #e4e7ec;font-weight:600;white-space:nowrap}
  .ap-main{padding:1em;gap:.75em}
  .ap-head{flex-wrap:wrap}
  .ap-h{font-size:1.25em}
  .kv,.ap-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv.k3>div:last-child{display:none}
  .ap-card th,.ap-card td{padding:.5em .7em}
  .wk{grid-template-columns:2.6em repeat(5,minmax(0,1fr))}
  .wk-d{flex-direction:column;gap:0;line-height:1.15;height:3em}
  .wk-t{grid-template-rows:3em repeat(7,minmax(0,1fr))}
  .ev{padding:.2em .3em;font-size:.72em}
  .ev small{display:none}
  .bar{width:5em}
}

/* ---------------------------------------------------------------- sections */
.sec{padding:clamp(4rem,8.5vw,7rem) 0}
.sec.tint{background:var(--bg-2)}
.sh{max-width:46rem;margin-bottom:clamp(2rem,4vw,3rem)}
.sh h2{margin-bottom:.45em}
.sh p{color:var(--ink-2);font-size:1.08rem;margin:0}

/* services */
.svc{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.svc-i{--mx:50%;--my:0%;position:relative;isolation:isolate;overflow:hidden;padding:clamp(1.3rem,2.4vw,1.9rem);border-radius:18px;background:var(--surface);border:1px solid var(--line);grid-column:span 2;transition:border-color .3s,transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.svc-i::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:radial-gradient(360px circle at var(--mx) var(--my),color-mix(in srgb,var(--teal) 11%,transparent),transparent 65%);opacity:0;transition:opacity .4s}
.svc-i:hover{border-color:var(--line-2);transform:translateY(-2px);box-shadow:var(--shadow)}
.svc-i:hover::before{opacity:1}
.svc-i h3{font:700 1.3rem/1.2 var(--f-disp);letter-spacing:-.012em;margin:.9rem 0 .5rem}
.svc-i p{margin:0;color:var(--ink-2)}
.svc-modern{grid-column:span 4;grid-row:span 1;display:grid;grid-template-columns:minmax(0,1fr) 190px;column-gap:2rem;align-content:start;background:var(--dark);border-color:var(--dark);color:var(--on-dark)}
.svc-modern h3{color:#fff;font-size:clamp(1.5rem,1.2rem + .9vw,2rem);margin-top:0;grid-column:1}
.svc-modern p{color:var(--on-dark-2);grid-column:1}
.svc-modern .svc-art{grid-column:2;grid-row:1/span 4;align-self:center;justify-self:end}
.svc-modern .lp{fill:#fff}.svc-modern .ls{fill:#5cc3b6}
.svc-modern::after{content:"";position:absolute;inset:0;z-index:-2;background-image:conic-gradient(rgba(255,255,255,.07) 25%,transparent 0 50%,rgba(255,255,255,.07) 0 75%,transparent 0);background-size:10px 10px;-webkit-mask-image:linear-gradient(105deg,transparent 45%,#000);mask-image:linear-gradient(105deg,transparent 45%,#000)}
.svc-modern::before{background:radial-gradient(360px circle at var(--mx) var(--my),rgba(92,195,182,.16),transparent 65%)}
.art-sym{width:170px;height:170px;display:block}
.svc-sub{margin-top:.6rem!important;font-weight:600;color:#fff!important}
.svc-files{grid-column:1;display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.1rem;align-items:center}
.svc-files span{font-size:.82rem;color:var(--on-dark-2);margin-right:.3rem}
.svc-files code{font:500 .78rem/1 var(--f-body);padding:.35em .55em;border-radius:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#e5ecf2}
.svc-custom{grid-column:span 2}
.svc-art svg:not(.art-sym){width:120px;height:80px;display:block;fill:none;stroke:var(--ink-2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svc-art .a-soft{fill:var(--bg-2);stroke:none}
.svc-art .a-fill{fill:var(--teal);stroke:none}
.svc-art .a-dot{fill:var(--line-2);stroke:none}
.svc-art .a-tealline{stroke:var(--teal)}
.svc-art .a-flow{stroke:var(--teal);stroke-dasharray:3 4}
.svc-art .a-head{stroke:var(--teal)}
@media (prefers-reduced-motion:no-preference){
  .svc-i:hover .a-flow{animation:dash .9s linear infinite}
  .svc-i:hover .a-rev{animation-direction:reverse}
  .svc-i:hover .a-row{animation:blink 1.2s ease-in-out infinite}
  .svc-i:hover .art-sym .ls{animation:nudge 1.6s cubic-bezier(.2,.8,.2,1) infinite}
}
@keyframes dash{to{stroke-dashoffset:-14}}
@keyframes blink{50%{fill:color-mix(in srgb,var(--teal) 30%,var(--bg-2))}}
@keyframes nudge{50%{transform:translate(1.2px,-1.2px)}}
.svc-foot{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem 4rem;align-items:end;margin-top:clamp(2rem,4vw,3rem);padding-top:1.8rem;border-top:1px solid var(--line)}
.stack h3{font-size:.95rem;font-weight:600;color:var(--muted);margin-bottom:.8rem}
.stack ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.stack li{padding:.35em .8em;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.9rem;font-weight:500;color:var(--ink-2)}
.svc-cta p{color:var(--ink-2);margin-bottom:1rem}
@media (max-width:1060px){.svc{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-i,.svc-custom{grid-column:span 1}.svc-modern{grid-column:1/-1}}
@media (max-width:700px){.svc{grid-template-columns:1fr}.svc-modern{grid-template-columns:1fr}.svc-modern .svc-art{grid-column:1;grid-row:auto;justify-self:start;order:-1;margin-bottom:.4rem}.art-sym{width:72px;height:72px}.svc-foot{grid-template-columns:1fr}}

/* why now: timeline */
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:linear-gradient(90deg,var(--line-2) 0 30%,transparent 30% 34%,var(--line-2) 34%);transform-origin:left;transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.tl::after{content:"";position:absolute;left:31%;top:5px;width:14px;height:14px;background:linear-gradient(115deg,transparent 45%,var(--line-2) 45% 55%,transparent 55%) 0 0/7px 14px repeat-x}
.tl li{position:relative;padding-top:2.6rem}
.tl li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--bg);border:2px solid var(--ink);transition:transform .5s cubic-bezier(.3,1.6,.5,1),background-color .3s}
.tl li:last-child::before{background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 6px color-mix(in srgb,var(--teal) 22%,transparent)}
.tl time{display:block;font:740 clamp(2rem,1.3rem + 2vw,2.9rem)/1 var(--f-disp);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-bottom:.4rem}
.tl b{display:block;font-weight:600;font-size:1.05rem}
.tl span{color:var(--muted)}
.why-note{max-width:44rem;margin-top:clamp(2rem,4vw,3rem);font-size:1.08rem;color:var(--ink-2);padding-left:1rem;border-left:3px solid var(--teal)}
.armed .tl::before{transform:scaleX(0)}
.armed .tl li::before{transform:scale(0)}
.armed.in .tl::before{transform:none}
.armed.in .tl li::before{transform:none}
.armed.in .tl li:nth-child(2)::before{transition-delay:.45s}
.armed.in .tl li:nth-child(3)::before{transition-delay:.9s}
@media (max-width:760px){
  .tl{grid-template-columns:1fr;gap:1.6rem;padding-left:2.2rem}
  .tl::before{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto;background:var(--line-2);transform-origin:top}
  .tl::after{display:none}
  .armed .tl::before{transform:scaleY(0)}
  .tl li{padding-top:0}
  .tl li::before{left:-2.2rem;top:.55rem}
}

/* gallery */
.gal{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.gal-tabs{display:grid;gap:.5rem}
.gal-tabs button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr;gap:.1rem .9rem;align-items:center;padding:.95rem 1rem;border-radius:12px;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:border-color .2s,background-color .2s,transform .2s}
.gal-tabs button:hover{border-color:var(--line-2)}
.gal-tabs button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.gal-tabs button[aria-selected=true]{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal)}
.gal-tabs .tn{grid-row:span 2;width:2.3rem;height:2.3rem;border-radius:9px;display:grid;place-items:center;background:var(--bg-2);color:var(--ink-2)}
.gal-tabs [aria-selected=true] .tn{background:var(--teal);color:var(--on-teal)}
.gal-tabs b{font-weight:600;line-height:1.25}
.gal-tabs small{color:var(--muted);font-size:.85rem}
.gal-panel,.gal-fig{margin:0}
.gal-text{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 2rem;margin-top:1.1rem}
.gal-text p{margin:0;color:var(--ink-2)}
.gal-text b{display:block;color:var(--ink);font-weight:600}
.gal-foot{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;margin-top:1rem}
.gal-foot a{font-weight:600}
.gal-panel:not(.on){display:none}
.gal-panel+.gal-panel{margin-top:0}
@media (scripting:none){.gal{grid-template-columns:1fr}.gal-tabs{display:none!important}.gal-panel:not(.on){display:block}.gal-panel+.gal-panel{margin-top:3rem}}
@media (max-width:900px){
  .gal{grid-template-columns:1fr}
  .gal-tabs{position:static;display:flex;overflow-x:auto;gap:.5rem;margin:0 calc(-1*var(--gut));padding:.2rem var(--gut) .6rem;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .gal-tabs::-webkit-scrollbar{display:none}
  .gal-tabs button{flex:none;scroll-snap-align:start;padding:.65rem .85rem;gap:0 .7rem}
  .gal-tabs .tn{width:2rem;height:2rem}
  .gal-text{grid-template-columns:1fr}
}
.ba.swap .ba-stage{animation:swap .45s cubic-bezier(.2,.8,.2,1)}
@keyframes swap{from{opacity:.4;transform:scale(.985)}}

/* demo strip */
.demo{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;margin-top:clamp(3.5rem,7vw,5.5rem);padding:clamp(1.5rem,3.5vw,2.5rem);border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.demo h3{font:720 clamp(1.5rem,1.1rem + 1vw,2rem)/1.1 var(--f-disp);letter-spacing:-.015em;margin-bottom:.6em}
.demo p{color:var(--ink-2)}
.demo .small{font-size:.92rem;color:var(--muted)}
.demo-shot{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}
.demo-shot img{display:block;width:100%;height:auto}
@media (max-width:860px){.demo{grid-template-columns:1fr}}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);position:relative;counter-reset:s}
.steps::before,.steps::after{content:"";position:absolute;left:24px;right:calc(25% - 24px);top:23px;height:2px;background:var(--line-2)}
.steps::after{background:var(--teal);transform-origin:left;transform:scaleX(1)}
.steps li{position:relative;counter-increment:s}
.steps .n{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;margin-bottom:1.1rem;border-radius:50%;background:var(--bg);border:2px solid var(--teal);color:var(--teal-2);font:740 1.25rem/1 var(--f-disp)}
.steps li:first-child .n{background:var(--teal);color:var(--on-teal)}
.steps h3{margin-bottom:.45em}
.steps p{margin:0;color:var(--ink-2)}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .steps::after{animation:fill linear both;animation-timeline:view();animation-range:entry 60% cover 55%}
    .steps li .n{animation:fillN linear both;animation-timeline:view(block);animation-range:entry 80% cover 45%}
  }
}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fillN{0%,60%{background:var(--bg);color:var(--teal-2)}61%,100%{background:var(--teal);color:var(--on-teal)}}
@media (max-width:900px){
  .steps{grid-template-columns:1fr;gap:1.8rem}
  .steps::before,.steps::after{left:23px;right:auto;top:24px;bottom:24px;width:2px;height:auto;transform-origin:top}
  .steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 1.1rem}
  .steps .n{grid-row:span 2;margin:0}
  @supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.steps::after{animation-name:fillY}}}
}
@keyframes fillY{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* estimator */
.est-band{background:var(--surface);border-block:1px solid var(--line)}
.est{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.est-form{display:grid;gap:1.5rem;margin:0}
.est-form fieldset{margin:0;padding:0;border:0;min-width:0}
.est-form legend{padding:0;margin-bottom:.6rem;font-weight:600}
.opts{display:flex;flex-wrap:wrap;gap:.45rem}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt span{display:inline-flex;align-items:center;min-height:44px;padding:.45em 1em;border-radius:10px;border:1.5px solid var(--line-2);background:var(--bg);color:var(--ink);font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .15s}
.opt input:hover+span{border-color:var(--ink-2)}
.opt input:checked+span{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}
.opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.opt input:active+span{transform:scale(.97)}
.est-out{position:sticky;top:calc(var(--head) + 24px);padding:clamp(1.4rem,3vw,2rem);border-radius:18px;background:var(--dark);color:var(--on-dark);box-shadow:var(--shadow)}
.est-k{margin:0 0 .3rem;color:var(--on-dark-2);font-weight:500}
.est-v{margin:0 0 1.1rem;font:760 clamp(2rem,1.4rem + 2vw,2.9rem)/1.05 var(--f-disp);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}
.est-v small{display:block;font:500 1rem/1.4 var(--f-body);letter-spacing:0;color:var(--on-dark-2);margin-top:.3rem}
.est-v.bump{animation:bump .5s cubic-bezier(.2,.8,.2,1)}
@keyframes bump{from{color:#a7efe5}}
.est-out p{color:var(--on-dark-2)}
.est-out .pil{color:#fff;padding:.8rem 0;border-block:1px solid rgba(255,255,255,.14);margin-bottom:1rem}
.est-out .tiny{font-size:.9rem;margin-bottom:1.3rem}
.est-out .btn{--b:#5cc3b6;color:#062420;width:100%}
.est-terms{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem;margin-top:1rem;padding-top:1.6rem;border-top:1px solid var(--line);color:var(--ink-2)}
.est-terms p{margin:0}
.est-new{grid-column:1/-1;padding:1rem 1.2rem;border-radius:12px;background:var(--bg);border:1px dashed var(--line-2)}
.est-new a{font-weight:600;white-space:nowrap}
@media (max-width:900px){.est{grid-template-columns:1fr}.est-out{position:static}.est-terms{grid-template-columns:1fr}}

/* guarantees */
.gu{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.gu-list{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem}
.gu-list li{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.2rem 1rem}
.gu-list .ic{grid-row:span 2;width:2.4rem;height:2.4rem;padding:.5rem;border-radius:10px;background:var(--teal-soft);color:var(--teal-2);stroke-width:1.7}
.gu-list p{margin:0;color:var(--ink-2)}
.tr{margin:0;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.tr-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line);font-weight:600}
.tr table{width:100%;border-collapse:collapse;font-size:.93rem;font-variant-numeric:tabular-nums}
.tr th{padding:.6rem 1.2rem;text-align:left;font-weight:500;color:var(--muted);font-size:.82rem;border-bottom:1px solid var(--line)}
.tr td{padding:.75rem 1.2rem;border-bottom:1px solid var(--line)}
.tr td.r,.tr th.r{text-align:right}
.tick{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--ok-soft);color:var(--ok);vertical-align:middle}
.tick .ic{width:.9rem;height:.9rem;stroke-width:2.6}
.tr-f{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 1.2rem;background:var(--ok-soft);color:var(--ok);font-weight:600}
.tr-f .exl{font-weight:600}
.tr.run tbody tr{animation:scan .9s ease-out backwards}
.tr.run .tick{animation:pop .45s cubic-bezier(.3,1.6,.5,1) backwards}
.tr.run tbody tr:nth-child(1),.tr.run tbody tr:nth-child(1) .tick{animation-delay:.1s}
.tr.run tbody tr:nth-child(2),.tr.run tbody tr:nth-child(2) .tick{animation-delay:.45s}
.tr.run tbody tr:nth-child(3),.tr.run tbody tr:nth-child(3) .tick{animation-delay:.8s}
.tr.run tbody tr:nth-child(4),.tr.run tbody tr:nth-child(4) .tick{animation-delay:1.15s}
.tr.run .tr-f{animation:fadein .5s 1.6s backwards}
@keyframes scan{from{background:color-mix(in srgb,var(--teal) 14%,transparent)}}
@keyframes pop{from{transform:scale(0)}}
@keyframes fadein{from{opacity:0}}
@media (max-width:900px){.gu{grid-template-columns:1fr}.tr{position:static}}
@media (max-width:480px){.tr th,.tr td{padding-inline:.7rem}.tr .hide-s{display:none}}

/* vendors */
.ven{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.ven p{color:var(--ink-2)}
.ven h2{margin-bottom:.55em}
.ven ol{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:v}
.ven ol li{counter-increment:v;display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:1rem;align-items:start;padding:1.1rem 0;border-bottom:1px dashed var(--line-2);font-weight:500}
.ven ol li:first-child{border-top:1px dashed var(--line-2)}
.ven ol li::before{content:counter(v);display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:8px;background:var(--surface);border:1px solid var(--line);font:700 1rem/1 var(--f-disp);color:var(--teal-2)}
@media (max-width:860px){.ven{grid-template-columns:1fr}}

/* faq */
.faq-w{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding:1.15rem 0;cursor:pointer;font-weight:600;font-size:1.06rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line-2);background:linear-gradient(var(--ink),var(--ink)) center/12px 2px no-repeat,linear-gradient(var(--ink),var(--ink)) center/2px 12px no-repeat;transition:transform .3s cubic-bezier(.2,.8,.2,1),background-color .2s}
.faq details[open] summary::after{transform:rotate(135deg);border-color:var(--teal)}
.faq summary:hover{color:var(--teal-2)}
.faq .ans{padding:0 2.8rem 1.25rem 0;color:var(--ink-2)}
.faq .ans p{margin:0}
@supports (interpolate-size:allow-keywords){
  @media (prefers-reduced-motion:no-preference){
    .faq{interpolate-size:allow-keywords}
    .faq details::details-content{height:0;overflow:clip;transition:height .35s cubic-bezier(.2,.8,.2,1),content-visibility .35s allow-discrete}
    .faq details[open]::details-content{height:auto}
  }
}
@media (max-width:860px){.faq-w{grid-template-columns:1fr}.faq .ans{padding-right:0}}

/* contact */
.contact{background:var(--dark);color:var(--on-dark);padding:clamp(4.5rem,9vw,7.5rem) 0;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;inset:auto -10% -40% auto;width:60%;height:120%;background-image:conic-gradient(rgba(255,255,255,.06) 25%,transparent 0 50%,rgba(255,255,255,.06) 0 75%,transparent 0);background-size:10px 10px;mask-image:radial-gradient(closest-side,#000,transparent);pointer-events:none}
.contact h2{color:#fff;margin-bottom:.4em}
.contact p{color:var(--on-dark-2);max-width:40rem}
.mail-big{display:inline-block;margin:.2rem 0 1.6rem;font:760 clamp(1.05rem,5.2vw,3.6rem)/1.1 var(--f-disp);letter-spacing:-.025em;color:#fff;text-decoration:none;overflow-wrap:anywhere;background:linear-gradient(#5cc3b6,#5cc3b6) 0 100%/100% 3px no-repeat;padding-bottom:.12em;transition:background-size .3s}
.mail-big:hover{color:#a7efe5}
.contact .actions{margin-bottom:1.6rem}
.contact .btn{--b:#5cc3b6;color:#062420}
.contact .btn.ghost{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
.contact .btn.ghost:hover{border-color:#fff}
.c-where{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.12);font-weight:500;color:#fff!important}
.copy-st{min-height:1.5em;font-size:.95rem;color:#a7efe5;margin:0}
@media (scripting:none){[data-copy]{display:none}}
.contact :focus-visible{outline-color:#a7c4ff}

/* footer */
.site-foot{border-top:1px solid var(--line);color:var(--muted);font-size:.93rem;background:var(--bg)}
.ft{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:2rem;padding:clamp(3rem,6vw,4.5rem) 0 2.5rem}
.ft-brand p{margin:.9rem 0 0;max-width:22rem}
.ft-brand .brand{font-size:1.05rem}
.ft-h{font:600 .85rem/1.2 var(--f-body);color:var(--ink);margin:.3rem 0 .9rem;letter-spacing:0}
.ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.ft a{color:var(--ink-2);text-decoration:none}
.ft a:hover{color:var(--ink);text-decoration:underline}
.ft a[aria-current]{color:var(--teal-2);font-weight:600}
.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding:1.3rem 0 2.2rem;border-top:1px solid var(--line);font-size:.85rem}
@media (max-width:980px){.ft{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-brand{grid-column:1/-1}}
@media (max-width:420px){.ft{grid-template-columns:1fr 1fr;gap:1.6rem 1rem}}

/* sticky mobile CTA */
.sticky{position:fixed;z-index:30;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%,0);display:none;align-items:center;gap:.5em;padding:.75em 1.3em;min-height:48px;border-radius:999px;background:var(--teal);color:var(--on-teal);font-weight:600;text-decoration:none;box-shadow:0 10px 28px -8px rgba(19,33,58,.5);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}
.sticky .ic{width:1.2em;height:1.2em}
@media (max-width:760px){.sticky{display:inline-flex}body.has-sticky{padding-bottom:84px}}
@media (scripting:enabled){.sticky.off{transform:translate(-50%,150%);opacity:0;pointer-events:none}}

/* documents (privacy, unsubscribe, demo, 404) */
.doc{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(3.5rem,7vw,6rem)}
.doc .wrap{max-width:46rem}
.doc h1{font:760 clamp(2rem,1.3rem + 2.4vw,3rem)/1.06 var(--f-disp);letter-spacing:-.022em;margin-bottom:.5em}
.doc h2{font-size:1.4rem;line-height:1.25;margin:2.2rem 0 .6rem;letter-spacing:-.01em}
.doc ol{padding-left:1.4rem}
.doc li{margin-bottom:.4rem}
.doc .meta{color:var(--muted)}
.callout{padding:1rem 1.2rem;border-radius:12px;background:var(--tip);border:1px solid var(--tip-line);color:var(--tip-ink)}
.callout p{margin:0}
.callout a{color:inherit}
.sign{margin-top:1.6rem}
.doc-grid{display:grid;grid-template-columns:15rem minmax(0,46rem);gap:clamp(2rem,5vw,5rem);justify-content:center}
.doc.doc-toc .wrap{max-width:var(--wrap)}
.toc{position:sticky;top:calc(var(--head) + 28px);align-self:start;font-size:.9rem}
.toc-h{font-weight:600;color:var(--ink);margin-bottom:.7rem}
.toc ol{list-style:none;margin:0;padding:0 0 0 .9rem;border-left:1px solid var(--line);display:grid;gap:.15rem}
.toc a{display:block;padding:.25rem 0;color:var(--muted);text-decoration:none;line-height:1.35}
.toc a:hover,.toc a.on{color:var(--ink)}
.toc a.on{font-weight:600}
@media (max-width:900px){.doc-grid{grid-template-columns:1fr}.toc{position:static;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.toc ol{columns:2;display:block;border:0;padding:0}.toc li{break-inside:avoid}}
@media (max-width:520px){.toc ol{columns:1}}
.doc h2[id]{scroll-margin-top:calc(var(--head) + 20px)}
.nf{padding:clamp(3rem,8vw,6rem) 0 clamp(3.5rem,7vw,6rem)}
.nf-stage{display:grid;place-items:center;padding:clamp(2.5rem,6vw,4.5rem) 1rem;border-radius:20px;background:#008080;background-image:conic-gradient(rgba(255,255,255,.06) 25%,transparent 0 50%,rgba(255,255,255,.06) 0 75%,transparent 0);background-size:8px 8px}
.nf-dlg{width:min(30rem,100%);font-size:14px}
.nf-body{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem 1.1rem .6rem}
.nf-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffd800;border:1px solid #806c00;color:#000;font:700 20px/1 Tahoma,sans-serif;box-shadow:inset -2px -2px rgba(0,0,0,.18)}
.nf-dlg h1{font:700 1.15em/1.3 Tahoma,Verdana,sans-serif;letter-spacing:0;margin:0 0 .4em;color:#000}
.nf-dlg p{margin:0;font:1em/1.45 Tahoma,Verdana,sans-serif;color:#000}
.nf-btns{display:flex;justify-content:center;padding:.6rem 1rem 1.1rem}
.nf-btns .bt{color:#000;text-decoration:none;font:1em Tahoma,Verdana,sans-serif;padding:.45em 1.4em}
.nf-btns .bt:focus-visible{outline:1px dotted #000;outline-offset:-5px}
.nf-btns .bt:active{box-shadow:inset 1px 1px #0a0a0a,inset -1px -1px #fff,inset 2px 2px #808080}
.nf-oh{font:700 1.3rem/1.2 var(--f-disp);margin:clamp(2.5rem,5vw,3.5rem) 0 1.2rem}
.nf-others{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nf-others section{padding:1.2rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.nf-others h2{font:700 1.1rem/1.2 var(--f-disp);margin:0 0 .5rem}
.nf-others p{color:var(--ink-2);font-size:.93rem}
.nf-others p:last-child{margin:0}
@media (max-width:900px){.nf-others{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.nf-others{grid-template-columns:1fr}}
.multi section+section{margin-top:2.6rem;padding-top:2.2rem;border-top:1px solid var(--line)}
.multi h2{font:740 1.6rem/1.1 var(--f-disp);margin:0 0 .5em}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media print{.site-head,.sticky,.ba-handle{display:none}}
