:root {
  color-scheme:light;
  --brand:#254b40;
  --brand-dark:#19392f;
  --accent:#8d503c;
  --surface:#f7f5ee;
  --surface-2:#e7ebe2;
  --text:#233f36;
  --text-muted:#5c675f;
  --border:#c7cec3;
  --text-inverse:var(--surface);
  --text-inverse-muted:#d3dcd0;
  --border-inverse:#587164;
  --accent-inverse:#d5b08e;
  --selection:#d5ddbf;
  --brand-weathered:#577d65;
  --strand-natural-highlight:#e9e8dc;
  --strand-natural-shadow:#b4bcb4;
  --strand-dyed-highlight:#b77954;
  --print-surface:#ffffff;
  --print-text:#000000;
  --font-display:clamp(3.6rem,7.2vw,6.3rem);
  --font-moment:calc(var(--font-display) * .85);
  --font-section:calc(var(--font-display) * .5);
  --serif:Georgia,"Times New Roman",serif;
  --sans:"Segoe UI",Arial,sans-serif;
}
/* Salon Grünspan — vollständig lokale, mobile Website ohne JavaScript. */

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:1.5rem; }
body { margin:0; background:var(--surface); color:var(--text); font:1rem/1.75 var(--sans); -webkit-text-size-adjust:100%; }
::selection { background:var(--selection); color:var(--brand-dark); }
a { color:inherit; text-underline-offset:.25em; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
img,svg { display:block; max-width:100%; }
img { width:100%; height:auto; }
figure,blockquote { margin:0; }
p,h1,h2,h3,dl { margin-top:0; }
p { margin-bottom:1.25rem; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; letter-spacing:-.045em; }
h1 { margin-bottom:1.5rem; font-size:var(--font-display); line-height:1.05; }
h2 { margin-bottom:1.5rem; font-size:var(--font-section); line-height:1.12; }
h1 em,h2 em { color:var(--accent); font-weight:400; }
h3 { font-size:1.6rem; line-height:1.25; }
.wrap { width:min(100% - 2.5rem,76rem); margin-inline:auto; }
.eyebrow { font-size:.75rem; font-weight:600; letter-spacing:.12em; line-height:1.6; text-transform:uppercase; }
.section-space { padding-block:4.5rem; }
.muted { font-size:.875rem; color:var(--text-muted); line-height:1.65; }
figcaption { color:var(--text-muted); font-size:.75rem; line-height:1.6; }
figcaption > span:last-child { display:block; }
.skip-link { position:absolute; top:.75rem; left:1rem; z-index:20; padding:.6rem 1rem; background:var(--surface); transform:translateY(-200%); }
.skip-link:focus { transform:translateY(0); }
.demo-banner { padding:.45rem 1.25rem; background:var(--brand-dark); color:var(--text-inverse-muted); text-align:center; font-size:.75rem; line-height:1.55; }
.site-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.3rem .6rem; border-bottom:1px solid var(--border); }
.wordmark { display:inline-flex; align-items:center; gap:.75rem; font:2.4rem/.95 var(--serif); letter-spacing:-.065em; text-decoration:none; }
.brand-mark { width:2.7rem; height:3rem; color:var(--accent); }
.wordmark-small { display:block; margin:0 0 .45rem .12rem; font:.65rem/1 var(--sans); letter-spacing:.28em; text-transform:uppercase; }
.wordmark-dot { color:var(--accent); }
.site-header nav { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem .7rem; }
.site-header nav a { min-height:2.75rem; display:inline-flex; gap:.4rem; align-items:center; font-size:.875rem; text-decoration:none; }
.site-header nav a:hover { text-decoration:underline; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:1rem; min-height:3.4rem; padding:.9rem 1.2rem; background:var(--brand); color:var(--surface); font-size:.875rem; line-height:1.5; text-decoration:none; border:1px solid var(--brand); transition:background-color .18s ease; }
.button:hover { background:var(--brand-dark); }
.button span { font-size:1.25rem; }
.text-link,.quiet-link,.read-link { display:inline-flex; align-items:center; gap:1.25rem; min-height:2.75rem; font-size:.875rem; }
.quiet-link { margin-top:1.2rem; color:var(--text-muted); }
.hero { display:grid; gap:2rem; padding-block:2.5rem; }
.hero .eyebrow { margin-bottom:1.5rem; }
.hero-intro { max-width:26rem; color:var(--text-muted); font-size:1.0625rem; line-height:1.8; }
.appointment-note { margin:.8rem 0 0; color:var(--text-muted); font-size:.75rem; }
.hero-picture img { aspect-ratio:3/2; object-fit:cover; }
.hero-picture figcaption { padding-top:.65rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.1rem .6rem; }
.hero-picture figcaption span:first-child { color:var(--text); }
.specialties { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.35rem .7rem; padding-block:1rem; border-top:1px solid var(--border); font-size:.8rem; }
.specialties [aria-hidden] { color:var(--accent); }

