@font-face{font-family:'Alcyone';src:url('assets/fonts/Alcyone-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Alcyone';src:url('assets/fonts/Alcyone-Medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
:root{--ink:#0c0e0e;--paper:#f2f0e9;--muted:#a8aba7;--line:rgba(0,0,0,.13);--line-dark:rgba(255,255,255,.14);--accent:#c8ff2e;--max:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Alcyone','Helvetica Neue',Arial,sans-serif;font-weight:400;overflow-x:hidden}a{color:inherit;text-decoration:none}p{line-height:1.55}.section-dark{background:var(--ink);color:#f5f2e9}.section-light{background:var(--paper);color:var(--ink)}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;padding:0 max(28px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);mix-blend-mode:difference;color:white}.brand{display:flex;gap:12px;align-items:center;font-size:14px;letter-spacing:.12em}.brand-mark{width:30px;height:30px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:15px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:13px}.nav-cta{border:1px solid currentColor;border-radius:999px;padding:9px 15px}
.hero{min-height:100svh;position:relative;overflow:hidden;padding:155px max(28px,calc((100vw - var(--max))/2)) 80px;display:flex;align-items:flex-end}.hero-copy{position:relative;z-index:3;width:min(780px,72vw)}.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 28px}.hero h1{font-size:clamp(44px,5.3vw,82px);line-height:.98;letter-spacing:-.045em;font-weight:400;margin:0 0 34px}.lead{max-width:690px;color:#c7c9c4;font-size:clamp(17px,1.55vw,23px);margin:0 0 38px}.hero-actions{display:flex;gap:26px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-size:13px}.btn-light{background:#f5f2e9;color:var(--ink)}.btn-accent{background:var(--accent);color:var(--ink)}.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:5px}.hero-index{position:absolute;right:max(28px,calc((100vw - var(--max))/2));bottom:85px;display:flex;gap:8px;font-size:12px;color:#8d918e}.scroll-cue{position:absolute;right:max(28px,calc((100vw - var(--max))/2));top:50%;font-size:9px;letter-spacing:.22em;transform:rotate(90deg);transform-origin:right center;display:flex;align-items:center;gap:14px}.scroll-cue i{width:46px;height:1px;background:currentColor;display:block}
.hero-orbit{position:absolute;right:-4vw;top:7vh;width:min(66vw,880px);aspect-ratio:1;opacity:.9}.orbit-svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(255,255,255,.16);stroke-width:.7}.orb{position:absolute;border-radius:50%;filter:blur(1px);mix-blend-mode:screen}.orb-a{width:34%;height:34%;right:18%;top:20%;background:radial-gradient(circle at 35% 35%,rgba(200,255,46,.75),rgba(200,255,46,.03) 70%)}.orb-b{width:17%;height:17%;right:47%;top:44%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.7),rgba(255,255,255,.02) 70%)}.orb-c{width:8%;height:8%;right:32%;top:68%;background:radial-gradient(circle,rgba(200,255,46,.85),rgba(200,255,46,0))}
.disciplines{padding:130px max(28px,calc((100vw - var(--max))/2))}.section-head{max-width:820px;margin-bottom:80px}.section-head h2,.statement h2,.about h2,.contact h2{font-size:clamp(34px,4vw,58px);line-height:1.04;letter-spacing:-.035em;font-weight:400;margin:0}.discipline-stack{display:grid;gap:18px}.discipline-card{min-height:420px;border:1px solid var(--line);display:grid;grid-template-columns:80px 1fr 38%;gap:32px;padding:36px;position:relative;overflow:hidden;background:rgba(255,255,255,.22)}.card-no{font-size:12px}.discipline-card h3{font-size:clamp(28px,3vw,44px);line-height:1.05;font-weight:400;letter-spacing:-.03em;margin:0 0 22px;max-width:640px}.discipline-card p:not(.eyebrow){max-width:610px;color:#656864;font-size:16px}.discipline-card a{display:inline-block;margin-top:22px;font-size:13px;border-bottom:1px solid}.card-visual{position:relative;min-height:300px}.mesh{background-image:linear-gradient(rgba(0,0,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.07) 1px,transparent 1px);background-size:32px 32px;transform:perspective(600px) rotateY(-15deg) rotateX(10deg)}.mesh:after{content:'';position:absolute;inset:18% 10% 12% 20%;border:1px solid #111;border-radius:50%;box-shadow:0 0 0 28px rgba(0,0,0,.025),0 0 0 56px rgba(0,0,0,.018)}.typefield{display:grid;place-items:center;text-align:center;font-size:42px;line-height:.85;letter-spacing:-.06em;border:1px solid var(--line);background:linear-gradient(135deg,transparent 48%,rgba(0,0,0,.05) 49%,rgba(0,0,0,.05) 51%,transparent 52%)}.nodes i{position:absolute;width:11px;height:11px;border:1px solid;border-radius:50%}.nodes i:nth-child(1){left:15%;top:18%}.nodes i:nth-child(2){left:58%;top:12%}.nodes i:nth-child(3){left:28%;top:58%}.nodes i:nth-child(4){left:72%;top:62%}.nodes i:nth-child(5){left:48%;top:40%;width:34px;height:34px;background:var(--accent)}.nodes:before,.nodes:after{content:'';position:absolute;left:12%;right:12%;top:46%;height:1px;background:var(--line);transform:rotate(24deg)}.nodes:after{transform:rotate(-28deg)}
.statement{padding:130px max(28px,calc((100vw - var(--max))/2));min-height:75vh}.statement-line,.closing-mark{display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.16em;color:#9ea19e}.statement-line i,.closing-mark i{height:1px;background:rgba(255,255,255,.2);flex:1}.statement-copy{margin-top:18vh;display:grid;grid-template-columns:1fr 2fr;gap:40px}.statement-copy p:last-child{max-width:580px;color:#aeb1ad;font-size:18px;margin-top:28px}
.products{padding:130px max(28px,calc((100vw - var(--max))/2))}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.product{min-height:620px;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;position:relative;overflow:hidden}.product-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.product h3{font-size:clamp(38px,4vw,60px);font-weight:400;letter-spacing:-.05em;margin:65px 0 10px}.product>p{max-width:420px;color:#62645f}.product>a{margin-top:auto;font-size:13px}.product-ui{position:absolute;left:13%;right:-6%;bottom:70px;height:245px;border:1px solid rgba(0,0,0,.16);background:rgba(255,255,255,.36);backdrop-filter:blur(12px);box-shadow:0 30px 60px rgba(0,0,0,.08);transform:rotate(-3deg)}.product-green{background:linear-gradient(180deg,#f5f4ef 0%,#eeeeea 58%,#d9d9d3 100%)}.product-cyan{background:linear-gradient(180deg,#f4f4f1 0%,#e9e9e6 58%,#d5d6d4 100%)}.ui-bar{height:32px;border-bottom:1px solid rgba(0,0,0,.13)}.ui-nav{position:absolute;width:22%;top:32px;bottom:0;border-right:1px solid rgba(0,0,0,.1)}.ui-panel{position:absolute;left:27%;right:6%;top:58px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ui-panel b{height:80px;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.35)}.ticket-shape{position:absolute;left:24%;top:55px;width:58%;height:135px;border:1px solid rgba(0,0,0,.18);display:grid;place-items:center;text-align:center;font-size:28px;letter-spacing:.08em}.ticket-shape small{font-size:9px}
.about{padding:30px max(28px,calc((100vw - var(--max))/2)) 130px}.about-grid{border-top:1px solid var(--line);padding-top:70px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:48px}.about-grid>div>p{max-width:620px;color:#656864;font-size:17px}.facts{display:grid;gap:18px}.facts div{padding-bottom:18px;border-bottom:1px solid var(--line)}.facts strong,.facts span{display:block}.facts strong{font-weight:400;font-size:17px}.facts span{font-size:11px;color:#777b76;margin-top:5px}
.contact{padding:130px max(28px,calc((100vw - var(--max))/2)) 40px}.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:70px;align-items:end}.contact-grid p{color:#aeb1ad;max-width:440px}.contact .btn{margin-top:20px}.closing-mark{margin-top:120px;padding-top:28px;border-top:1px solid var(--line-dark)}footer{padding:20px max(28px,calc((100vw - var(--max))/2));background:var(--ink);color:#777b77;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em}footer div{display:flex;gap:24px}
.intro{position:fixed;z-index:100;inset:0;background:#0c0e0e;color:#f4f1e9;display:grid;place-items:center;pointer-events:none;animation:introOut .9s 3.15s forwards}.intro-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;opacity:0;animation:fadeIn .8s .2s forwards}.intro-mark{position:absolute;width:70px;height:70px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;font-size:30px;animation:markMove 2.4s .35s cubic-bezier(.7,0,.2,1) forwards}.intro-lines{position:absolute;display:flex;width:min(620px,70vw);justify-content:center;gap:8px}.intro-lines span{width:0;height:1px;background:rgba(255,255,255,.3);animation:lineGrow 1s 1.15s forwards}.intro-words{position:absolute;width:min(760px,80vw);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.25em;opacity:0;animation:fadeIn .8s 1.7s forwards}.intro-words span:nth-child(2){color:var(--accent)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@keyframes fadeIn{to{opacity:1}}@keyframes lineGrow{to{width:32%}}@keyframes markMove{0%{transform:scale(.7);opacity:0}35%{transform:scale(1);opacity:1}100%{transform:scale(.76);opacity:.82}}@keyframes introOut{to{opacity:0;visibility:hidden}}
@media(max-width:900px){.site-header nav a:not(.nav-cta){display:none}.hero{padding-top:130px}.hero-copy{width:100%}.hero-orbit{width:95vw;right:-35vw;top:15vh;opacity:.65}.discipline-card{grid-template-columns:44px 1fr}.card-visual{grid-column:2;min-height:220px}.product-grid,.contact-grid,.about-grid,.statement-copy{grid-template-columns:1fr}.product{min-height:560px}.about-grid{gap:28px}.statement-copy{margin-top:12vh}.hero-index,.scroll-cue{display:none}}
@media(max-width:600px){.site-header{height:66px}.hero{padding:130px 22px 52px}.hero h1{font-size:44px}.disciplines,.products,.statement,.contact{padding:95px 22px}.about{padding:20px 22px 95px}.discipline-card{padding:24px 18px;grid-template-columns:32px 1fr}.card-visual{grid-column:1/-1}.product-grid{grid-template-columns:1fr}.product{min-height:520px;padding:24px}.product-ui{left:8%;right:-12%;height:210px}.contact-grid{gap:30px}.closing-mark{margin-top:80px}.intro-words{font-size:8px;width:86vw}.intro-lines{width:80vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.intro{display:none}.reveal{opacity:1;transform:none;transition:none}}

/* --- refined corporate header + richer visual language --- */
.brand{display:flex;align-items:center;height:100%}
.brand img{display:block;width:164px;height:auto;max-height:38px;object-fit:contain}

.privacy-visual,.digital-visual,.software-visual{overflow:visible;isolation:isolate}

/* Privacy: a translucent data capsule instead of a technical diagram */
.privacy-visual{display:grid;place-items:center;background:radial-gradient(circle at 62% 46%,rgba(200,255,46,.18),transparent 36%)}
.glass-shell{position:relative;width:min(82%,360px);aspect-ratio:1;border-radius:44% 56% 58% 42% / 42% 42% 58% 58%;border:1px solid rgba(12,14,14,.22);background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.13));box-shadow:inset 18px 18px 50px rgba(255,255,255,.75),inset -20px -25px 50px rgba(12,14,14,.06),0 30px 55px rgba(12,14,14,.10);backdrop-filter:blur(14px);transform:rotate(-8deg)}
.glass-shell:before,.glass-shell:after{content:'';position:absolute;border:1px solid rgba(12,14,14,.13);border-radius:50%;inset:11%;transform:rotate(20deg)}
.glass-shell:after{inset:25%;border-color:rgba(200,255,46,.55);transform:rotate(-22deg)}
.glass-core{position:absolute;width:28%;aspect-ratio:1;border-radius:50%;left:36%;top:36%;background:radial-gradient(circle at 34% 28%,#f9ffe9 0 12%,var(--accent) 35%,#8fb815 78%,#6b8a0f 100%);box-shadow:0 0 46px rgba(200,255,46,.45);animation:coreFloat 5s ease-in-out infinite}
.data-chip{position:absolute;padding:7px 10px;border:1px solid rgba(12,14,14,.16);background:rgba(244,242,235,.72);backdrop-filter:blur(8px);font-size:9px;letter-spacing:.12em;box-shadow:0 8px 18px rgba(0,0,0,.06)}
.c1{left:-12%;top:22%}.c2{right:-13%;top:18%}.c3{left:-8%;bottom:19%}.c4{right:-16%;bottom:24%}.c5{left:39%;bottom:-7%}
.scan-line{position:absolute;left:10%;right:10%;height:1px;top:18%;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 14px rgba(200,255,46,.9);animation:scan 4.8s ease-in-out infinite}

/* Digital: layered editorial production windows */
.digital-visual{perspective:850px;background:radial-gradient(circle at 45% 45%,rgba(0,0,0,.04),transparent 42%)}
.window{position:absolute;border:1px solid rgba(12,14,14,.18);background:rgba(246,244,238,.84);box-shadow:0 24px 60px rgba(12,14,14,.09);backdrop-filter:blur(10px)}
.window-a{width:61%;height:51%;left:6%;top:9%;transform:rotateY(13deg) rotateZ(-5deg);padding:16px}
.window-a>span{display:inline-block;width:6px;height:6px;border-radius:50%;border:1px solid rgba(12,14,14,.45);margin-right:5px}
.window-copy{position:absolute;left:18px;bottom:18px;font-size:21px;line-height:.95;letter-spacing:-.04em}.window-copy b{font-weight:400;color:#799b18}
.window-b{width:48%;height:56%;right:2%;bottom:4%;transform:rotateY(-10deg) rotateZ(4deg);overflow:hidden}.crop-mark{position:absolute;inset:14px;border:1px solid rgba(12,14,14,.12)}.poster-type{position:absolute;left:17%;top:8%;font-size:54px;line-height:.63;letter-spacing:-.1em}
.window-c{width:39%;height:33%;left:31%;bottom:2%;transform:translateZ(30px) rotateZ(-1deg);background:rgba(12,14,14,.92)}.cursor{position:absolute;right:14px;top:10px;color:var(--accent);font-size:21px}.pixel-grid{position:absolute;inset:20px;background-image:radial-gradient(rgba(255,255,255,.42) 1px,transparent 1px);background-size:13px 13px;opacity:.42}
.digital-orbit{position:absolute;width:46%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(200,255,46,.55);left:26%;top:24%;z-index:-1;animation:orbitPulse 5s ease-in-out infinite}

/* Software: exploded architecture with four modules */
.software-visual{display:grid;place-items:center;perspective:1000px;background:radial-gradient(circle at 50% 50%,rgba(200,255,46,.12),transparent 42%)}
.software-stage{position:relative;width:86%;height:84%;transform:rotateX(56deg) rotateZ(-34deg);transform-style:preserve-3d}
.module{position:absolute;width:42%;height:31%;border:1px solid rgba(12,14,14,.18);background:rgba(246,244,238,.78);box-shadow:0 20px 40px rgba(12,14,14,.08);padding:13px;display:flex;justify-content:space-between;align-items:flex-start;backdrop-filter:blur(10px);animation:moduleDrift 6s ease-in-out infinite}
.module small{font-size:8px;letter-spacing:.12em}.module strong{font-weight:400;font-size:13px;letter-spacing:.08em}.m1{left:4%;top:4%;transform:translateZ(10px)}.m2{right:4%;top:4%;transform:translateZ(36px);animation-delay:-1.4s}.m3{left:4%;bottom:4%;transform:translateZ(66px);animation-delay:-2.6s}.m4{right:4%;bottom:4%;transform:translateZ(96px);animation-delay:-3.8s;background:rgba(200,255,46,.78)}
.core-cube{position:absolute;width:92px;height:92px;left:calc(50% - 46px);top:calc(50% - 46px);transform:translateZ(125px);background:var(--ink);border:1px solid rgba(255,255,255,.25);box-shadow:0 30px 60px rgba(0,0,0,.18);display:grid;place-items:center}.core-cube span{width:19px;height:19px;border-radius:50%;background:var(--accent);box-shadow:0 0 26px rgba(200,255,46,.8)}

@keyframes coreFloat{0%,100%{transform:translateY(-4px) scale(.96)}50%{transform:translateY(7px) scale(1.04)}}
@keyframes scan{0%,100%{top:18%;opacity:.2}50%{top:78%;opacity:1}}
@keyframes orbitPulse{0%,100%{transform:scale(.94);opacity:.45}50%{transform:scale(1.06);opacity:1}}
@keyframes moduleDrift{0%,100%{margin-top:-3px}50%{margin-top:8px}}

@media(max-width:900px){.brand img{width:145px}.glass-shell{width:min(72%,320px)}.window-a{left:8%}.software-stage{width:78%}}
@media(max-width:600px){.brand img{width:132px}.privacy-visual,.digital-visual,.software-visual{min-height:280px}.data-chip{font-size:8px}.window-copy{font-size:17px}.poster-type{font-size:44px}.software-stage{width:92%;height:88%}}

/* ===== V3: line-art hero + purposeful animated illustrations ===== */
.hero{align-items:center;min-height:100svh;padding-top:130px;padding-bottom:84px}
.hero-copy{width:min(620px,47vw);align-self:center}
.hero h1{font-size:clamp(42px,4.6vw,70px);line-height:1.02;letter-spacing:-.038em;margin-bottom:28px}
.hero .lead{font-size:clamp(16px,1.3vw,20px);max-width:590px;margin-bottom:34px}
.hero-drawing{position:absolute;right:max(24px,calc((100vw - var(--max))/2 - 40px));top:50%;width:min(54vw,760px);transform:translateY(-50%);opacity:.98}
.hero-system{display:block;width:100%;height:auto;overflow:visible}
.hero-system text{font-family:'Alcyone','Helvetica Neue',Arial,sans-serif;fill:rgba(245,242,233,.9);font-size:13px;letter-spacing:.18em}
.hero-system .micro-copy{font-size:8px;fill:rgba(245,242,233,.48);letter-spacing:.14em}
.sketch-line,.node-ring,.node-frame,.node-frame-inner,.node-cube,.micro-line,.center-orbit,.center-cross,.note-line{fill:none;stroke:rgba(245,242,233,.68);stroke-width:1.2;vector-effect:non-scaling-stroke}
.line-faint,.node-cube.faint{stroke:rgba(245,242,233,.17)}
.sketch-line{stroke-dasharray:900;stroke-dashoffset:900;animation:heroDraw 2.2s .35s cubic-bezier(.65,0,.3,1) forwards}
.sketch-line.delay-a{animation-delay:.72s}.sketch-line.delay-b{animation-delay:1.02s}.line-faint{animation-duration:2.8s;animation-delay:1.18s}
.hero-node,.hero-center,.hero-notes{opacity:0;animation:heroFade .7s 1.3s ease forwards}.digital-node{animation-delay:1.55s}.software-node{animation-delay:1.8s}.hero-center{animation-delay:1.15s}.hero-notes{animation-delay:2s}
.node-ring{stroke-dasharray:8 9;transform-origin:82px 338px;animation:ringRotate 16s linear infinite}
.node-dot{fill:#f5f2e9}.node-dot.accent,.center-dot{fill:var(--accent);stroke:none;filter:url(#heroGlow)}
.node-frame-inner{stroke:rgba(245,242,233,.32)}
.center-orbit{stroke:rgba(200,255,46,.36);stroke-dasharray:6 10;transform-origin:455px 319px}.orbit-one{animation:ringRotate 18s linear infinite}.orbit-two{animation:ringRotateReverse 12s linear infinite}
.center-cross{stroke:rgba(245,242,233,.28)}
.center-dot{animation:centerPulse 3.6s ease-in-out infinite}
.note-line,.micro-line{stroke:rgba(245,242,233,.28)}
.scroll-cue{bottom:34px}

.card-visual{background:none!important;overflow:hidden!important;min-height:250px;display:grid!important;place-items:center!important;perspective:none!important}
.line-illustration{width:100%;height:auto;display:block;overflow:visible}
.line-illustration .draw-stroke,.line-illustration .draw-box,.line-illustration .cursor-path,.line-illustration .cursor-arrow{fill:none;stroke:rgba(12,14,14,.62);stroke-width:1.25;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.line-illustration .faint{stroke:rgba(12,14,14,.16)}
.line-illustration .thin{stroke:rgba(12,14,14,.28)}
.line-illustration .draw-stroke,.line-illustration .cursor-path{stroke-dasharray:760;stroke-dashoffset:760}
.discipline-card.is-visible .draw-stroke,.discipline-card.is-visible .cursor-path{animation:cardDraw 1.8s .18s ease forwards}
.discipline-card.is-visible .draw-box{animation:boxIn .75s .36s ease both}
.line-illustration .svg-label{font-family:'Alcyone','Helvetica Neue',Arial,sans-serif;fill:rgba(12,14,14,.55);font-size:10px;letter-spacing:.15em}
.line-illustration .svg-mini{font-family:'Alcyone','Helvetica Neue',Arial,sans-serif;fill:rgba(12,14,14,.72);font-size:11px;letter-spacing:.15em}
.accent-pulse{fill:var(--accent);stroke:rgba(12,14,14,.5);stroke-width:1;transform-origin:center;animation:cardPulse 3.8s ease-in-out infinite}.accent-pulse.delay{animation-delay:-1.7s}
.cursor-arrow{animation:arrowNudge 3s ease-in-out infinite}
.sheet-a{transform-origin:222px 123px;animation:sheetFloatA 5.6s ease-in-out infinite}.sheet-b{transform-origin:292px 170px;animation:sheetFloatB 6.2s ease-in-out infinite}
.module-drawing{animation:moduleSketchFloat 5.4s ease-in-out infinite}.mod-b{animation-delay:-1.4s}.mod-c{animation-delay:-2.6s}
.live-block{fill:var(--ink);stroke:none}
.connector{stroke:rgba(12,14,14,.30)!important}

/* Calm hover: no drifting whole visual; only a tiny drawing offset */
.discipline-card .line-illustration{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.discipline-card:hover .line-illustration{transform:translateY(-4px)}

@keyframes heroDraw{to{stroke-dashoffset:0}}
@keyframes heroFade{to{opacity:1}}
@keyframes ringRotate{to{transform:rotate(360deg)}}
@keyframes ringRotateReverse{to{transform:rotate(-360deg)}}
@keyframes centerPulse{0%,100%{transform:scale(.82);opacity:.78}50%{transform:scale(1.08);opacity:1}}
@keyframes cardDraw{to{stroke-dashoffset:0}}
@keyframes boxIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes cardPulse{0%,100%{r:6px;opacity:.7}50%{r:9px;opacity:1}}
@keyframes arrowNudge{0%,100%{transform:translate(0,0)}50%{transform:translate(6px,-5px)}}
@keyframes sheetFloatA{0%,100%{transform:translate(0,0) rotate(-1deg)}50%{transform:translate(-4px,-5px) rotate(-2deg)}}
@keyframes sheetFloatB{0%,100%{transform:translate(0,0) rotate(1deg)}50%{transform:translate(4px,5px) rotate(2deg)}}
@keyframes moduleSketchFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

@media(max-width:1050px){
  .hero-copy{width:min(620px,52vw)}
  .hero-drawing{width:52vw;right:-4vw}
}
@media(max-width:900px){
  .hero{display:block;padding-top:135px;padding-bottom:80px;min-height:auto}
  .hero-copy{width:100%;max-width:650px}
  .hero-drawing{position:relative;right:auto;top:auto;transform:none;width:min(92vw,720px);margin:55px auto 0}
  .hero h1{font-size:clamp(42px,8vw,62px)}
}
@media(max-width:600px){
  .hero-drawing{width:108vw;margin-left:-10vw}
  .hero-system text{font-size:12px}
  .hero-system .micro-copy{font-size:7px}
  .card-visual{min-height:220px!important}
}
@media(prefers-reduced-motion:reduce){
  .sketch-line,.hero-node,.hero-center,.hero-notes,.node-ring,.center-orbit,.center-dot,.accent-pulse,.sheet-a,.sheet-b,.module-drawing,.cursor-arrow{animation:none!important;opacity:1!important;stroke-dashoffset:0!important}
}


/* ===== V4: fixed original logo + editorial animated compositions ===== */
.site-header{
  mix-blend-mode:normal!important;
  color:var(--ink)!important;
  background:rgba(242,240,233,.94)!important;
  border-bottom:1px solid rgba(12,14,14,.12)!important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.site-header .brand img{filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.site-header .nav-cta{border-color:rgba(12,14,14,.45)!important}

.hero{padding-top:145px}
.hero-copy{width:min(610px,46vw)}
.hero h1{font-size:clamp(40px,4.2vw,64px)}
.hero-art{position:absolute;right:max(30px,calc((100vw - var(--max))/2));top:50%;width:min(48vw,680px);height:min(62vw,720px);max-height:72vh;transform:translateY(-48%);display:grid;place-items:center}
.hero-sculpture{position:relative;width:86%;height:78%;perspective:1300px;transform-style:preserve-3d}
.hero-glow{position:absolute;inset:20% 18%;border-radius:50%;background:radial-gradient(circle,rgba(200,255,46,.22),rgba(200,255,46,.05) 36%,transparent 70%);filter:blur(18px);animation:heroGlowBreath 6.5s ease-in-out infinite}
.hero-panel{position:absolute;border:1px solid rgba(245,242,233,.28);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.025));box-shadow:0 26px 70px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.025);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden}
.hero-panel-a{width:46%;height:54%;left:4%;top:20%;transform:rotateY(22deg) rotateZ(-10deg) translateZ(10px);animation:heroPanelA 7s ease-in-out infinite}
.hero-panel-b{width:42%;height:48%;right:7%;top:7%;transform:rotateY(-18deg) rotateZ(8deg) translateZ(54px);animation:heroPanelB 7.8s ease-in-out infinite}
.hero-panel-c{width:48%;height:38%;right:2%;bottom:9%;transform:rotateY(-13deg) rotateZ(-5deg) translateZ(95px);animation:heroPanelC 6.8s ease-in-out infinite}
.mini-doc,.mini-layout,.mini-ui{position:absolute;inset:12%;border:1px solid rgba(245,242,233,.13)}
.mini-doc span{display:block;height:1px;background:rgba(245,242,233,.38);margin:15% 10% 0}.mini-doc span:nth-child(2){width:62%}.mini-doc span:nth-child(3){width:78%}.mini-doc span:nth-child(4){width:48%}
.mini-layout{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:.7fr 1.3fr;gap:8px;padding:8px}.mini-layout i{border:1px solid rgba(245,242,233,.18)}.mini-layout i:nth-child(1){grid-column:1/-1;background:rgba(200,255,46,.12)}.mini-layout i:nth-child(4){background:rgba(255,255,255,.04)}
.mini-ui{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}.mini-ui b{border:1px solid rgba(245,242,233,.14);background:rgba(255,255,255,.03)}.mini-ui b:last-child{background:rgba(200,255,46,.18)}
.hero-ribbon{position:absolute;width:76%;height:17%;left:9%;top:44%;border-radius:999px;background:linear-gradient(90deg,rgba(200,255,46,.08),rgba(200,255,46,.55),rgba(255,255,255,.08));filter:blur(.2px);transform:rotate(-20deg) translateZ(120px);box-shadow:0 0 60px rgba(200,255,46,.13);animation:ribbonDrift 8s ease-in-out infinite}
.hero-core{position:absolute;width:44px;height:44px;border-radius:50%;left:49%;top:47%;transform:translate(-50%,-50%) translateZ(150px);background:radial-gradient(circle at 35% 30%,#f8ffe9 0 10%,var(--accent) 32%,#8fae1d 78%);box-shadow:0 0 42px rgba(200,255,46,.52);animation:heroCorePulse 4.8s ease-in-out infinite}
.hero-caption{position:absolute;font-size:9px;letter-spacing:.18em;color:rgba(245,242,233,.58)}.cap-a{left:3%;bottom:11%}.cap-b{right:22%;top:0}.cap-c{right:0;bottom:2%}

.card-visual{min-height:300px!important}
.privacy-scene,.digital-scene,.software-scene{position:relative;width:92%;height:285px;perspective:1000px}
.privacy-scene{transform:rotate(-2deg)}
.privacy-sheet{position:absolute;width:56%;height:66%;left:22%;top:14%;background:rgba(255,255,255,.7);border:1px solid rgba(12,14,14,.12);box-shadow:0 24px 55px rgba(12,14,14,.08);padding:16% 10% 0;transform-origin:center}
.privacy-sheet.back{left:16%;top:19%;transform:rotate(-8deg);opacity:.62}.privacy-sheet.front{transform:rotate(4deg);animation:paperLift 6.5s ease-in-out infinite}
.privacy-sheet span{display:block;height:1px;background:rgba(12,14,14,.24);margin-bottom:14px}.privacy-sheet span:nth-child(2){width:72%}.privacy-sheet span:nth-child(3){width:86%}.privacy-sheet span:nth-child(4){width:56%}
.privacy-seal{position:absolute;right:12%;bottom:7%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f8ffe9 0 8%,var(--accent) 34%,#8aaa1d 78%);box-shadow:0 20px 40px rgba(97,124,13,.18);animation:sealFloat 5.8s ease-in-out infinite}.privacy-seal i{position:absolute;inset:22%;border:1px solid rgba(12,14,14,.24);border-radius:50%}
.privacy-glass{position:absolute;left:10%;top:4%;width:72%;height:83%;border-radius:50%;border:1px solid rgba(12,14,14,.1);background:linear-gradient(145deg,rgba(255,255,255,.3),rgba(255,255,255,0));transform:rotate(14deg);pointer-events:none}

.digital-scene{transform:rotate(-1deg)}
.digital-frame{position:absolute;width:47%;height:58%;border:1px solid rgba(12,14,14,.13);background:rgba(255,255,255,.66);box-shadow:0 26px 60px rgba(12,14,14,.08);display:flex;align-items:flex-end;padding:18px;overflow:hidden}
.digital-frame:before{content:'';position:absolute;inset:12px;border:1px solid rgba(12,14,14,.07)}
.digital-frame span{position:relative;z-index:2;font-size:26px;letter-spacing:-.04em}
.frame-a{left:5%;top:14%;transform:rotate(-8deg);animation:frameA 7s ease-in-out infinite}.frame-b{left:29%;top:3%;transform:rotate(3deg);animation:frameB 7.5s ease-in-out infinite}.frame-c{right:3%;bottom:7%;transform:rotate(8deg);background:var(--ink);color:var(--paper);animation:frameC 6.8s ease-in-out infinite}.frame-c:before{border-color:rgba(255,255,255,.09)}.frame-c span{color:var(--accent)}
.digital-dot{position:absolute;left:54%;top:45%;width:18px;height:18px;border-radius:50%;background:var(--accent);box-shadow:0 0 26px rgba(200,255,46,.6);animation:dotTravel 7s ease-in-out infinite}

.software-scene{transform:rotateX(57deg) rotateZ(-35deg);transform-style:preserve-3d}
.software-card{position:absolute;width:42%;height:34%;border:1px solid rgba(12,14,14,.12);background:rgba(255,255,255,.65);box-shadow:0 24px 50px rgba(12,14,14,.08);padding:14px;display:grid;grid-template-rows:1fr 1fr;gap:8px}
.software-card span{border:1px solid rgba(12,14,14,.08);background:rgba(12,14,14,.02)}
.sw-a{left:4%;top:4%;transform:translateZ(0);animation:swA 7s ease-in-out infinite}.sw-b{right:4%;top:4%;transform:translateZ(42px);animation:swB 7.6s ease-in-out infinite}.sw-c{left:4%;bottom:4%;transform:translateZ(84px);animation:swC 6.8s ease-in-out infinite}.sw-d{right:4%;bottom:4%;transform:translateZ(126px);background:rgba(200,255,46,.48);animation:swD 7.2s ease-in-out infinite}
.software-core{position:absolute;left:50%;top:50%;width:72px;height:72px;background:var(--ink);transform:translate(-50%,-50%) translateZ(175px);display:grid;place-items:center;box-shadow:0 28px 55px rgba(0,0,0,.18)}.software-core i{width:17px;height:17px;border-radius:50%;background:var(--accent);box-shadow:0 0 25px rgba(200,255,46,.7);animation:heroCorePulse 4.5s ease-in-out infinite}

@keyframes heroGlowBreath{0%,100%{transform:scale(.92);opacity:.55}50%{transform:scale(1.08);opacity:1}}
@keyframes heroPanelA{0%,100%{transform:rotateY(22deg) rotateZ(-10deg) translate3d(0,0,10px)}50%{transform:rotateY(18deg) rotateZ(-8deg) translate3d(8px,-10px,18px)}}
@keyframes heroPanelB{0%,100%{transform:rotateY(-18deg) rotateZ(8deg) translate3d(0,0,54px)}50%{transform:rotateY(-13deg) rotateZ(6deg) translate3d(-8px,12px,66px)}}
@keyframes heroPanelC{0%,100%{transform:rotateY(-13deg) rotateZ(-5deg) translate3d(0,0,95px)}50%{transform:rotateY(-9deg) rotateZ(-3deg) translate3d(-9px,-7px,108px)}}
@keyframes ribbonDrift{0%,100%{transform:rotate(-20deg) translate3d(0,0,120px) scaleX(.96)}50%{transform:rotate(-17deg) translate3d(9px,-8px,132px) scaleX(1.04)}}
@keyframes heroCorePulse{0%,100%{scale:.9;opacity:.82}50%{scale:1.08;opacity:1}}
@keyframes paperLift{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(2deg) translateY(-8px)}}
@keyframes sealFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-11px) rotate(6deg)}}
@keyframes frameA{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-7px)}}
@keyframes frameB{0%,100%{transform:rotate(3deg) translateY(0)}50%{transform:rotate(1deg) translateY(8px)}}
@keyframes frameC{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(5deg) translateY(-7px)}}
@keyframes dotTravel{0%,100%{transform:translate(-55px,28px) scale(.75)}50%{transform:translate(72px,-36px) scale(1.15)}}
@keyframes swA{0%,100%{transform:translateZ(0) translateY(0)}50%{transform:translateZ(14px) translateY(-4px)}}
@keyframes swB{0%,100%{transform:translateZ(42px) translateY(0)}50%{transform:translateZ(57px) translateY(5px)}}
@keyframes swC{0%,100%{transform:translateZ(84px) translateY(0)}50%{transform:translateZ(96px) translateY(-5px)}}
@keyframes swD{0%,100%{transform:translateZ(126px) translateY(0)}50%{transform:translateZ(141px) translateY(6px)}}

@media(max-width:1050px){.hero-copy{width:min(600px,52vw)}.hero-art{right:-4vw;width:50vw}}
@media(max-width:900px){.hero-art{position:relative;right:auto;top:auto;transform:none;width:min(92vw,700px);height:560px;margin:36px auto 0}.hero-copy{width:100%}.hero{padding-top:125px}.privacy-scene,.digital-scene,.software-scene{height:260px}}
@media(max-width:600px){.site-header{height:66px}.brand img{width:126px}.hero-art{height:420px;width:108vw;margin-left:-11vw}.hero-sculpture{width:90%;height:80%}.hero-caption{display:none}.card-visual{min-height:250px!important}.privacy-scene,.digital-scene,.software-scene{height:230px}.digital-frame span{font-size:19px}.privacy-seal{width:70px;height:70px}}
@media(prefers-reduced-motion:reduce){.hero-glow,.hero-panel,.hero-ribbon,.hero-core,.privacy-sheet.front,.privacy-seal,.digital-frame,.digital-dot,.software-card,.software-core i{animation:none!important}}

/* V5 — cinematic video hero */
.hero{min-height:100svh;align-items:center;padding-top:118px;padding-bottom:72px}
.hero-copy{position:relative;z-index:3;width:min(560px,42vw)}
.hero-media{position:absolute;z-index:1;right:0;top:78px;bottom:0;width:58vw;overflow:hidden;background:var(--ink);pointer-events:none}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.88) contrast(1.04) brightness(.92)}
.hero-video-fade{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(12,14,14,.93) 8%,rgba(12,14,14,.55) 22%,rgba(12,14,14,.08) 48%,rgba(12,14,14,0) 70%),linear-gradient(180deg,rgba(12,14,14,.16),transparent 24%,transparent 78%,rgba(12,14,14,.2));}
.hero .scroll-cue{z-index:4}

@media(max-width:1050px){
  .hero-copy{width:min(530px,48vw)}
  .hero-media{width:56vw}
}
@media(max-width:900px){
  .hero{display:block;padding-top:118px;padding-bottom:0;min-height:auto}
  .hero-copy{width:100%;padding-bottom:46px}
  .hero-media{position:relative;top:auto;right:auto;bottom:auto;width:calc(100% + 56px);height:min(58vw,520px);margin-left:-28px}
  .hero-video-fade{background:linear-gradient(180deg,var(--ink) 0%,rgba(12,14,14,.45) 15%,rgba(12,14,14,0) 38%,rgba(12,14,14,.12) 100%)}
  .hero .scroll-cue{display:none}
}
@media(max-width:600px){
  .hero-media{width:calc(100% + 56px);height:64vw;min-height:270px}
  .hero-video{object-position:56% center}
}
@media(prefers-reduced-motion:reduce){
  .hero-video{display:none}
  .hero-media{background:radial-gradient(circle at 70% 50%,rgba(200,255,46,.12),transparent 34%),var(--ink)}
}

/* ===== V6: compact video hero + stable discipline cards ===== */
.hero{
  min-height:0!important;
  height:clamp(610px,76vh,730px)!important;
  align-items:center!important;
  padding-top:112px!important;
  padding-bottom:56px!important;
}
.hero-copy{width:min(560px,42vw)!important}
.hero-media{
  top:78px!important;
  bottom:0!important;
  width:55vw!important;
  background:var(--ink)!important;
}
.hero-video{
  object-fit:contain!important;
  object-position:center center!important;
  transform:scale(.9);
  transform-origin:center center;
  filter:saturate(.9) contrast(1.04) brightness(.94)!important;
}
.hero-video-fade{
  background:linear-gradient(90deg,var(--ink) 0%,rgba(12,14,14,.9) 9%,rgba(12,14,14,.42) 24%,rgba(12,14,14,.06) 46%,transparent 68%)!important;
}

.disciplines{padding-top:105px!important;padding-bottom:110px!important}
.disciplines .section-head{margin-bottom:58px!important}
.discipline-stack{gap:16px!important}
.discipline-card{
  min-height:330px!important;
  grid-template-columns:54px minmax(0,1.15fr) minmax(360px,.85fr)!important;
  gap:30px!important;
  padding:30px!important;
  align-items:center!important;
  overflow:hidden!important;
}
.discipline-card > *{min-width:0}
.discipline-copy{position:relative;z-index:2;align-self:center}
.discipline-card .eyebrow{margin-bottom:18px!important}
.discipline-card h3{
  font-size:clamp(27px,2.45vw,39px)!important;
  max-width:610px!important;
  margin-bottom:16px!important;
}
.discipline-card p:not(.eyebrow){
  font-size:15px!important;
  max-width:610px!important;
  margin:0!important;
}
.discipline-card a{margin-top:19px!important}
.card-photo{
  min-height:0!important;
  height:270px!important;
  margin:0!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  background:#0c0e0e!important;
  border:1px solid rgba(12,14,14,.08);
}
.card-photo img{
  width:100%;height:100%;display:block;object-fit:cover;
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s ease;
  filter:saturate(.86) contrast(1.07) brightness(.92);
}
.discipline-card:hover .card-photo img{transform:scale(1.035)}
.card-photo:after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(12,14,14,.05),transparent 25%),linear-gradient(180deg,transparent 70%,rgba(12,14,14,.15));
}

@media(max-width:1050px){
  .hero{height:clamp(590px,72vh,690px)!important}
  .hero-copy{width:min(520px,46vw)!important}
  .hero-media{width:54vw!important}
  .hero-video{transform:scale(.88)}
  .discipline-card{grid-template-columns:46px minmax(0,1fr) 42%!important}
  .card-photo{height:245px!important}
}
@media(max-width:900px){
  .hero{height:auto!important;display:block!important;padding-top:112px!important;padding-bottom:0!important}
  .hero-copy{width:100%!important;max-width:650px;padding-bottom:38px!important}
  .hero-media{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;width:calc(100% + 56px)!important;height:min(50vw,430px)!important;margin-left:-28px!important}
  .hero-video{transform:scale(.94)!important}
  .hero-video-fade{background:linear-gradient(180deg,var(--ink) 0%,rgba(12,14,14,.35) 12%,transparent 34%,rgba(12,14,14,.08) 100%)!important}
  .discipline-card{grid-template-columns:38px 1fr!important;padding:26px!important;align-items:start!important}
  .card-photo{grid-column:2!important;width:100%;height:300px!important;margin-top:8px!important}
}
@media(max-width:600px){
  .hero h1{font-size:40px!important}
  .hero-media{width:calc(100% + 44px)!important;margin-left:-22px!important;height:58vw!important;min-height:250px!important}
  .discipline-card{grid-template-columns:1fr!important;padding:22px!important;gap:18px!important}
  .card-no{grid-column:1!important}
  .discipline-copy{grid-column:1!important}
  .card-photo{grid-column:1!important;height:230px!important}
}

/* ===== V7 FIX: remove legacy class collisions / stabilize service layout ===== */
.site-header{
  mix-blend-mode:normal!important;
  color:var(--ink)!important;
  background:rgba(242,240,233,.94)!important;
  border-bottom:1px solid rgba(12,14,14,.10)!important;
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.site-header .brand img{filter:none!important;mix-blend-mode:normal!important;opacity:1!important}

/* The legacy V4 visual used .software-card as an absolutely positioned child.
   The current HTML uses the same class on the whole article. Reset it explicitly. */
.discipline-card.software-card,
.discipline-card.privacy-card,
.discipline-card.digital-card{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:auto!important;
  height:auto!important;
  transform:none!important;
  display:grid!important;
  grid-template-rows:none!important;
  animation:none!important;
}

.discipline-stack > .discipline-card{
  isolation:isolate;
}

.discipline-card .discipline-copy,
.discipline-card .card-no,
.discipline-card .card-photo{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
}

/* Keep the intended three-column placement on desktop. */
@media(min-width:901px){
  .discipline-card .card-no{grid-column:1!important}
  .discipline-card .discipline-copy{grid-column:2!important}
  .discipline-card .card-photo{grid-column:3!important}
}
.mikovio-i {
    position: relative;
    display: inline-block;
}

.mikovio-i::after {
    content: "";
    position: absolute;
    width: 0.13em;
    height: 0.13em;
    border-radius: 50%;
    background: #8dd0e1;

    left: 62%;
    top: 0.21em;
    transform: translateX(-50%);
}

/* ===== V8: remove splash intro; subtle hero entrance only ===== */
.hero-entry{
  opacity:0;
  transform:translateY(18px);
  animation:heroEntryIn .8s .12s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero-media{
  opacity:0;
  animation:heroMediaIn 1s .18s ease forwards;
}
.hero-entry .eyebrow,
.hero-entry h1,
.hero-entry .lead,
.hero-entry .hero-actions{
  opacity:0;
  transform:translateY(10px);
  animation:heroPartIn .7s ease forwards;
}
.hero-entry .eyebrow{animation-delay:.18s}
.hero-entry h1{animation-delay:.26s}
.hero-entry .lead{animation-delay:.36s}
.hero-entry .hero-actions{animation-delay:.46s}
@keyframes heroEntryIn{to{opacity:1;transform:none}}
@keyframes heroMediaIn{to{opacity:1}}
@keyframes heroPartIn{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .hero-entry,.hero-media,.hero-entry .eyebrow,.hero-entry h1,.hero-entry .lead,.hero-entry .hero-actions{
    opacity:1!important;transform:none!important;animation:none!important;
  }
}


/* ===== V9: scroll-to-top control ===== */
.scroll-top{
  position:fixed;
  right:28px;
  bottom:28px;
  z-index:80;
  width:46px;
  height:46px;
  border:1px solid rgba(12,14,14,.2);
  border-radius:50%;
  background:rgba(242,240,233,.94);
  color:var(--ink);
  display:grid;
  place-items:center;
  padding:0;
  font:inherit;
  font-size:21px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 34px rgba(0,0,0,.10);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease,background .2s ease;
}
.scroll-top.is-visible{opacity:1;visibility:visible;transform:none}
.scroll-top:hover{background:#fff}
.scroll-top:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(max-width:600px){.scroll-top{right:18px;bottom:18px;width:42px;height:42px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.scroll-top{transition:none}}



/* KI-Beratung */
.ai-card .discipline-copy p:not(.eyebrow){
  max-width:640px!important;
}
.ai-card .discipline-copy p + p{
  margin-top:12px!important;
}
