:root{--paper:#f5f3eb;--white:#fffdf7;--ink:#1a2d27;--forest:#244235;--muted:#586a5f;--line:#cad1c7;--rust:#b44d32;--mist:#e6ebe2;--night:#193429;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 16px/1.62 var(--sans);color:var(--ink);background:var(--paper)}
a{color:inherit;text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.shell{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}
.skip{position:absolute;left:-9999px;top:0;z-index:9;background:var(--white);padding:12px}.skip:focus{left:16px}
.top{border-bottom:1px solid var(--line)}.top .shell{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:77px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;text-decoration:none;letter-spacing:-.03em}
.brand .mark{display:grid;place-items:center;width:32px;height:32px;background:var(--forest);color:#fff;border-radius:5px;font-size:1.15rem}
.brand small{font-size:.64rem;letter-spacing:.09em;color:var(--muted);font-weight:700}
.top nav{display:flex;gap:clamp(14px,2.2vw,30px);flex-wrap:wrap}
.top nav a{font-size:.81rem;text-decoration:none;font-weight:700}.top nav a:hover{color:var(--rust)}
.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}
.hero{padding:clamp(72px,9vw,120px) 0 clamp(65px,8vw,110px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(26px,6vw,90px);align-items:center}
h1,h2,h3,p{margin-top:0}
h1,h2,.serif{font-family:var(--serif);font-weight:500;letter-spacing:-.047em}
h1{font-size:clamp(3.2rem,6.8vw,6.9rem);line-height:1.03;margin:19px 0 28px}
h1 em{font-weight:400;color:var(--rust)}.lead{color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:720px;line-height:1.75}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.button{display:inline-block;text-decoration:none;padding:13px 19px;font-weight:800;font-size:.83rem;border:1px solid var(--forest)}
.button.primary{color:white;background:var(--forest)}.button:hover{background:var(--rust);border-color:var(--rust);color:white}
.plate{background:var(--night);color:#f6f5eb;min-height:310px;padding:35px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:18px 18px #deddd3}
.plate .eyebrow{color:#dfc9b9}.plate h2{font-size:clamp(2.15rem,3vw,3rem);line-height:1.12;margin:40px 0 20px}
.plate p{font-size:.9rem;color:#cad8cc;max-width:350px}
.ribbon{background:var(--mist);border-block:1px solid var(--line)}
.ribbon .shell{display:flex;gap:15px 35px;flex-wrap:wrap;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.ribbon span{font-size:.71rem;font-weight:800;letter-spacing:.07em;color:#526558}
section.block{padding:clamp(70px,7vw,105px) 0}
.block.alt{background:var(--white);border-block:1px solid var(--line)}
.block.soft{background:var(--mist);border-block:1px solid var(--line)}
.head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,4vw,60px);margin-bottom:32px;align-items:end}
.head h2{font-size:clamp(2.5rem,4.4vw,4.7rem);line-height:1.07;margin:12px 0 0}
.head p{color:var(--muted);margin:0;max-width:510px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--white);border:1px solid var(--line);padding:25px;min-height:205px;display:flex;flex-direction:column}
.card.plain{background:transparent}
.card .num{color:var(--rust);font-weight:800;font-size:.7rem;letter-spacing:.12em}
.card h3{font-family:var(--serif);font-size:1.62rem;font-weight:500;letter-spacing:-.035em;margin:22px 0 11px;line-height:1.15}
.card p{color:var(--muted);font-size:.86rem;line-height:1.6}
.card a{margin-top:auto;font-size:.81rem;font-weight:800;text-decoration:none;color:var(--rust);align-self:start}
.card a:hover{text-decoration:underline}
.items{border-top:1px solid var(--line)}
.item{display:grid;grid-template-columns:36px 1fr 1.1fr 25px;align-items:center;gap:18px;padding:21px 10px;border-bottom:1px solid var(--line);text-decoration:none}
.item:hover{background:var(--white)}
.item .n{font-size:.75rem;font-weight:800;color:var(--rust)}
.item strong{font:500 clamp(1.25rem,1.9vw,1.8rem) var(--serif);letter-spacing:-.03em}
.item span:not(.n){font-size:.85rem;color:var(--muted)}.item b{color:var(--rust)}
.note{padding:22px;background:var(--white);border:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.note strong{color:var(--ink)}.note a{font-weight:700}
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.79rem;overflow-wrap:anywhere}
.flow{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}
.flow div{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow div:first-child{border-left:1px solid var(--line)}
.flow strong{font-family:var(--serif);font-weight:500;font-size:1.35rem;display:block;margin:9px 0}
.flow span{font-size:.78rem;color:var(--muted)}
pre{background:var(--night);color:#e8f1e7;padding:21px;white-space:pre-wrap;overflow:auto;font:.78rem/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}
code{font:inherit}.code-inline{background:#e4eae1;padding:2px 5px;font:.85em ui-monospace,SFMono-Regular,monospace}
.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);text-align:left;padding:13px 12px;vertical-align:top;font-size:.87rem}th{background:var(--mist);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}td{color:var(--muted)}td:first-child{color:var(--ink);font-weight:700}
.footer{background:var(--night);color:#d9e2d8;padding:28px 0}
.footer .shell{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.76rem}
.footer a{color:inherit}
@media(max-width:1000px){.hero-grid,.head{grid-template-columns:1fr}.plate{max-width:620px}.grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.top .shell{flex-wrap:wrap;padding-block:15px}.top nav{gap:13px}.grid,.grid.four,.flow{grid-template-columns:1fr}.item{grid-template-columns:30px 1fr 20px}.item span:not(.n){grid-column:2;grid-row:2}.item b{grid-column:3;grid-row:1}.hero h1{font-size:clamp(3rem,11vw,5.2rem)}.plate{min-height:260px}.ribbon .shell{justify-content:start}.flow div:first-child{border-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}