@font-face{font-family:'Inter';font-style:normal;font-weight:300 900;font-display:swap;src:url('../assets/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;src:url('../assets/fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter Fallback';src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans');size-adjust:107.4%;ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:'JetBrains Mono Fallback';src:local('Courier New'),local('Liberation Mono'),local('DejaVu Sans Mono');size-adjust:100%;ascent-override:102%;descent-override:30%;line-gap-override:0%}
:root{color-scheme:dark;--bg:#0B0F14;--surface-1:#111720;--surface-2:#172030;--text:#E8ECF2;--text-muted:#98A4B6;--accent:#4DB8D0;--on-accent:#04141A;--border-subtle:#232D3B;--border-control:#66768B;--success:#3DD68C;--warning:#F2B84B;--danger:#FF7A7A;--color-bg:var(--bg);--color-bg-subtle:var(--bg);--color-surface:var(--surface-1);--color-surface-2:var(--surface-2);--color-surface-raised:var(--surface-2);--color-border:var(--border-subtle);--color-border-strong:var(--border-control);--color-border-accent:color-mix(in srgb,var(--accent) 60%,transparent);--color-text:var(--text);--color-text-2:var(--text-muted);--color-text-muted:var(--text-muted);--color-accent:var(--accent);--color-accent-hover:color-mix(in srgb,var(--accent) 86%,var(--text));--color-accent-text:var(--accent);--color-accent-subtle:color-mix(in srgb,var(--accent) 10%,transparent);--color-accent-muted:color-mix(in srgb,var(--accent) 18%,transparent);--color-on-accent:var(--on-accent);--color-success:var(--success);--color-success-subtle:color-mix(in srgb,var(--success) 12%,transparent);--color-warning:var(--warning);--color-warning-subtle:color-mix(in srgb,var(--warning) 12%,transparent);--color-error:var(--danger);--color-error-subtle:color-mix(in srgb,var(--danger) 12%,transparent);--color-info:var(--accent);--color-info-subtle:var(--color-accent-subtle);--color-demo:var(--text-muted);--color-demo-subtle:color-mix(in srgb,var(--text-muted) 12%,transparent);--color-inverse-bg:var(--text);--color-inverse-text:var(--bg);--color-inverse-text-2:var(--surface-2);--color-nav-bg:var(--bg);--color-overlay:color-mix(in srgb,var(--bg) 72%,transparent);--font-sans:'Inter','Inter Fallback',system-ui,-apple-system,'Segoe UI',sans-serif;--font-mono:'JetBrains Mono','JetBrains Mono Fallback',ui-monospace,'SF Mono',Menlo,monospace;--text-display:clamp(2.25rem,1.6rem + 2.6vw,3.5rem);--text-h1:clamp(1.75rem,1.3rem + 1.7vw,2.5rem);--text-h2:clamp(1.375rem,1.1rem + 1vw,1.75rem);--text-h3:1.375rem;--text-h4:1.125rem;--text-body-lg:1.125rem;--text-body:1rem;--text-body-sm:0.9375rem;--text-caption:0.8125rem;--text-eyebrow:0.75rem;--text-button:1rem;--text-nav:0.9375rem;--text-meta:0.75rem;--leading-tight:1.15;--leading-heading:1.15;--leading-snug:1.4;--leading-body:1.6;--tracking-display:-0.02em;--tracking-heading:-0.02em;--tracking-body:0;--tracking-eyebrow:0.06em;--tracking-meta:0.06em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:600;--measure:68ch;--measure-narrow:56ch;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:48px;--space-10:72px;--space-11:72px;--space-12:112px;--space-13:112px;--gutter:clamp(16px,4vw,32px);--section-y:72px;--card-pad:24px;--grid-gap:24px;--container:1120px;--container-narrow:720px;--nav-h:64px;--radius-sm:8px;--radius-md:8px;--radius-lg:12px;--radius-xl:12px;--radius-full:9999px;--shadow-1:none;--shadow-2:none;--shadow-3:none;--shadow-modal:0 24px 60px -16px color-mix(in srgb,var(--bg) 85%,transparent);--dur-fast:150ms;--dur-base:200ms;--dur-slow:200ms;--ease-standard:ease-out;--ease-out:ease-out;--reveal-distance:12px;--z-nav:1000;--z-overlay:1100;--z-toast:1200;--background:var(--color-bg);--background-secondary:var(--color-bg-subtle);--surface:var(--color-surface);--surface-elevated:var(--color-surface-raised);--border:var(--color-border);--border-strong:var(--color-border-strong);--text-primary:var(--color-text);--text-secondary:var(--color-text-2);--accent-hover:var(--color-accent-hover);--error:var(--color-error);--information:var(--color-info);--space-xs:var(--space-1);--space-sm:var(--space-2);--space-md:var(--space-4);--space-lg:var(--space-6);--space-xl:var(--space-7);--space-2xl:var(--space-9);--space-3xl:var(--space-10);--space-4xl:var(--space-12);--radius-small:var(--radius-sm);--radius-medium:var(--radius-md);--radius-large:var(--radius-lg);--radius-card:var(--radius-lg);--radius-button:var(--radius-md);--shadow-subtle:var(--shadow-1);--shadow-elevated:var(--shadow-2);--shadow-floating:var(--shadow-3);--border-default:1px solid var(--color-border);--border-strong-line:1px solid var(--color-border-strong);--border-interactive:1px solid var(--color-border-accent);--motion-fast:var(--dur-fast);--motion-normal:var(--dur-base);--motion-slow:var(--dur-slow);--dur-draw:200ms;--pattern-grid-size:48px;--bg2:var(--color-bg-subtle);--bg3:var(--color-surface-2);--card:var(--color-surface);--card2:var(--color-surface-2);--bdr:var(--color-border-strong);--bdr-s:var(--color-border);--bdr-s2:var(--color-border-strong);--bdr-h:var(--color-border-accent);--tx:var(--color-text);--tx2:var(--color-text-2);--tx3:var(--color-text-muted);--accent-tx:var(--color-accent-text);--accent2:var(--color-accent);--accent-10:var(--color-accent-subtle);--accent-15:var(--color-accent-muted);--accent-25:color-mix(in srgb,var(--accent) 28%,transparent);--gr:var(--color-success);--bl:var(--color-info);--pu:var(--color-text-2);--gr-bg:var(--color-success-subtle);--bl-bg:var(--color-info-subtle);--pu-bg:var(--color-surface-2);--red:var(--color-error);--sp-1:var(--space-1);--sp-2:var(--space-2);--sp-3:var(--space-3);--sp-4:var(--space-4);--sp-5:var(--space-6);--sp-6:var(--space-7);--sp-7:var(--space-9);--sp-8:var(--space-10);--sp-9:var(--space-12);--fs-xs:var(--text-meta);--fs-sm:var(--text-body-sm);--fs-base:var(--text-body);--fs-md:var(--text-body-lg);--fs-lg:var(--text-h3);--fs-xl:var(--text-h2);--fs-2xl:var(--text-h2);--fs-3xl:var(--text-display);--r-xs:var(--radius-sm);--r-sm:var(--radius-md);--r-md:var(--radius-lg);--r-lg:var(--radius-lg);--r-xl:var(--radius-xl);--shd:none;--shd-lg:none;--glow:none;--glow-lg:none;--grad-accent:var(--color-accent);--grad-btn:var(--color-accent);--glass-bg:var(--color-nav-bg);--noise:none;--ease:var(--dur-base) var(--ease-standard);--ease-spring:var(--dur-slow) var(--ease-out);--font-body:var(--font-sans);--font-display:var(--font-sans);}@media (max-width:768px){:root{--section-y:48px;}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms;--dur-draw:0ms;--reveal-distance:0px;}}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}img,svg,video{display:block;max-width:100%;}button{cursor:pointer;font-family:inherit;}[hidden]{display:none !important;}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + var(--space-4));}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-text);background:var(--color-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard);}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:var(--weight-bold);color:var(--color-text);text-wrap:balance;}h1{font-size:var(--text-h1);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);}h2{font-size:var(--text-h2);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);}h3{font-size:var(--text-h3);line-height:var(--leading-heading);letter-spacing:-0.015em;}h4{font-size:var(--text-h4);line-height:var(--leading-snug);letter-spacing:-0.01em;font-weight:var(--weight-semibold);}p{text-wrap:pretty;}.text-display{font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);font-weight:var(--weight-bold);}.text-lg{font-size:var(--text-body-lg);line-height:var(--leading-snug);}.text-sm{font-size:var(--text-body-sm);}.text-caption{font-size:var(--text-caption);line-height:var(--leading-snug);color:var(--color-text-muted);}.text-meta{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-meta);color:var(--color-text-muted);}.text-muted{color:var(--color-text-muted);}.text-2{color:var(--color-text-2);}.measure{max-width:var(--measure);}.measure-narrow{max-width:var(--measure-narrow);}::selection{background:var(--color-accent);color:var(--color-on-accent);}::-webkit-scrollbar{width:8px;height:8px;}::-webkit-scrollbar-track{background:var(--color-bg);}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-sm);}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm);}:focus:not(:focus-visible){outline:none;}#main-content:focus{outline:none;}.skip-link{position:absolute;top:-56px;left:var(--space-4);z-index:9999;background:var(--color-accent);color:var(--color-on-accent);padding:var(--space-3) var(--space-5);font-weight:var(--weight-semibold);font-size:var(--text-body-sm);border-radius:0 0 var(--radius-md) var(--radius-md);text-decoration:none;transition:top var(--dur-base) var(--ease-standard);}.skip-link:focus{top:0;}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}svg.icon{width:1em;height:1em;display:inline-block;vertical-align:-0.14em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible;}svg.icon.icon-brand{fill:currentColor;stroke:none;}.fi,.fl,.fr{opacity:1;transform:none;}#hero .fi{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);}#hero .fi.v{opacity:1;transform:none;}@media (forced-colors:active){.btn{border:1px solid ButtonText;}.badge,.card{border:1px solid CanvasText;}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0.01ms !important;scroll-behavior:auto !important;}#hero .fi{opacity:1;transform:none;transition:none;}}@media print{#nb,#spb,.bg-layer,.hbg,.mob,.ft-top,.totop{display:none !important;}body{background:Canvas;color:CanvasText;}.section,.sec{padding:var(--space-5) 0;}.sec::before,.sec::after{display:none;}.fi,.fl,.fr{opacity:1;transform:none;}a[href]::after{content:' (' attr(href) ')';font-size:var(--text-meta);color:GrayText;}.pc-lk[href]::after,.clk[href]::after{content:none;}}p a:not(.btn):not(.link){color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.container,.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}.container--narrow{max-width:var(--container-narrow);}.section,.sec{position:relative;padding-block:var(--section-y);overflow:clip;}.section--tight{padding-block:calc(var(--section-y) * 0.6);}.section--alt{background:var(--color-bg-subtle);}.section + .section::before,.sec::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--color-border);}.section-header{max-width:var(--container-narrow);margin-bottom:var(--space-10);}.section-header__title,.stitle{font-size:var(--text-h2);font-weight:var(--weight-bold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);color:var(--color-text);margin-bottom:var(--space-4);position:relative;z-index:1;}.section-header__lead{font-size:var(--text-body-lg);color:var(--color-text-2);line-height:var(--leading-body);max-width:var(--measure);}.stitle span,.stitle em{font-style:normal;color:var(--color-accent-text);background:none;}.eyebrow,.slabel{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-eyebrow);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-accent-text);margin-bottom:var(--space-3);position:relative;z-index:1;}.eyebrow::before,.slabel::before{content:'';width:20px;height:1px;background:currentColor;opacity:0.7;flex-shrink:0;}.sline{height:0;margin-bottom:var(--space-9);}.stack{display:flex;flex-direction:column;gap:var(--stack-gap,var(--space-4));}.stack--sm{--stack-gap:var(--space-2);}.stack--lg{--stack-gap:var(--space-7);}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cluster-gap,var(--space-3));}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);}.grid>*{grid-column:span 12;min-width:0;}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--grid-min,280px)),1fr));gap:var(--grid-gap);}@media (min-width:768px){.grid>.col-span-4{grid-column:span 6;}.grid>.col-span-6{grid-column:span 6;}.grid>.col-span-8{grid-column:span 12;}}@media (min-width:1024px){.grid>.col-span-4{grid-column:span 4;}.grid>.col-span-6{grid-column:span 6;}.grid>.col-span-8{grid-column:span 8;}}.divider{height:1px;border:0;background:var(--color-border);margin-block:var(--space-7);}.bg-layer,#bg-fx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}.bg-layer::before,#bg-fx::before{content:'';position:absolute;inset:0;background-size:auto,72px 72px,72px 72px;opacity:0.55;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-6);font-family:inherit;font-size:var(--text-button);font-weight:var(--weight-semibold);line-height:1;letter-spacing:-0.005em;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard);}.btn .arw{display:inline-block;transition:transform var(--dur-base) var(--ease-standard);}.btn:hover .arw{transform:translate(2px,-2px);}.btn:hover{transform:translateY(-1px);}.btn:active{transform:translateY(0);}.btn--primary,.btn-p{background:var(--color-accent);color:var(--color-on-accent);}.btn--primary:hover,.btn-p:hover{background:var(--color-accent-hover);}.btn--secondary,.btn-o{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong);}.btn--secondary:hover,.btn-o:hover{border-color:var(--color-accent);color:var(--color-accent-text);background:var(--color-accent-subtle);}.btn--ghost{background:transparent;color:var(--color-text-2);}.btn--outline{background:transparent;color:var(--color-text);border-color:var(--color-border-strong);}.btn--outline:hover{border-color:var(--color-accent);color:var(--color-accent-text);}.btn--outline:active,.btn--secondary:active,.btn--ghost:active{background:var(--color-accent-muted);}.btn--primary:active,.btn-p:active{filter:brightness(0.95);}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-button);}.btn--ghost:hover{background:var(--color-surface-2);color:var(--color-text);}.btn--text{background:none;color:var(--color-accent-text);padding-inline:var(--space-1);min-height:44px;}.btn--text:hover{text-decoration:underline;text-underline-offset:3px;transform:none;}.btn--sm,.btn-sm,.btn-nav{min-height:44px;padding:0 var(--space-4);font-size:var(--text-body-sm);}.btn--lg{min-height:44px;padding:0 var(--space-7);font-size:var(--text-body);}.btn--block{width:100%;}.btn[disabled],.btn[aria-disabled='true']{opacity:0.45;pointer-events:none;}.card,.sk-card,.pc,.dc,.ec,.tl-card,.mtd-card,.vf-card,.mat-card,.connect-card,.case-study,.res-card,.dp-card,.ai-eng-item,.flow-node,.trust-cell{position:relative;isolation:isolate;transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard);}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--card-pad);}.card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);}.card__title{font-size:var(--text-h4);font-weight:var(--weight-semibold);letter-spacing:-0.01em;color:var(--color-text);}.card__body{color:var(--color-text-2);font-size:var(--text-body-sm);line-height:var(--leading-body);}.card__meta{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-text-muted);letter-spacing:var(--tracking-meta);}.card__footer{margin-top:auto;padding-top:var(--space-4);display:flex;gap:var(--space-3);flex-wrap:wrap;}.card--elevated{background:var(--color-surface-raised);}.card--feature{padding:calc(var(--card-pad) * 1.4);border-radius:var(--radius-xl);background:var(--color-surface-raised);}.card--project{display:flex;flex-direction:column;gap:var(--space-3);}.card--stat{display:flex;flex-direction:column;gap:var(--space-1);}.card--standard{background:var(--color-surface);}.card--experience{border-left:3px solid var(--color-border-accent);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2);}.card--technology{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);}.card--case-study{padding:0;overflow:hidden;display:flex;flex-direction:column;}.card--case-study>.card__header{margin:0;padding:var(--space-4) var(--card-pad);background:var(--color-surface-2);border-bottom:var(--border-default);align-items:center;}.card--case-study>.card__body{padding:var(--card-pad);}.card--highlight{border-color:var(--color-border-accent);background:var(--color-accent-subtle);}.card--inverted{background:var(--color-inverse-bg);border-color:transparent;}.card--inverted,.card--inverted .card__title{color:var(--color-inverse-text);}.card--inverted .card__body,.card--inverted .card__meta{color:var(--color-inverse-text-2);}.card--interactive,a.card,.sk-card,.pc,.dc,.ec,.tl-card,.mtd-card,.vf-card,.mat-card,.connect-card,.dp-card,.res-card{cursor:default;}a.card,.card--interactive,.vf-card,.dp-card{cursor:pointer;}.card--interactive:hover,a.card:hover,.sk-card:hover,.pc:hover,.dc:hover,.ec:hover,.tl-card:hover,.mtd-card:hover,.vf-card:hover,.mat-card:hover,.connect-card:hover,.dp-card:hover,.res-card:hover{transform:translateY(-2px);border-color:var(--color-border-accent);}.card--interactive:focus-within,.case-study:focus-within{border-color:var(--color-border-accent);}.case-study:hover,.case-study[open]{border-color:var(--color-border-accent);}.sk-card::before,.pc::before,.dc::before,.ec::before,.tl-card::before,.mtd-card::before,.vf-card::before,.case-study::before,.mat-card::before,.connect-card::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease-standard);}.sk-card:hover::before,.pc:hover::before,.dc:hover::before,.ec:hover::before,.tl-card:hover::before,.mtd-card:hover::before,.vf-card:hover::before,.case-study:hover::before,.mat-card:hover::before,.connect-card:hover::before{opacity:0.6;}@media (hover:none){.sk-card::before,.pc::before,.dc::before,.ec::before,.tl-card::before,.mtd-card::before,.vf-card::before,.case-study::before,.mat-card::before,.connect-card::before{display:none;}}.badge,.tag,.cs-status,.dc-st,.pt,.sp{display:inline-flex;align-items:center;gap:var(--space-2);padding:2px var(--space-3);font-size:var(--text-caption);font-weight:var(--weight-medium);line-height:1.6;color:var(--color-text-2);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:nowrap;}.badge__dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0;}.badge--production,.badge--live,.cs-status,.dc-st.ac,.tag.gr,.sp.gr{color:var(--color-success);background:var(--color-success-subtle);border-color:color-mix(in srgb,var(--color-success) 28%,transparent);}.badge--live-demo{color:var(--color-info);background:var(--color-info-subtle);border-color:color-mix(in srgb,var(--color-info) 28%,transparent);}.badge--demo-data{color:var(--color-demo);background:var(--color-demo-subtle);border-color:color-mix(in srgb,var(--color-demo) 30%,transparent);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-meta);}.badge--building{color:var(--color-warning);background:var(--color-warning-subtle);border-color:color-mix(in srgb,var(--color-warning) 28%,transparent);}.badge--case-study,.tag.bl,.sp.bl{color:var(--color-info);background:var(--color-info-subtle);border-color:color-mix(in srgb,var(--color-info) 28%,transparent);}.badge--ai,.badge--saas,.tag,.sp.gd{color:var(--color-accent-text);background:var(--color-accent-subtle);border-color:var(--color-accent-muted);}.badge--ops,.badge--logistics,.badge--experiment,.cs-status-alt,.sp.nu,.sp.pu,.pt{color:var(--color-text-2);background:var(--color-surface-2);border-color:var(--color-border);}.tag.gr,.tag.bl{border-radius:var(--radius-sm);}.stat{display:flex;flex-direction:column;gap:var(--space-1);}.stat__value{font-size:var(--text-h2);font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);line-height:1;font-variant-numeric:tabular-nums;color:var(--color-text);}.stat__label{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-text-muted);}.icon-wrap{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;font-size:var(--text-body-lg);color:var(--color-accent-text);background:var(--color-accent-subtle);border:1px solid var(--color-accent-muted);border-radius:var(--radius-md);}.icon-wrap--sm{width:32px;height:32px;font-size:var(--text-body);border-radius:var(--radius-sm);}.icon-wrap--lg{width:48px;height:48px;font-size:var(--text-h3);border-radius:var(--radius-lg);}.sk-ic,.dc-ic,.hl-ic,.ai-ic{border-radius:var(--radius-md);}.link{color:var(--color-accent-text);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard);}.link{min-height:24px;text-decoration-color:currentColor;}.link:hover{text-decoration-color:currentColor;}.link--muted{color:var(--color-text-2);}.link--muted:hover{color:var(--color-text);}#nb{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);height:var(--nav-h);display:flex;align-items:center;background:var(--color-nav-bg);border-bottom:1px solid var(--color-border);}.nav-in{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);}.logo{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-bold);font-size:var(--text-body-lg);letter-spacing:-0.03em;text-decoration:none;color:var(--color-text);}.brand-mark{width:19px;height:19px;flex-shrink:0;color:var(--color-accent);}.logo-badge{font-family:var(--font-mono);font-size:var(--text-meta);font-weight:var(--weight-regular);letter-spacing:var(--tracking-meta);color:var(--color-text-muted);padding:2px var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);}.nav-links{display:flex;align-items:center;gap:var(--space-1);list-style:none;margin-left:auto;}.nav-links a:not(.btn){position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0 var(--space-3);font-size:var(--text-nav);font-weight:var(--weight-medium);color:var(--color-text-2);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard);}.nav-links a:not(.btn):hover{color:var(--color-text);background:var(--color-surface-2);}.nav-links a.active,.nav-links a[aria-current='page']{color:var(--color-text);}.nav-links a:not(.btn)::after{content:'';position:absolute;left:var(--space-3);right:var(--space-3);bottom:4px;height:2px;border-radius:var(--radius-sm);background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out);}.nav-links a.active::after,.nav-links a[aria-current='page']::after{transform:scaleX(1);}.nav-links .btn{margin-left:var(--space-2);}.cmdk-tgl,.hbg{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:40px;min-height:40px;color:var(--color-text-2);background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard);}.cmdk-tgl:hover,.hbg:hover{color:var(--color-text);border-color:var(--color-accent);background:var(--color-surface-2);}.cmdk-tgl{padding:0 var(--space-3);font-size:var(--text-body-sm);}.cmdk-tgl-kbd,.cmdk-key,.cmdk-esc{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-text-muted);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:0 var(--space-1);background:var(--color-surface-2);}.hbg{display:none;flex-direction:column;gap:var(--space-1);padding:0 var(--space-3);}.hbg span{width:18px;height:2px;background:currentColor;border-radius:var(--radius-sm);display:block;transition:transform var(--dur-base) var(--ease-standard),opacity var(--dur-base) var(--ease-standard);}.hbg.op span:nth-child(1){transform:translateY(7px) rotate(45deg);}.hbg.op span:nth-child(2){opacity:0;}.hbg.op span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}.mob{display:none;position:fixed;inset:0;z-index:calc(var(--z-nav) + 1);flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;padding:calc(var(--nav-h) + var(--space-3)) var(--gutter) var(--space-8);background:var(--color-bg);}.mob.op{display:flex;}.mob a{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-2);font-size:var(--text-body-lg);font-weight:var(--weight-medium);color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border);transition:color var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard);}.mob a:hover,.mob a:active{color:var(--color-accent-text);background:var(--color-accent-subtle);}.mob-x{position:absolute;top:calc((var(--nav-h) - 44px) / 2);right:var(--gutter);min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-body-lg);line-height:1;color:var(--color-text-2);background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);transition:color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);}.mob-x:hover{color:var(--color-text);border-color:var(--color-accent);}@media (max-width:1024px){.cmdk-tgl-kbd{display:none;}.nav-links a:not(.btn){padding:0 var(--space-2);}.nav-links a:not(.btn)::after{left:var(--space-2);right:var(--space-2);}.logo-badge{display:none;}}@media (max-width:768px){.nav-links,.cmdk-tgl{display:none;}.hbg{display:inline-flex;}}@media (max-width:420px){.logo-badge{display:none;}}.cmdk-overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--color-overlay);display:flex;align-items:flex-start;justify-content:center;padding:12vh var(--space-5) var(--space-5);}.cmdk-box{width:100%;max-width:560px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);overflow:hidden;}.cmdk-input-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);}.cmdk-input-row>.icon{color:var(--color-text-muted);}.cmdk-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:var(--text-body);color:var(--color-text);font-family:inherit;}.cmdk-input::placeholder{color:var(--color-text-muted);}.cmdk-list{list-style:none;max-height:min(50vh,420px);overflow-y:auto;padding:var(--space-2);}.cmdk-list li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-2);font-size:var(--text-body-sm);scroll-margin:var(--space-2);}.cmdk-list li .icon{color:var(--color-accent-text);}.cmdk-list li span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.cmdk-list li::after{content:attr(data-group);font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-meta);}.cmdk-list li:hover,.cmdk-list li.active{background:var(--color-accent-subtle);color:var(--color-text);}.cmdk-empty{padding:var(--space-7) var(--space-5);text-align:center;color:var(--color-text-muted);font-size:var(--text-body-sm);}.cmdk-foot{display:flex;gap:var(--space-5);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);font-size:var(--text-meta);color:var(--color-text-muted);}.cmdk-key{margin-right:var(--space-1);}#spb{position:fixed;top:0;left:0;height:2px;width:100%;z-index:9999;background:var(--color-accent);pointer-events:none;transform:scaleX(0);transform-origin:left;will-change:transform;}.totop{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:900;width:44px;height:44px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-2);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard);}.totop.show{opacity:1;transform:none;pointer-events:auto;}.totop:hover{color:var(--color-accent-text);border-color:var(--color-accent);}.totop svg{width:18px;height:18px;}@media (max-width:640px){.totop{right:var(--space-4);bottom:var(--space-4);}}
.status{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-meta);font-weight:var(--weight-medium);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--status-color,var(--color-text-2));}.status::before{content:'';width:7px;height:7px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0;}.status--production{--status-color:var(--color-success);}.demo-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-body-sm);color:var(--color-text-2);background:var(--color-demo-subtle);border:1px solid color-mix(in srgb,var(--color-demo) 30%,transparent);border-left-width:3px;border-radius:var(--radius-md);}.demo-notice strong{color:var(--color-text);font-weight:var(--weight-semibold);}
.flow{display:flex;flex-direction:column;gap:0}.flow-node{border:1px solid var(--bdr-s);background:var(--card);border-radius:var(--r-md);padding:var(--space-4) var(--space-4);position:relative;transition:border-color var(--ease),box-shadow var(--ease)}.flow-node:hover{border-color:var(--bdr-h);}.flow-node-k{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--accent-tx);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-1);font-weight:700}.flow-node-t{font-size:var(--text-caption);color:var(--tx2);line-height:1.55}.flow-connector{display:flex;align-items:center;justify-content:center;height:28px;color:var(--tx3);font-family:var(--font-mono)}.flow-connector::before{content:'↓';font-size:var(--text-body-sm)}.flow-mini{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.flow-mini-node{font-family:var(--font-mono);font-size:var(--text-meta);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--bdr-s);background:var(--card2);color:var(--tx2);transition:all var(--ease)}.flow-mini-node.done{border-color:var(--gr);color:var(--gr);background:var(--gr-bg)}.flow-mini-node.now{border-color:var(--accent);color:var(--accent-tx);background:var(--accent-10);}.flow-mini-sep{color:var(--tx3);font-size:var(--text-caption)}#hero{min-height:94vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:var(--space-12)}.pipeline{display:flex;flex-direction:column;gap:0}.pipeline-node{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;border:1px solid var(--bdr-s);background:var(--glass-bg);border-radius:var(--r-md);padding:var(--space-3) var(--space-4);transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease),background var(--ease);}.pipeline-node-k{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.12em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:var(--space-2);color:var(--tx2);transition:color var(--ease)}.pipeline-node-dot{width:6px;height:6px;border-radius:50%;background:var(--tx3);flex-shrink:0;transition:background var(--ease)}.pipeline-node:hover,.pipeline-node:focus-visible{border-color:var(--bdr-h);transform:translateX(4px);background:var(--accent-10)}.pipeline-node:hover .pipeline-node-k,.pipeline-node:focus-visible .pipeline-node-k,.pipeline-node[aria-expanded="true"] .pipeline-node-k{color:var(--accent-tx)}.pipeline-node:hover .pipeline-node-dot,.pipeline-node:focus-visible .pipeline-node-dot,.pipeline-node[aria-expanded="true"] .pipeline-node-dot{background:var(--accent)}.pipeline-node[aria-expanded="true"]{border-color:var(--accent-25);background:var(--accent-10);}.pipeline-node:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pipeline-connector{display:flex;justify-content:center;padding:var(--space-1) 0;color:var(--tx3);font-family:var(--font-mono)}.pipeline-panel{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);border:1px solid var(--bdr-s2);background:var(--card2)}.pipeline-panel[hidden]{display:none}.pipeline-panel-lbl{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-tx);font-weight:700;margin-bottom:var(--space-1);display:block}.pipeline-panel-text{font-size:var(--text-caption);color:var(--tx2);line-height:1.6}#about{background:var(--bg2)}.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start;position:relative}.ab-text p{color:var(--tx2);margin-bottom:var(--space-4);line-height:1.9}.ab-text p strong{color:var(--tx)}.ab-num{font-variant-numeric:tabular-nums;font-weight:800;color:var(--color-accent-text)}.ab-btns{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}.lp{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--sp-5)}.ab-tl{position:relative;padding-left:var(--space-5)}.ab-tl::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:2px;}.ab-tl::after{content:'';position:absolute;left:0;top:10px;width:2px;height:var(--fill,0px);background:var(--grad-accent);transition:height .15s linear}.ab-tl p{position:relative;color:var(--color-text-2);transition:color .4s var(--ease-out)}.ab-tl p.active{color:var(--color-text)}.ab-tl p::before{content:'';position:absolute;left:-34px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--bg2);border:2px solid var(--accent);transition:background var(--ease),box-shadow var(--ease)}.ab-tl p.active::before{background:var(--accent);}.ab-hl{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--space-1)}.hl-item{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-4) var(--space-5);border-radius:var(--r-md);background:var(--card);border:1px solid var(--bdr-s);transition:border-color var(--ease),transform var(--ease),box-shadow var(--ease);}.hl-item:hover{border-color:var(--bdr-h);transform:translateX(4px);}.hl-ic{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-body-lg);color:var(--accent-tx);background:var(--accent-10);border:1px solid var(--bdr)}.hl-t{font-family:var(--font-display);font-size:var(--text-body-sm);font-weight:700;margin-bottom:var(--space-1);color:var(--tx)}.hl-d{font-size:var(--text-meta);color:var(--tx2);line-height:1.55}.ab-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-5)}.ai{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-sm);background:var(--card);border:1px solid var(--bdr-s);transition:border-color var(--ease)}.ai:hover{border-color:var(--bdr-h)}.ai-ic{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-caption);color:var(--accent-tx);background:var(--accent-10);border:1px solid var(--bdr)}.ai-l{font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.14em;color:var(--tx3);margin-bottom:var(--space-1);font-family:var(--font-mono)}.ai-v{font-size:var(--text-caption);font-weight:600;color:var(--tx)}.ai-v a{color:var(--accent-tx);text-decoration:none}.ai-v a:hover{text-decoration:underline}#stats{background:var(--bg);padding:var(--sp-7) 0;border-top:1px solid var(--bdr-s);border-bottom:1px solid var(--bdr-s)}.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:0}#story{background:var(--bg2)}#method{background:var(--bg)}.mtd-manifesto{position:relative;margin-bottom:var(--sp-8);padding:var(--sp-6);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--bdr-s);overflow:hidden}.mtd-manifesto::before{content:'';position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--grad-accent)}.mtd-intro{position:relative;color:var(--tx2);font-size:var(--text-body);line-height:1.8;margin:0}.mtd-intro-lead{color:var(--tx);font-weight:700}.mtd-loop{border:1px solid var(--bdr-s);border-radius:var(--r-lg);background:var(--card);padding:var(--sp-6);}.mtd-loop-t{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--accent-tx);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--sp-5);font-weight:600}.mtd-loop .pipeline-panel{margin-top:var(--sp-4)}.mtd-card{padding:var(--sp-5);border-radius:var(--r-md);background:var(--card);border:1px solid var(--bdr-s)}#work{background:var(--bg2)}.work-intro{max-width:760px;color:var(--tx2);font-size:var(--text-body);line-height:1.8;margin-bottom:var(--sp-6)}.work-tier-hd{display:flex;align-items:center;gap:var(--space-3);margin:var(--sp-7) 0 var(--sp-5)}.work-tier-hd:first-of-type{margin-top:0}.work-tier-t{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--tx);font-weight:700;white-space:nowrap}.work-tier-line{height:1px;flex:1}.case-study{border:1px solid var(--bdr-s);border-radius:var(--r-lg);background:var(--card);margin-bottom:var(--space-4);overflow:hidden;}.case-study::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-accent);opacity:0;transition:opacity var(--ease)}.case-study:hover::after,.case-study[open]::after{opacity:1}.case-study[open]{border-color:var(--bdr-h);}.cs-summary{cursor:pointer;list-style:none;padding:var(--space-5) var(--space-5);display:flex;gap:var(--space-4);align-items:center;-webkit-tap-highlight-color:transparent}.cs-summary::-webkit-details-marker{display:none}.cs-summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cs-summary-body{flex:1;min-width:0}.cs-summary-hd{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-1)}.cs-nm{font-family:var(--font-display);font-size:var(--text-body);font-weight:700;color:var(--tx)}.cs-status{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.08em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--gr-bg);color:var(--gr);border:1px solid color-mix(in srgb,var(--success) 25%,transparent);display:inline-block}.pc .cs-status{margin:var(--space-2) 0 var(--space-3)}.cs-sent{font-size:var(--text-caption);color:var(--tx2);line-height:1.5}.cs-body{padding:0 var(--space-5) var(--space-7);border-top:1px solid var(--bdr-s)}.cs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-5) var(--space-7);margin-top:var(--space-5)}.cs-block-t{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-tx);font-weight:700;margin-bottom:var(--space-2)}.cs-block-p{font-size:var(--text-caption);color:var(--tx2);line-height:1.75}.cs-full{grid-column:1/-1}.cs-links{display:flex;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--bdr-s)}.cs-impact{grid-column:1/-1;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-sm);background:var(--accent-10);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);font-size:var(--text-caption);color:var(--tx2);line-height:1.65}.cs-impact-ic{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-caption);color:var(--accent-tx);margin-top:var(--space-1)}.cs-impact strong{color:var(--tx)}.cs-diagram{margin-top:var(--space-2)}.cs-diagram .flow-node{padding:var(--space-3) var(--space-4)}.cs-diagram .flow-node-t{font-size:var(--text-meta)}.cs-diagram .flow-connector{height:20px}.cs-demo{margin-top:var(--space-2);border:1px solid var(--bdr-s);border-radius:var(--r-md);overflow:hidden;background:var(--card2);}.cs-demo img{width:100%;height:auto;display:block}.cs-demo--native img{max-width:480px;margin-inline:auto}.bframe-bar{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-3);height:28px;background:var(--bg3);border-bottom:1px solid var(--bdr-s);flex-shrink:0}.bframe-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--color-border-strong)}.bframe-url{margin-left:var(--space-1);font-family:var(--font-mono);font-size:var(--text-meta);color:var(--tx3);background:var(--card2);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);flex:1;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc{padding:var(--space-5) var(--space-5);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--bdr-s);display:flex;flex-direction:column;position:relative;}.gh-live{margin-top:var(--sp-6);padding:var(--space-5) var(--space-5);border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--bdr-s);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between}@media(max-width:600px){.gh-live{flex-direction:column;align-items:flex-start}}#skills{background:var(--bg)}.sk-card{padding:var(--space-5);border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--bdr-s);}.sk-evidence{margin-top:var(--sp-6);padding:var(--sp-5) var(--sp-6);border:1px solid var(--bdr-s);border-radius:var(--r-lg);background:var(--card)}.sk-evidence-t{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-tx);font-weight:700;margin-bottom:var(--sp-4)}.sk-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4) 28px}.sk-ev-k{font-family:var(--font-display);font-size:var(--text-caption);font-weight:700;color:var(--tx);margin-bottom:var(--space-1)}.sk-ev-v{font-size:var(--text-meta);color:var(--tx2);line-height:1.6}.sk-ev-v strong{color:var(--tx)}.ai-eng-sub{font-family:var(--font-display);font-size:var(--text-body);font-weight:600;color:var(--tx2);margin-bottom:var(--sp-6)}.ai-eng-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:start;margin-bottom:var(--sp-7)}.ai-eng-lead{font-family:var(--font-display);font-size:var(--text-body-lg);color:var(--tx);font-weight:600;line-height:1.5;margin-bottom:var(--space-4)}.ai-eng-p{font-size:var(--text-body-sm);color:var(--tx2);line-height:1.8}.ai-eng-list{display:flex;flex-direction:column;gap:var(--space-3)}.ai-eng-item{padding:var(--space-4) var(--space-4);border-radius:var(--r-md);background:var(--card);border:1px solid var(--bdr-s);font-size:var(--text-caption);color:var(--tx2);line-height:1.6}.ai-eng-item strong{color:var(--tx);display:block;margin-bottom:var(--space-1);font-size:var(--text-body-sm);font-family:var(--font-display)}.mat-card{padding:var(--space-5);border-radius:var(--r-md);background:var(--card2);border:1px solid var(--bdr-s);overflow:hidden}#roadmap{background:var(--bg2)}.rm-intro{max-width:760px;color:var(--tx2);font-size:var(--text-body);line-height:1.8;margin-bottom:var(--sp-6)}.rm-status{font-family:var(--font-mono);font-size:var(--text-caption);line-height:2;background:var(--tx);color:var(--bg2);border-radius:var(--r-md);padding:var(--space-5) var(--space-5) var(--space-5);margin-top:var(--sp-4);border:1px solid var(--bdr-h);overflow:hidden;position:relative;}.rm-status-row{display:flex;gap:var(--space-4);white-space:nowrap;position:relative;z-index:1}.rm-status-k{color:var(--accent);min-width:120px;flex-shrink:0}.rm-status-v{color:var(--bg2)}.rm-status-foot{margin-top:var(--space-2);font-size:var(--text-meta);color:color-mix(in srgb,var(--bg2) 55%,transparent);letter-spacing:.04em;position:relative;z-index:1}.rm-journey{margin-bottom:var(--sp-7)}.rm-journey-t{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin-bottom:var(--space-3)}#domain{background:var(--bg)}.tl-card{padding:var(--space-5) var(--space-7);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--bdr-s);}.connect-card{padding:var(--space-4) var(--space-4);border-radius:var(--r-md);background:var(--card);border:1px solid var(--bdr-s);text-align:center}#dev{background:var(--bg2)}.dc{padding:var(--space-5);border-radius:var(--r-lg);background:var(--card);border:1px solid var(--bdr-s);}.eg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.ec{padding:var(--space-5) var(--space-7);border-radius:var(--r-lg);background:var(--bg2);border:1px solid var(--bdr-s);}.ec-deg{font-family:var(--font-display);font-size:var(--text-body);font-weight:700;margin-bottom:var(--space-2);letter-spacing:-.01em;color:var(--tx)}.ec-field{font-size:var(--text-caption);color:var(--accent-tx);font-weight:600;margin-bottom:var(--space-1)}.ec-inst{font-size:var(--text-caption);color:var(--tx2)}#verify{background:var(--bg2)}.vf-card{padding:var(--space-5);border-radius:var(--r-md);background:var(--card);border:1px solid var(--bdr-s);text-decoration:none;display:flex;flex-direction:column;gap:var(--space-2);}#resume{background:var(--bg)}.resume-box{border:1px solid var(--bdr-s);border-radius:var(--r-lg);background:var(--card);padding:var(--sp-7);position:relative;overflow:hidden;}.resume-txt{position:relative;z-index:1}.resume-txt h2{font-family:var(--font-display);font-size:var(--text-h2);font-weight:700;margin-bottom:var(--space-2)}.resume-txt p{color:var(--tx2);font-size:var(--text-body-sm);max-width:560px}.res-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-4);margin-top:var(--space-5)}.res-card{background:var(--card2);border:1px solid var(--bdr-s);border-radius:var(--r-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color var(--ease),transform var(--ease),box-shadow var(--ease)}.res-card:hover{border-color:var(--bdr-h);transform:translateY(-3px);}.res-card-hd{display:flex;align-items:center;gap:var(--space-3)}.res-card-t{font-family:var(--font-display);font-weight:700;font-size:var(--text-body-sm);color:var(--tx);margin-bottom:var(--space-1)}.res-card-d{color:var(--tx2);font-size:var(--text-caption);line-height:1.55}.res-card-btns{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:auto;padding-top:var(--space-1)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-meta)}#contact{background:var(--bg2)}.ct-av{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--r-md);background:var(--gr-bg);border:1px solid color-mix(in srgb,var(--success) 20%,transparent);margin-bottom:var(--space-7)}.av-dot{width:11px;height:11px;border-radius:50%;background:var(--gr);flex-shrink:0;position:relative}.av-dot::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--gr);}.av-t strong{font-family:var(--font-display);font-size:var(--text-body-sm);color:var(--gr);display:block;margin-bottom:var(--space-1)}.av-t span{font-size:var(--text-meta);color:var(--tx2)}.ct-hook{font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:700;color:var(--tx);line-height:1.5;margin-bottom:var(--space-3)}.ct-btns{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}.cl{display:flex;flex-direction:column;gap:var(--space-3)}.clk{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--r-md);background:var(--card);border:1px solid var(--bdr-s);text-decoration:none;color:var(--tx);transition:border-color var(--ease),background var(--ease),transform var(--ease),box-shadow var(--ease);position:relative;overflow:hidden}.clk::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad-accent);transform:scaleY(0);transition:transform var(--ease);transform-origin:bottom}.clk:hover{border-color:var(--bdr);background:var(--accent-10);transform:translateX(4px);}.clk:hover::before{transform:scaleY(1)}.clk-ic{font-size:var(--text-h3);flex-shrink:0}.clk-l{font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.14em;color:var(--tx2);margin-bottom:var(--space-1);font-family:var(--font-mono)}.clk-v{font-family:var(--font-display);font-size:var(--text-body-sm);font-weight:600}.clk-v,.ft-link,.ai-v{overflow-wrap:anywhere}footer{padding:var(--space-10) 0 0;border-top:1px solid var(--bdr-s);background:var(--bg2);position:relative;overflow:hidden}.ft-center{text-align:center;padding-bottom:var(--space-7);position:relative;z-index:1}.ft-logo{font-family:var(--font-display);font-weight:700;font-size:var(--text-h3);letter-spacing:-.03em;margin-bottom:var(--space-3);display:inline-block;color:var(--color-accent-text)}.ft-tagline{font-size:var(--text-caption);color:var(--tx2);line-height:1.75;max-width:420px;margin:0 auto}.ft-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1) var(--space-1);padding:var(--space-5) 0;border-top:1px solid var(--bdr-s);border-bottom:1px solid var(--bdr-s);position:relative;z-index:1}.ft-link{font-size:var(--text-caption);color:var(--tx2);text-decoration:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:all var(--ease)}.ft-link:hover{color:var(--tx);background:var(--card)}.ft-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;flex-wrap:wrap;gap:var(--space-3)}.ft-copy{font-size:var(--text-meta);color:var(--tx3)}.ft-copy span{color:var(--accent-tx)}.ft-top{font-family:var(--font-mono);font-size:var(--text-meta);color:var(--tx2);text-decoration:none;letter-spacing:.08em;padding:var(--space-2) var(--space-4);border:1px solid var(--bdr-s);border-radius:var(--radius-sm);background:var(--card);transition:all var(--ease)}.ft-top:hover{border-color:var(--bdr-h);color:var(--accent-tx);background:var(--accent-10);transform:translateY(-2px)}@media(max-width:900px){.ab-grid,.ai-eng-grid{grid-template-columns:1fr;gap:var(--space-7)}.trust{row-gap:var(--sp-5)}}@media(max-width:768px){.eg{grid-template-columns:1fr}.ft-links{flex-direction:column;align-items:center}.ft-bar{flex-direction:column;text-align:center;gap:var(--space-4)}.tl-card{padding:var(--space-5) var(--space-5)}.ab-tl{padding-left:var(--space-5)}.ab-tl p::before{left:-27px}.cs-summary{flex-wrap:wrap}.resume-box{text-align:left}.res-grid{grid-template-columns:1fr}}@media(max-width:480px){.rm-status{font-size:var(--text-meta);padding:var(--space-7) var(--space-4) var(--space-4)}.eg{grid-template-columns:1fr}.mtd-manifesto{padding:var(--sp-5)}}.page-hero{padding-bottom:0}.page-back{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-caption);font-weight:600;color:var(--tx3);text-decoration:none;margin-bottom:var(--sp-5)}.page-back:hover{color:var(--accent-tx)}
.frame{background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-lg);overflow:hidden;}.frame__bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-2);border-bottom:var(--border-default);}.frame__bar>span{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border-strong);}.frame__bar em{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:var(--space-2);font-style:normal;font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-text-muted);}.frame__bar .badge{margin-left:auto;flex-shrink:0;}.frame__body{display:block;position:relative;container-type:inline-size;}.frame img{display:block;width:100%;height:auto;}.mock{aspect-ratio:16 / 10;padding:4cqw;font-size:3cqw;line-height:1.3;color:var(--color-text-2);background:var(--color-bg);overflow:hidden;}.mock *{min-width:0;}.mock b{color:var(--color-text);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;}.mock small{display:block;font-family:var(--font-mono);font-size:0.78em;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.04em;}.mock__head{display:flex;justify-content:space-between;gap:2cqw;align-items:baseline;padding-bottom:2.5cqw;margin-bottom:2.5cqw;border-bottom:1px solid var(--color-border);}.mock__head strong{font-size:1.15em;color:var(--color-text);}.mock__card{padding:2cqw;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.4cqw;}.mock__card b{display:block;font-size:1.5em;}.mock--cv .mock__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:2cqw;margin-bottom:3cqw;}.mock--cv .mock__groups{display:grid;grid-template-columns:repeat(3,1fr);gap:2cqw;}.mock--cv .mock__group .mock__gh{margin-bottom:1.5cqw;font-size:0.9em;font-weight:var(--weight-semibold);color:var(--color-accent-text);text-transform:uppercase;letter-spacing:0.06em;}.mock--cv .mock__group div{display:flex;justify-content:space-between;padding:1.6cqw 2cqw;margin-bottom:1.2cqw;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1.2cqw;}.mock--ot .mock__steps{display:flex;gap:2cqw;margin-bottom:3cqw;}.mock--ot .mock__steps span{padding:1.2cqw 2.4cqw;border:1px solid var(--color-border);border-radius:1.2cqw;}.mock--ot .mock__steps .is-on{color:var(--color-accent-text);border-color:var(--color-border-accent);background:var(--color-accent-subtle);}.mock--ot .mock__cols{display:grid;grid-template-columns:0.8fr 1.2fr;gap:2.5cqw;}.mock--ot table{width:100%;border-collapse:collapse;}.mock--ot th{text-align:left;padding:1cqw 1.4cqw;font-family:var(--font-mono);font-size:0.78em;font-weight:var(--weight-medium);color:var(--color-text-muted);}.mock--ot td{padding:1.4cqw;border-top:1px solid var(--color-border);}.mock--ot tfoot td{color:var(--color-text);font-weight:var(--weight-semibold);}.frame__body>img,.cs-zoom img{aspect-ratio:16 / 10;object-fit:cover;object-position:top;}
.flow{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);counter-reset:flow;}.flow>li{position:relative;display:flex;flex-direction:column;gap:var(--space-1);margin-left:var(--space-7);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-md);}.flow>li b{font-weight:var(--weight-semibold);color:var(--color-text);}.flow>li span{font-size:var(--text-body-sm);color:var(--color-text-2);}.flow>li::before{content:counter(flow,decimal-leading-zero);counter-increment:flow;position:absolute;top:var(--space-3);left:calc(var(--space-7) * -1);width:1.5rem;font-family:var(--font-mono);font-size:var(--text-meta);color:var(--color-accent-text);}.flow>li:not(:last-child)::after{content:'';position:absolute;left:calc(var(--space-5) * -1);top:100%;width:2px;height:var(--space-4);background:var(--color-border-strong);}.flow>li.is-out{border-color:var(--color-border-accent);background:var(--color-accent-subtle);}.x2s{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3);list-style:none;}.x2s>li{position:relative;padding:var(--space-3) var(--space-4);font-size:var(--text-body-sm);background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-md);}.x2s>li b{display:block;color:var(--color-text);}.x2s>li:not(:last-child)::after{content:'→';content:'→' / '';position:absolute;top:50%;right:calc(var(--space-3) * -1);transform:translate(50%,-50%);z-index:1;font-family:var(--font-mono);color:var(--color-accent-text);}.x2s>li:last-child{border-color:var(--color-border-accent);background:var(--color-accent-subtle);}.x2s-cap{margin-top:var(--space-3);font-size:var(--text-body-sm);color:var(--color-text-2);}.roles{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2);}.roles>li{padding:var(--space-2) var(--space-3);font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--color-text);background:var(--color-surface-2);border:var(--border-default);border-radius:var(--radius-sm);}.roles>li:not(:last-child)::after{content:'→';content:'→' / '';margin-left:var(--space-2);color:var(--color-accent-text);}.roles>li.is-ai{border-color:var(--color-border-accent);}.gloss{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:var(--space-4);font-size:var(--text-body-sm);color:var(--color-text-2);}.gloss b{color:var(--color-text);font-weight:var(--weight-semibold);}@media (max-width:900px){.x2s{grid-template-columns:minmax(0,1fr);}.x2s>li:not(:last-child)::after{content:'↓';content:'↓' / '';top:auto;right:auto;bottom:calc(var(--space-3) * -1);left:50%;transform:translate(-50%,50%);}}
.cs-page{padding-block:calc(var(--nav-h) + var(--space-9)) var(--section-y);}.cs-back{display:inline-block;margin-bottom:var(--space-6);font-size:var(--text-body-sm);}.cs-head{max-width:52rem;margin-bottom:var(--space-8);}.cs-head__cat{margin-bottom:var(--space-3);}.cs-head__title{font-size:var(--text-h1);letter-spacing:var(--tracking-display);margin-bottom:var(--space-4);}.cs-head__lead{font-size:var(--text-body-lg);color:var(--color-text-2);margin-bottom:var(--space-5);}.cs-head__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);}.cs-note{margin-top:var(--space-4);font-size:var(--text-body-sm);color:var(--color-text-muted);}.cs-layout{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:var(--space-9);align-items:start;}.cs-index{position:sticky;top:calc(var(--nav-h) + var(--space-6));}.cs-index ol{list-style:none;display:flex;flex-direction:column;gap:var(--space-1);}.cs-index a{display:block;padding:var(--space-1) var(--space-3);font-size:var(--text-body-sm);color:var(--color-text-muted);text-decoration:none;border-left:2px solid var(--color-border);}.cs-index a:hover{color:var(--color-text);border-left-color:var(--color-accent);}.cs-index a span{font-family:var(--font-mono);font-size:var(--text-meta);margin-right:var(--space-2);color:var(--color-accent-text);}.cs-section{padding-block:var(--space-8);border-top:var(--border-default);display:flex;flex-direction:column;gap:var(--space-5);scroll-margin-top:calc(var(--nav-h) + var(--space-4));}.cs-section:first-child{border-top:0;padding-top:0;}.cs-section__h{display:flex;align-items:baseline;gap:var(--space-4);font-size:var(--text-h2);letter-spacing:var(--tracking-heading);}.cs-section__h span{font-family:var(--font-mono);font-size:var(--text-body-sm);color:var(--color-accent-text);}.cs-section p{color:var(--color-text-2);max-width:var(--measure);}.cs-section p strong{color:var(--color-text);}.cs-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:start;}.cs-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--space-3);}.cs-grid>li{padding:var(--space-4);font-size:var(--text-body-sm);color:var(--color-text-2);background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-md);}.cs-grid>li b{display:block;margin-bottom:var(--space-1);color:var(--color-text);font-weight:var(--weight-semibold);}.cs-tech{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--space-4);}.cs-tech>div{padding:var(--space-4);background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-md);}.cs-tech dt{margin-bottom:var(--space-2);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-accent-text);}.cs-tech dd{font-size:var(--text-body-sm);color:var(--color-text-2);}.cs-roles-detail{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:var(--space-3);}.cs-roles-detail>li{padding:var(--space-4);font-size:var(--text-body-sm);color:var(--color-text-2);background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-md);}.cs-roles-detail b{display:block;color:var(--color-text);}.cs-outcome>li{border-left:3px solid var(--color-border-accent);}.cs-ai{padding-left:var(--space-4);border-left:2px solid var(--color-border-strong);font-size:var(--text-body-sm);}.cs-links{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;}.cs-next{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);padding-top:var(--space-6);border-top:var(--border-default);}.cs-zoom{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;}.cs-shot{max-width:52rem;margin-bottom:var(--space-6);}.cs-shot figcaption{margin-top:var(--space-3);font-size:var(--text-caption);color:var(--color-text-muted);}.cs-lightbox{width:min(96vw,1200px);max-height:92vh;padding:0;color:var(--color-text);background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-lg);}.cs-lightbox::backdrop{background:var(--color-overlay);}.cs-lightbox img{display:block;width:100%;height:auto;}.cs-lightbox button{position:absolute;top:var(--space-3);right:var(--space-3);}@media (max-width:1024px){.cs-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-6);}.cs-index{position:static;}.cs-index ol{flex-direction:row;flex-wrap:wrap;gap:var(--space-2);}.cs-index a{border:var(--border-default);border-radius:var(--radius-sm);}.cs-two{grid-template-columns:minmax(0,1fr);gap:var(--space-5);}}
.cs-tier,.pcard__tier{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-accent-text);}.cs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--space-3);margin-top:var(--space-5);}.cs-facts>div{padding:var(--space-3) var(--space-4);background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-md);}.cs-facts dt{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-text-muted);}.cs-facts dd{margin-top:var(--space-1);font-size:var(--text-body-sm);color:var(--color-text);}.cs-decision{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);}.cs-decision>div{padding:var(--space-4);background:var(--color-surface);border:var(--border-default);border-radius:var(--radius-md);}.cs-decision dt{margin-bottom:var(--space-1);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-accent-text);}.cs-decision dd{font-size:var(--text-body-sm);color:var(--color-text-2);}.cs-decision>.is-tradeoff{border-color:var(--color-border-accent);background:var(--color-accent-subtle);}@media (min-width:901px){.x2s--4{grid-template-columns:repeat(4,minmax(0,1fr));}}.hm-projects--lead{grid-template-columns:repeat(2,minmax(0,1fr));}.pcard__tier + .pcard__cat{color:var(--color-text-muted);}.pcard--flagship{grid-column:1 / -1;flex-direction:row;}.pcard--flagship .pcard__media{flex:0 0 44%;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:var(--space-5);}.pcard--flagship .pcard__media .frame{width:100%;}.pcard--flagship .pcard__title{font-size:var(--text-h2);}.hm-more__lead{margin-bottom:var(--space-4);font-size:var(--text-body-sm);color:var(--color-text-muted);}@media (max-width:900px){.cs-decision{grid-template-columns:minmax(0,1fr);}}@media (max-width:768px){.hm-projects--lead{grid-template-columns:minmax(0,1fr);}.pcard--flagship{flex-direction:column;}.pcard--flagship .pcard__media{flex:none;padding:var(--space-4) var(--space-4) 0;}}@media (max-width:900px){#how-i-build .hb__panel .hb__chain{display:none;}}@media (max-width:768px){#how-i-build .hb-ex{display:none;}}.pcard__before,.pcard__after{font-size:var(--text-body-sm);}.pcard__before{color:var(--color-text-muted);}.pcard__after{padding-left:var(--space-4);border-left:2px solid var(--color-accent);color:var(--color-text);font-weight:var(--weight-medium);}.pcard__before::before,.pcard__after::before{display:block;margin-bottom:var(--space-1);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:var(--tracking-meta);text-transform:uppercase;}.pcard__before::before{content:'By hand';}.pcard__after::before{content:'Now';color:var(--color-accent-text);}
.ex-card,.of-mod,.pcard,.cap-group,.hm-more__list li,.cs-grid>li,.ex-links li,.of-principles li,.ex-roles .card{transition:transform var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),background var(--dur-base) var(--ease-standard);}@media (hover:hover){.ex-card:hover,.of-mod:hover,.pcard:hover,.cap-group:hover,.hm-more__list li:hover,.cs-grid>li:hover,.ex-links li:hover,.of-principles li:hover,.ex-roles .card:hover{transform:translateY(-2px);border-color:var(--color-border-accent);}}.ex-card:active,.of-mod:active,.pcard:active,.hm-more__list li:active{transform:translateY(0);}.hm-more__list li:focus-within,.ex-links li:focus-within{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-md);}.ex-card .icon-wrap{transition:transform var(--dur-base) var(--ease-out);}.pcard .badge{transition:opacity var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);}.pcard:hover .badge,.pcard:focus-within .badge{border-color:var(--color-accent-muted);}.pcard:hover .pcard__cta,.pcard:focus-within .pcard__cta{text-decoration:underline;text-underline-offset:3px;}.pcard .pcard__media .frame{transition:transform var(--dur-slow) var(--ease-out);}.pcard:hover .pcard__media .frame,.pcard:focus-within .pcard__media .frame{transform:translateY(-2px) scale(1.02);}.btn:active{transform:translateY(0);filter:brightness(0.97);}.btn .arw{transition:transform var(--dur-base) var(--ease-standard);}.btn:hover .arw,.btn:focus-visible .arw{transform:translate(2px,-2px);}.btn[disabled],.btn[aria-disabled='true']{transform:none;}.hm-cap__panel{transition:opacity var(--dur-base) var(--ease-standard),visibility 0s linear var(--dur-base);}.hm-cap__panel.is-on{transition-delay:0s;}.ev__list>li::after{content:'';position:absolute;left:calc(var(--space-7) * -1 - 2px);top:0;bottom:0;width:2px;background:var(--color-accent);transform:scaleY(0);transform-origin:top;transition:transform var(--dur-draw) var(--ease-out);}.ev__list>li.is-seen::after{transform:scaleY(1);}.ev__list>li.is-seen::before{border-color:var(--color-accent);background:var(--color-accent-subtle);}.tab:not(.is-active):not(.is-done) .tab__label{color:var(--color-text-2);}.tab.is-active .tab__label{opacity:1;}.copy-status{font-size:var(--text-caption);color:var(--color-success);min-height:1.2em;}.copy-status.is-error{color:var(--color-warning);}#nb{view-transition-name:site-nav;}#spb{view-transition-name:site-progress;}@media (prefers-reduced-motion:reduce){.hm-cap__panel{transition:none;}#spb{transform:none;width:0;}.ex-card:hover,.of-mod:hover,.pcard:hover,.cap-group:hover,.hm-more__list li:hover,.cs-grid>li:hover,.ex-links li:hover,.of-principles li:hover,.ex-roles .card:hover,.pcard:hover .pcard__media .frame,.btn:hover .arw{transform:none;}.ev__list>li::after{transition:none;}}@media (max-width:400px){.badge{white-space:normal;}}@media (max-width:400px){.res-grid,.edu-grid,.ec-grid{grid-template-columns:minmax(0,1fr);}.res-card,.ec{min-width:0;overflow-wrap:anywhere;}.res-card-hd{flex-wrap:wrap;min-width:0;}.res-card-hd>div{min-width:0;flex:1 1 10rem;}.res-card .tag{white-space:normal;}}
