/* Berry Sullivan — v3. Bone paper, GFS Didot, images first. */
@font-face{font-family:'Didot Display';src:url(/assets/fonts/GFS_Didot_Display.otf) format('opentype');font-display:swap}
@font-face{font-family:'Didot';src:url(/assets/fonts/GFSDidot.otf) format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Didot';src:url(/assets/fonts/GFSDidotItalic.otf) format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Didot';src:url(/assets/fonts/GFSDidotBold.otf) format('opentype');font-weight:700;font-display:swap}

:root{
  --paper:#f1ece2;--paper2:#e8e1d3;--paper3:#ddd5c4;
  --ink:#1b1813;--ink2:#3a3530;--mute:#7a7266;--rule:#d3cbbb;
  --berry:#8d2f3f;--moss:#5c6b2e;--cobalt:#2f4d8a;
  --display:'Didot',Didot,'Bodoni 72','Bodoni MT',Georgia,serif;
  --serif:'Didot',Didot,'Bodoni 72','Bodoni MT',Georgia,serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --measure:38rem;--gutter:clamp(1.1rem,3vw,2.6rem);--wide:1500px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--paper);color:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--serif);font-size:1.1875rem;line-height:1.5;background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--berry);color:var(--paper)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
p a,li a,.meta a,.rule a,.foot a{border-bottom:1px solid var(--rule);transition:border-color .3s}
p a:hover,li a:hover,.meta a:hover,.foot a:hover{border-bottom-color:var(--berry)}
em,i{font-style:italic}
strong,b{font-weight:700}
hr{border:0;border-top:1px solid var(--rule);margin:3rem 0}

/* ---- top ---- */
.top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem 2rem;flex-wrap:wrap;padding:1.3rem var(--gutter);max-width:var(--wide);margin:0 auto}
.top .wm{font-family:var(--display);font-size:1.55rem;letter-spacing:-.01em;white-space:nowrap}
.top .wm .b{color:var(--berry)}
.top ul{list-style:none;display:flex;gap:1.5rem;flex-wrap:wrap;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.top ul a{padding:.2rem 0;border-bottom:1px solid transparent}
.top ul a:hover,.top ul a[aria-current]{color:var(--ink);border-bottom-color:var(--berry)}
@media(max-width:640px){.top{padding-top:1rem}.top ul{gap:.9rem 1.1rem;font-size:.62rem}}

/* ---- type ---- */
.display{font-family:var(--display);font-weight:400;letter-spacing:-.025em;line-height:.92}
.h-xl{font-size:clamp(3.4rem,10vw,9rem)}
.h-lg{font-size:clamp(2.6rem,6vw,5.4rem)}
.h-md{font-size:clamp(2rem,4vw,3.4rem)}
.h-sm{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.05}
.k{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.k .n{color:var(--berry)}
.meta{font-style:italic;color:var(--mute);font-size:1.02rem;line-height:1.5}
.meta b{font-weight:400;font-style:normal;color:var(--ink2)}
.strap{font-style:italic;color:var(--ink2);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.4;max-width:34rem}
.quote{font-family:var(--display);font-style:italic;font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.2;letter-spacing:-.01em;color:var(--ink);max-width:30em;text-wrap:balance}
.quote.sm{font-size:clamp(1.25rem,2vw,1.6rem)}
.quote::before{content:"“";color:var(--berry);margin-left:-.45em}
.quote::after{content:"”";color:var(--berry)}
.quote.noq::before,.quote.noq::after{content:none}

/* ---- prose ---- */
.prose{max-width:var(--measure)}
.prose p{margin-bottom:1.25em}
.prose p:last-child{margin-bottom:0}
.prose.lead>p:first-of-type::first-letter{font-family:var(--display);font-size:3.9em;float:left;line-height:.8;padding:.06em .1em 0 0;color:var(--berry)}
.prose h3,.prose h4{font-family:var(--display);font-weight:400;font-size:1.65rem;line-height:1.1;margin:2.2rem 0 .8rem;letter-spacing:-.01em}
.prose ul,.prose ol{margin:0 0 1.25em 1.2em}
.small{font-size:.95rem}
.mute{color:var(--mute)}

/* ---- layout ---- */
.wrap{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:calc(var(--measure) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.sec{padding:clamp(3.5rem,8vw,7rem) 0}
.sec.tight{padding:clamp(2rem,4vw,3.5rem) 0}
.sec+.sec{padding-top:0}
.rule-top{border-top:1px solid var(--rule);padding-top:clamp(2rem,4vw,3.5rem)}

/* page title */
.title{padding:clamp(2.5rem,7vw,6rem) 0 clamp(2rem,4vw,3.5rem)}
.title .k{margin-bottom:1.2rem;display:block}
.title .strap{margin-top:1.4rem}
.title .back{display:inline-block;margin-bottom:1.6rem}

/* full-bleed hero */
.hero{position:relative;height:min(92svh,1100px);min-height:520px;overflow:hidden;background:var(--paper3)}
.hero img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,24,19,0) 40%,rgba(27,24,19,.55) 100%)}
.hero .t{position:absolute;left:0;right:0;bottom:0;padding:0 var(--gutter) clamp(1.6rem,4vw,3.2rem);color:var(--paper);max-width:var(--wide);margin:0 auto}
.hero .t .display{text-shadow:0 1px 30px rgba(0,0,0,.25)}
.hero .t .strap{color:rgba(241,236,226,.85);margin-top:1rem}
.hero .t .k{color:rgba(241,236,226,.7);margin-bottom:1rem;display:block}
.hero .t .k .n{color:var(--paper)}
.hero .cap{position:absolute;right:var(--gutter);top:1rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(241,236,226,.8);text-align:right;max-width:18rem}
@media(max-width:640px){.hero{height:78svh}.hero .cap{display:none}}

/* plates: one work, image + text */
.plate{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}
.plate.flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.plate.flip .fig{order:2}
.plate .txt{position:sticky;top:2rem;padding-top:.4rem}
.plate .txt .k{display:block;margin-bottom:1rem}
.plate .txt .display{margin-bottom:.9rem}
.plate .txt .meta{margin-bottom:1.6rem}
.plate .txt .prose{margin-top:1.2rem}
.plate .txt .prose p{font-size:1.08rem}
.plate .txt .go{margin-top:1.8rem}
.plate.stack{grid-template-columns:1fr}
.plate.stack .txt{position:static}
@media(max-width:900px){.plate,.plate.flip{grid-template-columns:1fr}.plate.flip .fig{order:0}.plate .txt{position:static}}
.plate+.plate{margin-top:clamp(4rem,9vw,8rem)}

.fig{margin:0}
.fig img{width:100%;background:var(--paper3)}
.fig figcaption,.cap{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:.7rem;line-height:1.6}
.fig.two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.fig.two figcaption{grid-column:1/-1}
.fig.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem}
.fig.three figcaption{grid-column:1/-1}
@media(max-width:640px){.fig.three{grid-template-columns:1fr 1fr}}
.fig.bleed{max-width:none}
.fig.bleed img{max-height:88vh;object-fit:cover}
.fig.tall img{max-height:90vh;width:auto;max-width:100%}

