/* Universal Vocabulary – v6. Register: an institution – one sober sans, night blue, a working blue accent.
   Layout: a 12-column institutional grid; sections alternate paper, stone and night. Fonts self-hosted (SIL OFL). */
@font-face{font-family:"Public Sans";src:url(fonts/public-sans.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(fonts/newsreader.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

:root{
  --paper:#ffffff;
  --stone:#f1f3f6;
  --ink:#12203d;
  --muted:#5b6172;
  --rule:#d5dae2;
  --brass:#1d5196;
  --night:#121a31;
  --on-night:#ece9e1;
  --on-night-muted:#a9adb9;
  --display:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gutter:clamp(1rem,4vw,3rem);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--paper:#0e1424;--stone:#141b2e;--ink:#ebe8e0;--muted:#a3a7b4;--rule:#2b3349;--brass:#7fa9e6;--night:#090e1b;--on-night:#ebe8e0;--on-night-muted:#9ba0ad;color-scheme:dark}
}
:root[data-theme="dark"]{--paper:#0e1424;--stone:#141b2e;--ink:#ebe8e0;--muted:#a3a7b4;--rule:#2b3349;--brass:#7fa9e6;--night:#090e1b;--on-night:#ebe8e0;--on-night-muted:#9ba0ad;color-scheme:dark}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
h1,h2,h3{text-wrap:balance}
.wrap{max-width:80rem;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.skip{position:absolute;left:-999px;top:0;background:var(--night);color:var(--on-night);padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem}

/* utility bar + header */
.util{background:var(--night);color:var(--on-night-muted);font-size:.8125rem}
.util-in{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:.45rem}
.util-r{display:flex;gap:1.25rem;flex-wrap:wrap}
.util a{color:var(--on-night-muted);text-decoration:none}
.util a:hover{color:var(--on-night)}
.lang{color:var(--on-night)}
.top{border-bottom:1px solid var(--brass)}
.top-in{display:flex;justify-content:space-between;align-items:center;gap:1rem 2rem;flex-wrap:wrap;padding-block:1.4rem}
.mark{display:inline-flex;align-items:baseline;font-family:var(--display);font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:750;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;line-height:1}
.mark-sm{font-size:1.25rem}
.cross{display:inline-block;width:.55em;height:.48em;border-top:1.5px solid var(--brass);border-right:1.5px solid var(--brass);margin-right:.5em;flex:none}
.top nav{display:flex;flex-wrap:wrap;gap:.25rem 1.75rem;font-size:.9375rem}
.top nav a{text-decoration:none;padding-block:.25rem;border-bottom:1px solid transparent}
.top nav a:hover,.top nav a[aria-current="page"]{border-bottom-color:var(--brass)}

/* shared */
.kicker{margin:0 0 .6rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brass)}
.btn{display:inline-block;margin-top:1.25rem;padding:.75rem 1.3rem;background:var(--brass);color:#fff;border:1px solid var(--brass);text-decoration:none;font-size:.9375rem;font-weight:600}
.btn:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-light{background:transparent;border-color:var(--on-night);color:var(--on-night)}
.btn-light:hover{background:var(--on-night);color:var(--night)}
.block{padding-block:clamp(3rem,8vh,5rem)}
.block-h{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.75rem;padding-bottom:.7rem;border-bottom:1px solid var(--rule);position:relative}
.block-h::after{content:"";position:absolute;left:0;bottom:-1px;width:3rem;height:3px;background:var(--brass)}
.block-h h2{margin:0;font-family:var(--display);font-weight:650;font-size:clamp(1.75rem,3vw,2.375rem);letter-spacing:-.005em;line-height:1.1}
.block-h a{font-size:.9375rem;color:var(--muted);text-decoration:none}
.block-h a:hover{color:var(--ink);text-decoration:underline}
.intro{margin:-.5rem 0 2rem;max-width:56ch;color:var(--muted);font-family:var(--sans);font-size:1.1875rem}
.status{display:inline-block;margin-top:.75rem;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass);padding:.15rem .55rem}
.band-stone{background:var(--stone)}
.band-night{background:var(--night);color:var(--on-night)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(2rem,6vh,3.5rem) clamp(2.5rem,7vh,4rem)}
.hero-fig{margin:0}
.hero-fig img{width:100%;aspect-ratio:1400/1030;object-fit:cover}
figcaption{margin-top:.5rem;font-size:.75rem;color:var(--muted);line-height:1.4}
.hero-t h1{margin:0;font-family:var(--display);font-weight:650;font-size:clamp(2.25rem,4.4vw,3.75rem);line-height:1.04;letter-spacing:-.01em}
.hero-t p{font-family:var(--sans);font-size:1.1875rem;line-height:1.55;max-width:38ch}
.hero-t .kicker{font-family:var(--sans);font-size:.8125rem}

/* news */
.news-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.news a{text-decoration:none;display:block}
.news-img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:.9rem}
.news h3{margin:0 0 .35rem;font-family:var(--display);font-weight:650;font-size:1.3125rem;line-height:1.2}
.news p:last-child{margin:0;color:var(--muted);font-size:.9375rem}
.news a:hover h3{text-decoration:underline;text-decoration-thickness:1px}
.news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2rem;font-family:var(--sans)}

/* our work */
.work{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.card{background:var(--paper);display:flex;flex-direction:column}
.card>a{display:flex;flex-direction:column;text-decoration:none;height:100%}
.card-img{width:100%;aspect-ratio:10/7;object-fit:cover}
.card-t{padding:1.1rem 1.2rem 1.4rem}
.card h3{margin:0 0 .4rem;font-family:var(--display);font-weight:650;font-size:1.375rem;line-height:1.15}
.card p{margin:0;color:var(--muted);font-size:.9375rem}
.card-lead{grid-column:span 2;grid-row:span 2}
.card-lead .card-img{aspect-ratio:auto;flex:1;min-height:16rem}
.card-lead h3{font-size:2rem}
.card-lead p{font-family:var(--sans);font-size:1.125rem;color:var(--ink);max-width:40ch}
.more{display:inline-block;margin-top:.9rem;font-size:.9375rem;border-bottom:1px solid var(--brass)}
.card a:hover h3{text-decoration:underline;text-decoration-thickness:1px}

/* focus */
.focus{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding-block:clamp(3rem,9vh,5.5rem)}
.focus figure{margin:0}
.focus figcaption{color:var(--on-night-muted)}
.focus h2{margin:0 0 1rem;font-family:var(--display);font-weight:650;font-size:clamp(2rem,3.6vw,3rem);line-height:1.08}
.focus p{font-family:var(--sans);font-size:1.125rem;line-height:1.6;max-width:42ch}
.focus .kicker{font-family:var(--sans)}

/* structure */
.structure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.structure>div{border-top:2px solid var(--brass);padding-top:1.1rem}
.structure h3{margin:0 0 .4rem;font-family:var(--display);font-weight:650;font-size:1.75rem}
.structure p{margin:0;font-family:var(--sans);font-size:1.125rem}
.structure .sub{margin-top:.6rem;font-family:var(--sans);font-size:.875rem;color:var(--muted)}

/* principles */
.princ{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem}
.princ li{border-top:1px solid var(--ink);padding-top:.9rem}
.princ h3{margin:0 0 .35rem;font-family:var(--display);font-weight:650;font-size:1.25rem}
.princ p{margin:0;color:var(--muted);font-size:.9375rem}

/* publications */
.pubs{list-style:none;margin:0;padding:0}
.pubs a{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;gap:.25rem 1.5rem;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--rule);text-decoration:none}
.ref{color:var(--brass);font-variant-numeric:tabular-nums;font-size:.9375rem}
.pt{font-family:var(--display);font-size:1.375rem;line-height:1.25}
.pd{color:var(--muted);font-size:.875rem;white-space:nowrap}
.pubs a:hover .pt{text-decoration:underline;text-decoration-thickness:1px}

/* pictures */
.pics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.pic{margin:0}
.pic img{width:100%;aspect-ratio:6/7;object-fit:cover}

/* footer */
.foot{background:var(--night);color:var(--on-night);padding-block:3.5rem 2rem;font-size:.9375rem}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.foot h2{margin:0 0 .9rem;font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.04em;color:var(--brass)}
.foot-cols a{display:block;color:var(--on-night-muted);text-decoration:none;padding:.2rem 0;overflow-wrap:anywhere}
.foot-cols a:hover{color:var(--on-night);text-decoration:underline}
.foot-base{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid color-mix(in srgb,var(--on-night) 18%,transparent);color:var(--on-night-muted);font-size:.8125rem}
.foot-base .mark{color:var(--on-night)}

/* documents */
.doc{padding-block:clamp(2.5rem,7vh,4.5rem) 1rem;max-width:52rem}
.doc-kicker{margin:0 0 .75rem;font-size:.9375rem;color:var(--muted)}
.doc-meta{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin:0 0 .9rem;color:var(--brass);font-size:.875rem}
.doc h1{margin:0 0 2.25rem;font-family:var(--display);font-weight:650;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.06;letter-spacing:-.01em;max-width:22ch}
.doc-body{font-family:var(--serif);font-size:1.1875rem;line-height:1.65}
.doc-body p{margin:0 0 1.1rem;max-width:62ch}
.doc-body .lede{font-size:1.375rem;line-height:1.5;margin-bottom:2.25rem}
.doc-body h2{font-family:var(--sans);font-size:1rem;font-weight:600;margin:2.4rem 0 .6rem}
.doc-body .note{font-family:var(--sans);font-size:.9375rem;color:var(--muted)}
.doc-body .pubs,.doc-body .news-list{font-family:var(--sans)}
.credits{list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:.9375rem;border-top:1px solid var(--rule)}
.credits li{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1.25rem;padding:1rem 0;border-bottom:1px solid var(--rule)}
.credits img{width:5rem;height:5.8rem;object-fit:cover}
.credits p{margin:0;color:var(--muted);max-width:none}
.credits .ct{color:var(--ink);font-weight:600}

@media (max-width:980px){
  .work{grid-template-columns:repeat(2,minmax(0,1fr))}
  .princ{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .hero,.focus,.structure{grid-template-columns:1fr}
  .news-row,.news-list{grid-template-columns:1fr}
  .work{grid-template-columns:1fr}
  .card-lead{grid-column:auto;grid-row:auto}
  .princ{grid-template-columns:1fr}
  .pubs a{grid-template-columns:1fr}
}

/* ---------- v4 additions: one long scroll ---------- */
.hero4{position:relative}
.hero4-img{width:100%;height:clamp(24rem,64vh,42rem);object-fit:cover;object-position:50% 30%}
.hero4-in{position:relative;margin-top:clamp(-11rem,-18vh,-6rem);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem;align-items:end}
.hero4-panel{background:var(--paper);box-shadow:0 1px 0 var(--rule);padding:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3vw,2.75rem) clamp(1.75rem,3vw,2.5rem);border-top:2px solid var(--brass)}
.hero4-panel h1{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(2rem,4vw,3.4rem);line-height:1.06;letter-spacing:-.02em}
.hero4-panel p:not(.kicker){font-family:var(--sans);font-size:1.1875rem;line-height:1.55;max-width:44ch;margin:1rem 0 0}
.hero4-cap{margin:0;font-size:.75rem;color:var(--muted);align-self:end;padding-bottom:.25rem}

.statement{padding-block:clamp(4.5rem,14vh,8rem)}
.statement p{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(2.2rem,6vw,5rem);line-height:1.08;letter-spacing:-.025em;color:var(--on-night)}

.figs{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.figs>div{border-top:1px solid var(--ink);padding-top:1rem}
.figs dt{font-family:var(--display);font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.05;margin-bottom:.6rem}
.figs dd{margin:0;color:var(--muted);font-size:.9375rem;max-width:24ch}

.block-h-night{border-bottom-color:color-mix(in srgb,var(--on-night) 20%,transparent)}
.block-h-night h2{color:var(--on-night)}
.essays{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.essay a{display:block;text-decoration:none;color:var(--on-night)}
.essay-img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1rem;filter:saturate(.8)}
.essay h3{margin:0 0 .5rem;font-family:var(--display);font-weight:650;font-size:1.625rem;line-height:1.15}
.essay p{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.55;color:var(--on-night-muted)}
.essay .more{color:var(--on-night)}
.essay a:hover h3{text-decoration:underline;text-decoration-thickness:1px}

.covers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem}
.cover{display:flex;flex-direction:column;aspect-ratio:3/4;padding:1.1rem 1.1rem 1.2rem;background:var(--stone);text-decoration:none;border-top:3px solid var(--night);transition:transform .2s ease}
.cover:hover{transform:translateY(-3px)}
.cover-org{display:flex;align-items:baseline;font-family:var(--display);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.cover-org .cross{width:.6em;height:.5em}
.cover-ref{margin-top:auto;padding-top:1rem;border-top:1px solid var(--brass);color:var(--brass);font-size:.8125rem;font-variant-numeric:tabular-nums}
.cover-t{min-height:3.45em;margin-top:.5rem;font-family:var(--display);font-weight:650;font-size:1.3125rem;line-height:1.15}
.cover-d{margin-top:.9rem;font-size:.75rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.cover{transition:none}.cover:hover{transform:none}}

#structure .princ{margin-top:2.5rem}
.doc-fig{margin:0 0 2rem}
.doc-fig img{width:100%}
.doc-wide{max-width:80rem}
.doc-wide h1{max-width:none}

@media (max-width:980px){
  .covers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .figs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .essays{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hero4-in{grid-template-columns:1fr;margin-top:-4rem}
  .covers{grid-template-columns:repeat(2,minmax(0,1fr))}
  .essays,.figs{grid-template-columns:1fr}
}

/* ---------- v5 additions ---------- */
.feats{display:grid;gap:clamp(3rem,8vh,5rem)}
.feat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.feat figure{margin:0}
.feat img{width:100%;aspect-ratio:1100/780;object-fit:cover}
.feat-rev figure{order:2}
.feat-t h3{margin:0 0 .75rem;font-family:var(--display);font-weight:650;font-size:clamp(2rem,3.4vw,3rem);line-height:1.05}
.feat-t p:not(.kicker){margin:0;font-family:var(--sans);font-size:1.1875rem;line-height:1.6;max-width:40ch}
.feat-a{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.feat-a .status{margin-top:1.25rem}

.pairs5{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.pair5{margin:0}
.pair5-imgs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.pair5 img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--paper)}
.pair5 figcaption{font-size:.8125rem}
.pair5 b{color:var(--ink);font-weight:600}

.statement-light{background:var(--paper)}
.statement-light p{color:var(--ink)}
.statement-light{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.statement .statement-src{margin-top:1.5rem;font-family:var(--sans);font-size:.875rem;letter-spacing:0;color:var(--brass)}

.partners{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.partners h2{margin:0 0 1rem;font-family:var(--display);font-weight:650;font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.05;color:var(--on-night)}
.partners-lede{font-family:var(--sans);font-size:1.1875rem;line-height:1.6;max-width:40ch;margin:0}
.partners-mail{margin:.75rem 0 0;font-size:.875rem;color:var(--on-night-muted);user-select:all}
.partners-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 2rem}
.partners-list li{border-top:1px solid var(--brass);padding-top:1rem}
.partners-list h3{margin:0 0 .4rem;font-family:var(--display);font-weight:650;font-size:1.375rem;color:var(--on-night)}
.partners-list p{margin:0;color:var(--on-night-muted);font-size:.9375rem}

.gloss{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 2rem}
.gloss>div{border-top:1px solid var(--rule);padding-top:.9rem}
.gloss dt{font-family:var(--display);font-weight:650;font-size:1.25rem;margin-bottom:.35rem}
.gloss dd{margin:0;color:var(--muted);font-size:.9375rem}

.faq{max-width:56rem}
.faq details{border-bottom:1px solid var(--rule)}
.faq details:first-child{border-top:1px solid var(--ink)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2.5rem 1.1rem 0;position:relative;font-family:var(--display);font-size:1.3125rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:1rem;font-family:var(--sans);color:var(--brass);font-size:1.25rem}
.faq details[open] summary::after{content:"–"}
.faq summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.faq details p{margin:0 0 1.25rem;max-width:62ch;font-family:var(--sans);font-size:1.125rem;line-height:1.6;color:var(--muted)}

.pics{row-gap:2.25rem}

@media (max-width:980px){
  .pairs5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gloss{grid-template-columns:repeat(2,minmax(0,1fr))}
  .partners{grid-template-columns:1fr}
}
@media (max-width:760px){
  .feat{grid-template-columns:1fr}
  .feat-rev figure{order:0}
  .pairs5,.gloss,.partners-list{grid-template-columns:1fr}
}

/* ---------- v7: more images in the lower half ---------- */
.statement-img{position:relative;overflow:hidden;background:var(--night);border:0}
.statement-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.statement-img .wrap{position:relative}
.statement-img p{color:#fff}
.statement-img .statement-src{color:#cfe0ff}
.statement-img .statement-cap{margin-top:3rem;font-family:var(--sans);font-size:.75rem;font-weight:400;letter-spacing:0;color:rgba(255,255,255,.75)}
.partners-fig{margin:2.25rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem;max-width:26rem}
.partners-fig img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#fff}
.partners-fig figcaption{grid-column:1/-1;color:var(--on-night-muted)}
.struct-fig{margin:0 0 1.25rem}
.struct-fig img{width:100%;aspect-ratio:10/7;object-fit:cover}
.structure>div{border-top:0;padding-top:0}
.structure h3{border-top:2px solid var(--brass);padding-top:.9rem}
.faq-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.faq-fig{margin:0}
.faq-fig img{width:100%;aspect-ratio:1;object-fit:cover}
.pics{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:980px){.pics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.faq-grid{grid-template-columns:1fr}.pics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v8: Forms / Medium, external Latest and Library, contact band */
.parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.part{display:flex;flex-direction:column;gap:.4rem;padding:1.75rem 1.75rem 2rem;border-top:4px solid var(--brass);background:var(--stone);text-decoration:none;color:var(--ink)}
.part-k{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.part-t{font-family:var(--display);font-weight:650;font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.1}
.part-d{color:var(--muted);font-size:1rem}
.part:hover .part-t{text-decoration:underline;text-decoration-thickness:1px}
.latest-list{list-style:none;margin:2.5rem 0 0;padding:0;border-top:1px solid var(--rule)}
.latest-list a{display:grid;grid-template-columns:10rem 16rem minmax(0,1fr);gap:.25rem 1.5rem;padding:1rem 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.lt-d,.lt-s{color:var(--muted);font-size:.875rem}
.lt-t{font-family:var(--display);font-weight:600;font-size:1.125rem}
.latest-list a:hover .lt-t{text-decoration:underline;text-decoration-thickness:1px}
.cover-org{display:block;line-height:1.3}
.vocab-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.vocab-fig{margin:0}.vocab-fig img{width:100%;aspect-ratio:4/5;object-fit:cover}
.vocab-fig figcaption{margin-top:.5rem;font-size:.75rem;color:var(--muted)}
.gloss-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.contact-band h2{margin:0 0 2rem;font-family:var(--display);font-weight:650;font-size:clamp(2rem,4vw,3rem);color:var(--on-night)}
.contact-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.contact-cols div{border-top:1px solid rgba(255,255,255,.25);padding-top:1rem}
.contact-cols p:not(.kicker){margin:.25rem 0 .75rem;color:var(--on-night-muted)}
.contact-cols a{color:var(--on-night);font-family:var(--display);font-size:clamp(1.1rem,2vw,1.5rem);font-weight:600;overflow-wrap:anywhere}
.doc-wide{max-width:64rem}
.lib{list-style:none;margin:2rem 0 0;padding:0;font-family:var(--sans);border-top:1px solid var(--rule)}
.lib li{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--rule)}
.lib-y{color:var(--brass);font-variant-numeric:tabular-nums;font-weight:600}
.lib-t{font-family:var(--display);font-weight:650;font-size:1.3125rem;color:var(--ink)}
.lib-a{margin:.25rem 0;color:var(--muted);font-size:.875rem}
.lib p{margin:.25rem 0 0;max-width:65ch}
.news-text{border-top:3px solid var(--brass);padding-top:1rem}
@media (max-width:760px){
  .parts,.contact-cols,.vocab-grid,.gloss-2{grid-template-columns:1fr!important}
  .latest-list a{grid-template-columns:1fr}
  .lib li{grid-template-columns:1fr;gap:.25rem}
}
/* v9: three parts, three contacts */
.parts-3,.contact-band .contact-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
.contact-cols a{font-size:clamp(1rem,1.4vw,1.125rem)}
@media (max-width:760px){.parts-3,.contact-band .contact-cols{grid-template-columns:1fr}}

/* v10: UN-style "What we do", Short Forms with video, The Universal Gazette front page */
@font-face{font-family:"Playfair Display";src:url(fonts/playfair-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}
.wwd{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.wwd a{display:flex;flex-direction:column;gap:.5rem;height:100%;padding:1.5rem 1.5rem 1.75rem;background:var(--paper);border-top:4px solid var(--brass);text-decoration:none;color:var(--ink)}
.wwd-n{color:var(--brass);font-weight:700;font-size:.875rem;font-variant-numeric:tabular-nums}
.wwd-t{font-family:var(--display);font-weight:650;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1}
.wwd-d{color:var(--muted)}
.wwd a:hover .wwd-t{text-decoration:underline;text-decoration-thickness:1px}
.figs-in{margin-top:3rem}
.sf{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(1.5rem,5vw,4.5rem);align-items:center}
.sf-v{margin:0;max-width:22rem}
.sf-v figcaption{margin-top:.5rem;font-size:.75rem;color:var(--muted)}
.vid{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#15171c}
.vid-ph{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#1b1e24 0 14px,#20242b 14px 28px)}
.vid-ph span{font-family:var(--sans);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:#9aa3b2;border:1px solid #4a5160;padding:.35rem .6rem}
.gz{--gz-ink:#111;--gz-paper:#f6f4ee;--gz-rule:#1a1a1a;background:var(--gz-paper);color:var(--gz-ink);padding-block:clamp(3rem,8vh,5rem)}
.gz a{color:inherit}
.gz-pub{margin:0 0 .75rem;font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#555;text-align:center}
.gz-mast{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;border-top:3px solid var(--gz-rule);padding-top:1rem}
.gz-mast h2{margin:0;text-align:center;font-family:"Playfair Display",Georgia,serif;font-weight:900;font-size:clamp(1.9rem,6.2vw,5.4rem);line-height:1;letter-spacing:-.01em;text-transform:uppercase}
.gz-mast h2 a{text-decoration:none}
.gz-box{font-family:var(--serif);font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.25;text-align:center;border:1px solid var(--gz-rule);padding:.35rem .55rem}
.gz-line{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding:.45rem 0;border-top:1px solid var(--gz-rule);border-bottom:1px solid var(--gz-rule);font-family:var(--serif);font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em}
.gz-line a{text-decoration:none}
.gz-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:1.75rem}
.gz-col{padding:0 1rem;border-left:1px solid #b9b5aa}
.gz-col:first-child{padding-left:0;border-left:0}.gz-col:last-child{padding-right:0}
.gz-col a{display:block;text-decoration:none}
.gz-k{margin:.85rem 0 .25rem;font-family:var(--serif);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.gz-col h3{margin:0;font-family:var(--serif);font-weight:700;font-size:1.1875rem;line-height:1.18}
.gz-col a:hover h3{text-decoration:underline;text-decoration-thickness:1px}
.gz-d{margin:.4rem 0 0;font-family:var(--serif);font-style:italic;font-size:.8125rem;color:#555}
.gz-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;padding-top:1rem;border-top:3px double var(--gz-rule);font-family:var(--serif);font-size:.875rem}
.gz-btn{display:inline-block;background:#1e3358;color:#fff!important;text-decoration:none;font-family:var(--sans);font-weight:600;font-size:.9375rem;padding:.75rem 1.2rem}
.foot{border-top:6px solid var(--brass)}
@media (max-width:980px){.gz-cols{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(12rem,42%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem}.gz-col{scroll-snap-align:start}}
@media (max-width:760px){
  .wwd,.sf{grid-template-columns:1fr}
  .gz-mast{grid-template-columns:1fr}.gz-box{display:none}
  .gz-cols{grid-auto-columns:70%}
  .sf-v{max-width:16rem}
}
.gz-mast h2{font-size:clamp(1.5rem,4.7vw,4.6rem);white-space:nowrap}
.gz-cols{margin-inline:-1rem}
.gz-col,.gz-col:first-child,.gz-col:last-child{padding:0 1rem}
.sf{grid-template-columns:minmax(0,15rem) minmax(0,1fr)}
.sf-v{max-width:15rem}
@media (max-width:760px){.gz-mast h2{white-space:normal;font-size:clamp(1.9rem,10vw,3rem)}.gz-cols{margin-inline:0}}
@media (max-width:760px){.sf{grid-template-columns:1fr}}
.news-fig{margin:0 0 .9rem}.news-fig .news-img{margin-bottom:.35rem}
.news-fig figcaption{font-size:.6875rem;color:var(--muted);line-height:1.35}
.wwd-s{max-width:58rem}
.wwd-s p{margin:0 0 1.25rem;font-size:clamp(1.125rem,1.6vw,1.3125rem);line-height:1.6;color:var(--ink)}
.wwd-s .wwd-lead{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,2.8vw,2.25rem);line-height:1.3;letter-spacing:-.01em}
/* v11: running image band with keywords */
.band{overflow:hidden;padding-bottom:clamp(3rem,7vh,4.5rem)}
.band-track{list-style:none;margin:0;padding:0;display:flex;gap:1rem;width:max-content;animation:band 90s linear infinite}
.band:hover .band-track{animation-play-state:paused}
.band-i{position:relative;flex:0 0 auto;width:clamp(10rem,16vw,14rem)}
.band-img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.band-i::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,18,40,.72),rgba(10,18,40,0) 45%)}
.band-k{position:absolute;left:.85rem;bottom:.8rem;z-index:1;color:#fff;font-family:var(--display);font-weight:650;font-size:1.0625rem;letter-spacing:.01em}
.band-ai{position:absolute;right:.5rem;top:.5rem;z-index:1;background:rgba(0,0,0,.55);color:#fff;font-size:.5625rem;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .35rem}
@keyframes band{from{transform:translateX(0)}to{transform:translateX(calc(-50% - .5rem))}}
@media (prefers-reduced-motion:reduce){.band{overflow-x:auto}.band-track{animation:none}}
.band{padding-bottom:1rem}.band-rev{padding-bottom:clamp(3rem,7vh,4.5rem)}
.band-rev .band-track{animation-direction:reverse;animation-duration:100s}
.band-i{width:clamp(9rem,13vw,12rem)}
.wwd-s .wwd-lead{margin-bottom:2.5rem}
.wwd-s .wwd-lead{margin-bottom:0}
.band-ai{top:auto;right:.45rem;bottom:.45rem;background:none;padding:0;font-size:.5rem;letter-spacing:.06em;color:rgba(255,255,255,.6)}
/* v12: fashion process steps */
.steps{list-style:none;margin:clamp(2.5rem,6vh,4rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem;counter-reset:none}
.steps li{border-top:3px solid var(--brass);padding-top:1rem}
.steps-n{display:block;color:var(--brass);font-weight:700;font-size:.8125rem;font-variant-numeric:tabular-nums}
.steps h3{margin:.35rem 0 .4rem;font-family:var(--display);font-weight:650;font-size:1.25rem}
.steps p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.5}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.steps{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1100px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:520px){.steps{grid-template-columns:1fr}}
.feat-portrait{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.feat-portrait img{aspect-ratio:3/4}
@media (max-width:760px){.feat-portrait{grid-template-columns:1fr}}
/* v13: Fashion subpage */
.fs-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.fs-hero h1{margin:.25rem 0 1rem;font-family:var(--display);font-weight:650;font-size:clamp(2.75rem,6vw,4.5rem);line-height:1}
.fs-hero-t p:not(.kicker){font-size:1.125rem;line-height:1.6;max-width:36rem}
.fs-lede{font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.75rem)!important;line-height:1.35!important;color:var(--ink)}
.fs-mosaic{margin:0}.fs-mosaic img{width:100%;aspect-ratio:3/4;object-fit:cover}
.fs-mosaic figcaption,.fs-inset figcaption{margin-top:.5rem;font-size:.75rem;color:var(--muted)}
.steps-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:0;row-gap:2rem}
.fs-verify{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.fs-verify h2{margin:.25rem 0 1rem;font-family:var(--display);font-weight:650;font-size:clamp(1.9rem,3.4vw,2.75rem);line-height:1.1}
.fs-shot{position:relative;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1.3fr);gap:1rem;align-items:end}
.fs-shot-main{position:relative}.fs-shot-main img{width:100%;display:block}
.fs-pin{position:absolute;transform:translate(-50%,-50%);width:1.6rem;height:1.6rem;border-radius:50%;background:var(--brass);color:#fff;font-size:.8125rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px rgba(255,255,255,.85)}
.fs-inset{margin:0}.fs-inset img{width:100%;display:block}
.fs-checks{list-style:none;margin:1.5rem 0;padding:0;border-top:1px solid var(--rule)}
.fs-checks li{display:flex;gap:.9rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--rule)}
.fs-k{flex:0 0 auto;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--brass);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.fs-note{font-size:.875rem;color:var(--muted)}
.fs-looks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 2rem}
.fs-pair{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.9rem}
.fs-pair img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#fff}
.fs-look h3{margin:0 0 .35rem;font-family:var(--display);font-weight:650;font-size:1.25rem}
.fs-look p{margin:0 0 .35rem;color:var(--muted);font-size:.9375rem;line-height:1.5}
.fs-look .fs-from{font-size:.8125rem}
.fs-specs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.fs-faq{max-width:52rem}
.fs-contact{grid-template-columns:1fr!important;max-width:36rem}
@media (max-width:900px){.fs-looks,.steps-3,.fs-specs{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:760px){.fs-hero,.fs-verify{grid-template-columns:1fr}.fs-looks,.steps-3,.fs-specs{grid-template-columns:1fr!important}}
.bonn{border-top:1px solid var(--rule)}
.bonn h2{margin:.35rem 0 .75rem;font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2}
.bonn p:not(.kicker){margin:0;max-width:44rem;color:var(--muted);font-size:1.0625rem}
.bonn{border-top:1px solid var(--rule)}
.bonn h2{margin:.35rem 0 .75rem;font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.2}
.bonn p:not(.kicker){margin:0;max-width:44rem;color:var(--muted);font-size:1.0625rem}
.covers{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.covers{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.covers{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v14: fashion page before/after slider, CTA, price */
.fs-hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05}
.fs-cta{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.5rem}
.fs-cta span{color:var(--muted);font-size:.9375rem}
.fs-ba{margin:0}
.fs-ba-box{position:relative;aspect-ratio:3/4;overflow:hidden;background:#fff;user-select:none}
.fs-ba-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fs-ba-before{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.fs-ba-line{position:absolute;top:0;bottom:0;left:var(--p);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);pointer-events:none}
.fs-ba-line::after{content:"‹ ›";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2.6rem;height:2.6rem;border-radius:50%;background:var(--brass);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1rem;letter-spacing:.1em}
.fs-ba-tag{position:absolute;top:.75rem;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;background:rgba(17,25,46,.75);color:#fff;padding:.3rem .5rem;pointer-events:none}
.fs-ba-tag-l{left:.75rem}.fs-ba-tag-r{right:.75rem}
.fs-ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.fs-ba figcaption{margin-top:.5rem;font-size:.75rem;color:var(--muted)}
.fs-price{margin:1rem 0 1.25rem;color:var(--on-night);font-size:1.125rem}
.fs-price b{font-family:var(--display);font-size:1.5rem}
.fs-statement .statement-bg{object-position:50% 20%}
/* v15: side-by-side before/after in fashion hero */
.fs-duo{margin:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem}
.fs-duo-i{position:relative}
.fs-duo-i img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#fff;border:1px solid var(--rule)}
.fs-duo-tag{position:absolute;left:.6rem;top:.6rem;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;background:#fff;color:var(--ink);border:1px solid var(--rule);padding:.25rem .45rem}
.fs-duo-tag-dark{background:var(--brass);color:#fff;border-color:var(--brass)}
.fs-duo-arrow{color:var(--brass);font-size:1.75rem;font-weight:700}
.fs-duo figcaption{grid-column:1/-1;font-size:.75rem;color:var(--muted)}
.fs-split{margin:0}
.fs-split-main img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;background:#fff}
.fs-split-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:.75rem}
.fs-split-th{position:relative}
.fs-split-th img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 30%;background:#fff;border:1px solid var(--rule)}
.fs-split figcaption{margin-top:.5rem;font-size:.75rem;color:var(--muted)}
.fs-ba-small{margin-top:.75rem}
.fs-ba-small .fs-ba-box{aspect-ratio:16/10}
.fs-ba-small .fs-ba-box img{object-position:50% 45%}
.steps-hitl{margin:clamp(2.5rem,6vh,4rem) 0 0;font-size:1.0625rem;color:var(--ink)}
.steps-hitl b{color:var(--brass)}
.steps-tight{margin-top:1rem}
/* v16: Short Forms as distribution of video commentary */
.sfw-intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}
.sfw-lead{margin:.35rem 0 0;font-family:var(--display);font-weight:650;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;color:var(--on-night)}
.sfw-intro p:not(.kicker):not(.sfw-lead){color:var(--on-night-muted);font-size:1.0625rem;line-height:1.6;margin:0 0 1rem}
.sfw-note{font-size:.875rem!important}
.sfw-wall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:clamp(2.5rem,6vh,3.5rem)}
.sfw-i a{display:block;text-decoration:none;color:var(--on-night)}
.sfw-k{margin:.75rem 0 .2rem;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.sfw-i h3{margin:0;font-family:var(--display);font-weight:600;font-size:1rem;line-height:1.3}
.sfw-d{margin:.3rem 0 0;font-size:.75rem;color:var(--on-night-muted)}
.sfw-places{list-style:none;margin:clamp(2.5rem,6vh,3.5rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem}
.sfw-places li{border-top:1px solid rgba(255,255,255,.25);padding-top:.9rem}
.sfw-places h3{margin:0 0 .35rem;font-family:var(--display);font-weight:650;font-size:1.125rem;color:var(--on-night)}
.sfw-places p{margin:0;color:var(--on-night-muted);font-size:.875rem;line-height:1.5}
.gz-col-t h3{font-size:1.375rem}
.gz-col-t:first-child h3{font-size:1.75rem}
@media (max-width:980px){.sfw-wall{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(11rem,40%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.sfw-places{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.sfw-intro{grid-template-columns:1fr}.sfw-wall{grid-auto-columns:70%}.sfw-places{grid-template-columns:1fr}}
.cover{min-width:0}.cover-t,.cover-org{overflow-wrap:anywhere;hyphens:auto}@media (max-width:440px){.cover-t{font-size:1.0625rem}}
.sfw-note a{color:var(--on-night)}
.sfw-avail{margin:clamp(2rem,5vh,3rem) 0 0;color:var(--on-night-muted);font-size:.875rem;letter-spacing:.04em}
.sfw-avail+.sfw-places{margin-top:.75rem}
.sfw-lead{font-size:clamp(1.75rem,3.2vw,2.6rem)}
.sfw-places{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1100px){.sfw-places{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:600px){.sfw-places{grid-template-columns:1fr}}
.gz-intro{margin-bottom:clamp(2rem,5vh,3rem)}
.gz-intro .block-h{border-bottom-color:#cfcabd}
.gz-intro .intro{color:#333}
.gz-line-s{margin-top:2.25rem}
.gzs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem}
.gzs-i a{display:block;text-decoration:none}
.gzs-i h3{margin:0;font-family:var(--serif);font-weight:700;font-size:1.0625rem;line-height:1.2}
.gzs-i a:hover h3{text-decoration:underline;text-decoration-thickness:1px}
@media (max-width:980px){.gzs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(11rem,40%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}}
@media (max-width:760px){.gzs{grid-auto-columns:70%}}
.gz-slogan{margin:.25rem 0 .75rem;font-family:"Playfair Display",Georgia,serif;font-weight:900;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.05;color:#111}
.gzs{margin-top:1.75rem}
.gz-regions{list-style:none;margin:1.25rem 0 0;padding:.75rem 0 0;border-top:1px solid #cfcabd;display:flex;flex-wrap:wrap;gap:.35rem 0;font-family:var(--serif);font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:#333}
.gz-regions li:not(:last-child)::after{content:"·";margin:0 .6rem;color:#999}
.vid-wrap{position:relative}
.vid-ai{position:absolute;right:.4rem;bottom:.4rem;font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(0,0,0,.35);padding:.1rem .3rem;pointer-events:none}

/* v17 about */
.ab-hero{position:relative;background:#0b0b0b;color:#fff;overflow:hidden}
.ab-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.ab-hero-t{position:relative;padding-top:clamp(5rem,14vw,10rem);padding-bottom:clamp(4rem,10vw,7rem)}
.ab-kicker{font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;color:rgba(255,255,255,.8)}
.ab-hero h1{font-family:var(--display,var(--serif));font-size:clamp(2.1rem,5.2vw,4rem);line-height:1.08;font-weight:700;letter-spacing:-.01em;max-width:20ch;margin:0;color:#fff}
.ab-cap{position:absolute;right:12px;bottom:8px;margin:0;font-family:var(--sans);font-size:11px;color:rgba(255,255,255,.6)}
.ab-text{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem);font-family:var(--serif);font-size:1.1875rem;line-height:1.65}
.ab-text p{max-width:62ch;margin:0 0 1.1rem}
.ab-text .ab-lede{font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.45;margin-bottom:1.6rem}
.ab-text h2{font-family:var(--sans);font-size:1rem;font-weight:600;margin:0 0 .8rem}
.ab-text h2#contact{margin-top:2.6rem}
.ab-text .ab-note{font-family:var(--sans);font-size:.9375rem;color:var(--muted)}
.ab-text .ab-contact{font-family:var(--sans);font-size:1rem;line-height:1.8;overflow-wrap:anywhere}
.ab-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem)}
.ab-card{display:block;color:inherit;text-decoration:none;min-width:0}
.ab-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:1rem}
.ab-card h3{font-family:var(--sans);font-size:1.125rem;font-weight:600;margin:0 0 .4rem}
.ab-card p{font-family:var(--serif);font-size:1.0625rem;line-height:1.5;margin:0 0 .6rem}
.ab-card span{font-family:var(--sans);font-size:.9375rem;font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ab-card:hover h3{text-decoration:underline}
.ab-mv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem);margin-top:2.6rem;padding-top:2rem;border-top:1px solid var(--rule)}
.ab-mv h2{font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem}
.ab-mv p{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.3;font-weight:600;letter-spacing:-.01em;margin:0;max-width:24ch}
.ab-bonn{border-top:1px solid var(--rule)}
@media (max-width:760px){.ab-cards,.ab-mv{grid-template-columns:1fr}}
/* financial shorts (homepage) */
.fsh{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.fsh-t p{max-width:58ch}
.fsh-t p:not(.kicker):not(.fsh-lead){font-size:1.125rem;line-height:1.65}
.fsh-lead{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;font-weight:600;letter-spacing:-.01em;margin:.4rem 0 1.4rem;max-width:22ch!important}
.fsh-t .btn{margin-top:.8rem}
.fsh-fig{margin:0;max-width:340px;justify-self:end;width:100%}
.fsh-fig figcaption{font-size:.8125rem;color:var(--muted);margin-top:.6rem}
.fsh-figs{margin-top:clamp(2.5rem,5vw,4rem)!important}
.wwd-s .wwd-areas{font-family:var(--sans)!important;font-size:.8125rem!important;line-height:1.5!important;font-weight:600!important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)!important;margin:1.6rem 0 0!important}
.wwd-s .wwd-areas a{color:inherit;text-decoration:none}
.wwd-s .wwd-areas a:hover{color:var(--ink);text-decoration:underline}
.div-h{background:var(--paper);border-top:1px solid var(--rule)}
.div-in{padding-top:clamp(3.5rem,8vw,6.5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.div-h h2{font-family:var(--display);font-size:clamp(2.6rem,7vw,5.5rem);line-height:1;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--ink)}
.div-line{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.4;color:var(--muted);margin:1rem 0 1.6rem;max-width:40ch}
.div-brands{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 2rem}
.div-brands a{font-family:var(--sans);font-size:.9375rem;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--brass);padding-bottom:.15rem}
.div-brands a:hover{border-bottom-color:var(--ink)}
.devs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.2vw,2rem)}
.dev a{display:block;color:inherit;text-decoration:none}
.dev-fig{position:relative;margin:0 0 1rem;aspect-ratio:3/4;overflow:hidden;background:var(--stone)}
.dev-fig img{width:100%;height:100%;object-fit:cover;display:block}
.dev-fig .band-ai{position:absolute;right:.4rem;bottom:.4rem}
.dev h3{font-family:var(--display);font-size:1.1875rem;line-height:1.25;font-weight:600;margin:0 0 .5rem}
.dev p:not(.kicker){font-size:.9375rem;line-height:1.5;color:var(--muted);margin:0}
.dev a:hover h3{text-decoration:underline}
.from{font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}
.from-night{color:var(--on-night-muted)}
@media (max-width:980px){.devs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.devs{grid-template-columns:1fr}.dev-fig{aspect-ratio:4/3}}
.top{position:relative;z-index:20}
.top nav{align-items:center}
.nd{position:relative}
.nd summary{list-style:none;cursor:pointer;padding-block:.25rem;border-bottom:1px solid transparent;display:inline-flex;align-items:center;gap:.35rem}
.nd summary::-webkit-details-marker{display:none}
.nd summary::after{content:"";width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6}
.nd[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.nd summary:hover,.nd[open] summary{border-bottom-color:var(--brass)}
.nd-m{position:absolute;left:-1.25rem;top:calc(100% + .9rem);width:min(22rem,86vw);background:var(--paper);border:1px solid var(--rule);border-top:3px solid var(--brass);box-shadow:0 14px 34px rgba(10,16,32,.14);padding:1.1rem 1.25rem 1.2rem;z-index:30}
.nd-t{font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin:0 0 .35rem}
.nd-l{font-family:var(--serif);font-size:1rem;line-height:1.45;color:var(--muted);margin:0 0 .9rem}
.nd-i{display:flex;flex-direction:column;border-top:1px solid var(--rule)}
.nd-i a{display:block;padding:.6rem 0;border-bottom:1px solid var(--rule)!important;font-weight:600;text-decoration:none;color:var(--ink)}
.nd-i a:hover{color:var(--brass)}
.nd:last-of-type .nd-m{left:auto;right:-1.25rem}
@media (max-width:760px){.nd{position:static}.nd:last-of-type .nd-m{right:16px}.top-in{position:relative}.nd-m{left:16px;right:16px;width:auto}}
.foot-cols{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:2rem 1.5rem!important}
@media (max-width:1100px){.foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:600px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.foot2{padding-block:2.4rem 2.6rem!important}
.f2-top{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 3rem}
.f2-top .mark{color:var(--on-night);text-decoration:none}
.f2-main{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem}
.f2-main a{color:var(--on-night);text-decoration:none;font-size:1.0625rem}
.f2-main a:hover{text-decoration:underline}
.f2-line{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem 0;margin:1.6rem 0 0;font-size:.8125rem;color:var(--on-night-muted)}
.f2-line>*{white-space:nowrap}
.f2-line>*+*::before{content:"|";margin:0 .6rem;color:var(--on-night-muted);opacity:.6}
.f2-line a{color:var(--on-night-muted);text-decoration:none}
.f2-line a:hover{color:var(--on-night);text-decoration:underline}
@media (max-width:760px){.f2-line{justify-content:flex-start;gap:.5rem 1.1rem}.f2-line>*+*::before{content:none}.f2-top{align-items:flex-start;flex-direction:column}}
.hero4-img{object-position:70% 30%!important}
.contact-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:860px){.contact-cols{grid-template-columns:1fr!important}.fsh{grid-template-columns:1fr}.fsh-fig{justify-self:start}}
