@charset "UTF-8";
:root {color-scheme:dark;--white:#fafafa;--black:#080808;}
* {box-sizing:border-box;}
html {scroll-behavior:smooth;}
body {margin:0;min-height:100svh;background:var(--black);color:var(--white);font-family:"Helvetica Neue","Segoe UI",Arial,sans-serif;font-weight:300;}
a {color:inherit;}
button,textarea {font:inherit;}
button,a {-webkit-tap-highlight-color:transparent;}
button {cursor:pointer;}
:focus-visible {outline:2px solid currentColor;outline-offset:5px;}
[hidden] {display:none!important;}
.night {position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#0006,#0009),url("assets/background.webp") center center/cover no-repeat;}
.site-shell {width:min(1200px,calc(100% - 64px));margin:auto;padding:24px 0 56px;}
.masthead {text-align:center;margin:0 0 34px;container-type:inline-size;}
.wordmark {display:block;width:100%;color:#fff;font-size:clamp(70px,16cqw,188px);font-weight:200;letter-spacing:-.055em;line-height:1.12;text-decoration:none;white-space:nowrap;}
.blog-layout {display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,700px) minmax(120px,1fr);gap:32px;align-items:start;}
.main-nav {padding-top:17px;display:flex;flex-direction:column;gap:36px;}
.nav-item {display:block;text-align:left;color:inherit;text-decoration:none;width:fit-content;padding:0;border:0;background:transparent;min-height:44px;}
.nav-title {display:block;font-size:clamp(30px,2.8vw,38px);font-weight:300;letter-spacing:-.045em;line-height:1.15;}
.nav-description {display:block;max-width:200px;margin-top:10px;color:#e1e1e1;font-size:14px;line-height:1.5;text-shadow:0 1px 8px #000;}
.nav-item:hover .nav-title {opacity:.78;}
.nav-item[aria-current="page"] .nav-title {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;}
.content {min-width:0;}
.post-card {color:#171717;background:#fff;padding:28px 32px 30px;border-radius:10px;box-shadow:0 12px 60px #0004;color-scheme:light;}
.post-meta {display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 18px;color:#626262;font-size:12px;font-weight:400;letter-spacing:.08em;line-height:1.5;margin-bottom:16px;}
.post-title {font-size:clamp(26px,2.35vw,33px);font-weight:400;line-height:1.23;letter-spacing:-.035em;margin:0 0 24px;}
.post-title strong {font-weight:600;}
.post-copy {font-size:16px;line-height:1.7;font-weight:400;}
.post-copy p {margin:0 0 20px;}
.post-copy p:last-child {margin-bottom:0;}
.signature {text-align:right;font-size:16px;line-height:1.55;margin:30px 0 0;}
.signature strong {font-weight:600;}
.actions-nav .nav-item {max-width:100%;}
.availability-note {display:inline-block;margin-top:6px;color:#ccc;font-size:13px;}
.section-title {margin:0 0 24px;font-size:32px;font-weight:400;letter-spacing:-.035em;}
.archive-entry {display:flex;align-items:center;gap:22px;padding:20px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;text-decoration:none;font-size:18px;font-weight:400;line-height:1.5;}
.archive-entry time {color:#666;font-size:12px;white-space:nowrap;}
.archive-entry:hover span {text-decoration:underline;text-underline-offset:4px;}
.contact-dialog {width:min(520px,calc(100% - 32px));max-height:calc(100svh - 32px);margin:auto;padding:30px;border:0;border-radius:10px;overflow:auto;background:#fff;color:#171717;color-scheme:light;box-shadow:0 16px 100px #0007;}
.contact-dialog::backdrop {background:#000b;backdrop-filter:blur(3px);}
.dialog-close {position:absolute;top:8px;right:9px;width:44px;height:44px;padding:0;border:0;background:transparent;color:#171717;font-size:30px;line-height:1;}
.section-kicker {margin:1px 50px 12px 0;color:#626262;font-size:12px;font-weight:400;letter-spacing:.12em;}
.contact-dialog h2 {font-size:30px;line-height:1.2;letter-spacing:-.035em;font-weight:400;margin:0 0 26px;}
.newsletter-dialog h2 {margin-bottom:18px;}
.newsletter-note {margin:0;color:#555;font-size:16px;font-weight:400;line-height:1.6;}
.contact-dialog label {display:block;font-size:14px;font-weight:400;margin-bottom:9px;}
.contact-dialog textarea {display:block;width:100%;min-height:165px;max-height:45svh;resize:vertical;border:1px solid #aaa;border-radius:5px;padding:13px;background:#fafafa;color:#171717;font-size:16px;font-weight:400;line-height:1.55;}
.contact-note {font-size:13px;font-weight:400;line-height:1.5;color:#555;margin:12px 0 20px;}
.send-button {min-height:44px;padding:12px 20px;border:0;border-radius:5px;background:#101010;color:#fff;font-size:15px;font-weight:400;}
.send-button:disabled {opacity:.65;cursor:wait;}
.form-status {font-size:14px;line-height:1.5;font-weight:400;margin:16px 0 0;}
.form-status:empty {display:none;}
.form-status[data-state="error"] {color:#8e1616;}
.honeypot {display:none;}
.contact-privacy {margin:0 0 20px;font-size:13px;font-weight:400;line-height:1.5;color:#555;}
.contact-privacy summary {cursor:pointer;min-height:28px;}
.contact-privacy p {margin:8px 0 0;}
.site-footer {text-align:center;padding:0 16px 24px;font-size:14px;}
.site-footer a {display:inline-block;min-height:44px;padding:12px;color:#ccc;text-underline-offset:4px;}
.skip-link {position:fixed;left:16px;top:-80px;z-index:10;background:#fff;color:#000;padding:12px 18px;}
.skip-link:focus {top:12px;}
@media(max-width:1000px) {
 .site-shell {width:calc(100% - 48px);padding-top:22px;}
 .wordmark {font-size:21cqw;}
 .masthead {margin-bottom:24px;}
 .blog-layout {display:flex;flex-direction:column;gap:26px;}
 .main-nav {width:min(700px,100%);margin:auto;padding:0 0 12px;flex-direction:row;justify-content:space-around;gap:14px;border-bottom:1px solid #ffffff4d;}
 .nav-item {display:flex;align-items:center;padding:7px 4px;}
 .nav-title {font-size:26px;}
 .nav-description {display:none;}
 .content {width:min(700px,100%);margin:auto;}
 .actions-nav {padding-top:4px;border-bottom:0;}
 .actions-nav .nav-description {display:block;}
 .actions-nav .nav-item {display:block;flex:1;max-width:240px;}
}
@media(max-width:760px) {
 .site-shell {width:calc(100% - 36px);padding:28px 0 36px;}
 .wordmark {font-size:22cqw;}
 .masthead {margin-bottom:19px;}
 .blog-layout {gap:22px;}
 .nav-title {font-size:24px;}
 .post-card {padding:23px;border-radius:10px;}
 .post-title {font-size:28px;margin-bottom:22px;}
 .post-copy {line-height:1.7;}
 .post-copy p {margin-bottom:20px;}
 .post-meta {font-size:12px;letter-spacing:.04em;}
 .contact-dialog {padding:27px 24px;}
 .contact-dialog h2 {font-size:27px;}
}
@media(max-width:380px) {
 .site-shell {width:calc(100% - 26px);}
 .post-card {padding:20px;}
 .post-title {font-size:26px;}
 .nav-title {font-size:22px;}
 .archive-entry {align-items:start;gap:14px;}
}
@media(prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}}
