/* ═══ EVENFALL STUDIO ═══ */
:root{
  --white:#FFFFFF; --ink:#141414; --gray:#6E6A66; --hairline:#E6E3DE;
  --bordeaux:#7A1F2B; --plum:#5A2E4D; --ochre:#B0762A; --inkblue:#24427A; --emerald:#1F4A3D;
  --serif:'Bodoni Moda', serif; --sans:'Hanken Grotesk', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{color-scheme:light only;background:#fff;scroll-behavior:smooth}
body{background:var(--white);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
img,video{display:block;max-width:100%}
.page{max-width:1240px;margin:0 auto;padding:0 22px}
.micro{font-size:11px;letter-spacing:.24em;text-transform:uppercase}

/* ─── top nav ─── */
.topnav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px)}
.topnav .row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 22px;border-bottom:1px solid var(--hairline)}
.topnav .wordmark{font-weight:600;letter-spacing:.32em;font-size:11px;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;white-space:nowrap}
.topnav.scrolled .wordmark{opacity:1;transform:none}
.topnav nav{display:flex;gap:26px;flex-wrap:wrap}
.topnav a{color:var(--gray);font-size:11px;letter-spacing:.2em;text-transform:uppercase;transition:color .2s}
.topnav a:hover{color:var(--ink)}

.topnav a.current{color:var(--ink);border-bottom:1px solid var(--accent,var(--ink));padding-bottom:2px}
.nav-cats,.nav-meta{display:contents}
@media(max-width:760px){
  .topnav .wordmark{display:none}
  .topnav .row{padding:12px 22px}
  .topnav nav{width:100%;gap:0;flex-wrap:wrap}
  .nav-cats,.nav-meta{display:flex;width:100%;justify-content:space-between;gap:6px}
  .nav-cats{justify-content:space-between;gap:8px}
  .nav-cats a{font-size:9px;letter-spacing:.06em}
  .nav-meta{justify-content:flex-end}
  .nav-meta{order:-1;margin:0 0 10px}
  .topnav a{font-size:10px;letter-spacing:.1em;white-space:nowrap}
}

.topnav a.enq{color:var(--bordeaux);border:1px solid var(--bordeaux);padding:6px 13px;font-size:10px;transition:all .2s}
.topnav a.enq:hover{background:var(--bordeaux);color:#fff}

/* ─── masthead + cover ─── */
.masthead-wrap{text-align:center;position:relative}
.mast-block{display:inline-block;text-align:right;margin-top:34px;position:relative;z-index:1}
.masthead{font-family:var(--serif);font-weight:500;font-size:clamp(68px,13.6vw,192px);line-height:.86;letter-spacing:.015em;user-select:none}
.studio-sub{display:block;font-weight:600;font-size:clamp(12px,1.6vw,20px);letter-spacing:.5em;margin:10px 2px 0 0}
.cover-stage{position:relative;text-align:center}
.hero-figure{--fw:min(66vw,430px);position:relative;z-index:2;width:var(--fw);height:auto;display:block;margin:calc(var(--fw) * -0.68) auto 0;pointer-events:none}
img.hero-figure[hidden]{display:none}
.coverline{position:absolute;z-index:3;font-family:var(--serif);font-size:clamp(16px,1.9vw,23px);line-height:1.35;max-width:210px;text-align:left}
.coverline .kicker{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gray);margin-bottom:7px}
.coverline em{font-style:italic}
.cl-a{left:2%;top:36%}
.cl-b{right:2%;top:52%;text-align:right}
.cl-c{left:2%;bottom:10%}
.coverlines-mobile{display:none}
@media(max-width:860px){
  /* PROMISE als Overlay neben der Figur — FOR & DELIVERED darunter */
  .cl-b,.cl-c{display:none}
  .cl-a{max-width:165px;font-size:20px;line-height:1.35;left:0;top:44%;text-align:left}
  .cl-a .kicker{font-size:9px;letter-spacing:.2em;margin-bottom:7px}
  .coverlines-mobile{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:18px;text-align:left;padding:0 0 6px;margin-top:-46px}
  .coverlines-mobile .coverline-m:first-child{display:none}
  .coverlines-mobile .right{flex:1 1 45%;text-align:right;order:2;line-height:1.5}
  .coverlines-mobile .delivered{flex:1 1 45%;text-align:left;margin-top:0;order:1}
  .coverlines-mobile .delivered em{display:block}
  .coverlines-mobile .coverline-m{font-family:var(--serif);font-size:20px;line-height:1.35}
  .coverlines-mobile .kicker{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:7px}
  .facts-rule{margin-top:44px}
  #index{padding-top:130px}
}
.facts-rule{border-top:2px solid var(--ink);margin-top:28px;padding:14px 0 0}
.facts-row{display:flex;justify-content:space-between;gap:14px;color:var(--gray);flex-wrap:wrap}
.caption-row{display:flex;justify-content:flex-end;gap:14px;color:var(--gray);border-top:1px solid var(--hairline);margin-top:12px;padding:12px 0 8px;flex-wrap:wrap;font-size:10px;letter-spacing:.18em;text-transform:uppercase}

/* load choreography */
@media (prefers-reduced-motion: no-preference){
  .anim .masthead,.anim .studio-sub{opacity:0;animation:fadein .9s ease .1s forwards}
  .anim .hero-figure{opacity:0;transform:translateY(46px);animation:rise 1.2s cubic-bezier(.2,.7,.2,1) .5s forwards}
  .anim .coverline,.anim .coverlines-mobile{opacity:0;animation:fadein .8s ease forwards}
  .anim .cl-a{animation-delay:1.3s}.anim .cl-b{animation-delay:1.5s}.anim .cl-c{animation-delay:1.7s}
  .anim .coverlines-mobile{animation-delay:1.3s}
}
@keyframes fadein{to{opacity:1}}
@keyframes rise{to{opacity:1;transform:none}}

