@font-face {
  font-family: 'GANTIC';
  src: url('../fonts/gantic-light.woff2') format('woff2');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'GANTIC';
  src: url('../fonts/gantic-regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'GANTIC';
  src: url('../fonts/gantic-bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  src: url('../fonts/lato-thin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100;
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  src: url('../fonts/lato-thin-italic.woff2') format('woff2');
  font-style: italic;
  font-weight: 100;
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  src: url('../fonts/lato-light.woff2') format('woff2');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  src: url('../fonts/lato-light-italic.woff2') format('woff2');
  font-style: italic;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  src: url('../fonts/lato-regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Lato';
  src: url('../fonts/lato-bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root {
  --font-body: 'Lato', 'Helvetica Neue', Arial, sans-serif;
  --font-display: 'GANTIC', 'Helvetica Neue', Arial, sans-serif;
  --text-caption: 1.56rem;
  --text-small: 1.1rem;
  --text-body: 1.33rem;
  --text-ui: 2.1rem;
  --text-label: 1.5rem;
  --text-lead: 1.68rem;
  --text-claim: 1.42rem;
  --text-h1: 7.95rem;
  --text-h2: 4.65rem;
  --text-h3: 3.25rem;
  --leading-tight: .72;
  --leading-heading: .76;
  --leading-lead: 1.42;
  --leading-body: 1.5;
  --leading-small: 1.42;
  --weight-light: 300;
  --weight-heading: 300;
  --weight-regular: 400;
  --weight-semibold: 600;
  --weight-bold: 700;
  --color-paper: #fff6ee;
  --color-paper-rgb: 255 246 238;
  --color-cream-white: #ffffff;
  --color-faq-card: #fffefd;
  --color-surface: #fffdfa;
  --color-ink: #332d2d;
  --color-ink-rgb: 51 45 45;
  /* Was #756a65 at 4.91:1 on paper — only just past AA, and it carries nearly all
     body copy at weight 300. 6.18:1 reads noticeably stronger while staying clearly
     secondary to --color-ink (12.66:1). */
  --color-muted: #655b56;
  --color-line: #ead8cb;
  --color-primary: #ee9467;
  --color-primary-dark: #8e3e2e;
  --color-primary-text: #8e3e2e;
  --color-primary-hover: #f1a77f;
  --color-primary-soft: #fde5d8;
  --color-primary-line: #efb79f;
  --color-primary-veil: rgb(238 148 103 / .2);
  --color-primary-hero-line: rgb(244 191 167 / .88);
  --color-deep: #30282b;
  --color-deep-rgb: 48 40 43;
  --color-accent: #b95750;
  --color-accent-dark: #7d342f;
  --color-accent-soft: #fbe7df;
  --color-accent-tint: #fff0ea;
  --color-accent-line: #eab6a7;
  --color-accent-muted: #7c5148;
  --color-card-warm: #fff9f3;
  --color-clay: #7e4938;
  --color-clay-soft: #f7e2d7;
  --color-gold: #e7ae69;
  --color-berry: #884755;
  --color-berry-soft: #fae6e9;
  --color-sage: #f1d4ca;
  --color-black-22: rgb(0 0 0 / 0.22);
  --color-graphite: #2f2822;
  --section-faq-bg: linear-gradient(180deg, var(--color-paper), var(--color-surface));
  --shadow-soft: 0 1rem 2.8rem rgb(var(--color-ink-rgb) / 0.12);
  --shadow-card: 0 .7rem 1.8rem rgb(var(--color-ink-rgb) / .06);
  --shadow-card-hover: 0 1.1rem 2.2rem rgb(var(--color-ink-rgb) / .1);
  --radius-sm: 6px;
  --radius-md: 8px;
  --shell: min(1120px, calc(100vw - 40px));
  --space-xs: .5rem;
  --space-sm: .75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --section-y: clamp(4.5rem, 8vw, 7.5rem);
  --section-y-tight: clamp(3.5rem, 6vw, 5.25rem);
  --z-sticky: 80;
  --z-skip: 100;
  --duration-base: 180ms;
  --duration-medium: 280ms;
  --duration-slow: 620ms;
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-out-quart: cubic-bezier(.25, 1, .5, 1);
  --ease-out-quint: cubic-bezier(.22, 1, .36, 1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; overflow-x: clip; }
body { margin: 0; font-family: var(--font-body); font-weight: var(--weight-light); color: var(--color-ink); background: var(--color-paper); font-size: var(--text-body); line-height: var(--leading-body); font-kerning: normal; font-optical-sizing: auto; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; overflow-x: clip; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .18em; transition: color var(--duration-base) var(--ease-out), text-decoration-color var(--duration-base) var(--ease-out); }
a:hover { color: var(--color-primary-dark); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--color-sage); color: var(--color-ink); }
.skip-link { font-weight: var(--weight-regular); position: absolute; left: var(--space-md); top: var(--space-xs); z-index: var(--z-skip); transform: translateY(-160%); background: var(--color-ink); color: var(--color-surface); padding: .7rem 1rem; border-radius: var(--radius-sm); }
.skip-link:focus { transform: translateY(0); }
.shell { width: var(--shell); margin-inline: auto; }
.shell, .hero__content, .contact-form, .split__text, .section-head, .text-flow { min-width: 0; }
.icon { width: 1.05em; height: 1.05em; flex: 0 0 auto; }
.site-header { position: -webkit-sticky; position: sticky; top: 0; left: 0; right: 0; z-index: var(--z-sticky); background: var(--color-cream-white); border-bottom: 1px solid rgb(var(--color-ink-rgb) / .08); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.site-header__inner { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; min-width: 0; transition: transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out); }
.brand:hover, .brand:focus-visible { color: var(--color-ink); transform: translateY(-1px); opacity: .82; }
.brand img { width: 120px; height: auto; transition: transform var(--duration-base) var(--ease-out); }
.brand:hover img, .brand:focus-visible img { transform: scale(1.025); }
.brand span { font-family: var(--font-display); font-weight: var(--weight-regular); color: var(--color-muted); font-size: var(--text-caption); line-height: 1.12; max-width: 12rem; transition: color var(--duration-base) var(--ease-out); }
.brand:hover span, .brand:focus-visible span { color: var(--color-accent-dark); }
.site-nav { display: flex; align-items: center; gap: .25rem; padding: .18rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: color-mix(in oklch, var(--color-primary-soft) 66%, var(--color-surface)); box-shadow: 0 .35rem 1rem rgb(var(--color-ink-rgb) / .04); }
.site-nav__item { position: relative; display: inline-flex; align-items: center; }
.site-nav__item--has-subnav::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: .55rem; }
.site-nav a { font-family: var(--font-display); min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; padding: .55rem .75rem; border-radius: var(--radius-sm); font-weight: var(--weight-semibold); font-size: 1.5rem; line-height: 1; color: var(--color-ink); }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav a[aria-current='page'] { background: var(--color-surface); color: var(--color-accent-dark); box-shadow: 0 .25rem .75rem rgb(var(--color-ink-rgb) / .05); }
.site-subnav { position: absolute; left: 50%; top: calc(100% + .42rem); z-index: 12; min-width: 8.8rem; padding: .28rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); box-shadow: 0 .8rem 1.7rem rgb(var(--color-ink-rgb) / .09); opacity: 0; transform: translate(-50%, .35rem); pointer-events: none; transition: opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); }
.site-nav__item:hover .site-subnav,
.site-nav__item:focus-within .site-subnav { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.site-subnav .site-subnav__link { width: 100%; min-height: 34px; justify-content: center; padding: .42rem .68rem; font-size: 1.28rem; color: var(--color-accent-dark); white-space: nowrap; }
.site-subnav .site-subnav__link:hover,
.site-subnav .site-subnav__link:focus-visible { background: var(--color-primary-soft); color: var(--color-primary-dark); }
.nav-toggle { position: relative; display: none; align-items: center; justify-content: center; width: 46px; height: 46px; min-height: 46px; border: 1px solid var(--color-line); background: var(--color-surface); color: var(--color-ink); border-radius: 50%; padding: 0; transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out); }
.nav-toggle:hover, .nav-toggle:focus-visible { transform: translateY(-1px); background: var(--color-primary-soft); border-color: var(--color-primary-line); }
.nav-toggle__line { position: absolute; left: 50%; top: 50%; display: block; width: 20px; height: 2px; border-radius: 999px; background: currentColor; transform: translate(-50%, -50%); transform-origin: center; transition: transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out); }
.nav-toggle__line:nth-child(1) { transform: translate(-50%, calc(-50% - 6px)); }
.nav-toggle__line:nth-child(3) { transform: translate(-50%, calc(-50% + 6px)); }
.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(1) { transform: translate(-50%, -50%) rotate(45deg); }
.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(3) { transform: translate(-50%, -50%) rotate(-45deg); }
.hero { position: relative; min-height: clamp(380px, 58svh, 620px); display: grid; align-items: center; isolation: isolate; overflow: hidden; }
.hero--home,
.hero--page-image { --hero-fallback-height: clamp(410px, 51svh, 660px); min-height: var(--hero-image-height, var(--hero-fallback-height)); height: var(--hero-image-height, auto); }
.hero--page-image .hero__image { object-position: center 48%; }
.hero--compact { --hero-fallback-height: clamp(410px, 51svh, 660px); min-height: var(--hero-image-height, var(--hero-fallback-height)); }
.hero__media, .hero__shade { position: absolute; inset: 0; z-index: -2; }
.hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(1.03) brightness(1.03); }
.hero--home .hero__image { object-position: center 45%; }
.hero__shade { display: none; z-index: -1; background: none; }
.hero__content { padding-block: clamp(4.5rem, 8vw, 7rem); color: var(--color-surface); max-width: var(--shell); text-shadow: 0 2px 10px rgb(var(--color-deep-rgb) / .68), 0 14px 34px rgb(91 42 35 / .52); }
.hero__content > * { max-width: 900px; }
h1, h2, h3 { font-family: var(--font-display); line-height: var(--leading-heading); letter-spacing: 0; margin: 0; font-weight: var(--weight-heading); text-transform: uppercase; overflow-wrap: normal; hyphens: manual; text-wrap: balance; }
h1 { font-size: var(--text-h1); line-height: var(--leading-tight); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
p { margin: 0; }
.hero h1 { max-width: 9.1em; font-size: calc(var(--text-h1) * .9); }
.hero--home h1 { max-width: 8em; }
.hero--about .hero__image { object-position: center 36%; }
.hero__lead { font-size: var(--text-lead); line-height: var(--leading-lead); margin-top: 1.1rem; max-width: 56ch; }
.hero__body { margin-top: 1rem; color: rgb(255 253 250 / .9); max-width: 62ch; line-height: var(--leading-body); }
.hero .hero__lead, .hero .hero__body, .hero .hero__actions { display: none; }
.hero__actions, .section-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-lg); }
.section-actions--center { justify-content: center; }
.section-actions--section-head { margin-top: var(--space-xs); }
.eyebrow { font-family: var(--font-display); margin-bottom: .75rem; color: var(--color-accent); font-size: var(--text-label); font-weight: var(--weight-bold); line-height: 1; text-transform: uppercase; letter-spacing: 0; }
.eyebrow--light { color: var(--color-gold); }
.hero .eyebrow--light { color: var(--color-primary); }
.button { font-family: var(--font-display); min-height: 36px; max-width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: .42rem; padding: .42rem .88rem; border-radius: var(--radius-sm); border: 1px solid transparent; text-decoration: none; font-size: calc(var(--text-ui) * .86); font-weight: var(--weight-bold); line-height: 1; text-align: center; transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button:active { transform: translateY(0) scale(.985); }
.button .icon { width: .58em; height: .58em; }
.text-link .icon { width: .78em; height: .78em; }
.button .icon, .text-link .icon { transition: transform var(--duration-base) var(--ease-out-quart); }
.button:hover .icon, .button:focus-visible .icon, .text-link:hover .icon, .text-link:focus-visible .icon { transform: translateX(.12rem); }
/* Brand marks sit slightly larger than the arrow glyphs and lead the label, so the
   forward nudge above would read as motion in the wrong direction. */
.button .icon--brand { width: .68em; height: .68em; }
.button:hover .icon--brand, .button:focus-visible .icon--brand { transform: scale(1.08); }
/* Final client annotations: make external brand marks immediately recognisable. */
.button .icon--instagram { width: 1.05em; height: 1.05em; flex: 0 0 auto; }
.button .icon--phone { width: 1em; height: 1em; }
.button .icon--whatsapp { width: 1em; height: 1em; }
.button:hover .icon--whatsapp, .button:focus-visible .icon--whatsapp { transform: scale(1.06); }
.text-link .icon--google { width: 1.05em; height: 1.05em; }

/* Long button labels get a shorter mobile variant. display:none keeps the hidden
   variant out of the accessibility tree, so only one label is ever announced. */
.button__label--compact { display: none; }
.button--primary { position: relative; overflow: hidden; background: var(--color-primary); color: var(--color-ink); }
.button--primary::before { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 18%, rgb(255 253 250 / .34) 50%, transparent 82%); transform: translateX(-120%); transition: transform 520ms var(--ease-out-quint); pointer-events: none; }
.button--primary:hover::before, .button--primary:focus-visible::before { transform: translateX(120%); }
.button--primary:hover, .button--primary:focus-visible { background: var(--color-primary-hover); color: var(--color-ink); }
.button--ghost { color: var(--color-primary-dark); border-color: var(--color-primary-line); background: transparent; }
.button--ghost:hover, .button--ghost:focus-visible { background: var(--color-primary-soft); color: var(--color-primary-dark); }
.hero .button--ghost { color: var(--color-surface); border-color: var(--color-primary-hero-line); background: color-mix(in oklch, var(--color-primary-veil) 60%, transparent); }
.hero .button { text-shadow: none; }
.hero .button--ghost:hover, .hero .button--ghost:focus-visible { color: var(--color-surface); background: var(--color-primary-veil); border-color: var(--color-primary-hero-line); }
.button--secondary { color: var(--color-primary-dark); border-color: var(--color-primary-line); background: transparent; }
.button--secondary:hover, .button--secondary:focus-visible { background: var(--color-primary-soft); color: var(--color-primary-dark); }
.button--light { background: var(--color-surface); color: var(--color-primary-dark); }
.button--outline { color: var(--color-primary-dark); border-color: var(--color-primary-line); background: color-mix(in oklch, var(--color-surface) 72%, transparent); }
.button--outline:hover, .button--outline:focus-visible { color: var(--color-primary-dark); border-color: var(--color-primary-hover); background: var(--color-primary-soft); }
.section { padding-block: var(--section-y); background: var(--color-paper); }
.section--tight { padding-block: var(--section-y-tight); }
.section.section--seam-tight-before { padding-top: clamp(2.25rem, 4vw, 3.75rem); }
.section.section--seam-tight-after { padding-bottom: clamp(2.25rem, 4vw, 3.75rem); }
.section--tint { background: var(--color-cream-white); }
.section-head { max-width: 780px; margin-bottom: clamp(2rem, 4vw, 3rem); display: grid; gap: var(--space-sm); }
.section-head--center { margin-inline: auto; text-align: center; justify-items: center; }
.section-head .eyebrow { margin-bottom: 0; }
.section-head p:not(.eyebrow) { color: var(--color-muted); font-size: 1.3rem; line-height: var(--leading-body); max-width: 64ch; margin-top: 0; }
#einblicke .section-head { max-width: min(100%, 1120px); }
#einblicke .section-head h2 { max-width: 15em; font-size: min(clamp(3.4rem, 4.65vw, 4.65rem), var(--text-h2)); text-wrap: wrap; }
#vertrauen { padding-bottom: clamp(1.5rem, 2.4vw, 2.4rem); }
.trust-strip { font-family: var(--font-display); position: relative; z-index: 3; color: var(--color-ink); }
.trust-strip__inner { display: grid; align-items: stretch; padding-block: 1.05rem; }
.trust-strip__items { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: .85rem; }
.trust-strip__clone { display: none !important; }
.trust-strip__items :where(div, a) { min-height: 58px; display: flex; flex-direction: column; justify-content: center; padding-inline: .9rem .25rem; border-left: 1px solid var(--color-accent-line); text-decoration: none; }
.trust-strip strong { display: block; font-size: 1.82rem; line-height: 1; font-variant-numeric: tabular-nums; }
.trust-strip span { color: var(--color-accent-muted); font-size: 1.74rem; line-height: .82; }
.trust-strip--hero { width: 100%; margin: 0; border-block: 1px solid color-mix(in oklch, var(--color-primary) 20%, var(--color-line)); border-radius: 0; background: linear-gradient(90deg, color-mix(in oklch, var(--color-primary-soft) 62%, var(--color-paper)), color-mix(in oklch, var(--color-primary-soft) 78%, var(--color-surface)), color-mix(in oklch, var(--color-primary-soft) 62%, var(--color-paper))); box-shadow: none; overflow: hidden; }
.trust-strip--hero .trust-strip__inner { width: var(--shell); margin-inline: auto; padding: 1.28rem 0; }
.trust-strip--hero .trust-strip__items { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .7rem clamp(1rem, 2.6vw, 2rem); }
.trust-strip--hero .trust-strip__items :where(div, a) { min-height: auto; flex: 0 1 auto; display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 0; padding: 0; border-left: 0; color: var(--color-primary-dark); text-decoration: none; }
.trust-strip--hero .trust-strip__items :where(div, a)::before { content: none; }
.trust-strip--hero .trust-strip__items :where(div, a):nth-child(-n+2)::after { content: ''; width: .22rem; height: .22rem; margin-left: clamp(1rem, 2.6vw, 2rem); border-radius: 999px; background: color-mix(in oklch, var(--color-primary) 70%, var(--color-accent-dark)); align-self: center; }
.trust-strip--hero strong { color: var(--color-primary-dark); font-size: clamp(1.42rem, 1.5vw, 1.72rem); line-height: 1; text-transform: uppercase; font-weight: var(--weight-bold); }
.trust-strip--hero span { display: none; }
.trust-strip--links a { transition: background var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); }
.trust-strip--links a:hover, .trust-strip--links a:focus-visible { color: var(--color-primary-dark); transform: translateY(-1px); }
.hero-copy { background: var(--color-cream-white); border-bottom: 1px solid color-mix(in oklch, var(--color-primary) 16%, var(--color-line)); }
.hero-copy__inner { display: grid; align-content: center; justify-items: start; gap: clamp(.7rem, 1.35vw, .98rem); padding-block: clamp(1.85rem, 3.8vw, 3.15rem); }
.hero-copy h1 { max-width: 9.2em; color: var(--color-ink); font-size: clamp(4rem, 6.2vw, 7.1rem); line-height: .64; }
.hero-copy p { max-width: 62ch; color: var(--color-primary-dark); font-size: clamp(1.27rem, 1.49vw, 1.72rem); line-height: 1.42; text-wrap: balance; }
.hero-copy__facts { font-family: var(--font-display); position: relative; left: 50%; width: 100vw; list-style: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: .55rem clamp(.7rem, 1.55vw, 1.25rem); padding: .94rem max(20px, calc((100vw - 1120px) / 2)); margin: clamp(.95rem, 2.2vw, 2.1rem) -50vw 0; border-block: 1px solid var(--color-line); background: var(--section-faq-bg); color: var(--color-primary-dark); font-size: clamp(1.34rem, 1.42vw, 1.52rem); font-weight: var(--weight-bold); line-height: 1; text-transform: uppercase; }
.hero-copy__facts li { display: inline-flex; align-items: center; gap: clamp(.7rem, 1.55vw, 1.25rem); white-space: nowrap; }
.hero-copy__facts li:not(:last-child)::after { content: ''; width: .22rem; height: .22rem; border-radius: 999px; background: var(--color-primary); align-self: center; }
.hero-copy__facts a { color: inherit; text-decoration: none; transition: color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); }
.hero-copy__facts a:hover, .hero-copy__facts a:focus-visible { color: var(--color-primary-dark); transform: translateY(-1px); }
.hero-copy__facts--contact :where(a, .hero-copy__fact-static) { min-height: 2rem; display: inline-flex; align-items: center; gap: .42rem; color: inherit; text-decoration: none; }
.hero-copy__fact-icon { width: 1.46rem; height: 1.46rem; display: grid; place-items: center; border-radius: 999px; background: color-mix(in oklch, var(--color-primary-soft) 76%, var(--color-surface)); color: var(--color-primary-dark); box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--color-primary-line) 70%, transparent); }
.hero-copy__fact-icon .icon { width: .72rem; height: .72rem; }
.hero-copy__rating-bar.testimonial-showcase__rating { width: fit-content; margin-top: .72rem; padding-top: .68rem; border-top: 1px solid color-mix(in oklch, var(--color-primary) 34%, var(--color-line)); }
.hero-copy__rating-bar.testimonial-showcase__rating { gap: .85rem; }
.hero-copy__rating-bar .testimonial-showcase__stars .icon { width: 1.5rem; height: 1.5rem; }
.hero-copy__rating-bar.testimonial-showcase__rating .text-link { font-size: 1.62rem; font-weight: var(--weight-bold); text-decoration-color: color-mix(in oklch, var(--color-primary) 52%, transparent); }
.hero-copy--page .hero-copy__inner { padding-block: clamp(1.85rem, 3.5vw, 2.85rem); }
.hero-copy .hero-copy__inner--with-facts { padding-bottom: 0; }
.hero-copy--page { background: var(--color-cream-white); border-bottom-color: color-mix(in oklch, var(--color-primary) 10%, var(--color-line)); }
.hero-copy p.hero-copy__english { justify-self: start; width: fit-content; max-width: 100%; display: inline-flex; align-items: center; gap: .5rem; margin-top: .72rem; padding-top: .68rem; border-top: 1px solid color-mix(in oklch, var(--color-primary) 34%, var(--color-line)); }
.hero-copy__english .icon { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; color: var(--color-primary); }
.hero-copy--page h1 { max-width: 15em; font-size: clamp(3.8rem, 5vw, 6.4rem); line-height: .68; }
.hero-copy--page p { max-width: 62ch; }
.hero-copy--page .hero__actions { margin-top: .35rem; }
.hero-copy--legal h1 { max-width: 13em; }
.hero-copy--legal p { max-width: 58ch; }
.placeholder-panel { display: grid; gap: var(--space-md); width: min(840px, 100%); padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: linear-gradient(180deg, var(--color-surface), var(--color-card-warm)); box-shadow: var(--shadow-card); }
.placeholder-panel p { color: var(--color-muted); line-height: var(--leading-body); max-width: 68ch; }
.intro-statement { position: relative; background: linear-gradient(180deg, color-mix(in oklch, var(--color-primary-soft) 42%, var(--color-paper)), var(--color-paper)); border-bottom: 1px solid color-mix(in oklch, var(--color-primary) 14%, var(--color-line)); }
.intro-statement__inner { position: relative; display: grid; justify-items: center; padding-block: clamp(2.15rem, 4vw, 3.45rem); text-align: center; }
.intro-statement__inner::before { content: ''; width: clamp(2.4rem, 5vw, 4.4rem); height: 1px; margin-bottom: clamp(.85rem, 1.6vw, 1.1rem); background: var(--color-primary); opacity: .72; }
.intro-statement p { max-width: 66ch; color: var(--color-primary-dark); font-size: clamp(1.36rem, 1.61vw, 1.91rem); line-height: 1.36; font-weight: var(--weight-light); text-wrap: balance; }
.proof-editorial { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr); grid-template-areas: "copy reviews" "values values"; column-gap: clamp(2.25rem, 6vw, 5rem); row-gap: clamp(1.8rem, 3.8vw, 2.8rem); align-items: start; }
.proof-editorial__copy { grid-area: copy; position: relative; display: grid; gap: var(--space-md); align-content: start; }
.proof-editorial__copy .eyebrow { margin-bottom: 0; }
.proof-editorial__copy p:not(.eyebrow) { color: var(--color-muted); line-height: var(--leading-body); max-width: 68ch; }
.value-thread { --ring-left: 25%; --ring-top: 37%; --ring-width: 50%; --ring-height: 24%; --dot-size: .56rem; --label-gap: clamp(2rem, 2vw, 2.25rem); --side-label-width: clamp(14rem, 19vw, 15.2rem); --bottom-label-width: clamp(13.6rem, 19vw, 15.6rem); grid-area: values; position: relative; isolation: isolate; list-style: none; padding: 0; margin: 0; width: 100%; max-width: none; min-height: clamp(16.5rem, 18vw, 17.2rem); }
.value-thread::before { content: ''; position: absolute; z-index: 0; left: var(--ring-left); top: var(--ring-top); width: var(--ring-width); height: var(--ring-height); border: 1px solid color-mix(in oklch, var(--color-primary) 46%, transparent); border-radius: 50%; background: radial-gradient(ellipse at center, color-mix(in oklch, var(--color-primary) 7%, transparent), transparent 66%); pointer-events: none; }
.value-thread li { --dot-x: 50%; --dot-y: 37%; --label-x: var(--dot-x); --label-y: var(--dot-y); --label-width: clamp(22rem, 40vw, 26rem); --label-tx: -50%; --label-ty: calc(-100% - var(--label-gap)); --label-align: center; position: static; display: block; min-width: 0; text-align: var(--label-align); }
.value-thread li:nth-child(1) { --dot-x: 50%; --dot-y: 37%; --label-width: clamp(22rem, 40vw, 26rem); --label-tx: -50%; --label-ty: calc(-100% - var(--label-gap)); --label-align: center; }
.value-thread li:nth-child(2) { --dot-x: 75%; --dot-y: 49%; --label-width: var(--side-label-width); --label-tx: var(--label-gap); --label-ty: -50%; --label-align: left; }
.value-thread li:nth-child(3) { --dot-x: 64.69%; --dot-y: 58.71%; --label-width: var(--bottom-label-width); --label-tx: -50%; --label-ty: var(--label-gap); --label-align: center; }
.value-thread li:nth-child(4) { --dot-x: 35.31%; --dot-y: 58.71%; --label-width: var(--bottom-label-width); --label-tx: -50%; --label-ty: var(--label-gap); --label-align: center; }
.value-thread li:nth-child(5) { --dot-x: 25%; --dot-y: 49%; --label-width: var(--side-label-width); --label-tx: calc(-100% - var(--label-gap)); --label-ty: -50%; --label-align: right; }
.value-thread__mark { position: absolute; left: var(--dot-x); top: var(--dot-y); z-index: 2; width: var(--dot-size); height: var(--dot-size); margin-top: 0; border-radius: 50%; background: var(--color-primary); box-shadow: 0 0 0 .3rem var(--color-primary-soft); transform: translate(-50%, -50%); }
.value-thread__content { position: absolute; left: var(--label-x); top: var(--label-y); z-index: 1; width: var(--label-width); min-width: 0; max-width: 100%; transform: translate(var(--label-tx), var(--label-ty)); }
.value-thread li .value-thread__content { padding-top: 0; }
.value-thread strong, .testimonial-slider__link strong { font-family: var(--font-display); font-size: var(--text-ui); display: block; line-height: 1; color: var(--color-ink); }
.value-thread strong { text-wrap: balance; }
.value-thread__content > span, .testimonial-slider__link span { display: block; margin-top: .28rem; color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.value-thread__content > span { font-size: var(--text-small); line-height: 1.1; text-wrap: balance; }
.testimonial-slider { grid-area: reviews; position: relative; align-self: stretch; display: grid; gap: .58rem; align-content: start; padding: clamp(.9rem, 1.9vw, 1.1rem); border: 1px solid var(--color-accent-line); border-radius: var(--radius-md); background: linear-gradient(180deg, var(--color-surface), var(--color-accent-tint)); box-shadow: var(--shadow-soft); overflow: hidden; }
.testimonial-slider::before { content: '“'; position: absolute; right: .75rem; top: -.5rem; color: color-mix(in oklch, var(--color-primary) 38%, transparent); font-family: var(--font-display); font-size: 5.8rem; line-height: 1; pointer-events: none; }
.testimonial-slider__viewport { position: relative; min-height: 6.4rem; display: grid; }
.testimonial-slide { grid-area: 1 / 1; display: grid; gap: .55rem; align-content: start; opacity: 0; transform: translateX(1.1rem); pointer-events: none; transition: opacity var(--duration-medium) var(--ease-out), transform var(--duration-medium) var(--ease-out); }
.testimonial-slide.is-active { opacity: 1; transform: translateX(0); pointer-events: auto; }
.testimonial-slide p { color: var(--color-primary-dark); font-size: clamp(1.3rem, 1.84vw, 1.56rem); line-height: 1.3; font-weight: var(--weight-bold); max-width: 24ch; }
.testimonial-slide span { color: var(--color-accent-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.testimonial-slider__controls { display: flex; gap: .5rem; align-items: center; }
.testimonial-slider__controls button { min-height: 38px; border: 0; padding: 0; background: transparent; display: grid; place-items: center; color: var(--color-accent-dark); }
.testimonial-slider__dot { width: 1.82rem; }
.testimonial-slider__dot::before { content: ''; display: block; width: .62rem; height: .62rem; border-radius: 50%; background: var(--color-accent-line); transition: width var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out); }
.testimonial-slider__dot.is-active::before { width: 1.55rem; border-radius: 999px; background: var(--color-accent); }
.testimonial-slider__arrow { width: 2.35rem; border-radius: 50%; transition: background var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out); }
.testimonial-slider__arrow:hover, .testimonial-slider__arrow:focus-visible { background: var(--color-primary-soft); color: var(--color-ink); transform: translateY(-1px); }
.testimonial-slider .testimonial-slider__link { min-height: 40px; display: inline-flex; align-items: center; gap: .35rem; margin-top: 0; padding-top: .55rem; border-top: 1px solid var(--color-accent-line); text-decoration: none; }
.testimonial-slider__link > span:not(.text-link) { display: none; }
.proof-link-card { padding: 1rem; display: grid; gap: .55rem; text-decoration: none; background: linear-gradient(180deg, var(--color-surface), var(--color-card-warm)); border: 1px solid var(--color-line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.proof-link-card strong { font-family: var(--font-display); font-size: var(--text-ui); display: block; line-height: 1.18; color: var(--color-ink); }
.proof-link-card span { display: block; margin-top: .25rem; color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.proof-link-card:hover, .proof-link-card:focus-visible { transform: translateY(-3px); border-color: var(--color-primary-line); box-shadow: var(--shadow-card-hover); color: var(--color-ink); }
.proof-link-card .text-link { margin-top: 0; padding-top: 0; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.split--reverse { grid-template-columns: minmax(320px, .82fr) minmax(0, 1fr); }
.split--reverse .split__text { order: 2; }
.split__text { display: grid; align-content: start; gap: var(--space-md); }
.split__text .eyebrow { margin-bottom: 0; }
.split__text p:not(.eyebrow) { color: var(--color-muted); line-height: var(--leading-body); margin-top: 0; max-width: 64ch; }
.split__text .section-actions { margin-top: var(--space-xs); }
.split__figure { margin: 0; position: relative; }
.split__image { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-md); box-shadow: var(--shadow-soft); }
.split--equal { align-items: stretch; }
.split--equal .split__text { align-content: center; }
.split--equal .split__figure { align-self: stretch; display: flex; min-height: 100%; }
.split--equal .split__image { height: 100%; min-height: clamp(26rem, 42vw, 36rem); aspect-ratio: auto; }
.section--philosophy { background: var(--color-cream-white); }
.section--philosophy .shell { width: min(1320px, calc(100vw - 48px)); }
.section--philosophy .split { gap: clamp(2.5rem, 6vw, 5.75rem); }
.section--philosophy .split__text { gap: .68rem; }
.section--philosophy .split__text p:not(.eyebrow) { max-width: 72ch; line-height: var(--leading-body); }
.split__figure figcaption { margin-top: .65rem; color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.service-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(1rem, 2vw, 1.5rem); align-items: stretch; }
.service-grid--home { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 1.45rem); }
.service-card, .case-card, .press-card { background: linear-gradient(180deg, var(--color-surface), var(--color-card-warm)); border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-card); transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.service-card { display: grid; grid-template-rows: auto 1fr; }
.service-card:hover, .case-card:hover, .press-card:hover { transform: translateY(-3px); border-color: var(--color-accent-line); box-shadow: var(--shadow-card-hover); }
.section--tint .service-card, .section--tint .case-card { background: var(--color-cream-white); }
#angebote-uebersicht { background: var(--color-paper); }
#angebote-uebersicht.offer-overview--home { background: var(--color-cream-white); }
#vorher-nachher { background: var(--color-paper); }
.service-card__media { display: block; overflow: hidden; }
.service-card__media:hover .service-card__image, .service-card__media:focus-visible .service-card__image { transform: scale(1.035); }
.service-card__image { width: 100%; aspect-ratio: 5 / 3.25; object-fit: cover; transition: transform 360ms var(--ease-out); }
.service-card:hover .service-card__image { transform: scale(1.035); }
.service-card__body { padding: clamp(1rem, 2vw, 1.35rem); display: grid; gap: var(--space-xs); align-content: start; }
.service-grid--home .service-card__body { gap: .58rem; }
.service-card__meta, .case-card__tag { font-family: var(--font-display); color: var(--color-accent); font-size: var(--text-caption); line-height: 1.22; text-transform: uppercase; letter-spacing: 0; font-weight: var(--weight-bold); margin-bottom: .45rem; font-variant-numeric: tabular-nums; }
.case-card__tag { color: var(--color-clay); }
.service-card h3 a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; transition: color var(--duration-base) var(--ease-out); }
.service-card h3 a:hover, .service-card h3 a:focus-visible { color: var(--color-accent-dark); }
.service-card__meta { margin-bottom: 0; }
.service-card p:not(.service-card__meta), .case-card p:not(.case-card__tag) { color: var(--color-muted); line-height: var(--leading-small); margin-top: 0; }
.offer-grid { display: grid; gap: clamp(.75rem, 1.7vw, 1.05rem); }
.offer-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.offer-tile { font-family: var(--font-body); min-height: clamp(5.8rem, 8vw, 6.7rem); display: grid; grid-template-columns: 2.1rem minmax(0, 1fr); align-items: center; gap: 1rem; padding: clamp(1rem, 2vw, 1.35rem) clamp(1rem, 2.4vw, 1.55rem); border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-cream-white); color: var(--color-ink); text-decoration: none; box-shadow: 0 .55rem 1.35rem rgb(var(--color-ink-rgb) / .04); transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.offer-tile:hover, .offer-tile:focus-visible { color: var(--color-ink); border-color: var(--color-accent-line); background: var(--color-cream-white); box-shadow: 0 .85rem 1.7rem rgb(var(--color-ink-rgb) / .07); transform: translateY(-2px); }
.offer-tile__icon { width: 2.05rem; height: 2.05rem; color: var(--color-primary); transition: transform var(--duration-base) var(--ease-out-quart), color var(--duration-base) var(--ease-out); }
.offer-tile__icon:not(.offer-tile__icon--source) { stroke-width: 1.45; }
.offer-tile__icon--source { display: block; background-color: currentColor; -webkit-mask: var(--offer-icon-source) center / contain no-repeat; mask: var(--offer-icon-source) center / contain no-repeat; }
.offer-tile__icon--shopping { --offer-icon-source: url("../icons/offer-shopping.svg"); }
.offer-tile__icon--moving { --offer-icon-source: url("../icons/offer-moving.svg"); }
.offer-tile__icon--renovation { --offer-icon-source: url("../icons/offer-renovation.svg"); }
.offer-tile:hover .offer-tile__icon, .offer-tile:focus-visible .offer-tile__icon { color: var(--color-accent-dark); transform: translateY(-1px) scale(1.04); }
.offer-tile span { min-width: 0; display: grid; gap: .32rem; }
.offer-tile strong { display: block; color: var(--color-ink); font-size: clamp(1.08rem, 1.15vw, 1.16rem); line-height: 1.2; font-weight: var(--weight-regular); text-transform: none; }
/* --color-primary measured 2.32:1 here. The home page already overrode it to
   --color-primary-dark, so the same tile rendered differently on the two pages;
   the dark value is now the base and the override is gone. */
.offer-tile em { display: block; color: var(--color-primary-dark); font-size: clamp(.88rem, .95vw, .94rem); line-height: 1.3; font-style: normal; font-weight: var(--weight-regular); text-wrap: balance; }
.offer-overview--home .offer-tile { border-color: var(--color-primary-line); background: var(--color-paper); }
.offer-overview--home .offer-tile:hover, .offer-overview--home .offer-tile:focus-visible { border-color: var(--color-accent-line); background: var(--color-paper); }
.text-link { font-family: var(--font-display); font-size: var(--text-ui); min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; padding-top: var(--space-xs); color: var(--color-accent-dark); font-weight: var(--weight-bold); line-height: 1.2; text-decoration: none; transition: color var(--duration-base) var(--ease-out), gap var(--duration-base) var(--ease-out); }
.text-link:hover, .text-link:focus-visible { color: var(--color-primary-dark); gap: .55rem; }
.service-detail { --section-y: var(--section-y-tight); scroll-margin-top: 96px; background: var(--color-cream-white); border-top: 1px solid var(--color-line); }
.service-detail__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 21.5rem); grid-template-areas: "copy benefits"; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.service-detail__grid--single { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy"; }
.service-detail--reverse .service-detail__grid { grid-template-columns: minmax(18rem, 21.5rem) minmax(0, 1fr); grid-template-areas: "benefits copy"; }
.service-detail__copy { grid-area: copy; width: min(68ch, 100%); display: grid; gap: var(--space-md); align-content: start; }
.service-detail--reverse .service-detail__copy { justify-self: end; }
.service-detail__copy .eyebrow { margin-bottom: 0; }
.service-detail__copy p { margin-top: 0; color: var(--color-muted); line-height: var(--leading-body); max-width: 68ch; }
.service-detail__copy .section-actions { margin-top: var(--space-xs); }
/* --color-primary on white measured 2.32:1, below the 3:1 minimum for large text.
   --color-accent keeps the warm character and reaches 4.62:1. */
.claim { color: var(--color-accent) !important; font-weight: var(--weight-bold); font-size: var(--text-claim); line-height: 1.3; }
/* Regular weight rather than bold: body copy around it is weight 300, so 700 made
   the price shout. */
.service-detail__meta { color: var(--color-ink) !important; font-weight: var(--weight-regular); font-variant-numeric: tabular-nums; }
.benefit-panel { grid-area: benefits; width: 100%; position: sticky; top: 96px; background: var(--color-paper); border: 1px solid var(--color-accent-line); border-radius: var(--radius-md); padding: clamp(1rem, 2vw, 1.35rem); box-shadow: 0 .7rem 1.8rem rgb(var(--color-ink-rgb) / .05); overflow: hidden; }
/* Project photo heads the card. Negative margins pull it to the card edges so it
   reads as part of the panel rather than an inset thumbnail. */
.benefit-panel__media { display: block; margin: calc(clamp(1rem, 2vw, 1.35rem) * -1); margin-bottom: clamp(1rem, 2vw, 1.35rem); }
.benefit-panel__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
/* Same contrast fix as .claim: was 2.17:1 on the panel background. */
.benefit-panel h3 { font-family: var(--font-display); font-size: 1.8rem; line-height: 1; font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: 0; color: var(--color-accent); margin-bottom: .9rem; }
.benefit-panel ul { list-style: disc outside; padding: 0 0 0 1.15rem; margin: 0; display: grid; gap: .65rem; }
.benefit-panel li { padding-left: .12rem; color: var(--color-muted); line-height: var(--leading-small); }
.benefit-panel li::marker { color: var(--color-ink); }
.case-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); gap: clamp(1rem, 2vw, 1.35rem); }
.case-card { padding: clamp(1rem, 2vw, 1.35rem); min-height: 220px; }
.case-card h3 { font-size: 2.1rem; line-height: 1; }
.case-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-card--media { padding: 0; display: grid; grid-template-rows: auto 1fr; min-height: 0; }
.case-card__media { display: block; width: 100%; border: 0; padding: 0; background: transparent; overflow: hidden; }
.case-card__media img { width: 100%; aspect-ratio: 5 / 3.4; object-fit: cover; transition: transform 360ms var(--ease-out); }
.case-card__media:hover img, .case-card__media:focus-visible img, .case-card--media:hover .case-card__media img { transform: scale(1.035); }
.case-card__body { padding: clamp(1rem, 2vw, 1.35rem); display: grid; gap: var(--space-xs); align-content: start; }
.case-card--media blockquote { margin: .25rem 0 0; color: var(--color-primary-dark); font-weight: var(--weight-bold); line-height: var(--leading-small); }
.case-card--media blockquote::before { content: '"'; }
.case-card--media blockquote::after { content: '"'; }
.reference-stories { display: grid; gap: clamp(1.15rem, 2.6vw, 1.9rem); }
.reference-story { display: grid; grid-template-columns: minmax(260px, .58fr) minmax(0, 1fr); background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; box-shadow: 0 .35rem 1rem rgb(var(--color-ink-rgb) / .038); transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.reference-story:hover { transform: translateY(-1px); border-color: var(--color-primary-line); box-shadow: 0 .7rem 1.5rem rgb(var(--color-ink-rgb) / .06); }
.reference-story--text-only { grid-template-columns: 1fr; }
.reference-story__media { display: block; width: 100%; min-height: 100%; border: 0; padding: 0; background: var(--color-paper); overflow: hidden; }
.reference-story__media img { display: block; width: 100%; height: 100%; min-height: clamp(19rem, 28vw, 25rem); object-fit: cover; transition: transform 420ms var(--ease-out); }
.reference-story__media:hover img, .reference-story__media:focus-visible img { transform: scale(1.028); }
.reference-story__body { padding: clamp(1.15rem, 2.6vw, 1.85rem); display: grid; gap: .55rem; align-content: center; }
.reference-story--text-only .reference-story__body { padding-block: clamp(1.25rem, 2.8vw, 2rem); }
.reference-story__meta { font-family: var(--font-display); order: 1; color: var(--color-muted); font-size: var(--text-caption); font-weight: var(--weight-bold); line-height: 1.22; text-transform: uppercase; letter-spacing: 0; }
.reference-story h3 { order: 2; font-size: clamp(1.92rem, 3vw, 2.66rem); }
.reference-story__intro { order: 4; color: var(--color-muted); line-height: 1.45; max-width: 68ch; }
.reference-story__quote { order: 3; margin: .2rem 0 .15rem; padding-block: .1rem; color: var(--color-ink); font-size: clamp(.84rem, 1.05vw, .98rem); font-weight: var(--weight-bold); line-height: 1.38; max-width: 48ch; }
.reference-story__quote p::before { content: '"'; }
.reference-story__quote p::after { content: '"'; }
.reference-story__more { order: 5; color: var(--color-muted); line-height: var(--leading-small); padding-top: 0; border-top: 0; }
.reference-story__more summary { width: max-content; max-width: 100%; min-height: 44px; display: inline-flex; align-items: center; color: var(--color-muted); font-size: .9rem; font-weight: var(--weight-bold); cursor: pointer; transition: color var(--duration-base) var(--ease-out); }
.reference-story__more summary:hover, .reference-story__more summary:focus-visible { color: var(--color-accent-dark); }
.reference-story__more[open] summary { margin-bottom: .55rem; }
.reference-story__more p + p { margin-top: .55rem; }
.reference-story__gallery-link { order: 6; justify-self: start; min-height: 36px; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-paper); padding: .42rem .88rem; color: var(--color-ink); font-size: calc(var(--text-ui) * .86); line-height: 1; }
.reference-story__gallery-link:hover, .reference-story__gallery-link:focus-visible { border-color: var(--color-primary-line); background: var(--color-primary-soft); color: var(--color-ink); }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: clamp(1rem, 2vw, 1.35rem); align-items: stretch; }
.gallery-grid--mixed { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-grid--press { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.gallery-grid--showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 1.5rem); }
.gallery-grid--showcase .gallery-item:not(.comparison-card) .gallery-item__button { aspect-ratio: 4 / 4.8; }
.gallery-item { margin: 0; min-height: 100%; display: grid; grid-template-rows: auto 1fr; background: linear-gradient(180deg, var(--color-surface), var(--color-card-warm)); border: 1px solid var(--color-line); border-radius: var(--radius-md); overflow: hidden; transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.gallery-item:hover { transform: translateY(-3px); border-color: var(--color-primary-line); box-shadow: 0 1rem 2rem rgb(var(--color-ink-rgb) / .08); }
.gallery-item__button, .press-card__image { display: block; width: 100%; border: 0; padding: 0; background: transparent; }
.gallery-item__button { aspect-ratio: 4 / 3; overflow: hidden; }
.gallery-item__image, .press-card__img { transition: transform 360ms var(--ease-out); }
.gallery-item__button:hover .gallery-item__image, .gallery-item__button:focus-visible .gallery-item__image, .press-card__image:hover .press-card__img, .press-card__image:focus-visible .press-card__img { transform: scale(1.035); }
.gallery-item__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-item__image--document { object-position: top; }
.gallery-grid--mixed .comparison-card .gallery-item__button { aspect-ratio: 4 / 3; }
.gallery-item figcaption { padding: .95rem; display: grid; gap: .2rem; align-content: start; }
.gallery-item figcaption strong { font-family: var(--font-display); font-size: var(--text-ui); line-height: 1.15; color: var(--color-clay); }
.gallery-item span, .section-note { color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.section-note { margin-top: 1rem; }
.comparison-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.comparison-card__button { position: relative; overflow: hidden; }
.comparison-card .gallery-item__button { aspect-ratio: 4 / 3.2; }
.comparison-card__pair { display: grid; grid-template-columns: 1fr 1fr; width: 100%; height: 100%; }
.comparison-card__panel { position: relative; min-width: 0; overflow: hidden; }
.comparison-card__panel + .comparison-card__panel { border-left: 1px solid rgb(var(--color-paper-rgb) / .76); }
.comparison-card__panel .gallery-item__image { width: 100%; height: 100%; object-fit: cover; }
.comparison-card__label { font-family: var(--font-display); position: absolute; left: .75rem; top: .75rem; z-index: 1; padding: .28rem .55rem; border-radius: var(--radius-sm); background: rgb(var(--color-paper-rgb) / .88); color: var(--color-primary-dark) !important; font-size: var(--text-caption) !important; font-weight: var(--weight-bold); line-height: 1.15 !important; box-shadow: 0 .35rem 1rem rgb(var(--color-ink-rgb) / .12); }
.comparison-card { grid-template-rows: auto auto auto; }
.comparison-grid--complete > .comparison-card { min-height: 0; display: block; background: transparent; }
.comparison-card__slider { position: relative; cursor: ew-resize; touch-action: pan-y; }
.comparison-card__slider .comparison-card__pair { position: absolute; inset: 0; display: block; }
.comparison-card__slider .comparison-card__panel { position: absolute; inset: 0; border: 0; }
.comparison-card__slider .comparison-card__panel + .comparison-card__panel { border-left: 0; }
.comparison-card__panel--before { z-index: 1; }
.comparison-card__panel--after { z-index: 2; clip-path: inset(0 0 0 var(--comparison-split)); }
.comparison-card__label--after { left: auto; right: .75rem; }
.comparison-card__handle { position: absolute; z-index: 4; top: 0; bottom: 0; left: var(--comparison-split); width: 44px; cursor: ew-resize; touch-action: none; transform: translateX(-50%); }
.comparison-card__handle::before { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; background: rgb(var(--color-paper-rgb) / .9); box-shadow: 0 0 1rem rgb(var(--color-ink-rgb) / .22); transform: translateX(-50%); }
.comparison-card__handle span { position: absolute; left: 50%; top: 50%; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid rgb(var(--color-paper-rgb) / .86); background: color-mix(in oklch, var(--color-primary) 82%, var(--color-surface)); box-shadow: 0 .45rem 1.1rem rgb(var(--color-ink-rgb) / .22); transform: translate(-50%, -50%); }
.comparison-card__handle span::before,
.comparison-card__handle span::after { content: ''; position: absolute; top: 50%; width: .42rem; height: .42rem; border-top: 2px solid var(--color-surface); border-left: 2px solid var(--color-surface); }
.comparison-card__handle span::before { left: .55rem; transform: translateY(-50%) rotate(-45deg); }
.comparison-card__handle span::after { right: .55rem; transform: translateY(-50%) rotate(135deg); }
.comparison-card__range { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; opacity: 0; pointer-events: none; }
.comparison-card__slider:focus-within .comparison-card__handle span { outline: 3px solid color-mix(in oklch, var(--color-accent) 34%, transparent); outline-offset: 3px; }
.press-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: var(--space-md); }
.press-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 1.5rem); }
.press-card { background: linear-gradient(180deg, var(--color-paper), var(--color-accent-tint)); }
.press-card__image { overflow: hidden; }
.press-card__img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; }
.press-card__body { padding: .9rem; background: var(--color-accent-tint); }
.press-card__body p { font-family: var(--font-display); color: var(--color-accent-dark); font-size: var(--text-caption); font-weight: var(--weight-bold); line-height: 1.2; text-transform: uppercase; letter-spacing: 0; margin-bottom: .35rem; font-variant-numeric: tabular-nums; }
.press-card__body h3 { font-family: var(--font-display); font-size: 1.8rem; line-height: 1.04; font-weight: var(--weight-bold); }
.press-card__body span { display: block; color: var(--color-muted); margin-top: .35rem; font-size: var(--text-small); line-height: var(--leading-small); }
.press-card__body .press-card__meta { font-family: var(--font-display); font-size: 1.74rem; line-height: .82; color: var(--color-primary-dark); font-weight: var(--weight-bold); }
#referenzen { padding-bottom: var(--section-y-tight); }
#presse { padding-top: var(--section-y-tight); }
.faq-section { background: var(--section-faq-bg); }
.faq-list { width: min(100%, 980px); margin-inline: auto; display: grid; gap: .74rem; }
.faq-item { border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-faq-card); overflow: hidden; transition: border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.faq-item:not(.is-open):hover { border-color: var(--color-primary-line); background: color-mix(in oklch, var(--color-surface) 86%, var(--color-primary-soft)); box-shadow: 0 .45rem 1rem rgb(var(--color-ink-rgb) / .04); }
.faq-item:focus-within, .faq-item.is-open { border-color: var(--color-primary-line); background: var(--color-faq-card); box-shadow: 0 .45rem 1rem rgb(var(--color-ink-rgb) / .04); }
.faq-item__trigger { font-family: var(--font-body); font-size: calc(var(--text-ui) * .64); width: 100%; min-height: 4.05rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .95rem 1.15rem; border: 0; background: transparent; color: var(--color-ink); font-weight: var(--weight-regular); line-height: 1.25; text-align: left; cursor: pointer; }
.faq-item__trigger .icon { color: var(--color-accent-dark); transform-origin: center; transition: transform 340ms var(--ease-out-quart), color var(--duration-base) var(--ease-out); }
.faq-item.is-open .faq-item__trigger .icon { transform: rotate(180deg); }
.faq-item__panel { height: 0; overflow: hidden; opacity: 0; transform: translateY(-.18rem); transition: height 340ms var(--ease-out-quart), opacity 240ms var(--ease-out), transform 340ms var(--ease-out-quart); }
.faq-item__panel p { padding: 0 1.15rem 1.1rem; color: var(--color-muted); line-height: var(--leading-body); max-width: 70ch; }
.faq-item.is-open .faq-item__panel { opacity: 1; transform: translateY(0); }
.testimonial-showcase { padding-block: clamp(4.1rem, 6.7vw, 6.25rem); background: var(--color-paper); }
.testimonial-showcase.section--seam-tight-after { padding-bottom: clamp(2.05rem, 3.35vw, 3.125rem); }
.testimonial-showcase__grid { --testimonial-media-height: clamp(18rem, 26vw, 23.5rem); display: grid; grid-template-columns: minmax(0, .84fr) minmax(380px, 1.16fr); gap: clamp(2.7rem, 6vw, 5.35rem); align-items: center; }
.testimonial-showcase__copy { display: grid; gap: .72rem; align-content: center; max-width: 31rem; }
.testimonial-showcase__copy .eyebrow { margin-bottom: 0; }
.testimonial-showcase__copy h2 { max-width: 9.2em; font-size: clamp(3.05rem, 3.9vw, 4.55rem); line-height: .8; }
.testimonial-showcase__rotator { width: 100%; display: grid; gap: .28rem; margin-top: .18rem; }
.testimonial-showcase__viewport { position: relative; min-height: clamp(5.8rem, 7vw, 7.25rem); display: grid; }
.testimonial-showcase__quote { margin: .18rem 0 0; }
.testimonial-showcase__quote blockquote { position: relative; margin: 0; padding-left: .95rem; color: var(--color-muted); font-size: clamp(1.13rem, 1.14vw, 1.32rem); line-height: 1.42; font-style: italic; text-transform: none; }
.testimonial-showcase__quote blockquote::before { content: ''; position: absolute; left: 0; top: .04em; bottom: .04em; width: 1px; background: var(--color-primary); }
.testimonial-showcase__quote figcaption { margin-top: .58rem; padding-left: .95rem; display: grid; justify-items: start; gap: .44rem; color: var(--color-accent-muted); font-size: .9rem; line-height: 1.3; }
.testimonial-showcase__quote .testimonial-showcase__stars { color: var(--color-primary); }
.testimonial-showcase__quote .testimonial-showcase__stars .icon { width: .86rem; height: .86rem; }
.testimonial-showcase__review-controls { display: flex; align-items: center; gap: .35rem; min-height: 1rem; margin-top: .2rem; }
.testimonial-showcase__review-controls .testimonial-slider__dot { min-height: 1rem; width: 1.32rem; display: grid; place-items: center; border: 0; padding: 0; background: transparent; color: var(--color-primary); cursor: pointer; }
.testimonial-showcase__review-controls .testimonial-slider__dot::before { width: .48rem; height: .48rem; background: color-mix(in oklch, var(--color-primary) 46%, var(--color-paper)); }
.testimonial-showcase__review-controls .testimonial-slider__dot.is-active::before { width: 1.08rem; background: var(--color-primary); }
.testimonial-showcase__rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .52rem; margin-top: .48rem; color: var(--color-primary); }
.testimonial-showcase__stars { display: inline-flex; gap: .12rem; color: var(--color-primary); }
.testimonial-showcase__stars .icon { width: 1.05rem; height: 1.05rem; }
.testimonial-showcase__actions { width: fit-content; display: grid; justify-items: start; gap: .9rem; margin-top: .18rem; }
.testimonial-showcase__google-link { width: fit-content; margin: 0; gap: .35rem; text-decoration: none; transition: color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); }
.testimonial-showcase__rating .text-link { min-height: auto; padding-top: 0; margin-top: 0; color: var(--color-primary-dark); font-size: 1.28rem; line-height: 1; text-decoration-color: transparent; transition: color var(--duration-base) var(--ease-out), text-decoration-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); }
.google-review-button { flex-wrap: wrap; }
.google-review-button .testimonial-showcase__stars { display: inline-flex; gap: .08rem; color: var(--color-primary-dark); }
.google-review-button .testimonial-showcase__stars .icon { width: .78em; height: .78em; }
.google-review-button .icon--google { width: 1em; height: 1em; }
.testimonial-showcase__google-link:hover,
.testimonial-showcase__google-link:focus-visible { color: var(--color-accent-dark); transform: translateX(.08rem); gap: .35rem; }
.testimonial-showcase__google-link:hover .icon--google,
.testimonial-showcase__google-link:focus-visible .icon--google { transform: none; }
.testimonial-showcase__actions .text-link { margin: 0; padding: 0; align-items: center; font-size: calc(var(--text-ui) * .86); }
.testimonial-showcase__actions .button { min-height: 2.6rem; padding-block: .48rem; line-height: 1; }
.testimonial-showcase__media { height: var(--testimonial-media-height); }
.testimonial-showcase__media img { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: var(--radius-sm); box-shadow: none; }
.service-detail--gift { background: var(--color-cream-white); }
.service-detail--gift .service-detail__copy { width: min(68ch, 100%); }
.cta-band { background: linear-gradient(135deg, var(--color-accent-soft), var(--color-accent-tint)), var(--color-paper); color: var(--color-ink); padding-block: clamp(3.5rem, 6vw, 5.5rem); border-top: 0; border-bottom: 1px solid var(--color-accent-line); }
.cta-band__inner { display: grid; grid-template-columns: 1fr auto; gap: clamp(1.25rem, 4vw, 3rem); align-items: center; }
.cta-band__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-sm); }
.cta-band__actions--stacked { width: min(100%, 16rem); display: grid; grid-template-columns: minmax(0, 1fr); justify-self: end; justify-items: stretch; }
.cta-band__actions--stacked .button { width: 100%; justify-content: space-between; }
.cta-band h2 { max-width: 760px; }
.cta-band p:not(.eyebrow) { color: var(--color-accent-muted); max-width: 720px; margin-top: .75rem; }
.cta-band .eyebrow--light { color: var(--color-accent-dark); }
.cta-band .button--light { background: var(--color-primary); color: var(--color-ink); }
.cta-band .button--light:hover, .cta-band .button--light:focus-visible { background: var(--color-primary-hover); color: var(--color-ink); }
.contact-section { background: var(--color-paper); }
.contact-form-shell { width: min(760px, var(--shell)); display: grid; gap: .9rem; justify-items: stretch; }
.english-note { color: var(--color-primary-dark) !important; font-weight: var(--weight-bold); }
.contact-form { position: relative; overflow: hidden; background: var(--color-surface); border: 1px solid var(--color-line); border-radius: var(--radius-md); padding: clamp(1rem, 3vw, 1.5rem); box-shadow: var(--shadow-soft); display: grid; gap: var(--space-sm); transition: border-color var(--duration-medium) var(--ease-out), box-shadow var(--duration-medium) var(--ease-out); }
.contact-form--simple { width: 100%; background: var(--color-cream-white); border-color: var(--color-line); border-radius: var(--radius-sm); box-shadow: var(--shadow-card); padding: clamp(1.25rem, 3.4vw, 2.2rem); gap: .82rem; }
.contact-form__head { display: grid; gap: .28rem; margin-bottom: .18rem; }
.contact-form__head h2 { font-size: clamp(3.05rem, 3.9vw, 4.1rem); line-height: .8; text-transform: none; font-weight: var(--weight-regular); color: var(--color-ink); }
.contact-form__head p { color: var(--color-muted); font-size: clamp(1.03rem, .89vw, 1.2rem); line-height: 1.4; }
.contact-form.is-success { border-color: var(--color-accent-line); box-shadow: 0 1rem 2.6rem rgb(var(--color-ink-rgb) / .09), 0 0 0 5px color-mix(in oklch, var(--color-accent) 10%, transparent); }
.form-honeypot { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.form-row { display: grid; gap: var(--space-xs); margin-bottom: 0; }
.form-row--split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
label { font-family: var(--font-display); font-size: var(--text-ui); font-weight: var(--weight-bold); line-height: 1.2; color: var(--color-ink); transition: color var(--duration-base) var(--ease-out); }
label span { color: var(--color-muted); font-weight: var(--weight-regular); }
input, textarea, select { width: 100%; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-paper); color: var(--color-ink); padding: .82rem .9rem; min-height: 46px; transition: background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); }
textarea { resize: vertical; min-height: 9rem; }
.contact-form--simple label { font-size: 1.48rem; line-height: .95; }
.contact-form--simple input,
.contact-form--simple textarea { min-height: 44px; padding: .72rem .84rem; background: var(--color-surface); font-size: 1.2rem; line-height: 1.2; }
.contact-form--simple textarea { min-height: 8.2rem; }
.contact-form--simple .button { justify-self: start; margin-top: .12rem; }
.contact-form--simple .form-note,
.contact-form--simple .form-status,
.contact-form--simple .form-success { font-size: .85rem; line-height: 1.4; }
.contact-form--simple .form-status { min-height: 1.15rem; margin-top: .35rem; }
.contact-form-shell__note { justify-self: center; text-align: center; color: var(--color-accent-muted) !important; }
.gift-note { justify-self: center; display: inline-flex; align-items: center; justify-content: center; gap: .48rem; margin-top: 1.25rem; color: var(--color-primary-dark); text-align: center; text-decoration: none; font-size: clamp(.95rem, .95vw, 1.15rem); line-height: 1.35; }
.gift-note__icon { width: 2.2rem; height: 2.2rem; display: grid; place-items: center; border-radius: 999px; background: var(--color-primary-soft); color: var(--color-primary-dark); }
.gift-note__icon .icon { width: 1rem; height: 1rem; }
.form-row:focus-within label { color: var(--color-accent-dark); }
input:focus, textarea:focus, select:focus, .button:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid color-mix(in oklch, var(--color-accent) 34%, transparent); outline-offset: 3px; }
[aria-invalid='true'] { border-color: var(--color-berry); box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-berry) 18%, transparent); animation: fieldNudge 180ms var(--ease-out-quart); }
input:focus, textarea:focus, select:focus { background: var(--color-surface); box-shadow: 0 .45rem 1rem rgb(var(--color-ink-rgb) / .06); }
.form-note, .form-status, .form-success { color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.form-status { min-height: 1.5rem; margin-top: .8rem; }
.form-success { color: var(--color-accent-dark); font-weight: var(--weight-bold); animation: statusIn var(--duration-medium) var(--ease-out-quart); }
.contact-form.is-success .form-status { color: var(--color-accent-dark); font-weight: var(--weight-bold); animation: statusIn var(--duration-medium) var(--ease-out-quart); }
.contact-form.is-error .form-status { color: var(--color-berry); font-weight: var(--weight-bold); animation: statusIn var(--duration-medium) var(--ease-out-quart); }
.button:disabled { cursor: wait; opacity: .76; transform: none; }
.legal-hero { padding-block: clamp(5rem, 10vw, 8rem) clamp(3rem, 6vw, 4rem); background: var(--color-surface); border-bottom: 1px solid var(--color-line); }
.legal-hero h1 { color: var(--color-ink); }
.legal-hero p:not(.eyebrow) { color: var(--color-muted); line-height: var(--leading-body); max-width: 66ch; margin-top: 1rem; }
.text-flow { max-width: 72ch; }
.text-flow h2 { font-family: var(--font-display); font-size: 1.92rem; line-height: 1.04; font-weight: var(--weight-bold); margin-top: 2rem; text-transform: uppercase; letter-spacing: 0; color: var(--color-primary-dark); }
.text-flow h2:first-child { margin-top: 0; }
.text-flow p { color: var(--color-muted); line-height: var(--leading-body); margin-top: .7rem; }
.redirect-page { min-height: 100svh; display: grid; align-content: center; gap: 1rem; width: min(680px, calc(100vw - 40px)); margin-inline: auto; }
.site-footer { background: var(--color-deep); color: var(--color-surface); padding-block: 3rem 1.4rem; }
.site-footer__grid { display: grid; grid-template-columns: 1.25fr repeat(3, .75fr); gap: 1.5rem; }
.site-footer__logo { width: 118px; background: transparent; border-radius: 0; padding: 0; margin-bottom: .9rem; filter: brightness(0) invert(1); }
.site-footer h2 { font-family: var(--font-display); font-size: var(--text-caption); line-height: 1.2; font-weight: var(--weight-bold); text-transform: uppercase; letter-spacing: 0; color: var(--color-gold); margin-bottom: .7rem; }
.site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.site-footer a:not(.site-footer__badge) { color: rgb(255 253 248 / .82); transition: color var(--duration-base) var(--ease-out), text-decoration-color var(--duration-base) var(--ease-out); text-decoration-color: transparent; }
.site-footer a:not(.site-footer__badge):hover, .site-footer a:not(.site-footer__badge):focus-visible { color: var(--color-surface); text-decoration-color: rgb(255 253 248 / .55); }
.site-footer p { color: rgb(255 253 248 / .72); }
.site-footer__grid > div:first-child p + p { margin-top: 1.15rem; }
.site-footer__grid > div:first-child p:last-of-type { display: grid; align-items: start; gap: .1rem; line-height: 1.3; }
.site-footer__grid > div:first-child p:last-of-type br { display: none; }
.site-footer__grid > div:first-child p:last-of-type a { display: block; width: max-content; min-height: auto; padding-block: 0; line-height: 1.3; }
.site-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid rgb(255 253 248 / .12); margin-top: 2rem; padding-top: 1.2rem; }
.lightbox { border: 0; padding: 0; background: transparent; width: min(1160px, calc(100vw - 28px)); max-width: min(1160px, calc(100vw - 28px)); overflow: visible; }
.lightbox[open] { animation: lightboxFadeIn var(--duration-medium) var(--ease-out-quart); }
.lightbox::backdrop { background: rgb(var(--color-ink-rgb) / .75); }
.lightbox[open]::backdrop { animation: backdropIn var(--duration-medium) var(--ease-out-quart); }
.lightbox__frame { position: relative; display: grid; place-items: center; }
.lightbox__figure { margin: 0; display: grid; justify-items: center; gap: .75rem; width: 100%; }
.lightbox img { display: block; max-width: 100%; max-height: 82svh; width: auto; height: auto; object-fit: contain; border-radius: var(--radius-md); background: transparent; box-shadow: 0 1.2rem 3.2rem rgb(0 0 0 / .28); }
.lightbox__caption { width: min(100%, 1120px); display: flex; justify-content: space-between; gap: 1rem; color: var(--color-surface); font-weight: var(--weight-bold); line-height: var(--leading-small); text-shadow: 0 2px 12px rgb(0 0 0 / .42); }
.lightbox__counter { color: rgb(255 253 248 / .76); white-space: nowrap; }
.lightbox__close { position: fixed; right: 1rem; top: 1rem; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--color-surface); color: var(--color-ink); font-size: 0; line-height: 0; display: block; padding: 0; -webkit-appearance: none; appearance: none; transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out); }
.control-icon { position: absolute; left: 50%; top: 50%; display: block; width: 18px; height: 18px; transform: translate(-50%, -50%); pointer-events: none; }
.control-icon--close::before, .control-icon--close::after { content: ''; position: absolute; left: 50%; top: 50%; width: 18px; height: 2px; border-radius: 999px; background: currentColor; transform-origin: center; }
.control-icon--close::before { transform: translate(-50%, -50%) rotate(45deg); }
.control-icon--close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.lightbox__close:hover, .lightbox__close:focus-visible { transform: translateY(-1px) scale(1.04); background: var(--color-primary-soft); }
.lightbox__nav { position: fixed; top: 50%; width: 46px; height: 46px; border: 0; border-radius: 50%; background: var(--color-surface); color: var(--color-primary-dark); font-size: 0; line-height: 0; display: block; padding: 0; -webkit-appearance: none; appearance: none; transform: translateY(-50%); transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out); }
.control-icon--prev, .control-icon--next { width: 18px; height: 18px; }
.control-icon--prev::before, .control-icon--next::before { content: ''; position: absolute; left: 50%; top: 50%; width: .7rem; height: .7rem; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform-origin: center; }
.control-icon--prev::before { transform: translate(calc(-50% + .1rem), -50%) rotate(-135deg); }
.control-icon--next::before { transform: translate(calc(-50% - .1rem), -50%) rotate(45deg); }
.lightbox__nav:hover, .lightbox__nav:focus-visible { background: var(--color-primary-soft); color: var(--color-ink); transform: translateY(-50%) scale(1.04); }
.lightbox__nav--prev { left: 1rem; }
.lightbox__nav--next { right: 1rem; }
.lightbox__nav[hidden] { display: none; }
.gallery-overview { border: 0; padding: 0; width: min(1180px, calc(100vw - 28px)); max-height: min(88svh, 860px); background: var(--color-surface); color: var(--color-ink); border-radius: var(--radius-md); box-shadow: 0 1.4rem 3.4rem rgb(0 0 0 / .28); overflow: hidden; }
.gallery-overview[open] { animation: lightboxIn var(--duration-medium) var(--ease-out-quart); }
.gallery-overview::backdrop { background: rgb(var(--color-ink-rgb) / .68); }
.gallery-overview__shell { display: grid; grid-template-rows: auto minmax(0, 1fr); max-height: min(88svh, 860px); }
.gallery-overview__head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: clamp(1rem, 2vw, 1.35rem); border-bottom: 1px solid var(--color-line); background: linear-gradient(180deg, var(--color-paper), var(--color-surface)); }
.gallery-overview__head h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); }
.gallery-overview__head p { color: var(--color-muted); max-width: 54ch; line-height: var(--leading-small); margin-top: .35rem; }
.gallery-overview__close { position: relative; flex: 0 0 auto; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--color-primary-soft); color: var(--color-ink); font-size: 0; line-height: 0; display: block; padding: 0; -webkit-appearance: none; appearance: none; transition: transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out); }
.gallery-overview__close:hover, .gallery-overview__close:focus-visible { transform: translateY(-1px) scale(1.04); background: var(--color-primary); }
.gallery-overview__grid { overflow-y: auto; overscroll-behavior: contain; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); grid-auto-rows: clamp(265px, 28vw, 348px); gap: 1.1rem; padding: clamp(1rem, 2vw, 1.35rem); align-items: start; }
.gallery-overview-card { appearance: none; position: relative; display: grid; grid-template-rows: auto 1fr; height: 100%; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-paper); padding: 0; overflow: hidden; min-height: 44px; text-align: left; transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out); }
.gallery-overview-card:hover, .gallery-overview-card:focus-visible { transform: translateY(-2px); border-color: var(--color-primary-line); box-shadow: var(--shadow-card-hover); }
.gallery-overview-card img { display: block; width: 100%; height: clamp(220px, 24vw, 300px); object-fit: cover; background: var(--color-card-warm); }
.gallery-overview-card span { display: grid; gap: .15rem; padding: .7rem; color: var(--color-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.gallery-overview-card strong { font-family: var(--font-display); position: absolute; left: .55rem; top: .55rem; padding: .22rem .46rem; border-radius: var(--radius-sm); background: rgb(var(--color-paper-rgb) / .9); color: var(--color-primary-dark); font-size: var(--text-caption); line-height: 1.15; box-shadow: 0 .35rem 1rem rgb(var(--color-ink-rgb) / .12); }
@media (prefers-reduced-motion: no-preference) {
  .hero__image { animation: heroImageSettle 900ms var(--ease-out-quint) both; }
  .hero__content > * { animation: heroContentIn var(--duration-slow) var(--ease-out-quint) both; }
  .hero__content > *:nth-child(2) { animation-delay: 70ms; }
  .hero__content > *:nth-child(3) { animation-delay: 140ms; }
  .hero__content > *:nth-child(4) { animation-delay: 210ms; }
  .hero__content > *:nth-child(5) { animation-delay: 280ms; }
  html.reveal-prep .trust-strip__inner,
  html.reveal-prep .section-head,
  html.reveal-prep .proof-editorial__copy,
  html.reveal-prep .value-thread li,
  html.reveal-prep .testimonial-slider,
  html.reveal-prep .proof-link-card,
  html.reveal-prep .split__text,
  html.reveal-prep .split__figure,
  html.reveal-prep .service-card,
  html.reveal-prep .service-detail__copy,
  html.reveal-prep .benefit-panel,
	  html.reveal-prep .case-card,
	  html.reveal-prep .reference-story,
	  html.reveal-prep .gallery-item,
	  html.reveal-prep .faq-item,
	  html.reveal-prep .testimonial-showcase__copy,
	  html.reveal-prep .testimonial-showcase__media,
  html.reveal-prep .gallery-overview-card,
  html.reveal-prep .press-card,
  html.reveal-prep .cta-band__inner,
  html.reveal-prep .contact-form,
  html.reveal-prep .legal-hero .shell,
  html.reveal-prep .text-flow,
  .reveal-ready { --reveal-x: 0; --reveal-y: 1.85rem; --reveal-scale: 1; opacity: 0; transform: translate3d(var(--reveal-x), var(--reveal-y), 0) scale(var(--reveal-scale)); transform-origin: center top; transition: opacity 720ms var(--ease-out-quint), transform 720ms var(--ease-out-quint); transition-delay: var(--reveal-delay, 0ms); will-change: opacity, transform; }
  html.reveal-prep .section-head, html.reveal-prep .legal-hero .shell, html.reveal-prep .text-flow, .section-head.reveal-ready, .legal-hero .shell.reveal-ready, .text-flow.reveal-ready { --reveal-y: 1.15rem; }
  html.reveal-prep .trust-strip__inner, html.reveal-prep .cta-band__inner, .trust-strip__inner.reveal-ready, .cta-band__inner.reveal-ready { --reveal-y: 1rem; --reveal-scale: .99; }
	  html.reveal-prep .proof-editorial__copy, html.reveal-prep .split__text, html.reveal-prep .service-detail__copy, html.reveal-prep .testimonial-showcase__copy, .proof-editorial__copy.reveal-ready, .split__text.reveal-ready, .service-detail__copy.reveal-ready, .testimonial-showcase__copy.reveal-ready { --reveal-x: -1.35rem; --reveal-y: .65rem; }
	  html.reveal-prep .split__figure, html.reveal-prep .benefit-panel, html.reveal-prep .contact-form, html.reveal-prep .testimonial-showcase__media, .split__figure.reveal-ready, .benefit-panel.reveal-ready, .contact-form.reveal-ready, .testimonial-showcase__media.reveal-ready { --reveal-x: 1.35rem; --reveal-y: .65rem; --reveal-scale: .975; }
	  html.reveal-prep .value-thread li, html.reveal-prep .testimonial-slider, html.reveal-prep .proof-link-card, html.reveal-prep .service-card, html.reveal-prep .case-card, html.reveal-prep .reference-story, html.reveal-prep .gallery-item, html.reveal-prep .faq-item, html.reveal-prep .gallery-overview-card, html.reveal-prep .press-card, .value-thread li.reveal-ready, .testimonial-slider.reveal-ready, .proof-link-card.reveal-ready, .service-card.reveal-ready, .case-card.reveal-ready, .reference-story.reveal-ready, .gallery-item.reveal-ready, .faq-item.reveal-ready, .gallery-overview-card.reveal-ready, .press-card.reveal-ready { --reveal-y: 1.55rem; --reveal-scale: .972; }
  html.reveal-prep .value-thread li, .value-thread li.reveal-ready { opacity: 1; transform: none; transition: none; will-change: auto; }
  .reveal-ready.is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); will-change: auto; }
  .has-nav-open .site-nav a { animation: navItemIn var(--duration-medium) var(--ease-out-quart) both; }
  .has-nav-open .site-nav a:nth-child(2) { animation-delay: 35ms; }
  .has-nav-open .site-nav a:nth-child(3) { animation-delay: 70ms; }
  .has-nav-open .site-nav a:nth-child(4) { animation-delay: 105ms; }
  .has-nav-open .site-nav a:nth-child(5) { animation-delay: 140ms; }
}
@keyframes heroImageSettle {
  from { opacity: .88; transform: scale(1.035); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes heroContentIn {
  from { opacity: 0; transform: translateY(.85rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes navItemIn {
  from { opacity: 0; transform: translateY(-.35rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fieldNudge {
  0%, 100% { transform: translateX(0); }
  35% { transform: translateX(-.18rem); }
  70% { transform: translateX(.18rem); }
}
@keyframes statusIn {
  from { opacity: 0; transform: translateY(-.25rem); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes lightboxIn {
  from { opacity: 0; transform: translateY(.5rem) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes lightboxFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes backdropIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes trustTicker {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@media (min-width: 1201px) {
  .hero--about .hero__image { object-position: center 30%; }
}
@media (min-width: 981px) {
  .hero-copy__inner { width: min(1280px, calc(100vw - 80px)); }
  .hero-copy__facts { padding-inline: max(40px, calc((100vw - 1280px) / 2)); }
  .hero-copy h1 { max-width: 15em; font-size: clamp(4rem, 5.25vw, 6.35rem); line-height: .66; }
  .hero:not(.hero--home) h1 { font-size: 7.5rem; max-width: 9.8em; }
  .service-grid:has(> .service-card:nth-child(7)) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .service-grid:has(> .service-card:nth-child(7)) .service-card { grid-column: span 2; }
  .service-grid:has(> .service-card:nth-child(7)) .service-card:nth-child(1),
  .service-grid:has(> .service-card:nth-child(7)) .service-card:nth-child(2),
  .service-grid:has(> .service-card:nth-child(7)) .service-card:nth-child(6),
  .service-grid:has(> .service-card:nth-child(7)) .service-card:nth-child(7) { grid-column: span 3; }
}
@media (min-width: 1600px) {
  .hero-copy__inner { width: min(1660px, calc(100vw - 64px)); }
  .hero-copy__facts { padding-inline: max(32px, calc((100vw - 1660px) / 2)); }
}
@media (min-width: 1800px) {
  .hero--home,
  .hero--page-image,
  .hero--compact { --hero-fallback-height: clamp(410px, calc(100svh - 464px), 730px); min-height: var(--hero-image-height, var(--hero-fallback-height)); }
}
@media (max-width: 980px) {
  :root {
    --text-h1: 6.5rem;
    --text-h2: 3.95rem;
    --text-h3: 2.83rem;
    --text-lead: 1.38rem;
    --leading-body: 1.5;
    --leading-lead: 1.42;
    --leading-small: 1.42;
  }
  .service-grid, .case-grid, .gallery-grid, .comparison-grid, .service-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .comparison-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero--home,
  .hero--page-image,
  .hero--compact { --hero-fallback-height: clamp(330px, 42svh, 430px); min-height: var(--hero-image-height, var(--hero-fallback-height)); }
  .proof-editorial { grid-template-columns: 1fr; grid-template-areas: "copy" "reviews" "values"; row-gap: var(--space-xl); }
  .testimonial-slider { width: min(100%, 36rem); }
  .testimonial-showcase__grid { --testimonial-media-height: auto; }
  .value-thread { --ring-left: 30%; --ring-top: 38%; --ring-width: 40%; --ring-height: 24%; --label-gap: 1.45rem; --side-label-width: clamp(10rem, 22vw, 12rem); --bottom-label-width: clamp(10rem, 22vw, 12rem); min-height: clamp(19rem, 38vw, 20rem); }
  .value-thread li:nth-child(1) { --dot-y: 38%; --label-width: clamp(21rem, 48vw, 26rem); }
  .value-thread li:nth-child(2) { --dot-x: 70%; --dot-y: 50%; }
  .value-thread li:nth-child(3) { --dot-x: 61.76%; --dot-y: 59.71%; }
  .value-thread li:nth-child(4) { --dot-x: 38.24%; --dot-y: 59.71%; }
  .value-thread li:nth-child(5) { --dot-x: 30%; --dot-y: 50%; }
  .value-thread__content > span { font-size: var(--text-small); }
  .case-grid--featured { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .reference-story { grid-template-columns: 1fr; }
  .reference-story__media { min-height: 340px; }
  .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* .service-detail--reverse .service-detail__grid is (0,2,0), so it outranks a bare
     .service-detail__grid here and the reversed blocks stayed two-column below 980px
     while the others collapsed. It has to be named explicitly. */
  .split, .split--reverse, .service-detail__grid, .service-detail--reverse .service-detail__grid, .contact-grid, .cta-band__inner, .testimonial-showcase__grid { grid-template-columns: 1fr; }
  .cta-band__actions { justify-content: flex-start; }
  .cta-band__actions--stacked { justify-self: start; }
  .service-detail__grid, .service-detail--reverse .service-detail__grid { grid-template-areas: "copy" "benefits"; }
  .split--reverse .split__text { order: initial; }
  .section--philosophy .shell { width: var(--shell); }
  .section--philosophy .split { gap: clamp(2rem, 6vw, 5rem); }
  .section--philosophy .split__text { gap: var(--space-md); }
  .section--philosophy .split__text p:not(.eyebrow) { max-width: 64ch; line-height: var(--leading-body); }
  .split--equal .split__figure { min-height: 0; }
  .split--equal .split__image { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
  /* Stacked, the panel would run the full column width and the 4:3 image would grow
     to ~690px tall, dominating the copy. Cap it so the card stays a card. */
  .benefit-panel { position: static; max-width: 32rem; }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-strip__inner { grid-template-columns: 1fr; }
  .trust-strip--hero { width: 100%; margin-top: 0; }
}
@media (max-width: 1180px) {
  :root {
    --text-h2: 3.95rem;
    --text-h3: 3rem;
  }
  .site-header__inner { min-height: 68px; }
  .brand img { width: 116px; }
  .brand span { display: none; }
  .nav-toggle { display: inline-flex; }
  .site-nav { position: fixed; inset: 68px 0 auto 0; background: var(--color-paper); border: 0; border-bottom: 1px solid var(--color-line); border-radius: 0; box-shadow: none; display: grid; gap: .1rem; padding: .75rem 14px 1rem; transform: translateY(-120%); opacity: 0; pointer-events: none; transition: transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out); }
  .has-nav-open .site-nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .site-nav__item { display: grid; align-items: stretch; }
  .site-nav__item--has-subnav::after { display: none; }
  .site-subnav { position: static; min-width: 0; padding: 0 0 .18rem; border: 0; background: transparent; box-shadow: none; opacity: 1; transform: none; pointer-events: auto; }
  .site-nav__item:hover .site-subnav,
  .site-nav__item:focus-within .site-subnav { transform: none; }
  .site-subnav .site-subnav__link { justify-content: flex-start; min-height: 36px; padding: .2rem .75rem .35rem 1.7rem; font-size: 1.24rem; color: var(--color-accent-muted); }
  .site-subnav .site-subnav__link::before { content: ''; width: .32rem; height: .32rem; margin-right: .55rem; border-radius: 999px; background: var(--color-primary); }
  .site-nav a { display: flex; min-height: 44px; align-items: center; }
}
@media (max-width: 900px) {
  :root {
    --text-h1: clamp(4.88rem, 12.5vw, 6.5rem);
    --text-h2: clamp(3.3rem, 7.8vw, 3.95rem);
    --text-lead: clamp(1.9rem, 4.2vw, 2.18rem);
  }
  .hero { min-height: clamp(620px, 76svh, 720px); align-items: center; }
  .hero--home,
  .hero--page-image,
  .hero--compact { --hero-fallback-height: clamp(330px, 42svh, 430px); min-height: var(--hero-image-height, var(--hero-fallback-height)); }
  .hero__shade { background: linear-gradient(180deg, rgb(91 42 35 / .36), rgb(146 76 52 / .42)), rgb(128 67 45 / .26); }
  .hero__content { padding-block: clamp(4.25rem, 11vw, 6.6rem); text-shadow: 0 2px 10px rgb(24 20 18 / .72), 0 12px 32px rgb(24 20 18 / .48); }
  .hero__content > * { max-width: 100%; }
  .hero h1 { max-width: 8.6em; }
  .form-note a, .text-flow a, .site-footer a:not(.site-footer__badge) { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; vertical-align: middle; }
}
@media (max-width: 760px) {
  :root {
    --shell: min(1120px, calc(100vw - 28px));
  --text-body: 1.15rem;
    --text-ui: 1.82rem;
    --text-caption: 1.48rem;
    --text-small: 1.02rem;
    --text-label: 1.43rem;
    --text-h1: 3.93rem;
    --text-h2: 2.95rem;
    --text-h3: 2.3rem;
    --text-lead: 1.17rem;
    --text-claim: 1.17rem;
    --leading-tight: .76;
    --leading-heading: .82;
    --leading-lead: 1.42;
    --leading-body: 1.5;
    --leading-small: 1.42;
  }
  .site-header__inner { min-height: 68px; }
  .brand img { width: 116px; }
  .brand span { display: none; }
  .nav-toggle { display: inline-flex; }
  .site-nav { position: fixed; inset: 68px 0 auto 0; background: var(--color-paper); border: 0; border-bottom: 1px solid var(--color-line); border-radius: 0; box-shadow: none; display: grid; gap: .1rem; padding: .75rem 14px 1rem; transform: translateY(-120%); opacity: 0; pointer-events: none; transition: transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out); }
  .has-nav-open .site-nav { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .site-nav__item { display: grid; align-items: stretch; }
  .site-nav__item--has-subnav::after { display: none; }
  .site-subnav { position: static; min-width: 0; padding: 0 0 .18rem; border: 0; background: transparent; box-shadow: none; opacity: 1; transform: none; pointer-events: auto; }
  .site-nav__item:hover .site-subnav,
  .site-nav__item:focus-within .site-subnav { transform: none; }
  .site-subnav .site-subnav__link { justify-content: flex-start; min-height: 36px; padding: .2rem .75rem .35rem 1.7rem; font-size: 1.24rem; color: var(--color-accent-muted); }
  .site-subnav .site-subnav__link::before { content: ''; width: .32rem; height: .32rem; margin-right: .55rem; border-radius: 999px; background: var(--color-primary); }
  .site-nav a { min-height: 44px; display: flex; align-items: center; }
  .hero { min-height: clamp(340px, 48svh, 520px); align-items: center; }
  .hero--home,
  .hero--page-image,
  .hero--compact { --hero-fallback-height: clamp(300px, 40svh, 410px); min-height: var(--hero-image-height, var(--hero-fallback-height)); }
  .hero__shade { display: none; background: none; }
  .hero__content { padding-block: clamp(3.7rem, 13vw, 5.2rem); text-shadow: 0 2px 10px rgb(24 20 18 / .72), 0 12px 32px rgb(24 20 18 / .48); }
  .hero__content > * { max-width: 100%; }
  .hero h1 { max-width: 8.6em; overflow-wrap: break-word; hyphens: auto; }
  .hero--home h1 { max-width: 6.9em; font-size: 3.12rem; line-height: .96; }
  .hero-copy__inner { padding-block: clamp(1.75rem, 7vw, 2.65rem); gap: .72rem; }
  .hero-copy .hero-copy__inner--with-facts { padding-bottom: 0; }
  .hero-copy h1 { max-width: 7.5em; font-size: clamp(3.25rem, 10vw, 4.55rem); line-height: .68; }
  .hero-copy p { max-width: 23rem; font-size: clamp(1.11rem, 3.54vw, 1.36rem); line-height: 1.42; }
  .hero-copy__facts { width: 100vw; display: grid; align-items: start; gap: .62rem; padding-inline: 14px; font-size: 1.32rem; }
  .hero-copy__facts li { width: 100%; gap: 0; }
  .hero-copy__facts li:not(:last-child)::after { content: none; }
  .hero-copy__facts--contact { width: 100vw; display: grid; align-items: start; gap: .62rem; }
  .hero-copy__facts--contact li { width: 100%; gap: 0; }
  .hero-copy__facts--contact li:not(:last-child)::after { content: none; }
  .hero-copy__facts--contact :where(a, .hero-copy__fact-static) { width: 100%; min-height: 2.85rem; }
  .hero-copy__fact-icon { width: 1.72rem; height: 1.72rem; }
  .hero-copy__fact-icon .icon { width: .82rem; height: .82rem; }
  .contact-form--simple { padding: 1.15rem; }
  .contact-form--simple .button { width: auto; justify-self: start; }
  .gift-note { display: grid; justify-items: center; text-align: center; }
  .case-card h3 { font-size: var(--text-h3); line-height: var(--leading-heading); }
  .hero__body { font-size: 1.02rem; }
  .hero__actions { width: 100%; max-width: 23rem; }
  .hero__actions .button { flex: 1 1 100%; }
  .button__label--full { display: none; }
  .button__label--compact { display: inline; }
  .section-actions--equal-mobile { width: 100%; max-width: 23rem; margin-inline: auto; flex-direction: column; align-items: stretch; }
  .section-actions--equal-mobile .button { width: 100%; min-height: 46px; }
  .section { padding-block: clamp(3.25rem, 11vw, 4rem); }
  .section.section--seam-tight-before { padding-top: clamp(1.625rem, 5.5vw, 2rem); }
  .section.section--seam-tight-after { padding-bottom: clamp(1.625rem, 5.5vw, 2rem); }
  .section-head { margin-bottom: var(--space-xl); }
  .intro-statement__inner { padding-block: clamp(1.9rem, 8vw, 2.7rem); }
  .intro-statement p { font-size: clamp(1.18rem, 3.8vw, 1.39rem); line-height: 1.38; max-width: 20rem; }
  .proof-editorial, .value-thread, .service-grid, .service-grid--home, .offer-grid--home, .case-grid, .case-grid--featured, .gallery-grid, .comparison-grid, .press-grid, .gallery-overview__grid, .trust-strip__items, .testimonial-showcase__media { grid-template-columns: 1fr; }
  .offer-tile { min-height: 5.45rem; grid-template-columns: 1.9rem minmax(0, 1fr); gap: .85rem; padding: 1rem; }
  .offer-tile__icon { width: 1.85rem; height: 1.85rem; }
  .offer-tile strong { font-size: 1.05rem; }
  .offer-tile em { font-size: .88rem; line-height: 1.3; }
  .value-thread { min-height: 0; padding: 0; margin-top: .2rem; display: grid; grid-template-rows: none; gap: .88rem; }
  .value-thread::before { display: none; }
  .value-thread li,
  .value-thread li:nth-child(n) { position: relative; left: auto; top: auto; grid-column: auto; grid-row: auto; width: auto; display: grid; grid-template-columns: .95rem minmax(0, 1fr); column-gap: .72rem; row-gap: 0; justify-items: initial; justify-self: stretch; align-self: auto; max-width: none; text-align: left; transform: none; }
  .value-thread__mark { position: static; width: .5rem; height: .5rem; margin-top: .34em; transform: none; }
  .value-thread__content,
  .value-thread li .value-thread__content { position: static; width: auto; max-width: none; padding-top: 0; transform: none; text-align: left; }
  .value-thread__content > span { font-size: var(--text-small); line-height: var(--leading-small); }
  .trust-strip--hero { width: 100%; margin-top: 0; }
  .trust-strip--hero .trust-strip__inner { width: var(--shell); padding-block: 1rem; }
  .trust-strip--hero .trust-strip__items { display: flex; justify-content: flex-start; gap: .6rem 1.05rem; }
  .trust-strip--hero .trust-strip__items :where(div, a) { min-height: auto; justify-content: flex-start; padding: 0; border-left: 0; border-top: 0; }
  .trust-strip--hero .trust-strip__items :where(div, a):not(:last-child)::after { margin-left: 1.05rem; }
  .hero--home + .trust-strip--hero { min-height: 58px; }
  .hero--home + .trust-strip--hero .trust-strip__inner { width: 100%; padding-block: .92rem; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 1rem, #000 calc(100% - 1rem), transparent); mask-image: linear-gradient(90deg, transparent, #000 1rem, #000 calc(100% - 1rem), transparent); }
  .hero--home + .trust-strip--hero .trust-strip__items { width: max-content; min-width: 100%; flex-wrap: nowrap; gap: 0; justify-content: flex-start; padding-inline-start: 1rem; animation: trustTicker 17s linear infinite; will-change: transform; }
  .hero--home + .trust-strip--hero .trust-strip__clone { display: inline-flex !important; }
  .hero--home + .trust-strip--hero .trust-strip__items :where(div, a) { flex: 0 0 auto; white-space: nowrap; padding: 0; }
  .hero--home + .trust-strip--hero .trust-strip__items :where(div, a)::after { content: ''; width: .22rem; height: .22rem; margin-inline: 1.05rem; border-radius: 999px; background: color-mix(in oklch, var(--color-primary) 70%, var(--color-accent-dark)); align-self: center; }
  .hero--home + .trust-strip--hero strong { font-size: 1.38rem; line-height: 1; }
  .testimonial-slider { padding: 1rem; }
  .testimonial-slider__viewport { min-height: 10.4rem; }
  .testimonial-slide p { max-width: 24ch; }
  .testimonial-showcase__viewport { min-height: 0; }
  .testimonial-showcase__copy { max-width: none; }
  .testimonial-showcase__actions { width: 100%; justify-items: stretch; }
  .testimonial-showcase__actions .button, .testimonial-showcase__actions .text-link { width: 100%; justify-content: center; }
  .testimonial-showcase__media { height: auto; }
  .testimonial-showcase__media img { min-height: 210px; aspect-ratio: 3 / 2; }
  .gallery-overview { width: calc(100vw - 20px); max-height: 84svh; }
  .gallery-overview__shell { max-height: 84svh; }
  .gallery-overview__head { align-items: start; }
  .reference-story__media { min-height: 0; height: auto; aspect-ratio: 4 / 3; }
  .reference-story__media img { min-height: 0; }
  .lightbox { width: calc(100vw - 20px); max-width: calc(100vw - 20px); }
  .lightbox img { max-height: 76svh; }
  .lightbox__caption { flex-direction: column; align-items: flex-start; gap: .2rem; font-size: var(--text-small); }
  .lightbox__nav { width: 42px; height: 42px; font-size: 0; line-height: 0; }
  .form-row--split { grid-template-columns: 1fr; }
  .site-footer__grid, .site-footer__bottom { grid-template-columns: 1fr; display: grid; }
  .trust-strip span, .press-card__body .press-card__meta { font-size: 1.61rem; }
}
@media (max-width: 900px) and (max-height: 520px) {
  :root {
    --text-h1: clamp(4.1rem, 10vw, 5.46rem);
    --text-lead: 1.72rem;
  }
  .hero { min-height: max(560px, calc(100svh - 68px)); }
  .hero__content { padding-block: 3.4rem; }
  .hero h1 { max-width: 10em; }
  .hero__body { font-size: .97rem; }
  .hero__actions { max-width: none; }
  .hero__actions .button { flex: 0 1 auto; }
}
@media (max-width: 360px) {
  :root {
    --shell: min(1120px, calc(100vw - 24px));
    --text-h1: 3.3rem;
    --text-h2: 2.62rem;
    --text-h3: 2.05rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .reveal-ready { opacity: 1 !important; transform: none !important; }
  .hero--home + .trust-strip--hero .trust-strip__items { width: auto; flex-wrap: wrap; justify-content: center; animation: none !important; transform: none !important; }
  .hero--home + .trust-strip--hero .trust-strip__clone { display: none !important; }
}
