@font-face {
  font-family:"Inter";
  src:url("assets/fonts/inter/Inter-Regular.woff2") format("woff2");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

  .nav-links > a,
  .nav-links > .nav-group > button { min-height:64px; font-size:25px; }
}
@font-face {
  font-family:"Inter";
  src:url("assets/fonts/inter/Inter-Medium.woff2") format("woff2");
  font-style:normal;
  font-weight:500;
  font-display:swap;
}
@font-face {
  font-family:"Inter";
  src:url("assets/fonts/inter/Inter-SemiBold.woff2") format("woff2");
  font-style:normal;
  font-weight:600;
  font-display:swap;
}
@font-face {
  font-family:"Inter";
  src:url("assets/fonts/inter/Inter-Bold.woff2") format("woff2");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
@font-face {
  font-family:"Powell";
  src:local("Powell Regular"),local("Powell-Regular");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

:root {
  --ink: #1d1d1b;
  --paper: #f4f1e8;
  --white: #fff;
  --coral: #ec5f68;
  --wine: #ec5f68;
  --sage: #65705c;
  --muted: #6f6d68;
  --line: rgba(29,29,27,.14);
  --serif: "Cormorant Garamond", "Iowan Old Style", "Baskerville", Georgia, serif;
  --sans: Inter, "Helvetica Neue", Arial, sans-serif;
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 999; transform: translateY(-150%); padding: 10px 14px; background: var(--ink); color: white; }
.skip-link:focus { transform: none; }

.site-header { position: sticky; top: 0; z-index: 80; height: 88px; display: grid; grid-template-columns: 245px 1fr auto; align-items: center; gap: 30px; padding: 0 clamp(22px,4vw,64px); background: rgba(244,241,232,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.brand img { width: 187px; max-height: 61px; object-fit: contain; }
.main-nav { display: flex; align-items: center; justify-content: center; gap: clamp(18px,2.2vw,38px); }
.main-nav > a, .nav-group > button { position: relative; padding: 34px 0; border: 0; background: transparent; color: var(--ink); text-decoration: none; text-transform: uppercase; letter-spacing: .09em; font-size: 12px; cursor: pointer; }
.main-nav > a::after, .nav-group > button::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 26px; height: 2px; background: var(--coral); transition: right .25s; }
.main-nav > a:hover::after, .nav-group:hover > button::after, .nav-group > button:focus-visible::after { right: 0; }
.nav-group { position: relative; }
.nav-panel { position: absolute; top: calc(100% - 10px); left: 50%; width: 265px; padding: 15px; opacity: 0; visibility: hidden; transform: translate(-50%,8px); background: var(--white); border: 1px solid var(--line); box-shadow: 0 18px 45px rgba(29,29,27,.13); transition: .2s; }
.nav-group:hover .nav-panel, .nav-group:focus-within .nav-panel, .nav-group.open .nav-panel { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.nav-panel a { display: block; padding: 11px 12px; color: var(--ink); text-decoration: none; font-size: 14px; }
.nav-panel a:hover { color: var(--coral); background: var(--paper); }
.header-cta, .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 1px solid var(--ink); background: var(--ink); color: white; text-decoration: none; text-transform: uppercase; letter-spacing: .09em; font-size: 11px; transition: .25s; }
.header-cta:hover, .btn:hover { background: var(--coral); border-color: var(--coral); }
.btn.light { background: transparent; color: white; border-color: rgba(255,255,255,.6); }
.btn.light:hover { background: white; color: var(--ink); }
.btn.ghost { background: transparent; color: var(--ink); }
.btn.ghost:hover { background: var(--ink); color: white; }
.menu-toggle { display: none; }

#main { min-height: 70vh; }
.eyebrow { margin: 0 0 18px; color: var(--coral); font: 600 11px/1.2 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, .serif { font-family: var(--serif); font-weight: 500; }
h1 { font-size: clamp(45px,6.5vw,94px); line-height: .96; letter-spacing: -.025em; }
h2 { font-size: clamp(34px,4.3vw,62px); line-height: 1.02; letter-spacing: -.02em; }
h3 { font-size: 20px; line-height: 1.3; }
p { line-height: 1.8; color: rgba(29,29,27,.75); }
.lead { font-family: var(--serif); font-size: clamp(22px,2.2vw,32px); line-height: 1.38; color: var(--ink); }
.prose { max-width: 780px; }
.prose h2 { margin-top: 60px; font-size: clamp(30px,3.3vw,45px); }
.prose h3 { margin-top: 34px; font-size: 22px; }
.prose p, .prose li { font-size: 16px; line-height: 1.82; color: rgba(29,29,27,.76); }
.prose ul { padding-left: 20px; }
.content-shell { width: min(var(--max),100%); margin: auto; padding: clamp(70px,8vw,120px) clamp(22px,4vw,64px); }
.section-dark { background: var(--ink); color: var(--paper); }
.section-dark p { color: rgba(244,241,232,.72); }
.section-white { background: var(--white); }

.hero { position: relative; min-height: calc(100vh - 88px); display: flex; align-items: end; overflow: hidden; color: var(--paper); }
.hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg,rgba(29,29,27,.9),rgba(29,29,27,.15) 72%), linear-gradient(0deg,rgba(29,29,27,.58),transparent 55%); }
.hero-content { position: relative; z-index: 1; width: min(var(--max),100%); margin: auto; padding: 100px clamp(22px,4vw,64px) 80px; }
.hero h1 { max-width: 980px; margin-bottom: 24px; }
.hero p { max-width: 670px; color: rgba(244,241,232,.83); font-size: 17px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.hero .eyebrow { color: #ff8a91; }
.story-strip { display:grid; grid-template-columns: 1.1fr 1fr; min-height: 630px; }
.story-image { min-height: 520px; background: url("assets/wine-glass.jpg") center/cover; }
.story-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(50px,8vw,120px); background:var(--white); }
.story-copy h2 { max-width: 680px; }
.quote { margin: 28px 0 0; padding-left: 24px; border-left: 2px solid var(--coral); color: var(--ink); font: italic 24px/1.45 var(--serif); }

.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom: 48px; }
.section-heading h2 { margin-bottom:0; }
.text-link { color:var(--ink); text-decoration:none; border-bottom:1px solid var(--coral); padding-bottom:5px; font-size:12px; text-transform:uppercase; letter-spacing:.11em; }
.section-dark .text-link { color: var(--paper); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card { display:flex; flex-direction:column; min-width:0; background:var(--white); color:var(--ink); text-decoration:none; border:1px solid var(--line); transition:transform .35s, box-shadow .35s; }
.card:hover { transform:translateY(-6px); box-shadow:0 20px 40px rgba(29,29,27,.10); }
.card-image { aspect-ratio: 16/10; width:100%; object-fit:cover; background:#d8d1c4; }
.card-body { display:flex; flex-direction:column; flex:1; padding:25px; }
.card .meta, .event-meta, .meta { color:var(--coral); font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.card h3 { margin:11px 0 14px; font-family:var(--serif); font-size:27px; font-weight:500; }
.card p { font-size:14px; }
.card .arrow { margin-top:auto; padding-top:15px; font-size:21px; color:var(--coral); }
.section-dark .card { background:#272724; color:var(--paper); border-color:rgba(255,255,255,.1); }
.section-dark .card p { color:rgba(244,241,232,.68); }

.stats { display:grid; grid-template-columns:repeat(3,1fr); background:var(--coral); color:white; }
.stat { padding:55px clamp(25px,5vw,75px); border-right:1px solid rgba(255,255,255,.3); }
.stat:last-child { border-right:0; }
.stat b { display:block; font:500 clamp(55px,7vw,92px)/1 var(--serif); }
.stat span { display:block; margin-top:8px; font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
.path-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.path-item { padding-top:24px; border-top:2px solid var(--ink); }
.path-num { color:var(--coral); font:500 42px/1 var(--serif); }

.event-list { border-top:1px solid var(--line); }
.event-row { display:grid; grid-template-columns:140px 1fr auto; align-items:center; gap:30px; padding:28px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.event-row:hover h3 { color:var(--coral); }
.event-row h3 { margin:0 0 6px; font:500 28px/1.15 var(--serif); transition:.2s; }
.event-row p { margin:0; font-size:13px; }
.event-row time { color:var(--coral); font:500 18px/1.2 var(--serif); }
.event-row b { color:var(--coral); font-size:24px; }

.page-hero { position:relative; min-height:500px; display:flex; align-items:end; color:var(--paper); overflow:hidden; }
.page-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(29,29,27,.88),rgba(29,29,27,.18)); }
.page-hero-inner { position:relative; z-index:1; width:min(var(--max),100%); margin:auto; padding:90px clamp(22px,4vw,64px) 60px; }
.page-hero h1 { max-width:1000px; margin:0; }
.page-hero .eyebrow { color:#ff8a91; }
.page-layout { display:grid; grid-template-columns:minmax(0,780px) 280px; justify-content:space-between; gap:80px; }
.side-card { position:sticky; top:120px; padding:25px; background:var(--white); border-top:3px solid var(--coral); }
.side-card h3 { font-family:var(--serif); font-size:26px; }
.side-card a:not(.btn) { display:block; padding:9px 0; border-bottom:1px solid var(--line); text-decoration:none; font-size:13px; }
.side-card .btn { margin-top:20px; width:100%; }
.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin:42px 0; }
.feature { padding:28px; background:var(--white); border-top:2px solid var(--coral); }
.feature h3 { font-family:var(--serif); font-size:26px; }
.feature p { margin-bottom:0; font-size:14px; }
.timeline { margin:45px 0; counter-reset:item; }
.timeline-item { position:relative; padding:0 0 35px 68px; }
.timeline-item::before { counter-increment:item; content:counter(item, decimal-leading-zero); position:absolute; left:0; top:-8px; color:var(--coral); font:500 32px/1 var(--serif); }
.timeline-item::after { content:""; position:absolute; left:42px; top:5px; bottom:0; width:1px; background:var(--line); }
.timeline-item h3 { margin-bottom:8px; }

.filters { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:35px; }
.filter { border:1px solid var(--line); background:transparent; padding:10px 16px; color:var(--ink); cursor:pointer; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.filter.active, .filter:hover { background:var(--ink); color:white; }
.people-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.person { padding:28px; min-height:210px; background:var(--white); border-top:3px solid var(--coral); }
.person h3 { margin:0 0 5px; font:500 29px/1.1 var(--serif); }
.person .role { color:var(--coral); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.clubs { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.club { display:flex; justify-content:space-between; gap:18px; padding:24px; background:var(--white); text-decoration:none; border:1px solid var(--line); }
.club:hover { border-color:var(--coral); }
.club strong { font-family:var(--serif); font-size:22px; }

.article-header { width:min(970px,100%); margin:auto; padding:clamp(70px,8vw,120px) 22px 45px; text-align:center; }
.article-header h1 { font-size:clamp(42px,6vw,78px); }
.article-header p { max-width:720px; margin:0 auto; font-size:18px; }
.article-image { width:min(1200px,calc(100% - 44px)); max-height:680px; margin:0 auto; object-fit:cover; aspect-ratio:16/8; }
.article-body { width:min(760px,calc(100% - 44px)); margin:auto; padding:60px 0 110px; }
.article-body h2 { margin-top:55px; font-size:38px; }
.article-body h3 { margin-top:36px; font-family:var(--serif); font-size:28px; }
.article-body p, .article-body li { font-size:17px; line-height:1.86; color:rgba(29,29,27,.78); }
.article-body blockquote { margin:40px 0; padding:5px 0 5px 25px; border-left:3px solid var(--coral); font:italic 26px/1.5 var(--serif); }
.article-body .facts { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:35px 0; background:var(--line); border:1px solid var(--line); }
.fact { padding:22px; background:var(--white); }
.fact small { display:block; color:var(--coral); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.fact strong { display:block; margin-top:7px; }

.cta-band { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:60px clamp(22px,6vw,90px); background:var(--wine); color:white; }
.cta-band { position:relative; isolation:isolate; overflow:hidden; }
.cta-band::before { content:""; position:absolute; z-index:-1; inset:-80%; background:conic-gradient(from 90deg,transparent,rgba(236,95,104,.5),transparent 28%); animation:ctaSpin 18s linear infinite; }
.cta-band::after { content:""; position:absolute; z-index:-1; inset:1px; background:linear-gradient(100deg,var(--wine),#421222); }
@keyframes ctaSpin { to { transform:rotate(360deg); } }
.cta-band h2 { max-width:800px; margin:0; font-size:clamp(35px,4vw,55px); }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:70px; }
.contact-card { padding:35px; background:var(--white); }
.contact-card h2 { font-size:35px; }
.contact-list { list-style:none; padding:0; margin:0; }
.contact-list li { padding:15px 0; border-bottom:1px solid var(--line); line-height:1.5; }
.contact-list small { display:block; margin-bottom:5px; color:var(--coral); text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label { display:block; margin-bottom:15px; font-size:12px; font-weight:600; letter-spacing:.04em; }
input, textarea, select { width:100%; margin-top:7px; padding:14px; border:1px solid var(--line); background:#fff; border-radius:0; }
textarea { min-height:180px; resize:vertical; }
.notice { padding:18px 20px; border-left:3px solid var(--coral); background:rgba(236,95,104,.08); font-size:13px; line-height:1.6; }

.site-footer { background:var(--ink); color:var(--paper); }
.footer-main { width:min(var(--max),100%); margin:auto; display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:60px; padding:80px clamp(22px,4vw,64px) 60px; }
.footer-main h2 { margin-bottom:18px; color:rgba(244,241,232,.45); font:600 10px/1 var(--sans); letter-spacing:.15em; text-transform:uppercase; }
.footer-main a { display:block; width:fit-content; margin:10px 0; color:rgba(244,241,232,.8); text-decoration:none; font-size:14px; }
.footer-main a:hover { color:#ff8a91; }
.footer-main p { color:rgba(244,241,232,.55); font-size:13px; }
.footer-brand img { width:230px; filter:invert(1) brightness(1.6); }
.footer-brand p { max-width:380px; margin-top:25px; }
.footer-bottom { width:min(var(--max),100%); margin:auto; display:flex; justify-content:space-between; gap:25px; padding:26px clamp(22px,4vw,64px); border-top:1px solid rgba(255,255,255,.12); color:rgba(244,241,232,.45); font-size:11px; }
.footer-bottom div { display:flex; gap:25px; }
.footer-bottom a { text-decoration:none; }
.not-found { text-align:center; padding:140px 20px; }
.not-found b { display:block; color:var(--coral); font:500 110px/1 var(--serif); }

@media (max-width: 1100px) {
  .site-header { grid-template-columns:1fr auto auto; }
  .menu-toggle { display:flex; width:48px; height:48px; padding:13px; flex-direction:column; justify-content:center; gap:5px; border:0; background:transparent; cursor:pointer; }
  .menu-toggle span { display:block; width:22px; height:1px; background:var(--ink); }
  .menu-toggle b { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .main-nav { position:fixed; top:88px; right:0; bottom:0; width:min(440px,100%); display:block; padding:28px; overflow:auto; background:var(--paper); transform:translateX(100%); transition:.3s; }
  .menu-open .main-nav { transform:none; box-shadow:-15px 30px 50px rgba(0,0,0,.12); }
  .main-nav > a, .nav-group > button { display:block; width:100%; padding:18px 0; border-bottom:1px solid var(--line); text-align:left; }
  .nav-panel { position:static; display:none; width:auto; padding:5px 12px 12px; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; background:transparent; }
  .nav-group.open .nav-panel { display:block; transform:none; }
  .nav-group:hover .nav-panel:not(.open) { transform:none; }
  .nav-group > button::before { content:"+"; float:right; color:var(--coral); font-size:18px; }
  .nav-group.open > button::before { content:"–"; }
  .story-strip { grid-template-columns:1fr; }
  .story-image { min-height:520px; }
  .cards { grid-template-columns:repeat(2,1fr); }
  .path-grid { grid-template-columns:repeat(2,1fr); }
  .page-layout { grid-template-columns:1fr; }
  .side-card { position:static; }
  .footer-main { grid-template-columns:1.5fr repeat(2,1fr); }
  .footer-main > div:last-child { grid-column:2/3; }
}

@media (max-width: 720px) {
  .site-header { height:76px; padding:0 18px; gap:8px; }
  .brand img { width:145px; }
  .header-cta { display:none; }
  .main-nav { top:76px; }
  .hero { min-height:720px; }
  .hero-content { padding-bottom:45px; }
  .hero::after { background:linear-gradient(0deg,rgba(29,29,27,.92),rgba(29,29,27,.2)); }
  .story-image { min-height:390px; }
  .story-copy { padding:55px 22px; }
  .content-shell { padding-left:22px; padding-right:22px; }
  .section-heading { display:block; }
  .section-heading .text-link { display:inline-block; margin-top:18px; }
  .cards, .feature-grid, .people-grid, .clubs, .contact-grid { grid-template-columns:1fr; }
  .stats { grid-template-columns:1fr; }
  .stat { border-right:0; border-bottom:1px solid rgba(255,255,255,.3); padding:35px 22px; }
  .path-grid { grid-template-columns:1fr; }
  .event-row { grid-template-columns:1fr auto; gap:8px 15px; }
  .event-row time { grid-column:1/3; }
  .event-row h3 { font-size:24px; }
  .page-hero { min-height:420px; }
  .article-body .facts { grid-template-columns:1fr; }
  .cta-band { display:block; }
  .cta-band .btn { margin-top:25px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .footer-main { grid-template-columns:1fr 1fr; gap:35px 25px; }
  .footer-brand { grid-column:1/3; }
  .footer-main > div:last-child { grid-column:auto; }
  .footer-bottom { display:block; }
  .footer-bottom div { margin-top:14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* --- 2026 editorial motion system --------------------------------------- */
body::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:1000;
  pointer-events:none;
  opacity:.28;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
.scroll-progress { position:fixed; top:0; left:0; right:0; z-index:120; height:3px; pointer-events:none; }
.scroll-progress span { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--coral),#ffb36b); transform:scaleX(0); transform-origin:left; }
.cursor-aura { position:fixed; z-index:0; width:420px; height:420px; margin:-210px 0 0 -210px; pointer-events:none; border-radius:50%; opacity:.08; background:radial-gradient(circle,var(--coral),transparent 68%); filter:blur(16px); transform:translate3d(-500px,-500px,0); }
#main { position:relative; z-index:1; }
#main.route-enter { animation:routeIn .65s cubic-bezier(.2,.7,.2,1) both; }
@keyframes routeIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.reveal { opacity:0; transform:translateY(42px); transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.reveal-left { transform:translateX(-55px); }
.reveal.reveal-right { transform:translateX(55px); }
.reveal.is-visible { opacity:1; transform:none; }
[data-parallax] { will-change:transform; transform:translate3d(0,0,0) scale(1.06); }

.site-header { box-shadow:0 10px 35px rgba(29,29,27,.04); }
.brand img { transition:transform .4s cubic-bezier(.2,.7,.2,1); }
.brand:hover img { transform:rotate(-2deg) scale(1.035); }
.header-cta { position:relative; overflow:hidden; }
.header-cta::before,.btn::before { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent); transform:translateX(-120%); transition:transform .65s; }
.header-cta:hover::before,.btn:hover::before { transform:translateX(120%); }

.hero { min-height:min(920px,calc(100vh - 88px)); isolation:isolate; }
.hero::before { content:""; position:absolute; z-index:1; right:-7vw; bottom:-24vw; width:58vw; height:58vw; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 9vw rgba(255,255,255,.025),0 0 0 18vw rgba(255,255,255,.018); }
.hero-content::after { content:"SUA · 1998"; position:absolute; right:clamp(22px,4vw,64px); bottom:78px; color:rgba(255,255,255,.55); font:500 10px/1 var(--sans); letter-spacing:.28em; writing-mode:vertical-rl; }
.hero h1 { text-shadow:0 10px 35px rgba(0,0,0,.25); }
.hero .eyebrow { display:inline-flex; align-items:center; gap:12px; }
.hero .eyebrow::before { content:""; width:42px; height:1px; background:currentColor; }
.story-strip { position:relative; }
.story-strip::after { content:""; position:absolute; left:50%; top:15%; width:1px; height:70%; background:linear-gradient(transparent,var(--coral),transparent); z-index:2; }
.story-image { position:relative; overflow:hidden; background:none; }
.story-image img { width:100%; height:120%; object-fit:cover; margin-top:-10%; }
.story-copy { position:relative; overflow:hidden; }
.story-copy::after { content:"SU"; position:absolute; right:-.08em; bottom:-.25em; color:rgba(236,95,104,.055); font:500 290px/1 var(--serif); pointer-events:none; }

.section-heading { position:relative; }
.section-heading::after { content:""; flex:1; height:1px; margin:0 10px 13px 25px; background:linear-gradient(90deg,var(--line),transparent); }
.section-heading .text-link { flex-shrink:0; }
.card { position:relative; overflow:hidden; transform-style:preserve-3d; }
.card::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 38%); opacity:0; transition:opacity .35s; }
.card:hover::after { opacity:1; }
.card-image { transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s; }
.card:hover .card-image { transform:scale(1.065); filter:saturate(1.1) contrast(1.03); }
.card .arrow { transition:transform .3s; }
.card:hover .arrow { transform:translateX(8px); }

.image-marquee { overflow:hidden; padding:18px 0; background:var(--coral); color:#fff; }
.image-marquee-track { display:flex; width:max-content; animation:marquee 28s linear infinite; }
.image-marquee span { padding:0 26px; font:500 13px/1 var(--sans); letter-spacing:.18em; text-transform:uppercase; white-space:nowrap; }
.image-marquee i { color:rgba(255,255,255,.45); font-style:normal; }
@keyframes marquee { to { transform:translateX(-50%); } }

.editorial-collage { position:relative; width:min(var(--max),100%); min-height:680px; margin:auto; padding:90px clamp(22px,4vw,64px); overflow:hidden; }
.collage-bg { position:absolute; inset:0; background:var(--ink); }
.collage-primary { position:absolute; left:clamp(22px,5vw,80px); top:75px; width:min(53vw,760px); height:530px; object-fit:cover; clip-path:polygon(0 0,100% 0,92% 100%,0 88%); }
.collage-secondary { position:absolute; right:clamp(22px,5vw,80px); bottom:35px; width:min(31vw,420px); height:390px; object-fit:cover; border:12px solid var(--paper); }
.collage-copy { position:absolute; z-index:2; right:clamp(22px,7vw,110px); top:80px; width:min(430px,38vw); padding:38px; background:rgba(244,241,232,.94); backdrop-filter:blur(12px); box-shadow:0 25px 65px rgba(0,0,0,.24); }
.collage-copy h2 { margin:0; font-size:clamp(31px,3.7vw,53px); }
.collage-index { position:absolute; z-index:2; left:53%; bottom:48px; color:rgba(255,255,255,.3); font:italic 120px/1 var(--serif); }

.page-hero { min-height:clamp(540px,70vh,760px); isolation:isolate; }
.page-hero::before { content:""; position:absolute; z-index:2; top:0; bottom:0; left:clamp(22px,7vw,110px); width:1px; background:rgba(255,255,255,.25); }
.page-hero::after { background:linear-gradient(90deg,rgba(29,29,27,.9),rgba(29,29,27,.2) 65%),linear-gradient(0deg,rgba(29,29,27,.68),transparent); }
.page-hero-inner { padding-bottom:80px; }
.page-hero-inner h1 { max-width:1120px; }
.page-hero-inner h1::after { content:""; display:block; width:clamp(90px,14vw,220px); height:3px; margin-top:28px; background:var(--coral); }
.page-hero-number { position:absolute; z-index:2; right:clamp(22px,5vw,72px); top:50%; color:rgba(255,255,255,.14); font:italic clamp(100px,17vw,250px)/1 var(--serif); transform:translateY(-50%); }

.page-content-wrap { position:relative; }
.page-content-wrap::before { content:""; position:absolute; top:7%; left:-170px; width:360px; height:360px; border:1px solid rgba(236,95,104,.2); border-radius:50%; box-shadow:0 0 0 60px rgba(236,95,104,.025); pointer-events:none; }
.page-layout { align-items:start; }
.prose > .lead:first-child { position:relative; padding-left:30px; }
.prose > .lead:first-child::before { content:""; position:absolute; left:0; top:.2em; bottom:.2em; width:3px; background:linear-gradient(var(--coral),#ffb36b); }
.prose h2 { position:relative; }
.prose h2::before { content:""; display:block; width:46px; height:2px; margin-bottom:13px; background:var(--coral); }
.feature { position:relative; overflow:hidden; min-height:205px; transition:transform .35s,box-shadow .35s; }
.feature::after { content:attr(data-index); position:absolute; right:-5px; bottom:-20px; color:rgba(236,95,104,.08); font:500 100px/1 var(--serif); }
.feature:hover { transform:translateY(-7px) rotate(-.35deg); box-shadow:0 22px 45px rgba(29,29,27,.09); }
.timeline-item { transition:transform .3s; }
.timeline-item:hover { transform:translateX(9px); }
.side-card { overflow:hidden; box-shadow:0 18px 45px rgba(29,29,27,.08); }
.side-card::after { content:""; position:absolute; right:-70px; bottom:-70px; width:150px; height:150px; border:1px solid rgba(236,95,104,.24); border-radius:50%; }

.visual-break { position:relative; min-height:580px; display:flex; align-items:center; overflow:hidden; color:white; }
.visual-break > img { position:absolute; inset:-8%; width:116%; height:116%; object-fit:cover; }
.visual-break::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(29,29,27,.9),rgba(29,29,27,.22)); }
.visual-break-copy { position:relative; z-index:1; width:min(var(--max),100%); margin:auto; padding:90px clamp(22px,7vw,110px); }
.visual-break-copy p { max-width:650px; color:rgba(255,255,255,.78); }
.visual-break-copy h2 { max-width:850px; }

.article-header { position:relative; padding-top:110px; }
.article-header::before { content:""; position:absolute; top:50px; left:50%; width:1px; height:42px; background:var(--coral); }
.article-image { width:min(1320px,calc(100% - 44px)); max-height:760px; clip-path:polygon(3% 0,100% 0,97% 100%,0 94%); }
.article-body { position:relative; }
.article-body::before { content:""; position:absolute; top:70px; left:-120px; width:70px; height:1px; background:var(--coral); }
.facts { transform:translateY(-95px); margin-bottom:-55px !important; box-shadow:0 22px 55px rgba(29,29,27,.12); }
.event-row { position:relative; overflow:hidden; transition:padding .3s,background .3s; }
.event-row::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--coral); transform:scaleY(0); transition:transform .3s; }
.event-row:hover { padding-left:22px; padding-right:22px; background:rgba(255,255,255,.7); }
.event-row:hover::before { transform:scaleY(1); }
.person { position:relative; overflow:hidden; transition:transform .35s,background .35s,color .35s; }
.person::after { content:""; position:absolute; right:-30px; bottom:-45px; width:110px; height:110px; border:1px solid rgba(236,95,104,.3); border-radius:50%; }
.person:hover { transform:translateY(-7px); background:var(--ink); color:var(--paper); }
.club { position:relative; overflow:hidden; transition:transform .3s,background .3s,color .3s; }
.club::before { content:""; position:absolute; inset:0; background:var(--coral); transform:translateX(-102%); transition:transform .35s; z-index:-1; }
.club:hover { transform:translateX(7px); color:#fff; }
.club:hover::before { transform:none; }

@media (max-width:900px) {
  .editorial-collage { min-height:780px; }
  .collage-primary { width:78vw; height:480px; }
  .collage-secondary { width:42vw; height:330px; }
  .collage-copy { top:auto; right:22px; bottom:45px; width:min(510px,74vw); }
  .collage-index { display:none; }
}
@media (max-width:720px) {
  body::before { opacity:.16; }
  .cursor-aura { display:none; }
  .hero-content::after,.page-hero-number { display:none; }
  .story-strip::after { display:none; }
  .editorial-collage { min-height:690px; padding:0; }
  .collage-primary { left:0; top:0; width:88vw; height:420px; clip-path:none; }
  .collage-secondary { right:0; bottom:0; width:52vw; height:285px; border-width:7px; }
  .collage-copy { left:22px; right:22px; bottom:55px; width:auto; padding:25px; }
  .image-marquee-track { animation-duration:20s; }
  .page-hero::before { left:22px; }
  .visual-break { min-height:500px; }
  .article-image { clip-path:none; width:100%; }
  .facts { transform:none; margin-bottom:35px !important; }
}
@media (hover:none),(pointer:coarse) {
  .cursor-aura { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .image-marquee-track { animation:none; }
  .reveal { opacity:1; transform:none; }
}

/* --- Calm, consistent editorial refinement ------------------------------ */
:root {
  --max: 1240px;
  --inner-max: 1144px;
  --gutter: clamp(22px,4vw,48px);
}
body::before,
.cursor-aura,
.image-marquee,
.page-hero-number,
.collage-index { display:none !important; }
body { background:#f6f3ec; }
h1 { font-size:clamp(44px,5.6vw,76px); line-height:1; }
h2 { font-size:clamp(32px,3.7vw,50px); line-height:1.08; }
p { line-height:1.75; }
.content-shell,
.hero-content,
.page-hero-inner,
.visual-break-copy,
.footer-main,
.footer-bottom {
  width:min(var(--max),100%);
  padding-left:var(--gutter);
  padding-right:var(--gutter);
}
.content-shell { padding-top:clamp(72px,8vw,108px); padding-bottom:clamp(72px,8vw,108px); }
.site-header {
  width:min(var(--max),calc(100% - 32px));
  height:82px;
  margin:0 auto;
  padding:0;
  grid-template-columns:210px 1fr auto;
  background:rgba(246,243,236,.96);
  box-shadow:none;
}
.brand img { width:168px; }
.main-nav { gap:clamp(16px,2vw,29px); }
.main-nav > a,.nav-group > button { padding-top:31px; padding-bottom:31px; }
.main-nav > a::after,.nav-group > button::after { bottom:23px; height:1px; }
.header-cta { min-height:44px; padding:0 18px; }
.hero { min-height:min(790px,calc(100vh - 82px)); }
.hero::before,.hero-content::after { display:none; }
.hero::after { background:linear-gradient(90deg,rgba(29,29,27,.82),rgba(29,29,27,.16) 72%),linear-gradient(0deg,rgba(29,29,27,.5),transparent 60%); }
.hero-content { padding-top:90px; padding-bottom:72px; }
.hero h1 { max-width:870px; }
.hero p { max-width:620px; }

.story-strip {
  width:min(var(--inner-max),calc(100% - var(--gutter) - var(--gutter)));
  min-height:560px;
  margin:100px auto;
  background:#fff;
}
.story-strip::after,.story-copy::after { display:none; }
.story-image { min-height:560px; }
.story-copy { padding:clamp(42px,6vw,78px); }
.quote { font-size:22px; }
.section-heading::after { margin-bottom:11px; }
.section-heading h2 { max-width:720px; }

.cards { gap:20px; }
.card { box-shadow:none; border-color:rgba(29,29,27,.11); }
.card::after { display:none; }
.card:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(29,29,27,.07); }
.card:hover .card-image { transform:scale(1.035); }
.card-body { padding:23px; }
.card h3 { font-size:25px; }
.feature:hover { transform:translateY(-4px); box-shadow:0 14px 28px rgba(29,29,27,.06); }
.feature::after { display:none; }
.person:hover { transform:translateY(-4px); }
.club:hover { transform:none; }
.event-row:hover { padding-left:15px; padding-right:15px; }

.stats {
  width:min(var(--inner-max),calc(100% - var(--gutter) - var(--gutter)));
  margin:0 auto 100px;
  background:var(--ink);
}
.stat { padding:48px clamp(24px,4vw,56px); }
.stat b { font-size:clamp(52px,6vw,76px); }

.image-gallery {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:18px;
  padding-top:0;
}
.image-gallery figure { position:relative; min-height:280px; margin:0; overflow:hidden; background:#ddd6c9; }
.image-gallery .gallery-large { grid-row:1/3; min-height:578px; }
.image-gallery img { width:100%; height:112%; margin-top:-6%; object-fit:cover; }
.image-gallery figcaption {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  gap:13px;
  padding:36px 22px 18px;
  color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.72));
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.image-gallery figcaption span { color:#ff8a91; }

.page-hero { min-height:570px; }
.page-hero::before { display:none; }
.page-hero::after { background:linear-gradient(90deg,rgba(29,29,27,.78),rgba(29,29,27,.13) 70%),linear-gradient(0deg,rgba(29,29,27,.45),transparent); }
.page-hero-inner { padding-top:100px; padding-bottom:62px; }
.page-hero-inner h1 { max-width:900px; }
.page-hero-inner h1::after { width:100px; height:2px; margin-top:24px; }

.editorial-collage {
  width:min(var(--inner-max),calc(100% - var(--gutter) - var(--gutter)));
  min-height:0;
  margin:96px auto 0;
  padding:0;
  display:grid;
  grid-template-columns:1.3fr .7fr;
  grid-template-rows:290px auto;
  gap:18px;
  overflow:visible;
}
.collage-bg { display:none; }
.collage-primary {
  position:relative;
  left:auto;
  top:auto;
  grid-column:1;
  grid-row:1/3;
  width:100%;
  height:100%;
  min-height:600px;
  object-fit:cover;
  clip-path:none;
}
.collage-secondary {
  position:relative;
  right:auto;
  bottom:auto;
  grid-column:2;
  grid-row:1;
  width:100%;
  height:290px;
  border:0;
  object-fit:cover;
}
.collage-copy {
  position:relative;
  right:auto;
  top:auto;
  grid-column:2;
  grid-row:2;
  width:auto;
  padding:36px;
  background:#fff;
  box-shadow:none;
  backdrop-filter:none;
}
.collage-copy h2 { font-size:clamp(26px,2.7vw,37px); line-height:1.15; }

.page-content-wrap::before { display:none; }
.page-layout { grid-template-columns:minmax(0,780px) 270px; gap:70px; }
.prose > .lead:first-child { padding-left:24px; }
.side-card { box-shadow:none; }
.side-card::after { display:none; }
.feature-grid { gap:16px; }
.feature { min-height:190px; }

.visual-break {
  width:min(var(--inner-max),calc(100% - var(--gutter) - var(--gutter)));
  min-height:500px;
  margin:0 auto 96px;
}
.visual-break::after { background:linear-gradient(90deg,rgba(29,29,27,.78),rgba(29,29,27,.16)); }
.visual-break-copy { padding-top:75px; padding-bottom:75px; }

.archive-images {
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:18px;
  height:430px;
  margin:50px 0 44px;
  overflow:hidden;
}
.archive-images img { width:100%; height:112%; margin-top:-6%; object-fit:cover; }

.article-header {
  width:min(var(--max),100%);
  padding-left:var(--gutter);
  padding-right:var(--gutter);
  text-align:left;
}
.article-header::before { left:var(--gutter); }
.article-header h1 { max-width:920px; }
.article-header p { max-width:700px; margin-left:0; }
.article-image {
  width:min(var(--inner-max),calc(100% - var(--gutter) - var(--gutter)));
  max-height:650px;
  clip-path:none;
}
.article-body {
  width:min(var(--max),100%);
  max-width:none;
  padding:65px max(var(--gutter),calc(var(--gutter) + 360px)) 105px var(--gutter);
}
.article-body::before { display:none; }
.facts { transform:none; margin:0 0 42px !important; box-shadow:none; }

.cta-band {
  width:min(var(--inner-max),calc(100% - var(--gutter) - var(--gutter)));
  margin:90px auto;
  padding:54px clamp(25px,5vw,65px);
  background:var(--wine);
}
.cta-band::before,.cta-band::after { display:none; }
.contact-grid { gap:45px; }
.contact-card { border:1px solid var(--line); }

.footer-main,.footer-bottom { padding-left:var(--gutter); padding-right:var(--gutter); }

@media (max-width:1100px) {
  .site-header { width:calc(100% - 36px); grid-template-columns:1fr auto auto; }
  .main-nav { top:82px; }
  .editorial-collage { grid-template-columns:1.05fr .95fr; }
  .page-layout { grid-template-columns:1fr; }
  .article-body { padding-right:var(--gutter); max-width:820px; margin-left:auto; margin-right:auto; }
}
@media (max-width:720px) {
  .site-header { width:calc(100% - 28px); height:72px; }
  .main-nav { top:72px; }
  .hero { min-height:680px; }
  .story-strip { width:calc(100% - 32px); margin:70px auto; }
  .story-image { min-height:390px; }
  .image-gallery { grid-template-columns:1fr; grid-template-rows:auto; gap:12px; }
  .image-gallery .gallery-large { grid-row:auto; min-height:390px; }
  .image-gallery figure { min-height:260px; }
  .stats { width:calc(100% - 32px); margin-bottom:70px; }
  .editorial-collage {
    width:calc(100% - 32px);
    margin-top:70px;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:12px;
  }
  .collage-primary { grid-column:1; grid-row:1; min-height:410px; }
  .collage-secondary { grid-column:1; grid-row:2; height:240px; }
  .collage-copy { grid-column:1; grid-row:3; padding:28px; }
  .visual-break { width:calc(100% - 32px); min-height:450px; margin-bottom:70px; }
  .archive-images { grid-template-columns:1fr; height:auto; }
  .archive-images img { height:270px; margin:0; }
  .article-header { padding-top:90px; }
  .article-image { width:calc(100% - 32px); }
  .article-body { padding-left:22px; padding-right:22px; }
  .cta-band { width:calc(100% - 32px); margin:70px auto; }
}

/* --- Selected concept 03: Modern Union --------------------------------- */
:root {
  --ink:#20201e;
  --paper:#f4f0e8;
  --white:#fffefa;
  --wine:#7f1f3b;
  --coral:#9a354d;
  --muted:#66635d;
  --line:rgba(32,32,30,.16);
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --max:1240px;
  --inner-max:1240px;
  --gutter:clamp(22px,4vw,48px);
}

html { scroll-padding-top:86px; }
body { background:var(--paper); font-size:16px; }
body::before,.cursor-aura,.image-marquee,.page-hero-number { display:none !important; }
h1,h2,h3,.serif { font-family:var(--sans); font-weight:400; }
h1 { font-size:clamp(54px,6vw,88px); line-height:.97; letter-spacing:-.045em; }
h2 { font-size:clamp(38px,4.2vw,61px); line-height:1.02; letter-spacing:-.04em; }
h3 { letter-spacing:-.025em; }
p { color:rgba(32,32,30,.76); line-height:1.65; }
.eyebrow { margin-bottom:20px; color:var(--coral); font-size:10px; font-weight:600; letter-spacing:.18em; }

.site-header {
  width:min(var(--max),calc(100% - 32px));
  height:86px;
  margin:0 auto;
  grid-template-columns:220px 1fr auto;
  gap:28px;
  padding:0;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  box-shadow:none;
  backdrop-filter:none;
}
.brand { display:flex; align-items:center; gap:10px; width:max-content; color:var(--ink); text-decoration:none; }
.brand img { width:72px; height:44px; object-fit:contain; transition:none; }
.brand:hover img { transform:none; }
.brand span { font-size:11px; font-weight:700; line-height:1.05; letter-spacing:.04em; text-transform:uppercase; }
.main-nav { gap:clamp(14px,1.75vw,27px); }
.main-nav > a,.nav-group > button { padding:35px 0 31px; font-size:10px; letter-spacing:.09em; }
.main-nav > a::after,.nav-group > button::after { bottom:22px; height:1px; background:var(--wine); }
.nav-panel { border:1px solid var(--line); box-shadow:0 20px 48px rgba(32,32,30,.09); }
.header-cta,.btn { min-height:44px; padding:0 24px; border-color:var(--wine); background:var(--wine); font-size:10px; }
.header-cta::before,.btn::before { display:none; }
.header-cta:hover,.btn:hover { background:var(--ink); border-color:var(--ink); }

.hero { min-height:min(720px,calc(100vh - 86px)); align-items:center; }
.hero::before { display:none; }
.hero::after { background:rgba(15,15,13,.48); }
.hero-media { height:112%; top:-6%; object-position:center 54%; }
.hero-content { width:min(var(--max),100%); padding:100px var(--gutter) 82px; }
.hero-content::after { display:none; }
.hero .eyebrow { color:#fff; }
.hero .eyebrow::before { width:48px; background:var(--coral); }
.hero h1 { max-width:820px; margin-bottom:24px; text-shadow:none; }
.hero p { max-width:480px; margin-bottom:0; color:rgba(255,255,255,.9); font-size:17px; line-height:1.5; }
.hero-actions { align-items:center; gap:36px; margin-top:33px; }
.hero-link { display:inline-flex; align-items:center; gap:22px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.65); color:#fff; font-size:10px; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.hero-link span { font-size:15px; transition:transform .25s ease; }
.hero-link:hover span { transform:translateX(5px); }

.profession-story {
  width:min(var(--max),calc(100% - var(--gutter) - var(--gutter)));
  min-height:540px;
  margin:0 auto;
  display:grid;
  grid-template-columns:90px 420px minmax(0,1fr);
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.chapter-nav { display:flex; flex-direction:column; justify-content:center; gap:25px; padding:28px 22px; border-right:1px solid var(--line); }
.chapter-nav a { display:grid; grid-template-columns:22px 1fr; align-items:center; gap:8px; color:#8c8881; font-size:10px; text-decoration:none; }
.chapter-nav i { height:1px; background:var(--line); transition:background .2s,transform .2s; transform-origin:left; }
.chapter-nav a:hover i,.chapter-nav a.active i { background:var(--wine); transform:scaleX(1.2); }
.chapter-nav a.active { color:var(--wine); }
.profession-copy { align-self:center; padding:60px 52px; }
.chapter-count { display:flex; align-items:baseline; gap:7px; margin-bottom:42px; color:#9a9690; font-size:11px; }
.chapter-count strong { color:var(--wine); font-size:22px; font-weight:400; }
.profession-copy h2 { margin-bottom:30px; font-size:clamp(43px,4vw,60px); }
.profession-copy > p:not(.chapter-count) { max-width:350px; margin-bottom:35px; }
.profession-image { min-height:540px; overflow:hidden; }
.profession-image img { width:100%; height:112%; margin-top:-6%; object-fit:cover; object-position:center; }
.text-link { color:var(--wine); border-bottom:0; font-size:10px; font-weight:600; letter-spacing:.13em; }

.image-triptych {
  width:min(var(--max),calc(100% - var(--gutter) - var(--gutter)));
  height:290px;
  margin:0 auto clamp(88px,9vw,130px);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:3px;
  background:var(--paper);
}
.image-triptych a { position:relative; overflow:hidden; color:#fff; text-decoration:none; }
.image-triptych img { width:100%; height:116%; margin-top:-8%; object-fit:cover; filter:saturate(.82) contrast(1.04); transition:filter .55s ease; }
.image-triptych a:hover img { filter:saturate(1) contrast(1.02); }
.image-triptych span { position:absolute; left:20px; bottom:17px; font-size:9px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }

.content-shell { width:min(var(--max),100%); padding:clamp(72px,8vw,110px) var(--gutter); }
.compact-shell { padding-top:0; padding-bottom:0; }
.stories-section { margin-bottom:clamp(86px,9vw,125px); }
.stories-section .section-heading { margin-bottom:36px; }
.section-heading { align-items:end; }
.section-heading::after { order:1; min-width:60px; margin:0 16px 12px 24px; background:var(--line); }
.section-heading > div { order:0; }
.section-heading > .text-link { order:2; }
.section-heading h2 { font-size:clamp(36px,3.4vw,50px); }
.story-rail { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.story-rail .card { border:0; background:transparent; }
.story-rail .card:hover { transform:none; box-shadow:none; }
.story-rail .card-image { aspect-ratio:1.15/1; filter:saturate(.82); }
.story-rail .card:hover .card-image { transform:scale(1.025); filter:saturate(1); }
.story-rail .card-body { padding:18px 0 0; }
.story-rail .card h3 { margin:10px 0; font-size:20px; font-weight:400; line-height:1.18; }
.story-rail .card p { margin-bottom:0; font-size:13px; line-height:1.55; }
.story-rail .card .arrow { color:var(--wine); font-size:16px; }
.card .meta,.event-meta,.meta { color:var(--wine); font-size:9px; }

.events-split { display:grid; grid-template-columns:360px 1fr; gap:80px; align-items:start; margin-bottom:100px; }
.events-intro h2 { margin-bottom:34px; font-size:clamp(38px,3.6vw,53px); }
.events-split .event-row { grid-template-columns:115px 1fr auto; padding:22px 0; }
.events-split .event-row:hover { padding-left:0; padding-right:0; background:transparent; }
.event-row::before { display:none; }
.event-row time { color:var(--wine); font:400 16px/1.2 var(--sans); }
.event-row h3 { font:400 19px/1.25 var(--sans); letter-spacing:-.02em; }
.event-row b { color:var(--wine); font-size:16px; font-weight:400; }

.cta-band {
  width:min(var(--max),calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(250px,.75fr) auto;
  align-items:center;
  gap:48px;
  padding:46px var(--gutter);
  background:var(--wine);
}
.cta-band::before,.cta-band::after { display:none; }
.cta-band h2 { max-width:610px; font-size:clamp(34px,3.5vw,50px); }
.cta-band p { margin:0; color:rgba(255,255,255,.77); font-size:14px; }
.cta-band .btn.light { min-width:185px; }

.site-footer { width:min(var(--max),calc(100% - 32px)); margin:0 auto 16px; background:var(--ink); }
.footer-main,.footer-bottom { width:100%; padding-left:var(--gutter); padding-right:var(--gutter); }
.footer-main { padding-top:58px; padding-bottom:50px; gap:55px; }
.footer-brand img { width:190px; }
.footer-main h2 { color:rgba(255,255,255,.42); }
.footer-main a { font-size:12px; }
.footer-main p { font-size:12px; }

/* Shared inner pages: same calm grid and block language. */
.page-hero { min-height:540px; }
.page-hero::before { display:none; }
.page-hero::after { background:rgba(15,15,13,.5); }
.page-hero-inner { width:min(var(--max),100%); padding:95px var(--gutter) 65px; }
.page-hero-inner h1 { max-width:850px; }
.page-hero-inner h1::after { width:74px; height:1px; background:var(--coral); }
.editorial-collage { width:min(var(--max),calc(100% - var(--gutter) - var(--gutter))); grid-template-columns:1.2fr .8fr; gap:3px; margin-top:90px; }
.collage-primary { min-height:570px; }
.collage-secondary { height:275px; }
.collage-copy { padding:38px; }
.collage-copy h2 { font-size:clamp(26px,2.6vw,38px); }
.page-layout { grid-template-columns:minmax(0,780px) 280px; }
.side-card { background:transparent; border-top:1px solid var(--wine); padding:24px 0; }
.feature { border-top:1px solid var(--wine); background:var(--white); }
.feature:hover { transform:none; box-shadow:none; }
.visual-break { width:min(var(--max),calc(100% - var(--gutter) - var(--gutter))); }
.visual-break::after { background:rgba(15,15,13,.55); }
.cards { gap:22px; }
.card { box-shadow:none; }
.card::after { display:none; }
.card:hover { transform:translateY(-3px); box-shadow:none; }
.card:hover .card-image { transform:scale(1.025); }
.filter { border-color:var(--line); }
.filter.active,.filter:hover { background:var(--wine); border-color:var(--wine); }
.contact-card { background:var(--white); box-shadow:none; }

.reveal { transform:translateY(26px); transition:opacity .85s cubic-bezier(.22,.7,.25,1),transform .85s cubic-bezier(.22,.7,.25,1); }
.reveal.reveal-left,.reveal.reveal-right { transform:translateY(26px); }
#main.route-enter { animation:routeIn .45s ease both; }
.scroll-progress { height:2px; }
.scroll-progress span { background:var(--wine); }

@media (max-width:1100px) {
  .site-header { grid-template-columns:1fr auto auto; }
  .main-nav { top:86px; }
  .profession-story { grid-template-columns:72px minmax(320px,.85fr) 1.15fr; }
  .profession-copy { padding:48px 36px; }
  .story-rail { grid-template-columns:repeat(2,1fr); gap:42px 24px; }
  .events-split { grid-template-columns:280px 1fr; gap:45px; }
  .cta-band { grid-template-columns:1fr auto; }
  .cta-band p { grid-column:1; }
  .cta-band .btn { grid-column:2; grid-row:1/3; }
}

@media (max-width:720px) {
  html { scroll-padding-top:72px; }
  h1 { font-size:clamp(48px,14vw,66px); }
  .site-header { width:calc(100% - 28px); height:72px; }
  .brand img { width:62px; }
  .brand span { font-size:9px; }
  .main-nav { top:72px; background:var(--paper); }
  .menu-toggle { order:3; }
  .hero { min-height:680px; }
  .hero-content { padding:92px 22px 55px; }
  .hero h1 br { display:none; }
  .hero-actions { gap:22px; }
  .profession-story { width:calc(100% - 32px); grid-template-columns:1fr; }
  .chapter-nav { display:none; }
  .profession-copy { padding:54px 28px; }
  .profession-image { min-height:400px; }
  .image-triptych { width:calc(100% - 32px); height:auto; grid-template-columns:1fr; gap:3px; margin-bottom:76px; }
  .image-triptych a { height:250px; }
  .story-rail { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px; }
  .story-rail .card { min-width:78vw; scroll-snap-align:start; }
  .events-split { display:block; margin-bottom:70px; }
  .events-intro { margin-bottom:38px; }
  .events-split .event-row { grid-template-columns:1fr auto; }
  .events-split .event-row time { grid-column:1/3; }
  .cta-band { width:calc(100% - 32px); display:block; padding:38px 28px; }
  .cta-band p { margin:20px 0 28px; }
  .site-footer { width:calc(100% - 32px); margin-bottom:16px; }
  .editorial-collage,.visual-break { width:calc(100% - 32px); }
}

/* --- Scale, full-bleed and liquid-glass refinement ---------------------- */
:root {
  --max:1360px;
  --inner-max:1360px;
  --gutter:clamp(24px,3.7vw,56px);
}

body { overflow-x:hidden; font-size:17px; }
p { font-size:17px; line-height:1.68; }
.eyebrow { font-size:11px; }
h1 { font-size:clamp(62px,7vw,104px); }
h2 { font-size:clamp(44px,4.8vw,70px); }

.site-header {
  width:100%;
  height:94px;
  margin:0;
  padding:0 max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));
  grid-template-columns:245px 1fr auto;
  background:rgba(244,240,232,.98);
  border-bottom:1px solid rgba(32,32,30,.1);
  transition:height .45s cubic-bezier(.22,.7,.25,1),background-color .45s ease,box-shadow .45s ease,backdrop-filter .45s ease;
}
.site-header.is-scrolled {
  height:82px;
  background:rgba(248,246,241,.72);
  border-bottom-color:rgba(255,255,255,.62);
  box-shadow:0 14px 42px rgba(32,32,30,.1);
  backdrop-filter:blur(24px) saturate(165%);
  -webkit-backdrop-filter:blur(24px) saturate(165%);
}
.brand img { width:80px; height:48px; }
.brand span { font-size:12px; }
.main-nav > a,.nav-group > button { font-size:11px; padding-top:38px; padding-bottom:34px; transition:padding .45s ease,color .2s ease; }
.site-header.is-scrolled .main-nav > a,.site-header.is-scrolled .nav-group > button { padding-top:32px; padding-bottom:28px; }
.header-cta { min-height:48px; padding:0 28px; font-size:11px; }

.hero { width:100%; min-height:min(820px,calc(100svh - 94px)); }
.hero-content { width:min(var(--max),100%); padding:112px var(--gutter) 94px; }
.hero h1 { max-width:960px; }
.hero p { max-width:570px; font-size:19px; line-height:1.55; }
.hero .btn { min-height:50px; padding:0 29px; font-size:11px; }
.hero-link { font-size:11px; }

.profession-story {
  width:min(var(--max),calc(100% - var(--gutter) - var(--gutter)));
  min-height:620px;
  grid-template-columns:100px 470px minmax(0,1fr);
}
.chapter-nav { padding-left:27px; padding-right:27px; }
.profession-copy { padding:68px 58px; }
.profession-copy h2 { font-size:clamp(52px,4.8vw,72px); }
.profession-copy > p:not(.chapter-count) { max-width:390px; font-size:18px; }
.profession-image { min-height:620px; }
.chapter-count strong { font-size:25px; }

.image-triptych {
  width:100%;
  max-width:none;
  height:370px;
  margin-bottom:clamp(105px,10vw,155px);
  gap:4px;
}
.image-triptych span { left:max(24px,calc((100vw - var(--max))/2 + var(--gutter))); bottom:22px; font-size:10px; }
.image-triptych a.reveal { clip-path:inset(0 0 14% 0); transition:opacity .95s ease,transform 1s cubic-bezier(.22,.7,.25,1),clip-path 1s cubic-bezier(.22,.7,.25,1); }
.image-triptych a.reveal.is-visible { clip-path:inset(0); }

.content-shell { width:min(var(--max),100%); padding-top:clamp(86px,8vw,125px); padding-bottom:clamp(86px,8vw,125px); }
.section-heading h2 { font-size:clamp(43px,4.2vw,62px); }
.stories-section { margin-bottom:clamp(105px,10vw,150px); }
.story-rail { gap:34px; }
.story-rail .card h3 { font-size:23px; line-height:1.2; }
.story-rail .card p { font-size:14px; }
.story-rail .card-body { padding-top:22px; }

.events-split { grid-template-columns:400px 1fr; gap:100px; margin-bottom:125px; }
.events-intro h2 { font-size:clamp(48px,4.4vw,66px); }
.events-split .event-row { grid-template-columns:135px 1fr auto; padding:27px 0; }
.event-row h3 { font-size:22px; }
.event-row time { font-size:18px; }

.cta-band {
  width:100%;
  max-width:none;
  padding:58px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)));
}
.cta-band h2 { max-width:690px; font-size:clamp(42px,4vw,60px); }
.cta-band p { max-width:390px; font-size:16px; }
.site-footer { width:100%; margin:0; }
.footer-main,.footer-bottom { width:min(var(--max),100%); }

.page-hero { width:100%; min-height:620px; }
.page-hero-inner { width:min(var(--max),100%); padding:115px var(--gutter) 76px; }
.page-hero-inner h1 { max-width:1040px; }
.editorial-collage { width:min(var(--max),calc(100% - var(--gutter) - var(--gutter))); }
.visual-break { width:100%; max-width:none; min-height:640px; }
.visual-break-copy { width:min(var(--max),100%); }
.archive-images { height:500px; }
.article-image { width:min(var(--max),calc(100% - var(--gutter) - var(--gutter))); }
.prose p,.prose li,.article-body p,.article-body li { font-size:17px; }

.reveal { transform:translateY(38px); transition-duration:1s; transition-timing-function:cubic-bezier(.22,.7,.25,1); }
.motion-heading { opacity:0; transform:translateY(42px); transition:opacity .9s ease,transform 1.05s cubic-bezier(.22,.7,.25,1); }
.motion-heading.is-visible { opacity:1; transform:none; }
.card-image,.image-triptych img,.profession-image img,.archive-images img { transition:transform 1.2s cubic-bezier(.22,.7,.25,1),filter .65s ease; }
.card:hover .card-image,.image-triptych a:hover img { transform:scale(1.045); }

@media (max-width:1100px) {
  .site-header { grid-template-columns:1fr auto auto; }
  .main-nav { top:94px; }
  .site-header.is-scrolled .main-nav { top:82px; }
  .profession-story { grid-template-columns:78px minmax(350px,.9fr) 1.1fr; }
  .profession-copy { padding:56px 42px; }
  .events-split { grid-template-columns:310px 1fr; gap:58px; }
}

@media (max-width:720px) {
  :root { --gutter:22px; }
  body { font-size:16px; }
  p { font-size:16px; }
  .site-header,.site-header.is-scrolled { height:74px; padding:0 18px; }
  .brand img { width:66px; height:42px; }
  .brand span { font-size:9px; }
  .main-nav,.site-header.is-scrolled .main-nav { top:74px; }
  .hero { min-height:720px; }
  .hero-content { padding:110px 22px 64px; }
  .hero p { font-size:17px; }
  .profession-story { width:calc(100% - 32px); min-height:0; grid-template-columns:1fr; }
  .profession-copy { padding:58px 30px; }
  .profession-image { width:100%; min-width:0; min-height:440px; }
  .image-triptych { height:auto; margin-bottom:82px; }
  .image-triptych span { left:22px; }
  .story-rail .card { min-width:82vw; }
  .events-split { margin-bottom:80px; }
  .cta-band { padding:46px 28px; }
  .page-hero { min-height:500px; }
  .visual-break { min-height:520px; }
}

@media (prefers-reduced-motion:reduce) {
  .motion-heading { opacity:1; transform:none; }
  .image-triptych a.reveal { clip-path:none; }
}

/* --- Editorial mega navigation and mobile bottom sheets ---------------- */
.mobile-menu-head,.mobile-menu-quick { display:none; }
.mobile-menu-panel,.nav-links { display:contents; }
.nav-links > a,.nav-links > .nav-group > button {
  position:relative;
  padding:38px 0 34px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:11px;
  cursor:pointer;
  transition:padding .45s ease,color .2s ease;
}
.site-header.is-scrolled .nav-links > a,
.site-header.is-scrolled .nav-links > .nav-group > button { padding-top:32px; padding-bottom:28px; }
.nav-links > a::after,.nav-links > .nav-group > button::after {
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:25px;
  height:1px;
  background:var(--wine);
  transition:right .25s ease;
}
.site-header.is-scrolled .nav-links > a::after,
.site-header.is-scrolled .nav-links > .nav-group > button::after { bottom:20px; }
.nav-links > a:hover::after,.nav-links > .nav-group:hover > button::after,.nav-links > .nav-group.open > button::after { right:0; }
.nav-links > .nav-group > button > i { margin-left:5px; font-size:9px; transition:transform .25s ease; }
.nav-links > .nav-group.open > button > i { transform:rotate(180deg); }

.mega-menu {
  position:fixed;
  top:94px;
  left:0;
  width:100vw;
  padding:30px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter))) 34px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-12px);
  background:rgba(248,246,241,.97);
  border:0;
  border-top:1px solid rgba(32,32,30,.08);
  border-bottom:1px solid rgba(32,32,30,.1);
  box-shadow:0 28px 70px rgba(24,23,21,.13);
  backdrop-filter:blur(24px) saturate(140%);
  -webkit-backdrop-filter:blur(24px) saturate(140%);
  transition:opacity .28s ease,visibility .28s ease,transform .42s cubic-bezier(.22,.7,.25,1),top .45s ease;
}
.site-header.is-scrolled .mega-menu { top:82px; }
.nav-group:hover > .mega-menu,.nav-group:focus-within > .mega-menu,.nav-group.open > .mega-menu {
  opacity:1;
  visibility:visible;
  transform:none;
}
.mega-menu-inner {
  width:100%;
  max-width:var(--max);
  margin:auto;
  display:grid;
  grid-template-columns:1.05fr .72fr 1.1fr .85fr;
  gap:clamp(22px,2.5vw,42px);
  align-items:stretch;
  grid-auto-rows:310px;
}
.mega-intro { padding:18px 10px 10px 0; }
.mega-intro .eyebrow { margin:0 0 15px; color:var(--wine); }
.mega-intro h2 { max-width:330px; margin:0 0 18px; font-size:clamp(34px,3vw,49px); line-height:.97; }
.mega-intro > p:not(.eyebrow) { max-width:330px; margin:0 0 23px; font-size:14px; line-height:1.58; color:var(--muted); }
.mega-all { display:inline-flex; gap:10px; align-items:center; color:var(--ink); text-decoration:none; text-transform:uppercase; letter-spacing:.09em; font-size:10px; }
.mega-all i { color:var(--wine); transition:transform .25s ease; }
.mega-all:hover i { transform:translateX(5px); }
.mega-links { align-self:center; border-top:1px solid var(--line); }
.mega-links a {
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  min-height:48px;
  padding:0 4px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  font:400 16px/1.2 var(--serif);
  transition:padding .25s ease,color .2s ease;
}
.mega-links a span { color:var(--wine); font:500 9px/1 var(--sans); letter-spacing:.12em; }
.mega-links a:hover { padding-left:10px; color:var(--wine); }
.mega-visual,.mobile-menu-quick a {
  position:relative;
  display:block;
  overflow:hidden;
  color:white;
  text-decoration:none;
  background:#232321;
}
.mega-visual { min-height:142px; border-radius:12px; }
.mega-visual-tall { min-height:0; height:310px; }
.mega-visual-stack { display:grid; height:310px; min-height:0; grid-template-rows:1fr 1fr; gap:12px; }
.mega-visual-stack .mega-visual { min-height:0; }
.mega-visual img,.mobile-menu-quick img { width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.22,.7,.25,1),opacity .3s ease; }
.mega-visual::after,.mobile-menu-quick a::after { content:""; position:absolute; inset:0; background:rgba(17,17,15,.36); transition:background-color .3s ease; }
.mega-visual:hover::after { background:rgba(17,17,15,.22); }
.mega-visual:hover img { transform:scale(1.055); }
.mega-visual > span,.mobile-menu-quick span {
  position:absolute;
  z-index:1;
  left:20px;
  right:18px;
  bottom:17px;
  font:400 18px/1.14 var(--serif);
}
.mega-visual small,.mobile-menu-quick small { display:block; margin-bottom:6px; font:600 9px/1 var(--sans); text-transform:uppercase; letter-spacing:.13em; color:#f2b7aa; }

.nav-panel-compact {
  position:absolute;
  top:calc(100% - 10px);
  left:50%;
  width:245px;
  padding:13px;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,10px);
  background:rgba(248,246,241,.97);
  border:1px solid var(--line);
  box-shadow:0 22px 55px rgba(24,23,21,.12);
  backdrop-filter:blur(18px);
  transition:.25s ease;
}
.nav-group:hover > .nav-panel-compact,.nav-group:focus-within > .nav-panel-compact,.nav-group.open > .nav-panel-compact { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-panel-compact a { display:block; padding:12px 13px; color:var(--ink); text-decoration:none; font-size:14px; }
.nav-panel-compact a:hover { color:var(--wine); background:rgba(255,255,255,.55); }

.sheet-backdrop {
  position:fixed;
  z-index:130;
  inset:0;
  opacity:0;
  visibility:hidden;
  background:rgba(18,18,16,.58);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:opacity .32s ease,visibility .32s ease;
}
.mobile-sheet {
  position:fixed;
  z-index:140;
  left:50%;
  bottom:0;
  width:min(680px,100%);
  max-height:92svh;
  overflow:auto;
  padding:46px 34px 34px;
  border-radius:24px 24px 0 0;
  background:var(--paper);
  box-shadow:0 -24px 75px rgba(18,18,16,.22);
  transform:translate(-50%,105%);
  visibility:hidden;
  transition:transform .5s cubic-bezier(.22,.8,.24,1),visibility .5s ease;
}
.mobile-sheet.is-open { transform:translate(-50%,0); visibility:visible; }
.sheet-open .sheet-backdrop { opacity:1; visibility:visible; }
.sheet-handle,.mobile-menu-handle { position:absolute; top:11px; left:50%; width:48px; height:4px; border-radius:4px; background:rgba(32,32,30,.2); transform:translateX(-50%); }
.sheet-close,.mobile-menu-close {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(255,255,255,.7);
  color:var(--ink);
  cursor:pointer;
}
.sheet-close { position:absolute; top:28px; right:28px; }
.mobile-sheet > .eyebrow { margin:0 60px 13px 0; color:var(--wine); }
.mobile-sheet > h2 { max-width:530px; margin:0 60px 28px 0; font-size:clamp(37px,8vw,55px); line-height:1; }
.sheet-facts { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin:0 0 30px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.sheet-facts span { font:400 17px/1.35 var(--serif); }
.mobile-sheet .btn { display:inline-flex; gap:9px; align-items:center; }
.sheet-form { display:grid; gap:15px; }
.sheet-form label { display:grid; gap:7px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.sheet-form input,.sheet-form textarea,.sheet-form select { width:100%; padding:13px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); font:400 16px/1.35 var(--sans); }
.sheet-form textarea { resize:vertical; }
.sheet-form .notice { margin:0; padding:13px 15px; font-size:12px; line-height:1.45; }
body.sheet-open { overflow:hidden; }

@media (min-width:1101px) {
  .mobile-sheet,.sheet-backdrop { display:none; }
}

@media (max-width:1100px) {
  body.menu-open { overflow:hidden; }
  .site-header { z-index:120; }
  .main-nav,.site-header.is-scrolled .main-nav {
    position:fixed;
    z-index:121;
    inset:0;
    top:0;
    width:100%;
    height:100svh;
    display:flex;
    align-items:flex-end;
    padding:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    background:rgba(18,18,16,.58);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    transform:none;
    box-shadow:none;
    transition:opacity .34s ease,visibility .34s ease;
  }
  .menu-open .main-nav { opacity:1; visibility:visible; pointer-events:auto; box-shadow:none; }
  .mobile-menu-panel {
    position:relative;
    display:block;
    width:100%;
    max-height:92svh;
    padding:0 26px 34px;
    overflow:auto;
    border-radius:24px 24px 0 0;
    background:var(--paper);
    box-shadow:0 -24px 75px rgba(18,18,16,.22);
    transform:translateY(103%);
    transition:transform .5s cubic-bezier(.22,.8,.24,1);
  }
  .menu-open .mobile-menu-panel { transform:none; }
  .mobile-menu-head {
    position:sticky;
    z-index:4;
    top:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:82px;
    padding-top:8px;
    background:rgba(248,246,241,.94);
    backdrop-filter:blur(14px);
  }
  .mobile-menu-head p { margin:0; font:500 11px/1 var(--sans); text-transform:uppercase; letter-spacing:.12em; }
  .mobile-menu-handle { top:10px; }
  .mobile-menu-quick { display:grid; grid-template-columns:1.1fr .9fr; gap:10px; margin:2px 0 16px; }
  .mobile-menu-quick a { min-height:170px; border-radius:12px; }
  .mobile-menu-quick span { left:16px; right:12px; bottom:15px; font-size:18px; }
  .nav-links { display:block; }
  .nav-links > a,.nav-links > .nav-group > button {
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:58px;
    padding:0;
    border-bottom:1px solid var(--line);
    font:400 25px/1.1 var(--serif);
    text-align:left;
    text-transform:none;
    letter-spacing:-.02em;
  }
  .nav-links > a::after,.nav-links > .nav-group > button::after { display:none; }
  .nav-links > .nav-group > button > i { font-size:13px; color:var(--wine); }
  .nav-links > .nav-group > button::before { display:none; content:none; }
  .nav-panel,.mega-menu,.nav-panel-compact {
    position:static;
    display:none;
    width:auto;
    padding:0 0 12px;
    opacity:1;
    visibility:visible;
    transform:none;
    background:transparent;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
  }
  .nav-group.open > .nav-panel { display:block; transform:none; }
  .mega-menu-inner { display:block; width:auto; }
  .mega-intro,.mega-visual,.mega-visual-stack { display:none; }
  .mega-links { border-top:0; padding:4px 0 3px 15px; }
  .mega-links a { min-height:43px; grid-template-columns:32px 1fr; font:400 15px/1.2 var(--sans); }
  .nav-panel-compact a { padding:12px 15px; border-bottom:1px solid var(--line); font-size:15px; }
  .header-cta { margin-left:auto; }
}

@media (max-width:720px) {
  .header-cta { display:none; }
  .site-header { grid-template-columns:1fr auto; }
  .menu-toggle { order:2; }
  .mobile-menu-panel { padding:0 18px 26px; }
  .mobile-menu-head { height:74px; }
  .mobile-menu-quick a { min-height:150px; }
  .nav-links > a,.nav-links > .nav-group > button { min-height:55px; font-size:23px; }
  .mobile-sheet { padding:45px 22px 25px; }
  .sheet-close { top:24px; right:20px; }
  .inquiry-sheet .form-row { grid-template-columns:1fr; }
  .sheet-facts { grid-template-columns:1fr; gap:8px; }
}

@media (prefers-reduced-motion:reduce) {
  .mega-menu,.mobile-menu-panel,.mobile-sheet,.sheet-backdrop { transition-duration:.01ms; }
}

/* --- Generous scale revision ------------------------------------------- */
:root {
  --gutter:clamp(28px,4.15vw,64px);
}

body { font-size:19px; }
p { font-size:19px; line-height:1.7; }
.eyebrow { font-size:12px; letter-spacing:.15em; }
h1 { font-size:clamp(70px,7.7vw,118px); }
h2 { font-size:clamp(50px,5.2vw,80px); }
.lead { font-size:clamp(22px,2vw,29px); line-height:1.48; }

.site-header {
  height:102px;
  grid-template-columns:265px 1fr auto;
}
.site-header.is-scrolled { height:88px; }
.brand img { width:88px; height:54px; }
.brand span { font-size:13px; line-height:1.02; }
.nav-links > a,.nav-links > .nav-group > button { padding:42px 0 38px; font-size:12px; }
.site-header.is-scrolled .nav-links > a,.site-header.is-scrolled .nav-links > .nav-group > button { padding-top:35px; padding-bottom:31px; }
.header-cta { min-height:54px; padding:0 32px; font-size:12px; }
.mega-menu { top:102px; padding-top:38px; padding-bottom:42px; }
.site-header.is-scrolled .mega-menu { top:88px; }

.hero { min-height:min(900px,calc(100svh - 102px)); }
.hero-content { padding-top:132px; padding-bottom:112px; }
.hero h1 { max-width:1080px; line-height:.91; }
.hero p { max-width:650px; font-size:21px; line-height:1.58; }
.hero-actions { margin-top:36px; gap:40px; }
.hero .btn { min-height:56px; padding:0 34px; font-size:12px; }
.hero-link { font-size:12px; }

.profession-story {
  width:min(var(--max),calc(100% - var(--gutter) - var(--gutter)));
  min-height:720px;
  margin-top:clamp(125px,11vw,175px);
  margin-bottom:clamp(125px,11vw,175px);
  grid-template-columns:110px 520px minmax(0,1fr);
}
.chapter-nav { padding-left:31px; padding-right:31px; }
.profession-copy { padding:82px 66px; }
.profession-copy h2 { font-size:clamp(60px,5.6vw,84px); line-height:.94; }
.profession-copy > p:not(.chapter-count) { max-width:430px; font-size:20px; line-height:1.65; }
.profession-copy .text-link { margin-top:30px; font-size:11px; }
.profession-image { min-height:720px; }
.chapter-count strong { font-size:29px; }

.image-triptych {
  display:grid;
  grid-template-columns:minmax(0,1.34fr) minmax(0,1fr);
  grid-template-rows:340px 340px;
  width:100%;
  height:auto;
  gap:5px;
  margin-bottom:clamp(135px,12vw,185px);
}
.image-triptych a { height:auto; min-height:0; }
.image-triptych a:nth-child(1) { grid-column:1; grid-row:1 / 3; }
.image-triptych a:nth-child(2) { grid-column:2; grid-row:1; }
.image-triptych a:nth-child(3) { grid-column:2; grid-row:2; }
.image-triptych a:nth-child(1) img { object-position:center 54%; }
.image-triptych a:nth-child(2) img { object-position:center 58%; }
.image-triptych a:nth-child(3) img { object-position:center 48%; }
.image-triptych span {
  left:max(32px,calc((100vw - var(--max))/2 + var(--gutter)));
  bottom:29px;
  font-size:12px;
}

.content-shell { padding-top:clamp(105px,9.5vw,150px); padding-bottom:clamp(105px,9.5vw,150px); }
.section-heading { margin-bottom:52px; }
.section-heading h2 { font-size:clamp(51px,4.9vw,72px); }
.text-link { font-size:11px; }
.stories-section { margin-bottom:clamp(135px,12vw,185px); }
.story-rail { gap:38px; }
.story-rail .card-image { aspect-ratio:1.12/1; }
.story-rail .card-body { padding-top:25px; }
.story-rail .card h3 { font-size:26px; }
.story-rail .card p { font-size:16px; }
.meta { font-size:11px; }

.events-split {
  grid-template-columns:440px 1fr;
  gap:115px;
  margin-bottom:155px;
}
.events-intro h2 { font-size:clamp(56px,4.9vw,75px); }
.events-split .event-row { grid-template-columns:150px 1fr auto; padding:32px 0; }
.event-row h3 { font-size:25px; }
.event-row time { font-size:19px; }
.event-row p { font-size:15px; }

.cta-band {
  min-height:390px;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.72fr) auto;
  gap:70px;
  padding-top:88px;
  padding-bottom:88px;
}
.cta-band h2 { max-width:820px; font-size:clamp(50px,4.7vw,72px); line-height:.98; }
.cta-band p { max-width:470px; font-size:19px; line-height:1.62; }
.cta-band .btn.light { min-width:215px; min-height:56px; padding:0 30px; font-size:12px; }

.footer-main { padding-top:76px; padding-bottom:66px; }
.footer-main h2 { font-size:13px; }
.footer-main a,.footer-main p { font-size:14px; }
.footer-brand img { width:220px; }

.page-hero { min-height:700px; }
.page-hero-inner { padding-top:138px; padding-bottom:92px; }
.editorial-collage { margin-top:120px; }
.collage-primary { min-height:650px; }
.collage-secondary { height:320px; }
.collage-copy { padding:48px; }
.collage-copy h2 { font-size:clamp(31px,3vw,45px); }
.visual-break { min-height:720px; }
.visual-break-copy p { font-size:19px; }
.archive-images { height:570px; }
.prose p,.prose li,.article-body p,.article-body li { font-size:19px; }
.feature h3,.timeline-item h3 { font-size:28px; }
.feature p,.timeline-item p { font-size:17px; }

@media (max-width:1100px) {
  .site-header { height:94px; grid-template-columns:1fr auto auto; }
  .site-header.is-scrolled { height:82px; }
  .profession-story { grid-template-columns:82px minmax(390px,.92fr) 1.08fr; min-height:650px; }
  .profession-copy { padding:64px 46px; }
  .profession-image { min-height:650px; }
  .image-triptych { grid-template-rows:300px 300px; }
  .events-split { grid-template-columns:340px 1fr; gap:65px; }
  .cta-band { min-height:360px; grid-template-columns:1fr auto; }
  .cta-band p { grid-column:1; }
  .cta-band .btn { grid-column:2; grid-row:1/3; }
}

@media (max-width:720px) {
  :root { --gutter:22px; }
  body { font-size:17px; }
  p { font-size:17px; }
  h1 { font-size:clamp(54px,15vw,72px); }
  h2 { font-size:clamp(43px,12vw,60px); }
  .site-header,.site-header.is-scrolled { height:78px; }
  .brand img { width:70px; height:46px; }
  .brand span { font-size:10px; }
  .hero { min-height:770px; }
  .hero-content { padding-top:122px; padding-bottom:74px; }
  .hero p { font-size:18px; }
  .profession-story { margin-top:92px; margin-bottom:92px; grid-template-columns:1fr; min-height:0; }
  .profession-copy { padding:64px 30px; }
  .profession-copy h2 { font-size:clamp(52px,14vw,69px); }
  .profession-copy > p:not(.chapter-count) { font-size:18px; }
  .profession-image { min-height:500px; }
  .image-triptych {
    width:100%;
    grid-template-columns:1fr;
    grid-template-rows:repeat(3,320px);
    gap:4px;
    margin-bottom:100px;
  }
  .image-triptych a:nth-child(1),.image-triptych a:nth-child(2),.image-triptych a:nth-child(3) { grid-column:1; grid-row:auto; }
  .image-triptych span { left:24px; bottom:23px; }
  .content-shell { padding-top:92px; padding-bottom:92px; }
  .section-heading { margin-bottom:40px; }
  .story-rail .card { min-width:86vw; }
  .story-rail .card h3 { font-size:25px; }
  .events-split { margin-bottom:95px; }
  .events-split .event-row { padding:29px 0; }
  .cta-band { width:100%; min-height:0; padding:66px 28px; }
  .cta-band h2 { font-size:clamp(45px,12.5vw,59px); }
  .cta-band p { font-size:18px; margin:28px 0 34px; }
  .page-hero { min-height:570px; }
  .visual-break { min-height:590px; }
  .footer-main { padding-top:62px; padding-bottom:54px; }
}

/* --- SUA Logografie 2026: typography and color system ----------------- */
:root {
  --ink:#1d1d1b;
  --paper:#f4f1e8;
  --coral:#ec5f68;
  --wine:#ec5f68;
  --muted:#6d6969;
  --line:rgba(29,29,27,.15);
  --serif:"Powell","Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
}

body { background:var(--paper); color:var(--ink); font-family:var(--sans); }
h1,h2,.serif,.lead { font-family:var(--serif); font-weight:400; }
.site-header { background:rgba(244,241,232,.98); border-bottom-color:rgba(29,29,27,.11); }
.site-header.is-scrolled {
  background:rgba(244,241,232,.76);
  border-bottom-color:rgba(255,255,255,.56);
  box-shadow:0 14px 42px rgba(29,29,27,.11);
}
.mega-menu,.nav-panel-compact { background:rgba(244,241,232,.97); }
.mobile-menu-panel,.mobile-sheet { background:var(--paper); }
.mobile-menu-head { background:rgba(244,241,232,.95); }

.header-cta,.btn {
  border-color:var(--coral);
  background:var(--coral);
  color:var(--ink);
}
.header-cta:hover,.btn:hover { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.hero .eyebrow { color:var(--coral); }
.stats { color:var(--ink); }
.notice { background:rgba(236,95,104,.1); }

.cta-band { background:var(--coral); color:var(--ink); }
.cta-band p { color:rgba(29,29,27,.74); }
.cta-band .btn.light { border-color:var(--ink); background:transparent; color:var(--ink); }
.cta-band .btn.light:hover { background:var(--ink); color:var(--paper); }
.site-footer { background:var(--ink); color:var(--paper); }
.mega-visual small,.mobile-menu-quick small { color:var(--coral); }
.scroll-progress span { background:var(--coral); }

/* Imported editorial content: deliberately independent from the page renderer. */
.source-content { display:flow-root; }
.source-content > :first-child { margin-top:0; }
.source-content h1 { font-size:clamp(46px,5.6vw,76px); margin:0 0 34px; }
.source-content h2 { margin:64px 0 24px; font-size:clamp(36px,4vw,54px); }
.source-content h3 { margin:42px 0 18px; font:400 clamp(27px,2.6vw,36px)/1.15 var(--serif); }
.source-content h4 { margin:32px 0 14px; font-size:20px; }
.source-content p,.source-content li { font-size:19px; line-height:1.82; }
.source-content ul,.source-content ol { padding-left:1.25em; margin:24px 0 34px; }
.source-content img { display:block; width:100%; height:auto; margin:40px 0; object-fit:cover; }
.source-content figure { width:100%; margin:44px 0; }
.source-content figcaption { margin-top:-28px; color:var(--muted); font-size:13px; }
.source-content blockquote { margin:48px 0; padding:7px 0 7px 28px; border-left:3px solid var(--coral); font:italic 29px/1.5 var(--serif); }
.source-content table { display:block; width:100%; margin:34px 0; overflow-x:auto; border-collapse:collapse; }
.source-content th,.source-content td { padding:14px 16px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.source-content a { text-decoration-color:var(--coral); text-underline-offset:4px; }
.source-origin { margin-top:72px !important; padding-top:25px; border-top:1px solid var(--line); }
.source-origin a { display:inline-flex; align-items:center; gap:8px; font:700 12px/1 var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.newsletter-source ul:has(img) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; list-style:none; }
.newsletter-source ul:has(img) li { margin:0; }
.newsletter-source ul:has(img) a { display:block; height:100%; }
.newsletter-source ul:has(img) img { width:100%; height:300px; margin:0; object-fit:cover; }
.contact-source { margin-top:28px; padding:30px; border:1px solid var(--line); background:rgba(255,255,255,.28); }
.contact-source .source-origin { margin-top:35px !important; }

.archive-complete { padding-bottom:150px; }
.archive-block { margin-top:110px; }
.archive-count { display:grid; place-items:center; min-width:54px; height:54px; border:1px solid var(--line); border-radius:50%; font:700 13px/1 var(--sans); }
.archive-page-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.archive-page-link { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:112px; padding:24px 26px 24px 0; border-bottom:1px solid var(--line); color:inherit; transition:padding .25s ease,color .25s ease; }
.archive-page-link:nth-child(odd) { margin-right:28px; }
.archive-page-link:nth-child(even) { margin-left:28px; }
.archive-page-link small { display:block; margin-bottom:8px; color:var(--coral); font:700 10px/1.3 var(--sans); letter-spacing:.1em; text-transform:uppercase; }
.archive-page-link strong { display:block; font:400 24px/1.14 var(--serif); }
.archive-page-link i { flex:none; }
.archive-page-link:hover { padding-left:12px; color:var(--coral); }

@media (max-width:720px) {
  .source-content p,.source-content li { font-size:17px; }
  .source-content h2 { margin-top:48px; }
  .source-content img { margin:28px 0; }
  .source-content blockquote { font-size:24px; margin:36px 0; }
  .newsletter-source ul:has(img) { grid-template-columns:1fr; }
  .newsletter-source ul:has(img) img { height:260px; }
  .archive-complete { padding-bottom:100px; }
  .archive-block { margin-top:78px; }
  .archive-page-list { grid-template-columns:1fr; }
  .archive-page-link:nth-child(odd),.archive-page-link:nth-child(even) { margin-left:0; margin-right:0; }
  .archive-page-link strong { font-size:22px; }
}

/* Clean editorial system: no ornamental strokes around headings or links. */
.hero .eyebrow::before,
.section-heading::after,
.page-hero-inner h1::after,
.prose > .lead:first-child::before,
.prose h2::before,
.article-header::before,
.article-body::before,
.main-nav > a::after,
.nav-group > button::after,
.nav-links > a::after,
.nav-links > .nav-group > button::after {
  content:none !important;
  display:none !important;
}

.text-link,
.hero-link { border-bottom:0 !important; }

/* --- Calm glass refinement · August 2026 ------------------------------- */
:root {
  --max:1520px;
  --gutter:clamp(22px,3.3vw,52px);
  --glass:rgba(255,255,255,.52);
  --glass-strong:rgba(244,241,232,.82);
  --hairline:rgba(29,29,27,.11);
  --soft-shadow:0 22px 60px rgba(29,29,27,.075);
  --lift-shadow:0 30px 72px rgba(29,29,27,.12);
}

body {
  background:
    radial-gradient(circle at 12% 24%,rgba(255,255,255,.46),transparent 28%),
    radial-gradient(circle at 88% 72%,rgba(236,95,104,.045),transparent 25%),
    var(--paper);
}
:focus-visible { outline:2px solid var(--coral); outline-offset:3px; }

.content-shell { padding-left:var(--gutter); padding-right:var(--gutter); }

.site-header,
.site-header.is-scrolled {
  width:100%;
  height:108px;
  grid-template-columns:140px minmax(0,1fr) auto;
  gap:clamp(18px,2.1vw,38px);
  padding:0 var(--gutter);
  background:rgba(244,241,232,.8);
  border-bottom:1px solid rgba(255,255,255,.58);
  box-shadow:0 13px 38px rgba(29,29,27,.07);
  backdrop-filter:blur(24px) saturate(138%);
  -webkit-backdrop-filter:blur(24px) saturate(138%);
}
.site-header.is-scrolled { height:92px; background:rgba(244,241,232,.72); box-shadow:0 17px 46px rgba(29,29,27,.11); }
.brand { width:max-content; }
.brand img { width:110px; height:66px; object-fit:contain; }
.header-cta { min-height:56px; padding:0 30px; font-size:12px; }
.nav-links { gap:clamp(20px,2vw,38px); }
.nav-links > a,.nav-links > .nav-group > button { font-size:12px; letter-spacing:.105em; }

.page-hero-inner,.hero-content,.visual-break-copy { padding-left:var(--gutter); padding-right:var(--gutter); }
.page-hero::after { background:linear-gradient(0deg,rgba(29,29,27,.88),rgba(29,29,27,.18) 72%); }

.archive-images,
.editorial-collage,
.profession-story {
  border:1px solid rgba(255,255,255,.62);
  border-radius:6px;
  background:rgba(255,255,255,.36);
  box-shadow:var(--soft-shadow);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  overflow:hidden;
}
.archive-images { height:480px; gap:8px; padding:8px; margin-bottom:74px; }
.archive-images img { border-radius:3px; }
.editorial-collage { padding:10px; gap:10px; }
.collage-primary,.collage-secondary { border-radius:3px; overflow:hidden; }
.collage-copy {
  background:rgba(244,241,232,.76);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 22px 54px rgba(29,29,27,.12);
  backdrop-filter:blur(22px) saturate(120%);
  -webkit-backdrop-filter:blur(22px) saturate(120%);
}

.archive-toolbar-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:34px;
  margin:0 0 24px;
}
.archive-toolbar-head h2 { margin:0; font-size:clamp(43px,4vw,62px); }
.archive-toolbar-head .eyebrow { margin-bottom:13px; }
.archive-total,
.archive-count {
  display:inline-grid;
  place-items:center;
  min-width:92px;
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.66);
  border-radius:4px;
  background:rgba(255,255,255,.46);
  box-shadow:0 12px 34px rgba(29,29,27,.055);
  backdrop-filter:blur(14px);
  color:var(--ink);
  font:600 11px/1 var(--sans);
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.filters {
  gap:7px;
  margin:0 0 46px;
  padding:10px;
  border:1px solid rgba(255,255,255,.64);
  border-radius:6px;
  background:rgba(255,255,255,.42);
  box-shadow:0 15px 42px rgba(29,29,27,.055);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.filter {
  min-height:43px;
  padding:0 18px;
  border:1px solid transparent;
  border-radius:3px;
  background:transparent;
  font-size:11px;
  transition:background .25s ease,color .25s ease,box-shadow .25s ease;
}
.filter:hover { background:rgba(29,29,27,.075); color:var(--ink); }
.filter.active { background:var(--ink); color:var(--paper); box-shadow:0 8px 22px rgba(29,29,27,.18); }

.cards { gap:28px; }
.card {
  border:1px solid rgba(29,29,27,.1);
  border-radius:5px;
  background:rgba(255,255,255,.56);
  box-shadow:0 18px 48px rgba(29,29,27,.06);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  overflow:hidden;
}
.card:hover { transform:translateY(-7px); border-color:rgba(236,95,104,.38); box-shadow:var(--lift-shadow); }
.card-image { aspect-ratio:16/10.5; }
.card-body { padding:30px 30px 28px; }
.card h3 { margin:13px 0 16px; font-size:29px; line-height:1.15; }
.card p { font-size:15px; line-height:1.68; }
.story-rail .card { border:1px solid rgba(29,29,27,.1); background:rgba(255,255,255,.48); box-shadow:0 18px 48px rgba(29,29,27,.055); }
.story-rail .card:hover { transform:translateY(-6px); box-shadow:var(--lift-shadow); }
.story-rail .card-body { padding:26px 27px 28px; }
.story-rail .card h3 { font-size:27px; }

.event-list { display:grid; gap:12px; border-top:0; }
.event-row,
.events-split .event-row {
  grid-template-columns:170px minmax(0,1fr) auto;
  gap:32px;
  min-height:126px;
  padding:25px 28px;
  border:1px solid rgba(29,29,27,.1);
  border-radius:5px;
  background:rgba(255,255,255,.5);
  box-shadow:0 15px 42px rgba(29,29,27,.05);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease;
}
.event-row:hover,
.events-split .event-row:hover {
  padding-left:28px;
  padding-right:28px;
  transform:translateY(-3px);
  border-color:rgba(236,95,104,.4);
  background:rgba(255,255,255,.68);
  box-shadow:0 22px 55px rgba(29,29,27,.085);
}
.event-row h3 { font-size:27px; }
.event-row p { font-size:14px; line-height:1.55; }
.event-row time { font-size:20px; }

.events-split {
  grid-template-columns:minmax(310px,430px) minmax(0,1fr);
  gap:clamp(55px,6vw,104px);
  margin-bottom:150px;
  padding-top:64px;
  padding-bottom:64px;
  border-top:1px solid rgba(29,29,27,.08);
  border-bottom:1px solid rgba(29,29,27,.08);
}

.page-content-wrap > .page-layout > .prose,
.page-content-wrap > .prose,
.contact-grid > .prose,
.contact-card,
.side-card,
.feature,
.person,
.club {
  border:1px solid rgba(29,29,27,.1);
  border-radius:5px;
  background:rgba(255,255,255,.48);
  box-shadow:var(--soft-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.page-content-wrap > .page-layout > .prose,
.page-content-wrap > .prose,
.contact-grid > .prose { max-width:none; padding:clamp(36px,4.7vw,70px); }
.page-layout { grid-template-columns:minmax(0,940px) 320px; gap:clamp(48px,6vw,96px); }
.side-card { top:120px; padding:32px; border-top:1px solid rgba(29,29,27,.1); }
.side-card a:not(.btn) { padding:12px 0; }
.feature-grid { gap:18px; }
.feature { padding:31px; border-top:1px solid rgba(29,29,27,.1); }
.person { border-top:1px solid rgba(29,29,27,.1); }
.club { padding:27px; }
.contact-grid { gap:clamp(42px,5vw,78px); align-items:start; }
.contact-card { padding:clamp(35px,4vw,56px); }
.contact-source { border-radius:4px; background:rgba(255,255,255,.34); box-shadow:0 14px 34px rgba(29,29,27,.045); }

.archive-complete { padding-bottom:170px; }
.archive-block {
  margin-top:78px;
  padding:clamp(30px,4vw,58px);
  border:1px solid rgba(29,29,27,.1);
  border-radius:6px;
  background:rgba(255,255,255,.4);
  box-shadow:var(--soft-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.archive-block .section-heading { margin-bottom:38px; }
.archive-page-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; border-top:0; }
.archive-page-link,
.archive-page-link:nth-child(odd),
.archive-page-link:nth-child(even) {
  min-height:122px;
  margin:0;
  padding:26px 28px;
  border:1px solid rgba(29,29,27,.095);
  border-radius:4px;
  background:rgba(255,255,255,.44);
  box-shadow:0 13px 34px rgba(29,29,27,.04);
  text-decoration:none;
}
.archive-page-link:hover { padding-left:34px; border-color:rgba(236,95,104,.38); background:rgba(255,255,255,.66); }
.archive-page-link strong { font-size:26px; }

.article-header { width:min(1120px,100%); padding:clamp(90px,9vw,145px) var(--gutter) 58px; }
.article-kicker { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:0 0 25px; }
.article-kicker span {
  padding:9px 13px;
  border:1px solid rgba(29,29,27,.1);
  border-radius:3px;
  background:rgba(255,255,255,.4);
  color:var(--coral);
  font:600 10px/1 var(--sans);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.article-header h1 { font-size:clamp(58px,6.8vw,100px); line-height:.94; }
.article-header p { max-width:800px; font-size:20px; }
.article-image {
  width:min(1480px,calc(100% - var(--gutter) - var(--gutter)));
  max-height:760px;
  border-radius:6px;
  box-shadow:0 30px 80px rgba(29,29,27,.16);
}
.article-body {
  position:relative;
  z-index:2;
  width:min(1040px,calc(100% - var(--gutter) - var(--gutter)));
  margin:-38px auto 115px;
  padding:clamp(48px,5vw,76px) clamp(48px,6vw,90px) clamp(72px,7vw,108px);
  border:1px solid rgba(255,255,255,.68);
  border-radius:6px;
  background:rgba(244,241,232,.84);
  box-shadow:0 30px 80px rgba(29,29,27,.12);
  backdrop-filter:blur(23px) saturate(115%);
  -webkit-backdrop-filter:blur(23px) saturate(115%);
}
.article-body p,.article-body li { font-size:19px; line-height:1.82; }
.article-body .facts { gap:10px; padding:10px; border:1px solid rgba(29,29,27,.08); border-radius:4px; background:rgba(255,255,255,.28); }
.fact { border-radius:3px; background:rgba(255,255,255,.58); }
.source-content img,.source-content figure { border-radius:4px; }
.source-content img { box-shadow:0 20px 52px rgba(29,29,27,.1); }

.profession-story { box-shadow:0 30px 80px rgba(29,29,27,.13); }
.cta-band { box-shadow:0 28px 70px rgba(29,29,27,.15); }

@media (min-width:981px) {
  .menu-toggle { display:none; }
  .main-nav,.site-header.is-scrolled .main-nav {
    position:static;
    inset:auto;
    width:auto;
    height:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    overflow:visible;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
    transform:none;
  }
  .mobile-menu-panel { display:contents; transform:none; }
  .mobile-menu-head,.mobile-menu-quick { display:none; }
  .nav-links { display:flex; align-items:center; justify-content:center; gap:clamp(18px,1.8vw,34px); }
  .nav-links > a,.nav-links > .nav-group > button {
    display:block;
    width:auto;
    min-height:0;
    padding:45px 0 41px;
    border-bottom:0;
    font:600 12px/1 var(--sans);
    text-transform:uppercase;
    letter-spacing:.095em;
    white-space:nowrap;
  }
  .site-header.is-scrolled .nav-links > a,.site-header.is-scrolled .nav-links > .nav-group > button { padding:37px 0 35px; }
  .nav-links > .nav-group > button > i { margin-left:5px; font-size:9px; }
  .mega-menu {
    position:fixed;
    display:block;
    top:108px;
    left:0;
    width:100vw;
    padding:36px max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter))) 40px;
    opacity:0;
    visibility:hidden;
    transform:translateY(-12px);
    border-top:1px solid rgba(255,255,255,.6);
    border-bottom:1px solid rgba(29,29,27,.1);
    background:rgba(244,241,232,.9);
    box-shadow:0 30px 75px rgba(29,29,27,.14);
    backdrop-filter:blur(26px) saturate(132%);
    -webkit-backdrop-filter:blur(26px) saturate(132%);
  }
  .site-header.is-scrolled .mega-menu { top:92px; }
  .nav-group:hover > .mega-menu,.nav-group:focus-within > .mega-menu,.nav-group.open > .mega-menu { opacity:1; visibility:visible; transform:none; }
  .mega-menu-inner { display:grid; grid-template-columns:1.05fr .72fr 1.1fr .85fr; gap:clamp(22px,2.5vw,42px); grid-auto-rows:310px; }
  .mega-intro,.mega-visual,.mega-visual-stack { display:block; }
  .mega-visual-stack { display:grid; }
  .nav-panel-compact {
    position:absolute;
    display:block;
    top:calc(100% - 10px);
    left:50%;
    width:245px;
    padding:13px;
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,10px);
    border:1px solid rgba(255,255,255,.62);
    background:rgba(244,241,232,.9);
    box-shadow:0 22px 55px rgba(29,29,27,.12);
    backdrop-filter:blur(22px);
  }
  .nav-group:hover > .nav-panel-compact,.nav-group:focus-within > .nav-panel-compact,.nav-group.open > .nav-panel-compact { opacity:1; visibility:visible; transform:translate(-50%,0); }
  .cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:980px) {
  .site-header,.site-header.is-scrolled { height:88px; grid-template-columns:1fr auto auto; }
  .brand img { width:94px; height:58px; }
  .main-nav,.site-header.is-scrolled .main-nav { top:0; }
  .mobile-menu-head { background:rgba(244,241,232,.86); }
  .mobile-menu-panel { border-radius:18px 18px 0 0; background:rgba(244,241,232,.94); backdrop-filter:blur(26px); }
  body.menu-open .site-header .main-nav { opacity:1; visibility:visible; pointer-events:auto; }
  .page-layout { grid-template-columns:1fr; }
  .side-card { position:relative; top:auto; }
  .events-split { grid-template-columns:1fr; gap:42px; }
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:720px) {
  :root { --gutter:20px; }
  .site-header,.site-header.is-scrolled { height:82px; padding:0 18px; }
  .brand img { width:86px; height:54px; }
  .hero { min-height:740px; }
  .hero-content { padding:118px 22px 72px; }
  .hero h1 {
    max-width:100%;
    font-size:clamp(45px,12.2vw,53px);
    line-height:.94;
    letter-spacing:-.04em;
    hyphens:auto;
  }
  .hero h1 br { display:none; }
  .hero p { font-size:17px; line-height:1.6; }
  .content-shell { padding-top:88px; padding-bottom:88px; }
  .archive-images { height:auto; margin-bottom:55px; padding:6px; gap:6px; }
  .archive-images img { height:245px; }
  .archive-toolbar-head { align-items:start; gap:18px; margin-bottom:20px; }
  .archive-toolbar-head h2 { font-size:42px; }
  .archive-total { min-width:auto; min-height:42px; padding:0 12px; font-size:9px; }
  .filters { flex-wrap:nowrap; overflow-x:auto; margin-right:-20px; margin-bottom:36px; padding:8px 28px 8px 8px; border-right:0; border-radius:5px 0 0 5px; scrollbar-width:none; }
  .filters::-webkit-scrollbar { display:none; }
  .filter { flex:none; min-height:40px; padding:0 15px; }
  .cards { grid-template-columns:1fr; gap:20px; }
  .card-body,.story-rail .card-body { padding:25px 23px 26px; }
  .card h3,.story-rail .card h3 { font-size:27px; }
  .event-row,.events-split .event-row {
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px 18px;
    min-height:0;
    padding:22px;
  }
  .event-row:hover,.events-split .event-row:hover { padding:22px; transform:none; }
  .event-row time { grid-column:1/3; font-size:18px; }
  .event-row h3 { font-size:24px; }
  .events-split { margin-bottom:90px; padding-top:48px; padding-bottom:48px; }
  .page-content-wrap > .page-layout > .prose,
  .page-content-wrap > .prose,
  .contact-grid > .prose,
  .contact-card { padding:31px 23px; }
  .editorial-collage { padding:6px; gap:6px; border-radius:5px; }
  .collage-copy { padding:28px 24px; }
  .archive-block { margin-top:56px; padding:26px 18px; }
  .archive-block .section-heading { align-items:center; gap:16px; }
  .archive-count { min-width:48px; min-height:42px; padding:0 11px; }
  .archive-page-list { grid-template-columns:1fr; }
  .archive-page-link,.archive-page-link:nth-child(odd),.archive-page-link:nth-child(even) { min-height:108px; padding:22px; }
  .archive-page-link:hover { padding-left:22px; }
  .archive-page-link strong { font-size:23px; }
  .article-header { padding:75px 20px 42px; }
  .article-header h1 { font-size:clamp(47px,13vw,61px); }
  .article-header p { font-size:17px; }
  .article-image { width:calc(100% - 24px); aspect-ratio:1.15/1; }
  .article-body {
    width:calc(100% - 28px);
    margin:-22px auto 75px;
    padding:40px 22px 64px;
    border-radius:5px;
  }
  .article-body p,.article-body li { font-size:17px; }
  .article-body .facts { grid-template-columns:1fr; }
  .source-content p,.source-content li { font-size:17px; line-height:1.75; }
  .source-content blockquote { padding-left:20px; }
  .cta-band { box-shadow:0 20px 52px rgba(29,29,27,.13); }
}

/* --- Selective glass & editorial detail · August 2026 ----------------- */
/* Glass is reserved for navigation, controls and true image overlays. */
.editorial-collage,
.profession-story,
.page-content-wrap > .page-layout > .prose,
.page-content-wrap > .prose,
.contact-grid > .prose,
.contact-card,
.side-card,
.feature,
.person,
.club,
.card,
.event-row,
.archive-block {
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.editorial-collage {
  padding:0;
  gap:12px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.collage-primary,
.collage-secondary { border-radius:2px; }
.collage-copy {
  padding:clamp(38px,4vw,58px);
  border:1px solid rgba(29,29,27,.1);
  border-radius:2px;
  background:var(--paper);
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.collage-copy h2 { max-width:620px; }

.page-content-wrap > .page-layout > .prose,
.page-content-wrap > .prose,
.contact-grid > .prose,
.contact-card,
.feature,
.person {
  border-color:rgba(29,29,27,.1);
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 50px rgba(29,29,27,.045);
}

/* Landesvereine: a calm, scannable directory instead of imported tables. */
.clubs-intro {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.75fr);
  gap:clamp(36px,6vw,88px);
  align-items:end;
  margin-bottom:clamp(52px,6vw,84px);
}
.clubs-intro .lead,
.clubs-intro p { margin:0; }
.clubs-intro .lead { padding-left:0 !important; }
.clubs-intro p:last-child { max-width:540px; font-size:17px; }
.clubs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.club {
  position:relative;
  display:grid;
  grid-template-columns:50px minmax(0,1fr) 42px;
  gap:22px;
  align-items:center;
  min-height:150px;
  padding:28px 30px;
  border:1px solid rgba(29,29,27,.11);
  border-radius:3px;
  background:#fff;
  box-shadow:0 14px 38px rgba(29,29,27,.04);
  color:var(--ink);
  text-decoration:none;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.club:hover {
  transform:translateY(-3px);
  border-color:rgba(236,95,104,.5);
  box-shadow:0 22px 52px rgba(29,29,27,.08);
}
.club-index {
  align-self:start;
  padding-top:4px;
  color:var(--coral);
  font:600 11px/1 var(--sans);
  letter-spacing:.12em;
}
.club-copy { display:flex; flex-direction:column; gap:8px; min-width:0; }
.club-copy small {
  color:var(--coral);
  font:600 10px/1 var(--sans);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.club-copy strong { font:500 clamp(23px,2vw,31px)/1.12 var(--serif); }
.club-copy > span { color:rgba(29,29,27,.58); font:500 12px/1.3 var(--sans); }
.club-link {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(29,29,27,.12);
  border-radius:50%;
  color:var(--coral);
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.club:hover .club-link { background:var(--ink); color:var(--paper); transform:translate(2px,-2px); }
.club-specialist { grid-column:1/-1; background:var(--ink); color:var(--paper); }
.club-specialist .club-copy > span { color:rgba(244,241,232,.58); }
.club-specialist .club-link { border-color:rgba(244,241,232,.22); }

/* Mega menu: opaque editorial surface, consistent media tiles and contrast. */
@media (min-width:981px) {
  .mega-menu {
    padding-top:38px;
    padding-bottom:42px;
    border-top:1px solid rgba(29,29,27,.08);
    border-bottom:1px solid rgba(29,29,27,.12);
    background:rgba(244,241,232,.99);
    box-shadow:0 28px 68px rgba(29,29,27,.13);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .mega-menu-inner { gap:clamp(20px,2.2vw,36px); grid-auto-rows:326px; }
  .mega-visual,
  .mega-visual-tall {
    min-height:0;
    height:100%;
    padding:0 !important;
    border:1px solid rgba(29,29,27,.12);
    border-radius:3px;
    background:var(--ink);
    box-shadow:none;
  }
  .mega-menu .mega-visual:hover { padding:0 !important; background:var(--ink); color:var(--paper); }
  .mega-visual-stack { height:326px; gap:10px; }
  .mega-visual::after {
    background:linear-gradient(0deg,rgba(17,17,15,.82),rgba(17,17,15,.08) 72%);
  }
  .mega-visual:hover::after { background:linear-gradient(0deg,rgba(17,17,15,.86),rgba(17,17,15,.06) 72%); }
  .mega-visual > span {
    left:20px;
    right:20px;
    bottom:18px;
    color:var(--paper);
    font-size:19px;
    text-shadow:0 2px 14px rgba(0,0,0,.38);
  }
  .mega-visual small { color:#ff98a0; }
  .mega-visual:hover img { transform:scale(1.035); }
}

/* Home image story: generous sizing with intentional focal points. */
.profession-story { margin-bottom:clamp(82px,7vw,112px); }
.image-triptych {
  grid-template-rows:390px 390px;
  gap:7px;
  margin-bottom:clamp(90px,8vw,120px);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.image-triptych img { height:100%; margin-top:0; transform:none; }
.image-triptych a:nth-child(1) img { object-position:center 60%; }
.image-triptych a:nth-child(2) img { object-position:center 48%; }
.image-triptych a:nth-child(3) img { object-position:center 45%; }
.image-triptych a::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(29,29,27,.62),transparent 46%);
  pointer-events:none;
}
.image-triptych span { z-index:1; font-size:12px; }

/* News: solid editorial cards with a clear information hierarchy. */
.cards { align-items:stretch; }
.card {
  min-height:100%;
  border:1px solid rgba(29,29,27,.11);
  border-radius:3px;
  background:#fff;
  box-shadow:0 16px 44px rgba(29,29,27,.045);
}
.card:hover { border-color:rgba(236,95,104,.46); box-shadow:0 24px 58px rgba(29,29,27,.09); }
.card-image { aspect-ratio:16/10.8; }
.card-body { display:flex; flex:1; flex-direction:column; padding:28px 28px 25px; }
.card-meta {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  min-height:28px;
  color:rgba(29,29,27,.55);
  font:600 10px/1.35 var(--sans);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.card-meta span { color:var(--coral); }
.card-meta time { text-align:right; }
.card h3 { margin:10px 0 15px; font-size:clamp(25px,2.15vw,31px); }
.card p {
  display:-webkit-box;
  margin-bottom:26px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  color:rgba(29,29,27,.66);
}
.card-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(29,29,27,.1);
  color:var(--ink);
  font:600 10px/1 var(--sans);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.card-footer i { color:var(--coral); font-size:16px; transition:transform .25s ease; }
.card:hover .card-footer i { transform:translateX(5px); }
.story-rail .card { background:#fff; }
.story-rail .card-body { padding:24px 24px 23px; }
.story-rail .card h3 { font-size:25px; }
.story-rail .card p { font-size:15px; }

/* Events: compact date blocks and consistent rows. */
.event-list { gap:14px; }
.event-row,
.events-split .event-row {
  grid-template-columns:116px minmax(0,1fr) 48px;
  gap:32px;
  min-height:150px;
  padding:22px 26px 22px 20px;
  border:1px solid rgba(29,29,27,.11);
  border-radius:3px;
  background:#fff;
  box-shadow:0 14px 38px rgba(29,29,27,.04);
}
.event-row:hover,
.events-split .event-row:hover {
  padding:22px 26px 22px 20px;
  transform:translateY(-3px);
  border-color:rgba(236,95,104,.48);
  background:#fff;
  box-shadow:0 22px 52px rgba(29,29,27,.08);
}
.event-date {
  display:grid;
  grid-template-columns:auto 1fr;
  align-content:center;
  align-items:end;
  column-gap:8px;
  height:100%;
  padding:12px 18px 12px 10px;
  border-right:1px solid rgba(29,29,27,.12);
  color:var(--ink) !important;
}
.event-date strong { font:500 43px/.82 var(--serif); letter-spacing:-.04em; }
.event-date span { padding-bottom:2px; color:var(--coral); font:700 11px/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; }
.event-date small { grid-column:1/-1; margin-top:10px; color:rgba(29,29,27,.5); font:600 10px/1 var(--sans); letter-spacing:.08em; }
.event-copy { align-self:center; }
.event-label { display:block; margin-bottom:8px; color:var(--coral); font:600 10px/1 var(--sans); letter-spacing:.13em; text-transform:uppercase; }
.event-row h3 { margin:0 0 10px; font:500 clamp(24px,2.1vw,31px)/1.12 var(--serif); }
.event-row p { display:flex; gap:7px; align-items:center; margin:0; color:rgba(29,29,27,.6); font-size:14px; }
.event-row p i { color:var(--coral); }
.event-arrow {
  align-self:center;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgba(29,29,27,.12);
  border-radius:50%;
  color:var(--coral);
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
.event-row:hover .event-arrow { background:var(--ink); color:var(--paper); transform:translateX(3px); }

.archive-block { background:rgba(255,255,255,.7); box-shadow:0 18px 50px rgba(29,29,27,.045); }

@media (max-width:1100px) and (min-width:721px) {
  .image-triptych { grid-template-rows:345px 345px; }
  .event-row,.events-split .event-row { grid-template-columns:106px minmax(0,1fr) 46px; gap:24px; }
}

@media (max-width:720px) {
  .editorial-collage { padding:0; gap:6px; border-radius:0; }
  .collage-copy { padding:30px 24px; }
  .clubs-intro { grid-template-columns:1fr; gap:20px; margin-bottom:44px; }
  .clubs { grid-template-columns:1fr; gap:10px; }
  .club-specialist { grid-column:auto; }
  .club { grid-template-columns:36px minmax(0,1fr) 38px; gap:13px; min-height:128px; padding:22px 18px; }
  .club-copy strong { font-size:23px; }
  .club-link { width:38px; height:38px; }
  .profession-story { margin-bottom:70px; }
  .image-triptych { grid-template-rows:none; gap:7px; margin-bottom:78px; }
  .image-triptych a { height:310px; }
  .image-triptych a:nth-child(1) img { object-position:center 62%; }
  .image-triptych a:nth-child(2) img { object-position:center 50%; }
  .image-triptych a:nth-child(3) img { object-position:center 44%; }
  .card-body,.story-rail .card-body { padding:24px 21px 22px; }
  .event-row,.events-split .event-row {
    grid-template-columns:82px minmax(0,1fr) 40px;
    gap:16px;
    padding:18px 16px;
  }
  .event-row:hover,.events-split .event-row:hover { padding:18px 16px; }
  .event-date { grid-column:auto; padding:8px 13px 8px 0; }
  .event-date strong { font-size:36px; }
  .event-date small { font-size:9px; }
  .event-label { margin-bottom:6px; }
  .event-row h3 { font-size:22px; }
  .event-row p { align-items:flex-start; font-size:12px; }
  .event-arrow { width:38px; height:38px; }
}

/* --- Unified layout rhythm, FAQs and clean navigation · August 2026 --- */
:root { --layout-max:1520px; }

/* One shared alignment line for header, content, hero copy and footer copy. */
.content-shell,
.page-hero-inner,
.hero-content,
.footer-main,
.footer-bottom {
  width:min(var(--layout-max),100%);
  margin-left:auto;
  margin-right:auto;
}
.content-shell.compact-shell { padding-top:0; padding-bottom:0; }
.site-header,
.site-header.is-scrolled {
  padding-left:max(var(--gutter),calc((100vw - var(--layout-max))/2 + var(--gutter)));
  padding-right:max(var(--gutter),calc((100vw - var(--layout-max))/2 + var(--gutter)));
}
.site-footer {
  width:100%;
  margin:0;
  border-radius:0;
}
.footer-main,
.footer-bottom { padding-left:var(--gutter); padding-right:var(--gutter); }
.cta-band {
  width:min(var(--layout-max),calc(100% - var(--gutter) - var(--gutter)));
  margin:0 auto;
}

/* Main text stays readable; directories and partner grids may use the full line. */
.page-content-wrap > .page-prose {
  max-width:1080px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.page-content-wrap > .page-prose-landesvereine,
.page-content-wrap > .page-prose-partner,
.page-content-wrap > .page-prose-vorstand { max-width:none; }

/* Replace the former right sidebar with a full-width related-content block. */
.related-section {
  padding-top:clamp(70px,7vw,108px);
  padding-bottom:clamp(74px,7vw,112px);
  border-top:1px solid rgba(29,29,27,.1);
}
.related-heading {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.65fr);
  gap:clamp(42px,7vw,110px);
  align-items:end;
  margin-bottom:42px;
}
.related-heading h2 { margin:0; font-size:clamp(45px,4.6vw,68px); }
.related-heading > p { max-width:520px; margin:0; font-size:17px; }
.related-links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.related-links a {
  display:grid;
  grid-template-columns:45px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  min-height:100px;
  padding:24px 26px;
  border:1px solid rgba(29,29,27,.11);
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.related-links a:hover { transform:translateY(-2px); border-color:rgba(236,95,104,.5); box-shadow:0 18px 42px rgba(29,29,27,.07); }
.related-links span { color:var(--coral); font:600 10px/1 var(--sans); letter-spacing:.12em; }
.related-links strong { font:500 28px/1.12 var(--serif); }
.related-links i { color:var(--coral); }

/* FAQ is a consistent closing module on almost every editorial page. */
.faq-section {
  display:grid;
  grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr);
  gap:clamp(55px,8vw,130px);
  padding-top:clamp(78px,8vw,126px);
  padding-bottom:clamp(78px,8vw,126px);
  border-top:1px solid rgba(29,29,27,.1);
}
.faq-heading h2 { margin:0; font-size:clamp(48px,4.6vw,70px); }
.faq-list { border-top:1px solid rgba(29,29,27,.16); }
.faq-item { border-bottom:1px solid rgba(29,29,27,.16); }
.faq-item summary {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 32px;
  gap:18px;
  align-items:center;
  min-height:92px;
  padding:22px 0;
  cursor:pointer;
  list-style:none;
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary > span { color:var(--coral); font:600 10px/1 var(--sans); letter-spacing:.12em; }
.faq-item summary strong { font:500 clamp(22px,2vw,29px)/1.2 var(--serif); }
.faq-item summary i { color:var(--coral); transition:transform .25s ease; }
.faq-item[open] summary i { transform:rotate(45deg); }
.faq-item > p { max-width:780px; margin:0; padding:0 42px 28px 60px; font-size:17px; }

/* Partner logos get consistent, uncropped stages instead of oversized source images. */
.partners-intro {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.75fr);
  gap:clamp(42px,7vw,110px);
  align-items:end;
  margin-bottom:clamp(52px,6vw,82px);
}
.partners-intro .lead,.partners-intro p { margin:0; }
.partners-intro .lead { padding-left:0 !important; }
.partner-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.partner-card { display:grid; grid-template-rows:260px auto; min-width:0; border:1px solid rgba(29,29,27,.1); background:#fff; }
.partner-logo { display:grid; place-items:center; min-width:0; padding:48px; border-bottom:1px solid rgba(29,29,27,.09); background:#fff; overflow:hidden; }
.partner-logo img {
  width:100%;
  height:100%;
  max-width:360px;
  max-height:135px;
  margin:0;
  object-fit:contain;
  object-position:center;
  filter:none;
  box-shadow:none;
}
.partner-copy { position:relative; padding:30px 32px 34px; }
.partner-copy > span { position:absolute; top:34px; right:32px; color:var(--coral); font:600 10px/1 var(--sans); letter-spacing:.12em; }
.partner-copy h3 { max-width:80%; margin:0 0 13px; font:500 clamp(27px,2.5vw,36px)/1.08 var(--serif); }
.partner-copy p { margin:0; font-size:16px; }
.partner-note { margin-top:18px; padding:clamp(42px,5vw,72px); background:var(--ink); color:var(--paper); }
.partner-note h2 { max-width:780px; margin-bottom:22px; font-size:clamp(44px,4.4vw,68px); }
.partner-note p { max-width:760px; color:rgba(244,241,232,.72); }
.partner-note a { color:var(--paper); }

/* Home story images: captions sit below the media on a calm three-column grid. */
.profession-story { margin-bottom:clamp(76px,6vw,96px); }
.image-triptych {
  width:min(var(--layout-max),calc(100% - var(--gutter) - var(--gutter)));
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:none;
  gap:20px;
  margin:0 auto clamp(20px,2vw,30px);
}
.image-triptych a,
.image-triptych a:nth-child(1),
.image-triptych a:nth-child(2),
.image-triptych a:nth-child(3) {
  position:relative;
  display:flex;
  grid-column:auto;
  grid-row:auto;
  height:auto;
  flex-direction:column;
  overflow:visible;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
}
.image-triptych a::after { display:none; }
.triptych-media { aspect-ratio:1.08/1; overflow:hidden; background:#ddd6c9; }
.image-triptych .triptych-media img {
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  filter:saturate(.88) contrast(1.03);
  transform:none !important;
  transition:transform .6s cubic-bezier(.22,.7,.25,1),filter .4s ease;
}
.image-triptych a:nth-child(1) img { object-position:center 58%; }
.image-triptych a:nth-child(2) img { object-position:center 50%; }
.image-triptych a:nth-child(3) img { object-position:center 43%; }
.image-triptych a:hover img { transform:scale(1.025) !important; filter:saturate(1) contrast(1.02); }
.triptych-copy { flex:1; padding:25px 25px 29px; border:1px solid rgba(29,29,27,.1); border-top:0; }
.image-triptych .triptych-copy span {
  position:static;
  display:block;
  margin-bottom:12px;
  color:var(--coral);
  font:600 10px/1 var(--sans);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.triptych-copy h3 { margin:0 0 12px; font:500 clamp(25px,2.2vw,33px)/1.08 var(--serif); }
.triptych-copy p { margin:0; font-size:15px; line-height:1.6; }

/* Menus: opaque surfaces, no nested white hover tiles, no image frames. */
.nav-panel-compact {
  border:1px solid rgba(29,29,27,.12);
  background:rgba(244,241,232,.99);
  box-shadow:0 22px 55px rgba(29,29,27,.13);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.nav-panel-compact a,
.nav-panel-compact a:hover,
.nav-panel-compact a:focus-visible {
  background:transparent;
  color:var(--ink);
}
.nav-panel-compact a { transition:color .2s ease,padding-left .25s ease; }
.nav-panel-compact a:hover { padding-left:20px; color:var(--coral); }
@media (min-width:981px) {
  .mega-menu .mega-visual,
  .mega-menu .mega-visual-tall { border:0; border-radius:2px; }
}

/* Closing image/CTA modules meet the footer without decorative white bars. */
.visual-break { margin-bottom:0; }
.visual-break + .cta-band { margin-top:0; }
.cta-band + .site-footer,
#main + .site-footer { margin-top:0; }

/* Full-bleed closing CTA with the same inner alignment as the site grid. */
.cta-band {
  box-sizing:border-box;
  width:100%;
  max-width:none;
  min-height:clamp(360px,28vw,470px);
  margin:0;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.72fr);
  grid-template-rows:auto auto;
  column-gap:clamp(70px,9vw,150px);
  row-gap:28px;
  align-content:center;
  padding:clamp(82px,8vw,126px) max(var(--gutter),calc((100vw - var(--layout-max))/2 + var(--gutter)));
  background:var(--coral);
  color:var(--ink);
  box-shadow:none;
}
.cta-band h2 {
  grid-column:1;
  grid-row:1 / 3;
  align-self:center;
  max-width:860px;
  margin:0;
  font-size:clamp(54px,5vw,78px);
  line-height:.98;
}
.cta-band p {
  grid-column:2;
  grid-row:1;
  align-self:end;
  max-width:540px;
  margin:0;
  color:rgba(29,29,27,.74);
  font-size:19px;
  line-height:1.62;
}
.cta-band .btn {
  grid-column:2;
  grid-row:2;
  justify-self:start;
  align-self:start;
}
.cta-band:not(:has(p)) .btn {
  grid-row:1 / 3;
  align-self:center;
  justify-self:end;
}

/* Route focus stays on the main region without drawing a frame above the footer. */
#main:focus,
#main:focus-visible { outline:0; }

/* Legacy source links are intentionally retired with the old newsletter system. */
.source-origin { display:none !important; }

/* Adaptive presentation for low-resolution images in the imported archive. */
.article-image {
  position:relative;
  display:grid;
  place-items:center;
  aspect-ratio:16/8;
  overflow:hidden;
  background:#d9d3c8;
  isolation:isolate;
}
.article-image > img {
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
}
.article-image.is-low-resolution::before,
.legacy-media-stage::before {
  content:"";
  position:absolute;
  z-index:-2;
  inset:-34px;
  background-image:var(--media-image);
  background-position:center;
  background-size:cover;
  filter:blur(28px) saturate(.8);
  transform:scale(1.08);
}
.article-image.is-low-resolution::after,
.legacy-media-stage::after {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(115deg,rgba(29,29,27,.5),rgba(29,29,27,.22));
}
.article-image.is-low-resolution > img {
  width:min(60%,760px);
  height:auto;
  max-width:760px;
  max-height:82%;
  object-fit:contain;
  background:rgba(244,241,232,.12);
  box-shadow:0 24px 70px rgba(0,0,0,.3);
}
.legacy-media-stage {
  position:relative;
  display:grid;
  place-items:center;
  width:100%;
  min-height:clamp(340px,43vw,560px);
  margin:44px 0;
  overflow:hidden;
  border-radius:4px;
  background:#d9d3c8;
  isolation:isolate;
}
.legacy-media-stage > img,
.legacy-media-stage > a {
  position:relative;
  z-index:1;
  display:block;
  width:min(72%,720px);
  max-width:720px;
  max-height:480px;
  margin:0;
}
.legacy-media-stage img {
  display:block;
  width:100% !important;
  max-width:100%;
  max-height:480px;
  margin:0 !important;
  object-fit:contain;
  background:rgba(244,241,232,.1);
  box-shadow:0 22px 65px rgba(0,0,0,.28) !important;
}
.legacy-media-stage.is-very-small > img,
.legacy-media-stage.is-very-small > a {
  width:min(62%,600px);
  max-width:600px;
}
.legacy-media-stage.is-logo-like { min-height:300px; background:#fff; }
.legacy-media-stage.is-logo-like::before { display:none; }
.legacy-media-stage.is-logo-like::after { background:linear-gradient(135deg,#fff,#f1ede4); }
.legacy-media-stage.is-logo-like img { background:transparent; box-shadow:none !important; }
.article-header h1 { overflow-wrap:anywhere; hyphens:auto; }

/* Legal pages and consent controls. */
.legal-copy { max-width:1120px !important; }
.legal-copy > h2 { margin-top:clamp(52px,6vw,82px); }
.legal-copy > h2:first-child { margin-top:0; }
.footer-legal-button,
.cookie-text-button {
  appearance:none;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.footer-bottom .footer-legal-button { color:inherit; font-size:11px; text-decoration:none; }
.footer-bottom .footer-legal-button:hover { color:var(--paper); }
.cookie-banner {
  position:fixed;
  z-index:1200;
  left:0;
  bottom:0;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(38px,6vw,90px);
  align-items:end;
  padding:clamp(32px,4vw,52px) max(clamp(28px,5.5vw,92px),calc((100vw - 1536px)/2));
  border:0;
  border-top:1px solid rgba(244,241,232,.16);
  border-radius:0;
  background:rgba(29,29,27,.96);
  color:var(--paper);
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  transform:none;
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.cookie-banner[hidden],.cookie-settings[hidden],.cookie-settings-backdrop[hidden] { display:none; }
.cookie-copy { max-width:690px; }
.cookie-copy h2 { margin:0 0 17px; color:var(--paper); font-size:clamp(38px,4vw,56px); }
.cookie-copy p:last-child { margin:0; color:rgba(244,241,232,.72); font-size:16px; }
.cookie-copy a { color:var(--paper); text-underline-offset:4px; }
.cookie-actions { display:grid; grid-template-columns:repeat(2,auto); gap:10px; justify-items:stretch; }
.cookie-actions .btn { min-width:174px; }
.cookie-actions .btn.light { border-color:rgba(244,241,232,.5); color:var(--paper); }
.cookie-settings-backdrop { position:fixed; z-index:1205; inset:0; background:rgba(10,10,9,.48); backdrop-filter:blur(5px); }
.cookie-settings {
  position:fixed;
  z-index:1210;
  left:50%;
  top:50%;
  width:min(720px,calc(100% - 36px));
  max-height:calc(100vh - 36px);
  overflow:auto;
  padding:clamp(34px,5vw,58px);
  border-radius:5px;
  background:var(--paper);
  color:var(--ink);
  box-shadow:0 35px 100px rgba(0,0,0,.3);
  transform:translate(-50%,-50%);
}
.cookie-settings h2 { margin:0 0 27px; font-size:clamp(34px,3.4vw,46px); }
.cookie-settings-close { position:absolute; top:20px; right:20px; width:42px; height:42px; border:1px solid rgba(29,29,27,.15); border-radius:50%; background:transparent; color:var(--ink); font-size:18px; line-height:1; cursor:pointer; }
.cookie-settings-close i { color:currentColor; }
.cookie-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; padding:25px 0; border-top:1px solid rgba(29,29,27,.13); }
.cookie-option:last-of-type { margin-bottom:28px; border-bottom:1px solid rgba(29,29,27,.13); }
.cookie-option strong { display:block; margin-bottom:7px; font:500 23px/1.15 var(--serif); }
.cookie-option p { margin:0; font-size:14px; line-height:1.55; }
.cookie-option input { width:22px; height:22px; accent-color:var(--coral); }
body.cookie-settings-open { overflow:hidden; }

@media (max-width:980px) {
  .related-heading,.partners-intro { grid-template-columns:1fr; gap:22px; }
  .faq-section { grid-template-columns:1fr; gap:36px; }
  .partner-grid { grid-template-columns:1fr; }
  .image-triptych { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .image-triptych a:last-child { grid-column:1/-1; }
}

@media (max-width:720px) {
  .site-footer { width:100%; margin:0; }
  .related-section { padding-top:64px; padding-bottom:68px; }
  .related-links { grid-template-columns:1fr; }
  .related-links a { min-height:86px; padding:20px; }
  .related-links strong { font-size:24px; }
  .faq-section { padding-top:68px; padding-bottom:68px; }
  .faq-item summary { grid-template-columns:32px minmax(0,1fr) 26px; min-height:82px; gap:12px; }
  .faq-item > p { padding:0 26px 24px 44px; font-size:16px; }
  .partners-intro { margin-bottom:42px; }
  .partner-card { grid-template-rows:210px auto; }
  .partner-logo { padding:36px; }
  .partner-copy { padding:26px 24px 30px; }
  .partner-copy > span { top:29px; right:24px; }
  .partner-note { padding:38px 25px; }
  .image-triptych { width:calc(100% - 32px); grid-template-columns:1fr; gap:16px; margin-bottom:28px; }
  .image-triptych a:last-child { grid-column:auto; }
  .image-triptych a { height:auto; }
  .triptych-media { aspect-ratio:1.2/1; }
  .triptych-copy { padding:23px 22px 26px; }
  .cta-band {
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:26px;
    padding:68px 22px 72px;
  }
  .cta-band h2,
  .cta-band p,
  .cta-band .btn,
  .cta-band:not(:has(p)) .btn {
    grid-column:1;
    grid-row:auto;
    align-self:auto;
    justify-self:start;
  }
  .cta-band h2 { font-size:clamp(45px,12vw,60px); }
  .cta-band p { max-width:520px; font-size:18px; }
  .article-image { aspect-ratio:1.15/1; }
  .article-image.is-low-resolution > img { width:84%; max-width:84%; max-height:78%; }
  .legacy-media-stage { min-height:300px; margin:30px 0; }
  .legacy-media-stage > img,
  .legacy-media-stage > a { width:86%; max-width:86%; }
  .legacy-media-stage.is-very-small > img,
  .legacy-media-stage.is-very-small > a { width:72%; max-width:72%; }
  .footer-bottom div { flex-wrap:wrap; row-gap:12px; }
  .cookie-banner { left:50%; bottom:12px; width:calc(100% - 24px); grid-template-columns:1fr; gap:25px; padding:28px 22px; border:1px solid rgba(244,241,232,.16); border-radius:5px; transform:translateX(-50%); }
  .cookie-copy h2 { font-size:40px; }
  .cookie-copy p:last-child { font-size:14px; }
  .cookie-actions { grid-template-columns:1fr; }
  .cookie-actions .btn { width:100%; min-width:0; }
  .cookie-settings { padding:52px 23px 28px; }
  .cookie-settings h2 { font-size:35px; }
  .cookie-option strong { font-size:21px; }
}

/* Mobile stories and events: stable horizontal rail and compact event dates. */
@media (max-width:720px) {
  .story-rail {
    display:flex;
    align-items:stretch;
    gap:14px;
    width:100%;
    padding:0 48px 14px 0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-padding-inline:0 48px;
    scroll-snap-type:x mandatory;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:none;
    touch-action:pan-x pinch-zoom;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .story-rail::-webkit-scrollbar { display:none; }
  .story-rail .card {
    flex:0 0 100%;
    min-width:0;
    max-width:none;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .story-rail .card.reveal {
    opacity:1;
    transform:none;
    transition-delay:0ms !important;
  }

  .event-row,
  .events-split .event-row {
    grid-template-columns:68px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:0 14px;
    min-height:0;
    padding:17px 16px;
    overflow:hidden;
  }
  .event-row:hover,
  .events-split .event-row:hover { padding:17px 16px; }
  .event-row > .event-date,
  .events-split .event-row > .event-date {
    grid-column:1;
    grid-row:1 / 3;
    display:flex;
    width:auto;
    min-width:0;
    height:100%;
    min-height:116px;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:6px;
    padding:5px 12px 5px 0;
  }
  .event-date strong { font-size:34px; line-height:.88; }
  .event-date span { padding:0; }
  .event-date small { margin:2px 0 0; font-size:8px; line-height:1.35; letter-spacing:.04em; }
  .event-copy {
    grid-column:2;
    grid-row:1;
    min-width:0;
    align-self:center;
  }
  .event-row h3 {
    font-size:21px;
    line-height:1.14;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .event-row p {
    max-width:100%;
    align-items:flex-start;
    overflow-wrap:anywhere;
  }
  .event-row p i { flex:0 0 auto; }
  .event-arrow {
    grid-column:2;
    grid-row:2;
    justify-self:end;
    width:34px;
    height:34px;
    margin-top:13px;
  }
}

/* Mobile navigation: independent coral bottom-sheet with a clear hierarchy. */
.nav-group-title strong { font:inherit; font-weight:inherit; }
.nav-group-title small { display:none; }

@media (max-width:980px) {
  body.menu-open .site-header,
  body.menu-open .site-header.is-scrolled {
    position:fixed;
    inset:0 0 auto;
    width:100%;
  }
  body.menu-open {
    position:fixed;
    inset:var(--menu-lock-offset,0) 0 auto;
    width:100%;
    overflow:hidden;
  }
  .main-nav,
  .site-header.is-scrolled .main-nav {
    background:rgba(29,29,27,.64);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
  }
  .mobile-menu-panel,
  .site-header.is-scrolled .mobile-menu-panel {
    max-height:94svh;
    padding:0 clamp(18px,5vw,30px) 32px;
    border-radius:22px 22px 0 0;
    background:var(--coral);
    color:var(--ink);
    box-shadow:0 -28px 80px rgba(29,29,27,.28);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    overscroll-behavior:contain;
    scrollbar-width:none;
  }
  .mobile-menu-panel::-webkit-scrollbar { display:none; }
  .mobile-menu-head,
  .site-header.is-scrolled .mobile-menu-head {
    height:76px;
    padding-top:8px;
    border-bottom:1px solid rgba(29,29,27,.16);
    background:var(--coral);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .mobile-menu-head p { color:var(--ink); font-weight:700; }
  .mobile-menu-handle { background:rgba(29,29,27,.42); }
  .mobile-menu-close {
    width:40px;
    height:40px;
    border-color:rgba(29,29,27,.3);
    background:transparent;
    color:var(--ink);
  }
  .mobile-menu-close i { color:currentColor; }

  .mobile-menu-quick {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin:14px 0 23px;
  }
  .mobile-menu-quick a {
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    min-height:86px;
    height:86px;
    border:1px solid rgba(29,29,27,.2);
    border-radius:3px;
    background:rgba(244,241,232,.13);
    color:var(--ink);
  }
  .mobile-menu-quick a::after { display:none; }
  .mobile-menu-quick img {
    position:static;
    width:68px;
    height:86px;
    object-fit:cover;
  }
  .mobile-menu-quick a > span {
    position:static;
    display:flex;
    min-width:0;
    padding:11px 9px;
    flex-direction:column;
    justify-content:center;
    color:var(--ink);
    font:500 15px/1.12 var(--serif);
  }
  .mobile-menu-quick small {
    margin-bottom:6px;
    color:rgba(29,29,27,.68);
    font-size:8px;
  }

  .nav-links { border-top:1px solid rgba(29,29,27,.2); }
  .nav-links > a,
  .nav-links > .nav-group > button {
    min-height:68px;
    border-bottom:1px solid rgba(29,29,27,.2);
    color:var(--ink);
    font-size:27px;
  }
  .nav-links > .nav-group > button { display:grid; grid-template-columns:minmax(0,1fr) 32px; gap:12px; }
  .nav-links > .nav-group > button > i {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border:1px solid rgba(29,29,27,.25);
    border-radius:50%;
    color:var(--ink);
    font-size:11px;
  }
  .nav-group-title { display:block; min-width:0; }
  .nav-group-title strong { display:block; }
  .nav-group-title small {
    display:block;
    margin-top:5px;
    color:rgba(29,29,27,.65);
    font:600 9px/1.2 var(--sans);
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .nav-group.open > button { border-bottom-color:transparent; }
  .nav-panel,
  .mega-menu,
  .nav-panel-compact {
    margin:0 0 12px;
    padding:8px 15px 14px;
    border:0;
    border-left:2px solid rgba(29,29,27,.72);
    border-radius:0 3px 3px 0;
    background:rgba(244,241,232,.16);
  }
  .nav-panel::before {
    content:"Unterseiten";
    display:block;
    padding:7px 0 6px;
    color:rgba(29,29,27,.6);
    font:700 9px/1 var(--sans);
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  .mega-menu-inner { display:block; }
  .mega-intro,
  .mega-visual,
  .mega-visual-stack { display:none; }
  .mobile-menu-panel .mega-menu .mega-visual,
  .mobile-menu-panel .mega-menu .mega-visual-tall,
  .mobile-menu-panel .mega-menu .mega-visual-stack { display:none !important; }
  .mega-links { padding:0; border:0; }
  .mega-links a,
  .nav-panel-compact a {
    display:flex;
    min-height:46px;
    padding:0;
    align-items:center;
    gap:10px;
    border-bottom:1px solid rgba(29,29,27,.14);
    color:var(--ink);
    font:500 15px/1.25 var(--sans);
  }
  .mega-links a:last-child,
  .nav-panel-compact a:last-child { border-bottom:0; }
  .mobile-menu-panel .nav-panel a:hover,
  .mobile-menu-panel .nav-panel a:focus-visible {
    padding-left:0;
    background:transparent;
    color:var(--ink);
  }
  .mega-links a span { display:none; }
  .mega-links a::after,
  .nav-panel-compact a::after {
    content:"→";
    margin-left:auto;
    color:rgba(29,29,27,.72);
    font-size:15px;
  }
}

@media (max-width:420px) {
  .mobile-menu-panel { padding-right:16px; padding-left:16px; }
  .mobile-menu-quick a { grid-template-columns:58px minmax(0,1fr); height:78px; min-height:78px; }
  .mobile-menu-quick img { width:58px; height:78px; }
  .mobile-menu-quick a > span { padding:9px 7px; font-size:14px; }
  .nav-links > a,
  .nav-links > .nav-group > button { min-height:64px; font-size:25px; }
}

/* Mobile subpages: reliable reflow, calm type and non-overlapping imagery. */
@media (max-width:720px) {
  html,
  body { width:100%; max-width:100%; overflow-x:hidden; }

  /* Parallax scaling caused images to grow outside their layout column. */
  main [data-parallax] {
    width:100%;
    max-width:100%;
    transform:none !important;
    will-change:auto;
  }

  .page-hero { min-height:500px; }
  .page-hero-inner { padding:92px 18px 46px; }
  .page-hero-inner h1 {
    max-width:100%;
    margin-right:0;
    font-size:clamp(40px,11vw,46px);
    line-height:.98;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .page-hero-inner h1::after { width:64px; margin-top:20px; }

  .editorial-collage {
    width:calc(100% - 32px);
    min-height:0;
    margin:48px auto 0;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto;
    gap:8px;
    overflow:hidden;
  }
  .editorial-collage .collage-primary,
  .editorial-collage .collage-secondary {
    position:relative;
    inset:auto;
    grid-column:1;
    width:100%;
    max-width:100%;
    min-height:0;
    margin:0;
    border:0;
    object-fit:cover;
    transform:none !important;
  }
  .editorial-collage .collage-primary {
    grid-row:1;
    height:clamp(300px,92vw,370px);
  }
  .editorial-collage .collage-secondary {
    grid-row:2;
    height:clamp(165px,52vw,210px);
  }
  .editorial-collage .collage-copy {
    position:relative;
    inset:auto;
    grid-column:1;
    grid-row:3;
    width:100%;
    max-width:100%;
    padding:25px 21px 28px;
  }
  .editorial-collage .collage-copy h2 {
    font-size:clamp(29px,8.7vw,36px);
    line-height:1.08;
  }

  .page-content-wrap,
  .page-content-wrap > .page-prose,
  .contact-grid,
  .contact-grid > .prose,
  .contact-card,
  .legal-copy,
  .article-body,
  .article-body > * { min-width:0; }
  .page-content-wrap > .page-prose,
  .contact-grid > .prose,
  .legal-copy { max-width:none !important; }

  .archive-toolbar-head {
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  .archive-toolbar-head h2 { font-size:clamp(35px,10vw,41px); overflow-wrap:anywhere; }
  .archive-total { justify-self:start; }
  .filters {
    width:100%;
    max-width:100%;
    margin-right:0;
    padding-right:12px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
  }
  .archive-block .section-heading {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:14px;
    align-items:start;
  }
  .archive-block .section-heading::after { display:none; }
  .archive-block .section-heading h2 { overflow-wrap:anywhere; }
  .archive-count { justify-self:start; }
  .archive-page-list,
  .archive-page-link,
  .archive-page-link > span { min-width:0; max-width:100%; }
  .archive-page-link,
  .archive-page-link:nth-child(odd),
  .archive-page-link:nth-child(even) { width:100%; }
  .archive-page-link strong { overflow-wrap:anywhere; hyphens:auto; }

  .article-header { padding:68px 18px 38px; }
  .article-header h1 {
    max-width:100%;
    font-size:clamp(38px,10.6vw,46px);
    line-height:.98;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .article-header p { font-size:16px; }
  .article-kicker { max-width:100%; }
  .article-kicker span { max-width:100%; overflow-wrap:anywhere; }
  .article-body { width:calc(100% - 24px); padding:36px 19px 56px; }
  .article-body .fact strong,
  .source-content,
  .source-content p,
  .source-content li,
  .source-content a,
  .legal-copy a {
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  .source-content pre,
  .source-content code { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }

  .cta-band { padding:58px 18px 64px; gap:22px; }
  .cta-band h2 {
    max-width:100%;
    font-size:clamp(38px,10.4vw,42px);
    line-height:1;
    overflow-wrap:anywhere;
  }
  .cta-band p { font-size:16px; line-height:1.58; }
  .partner-note { padding:34px 20px; }
  .partner-note h2 { font-size:clamp(36px,9.8vw,40px); }

  .related-heading h2,
  .faq-section h2,
  .visual-break h2 { font-size:clamp(36px,10vw,43px); }
}

@media (max-width:420px) {
  .archive-block { padding-right:14px; padding-left:14px; }
  .archive-page-link,
  .archive-page-link:nth-child(odd),
  .archive-page-link:nth-child(even) { padding:18px 16px; }
  .footer-main {
    grid-template-columns:minmax(0,1fr);
    gap:30px;
    padding-right:18px;
    padding-left:18px;
  }
  .footer-brand,
  .footer-main > div:last-child { grid-column:auto; min-width:0; }
  .footer-brand p,
  .footer-main > div,
  .footer-main a { max-width:100%; overflow-wrap:anywhere; }
  .footer-bottom { padding-right:18px; padding-left:18px; }
  .footer-bottom div { gap:14px 18px; }
}

/* Home refinement: shared content line, quieter profession intro and tighter news cards. */
.profession-story,
.image-triptych {
  width:min(
    calc(var(--layout-max) - var(--gutter) - var(--gutter)),
    calc(100% - var(--gutter) - var(--gutter))
  );
}

.profession-story {
  min-height:clamp(590px,42vw,680px);
  margin-top:clamp(76px,7vw,108px);
  margin-bottom:clamp(72px,6vw,94px);
  grid-template-columns:minmax(390px,.86fr) minmax(0,1.14fr);
}
.chapter-nav,
.chapter-count { display:none; }
.profession-copy { padding:clamp(56px,5vw,76px); }
.profession-copy h2 { margin-top:0; }
.profession-image { min-height:clamp(590px,42vw,680px); }

.image-triptych {
  gap:18px;
  margin-bottom:clamp(96px,8vw,132px);
}

.story-rail { gap:18px; }
.story-rail .card-image { aspect-ratio:16/9; }
.story-rail .card-body { padding:22px 22px 24px; }
.story-rail .card h3 {
  display:-webkit-box;
  min-height:2.4em;
  margin:10px 0 12px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.story-rail .card p {
  min-height:3.1em;
  margin-bottom:30px;
  -webkit-line-clamp:2;
}
.story-rail .card-footer {
  margin-top:0;
  padding-top:20px;
}

@media (max-width:980px) {
  .profession-story {
    min-height:0;
    margin-top:72px;
    grid-template-columns:minmax(0,1fr);
  }
  .profession-copy { padding:56px 34px; }
  .profession-image { min-height:500px; }
}

@media (max-width:720px) {
  .profession-story,
  .image-triptych { width:calc(100% - 36px); }
  .profession-story { margin-top:52px; margin-bottom:62px; }
  .profession-copy { padding:42px 24px 46px; }
  .profession-copy h2 { font-size:clamp(42px,12vw,54px); }
  .profession-image { min-height:390px; }
  .image-triptych { margin-bottom:88px; }
  .story-rail { gap:14px; }
  .story-rail .card-body { padding:21px 20px 23px; }
}

/* Full-bleed closing images must not inherit the global img max-width. */
.visual-break { background:var(--ink); }
.visual-break > img {
  width:116%;
  max-width:none;
  height:116%;
}

/* Mobile navigation: warm taupe sheet, visual shortcuts and compact hierarchy. */
@media (max-width:980px) {
  .main-nav,
  .site-header.is-scrolled .main-nav {
    background:rgba(29,29,27,.56);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .mobile-menu-panel,
  .site-header.is-scrolled .mobile-menu-panel {
    height:94svh;
    max-height:94svh;
    padding:0 clamp(18px,5vw,28px) 26px;
    overflow-x:hidden;
    overflow-y:auto;
    border-radius:22px 22px 0 0;
    background:rgba(216,210,200,.97);
    color:var(--ink);
    box-shadow:0 -26px 74px rgba(29,29,27,.24);
    backdrop-filter:blur(24px) saturate(112%);
    -webkit-backdrop-filter:blur(24px) saturate(112%);
  }

  .mobile-menu-head,
  .site-header.is-scrolled .mobile-menu-head {
    height:76px;
    padding-top:8px;
    border-bottom:0;
    background:rgba(216,210,200,.9);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .mobile-menu-logo {
    display:inline-flex;
    width:84px;
    height:52px;
    align-items:center;
    justify-content:flex-start;
  }
  .mobile-menu-logo img {
    width:82px;
    height:50px;
    object-fit:contain;
  }
  .mobile-menu-handle { background:rgba(29,29,27,.22); }
  .mobile-menu-close {
    width:40px;
    height:40px;
    border-color:rgba(29,29,27,.22);
    background:rgba(244,241,232,.28);
    color:var(--ink);
  }

  .mobile-menu-quick {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    width:100%;
    margin:2px 0 16px;
  }
  .mobile-menu-quick a,
  .mobile-menu-quick a:nth-child(n) {
    position:relative;
    display:block;
    width:100%;
    min-width:0;
    height:148px;
    min-height:148px;
    overflow:hidden;
    border:0;
    border-radius:7px;
    background:var(--ink);
    color:var(--paper);
  }
  .mobile-menu-quick a::after {
    content:"";
    position:absolute;
    display:block;
    inset:0;
    background:linear-gradient(0deg,rgba(18,18,16,.76),rgba(18,18,16,.02) 72%);
  }
  .mobile-menu-quick img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .mobile-menu-quick a:first-child img { object-position:center 32%; }
  .mobile-menu-quick a:last-child img { object-position:center 54%; }
  .mobile-menu-quick a > span {
    position:absolute;
    z-index:1;
    right:14px;
    bottom:13px;
    left:14px;
    display:block;
    padding:0;
    color:var(--paper);
    font:500 19px/1.08 var(--serif);
  }
  .mobile-menu-quick small {
    display:block;
    margin-bottom:6px;
    color:#ff9aa1;
    font:600 8px/1 var(--sans);
    letter-spacing:.13em;
    text-transform:uppercase;
  }

  .nav-links { border-top:1px solid rgba(29,29,27,.16); }
  .nav-links > a,
  .nav-links > .nav-group > button {
    min-height:54px;
    padding:0;
    border-bottom:1px solid rgba(29,29,27,.16);
    color:var(--ink);
    font:500 22px/1.08 var(--serif);
    letter-spacing:-.01em;
  }
  .nav-links > .nav-group > button {
    display:grid;
    grid-template-columns:minmax(0,1fr) 24px;
    gap:10px;
  }
  .nav-links > .nav-group > button > i {
    display:block;
    width:auto;
    height:auto;
    border:0;
    border-radius:0;
    color:var(--coral);
    font-size:11px;
    text-align:center;
  }
  .nav-group-title small { display:none; }
  .nav-group.open > button { border-bottom-color:rgba(29,29,27,.16); }

  .nav-panel,
  .mega-menu,
  .nav-panel-compact {
    margin:0;
    padding:3px 0 8px 18px;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .nav-panel::before { content:none; display:none; }
  .mega-links { padding:0; border:0; }
  .mega-links a,
  .nav-panel-compact a {
    min-height:40px;
    padding:0;
    border-bottom:1px solid rgba(29,29,27,.11);
    color:rgba(29,29,27,.78);
    font:500 14px/1.25 var(--sans);
  }
  .mega-links a::after,
  .nav-panel-compact a::after {
    color:var(--coral);
    font-size:13px;
  }
  .mobile-menu-panel .nav-panel a:hover,
  .mobile-menu-panel .nav-panel a:focus-visible {
    padding-left:0;
    color:var(--ink);
  }
  .mobile-menu-panel :focus-visible {
    outline:1px solid rgba(236,95,104,.78);
    outline-offset:2px;
  }
}

@media (max-width:420px) {
  .mobile-menu-panel { padding-right:16px; padding-left:16px; }
  .mobile-menu-quick a,
  .mobile-menu-quick a:nth-child(n) { height:138px; min-height:138px; }
  .mobile-menu-quick a > span { right:12px; bottom:12px; left:12px; font-size:18px; }
  .nav-links > a,
  .nav-links > .nav-group > button { min-height:51px; font-size:21px; }
}

@media (max-width:360px) {
  .mobile-menu-quick a > span {
    right:10px;
    left:10px;
    font-size:16px;
    letter-spacing:-.01em;
  }
}

/* Mobile header follows the reader: away on downward scroll, back immediately upward. */
@media (max-width:980px) {
  :root { --mobile-header-height:88px; }
  .site-header,
  .site-header.is-scrolled {
    position:fixed;
    inset:0 0 auto;
    width:100%;
    transition:
      transform .34s cubic-bezier(.22,.7,.25,1),
      height .38s cubic-bezier(.22,.7,.25,1),
      background-color .3s ease,
      box-shadow .3s ease;
    will-change:transform;
  }
  #main { padding-top:var(--mobile-header-height); }
  .site-header.header-hidden { transform:translate3d(0,calc(-100% - 2px),0); }
  body.menu-open .site-header,
  body.menu-open .site-header.header-hidden,
  body.sheet-open .site-header,
  body.sheet-open .site-header.header-hidden { transform:none; }
}

@media (max-width:720px) {
  :root { --mobile-header-height:82px; }
}

/* Calm section transitions: no standalone divider rules between modules. */
.events-split,
.related-section,
.faq-section,
.source-origin {
  border-top:0 !important;
  border-bottom:0 !important;
}
