:root{--paper:#f7f4ee;--ink:#2d241f;--muted:#70665e;--line:#d8d0c5;--accent:#94462e;--soft:#eee8df;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:17px;line-height:1.7}a{color:inherit;text-underline-offset:.28em}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0 0 .55em}h1{font-size:clamp(3.4rem,6.5vw,6.8rem)}h1 em{font-weight:400;color:var(--accent)}h2{font-size:clamp(2.5rem,4vw,3.9rem)}h3{font-size:1.85rem;letter-spacing:-.03em}p{margin:0 0 1.1em}ul{padding-left:1.3em}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:110px}.wordmark{font-family:Georgia,serif;font-size:20px;letter-spacing:.25em;text-decoration:none;white-space:nowrap}.header nav{display:flex;gap:28px;align-items:center;font-size:14px}.header nav>a{white-space:nowrap;text-decoration:none}.header nav>a[aria-current]{text-decoration:underline}.header .button{background:none;padding:0;color:var(--ink);border-radius:0;text-decoration:underline}.menu{display:none}.page-intro{padding-block:100px 95px}.page-intro .lead{max-width:750px}.page-intro .button{margin-top:12px}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px;line-height:1.5}.lead,.large{font-size:21px;line-height:1.55}.section{padding-block:80px;border-top:1px solid var(--line)}.button{display:inline-flex;align-items:center;gap:20px;border:1px solid transparent;border-radius:50px;padding:12px 25px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:15px}.button:hover{background:#4a3a30}.button.light{background:var(--paper);color:var(--ink)}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:15px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;margin-top:8px}.text-link:hover{color:var(--accent)}.project-feature{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.project-feature p{max-width:440px}.artwork{margin:0;padding:18px;background:#ede7dd}.artwork img{aspect-ratio:3/2;object-fit:cover;filter:saturate(.65)}figcaption{font-size:11px;color:var(--muted);margin-top:12px}.voice-row{display:grid;grid-template-columns:1.1fr 1.7fr auto auto;gap:24px;align-items:center;margin-top:65px;border-top:1px solid var(--line);padding-top:28px}.voice-row h3{font-size:26px;margin:0}.voice-row p{font-size:15px;margin:0}.badge{display:inline-block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;line-height:1.5;background:var(--soft);padding:6px 12px;border-radius:25px;white-space:nowrap;margin-bottom:12px}.voice-row .badge{margin:0}.dark{background:var(--ink);color:var(--paper);border:0}.dark p{color:#e3d9cf}.dark .eyebrow{color:#cfc0b3}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:30px}.split>p{max-width:500px}.journal-preview{display:grid;grid-template-columns:1fr 1fr;gap:90px}.journal-preview h3{font-size:30px}.about-preview{display:grid;grid-template-columns:130px 1fr;gap:50px;align-items:start}.about-preview>div{max-width:650px}.portrait{border-radius:50%;width:130px;height:130px;object-fit:cover}.two,.three{display:grid;gap:60px;grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr);gap:45px}.three p,.two p{font-size:16px}.three h3{font-size:25px;line-height:1.2}.soft{background:var(--soft)}.soft .badge{background:var(--paper)}.number{font-size:12px;color:var(--muted);display:block;margin:20px 0}.note,.byline{font-size:13px;color:var(--muted);margin-top:22px}.project-list>article{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:48px 0;border-top:1px solid var(--line)}.project-list>article:first-child{border-top:0;padding-top:0}.reading{max-width:700px}.reading h2{font-size:36px;margin-top:1.8em}.reading h2:first-child{margin-top:0}.reading p{margin-bottom:1.5em}.article-intro{max-width:900px;padding-bottom:40px}.article-intro h1{font-size:clamp(3rem,6vw,5rem)}.article{font-size:18px;padding-bottom:55px}.article figure{margin:44px 0}.article figure img{width:100%}.article blockquote{border-left:2px solid var(--accent);margin:36px 0;padding-left:24px;font-family:Georgia,serif;font-size:25px}.article a{overflow-wrap:anywhere}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:45px}.filters button{border:1px solid var(--line);background:none;color:var(--ink);border-radius:30px;padding:8px 14px;font-size:12px}.filters button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.journal-item{padding:36px 0;border-bottom:1px solid var(--line);max-width:800px}.journal-item h2{font-size:38px}.journal-item h2 a{text-decoration:none}.journal-item .eyebrow{margin-bottom:14px}.journal-item p{max-width:650px}.footer{padding-block:45px;display:flex;align-items:center;gap:30px;flex-wrap:wrap;border-top:1px solid var(--line);font-size:12px}.footer p{margin:0;flex:1;color:var(--muted)}.footer .wordmark{font-size:15px}.footer small{flex-basis:100%;font-size:11px;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:10px;z-index:5}.skip:focus{top:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}button:disabled{opacity:.6;cursor:wait}
@media(min-width:1500px){.page-intro{padding-block:120px}.section{padding-block:100px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header nav{gap:18px}.wordmark{font-size:17px}.project-feature,.split,.journal-preview{gap:45px}.voice-row{grid-template-columns:1fr 1fr}.three{gap:25px}.header{gap:20px}}@media(max-width:760px){body{font-size:16px}.wrap{width:calc(100% - 44px)}.header{min-height:85px;flex-wrap:wrap;gap:0}.wordmark{font-size:18px}.menu{display:block;background:none;border:0;padding:12px 0;font-size:13px;display:flex;align-items:center;gap:12px}.header nav{display:none;flex-basis:100%;padding:18px 0 26px;flex-direction:column;align-items:flex-start;gap:18px}.header nav.open{display:flex}.page-intro{padding-block:65px 70px}h1{font-size:clamp(2.8rem,9.7vw,4.5rem);line-height:1.05}.lead,.large{font-size:19px}.section{padding-block:55px}.project-feature,.split,.journal-preview,.two,.three{grid-template-columns:1fr;gap:35px}.project-feature p{max-width:100%}.project-feature .artwork{max-width:480px}.artwork{padding:12px}.voice-row{margin-top:40px;grid-template-columns:1fr auto;gap:14px}.voice-row p{grid-row:2;grid-column:1 / -1}.voice-row h3{font-size:25px}.voice-row .badge{font-size:8px}.voice-row .text-link{grid-column:1 / -1;justify-self:start}.about-preview{grid-template-columns:1fr;gap:25px}.portrait{width:90px;height:90px}.three article{padding-bottom:20px;border-bottom:1px solid var(--line)}.project-list>article{grid-template-columns:1fr;gap:15px}.project-list h2{font-size:36px}.footer{gap:22px}.footer p{flex-basis:100%;order:2}.footer small{order:3}.footer .text-link{margin-left:auto;font-size:13px}.reading h2{font-size:31px}.article-intro h1{font-size:clamp(2.8rem,10vw,4rem)}.article{font-size:17px}.journal-item h2{font-size:32px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background .15s,color .15s}html{scroll-behavior:smooth}}

/* Journal editorial system: these rules also power the owner's private preview. */
.article-intro{max-width:700px;padding-block:76px 34px}
.article-intro .eyebrow{color:var(--accent);margin-bottom:24px;font-size:11px}
.article-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,5.8vw,4.7rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:22px;text-wrap:balance}
.article-intro .lead{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.55;letter-spacing:-.015em;margin-bottom:20px}
.article-intro .byline{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.article{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.85;padding-bottom:64px;overflow-wrap:anywhere}
.article p{margin:0 0 1.4em}
.article h2,.article h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.15;text-wrap:balance}
.article h2{font-size:38px;margin:64px 0 20px}
.article h3{font-size:28px;margin:42px 0 17px}
.article h2:first-child,.article h3:first-child{margin-top:0}
.article figure{width:78%;margin:40px auto 46px}
.article figure.image-small{width:48%}
.article figure.image-medium{width:78%}
.article figure.image-full{width:100%}
.article figure img{display:block;width:100%;height:auto;border-radius:0}
.article figcaption{font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.6;color:var(--muted);margin-top:11px;text-align:left}
.article blockquote{border:0;padding:0;margin:58px 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3vw,32px);font-style:italic;letter-spacing:-.02em;line-height:1.5;text-align:center}
.article blockquote::after{content:'';display:block;width:40px;height:1px;background:var(--accent);margin:26px auto 0}
.article .small-text{font-size:14px;line-height:1.75;color:var(--muted);margin-bottom:24px}
.article hr{border:0;border-top:1px solid var(--line);width:64px;margin:48px auto}
.article ul{margin-block:24px 32px}.article li{padding-left:6px;margin-bottom:10px}
.journal-return{padding-block:32px 70px;border-top:1px solid var(--line)}
.journal-return .eyebrow{margin-bottom:12px;color:var(--muted)}
@media(max-width:760px){
 .article-intro{padding-block:48px 30px}.article-intro h1{font-size:clamp(2.8rem,10vw,3.7rem)}
 .article-intro .lead{font-size:20px}.article{font-size:17px;line-height:1.8}
 .article h2{font-size:31px;margin-top:46px}.article h3{font-size:25px}
 .article figure{margin-block:30px 36px}.article figure.image-small{width:65%}
 .article figure.image-medium{width:90%}.article figure.image-full{width:100%}
 .article blockquote{margin-block:42px}.article .small-text{font-size:14px}
}

