:root{--paper:#f5f4ee;--ink:#22251e;--muted:#62655c;--line:#d0d1c8;--panel:#e9ebe3;--accent:#c4cd99}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a,button,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}header{height:108px;margin:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,'Times New Roman',serif;font-size:36px;letter-spacing:.11em;line-height:1}.wordmark span{font:12px Arial;vertical-align:top;letter-spacing:0}nav{display:flex;gap:38px;align-items:center;font-size:14px}nav a{transition:opacity .2s}nav a:hover{opacity:.55}.nav-contact{border-bottom:1px solid;padding:7px 0}.nav-contact span{margin-left:24px}.hero{padding:34px 5% 0}.hero-top,.hero-bottom,.section-label{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;letter-spacing:.08em}.eyebrow{margin:0}.edition{color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:5%;min-height:625px;padding:60px 0 40px}.hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(55px,6.5vw,104px);font-weight:400;letter-spacing:-.065em;line-height:1.05;margin:0 0 32px}em{font-weight:400}.hero-copy p{max-width:450px;color:var(--muted);font-size:17px;line-height:1.8}.text-link{display:inline-flex;gap:52px;align-items:center;font-size:14px;border-bottom:1px solid;padding:10px 0;margin-top:20px}.text-link span{font-size:21px}.brand-panel{min-height:455px;background:var(--panel);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:48px 28px 24px}.brand-panel img{display:block;max-width:80%;width:330px;height:auto;mix-blend-mode:multiply}.brand-caption{font-size:12px;margin-top:35px;color:var(--muted)}.hero-bottom{border-top:1px solid var(--line);padding:22px 0}.section{padding:56px 5%}.section-label{padding-bottom:42px}.section-label>span:last-child{letter-spacing:0;color:var(--muted)}.philosophy-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%}h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4.1vw,66px);line-height:1.2;letter-spacing:-.045em;font-weight:400;margin:0}h2 em{color:var(--muted)}.prose p{color:var(--muted);margin:0 0 22px}.prose .lead{font-size:22px;line-height:1.6;color:var(--ink)}.photo{margin:0 5%;position:relative;height:560px;overflow:hidden;background:#ddd}.photo img{width:100%;height:100%;object-fit:cover;object-position:center 56%;display:block}.photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#1118);pointer-events:none}.photo figcaption{position:absolute;bottom:26px;left:30px;right:30px;color:white;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.07em;z-index:1}.research{padding-top:56px}.research-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%}.pill{font-size:12px;letter-spacing:.08em;border:1px solid #969b89;border-radius:30px;padding:8px 13px;display:inline-block}h3{font-size:30px;font-weight:400;line-height:1.3;margin:24px 0 18px}.research-body>p{color:var(--muted)}.steps{margin:35px 0 0;padding:0;list-style:none}.steps li{display:flex;gap:28px;padding:23px 0;border-top:1px solid var(--line)}.steps li>span{font-size:12px;padding-top:4px;color:var(--muted)}h4{font-size:17px;font-weight:400;margin:0 0 6px}.steps p{font-size:14px;color:var(--muted);margin:0}.contact{background:var(--ink);color:var(--paper);padding-bottom:86px}.contact .section-label>span:last-child,.contact h2 em{color:#c3c8b8}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%}.contact-grid>div>p{max-width:360px;color:#c3c8b8;margin-top:30px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;font-size:14px;margin-bottom:23px}label>span{color:var(--accent)}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #636758;border-radius:0;background:transparent;font:16px Arial;color:white;padding:12px 0;outline:none;min-height:48px}textarea{resize:vertical;min-height:120px}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 1px var(--accent)}input::placeholder,textarea::placeholder{color:#a8ad9e;font-size:14px}.form-note{font-size:13px;line-height:1.6;color:#c3c8b8;max-width:440px}button{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--accent);color:var(--ink);border:0;font:15px Arial;padding:19px 22px;cursor:pointer;margin-top:23px}button:hover{background:#d2dab5}button:disabled{background:#454a3d;color:#c0c5b6;cursor:not-allowed}button span{font-size:22px}#form-status{font-size:14px;color:#d8dfca}footer{display:flex;align-items:center;gap:35px;justify-content:space-between;padding:42px 5%;font-size:12px}footer p{font-size:10px;letter-spacing:.08em;max-width:230px}footer>a:last-child{font-size:13px}@media(min-width:1600px){header,main,footer{max-width:1600px;margin-left:auto;margin-right:auto}header{padding-left:80px;padding-right:80px}.hero-grid{min-height:720px}}@media(max-width:850px){header{height:90px}nav{gap:22px}.edition{display:none}.hero-grid{gap:6%;min-height:500px}.hero-copy h1{font-size:60px}.brand-panel{min-height:360px;padding:30px 15px}.brand-caption{font-size:11px;text-align:center}.hero-copy p{font-size:16px}.section{padding-top:48px;padding-bottom:48px}.philosophy-grid,.research-grid,.contact-grid{gap:6%}.photo{height:420px}.field-row{grid-template-columns:1fr;gap:0}footer{gap:20px}footer p{display:none}}@media(max-width:600px){header{height:80px}.wordmark{font-size:29px}nav{gap:18px;font-size:13px}nav a:nth-child(2){display:none}.nav-contact span{margin-left:8px}.hero{padding-top:24px}.hero-top{font-size:10px;letter-spacing:.07em}.hero-grid{grid-template-columns:1fr;padding:42px 0 32px;gap:35px}.hero-copy h1{font-size:64px;line-height:1.07;margin-bottom:24px}.hero-copy p{max-width:360px}.brand-panel{min-height:355px}.brand-panel img{width:245px}.brand-caption{margin-top:25px}.hero-bottom{font-size:9px;letter-spacing:.02em;gap:12px}.section-label{align-items:flex-start;font-size:11px;padding-bottom:30px}.section-label>span:last-child{max-width:150px;text-align:right}.philosophy-grid,.research-grid,.contact-grid{grid-template-columns:1fr;gap:35px}h2{font-size:43px}.prose .lead{font-size:20px}.photo{height:380px}.photo img{object-position:46% center}.photo figcaption{left:18px;right:18px;bottom:18px;font-size:10px;gap:15px}.photo figcaption span:last-child{max-width:125px;text-align:right}.research-grid .text-link{margin-top:15px}.contact-grid>div>p{margin-top:22px}.field-row{grid-template-columns:1fr 1fr;gap:18px}footer{flex-wrap:wrap;padding-top:32px;padding-bottom:32px;gap:20px}footer .wordmark{width:100%}footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}



.services-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:55px}
.services-heading .text-link{flex-shrink:0;margin-bottom:8px}
.services-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-item{padding:38px 9% 34px 0;display:flex;flex-direction:column;min-width:0}
.service-item+ .service-item{border-left:1px solid var(--line);padding-left:9%;padding-right:0}
.service-index{font-size:12px;letter-spacing:.08em;color:var(--muted)}
.service-item h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,2.6vw,40px);letter-spacing:-.035em;margin:22px 0 18px}
.service-item p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 30px;max-width:490px}
.service-details{font-size:14px;line-height:1.8;margin-top:auto;color:var(--ink)}
@media(max-width:700px){.services-heading{display:block;margin-bottom:35px}.services-heading .text-link{margin-top:22px}.services-pair{grid-template-columns:1fr}.service-item{padding:30px 0}.service-item+ .service-item{padding:30px 0;border-left:0;border-top:1px solid var(--line)}.service-item h3{font-size:32px}.service-item p{margin-bottom:22px}}

