:root {
  color-scheme: light;
  --ink: #162333;
  --muted: #596778;
  --brand: #12304a;
  --brand-strong: #0c2439;
  --accent: #b85d45;
  --accent-strong: #91422f;
  --paper: #fbfaf7;
  --surface: #ffffff;
  --surface-alt: #f1f4f4;
  --line: #d9e0e3;
  --success: #236445;
  --warning: #8a5d13;
  --danger: #a2332b;
  --focus: #0b6cff;
  --shadow: 0 10px 30px rgba(19, 39, 55, .09);
  --radius: 8px;
  --content: 1120px;
}
html[data-theme="natur"] { --brand:#1f493c; --brand-strong:#15372d; --accent:#a7762d; --accent-strong:#80581e; --paper:#fbf8ee; --surface-alt:#edf1e9; --line:#d8dfd3; }
html[data-theme="nordisch"] { --brand:#14525b; --brand-strong:#0d3c43; --accent:#c76f4f; --accent-strong:#9b5035; --paper:#f4f6f5; --surface-alt:#e9f0ef; --line:#d3dfdf; }
html[data-theme="fruehling"] { --brand:#466450; --brand-strong:#304a38; --accent:#a84f3d; --accent-strong:#803929; --paper:#fffdf8; --surface-alt:#eef2ec; --line:#d8dfd5; }
html[data-theme="herbst"] { --brand:#3f4938; --brand-strong:#2c3426; --accent:#9d4f32; --accent-strong:#783821; --paper:#f7f3ea; --surface-alt:#eee9dd; --line:#dcd3c3; }
html[data-theme="winter"] { --brand:#17324d; --brand-strong:#0e2438; --accent:#9a772e; --accent-strong:#72561d; --paper:#f3f7f8; --surface-alt:#e8eff2; --line:#d1dde2; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
body.no-scroll { overflow:hidden; }
a { color:var(--brand); text-underline-offset:3px; }
button,input,select,textarea { font:inherit; letter-spacing:0; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.skip-link { position:fixed; left:12px; top:-80px; z-index:1000; padding:10px 14px; background:var(--surface); border:2px solid var(--brand); }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:50; min-height:68px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; padding:9px max(20px,calc((100vw - var(--content))/2)); background:color-mix(in srgb,var(--paper) 93%,transparent); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:10px; min-width:0; color:var(--ink); text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; color:#fff; background:var(--brand); border-radius:6px; font-weight:800; }
.brand-copy { display:grid; min-width:0; overflow:hidden; line-height:1.15; }
.brand-copy strong { min-width:0; overflow:hidden; font-size:.98rem; text-overflow:ellipsis; white-space:nowrap; }
.brand-copy small { margin-top:4px; color:var(--muted); font-size:.72rem; }
#mainNav { justify-self:center; display:flex; align-items:center; gap:4px; }
#mainNav a { min-height:44px; display:flex; align-items:center; padding:0 11px; color:var(--ink); text-decoration:none; border-radius:6px; font-size:.9rem; font-weight:650; }
#mainNav a:hover,#mainNav a[aria-current="page"] { background:var(--surface-alt); color:var(--brand); }
.header-action,.button,button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--brand); border-radius:6px; padding:9px 15px; background:var(--brand); color:#fff; text-decoration:none; font-weight:750; cursor:pointer; }
.header-action:hover,.button:hover,button:hover { background:var(--brand-strong); }
.button.secondary,button.secondary { background:var(--surface); color:var(--brand); border-color:var(--line); }
.button.accent { background:var(--accent); border-color:var(--accent); }
.button.accent:hover { background:var(--accent-strong); }
.button.tour { background:#0f766e; border-color:#0f766e; }
.button.tour:hover { background:#115e59; }
.button.ghost,button.ghost { background:transparent; color:var(--brand); border-color:transparent; }
.nav-toggle { display:none; }
main { min-height:66vh; }
.shell { width:min(var(--content),calc(100% - 40px)); margin-inline:auto; }
.section { padding:54px 0; }
.section.compact { padding:34px 0; }
.section.alt { background:var(--surface-alt); border-block:1px solid var(--line); }
.eyebrow { margin:0 0 8px; color:var(--accent-strong); font-size:.75rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
h1,h2,h3 { margin:0; line-height:1.16; letter-spacing:0; text-wrap:balance; overflow-wrap:anywhere; }
h1 { max-width:850px; font-size:clamp(2rem,4.2vw,3.55rem); }
h2 { font-size:clamp(1.5rem,2.5vw,2.25rem); }
h3 { font-size:1.08rem; }
.lead { max-width:720px; margin:15px 0 0; color:var(--muted); font-size:1.08rem; }
.hero { position:relative; min-height:min(540px,64svh); display:grid; align-items:end; overflow:hidden; background:var(--brand-strong); color:#fff; }
.hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.58; }
.hero-media.media-contain,.hero-media.media-low-resolution { object-fit:contain; background:var(--brand-strong); }
.hero-media.media-low-resolution { inset:50% auto auto 50%; width:min(100%,var(--media-natural-width)); height:auto; max-height:100%; transform:translate(-50%,-50%); }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,25,36,.82),rgba(9,25,36,.32) 70%,rgba(9,25,36,.08)); }
.hero-copy { position:relative; z-index:1; width:min(var(--content),calc(100% - 40px)); margin:0 auto; padding:72px 0 64px; }
.hero-copy .eyebrow { color:#f4c3b5; }
.hero-copy p { max-width:650px; margin:16px 0 0; color:#f3f6f7; font-size:1.08rem; }
.actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.hero .button.secondary { background:rgba(255,255,255,.94); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.section-head p { max-width:600px; margin:8px 0 0; color:var(--muted); }
.trust-grid,.listing-grid,.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.job-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.job-card { display:grid; gap:18px; align-content:start; padding:22px; border:1px solid var(--line); border-top:3px solid var(--accent); border-radius:var(--radius); background:var(--surface); box-shadow:0 5px 18px rgba(19,39,55,.05); }
.job-card p { color:var(--muted); }
.job-card .button { justify-self:start; }
.job-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.job-facts div { padding:10px; border-radius:6px; background:var(--surface-alt); }
.job-facts dt { color:var(--muted); font-size:.74rem; }
.job-facts dd { margin:3px 0 0; font-weight:700; overflow-wrap:anywhere; }
.job-detail { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(285px,.55fr); gap:30px; align-items:start; }
.job-sections { display:grid; gap:28px; margin-top:34px; }
.job-sections section { padding-top:18px; border-top:1px solid var(--line); }
.job-sections h2 { font-size:1.35rem; }
.job-sections p,.job-sections li { color:var(--muted); }
.trust-item { padding:20px 0; border-top:3px solid var(--accent); }
.trust-item p { margin:8px 0 0; color:var(--muted); }
.listing-card { overflow:hidden; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 5px 18px rgba(19,39,55,.06); }
.listing-media { display:block; aspect-ratio:16/10; overflow:hidden; background:var(--surface-alt); }
.listing-card img { display:block; width:100%; height:100%; object-fit:cover; background:var(--surface-alt); }
.listing-card img.media-contain,.listing-card img.media-low-resolution { object-fit:contain; }
.listing-media img.media-low-resolution { width:auto; height:auto; max-width:100%; max-height:100%; margin:auto; }
.listing-image-placeholder { width:100%; height:100%; background:var(--surface-alt); border-bottom:1px solid var(--line); }
.listing-card-body { padding:17px; }
.listing-card h2,.listing-card h3 { margin-bottom:7px; }
.listing-card p { margin:0; color:var(--muted); }
.facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin:16px 0; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.fact { min-width:0; padding:11px; background:var(--surface-alt); }
.fact small { display:block; color:var(--muted); font-size:.72rem; }
.fact strong { display:block; margin-top:2px; font-size:.93rem; overflow-wrap:anywhere; }
.price-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-top:13px; border-top:1px solid var(--line); }
.price-row strong { font-size:1.08rem; color:var(--brand); }
.empty,.notice { padding:18px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.notice.error,.error-summary { border-color:#e5aaa5; background:#fff2f1; color:#76241f; }
.notice.success { border-color:#a8d6bf; background:#effaf4; color:#174f35; }
.notice.warning { border-color:#e4c788; background:#fff8e8; color:#68460d; }
.listing-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(285px,.65fr); gap:28px; align-items:start; }
.listing-layout > * { min-width:0; }
.gallery { position:relative; width:100%; max-width:100%; min-width:0; background:var(--surface-alt); border-radius:var(--radius); overflow:hidden; }
.gallery [data-gallery-stage] { display:grid; place-items:center; width:100%; min-width:0; aspect-ratio:16/10; overflow:hidden; }
.gallery-main { display:block; width:100%; max-width:100%; height:100%; object-fit:cover; touch-action:pan-y; }
.gallery-main.media-contain { object-fit:contain; padding:clamp(8px,2vw,22px); background:var(--surface-alt); }
.gallery-main.media-low-resolution { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; background:var(--surface-alt); }
.gallery-controls { position:absolute; inset:50% 10px auto; display:flex; justify-content:space-between; transform:translateY(-50%); pointer-events:none; }
.gallery-controls button { width:44px; padding:0; border-color:rgba(255,255,255,.8); background:rgba(15,31,43,.78); pointer-events:auto; }
.gallery-count { position:absolute; right:10px; bottom:10px; padding:5px 9px; border-radius:5px; background:rgba(15,31,43,.78); color:#fff; font-size:.8rem; }
.gallery-thumbs { display:flex; width:100%; max-width:100%; min-width:0; gap:8px; padding:9px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; }
.gallery-thumbs button { min-width:72px; width:72px; height:54px; padding:0; border:2px solid transparent; background:none; overflow:hidden; scroll-snap-align:start; }
.gallery-thumbs button.active { border-color:var(--accent); }
.gallery-thumbs img { width:100%; height:100%; object-fit:cover; }
.gallery-thumbs img.media-contain { object-fit:contain; background:var(--surface-alt); }
.listing-summary { position:sticky; top:88px; padding:22px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.listing-summary .actions { display:grid; }
.listing-summary .actions .button { width:100%; }
.detail-stack { margin-top:24px; }
details.detail { border-top:1px solid var(--line); }
details.detail:last-child { border-bottom:1px solid var(--line); }
details.detail summary { min-height:52px; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; font-weight:750; }
details.detail summary::after { content:"+"; font-size:1.3rem; color:var(--accent); }
details.detail[open] summary::after { content:"−"; }
details.detail > div { padding:0 0 20px; color:var(--muted); white-space:pre-line; }
.team-card { padding:18px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.team-card img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; margin-bottom:14px; }
.team-card p { color:var(--muted); }
.team-contact { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:.9rem; }
.chip-list { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; }
.chip-list li { padding:6px 10px; border:1px solid var(--line); border-radius:999px; background:var(--surface); font-size:.88rem; }
.form-shell { width:min(780px,calc(100% - 40px)); margin:36px auto 60px; }
.form-head { margin-bottom:20px; }
.intent-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.intent-card { min-height:170px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:20px; text-align:left; border-color:var(--line); background:var(--surface); color:var(--ink); box-shadow:0 5px 18px rgba(19,39,55,.05); }
.intent-card:hover { border-color:var(--accent); background:var(--surface); }
.intent-card span { color:var(--muted); font-weight:400; }
.progress { margin-bottom:22px; }
.progress-head { display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; color:var(--muted); font-size:.82rem; }
.progress-track { height:7px; overflow:hidden; border-radius:99px; background:var(--line); }
.progress-track span { display:block; height:100%; background:var(--accent); transition:width .2s ease; }
.form-card { padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.form-card h2 { font-size:1.45rem; }
.form-card .intro { margin:8px 0 20px; color:var(--muted); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid .wide { grid-column:1/-1; }
label { display:grid; gap:6px; color:var(--ink); font-size:.9rem; font-weight:700; }
input,select,textarea { width:100%; min-height:46px; padding:10px 12px; border:1px solid #b6c0c7; border-radius:6px; background:#fff; color:var(--ink); }
textarea { min-height:116px; resize:vertical; }
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"] { border-color:var(--danger); box-shadow:0 0 0 2px rgba(162,51,43,.12); }
.field-hint { color:var(--muted); font-size:.78rem; font-weight:400; }
.field-error { color:var(--danger); font-size:.8rem; font-weight:650; }
.check { display:grid; grid-template-columns:22px 1fr; align-items:start; gap:10px; font-weight:500; }
.check input { width:20px; min-height:20px; margin-top:2px; }
.form-actions { display:flex; justify-content:space-between; gap:10px; margin-top:22px; }
.person-card { margin-top:14px; padding:17px; border:1px solid var(--line); border-left:4px solid var(--accent); border-radius:6px; background:var(--surface-alt); }
.person-card h3 { margin-bottom:13px; }
.account-choice { margin:18px 0; padding:16px; border:1px solid var(--line); border-left:4px solid var(--success); border-radius:6px; background:#f3faf6; }
.account-choice .field-hint { margin:8px 0 0 32px; }
.portal-shell { max-width:980px; }
.portal-head,.portal-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.portal-grid { display:grid; gap:18px; margin-top:24px; }
.portal-card,.portal-settings { padding:22px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:0 5px 18px rgba(19,39,55,.05); }
.portal-settings { margin-top:24px; }
.portal-settings h2 { margin-bottom:16px; }
.status-pill { padding:7px 10px; border-radius:999px; background:var(--surface-alt); color:var(--brand); font-size:.82rem; white-space:nowrap; }
.submitted-sections { display:grid; gap:18px; }
.submitted-sections > section { padding-block:4px; }
.submitted-sections h3 { margin:0 0 10px; font-size:1rem; }
.submitted-person { margin-top:12px; padding:14px; border:1px solid var(--line); border-radius:6px; background:var(--surface-alt); }
.submitted-person h4 { margin:0; font-size:.94rem; }
button.danger { color:var(--danger); border-color:#d8a4a0; }
.summary-list { display:grid; gap:12px; margin:18px 0; }
.summary-list > div { padding:12px; border-radius:6px; background:var(--surface-alt); }
.summary-list dt { color:var(--muted); font-size:.78rem; }
.summary-list dd { margin:3px 0 0; font-weight:700; }
.legal-content { max-width:800px; }
.legal-content h2 { margin:28px 0 8px; font-size:1.35rem; }
.legal-content p,.legal-content li { color:var(--muted); }
.help-page .shell { max-width:1120px; }
.help-search { max-width:760px; margin:28px 0 18px; }
.help-search > label { display:block; margin-bottom:7px; font-weight:750; }
.help-search > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.help-search input { width:100%; min-width:0; }
.help-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.help-filters button { min-height:42px; padding:8px 12px; background:var(--surface); color:var(--ink); border:1px solid var(--line); }
.help-filters button.active { background:var(--ink); color:var(--surface); border-color:var(--ink); }
.help-result-count { min-height:24px; color:var(--muted); }
.faq-groups { display:grid; gap:34px; max-width:860px; }
.faq-group { scroll-margin-top:96px; }
.faq-group > header { margin-bottom:8px; }
.faq-group > header h2 { margin:0; font-size:1.4rem; }
.faq-group > header p { margin:5px 0 0; color:var(--muted); }
.faq-item { scroll-margin-top:96px; }
.faq-item > div p { max-width:74ch; margin-top:0; }
.faq-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:15px; }
.faq-actions .button { min-height:44px; padding:8px 12px; }
.download-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.download-card { min-width:0; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); scroll-margin-top:96px; }
.download-card h2 { margin:4px 0 8px; font-size:1.22rem; }
.download-card > p { color:var(--muted); }
.download-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:18px 0; }
.download-card dl div { min-width:0; padding:8px; background:var(--surface-alt); border-radius:5px; }
.download-card dt { color:var(--muted); font-size:.75rem; }
.download-card dd { margin:3px 0 0; font-weight:750; overflow-wrap:anywhere; }
.download-card .actions { display:flex; flex-wrap:wrap; margin-top:16px; }
.help-empty { margin-top:20px; }
.legal-meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:18px 0 26px; color:var(--muted); font-size:.82rem; }
.legal-meta span { padding:7px 9px; border:1px solid var(--line); border-radius:5px; background:var(--surface-alt); }
.legal-meta button { margin-left:auto; }
.legal-review-notice { margin:18px 0; }
.site-footer { width:min(var(--content),calc(100% - 40px)); margin:0 auto; display:grid; grid-template-columns:1.1fr 1fr auto; gap:28px; padding:40px 0 92px; border-top:1px solid var(--line); }
.site-footer p { margin:6px 0 0; color:var(--muted); }
.site-footer nav { display:grid; align-content:start; gap:7px; }
.site-footer a { font-size:.9rem; }
.footer-contact { display:grid; align-content:start; gap:4px; font-size:.9rem; }
.mobile-action { display:none; }
.development-flag { position:fixed; right:10px; bottom:9px; z-index:80; padding:5px 8px; border-radius:4px; background:#7b1d1d; color:#fff; font-size:.68rem; font-weight:800; }
.loading { padding:80px 20px; text-align:center; color:var(--muted); }
@media (max-width: 900px) {
  .site-header { grid-template-columns:auto auto 1fr; padding-inline:20px; }
  .nav-toggle { display:inline-flex; justify-self:end; padding-inline:12px; background:var(--surface); color:var(--ink); border-color:var(--line); }
  #mainNav { position:fixed; inset:68px 0 auto; display:none; padding:12px 20px 20px; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:var(--shadow); }
  #mainNav.open { display:grid; }
  #mainNav a { min-height:48px; border-bottom:1px solid var(--line); }
  .header-action { justify-self:end; }
  .trust-grid,.listing-grid,.team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .listing-layout { grid-template-columns:1fr; }
  .job-detail { grid-template-columns:1fr; }
  .listing-summary { position:static; }
  .site-footer { grid-template-columns:1fr 1fr; }
}
@media (max-width: 620px) {
  body { font-size:15px; padding-bottom:64px; }
  .site-header { min-height:62px; grid-template-columns:1fr auto; gap:8px; padding:8px 14px; }
  .brand-mark { width:38px; height:38px; flex-basis:38px; }
  .brand-copy strong { font-size:.88rem; }
  .brand-copy small { display:none; }
  .header-action { display:none; }
  .nav-toggle { min-height:44px; }
  #mainNav { inset:62px 0 auto; padding-inline:14px; }
  .shell,.hero-copy { width:min(100% - 28px,var(--content)); }
  .section { padding:38px 0; }
  .hero { min-height:min(450px,70svh); }
  .hero::after { background:linear-gradient(0deg,rgba(9,25,36,.9),rgba(9,25,36,.25) 90%); }
  .hero-copy { padding:48px 0 34px; }
  h1 { font-size:2.15rem; }
  h2 { font-size:1.55rem; }
  .section-head { display:block; }
  .section-head .button { margin-top:14px; }
  .trust-grid,.listing-grid,.team-grid,.job-grid,.intent-grid,.form-grid { grid-template-columns:1fr; }
  .job-facts { grid-template-columns:1fr; }
  .form-grid .wide { grid-column:auto; }
  .intent-card { min-height:138px; }
  .facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fact { padding:9px 7px; }
  .fact strong { font-size:.82rem; }
  .listing-card-body { padding:14px; }
  .listing-layout { gap:18px; }
  .help-search > div { grid-template-columns:1fr; }
  .help-search button { width:100%; min-height:44px; }
  .help-filters { flex-wrap:nowrap; max-width:100%; overflow-x:auto; padding-bottom:5px; overscroll-behavior-inline:contain; }
  .help-filters button { flex:0 0 auto; min-height:44px; }
  .download-grid { grid-template-columns:1fr; }
  .download-card { padding:17px 14px; }
  .download-card dl { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .download-card .actions { display:grid; grid-template-columns:1fr 1fr; }
  .form-shell { width:calc(100% - 24px); margin:24px auto 42px; }
  .form-card { padding:18px 14px; }
  .form-actions { position:sticky; bottom:65px; z-index:5; margin:22px -14px -18px; padding:12px 14px; background:var(--surface); border-top:1px solid var(--line); }
  .form-actions > * { flex:1; }
  .portal-head,.portal-card-head { display:grid; }
  .portal-head button,.status-pill { justify-self:start; }
  .portal-card,.portal-settings { padding:17px 14px; }
  .account-choice .field-hint { margin-left:0; }
  .site-footer { width:calc(100% - 28px); grid-template-columns:1fr; padding-bottom:42px; }
  .site-footer a { min-height:44px; display:flex; align-items:center; }
  .mobile-action { position:fixed; left:10px; right:10px; bottom:9px; z-index:70; min-height:48px; display:flex; align-items:center; justify-content:center; border-radius:6px; background:var(--accent); color:#fff; text-decoration:none; font-weight:800; box-shadow:0 8px 24px rgba(0,0,0,.22); }
  .development-flag { right:14px; bottom:62px; }
}
@media print {
  .site-header,.site-footer,.mobile-action,.development-flag,.legal-meta button { display:none!important; }
  body { background:#fff; color:#000; padding:0; }
  .section { padding:0; }
  .legal-content { width:100%; max-width:none; }
  .notice { box-shadow:none; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