/* Refined typography: a quieter scale across the website and journal preview. */
body{font-size:17px;font-weight:400}
h1,h2,h3{font-weight:400;letter-spacing:-.025em;line-height:1.18}
h1{font-size:clamp(2.5rem,4.6vw,4rem)}
h1 em{color:var(--ink);font-weight:400}
h2{font-size:clamp(2rem,3vw,2.5rem)}
h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.015em}
strong,b{font-weight:600}
.wordmark{font-size:18px}
.header nav{font-size:13px}
.page-intro .lead{max-width:570px}
.lead,.large{font-size:19px;line-height:1.65}
.button,.text-link{font-size:14px;font-weight:400}
.voice-row h3,.three h3{font-size:23px}
.journal-preview h3{font-size:25px;line-height:1.3}
.reading h2,.project-list h2{font-size:32px;line-height:1.25}
.journal-item h2{font-size:30px;line-height:1.25}
.article-intro h1{font-size:clamp(2.25rem,4vw,3.25rem);line-height:1.16;letter-spacing:-.025em}
.article-intro .lead{font-size:20px;line-height:1.65}
.article{font-size:17px;line-height:1.85}
.article h2{font-size:32px;line-height:1.25;letter-spacing:-.02em}
.article h3{font-size:24px;line-height:1.3;letter-spacing:-.015em}
.article blockquote{font-size:clamp(23px,2.4vw,28px)}
@media(max-width:760px){
 body{font-size:16px}
 h1{font-size:clamp(2.25rem,8vw,3rem);line-height:1.18}
 h2{font-size:30px}
 h3,.voice-row h3,.three h3{font-size:22px}
 .lead,.large{font-size:18px}
 .journal-preview h3{font-size:24px}
 .reading h2,.project-list h2,.journal-item h2{font-size:28px}
 .article-intro h1{font-size:clamp(2rem,7.5vw,2.75rem)}
 .article-intro .lead{font-size:19px}
 .article{font-size:17px}
 .article h2{font-size:28px}
 .article h3{font-size:23px}
}

