/* Web Wars design tokens — shared by homepage and service pages. */
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/big-shoulders-display-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/inter-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-display:swap;font-weight:100 800;src:url(../fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,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-display:swap;font-weight:100 800;src:url(../fonts/jetbrains-mono-greek-wght-normal.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}

:root{
	--ww-bg:#0B0B0F;--ww-surface:#15151C;--ww-raised:#23232D;--ww-border:#23232D;
	--ww-text:#F4F4F6;--ww-muted:#A1A1AA;--ww-red:#E11D2E;--ww-red-deep:#A80D0D;
	--ww-light-bg:#FAFAFA;--ww-light-text:#0B0B0F;--ww-light-muted:#52525B;--ww-light-border:#E4E4E7;
	--ww-font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
	--ww-font-display:"Big Shoulders Display","Arial Narrow","Inter",sans-serif;
	--ww-font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
	--ww-fs-xs:.75rem;--ww-fs-sm:.875rem;--ww-fs-md:1rem;--ww-fs-lg:clamp(1.0625rem,1rem + .4vw,1.25rem);
	--ww-fs-h3:clamp(1.25rem,1.1rem + .6vw,1.5rem);--ww-fs-h2:clamp(2.5rem,1.6rem + 4vw,5rem);--ww-fs-hero:clamp(4rem,1.5rem + 11vw,10rem);
	--ww-sp-1:.25rem;--ww-sp-2:.5rem;--ww-sp-3:.75rem;--ww-sp-4:1rem;--ww-sp-6:1.5rem;--ww-sp-8:2rem;--ww-sp-12:3rem;--ww-sp-16:4rem;--ww-sp-section:clamp(4rem,2.5rem + 6vw,8rem);
	--ww-radius:16px;--ww-radius-sm:10px;--ww-radius-pill:999px;--ww-max:1240px;--ww-gutter:clamp(1.25rem,.8rem + 2vw,2.5rem);
	--ww-dur-fast:160ms;--ww-dur:320ms;--ww-dur-slow:600ms;--ww-ease:cubic-bezier(.2,.7,.2,1);
	--ww-glow:0 0 0 1px var(--ww-red-deep),0 10px 40px -10px rgba(225,29,46,.45);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ww-bg);color:var(--ww-text);font-family:var(--ww-font-body);font-size:var(--ww-fs-md);line-height:1.6;-webkit-font-smoothing:antialiased}
body a{color:inherit}
.ww-wrap{max-width:var(--ww-max);margin-inline:auto;padding-inline:var(--ww-gutter);box-sizing:border-box}
.ww-kicker{font-family:var(--ww-font-mono);font-size:var(--ww-fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ww-muted);margin:0 0 var(--ww-sp-4)}
.ww-h2{font-family:var(--ww-font-display);font-weight:800;font-size:var(--ww-fs-h2);line-height:.92;text-transform:uppercase;letter-spacing:-.005em;margin:0 0 var(--ww-sp-12);color:var(--ww-text)}
.ww-icon{display:block;flex:none}
.ww-btn{display:inline-flex;align-items:center;gap:.6em;min-height:48px;padding:0 1.4em;border-radius:var(--ww-radius-pill);font-family:var(--ww-font-mono);font-size:var(--ww-fs-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;transition:background var(--ww-dur-fast),border-color var(--ww-dur-fast),box-shadow var(--ww-dur)}
.ww-btn .ww-icon{width:18px;height:18px;transition:transform var(--ww-dur) var(--ww-ease)}
.ww-btn:hover .ww-icon,.ww-btn:focus-visible .ww-icon{transform:translateX(5px)}
.ww-btn--red{background:var(--ww-red);color:#fff}
.ww-btn--red:hover{background:var(--ww-red-deep);box-shadow:var(--ww-glow)}
.ww-btn--ghost{border-color:var(--ww-raised);color:var(--ww-text)}
.ww-btn--ghost:hover{border-color:var(--ww-red)}
.ww-btn--lg{min-height:56px;font-size:var(--ww-fs-md)}
:focus-visible{outline:2px solid var(--ww-red);outline-offset:3px}
.ww-placeholder{color:var(--ww-muted);border:1px dashed var(--ww-raised)}
.ww-light{background:var(--ww-light-bg);color:var(--ww-light-text)}
.ww-light .ww-h2{color:var(--ww-light-text)}.ww-light .ww-kicker{color:var(--ww-light-muted)}
.ww-sec{padding-block:var(--ww-sp-section);position:relative}
/* Red slash divider between dark sections */
.ww-sec+.ww-sec::before,.ww-strip+.ww-sec::before{content:"";position:absolute;top:0;left:var(--ww-gutter);width:120px;height:2px;background:linear-gradient(90deg,var(--ww-red),transparent);transform:skewX(-30deg)}
/* Scroll reveal: only when JS is present */
.ww-js .ww-reveal{opacity:0;transform:translateY(12px);transition:opacity var(--ww-dur-slow) var(--ww-ease) var(--d,0ms),transform var(--ww-dur-slow) var(--ww-ease) var(--d,0ms)}
.ww-js .ww-reveal.is-in{opacity:1;transform:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ww-js .ww-reveal{opacity:1;transform:none}}
