@font-face{font-family:Bodoni;src:url('assets/bodoni-moda.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('assets/archivo-variable.ttf') format('truetype');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
:root{--paper:#f3f2ed;--ink:#23251f;--muted:#626459;--rule:#c8c9be;--accent:#a03c25;--gutter:clamp(20px,3.5vw,76px);--display:Archivo,'Helvetica Neue',Arial,sans-serif;--sans:Archivo,'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
body.dialog-open{overflow:hidden}
::selection{background:var(--ink);color:var(--paper)}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;background:none;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation;text-underline-offset:6px}
figure,h1,h2,h3,p,ul{margin:0}
h1,h2,h3{font-weight:500}
h2,h3{font-family:var(--display);font-stretch:90%;letter-spacing:-.04em;word-spacing:.025em}
img{display:block;width:100%;height:auto}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
[hidden]{display:none!important}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:var(--paper);padding:14px}
.skip-link:focus{top:15px}
.cover-heading{padding:0 var(--gutter) 19px}
.masthead{display:flex;justify-content:space-between;font-family:Bodoni,serif;font-size:21.1vw;font-weight:500;font-variation-settings:'opsz' 96;line-height:.91;letter-spacing:-.085em;margin:8px 1.3vw 0 -.65vw}
.masthead span:last-child{margin-right:.08em}
.cover-image img{height:clamp(480px,calc(100svh - 22vw),900px);object-fit:cover;object-position:center 10%}
.image-button{display:block;position:relative;width:100%;cursor:zoom-in;overflow:hidden}
.image-button img{transition:transform .85s cubic-bezier(.2,.6,.2,1)}
@media(hover:hover){.image-button:hover img{transform:scale(1.025)}}
.editorial{padding:clamp(80px,9.5vw,165px) var(--gutter) 0}
.editorial-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:7%;align-items:end;margin-bottom:clamp(65px,7vw,120px)}
.editorial-intro h2{font-size:clamp(64px,8.5vw,158px);line-height:.98;font-weight:480;font-stretch:88%;letter-spacing:-.05em}
.editorial-intro h2 span{display:block;margin-left:12%}
.editorial-intro>p{font-size:clamp(18px,1.5vw,25px);line-height:1.42;letter-spacing:-.02em;max-width:355px;margin-bottom:7px}
.culture-spread{display:grid;grid-template-columns:1.5fr .69fr;gap:12%;align-items:center}
.puffers-image{width:100%}
.ceramics-image{padding-top:26%;padding-right:4%}
.partnership{padding:clamp(100px,11vw,190px) var(--gutter) clamp(90px,9vw,155px)}
.partnership>h2{font-size:clamp(60px,7.5vw,138px);line-height:1.01;letter-spacing:-.045em;font-stretch:90%;font-weight:470;margin-bottom:clamp(60px,6.5vw,100px)}
.partnership>h2>span{display:block;margin-left:19%}
.audiences{display:grid;grid-template-columns:1fr 1fr;gap:11%;margin-left:19%}
.audience{display:flex;flex-direction:column;border-top:1px solid var(--rule);padding-top:24px}
.audience h3{font-size:clamp(42px,4vw,68px);line-height:1.05;font-weight:480;margin-bottom:30px}
.audience-body{display:grid;grid-template-rows:1fr auto auto;flex:1;font-size:17px;line-height:1.55;letter-spacing:-.012em}
.audience-body>p{max-width:35ch}
.scope{list-style:none;padding:0;margin:28px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.scope li+li{margin-top:5px}
.text-link{display:flex;align-items:center;justify-content:space-between;gap:36px;align-self:start;justify-self:start;border-bottom:1px solid var(--ink);font-size:14px;line-height:1.3;min-height:44px;padding:9px 0;margin-top:30px;transition:color .2s,border-color .2s}
.text-link span{font-size:21px;transition:transform .25s}
.text-link:hover{color:var(--accent);border-color:var(--accent)}
.text-link:hover span{transform:translate(3px,-3px)}
.process-details{margin:60px 0 0 19%;border-top:1px solid var(--rule);font-size:16px}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;cursor:pointer;font-size:15px}
summary::-webkit-details-marker{display:none}
summary span{font-size:25px;line-height:1;font-weight:300;transition:transform .25s}
details[open] summary span{transform:rotate(45deg)}
details>p{max-width:65ch;padding:0 30px 22px 0;line-height:1.6}
.portrait-spread{display:grid;grid-template-columns:1.16fr .88fr;gap:14%;align-items:start;padding:0 7% clamp(100px,11vw,180px)}
.hat-image{margin-top:32%}
.contact{position:relative;isolation:isolate;overflow:hidden;padding:clamp(60px,6vw,110px) var(--gutter);background:#dedfd4;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(35px,4vw,70px)}
.contact::before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/swim-1280.webp') center 53%/cover no-repeat;opacity:.35;pointer-events:none}
.contact-title{display:flex;align-items:center;justify-content:space-between;gap:.6em;width:100%;font-family:var(--display);font-size:clamp(92px,14.8vw,270px);font-weight:480;font-stretch:88%;line-height:.98;letter-spacing:-.06em;text-align:left}
.contact-title>span{font-size:.62em;font-weight:300;line-height:1;margin-right:.05em;transition:transform .35s}
.contact-title:hover>span{transform:translate(8px,-8px)}
.contact-email{font-size:16px;border-bottom:1px solid var(--ink);padding:5px 0;line-height:1.7;min-height:40px}
.contact-email:hover{color:var(--accent);border-color:var(--accent)}
dialog{width:min(670px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;margin:auto;border:0;background:var(--paper);color:var(--ink);padding:32px 40px 40px}
dialog::backdrop{background:rgba(20,22,18,.8);backdrop-filter:blur(5px)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;margin-bottom:35px}
.close-button{display:flex;align-items:center;gap:12px;font-size:13px;min-height:44px}
.close-button span{font-size:27px;line-height:1}
dialog h2{font-size:60px;line-height:1;letter-spacing:-.05em;margin-bottom:20px}
.dialog-intro{font-size:15px;margin-bottom:32px;color:var(--muted)}
label{display:flex;flex-direction:column;gap:8px;font-size:13px;margin:0 0 23px}
label span{color:var(--muted);display:contents}
input,select,textarea{width:100%;border:0;border-bottom:1px solid #93958b;border-radius:0;padding:12px 0;background:transparent;outline-offset:4px;font-size:16px;color:var(--ink);min-height:45px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:3px}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.form-note{font-size:12px;color:var(--muted);margin:8px 0 20px}
.solid-button{display:inline-block;background:var(--ink);color:var(--paper);padding:15px 24px;text-align:center;font-size:14px;min-height:48px}
.solid-button:hover{background:#4b4c41}
.dialog-email{display:inline-block;font-size:13px;margin-top:30px;border-bottom:1px solid var(--rule);padding-bottom:4px}
.line-link{display:inline-block;border-bottom:1px solid currentColor;padding:9px 0;min-height:44px;margin-top:16px;font-size:14px}
.image-dialog{background:#22231e;color:var(--paper);width:min(1080px,calc(100% - 28px));padding:18px 22px 22px}
.image-dialog .dialog-top{margin-bottom:18px}
.image-dialog img{max-height:78dvh;max-width:100%;width:auto;margin:auto;object-fit:contain}
.image-dialog>p{display:none}
@media(min-width:1800px){body{max-width:2200px;margin:auto}.masthead{font-size:min(21.1vw,462px)}}
@media(max-width:1050px){
 .editorial-intro{grid-template-columns:1.75fr 1fr;gap:5%}
 .editorial-intro h2{font-size:8.4vw}
 .editorial-intro>p{font-size:17px}
 .audiences{margin-left:10%;gap:8%}
 .partnership>h2>span{margin-left:10%}
 .audience-body{font-size:16px}
 .scope{font-size:13px}
 .process-details{margin-left:10%}
}
@media(max-width:700px){
 :root{--gutter:20px}
 .cover-heading{padding-top:8px;padding-bottom:15px}
 .masthead{font-size:20.8vw;line-height:1;margin:0 3px 0 -5px}
 .cover-image img{height:auto;object-fit:contain}
 .editorial{padding-top:65px}
 .editorial-intro{display:block;margin-bottom:45px}
 .editorial-intro h2{font-size:14.4vw;line-height:1;font-stretch:86%;letter-spacing:-.045em}
 .editorial-intro h2 span{margin-left:9%}
 .editorial-intro>p{max-width:275px;font-size:17px;line-height:1.5;margin:30px 0 0 auto}
 .culture-spread{display:block}
 .puffers-image{width:100%}
 .ceramics-image{width:52%;padding:0;margin:40px 0 0 auto}
 .partnership{padding-top:75px;padding-bottom:65px}
 .partnership>h2{font-size:11.8vw;font-stretch:86%;line-height:1.02;margin-bottom:45px}
 .partnership>h2>span{margin-left:0}
 .audiences{display:block;margin:0}
 .audience{padding-top:23px}
 .audience+.audience{margin-top:45px}
 .audience h3{font-size:44px;margin-bottom:22px}
 .audience-body{font-size:16px;line-height:1.55}
 .audience-body>p{max-width:36ch}
 .scope{font-size:14px;margin-top:24px}
 .text-link{font-size:14px;margin-top:24px}
 .process-details{margin:45px 0 0;font-size:15px}
 summary{font-size:14px;padding:19px 0}
 .portrait-spread{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 var(--gutter) 65px}
 .portrait-spread::-webkit-scrollbar{display:none}
 .portrait-spread>figure{flex:0 0 78%;scroll-snap-align:center;min-width:0}
 .hat-image{margin-top:75px}
 .contact{padding:40px var(--gutter) 42px;gap:28px}
 .contact::before{background-position:50% 52%}
 .contact-title{font-size:20.5vw;gap:.15em;line-height:1.03;font-stretch:86%}
 .contact-title>span{font-size:.62em;margin:0}
 .contact-email{font-size:14px}
 dialog{padding:22px 22px 30px;max-height:calc(100dvh - 24px)}
 dialog h2{font-size:47px}
 .dialog-top{margin-bottom:25px}
 .form-pair{grid-template-columns:1fr;gap:0}
 .dialog-email{font-size:12px}
 .image-dialog{padding:14px}
 .image-dialog .dialog-top{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

#enquiry-fields{border:0;padding:0;margin:0;min-width:0}
.solid-button:disabled{opacity:.65;cursor:wait}
.form-error{font-size:14px;line-height:1.5;color:var(--accent);margin:0 0 22px}
.form-error a{text-decoration:underline}
.enquiry-success{font-size:18px;line-height:1.55;max-width:42ch;margin:25px 0 45px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.arrow-icon{display:block;width:1em;height:1em;flex:none}
