:root{--paper:#fbf6ee;--ink:#1d2140;--coral:#e8573f;--indigo:#2b3a8f;--soft:#f1e7d6;--line:#e3d6bf;--mute:#5c6079}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 "Avenir Next","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:var(--indigo);text-underline-offset:3px}
a:hover{color:var(--coral)}
.plaza{max-width:1040px;margin:0 auto;padding:0 20px}
.ribbon{border-bottom:2px solid var(--ink);background:var(--paper)}
.ribbon .plaza{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-top:16px;padding-bottom:14px}
.nameplate{font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.nameplate i{display:inline-block;width:26px;height:26px;border-radius:50% 50% 50% 6px;background:var(--coral);box-shadow:9px 0 0 -3px var(--indigo)}
.lanes{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px}
.lanes a{text-decoration:none;color:var(--ink);font-weight:600}
.lanes a:hover{color:var(--coral)}
.greeting{padding:56px 0 34px}
.greeting h1{font-size:clamp(32px,6vw,58px);line-height:1.08;letter-spacing:-.03em;margin:0 0 18px;max-width:16ch}
.greeting h1 b{color:var(--coral)}
.greeting p{font-size:19px;color:var(--mute);max-width:56ch;margin:0}
.cluster{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;padding:10px 0 70px}
.bubble{display:block;background:#fff;border:2px solid var(--ink);border-radius:22px 22px 22px 6px;padding:22px 22px 20px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.bubble:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--coral);color:var(--ink)}
.bubble:nth-child(even){border-radius:22px 22px 6px 22px}
.bubble h2{font-size:21px;line-height:1.25;margin:10px 0 8px;letter-spacing:-.01em}
.bubble p{margin:0;font-size:15.5px;color:var(--mute);line-height:1.55}
.chip{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px 11px;color:var(--indigo)}
.thread{max-width:720px;margin:0 auto;padding:44px 0 70px}
.thread h1{font-size:clamp(28px,5vw,42px);line-height:1.14;letter-spacing:-.025em;margin:14px 0 16px}
.digest{font-size:19px;color:var(--mute);border-left:5px solid var(--coral);padding:2px 0 2px 18px;margin:0 0 34px}
.thread h2{font-size:23px;margin:38px 0 10px;letter-spacing:-.01em}
.thread ul{padding-left:22px}
.thread li{margin:7px 0}
.thread li::marker{color:var(--coral)}
.signoff{margin-top:46px;padding-top:16px;border-top:1px dashed var(--line);font-size:14px;color:var(--mute)}
.nook{background:var(--ink);color:#d9dcf0;font-size:14.5px}
.nook .plaza{padding-top:26px;padding-bottom:30px;display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between}
.nook a{color:#fff}
@media(max-width:560px){body{font-size:16px}.greeting{padding:36px 0 22px}.cluster{grid-template-columns:1fr}.thread{padding-top:30px}}