:root{--paper:#f2efe6;--ink:#25342b;--accent:#496b4b;--button-text:#fff;--input-bg:#fbfaf6;--field-radius:0;--button-radius:0}
body{font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink)}
.brand{font-weight:600}.site-header{border-bottom:1px solid #b8c1ae}.site-nav .nav-join{background:var(--ink)}
h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;line-height:.96}h1 em,h2 em{font-weight:400}p{line-height:1.65}
.archive-index,.section-label,.field-heading>span,.archive-intro>span{font:500 .73rem 'Fira Code',monospace;text-transform:uppercase;letter-spacing:.13em}
.archive-hero{min-height:min(790px,calc(100dvh - 84px));display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2rem,6vw,8rem);padding-block:4rem 5rem}
.archive-copy h1{font-size:clamp(5rem,8.5vw,10rem);letter-spacing:-.055em;margin:2rem 0}.archive-copy p{font-size:clamp(1.08rem,1.7vw,1.4rem);max-width:34ch}.archive-link{display:inline-flex;align-items:center;gap:2rem;min-height:48px;margin-top:1.5rem;border-bottom:1px solid currentColor;text-decoration:none;font-weight:600}.archive-link span{font-size:1.3rem}.archive-photo{position:relative;margin:0}.archive-photo picture{overflow:hidden;aspect-ratio:4/5;background:#d4d8c7}.archive-photo img{width:100%;height:100%;object-fit:cover}.archive-photo figcaption{position:absolute;right:0;bottom:-2rem;font:500 .72rem 'Fira Code',monospace;letter-spacing:.07em}
.archive-intro{display:grid;grid-template-columns:1fr 2fr;gap:4rem;padding-block:clamp(5rem,9vw,10rem);border-top:1px solid #b8c1ae}.archive-intro p{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(2rem,3.3vw,3.7rem);line-height:1.14;max-width:25ch;margin:0}
.field-notes{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,8rem);padding-block:7rem 10rem}.field-heading{position:sticky;top:3rem;align-self:start}.field-heading h2,.routine-grid h2,.author-note h2,.join-grid h2{font-size:clamp(3.7rem,5.5vw,7rem);letter-spacing:-.045em;margin:1.4rem 0}.field-heading p{max-width:33ch}.field-list{border-top:1px solid #9fac9c}.field-row{border-bottom:1px solid #9fac9c}.field-row summary{min-height:104px;display:grid;grid-template-columns:3rem 1fr 1fr 1.5rem;gap:1rem;align-items:center;cursor:pointer;list-style:none}.field-row summary::-webkit-details-marker{display:none}.field-row summary>span{font:500 .8rem 'Fira Code',monospace}.field-row summary strong{font:400 clamp(2.4rem,3.4vw,4rem) 'Instrument Serif',Georgia,serif}.field-row summary small{font-size:.84rem}.field-row summary i{font-size:1.5rem;font-style:normal;transition:transform .25s}.field-row[open] i{transform:rotate(45deg)}.field-detail{padding:0 3.8rem 2.5rem;max-width:54ch}.field-detail p{margin:0 0 1.5rem}.field-detail span{display:block;padding-left:1rem;border-left:2px solid var(--accent);font-size:.9rem}
.routine-section{background:#dce4d7;padding-block:clamp(5rem,9vw,10rem)}.routine-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,9rem);align-items:start}.routine-grid>div:first-child p{max-width:33ch}.routine-card{padding:clamp(1.4rem,3vw,3.2rem);background:#f8f7f0;box-shadow:0 22px 60px #23442b17,0 2px 8px #23442b12,inset 0 1px 0 #fff}.routine-options{display:grid;gap:1rem}.routine-options fieldset{border:0;border-top:1px solid #c6d0c2;margin:0;padding:1.25rem 0}.routine-options legend{padding-top:1.25rem;font:500 .75rem 'Fira Code',monospace;text-transform:uppercase}.routine-options label{display:block;padding:.65rem 0;cursor:pointer}.routine-options input{accent-color:var(--accent);margin-right:.4rem;min-width:20px;min-height:20px}.routine-card button{min-height:48px;padding:.75rem 1.2rem;background:var(--accent);color:#fff;border:0}.routine-result{margin-top:1.5rem;border-top:1px solid #c6d0c2;padding-top:1rem}.routine-result span{font:500 .75rem 'Fira Code',monospace;text-transform:uppercase}.routine-result p{font-family:'Instrument Serif',Georgia,serif;font-size:1.7rem;margin:.65rem 0 0;line-height:1.25}
.author-archive{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(4rem,8vw,10rem);align-items:center;padding-block:clamp(6rem,11vw,12rem)}.author-note p{max-width:53ch}.author-archive img{width:100%;max-height:650px;aspect-ratio:4/5;object-fit:cover;filter:saturate(.78)}
.ritual-join{background:#25342b;color:#f5f0e5;padding-block:clamp(5rem,8vw,9rem)}.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center}.join-grid p{max-width:41ch}.ritual-join .signup-shell{background:#e9eee3;color:#25342b;padding:clamp(1.4rem,3vw,3rem);box-shadow:0 25px 80px #101a1733,inset 0 1px 0 #fff}.ritual-join .signup-form>label:first-child{font:500 .75rem 'Fira Code',monospace;text-transform:uppercase}.ritual-join .signup-form button{width:100%}.site-footer{background:#1d2922;color:#f5f0e5;border:0}
@media(max-width:900px){.archive-hero,.field-notes,.routine-grid,.author-archive,.join-grid{grid-template-columns:1fr}.archive-hero{min-height:0;gap:3rem}.archive-copy h1{font-size:clamp(4.5rem,13vw,8rem);max-width:10ch}.archive-photo picture{aspect-ratio:16/10}.field-heading{position:static}.archive-intro{grid-template-columns:1fr;gap:1.5rem}.author-archive img{max-width:480px}.field-notes{padding-block:5rem}}
@media(max-width:600px){.archive-hero{padding-block:3rem 5rem}.archive-copy h1{font-size:clamp(4rem,18vw,6rem)}.archive-photo picture{aspect-ratio:4/5}.field-row summary{grid-template-columns:2rem 1fr 1.3rem;min-height:90px}.field-row summary small{grid-column:2;grid-row:2;margin-top:-1.5rem;padding-bottom:1rem}.field-row summary i{grid-column:3;grid-row:1}.field-detail{padding:0 1rem 2rem 3rem}.field-heading h2,.routine-grid h2,.author-note h2,.join-grid h2{font-size:clamp(3.5rem,16vw,5.5rem)}.site-nav .nav-join{padding:.55rem .7rem;font-size:.78rem}}

.archive-signup{margin-top:2rem}.archive-signup .signup-consent{max-width:52ch}.archive-link{margin-top:1rem}

/* Square-source author portrait framing */
@media(min-width:0px){.author-archive img{width:100%;height:auto;max-width:330px;aspect-ratio:1/1;align-self:center;justify-self:center;object-fit:cover}}