/* Der Auftritt: die drei Haarsträhnen und das zunehmende eigene Grau. */
.transition-section { margin-top:1.5rem; padding-block:3.5rem 2.5rem; background:var(--brand-dark); color:var(--surface); }
.transition-heading { display:grid; gap:.25rem; }
.transition-heading h2 { font-size:var(--font-moment); line-height:.98; }
.transition-heading h2 em { color:var(--accent-inverse); }
.transition-heading > p { max-width:30rem; color:var(--text-inverse-muted); }
.transition-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }
.transition-stages figure { min-width:0; }
.hair-lock { width:100%; height:auto; }
.transition-stages figcaption { padding-top:1rem; border-top:1px solid var(--border-inverse); }
.stage-label { display:block; color:var(--surface); font:1rem/1.25 var(--serif); letter-spacing:-.025em; overflow-wrap:normal; }
.transition-stages figcaption p { margin:.8rem 0 0; color:var(--text-inverse-muted); font-size:.875rem; line-height:1.6; }
.transition-bottom { display:grid; gap:.5rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--border-inverse); }
.transition-bottom p { max-width:35rem; margin-bottom:0; color:var(--text-inverse-muted); font-size:.75rem; }
.transition-section a:focus-visible { outline-color:var(--accent-inverse); }

.voice-feature { max-width:55rem; padding-block:4.5rem; text-align:center; }
.voice-feature .eyebrow { color:var(--text-muted); margin-bottom:1.6rem; }
.voice-feature blockquote > p { font:1.7rem/1.45 var(--serif); letter-spacing:-.025em; }
.voice-feature footer { font-size:.875rem; }
.voice-feature footer span { color:var(--text-muted); }

.story-section { display:grid; gap:2.5rem; border-top:1px solid var(--border); }
.portrait { max-width:30rem; }
.portrait img { aspect-ratio:4/5; object-fit:cover; }
.portrait figcaption { padding-top:.7rem; }
.story-copy .lead { color:var(--text); font:1.4rem/1.55 var(--serif); letter-spacing:-.02em; }
.story-copy > p:not(.eyebrow):not(.lead):not(.story-signature) { color:var(--text-muted); }
.story-signature { margin-top:1.75rem; margin-bottom:0; color:var(--accent); font:italic 2rem/1.4 var(--serif); }
.story-signature span { display:block; color:var(--text-muted); font:normal .75rem/1.6 var(--sans); letter-spacing:0; }

.time-section { position:relative; isolation:isolate; overflow:hidden; padding-block:3rem; background:var(--surface-2); }
.strand-texture { position:absolute; inset:0; width:100%; height:100%; color:currentColor; opacity:.12; pointer-events:none; z-index:-1; }
.time-section > .strand-texture { color:var(--brand); opacity:.14; left:54%; width:70%; }
.time-layout { display:grid; gap:1rem; }
.time-title h2 { font-size:var(--font-section); }
.time-title h2 > span { color:var(--accent); font-size:1.6em; font-style:italic; }
.time-title p:last-child { max-width:23rem; }
.appointment-graphic { width:100%; max-width:34rem; }
.appointment-labels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; max-width:34rem; text-align:center; font-size:.875rem; }
.time-explanation > p { margin:1.5rem 0 0; color:var(--text-muted); max-width:30rem; }

