:root {
  --paper: #f1f2f0;
  --ink: #191c1c;
  --muted: #575e5d;
  --dark: #141617;
  --dark-soft: #252929;
  --accent: #346b73;
  --green: #d3ed87;
  --section-space: 96px;
}

.topbar {
  color: #f2f3ee;
  background: rgba(20, 22, 23, .94);
  border-color: rgba(255, 255, 255, .12);
}
body { background: #141617; }
.brand span { color: #d3ed87; }
.nav a { opacity: .9; }
.nav .contact-pill { color: var(--ink); }
.nav-toggle { color: #fff; border-color: rgba(255, 255, 255, .3); }
.topbar :focus-visible { outline-color: #d3ed87; }

.hero {
  position: relative;
  display: flex;
  align-items: center;
  height: min(860px, calc(100svh - 48px));
  min-height: 660px;
  padding-top: 74px;
  isolation: isolate;
  background: #141617;
  color: #f2f3ee;
  overflow: hidden;
  border: 0;
}
.hero-scene { position: absolute; inset: 0; z-index: -1; }
.hero-scene canvas { display: block; width: 100%; height: 100%; }
.hero-copy {
  position: relative;
  z-index: 2;
  width: 56%;
  padding: 44px 24px 60px var(--page-gutter);
  pointer-events: none;
}
.hero-copy a { pointer-events: auto; }
.hero .section-tag { color: #d3ed87; }
.hero h1 {
  font-size: 6.25rem;
  font-weight: 700;
  line-height: 1.02;
  text-transform: uppercase;
  text-shadow: 0 5px 18px rgba(0, 0, 0, .2);
}
.hero .surname { color: #d3ed87; }
.hero-lead { max-width: 480px; color: #c6cfc5; font-size: 1.0625rem; }
.hero .btn-light { border-color: #828c89; color: #f2f3ee; background: rgba(20, 22, 23, .7); }
.btn-dark, .submit { color: #17200d; border-color: #d3ed87; box-shadow: 0 4px 0 #849657; }
.btn-dark:hover, .submit:hover { background: #e2f7aa; box-shadow: 0 6px 0 #849657, 0 14px 32px rgba(0, 0, 0, .15); }
.btn { border-radius: 4px; }
.hero-photo {
  position: absolute;
  top: 112px;
  right: var(--page-gutter);
  width: 34%;
  height: calc(100% - 155px);
  border: 0;
  background: transparent;
  overflow: visible;
  z-index: 1;
  pointer-events: none;
}
.hero-photo img { object-fit: contain; }
.hero-photo .photo-note {
  left: auto;
  right: 0;
  bottom: 0;
  color: #e9eee5;
  background: rgba(17, 23, 19, .78);
  border: 1px solid rgba(224, 235, 211, .25);
  border-radius: 3px;
  backdrop-filter: blur(8px);
}
.scene-ready .hero-photo img { opacity: 0; }
/* Keep the scene visible when color extensions repaint transparent containers. */
#start .hero-copy,
#start .hero-copy > :not(.hero-actions),
#start h1 span,
#start .hero-actions,
#start.scene-ready .hero-photo {
  background: transparent !important;
}

.stats { background: #262c2d; color: #f2f3ee; border-color: #454e50; }
.stat { min-height: 166px; border-color: #454e50; }
.stat strong { color: #d3ed87; font-size: 3rem; }
.stat span { color: #c9d1c6; }
.statement {
  position: relative;
  isolation: isolate;
  min-height: 850px;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  background: #151a1b;
  color: #f1f3ed;
  border-color: #3d4949;
}
.section-world { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.section-world canvas { display: block; width: 100%; height: 100%; }
.statement > .section-tag { color: #d3ed87; align-self: start; }
.profile-copy { position: relative; min-width: 0; }
.statement h2, .contact h2 { font-size: 3.5rem; line-height: 1.08; }
.statement-text { color: #c9d1cc; line-height: 1.85; }
.profile-copy h2 { max-width: 660px; }
.section-tag::before { height: 2px; width: 28px; }

.living {
  position: relative;
  background: #181f21;
  color: #f2f3ee;
  padding: 0;
  border-top: 1px solid #3b484b;
  border-bottom: 1px solid #3b484b;
}
.living-opening { position: relative; isolation: isolate; padding: 96px var(--page-gutter); min-height: 570px; display: flex; align-items: center; background: #202729; }
.living-heading { width: 47%; max-width: 580px; position: relative; }
.living-heading p { font-size: 1.0625rem; line-height: 1.8; }
.living-grid { padding: 64px var(--page-gutter) 32px; }
.living-grid > div:first-child > p:first-child { margin-top: 0 !important; }
.living .section-tag, .living .wish .label { color: #d3ed87; }
.living h2 { font-size: 3.375rem; }
.living p { color: #c9d1c7; line-height: 1.85; }
.living .btn-light { color: #e8ede4; border-color: #85917f; }
.wish-grid { border: 0; gap: 14px; align-self: start; }
.wish {
  padding: 20px;
  border: 1px solid #495759;
  border-right: 5px solid #3a474b;
  border-bottom: 6px solid #101618;
  background: #293335;
  border-radius: 4px;
  box-shadow: 7px 10px 18px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .09);
}
.wish .value { color: #e5eade; }
.life-gallery { perspective: 1300px; margin: 48px var(--page-gutter) 0; padding-bottom: 96px; grid-template-rows: 230px 310px; gap: 28px; }
.life-gallery figure {
  --rest-y: -3deg;
  border: 1px solid #7a8b86;
  box-shadow: 9px 12px 0 #0e1515, 17px 24px 36px rgba(0, 0, 0, .32);
  transform-style: preserve-3d;
}
.life-gallery img { opacity: 1; }
.life-gallery figure:nth-child(2) { margin-top: 18px; --rest-y: 3deg; }
.life-gallery figure:nth-child(3) { margin-top: 36px; --rest-y: -4deg; }
.life-gallery figcaption { background: rgba(9, 16, 10, .8); }

.dark-band { isolation: isolate; perspective: 1200px; }
.dark-band .bg { opacity: .84; transform: translateY(var(--background-shift, 0px)) scale(1.14); will-change: transform; }
.dark-band::after { background: linear-gradient(90deg, rgba(9, 17, 11, .86), rgba(9, 17, 11, .18)); }
.dark-band::before {
  content: "";
  position: absolute;
  width: 36%;
  height: 150%;
  top: -25%;
  right: -22%;
  border: 35px solid #c6cdca;
  outline: 12px solid #263438;
  box-shadow: -30px 20px 80px #0009;
  transform: rotateY(-24deg) rotateZ(13deg);
  z-index: 1;
  pointer-events: none;
}
.dark-inner { min-height: 620px; position: relative; z-index: 2; }
.dark-inner h2 { font-size: 4rem; }
.dark-inner .section-tag { color: #d3ed87; }
.dark-note { border-color: #d3ed87; text-shadow: 0 1px 4px #000; }
.timeline { display: block; background: #192022; color: #edf2e9; padding-block: 44px 64px; border-color: #425052; box-shadow: inset 0 18px 30px #0003; }
.tl { background: transparent; grid-template-columns: 120px minmax(0, .85fr) minmax(0, 1.15fr); gap: 32px; align-items: center; min-height: 120px; padding: 28px 0; border-color: #425052; box-shadow: 0 1px 0 #080e10; }
.tl .eyebrow { color: #d3ed87; }
.tl span { color: #c6d0ca; }
.tl strong { font-size: 1.5rem; }
.tl:hover { background: transparent; transform: translateX(6px); }
.image-section { background: #141a1c; color: #edf2e9; padding-block: 88px 104px; border-color: #425052; }
.image-section .section-tag { color: #d3ed87; }
.image-head h2 { font-size: 3.5rem; }
.practice-grid { perspective: 1300px; gap: 36px; grid-template-columns: 1fr 1fr; grid-template-rows: 360px 280px 320px; }
.practice-card {
  --rest-y: -4deg;
  border: 1px solid #7b8b83;
  border-radius: 4px;
  box-shadow: 12px 15px 0 #354244, 15px 18px 0 #0b1112, 22px 34px 40px #0007;
  transform-style: preserve-3d;
}
.practice-card:nth-child(even) { --rest-y: 4deg; }
.practice-card.reveal.is-visible, .life-gallery figure.reveal.is-visible {
  transform: perspective(1300px) rotateX(var(--tilt-x, 1deg)) rotateY(calc(var(--rest-y, 0deg) + var(--tilt-y, 0deg)));
  transition: transform .25s ease-out, opacity .65s ease, filter .65s ease;
}
.practice-card::before, .life-gallery figure::before {
  content: "";
  position: absolute;
  inset: -40%;
  background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .12) 48%, transparent 58%);
  transform: translateX(var(--shine-x, -35%));
  opacity: 0;
  transition: opacity .3s, transform .3s;
  z-index: 3;
  pointer-events: none;
}
.practice-card:hover::before, .life-gallery figure:hover::before { opacity: 1; }
.practice-card:hover img { transform: scale(1.025); filter: none; }
.skills { background: #262e2f; padding-block: 60px; border-color: #4a5655; }
.skill { background: transparent; border-top: 2px solid #d3ed87; padding-top: 22px; }
.skill h3 { color: #eff3e9; }
.skill ul { color: #c5cfca; }
.contact { position: relative; isolation: isolate; background: #151a1b; color: #f1f4ed; padding-block: 110px; }
.contact-copy { position: relative; }
.contact .section-tag { color: #d3ed87; }
.contact p { color: #c8d0cb; }
.contact-note { color: #e0efc7; }
.contact-form { position: relative; background: #20282a; border: 1px solid #697779; box-shadow: 12px 14px 0 #0c1314, 24px 30px 48px #0005, inset 0 1px 0 #becbc433; border-radius: 6px; }
.contact-form::before { content: ""; position: absolute; inset: -10px; border: 1px solid #8a989955; border-radius: 7px; pointer-events: none; }
.contact-form label { color: #e4ece3; }
.contact-form input, .contact-form select, .contact-form textarea { background: #121a1c; color: #f2f5eb; border-color: #4b5b5d; box-shadow: inset 0 2px 6px #0005; color-scheme: dark; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { background: #172224; outline: 2px solid #d3ed87; outline-offset: 2px; }
.submit { min-height: 54px; }
.final { background: #141617; }
.final-links a { border-color: #536149; }
.visit-counter { background: #202829; border-color: #414e4e; }
.visit-counter-label, .visit-counter-note { color: #bfccc6; }
.visit-counter-number { color: #d3ed87; }
.final { border-top: 1px solid #414e4e; }
.topbar::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 100%; height: 2px; background: #d3ed87; transform: scaleX(var(--reading-progress, 0)); transform-origin: left; }
.nav a[aria-current="location"] { color: #d3ed87; opacity: 1; }
.nav .contact-pill[aria-current="location"] { color: #17200d; }
.back-to-top { background: #d3ed87; color: #17200d; border-color: #75834f; }
.reveal { filter: none; transform: perspective(1200px) translateY(35px) rotateX(3deg); }
.reveal.reveal-left { transform: perspective(1200px) translate3d(-65px, 24px, -40px) rotateY(4deg); }
.reveal.reveal-right { transform: perspective(1200px) translate3d(65px, 24px, -40px) rotateY(-4deg); }
.reveal.is-visible { transform: none; }

#profil .profile-copy, #profil .profile-copy > *,
#kontakt .contact-copy, #kontakt .contact-copy > *,
#wohnen .living-heading, #wohnen .living-heading > * {
  background: transparent !important;
}
.world-unavailable .section-world { display: none; }
/* Review draft: one visual rhythm, quiet typography and readable photo edges. */
body { color: #ecf0eb; }
::selection { background: #d3ed87; color: #141617; }
.topbar { background: rgba(20, 22, 23, .88); }
.brand { font-size: 1.125rem; }
.nav a:not(.contact-pill) { position: relative; padding-block: 12px; }
.nav a:not(.contact-pill)::after { content: ""; position: absolute; bottom: 5px; left: 0; width: 18px; height: 2px; background: #d3ed87; transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.nav a[aria-current="location"]::after, .nav a:hover::after { transform: scaleX(1); }
.nav a:hover { transform: none; }
.hero h1 { font-weight: 600; text-shadow: none; }
.hero-lead { color: #e0e6df; line-height: 1.75; }
.hero .section-tag { font-size: .8125rem; }
.hero .btn-light { background: transparent; border-color: #9fa9a0; }
.hero-actions { gap: 14px; }
.btn, .submit { min-height: 50px; border-radius: 4px; }
.btn-dark, .submit { box-shadow: 0 2px 0 #849657; }
.btn-dark:hover, .submit:hover { box-shadow: 0 3px 0 #849657, 0 10px 24px #0003; }
.hero-photo .photo-note { border: 0; border-left: 2px solid #d3ed87; background: #141617b8; padding: 6px 12px; font-weight: 400; }
.stats { background: #191e1f; border-color: #384143; }
.stat { padding: 32px; min-height: 155px; border-color: #384143; }
.stat:first-child { padding-left: 0; }
.stat strong { font-weight: 500; font-size: 2.75rem; }
.stat span { font-size: .875rem; line-height: 1.65; max-width: 290px; }
.statement { min-height: 800px; }
.statement h2 { max-width: 600px; font-weight: 500; }
.statement-text { font-size: 1rem; line-height: 1.8; gap: 22px; }
.statement-text > p:first-child { font-size: 1.125rem; color: #f0f2ec; }
.statement-text > p:last-child { border-left: 2px solid #d3ed87; padding-left: 20px; color: #e5ebdd; }
.living-opening { min-height: 540px; padding-block: 80px; background: #1c2325; }
.living h2 { font-size: 3rem; font-weight: 500; line-height: 1.14; }
.living-heading p { max-width: 520px; font-size: 1rem; }
.living-grid { padding-block: 72px 40px; gap: 72px; }
.living-grid p { line-height: 1.85; }
.wish-grid { border-top: 2px solid #d3ed87; gap: 0; }
.wish { padding: 20px 0; grid-template-columns: 78px minmax(0, 1fr); border: 0; border-bottom: 1px solid #465054; background: transparent; box-shadow: none; border-radius: 0; gap: 16px; }
.wish .value { color: #e3e9e4; line-height: 1.65; }
.wish .label { font-size: .8125rem; }
.life-gallery { gap: 24px; grid-template-rows: 230px 290px; }
.life-gallery figure { border-color: #65716e; border-radius: 4px; box-shadow: 4px 6px 0 #2d393a, 8px 14px 24px #0005; }
.life-gallery figure:nth-child(2), .life-gallery figure:nth-child(3) { margin-top: 0; }
.life-gallery figcaption { font-size: .9375rem; font-weight: 500; background: #111a19dc; border-left: 2px solid #d3ed87; }
.dark-inner { min-height: 550px; padding-block: 80px; }
.dark-inner h2 { font-weight: 500; max-width: 670px; }
.dark-band::before { opacity: .6; }
.timeline { background: #171c1d; box-shadow: none; padding-block: 28px 48px; }
.tl { border-color: #384346; box-shadow: none; min-height: 112px; grid-template-columns: 108px minmax(0, .9fr) minmax(0, 1.1fr); }
.tl:hover { transform: none; }
.tl strong { font-size: 1.375rem; font-weight: 500; }
.image-section { padding-block: 88px; }
.image-head h2 { font-size: 3rem; font-weight: 500; }
.practice-grid { grid-template-columns: 1.05fr .95fr; grid-template-rows: 350px 280px 320px; gap: 30px; }
.practice-card { border-color: #748080; box-shadow: 5px 7px 0 #344042, 10px 16px 26px #0006; }
.practice-card::after { background: linear-gradient(180deg, transparent 66%, rgba(0, 0, 0, .76)); opacity: 1; }
.practice-card figcaption { bottom: 20px; left: 22px; font-size: 1.0625rem; font-weight: 500; }
.skills { background: #202729; gap: 32px; }
.skill { border-top: 1px solid #6b8079; }
.skill h3 { font-weight: 500; }
.contact { padding-block: 96px; }
.contact h2 { font-weight: 500; }
.contact-form { background: #222a2c; border-color: #586669; box-shadow: 5px 7px 0 #0e1415, 12px 24px 40px #0004; padding: 36px; }
.contact-form::before { display: none; }
.contact-form input, .contact-form select, .contact-form textarea { border-color: #657272; border-radius: 4px; box-shadow: none; }
.contact-form label { font-size: .8125rem; }
.contact-note { font-size: 1rem; overflow-wrap: anywhere; }
.visit-counter { background: #1c2223; }
.visit-counter-number { font-weight: 500; }
.final { padding-block: 40px; }
.final-links a { border: 0; border-bottom: 1px solid #52605a; border-radius: 0; padding: 7px 0; }
.final-links { gap: 24px; }
.info-launcher { box-shadow: 0 6px 20px #0005; }
@media (max-width: 1200px) {
  .living h2 { font-size: 2.5rem; }
  .living-grid { gap: 40px; }
}
@media (max-width: 980px) {
  .tl { grid-template-columns: 108px minmax(0, 1fr); }
  .practice-grid { grid-template-rows: auto; }
  .living h2 { font-size: 2.25rem; }
  .hero .section-tag { max-width: 320px; }
}
@media (max-width: 640px) {
  .stat, .stat:first-child { padding: 22px 0; min-height: 0; }
  .stat strong { font-size: 2.25rem; }
  .living h2, .image-head h2 { font-size: 2.125rem; }
  .living-opening { padding-block: 56px 0; min-height: 0; }
  .living-grid { padding-block: 32px; }
  .wish { grid-template-columns: 70px minmax(0, 1fr); padding-block: 18px; gap: 12px; }
  .life-gallery { grid-template-rows: auto; }
  .practice-grid { grid-template-columns: 1fr; gap: 28px; }
  .contact-form { padding: 24px; }
  .dark-inner { min-height: 460px; padding-block: 56px; }
  .image-section { padding-block: 56px; }
  .statement-text { font-size: .9375rem; }
  .statement-text > p:first-child { font-size: 1rem; }
  .final-links { gap: 16px; }
}
.living-opening.world-unavailable .living-heading { width: 100%; max-width: 800px; }
.statement.world-unavailable { grid-template-columns: 200px minmax(0, 1fr); min-height: 0; }

@media (max-width: 1200px) {
  .hero h1 { font-size: 5rem; }
  .hero-copy { width: 58%; }
  .hero-lead { max-width: 400px; }
  .living h2, .statement h2, .contact h2 { font-size: 3rem; }
  .wish { padding: 16px; grid-template-columns: 72px minmax(0, 1fr); }
}
@media (max-width: 980px) {
  .hero h1 { font-size: 4rem; }
  .hero-copy { width: 56%; }
  .hero-actions .btn { font-size: .8125rem; padding: 11px 13px; }
  .hero-photo { width: 38%; }
  .nav { background: #222829; border-color: #48575a; }
  .life-gallery figure:nth-child(2), .life-gallery figure:nth-child(3) { margin-top: 0; }
  .living h2 { font-size: 2.375rem; }
  .statement { grid-template-columns: 1fr; min-height: 0; gap: 24px; }
  .statement > .section-tag { grid-row: 1; }
  .profile-world { position: relative; inset: auto; grid-row: 2; height: 300px; margin-inline: calc(-1 * var(--page-gutter)); width: calc(100% + 2 * var(--page-gutter)); }
  .profile-copy { grid-row: 3; max-width: 780px; }
  .living-opening { padding-block: 64px; min-height: 520px; }
  .living-heading { width: 49%; }
  .living-heading p { font-size: 1rem; }
  .living-grid { grid-template-columns: 1fr; }
  .life-gallery { grid-template-rows: auto; }
  .practice-grid { grid-template-rows: auto; }
  .tl { grid-template-columns: 100px minmax(0, 1fr); gap: 12px 24px; }
  .tl span { grid-column: 2; }
  .contact { grid-template-columns: 1fr; }
  .contact-world { position: relative; inset: auto; grid-row: 2; height: 280px; margin-inline: calc(-1 * var(--page-gutter)); width: calc(100% + 2 * var(--page-gutter)); }
  .contact-copy { grid-row: 1; }
  .contact-form { grid-row: 3; width: 100%; max-width: 700px; justify-self: center; }
  .statement.world-unavailable { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  :root { --section-space: 60px; }
  .hero { display: block; height: auto; min-height: 0; padding-top: 64px; }
  .hero-copy { width: 100%; padding: 28px var(--page-gutter) 16px; }
  .hero h1 { margin-top: 12px; font-size: 3.375rem; }
  .hero-lead { margin-top: 16px; font-size: .9375rem; line-height: 1.65; max-width: none; }
  .hero-actions { margin-top: 20px; gap: 10px; }
  .hero-actions .btn { min-height: 44px; padding: 10px 13px; }
  .hero-scene { display: none; position: relative; height: 320px; inset: auto; }
  .scene-ready .hero-scene { display: block; }
  .hero-photo { position: relative; inset: auto; width: 100%; height: 320px; }
  .scene-ready .hero-photo { position: absolute; width: 100%; height: 320px; bottom: 0; }
  .hero-photo .photo-note { right: 22px; left: auto; bottom: 16px; font-size: .75rem; }
  .stat { min-height: 100px; }
  .stat strong { font-size: 2.25rem; }
  .statement h2, .contact h2, .living h2, .image-head h2 { font-size: 2.125rem; }
  .wish { grid-template-columns: 1fr; padding: 16px; gap: 6px; }
  .wish .value { font-size: .875rem; }
  .living-opening { display: flex; flex-direction: column; align-items: stretch; padding: 60px var(--page-gutter) 0; min-height: 0; }
  .living-heading { width: 100%; max-width: none; }
  .home-world { position: relative; inset: auto; height: 310px; order: 2; margin-inline: calc(-1 * var(--page-gutter)); width: calc(100% + 2 * var(--page-gutter)); }
  .living-grid { padding: 36px var(--page-gutter) 16px; gap: 36px; }
  .life-gallery { margin: 36px calc(var(--page-gutter) + 9px) 0 var(--page-gutter); padding-bottom: 60px; }
  .life-gallery, .practice-grid { gap: 28px; }
  .practice-grid { margin-right: 9px; grid-template-columns: 1fr; }
  .profile-world { height: 240px; }
  .tl { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
  .tl strong { font-size: 1.375rem; }
  .image-section { padding-block: 60px 72px; }
  .image-head h2 { font-size: 2.125rem; }
  .contact { padding-block: 64px; gap: 26px; }
  .contact-world { height: 250px; }
  .dark-inner { min-height: 460px; }
  .dark-inner h2 { font-size: 2.625rem; }
  .contact-form { width: calc(100% - 14px); margin-right: 14px; }
  .dark-band::before { width: 42%; right: -37%; border-width: 18px; }
  .statement.world-unavailable { gap: 24px; }
}
@media (max-width: 359px) {
  .hero h1 { font-size: 2.875rem; }
  .hero .section-tag { font-size: .8125rem; }
  .hero-lead { font-size: .875rem; }
  .hero-scene, .hero-photo, .scene-ready .hero-photo { height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal.reveal-left, .reveal.reveal-right, .practice-card.reveal.is-visible, .life-gallery figure.reveal.is-visible { transform: none; opacity: 1; filter: none; }
  .dark-band .bg { transform: none; }
}

.legal-page, .reply-page { background: #151a1b; color: #edf1e8; }
.legal-page *, .reply-page * { letter-spacing: 0; }
.legal-page .topbar { padding-inline: max(22px, calc((100% - 1200px) / 2)); }
.legal-page .nav .contact-pill { background: #d3ed87; border-radius: 4px; }
.legal-page .legal-hero { padding: 96px max(22px, calc((100% - 1200px) / 2)) 72px; border-color: #465253; }
.legal-page h1 { font-size: 4.5rem; line-height: 1.08; text-transform: none; max-width: 950px; overflow-wrap: anywhere; }
.legal-page .section-tag, .reply-page .tag { color: #d3ed87; }
.legal-page .lead { color: #c9d1cc; font-size: 1.125rem; font-weight: 400; }
.legal-page .legal-grid { background: #192022; color: #edf2e9; gap: 48px 60px; padding: 72px max(22px, calc((100% - 1200px) / 2)); }
.legal-page .legal-card { padding: 26px 0 0; border-top: 2px solid #47777b; background: transparent; }
.legal-page .legal-card h2 { font-size: 1.75rem; line-height: 1.2; }
.legal-page .legal-card p { color: #c6d0ca; font-weight: 400; }
.legal-page .legal-card strong { color: #edf2e9; }
.legal-page .final { color: #edf1e8; padding-inline: max(22px, calc((100% - 1200px) / 2)); }
.legal-page .final-links a { border-radius: 4px; text-transform: none; }
.legal-page .nav a:focus-visible, .legal-page .final a:focus-visible, .reply-page a:focus-visible { outline: 2px solid #d3ed87; outline-offset: 4px; }
.reply-page { padding: 64px 24px; min-height: 100svh; }
.reply-page .box { position: relative; background: #20282a; border: 1px solid #748382; border-radius: 6px; box-shadow: 12px 14px 0 #0c1314, 24px 30px 48px #0005; padding: 54px; }
.reply-page .box::before { content: ""; position: absolute; inset: -10px; border: 1px solid #8a989955; border-radius: 7px; pointer-events: none; }
.reply-page h1 { font-size: 3.5rem; line-height: 1.08; text-transform: none; overflow-wrap: anywhere; }
.reply-page p { color: #c9d1cc; font-weight: 400; }
.reply-page a { border: 1px solid #71827e; border-radius: 4px; color: #e8eee3; text-transform: none; font-size: .9375rem; }
.reply-page a:first-child { background: #d3ed87; color: #17200d; border-color: #d3ed87; box-shadow: 0 4px 0 #849657; }
.reply-page a:hover { background: #334c4b; color: #fff; transform: translateY(-2px); }
@media (max-width: 980px) {
  .legal-page .nav { background: transparent; }
}
@media (max-width: 640px) {
  .legal-page .topbar { gap: 12px; padding: 14px 22px; }
  .legal-page .nav { gap: 10px 16px; font-size: .75rem; }
  .legal-page .nav .contact-pill { padding: 6px 10px; }
  .legal-page main { padding-top: 136px; }
  .legal-page .legal-hero { padding: 52px 22px; }
  .legal-page h1 { font-size: 2.375rem; }
  .legal-page .legal-grid { padding: 40px 22px; gap: 36px; }
  .reply-page { padding: 32px 24px; }
  .reply-page .box { padding: 28px 22px; width: calc(100% - 12px); margin-right: 12px; }
  .reply-page h1 { font-size: 2.125rem; }
  .reply-page a { font-size: .8125rem; padding: 10px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-page, .reply-page { scroll-behavior: auto; }
  .legal-page *, .reply-page * { transition: none !important; }
}
