@import url('./tokens.css');
@font-face{font-family:Manrope;src:url('./assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:Caveat;src:url('./assets/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{color-scheme:light;--font-note:Caveat,cursive;--body-measure:72ch}
*{box-sizing:border-box}html{scrollbar-color:var(--rule) var(--paper);scrollbar-width:thin;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--font-body)}::selection{background:var(--ink);color:var(--on-action)}a{color:var(--ink);text-underline-offset:4px}a:hover{color:var(--air)}a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}p{text-wrap:pretty}.wrap{position:relative;max-width:1040px;margin:24px auto 48px;padding:0 48px;border:var(--rule-width) solid var(--rule)}.wrap.pen-ready{border-color:transparent}.pen-outline{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);pointer-events:none;overflow:visible}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 0;border-bottom:var(--rule-width) solid var(--rule)}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;font-weight:650;font-size:24px;letter-spacing:-.025em}.brand img{width:52px;height:52px;border-radius:12px}nav{display:flex;flex-wrap:wrap;gap:24px;font-size:14px}nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}nav a[aria-current]{font-weight:650;text-decoration:underline}main{padding:48px 0 40px}h1{font-size:clamp(32px,5vw,54px);font-weight:400;line-height:1.12;letter-spacing:-.025em;margin:0 0 24px;text-wrap:balance}.handwritten{font:500 1.35em/1.1 var(--font-note);letter-spacing:0;display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:4px}h2{font-size:26px;font-weight:500;line-height:1.35;letter-spacing:-.02em;margin:40px 0 14px;text-wrap:balance}p{margin:0 0 18px;max-width:var(--body-measure)}.intro{font-size:19px;color:var(--ink-secondary);max-width:65ch}.photo-strip{margin:32px 0 36px}.photo-strip img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover}.photo-strip figcaption{margin-top:10px;color:var(--ink-secondary);font-size:13px}.panel{position:relative;padding:28px 32px;background:var(--paper-raised);border:var(--rule-width) solid var(--rule);margin:36px 0 48px}.panel.pen-ready{border-color:transparent}.panel h2{margin-top:0}.contact{display:inline-block;max-width:100%;font-weight:600;overflow-wrap:anywhere}.panel>.contact{background:var(--action);color:var(--on-action);padding:12px 18px;min-height:var(--control-height);text-decoration:none;margin-bottom:16px;border:1px solid var(--action)}.panel>.contact:hover{background:var(--air)}.panel .meta{margin:0;font-size:13px;max-width:65ch}.note{border-block:var(--rule-width) solid var(--rule);padding:20px 0;background:transparent;color:var(--ink);margin:28px 0 36px}.meta,footer{color:var(--ink-secondary);font-size:14px}details{border-bottom:var(--rule-width) solid var(--guide);padding:20px 0}summary{cursor:pointer;font-size:18px;font-weight:500;line-height:1.5;min-height:32px}details[open] summary{font-weight:650}details p{margin:16px 0 0;color:var(--ink-secondary)}details a{color:var(--ink)}ul,ol{padding-left:24px}li{margin:8px 0}footer{padding:26px 0 32px;border-top:var(--rule-width) solid var(--rule)}footer p{margin:0}article{max-width:var(--body-measure)}article h1{font-size:clamp(30px,5vw,46px)}article h2{scroll-margin-top:24px}
@media(max-width:1100px){.wrap{margin:20px var(--page-margin) 36px;padding:0 32px}}@media(max-width:600px){.wrap{margin:14px 16px 28px;padding:0 20px}.top{gap:14px;padding:20px 0}main{padding-top:32px}.panel{padding:22px 20px;margin-block:28px 36px}nav{gap:20px;font-size:13px}.brand{font-size:22px}.brand img{width:44px;height:44px}h1{font-size:36px}.handwritten{font-size:1.3em}h2{font-size:24px}.intro{font-size:17px}.photo-strip{margin:28px 0}.photo-strip figcaption{font-size:12px}.panel>.contact{font-size:13px;padding:12px 10px;width:100%;text-align:center;overflow-wrap:anywhere}summary{font-size:17px}details{padding:18px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