.services-section { display:grid; gap:1.5rem; }
.tool-picture { margin-top:1.8rem; max-width:28rem; }
.tool-picture img { aspect-ratio:3/2; object-fit:cover; }
.tool-picture figcaption { padding-top:.65rem; }
.price-list { margin-bottom:0; border-top:1px solid var(--border); }
.price-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:.75rem; padding:1.7rem 0; border-bottom:1px solid var(--border); }
.price-row dt { font:1.3rem/1.3 var(--serif); letter-spacing:-.025em; }
.price-row dd { margin:0; font-size:1rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
.price-row small { display:block; margin-top:.5rem; color:var(--text-muted); font:.875rem/1.5 var(--sans); letter-spacing:0; }
.price-row .price-request { font-size:.875rem; }
.featured-service { border-bottom-color:var(--brand); }
.price-note { margin:1.5rem 0 .25rem; color:var(--text-muted); font-size:.9375rem; }

.salonheft-section { padding-block:3.5rem; background:var(--surface-2); }
.journal-heading { display:grid; gap:.25rem; margin-bottom:1.5rem; }
.journal-heading > p { color:var(--text-muted); max-width:23rem; }
.journal-grid { display:grid; gap:3rem; }
.journal-image { display:block; margin-bottom:1.3rem; overflow:hidden; }
.journal-image > img { aspect-ratio:8/5; object-fit:cover; }
.journal-card:last-child .journal-image > img { object-position:50% 76%; }
.journal-drawing { display:flex; justify-content:center; align-items:center; background:var(--brand-dark); aspect-ratio:8/5; }
.journal-drawing .hair-lock { width:46%; height:100%; transform:rotate(-21deg); }
.journal-card h3 { font-size:1.85rem; margin-bottom:.8rem; }
.journal-card h3 a { text-decoration:none; }
.journal-card h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.journal-card > .eyebrow { margin-bottom:.7rem; color:var(--accent); }
.journal-card > p:not(.eyebrow) { color:var(--text-muted); margin-bottom:.35rem; }

.small-voices { display:grid; gap:2rem; padding-block:3.5rem; }
.voices-label .eyebrow { margin-bottom:.8rem; }
.voices-label > p:last-child { color:var(--text-muted); font-size:.75rem; }
.small-voices blockquote { border-top:1px solid var(--border); padding-top:1.5rem; }
.small-voices blockquote p { font:1.35rem/1.55 var(--serif); letter-spacing:-.015em; }
.small-voices footer { color:var(--text-muted); font-size:.75rem; }

.contact-section { padding-block:3.5rem; background:var(--surface-2); }
.contact-heading { display:grid; gap:1rem; margin-bottom:2.5rem; }
.contact-heading p:not(.eyebrow) { color:var(--text-muted); }
.phone-link { display:inline-flex; align-items:center; gap:1rem; min-height:3rem; font:1.85rem/1.5 var(--serif); letter-spacing:-.035em; text-decoration:none; border-bottom:1px solid var(--accent); }
.phone-link span { font:1.25rem/1 var(--sans); color:var(--accent); }
.phone-link:hover { color:var(--accent); }
.visit-grid { display:grid; gap:2.5rem; }
.local-map { width:100%; height:auto; border:1px solid var(--border); }
.map-figure figcaption { margin-top:.7rem; }
.visit-details { display:grid; gap:1.5rem; }
.visit-details h3 { margin-bottom:1rem; font:600 1rem/1.5 var(--sans); letter-spacing:0; }
address { font-style:normal; margin-bottom:.65rem; }
.map-link { margin-bottom:.3rem; }
.hours-block { border-top:1px solid var(--border); padding-top:1.5rem; }
.hours { margin-bottom:.8rem; }
.hours > div { display:flex; justify-content:space-between; gap:1rem; margin-bottom:.45rem; }
.hours dd { margin:0; white-space:nowrap; font-variant-numeric:tabular-nums; }

.site-footer { position:relative; isolation:isolate; overflow:hidden; padding-block:2.5rem 1.5rem; background:var(--brand-dark); color:var(--surface); }
.site-footer .strand-texture { width:35%; inset:auto 0 0 auto; opacity:.1; }
.footer-inner { display:flex; flex-direction:column; gap:1.5rem; }
.footer-brand { font:1.8rem/1.2 var(--serif); letter-spacing:-.04em; text-decoration:none; }
.footer-inner p { color:var(--text-inverse-muted); font-size:.75rem; margin:.65rem 0 0; }
.footer-inner nav { display:flex; flex-wrap:wrap; gap:1.25rem; }
.footer-inner nav a { display:inline-flex; align-items:center; gap:.4rem; min-height:2.75rem; font-size:.875rem; }
.draft-label { font-size:.65rem; color:var(--text-inverse-muted); }
.demo-footnote { padding-top:1.5rem; margin-top:1.5rem; margin-bottom:0; color:var(--text-inverse-muted); border-top:1px solid var(--border-inverse); font-size:.75rem; line-height:1.65; }
.site-footer a:focus-visible { outline-color:var(--accent-inverse); }

/* Einzelne Beiträge: kurze, eigenständig verständliche Abschnitte. */
.article-header { display:grid; gap:2rem; padding-block:2.5rem; }
.breadcrumb { display:inline-block; margin-bottom:1.8rem; padding-block:.5rem; font-size:.875rem; color:var(--text-muted); }
.article-header h1 { font-size:clamp(2.8rem,11vw,4.5rem); }
.article-deck { color:var(--text-muted); max-width:32rem; font-size:1.125rem; }
.article-header figure img { aspect-ratio:4/3; object-fit:cover; }
.article-header figure figcaption { margin-top:.5rem; }
.article-hair { display:flex; justify-content:center; background:var(--brand-dark); aspect-ratio:4/3; }
.article-hair svg { height:100%; width:65%; transform:rotate(-14deg); }
.article-meta { color:var(--text-muted); font-size:.75rem; }
.article-body { max-width:43rem; padding-block:1rem 4rem; }
.article-body section { margin-bottom:2.75rem; }
.article-body h2 { font-size:1.9rem; line-height:1.3; letter-spacing:-.035em; }
.article-body p { color:var(--text-muted); }
.article-note { border-left:3px solid var(--accent); background:var(--surface-2); padding:1.5rem; margin-block:2.5rem; }
.article-note p { margin-bottom:.5rem; }
.article-end { padding-top:1.7rem; border-top:1px solid var(--border); }
.article-other { display:grid; gap:.5rem; margin-top:1rem; }
.article-other a { min-height:2.75rem; display:flex; align-items:center; }
.article-light img { object-position:50% 75%; }

/* Rechtstexte bleiben klar erkennbare Entwürfe. */
.legal-header { padding-bottom:1.4rem; }
.legal-header .back-link { min-height:2.75rem; display:inline-flex; align-items:center; font-size:.875rem; }
.legal-main { max-width:48rem; padding-block:3rem 5rem; }
.legal-main h1 { font-size:clamp(2.5rem,10vw,4rem); overflow-wrap:anywhere; }
.legal-main h2 { margin-top:2.5rem; margin-bottom:1rem; font-size:1.65rem; line-height:1.3; letter-spacing:-.025em; }
.draft-notice { margin-block:2rem; padding:1.25rem; border:1px solid var(--accent); border-left:4px solid var(--accent); background:var(--surface-2); }
.draft-notice p { margin:.5rem 0 0; }
.placeholder { padding:1rem 1.1rem; border:1px dashed var(--accent); color:var(--accent); overflow-wrap:anywhere; }
.legal-main ul { padding-left:1.25rem; }
.legal-main li { margin-bottom:.75rem; }

@media (min-width:38rem) {
  .wrap { width:min(100% - 4rem,76rem); }
  .site-header { flex-wrap:nowrap; padding-block:1.5rem; }
  .site-header nav { width:auto; gap:1.3rem; }
  .hero { padding-block:3.5rem; }
  .hero-picture img { aspect-ratio:16/10; }
  .specialties { gap:2rem; font-size:.875rem; }
  .transition-section { padding-block:4.5rem 2.5rem; }
  .transition-stages { gap:2.5rem; }
  .stage-label { font-size:1.4rem; }
  .transition-stages figcaption p { max-width:18rem; font-size:.9375rem; }
  .transition-bottom { grid-template-columns:1fr auto; align-items:center; gap:2rem; }
  .voice-feature blockquote > p { font-size:2.2rem; }
  .voice-feature { padding-block:5rem; }
  .time-title h2 { font-size:var(--font-section); }
  .price-row dt { font-size:1.6rem; }
  .journal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; }
  .journal-card h3 { font-size:1.55rem; }
  .journal-card > p:not(.eyebrow) { font-size:.9375rem; }
  .small-voices { grid-template-columns:1fr 1fr; gap:2rem; }
  .voices-label { grid-column:1 / -1; }
  .voices-label br { display:none; }
  .visit-details { grid-template-columns:1fr 1fr; gap:2rem; }
  .hours-block { border:0; padding:0; }
  .footer-inner { flex-direction:row; align-items:center; justify-content:space-between; }
}