.manifesto>h2{margin-bottom:40px;text-align:center}.manifesto-foundations{border-top:1px solid var(--line);padding-top:36px}.manifesto-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;margin-bottom:38px}.manifesto h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3vw,40px);letter-spacing:-.03em;margin:0;line-height:1.25}.manifesto p{font-size:17px;line-height:1.85;color:var(--muted);margin:0 0 23px}.principles{display:grid;grid-template-columns:1fr 1fr;column-gap:7%}.principle{display:flex;gap:24px;border-top:1px solid var(--line);padding:30px 0}.principle-number{font-size:13px;color:var(--muted);padding-top:6px}.principle h4{font:400 27px/1.3 Georgia,serif;margin:0 0 15px}.principle p{margin:0;font-size:16px}.manifesto .manifesto-closing{max-width:760px;margin:20px 0 55px}.manifesto-chapter{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;border-top:1px solid var(--line);padding-top:40px;margin-top:45px}.manifesto-prose{max-width:720px}.manifesto-prose p:first-child{font-size:20px;color:var(--ink)}.manifesto-signature{border-top:1px solid var(--line);padding-top:35px;margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.manifesto-signature>span{font:36px Georgia,serif;letter-spacing:.1em}.manifesto-signature p{margin:0;color:var(--ink)}@media(max-width:700px){.manifesto>h2{margin-bottom:28px}.manifesto-heading,.manifesto-chapter{grid-template-columns:1fr;gap:25px}.principles{grid-template-columns:1fr}.principle{gap:20px;padding:25px 0}.manifesto .manifesto-closing{margin-bottom:35px}.manifesto-chapter{margin-top:30px;padding-top:30px}.manifesto-signature{display:block}.manifesto-signature p{margin-top:15px}.manifesto p{font-size:16px}}

.techniques-section{background:#1e2219;color:#efeee6;border-bottom:1px solid #414435}.techniques-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:5%}.techniques-kicker{font-size:12px;letter-spacing:.18em;color:#c5ab5c;font-weight:bold;margin:8px 0}.techniques-section h2{font:400 clamp(30px,3.2vw,44px)/1.25 Arial,sans-serif;letter-spacing:-.025em}.techniques-list{padding:0;margin:38px 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:7%}.techniques-list li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0;border-top:1px solid #454a3d}.techniques-list li>span:first-child{font:24px Georgia,serif}.techniques-list li>span:last-child{font-size:14px;color:#bcc0af}@media(max-width:850px){.techniques-layout{grid-template-columns:1fr;gap:25px}}@media(max-width:600px){.techniques-list{grid-template-columns:1fr}.techniques-list li{padding:19px 0}}

.storefront-photo{margin:0 5% 48px;display:flex;flex-direction:column;align-items:center;background:var(--panel);padding:36px}.storefront-photo img{display:block;width:100%;max-width:820px;height:auto}.storefront-photo figcaption{font-size:13px;color:var(--muted);margin-top:18px;text-align:center}@media(max-width:600px){.storefront-photo{padding:16px;margin-bottom:28px}.storefront-photo figcaption{font-size:12px}}

/* A photographic study beside the fermentation techniques. */
.techniques-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;align-items:center}
.techniques-visual{min-width:0}
.koji-photo{margin:26px 0 0}
.koji-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 60%}
.koji-photo figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:14px;font-size:14px;color:#efeee6}
.koji-photo figcaption span:last-child{color:#bcc0af}
@media(max-width:850px){.techniques-layout{grid-template-columns:1fr;gap:36px}.koji-photo{max-width:460px}.koji-photo img{aspect-ratio:4/3}}
/* Paired photographic studies, with room for the original subjects. */
.techniques-layout{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:5%}
.techniques-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:48px}
.techniques-gallery .koji-photo{margin:0;max-width:none;min-width:0}
.techniques-gallery .koji-photo img{aspect-ratio:1144/1375;width:100%;height:auto;object-fit:cover}
.techniques-gallery .pickles-photo img{object-position:center}
@media(max-width:850px){.techniques-layout{grid-template-columns:1fr;gap:20px}}
@media(max-width:850px){.techniques-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.techniques-gallery{grid-template-columns:1fr;gap:32px;margin-top:32px}.koji-photo figcaption{flex-wrap:wrap;gap:8px 16px}}

