@font-face{font-family:Inter;src:url('../fonts/inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Space;src:url('../fonts/space-grotesk-latin.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{color-scheme:light;--bg:#fbfaff;--surface:#fff;--soft:#f1eef9;--ink:#201b35;--muted:#69647b;--line:#e7e2f0;--accent:#6d42df;--accent-strong:#5930c6;--tint:#eee7ff;--glass:rgba(255,255,255,.9);--shadow:0 24px 65px -30px #5c428c40;--radius:20px;--max:1200px}
[data-theme=dark]{color-scheme:dark;--bg:#0d1020;--surface:#171a30;--soft:#13162a;--ink:#f3f0ff;--muted:#b2aec9;--line:#2d3048;--accent:#b098ff;--accent-strong:#c2afff;--tint:#282143;--glass:rgba(18,20,39,.94);--shadow:0 24px 70px -20px #0008}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:Inter,Arial,sans-serif;font-weight:650;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(42px,4.6vw,58px)}h2{font-size:clamp(32px,4vw,52px)}h3{font-size:23px;letter-spacing:-.035em}p{color:var(--muted)}.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.section{padding-block:100px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:750;margin-bottom:22px}.eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent)}.section-head{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:40px}.section-head h2{max-width:640px}.section-head>p{max-width:330px}.section-head .eyebrow{margin-bottom:13px}.text-link{font-size:13px;font-weight:650;display:inline-flex;align-items:center;gap:16px;color:var(--accent);text-underline-offset:5px}.text-link:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:#7043e8;color:white;padding:15px 23px;border:1px solid transparent;border-radius:9px;font-size:14px;font-weight:700;line-height:1.4;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 6px 18px #7145d724}.button:hover{background:#6031d5;transform:translateY(-2px);box-shadow:0 9px 24px #7145d733}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink);box-shadow:none}.button.small{padding:12px 17px;font-size:12px}.button:disabled{opacity:.65;cursor:wait;transform:none}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.skip{position:absolute;top:-70px;left:15px;background:var(--surface);padding:12px;z-index:100}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:var(--glass);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:24px;min-height:86px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;font-family:Space,sans-serif;font-weight:700;font-size:19px;letter-spacing:-.6px;line-height:1.1}.brand img{width:36px;height:36px}.brand small{display:block;font:9px/1.7 Inter,sans-serif;letter-spacing:3.5px;text-transform:uppercase;color:var(--muted);margin-top:3px}.nav{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:12px;font-weight:550}.nav a:hover,.nav summary:hover{color:var(--accent)}.nav-group{position:relative}.nav-group summary{list-style:none;white-space:nowrap}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';margin-left:6px;color:var(--muted)}.dropdown{position:absolute;top:35px;left:-20px;min-width:240px;padding:12px;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px;display:grid;gap:3px}.dropdown a{padding:8px 10px;border-radius:6px}.dropdown a:hover{background:var(--soft)}.header-tools{display:flex;align-items:center;gap:10px}.icon-button{width:36px;height:36px;border:1px solid var(--line);background:var(--surface);border-radius:50%;display:grid;place-items:center;font-size:18px}.sun{display:none}[data-theme=dark] .sun{display:inline}[data-theme=dark] .moon{display:none}.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 30%,#d8c9ff65,transparent 55%),linear-gradient(180deg,var(--bg),var(--surface));padding-top:68px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:25px;min-height:565px;padding-bottom:65px}.hero-copy{position:relative;z-index:2}.hero-copy .eyebrow{margin-bottom:25px}.hero h1{max-width:660px}.hero h1 em{font-style:normal;background:linear-gradient(100deg,#7946e9,#a068d8);background-clip:text;color:transparent}.hero-description{font-size:18px;max-width:480px;margin-top:25px;line-height:1.8}.hero-note{font-size:11px;margin-top:25px;display:flex;align-items:center;gap:9px}.hero-note:before{content:'';height:6px;width:6px;background:#34a981;border-radius:50%}.hero-audit{margin-top:19px;font-size:11px;color:var(--muted);display:inline-block;text-decoration:underline;text-underline-offset:4px}.hero-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-block:22px;color:var(--muted);font-size:11px}.hero-bottom strong{color:var(--ink);font-weight:550}.expertise-strip{display:flex;gap:24px;font-family:Space,sans-serif;font-size:14px}.hero-art{height:500px;position:relative;isolation:isolate}.orbital-path{position:absolute;inset:80px 0 60px;border:1px solid #ad95e750;border-radius:50%;transform:rotate(-30deg)}.orbital-path.two{inset:25px 60px 10px;transform:rotate(30deg)}.planet{position:absolute;width:300px;height:300px;left:calc(50% - 150px);top:88px;border-radius:50%;background:radial-gradient(circle at 30% 22%,#f6edff 0,#b8a0ed 20%,#855bd2 41%,#53318c 67%,#241b4a 90%);box-shadow:inset -22px -24px 38px #1c104e85,inset 12px 8px 22px #fff8,0 0 70px #ae83f04a;overflow:hidden}.planet:before{content:'';position:absolute;inset:-5%;border-radius:50%;background:repeating-linear-gradient(10deg,transparent 0 42px,#fff2 43px 44px,transparent 45px 60px);transform:rotate(-25deg)}.planet:after{content:'';position:absolute;inset:3% 30%;border:1px solid #e5d6ff70;border-radius:50%;transform:rotate(-20deg)}.orbit-caption{position:absolute;top:212px;left:0;right:0;text-align:center;color:white;font:600 22px/1.15 Space,sans-serif;letter-spacing:-.5px;text-shadow:0 2px 15px #291352}.orbit-caption small{display:block;font:9px/1.7 Inter,sans-serif;letter-spacing:3px;margin-top:6px}.orbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#9a6aff;box-shadow:0 0 20px #9a6aff;right:34px;top:150px}.product-window{position:absolute;border:1px solid var(--line);background:var(--glass);box-shadow:var(--shadow);border-radius:12px;overflow:hidden;animation:float 7s ease-in-out infinite;width:220px;padding:14px;transition:border-color .2s}.product-window:hover{border-color:var(--accent)}.window-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700;margin-bottom:10px}.window-head span:first-child{display:flex;gap:7px;align-items:center}.product-mark{height:23px;width:23px;border-radius:7px;background:#7043e8;color:white;display:inline-grid;place-items:center;font:700 11px Space}.window-head .window-dot{color:var(--muted);font-size:13px}.product-window p{font-size:10px}.product-window img{border-radius:4px;border:1px solid var(--line);width:100%;height:88px;object-fit:cover;object-position:top}.window-lead{top:25px;left:4px;transform:rotate(-6deg);z-index:3}.window-sites{right:-10px;top:158px;animation-delay:-2.5s;z-index:4;width:203px}.window-carousel{left:35px;bottom:3px;animation-delay:-4s;width:225px;z-index:3}.mini-slides{display:flex;gap:5px;height:80px;margin-bottom:8px}.mini-slides span{flex:1;background:#e8dfff;border-radius:5px;padding:9px 5px;font:600 10px/1.2 Space;color:#4b2d80;display:flex;align-items:end}.mini-slides span:nth-child(2){background:#764bd6;color:white;align-items:center}.mini-slides span:nth-child(3){background:#20133d;color:white}.art-label{position:absolute;bottom:-20px;right:0;color:var(--muted);font-size:9px;letter-spacing:.03em}.hero-art .spark{position:absolute;color:#9d77e4;font-size:25px;right:65px;top:30px}.hero-art .spark.second{left:0;top:300px;font-size:17px}[data-theme=dark] .hero{background:radial-gradient(ellipse at 80% 30%,#57309945,transparent 60%),var(--bg)}[data-theme=dark] .planet{box-shadow:inset -22px -24px 38px #1c104e85,inset 12px 8px 22px #fff5,0 0 85px #8540d655}[data-theme=dark] .hero h1 em{background:linear-gradient(100deg,#b79aff,#dcafff);background-clip:text}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{display:flex;flex-direction:column;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s,border-color .2s,box-shadow .2s;min-height:255px}.service-card:hover{transform:translateY(-4px);border-color:#ae94e9;box-shadow:var(--shadow)}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.service-icon{height:42px;width:42px;background:var(--tint);border-radius:12px;display:grid;place-items:center;color:var(--accent);font:500 21px Space}.service-number{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.service-card h3{font-size:21px;margin-bottom:13px}.service-card p{font-size:15px;line-height:1.75}.service-card .arrow{margin-top:auto;padding-top:22px;color:var(--accent);font-size:18px}.service-card.featured{background:linear-gradient(135deg,#eee5ff,#f6f2ff);border-color:#d7c9f2}.service-card.featured p{color:#696078}.service-card.featured h3{color:#2d204b}[data-theme=dark] .service-card.featured{background:linear-gradient(135deg,#382355,#201b38);border-color:#4e3673}[data-theme=dark] .service-card.featured h3{color:#f3eaff}[data-theme=dark] .service-card.featured p{color:#c6b7df}.stats{padding-block:42px;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);margin-top:58px}.stat{text-align:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font:750 56px/1.1 Inter,Arial,sans-serif;letter-spacing:-2.5px;display:flex;justify-content:center;align-items:baseline;font-variant-numeric:tabular-nums;color:var(--ink)}.stat strong b{font:inherit;color:inherit;margin-right:3px}.stat p{margin-top:14px;font-size:16px;font-weight:650;color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.projects-section{background:var(--soft)}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:25px}.project{min-width:0}.project-visual{height:325px;background:#e9e4f4;border-radius:16px;overflow:hidden;position:relative;padding:35px 30px 0;transition:background .2s}.project-visual img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:8px 8px 0 0;box-shadow:0 12px 40px #20123522;transition:transform .5s}.project:hover .project-visual img{transform:translateY(-5px)}.project:nth-child(2) .project-visual{background:#e5e9e4}.project-label{display:flex;justify-content:space-between;align-items:start;margin-top:20px;gap:15px}.project-label h3{font-size:23px}.project-label p{font-size:12px;margin-top:6px}.project-label>span{font-size:24px;color:var(--accent)}.pill{display:inline-block;font-size:9px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:4px 8px;margin-bottom:11px}.project-note{font-size:11px;margin-top:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split h2{margin-bottom:22px}.split p{font-size:16px}.check-list{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-list li{font-size:12px;display:flex;gap:8px;align-items:center}.check-list li:before{content:'↗';color:var(--accent);font-size:17px}.workflow{background:var(--soft);border:1px solid var(--line);padding:34px;border-radius:var(--radius);position:relative}.workflow-title{font-size:10px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;margin-bottom:24px}.flow-node{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:17px 18px;display:flex;gap:14px;align-items:center;box-shadow:0 4px 12px #25133d04}.flow-node .service-icon{flex-shrink:0;width:34px;height:34px;font-size:16px}.flow-node strong{font-size:12px;display:block}.flow-node p{font-size:10px}.flow-connector{height:29px;width:1px;background:#bba5ec;margin-left:34px;position:relative}.flow-connector:after{content:'';position:absolute;bottom:0;width:5px;height:5px;border-right:1px solid #9b7fd0;border-bottom:1px solid #9b7fd0;transform:translateX(-2px) rotate(45deg)}.workflow-foot{display:flex;justify-content:space-between;margin-top:24px;font-size:10px;color:var(--muted)}.workflow-foot span:first-child{color:var(--accent)}
.offer{padding:42px 48px;border:1px solid #dacff0;background:linear-gradient(105deg,var(--tint),var(--surface));border-radius:20px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.offer .eyebrow{margin-bottom:13px}.offer h2{font-size:30px;max-width:650px}.offer h2 span{color:var(--accent)}.offer p{font-size:12px;max-width:650px;margin-top:15px}.offer .button{white-space:nowrap}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.solution{padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;align-items:start}.solution .product-mark{width:45px;height:45px;font-size:19px;margin-bottom:24px}.solution h3{margin-bottom:14px}.solution p{font-size:15px;margin-bottom:25px}.solution .text-link{margin-top:auto}.catalog-link{margin-top:25px;font-size:12px;color:var(--muted);display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.catalog-link a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.method-section{border-block:1px solid var(--line);background:var(--surface)}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.method-step{padding-top:26px;border-top:1px solid var(--line)}.method-step>span{font:500 32px Space;color:var(--accent)}.method-step h3{font-size:18px;margin-top:25px;margin-bottom:13px}.method-step p{font-size:14px}.founder-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.portrait{position:relative;max-width:405px}.portrait img{aspect-ratio:4/4.6;object-fit:cover;object-position:center 20%;border-radius:18px}.portrait-caption{position:absolute;bottom:20px;left:20px;right:20px;background:#ffffffeb;border:1px solid #fff;border-radius:10px;padding:16px 20px;color:#201b35;backdrop-filter:blur(10px)}.portrait-caption strong{font:600 20px Space}.portrait-caption small{display:block;font-size:11px;color:#666078;margin-top:4px}.founder-grid h2{margin-bottom:24px}.founder-grid p+p{margin-top:16px}.founder-quote{font:500 23px/1.5 Space;letter-spacing:-.5px;border-left:2px solid var(--accent);padding-left:22px;margin:28px 0;color:var(--ink)}.signature{font:500 19px Space;margin-bottom:4px}.founder-role{font-size:11px}.brand-scene{margin-top:70px;border-radius:20px;overflow:hidden;height:270px;background:#17172d;position:relative}.brand-scene img{height:100%;width:100%;object-fit:cover;object-position:center 45%}.brand-scene .dark-scene{display:none}[data-theme=dark] .brand-scene .dark-scene{display:block;object-position:center 48%}[data-theme=dark] .brand-scene .light-scene{display:none}.brand-scene figcaption{position:absolute;right:15px;bottom:12px;color:white;background:#171126b0;padding:4px 10px;border-radius:5px;font-size:9px}.brand-scene{margin-inline:0}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.journal-card{padding:28px 0;border-top:1px solid var(--line);display:flex;flex-direction:column}.journal-card small{color:var(--accent);font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px}.journal-card h3{font-size:23px;line-height:1.3;margin-bottom:20px}.journal-card .text-link{margin-top:auto}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-layout h2{margin-bottom:25px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;font-size:16px;font-weight:650;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:22px;font-weight:400;color:var(--accent)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:15px;padding-top:15px}.contact-band{background:#241544;color:#fff;border-radius:24px;padding:55px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;position:relative;overflow:hidden}.contact-band:before{content:'';width:350px;height:350px;border:1px solid #9b78d93b;position:absolute;border-radius:50%;right:-200px;top:-150px;pointer-events:none}.contact-band .eyebrow{color:#c5adff}.contact-band h2{font-size:42px}.contact-band p{color:#c8bedc;max-width:420px;margin-top:20px}.contact-band .button{margin-top:25px}.contact-band .email{color:#e5d8ff;font-size:14px;text-decoration:underline;text-underline-offset:5px}.contact-band .contact-details{border-left:1px solid #ffffff20;padding-left:45px}.contact-band small{font-size:11px;color:#c8bedc}.site-footer{padding-top:70px;background:var(--surface);margin-top:85px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.6fr 1.2fr 1fr 1fr;gap:45px;padding-bottom:50px}.footer-intro p{font-size:12px;max-width:250px;margin:20px 0}.footer-col h2{font:650 12px Inter;letter-spacing:0;margin:5px 0 22px}.footer-col a{display:block;font-size:11px;color:var(--muted);margin:12px 0}.footer-col a:hover{color:var(--accent)}.social{display:flex;gap:20px;font-size:11px;color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;padding:22px 0;font-size:10px;color:var(--muted)}.footer-bottom a{margin-left:20px}.page-hero{padding:75px 0 55px;background:radial-gradient(ellipse at 85% 30%,#c4a8ff22,transparent 65%);border-bottom:1px solid var(--line)}.page-hero h1{max-width:850px;font-size:clamp(36px,4.2vw,60px)}.page-hero p{max-width:720px;font-size:17px;margin-top:25px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:35px}.breadcrumb a{color:var(--accent)}.prose{max-width:780px;margin-inline:auto}.prose h2{font-size:30px;margin:36px 0 18px}.prose h3{font-size:22px;margin:26px 0 14px}.prose p{margin:15px 0}.prose ul{color:var(--muted);padding-left:20px}.prose li{margin:10px 0}.prose a:not(.button){color:var(--accent);text-decoration:underline;text-underline-offset:4px}.detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:80px}.detail-panel{background:var(--surface);border:1px solid var(--line);padding:30px;border-radius:16px;align-self:start;position:sticky;top:115px}.detail-panel h2{font-size:23px;margin-bottom:20px}.detail-panel p{font-size:13px;margin-bottom:20px}.detail-panel ul{padding-left:18px;color:var(--muted);font-size:12px}.detail-panel li{margin-bottom:12px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-layout h2{font-size:31px;margin-bottom:20px}.contact-layout p{margin-bottom:22px}.form-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.field label span{font-weight:400;color:var(--muted)}input,select,textarea{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:7px;padding:11px 13px;width:100%;min-width:0;font-size:13px}textarea{resize:vertical;min-height:140px}[aria-invalid=true]{border-color:#c94766}.form-card .button{margin-top:22px}.form-card .privacy-note{font-size:10px;margin:16px 0 0}.privacy-note a{color:var(--accent);text-decoration:underline}.form-status{font-size:13px;margin-top:16px;overflow-wrap:anywhere}.form-status[data-state=error]{color:#b52e4e}[data-theme=dark] .form-status[data-state=error]{color:#ff9db4}.form-status[data-state=success]{color:#148761}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.notice{border-left:3px solid var(--accent);background:var(--tint);padding:18px 22px;font-size:13px;color:var(--ink);border-radius:0 8px 8px 0}.not-found{min-height:50vh;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:25px}.project-full{margin-block:35px;max-height:600px;overflow:hidden;border:1px solid var(--line);border-radius:15px}.project-full img{width:100%}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@media(min-width:1450px){.hero-grid{min-height:610px}.hero-art{scale:1.06}.hero h1{font-size:58px}}
@media(max-width:1150px){.wrap{width:calc(100% - 48px)}.header-inner{gap:15px}.nav{gap:14px}.header-tools .button{display:none}.hero-art{scale:.9;transform-origin:center}.hero h1{font-size:54px}.hero-grid{gap:0}.split,.founder-grid,.faq-layout,.contact-layout,.detail-grid{gap:45px}.window-sites{right:0}}
@media(max-width:900px){.header-inner{flex-wrap:wrap;padding-block:16px;min-height:76px}.header-tools{margin-left:auto}.menu-toggle{display:block;border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:8px 12px;font-size:12px}.nav{width:100%;order:3;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0}.nav>a,.nav summary{padding:12px 6px;display:block}.dropdown{position:static;box-shadow:none;margin-bottom:10px}.js .nav{display:none}.js .nav.is-open{display:flex}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr 1fr;min-height:470px}.hero h1{font-size:43px}.hero-art{scale:.75;width:450px;margin-left:-40px}.hero-description{font-size:14px}.hero .actions{align-items:start;flex-direction:column}.hero-bottom{flex-wrap:wrap}.service-grid{grid-template-columns:repeat(2,1fr)}.project-visual{height:270px;padding:23px 20px 0}.section{padding-block:75px}.split,.founder-grid{gap:35px}.method-grid{grid-template-columns:repeat(2,1fr)}.product-grid{gap:12px}.solution{padding:22px}.footer-grid{gap:22px}.offer{padding:35px;grid-template-columns:1fr}.contact-band{gap:30px;padding:40px}.contact-band h2{font-size:35px}.faq-layout{grid-template-columns:1fr;gap:35px}.expertise-strip{gap:17px}.detail-grid{grid-template-columns:1fr}.detail-panel{position:static}.contact-layout{grid-template-columns:1fr}.contact-layout>div:first-child{max-width:600px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.hero-grid{grid-template-columns:1fr;padding-bottom:35px}.hero h1{font-size:38px;max-width:420px;letter-spacing:-1.7px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em}.hero-description{font-size:16px;max-width:390px}.hero .actions{flex-direction:row;gap:10px}.button{font-size:12px;padding:14px 17px;gap:13px}.hero-note{font-size:10px}.hero-art{width:100%;max-width:400px;height:410px;scale:1;margin:35px auto 0}.planet{width:230px;height:230px;left:calc(50% - 115px);top:85px}.orbit-caption{top:180px;font-size:18px}.product-window{width:175px;padding:11px}.window-lead{top:15px;left:0}.window-sites{width:155px;top:165px;right:0}.window-carousel{left:20px;bottom:5px;width:180px}.product-window img{height:65px}.window-head{font-size:9px}.product-window p{font-size:9px}.mini-slides{height:55px}.mini-slides span{font-size:8px;padding:5px}.art-label{font-size:8px;bottom:-15px}.hero-bottom{font-size:10px;padding-block:19px}.expertise-strip{font-size:12px;gap:20px}.section-head{display:block}.section-head>p,.section-head>.text-link{margin-top:20px}.section{padding-block:60px}.service-grid{grid-template-columns:1fr}.service-card{min-height:220px;padding:25px}.service-top{margin-bottom:20px}.stats{grid-template-columns:repeat(2,1fr);gap:30px 0;margin-top:35px;padding-block:30px}.stat:nth-child(2){border:0}.stat strong{font-size:44px}.stat p{font-size:14px}.project-grid,.split,.founder-grid,.product-grid{grid-template-columns:1fr;gap:35px}.project-visual{height:280px}.project-label h3{font-size:22px}.check-list{gap:12px;font-size:11px}.workflow{padding:25px}.offer{padding:28px;gap:20px}.offer h2{font-size:28px}.offer .button{white-space:normal}.solution{padding:28px}.method-grid{gap:28px 20px}.method-step h3{font-size:17px}.method-step p{font-size:11px}.portrait{max-width:350px;margin-inline:auto;width:100%}.founder-quote{font-size:22px}.brand-scene{height:200px;margin-top:40px}.journal-grid{grid-template-columns:1fr;gap:5px}.journal-card h3{font-size:22px}.contact-band{grid-template-columns:1fr;padding:30px;gap:25px}.contact-band h2{font-size:33px}.contact-band .contact-details{border-left:0;border-top:1px solid #fff2;padding:25px 0 0}.contact-band .email{font-size:13px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-intro{grid-column:1/-1}.footer-intro p{max-width:320px}.footer-bottom{flex-direction:column;font-size:9px}.footer-bottom a{margin:0 15px 0 0}.site-footer{margin-top:55px;padding-top:45px}.page-hero{padding-block:45px}.page-hero p{font-size:15px}.form-card{padding:23px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-layout{gap:30px}.prose h2{font-size:26px}.brand{font-size:18px}.header-inner{gap:10px}.header-tools{gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* User-provided hero artwork; preserve the whole composition in both themes. */
.hero-brand-art{width:100%;align-self:center;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:var(--surface)}
.hero-brand-art img{width:100%;height:auto;object-fit:contain;display:block}
.hero-brand-art .hero-brand-dark{display:none}
[data-theme=dark] .hero-brand-art .hero-brand-light{display:none}
[data-theme=dark] .hero-brand-art .hero-brand-dark{display:block}
.hero-grid{gap:38px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy{max-width:680px}.hero .actions{flex-direction:row}.hero-brand-art{max-width:680px;margin-inline:auto}}
@media(max-width:640px){.hero-grid{gap:30px}.hero-brand-art{border-radius:14px}}

/* Service imagery supplied by Alex; identical in both themes. */
.service-card.service-card-photo{padding:0;overflow:hidden;min-width:0}.service-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#03020d}.service-photo img{display:block;width:100%;height:100%;object-fit:contain}.service-copy{padding:26px;display:flex;flex-direction:column;flex:1}.service-contact-card{grid-column:1/-1;display:grid!important;grid-template-columns:1fr 1fr}.service-contact-card .service-photo{aspect-ratio:5/2;align-self:center}.service-contact-card .service-copy{justify-content:center}@media(max-width:640px){.service-copy{padding:24px}.service-contact-card{grid-template-columns:1fr}.service-contact-card .service-photo{aspect-ratio:5/2}}

/* Preserve complete screenshots and remove gaps in the contact illustration. */
.service-contact-card .service-photo{height:100%;align-self:stretch;object-fit:cover;border-radius:var(--radius) 0 0 var(--radius)}
.project-visual.project-visual-complete{height:auto;padding:0;background:transparent;border-radius:16px}
.project-visual-complete img{display:block;width:100%;height:auto;object-fit:contain;border-radius:16px;box-shadow:none}
.project:hover .project-visual-complete img{transform:none}
.brand-scene{height:auto}
.brand-scene img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:640px){.service-contact-card .service-photo{height:auto;object-fit:contain;border-radius:var(--radius) var(--radius) 0 0}}

/* Product previews retain their full images and share a common baseline. */
.projects-section .section-head h2{max-width:none}
.projects-section .section-head>div{flex:1;min-width:0}
.projects-section .section-head>.text-link{flex-shrink:0}
.studio-project-grid{grid-template-columns:1239fr 870fr}
@media(max-width:640px){.studio-project-grid{grid-template-columns:1fr}}

/* Shared lift and blue illumination for studio cards and imagery. */
:root{--hover-glow:0 14px 36px #3869e52b,0 0 0 1px #5485f099}
[data-theme=dark]{--hover-glow:0 16px 42px #0007,0 0 0 1px #6a8fff,0 0 30px #536dff55}
:is(.project,.workflow,.offer,.solution,.portrait,.brand-scene,.contact-band,.hero-brand-art){transition:transform .25s ease,box-shadow .25s ease}
.project{display:block;border-radius:16px}
.portrait{border-radius:18px}
@media(hover:hover) and (pointer:fine){
:is(.project,.workflow,.offer,.solution,.portrait,.brand-scene,.contact-band,.hero-brand-art):hover{transform:translateY(-5px);box-shadow:var(--hover-glow)}
}
:is(.project,.workflow,.offer,.solution,.portrait,.brand-scene,.contact-band,.hero-brand-art):focus-within{box-shadow:var(--hover-glow)}
.social{flex-wrap:wrap;gap:12px 18px}
.social a{display:inline-flex;align-items:center;gap:7px;min-height:40px;border-radius:7px;transition:color .2s,transform .2s}
.social a:hover{color:var(--ink);transform:translateY(-2px)}
.social svg,.text-link svg{flex-shrink:0}
.brand img{border-radius:9px}
@media(prefers-reduced-motion:reduce){
:is(.project,.workflow,.offer,.solution,.portrait,.brand-scene,.contact-band,.hero-brand-art),.social a{transition:none!important;transform:none!important}
}

/* Keep project captions comfortably inside the hover outline. */
.studio-project-grid .project-label{margin-top:0;padding:24px}
@media(max-width:640px){.studio-project-grid .project-label{padding:20px}}
@media(prefers-reduced-motion:reduce){.hero-brand-art{transition:none!important;transform:none!important}}

/* Full founder portrait with a separate caption below the photograph. */
.portrait{overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.portrait img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}
.portrait-caption{position:static;margin:16px;padding:16px 20px;background:var(--surface);border:1px solid var(--line);color:var(--ink);backdrop-filter:none}
.portrait-caption small{color:var(--muted)}

/* Service details, linked product cards and compact entry offer. */
.hero h1{font-size:clamp(36px,3.8vw,52px);line-height:1.12}
a.solution{color:var(--ink)}
.bespoke-example{max-width:850px;margin-bottom:30px}
.bespoke-example h2{font-size:clamp(27px,3vw,36px);margin-bottom:20px}
.bespoke-example p{margin-bottom:14px}
.offer-compact{padding:26px 30px;gap:24px}
.offer-compact h2{font-size:clamp(23px,2.4vw,29px)}
.offer-compact .eyebrow{margin-bottom:10px}
.offer-compact p{font-size:14px;margin-top:12px}
.service-detail-figure{margin:24px 0 32px;max-width:520px}
.service-detail-figure img{width:100%;height:auto;border-radius:16px}
.service-detail-figure figcaption{font-size:11px;line-height:1.5;color:var(--muted);margin-top:10px}
.scenario-steps{padding-left:24px}
.scenario-steps li{padding:12px 0}
.detail-panel .panel-note{font-size:12px;margin-top:18px}
.legal-facts{display:grid;grid-template-columns:170px 1fr;gap:12px 24px}
.legal-facts dt{font-weight:650}.legal-facts dd{margin:0;overflow-wrap:anywhere}
.article-body .prose{max-width:850px;margin-inline:auto}
.article-visual{width:100%;max-width:420px;height:auto;border-radius:16px;margin-bottom:30px}
.article-body .prose .button{margin-block:24px}
@media(max-width:640px){.hero h1{font-size:36px}.offer-compact{padding:24px}.legal-facts{grid-template-columns:1fr;gap:5px}.legal-facts dd{margin-bottom:14px}}

/* Framed metrics, portfolio and journal — October 2026. */
.stats{padding:38px 20px;border:1px solid #bca4ef;border-radius:24px;background:linear-gradient(120deg,#f1eaff,#fcfaff);box-shadow:0 12px 38px #7043e811}
.stat{border-color:#d7c8ef}.stat strong{color:var(--ink)}
[data-theme=dark]{--bg:#050809;--surface:#12191f;--soft:#10161d;--line:#29313c;--glass:rgba(5,8,9,.94)}
[data-theme=dark] main>.section-tone:nth-child(odd){background:#050809}
[data-theme=dark] main>.section-tone:nth-child(even){background:#10161d}
[data-theme=dark] .section-tone .projects-section{background:transparent}
[data-theme=dark] .stats{background:linear-gradient(120deg,#1e1534,#10151d);border-color:#6c4a9e;box-shadow:0 12px 38px #0005,0 0 25px #8952e817}
[data-theme=dark] .stat{border-color:#493759}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.portfolio-card,.journal-card{display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.portfolio-image{aspect-ratio:960/564;background:#080a13;display:flex;align-items:center}
.portfolio-image img{width:100%;height:100%;object-fit:contain}
.portfolio-copy{position:relative;padding:24px 50px 24px 22px}.portfolio-copy h3{font-size:22px}.portfolio-copy p{font-size:12px;margin-top:8px}.portfolio-copy>span{position:absolute;right:20px;top:25px;color:var(--accent)}
.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.journal-card>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#070810}
.journal-copy{padding:26px;display:flex;flex-direction:column;align-items:start;flex:1}.journal-copy h3{margin:14px 0 24px}.journal-copy .text-link{margin-top:auto}
.portfolio-card:focus-visible,.journal-card:focus-visible{box-shadow:var(--hover-glow)}
@media(hover:hover) and (pointer:fine){.journal-card:hover{transform:translateY(-5px);box-shadow:var(--hover-glow);border-color:#758aef}}
@media(max-width:960px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.portfolio-grid,.journal-grid{grid-template-columns:1fr}.stats{padding:28px 12px}.journal-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){.portfolio-card,.journal-card{transition:none}.portfolio-card:hover,.journal-card:hover{transform:none}}

/* Keep content clear of alternating section boundaries in both themes. */
.section-balanced{padding-block:64px}
.section-contact-spaced{padding-top:80px}
@media(max-width:640px){.section-balanced{padding-block:40px}.section-contact-spaced{padding-top:50px}}

/* A tighter transition from studio products to the portfolio grid. */
.portfolio-products{padding-bottom:28px}
.portfolio-selection{padding-top:36px}
@media(max-width:640px){.portfolio-products{padding-bottom:20px}.portfolio-selection{padding-top:28px}}

/* Product screenshots on the Solutions page, shown in full. */
.solution-showcase .solution{padding:0;overflow:hidden;display:flex;flex-direction:column}
.solution-preview{width:100%;aspect-ratio:1;display:flex;align-items:center;background:var(--soft);border-bottom:1px solid var(--line)}
.solution-preview img{width:100%;height:100%;object-fit:contain}
.solution-copy{padding:26px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.solution-copy .text-link{margin-top:auto;padding-top:24px}
@media(max-width:640px){.solution-copy{padding:22px}.solution-preview{aspect-ratio:auto}.solution-preview img{height:auto}}

/* Full portfolio presentations retain their original proportions. */
.project-presentation{margin:40px auto;max-width:1200px}
.project-presentation>a{display:block;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#0b0716}
.project-presentation img{display:block;width:100%;height:auto}
.project-presentation figcaption{padding:14px 0;color:var(--muted);font-size:12px;text-align:center}
.project-presentation figcaption a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.project-presentation a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}

/* Portfolio interactions shared with Web Planet Sites. */
.portfolio-selection{--max:1320px}
.portfolio-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.portfolio-image{overflow:hidden}
.portfolio-image img{transition:transform .3s ease}
.portfolio-copy{padding-right:70px}
.portfolio-copy h3{transition:color .22s ease}
.portfolio-copy>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f6f3ff;border:1px solid #d7cef5;color:#6956e8;line-height:1;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease}
.portfolio-card:focus-visible{transform:translateY(-4px);border-color:#9b8eed;box-shadow:0 18px 44px #6956e81a;outline:3px solid #6956e8;outline-offset:5px}
.portfolio-card:focus-visible .portfolio-copy>span{background:linear-gradient(110deg,#7636df 0%,#6956e8 48%,#315ee7 100%);color:#fff;transform:translate(2px,-2px)}
.portfolio-card:focus-visible .portfolio-copy h3{color:var(--portfolio-highlight,#6956e8)}
.portfolio-card:focus-visible .portfolio-image img{transform:scale(1.025)}
[data-theme=dark] .portfolio-card{--portfolio-highlight:#b9aaff}
@media(hover:hover) and (pointer:fine){
.portfolio-card:hover{transform:translateY(-4px);border-color:#9b8eed;box-shadow:0 18px 44px #6956e81a}
.portfolio-card:hover .portfolio-copy>span{background:linear-gradient(110deg,#7636df 0%,#6956e8 48%,#315ee7 100%);color:#fff;transform:translate(2px,-2px)}
.portfolio-card:hover .portfolio-copy h3{color:var(--portfolio-highlight,#6956e8)}
.portfolio-card:hover .portfolio-image img{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
.portfolio-card,.portfolio-copy>span,.portfolio-copy h3,.portfolio-image img{transition:none}
.portfolio-card:hover,.portfolio-card:focus-visible,.portfolio-card:hover .portfolio-copy>span,.portfolio-card:focus-visible .portfolio-copy>span,.portfolio-card:hover .portfolio-image img,.portfolio-card:focus-visible .portfolio-image img{transform:none}
}

/* Apply the same portfolio behavior to LeadFlow and Carousel previews. */
.studio-project-grid .project{border:1px solid transparent}
.studio-project-grid .project .project-visual img{transform:none}

.studio-project-grid .project{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.project-visual{overflow:hidden}
.project-visual img{transition:transform .3s ease}
.project-label h3{transition:color .22s ease}
.project-label>span{flex-shrink:0;font-size:18px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f6f3ff;border:1px solid #d7cef5;color:#6956e8;line-height:1;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease}
.studio-project-grid .project:focus-visible{transform:translateY(-4px);border-color:#9b8eed;box-shadow:0 18px 44px #6956e81a;outline:3px solid #6956e8;outline-offset:5px}
.studio-project-grid .project:focus-visible .project-label>span{background:linear-gradient(110deg,#7636df 0%,#6956e8 48%,#315ee7 100%);color:#fff;transform:translate(2px,-2px)}
.studio-project-grid .project:focus-visible .project-label h3{color:var(--portfolio-highlight,#6956e8)}
.studio-project-grid .project:focus-visible .project-visual img{transform:scale(1.025)}
[data-theme=dark] .studio-project-grid .project{--portfolio-highlight:#b9aaff}
@media(hover:hover) and (pointer:fine){
.studio-project-grid .project:hover{transform:translateY(-4px);border-color:#9b8eed;box-shadow:0 18px 44px #6956e81a}
.studio-project-grid .project:hover .project-label>span{background:linear-gradient(110deg,#7636df 0%,#6956e8 48%,#315ee7 100%);color:#fff;transform:translate(2px,-2px)}
.studio-project-grid .project:hover .project-label h3{color:var(--portfolio-highlight,#6956e8)}
.studio-project-grid .project:hover .project-visual img{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
.studio-project-grid .project,.project-label>span,.project-label h3,.project-visual img{transition:none}
.studio-project-grid .project:hover,.studio-project-grid .project:focus-visible,.studio-project-grid .project:hover .project-label>span,.studio-project-grid .project:focus-visible .project-label>span,.studio-project-grid .project:hover .project-visual img,.studio-project-grid .project:focus-visible .project-visual img{transform:none}
}

/* Light service artwork and homepage portfolio. */
.service-offering .portfolio-image{aspect-ratio:16/9;background:#f3edff}
.service-offering .portfolio-image img{width:100%;height:100%;object-fit:contain}
.service-offering .portfolio-copy p{font-size:14px;line-height:1.7}
.home-portfolio{padding:64px 0 40px;scroll-margin-top:100px}
.studio-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.studio-project-grid .project-visual-complete{aspect-ratio:1239/870;display:flex;align-items:center;background:var(--surface)}
.studio-project-grid .project-visual-complete img{width:100%;height:100%;object-fit:contain}
.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.journal-card>img{aspect-ratio:16/9;object-fit:contain;background:#f3edff}
@media(max-width:960px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.studio-project-grid,.journal-grid{grid-template-columns:1fr}.home-portfolio{padding:40px 0 28px}}
.service-contact-card .service-photo{aspect-ratio:16/9;height:auto;object-fit:contain;background:#f3edff}

/* Footer analytics control. */
.cookie-settings{font:inherit;background:none;border:0;padding:0;color:var(--muted);text-align:left;cursor:pointer}.cookie-settings:hover{text-decoration:underline}.cookie-settings:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Website formats: real previews with their original proportions. */
.website-formats .service-card{overflow:hidden}
.format-image{aspect-ratio:16/9;margin:-28px -28px 26px;background:var(--soft);display:flex;align-items:center;justify-content:center;overflow:hidden}
.format-image img{width:100%;height:100%;object-fit:contain}
@media(max-width:640px){.format-image{margin:-25px -25px 24px}}

/* Business application proof and ongoing partnership. */
.development-proof{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:36px;margin-block:64px;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}
.development-proof .prose h2{margin-top:0;font-size:30px}
.development-proof figure{margin:0;min-width:0}
.development-proof img{width:100%;height:auto;border:1px solid var(--line);border-radius:14px}
.development-proof figcaption{margin-top:14px;font-size:12px;color:var(--muted)}
.development-proof figcaption a{color:var(--accent);text-decoration:underline}
.proof-benefits{list-style:none;padding:0!important}
.proof-benefits li{position:relative;padding-left:26px}
.proof-benefits li::before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700}
.development-proof .button{margin-top:12px}
.development-delivery{max-width:900px;margin-inline:auto}
.development-partnership{margin-block:36px;padding:36px;border:1px solid var(--line);border-radius:20px;background:var(--tint)}
.development-partnership h2{font-size:30px;margin-bottom:18px}
@media(max-width:900px){.development-proof{grid-template-columns:1fr;gap:28px}.development-proof .prose{max-width:none}}
@media(max-width:640px){.development-proof{padding:22px;margin-block:40px}.development-proof .prose h2,.development-partnership h2{font-size:26px}.development-partnership{padding:24px}}

/* Subtle feedback on the custom-development page. */
.development-page .detail-panel,.development-page .development-proof,.development-page .service-detail-figure img{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.development-page .detail-panel:focus-within,.development-page .development-proof:focus-within{border-color:#9b8eed;box-shadow:0 18px 44px #6956e81a}
@media(hover:hover) and (pointer:fine){
.development-page .detail-panel:hover,.development-page .development-proof:hover{transform:translateY(-4px);border-color:#9b8eed;box-shadow:0 18px 44px #6956e81a}
.development-page .service-detail-figure img:hover{transform:translateY(-4px);box-shadow:0 18px 44px #6956e82a}
}
@media(prefers-reduced-motion:reduce){
.development-page .detail-panel,.development-page .development-proof,.development-page .service-detail-figure img{transition:none}
.development-page .detail-panel:hover,.development-page .development-proof:hover,.development-page .service-detail-figure img:hover{transform:none}
}

/* Business solutions lead the portfolio; short cards link to full case studies. */
.business-projects{padding-block:56px 36px;scroll-margin-top:100px}
.business-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.business-kind{display:block;color:var(--accent);font-size:11px;font-weight:700;margin-bottom:12px}
.business-card .portfolio-copy .business-kind{position:static;background:none;border:0;width:auto;height:auto;border-radius:0;transform:none}
.business-card .portfolio-image{aspect-ratio:16/9}
.business-case>.project-presentation{max-width:1100px;margin:0 auto 50px}
.business-case-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 48px}
.business-case-content .prose{width:100%;min-width:0}
@media(max-width:640px){.business-project-grid,.business-case-content{grid-template-columns:1fr}.business-projects{padding-block:36px 24px}}

/* Homepage business previews: retain detail with a restrained violet colour veil. */
#realisations.business-projects .business-card{transition:transform 350ms ease-out,box-shadow 350ms ease-out,border-color 350ms ease-out}
#realisations.business-projects .portfolio-image{position:relative;isolation:isolate}
#realisations.business-projects .portfolio-image::after{content:"";position:absolute;inset:0;background:#8050d8;mix-blend-mode:color;opacity:0;pointer-events:none;transition:opacity 350ms ease-out}
#realisations.business-projects .portfolio-image img{filter:none;transform:none;transition:filter 350ms ease-out}
#realisations.business-projects .portfolio-copy>span{transition:background-color 350ms ease-out,color 350ms ease-out,border-color 350ms ease-out;transform:none}
#realisations.business-projects .portfolio-copy h3{transition:color 350ms ease-out}
#realisations.business-projects .business-card:focus-visible{transform:translateY(-6px);border-color:#a68ae8;box-shadow:0 18px 40px -12px #7545c94d}
#realisations.business-projects .business-card:focus-visible .portfolio-copy>span{background:#7043e8;color:#fff;border-color:#7043e8}
@media(hover:hover) and (pointer:fine){
#realisations.business-projects .portfolio-image img{filter:saturate(.7)}
#realisations.business-projects .portfolio-image::after{opacity:.48}
#realisations.business-projects .business-card:hover{transform:translateY(-6px);border-color:#a68ae8;box-shadow:0 18px 40px -12px #7545c94d}
#realisations.business-projects .business-card:hover .portfolio-copy>span{background:#7043e8;color:#fff;border-color:#7043e8}
}
#realisations.business-projects .business-card:is(:hover,:focus-visible) .portfolio-image img{filter:none;transform:none}
#realisations.business-projects .business-card:is(:hover,:focus-visible) .portfolio-image::after{opacity:0}
@media(prefers-reduced-motion:reduce){
#realisations.business-projects .business-card,#realisations.business-projects .portfolio-image img,#realisations.business-projects .portfolio-image::after,#realisations.business-projects .portfolio-copy>span,#realisations.business-projects .portfolio-copy h3{transition:none}
#realisations.business-projects .business-card:is(:hover,:focus-visible){transform:none}
}

/* Homepage project covers crossfade to their existing dashboards. */
#realisations.business-projects .project-preview{transition:transform 400ms ease-out,box-shadow 400ms ease-out,border-color 400ms ease-out}
#realisations.business-projects .project-preview .portfolio-image::after{content:none}
#realisations.business-projects .project-preview .portfolio-image img{position:absolute;inset:0;width:100%;height:100%;filter:none;transform:none;transition:opacity 400ms ease-out;pointer-events:none}
#realisations.business-projects .project-preview-cover{object-fit:cover;opacity:1}
#realisations.business-projects .project-preview-dashboard{object-fit:contain;opacity:0}
#realisations.business-projects .project-preview:focus-visible{transform:translateY(-5px)}
#realisations.business-projects .project-preview:focus-visible .project-preview-cover{opacity:0}
#realisations.business-projects .project-preview:focus-visible .project-preview-dashboard{opacity:1}
@media(hover:hover) and (pointer:fine){
#realisations.business-projects .project-preview:hover{transform:translateY(-5px)}
#realisations.business-projects .project-preview:hover .project-preview-cover{opacity:0}
#realisations.business-projects .project-preview:hover .project-preview-dashboard{opacity:1}
}
@media(prefers-reduced-motion:reduce){
#realisations.business-projects .project-preview,#realisations.business-projects .project-preview .portfolio-image img{transition:none}
#realisations.business-projects .project-preview:is(:hover,:focus-visible){transform:none}
}