@media (min-width:60rem) {
  .wrap { width:min(100% - 7rem,76rem); }
  .site-header { padding-block:1.8rem; }
  .wordmark { font-size:2.6rem; }
  .site-header nav { gap:2.5rem; }
  .hero { grid-template-columns:.95fr 1.1fr; gap:3.5rem; align-items:center; padding-block:3.5rem; }
  h1 { font-size:var(--font-display); }
  .hero-picture img { aspect-ratio:1.05; object-position:53% 50%; }
  .hero-intro { font-size:1.125rem; }
  .hero .eyebrow { margin-bottom:2rem; }
  .specialties { justify-content:space-between; }
  .transition-heading { grid-template-columns:1.2fr 1fr; gap:5rem; align-items:end; }
  .transition-heading h2 { font-size:var(--font-moment); margin-bottom:0; }
  .transition-heading > p { margin-bottom:.35rem; font-size:1.0625rem; max-width:25rem; }
  .transition-stages { gap:5rem; margin-top:2.5rem; }
  .transition-stages .hair-lock { height:21rem; }
  .stage-label { font-size:1.9rem; }
  .transition-stages figcaption { padding-top:1.5rem; }
  .transition-bottom { margin-top:2.5rem; }
  .voice-feature { padding-block:6rem; }
  .voice-feature blockquote > p { font-size:2.5rem; }
  .section-space { padding-block:6rem; }
  .story-section { grid-template-columns:1fr 1.15fr; gap:6rem; align-items:center; }
  .portrait { margin-top:2rem; }
  .portrait img { aspect-ratio:.76; object-position:50% 45%; }
  .story-copy h2 { font-size:var(--font-section); }
  .story-copy .lead { font-size:1.55rem; }
  .time-section { padding-block:3.75rem; }
  .time-layout { grid-template-columns:1fr 1.15fr; gap:6rem; align-items:center; }
  .time-explanation { padding-top:1.5rem; }
  .time-explanation > p { max-width:30rem; }
  .services-section { grid-template-columns:1fr 1.15fr; gap:6rem; align-items:center; }
  .services-heading h2 { font-size:var(--font-section); }
  .tool-picture { max-width:23rem; }
  .price-row { padding-block:1.8rem; }
  .price-row dd { font-size:1.15rem; }
  .price-row .price-request { font-size:1rem; }
  .salonheft-section { padding-block:5rem; }
  .journal-heading { grid-template-columns:1.4fr 1fr; gap:4rem; align-items:end; margin-bottom:2.7rem; }
  .journal-heading h2 { margin-bottom:0; font-size:var(--font-section); }
  .journal-heading > p { margin-bottom:.3rem; }
  .journal-grid { gap:2.5rem; }
  .journal-card h3 { font-size:1.9rem; }
  .small-voices { grid-template-columns:.65fr 1fr 1fr; padding-block:4.5rem; gap:3rem; }
  .voices-label { grid-column:auto; }
  .voices-label br { display:block; }
  .small-voices blockquote { padding:0 0 0 2.5rem; border-top:0; border-left:1px solid var(--border); }
  .contact-section { padding-block:5rem; }
  .contact-heading { grid-template-columns:1.3fr 1fr; gap:5rem; align-items:end; margin-bottom:3rem; }
  .contact-heading h2 { font-size:var(--font-section); margin-bottom:0; }
  .phone-link { font-size:2.2rem; }
  .visit-grid { grid-template-columns:1.4fr 1fr; gap:5rem; align-items:start; }
  .visit-details { grid-template-columns:1fr; gap:1.7rem; }
  .hours-block { border-top:1px solid var(--border); padding-top:1.5rem; }
  .site-footer { padding-top:3rem; }
  .article-header { grid-template-columns:1.2fr 1fr; gap:5rem; padding-block:3.5rem; align-items:center; }
  .article-header h1 { font-size:4.1rem; }
  .article-header figure img,.article-hair { aspect-ratio:1; }
  .article-body { padding-block:2rem 5rem; }
  .legal-main { padding-top:4.5rem; }
}