.barley-study{background:var(--paper);color:var(--ink)}
.barley-study-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(320px,1fr);gap:10%;align-items:center}
.barley-study h2{font:400 clamp(42px,5vw,76px)/1.02 Georgia,serif;letter-spacing:-.045em;margin:20px 0 26px}
.barley-study h2 em{color:var(--muted)}
.barley-study-copy{max-width:360px;color:var(--muted);font-size:17px;line-height:1.8}
.barley-photo{margin:0;max-width:560px;justify-self:end}
.barley-photo img{display:block;width:100%;height:auto;aspect-ratio:828/1472;object-fit:cover}
.barley-photo figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:14px;font-size:13px;color:var(--ink)}
.barley-photo figcaption span:last-child{color:var(--muted)}
@media(max-width:700px){.barley-study-grid{grid-template-columns:1fr;gap:32px}.barley-photo{justify-self:stretch;max-width:460px}.barley-study-copy{font-size:16px}}

.manifesto-chapter > .barley-photo{width:100%;max-width:340px;margin:28px 0 0;align-self:start;justify-self:start}
.manifesto-chapter > .barley-photo img{display:block;width:100%;height:auto;aspect-ratio:828/1472;object-fit:cover}
.manifesto-chapter > .barley-photo figcaption{display:block;padding-top:12px;font-size:12px;line-height:1.5}
.manifesto-chapter > .barley-photo figcaption span{display:block}
.manifesto-chapter > .barley-photo figcaption span:last-child{color:var(--muted)}
@media(max-width:700px){.manifesto-chapter > .barley-photo{max-width:360px;margin-top:8px}}

