/* ============================================================
   Barbers Corner — Layout skeleton + cinematic motion
   (loaded AFTER site.css on every page)
   ============================================================ */

/* ---------- Reveal primitives ---------- */
.reveal { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in-view { opacity: 1; transform: none; }
.reveal.d1 { transition-delay: .08s; }
.reveal.d2 { transition-delay: .16s; }
.reveal.d3 { transition-delay: .24s; }
.reveal.d4 { transition-delay: .32s; }

/* ---------- Film-grain overlay (whole page) ---------- */
.grain {
  position: fixed; inset: 0; z-index: 190; pointer-events: none; opacity: 0.06;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
  animation: grainShift 0.6s steps(2) infinite;
}
@keyframes grainShift { 0%{transform:translate(0,0)} 50%{transform:translate(-4px,3px)} 100%{transform:translate(3px,-2px)} }

/* ============================================================
   HERO — cinematic crossfade + ken burns + grain + letterbox
   ============================================================ */
.hero {
  position: relative; min-height: 100svh; display: flex; align-items: flex-end;
  overflow: hidden; background: var(--c-ink);
}
.hero-bgs { position: absolute; inset: 0; z-index: 0; }
.hero-bgs .slide {
  position: absolute; inset: 0; background-size: cover; background-position: center;
  opacity: 0; animation: heroCycle 21s infinite; will-change: opacity, transform;
}
.hero-bgs .slide:nth-child(1) { animation-delay: 0s; }
.hero-bgs .slide:nth-child(2) { animation-delay: 7s; }
.hero-bgs .slide:nth-child(3) { animation-delay: 14s; }
@keyframes heroCycle {
  0%   { opacity: 0; transform: scale(1.04); }
  4%   { opacity: 1; }
  28%  { opacity: 1; }
  33%  { opacity: 0; transform: scale(1.11); }
  100% { opacity: 0; transform: scale(1.11); }
}
.hero::before { /* warm cinematic tint + vignette */
  content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(120% 90% at 70% 20%, rgba(200,136,31,0.18), transparent 55%),
    linear-gradient(180deg, rgba(16,13,10,0.55) 0%, rgba(16,13,10,0.30) 40%, rgba(16,13,10,0.92) 100%),
    radial-gradient(150% 120% at 50% 100%, rgba(0,0,0,0.55), transparent 60%);
}
.hero .letterbox { position: absolute; left: 0; right: 0; height: 7vh; max-height: 64px; background: var(--c-ink); z-index: 3; }
.hero .letterbox.top { top: 0; } .hero .letterbox.bot { bottom: 0; }
.hero .dust { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.hero .dust span { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: var(--c-amber-br); opacity: 0.2; animation: dustFloat linear infinite; }
@keyframes dustFloat { 0%{transform:translateY(0);opacity:0} 15%{opacity:.7} 85%{opacity:.5} 100%{transform:translateY(-150px);opacity:0} }

.hero-inner { position: relative; z-index: 4; padding-bottom: clamp(3.4rem, 8vw, 6rem); padding-top: 18vh; width: 100%; }
.hero .eyebrow { margin-bottom: 1.4rem; }
.hero-title {
  font-family: var(--f-head); font-weight: 400; color: var(--c-cream);
  font-size: var(--size-h1); line-height: 0.98; letter-spacing: 0.01em;
  text-transform: uppercase; text-shadow: 0 4px 40px rgba(0,0,0,0.5);
  max-width: 16ch;
}
.hero-title .accent { color: var(--c-amber); }
.hero-sub { color: var(--c-cream-mute); font-size: clamp(1rem, 1.5vw, 1.18rem); margin-top: 1.5rem; max-width: 50ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 2.2rem; }
.hero-scroll { position: absolute; bottom: 1.4rem; left: 50%; transform: translateX(-50%); z-index: 4; color: var(--c-cream-mute); font-family: var(--f-display); font-size: 0.66rem; letter-spacing: 0.3em; text-transform: uppercase; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.hero-scroll::after { content:""; width: 1px; height: 34px; background: linear-gradient(var(--c-amber), transparent); animation: scrollPulse 2s var(--ease) infinite; }
@keyframes scrollPulse { 0%,100%{opacity:.3; transform:scaleY(.6)} 50%{opacity:1; transform:scaleY(1)} }

/* char split reveal */
.hero-title .word { display: inline-block; white-space: nowrap; }
.hero-title .char { display: inline-block; opacity: 0; transform: translateY(40px) rotateX(-40deg); filter: blur(8px); transition: opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease); }
.hero.in-view .hero-title .char { opacity: 1; transform: none; filter: none; }

/* ---------- Trust bar under hero ---------- */
.trust-bar { background: var(--c-ink-2); border-bottom: 1px solid var(--c-line); }
.trust-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 2.6rem; padding: 1.3rem 0; }
.trust-item { display: flex; align-items: center; gap: 0.6rem; font-family: var(--f-display); font-size: 0.84rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-cream-mute); }
.trust-item b { color: var(--c-amber); font-weight: 600; }
.trust-item .star { color: var(--c-amber-br); }
.trust-sep { width: 1px; height: 22px; background: var(--c-line); }
@media(max-width:860px){ .trust-sep{display:none} }