@media (max-width:24rem) {
  .site-header nav { gap:.2rem .5rem; }
  .site-header nav a { font-size:.8125rem; }
  .transition-stages { column-gap:.55rem; }
  .transition-stages figcaption p { font-size:.875rem; hyphens:auto; }
  .stage-label { font-size:1rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; }
}
@media print {
  body { background:var(--print-surface); color:var(--print-text); font-size:11pt; }
  .wrap { width:100%; }
  .skip-link,.site-header nav,.button,.strand-texture,.quiet-link { display:none; }
  .site-header { padding-top:0; }
  h1 { font-size:var(--font-display); } h2 { font-size:var(--font-section); }
  .hero,.section-space,.services-section,.voice-feature,.transition-section,.salonheft-section,.small-voices,.contact-section { padding-block:1.5rem; }
  .transition-section { print-color-adjust:exact; }
  .site-footer { background:var(--print-surface); color:var(--print-text); }
  .site-footer p { color:var(--print-text); }
  figure,.price-row,.draft-notice { break-inside:avoid; }
  img { max-height:18rem; object-fit:contain!important; }
  .story-section,.services-section,.contact-heading,.article-header { display:block; }
  a { color:inherit; }
}

/* Kennzeichnung direkt am jeweiligen Musterangebot. */
.example-label { margin: .5rem 0 .15rem; color: var(--text-muted); font-size: .75rem; line-height: 1.5; }

