:root{
  --bg:#07090b; --surf:#0c1013; --line:rgba(225,235,240,.3); --line-d:rgba(225,235,240,.12);
  --txt:#eef2f4; --dim:rgba(190,205,215,.75); --accent:#e8843c; --cyan:rgba(95,175,185,.9);
  --head:"Barlow Semi Condensed","Inter",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --gut:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--txt);font:400 16px/1.6 var(--body);overflow-x:hidden;
  background-image:linear-gradient(rgba(175,190,200,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(175,190,200,.05) 1px,transparent 1px);
  background-size:40px 40px}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--dim)}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:#07090b;padding:8px 12px;z-index:100}
.skip:focus{left:8px}
.cap{font:500 14px/1.3 var(--head);letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}
.cap.dim{color:var(--dim)}
h1,h2,h3{font-family:var(--head);font-weight:500;line-height:1.08;overflow-wrap:break-word}

.bar{position:fixed;inset:0 0 auto 0;z-index:50;height:60px;display:flex;align-items:center;gap:24px;padding:0 var(--gut);
  border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.bar.solid{background:rgba(7,9,11,.88);border-color:var(--line-d);backdrop-filter:blur(6px)}
.brand{font:600 15px var(--head);letter-spacing:.3em;text-decoration:none;white-space:nowrap}
nav{display:flex;gap:28px;margin-left:auto}
nav a{white-space:nowrap;font:500 13px var(--head);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--dim);padding:6px 0}
nav a:hover,nav a.on{color:var(--txt)}
.bar-end{display:flex;align-items:center;gap:12px}
.lang{flex-shrink:0;display:flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.lang button{background:none;border:0;color:var(--dim);font:500 12px var(--mono);letter-spacing:.08em;padding:6px 10px;cursor:pointer}
.lang button+button{border-left:1px solid var(--line-d)}
.lang button[aria-pressed=true]{color:var(--accent)}
.menu{display:none;width:36px;height:34px;background:none;border:1px solid var(--line);border-radius:3px;cursor:pointer;position:relative}
.menu span{position:absolute;left:9px;right:9px;height:1px;background:var(--txt);transition:transform .2s}
.menu span:first-child{top:12px}.menu span:last-child{top:20px}
.menu[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}

.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,9,11,.96) 0%,rgba(7,9,11,.82) 28%,rgba(7,9,11,.15) 62%,rgba(7,9,11,.35) 100%)}
.hero-readout{position:absolute;top:84px;right:var(--gut);text-align:right;line-height:1.7}
.hero-copy{position:relative;width:100%;max-width:1200px;padding:0 var(--gut) clamp(40px,8vh,88px)}
.hero h1{font-size:clamp(34px,6.4vw,76px);letter-spacing:.005em;max-width:15em;margin:14px 0 18px}
.sub{max-width:40em;color:#c4d0d8;font-size:clamp(15px,1.5vw,18px)}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-block;font:600 13px var(--head);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:14px 26px;border-radius:2px;border:1px solid var(--line);cursor:pointer;background:none;color:var(--txt);transition:background .2s,border-color .2s}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#07090b}
.btn.primary:hover{background:#f09550}
.btn.ghost:hover{border-color:var(--txt)}

.sec{position:relative;padding:clamp(72px,11vw,140px) 0;border-top:1px solid var(--line-d);background:rgba(7,9,11,.82)}
#approach,#contact{background:rgba(12,16,19,.9)}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}
.sec-head{position:relative;margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2{font-size:clamp(32px,4.6vw,56px);margin-top:12px}
.lead{max-width:38em;color:var(--dim);margin-top:16px}
.ring{position:absolute;left:-60px;top:-70px;width:200px;height:200px;border:1px solid var(--line-d);border-radius:50%;pointer-events:none}
.ring::after{content:"";position:absolute;inset:26px;border:1px solid rgba(95,175,185,.18);border-radius:50%}
.sec-head>*:not(.ring){position:relative}

.grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid article{padding:34px 30px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.idx{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.idx::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cyan)}
.grid h3{font-size:24px;font-weight:600;margin-bottom:12px}
.grid p{color:var(--dim);font-size:15px}

.split{display:grid;grid-template-columns:1fr 1px 1fr}
.half{padding:8px clamp(0px,3vw,48px)}
.half:first-child{padding-left:0}.half:last-child{padding-right:0}
.seam{background:var(--line);position:relative}
.seam i{position:absolute;left:-4px;top:50%;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--accent)}
.half ul{list-style:none;padding:0;margin-top:22px}
.half li{padding:16px 0;border-top:1px solid var(--line-d);color:#c4d0d8}
.half:first-child li,.half:first-child .cap{text-align:right}

.about-body{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.about-body>p{font-size:clamp(17px,1.8vw,21px);color:#c4d0d8}
.facts div{padding:18px 0;border-top:1px solid var(--line)}
.facts div:last-child{border-bottom:1px solid var(--line)}
.facts dt{color:var(--accent);font-size:13px;letter-spacing:.14em}
.facts dd{margin-top:4px;color:var(--dim);font-size:15px}

.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,6vw,96px);align-items:start}
.line{margin-top:20px;font-size:13px;line-height:1.9}
.line a{color:var(--txt);font-size:16px;text-decoration:none;border-bottom:1px solid var(--accent)}
.line span+br+span{color:var(--txt);font-family:var(--body);font-size:16px}
form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.full{grid-column:1/-1}
label span{display:block;font:500 12px var(--head);letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
input,textarea{width:100%;background:rgba(7,9,11,.9);border:1px solid var(--line);border-radius:2px;color:var(--txt);font:400 16px var(--body);padding:12px 14px}
input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
textarea{resize:vertical}
.status{margin-top:16px;color:var(--accent);font-size:15px;min-height:1.5em}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:26px var(--gut);border-top:1px solid var(--line-d);background:var(--bg)}

.grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.04;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:55;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.35) 100%)}

@media (max-width:1024px){
  .menu{display:block;flex-shrink:0}
  nav{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;gap:0;margin:0;background:var(--bg);border-bottom:1px solid var(--line-d);padding:8px var(--gut) 16px}
  nav.open{display:flex}
  nav a{padding:14px 0;border-top:1px solid var(--line-d)}
  .bar{gap:10px}.bar-end{margin-left:auto}
  .bar:has(nav.open){background:var(--bg);border-color:var(--line-d)}
}
@media (max-width:960px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .about-body,.contact{grid-template-columns:1fr}
}
@media (max-width:760px){
  .brand{font-size:13px;letter-spacing:.2em}
  .hero-readout{top:72px}
  .grid{grid-template-columns:1fr}
  .grid article{padding:26px 20px 30px}
  .split{grid-template-columns:1fr}
  .seam{height:1px;margin:24px 0}
  .seam i{left:50%;top:-4px}
  .half{padding:0}
  .half:first-child li,.half:first-child .cap{text-align:left}
  form{grid-template-columns:1fr}
  .ring{width:140px;height:140px;left:-40px;top:-50px}
  .btn{padding:13px 20px}
}
@media (max-width:420px){.hero h1{font-size:32px}.lang button{padding:6px 8px}.brand{letter-spacing:.12em}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