/* Explicit mobile colours and vector icons avoid platform emoji/blue controls. */
button,input,textarea,select{color:var(--ink);font-family:inherit}
.button{color:var(--paper)}
.button.light{color:var(--ink)}
.icon{width:16px;height:16px;flex-shrink:0;display:inline-block;vertical-align:middle}
.icon-arrow{display:inline-block;width:12px;height:12px;border-top:1px solid currentColor;border-right:1px solid currentColor;position:relative;margin:3px}
.icon-arrow::after{content:'';position:absolute;right:-1px;top:-1px;width:16px;height:1px;background:currentColor;transform:rotate(-45deg);transform-origin:right center}
.menu{color:var(--ink);-webkit-text-fill-color:currentColor;appearance:none;-webkit-appearance:none;min-height:44px;min-width:76px}
.menu-icon{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:20px;height:20px}
.menu-icon span{height:1px;width:20px;background:currentColor;display:block;transform-origin:center}
.menu[aria-expanded="true"] .menu-icon span:first-child{transform:translateY(3px) rotate(45deg)}
.menu[aria-expanded="true"] .menu-icon span:last-child{transform:translateY(-3px) rotate(-45deg)}
.contact-intro{padding-bottom:65px}
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:90px}
.contact-layout>div{max-width:340px}
.enquiry-form label{display:block;font-size:14px;margin-bottom:24px}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;margin-top:9px;border:1px solid #b5aa9e;border-radius:3px;background:#fffcf7;padding:13px 14px;font-size:16px;line-height:1.5}
.enquiry-form textarea{resize:vertical}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-privacy{font-size:13px;color:var(--muted);line-height:1.7}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#enquiry-status{font-size:14px;margin-top:20px;line-height:1.7}
#enquiry-status[data-error="true"]{color:#963d2a}
.enquiry-form button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){
 .header nav{padding-block:12px 24px;gap:4px;border-top:1px solid var(--line);margin-top:8px}
 .header nav>a{display:flex;align-items:center;min-height:44px;width:100%;padding-block:10px;color:var(--ink)}
 .header nav>.button{width:auto;min-height:44px;padding:10px 20px;margin-top:12px;border:1px solid var(--ink);border-radius:40px;text-decoration:none;background:transparent;color:var(--ink)}
 .text-link{min-height:44px;align-items:center}
 .button{min-height:46px;line-height:1.5;justify-content:center}
 .footer .text-link{margin-left:0}
 .contact-intro{padding-bottom:45px}
 .contact-layout{grid-template-columns:1fr;gap:32px}
 .contact-layout>div{max-width:none}
 .form-pair{grid-template-columns:1fr;gap:0}
 .enquiry-form .button{width:100%}
}

