:root{--color-bg:#0a0d12;--color-bg-raised:#0e131b;--color-bg-muted:#111722;--color-surface:#141b27;--color-surface-hover:#1a2230;--color-border:rgba(148, 163, 184, 0.14);--color-border-strong:rgba(148, 163, 184, 0.3);--color-text:#e8edf4;--color-text-muted:#98a5b8;--color-text-faint:#76849a;--color-accent:#2dd4bf;--color-accent-strong:#5eead4;--color-accent-ink:#04231e;--color-code-bg:#0c1118;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-sm:0.375rem;--radius-md:0.625rem;--radius-lg:1rem;--font-sans:"Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SF Mono", ui-monospace, "Cascadia Code", "JetBrains Mono",
    Menlo, Consolas, monospace;--container:76rem;--container-narrow:46rem;--gutter:clamp(1.25rem, 4vw, 2.5rem);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4);--shadow-md:0 6px 24px rgba(0, 0, 0, 0.35);--shadow-lg:0 16px 48px rgba(0, 0, 0, 0.5);--shadow-accent:0 0 0 1px rgba(45, 212, 191, 0.25);--dur:160ms;--dur-slow:320ms;--ease:cubic-bezier(0.2, 0.6, 0.2, 1);--section-space:clamp(4rem, 10vw, 8rem)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv11"}img,svg,video{display:block;max-width:100%;height:auto}ul,ol{padding-left:1.25rem}a{color:var(--color-accent);text-decoration:none;transition:color var(--dur)var(--ease)}a:hover{color:var(--color-accent-strong)}button{font:inherit;color:inherit;background:0 0;border:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}code,pre,kbd{font-family:var(--font-mono);font-size:.875em}::selection{background:rgba(45,212,191,.25)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.grid-bg{position:relative}.grid-bg::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(148,163,184,5%) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,5%) 1px,transparent 1px);background-size:4rem 4rem;mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 30%,transparent 75%)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:var(--container-narrow)}.mono{font-family:var(--font-mono)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.7rem 1.25rem;border-radius:var(--radius-sm);font-size:.925rem;font-weight:600;line-height:1.2;white-space:nowrap;transition:background var(--dur)var(--ease),border-color var(--dur)var(--ease),color var(--dur)var(--ease),transform var(--dur)var(--ease)}.cta--primary{background:var(--color-accent);color:var(--color-accent-ink)}.cta--primary:hover{background:var(--color-accent-strong);color:var(--color-accent-ink);transform:translateY(-1px)}.cta--secondary{border:1px solid var(--color-border-strong);color:var(--color-text);background:0 0}.cta--secondary:hover{border-color:var(--color-text-muted);color:var(--color-text);background:var(--color-bg-raised)}.cta--ghost{color:var(--color-text-muted);padding-inline:var(--space-2)}.cta--ghost:hover{color:var(--color-text)}.cta__arrow{transition:transform var(--dur)var(--ease)}.cta__arrow--back{transform:rotate(180deg)}.cta:hover .cta__arrow{transform:translateX(3px)}.cta:hover .cta__arrow--back{transform:rotate(180deg)translateX(3px)}.cta-group{display:flex;flex-wrap:wrap;gap:var(--space-4)}.cta-group--center{justify-content:center}.hero{position:relative;padding-block:clamp(3.5rem,8vw,6.5rem)var(--section-space);border-bottom:1px solid var(--color-border)}.hero__grid{display:grid;gap:var(--space-8);grid-template-columns:1fr;align-items:center}.hero__headline{font-size:clamp(2.2rem,5.4vw,3.9rem);letter-spacing:-.035em;line-height:1.05;margin-bottom:var(--space-5);max-width:16ch}.hero__headline .mark{color:var(--color-accent)}.hero__sub{max-width:52ch;margin-bottom:var(--space-7)}@media(min-width:1024px){.hero__grid{grid-template-columns:7fr 5fr}}.stack-visual{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(45,212,191,4%),transparent 30%),var(--color-bg-raised);padding:var(--space-6);box-shadow:var(--shadow-md);overflow:hidden}.stack-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(148,163,184,6%) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,6%) 1px,transparent 1px);background-size:2.5rem 2.5rem;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}.stack-visual__head{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint)}.stack-visual__head .pulse{width:6px;height:6px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 rgba(45,212,191,.6);animation:pulse 2.4s infinite}@keyframes pulse{0%{box-shadow:0 0 rgba(45,212,191,.45)}70%{box-shadow:0 0 0 8px rgba(45,212,191,0)}100%{box-shadow:0 0 rgba(45,212,191,0)}}.stack-visual__list{position:relative;display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}.stack-node{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--dur)var(--ease),transform var(--dur)var(--ease)}.stack-node:hover{border-color:var(--color-border-strong);transform:translateX(2px)}.stack-node__index{flex:0 0 2.5rem;font-family:var(--font-mono);font-size:.7rem;color:var(--color-accent)}.stack-node__name{flex:auto;font-family:var(--font-mono);font-size:.82rem;font-weight:600;letter-spacing:.06em;color:var(--color-text)}.stack-node__tag{font-family:var(--font-mono);font-size:.66rem;color:var(--color-text-faint);text-align:right}.stack-node__connector{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);width:1px;height:9px;background:var(--color-border-strong)}.stack-node__connector::after{content:"↓";position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);font-family:var(--font-mono);font-size:.55rem;color:var(--color-accent);line-height:1}.stack-node:last-child .stack-node__connector{display:none}.eng-stack{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-raised);padding:var(--space-6);overflow:hidden}.eng-stack__flow{position:relative;display:grid;gap:var(--space-3);grid-template-columns:1fr;list-style:none;margin:0;padding:0}.eng-stack__item{position:relative;padding:var(--space-3)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--color-text);display:flex;align-items:center;gap:var(--space-3)}.eng-stack__item::before{content:attr(data-index);font-size:.65rem;color:var(--color-accent)}.eng-stack__item:not(:last-child)::after{content:"↓";position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);font-family:var(--font-mono);font-size:.6rem;color:var(--color-accent);z-index:2}@media(min-width:900px){.eng-stack__flow{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-3)}.eng-stack__item{flex-direction:column;align-items:flex-start;justify-content:center;min-height:5.5rem;padding:var(--space-3);font-size:.72rem}.eng-stack__item::after{content:"→";left:auto;right:-13px;bottom:50%;transform:translateY(50%)}}.card{position:relative;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-raised);padding:var(--space-6);transition:border-color var(--dur)var(--ease),background var(--dur)var(--ease),transform var(--dur)var(--ease),box-shadow var(--dur)var(--ease)}.card:hover{border-color:var(--color-border-strong);background:var(--color-bg-muted)}.card--link{color:inherit}.card--link:hover{color:inherit}.card--link .card__title a{color:var(--color-text)}.card--link:hover .card__title a{color:var(--color-accent-strong)}.card--link .card__title a::after{content:"";position:absolute;inset:0}.card--link .card__title a:focus-visible::after{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--radius-lg)}.card__kicker{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint);margin-bottom:var(--space-4)}.card__kicker--accent{color:var(--color-accent)}.card__title{font-size:1.2rem;letter-spacing:-.02em;margin-bottom:var(--space-3);color:var(--color-text);transition:color var(--dur)var(--ease)}.card__text{color:var(--color-text-muted);font-size:.95rem;margin:0}.card__foot{margin-top:auto;padding-top:var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;padding:.25rem .65rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-raised);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.03em;color:var(--color-text-muted);white-space:nowrap}.chip--accent{border-color:rgba(45,212,191,.35);color:var(--color-accent-strong)}.chip--link{border-color:rgba(45,212,191,.35);color:var(--color-accent-strong);background:var(--color-bg-raised);transition:border-color var(--dur)var(--ease),background var(--dur)var(--ease),color var(--dur)var(--ease)}.chip--link:hover{border-color:var(--color-accent);background:var(--color-bg-muted);color:var(--color-accent-strong)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.competence-card{border-top:1px solid var(--color-border-strong);padding-top:var(--space-5)}.competence-card .competence-card__index{font-family:var(--font-mono);font-size:.7rem;color:var(--color-accent);display:block;margin-bottom:var(--space-4)}.competence-card h3{margin-bottom:var(--space-3)}.competence-card p{font-size:.92rem;color:var(--color-text-muted);margin-bottom:var(--space-5)}.competence-card__foot{margin-top:auto}.case-card{position:relative;overflow:hidden}.case-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-accent),transparent 70%);opacity:0;transition:opacity var(--dur)var(--ease)}.case-card:hover::before{opacity:1}.case-card__status{align-self:flex-start;margin-bottom:var(--space-4)}.case-card .card__text{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.offering-card .card__text{margin-bottom:var(--space-5)}.offering-card ul{list-style:none;margin:0 0 var(--space-5);padding:0;display:grid;gap:var(--space-2)}.offering-card li{display:flex;gap:var(--space-3);align-items:baseline;font-size:.9rem;color:var(--color-text-muted)}.offering-card li::before{content:"▸";color:var(--color-accent);font-size:.7rem}.insight-card{gap:var(--space-2)}.insight-card .card__meta{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.08em}.insight-card .card__title{font-size:1.05rem;margin-bottom:var(--space-2)}.service-card .card__title{font-size:1.1rem}.service-card__topics{margin-top:var(--space-5)}.service-card__price{margin-top:auto;padding-top:var(--space-4);font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-faint)}.cta-section{position:relative;text-align:center;border-top:1px solid var(--color-border)}.cta-section h2{max-width:22ch;margin-inline:auto}.cta-section .lead{max-width:52ch;margin-inline:auto;margin-bottom:var(--space-7)}.form{display:grid;gap:var(--space-5)}.form__row{display:grid;gap:var(--space-5);grid-template-columns:1fr}@media(min-width:640px){.form__row{grid-template-columns:1fr 1fr}}.form__field{display:grid;gap:var(--space-2)}.form__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form__label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.form__input,.form__select,.form__textarea{width:100%;padding:.75rem .9rem;background:var(--color-bg-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);transition:border-color var(--dur)var(--ease),box-shadow var(--dur)var(--ease)}.form__input::placeholder,.form__textarea::placeholder{color:var(--color-text-faint)}.form__input:focus,.form__select:focus,.form__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-accent)}.form__textarea{min-height:9rem;resize:vertical}.form__note{font-size:.85rem;color:var(--color-text-muted);margin:0}.form__alert{display:none;padding:var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-bg-raised);font-size:.9rem;color:var(--color-text-muted)}.form__alert.is-visible{display:block}.form__alert[data-kind=error]{border-color:rgba(248,113,113,.5);color:#fda4af}.form[data-status=pending] .form__submit{opacity:.6;pointer-events:none}.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.js [data-reveal].is-revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}}.skip-link:focus{position:fixed;top:var(--space-3);left:var(--space-3);width:auto;height:auto;clip:auto;z-index:200;padding:var(--space-2)var(--space-4);background:var(--color-accent);color:var(--color-accent-ink);border-radius:var(--radius-sm);font-weight:600;box-shadow:var(--shadow-md)}.site-header{position:sticky;top:0;z-index:100;background:rgba(10,13,18,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);height:4.5rem}.brand{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-text);font-weight:650;letter-spacing:-.01em}.brand__mark{width:1.75rem;height:1.75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);display:grid;place-items:center;background:var(--color-bg-raised);color:var(--color-accent)}.brand__mark svg{width:1rem;height:1rem}.brand__text{display:flex;flex-direction:column;line-height:1.15}.brand__logo{display:block;width:15rem;height:auto;flex-shrink:0}.brand__name{font-size:.95rem}.brand__claim{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}.site-nav{display:flex;align-items:center;gap:var(--space-5)}.site-nav[hidden]{display:none}.site-nav__list{display:flex;align-items:center;gap:var(--space-2);list-style:none;margin:0;padding:0}.site-nav__link{display:block;padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--color-text-muted)}.site-nav__link:hover{color:var(--color-text);background:var(--color-bg-raised)}.site-nav__link.is-active{color:var(--color-text)}.site-nav__link.is-active::after{content:"";display:block;height:2px;margin-top:2px;background:var(--color-accent);border-radius:1px}.lang-switch__list{display:flex;align-items:center;gap:var(--space-1);list-style:none;margin:0;padding:0}.lang-switch__link{display:inline-block;padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.lang-switch__link:hover{color:var(--color-text);background:var(--color-bg-raised)}.lang-switch__link.is-active{color:var(--color-accent)}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.nav-toggle span{display:block;height:1.5px;width:100%;background:var(--color-text);border-radius:1px;transition:transform var(--dur)var(--ease),opacity var(--dur)var(--ease)}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@media(max-width:1023px){.nav-toggle{display:flex}.site-nav{position:absolute;top:4.5rem;left:0;right:0;flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-5)var(--gutter)var(--space-6);background:rgba(10,13,18,.98);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);transform-origin:top;transition:opacity var(--dur)var(--ease),transform var(--dur)var(--ease)}.site-nav[hidden]{display:none}.site-nav__list{flex-direction:column;align-items:stretch;gap:var(--space-1)}.site-nav__link{padding:var(--space-3);font-size:1rem}.site-nav .cta{align-self:flex-start}}.site-main{overflow:clip}.section{padding-block:var(--section-space);scroll-margin-top:5rem}.section--tint{background:var(--color-bg-raised);border-block:1px solid var(--color-border)}.section--border-top{border-top:1px solid var(--color-border)}.section-head{margin-bottom:var(--space-7);display:grid;gap:var(--space-4)}.section-head--split{grid-template-columns:1fr;align-items:end}.section-head .lead{margin:0;max-width:46ch}.grid{display:grid;gap:var(--space-5)}.grid--competences{grid-template-columns:1fr}.grid--cases{grid-template-columns:1fr}.grid--offerings{grid-template-columns:1fr}.grid--services{grid-template-columns:1fr}.grid--insights{grid-template-columns:1fr}@media(min-width:640px){.grid--competences,.grid--offerings,.grid--services{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid--competences{grid-template-columns:repeat(4,1fr)}.grid--cases,.grid--insights{grid-template-columns:repeat(2,1fr)}.grid--services{grid-template-columns:repeat(2,1fr)}.grid--offerings{grid-template-columns:repeat(3,1fr)}}.split{display:grid;gap:var(--space-8);grid-template-columns:1fr}@media(min-width:900px){.split{grid-template-columns:5fr 7fr;align-items:center}}.page-hero{padding-block:var(--space-9)var(--space-7);border-bottom:1px solid var(--color-border)}.page-hero h1{margin-bottom:var(--space-5);max-width:22ch}.page-hero .lead{max-width:60ch}.site-footer{border-top:1px solid var(--color-border);background:var(--color-bg-raised);padding-block:var(--space-8)var(--space-6)}.site-footer__grid{display:grid;gap:var(--space-8);grid-template-columns:1fr}.site-footer__brand{max-width:34ch}.site-footer__brand .brand__logo{width:11rem}.site-footer__brand p{color:var(--color-text-muted);font-size:.95rem}.footer-nav{display:grid;gap:var(--space-7);grid-template-columns:repeat(2,1fr)}.footer-nav__title{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint);margin-bottom:var(--space-4)}.footer-nav__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.footer-nav__link{color:var(--color-text-muted);font-size:.95rem}.footer-nav__link:hover{color:var(--color-text)}.site-footer__bottom{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--space-3)var(--space-6);justify-content:space-between;font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-faint)}@media(min-width:900px){.site-footer__grid{grid-template-columns:2fr 1fr 1fr}}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-faint);margin-bottom:var(--space-6)}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.breadcrumbs a{color:var(--color-text-muted)}.breadcrumbs a:hover{color:var(--color-text)}.breadcrumbs li+li::before{content:"→";margin-right:var(--space-2);color:var(--color-text-faint)}.breadcrumbs [aria-current=page]{color:var(--color-text)}.stack-coverage{margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.stack-coverage .section-head{margin-bottom:var(--space-5)}.stack-coverage__title{font-size:1.4rem;margin-bottom:0}.stack-coverage__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-4);grid-template-columns:1fr}.stack-coverage__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4)var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-raised);transition:border-color var(--dur)var(--ease),background var(--dur)var(--ease)}.stack-coverage__item:hover{border-color:var(--color-border-strong);background:var(--color-bg-muted)}.stack-coverage__case{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--color-text)}.stack-coverage__item:hover .stack-coverage__case{color:var(--color-accent-strong)}.stack-coverage__case .cta__arrow{font-size:.85rem;color:var(--color-accent)}.stack-coverage__areas{margin:0}@media(min-width:640px){.stack-coverage__list{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){.stack-coverage__list{grid-template-columns:repeat(3,1fr)}}.home-hero__meta{display:flex;flex-wrap:wrap;gap:var(--space-3)var(--space-5);margin-top:var(--space-7);font-family:var(--font-mono);font-size:.74rem;color:var(--color-text-faint)}.home-hero__meta span{display:inline-flex;align-items:center;gap:var(--space-2)}.home-hero__meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--color-accent)}.thesis{max-width:34ch;font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.3;letter-spacing:-.02em;font-weight:600}.thesis .mark{color:var(--color-accent)}.case-detail__meta{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-raised);padding:var(--space-5);margin-bottom:var(--space-8)}.case-detail__meta-item{display:grid;gap:var(--space-1)}.case-detail__meta-item dt{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint)}.case-detail__meta-item dd{margin:0;color:var(--color-text);font-size:.92rem}.case-detail__body{max-width:65ch;margin-bottom:var(--space-8)}.case-detail__tech-heading{margin-top:var(--space-7);font-size:1rem}.case-detail__related{margin-top:var(--space-6)}.case-detail__related .case-detail__tech-heading{margin-top:0}.case-facts{margin:0 0 var(--space-8)}.case-gallery{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:var(--space-8)}.case-gallery__item{margin:0}.case-gallery__item img{width:100%;height:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-raised)}.case-gallery__item figcaption{margin-top:var(--space-2);font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-faint)}.case-gallery:has(.case-gallery__item:only-child){grid-template-columns:1fr}.diagram{margin:var(--space-7)0}.diagram__frame{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-raised);padding:var(--space-4)}.diagram__img{width:100%;height:auto;display:block}.diagram__caption{margin-top:var(--space-3);font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-faint)}.case-detail__nav{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;align-items:center;margin-top:var(--space-9);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.pipeline{margin:var(--space-7)0}.pipeline__title{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint);margin-bottom:var(--space-4)}.pipeline__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.pipeline__item{position:relative;padding:var(--space-3)var(--space-4);border:1px solid var(--color-border);border-left:2px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-bg-raised);font-family:var(--font-mono);font-size:.82rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.pipeline__item:not(:last-child)::after{content:"↓";position:absolute;left:1.05rem;bottom:-17px;transform:translateX(-50%);font-family:var(--font-mono);font-size:.6rem;color:var(--color-accent)}.pipeline__index{font-size:.66rem;color:var(--color-accent)}@media(min-width:900px){.pipeline__list--inline{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.pipeline__list--inline .pipeline__item{flex-direction:column;align-items:flex-start;min-height:4.5rem;border-left:2px solid var(--color-accent);border-top:1px solid var(--color-border)}.pipeline__list--inline .pipeline__item:not(:last-child)::after{content:"→";left:auto;right:-14px;bottom:50%;transform:translateY(50%)}}.tree{margin:var(--space-7)0}.tree__pre{margin:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-raised);color:var(--color-accent-strong);font-family:var(--font-mono);font-size:.8rem;line-height:1.55;overflow-x:auto;box-shadow:var(--shadow-sm)}.tech-grid{display:grid;gap:var(--space-5);grid-template-columns:1fr}@media(min-width:640px){.tech-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.tech-grid{grid-template-columns:repeat(3,1fr)}}.tech-card .tag-list{margin-top:var(--space-4)}.contact-grid{display:grid;gap:var(--space-8);grid-template-columns:1fr}@media(min-width:900px){.contact-grid{grid-template-columns:2fr 1fr;align-items:start}}.contact-form{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-raised);padding:clamp(1.5rem,4vw,2.5rem)}.contact-aside{display:grid;gap:var(--space-5)}.contact-aside__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-raised);padding:var(--space-5)}.contact-aside__item h3{font-size:1rem;margin-bottom:var(--space-2)}.contact-aside__item p{font-size:.9rem;color:var(--color-text-muted);margin:0}.contact-aside__item a{font-family:var(--font-mono);font-size:.8rem}.legal-list{display:grid;margin:0 0 var(--space-7);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-raised)}.legal-list__row{display:grid;gap:var(--space-1);grid-template-columns:1fr;padding:var(--space-4)var(--space-5);border-bottom:1px solid var(--color-border)}.legal-list__row:last-child{border-bottom:0}.legal-list dt{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-faint)}.legal-list dd{margin:0;font-size:.95rem;color:var(--color-text)}.legal-note{margin:var(--space-4)0 0;font-size:.95rem;color:var(--color-text-muted)}@media(min-width:640px){.legal-list__row{grid-template-columns:240px 1fr;align-items:baseline;gap:var(--space-4)}}.page-404{min-height:60vh;display:grid;place-items:center;text-align:center;padding-block:var(--space-10)}.page-404__code{font-family:var(--font-mono);font-size:clamp(4rem,12vw,8rem);font-weight:700;letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1px var(--color-border-strong)}.article-meta{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-faint);margin-bottom:0}.insights-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);padding:var(--space-7);color:var(--color-text-muted);background:var(--color-bg-raised)}.offerings-head .lead{margin:0}.service-detail__price{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--color-border);font-family:var(--font-mono);font-size:.82rem;color:var(--color-text-muted)}h1,h2,h3,h4{margin:0 0 var(--space-4);line-height:1.15;letter-spacing:-.025em;font-weight:650;text-wrap:balance}h1{font-size:clamp(2.1rem,5vw,3.4rem);letter-spacing:-.03em}h2{font-size:clamp(1.6rem,3.2vw,2.3rem)}h3{font-size:clamp(1.15rem,1.8vw,1.4rem)}h4{font-size:1rem;letter-spacing:0}p{margin:0 0 var(--space-5)}.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;color:var(--color-text-muted)}.eyebrow{font-family:var(--font-mono);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint);display:inline-flex;align-items:center;gap:var(--space-2)}.eyebrow::before{content:"";width:1.5rem;height:1px;background:var(--color-accent)}.section-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint);display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}.section-label .index{color:var(--color-accent)}.text a{color:var(--color-accent);border-bottom:1px solid rgba(45,212,191,.35)}.text a:hover{border-color:var(--color-accent-strong)}.text{color:var(--color-text-muted);max-width:65ch}.text strong{color:var(--color-text);font-weight:600}.text h2,.text h3{color:var(--color-text);margin-top:var(--space-7)}.text ul,.text ol{margin-bottom:var(--space-5);padding-left:1.4rem}.text li{margin-bottom:var(--space-2)}.text li::marker{color:var(--color-text-faint)}.text code{background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.1em .4em;color:var(--color-accent-strong)}.text blockquote{margin:var(--space-6)0;padding-left:var(--space-5);border-left:2px solid var(--color-accent);color:var(--color-text);font-size:1.1rem}.text table{width:100%;border-collapse:collapse;margin:var(--space-5)0 var(--space-7);font-size:.92rem;color:var(--color-text-muted)}.text th{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-faint);text-align:left;padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--color-border-strong)}.text td{padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.text tbody tr:last-child td{border-bottom:0}.text td:first-child{color:var(--color-text);font-weight:600;white-space:nowrap}