:root{--ink:#20231f;--paper:#f2f1e9;--signal:#d7ef52;--muted:#a2a798;--rule:#ffffff24;--pad:clamp(20px,4.5vw,72px)}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
::selection{background:var(--signal);color:var(--ink)}
a:focus-visible{outline:2px solid var(--signal);outline-offset:6px}

/* Home: hero poster */
.hero{background:var(--ink);color:var(--paper);min-height:100svh;max-height:1200px;display:grid;grid-template-rows:auto 1fr auto;padding:0 var(--pad);overflow:hidden;position:relative}
.bar{height:clamp(84px,11vh,124px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);position:relative;z-index:2}
.wordmark{display:block;width:clamp(116px,12vw,176px);line-height:0}
.wordmark img{width:100%;height:auto}
.mail{font-size:13px;display:flex;gap:14px;align-items:center;padding:12px 0}
.mail span,.cta span{color:var(--signal);font-size:20px;transition:transform .2s}
.mail:hover span,.cta:hover span{transform:translate(3px,-3px)}

.stage{position:relative;display:grid;align-items:end;min-height:440px}
.grid{position:absolute;inset:0 0 calc(-1 * clamp(90px,14vh,130px));display:grid;grid-template-columns:repeat(4,1fr);opacity:.12;pointer-events:none}
.grid span{border-left:1px solid var(--muted)}
.grid span:last-child{border-right:1px solid var(--muted)}

.x{position:absolute;right:-2%;top:50%;translate:0 -50%;width:min(56vw,820px);height:auto;overflow:visible;pointer-events:none;animation:arrive 1.4s cubic-bezier(.2,.7,.2,1) both}
.x .layers use{fill:none;stroke:var(--signal);stroke-width:.9;opacity:.55}
.x .face{fill:var(--signal)}

.headline{position:relative;z-index:1;margin:0 0 clamp(24px,5vh,56px);font-weight:400;font-size:clamp(40px,6.2vw,104px);line-height:1.02;letter-spacing:-.06em;animation:rise 1s .25s cubic-bezier(.2,.7,.2,1) both}

.hero-foot{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:end;gap:30px;padding:0 0 clamp(28px,5vh,44px);animation:rise 1s .45s cubic-bezier(.2,.7,.2,1) both}
.hero-foot p{margin:0;max-width:440px;font-size:13px;line-height:1.65;color:#d5d8ce}
.down{flex:none;border:1px solid #757d6d;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;font-size:20px;transition:background .2s,color .2s,border-color .2s}
.down:hover{background:var(--signal);border-color:var(--signal);color:var(--ink)}

/* Home: content blocks */
.block{padding:clamp(56px,9vw,110px) var(--pad);display:grid;grid-template-columns:1fr 2fr;gap:30px;border-bottom:1px solid #d0d3c6}
.label{display:flex;align-items:start;gap:14px;margin:0;font-size:10px;letter-spacing:1.3px;line-height:25px;text-transform:uppercase}
.tx{font-size:40px;line-height:22px}
.block h2{font-size:clamp(34px,4.1vw,65px);font-weight:400;line-height:1.07;letter-spacing:-.055em;margin:0 0 clamp(28px,3vw,45px)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:38px;max-width:800px}
.cols p{margin:0;font-size:15px;line-height:1.75;color:#5a6155}

.principles{background:#e9eadd;grid-template-columns:1fr 1.4fr;gap:9%}
.principles .label{margin-bottom:30px}
.plist{list-style:none;margin:0;padding:0}
.plist li{display:grid;grid-template-columns:35px 1fr;gap:23px;padding:32px 0;border-top:1px solid #bfc5b3}
.plist li:last-child{border-bottom:1px solid #bfc5b3}
.num{font:11px monospace;color:#5a6155;padding-top:6px}
.plist h3{font-size:clamp(23px,2.15vw,32px);font-weight:400;letter-spacing:-.045em;margin:0 0 15px;line-height:1.16}
.plist p{font-size:14px;line-height:1.75;margin:0;color:#515a49;max-width:570px}

.signal{background:var(--signal);border-bottom:0}
.signal .cols p{color:#303825}
.cta{display:inline-flex;gap:14px;align-items:center;margin-top:44px;font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;border-bottom:1px solid var(--ink);padding-bottom:6px}
.cta span{color:var(--ink)}

.foot{display:flex;align-items:center;gap:30px;padding:28px var(--pad);font-size:11px;color:#5a6155}

@keyframes arrive{from{opacity:0;transform:translate(40px,24px) rotate(4deg)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

@media(max-width:1000px){.block{grid-template-columns:1fr 2.4fr}.principles{grid-template-columns:1fr 1.5fr;gap:6%}.cols{gap:25px}}
@media(max-width:760px){
  .grid{grid-template-columns:repeat(3,1fr)}.grid span:last-child{display:none}
  .x{width:118vw;right:-34%;top:42%}
  .headline{font-size:clamp(36px,11vw,60px);line-height:1.08}
  .hero-foot p{font-size:12px;line-height:1.6}
  .down{width:40px;height:40px}
  .mail{font-size:12px}
  .block,.principles{display:block}
  .block .label{margin-bottom:30px}
  .cols{grid-template-columns:1fr;gap:18px}
  .cols p{font-size:14px}
  .plist li{grid-template-columns:24px 1fr;gap:16px;padding:26px 0}
  .foot{flex-wrap:wrap;gap:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.x,.headline,.hero-foot{animation:none}*{transition:none!important}}
html{scroll-behavior:smooth}

/* Legal pages */
.skip{position:fixed;z-index:20;left:20px;top:-80px;background:var(--signal);color:var(--ink);padding:15px}.skip:focus{top:15px}
.legal-page a:focus-visible,.legal-page footer a:focus-visible{outline-color:var(--ink)}
.legal-header{height:115px;margin:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #cbd0c1}
.legal-header .wordmark{width:150px}
.back-link{font-size:13px}
.legal-main{max-width:1020px;margin:0 auto;padding:65px 35px 85px}
.section-kicker{font-size:9px;letter-spacing:1.3px;margin:0 0 30px}
.legal-main h1{font-weight:400;font-size:clamp(40px,5.6vw,78px);line-height:1.05;letter-spacing:-.055em;margin:0;overflow-wrap:anywhere}
.legal-subtitle{font-size:16px;line-height:1.6;color:#5a6155;margin:23px 0 35px}
.draft-notice{padding:23px 25px;background:#e5ebc8;border-left:3px solid #687742;max-width:820px;margin-bottom:45px;font-size:14px;line-height:1.65}.draft-notice p{margin:7px 0 0}
.legal-body{max-width:820px}
.legal-body section{border-top:1px solid #cbd0c1;padding:27px 0 20px}
.legal-body h2{font-size:25px;font-weight:400;letter-spacing:-.6px;line-height:1.25;margin:0 0 20px}
.legal-body p,.legal-body dd{font-size:14px;line-height:1.8;margin:0 0 17px;overflow-wrap:anywhere}
.legal-body dt{font-size:12px;font-weight:bold;margin:20px 0 6px}.legal-body dd{margin-left:0}
.legal-body a{text-decoration:underline;text-underline-offset:3px}
.missing{background:#e1e7c9;padding:2px 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.legal-body .editor-note{color:#596148}
.legal-body .legal-source{font-size:12px;color:#596148;border-top:1px solid #cbd0c1;padding-top:25px}
.legal-page footer{display:flex;align-items:center;gap:30px;padding:28px var(--pad);border-top:1px solid #cbd0c1;font-size:11px;color:#5a6155}
.footer-brand{margin-right:auto;line-height:0}.footer-brand img{display:block}
.legal-links{display:flex;gap:22px}.legal-links a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:620px){.legal-header{height:94px}.legal-header .wordmark{width:120px}.back-link{font-size:11px}.legal-main{padding:40px var(--pad) 48px}.legal-main h1{font-size:clamp(29px,7.6vw,46px)}.legal-page footer{flex-wrap:wrap;gap:16px}}
.legal-en{margin-top:80px;padding-top:60px;border-top:2px solid var(--ink)}.legal-subtitle a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
main a:focus-visible,.foot a:focus-visible{outline-color:var(--ink)}
