@font-face{font-family:Archivo;src:url('/assets/fonts/archivo-narrow-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/fonts/ibm-plex-sans-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/fonts/ibm-plex-sans-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/fonts/ibm-plex-sans-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{
  --paper:#f1e8d8;--cream:#e5d3b8;--white:#faf9f6;--ink:#181716;
  --brick:#a44732;--oxide:#743326;--line:rgba(24,23,22,.26);
  --gutter:clamp(22px,5vw,88px);--heading:Archivo,'Arial Narrow',Impact,sans-serif;
  --body:Plex,Arial,sans-serif;--reading:24px;--supporting:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--reading)/1.55 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2,h3{font-family:var(--heading);font-weight:700;line-height:.98}
h1,h2{letter-spacing:-.035em}
h2{font-size:clamp(48px,5.2vw,78px)}
h3{font-size:34px;letter-spacing:-.02em}
p+p{margin-top:1em}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:6px}
a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid currentColor;outline-offset:6px}
img{display:block;width:100%;height:auto}
::selection{background:var(--brick);color:var(--white)}
.wrap{width:min(100%,1600px);padding-inline:var(--gutter);margin-inline:auto}
.brick-text{color:var(--brick)}
.section{padding-block:90px}
.standfirst{font-size:36px;line-height:1.35;letter-spacing:-.025em}
.text-link{display:inline-flex;align-items:center;gap:18px;min-height:48px;font-size:var(--supporting);font-weight:500}
.text-link span{font-size:28px}
.text-link:hover{color:var(--brick)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;max-width:100%;padding:18px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--white);font-size:var(--supporting);font-weight:500;line-height:1.35;text-decoration:none;transition:background .18s,color .18s}
.button span{flex:none;font-size:28px;line-height:1}
.button:hover{background:var(--brick);border-color:var(--brick)}
.button:focus-visible{outline-color:var(--ink)}
.skip-link{position:fixed;z-index:10;left:20px;top:12px;transform:translateY(-200%);padding:12px 20px;background:var(--ink);color:var(--white);font-size:var(--supporting)}
.skip-link:focus{transform:none}
main:focus{outline:none}
/* No microcopy: 24px reading text, with 22px as the smallest retained text. */
.site-header{display:flex;align-items:center;justify-content:space-between;min-height:145px;gap:36px;position:relative}
.site-header:after{content:'';position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);border-bottom:1px solid var(--ink)}
.wordmark{display:inline-flex;flex-direction:column;text-decoration:none;line-height:1;flex-shrink:0}
.wordmark-main{font-family:var(--heading);font-size:58px;letter-spacing:-.035em}
.wordmark-dot{font-size:22px;vertical-align:top;display:inline-block;padding:3px 0 0 5px;color:var(--brick)}
.wordmark-sub{font-weight:500;font-size:var(--supporting);letter-spacing:.1em;margin-top:7px}
.site-header nav{display:flex;gap:36px;align-items:center}
.site-header nav a{font-size:var(--supporting);text-decoration:none;padding-block:12px;min-height:48px;position:relative}
.site-header nav a[aria-current=page]:after{content:'';height:3px;background:var(--brick);position:absolute;bottom:5px;left:0;right:0}
.site-header nav a:hover{color:var(--brick)}
/* Opening composition: keep the original page width and visual scale. */
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:5%;padding-top:48px;padding-bottom:65px;align-items:center}
.hero h1{font-size:clamp(80px,8.5vw,134px);line-height:.88;letter-spacing:-.035em}
.hero-intro{max-width:480px;margin-top:32px;font-size:var(--reading)}
.hero-actions{display:flex;flex-wrap:wrap;gap:20px 24px;align-items:center;margin-top:30px}
.hero-art{position:relative;background:var(--brick);align-self:stretch;min-height:620px;display:flex;align-items:center;isolation:isolate}
.hero-art:before{content:'';position:absolute;inset:0;opacity:.10;background-image:url('/assets/graphics/grain.svg');pointer-events:none;z-index:-1}
.hero-art img{object-fit:contain;padding:10px;max-height:700px}
/* Workshop */
.workshop{border-top:1px solid var(--line)}
.workshop-opening{display:grid;grid-template-columns:1.15fr 1fr;gap:8%}
.workshop-opening .standfirst{margin-bottom:28px}
.workshop-opening h2{max-width:600px}
.section-prose{max-width:510px}
.process{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:60px 0 0;padding:0;border-block:1px solid var(--line)}
.process li{display:flex;gap:20px;align-items:flex-start;padding:30px 20px 30px 0;min-width:0}
.process li+li{border-left:1px solid var(--line);padding-left:25px}
.process-number{font:700 56px/.95 var(--heading);color:var(--brick);flex:none}
.process li>div{min-width:0}
.process h3{font-size:34px;margin-bottom:14px}
.process p{font-size:var(--reading);line-height:1.5}
.process-arrow{display:none}
/* Workbench: one clear disclaimer, no text pasted over artwork. */
.workbench{background:#e8dfce;scroll-margin-top:0}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:45px}
.section-heading p{font-size:var(--reading);max-width:480px}
.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.product{min-width:0}
.product-visual{border:1px solid rgba(24,23,22,.09);overflow:hidden;background:var(--cream)}
.product-visual img{transition:transform .25s;aspect-ratio:480/440;object-fit:contain}
.product-visual:hover img{transform:translateY(-4px)}
.red-study{background:#bd6a50}.orange-study{background:#d5b991}.berry-study{background:#d7cbb5}
.product-meta{margin:24px 0 18px}
.status{display:inline-block;font-size:var(--supporting);font-weight:500;padding:7px 11px;border:1px solid currentColor;line-height:1.35}
.product h3{font-size:34px;margin-bottom:18px}
.product p{font-size:var(--reading);line-height:1.55}
.product .product-lead{font-weight:500}
.product p+p{margin-top:14px}
/* Philosophy */
.philosophy{background:var(--ink);color:var(--paper)}
.philosophy-opening{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}
.philosophy h2{font-size:clamp(58px,6.4vw,98px)}
.philosophy h2>span{color:#ce785f}
.philosophy-opening>div{max-width:460px}
.outlined-brick{display:block;width:75px;height:33px;border:2px solid currentColor;transform:skewY(-12deg);position:relative;margin-bottom:40px}
.outlined-brick:before{content:'';position:absolute;left:10px;top:8px;width:100%;height:100%;border:2px solid currentColor}
.philosophy .outlined-brick{color:#ce785f}
.philosophy-opening .standfirst{margin-bottom:26px}
.philosophy-opening p:not(.standfirst){color:#d7cdbc}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:60px}
.principles article{padding-top:25px;border-top:1px solid rgba(241,232,216,.35)}
.principles h3{font-size:32px}
.principles p{font-size:var(--reading);color:#d7cdbc;margin-top:18px}
/* Place */
.place{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}
.place-visual{position:relative;background:#dfd1ba;aspect-ratio:1/1;overflow:hidden}
.place-graphic{height:100%;display:grid;grid-template-columns:repeat(2,65%);grid-template-rows:repeat(3,19%);gap:16px;align-content:center;transform:rotate(-12deg) translateX(-12%)}
.place-graphic span{background:var(--brick);position:relative}
.place-graphic span:after{content:'';position:absolute;inset:0;background:url('/assets/graphics/grain.svg');opacity:.22}
.place-graphic span:nth-child(3n){background:var(--oxide)}
.place-graphic span:nth-child(3),.place-graphic span:nth-child(4){transform:translateX(-34%)}
.place-copy h2{font-size:clamp(48px,4.5vw,67px);margin-bottom:28px}
.place-copy p{font-size:var(--reading)}
.place-copy .text-link{margin-top:30px}
/* Honest launch panel */
.updates{background:var(--brick);color:var(--paper);padding-block:80px}
.updates-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}
.updates h2{font-size:clamp(48px,5.3vw,80px)}
.updates-copy{max-width:480px}
.updates-copy .status{margin-bottom:24px}
.updates-copy p{font-size:var(--reading)}
.updates-signoff{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(241,232,216,.45);margin-top:28px;padding-top:20px;font-size:var(--reading);font-weight:500}
.updates-signoff span{font-size:30px}
/* Footer */
.site-footer{padding-top:50px}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;padding-bottom:40px}
.footer-place{font-size:var(--supporting);line-height:1.6;max-width:420px}
.footer-place strong{font-weight:500}
.site-footer nav{display:flex;gap:30px;flex-wrap:wrap}
.site-footer nav a{font-size:var(--supporting);min-height:48px;display:inline-flex;align-items:center}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:var(--supporting);padding-block:25px;position:relative}
.footer-bottom:before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid var(--line)}
.footer-bottom a{text-decoration:none;min-height:48px;display:inline-flex;align-items:center;gap:12px;flex:none}
/* Editorial story */
.story-hero{padding-block:55px}
.story-hero h1{font-size:clamp(66px,8.5vw,130px);line-height:.96;max-width:1100px}
.story-hero-bottom{margin-top:36px}
.story-hero-bottom p{font-size:var(--reading)}
.story-band{background:var(--brick);color:var(--paper);display:flex;justify-content:space-around;gap:20px;padding:30px var(--gutter);font:700 clamp(32px,4vw,58px)/1 var(--heading);letter-spacing:-.025em}
.story-section{display:grid;grid-template-columns:1fr 2fr;gap:8%}
.story-body{max-width:760px}
.story-body h2{font-size:clamp(50px,5.3vw,80px);margin-bottom:35px}
.story-body p{max-width:760px;font-size:var(--reading)}
.story-body p.standfirst{font-size:36px;margin-bottom:30px}
.story-body h3{font-size:36px;margin-bottom:25px}
.story-body blockquote{font-family:var(--heading);font-size:clamp(38px,3.5vw,52px);line-height:1.16;letter-spacing:-.025em;color:var(--brick);padding-block:36px;margin-block:45px;border-block:1px solid var(--line)}
.mini-courses{width:150px;margin-top:12px}
.mini-courses i{display:block;width:120px;height:44px;background:var(--brick);margin-bottom:8px}
.mini-courses i:nth-child(2){margin-left:25px}.mini-courses i:nth-child(3){background:var(--oxide)}
.why-brick{background:var(--cream)}
.why-brick .outlined-brick{margin-top:25px;color:var(--brick)}
.story-motto{font-family:var(--heading);font-size:clamp(32px,3vw,42px);line-height:1.2;border-top:1px solid var(--line);margin-top:40px;padding-top:25px;display:flex;flex-wrap:wrap;gap:10px 30px;color:var(--oxide)}
.story-big-number{font:700 160px/1 var(--heading);color:var(--brick);display:block}
.story-body .story-kicker{font-size:var(--reading);font-weight:500;margin-bottom:24px}
.story-body .button{margin-top:35px}
/* 404 */
.error-page{padding-block:80px 100px;min-height:65vh}
.error-page .eyebrow{font-size:var(--supporting);margin-bottom:28px}
.error-page h1{font-size:clamp(68px,9vw,135px);line-height:.95}
.error-page p:not(.eyebrow){max-width:650px;margin-block:32px}
.error-page .text-link{margin-left:25px}
@media(max-width:1199px){
  .section{padding-block:75px}
  .hero h1{font-size:clamp(77px,9vw,105px)}
  .hero-art{min-height:570px}
  .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}
  .process li{display:block;padding:25px 20px 25px 0}
  .process-number{display:block;margin-bottom:20px}
  .process li+li{padding-left:25px}
  .philosophy-opening{gap:6%}
  .philosophy h2{font-size:clamp(58px,6.2vw,78px)}
  .footer-top{flex-wrap:wrap}
}
@media(max-width:999px){
  .workshop-opening,.philosophy-opening,.place,.updates-inner{grid-template-columns:1fr;gap:40px}
  .section-prose,.philosophy-opening>div,.updates-copy{max-width:760px}
  .section-heading{display:block}
  .section-heading p{margin-top:28px;max-width:700px}
  .products{grid-template-columns:1fr;gap:55px}
  .product{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-content:start}
  .product-visual{grid-column:1;grid-row:1/5;align-self:start}
  .product-meta,.product h3,.product p{grid-column:2}
  .product-meta{margin-top:0}
  .principles{grid-template-columns:1fr;gap:30px}
  .principles p{max-width:760px}
  .place-visual{max-width:650px;width:100%;aspect-ratio:1.3/1}
  .place-copy{max-width:760px}
  .story-section{grid-template-columns:1fr;gap:0}
  .story-margin{display:none}
  .story-body{max-width:900px}
  .philosophy .outlined-brick{display:none}
  .footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px}
  .site-footer nav{grid-column:1/-1}
}
@media(max-width:760px){
  .site-header{padding-block:25px;min-height:0;flex-direction:column;align-items:flex-start;gap:22px}
  .wordmark-main{font-size:52px}
  .site-header nav{gap:36px;flex-wrap:wrap}
  .hero{grid-template-columns:1fr;gap:35px;padding-block:36px 45px}
  .hero h1{font-size:clamp(79px,15.2vw,116px);line-height:.9}
  .hero-intro{max-width:none;margin-top:30px}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:16px;margin-top:28px}
  .hero-art{min-height:0;aspect-ratio:1.1/1}
  .hero-art img{height:100%;padding:0}
  .section{padding-block:60px}
  .standfirst,.story-body p.standfirst{font-size:30px}
  .workshop-opening h2{font-size:clamp(43px,8.9vw,65px)}
  .process{grid-template-columns:1fr;margin-top:35px}
  .process li{display:flex;gap:22px;padding:25px 0}
  .process li+li{padding:25px 0;border-left:0;border-top:1px solid var(--line)}
  .process-number{min-width:50px;margin:0;font-size:50px}
  .process h3{font-size:32px}
  .product{display:block}
  .product-visual{aspect-ratio:1.15/1}
  .product-visual img{height:100%;object-fit:contain}
  .product-meta{margin:24px 0 20px}
  .product h3{font-size:34px}
  .philosophy h2{font-size:clamp(51px,11vw,80px)}
  .principles{margin-top:40px}
  .place-copy h2{font-size:clamp(47px,9.8vw,65px)}
  .updates{padding-block:60px}
  .updates h2{font-size:clamp(43px,9.2vw,66px)}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}
  .story-hero{padding-block:40px}
  .story-hero h1{font-size:clamp(45px,9.2vw,70px)}
  .story-band{padding-block:25px;font-size:32px;display:grid;grid-template-columns:1fr 1fr}
  .story-body h2{font-size:clamp(42px,8.5vw,61px);margin-bottom:28px}
  .story-body h3{font-size:34px}
  .story-body blockquote{font-size:38px;margin-block:35px;padding-block:30px}
  .story-motto{font-size:34px;gap:6px;flex-direction:column}
  .error-page{padding-block:60px 80px}
  .error-page .text-link{margin-left:0;margin-top:25px;display:flex;width:max-content}
  .error-page h1{font-size:clamp(65px,12vw,100px)}
}
@media(max-width:370px){:root{--gutter:20px}.button{padding-inline:16px;gap:12px}.wordmark-main{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.hero-art,.updates{display:none}body{background:white;color:black}.section{padding-block:25px}.philosophy,.workbench,.why-brick{background:white;color:black}.philosophy p,.philosophy h2>span{color:black}a{color:black}.wrap{padding-inline:0}}