/* Zweite dunkle Fläche im Mittelteil; Musterstimmen bleiben direkt gekennzeichnet. */
.voices-section { background:var(--brand-dark); color:var(--surface); }
.voices-section .voices-label > p:last-child,.voices-section .small-voices footer { color:var(--text-inverse-muted); }
.voices-section .small-voices blockquote { border-color:var(--border-inverse); }
.brand-mark { width:2.6rem; height:3.7rem; }

/* Das konkrete Beratungsangebot und seine Kontaktwege. */
.hero-promise { border-left:2px solid var(--accent); padding-left:1rem; max-width:27rem; line-height:1.65; }
.price-list { border-top:0; }
.price-row.featured-service { display:block; padding:1.4rem; background:var(--surface-2); border-top:3px solid var(--accent); border-bottom:0; }
.featured-service dt { font-size:1.85rem; line-height:1.3; }
.featured-service dt > a { text-decoration:none; }
.featured-service dt > a:hover { text-decoration:underline; }
.featured-service dd { margin-top:1rem; font:2.2rem/1.2 var(--serif); }
.offer-kicker { display:block; margin:0 0 .85rem; color:var(--accent); font:600 .75rem/1.6 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.featured-service .included-services { clear:both; margin-top:1.2rem; }
.offer-graphic { float:right; width:3.5rem; height:5rem; margin:0 0 .75rem .75rem; padding:.3rem; background:var(--brand-dark); }
.decision-note { margin-top:1.5rem; font:1.1rem/1.7 var(--serif); }
.time-action { padding-top:1.5rem; }
.service-offer { padding:1.25rem; margin:1.7rem 0; background:var(--surface-2); border-left:3px solid var(--accent); }
.offer-line { font-weight:600; font-size:1.0625rem; line-height:1.65; }
.service-offer .included-services { font-size:.9375rem; color:var(--text-muted); }
.service-header h1 { font-size:clamp(2.8rem,5.5vw,5rem); }
.service-header figure { align-self:center; }
.site-header nav a { padding-block:.15rem; }
.mobile-callbar { display:none; }
@media (min-width:38rem) {
  .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
  .featured-service dt { font-size:2rem; }
  .service-offer { padding:1.7rem; }
}
@media (max-width:47.999rem) {
  html { scroll-padding-bottom:8rem; }
  body { padding-bottom:7rem; }
  .mobile-callbar { position:fixed; z-index:50; inset:auto 0 0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; padding:.75rem 1.25rem calc(.75rem + env(safe-area-inset-bottom,0px)); background:var(--surface); border-top:1px solid var(--border); }
  .mobile-callbar > div { font-size:.75rem; line-height:1.5; }
  .mobile-callbar > div span { display:block; color:var(--text-muted); }
  .mobile-callbar .button { min-height:2.9rem; gap:.65rem; padding:.7rem .9rem; }
}
@media print { .mobile-callbar { display:none; } body { padding-bottom:0; } }

.svg-definitions { position:absolute; width:0; height:0; overflow:hidden; }
