:root { --ink:#101012; --cream:#fff9ea; --paper:#f5fbff; --focus:#064fc0; --background:var(--cream); --foreground:var(--ink); --pointer-x:0; --pointer-y:0; --scroll:0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--cream); }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"Helvetica Neue", "Avenir Next", Arial, sans-serif; font-weight:300; }
a { color:inherit; text-decoration:none; }
button, input, textarea { font:inherit; }
:focus-visible { outline:2px solid var(--focus); outline-offset:5px; }
.site-shell { position:relative; min-height:100svh; overflow:hidden; isolation:isolate; }

.artwork { position:fixed; inset:0; z-index:-2; overflow:hidden; background:#fff7e5; }
.artwork canvas { width:100%; height:100%; display:block; }
.art-grain { position:absolute; inset:0; opacity:.11; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }

.site-header { position:relative; z-index:20; height:124px; padding:28px clamp(26px,5.3vw,82px); display:grid; grid-template-columns:1fr auto; align-items:center; gap:44px; }
.brand { display:flex; align-items:center; gap:20px; width:max-content; font-size:13px; font-weight:500; letter-spacing:.29em; }
.approved-mark { width:56px; height:54px; overflow:hidden; display:block; flex:0 0 auto; mix-blend-mode:multiply; }
.approved-mark img { width:74px; height:auto; max-width:none; transform:translate(-10px,-10px); display:block; }
.primary-nav { display:flex; gap:48px; font-size:16px; }
.primary-nav a { position:relative; }
.primary-nav a::after { content:""; position:absolute; left:0; bottom:-7px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.primary-nav a:hover::after, .primary-nav a.active::after { transform:scaleX(1); }
.home-page { min-height:2300px; }
.home-hero { position:relative; height:1040px; padding:110px clamp(34px,6.5vw,102px) 0; }
.hero-copy h1 { margin:0; font-size:clamp(74px,9.7vw,151px); line-height:.83; letter-spacing:-.052em; font-weight:300; }
.short-rule { width:55px; height:1px; margin:50px 0 16px; background:var(--ink); }
.hero-copy p { margin:0; font-size:clamp(20px,2vw,28px); line-height:1.3; }
.micro-list { margin:0; font-size:12px; line-height:1.75; font-weight:600; letter-spacing:.28em; }
.hero-language { position:absolute; top:140px; right:clamp(62px,9vw,138px); padding-left:35px; border-left:1px solid rgba(16,16,18,.65); }
.scroll-cue { position:absolute; left:55px; bottom:190px; writing-mode:vertical-rl; transform:rotate(180deg); font-size:12px; font-weight:600; letter-spacing:.28em; }
.scroll-cue::after { content:""; display:block; height:56px; width:1px; margin:20px auto 0; background:currentColor; }
.explore-cue { position:absolute; right:clamp(44px,8vw,126px); bottom:145px; display:flex; align-items:center; gap:20px; font-size:12px; font-weight:600; letter-spacing:.28em; }
.explore-cue span { width:44px; height:44px; border:1px solid currentColor; border-radius:50%; transition:transform .35s ease, background .35s ease; }.explore-cue:hover span { transform:scale(.82); background:rgba(255,255,255,.22); }
.home-studio { position:relative; height:1130px; padding:72px clamp(34px,6vw,92px); }
.section-index { margin:0; display:flex; align-items:center; gap:17px; font-size:13px; font-weight:500; letter-spacing:.08em; }.section-index span { width:46px; height:1px; background:currentColor; }
.home-studio h2 { margin:48px 0 0 17%; max-width:570px; font-size:clamp(38px,4.1vw,62px); line-height:1.16; letter-spacing:-.03em; font-weight:300; }
.studio-language { position:absolute; top:175px; right:7%; padding-left:36px; border-top:1px solid rgba(16,16,18,.65); padding-top:14px; }
.home-studio .second { position:absolute; left:5.5%; bottom:188px; }.ideas-language { position:absolute; left:5.5%; bottom:105px; }.future-language { position:absolute; right:7%; bottom:78px; }.quiet-link { position:absolute; left:50%; bottom:56px; font-size:16px; border-bottom:1px solid currentColor; padding-bottom:7px; }

.about-content { width:min(100% - 64px,1320px); margin:0 auto; padding:100px 0 180px; }
.about-intro { min-height:650px; }.about-intro h1 { margin:120px 0 0 14%; max-width:870px; font-size:clamp(54px,7vw,104px); line-height:.98; letter-spacing:-.055em; font-weight:300; }
.prose-block { margin-left:42%; width:min(620px,55%); font-size:clamp(20px,2.15vw,30px); line-height:1.48; }.prose-block p { margin:0 0 1.5em; }
.question-block { margin:190px 0 230px 28%; width:min(760px,68%); }.question-block>p { max-width:680px; font-size:20px; line-height:1.55; }.question-block h2 { margin:48px 0; font-size:clamp(26px,2.8vw,40px); line-height:1.42; letter-spacing:-.02em; font-weight:500; }
.beyond-block { display:grid; grid-template-columns:1fr 1.5fr; gap:80px; align-items:start; margin:0 5% 260px; }.beyond-block h2 { grid-column:1; margin:70px 0 0; font-size:clamp(52px,6vw,88px); line-height:1; font-weight:300; }.beyond-block>div { grid-column:2; grid-row:1 / span 2; padding-top:120px; font-size:clamp(20px,2.1vw,29px); line-height:1.5; }.beyond-block>div p { margin:0 0 1.6em; }
.principles { margin:0 0 280px 27%; max-width:790px; padding-left:40px; border-left:1px solid rgba(16,16,18,.48); font-size:clamp(28px,3.5vw,48px); line-height:1.55; letter-spacing:-.025em; }.principles p { margin:.08em 0; }
.about-cta { display:grid; grid-template-columns:1fr 2fr; gap:80px; margin:0 8%; padding-top:80px; border-top:1px solid rgba(16,16,18,.5); }.about-cta h2 { margin:0 0 24px; font-size:clamp(42px,5vw,72px); font-weight:300; letter-spacing:-.04em; }.about-cta>div>p { max-width:650px; font-size:22px; line-height:1.5; }.about-cta a { display:inline-block; margin-top:35px; padding-bottom:8px; border-bottom:1px solid currentColor; font-size:18px; }

.contact-content { width:min(100% - 64px,1240px); margin:0 auto; padding:115px 0 170px; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(70px,10vw,150px); }
.contact-intro h1 { margin:60px 0 28px; font-size:clamp(58px,7vw,100px); line-height:.95; letter-spacing:-.055em; font-weight:300; }.contact-intro>p:last-child { max-width:460px; font-size:21px; line-height:1.5; }
.contact-form { padding-top:60px; }.contact-form label { display:block; margin-bottom:38px; }.contact-form label>span { display:flex; justify-content:space-between; margin-bottom:13px; font-size:13px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }.contact-form em { font-size:11px; font-style:normal; opacity:.58; }
.contact-form input,.contact-form textarea { width:100%; padding:8px 1px 13px; border:0; border-bottom:1px solid rgba(16,16,18,.55); border-radius:0; background:transparent; color:var(--ink); font-size:20px; line-height:1.4; resize:vertical; transition:border-color .2s,background .2s; }.contact-form input:focus,.contact-form textarea:focus { outline:0; border-color:var(--focus); background:rgba(255,255,255,.12); }.contact-form textarea { min-height:142px; }
.form-footer { display:flex; align-items:center; gap:34px; }.contact-form button { border:0; border-bottom:1px solid currentColor; padding:0 0 8px; background:transparent; cursor:pointer; font-size:18px; }.contact-form button:disabled { opacity:.5; }.form-notice { margin:0; font-size:15px; }.form-notice.error { color:#7d1830; }
.hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.not-found-page { min-height:100svh; }.not-found-page>section { width:min(100% - 64px,1200px); margin:16vh auto 0; }.not-found-page h1 { margin:50px 0; font-size:clamp(60px,9vw,130px); font-weight:300; letter-spacing:-.055em; }.not-found-page a { border-bottom:1px solid; padding-bottom:8px; }

@media (max-width:850px) {
  .site-header { height:105px; padding:22px 24px; gap:18px; }.brand { gap:11px; font-size:10px; letter-spacing:.16em; }.approved-mark { width:42px; height:42px; }.approved-mark img { width:56px; transform:translate(-8px,-8px); }.primary-nav { display:flex; gap:18px; font-size:14px; }
  .home-page { min-height:1840px; }
  .home-hero { height:800px; padding:100px 24px 0; }.hero-copy h1 { font-size:clamp(60px,20vw,92px); }.short-rule { margin-top:38px; }.hero-copy p { font-size:19px; }.hero-language { top:395px; right:22px; }.scroll-cue { display:none; }.explore-cue { right:24px; bottom:64px; }
  .home-studio { height:935px; padding:56px 24px; }.home-studio h2 { margin:55px 0 0; font-size:clamp(36px,10vw,54px); }.studio-language { top:460px; right:24px; }.home-studio .second { left:24px; bottom:170px; }.ideas-language { left:24px; bottom:94px; }.future-language { right:24px; bottom:74px; }.quiet-link { display:none; }
  .about-content { width:min(100% - 48px,1320px); padding-top:70px; }.about-intro { min-height:570px; }.about-intro h1 { margin:90px 0 0; font-size:clamp(52px,14vw,82px); }.prose-block { margin-left:0; width:100%; }.question-block { margin:160px 0; width:100%; }.beyond-block { display:block; margin:0 0 180px; }.beyond-block h2 { margin-top:70px; }.beyond-block>div { padding-top:70px; }.principles { margin:0 0 190px; padding-left:22px; font-size:clamp(27px,7.6vw,42px); }.about-cta { display:block; margin:0; }.about-cta>div { margin-top:60px; }
  .contact-content { width:min(100% - 48px,1240px); padding:70px 0 110px; display:block; }.contact-intro h1 { margin-top:55px; }.contact-form { padding-top:100px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.primary-nav a::after,.explore-cue span { transition:none; } }
