:root { --paper:#f4f6f7; --white:#fff; --graphite:#1b252d; --muted:#596872; --line:#cbd4d9; --blue:#164fc8; --blue-dark:#15335f; --orange:#e87527; --body:"Helvetica Neue",Helvetica,Arial,sans-serif; --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace; --max:1380px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:clip; background:var(--paper); color:var(--graphite); font-family:var(--body); line-height:1.55; }
img { display:block; max-width:100%; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:100; top:.75rem; left:.75rem; transform:translateY(-160%); padding:.7rem 1rem; background:var(--white); font-weight:800; }
.skip-link:focus { transform:translateY(0); }

.topbar { position:sticky; z-index:20; top:0; display:grid; grid-template-columns:auto 1fr auto; gap:2rem; align-items:center; min-height:76px; padding:0 4vw; border-bottom:1px solid var(--line); background:rgba(244,246,247,.96); backdrop-filter:blur(12px); }
.logo,.footer-logo { display:flex; align-items:baseline; letter-spacing:-.08em; text-decoration:none; }
.logo strong,.footer-logo strong { color:var(--blue); font:800 1.1rem var(--mono); }.logo span,.footer-logo span { font:800 1.1rem var(--mono); }
.descriptor { margin:0; color:var(--muted); font:.62rem var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.primary-nav { display:flex; align-items:center; gap:clamp(1.2rem,2.6vw,3rem); font-size:.78rem; font-weight:700; }
.primary-nav a { text-decoration:none; }.primary-nav a:hover { color:var(--blue); }
.primary-nav a:last-child { padding:.55rem .8rem; border:1px solid var(--graphite); background:var(--white); }
.menu-button { display:none; border:0; background:transparent; }

.opening { display:grid; grid-template-columns:1.2fr .8fr; gap:7vw; width:100%; max-width:var(--max); margin:0 auto; padding:130px 4vw 90px; }
.overline { margin:0 0 1.4rem; color:var(--blue); font:.65rem var(--mono); font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.overline::before { content:"/"; margin-right:.55rem; color:var(--orange); }
.opening h1,.service-intro h2,.working h2,.contact-section h2 { min-width:0; margin:0; font-weight:650; letter-spacing:-.06em; line-height:.91; }
.opening h1 { max-width:860px; font-size:clamp(4.5rem,8.2vw,9rem); }
.opening-detail { align-self:end; padding-bottom:.7rem; }
.opening-detail>p { max-width:560px; margin:0 0 2rem; color:var(--muted); font-size:1.04rem; }
.email-link { display:inline-flex; gap:.75rem; align-items:center; padding-bottom:.35rem; border-bottom:2px solid var(--blue); color:var(--blue); font:700 .82rem var(--mono); text-decoration:none; }
.material-image { max-width:var(--max); height:520px; margin:0 auto; padding:0 4vw; overflow:hidden; }
.material-image img { width:100%; height:100%; object-fit:cover; object-position:50% 57%; border:1px solid var(--line); }

.service-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; max-width:var(--max); margin:0 auto; padding:140px 4vw; }
.service-intro h2 { max-width:540px; font-size:clamp(3rem,4.6vw,5rem); }
.service-intro>p:last-child { max-width:520px; margin:2rem 0 0; color:var(--muted); }
.service-rows { border-top:2px solid var(--graphite); }
.service-rows article { display:grid; grid-template-columns:.85fr 1fr; gap:2.5rem; padding:1.7rem 0; border-bottom:1px solid var(--line); }
.service-rows header span { display:block; margin-bottom:.5rem; color:var(--blue); font:.61rem var(--mono); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.service-rows h3 { margin:0; font-size:1.35rem; letter-spacing:-.025em; }
.service-rows article>p { margin:0; color:var(--muted); font-size:.9rem; }

.working { display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; padding:120px max(5vw,calc((100vw - var(--max))/2)); background:var(--blue-dark); color:var(--white); }
.overline-light { color:#b9cbec; }.working h2 { max-width:780px; font-size:clamp(3.2rem,5.6vw,6.2rem); }
.working-copy { align-self:end; }.working-copy>p { max-width:570px; margin:0 0 2.5rem; color:#cad5e4; }
.working-copy ul { margin:0; padding:0; border-top:1px solid rgba(255,255,255,.28); list-style:none; }
.working-copy li { display:grid; grid-template-columns:130px 1fr; gap:1.2rem; padding:1.1rem 0; border-bottom:1px solid rgba(255,255,255,.18); }
.working-copy strong { color:#fff; font:.65rem var(--mono); text-transform:uppercase; }.working-copy span { color:#d5deea; font-size:.88rem; }
.automation-line { margin:1.8rem 0 0; padding-left:1rem; border-left:2px solid var(--orange); color:#b9c8dc; font-size:.78rem; }

.contact-section { max-width:var(--max); margin:0 auto; padding:130px 4vw; }
.contact-line { display:grid; grid-template-columns:1.25fr .75fr; gap:6vw; align-items:end; }
.contact-section h2 { max-width:900px; font-size:clamp(3.5rem,6vw,6.8rem); }
.contact-line a { justify-self:end; display:inline-flex; gap:.7rem; align-items:center; padding-bottom:.4rem; border-bottom:2px solid var(--graphite); font:800 .82rem var(--mono); text-decoration:none; overflow-wrap:anywhere; }
.footer { display:grid; grid-template-columns:1fr auto auto; gap:3rem; align-items:center; padding:2rem 4vw; border-top:1px solid var(--line); background:var(--white); color:var(--muted); font:.62rem var(--mono); }

@media (max-width:920px) {
  .topbar { grid-template-columns:1fr auto; }.descriptor { display:none; }
  .menu-button { display:grid; place-content:center; gap:4px; width:44px; height:44px; cursor:pointer; }.menu-button i { width:22px; height:2px; background:var(--graphite); }
  .primary-nav { position:absolute; top:76px; right:0; left:0; display:none; align-items:stretch; padding:1rem 4vw 1.5rem; border-bottom:1px solid var(--line); background:var(--paper); flex-direction:column; }
  .primary-nav.is-open { display:flex; }.primary-nav a { padding:.5rem 0; }.primary-nav a:last-child { text-align:center; }
  .opening,.service-section,.working { grid-template-columns:1fr; gap:3.5rem; }.opening-detail { max-width:650px; }
  .contact-line { grid-template-columns:1fr; gap:3rem; }.contact-line a { justify-self:start; }.footer { grid-template-columns:1fr; gap:.5rem; }
}
@media (max-width:620px) {
  .opening { min-width:0; padding:90px 6vw 60px; }.opening-main,.opening-detail { width:100%; min-width:0; max-width:100%; }.opening-detail>p { width:100%; max-width:none; }.opening h1 { width:100%; max-width:100%; font-size:clamp(2.7rem,10vw,3.5rem); overflow-wrap:break-word; }.material-image { height:320px; padding:0 6vw; }
  .service-section { padding:90px 6vw; }.service-rows article { grid-template-columns:1fr; gap:.7rem; }.working { padding:90px 6vw; }.working h2 { font-size:clamp(3rem,14vw,4.5rem); }
  .working-copy li { grid-template-columns:1fr; gap:.35rem; }.contact-section { padding:90px 6vw; }.contact-section h2 { font-size:clamp(3rem,14vw,4.8rem); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
