@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=Barlow:wght@300;400;500;600;700&display=swap');

:root{
  --ink:#000;
  --paper:#fff;
  --muted:#4a4a4a;
  --fc:"Barlow Condensed","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  --fb:"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --shell:min(1180px,92vw);
  --r:18px;
  --sh:0 14px 34px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.72}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
p{margin:0 0 1.05rem}
h1,h2,h3{font-family:var(--fc);font-weight:700}
:focus-visible{outline:3px solid #000;outline-offset:3px}

.masthead{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:2px solid #000}
.mast-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem clamp(.9rem,4vw,2.4rem);border-bottom:1px solid #000}
.logo{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-family:var(--fc);font-size:1.5rem;font-weight:700;letter-spacing:.03em;line-height:1}
.logo-mark{width:16px;height:16px;background:#000;border-radius:50% 50% 0 50%;flex:0 0 auto}
.logo img{width:26px;height:26px;object-fit:contain}
.cta{display:inline-flex;align-items:center;min-height:44px;padding:0 1.05rem;background:#000;color:#fff;border-radius:999px;font-family:var(--fc);font-size:1.05rem;letter-spacing:.12em;line-height:1;transition:transform .18s ease,letter-spacing .18s ease}
.cta:hover{transform:translateY(-2px);letter-spacing:.18em}

.mainnav{overflow-x:auto;scrollbar-width:thin}
.nav-strip{display:flex;gap:.15rem;padding:.15rem clamp(.6rem,4vw,2rem);min-width:max-content}
.nav-strip a{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.6rem .7rem;font-family:var(--fc);font-size:1.02rem;letter-spacing:.1em;white-space:nowrap;border-bottom:3px solid transparent;transition:border-color .18s ease,background .18s ease}
.nav-dot{width:5px;height:5px;background:#000;flex:0 0 auto}
.nav-strip a:hover,.nav-strip a:focus-visible{border-bottom-color:#000;background:#f2f2f2}

.hero{position:relative;overflow:hidden;min-height:70vh;display:grid;align-content:end;background:#000;color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,0 91%)}
.hero-media{position:absolute;inset:0;margin:0}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12);opacity:.5}
.hero-num{position:absolute;right:clamp(.6rem,4vw,2.5rem);top:6%;font-family:var(--fc);font-weight:700;font-size:clamp(6rem,24vw,17rem);line-height:.75;letter-spacing:-.03em;color:#fff;opacity:.16}
.hero-copy{position:relative;z-index:2;max-width:34ch;padding:0 clamp(1.1rem,5vw,3.4rem) clamp(4rem,13vh,8rem)}
.hero-kicker{margin:0 0 .5rem;font-family:var(--fc);font-size:.95rem;letter-spacing:.24em;color:#fff}
.hero h1{margin:0;font-size:clamp(2.1rem,6.2vw,4.4rem);line-height:1.02;letter-spacing:-.01em}

main{display:block}
.wrap{width:var(--shell);margin:0 auto;padding:clamp(1.6rem,5vw,3.4rem) 0;display:grid;grid-template-columns:236px minmax(0,1fr);gap:clamp(1.4rem,4vw,3.4rem);align-items:start}

.rail{border-top:4px solid #000;padding-top:1rem}
.rail h2{margin:0;font-size:1.55rem;letter-spacing:.18em}
.subtitle{margin:.35rem 0 1.1rem;font-size:.95rem;line-height:1.6;color:var(--muted)}
.rail-list{list-style:none;margin:0;padding:0;border-top:1px solid #000}
.rail-list a{display:block;padding:.55rem .1rem;min-height:44px;font-family:var(--fc);font-size:1.02rem;letter-spacing:.08em;border-bottom:1px solid #000;transition:padding-left .18s ease,background .18s ease}
.rail-list a:hover{padding-left:.55rem;background:#f4f4f4}

.body-col{min-width:0}
.content{max-width:74ch}
.content div[id]{scroll-margin-top:134px}
.content div + div{margin-top:2.4rem;padding-top:2.2rem;border-top:1px solid #000}
.content div:first-of-type{padding-top:0}
.content h2{margin:0 0 .7rem;font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.06}
.content h3{margin:1.5rem 0 .5rem;font-size:1.28rem;line-height:1.2}
.content p{margin:0 0 1.05rem}
.content div:first-of-type > p:first-of-type::first-letter{float:left;font-family:var(--fc);font-size:4.1em;line-height:.74;padding:.05em .1em 0 0}
.content ul,.content ol{margin:0 0 1.1rem;padding-left:1.3rem}
.content li{margin-bottom:.4rem}
.content a{text-decoration:underline;text-underline-offset:3px}
.content blockquote{margin:1.5rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:6px solid #000;font-family:var(--fc);font-size:1.5rem;line-height:1.28}
.content figure{margin:1.4rem 0}
.content img{border-radius:var(--r);box-shadow:var(--sh);margin:1.2rem 0}
.content figcaption{margin-top:.5rem;font-size:.85rem;color:var(--muted)}
@media (min-width:1040px){
  .content div:nth-of-type(3){column-count:2;column-gap:2.4rem}
  .content div:nth-of-type(3) h2{column-span:all}
}

.foot{margin-top:clamp(2rem,6vw,4rem);border-top:5px solid #000;padding:clamp(1.6rem,5vw,3rem) clamp(.9rem,4vw,2.4rem) 1rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(1.4rem,4vw,3rem)}
.foot-mark{margin:0 0 .6rem;font-family:var(--fc);font-weight:700;font-size:clamp(2.6rem,9vw,6rem);line-height:.85;letter-spacing:-.02em}
.foot-desc{margin:0;max-width:46ch;font-size:.95rem;color:var(--muted)}
.foot-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.foot-nav dl{margin:0}
.foot-nav dt{font-family:var(--fc);font-size:.95rem;letter-spacing:.16em;border-bottom:1px solid #000;padding-bottom:.3rem;margin-bottom:.2rem}
.foot-nav dd{margin:0}
.foot-nav a{display:inline-block;padding:.55rem 0;min-height:44px;font-size:.95rem;border-bottom:1px solid transparent}
.foot-nav a:hover{border-bottom-color:#000}
.foot-base{grid-column:1 / -1;margin-top:.6rem;padding-top:.9rem;border-top:1px solid #000;text-align:center;font-size:.85rem;color:var(--muted)}
.foot-base p{margin:0}

.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.js [data-reveal].is-in{opacity:1;transform:none}

@media (max-width:860px){
  .wrap{grid-template-columns:minmax(0,1fr)}
  .rail{border-top-width:3px}
  .foot{grid-template-columns:minmax(0,1fr)}
  .foot-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{min-height:70vh}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js [data-reveal]{opacity:1;transform:none;transition:none}
  .cta:hover{transform:none}
}
</style>

button[aria-expanded]{min-width:44px;min-height:44px}
