@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-400.ttf) format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-500.ttf) format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-600.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-600.ttf) format("truetype")}:root{--font-body: "Barlow", sans-serif;--font-heading: "Barlow Condensed", sans-serif}*,*:before,*:after{box-sizing:border-box}body{font-size:15px;line-height:1.55;font-weight:400}h1,h2,h3{font-family:var(--font-heading);font-weight:600;margin:0 0 6.8px}p{margin:0 0 10.2px}a{text-underline-offset:3px}img{display:block;max-width:100%}::selection{background:var(--color-trace-soft)}:root{--color-bg: #f6f7f3;--color-text: #18251f;--color-accent: #176547;--color-accent-700: #16573e;--color-accent-900: #103e2e;--color-neutral-600: #59675e;--color-neutral-700: #47564c;--color-neutral-800: #34463b;--color-divider: #ccd6cd;--color-trace: #518c72;--color-trace-soft: #cbded0;--color-on-dark: #f6f7f3;--color-on-dark-muted: #d4e5d8;--page-gutter: clamp(16px, 4vw, 56px);--panel-padding: clamp(24px, 4vw, 48px)}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}a{color:var(--color-accent-700)}a:hover{color:var(--color-accent-900)}.trace-path{transition:opacity .35s ease,stroke-width .35s ease}.site{max-width:1600px;margin:auto}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px var(--page-gutter);border-bottom:1px solid var(--color-divider)}.brand{display:inline-flex;flex:none}.brand img{width:144px;height:120px;object-fit:cover}.nav-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 28px;font-size:15px}.nav-links a{padding:10px 0;text-decoration:none}.nav-links a:hover{text-decoration:underline}.hero{display:grid;margin:28px var(--page-gutter) 0;border:1px solid var(--color-divider)}.hero-copy{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:32px 64px;padding:var(--panel-padding)}h1{margin:0;font-size:clamp(52px,7vw,96px);line-height:.98;letter-spacing:-.015em}h2{font-size:clamp(34px,3.6vw,48px);line-height:1.05}h3{font-size:28px;line-height:1.1}h1,h2,h3{text-wrap:balance}p{max-width:65ch}.intro{font-size:18px;line-height:1.6;color:var(--color-neutral-800)}.intro p{margin:0 0 24px}.text-link{display:inline-block;padding:8px 0;text-underline-offset:5px;font-weight:500}.landscape{margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--color-divider)}.diagram-scroll{grid-column:1 / -1;overflow-x:auto;scrollbar-color:var(--color-trace) var(--color-bg)}.diagram-scroll:focus-visible{outline-offset:-3px}.diagram-scroll svg{min-width:1100px}.scroll-hint{display:none}.trace-controls{display:flex;align-self:start;border-bottom:1px solid var(--color-divider)}.trace-controls button{min-width:0;min-height:48px;white-space:nowrap}.trace-controls button:hover{background:var(--color-trace-soft)!important}.trace-caption{margin:0;padding:20px 24px;border-left:1px solid var(--color-divider);color:var(--color-neutral-800);font-size:15px;line-height:1.6}.trace-caption strong,.trace-caption span,.trace-caption small{display:block}.trace-caption strong{margin-bottom:6px;font-weight:500}.trace-caption small{margin-top:12px;color:var(--color-neutral-600);font-size:12px}.services,.about{margin:0 var(--page-gutter);border:1px solid var(--color-divider);border-top:0}.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--color-divider)}.services>*{padding:var(--panel-padding);background:var(--color-bg)}.services p{margin:0;font-size:16px;line-height:1.65;color:var(--color-neutral-800)}.service-number{display:block;margin-bottom:20px;color:var(--color-accent);font-family:var(--font-heading);font-size:24px}.about{display:grid;grid-template-columns:1fr 1fr;background:var(--color-accent-900);color:var(--color-on-dark)}.about>*{margin:0;padding:var(--panel-padding)}.about p{margin:0 0 20px;color:var(--color-on-dark-muted);font-size:17px;line-height:1.65}.about a{color:var(--color-on-dark)}.contact{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:28px;margin:48px var(--page-gutter) 0;padding:36px 0;border-top:1px solid var(--color-divider)}.contact h2{margin-bottom:12px}.contact p{margin:0;color:var(--color-neutral-700);font-size:14px}.contact a{overflow-wrap:anywhere}.contact-link{padding:14px 22px;background:var(--color-accent-900);color:var(--color-on-dark);text-decoration:none}.contact-link:hover{background:var(--color-accent-700);color:var(--color-on-dark)}.skip-link{position:absolute;top:8px;left:8px;transform:translateY(-160%);padding:12px;background:var(--color-bg);z-index:2}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.about :focus-visible{outline-color:var(--color-on-dark)}@media (max-width: 700px){.hero-copy,.landscape,.services,.about{grid-template-columns:minmax(0,1fr)}.hero-copy{gap:24px}.hero{margin-top:16px}.brand img{width:116px;height:96px}.scroll-hint{display:block;margin:12px 24px;font-size:13px;color:var(--color-neutral-700)}.nav-links{gap:4px 16px;font-size:14px}.trace-controls button{padding:16px 10px!important}.trace-caption{border-left:0}.about>div{padding-top:0}}@media (max-width: 480px){.trace-controls{flex-direction:column}.trace-controls button{width:100%;border-left:0!important}}@media (prefers-reduced-motion: reduce){.trace-path{transition:none}}
