
:root{
  --paper:#f7f4ee;
  --ink:#111111;
  --muted:#77716a;
  --gold:#b07c31;
  --line:rgba(17,17,17,.14);
  --pad:clamp(22px,5vw,72px);
  --sans:"Helvetica Neue","Avenir Next",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:300;letter-spacing:.01em;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:#d7b273;color:#111}

.header{
  position:sticky;top:0;z-index:20;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;
  padding:18px var(--pad);
  background:rgba(247,244,238,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:28px;height:28px;object-fit:cover;border-radius:50%}
.brand span{font-size:13px;letter-spacing:.28em}
.desktop-nav{display:flex;justify-content:center;gap:clamp(16px,2.2vw,34px)}
.desktop-nav a,.menu-button{font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.desktop-nav a{opacity:.58;transition:.2s}
.desktop-nav a:hover{opacity:1}
.menu-button{display:none;border:0;background:none;padding:0;color:inherit}

.mobile-menu{
  position:fixed;inset:64px 0 0;z-index:18;
  background:var(--paper);padding:40px var(--pad);
  display:none;flex-direction:column;gap:26px;
  font-size:30px;font-weight:200;letter-spacing:-.02em;
}
.mobile-menu.open{display:flex}

.hero{
  min-height:calc(100vh - 65px);
  display:grid;align-content:center;
  padding:80px var(--pad) 36px;
  border-bottom:1px solid var(--line);
}
.hero-logo{width:min(100%,1500px);margin:auto}
.hero-logo img{width:100%;mix-blend-mode:multiply}
.hero-meta{
  display:flex;justify-content:space-between;
  width:min(100%,1500px);margin:38px auto 0;
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)
}

.intro{
  padding:140px var(--pad) 160px;
  display:grid;grid-template-columns:1fr 3fr;gap:40px;
}
.kicker{
  margin:0;text-transform:uppercase;font-size:9px;letter-spacing:.22em;color:var(--gold)
}
.intro h1,.origin h2,.contact h2{
  margin:0;font-size:clamp(42px,6.6vw,96px);line-height:1.02;font-weight:200;letter-spacing:-.04em
}
.intro .lead{
  grid-column:2;max-width:750px;margin:46px 0 0;
  font-size:18px;line-height:1.65;color:#4d4944
}

.architecture{padding:0 var(--pad) 140px}
.arch-head{
  display:flex;justify-content:space-between;padding:18px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)
}
.area{
  display:grid;grid-template-columns:80px 1.2fr 2fr;gap:30px;
  padding:38px 0;border-bottom:1px solid var(--line);align-items:start
}
.area .index{font-size:10px;color:var(--muted)}
.area h2{margin:0;font-size:clamp(36px,5vw,72px);font-weight:200;letter-spacing:-.04em}
.area p{margin:9px 0 0;max-width:650px;font-size:16px;line-height:1.6;color:#514c46}
.intelligence-line{
  grid-column:3;margin-top:34px;color:var(--gold);font-size:18px;letter-spacing:.01em
}

.origin{
  padding:120px var(--pad);
  background:#111;color:#f7f4ee;
  display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end
}
.origin .kicker{color:#d2a35f;margin-bottom:24px}
.origin p:last-child{margin:0;color:#aba59d;line-height:1.75;font-size:16px}

.contact{
  padding:140px var(--pad) 130px;
}
.contact .kicker{margin-bottom:26px}
.contact a{
  display:inline-block;margin-top:42px;font-size:clamp(22px,3vw,38px);
  border-bottom:1px solid var(--gold);padding-bottom:8px
}
.contact>p:last-child{margin-top:22px;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}

footer{
  padding:26px var(--pad);border-top:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto 1fr;gap:20px;
  font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)
}
footer span:last-child{text-align:right}

.reveal{opacity:0;transform:translateY(18px);transition:.75s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .desktop-nav{display:none}.menu-button{display:block}
  .intro{grid-template-columns:1fr}.intro .lead{grid-column:1}
  .area{grid-template-columns:50px 1fr}
  .area p,.intelligence-line{grid-column:2}
  .origin{grid-template-columns:1fr;gap:50px}
  footer{grid-template-columns:1fr;gap:10px}footer span:last-child{text-align:left}
}
@media(max-width:620px){
  :root{--pad:20px}
  .header{padding-top:14px;padding-bottom:14px}
  .brand span{font-size:11px}
  .hero{min-height:78vh;padding-top:55px}
  .hero-meta{margin-top:24px}
  .intro{padding-top:95px;padding-bottom:105px}
  .intro .lead{font-size:16px}
  .architecture{padding-bottom:90px}
  .area{grid-template-columns:38px 1fr;gap:18px;padding:28px 0}
  .area h2{font-size:44px}
  .origin{padding-top:90px;padding-bottom:90px}
  .contact{padding-top:95px;padding-bottom:90px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}
}