/* strip of images */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}
.strip figure{margin:0}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--paper3)}

/* index of works (home) */
.works{list-style:none;max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}
.works li{border-top:1px solid var(--rule)}
.works li:last-child{border-bottom:1px solid var(--rule)}
.works a{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;gap:1rem 1.5rem;align-items:baseline;padding:1.1rem 0;transition:color .2s}
.works a:hover{color:var(--berry)}
.works .n{font-family:var(--display);color:var(--berry);font-size:1rem;letter-spacing:.05em}
.works .t{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,2.2rem);letter-spacing:-.015em;line-height:1.05}
.works .t small{font-family:var(--serif);font-style:italic;font-size:.55em;color:var(--mute);letter-spacing:0;margin-left:.6em}
.works .w{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);text-align:right;white-space:nowrap}
@media(max-width:640px){.works a{grid-template-columns:2.4rem 1fr}.works .w{display:none}}

/* go link */
.go{display:inline-block;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--berry);padding-bottom:.25rem;transition:color .2s}
.go:hover{color:var(--berry)}
.go+.go{margin-left:1.6rem}

/* facts */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1.4rem 2rem;max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}
.facts div{border-top:1px solid var(--rule);padding-top:.7rem}
.facts .v{font-family:var(--display);font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.02em;line-height:1}
.facts .l{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-top:.4rem}

/* chapter list */
.chapters{list-style:none;max-width:var(--measure)}
.chapters li{display:grid;grid-template-columns:5rem 1fr;gap:1rem;padding:.7rem 0;border-top:1px solid var(--rule);font-size:1.02rem}
.chapters li span:first-child{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);padding-top:.35rem}

/* poems */
.poem{max-width:var(--measure)}
.poem+.poem{margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--rule)}
.poem h3{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.015em;line-height:1;margin-bottom:1.4rem}
.poem p{margin-bottom:1.1em}
.poem.verse p{margin-bottom:.2em}
.poem.verse p+p.stanza{margin-top:1.2em}