.manifesto-chapter.has-barley-photo{grid-template-areas:"title prose" "photo prose";align-items:start}
.manifesto-chapter.has-barley-photo > h3{grid-area:title}
.manifesto-chapter.has-barley-photo > .manifesto-prose{grid-area:prose}
.manifesto-chapter.has-barley-photo > .barley-photo{grid-area:photo}
@media(max-width:700px){.manifesto-chapter.has-barley-photo{grid-template-areas:"title" "photo" "prose"}}

.hero-top .edition{display:none}

.manifesto-chapter.has-barley-photo{padding-bottom:80px}


@media(max-width:600px){.techniques-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.techniques-gallery .koji-photo figcaption{display:block;font-size:10px;line-height:1.35;padding-top:8px}.techniques-gallery .koji-photo figcaption span{display:block}.techniques-gallery .koji-photo figcaption span:last-child{margin-top:2px}}


.services-photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:48px}.services-photo-card{margin:0;min-width:0}.services-photo-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.services-photo-card figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:14px;font-size:13px;color:var(--ink)}.services-photo-card figcaption span:last-child{color:var(--muted)}@media(max-width:600px){.services-photo-strip{gap:12px;margin-top:28px}.services-photo-card figcaption{display:block;font-size:10px;line-height:1.35;padding-top:8px}.services-photo-card figcaption span{display:block}.services-photo-card figcaption span:last-child{margin-top:2px}}


.hero-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 5%;padding:0 0 90px}.hero-photo-card{margin:0;min-width:0}.hero-photo-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.hero-photo-card figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:14px;font-size:13px;color:var(--ink)}.hero-photo-card figcaption span:last-child{color:var(--muted)}@media(max-width:600px){.hero-photo-strip{gap:12px;padding-bottom:60px}.hero-photo-card figcaption{display:block;font-size:10px;line-height:1.35;padding-top:8px}.hero-photo-card figcaption span{display:block}.hero-photo-card figcaption span:last-child{margin-top:2px}}


.hero-feature-photo,.services-feature-photo,.techniques-feature-photo{margin-top:0;min-width:0}.hero-feature-photo{width:min(38%,460px);margin:0 5% 90px auto}.hero-feature-photo img,.services-feature-photo img,.techniques-feature-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.hero-feature-photo figcaption,.services-feature-photo figcaption{display:flex;justify-content:space-between;gap:18px;width:100%;padding-top:14px;font-size:13px;color:var(--ink)}.hero-feature-photo figcaption span:last-child,.services-feature-photo figcaption span:last-child{color:var(--muted)}.services-feature-photo{width:min(44%,520px);margin:54px 0 0 auto}.techniques-feature-photo{width:min(34%,420px);margin:48px auto 56px 0}.techniques-feature-photo figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:14px;font-size:13px;color:#efeee6}.techniques-feature-photo figcaption span:last-child{color:#bcc0af}@media(max-width:600px){.hero-feature-photo,.services-feature-photo,.techniques-feature-photo{width:100%;margin-left:0;margin-right:0}.hero-feature-photo{margin-bottom:60px}.services-feature-photo{margin-top:36px}.techniques-feature-photo{margin-top:32px;margin-bottom:40px}.hero-feature-photo figcaption,.services-feature-photo figcaption,.techniques-feature-photo figcaption{display:block;font-size:10px;line-height:1.35;padding-top:8px}.hero-feature-photo figcaption span,.services-feature-photo figcaption span,.techniques-feature-photo figcaption span{display:block}.hero-feature-photo figcaption span:last-child,.services-feature-photo figcaption span:last-child,.techniques-feature-photo figcaption span:last-child{margin-top:2px}}