/* ─── section scaffolding ─── */
section{padding:96px 0}
.sec-label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;text-align:center;color:var(--gray);margin-bottom:10px}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,46px);text-align:center;margin-bottom:52px}

/* index / toc */
.toc{max-width:760px;margin:0 auto}
.toc-row{display:flex;align-items:baseline;gap:14px;padding:20px 0;border-bottom:1px solid var(--hairline)}
.toc-row:first-of-type{border-top:1px solid var(--hairline)}
.toc-row .name{font-family:var(--serif);font-size:clamp(20px,2.6vw,27px);white-space:nowrap}
.toc-row .leader{flex:1;border-bottom:1px dotted #C9C5BF;transform:translateY(-6px)}
.toc-row .desc{font-size:13px;color:var(--gray);max-width:300px;text-align:right}
.toc-row .pg{font-family:var(--serif);font-size:15px;color:var(--accent,var(--ink));min-width:34px;text-align:right}
.toc-row.cat .name{color:var(--accent)}
.toc-divider{border-top:1px solid var(--hairline);margin-top:36px;padding:26px 0 8px;text-align:center}
.toc-divider span{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gray)}
@media(max-width:640px){ .toc-row{flex-wrap:wrap} .toc-row .desc{text-align:left;max-width:none;order:4;flex-basis:100%} }

/* spreads */
.spread{display:grid;grid-template-columns:7fr 5fr;gap:44px;align-items:end;margin-bottom:110px}
.spread:nth-of-type(even){grid-template-columns:5fr 7fr}
.spread:nth-of-type(even) .sp-img{order:2}
.sp-img{aspect-ratio:4/5;background:linear-gradient(165deg,#F2F0ED,#E6E3DF);border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;overflow:hidden}
.sp-img video,.sp-img img{width:100%;height:100%;object-fit:cover}
.sp-img.tall{aspect-ratio:9/16;max-width:78%;margin:0 auto}
.sp-img .ph{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#BDB9B3;padding:12px;text-align:center}
.sp-txt .folio{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.sp-txt .folio::before{content:'';width:34px;height:1px;background:var(--accent)}
.sp-txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.8vw,48px);line-height:1.05;margin-bottom:16px}
.sp-txt h3 em{font-style:italic}
.sp-txt p{color:var(--gray);font-size:15px;max-width:38ch}
.sp-txt .stat{font-family:var(--serif);font-size:14px;margin-top:16px}
.sp-txt .links{margin-top:14px;display:flex;gap:22px;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.sp-txt .links a{color:var(--gray)}
.sp-txt .links a:hover{color:var(--accent)}
@media(max-width:820px){ .spread,.spread:nth-of-type(even){grid-template-columns:1fr} .spread:nth-of-type(even) .sp-img{order:0} .spread{margin-bottom:70px} }

/* letter */
.letter{background:#FCFBFA;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.letter-in{max-width:640px;margin:0 auto;text-align:center}
.letter .drop{font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.45;margin:26px 0 30px}
.letter p.body{color:var(--gray);margin-bottom:20px;text-align:left}
.letter .sig{font-family:var(--serif);font-style:italic;font-size:26px;margin-top:34px}
.letter .sig-role{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gray);margin-top:6px}

/* enquiries */
.enquiries{text-align:center}
.enquiries p.lead{color:var(--gray);max-width:46ch;margin:0 auto 36px}
.mail{font-family:var(--serif);font-size:clamp(22px,3.4vw,38px);border-bottom:1px solid var(--ink);padding-bottom:4px;transition:color .2s,border-color .2s}
.mail:hover{color:var(--bordeaux);border-color:var(--bordeaux)}
.wa{display:inline-block;margin-top:22px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gray)}
.wa:hover{color:var(--emerald)}
.enq-meta{display:flex;justify-content:center;gap:34px;margin-top:44px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);flex-wrap:wrap}

/* category pages */
.cat-head{text-align:center;padding:40px 0 0}
.cat-head .mini-mast{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4vw,44px);letter-spacing:.02em}
.cat-head .cat-name{font-family:var(--serif);font-weight:400;font-size:clamp(52px,9vw,120px);line-height:1;margin-top:18px;color:var(--ink)}
.cat-head .standfirst{color:var(--gray);margin-top:16px}
.cat-head .excerpt-note{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gray);margin-top:12px}
.cat-head .excerpt-note a{border-bottom:1px solid var(--hairline)}
.cat-head .excerpt-note a:hover{color:var(--accent);border-color:var(--accent)}
.cat-head .rule{border-top:2px solid var(--accent);max-width:120px;margin:30px auto 0}
.prevnext{display:flex;justify-content:space-between;border-top:1px solid var(--hairline);padding:26px 0;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.prevnext a{color:var(--gray)}
.prevnext a:hover{color:var(--accent)}
.enq-band{text-align:center;border-top:1px solid var(--hairline);padding:64px 0}
.enq-band p{color:var(--gray);margin-bottom:20px}

/* footer */
footer{border-top:1px solid var(--ink);padding:26px 0 44px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gray)}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}
.foot a:hover{color:var(--ink)}

/* legal pages */
.legal{max-width:720px;margin:0 auto;padding:60px 22px}
.legal h1{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,44px);margin-bottom:34px}
.legal h2{font-size:16px;font-weight:600;text-align:left;margin:34px 0 10px;font-family:var(--sans)}
.legal p{color:var(--gray);margin-bottom:14px}