/* ---------- Section headers ---------- */
.sec-head { max-width: 720px; }
.sec-head.center { margin: 0 auto; text-align: center; }
.sec-head h2 { font-size: var(--size-h2); color: var(--c-cream); text-transform: uppercase; margin-top: 0.4rem; }
.sec-head p { color: var(--c-on-dark-mute); margin-top: 1rem; }
.sec-head.center p { margin-left: auto; margin-right: auto; }

/* ---------- Intro split ---------- */
.intro-split { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(1.8rem,4vw,4rem); align-items: center; }
.intro-text h2 { font-size: var(--size-h2); color: var(--c-cream); text-transform: uppercase; }
.intro-text p { color: var(--c-on-dark-mute); margin-top: 1.2rem; }
.intro-text .lead { color: var(--c-cream); font-size: 1.18rem; font-weight: 500; }
.intro-photo { position: relative; }
.intro-photo .frame { position: relative; overflow: hidden; border-radius: var(--radius); border: 1px solid var(--c-line); aspect-ratio: 3/4; }
.intro-photo .frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.intro-photo:hover .frame img { transform: scale(1.05); }
.intro-photo .badge { position: absolute; bottom: -22px; left: -22px; background: var(--c-amber); color: #1a1308; padding: 1.1rem 1.4rem; border-radius: var(--radius); }
.intro-photo .badge b { font-family: var(--f-head); font-size: 2.1rem; line-height: 1; display: block; }
.intro-photo .badge span { font-family: var(--f-display); font-size: 0.66rem; letter-spacing: 0.18em; text-transform: uppercase; }
@media(max-width:860px){ .intro-split{grid-template-columns:1fr} .intro-photo .badge{left:auto; right:0} }

/* ============================================================
   BENTO services grid
   ============================================================ */
.bento { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.tile {
  position: relative; overflow: hidden; border-radius: var(--radius);
  min-height: 240px; display: flex; align-items: flex-end; border: 1px solid var(--c-line);
}
.tile.feat { grid-column: span 2; grid-row: span 2; min-height: 494px; }
.tile.span2 { grid-column: span 2; }
.tile .t-bg { position: absolute; inset: 0; background-size: cover; background-position: center; filter: grayscale(0.35) brightness(0.62) saturate(1.05); transition: transform 1s var(--ease), filter 1s var(--ease); z-index:0; }
.tile:hover .t-bg { transform: scale(1.06); filter: grayscale(0) brightness(0.7) saturate(1.1); }
.tile::after { content:""; position:absolute; inset:0; z-index:1; background: linear-gradient(180deg, transparent 35%, rgba(16,13,10,0.92) 100%); }
.tile .t-content { position: relative; z-index: 2; padding: 1.5rem; width: 100%; }
.tile .t-name { font-family: var(--f-head); font-size: 1.45rem; text-transform: uppercase; color: var(--c-cream); letter-spacing: 0.02em; }
.tile.feat .t-name { font-size: 2.2rem; }
.tile .t-sub { color: var(--c-cream-mute); font-size: 0.9rem; margin-top: 0.3rem; }
.tile .t-meta { display: flex; align-items: baseline; gap: 0.9rem; margin-top: 0.9rem; }
.tile .t-price { font-family: var(--f-head); color: var(--c-amber); font-size: 1.5rem; }
.tile .t-dur { font-family: var(--f-display); font-size: 0.74rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-on-dark-mute); }
.tile .t-tag { position: absolute; top: 1rem; left: 1rem; z-index: 2; background: var(--c-amber); color: #1a1308; font-family: var(--f-display); font-size: 0.62rem; letter-spacing: 0.16em; text-transform: uppercase; padding: 0.3rem 0.65rem; border-radius: 999px; }
@media(max-width:860px){ .bento{grid-template-columns:1fr 1fr} .tile.feat{grid-column:span 2; grid-row:auto; min-height:300px} .tile.span2{grid-column:span 2} }
@media(max-width:520px){ .bento{grid-template-columns:1fr} .tile.feat,.tile.span2{grid-column:auto} }

/* ============================================================
   Price list (leistungen)
   ============================================================ */
.price-list { display: grid; gap: 1px; background: var(--c-line); border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; }
.price-row { display: grid; grid-template-columns: auto 1fr auto auto; gap: 1.2rem; align-items: center; background: var(--c-ink-2); padding: 1.5rem clamp(1.2rem,3vw,2rem); transition: background .3s var(--ease); }
.price-row:hover { background: var(--c-ink-3); }
.price-row .pr-icon { width: 44px; height: 44px; display:flex; align-items:center; justify-content:center; border: 1px solid var(--c-amber); border-radius: 50%; color: var(--c-amber); }
.price-row .pr-icon svg { width: 22px; height: 22px; }
.price-row .pr-name { font-family: var(--f-display); font-weight: 600; font-size: 1.25rem; color: var(--c-cream); text-transform: uppercase; letter-spacing: 0.02em; }
.price-row .pr-sub { color: var(--c-on-dark-mute); font-size: 0.92rem; margin-top: 2px; }
.price-row .pr-dur { font-family: var(--f-display); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-on-dark-faint); white-space: nowrap; }
.price-row .pr-price { font-family: var(--f-head); font-size: 1.7rem; color: var(--c-amber); white-space: nowrap; }
.price-foot { color: var(--c-on-dark-faint); font-size: 0.86rem; margin-top: 1.1rem; }
@media(max-width:680px){ .price-row{grid-template-columns:auto 1fr; row-gap:0.4rem} .price-row .pr-dur{grid-column:2} .price-row .pr-price{grid-column:1/3; justify-self:start; margin-top:0.3rem} }

/* ============================================================
   Bleed strip
   ============================================================ */
.bleed-strip { position: relative; min-height: 58vh; display: flex; align-items: center; overflow: hidden; }
.bleed-strip > .bg { position: absolute; inset: 0; background-size: cover; background-position: center; will-change: transform; z-index: 0; filter: grayscale(0.4) brightness(0.5); }
.bleed-strip::after { content:""; position:absolute; inset:0; z-index:1; background: linear-gradient(100deg, rgba(16,13,10,0.9), rgba(16,13,10,0.4)); }
.bleed-inner { position: relative; z-index: 2; }
.bleed-inner h2 { font-family: var(--f-head); font-size: clamp(2.2rem,6vw,4.4rem); text-transform: uppercase; color: var(--c-cream); line-height: 1; max-width: 18ch; }
.bleed-inner h2 .accent { color: var(--c-amber); }
.bleed-inner p { color: var(--c-cream-mute); margin-top: 1rem; }
.bleed-inner .btn { margin-top: 1.8rem; }

/* ============================================================
   Elithair callout
   ============================================================ */
.elithair { background: var(--c-ink-2); border: 1px solid var(--c-amber); border-radius: var(--radius); padding: clamp(2rem,5vw,3.4rem); display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; position: relative; overflow: hidden; }
.elithair::before { content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background: radial-gradient(circle, rgba(200,136,31,0.22), transparent 70%); }
.elithair h3 { font-family: var(--f-display); font-size: clamp(1.5rem,3vw,2.2rem); color: var(--c-cream); text-transform: uppercase; position: relative; }
.elithair p { color: var(--c-on-dark-mute); margin-top: 0.8rem; position: relative; }
.elithair .eli-cta { position: relative; }
@media(max-width:760px){ .elithair{grid-template-columns:1fr} }

/* ============================================================
   Team
   ============================================================ */
.team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.6rem; }
.member { background: var(--c-ink-2); border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; }
.member .m-photo { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--c-ink-3); }
.member .m-photo .ph { position:absolute; inset:0; background-size:cover; background-position:center 30%; filter: grayscale(0.5) brightness(0.8); transition: transform 1s var(--ease), filter 1s var(--ease); }
.member:hover .m-photo .ph { transform: scale(1.05); filter: grayscale(0); }
.member .m-photo .m-initial { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--f-head); font-size:5rem; color:var(--c-amber); opacity:0.4; }
.member .m-body { padding: 1.6rem; }
.member .m-name { font-family: var(--f-head); font-size: 1.6rem; text-transform: uppercase; color: var(--c-cream); }
.member .m-role { font-family: var(--f-display); font-size: 0.74rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-amber); margin-top: 4px; }
.member .m-bio { color: var(--c-on-dark-mute); font-size: 0.96rem; margin-top: 1rem; }
@media(max-width:680px){ .team-grid{grid-template-columns:1fr} }

