@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/85fcf895b86d74a6-s.3pdm20a023wv-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5307092570128b5a-s.16191ingcc7md.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b67966e0b83b2cd0-s.p.0fuf3937kiol3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_385572af-module__mm0ceW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_385572af-module__mm0ceW__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_cf0c1a8f-module__HuG6Mq__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_cf0c1a8f-module__HuG6Mq__variable{--font-body:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_dc177b0e-module__78ed6G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_dc177b0e-module__78ed6G__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--ink:#0b0c0e;--stone:#121417;--stone-2:#181b1f;--line:#ebe7df1f;--line-strong:#ebe7df3d;--marble:#ebe7df;--ash:#a3a7ad;--ash-dim:#7c8187;--bronze:#c9a66b;--steel:#b8c7d1;--gutter:clamp(16px, 5vw, 72px);--measure:64ch;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ink);color:var(--marble);font:400 17px/1.6 var(--font-body), "Helvetica Neue", Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}img,video{max-width:100%}:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono), ui-monospace, monospace}h1,h2,h3{font-family:var(--font-display), Georgia, serif;font-variation-settings:"opsz" 144, "SOFT" 30;text-wrap:balance;letter-spacing:-.015em;margin:0;font-weight:380}h1{letter-spacing:-.03em;font-size:clamp(44px,7.4vw,108px);line-height:.98}h2{font-size:clamp(34px,4.6vw,64px);line-height:1.04}h3{font-variation-settings:"opsz" 48, "SOFT" 30;font-size:clamp(24px,2.4vw,32px);line-height:1.15}p{margin:0}.eyebrow{font:500 12px/1 var(--font-mono), ui-monospace, monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}.lede{color:var(--ash);max-width:var(--measure);font-size:clamp(17px,1.5vw,20px)}.btn{min-height:48px;font:500 15px/1 var(--font-body), sans-serif;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;text-decoration:none;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn-solid{background:var(--marble);color:var(--ink)}.btn-solid:hover{background:#fff}.btn-ghost{border:1px solid var(--line-strong);color:var(--marble);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b0c0e59}.btn-ghost:hover{border-color:var(--marble)}.link{font:500 14px/1.4 var(--font-mono), monospace;color:var(--marble);border-bottom:1px solid var(--line-strong);align-self:flex-start;padding-bottom:2px;text-decoration:none}.link:hover{border-color:var(--bronze);color:var(--bronze)}.topbar{z-index:10;padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) 14px;background:linear-gradient(#0b0c0ed9,#0b0c0e00);justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;inset:0 0 auto}.topbar:before{content:"";z-index:-1;pointer-events:none;background:var(--ink);border-bottom:1px solid var(--line);opacity:0;transition:opacity .25s;position:absolute;inset:0}.topbar[data-scrolled=true]:before{opacity:1}@media (prefers-reduced-motion:reduce){.topbar:before{transition:none}}.wordmark{font-family:var(--font-display), Georgia, serif;font-variation-settings:"opsz" 36, "SOFT" 60;letter-spacing:-.01em;font-size:22px;font-style:italic;font-weight:420;text-decoration:none}.topnav{align-items:center;gap:clamp(12px,2.4vw,28px);font-size:14px;display:flex}.topnav a{color:var(--ash);text-decoration:none}.topnav a:hover{color:var(--marble)}.topnav .topnav-cta{color:var(--marble);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px}@media (max-width:720px){.topnav a:not(.topnav-cta){display:none}}.hero{isolation:isolate;min-height:min(100svh,980px);padding:120px var(--gutter) 28px;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.hero-film{z-index:-2;object-fit:cover;background:var(--ink) url(/film/poster.jpg) center / cover no-repeat;width:100%;height:100%;position:absolute;inset:0}.hero-shade{z-index:-1;background:linear-gradient(to top, var(--ink) 0%, #0b0c0eb8 32%, #0b0c0e33 70%, #0b0c0e80 100%), linear-gradient(to right, #0b0c0eb3, #0b0c0e00 70%);position:absolute;inset:0}.hero-scenes{z-index:-1;pointer-events:none;opacity:.85;--fade:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent), linear-gradient(180deg, transparent, #000 7%, #000 93%, transparent);-webkit-mask-image:var(--fade);-webkit-mask-composite:source-in;-webkit-mask-image:var(--fade);mask-image:var(--fade);position:absolute;-webkit-mask-composite:source-in;mask-composite:intersect}.hero-scenes[data-mode=behind]{opacity:.4}@media (prefers-reduced-motion:reduce){.hero-scenes{display:none}}.hero-inner{flex-direction:column;gap:22px;max-width:1080px;display:flex}.hero-sub{color:#d6d2ca;max-width:58ch;font-size:clamp(18px,1.7vw,22px)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:6px;display:flex}.capabilities{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:14px;max-width:820px;padding:14px 0;display:grid}.capabilities-label,.capabilities-count{font:500 12px/1 var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ash-dim)}.capabilities-line{font:400 clamp(16px, 1.6vw, 20px)/1.4 var(--font-mono), monospace;color:var(--steel);animation:.6s ease-out both rise}.caret{vertical-align:-.15em;background:var(--bronze);width:.55em;height:1.05em;margin-left:4px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes rise{0%{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.capabilities-line,.caret{animation:none}}@media (max-width:560px){.capabilities{grid-template-columns:1fr;gap:8px}.capabilities-count{display:none}}.hero-index{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px clamp(20px,4vw,48px);margin:56px 0 0;padding-top:16px;display:flex}.hero-index a{align-items:baseline;gap:10px;text-decoration:none;display:flex}.hero-index dt{font:500 12px/1 var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ash)}.hero-index dd{font:400 28px/1 var(--font-display), serif;font-variant-numeric:tabular-nums;margin:0}.hero-index a:hover dt{color:var(--bronze)}.band{padding:clamp(72px, 10vw, 140px) var(--gutter);border-top:1px solid var(--line);position:relative}.scene-host{isolation:isolate;position:relative}.section-scene{z-index:-1;pointer-events:none;opacity:.85;--fade:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent), linear-gradient(180deg, transparent, #000 7%, #000 93%, transparent);-webkit-mask-image:var(--fade);-webkit-mask-composite:source-in;-webkit-mask-image:var(--fade);mask-image:var(--fade);position:absolute;-webkit-mask-composite:source-in;mask-composite:intersect}.section-scene[data-mode=behind]{opacity:.4}@media (prefers-reduced-motion:no-preference){.book-inner.scene-host{padding-top:240px}}@media (max-width:919.98px) and (prefers-reduced-motion:no-preference){.band.scene-host,.writing.scene-host,.contact.scene-host{padding-top:240px}.hero{padding-top:calc(320px + env(safe-area-inset-top,0px))}}@media (prefers-reduced-motion:reduce){.section-scene{display:none}}.band-alt{background:var(--stone)}.band-head{flex-direction:column;gap:16px;max-width:900px;margin-bottom:clamp(36px,5vw,64px);display:flex}@media (min-width:920px){.band .band-head{max-width:min(900px, calc(55vw - 40px - var(--gutter)))}}main>section[id]{scroll-margin-top:calc(76px + env(safe-area-inset-top,0px))}.services{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.service{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:clamp(24px,5vw,80px);padding:clamp(32px,4vw,48px) 0;display:grid}.service-copy{flex-direction:column;gap:14px;display:flex}.service-copy>p{color:var(--ash);max-width:var(--measure)}.service-tagline{font-size:19px;color:var(--marble)!important}.ticks{gap:8px;margin:4px 0 0;padding:0;list-style:none;display:grid}.ticks li{color:#cfcbc3;padding-left:22px;font-size:16px;position:relative}.ticks li:before{content:"";background:var(--bronze);width:10px;height:1px;position:absolute;top:.75em;left:0}.price{border:1px solid var(--line);background:linear-gradient(#ebe7df09,#ebe7df00);border-radius:4px;flex-direction:column;align-self:start;gap:12px;padding:24px;display:flex}.price-headline{font:400 clamp(34px, 3.6vw, 48px)/1 var(--font-display), serif;font-variation-settings:"opsz" 144;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.price-unit{font:500 13px/1 var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ash);vertical-align:middle}.price-detail,.price-note{color:var(--ash);font-size:14px}.price-lines{border-collapse:collapse;width:100%;font-size:14px}.price-lines th,.price-lines td{border-top:1px solid var(--line);vertical-align:top;padding:10px 0}.price-lines th{text-align:left;padding-right:12px;font-weight:500}.price-lines th span{color:var(--ash-dim);font-size:13px;font-weight:400;display:block}.price-lines td{text-align:right;white-space:nowrap;font:500 14px/1.4 var(--font-mono), monospace;font-variant-numeric:tabular-nums}.price-lines td small{color:var(--ash-dim);letter-spacing:.06em;font-size:11px;display:block}.price-quiet{background:0 0;border:0;gap:10px;padding:4px 0 0}.price-tag{font:500 11px/1 var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);border:1px solid #c9a66b66;border-radius:2px;align-self:flex-start;padding:6px 8px}.section-quote{border-left:1px solid var(--bronze);max-width:var(--measure);flex-direction:column;gap:4px;padding:2px 0 2px 16px;display:flex}.section-quote-title{font:400 clamp(22px, 2vw, 26px)/1.15 var(--font-display), serif;color:var(--marble)}.section-quote p:not(.section-quote-title){color:var(--ash);font-size:15px}@media (max-width:860px){.service{grid-template-columns:1fr}}.tiles{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:1px;display:grid}.tile{background:var(--ink);flex-direction:column;gap:14px;min-height:260px;padding:clamp(24px,3vw,40px);display:flex}.band-alt .tile{background:var(--stone)}.tile>p{color:var(--ash);max-width:52ch}.tile .tile-tagline{color:var(--marble);font-size:18px}.tile .link{margin-top:auto}.tile-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.device-shots{aspect-ratio:16/11;margin-bottom:6px;position:relative}.device{background:var(--ink);border:1px solid var(--line-strong);position:absolute;overflow:hidden;box-shadow:0 18px 40px #00000080}.device img{width:100%;height:auto;display:block}.device-desktop{background:var(--stone-2);border-radius:6px;width:84%;padding-top:8px;top:0;left:0}.device-tablet{border-radius:10px;width:30%;padding:5px;bottom:0;right:13%}.device-phone{border-radius:12px;width:15%;padding:3px;bottom:0;right:0}.device-tablet img{border-radius:5px}.device-phone img{border-radius:9px}.tile-price{align-self:stretch}.status{font:500 11px/1 var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);border:1px solid #b8c7d159;border-radius:2px;flex:none;padding:6px 8px}.writing{padding:clamp(56px, 8vw, 96px) var(--gutter);border-top:1px solid var(--line);background:var(--stone-2);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.writing>div{flex-direction:column;gap:14px;display:flex}.writing.scene-host{flex-direction:column;justify-content:flex-start;align-items:flex-start}.contact{padding:clamp(80px, 12vw, 160px) var(--gutter);border-top:1px solid var(--line);background:radial-gradient(at 20% 0,#c9a66b17,#0000 60%);flex-direction:column;align-items:flex-start;gap:18px;display:flex}.contact h2{max-width:18ch}.contact-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.footer{padding:28px var(--gutter) calc(28px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);color:var(--ash-dim);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;font-size:13px;display:flex}.footer .wordmark{color:var(--marble);font-size:18px}.footer-links{flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:var(--ash);text-decoration:none}.footer-links a:hover{color:var(--marble);text-underline-offset:3px;text-decoration:underline}.band-book{align-self:flex-start;margin-top:4px}.tile-links{flex-wrap:wrap;gap:12px 20px;margin-top:auto;display:flex}.tile-links .link{margin-top:0}.link-quiet{color:var(--ash)}.floating-book{z-index:20;right:var(--gutter);bottom:calc(20px + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;position:fixed;transform:translateY(12px)}.floating-book.is-shown{opacity:1;pointer-events:auto;transform:none}.floating-book-btn{background:var(--marble);min-height:48px;color:var(--ink);font:500 15px/1 var(--font-body), sans-serif;border-radius:999px;align-items:center;gap:10px;padding:0 20px;text-decoration:none;display:inline-flex;box-shadow:0 10px 30px #00000073}.floating-book-btn:hover{background:#fff}.floating-book-dot{background:var(--bronze);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #c9a66b40}.floating-book-topic{color:#55585d}@media (max-width:560px){.floating-book{left:16px;right:16px}.floating-book-btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.floating-book{transition:none}}.book{background:radial-gradient(ellipse at 10% -10%, #c9a66b14, transparent 55%), var(--ink);min-height:100vh}.book-bar{padding:calc(18px + env(safe-area-inset-top,0px)) var(--gutter) 18px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;display:flex}.book-inner{max-width:880px;padding:clamp(40px, 7vw, 88px) var(--gutter) 96px;flex-direction:column;gap:40px;margin:0 auto;display:flex}.book-head{flex-direction:column;gap:16px;display:flex}.book-head h1{font-size:clamp(40px,6vw,72px)}.book-form{flex-direction:column;gap:36px;display:flex}.book-topics{border:0;flex-direction:column;gap:20px;min-width:0;margin:0;padding:0;display:flex}.book-topics legend{font:400 clamp(22px, 2.4vw, 28px)/1.2 var(--font-display), serif;margin-bottom:18px;padding:0}.book-count{font:500 12px/1 var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);vertical-align:middle;margin-left:8px}.chip-group{flex-direction:column;gap:10px;display:flex}.chip-group.is-suggested{background:#c9a66b0d;border:1px solid #c9a66b59;border-radius:6px;padding:16px}.chip-group-label{font:500 12px/1 var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);align-items:center;gap:10px;display:flex}.chip-suggested{color:var(--ink);background:var(--bronze);letter-spacing:.1em;border-radius:2px;padding:4px 6px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-strong);min-height:42px;color:var(--marble);font:400 15px/1.2 var(--font-body), sans-serif;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 16px;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.chip:hover{border-color:var(--marble)}.chip input{opacity:0;width:1px;height:1px;position:absolute}.chip:has(input:focus-visible){outline:2px solid var(--bronze);outline-offset:3px}.chip.is-on{background:var(--marble);color:var(--ink);border-color:var(--marble)}.chip.is-on:before{content:"✓";font-size:13px}.chip-add{color:var(--ash);border-style:dashed;align-self:flex-start}.custom-topic{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.custom-topic input{flex:260px}.book-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;display:grid}.book-field{flex-direction:column;gap:8px;min-width:0;display:flex}.book-field-wide{grid-column:1/-1}.book-field>span{color:var(--ash);font-size:14px}.book input:not([type=checkbox]),.book textarea{border:1px solid var(--line-strong);width:100%;min-height:48px;color:var(--marble);font:16px/1.45 var(--font-body), sans-serif;background:#ebe7df08;border-radius:4px;padding:12px 14px}.book textarea{resize:vertical}.book input:focus,.book textarea:focus{border-color:var(--bronze);outline:none;box-shadow:0 0 0 3px #c9a66b33}.book-field.has-error input,.book-field.has-error textarea{border-color:#ef8f8f}.form-error{color:#ef8f8f;font-size:14px}.book-submit{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.book-privacy{color:var(--ash-dim);width:100%;font-size:13px}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.book-done{border:1px solid var(--line);border-radius:6px;flex-direction:column;align-items:flex-start;gap:16px;padding:32px;display:flex}.book-done-mark{background:var(--bronze);width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;font-size:20px;display:grid}.book-when{border:0;flex-direction:column;gap:16px;min-width:0;margin:0;padding:0;display:flex}.book-when legend{font:400 clamp(22px, 2.4vw, 28px)/1.2 var(--font-display), serif;margin-bottom:18px;padding:0}.slot-picker{grid-template-columns:minmax(0,1fr);gap:24px;min-width:0;display:grid}@media (min-width:720px){.slot-picker{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;column-gap:40px}.slot-picker>.slot-note,.slot-picker>.form-error{grid-column:1/-1}}.slot-cal{flex-direction:column;gap:10px;min-width:0;display:flex}.cal-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.cal-month{font:500 16px/1.2 var(--font-body), sans-serif;color:var(--marble)}.cal-nav{border:1px solid var(--line-strong);width:40px;height:40px;color:var(--marble);font:400 22px/1 var(--font-body), sans-serif;cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.cal-nav:hover:not(:disabled){border-color:var(--marble)}.cal-nav:disabled{opacity:.3;cursor:default}.cal-nav:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}.cal-grid{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:100%}.cal-grid th{font:500 11px/1 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-dim);text-align:center;padding:2px 0 4px}.cal-grid td{padding:0}.cal-day{aspect-ratio:1;color:#a3a7ad73;width:100%;min-height:40px;font:500 15px/1 var(--font-body), sans-serif;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:grid;position:relative}.cal-day.is-past{color:#a3a7ad40}.cal-day.is-today{border-color:var(--line-strong);border-style:dashed}.cal-day.is-free{color:var(--marble);border:1px solid var(--line-strong);cursor:pointer}.cal-day.is-free:after{content:"";background:var(--bronze);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:5px;left:50%}.cal-day.is-free:hover{border-color:var(--marble)}.cal-day.is-on{background:var(--bronze);border-color:var(--bronze);color:var(--ink)}.cal-day.is-on:after{background:var(--ink)}.cal-day:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}.cal-legend{color:var(--ash);flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.cal-legend span{align-items:center;gap:8px;display:inline-flex}.cal-key{border:1px solid var(--line);border-radius:4px;width:14px;height:14px}.cal-key.is-free{border-color:var(--line-strong);background:radial-gradient(circle at 50% 70%, var(--bronze) 0 2px, transparent 2.5px)}.slot-day-times{flex-direction:column;gap:12px;min-width:0;display:flex}.slot-times-head{font:500 15px/1.3 var(--font-body), sans-serif;color:var(--marble)}.slot-times{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.slot-time{border:1px solid var(--line-strong);min-height:44px;font:500 15px/1 var(--font-mono), monospace;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;place-items:center;display:grid;position:relative}.slot-time:hover{border-color:var(--marble)}.book .slot-time input{opacity:0;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute}.slot-time:has(input:focus-visible){outline:2px solid var(--bronze);outline-offset:3px}.slot-time.is-on{background:var(--marble);color:var(--ink);border-color:var(--marble)}.slot-note{color:var(--ash);font-size:14px}.slot-note .link{font-size:14px}.slot-note button.link{border:0;border-bottom:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:0;min-height:0;padding:0 0 2px}.book-done-time{font-size:17px}.book-optional{font:500 12px/1 var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ash-dim);vertical-align:middle;margin-left:8px}.writing>.writing-actions{flex-flow:wrap;align-items:center;gap:12px 24px}.writing-actions .link{align-self:center}.blog{background:radial-gradient(ellipse at 10% -10%, #c9a66b14, transparent 55%), var(--ink);min-height:100vh}.blog-inner{max-width:880px;padding:clamp(40px, 7vw, 88px) var(--gutter) 96px;flex-direction:column;gap:40px;margin:0 auto;display:flex}.blog-head{flex-direction:column;gap:16px;display:flex}.blog-head h1{font-size:clamp(38px,5.6vw,68px);line-height:1.02}.blog-meta{font:500 12px/1.6 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ash-dim)}.blog-meta a{color:var(--ash);border-bottom:1px solid var(--line-strong);text-decoration:none}.blog-meta a:hover{color:var(--bronze);border-color:var(--bronze)}.blog-list{flex-direction:column;gap:24px;margin:0;padding:0;list-style:none;display:flex}.blog-card{border:1px solid var(--line);border-radius:6px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;gap:24px;padding:16px;text-decoration:none;transition:border-color .2s,background-color .2s;display:grid}.blog-card:hover{border-color:var(--line-strong);background:#ebe7df08}.blog-card img{aspect-ratio:16/9;object-fit:cover;border-radius:3px;width:100%;height:auto;display:block}.blog-card-text{flex-direction:column;gap:10px;display:flex}.blog-card-title{font:380 clamp(24px, 2.6vw, 32px)/1.15 var(--font-display), Georgia, serif;font-variation-settings:"opsz" 48, "SOFT" 30;text-wrap:balance}.blog-card-sub{color:var(--ash)}@media (max-width:640px){.blog-card{grid-template-columns:1fr;gap:16px}}.blog-body{max-width:var(--measure);flex-direction:column;gap:1.1em;font-size:18px;line-height:1.7;display:flex}.blog-body h2{margin-top:1.1em;font-size:clamp(28px,3.4vw,40px)}.blog-body h3,.blog-body h4{margin-top:.8em;font-size:clamp(22px,2.2vw,28px)}.blog-body a{color:var(--marble);text-decoration:underline;-webkit-text-decoration-color:var(--bronze);text-decoration-color:var(--bronze);text-underline-offset:3px}.blog-body a:hover{color:var(--bronze)}.blog-body ul,.blog-body ol{flex-direction:column;gap:.5em;margin:0;padding-left:1.3em;display:flex}.blog-body li::marker{color:var(--bronze)}.blog-body blockquote{border-left:2px solid var(--bronze);color:var(--ash);margin:0;padding-left:20px}.blog-body code{font-family:var(--font-mono), monospace;font-size:.9em}.blog-body hr{border:0;border-top:1px solid var(--line);width:100%;margin:1em 0}.blog-fn-ref{margin-left:1px;font-size:.7em;line-height:0}.blog-body .blog-fn-ref a{color:var(--bronze);font-family:var(--font-mono), monospace;padding:0 2px;text-decoration:none}.blog-body .blog-fn-ref a:hover,.blog-body .blog-fn-ref a:focus-visible{text-decoration:underline}.blog-notes{border-top:1px solid var(--line);color:var(--ash);margin-top:1.4em;padding-top:1.2em;font-size:15px;line-height:1.6}.blog-notes ol{gap:.8em}.blog-notes li::marker{font-family:var(--font-mono), monospace;font-size:.9em}.blog-notes li p{margin:0;display:inline}.blog-notes li p+p:before{content:" "}.blog-body .blog-fn-back{color:var(--bronze);margin-left:6px;text-decoration:none}[id^=footnote-]{scroll-margin-top:96px}.blog-figure{flex-direction:column;gap:10px;margin:.8em 0;display:flex}.blog-figure video,.blog-figure img{border:1px solid var(--line);background:var(--stone);border-radius:3px;width:100%;height:auto;display:block}.blog-figure figcaption{color:var(--ash-dim);font-size:14px;line-height:1.5}.blog-end{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px 28px;padding-top:32px;display:flex}.blog-end .link{align-self:center}
