@font-face{font-family:Inter;src:url('/assets/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Instrument Serif;src:url('/assets/instrument-serif.woff2') format('woff2');font-display:swap}
@font-face{font-family:Instrument Serif;src:url('/assets/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-display:swap}
:root{color-scheme:light;--paper:#f6f5ef;--white:#fffefa;--ink:#151925;--muted:#525966;--line:#d6d6cd;--blue:#203fc9;--deep:#12296d;--serif:"Instrument Serif",Georgia,serif;--sans:Inter,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
a{color:inherit;text-underline-offset:.2em}
a:hover{color:var(--blue)}
button,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #4563e2;outline-offset:4px}
[hidden]{display:none!important}
img{max-width:100%;display:block}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{line-height:1.02;font-weight:400;font-family:var(--serif)}
h1{font-size:clamp(4rem,7vw,7.15rem);letter-spacing:-.035em}
h2{font-size:clamp(3rem,5vw,4.5rem);letter-spacing:-.02em}
h3{font-size:clamp(2rem,3.1vw,2.65rem);letter-spacing:-.012em}
.wrap{width:min(1250px,calc(100% - 112px));margin-inline:auto}
.skip{position:fixed;z-index:9;left:10px;top:10px;background:var(--white);padding:12px;transform:translateY(-180%)}
.skip:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line)}
.header-inner,.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:76px}
.brand{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-weight:680;white-space:nowrap}
.mark{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--blue);color:#fff;font:italic 24px/1 var(--serif);border-radius:50%;padding-bottom:3px;letter-spacing:-.06em}
.site-header nav{display:flex;gap:32px}
.site-header nav a,.header-link,.site-footer a{font-size:.88rem;text-decoration:none}
.header-link{font-weight:620}
.hero{padding-block:68px 72px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.kicker{display:flex;align-items:center;gap:.55em;font-size:.71rem;font-weight:660;letter-spacing:.105em;text-transform:uppercase;line-height:1.45}
.status-dot{background:var(--blue);width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:4px}
.hero h1{margin-top:22px}
.hero em{color:var(--blue);font-weight:400}
.hero-intro{max-width:440px;margin-top:26px;color:var(--muted);font-size:1.06rem}
.hero-art{overflow:hidden;background:#2548d6;min-height:410px;align-self:stretch}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;align-items:center}
.button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;font-size:.86rem;font-weight:650;line-height:1.35;text-decoration:none;border:1px solid transparent;border-radius:4px}
.primary{background:var(--blue);color:white}
.primary:hover{background:var(--deep);color:white}
.secondary{background:transparent;border-color:#aaaeb8;color:var(--ink)}
.secondary:hover{color:var(--blue);border-color:var(--blue)}
.section{border-top:1px solid var(--line);padding-block:40px 62px;scroll-margin-top:16px}
.section-heading{display:flex;gap:16px;justify-content:space-between;align-items:end;margin-bottom:25px}
.section-label{color:var(--blue);margin-bottom:10px}
.text-link,.back{color:var(--blue);font-size:.9rem;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;gap:.45em}
.text-link:hover,.back:hover{text-decoration:underline}
.story-grid,.resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.story{background:var(--white);border:1px solid var(--line);overflow:hidden}
.story-art{height:clamp(120px,16vw,204px);position:relative;isolation:isolate;overflow:hidden}
.art-0{background:#dfe6ff;background-image:radial-gradient(#6c80c6 1px,transparent 1px);background-size:15px 15px}
.art-0 .art-shape{position:absolute;width:180px;height:180px;border:2px solid #2945be;left:50%;top:50%;transform:translate(-50%,-50%) rotate(35deg);border-radius:50% 50% 8% 50%;box-shadow:0 0 0 13px #dfe6ff,0 0 0 15px #2945be,0 0 0 29px #dfe6ff,0 0 0 31px #2945be}
.art-0 .art-shape::after{content:"";position:absolute;left:37%;top:37%;width:26%;aspect-ratio:1;border-radius:50%;background:#233fc3}
.art-1{background:#efdfc8}
.art-1 .art-shape{position:absolute;width:160px;height:230px;border-radius:26px;border:3px solid #713e31;left:50%;top:58%;transform:translate(-50%,-50%) rotate(-22deg);background:repeating-linear-gradient(0deg,#a35340 0 1px,transparent 1px 18px),#efdfc8;box-shadow:18px 17px #ba6550}
.art-1 .art-shape::after{content:"";position:absolute;left:28%;top:26%;width:44%;aspect-ratio:1;border-radius:50%;background:#923e2d;border:8px solid #efdfc8;box-shadow:0 0 0 1px #923e2d}
.story-copy,.resource{padding:24px}
.story .kicker{color:var(--muted);margin-bottom:9px}
.story h3 a{text-decoration:none}
.story-copy>p:not(.kicker),.resource p{margin:12px 0 18px;color:var(--muted)}
.resource{border:1px solid var(--line)}
.resource-icon{display:block;color:var(--blue);font-size:1.8rem;line-height:1;margin-bottom:14px}
.about{background:#e9edff;border-block:1px solid #d8e0fb;padding-block:56px}
.about-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:28px}
.about-copy>p{max-width:650px;margin-bottom:26px}
.offerings{list-style:none;margin:12px 0 20px;padding:0}
.offerings li{border-bottom:1px solid #c8d1f3;padding:10px 0;display:grid;grid-template-columns:180px 1fr;gap:12px}
.offerings span{color:#454e66}
.install{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:32px}
.install h2{font-size:2.5rem}
.footer-inner{min-height:95px}
.site-footer{border-top:1px solid var(--line)}
.reading{max-width:780px;padding-block:38px 70px}
.reading h1{font-size:clamp(3.4rem,7vw,6rem)}
.back{margin-bottom:34px}
.lede{font-size:1.16rem;color:var(--muted);margin:18px 0 30px;max-width:620px}
.reading-body{max-width:680px}
.reading-body p{margin:0 0 17px}
.reading-body h2{font-size:2.25rem;margin:28px 0 8px}
.reading h1+.reading-body{margin-top:26px}
.article-links{border-top:1px solid var(--line);padding-top:16px;margin-top:28px;display:flex;flex-wrap:wrap;gap:16px}
.worksheet{max-width:670px}
.field{margin-bottom:22px}
.field label{display:block;font-weight:700}
.field p,.small{color:var(--muted);font-size:.86rem;margin-bottom:7px}
.field textarea{display:block;width:100%;background:var(--white);border:1px solid #aaaeb8;border-radius:4px;padding:10px;resize:vertical}
.form-status{margin:8px 0;color:var(--deep)}
.quiet{border:0;background:none;padding:10px;color:var(--muted);text-decoration:underline}
@media(max-width:1050px){.wrap{width:calc(100% - 72px)}.hero{gap:34px}.hero-art{min-height:350px}.offerings li{grid-template-columns:1fr;gap:0}}
@media(max-width:730px){.wrap{width:calc(100% - 40px)}.header-inner{flex-wrap:wrap;gap:0;padding-block:13px;min-height:0}.site-header nav{width:100%;order:3;gap:24px;margin-top:12px}.hero{grid-template-columns:1fr;padding-block:37px 43px;gap:25px}.hero h1{max-width:620px;font-size:clamp(3.65rem,11vw,6rem);margin-top:15px}.hero-intro{margin-top:16px}.hero-art{min-height:0;aspect-ratio:1.45}.hero .actions{margin-top:19px}.section{padding-block:28px 38px}.section-heading{align-items:start;flex-direction:column;gap:9px}.about{padding-block:34px}.about-grid{grid-template-columns:1fr;gap:15px}.footer-inner{gap:10px}.story-copy,.resource{padding:18px}}
@media(max-width:480px){.story-grid,.resources{grid-template-columns:1fr;gap:14px}.site-header nav{justify-content:space-between}.story-art{height:140px}.install{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.worksheet fieldset{margin:0;padding:0;border:0;min-width:0}
.journal-list{margin-top:22px;border-top:1px solid var(--line)}
.journal-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 36px;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.journal-row .kicker{color:var(--blue);margin-bottom:4px}
.journal-row h3{font-size:clamp(1.85rem,3vw,2.45rem)}
.journal-row h3 a{text-decoration:none}
.journal-row>p,.work-grid p,.work-contact p{color:var(--muted)}
.row-link{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;color:var(--blue);text-decoration:none}
.row-link:hover{border-color:var(--blue)}
.work{border-top:0}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.work-grid article{border-top:2px solid var(--blue);padding-top:12px}
.work-grid p{margin-top:8px}
.work-contact{margin-top:28px;padding:18px 20px;background:#e9edff;display:flex;align-items:center;justify-content:space-between;gap:14px}
.work-contact .text-link{flex-shrink:0}
@media(max-width:730px){.journal-row{grid-template-columns:minmax(0,1fr) 36px;gap:4px 15px}.journal-row>p{grid-column:1;grid-row:2}.row-link{grid-column:2;grid-row:1 / span 2}.work-grid{grid-template-columns:1fr}.work-contact{flex-direction:column;align-items:start}}
@media(max-width:360px){.site-header nav{gap:10px}.site-header nav a{font-size:.78rem}}