/* Navigation and orientation: warm neutrals with a restrained olive accent. */
:root{--accent:#73765b;--soft:#eae6de;--olive-wash:#eeeee5;--header-offset:112px}
.header{position:sticky;top:0;z-index:20;width:100%;min-height:88px;padding-inline:max(48px,calc((100% - 1120px)/2));background:var(--paper);border-bottom:1px solid var(--line)}
.header nav>a{position:relative;padding-block:10px;color:var(--muted);text-decoration:none}
.header nav>a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px}
.header nav>a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:9px}
.header nav>.button{padding:9px 16px;border:1px solid var(--line);border-radius:3px;color:var(--ink);text-decoration:none}
.header nav>.button:hover,.header nav>.button[aria-current]{background:var(--olive-wash);border-color:var(--accent)}
.mobile-location{display:none}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding-top:24px;font-size:12px;line-height:1.6;color:var(--muted)}
.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline;color:var(--ink)}
.breadcrumbs [aria-current]{color:var(--ink);overflow-wrap:anywhere;min-width:0}
.breadcrumbs+.page-intro{padding-top:54px}
.eyebrow{color:var(--accent)}
.dark .eyebrow{color:#cfc0b3}
.dark .text-link:hover{color:var(--paper)}
.button:active{transform:translateY(1px)}
.header .button:active{transform:none}
.text-link:hover{color:var(--ink);border-color:var(--accent);background:var(--olive-wash)}
.dark .text-link:hover{background:transparent}
.filters button.active{color:var(--ink);background:var(--olive-wash);border-color:var(--accent)}
.filters button:hover{border-color:var(--accent)}
.hero-discover{margin-left:24px}
.page-return{padding-block:30px 60px;border-top:1px solid var(--line)}
:where(section,article,h1,h2,h3,[id]){scroll-margin-top:var(--header-offset)}
.skip{position:fixed;z-index:100}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.story-layout{display:grid;grid-template-columns:minmax(0,700px) minmax(180px,1fr);gap:80px;align-items:start}
.story-layout .article{width:100%;min-width:0}
.has-story-nav .article-intro{max-width:1120px}
.has-story-nav .article-intro h1,.has-story-nav .article-intro .lead{max-width:700px}
.story-nav{position:sticky;top:120px;border-left:1px solid var(--line);padding-left:24px;font-size:13px;line-height:1.5;margin-bottom:48px;max-height:calc(100dvh - 145px);overflow-y:auto}
.story-nav summary{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:8px 0 18px;cursor:pointer}
.story-nav nav{display:flex;flex-direction:column;gap:6px}
.story-nav nav a{padding:11px 12px;border-left:2px solid transparent;text-decoration:none;color:var(--muted)}
.story-nav nav a:hover{text-decoration:underline;color:var(--ink)}
.story-nav nav a[aria-current]{background:var(--olive-wash);border-color:var(--accent);color:var(--ink)}
@media(prefers-reduced-motion:no-preference){
 .anchor-arrival{animation:anchor-arrival 1.6s ease-out}
 @keyframes anchor-arrival{0%,30%{background-color:var(--olive-wash)}100%{background-color:transparent}}
}
@media(max-width:1000px){
 .header{padding-inline:32px}
 .story-layout{display:flex;flex-direction:column;gap:26px}
 .story-nav{position:static;order:-1;width:100%;max-height:none;border:1px solid var(--line);padding:0;border-radius:3px;margin-bottom:0}
 .story-nav summary{padding:14px 18px}
 .story-nav nav{padding:0 12px 14px;max-height:45dvh;overflow-y:auto}
 .has-story-nav .article-intro{max-width:700px}
 .story-layout{max-width:700px}
}
@media(max-width:760px){
 :root{--header-offset:126px}
 .header{padding-inline:22px;min-height:72px;gap:0}
 .header .wordmark{font-size:16px}
 .header .menu{margin-left:auto}
 .header nav{max-height:55dvh;overflow-y:auto}
 .mobile-location{display:block;flex-basis:100%;margin:0;padding:0 0 9px;color:var(--ink);font-size:11px;line-height:1.6;letter-spacing:.03em}
 .mobile-location::before{content:'';display:inline-block;width:18px;height:2px;background:var(--accent);margin-right:9px;vertical-align:middle}
 .header nav>a[aria-current]{text-underline-offset:5px}
 .breadcrumbs{padding-top:20px;font-size:11px;gap:6px 9px}
 .breadcrumbs+.page-intro{padding-top:32px}
 .hero-discover{display:flex;width:max-content;margin-left:0;margin-top:20px}
 .page-return{padding-bottom:42px}
 .story-layout{gap:28px}
}
@media(min-width:1001px){.story-layout>.article{grid-column:1;grid-row:1}.story-layout>.story-nav{grid-column:2;grid-row:1}}
/* A deeper olive keeps small accent text readable against ivory. */
:root{--accent-text:#63664c}
.eyebrow,.article-intro .eyebrow{color:var(--accent-text)}
.dark .eyebrow{color:#cfc0b3}

/* Approved project graphics, deliberately spacious and responsive. */
.project-visual{margin:0;min-width:0;width:100%}
.project-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:3px}
.project-visual figcaption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:12px}
.voice-feature{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;margin-top:80px;padding-top:64px;border-top:1px solid var(--line)}
.voice-feature h3{font-size:32px}.voice-feature p{max-width:400px}
.voice-feature .badge{display:block;width:max-content;margin:20px 0 12px}
.coaching-showcase{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.coaching-showcase .split{display:block;margin-top:26px}
.coaching-showcase .large{font-size:19px}
.coaching-showcase .project-visual img{border-radius:0}
.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.chapter-grid .project-visual{margin-bottom:28px}
.chapter-grid article>p{font-size:16px;max-width:440px}
.chapter-grid article:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:36px;max-width:none}
.visual-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.project-list>.project-with-visual{align-items:center}
.two>article>.project-visual{margin-bottom:30px}
@media(max-width:1000px){.voice-feature,.coaching-showcase,.visual-intro{gap:40px}.chapter-grid{gap:40px}}
@media(max-width:760px){
 .voice-feature,.coaching-showcase,.visual-intro,.chapter-grid{grid-template-columns:1fr;gap:30px}
 .voice-feature{margin-top:54px;padding-top:46px}
 .voice-feature h3{font-size:28px}
 .project-feature .project-visual,.voice-feature .project-visual{max-width:540px;margin-inline:auto}
 .coaching-showcase .split{margin-top:22px}
 .chapter-grid .project-visual{margin-bottom:24px}
 .chapter-grid article:last-child{grid-column:auto}
 .visual-intro .project-visual{max-width:540px;margin-inline:auto}
 .project-list>.project-with-visual{gap:28px}
}

/* Classic Editorial: light book typography, ivory and restrained burgundy. */
:root{--paper:#faf8f3;--ink:#302b2b;--muted:#71696a;--line:#d9d0ca;--accent:#783e42;--accent-text:#783e42;--soft:#f0ebe6;--olive-wash:#f2eae7;--header-offset:108px;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,"Times New Roman",serif}
body{font-size:16px;line-height:1.8}
.wrap{width:min(1040px,calc(100% - 96px))}
h1,h2,h3,.wordmark{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}
h1{font-size:clamp(2rem,3.4vw,2.85rem);line-height:1.23}
h2{font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.25}
h3{font-size:1.5rem;line-height:1.35}
.header{width:100%;min-height:90px;padding-inline:max(48px,calc((100% - 1040px)/2));background:var(--paper)}
.wordmark{font-size:27px;letter-spacing:-.035em}
.header nav{gap:30px;font-size:12px}
.header nav>a{letter-spacing:.07em;text-transform:uppercase}
.header nav>a:hover,.header nav>a[aria-current]{text-decoration-thickness:1px}
.eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:24px}
.button{border-radius:0;background:var(--accent);border-color:var(--accent);padding:11px 23px;font-size:14px;gap:15px}
.button:hover{background:#602f33;border-color:#602f33;color:var(--paper)}
.button.outline{background:transparent;color:var(--accent)}
.button.outline:hover{background:var(--accent);color:var(--paper)}
.text-link{font-size:14px;color:var(--accent);gap:12px}
.text-link:hover{color:#602f33;background:transparent}
.page-intro{padding-block:75px 70px}
.section{padding-block:64px}
.lead,.large{font-size:18px}
.dark{background:var(--soft);color:var(--ink);border-top:1px solid var(--line)}
.dark p,.dark .eyebrow{color:var(--muted)}
.dark .button.light{background:var(--accent);color:var(--paper)}
.dark .text-link:hover{color:var(--accent)}
.article-intro h1{font-family:var(--serif);font-size:clamp(2rem,3.7vw,3rem);line-height:1.2}
.article-intro .lead,.article h2,.article h3,.article blockquote{font-family:var(--serif)}
.article h2{font-size:29px}.article h3{font-size:24px}
.article-intro .lead{font-size:20px}
.reading h2,.project-list h2{font-size:30px}.journal-item h2{font-size:28px}
.footer{padding-block:36px;font-size:12px}.footer .wordmark{font-size:23px}.footer .text-link{margin-top:0}
.editorial-hero{padding-block:78px 60px}
.hero-reading{max-width:770px;margin-inline:auto}
.hero-reading h1{margin-bottom:23px;text-wrap:balance}
.hero-lead{max-width:615px;font-family:var(--serif);font-size:20px;line-height:1.65}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px 32px;margin-top:29px}
.hero-actions .text-link{margin-top:0}
.profile-intro{display:grid;grid-template-columns:86px 1fr;gap:25px;max-width:770px;margin:45px auto 0;padding-top:30px;border-top:1px solid var(--line);align-items:start}
.profile-intro img{width:86px;height:86px;border-radius:50%;object-fit:cover}
.profile-intro p{font-size:14px;line-height:1.75;margin-bottom:5px;max-width:590px;color:var(--muted)}
.profile-intro .profile-name{font-family:var(--serif);color:var(--ink);font-size:21px;line-height:1.25;margin-bottom:8px}
.profile-intro .text-link{font-size:12px;margin-top:5px}
.home-coaching{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.home-coaching h2{margin-bottom:20px}.serif-intro{font-family:var(--serif);font-size:19px;line-height:1.65;max-width:390px}
.home-coaching .outline{margin-top:12px}
.coaching-detail{padding-left:42px;border-left:1px solid var(--line);font-family:var(--serif);font-size:18px;line-height:1.75}
.coaching-detail p:last-child{margin-bottom:0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:26px}
.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:16px}.section-heading>.text-link{flex-shrink:0;margin-bottom:3px}
.home-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.home-post{padding-top:24px;border-top:1px solid var(--line)}
.home-post h3 a,.creation-pair h3 a{text-decoration:none}.home-post h3 a:hover,.creation-pair h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.home-post .eyebrow{font-size:9px;margin-bottom:14px}
.home-post h3{font-size:24px;line-height:1.4}.home-post p:not(.eyebrow){font-size:14px;color:var(--muted)}
.home-post:only-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.15fr;column-gap:60px}
.home-post:only-child .eyebrow{grid-column:1;grid-row:1}
.home-post:only-child h3{grid-column:1;grid-row:2/4;margin:0;font-size:28px}
.home-post:only-child p:not(.eyebrow){grid-column:2;grid-row:1/3;margin-bottom:12px}
.home-post:only-child .text-link{grid-column:2;justify-self:start}
.home-creations h2{font-size:27px;margin-bottom:30px}
.creation-pair{display:grid;grid-template-columns:1fr 1fr;gap:55px}
.creation-pair article+article{border-left:1px solid var(--line);padding-left:45px}
.creation-pair h3{font-size:24px}.creation-pair p{font-size:14px;color:var(--muted);max-width:385px;margin-bottom:8px}.creation-pair .text-link{font-size:12px}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.header{width:100%;padding-inline:32px}.home-coaching{gap:40px}.coaching-detail{padding-left:30px}}
@media(max-width:760px){
 .wrap{width:calc(100% - 44px)}.header{width:100%;padding-inline:22px;min-height:74px}.header .wordmark{font-size:24px;letter-spacing:-.035em}.header nav{gap:3px}.header nav>a{font-size:12px}
 h1{font-size:clamp(1.9rem,6.5vw,2.5rem)}h2{font-size:28px}.section{padding-block:44px}.page-intro{padding-block:48px}
 .editorial-hero{padding-block:48px 40px}.hero-lead{font-size:18px}.hero-reading h1{letter-spacing:-.03em}.hero-actions{gap:16px 25px}.hero-actions .button{padding-inline:17px}
 .profile-intro{grid-template-columns:68px 1fr;gap:18px;margin-top:34px;padding-top:25px}.profile-intro img{width:68px;height:68px}.profile-intro .profile-name{font-size:21px}
 .home-coaching{grid-template-columns:1fr;gap:28px}.coaching-detail{border-left:0;padding-left:0;font-size:17px}.home-coaching h2 br{display:none}
 .section-heading{align-items:start;flex-direction:column;gap:12px}.section-heading h2{font-size:27px}
 .home-posts{grid-template-columns:1fr;gap:24px}.home-post:only-child{display:block}.home-post:only-child h3{font-size:26px;margin-bottom:15px}.home-post .eyebrow{margin-bottom:12px}
 .creation-pair{grid-template-columns:1fr;gap:28px}.creation-pair article+article{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:26px}
 .footer{gap:20px}.footer .wordmark{font-size:22px}.footer p{font-size:12px}.article h2{font-size:27px}
}

