@font-face{font-family:Onest;src:url('/fonts/onest-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Onest;src:url('/fonts/onest-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{
  --paper:#f5f6f8;--white:#fff;--ink:#202633;--muted:#5d6573;--line:#d6dce6;
  --accent:#2854b8;--highlight:#e5edff;--soft:#eaf0fa;
  --graphite:#202936;--on-dark:#f3f6fc;--muted-dark:#cbd5e5;--line-dark:#5d6c83;
  --panel-muted:#4e607d;--panel-border:#c6d2e4;--route-line:#9bafcf;--route-muted:#6484b9;
  --accent-border:#b6c8ee;
  --admin-paper:#f1f3f7;--scrollbar:#9eabc0;--progress-bg:#e6edfd;--progress-ink:#274e91;
  --success-bg:#e2eed1;--success-ink:#34591b;--warning-bg:#f3e9dc;--warning-ink:#785324;
  --error-border:#d7b7b4;--error-soft:#fff0ef;--shadow-color:rgb(32 41 54 / .08);
  --action:#2854b8;--action-hover:#204596;--on-accent:#fff;--focus-on-dark:#e5edff;
  --error:#a62525;--focus:#416dcc;--radius:14px;--ease:cubic-bezier(.16,1,.3,1);
  font-family:Onest,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper);
  scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height,96px) + 16px);caret-color:var(--accent)
}
*{box-sizing:border-box}body{margin:0;font-size:1rem;line-height:1.65}::selection{background:var(--highlight);color:var(--accent)}
a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,a,input,select,summary{outline-offset:5px}
:where(button,a,summary,input,select):focus-visible{outline:3px solid var(--focus)}[hidden]{display:none!important}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1,h2{font-weight:400;letter-spacing:-.035em;line-height:1.12}
h2{font-size:clamp(2.125rem,3.5vw,3rem)}h3{font-size:1.375rem;line-height:1.35;font-weight:700;letter-spacing:-.025em}p{max-width:70ch}
.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:24px;z-index:50;padding:12px 20px;background:var(--action);color:var(--on-accent);border-radius:8px}.skip-link:focus{top:12px}
#main:focus{outline:none}.brand{display:inline-flex;text-decoration:none;white-space:nowrap}.brand.personal{flex-direction:column;align-items:flex-start;gap:2px;font-size:1.1875rem;letter-spacing:-.025em;line-height:1.4;font-weight:700}.brand.personal small{font-size:0.75rem;font-weight:400;letter-spacing:0;color:var(--muted)}
.site-header{position:static;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.site-header.enhanced{position:sticky}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:96px;position:relative}
.site-header nav{display:flex;align-items:center;gap:26px}.site-header nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:0.8125rem;text-decoration:none;white-space:nowrap}
.site-header nav a:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--accent)}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:10px}.nav-status{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:9px 17px;gap:17px;border:1px solid var(--line);border-radius:8px;font-size:0.8125rem;text-decoration:none;white-space:nowrap;transition:background .18s}
.nav-status svg{width:18px;height:18px}.nav-status:hover{background:var(--white)}.menu-toggle{width:46px;min-height:46px;display:none;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:8px}.menu-toggle svg{transition:transform .25s var(--ease)}.menu-open .menu-toggle svg{transform:rotate(90deg)}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center;padding-block:76px 68px}.hero-copy{min-width:0}.hero h1{font-size:clamp(3.125rem,4.9vw,4.5rem);line-height:1.09;letter-spacing:-.04em}.hero h1 span{color:var(--accent)}
.hero-description{font-size:1.0625rem;line-height:1.8;color:var(--muted);max-width:47ch;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:14px 23px;border:1px solid transparent;border-radius:8px;font-size:0.875rem;font-weight:700;line-height:1.5;text-decoration:none;transition:background .18s,color .18s}
.button svg{width:21px;height:21px;transition:transform .25s var(--ease)}.button:hover svg{transform:translateX(3px)}.button:active{transform:translateY(1px)}
.primary{background:var(--action);color:var(--on-accent)}.primary:hover{background:var(--action-hover)}.secondary{background:var(--white);border-color:var(--line);color:var(--accent)}.secondary:hover{background:var(--soft)}.full{width:100%}
.solution-panel{padding:26px 28px 20px;background:var(--soft);border-radius:var(--radius);min-width:0}.solution-panel h2{font-size:2rem;margin-top:23px;letter-spacing:-.03em}
.intent-switch{position:relative;isolation:isolate;display:flex;gap:4px;border:1px solid var(--panel-border);border-radius:8px;padding:4px;margin-top:24px}
.intent-switch button{flex:1;min-width:0;min-height:44px;padding:8px 4px;background:transparent;border:0;border-radius:5px;color:var(--panel-muted);font-size:0.75rem;transition:background .18s,color .18s}.intent-switch button[aria-pressed=true]{color:var(--on-accent)}.intent-switch button:not([aria-pressed=true]):hover{color:var(--accent)}
.system-route{padding-top:26px}.route-start,.route-end{display:flex;align-items:center;gap:14px;padding:17px;border-radius:9px;position:relative}.route-start{border:1px solid var(--panel-border)}.route-start>div,.route-end>div{min-width:0}.route-start strong,.route-end strong{font-size:1rem;font-weight:700;line-height:1.4;display:block}.route-start div>span,.route-end div>span{display:block;font-size:0.75rem;color:var(--panel-muted);margin-top:4px;line-height:1.5}.route-end{background:var(--white);color:var(--accent);min-height:81px}
.route-line{height:66px;margin-left:28px;position:relative;border-left:1px solid var(--route-line);display:flex;align-items:center;padding-left:23px}.route-caption{font-size:0.6875rem;color:var(--panel-muted)}.route-line>svg{width:15px;height:15px;position:absolute;left:-8px;bottom:0;background:var(--soft);color:var(--route-muted)}.route-packet{position:absolute;left:-4px;top:0;width:7px;height:12px;border-radius:3px;background:var(--accent);opacity:0}
.solution-panel>p{font-size:0.8125rem;color:var(--panel-muted);margin-top:22px;line-height:1.75;min-height:69px}.panel-link{display:flex;justify-content:space-between;align-items:center;min-height:50px;gap:15px;border-top:1px solid var(--panel-border);font-size:0.8125rem;font-weight:700;color:var(--accent);text-decoration:none;margin-top:15px;padding-top:12px}.panel-link svg{width:20px;height:20px}.panel-link:hover{text-decoration:underline}
.section{padding-block:90px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:42px}.section-heading>p{font-size:0.875rem;line-height:1.8;color:var(--muted)}
.service{border-bottom:1px solid var(--line);scroll-margin-top:0}.service:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}
.service summary{display:grid;grid-template-columns:1fr 1fr 24px;gap:24px;align-items:center;padding:25px 0;min-height:85px}.service-name{font-size:1.4375rem;letter-spacing:-.025em}.service-summary{font-size:0.8125rem;color:var(--muted)}.expand{display:inline-block;width:24px;height:24px;position:relative;flex-shrink:0}.expand:before,.expand:after{content:'';position:absolute;left:5px;top:11px;width:14px;height:1.5px;background:var(--accent);transition:transform .2s var(--ease)}.expand:after{transform:rotate(90deg)}details[open]>summary .expand:after{transform:rotate(0)}.service[open] .service-name{font-weight:700;color:var(--accent)}
.service-body{margin-left:calc(50% + 2px);padding:0 48px 28px 0;font-size:0.875rem;line-height:1.85;color:var(--muted)}.details-animating{overflow:hidden}
.process-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process-list>li{padding-top:18px;border-top:1px solid var(--line)}.process-number{font-size:0.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.process-list h3{font-size:1.25rem;font-weight:400;margin-top:25px}.process-list p{font-size:0.875rem;line-height:1.8;color:var(--muted);margin-top:12px}
.portfolio-section{padding-block:82px 0}.portfolio-layout{border:1px solid var(--line);border-radius:var(--radius);padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--white)}.portfolio-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.portfolio-status{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--accent-border);border-radius:100px;padding:5px 10px;font-size:0.75rem;color:var(--accent);white-space:nowrap}.portfolio-status>span{width:5px;height:5px;background:var(--accent);border-radius:50%}
.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.faq-section>h2{font-size:2.25rem}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 0;min-height:70px;font-size:0.9375rem}.faq-list details:first-child summary{padding-top:4px;min-height:52px}.faq-list p{font-size:0.875rem;color:var(--muted);line-height:1.85;padding-bottom:22px}
.contact-section{background:var(--graphite);color:var(--on-dark)}.contact-grid{padding-block:66px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-intro h2{font-size:clamp(2.5rem,4vw,3.5rem)}.contact-intro>p{max-width:42ch;font-size:0.9375rem;color:var(--muted-dark);line-height:1.8;margin-top:24px}.contact-info{min-width:0;padding-top:5px}.contact-info h3{font-size:1.5rem;font-weight:400}.contact-channels{margin-top:26px}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:21px;border-block:1px solid var(--line-dark);text-decoration:none}.contact-row>span{min-width:0}.contact-row small{display:block;font-size:0.75rem;color:var(--muted-dark);margin-bottom:6px}.contact-row strong{font-size:clamp(1.1875rem,2vw,1.625rem);font-weight:400;overflow-wrap:anywhere;letter-spacing:-.025em}.contact-row svg{width:22px;height:22px;color:var(--muted-dark);transition:transform .25s var(--ease)}.contact-row:hover{color:var(--highlight)}.contact-row:hover svg{transform:translate(3px,-3px)}.contact-row:hover strong{text-decoration:underline}.copy-email{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:14px;min-height:44px}.copy-email button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 0;background:transparent;border:0;color:var(--muted-dark);font-size:0.75rem}.copy-email button:hover{color:var(--on-dark)}.copy-email button svg{width:17px;height:17px}.copy-email [role=status]{font-size:0.75rem;color:var(--muted-dark)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:34px}.site-footer .brand.personal{font-size:0.9375rem;white-space:normal;max-width:400px}.site-footer>div{display:flex;align-items:center;gap:25px}.site-footer>div a{display:inline-flex;align-items:center;min-height:44px;font-size:0.75rem;color:var(--muted);text-decoration:none}.site-footer>div a:hover{color:var(--accent);text-decoration:underline}
.back-top{position:fixed;right:24px;bottom:24px;z-index:15;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--accent);box-shadow:0 4px 18px var(--shadow-color)}.back-top:hover{background:var(--highlight)}.back-top svg{width:20px;height:20px}.noscript{max-width:none;padding:18px 24px;background:var(--highlight);font-size:0.875rem}
label{display:block;font-size:0.8125rem;font-weight:700;margin:18px 0 8px}input,select{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--white);font-size:0.875rem;accent-color:var(--accent)}input::placeholder{color:var(--muted)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-row>div{min-width:0}.form-hint{font-size:0.75rem;color:var(--muted);line-height:1.75;margin:18px 0}.form-message{font-size:0.8125rem;color:var(--accent);margin-top:15px}.form-message.error{color:var(--error)}.subtle-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;background:none;border:0;color:var(--muted);font-size:0.8125rem;text-decoration:underline;text-underline-offset:4px}
@media(min-width:1600px){.hero{padding-block:90px 80px}.hero h1{font-size:4.75rem}}
@media(max-width:1180px){.wrap{width:calc(100% - 72px)}.header-inner{gap:18px}.site-header nav{gap:18px}.site-header nav a{font-size:0.75rem}.brand.personal{font-size:1.125rem}.nav-status{font-size:0.75rem;padding-inline:14px;gap:12px}.hero{gap:6%;padding-block:60px}.hero h1{font-size:3.5rem}.hero-description{font-size:1rem}.hero-actions{gap:20px}.solution-panel{padding:24px}.service-name{font-size:1.3125rem}}
@media(max-width:1000px){.header-inner{min-height:84px}.site-header:not(.enhanced) .header-inner{flex-wrap:wrap;padding-block:18px}.site-header:not(.enhanced) nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.site-header.enhanced nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px;background:var(--white);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;box-shadow:0 16px 28px var(--shadow-color)}.site-header.menu-open nav{display:flex}.site-header nav a{min-height:49px;font-size:0.875rem}.site-header nav a:after{right:auto;width:20px;bottom:9px}.menu-toggle{display:inline-flex}.hero h1{font-size:clamp(2.5rem,5.3vw,3.25rem)}.hero-description{font-size:0.9375rem}.hero-actions{gap:16px;flex-wrap:wrap}.hero-actions .button{font-size:0.8125rem;padding-inline:18px;gap:16px}.solution-panel{padding:22px}.solution-panel h2{font-size:1.75rem}.route-start,.route-end{padding:14px;gap:10px}.route-start strong,.route-end strong{font-size:0.875rem}.route-start div>span,.route-end div>span{font-size:0.6875rem}.route-caption{font-size:0.6875rem}.section{padding-block:72px}.section-heading h2{font-size:2.375rem}.section-heading>p{font-size:0.8125rem}.service-name{font-size:1.25rem}.service-summary{font-size:0.75rem}.service-body{padding-right:28px;font-size:0.875rem}.process-list{grid-template-columns:repeat(2,1fr);gap:34px}.process-list h3{margin-top:18px}.process-list p{max-width:36ch}.portfolio-layout{padding:28px;gap:7%}.faq-section{gap:6%;grid-template-columns:1fr 1.5fr}.site-footer>div{gap:18px}.site-footer .brand.personal{max-width:330px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:80px;gap:12px;flex-wrap:wrap;padding-block:12px;row-gap:10px}.brand.personal{font-size:1rem;gap:1px}.brand.personal small{font-size:0.6875rem}.nav-status{min-height:44px;padding:9px 12px;font-size:0.75rem;gap:8px}.nav-status svg{width:16px;height:16px}.menu-toggle{width:44px;min-height:44px}.hero{grid-template-columns:1fr;gap:38px;padding-block:45px 40px}.hero h1{font-size:clamp(2.5rem,8.4vw,3.625rem);line-height:1.13;letter-spacing:-.035em}.hero-description{margin-top:24px;font-size:1rem;max-width:43ch}.hero-actions{margin-top:26px;gap:24px;flex-wrap:nowrap}.hero-actions .button{font-size:0.8125rem;padding:13px 18px;min-height:52px;gap:17px}.solution-panel{padding:24px}.solution-panel h2{font-size:1.8125rem;margin-top:22px}.intent-switch{margin-top:20px}.intent-switch button{font-size:0.8125rem}.route-start,.route-end{padding:16px;gap:14px}.route-start strong,.route-end strong{font-size:1rem}.route-start div>span,.route-end div>span{font-size:0.75rem}.route-caption{font-size:0.6875rem}.route-line{height:62px}.solution-panel>p{font-size:0.875rem;min-height:0;line-height:1.75}.panel-link{font-size:0.8125rem}.section{padding-block:58px}.section-heading{display:block;margin-bottom:29px}.section-heading h2{font-size:2.1875rem}.section-heading>p{font-size:0.875rem;margin-top:18px}.section-heading>p br{display:none}.service summary{grid-template-columns:1fr 24px;gap:8px;padding-block:22px;min-height:92px}.service-name{font-size:1.3125rem}.service-summary{grid-column:1;font-size:0.75rem}.service summary>.expand{grid-column:2;grid-row:1 / span 2}.service-body{margin-left:0;padding:0 24px 24px 0;font-size:0.875rem}.process-list{gap:30px 22px}.process-list h3{font-size:1.125rem}.process-list p{font-size:0.8125rem;line-height:1.85}.portfolio-section{padding-top:56px}.portfolio-layout{grid-template-columns:1fr;gap:32px;padding:25px}.faq-section{display:block}.faq-section>h2{font-size:2.125rem;margin-bottom:27px}.faq-list summary{font-size:0.9375rem;padding-block:23px;line-height:1.6}.faq-list p{font-size:0.875rem}.contact-grid{grid-template-columns:1fr;gap:35px;padding-block:48px}.contact-intro h2{font-size:2.625rem}.contact-intro>p{font-size:0.9375rem;margin-top:21px}.contact-info{padding-top:0}.contact-info h3{font-size:1.4375rem}.contact-row strong{font-size:clamp(1.125rem,5.4vw,1.4375rem)}.site-footer{align-items:flex-start;flex-direction:column;gap:19px;padding-block:28px}.site-footer .brand.personal{font-size:0.9375rem;max-width:100%}.site-footer>div{gap:26px}.back-top{right:16px;bottom:16px;width:44px;height:44px}.field-row{grid-template-columns:1fr}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.brand.personal{font-size:0.875rem}.brand.personal small{font-size:0.6875rem}.header-actions{gap:7px}.nav-status{font-size:0.6875rem;padding-inline:10px;gap:6px}.nav-status>svg{display:none}.menu-toggle{width:44px}.hero h1{font-size:2.3125rem}.hero-actions{gap:15px;flex-wrap:wrap}.solution-panel{padding:20px}.route-start strong,.route-end strong{font-size:0.9375rem}.intent-switch button{font-size:0.75rem}.process-list{gap:26px 17px}.process-list h3{font-size:1.0625rem}.portfolio-layout{padding:21px}.portfolio-heading{gap:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.expand:after,.menu-toggle svg,.contact-row svg,.button svg,.site-header nav a:after{transition:none}}