/* ---------- Team teaser strip (index) ---------- */
.teaser-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.4rem; }
.teaser-card { background: var(--c-ink-2); border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.6rem; display: flex; gap: 1.2rem; align-items: center; transition: border-color .3s var(--ease), transform .3s var(--ease); }
.teaser-card:hover { border-color: var(--c-amber); transform: translateY(-3px); }
.teaser-card .tc-badge { width: 64px; height: 64px; flex-shrink:0; border-radius: 50%; border: 1.5px solid var(--c-amber); display:flex; align-items:center; justify-content:center; font-family: var(--f-head); font-size: 1.8rem; color: var(--c-amber); }
.teaser-card .tc-name { font-family: var(--f-head); font-size: 1.3rem; text-transform: uppercase; color: var(--c-cream); }
.teaser-card .tc-role { font-family: var(--f-display); font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-amber); margin-top:2px; }
@media(max-width:680px){ .teaser-grid{grid-template-columns:1fr} }

/* ============================================================
   Reviews
   ============================================================ */
.reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.4rem; }
.review { background: var(--c-ink-2); border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.7rem; transition: border-color .3s var(--ease); }
.review:hover { border-color: var(--c-amber); }
.review .r-stars { color: var(--c-amber-br); letter-spacing: 2px; font-size: 0.95rem; }
.review .r-text { color: var(--c-cream-mute); margin-top: 0.9rem; font-size: 0.98rem; }
.review .r-meta { display: flex; align-items: center; gap: 0.6rem; margin-top: 1.2rem; }
.review .r-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--c-amber); color:#1a1308; display:flex; align-items:center; justify-content:center; font-family: var(--f-head); font-size: 1.05rem; }
.review .r-name { font-family: var(--f-display); font-weight: 600; color: var(--c-cream); font-size: 0.92rem; }
.review .r-date { font-size: 0.78rem; color: var(--c-on-dark-faint); }
@media(max-width:900px){ .reviews-grid{grid-template-columns:1fr 1fr} }
@media(max-width:600px){ .reviews-grid{grid-template-columns:1fr} }