/* Supplied project images: preserve the full artwork on the Creations page. */
#project-showcase>.project-with-visual{gap:64px}
#project-showcase .project-upload{max-width:420px;margin-inline:auto}
#project-showcase .project-upload img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:2px}
#project-showcase .project-upload figcaption{font-size:11px;line-height:1.65;margin-top:12px}
#project-showcase .brew-gallery{width:100%;max-width:420px;justify-self:center;display:grid;gap:24px}
#project-showcase .brew-gallery .project-upload:first-child{max-width:322px}
#project-showcase .brew-gallery .project-upload:last-child{max-width:420px}
@media(max-width:760px){#project-showcase>.project-with-visual{gap:28px}#project-showcase .project-upload{max-width:420px}#project-showcase .brew-gallery{gap:24px}}

/* Full portrait artwork on individual Franella project pages. */
.project-detail-visual{max-width:420px;justify-self:center;margin-inline:auto}
.project-detail-visual img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Silky Brew House tasting collection */
.brew-trio img{aspect-ratio:3/2;object-fit:contain}
.tasting-collection{border-top:1px solid var(--line)}
.tasting-collection .section-heading{margin-bottom:32px}
.tasting-collection .section-heading>p{max-width:300px;font-size:14px;color:var(--muted)}
.tasting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.tasting-preview img{display:block;width:100%;height:auto;aspect-ratio:787/1258;object-fit:contain}
.tasting-preview h3{font-family:var(--serif);font-size:27px;font-weight:400;margin:22px 0 8px}
.tasting-preview p{font-size:14px;margin:8px 0;color:var(--muted)}
.tasting-preview .tasting-ingredients,.tasting-ingredients{font-size:12px;line-height:1.6;color:var(--muted)}
.tasting-preview .text-link{font-size:13px;margin-top:12px}
.tasting-dialog{width:min(920px,calc(100% - 36px));max-height:calc(100dvh - 40px);padding:54px 30px 30px;border:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.tasting-dialog::backdrop{background:rgba(42,34,31,.55)}
.tasting-dialog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:36px}
.tasting-dialog-layout>img{width:100%;height:auto;display:block}
.tasting-close{position:absolute;right:18px;top:12px;font:inherit;font-size:13px;color:var(--ink);border:0;background:transparent;padding:8px;cursor:pointer}
.tasting-close span{font-size:20px;margin-left:6px}
.tasting-notes h2{font-size:34px;margin:8px 0}
.tasting-notes dl{margin:24px 0}.tasting-notes dl>div{padding:12px 0;border-top:1px solid var(--line)}
.tasting-notes dt{font-size:12px;font-weight:600;margin-bottom:5px}.tasting-notes dd{margin:0;font-size:14px;line-height:1.7}
body.tasting-is-open{overflow:hidden}
@media(max-width:760px){.tasting-grid{grid-template-columns:1fr;gap:42px;max-width:400px;margin-inline:auto}.tasting-dialog{padding:52px 20px 24px}.tasting-dialog-layout{grid-template-columns:1fr;gap:24px}.tasting-dialog-layout>img{max-width:340px;margin-inline:auto}.tasting-preview h3{margin-top:18px}}
