/* Shared inner-page compositions */
.inner-page { background:var(--ink); }
.inner-page main { overflow:hidden; }
.subhero {
  position:relative;
  min-height:82svh;
  display:flex;
  align-items:flex-end;
  padding:148px 0 72px;
  isolation:isolate;
  overflow:hidden;
}
.subhero-media { position:absolute; inset:0; z-index:-4; }
.subhero-media img { width:100%; height:100%; object-fit:cover; object-position:center 44%; filter:saturate(.46) contrast(1.18); }
.subhero-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,5,6,.98) 0%,rgba(5,5,6,.82) 42%,rgba(5,5,6,.26) 76%,rgba(5,5,6,.7) 100%),linear-gradient(0deg,#050506 0%,transparent 35%,rgba(0,0,0,.2) 100%);
}
.subhero-reflection { position:absolute; inset:0; z-index:-2; pointer-events:none; overflow:hidden; }
.subhero-reflection::before,
.subhero-reflection::after { content:""; position:absolute; left:-8%; right:-8%; height:2px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),var(--pink),transparent); box-shadow:0 0 24px rgba(255,10,97,.35); transform:rotate(-7deg); }
.subhero-reflection::before { top:32%; }
.subhero-reflection::after { top:55%; opacity:.4; }
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:9px; color:#a9a9b0; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.breadcrumbs a:hover { color:white; }
.breadcrumbs span[aria-hidden="true"] { color:var(--pink); }
.subhero-copy { max-width:840px; }
.subhero h1 { margin:22px 0 0; max-width:840px; font:900 clamp(60px,7.8vw,112px)/1.03 "Barlow Condensed",sans-serif; letter-spacing:-.012em; text-transform:uppercase; }
.subhero h1 em { color:var(--pink); font-style:italic; }
.subhero .lead { max-width:720px; }
.subhero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.subhero-note { margin-top:24px; color:#aaaab2; font-size:11px; letter-spacing:.05em; }

.chapter-nav { border-block:1px solid var(--line); background:rgba(255,255,255,.018); }
.chapter-nav-inner { display:flex; gap:8px; overflow:auto; padding-block:12px; scrollbar-width:none; }
.chapter-nav-inner::-webkit-scrollbar { display:none; }
.chapter-nav a { flex:0 0 auto; min-height:44px; display:flex; align-items:center; padding:0 14px; border:1px solid rgba(255,255,255,.1); border-radius:999px; color:#c2c2c9; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.chapter-nav a:hover { border-color:var(--pink); color:white; }

.service-chapters { position:relative; }
.service-chapter { position:relative; padding:112px 0; border-bottom:1px solid rgba(255,255,255,.09); scroll-margin-top:86px; }
.service-chapter::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at var(--glow-x,80%) 40%,rgba(255,10,97,.09),transparent 29rem); }
.service-chapter:nth-child(even) { --glow-x:20%; }
.chapter-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr); gap:clamp(46px,6vw,84px); align-items:center; }
.service-chapter:nth-child(even) .chapter-copy { order:2; }
.service-chapter:nth-child(even) .chapter-media { order:1; }
.chapter-label { color:var(--pink-2); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.chapter-copy h2 { margin:18px 0 0; font:900 clamp(48px,5.4vw,78px)/1.04 "Barlow Condensed",sans-serif; letter-spacing:-.012em; text-transform:uppercase; }
.chapter-copy > p { margin:22px 0 0; color:#bdbdc5; font-size:15px; line-height:1.72; }
.chapter-facts { margin:34px 0 0; border-top:1px solid rgba(255,255,255,.14); }
.chapter-facts div { display:grid; grid-template-columns:145px 1fr; gap:20px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.chapter-facts dt { color:#8f8f98; font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.chapter-facts dd { margin:0; color:#d6d6db; font-size:13px; line-height:1.6; }
.chapter-copy .btn { margin-top:30px; }
.chapter-links { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:20px; color:#a9a9b1; font-size:11px; }
.chapter-links a { text-decoration:underline; text-decoration-color:rgba(255,10,97,.55); text-underline-offset:4px; }
.chapter-media { position:relative; min-height:580px; }
.chapter-media-frame { position:absolute; inset:0; overflow:hidden; border-radius:42px; border:1px solid rgba(255,255,255,.14); background:#101014; box-shadow:var(--shadow); clip-path:polygon(0 0,100% 5%,94% 100%,7% 96%); }
.service-chapter:nth-child(even) .chapter-media-frame { clip-path:polygon(5% 5%,96% 0,100% 94%,0 100%); }
.chapter-media img,
.chapter-media video { width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.12); }
.chapter-media video { position:absolute; inset:0; }
.chapter-media--polish video { object-position:center 54%; }
.chapter-media-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,5,6,.82),transparent 44%),linear-gradient(120deg,rgba(255,255,255,.12),transparent 28%); pointer-events:none; }
.chapter-media-caption { position:absolute; left:34px; right:34px; bottom:30px; z-index:2; display:flex; justify-content:space-between; gap:24px; align-items:flex-end; }
.chapter-media-caption strong { max-width:390px; font:800 25px/1.02 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.chapter-media-caption span { max-width:230px; color:#c0c0c6; font-size:10px; line-height:1.55; text-align:right; }
.chapter-scan { position:absolute; z-index:3; top:8%; bottom:8%; left:28%; width:2px; background:linear-gradient(transparent,var(--pink),white,var(--pink),transparent); box-shadow:0 0 25px rgba(255,10,97,.7); transform:translateX(calc(var(--chapter-progress,0) * 180px)); }

.feasibility { padding:116px 0; background:linear-gradient(180deg,rgba(255,255,255,.02),transparent); }
.feasibility-grid { display:grid; grid-template-columns:minmax(330px,.74fr) minmax(0,1.26fr); gap:clamp(46px,6vw,82px); align-items:start; }
.feasibility-visual { position:sticky; top:120px; min-height:540px; border-radius:34px; border:1px solid rgba(255,255,255,.13); overflow:hidden; background:#111217; box-shadow:var(--shadow); }
.feasibility-media { position:absolute; inset:0; opacity:0; transform:scale(1.035); transition:opacity .65s ease,transform 1.1s var(--ease); }
.feasibility-media.active { opacity:1; transform:scale(1); }
.feasibility-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.54) contrast(1.16); }
.feasibility-visual::after { content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(0deg,rgba(5,5,6,.82),transparent 52%),linear-gradient(135deg,rgba(255,255,255,.1),transparent 28%); pointer-events:none; }
.feasibility-lines { position:absolute; inset:-5%; background:repeating-linear-gradient(to bottom,#fff 0 12px,#111217 12px 25px); opacity:.58; mix-blend-mode:screen; transform:rotate(-7deg); }
.feasibility-dent { position:absolute; left:55%; top:43%; width:44%; aspect-ratio:1; border-radius:50%; transform:translate(-50%,-50%) scale(calc(.7 + var(--feasibility-progress,0) * .28)); box-shadow:inset 30px 24px 45px rgba(255,255,255,.25),inset -42px -34px 64px rgba(0,0,0,.7); opacity:calc(1 - var(--feasibility-progress,0) * .7); }
.feasibility-beam { position:absolute; inset:0 auto 0 14%; width:2px; background:linear-gradient(transparent,var(--pink),#fff,var(--pink),transparent); box-shadow:0 0 28px var(--pink); transform:translateX(calc(var(--feasibility-progress,0) * 280px)); }
.feasibility-hud { position:absolute; inset:24px; z-index:4; display:flex; justify-content:space-between; align-items:flex-start; }
.feasibility-hud span { padding:8px 10px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(5,5,6,.5); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.feasibility-copy h2 { margin:18px 0 0; font:900 clamp(48px,5.5vw,78px)/1.04 "Barlow Condensed",sans-serif; letter-spacing:-.012em; text-transform:uppercase; }
.feasibility-copy > p { color:#b6b6be; line-height:1.75; }
.factor-list { margin-top:34px; border-top:1px solid rgba(255,255,255,.15); }
.factor { display:grid; grid-template-columns:48px 1fr; gap:16px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.12); transition:padding .35s var(--ease),background .35s ease; }
.factor.is-active { padding-left:16px; background:linear-gradient(90deg,rgba(255,10,97,.09),transparent); }
.factor-mark { width:42px; height:42px; display:grid; place-items:center; color:var(--pink); border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.025); }
.factor-mark svg { width:22px; height:22px; }
.factor h3 { margin:0; font:800 clamp(25px,2.5vw,32px)/1.08 "Barlow Condensed",sans-serif; text-transform:uppercase; padding-top:.035em; }
.factor p { margin:9px 0 0; color:#a7a7af; font-size:13px; line-height:1.65; }

.references { padding:112px 0; }
.references-head { display:grid; grid-template-columns:1fr .68fr; gap:54px; align-items:end; }
.references-head .lead { margin-left:auto; }
.filter-bar { display:flex; gap:8px; overflow:auto; margin-top:36px; padding-bottom:10px; scrollbar-width:none; }
.filter-bar::-webkit-scrollbar { display:none; }
.filter-button { flex:0 0 auto; min-height:46px; padding:0 17px; border-radius:999px; border:1px solid rgba(255,255,255,.14); background:transparent; color:#bdbdc4; cursor:pointer; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.filter-button:hover,
.filter-button[aria-pressed="true"] { border-color:var(--pink); background:rgba(255,10,97,.12); color:white; }
.reference-stage { min-height:820px; margin-top:26px; display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:150px; gap:16px; }
.reference-item { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:30px; background:#101014; grid-column:span 4; grid-row:span 2; }
.reference-item.reference-feature { grid-column:span 8; grid-row:span 3; }
.reference-item.reference-tall { grid-row:span 3; }
.reference-item[hidden] { display:none; }
.reference-item img { width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.12); transition:transform .7s var(--ease),filter .5s ease; }
.reference-item:hover img { transform:scale(1.025); filter:saturate(.9) contrast(1.08); }
.reference-meta { position:absolute; z-index:2; left:20px; right:20px; bottom:18px; display:flex; justify-content:space-between; gap:16px; align-items:flex-end; }
.reference-meta::before { content:""; position:absolute; z-index:-1; left:-20px; right:-20px; bottom:-18px; height:150px; background:linear-gradient(0deg,rgba(0,0,0,.9),transparent); }
.reference-meta strong { font:800 25px/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.reference-meta span { color:#d0d0d5; font-size:9px; letter-spacing:.11em; text-transform:uppercase; text-align:right; }
.reference-open { position:absolute; inset:0; z-index:3; width:100%; border:0; background:transparent; cursor:pointer; color:white; }
.reference-play { position:absolute; top:22px; right:22px; z-index:2; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:var(--pink); box-shadow:0 14px 36px rgba(255,10,97,.35); }
.reference-play svg { width:22px; }
.reference-empty { grid-column:1/-1; min-height:230px; display:grid; place-items:center; border-block:1px solid rgba(255,255,255,.13); color:#a9a9b1; text-align:center; }
.reference-empty[hidden] { display:none; }
.reference-note { margin-top:22px; color:#8f8f98; font-size:11px; line-height:1.65; }

.before-after-feature { padding:18px 0 112px; }
.before-after-shell { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr); gap:28px; align-items:stretch; }
.before-after-shell .compare-card { min-height:620px; }
.before-after-copy { padding:40px; border:1px solid rgba(255,255,255,.12); border-radius:32px; background:linear-gradient(150deg,rgba(255,10,97,.16),rgba(255,255,255,.025)); display:flex; flex-direction:column; justify-content:center; }
.before-after-copy h2 { margin:18px 0 0; font:900 clamp(44px,5vw,64px)/1.04 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.before-after-copy p { color:#b2b2ba; line-height:1.75; }
.before-after-copy .micro { margin-top:20px; }

.conversion-band { padding:108px 0; border-top:1px solid rgba(255,255,255,.09); }
.conversion-shell { display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:44px; background:linear-gradient(135deg,rgba(255,10,97,.22),rgba(255,255,255,.035) 38%,#09090c); box-shadow:var(--shadow); }
.conversion-copy { padding:52px; }
.conversion-copy h2 { margin:18px 0 0; font:900 clamp(50px,5.6vw,78px)/1.04 "Barlow Condensed",sans-serif; letter-spacing:-.012em; text-transform:uppercase; }
.conversion-copy h2 em { color:var(--pink); font-style:italic; }
.conversion-copy p { color:#c1c1c7; line-height:1.75; }
.conversion-direct { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.conversion-form { margin:16px; padding:36px; border:1px solid rgba(255,255,255,.11); border-radius:30px; background:rgba(5,5,6,.82); }
.conversion-form h3 { margin:0; font:900 36px/1.05 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.media-dialog [data-gallery-image] { width:100%; max-height:86vh; object-fit:contain; border-radius:26px; background:#000; }

/* FAQ and contact destination pages */
.info-hero { min-height:68svh; }
.info-hero .subhero-copy { max-width:860px; }
.faq-page-grid { display:grid; grid-template-columns:minmax(260px,.54fr) minmax(0,1.46fr); gap:clamp(44px,8vw,110px); align-items:start; }
.faq-page-aside { position:sticky; top:120px; }
.faq-page-title { max-width:100%; font-size:clamp(40px,3.6vw,60px); overflow-wrap:normal; }
.faq-page-title > span { display:block; }
.faq-page-title > span + span { margin-top:.1em; }
.faq-page-aside-media { position:relative; margin-top:26px; min-height:340px; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:28px; }
.faq-page-aside-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.55) contrast(1.14); }
.faq-page-aside-media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,5,6,.74),transparent 58%); }
.faq-group + .faq-group { margin-top:54px; }
.faq-group-label { margin:0 0 18px; color:var(--pink); font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.faq-page .faq-q span { font-size:clamp(22px,2.3vw,31px); }
.contact-page-main { padding-top:96px; }
.contact-page-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); gap:clamp(30px,4vw,56px); align-items:start; padding:72px 0 112px; }
.contact-page-layout > *, .faq-page-grid > *, .chapter-grid > *, .before-after-shell > * { min-width:0; }
.contact-page-copy { position:sticky; top:130px; }
.contact-page-copy h1 { max-width:100%; margin:20px 0 0; font:900 clamp(52px,4.2vw,80px)/1.04 "Barlow Condensed",sans-serif; letter-spacing:-.012em; text-transform:uppercase; }
.contact-page-copy h1 em { display:block; color:var(--pink); font-style:italic; line-height:1.09; padding-top:.04em; }
.contact-page-copy > p { max-width:620px; color:#bdbdc5; font-size:15px; line-height:1.72; }
.contact-proof { position:relative; min-height:290px; margin-top:28px; overflow:hidden; border-radius:28px; border:1px solid rgba(255,255,255,.13); }
.contact-proof img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%; filter:saturate(.56) contrast(1.13); }
.contact-proof::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,5,6,.84),transparent 64%); }
.contact-proof figcaption { position:absolute; z-index:2; left:22px; right:22px; bottom:20px; color:#d5d5da; font-size:11px; line-height:1.55; }
.contact-page-form { margin:0; padding:clamp(24px,3.3vw,40px); border-radius:32px; background:linear-gradient(155deg,rgba(255,10,97,.13),rgba(255,255,255,.028) 28%,#09090c 70%); box-shadow:var(--shadow); }
.contact-page-form h2 { margin:0; font:900 clamp(36px,4vw,50px)/1.05 "Barlow Condensed",sans-serif; text-transform:uppercase; padding-top:.04em; }
.contact-page-form > p { color:#a9a9b1; line-height:1.65; font-size:12px; }
.photo-guide { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:24px 0 4px; }
.photo-guide span { min-height:64px; display:flex; align-items:flex-end; padding:12px; border:1px solid rgba(255,255,255,.12); border-radius:15px; color:#c6c6cc; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,10,97,.06)); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.contact-alternatives { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:26px; }
.contact-alternative { padding:15px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(255,255,255,.025); }
.contact-alternative span { display:block; color:#85858e; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.contact-alternative strong { display:block; margin-top:6px; font-size:12px; overflow-wrap:anywhere; }
.contact-faq { padding-top:100px; border-top:1px solid rgba(255,255,255,.1); background:linear-gradient(180deg,rgba(255,10,97,.035),transparent 34%); }
.contact-faq .faq-page-aside-media { min-height:400px; }

/* Quiet legal pages */
.legal-page { background:linear-gradient(180deg,#08080a,#050506 52%); }
.legal-main { padding:150px 0 90px; }
.legal-hero { max-width:1040px; padding:0 0 62px; border-bottom:1px solid rgba(255,255,255,.14); position:relative; }
.legal-hero::after { content:"VERBINDLICH · TRANSPARENT · AKTUELL"; position:absolute; right:0; bottom:18px; color:#5f5f69; font-size:9px; font-weight:800; letter-spacing:.18em; }
.legal-hero h1 { margin:20px 0 0; font:900 clamp(52px,7vw,84px)/1.04 "Barlow Condensed",sans-serif; letter-spacing:-.012em; text-transform:uppercase; }
.legal-hero p { max-width:680px; color:#aaaab2; line-height:1.7; }
.legal-content { max-width:1100px; padding-top:28px; }
.legal-content section { display:grid; grid-template-columns:minmax(220px,.43fr) minmax(0,1fr); column-gap:clamp(30px,6vw,84px); padding:34px 0; border-top:1px solid rgba(255,255,255,.09); }
.legal-content section:first-child { border-top:0; }
.legal-content section > h2 { grid-column:1; grid-row:1; align-self:start; }
.legal-content section > :not(h2) { grid-column:2; }
.legal-content h2 { margin:0 0 14px; font:800 clamp(28px,3.2vw,36px)/1.08 "Barlow Condensed",sans-serif; text-transform:uppercase; padding-top:.035em; }
.legal-content h3 { margin:24px 0 10px; font:800 21px/1.14 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.legal-content p,
.legal-content li,
.legal-content dd { color:#b7b7bf; font-size:15px; line-height:1.78; }
.legal-content a { text-decoration:underline; text-decoration-color:rgba(255,10,97,.55); text-underline-offset:4px; }
.legal-content ul { padding-left:22px; }
.legal-contact { padding:24px; border-left:2px solid var(--pink); background:rgba(255,255,255,.025); }

@media (max-width:1050px) {
  .chapter-grid,
  .feasibility-grid,
  .before-after-shell,
  .conversion-shell { grid-template-columns:1fr; }
  .service-chapter:nth-child(even) .chapter-copy,
  .service-chapter:nth-child(even) .chapter-media { order:initial; }
  .chapter-media { min-height:520px; }
  .feasibility-visual { position:relative; top:auto; min-height:460px; }
  .references-head { grid-template-columns:1fr; gap:12px; }
  .references-head .lead { margin-left:0; }
  .reference-stage { grid-auto-rows:165px; }
  .reference-item { grid-column:span 6; }
  .reference-item.reference-feature { grid-column:span 12; }
  .faq-page-grid,
  .contact-page-layout { grid-template-columns:1fr; }
  .faq-page-aside,
  .contact-page-copy { position:relative; top:auto; }
}

@media (max-width:760px) {
  .subhero { min-height:auto; padding:112px 0 56px; }
  .subhero-media img { object-position:58% center; opacity:.62; }
  .subhero-media::after { background:linear-gradient(0deg,#050506 0%,rgba(5,5,6,.68) 60%,rgba(5,5,6,.58) 100%); }
  .subhero h1 { font-size:clamp(52px,16vw,72px); }
  .subhero-actions { flex-direction:column; }
  .subhero-actions .btn { width:100%; }
  .service-chapter { padding:72px 0; }
  .chapter-grid { gap:32px; }
  .chapter-copy h2 { font-size:clamp(44px,13vw,60px); }
  .chapter-facts div { grid-template-columns:1fr; gap:7px; }
  .chapter-media { min-height:420px; }
  .chapter-media-frame,
  .service-chapter:nth-child(even) .chapter-media-frame { border-radius:27px; clip-path:polygon(0 0,100% 3%,96% 100%,3% 97%); }
  .chapter-media-caption { left:22px; right:22px; bottom:22px; display:block; }
  .chapter-media-caption span { display:block; margin-top:8px; text-align:left; }
  .chapter-scan { transform:none; left:54%; }
  .feasibility { padding:72px 0; }
  .feasibility-grid { gap:32px; }
  .feasibility-visual { min-height:340px; border-radius:25px; }
  .feasibility-copy h2 { font-size:clamp(42px,12vw,58px); }
  .factor { grid-template-columns:42px 1fr; gap:12px; }
  .references { padding:72px 0; }
  .reference-stage { min-height:0; display:grid; grid-template-columns:1fr; grid-auto-rows:auto; }
  .reference-item,
  .reference-item.reference-feature,
  .reference-item.reference-tall { grid-column:auto; grid-row:auto; min-height:320px; border-radius:24px; }
  .reference-item.reference-feature { min-height:420px; }
  .before-after-feature { padding-bottom:96px; }
  .before-after-shell .compare-card { min-height:460px; }
  .before-after-copy { padding:28px 20px; border-radius:24px; }
  .conversion-band { padding:72px 0 84px; }
  .conversion-shell { border-radius:28px; }
  .conversion-copy { padding:36px 22px 22px; }
  .conversion-form { margin:10px; padding:24px 18px; border-radius:23px; }
  .legal-main { padding:110px 0 70px; }
  .legal-hero { padding-bottom:38px; }
  .legal-hero::after { display:none; }
  .legal-content section { display:block; padding:30px 0; }
  .faq-page-aside-media { min-height:260px; }
  .contact-page-main { padding-top:72px; }
  .contact-page-layout { padding:56px 0 80px; gap:34px; }
  .contact-page-copy h1 { font-size:clamp(48px,14vw,62px); }
  .contact-page-form { border-radius:27px; }
  .photo-guide { grid-template-columns:1fr; }
  .contact-alternatives { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .chapter-scan,
  .feasibility-beam { transform:none !important; }
}

/* Keep umlauts, ascenders and descenders clear in all large inner-page headings. */
:is(
  .subhero h1,
  .chapter-copy h2,
  .feasibility-copy h2,
  .before-after-copy h2,
  .conversion-copy h2,
  .contact-page-copy h1,
  .legal-hero h1
) {
  line-height:1.04;
  letter-spacing:-.008em;
  font-kerning:normal;
  font-variant-ligatures:none;
  text-wrap:balance;
  padding-block:.055em .02em;
}