.landing:not(.interactive) .intent-switch{display:none}
h2[tabindex="-1"]:focus{outline:none}

.nav-label-short{display:none}
@media(max-width:700px){.nav-label-full{display:none}.nav-label-short{display:inline}}

.header-actions{flex-shrink:0}.brand.personal{min-width:0;white-space:normal}.intent-switch button[aria-pressed="true"]{background:var(--action)}
.landing :where(button,a,summary){scroll-margin-block:calc(var(--header-height,96px) + 16px) 20px}
/* Text can grow independently of the viewport, including a 200% user font setting. */
:where(h1,h2,h3,p,li,dt,dd,.service-name,.service-summary){overflow-wrap:anywhere}
:where(.hero,.portfolio-layout,.contact-grid,.process-list,.section-heading)>*{min-width:0}
.service-name,.service-summary,.service-body{min-width:0}
.copy-email button{max-width:100%;text-align:left}.copy-email button>span{min-width:0}
@media(max-width:700px){.hero-actions{flex-wrap:wrap}.intent-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,4.75rem),1fr))}.process-list{display:flex;flex-wrap:wrap;gap:30px 22px}.process-list>li{flex:1 1 max(9rem,calc((100% - 22px)/2));min-width:0}}
@media(max-width:1000px){.site-header.enhanced nav{max-height:calc(100svh - var(--header-height,96px) - 12px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:10px}}.contact-section{--focus:var(--focus-on-dark)}
/* A paired native palette keeps system preference and manual selection consistent. */
@supports(color:light-dark(white,black)){
  :root{color-scheme:light dark;
    --paper:light-dark(#f5f6f8,#111a28);--white:light-dark(#fff,#192638);
    --ink:light-dark(#202633,#edf3fc);--muted:light-dark(#5d6573,#b3bfd0);
    --line:light-dark(#d6dce6,#34475e);--accent:light-dark(#2854b8,#90baff);
    --highlight:light-dark(#e5edff,#243f63);
    --soft:light-dark(#eaf0fa,#182b43);--graphite:light-dark(#202936,#0b1421);
    --line-dark:light-dark(#5d6c83,#435e7d);--panel-muted:light-dark(#4e607d,#b8cbe5);
    --panel-border:light-dark(#c6d2e4,#3b5779);--route-line:light-dark(#9bafcf,#6e8db2);
    --route-muted:light-dark(#6484b9,#a8c8ee);
    --accent-border:light-dark(#b6c8ee,#5478a8);
    --admin-paper:light-dark(#f1f3f7,#111a28);--scrollbar:light-dark(#9eabc0,#657e9e);
    --progress-bg:light-dark(#e6edfd,#203957);--progress-ink:light-dark(#274e91,#c0d8ff);
    --success-bg:light-dark(#e2eed1,#203d30);--success-ink:light-dark(#34591b,#c4e9ce);
    --warning-bg:light-dark(#f3e9dc,#493921);--warning-ink:light-dark(#785324,#f6dcac);
    --error:light-dark(#a62525,#ffb4b4);--error-border:light-dark(#d7b7b4,#93616a);
    --error-soft:light-dark(#fff0ef,#46272d);--focus:light-dark(#416dcc,#abc9ff);
    --action:light-dark(#2854b8,#315abb);--action-hover:light-dark(#204596,#244b9e);
    --shadow-color:light-dark(rgb(32 41 54 / .08),rgb(0 0 0 / .28));
  }
  :root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}
}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:44px;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted)}
.theme-toggle:hover{background:var(--white);color:var(--accent)}.theme-toggle svg{width:20px;height:20px}.theme-sun{display:none}
.theme-toggle[aria-pressed=true] .theme-sun{display:block}.theme-toggle[aria-pressed=true] .theme-moon{display:none}.menu-theme{display:none}
.system-route{transform-origin:50% 50%;transition:transform .35s var(--ease);transform-style:preserve-3d}
.solution-panel.is-pointing .system-route{transform:perspective(900px) rotateX(var(--scene-x,0deg)) rotateY(var(--scene-y,0deg))}

.process-list{gap:30px}.process-list>li{position:relative;border-top:0;padding-top:0}.process-number{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:.75rem;font-weight:700;color:var(--muted);background:var(--paper);position:relative;z-index:1;transition:background .25s,color .25s,border-color .25s}
.process-list>li:not(:last-child):before,.process-list>li:not(:last-child):after{content:'';position:absolute;top:21px;left:44px;right:-30px;height:2px;background:var(--line);transform-origin:left}
.process-list>li:not(:last-child):after{background:var(--accent);transform:scaleX(0);transition:transform .45s var(--ease)}
.process-list>li[data-stage=done]:after{transform:scaleX(1)}.process-list>li[data-stage=done] .process-number{border-color:var(--accent);background:var(--highlight);color:var(--accent)}
.process-list>li[data-stage=current] .process-number{border-color:var(--action);background:var(--action);color:var(--on-accent)}.process-list>li[data-stage=current] h3{color:var(--accent)}
@media(max-width:1000px){.header-theme{display:none}.menu-theme{display:flex;justify-content:flex-start;width:100%;border:0;border-top:1px solid var(--line);border-radius:0;margin-top:8px;padding:14px 0;font-size:.875rem}.menu-theme [data-theme-label]{margin-right:auto}.process-list{display:grid;grid-template-columns:1fr;gap:25px}.process-list>li{padding-left:70px;min-height:100px}.process-number{position:absolute;left:0;top:0}.process-list h3{margin-top:7px}.process-list p{max-width:62ch;margin-top:9px}.process-list>li:not(:last-child):before,.process-list>li:not(:last-child):after{left:21px;right:auto;top:44px;bottom:-25px;width:2px;height:auto;transform-origin:top}.process-list>li:not(:last-child):after{transform:scaleY(0)}.process-list>li[data-stage=done]:after{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.system-route,.route-end,.process-number,.process-list>li:after{transition:none}.solution-panel.is-pointing .system-route{transform:none}}
/* Distill: one offer, one primary action, open rows and concise supporting content. */
.hero{padding-block:60px 56px}.hero-description{max-width:40ch}.hero-actions{margin-top:26px}
.solution-panel h2{margin-top:0}.solution-panel>p{min-height:0;font-size:.875rem;margin-top:18px}
.route-start,.route-end{padding:11px 0;border:0;border-radius:0;background:transparent;min-height:0}
.route-start strong,.route-end strong{font-size:1rem}.route-line{margin-left:10px;height:48px}
.system-route{padding-top:20px}.panel-link{margin-top:18px}.intent-switch{margin-top:20px}
.service summary{padding-block:22px;min-height:80px}.service-body{padding-bottom:24px}
.portfolio-section{padding-top:0}.portfolio-layout{border:0;border-block:1px solid var(--line);border-radius:0;background:transparent;padding:34px 0;align-items:center;gap:28px}
.portfolio-note{font-size:.9375rem;color:var(--muted);line-height:1.8}.portfolio-heading h2{font-size:clamp(2.125rem,3.5vw,3rem)}
.contact-grid{padding-block:54px}.contact-channels{margin-top:0}.copy-email{margin-top:10px}
@media(max-width:700px){.hero{padding-block:36px 40px;gap:30px}.hero-description{margin-top:20px}.hero-actions{margin-top:23px}.solution-panel{padding:22px}.system-route{padding-top:16px}.portfolio-layout{padding-block:27px;gap:16px}.portfolio-note{font-size:.875rem}.contact-grid{padding-block:42px;gap:25px}}
