/* Design: black, white, digital RAL 7016 approximation #383e42.
 * Fluid 90rem container; 1.25–4rem gutters; Georgia display / system body.
 * Spacing scale: .5, 1, 1.5, 2, 3, 4, 6rem. No external fonts or scripts. */
:root{color-scheme:light;--black:#101112;--white:#fff;--anthracite:#383e42;--muted:#bac0c4;--gutter:clamp(1.25rem,4vw,4rem);--display:Georgia,'Times New Roman',serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--white);color:var(--anthracite);font-family:var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
main:focus{outline:none}
.container{width:min(calc(100% - var(--gutter)*2),90rem);margin-inline:auto}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:10;padding:1rem;background:var(--white);color:var(--black);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem var(--gutter);color:var(--white)}
.brand{display:flex;align-items:center;gap:.65rem;min-height:44px}
.brand-mark{width:2.4rem;height:2.4rem;flex-shrink:0}
.brand-name{font-size:.7rem;letter-spacing:.13em;font-weight:600;white-space:nowrap}
.brand-name>span{display:block;margin-top:.4rem;font-size:.5rem;letter-spacing:.35em}
.site-header nav{display:flex;align-items:center;gap:1.5rem;font-size:.65rem;letter-spacing:.1em}
.site-header nav>a{display:flex;align-items:center;gap:1rem;min-height:44px}
.site-header nav>a:first-child{display:none}
.nav-contact{border-bottom:1px solid #ffffff80}
.nav-contact>span{font-size:1.2rem}
.hero{position:relative;isolation:isolate;min-height:46rem;height:100svh;max-height:80rem;overflow:hidden;background:var(--anthracite);color:var(--white)}
.hero-media,.hero-media img,.hero-shade,.hero-frame{position:absolute;inset:0;width:100%;height:100%}
.hero-media{z-index:-3}
.hero-media img{object-fit:cover;object-position:62% center}
.hero-shade{z-index:-2;background:linear-gradient(180deg,#10111270,transparent 45%,#101112b3),linear-gradient(90deg,#10111285,#10111210)}
.hero-frame{z-index:-1;inset:.65rem;width:calc(100% - 1.3rem);height:calc(100% - 1.3rem);border:1px solid #ffffff30;pointer-events:none}
.hero-copy{position:absolute;top:25%;left:var(--gutter);right:var(--gutter)}
.hero-kicker,.eyebrow{font-size:.6rem;letter-spacing:.2em;font-weight:400;line-height:1.8;margin:0 0 1.5rem}
.hero-kicker{display:flex;align-items:center;gap:1rem}
.hero-kicker>span{color:var(--muted)}
h1{font-family:var(--display);font-weight:400;font-size:clamp(3.5rem,12.5vw,8rem);line-height:.94;letter-spacing:-.045em;margin:0}
h1>span{display:block}
h1>span+span{margin-top:.08em}
.hero-tagline{font-family:var(--display);font-size:clamp(1.1rem,2vw,1.6rem);font-style:italic;line-height:1.5;margin:1.8rem 0 0;max-width:25rem}
.hero-bottom{position:absolute;bottom:2.5rem;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:end;gap:1rem}
.scroll-link{display:flex;gap:.9rem;align-items:center;min-height:44px;font-size:.6rem;letter-spacing:.2em}
.scroll-line{display:block;width:1.4rem;height:1px;background:var(--white)}
.demo-label{position:absolute;bottom:3.5rem;right:0;margin:0;font-size:.6rem;letter-spacing:.03em;color:#e1e3e5}
.hero-contact{font-size:.7rem;line-height:1.6;min-height:44px;display:flex;align-items:center;gap:.6rem}
.hero-contact>span{font-size:1.3rem}
.intro-section{padding-block:4rem;display:grid;gap:1rem;scroll-margin-top:1rem}
.eyebrow{font-size:.65rem}
h2{font-family:var(--display);font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;font-weight:400;letter-spacing:-.025em;margin:0 0 1.5rem}
.intro-section p:not(.eyebrow){max-width:36rem;font-size:1rem;line-height:1.8;margin:0 0 1.5rem}
.text-link{display:inline-flex;align-items:center;gap:2rem;min-height:44px;padding-block:.5rem;border-bottom:1px solid var(--anthracite);font-size:.8rem}
.site-footer{background:var(--anthracite);color:var(--white);padding-block:3rem 1.5rem}
.footer-contact{display:grid;gap:2rem;padding-bottom:3rem}
.footer-contact h2{font-size:clamp(1.9rem,3.5vw,3rem);margin-bottom:0}
.footer-contact address{display:flex;flex-direction:column;align-items:start;gap:.5rem;font-style:normal;font-size:.9rem}
.footer-contact address a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #ffffff30;padding-top:1rem;font-size:.65rem;line-height:1.6}
.footer-bottom>a{display:flex;align-items:center;min-height:44px;white-space:nowrap}
@media(min-width:48rem){.site-header{padding-block:2.25rem}.brand-mark{width:3rem;height:3rem}.brand-name{font-size:.8rem}.site-header nav{gap:2.5rem;font-size:.7rem}.site-header nav>a:first-child{display:flex}.hero{min-height:44rem}.hero-copy{top:23%;left:12%;right:8%}h1{font-size:clamp(6rem,10.8vw,12rem)}.hero-tagline{margin-top:2.5rem}.hero-media img{object-position:center}.hero-shade{background:linear-gradient(180deg,#10111280,transparent 45%,#101112a6),linear-gradient(90deg,#10111280,#1011120d)}.hero-frame{inset:1rem;width:calc(100% - 2rem);height:calc(100% - 2rem)}.hero-bottom{bottom:3rem}.scroll-line{width:3rem}.demo-label{position:static;margin-bottom:.9rem}.hero-contact{font-size:.8rem;gap:1.5rem}.hero-kicker{margin-bottom:2rem}.intro-section{grid-template-columns:1fr 2fr;padding-block:6rem;gap:4rem}.footer-contact{grid-template-columns:1.6fr 1fr;align-items:center}.footer-bottom{font-size:.7rem}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:hero-arrive 1.2s ease-out both}.hero-media img{animation:image-arrive 1.8s ease-out both}a{transition:opacity .2s}a:hover{opacity:.78}@keyframes hero-arrive{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes image-arrive{from{transform:scale(1.035)}to{transform:scale(1)}}}
@media(max-width:47.99rem){.site-header{flex-wrap:wrap}.site-header nav{margin-left:auto;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