/* ============================================================
   Products grid
   ============================================================ */
.prod-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; }
.prod-card { background: var(--c-ink-2); border: 1px solid var(--c-line); border-radius: var(--radius); padding: 1.4rem 1.5rem; position: relative; transition: border-color .3s var(--ease), transform .3s var(--ease); }
.prod-card:hover { border-color: var(--c-amber); transform: translateY(-3px); }
.prod-card .p-name { font-family: var(--f-display); font-weight: 600; font-size: 1.1rem; color: var(--c-cream); text-transform: uppercase; letter-spacing: 0.02em; }
.prod-card .p-size { color: var(--c-on-dark-faint); font-size: 0.84rem; margin-top: 3px; }
.prod-card .p-price { font-family: var(--f-head); color: var(--c-amber); font-size: 1.35rem; margin-top: 0.8rem; }
.prod-card .p-tag { position:absolute; top:1rem; right:1rem; background:var(--c-amber); color:#1a1308; font-family:var(--f-display); font-size:0.58rem; letter-spacing:0.14em; text-transform:uppercase; padding:0.25rem 0.55rem; border-radius:999px; }
@media(max-width:760px){ .prod-grid{grid-template-columns:1fr 1fr} }
@media(max-width:460px){ .prod-grid{grid-template-columns:1fr} }
.prod-feature { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(1.5rem,4vw,3rem); align-items: center; background: var(--c-ink-2); border:1px solid var(--c-line); border-radius: var(--radius); padding: clamp(1.5rem,4vw,2.6rem); margin-bottom: 2.4rem; }
.prod-feature .pf-img { display:flex; justify-content:center; }
.prod-feature .pf-img img { max-height: 360px; width: auto; }
.prod-feature h3 { font-family: var(--f-display); font-size: clamp(1.6rem,3vw,2.4rem); color: var(--c-cream); text-transform: uppercase; }
.prod-feature p { color: var(--c-on-dark-mute); margin-top: 1rem; }
@media(max-width:680px){ .prod-feature{grid-template-columns:1fr} }

/* ============================================================
   Page hero (sub-pages)
   ============================================================ */
.page-hero { position: relative; min-height: 56vh; display: flex; align-items: flex-end; overflow: hidden; background: var(--c-ink); }
.page-hero .ph-bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; filter: grayscale(0.4) brightness(0.45); will-change: transform; }
.page-hero::before { content:""; position:absolute; inset:0; z-index:1; background: linear-gradient(180deg, rgba(16,13,10,0.5), rgba(16,13,10,0.95)); }
.page-hero .ph-inner { position: relative; z-index: 2; padding: 22vh 0 clamp(2.6rem,6vw,4.4rem); width: 100%; }
.page-hero h1 { font-family: var(--f-head); font-weight: 400; font-size: clamp(2.6rem,7vw,5.4rem); color: var(--c-cream); text-transform: uppercase; line-height: 0.98; }
.page-hero h1 .accent { color: var(--c-amber); }
.page-hero .ph-sub { color: var(--c-cream-mute); margin-top: 1rem; max-width: 54ch; }

