:root{
  --ink:#11110f;
  --muted:#6f6d66;
  --paper:#f5f3ee;
  --line:#d9d6cd;
  --accent:#b8a98a;
  --dark:#171713;
  --serif:"Playfair Display", Georgia, serif;
  --sans:"DM Sans", 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-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid rgba(17,17,15,.08);position:sticky;top:0;background:rgba(245,243,238,.88);backdrop-filter:blur(16px);z-index:20}
.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.04em}
.brand-mark{width:28px;height:28px;border:1.5px solid var(--ink);display:grid;place-items:center;font-family:var(--serif);font-size:17px;font-weight:500}
.nav nav{display:flex;gap:34px;color:#55534d;font-size:13px}
.nav nav a:hover,.text-link:hover{color:#000}
.nav-cta{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:3px}
.menu{display:none;background:none;border:0;font-size:22px}
.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:7vw 5vw 8vw;gap:4vw;overflow:hidden}
.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;color:#77746c}
.eyebrow span{width:20px;height:1px;background:currentColor;display:inline-block}
.hero h1,.section h2,.vision h2,.contact h2{font-size:clamp(64px,8vw,118px);line-height:.92;letter-spacing:-.065em;font-weight:500;margin:28px 0}
em{font-family:var(--serif);font-style:italic;font-weight:500}
.hero-lead{max-width:560px;font-size:18px;color:var(--muted);line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:42px}
.button{display:inline-flex;align-items:center;gap:34px;padding:15px 19px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.primary{background:var(--ink);color:var(--paper)}
.primary:hover{transform:translateY(-2px)}
.text-link{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.text-link span{margin-left:12px}
.hero-art{height:min(680px,70vw);min-height:440px;position:relative}
.grid{position:absolute;inset:7% 0 5% 8%;background-image:linear-gradient(rgba(17,17,15,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,15,.06) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at center,black,transparent 72%)}
.orb{position:absolute;border-radius:50%;filter:blur(1px)}
.orb-a{width:48%;aspect-ratio:1;background:radial-gradient(circle at 35% 30%,#fff 0 6%,#d7d0c2 22%,#a89c86 45%,transparent 70%);right:12%;top:12%;opacity:.9}
.orb-b{width:26%;aspect-ratio:1;background:radial-gradient(circle,#ded7ca,transparent 68%);left:8%;bottom:10%}
.core{position:absolute;width:30%;aspect-ratio:1;border-radius:50%;left:35%;top:35%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#d0c5b1 45%,#8d806a 100%);box-shadow:0 30px 80px rgba(75,65,48,.18);font-family:var(--serif);font-size:clamp(45px,7vw,95px);font-style:italic}
.orbit{position:absolute;border:1px solid rgba(55,52,45,.25);border-radius:50%;left:15%;top:20%;width:70%;height:62%;transform:rotate(-20deg)}
.orbit-2{left:23%;top:12%;width:54%;height:78%;transform:rotate(48deg)}
.signal{position:absolute;width:7px;height:7px;background:#777061;border-radius:50%;box-shadow:0 0 0 8px rgba(119,112,97,.08)}
.signal-1{top:24%;left:22%}.signal-2{right:18%;bottom:24%}.signal-3{left:18%;bottom:29%}
.section{padding:11vw 10vw}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;border-top:1px solid var(--line)}
.section h2{font-size:clamp(50px,6vw,88px)}
.section-copy{padding-top:28px;max-width:640px}
.section-copy>p{font-size:20px;line-height:1.7;color:#55534d}
.principles{margin-top:70px;border-top:1px solid var(--line)}
.principles>div{display:grid;grid-template-columns:45px 1fr 1.4fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}
.principles b{font-size:11px;color:#9a958a}.principles strong{font-size:15px}.principles span{font-size:13px;color:var(--muted)}
.vision{background:var(--dark);color:#f1eee7;min-height:720px;display:flex;align-items:center;position:relative;overflow:hidden;padding:12vw 10vw}
.vision:after{content:"";position:absolute;width:70vw;height:70vw;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-25vw;top:-15vw}
.light{color:#a9a396}.vision h2{font-size:clamp(56px,7vw,104px);position:relative;z-index:2}.vision p{max-width:560px;color:#aaa79f;font-size:18px;line-height:1.8;position:relative;z-index:2}.light-button{border:1px solid #77736b;margin-top:25px;position:relative;z-index:2}.vision-number{position:absolute;right:8vw;bottom:6vw;color:#77736b;font-family:var(--serif);font-size:150px;font-style:italic}
.statement{text-align:center;padding:12vw 8vw;border-bottom:1px solid var(--line)}.statement p{font-size:clamp(30px,4vw,56px);line-height:1.2;letter-spacing:-.04em}
.contact{padding:12vw 10vw 13vw}.contact h2{font-size:clamp(60px,7vw,100px)}.contact p{max-width:500px;color:var(--muted);font-size:17px}.email{display:inline-flex;align-items:center;gap:25px;margin-top:38px;font-size:18px;border-bottom:1px solid var(--ink);padding-bottom:8px}
footer{padding:30px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#77746c;text-transform:uppercase;letter-spacing:.08em}
footer .brand{color:var(--ink);text-transform:none;letter-spacing:-.04em;font-size:17px}
footer .brand-mark{width:23px;height:23px;font-size:14px}
@media(max-width:800px){
  .nav{height:70px;padding:0 6vw}.nav nav,.nav-cta{display:none}.menu{display:block}
  .hero{grid-template-columns:1fr;padding:17vw 7vw 12vw;min-height:auto}.hero-art{height:100vw;min-height:360px;margin-top:8vw}
  .hero h1{font-size:19vw}.hero-lead{font-size:16px}.hero-actions{gap:18px;flex-wrap:wrap}
  .section{padding:18vw 7vw}.split{grid-template-columns:1fr;gap:3vw}.section h2{font-size:15vw}
  .principles{margin-top:45px}.principles>div{grid-template-columns:34px 1fr;gap:8px}.principles span{grid-column:2}
  .vision{min-height:650px;padding:20vw 7vw}.vision h2{font-size:16vw}.vision-number{font-size:90px}
  .statement{padding:20vw 7vw}.statement p{font-size:9vw}
  .contact{padding:20vw 7vw}.contact h2{font-size:16vw}
  footer{padding:25px 7vw;gap:20px;flex-wrap:wrap}
}