/* contact / foot */
.foot{border-top:1px solid var(--rule);margin-top:clamp(4rem,9vw,8rem);padding:clamp(2.5rem,5vw,4rem) 0 3rem}
.foot .wrap{display:grid;grid-template-columns:1fr auto;gap:2rem 4rem;align-items:end}
.foot .wm{font-family:var(--display);font-size:clamp(1.8rem,3.2vw,2.6rem);letter-spacing:-.02em;line-height:1}
.foot p{color:var(--mute);font-size:.98rem;max-width:30rem;margin-top:.8rem}
.foot ul{list-style:none;display:grid;gap:.4rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);text-align:right}
.foot ul a{border:0}
.foot ul a:hover{color:var(--berry)}
.foot .c{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:2.5rem;grid-column:1/-1}
@media(max-width:640px){.foot .wrap{grid-template-columns:1fr}.foot ul{text-align:left}}

/* reveal */
@media(prefers-reduced-motion:no-preference){
  .r{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}
  .r.in{opacity:1;transform:none}
}

/* ============ legacy field pages (kumano / corfu / svalbard) ============ */
.legacy .page-content{max-width:var(--wide);margin:0 auto}
.legacy .container{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}
.legacy .hero-section{padding:clamp(2.5rem,6vw,5rem) 0 clamp(2rem,4vw,3rem)}
.legacy .section{padding:clamp(2.5rem,5vw,4.5rem) 0}
.legacy .section-surface{background:transparent}
.legacy .label-accent,.legacy .label-xs{font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);font-weight:400}
.legacy .label-accent{color:var(--berry)}
.legacy .display-lg,.legacy .headline-editorial,.legacy h1,.legacy h2,.legacy h3{font-family:var(--display);font-weight:400;letter-spacing:-.02em;line-height:.95}
.legacy h1.display-lg{font-size:clamp(3rem,8vw,6.5rem)}
.legacy h2{font-size:clamp(2rem,4.5vw,3.6rem)!important;margin-bottom:1rem}
.legacy h3{font-size:clamp(1.6rem,3vw,2.4rem)!important;line-height:1.05}
.legacy p{font-size:1.08rem!important;line-height:1.55!important;color:var(--ink)!important;margin-bottom:1.1em}
.legacy .accent-serif,.legacy .accent-left p{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.8rem)!important;line-height:1.25!important;color:var(--ink)!important}
.legacy .accent-left{border-left:2px solid var(--berry);padding:.2rem 0 .2rem 1.4rem!important;margin:1.5rem 0 2rem!important}
.legacy .case-meta{font-style:italic;color:var(--mute);font-size:.98rem;margin:1rem 0 1.5rem}
.legacy .case-meta .row{display:flex;justify-content:space-between;gap:1.5rem;padding:.45rem 0;border-top:1px solid var(--rule)}
.legacy .case-meta .row span:first-child{font-style:normal;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding-top:.3rem}
.legacy .case-meta .row span:last-child{text-align:right}
.legacy .art-image-container{background:var(--paper3);overflow:hidden}
.legacy .art-image{width:100%;height:100%;object-fit:cover;display:block}
.legacy .figure-caption{margin-top:.7rem;line-height:1.6}
.legacy .btn-primary,.legacy .btn-secondary,.legacy .btn-ghost{display:inline-block;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border:0;border-bottom:1px solid var(--berry);padding:0 0 .25rem;background:none;margin-right:1.6rem}
.legacy .btn-primary:hover{color:var(--berry)}
.legacy .fade-in{opacity:1;transform:none}
.legacy .stagger>*{opacity:1}
.legacy .divider{border-top:1px solid var(--rule);margin:1rem 0 2rem}
.legacy .grain{display:none}
.legacy .footer-links a{color:var(--mute)}
.legacy .site-footer{display:none}
.legacy .headline-bold{font-family:var(--display);font-weight:400;letter-spacing:-.02em}
.legacy [style*="grid-template-columns"]{--cols:1}
@media(max-width:800px){.legacy [style*="grid-template-columns"]{grid-template-columns:1fr!important}}
.legacy svg text{font-family:var(--mono)!important}
.legacy .art-image-container{max-width:100%}
.legacy .art-image-container[style*="height:100%"]{height:auto!important}
.legacy .art-image-container[style*="height: 100%"]{height:auto!important}
.legacy .figure-caption .label-xs{text-transform:none;letter-spacing:.04em;font-size:.74rem;line-height:1.55}