/* ---------- Contact / hours / map ---------- */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.6rem,4vw,3rem); }
.info-card { background: var(--c-ink-2); border:1px solid var(--c-line); border-radius: var(--radius); padding: clamp(1.6rem,4vw,2.4rem); }
.info-card h3 { font-family: var(--f-display); font-size: 1.3rem; color: var(--c-cream); text-transform: uppercase; letter-spacing: 0.04em; }
.info-row { display: flex; gap: 0.9rem; align-items: flex-start; padding: 0.9rem 0; border-bottom: 1px solid var(--c-line); }
.info-row:last-child { border-bottom: 0; }
.info-row .ir-ic { color: var(--c-amber); flex-shrink: 0; margin-top: 2px; }
.info-row .ir-ic svg { width: 20px; height: 20px; }
.info-row a:hover { color: var(--c-amber); }
.info-row .ir-label { font-family: var(--f-display); font-size: 0.68rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-on-dark-faint); }
.info-row .ir-val { color: var(--c-cream); }
.hours-table { width: 100%; }
.hours-table .hr { display: flex; justify-content: space-between; padding: 0.7rem 0; border-bottom: 1px solid var(--c-line); }
.hours-table .hr:last-child { border-bottom: 0; }
.hours-table .hr.closed { color: var(--c-on-dark-faint); }
.hours-table .hr .d { font-family: var(--f-display); letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.9rem; }
.hours-table .hr .h { color: var(--c-cream); }
.hours-table .hr.closed .h { color: var(--c-on-dark-faint); }
.map-link { display:flex; align-items:center; gap:0.8rem; margin-top: 1.4rem; padding: 1rem 1.2rem; background: var(--c-ink-3); border:1px solid var(--c-line); border-radius: var(--radius); transition: border-color .3s var(--ease); }
.map-link:hover { border-color: var(--c-amber); }
.anfahrt-list { list-style: none; }
.anfahrt-list li { padding: 0.6rem 0 0.6rem 1.6rem; position: relative; color: var(--c-cream-mute); border-bottom: 1px dashed var(--c-line); }
.anfahrt-list li::before { content:""; position:absolute; left:0; top:1.05rem; width:8px; height:8px; border-radius:50%; background:var(--c-amber); }
@media(max-width:760px){ .contact-grid{grid-template-columns:1fr} }

