* { box-sizing:border-box; } body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--display); } a { color:inherit; text-decoration:none; } a:focus-visible { outline:3px solid var(--accent); outline-offset:4px; } .shell { width:min(1200px,calc(100% - 48px)); margin:0 auto; }
    .nav { display:flex; align-items:center; justify-content:space-between; padding:24px 0; border-bottom:1px solid var(--line); font-size:13px; letter-spacing:.02em; text-transform:uppercase; } .monogram { color:var(--accent); font-weight:700; letter-spacing:-.08em; font-size:23px; } .nav-links { display:flex; gap:20px; } .nav-links a { display:inline-flex; align-items:center; min-height:44px; } .nav-links a:hover { color:var(--accent); }
    main { min-height:calc(100vh - 80px); padding:96px 0 120px; } .eyebrow { margin:0 0 26px; color:var(--accent); font-size:12px; letter-spacing:.11em; text-transform:uppercase; font-weight:700; } h1 { max-width:1000px; margin:0 0 68px; font-size:clamp(58px,10vw,142px); line-height:.84; letter-spacing:-.09em; font-weight:500; } h1 em { font-family:var(--reading); font-weight:400; } .intro { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-bottom:82px; border-bottom:1px solid var(--ink); } .intro p { max-width:510px; margin:0; font:clamp(24px,2.7vw,37px)/1.13 var(--reading); letter-spacing:-.04em; }
    .archive-list { display:grid; grid-template-columns:repeat(2,1fr); } .archive-list a { min-height:310px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; transition:background .2s ease, color .2s ease; } .archive-list a:nth-child(odd) { border-left:1px solid var(--line); } .archive-list a:hover { background:var(--surface-violet); color:var(--secondary); } .number { color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.1em; } .archive-list h2 { margin:0; font-size:clamp(29px,3.4vw,48px); line-height:.94; letter-spacing:-.06em; font-weight:500; } .archive-list p { margin:0; max-width:260px; color:var(--muted); font:17px/1.32 var(--reading); } .note { padding-top:22px; color:var(--muted); font:14px/1.4 var(--reading); }
    @media (max-width:760px) { .shell { width:min(100% - 32px,1200px); } .nav { padding:18px 0; } .nav-links { gap:15px; font-size:11px; } main { padding:72px 0; } .intro { grid-template-columns:1fr; gap:35px; padding-bottom:64px; } .archive-list { grid-template-columns:1fr; } .archive-list a { min-height:240px; border-left:1px solid var(--line); } }