/* Editorial image placement inside existing copy blocks. */
.manifesto-chapter.has-inline-photo{grid-template-areas:"heading prose" "photo prose";align-items:start}
.manifesto-chapter.has-inline-photo>h3{grid-area:heading}
.manifesto-chapter.has-inline-photo>.manifesto-prose{grid-area:prose}
.inline-manifesto-photo{grid-area:photo;width:100%;max-width:340px;margin:28px 0 0;align-self:start}
.inline-manifesto-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.inline-manifesto-photo figcaption{display:block;padding-top:12px;font-size:12px;line-height:1.5;color:var(--ink)}
.inline-manifesto-photo figcaption span{display:block}
.inline-manifesto-photo figcaption span:last-child{color:var(--muted)}
.service-item--photo{display:grid;grid-template-columns:minmax(120px,34%) minmax(0,1fr);gap:24px;align-items:start}
.service-inline-photo{margin:0;min-width:0}
.service-inline-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.service-inline-photo figcaption{display:block;padding-top:10px;font-size:11px;line-height:1.45;color:var(--muted)}
.service-inline-photo figcaption span{display:block}
.service-inline-photo figcaption span:last-child{color:#8a8e84}
.techniques-inline-photo{margin:36px 0 0;max-width:170px}
.techniques-inline-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.techniques-inline-photo figcaption{display:block;padding-top:10px;font-size:11px;line-height:1.4;color:#efeee6}
.techniques-inline-photo figcaption span{display:block}
.techniques-inline-photo figcaption span:last-child{color:#bcc0af}
.techniques-list li.technique-item--photo{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:16px}
.technique-item-label{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.technique-item-label>span:first-child{font:24px Georgia,serif}
.technique-item-label>span:last-child{font-size:14px;color:#bcc0af;text-align:right}
.technique-inline-photo{margin:0;min-width:0}
.technique-inline-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.technique-inline-photo figcaption{display:block;padding-top:6px;font-size:9px;line-height:1.3;color:#efeee6}
.technique-inline-photo figcaption span{display:block}
.technique-inline-photo figcaption span:last-child{color:#bcc0af}
@media(max-width:700px){.manifesto-chapter.has-inline-photo{grid-template-areas:"heading" "photo" "prose"}.inline-manifesto-photo{max-width:360px;margin-top:8px}.service-item--photo{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px}.service-inline-photo figcaption{font-size:10px}.service-item--photo .service-item h3{font-size:32px}}
@media(max-width:600px){.techniques-inline-photo{max-width:210px;margin-top:24px}.techniques-list li.technique-item--photo{grid-template-columns:minmax(0,1fr) 90px;gap:12px}.technique-item-label{display:block}.technique-item-label>span{display:block}.technique-item-label>span:last-child{text-align:left;margin-top:2px;font-size:12px}.technique-item-label>span:first-child{font-size:21px}.technique-inline-photo figcaption{font-size:8px}.service-item--photo{grid-template-columns:96px minmax(0,1fr);gap:16px}}
/* Make the inline technique photographs read as editorial panels, like the barley study. */
.techniques-list li.technique-item--photo{grid-template-columns:minmax(0,1fr) 168px;gap:22px;min-height:222px}
.techniques-list li.technique-item--photo .technique-item-label{align-self:center}
.technique-inline-photo{width:168px}
.technique-inline-photo img{aspect-ratio:4/5}
.technique-inline-photo figcaption{font-size:10px;line-height:1.35;padding-top:8px}
@media(max-width:600px){.techniques-list li.technique-item--photo{grid-template-columns:minmax(0,1fr) 122px;gap:14px;min-height:170px}.technique-inline-photo{width:122px}.technique-inline-photo figcaption{font-size:8px}}
/* A photograph in the open principles cell, beside the fifth value. */
.principles .foundations-photo{margin:0;min-width:0;align-self:start}
.principles .foundations-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.principles .foundations-photo figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:10px;font-size:12px;line-height:1.4;color:var(--ink)}
.principles .foundations-photo figcaption span:last-child{color:var(--muted)}
@media(max-width:700px){.principles .foundations-photo{max-width:360px;margin-top:4px}.principles .foundations-photo figcaption{display:block;font-size:10px}.principles .foundations-photo figcaption span{display:block}.principles .foundations-photo figcaption span:last-child{margin-top:2px}}
/* Refine the foundations image so it supports the copy instead of dominating it. */
.principles .foundations-photo{width:min(68%,360px);justify-self:end;margin-top:24px}
@media(max-width:700px){.principles .foundations-photo{width:100%;max-width:360px;justify-self:start;margin-top:4px}}

/* Newsletter signup. A compact light strip after the contact section (and at the
   end of the articles page), so it catches visitors not ready to get in touch
   without competing with the contact form. The global form rules above are
   written for the dark contact section (white input text, full-width accent
   button), so everything here is scoped and overrides them. */
.newsletter{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding-top:40px;padding-bottom:40px}
.newsletter-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}
.newsletter-kicker{font-size:11px;letter-spacing:.08em;margin:0 0 12px}
.newsletter-grid>div>p:last-child{max-width:380px;color:var(--muted);margin:12px 0 0}
.newsletter label{display:block;font-size:14px;margin:0 0 4px;color:var(--ink)}
.newsletter-row{display:flex;align-items:stretch;border-bottom:1px solid var(--ink)}
.newsletter-row:focus-within{box-shadow:0 1px 0 var(--ink)}
.newsletter .newsletter-row input{flex:1 1 auto;min-width:0;color:var(--ink);border:0;box-shadow:none;padding:12px 12px 12px 0}
.newsletter .newsletter-row input::placeholder{color:#8b8f83}
.newsletter .newsletter-row button{flex:0 0 auto;width:auto;margin:0;justify-content:center;background:var(--ink);color:var(--paper);padding:0 26px;font-size:14px;letter-spacing:.04em}
.newsletter .newsletter-row button:hover{background:#3a3e33}
.newsletter .newsletter-row button:disabled{background:#8b8f83;color:var(--paper)}
.newsletter-note{font-size:13px;line-height:1.6;color:var(--muted);max-width:440px;margin:16px 0 0}
#newsletter-status{font-size:14px;line-height:1.55;margin:12px 0 0;min-height:1.55em;color:var(--ink)}
#newsletter-status[data-kind="error"]{color:#9a3b26}
/* Honeypot: off-screen rather than display:none, which some bots skip. */
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
#form-status{line-height:1.55;margin:14px 0 0;min-height:1.55em}
#form-status[data-kind="error"]{color:#f2a48f}
.newsletter-note a,.form-note a,.footer-privacy{text-decoration:underline;text-underline-offset:3px}
/* Cookie banner (consent.js). Both choices look the same on purpose: refusing must
   be as easy as accepting. */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;max-width:540px;background:var(--ink);color:var(--paper);padding:20px 22px;box-shadow:0 10px 30px #0003}
.cookie-banner[hidden]{display:none!important}
.cookie-banner p{margin:0 0 14px;font-size:14px;line-height:1.6;color:#d8dfca}
.cookie-banner strong{color:var(--paper);font-weight:600}
.cookie-banner a{text-decoration:underline;text-underline-offset:3px}
.cookie-banner .cookie-current[hidden]{display:none}
.cookie-actions{display:flex;gap:10px}
.cookie-banner .cookie-actions button{flex:1;width:auto;margin:0;justify-content:center;background:transparent;color:var(--paper);border:1px solid #c3c8b8;padding:12px 16px;font-size:14px}
.cookie-banner .cookie-actions button:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}


@media(max-width:850px){.newsletter-grid{gap:6%}}
@media(max-width:600px){.newsletter{padding-top:32px;padding-bottom:32px}.newsletter-grid{grid-template-columns:1fr;gap:22px}.newsletter .newsletter-row button{padding:0 18px}}