/* ---------- Atmosphere gallery (ueber-uns) ---------- */
.atmo-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.atmo-grid .atmo { position: relative; overflow: hidden; border-radius: var(--radius); aspect-ratio: 3/4; border:1px solid var(--c-line); }
.atmo-grid .atmo.wide { grid-column: span 2; aspect-ratio: 16/10; }
.atmo-grid .atmo .ag { position:absolute; inset:0; background-size:cover; background-position:center; filter: grayscale(0.4) brightness(0.72); transition: transform 1s var(--ease), filter 1s var(--ease); }
.atmo-grid .atmo:hover .ag { transform: scale(1.06); filter: grayscale(0) brightness(0.82); }
@media(max-width:760px){ .atmo-grid{grid-template-columns:1fr 1fr} .atmo-grid .atmo.wide{grid-column:span 2; aspect-ratio:16/9} }

/* ---------- Legal prose ---------- */
.legal { max-width: 820px; }
.legal h2 { font-family: var(--f-display); font-size: 1.5rem; color: var(--c-cream); text-transform: uppercase; margin: 2.2rem 0 0.8rem; }
.legal h2:first-child { margin-top: 0; }
.legal p, .legal li { color: var(--c-on-dark-mute); margin-bottom: 0.8rem; }
.legal ul { padding-left: 1.4rem; }
.legal a { color: var(--c-amber); }
.legal a:hover { text-decoration: underline; }
.legal .lead { color: var(--c-cream); font-size: 1.1rem; }

/* ---------- CTA strip ---------- */
.cta-final { text-align: center; }
.cta-final h2 { font-family: var(--f-head); font-size: clamp(2.4rem,7vw,5rem); text-transform: uppercase; color: var(--c-cream); }
.cta-final h2 .accent { color: var(--c-amber); }
.cta-final p { color: var(--c-on-dark-mute); margin: 1rem auto 2rem; max-width: 44ch; }
.cta-final .btn-row { display:flex; gap:0.9rem; justify-content:center; flex-wrap:wrap; }

/* ---------- spacing helpers ---------- */
.pad-top-nav { padding-top: 0; }
.dark-2 { background: var(--c-ink-2); }
.mt-sec { margin-top: clamp(2.4rem,6vw,4.5rem); }
