:root {
  --color-primary: #104d70;
  --color-surface-dark: #706f6f;
  --color-on-dark-muted: #ffffff;
  --color-on-dark-accent: #ffffff;
  --color-hero: #104d70;
  --color-hero-rgb: 16 77 112;
  --color-accent: #2c698a;
  --color-muted: #526c7b;
  --color-paper: #f5f4f1;
  --color-line: #dcd8d1;
  --color-nature: #4a6343;
  --color-shade-rgb: 112 111 111;
  font-family: 'Open Sans Variable', 'Open Sans', sans-serif;
  color: var(--color-primary);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  --primary: var(--color-primary);
  --paper: var(--color-paper);
  --muted: var(--color-muted);
  --gutter: clamp(32px, 5.2vw, 110px);
  --benefit-height: clamp(92px, 10.37svh, 118px);
  --duration-quick: 150ms;
  --duration-interaction: 250ms;
  --duration-image: 450ms;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  background: var(--color-hero);
  animation: gm-overscroll step-end both;
  animation-timeline: scroll(root);
}
:root:has(.gm-subheader) { --color-hero: var(--color-surface-dark); }
@keyframes gm-overscroll { from { background-color: var(--color-hero); } 50%, to { background-color: #313131; } }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--paper); text-wrap: pretty; cursor: default; }
input, textarea, [contenteditable] { cursor: text; }
h1, h2, h3, h4, h5, h6, blockquote, figcaption { text-wrap: balance; }
span, small, dd, dt, label { text-wrap-style: balance; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
button, h1, h2, h3, p { margin: 0; }
button { border: 0; }
svg { display: block; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
html[data-pointer] :is(.gm-close, .menu-toggle):focus-visible { outline: none; }
::selection { color: #fff; background: var(--color-surface-dark); }
.skip-link { position: fixed; z-index: 100; left: 20px; top: 12px; padding: 14px 22px; background: white; color: var(--primary); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.gm-ki { display: block; padding: 5px 7px; background: rgb(0 0 0 / .32); box-shadow: inset 0 0 0 1px rgb(255 255 255 / .2); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: rgb(255 255 255 / .92); font-size: 11px; font-weight: 600; line-height: 1; pointer-events: auto; transition: opacity 300ms ease; }
.gm-ki-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.gm-ki-media { height: 105% !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}
.homepage { min-height: 100svh; background: var(--paper); }
.hero-scene { --division-height: max(235.65px, calc((100svh - var(--benefit-height)) * .35171)); --photo-height: calc(max(670px, 100svh) - var(--division-height) * .55); height: 100svh; min-height: 670px; position: relative; overflow: clip; color: #fff; isolation: isolate; background: var(--color-hero); }
.hero-intro { height: 100%; position: relative; }
.hero-photo-layer { position: absolute; inset: 0; z-index: -1; }
.hero-photo { position: absolute; left: max(39%, calc(100% - var(--photo-height) * 1.5)); top: 0; width: auto; height: var(--photo-height); max-width: none; object-fit: cover; mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / .06) 4%, rgb(0 0 0 / .25) 10%, rgb(0 0 0 / .62) 18%, rgb(0 0 0 / .9) 26%, #000 34%), linear-gradient(180deg, #000 0%, #000 92%, rgb(0 0 0 / .85) 95%, rgb(0 0 0 / .35) 98%, transparent 100%); mask-composite: intersect; transform-origin: 60% 0; }
.hero-scene::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgb(var(--color-hero-rgb) / 65%) 0%, rgb(var(--color-hero-rgb) / 53%) 18%, rgb(var(--color-hero-rgb) / 33%) 32%, rgb(var(--color-hero-rgb) / 12%) 48%, transparent 68%); }
.site-header { --header-top: clamp(28px, 3.55svh, 40px); --brand-w: clamp(195px, 12.7vw, 244px); position: relative; z-index: 10; display: flex; align-items: flex-start; justify-content: space-between; padding: var(--header-top) var(--gutter) 0; gap: 48px; }
.brand { container-type: inline-size; display: block; flex-shrink: 0; width: var(--brand-w); }
.brand-tagline { display: flex; align-items: center; justify-content: space-between; margin: 7px 0 0 20%; width: 79.8%; font-size: 5.3cqw; line-height: 1.5; white-space: nowrap; }
.brand-mark { display: block; aspect-ratio: 451 / 120; overflow: hidden; }
.brand-mark img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
.desktop-nav { display: flex; align-items: center; gap: clamp(25px, 2.65vw, 52px); padding-top: 8px; margin-left: auto; margin-right: auto; }
.nav-group { position: relative; }
.nav-trigger, .nav-contact { padding: 8px 0; color: #fff; background: transparent; font-size: clamp(13px, .84vw, 16px); font-weight: 400; white-space: nowrap; }
.nav-trigger { display: flex; align-items: center; gap: 9px; }
.nav-trigger svg { width: 20px; height: 20px; transition: transform var(--duration-interaction) var(--ease-out); }
.nav-trigger[aria-expanded='true'] svg { transform: rotate(180deg); }
.nav-contact { display: block; }
.nav-trigger:hover, .nav-contact:hover { opacity: .82; }
.nav-dropdown { position: absolute; top: calc(100% + 12px); left: -20px; min-width: 230px; padding: 10px; background: #fff; color: var(--primary); box-shadow: 0 16px 40px rgb(var(--color-shade-rgb) / 16%); transform-origin: top left; }
.nav-dropdown a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px; font-size: 14px; white-space: nowrap; }
.nav-dropdown a:hover, .nav-dropdown a:focus-visible { background: #eae8e4; }
.nav-dropdown svg { width: 20px; height: 20px; }
.nav-dropdown { top: calc(var(--brand-w) * .35 + 12px); }
.nav-dock[data-menu='island'] .nav-dropdown { top: calc(100% + 22px); }
.nav-sheet { width: min(1240px, 100vw - 2 * var(--gutter)); padding: 22px; transform-origin: top center; }
.nav-showcase-menu { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); gap: 30px; }
.nav-sheet-compact { width: min(900px, 100vw - 2 * var(--gutter)); }
.nav-sheet-compact .nav-showcase-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nav-sheet-compact .nav-service-list { grid-template-columns: minmax(0, 1fr); }
.nav-sheet-compact .nav-service-list > :nth-child(2) { grid-column: auto; grid-row: auto; }
.nav-showcase { position: relative; min-height: 320px; margin: -22px 0 -22px -22px; overflow: hidden; background: var(--color-surface-dark); }
.nav-showcase figure { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 450ms var(--ease-out) 450ms; }
.nav-showcase figure[data-active] { z-index: 1; opacity: 1; transition-delay: 0ms; }
.nav-showcase img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; scale: 1.06; transition: scale 1000ms var(--ease-out); }
.nav-showcase figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(28 30 31 / 0) 45%, rgb(28 30 31 / .72) 100%); }
.nav-showcase figcaption { position: absolute; z-index: 1; left: 26px; right: 22px; bottom: 22px; color: #fff; font-size: 30px; font-weight: 300; line-height: 1.15; letter-spacing: -.02em; translate: 0 12px; transition: translate 600ms var(--ease-out); }
.nav-showcase figcaption span { display: block; margin-bottom: 6px; font-size: 15px; font-weight: 600; letter-spacing: 0; }
.nav-showcase [data-active] img { scale: 1; }
.nav-showcase-ki { position: absolute; z-index: 1; right: 22px; bottom: 22px; }
.nav-showcase [data-active] figcaption { translate: 0 0; }
.nav-service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 14px; align-content: start; }
.nav-service-list > :nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
.nav-service-list p { margin: 0; padding: 6px 12px 4px; color: var(--muted); font-size: 14px; font-weight: 600; }
.nav-dropdown .nav-service-list .nav-desk-links > a { grid-template-columns: 34px minmax(0, 1fr) 20px; gap: 18px; padding: 14px 12px; }
.nav-dropdown .nav-service-list .nav-desk-links > a > svg:first-child { width: 34px; height: 34px; color: var(--primary); }
.nav-dropdown .nav-service-list .nav-desk-links > a > svg:last-child { rotate: -90deg; }
.nav-service-list strong { font-size: 16px; font-weight: 700; }
.nav-service-list small { font-size: 13px; }
.nav-sheet, .nav-panel-karriere { animation: nav-unroll 600ms var(--ease-out) backwards; }
.nav-service-list > .nav-desk-links, .nav-career-copy { animation: nav-wipe 800ms var(--ease-out) calc(30ms + var(--i, 0) * 70ms) backwards; }
.nav-showcase figure, .nav-career-image img { animation: nav-settle 1200ms var(--ease-out) 30ms backwards; }
@keyframes nav-unroll { from { clip-path: inset(0 -60px 100% -60px); } to { clip-path: inset(0 -60px -80px -60px); } }
@keyframes nav-wipe {
  from { translate: 0 -22px; mask-image: linear-gradient(#000 40%, transparent 60%); mask-size: 100% 250%; mask-position: 0 100%; }
  to { translate: 0 0; mask-image: linear-gradient(#000 40%, transparent 60%); mask-size: 100% 250%; mask-position: 0 0; }
}
@keyframes nav-settle { from { scale: 1.14; } }
.nav-panel-karriere { width: min(900px, 100vw - 2 * var(--gutter)); padding: 22px; transform-origin: top center; }
.nav-desk-card a:focus-visible, .nav-career a:focus-visible { outline-offset: 3px; }
.nav-dropdown .nav-desk-links > a { display: grid; grid-template-columns: 30px minmax(0, 1fr) 20px; gap: 14px; align-items: center; padding: 13px 12px; white-space: normal; }
.nav-dropdown .nav-desk-links > a > svg:first-child { width: 30px; height: 30px; color: var(--color-accent); stroke-width: 1.5; }
.nav-dropdown .nav-desk-links > a > svg:first-child :not(g, [stroke-dasharray]) { stroke-width: 1px; vector-effect: non-scaling-stroke; }
.nav-desk-links strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.4; }
.nav-desk-links small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.nav-dropdown .nav-desk-links > a > svg:last-child, .nav-dropdown .nav-career-copy > a svg { transition: translate var(--duration-interaction) var(--ease-out); }
.nav-dropdown .nav-desk-links > a:hover > svg:last-child, .nav-dropdown .nav-career-copy > a:hover svg { translate: 4px 0; }
.nav-desk-card { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; padding: 44px 20px 26px; color: #fff; background: var(--color-primary); clip-path: polygon(-1px 18px, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), -1px calc(100% + 1px)); }
.nav-dropdown .nav-desk-card a { padding: 0; white-space: normal; overflow-wrap: anywhere; }
.nav-dropdown .nav-desk-card a:hover, .nav-dropdown .nav-desk-card a:focus-visible { background: transparent; text-decoration: underline; text-underline-offset: 4px; }
.nav-dropdown .nav-desk-card > a[href^='tel'] { display: flex; align-items: center; justify-content: flex-start; gap: 16px; font-size: clamp(28px, 3vw, 40px); font-weight: 600; line-height: 1.1; letter-spacing: -.02em; }
.nav-desk-card svg { width: 30px; height: 30px; flex-shrink: 0; stroke-width: 1.5; }
.nav-desk-facts { display: flex; flex-wrap: wrap; gap: 16px 24px; margin-top: 18px; }
.nav-dropdown .nav-desk-facts > * { display: grid; grid-template-columns: 28px auto; gap: 0 12px; align-content: start; margin: 0; color: #fff; font-size: 14px; line-height: 1.45; }
.nav-desk-facts svg { grid-row: span 2; width: 28px; height: 28px; }
.nav-desk-facts small { color: #dce7ed; font-size: 12px; }
.nav-desk-card a:focus-visible { outline-color: #fff; }
.nav-sheet .nav-desk-card { margin: 0 -22px -22px -30px; padding-left: 50px; }
.nav-sheet .nav-desk-card > a, .nav-sheet .nav-desk-facts > * { animation: nav-wipe 800ms var(--ease-out) 170ms backwards; }
.nav-sheet .nav-desk-facts > :first-child { animation-delay: 240ms; }
.nav-sheet .nav-desk-facts > :last-child { animation-delay: 310ms; }
.nav-career { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.nav-career-image { position: relative; min-height: 240px; margin: -22px 0 -22px -22px; overflow: hidden; background: var(--color-surface-dark); }
.nav-career-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.nav-career-copy { padding: 8px 4px 4px 12px; }
.nav-career-copy > p { margin: 0 0 10px; font-size: 22px; font-weight: 300; line-height: 1.2; letter-spacing: -.03em; }
.nav-career-copy > p strong { display: block; font-weight: 720; }
.nav-dropdown .nav-career-copy > a { padding: 10px 12px 10px 0; white-space: normal; }
.nav-dropdown .nav-career-copy > a:first-of-type { font-weight: 600; }
.nav-dropdown .nav-career-copy > a:hover { background: transparent; color: var(--color-accent); }
@media (max-width: 1150px) {
  .nav-dropdown .nav-service-list .nav-desk-links > a { grid-template-columns: 28px minmax(0, 1fr) 16px; gap: 12px; padding: 12px 8px; }
  .nav-dropdown .nav-service-list .nav-desk-links > a > svg:first-child { width: 28px; height: 28px; }
  .nav-showcase figcaption { left: 18px; bottom: 16px; font-size: 24px; }
}
.header-actions { display: flex; gap: clamp(26px, 2.45vw, 48px); padding-top: 3px; align-items: center; }
.nav-dock { --dock-logo: var(--brand-w); --dock-top: var(--header-top); position: absolute; inset: 0 0 auto; z-index: 20; display: grid; grid-template-columns: var(--dock-logo) 1fr auto 1fr 44px; align-items: start; gap: inherit; width: auto; height: auto; margin: 0; padding: var(--dock-top) var(--gutter) 0; border: 0; overflow: visible; color: inherit; background: none; pointer-events: none; }
.nav-dock:popover-open { position: fixed; translate: 0 var(--dock-y, 0px); }
.nav-dock[data-menu='away'] { visibility: hidden; }
.nav-dock > * { grid-row: 1; pointer-events: auto; }
.nav-dock > :is(.desktop-nav, .dock-island) { grid-column: 3; }
.dock-island { z-index: -1; align-self: stretch; margin: -2px -36px -10px; background: #fff; box-shadow: 0 12px 32px #082b4324; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity 400ms ease-in-out, visibility 0s 400ms; }
.nav-dock :is(.nav-trigger, .nav-contact, .menu-toggle) { transition: color 60ms linear 190ms; }
.nav-dock[data-menu='island'] > .dock-island { opacity: 1; visibility: visible; transition: none; }
.nav-dock[data-menu='island'] :is(.nav-trigger, .nav-contact, .menu-toggle) { color: #313131; transition: none; }
html[data-menu-pin] .nav-dock[data-menu='island'] > .dock-island { transition: opacity 400ms ease-in-out; }
html[data-menu-pin] .nav-dock[data-menu='island'] :is(.nav-trigger, .nav-contact, .menu-toggle) { transition: color 60ms linear 190ms; }
.hero-copy { position: relative; z-index: 1; margin-left: var(--gutter); padding-top: clamp(86px, 9.3svh, 110px); width: fit-content; max-width: calc(100% - 2 * var(--gutter)); }
h1 { font-size: clamp(52px, 4.17vw, 80px); line-height: 1.11; letter-spacing: -.038em; margin-top: 18px; font-weight: 300; }
.headline-mask { display: block; overflow: hidden; padding-bottom: .095em; margin-bottom: -.095em; }
.headline-mask > span { display: block; width: max-content; }
.headline-light { font-weight: 300; }
.headline-bold { font-weight: 750; letter-spacing: -.027em; }
.hero-description { font-size: 21px; line-height: 1.57; margin: 28px 0 29px; letter-spacing: .007em; font-weight: 400; color: #f3f2ef; }
.hero-description span { display: block; }
@media (max-width: 1599px) and (min-width: 1001px) { h1 { font-size: 4.42vw; } .hero-description { font-size: 17px; line-height: 1.65; } }
@media (max-width: 1000px) { h1 { font-size: 64px; } .hero-description { font-size: 18px; } }
@media (max-width: 600px) { h1 { font-size: min(clamp(34px, 11.28vw, 44px), calc((100vw - 48px) * .12)); line-height: 1.13; } .hero-description { margin: 25px 0; font-size: 16px; line-height: 1.65; } }
.primary-cta { display: flex; align-items: center; justify-content: space-between; gap: 23px; width: fit-content; min-height: 53px; padding: 14px 26px; margin-top: 28px; background: #fff; color: var(--primary); font-size: clamp(13px, .8vw, 15px); font-weight: 500; }
.primary-cta svg { width: 26px; height: 23px; transition: transform var(--duration-interaction) var(--ease-out); }
.primary-cta:hover svg, .primary-cta:focus-visible svg { transform: translateX(5px); }
.primary-cta:hover { background: #f2f1ee; }
.divisions { position: absolute; bottom: 0; left: 0; right: 0; height: var(--division-height); z-index: 2; }
.division-clip-defs { position: absolute; pointer-events: none; }
.division-link { display: block; position: absolute; top: 0; height: 100%; outline: none; }
.division-baeder { left: 0; width: 29.296875%; clip-path: url(#gm-division-baeder); --label-x: 44.53%; }
.division-fliesen { left: 19.296875%; width: 32.96875%; clip-path: url(#gm-division-fliesen); --label-x: 53.55%; }
.division-stahl { left: 45.078125%; width: 31.640625%; clip-path: url(#gm-division-stahl); --label-x: 52.35%; }
.division-energie { left: 70.78125%; width: 29.21875%; clip-path: url(#gm-division-energie); --label-x: 53.74%; }
.division-reveal { position: absolute; inset: 0; background: var(--color-surface-dark); }
.division-media { position: absolute; inset: 0; --hover-video-fade-in: 120ms; --hover-video-fade-out: 400ms; }
.division-image { width: 100%; height: 100%; object-fit: cover; }
.division-video { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity var(--hover-video-fade-out) ease-in-out; }
.division-video[data-state="playing"], .division-video[data-state="holding"] { opacity: 1; transition-duration: var(--hover-video-fade-in); }
.division-baeder .division-image { object-position: 45% 47%; }
.division-fliesen .division-image { object-position: 50% 50%; }
.division-stahl .division-image { object-position: 50% 48%; }
.division-energie .division-image { object-position: 65% 30%; }
@media (min-width: 951px) {
  .division-energie .division-media { translate: 0 clamp(20px, 2.3vw, 36px); }
}
.division-shade { position: absolute; inset: 0; background: #292929; opacity: .2; transition: opacity var(--duration-interaction) var(--ease-out); }
.division-fliesen .division-shade, .division-energie .division-shade { background: linear-gradient(0deg, rgb(var(--color-shade-rgb) / 48%), transparent 65%); opacity: 1; }
.division-link:hover .division-shade, .division-link:focus-visible .division-shade { opacity: .04; }
.hero-ki { position: absolute; z-index: 1; right: clamp(16px, 2.4vw, 48px); bottom: clamp(26px, 4.6svh, 52px); }
.division-ki { position: absolute; left: calc(100% + 14px); bottom: 16px; display: none; text-shadow: none; }
.division-link:has(.division-video:is([data-state="playing"], [data-state="holding"])) .division-ki { display: block; }
.division-fliesen:hover .division-shade, .division-fliesen:focus-visible .division-shade, .division-energie:hover .division-shade, .division-energie:focus-visible .division-shade { opacity: .65; }
.division-content { position: absolute; left: var(--label-x); bottom: 10%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; width: max-content; text-shadow: 0 2px 12px rgb(var(--color-shade-rgb) / 15%); }
.division-content > svg { width: clamp(49px, 3.65vw, 70px); height: clamp(49px, 3.65vw, 70px); stroke-width: 1.75; }
.division-content strong { font-size: clamp(18px, 1.35vw, 25px); line-height: 1.4; margin-top: 12px; letter-spacing: .11em; font-weight: 750; text-transform: uppercase; }
.division-underline { display: block; width: 48px; height: 1px; background: white; opacity: .8; margin-top: 12px; transition: width var(--duration-interaction) var(--ease-out); }
.division-link:focus-visible .division-content { outline: 2px solid #fff; outline-offset: 13px; background: var(--color-surface-dark); box-shadow: 0 0 0 13px var(--color-primary); }
.division-link:hover .division-underline { width: 62px; }
.division-seams { position: absolute; inset: 0; height: 100%; width: 100%; pointer-events: none; }
.site-dialog { position: fixed; inset: 0; padding: 0; width: 100%; max-width: none; height: 100%; max-height: none; border: 0; background: transparent; color: var(--primary); margin: 0; overflow-y: auto; }
.site-dialog::backdrop { background: rgb(var(--color-shade-rgb) / 55%); transition: opacity var(--duration-quick) ease; }
.site-dialog[data-closing='true']::backdrop { opacity: 0; }
.menu-dialog { overflow: hidden; }
.menu-dialog[open]::backdrop { animation: menu-dim 250ms ease; }
.menu-sheet { display: flex; flex-direction: column; height: 100%; color: #313131; background: #fff; clip-path: inset(0); animation: menu-unroll 600ms var(--ease-out); }
.menu-dialog[data-closing='true'] .menu-sheet { animation: menu-roll-up 320ms cubic-bezier(.55, 0, .7, .2) forwards; }
@keyframes menu-dim { from { opacity: 0; } }
@keyframes menu-unroll { from { clip-path: inset(0 0 100% 0); } }
@keyframes menu-roll-up { to { clip-path: inset(0 0 100% 0); } }
.menu-sheet-head { flex: none; display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: flex-start; padding: 0 var(--gutter) 26px; }
.menu-sheet-head .brand { margin-top: var(--mobile-header-top); }
.menu-sheet-head .brand-mark img { filter: none; }
.menu-sheet-head .brand-tagline { color: #000; }
.menu-sheet-head .menu-toggle { display: flex; margin-top: var(--mobile-menu-top); }
.menu-sheet-body { flex: 1; display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; padding: 0 var(--gutter); }
.menu-nav { padding-bottom: 44px; }
.menu-level { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: calc(100% + 16px); margin: 0 -8px; padding: 13px 8px; color: #313131; background: none; font-size: 24px; font-weight: 350; line-height: 1.25; letter-spacing: -.02em; text-align: left; transition: font-weight var(--duration-interaction) var(--ease-out); animation: nav-wipe 800ms var(--ease-out) calc(80ms + var(--i, 0) * 50ms) backwards; }
.menu-level svg { flex: none; width: 24px; height: 24px; transition: rotate var(--duration-interaction) var(--ease-out); }
.menu-level svg path { stroke-width: 1.3px; vector-effect: non-scaling-stroke; }
.menu-section[data-open] > .menu-level { font-weight: 650; }
.menu-section[data-open] > .menu-level svg { rotate: 180deg; }
.menu-level:active { color: var(--primary); }
@media (hover: hover) { .menu-level:hover { color: var(--primary); } }
.menu-panel { display: grid; grid-template-rows: 0fr; margin: 0 -8px; transition: grid-template-rows 400ms var(--ease-out); }
.menu-section[data-open] > .menu-panel { grid-template-rows: 1fr; transition-duration: 550ms; }
.menu-panel > .nav-dropdown { min-height: 0; overflow: hidden; }
.menu-section[data-open] > .menu-level { position: sticky; top: 0; z-index: 1; background: #fff; }
.menu-sheet .nav-dropdown { position: static; min-width: 0; padding: 0; background: none; box-shadow: none; }
.menu-sheet :is(.nav-showcase-menu, .nav-career) { display: block; padding-bottom: 20px; }
.menu-sheet .nav-service-list { display: flex; flex-direction: column; gap: 10px; }
.menu-sheet .nav-service-list p { padding-inline: 8px; }
.menu-sheet :is(.nav-showcase, .nav-career-image) { display: none; }
.menu-panel:not(#menu-0) .nav-service-list p, .menu-sheet .nav-career-copy > p { display: none; }
.menu-sheet .nav-career-copy { padding: 0; }
.menu-sheet .nav-dropdown .nav-career-copy > a { padding: 12px 8px; font-size: 15px; }
.menu-sheet a:focus-visible { outline-offset: -2px; }
.menu-sheet .nav-dropdown [aria-current='page'] { background: rgb(16 77 112 / 7%); }
.menu-sheet .nav-dropdown a:active { background: #eae8e4; }
.menu-sheet :is(.nav-desk-links, .nav-career-copy, .nav-showcase figure, .nav-career-image img) { animation: none; }
.menu-section[data-open] :is(.nav-service-list > .nav-desk-links, .nav-career-copy) { animation: nav-wipe 700ms var(--ease-out) calc(var(--i, 0) * 60ms - 40ms) backwards; }
.menu-section[data-open] :is(.nav-showcase figure, .nav-career-image img) { animation: nav-settle 1200ms var(--ease-out) 30ms backwards; }
.menu-direct { margin: auto calc(-1 * var(--gutter)) 0; }
.menu-direct .nav-desk-card { padding: 46px var(--gutter) 20px; }
.menu-legal { display: flex; gap: 24px; padding: 0 var(--gutter) max(16px, env(safe-area-inset-bottom)); background: var(--color-primary); font-size: 12px; }
.menu-legal a { padding-block: 10px; color: #dce7ed; }
.menu-legal a:focus-visible { outline-color: #fff; outline-offset: 3px; }
@media (min-width: 700px) {
  .menu-nav { display: grid; grid-template-columns: minmax(200px, 30%) minmax(0, 1fr); grid-template-rows: repeat(5, min-content) 1fr; column-gap: clamp(36px, 6vw, 64px); }
  .menu-section { display: contents; }
  .menu-level { grid-column: 1; }
  .menu-section[data-open] > .menu-level { position: static; }
  .menu-section > .menu-level svg, .menu-section[data-open] > .menu-level svg { rotate: -90deg; }
  .menu-panel { grid-column: 2; grid-row: 1 / -1; display: block; margin: 0; }
  .menu-section:not([data-open]) > .menu-panel { display: none; }
  .menu-sheet :is(.nav-showcase, .nav-career-image) { display: block; min-height: 0; margin: 6px 0 20px; aspect-ratio: 16 / 7; }
}
@media (max-height: 500px) { .menu-sheet :is(.nav-showcase, .nav-career-image) { display: none; } }
@media (max-width: 1150px) {
  .desktop-nav { gap: 20px; }
  .site-header { --brand-w: 185px; gap: 28px; }
  .header-actions { gap: 16px; }
}
@media (max-width: 950px) {
  :root { --gutter: 36px; }
  .header-actions { margin-left: auto; gap: 20px; }
  .hero-scene { height: auto; min-height: 0; overflow: clip; }
  .hero-intro { height: auto; }
  .hero-photo-layer { height: 100%; }
  .hero-photo { height: auto; width: 127.5vw; top: auto; bottom: 18px; left: -7%; right: auto; mask-image: linear-gradient(180deg, transparent, rgb(0 0 0 / .2) 3%, rgb(0 0 0 / .7) 7%, #000 12%, #000 96%, transparent); }
  .hero-scene::after { background: linear-gradient(90deg, rgb(var(--color-hero-rgb) / 86%), rgb(var(--color-hero-rgb) / 58%) 44%, rgb(var(--color-hero-rgb) / 12%)); }
  .site-header { padding-top: 30px; align-items: flex-start; }
  .brand { width: 220px; }
  .hero-copy { padding-top: 112px; padding-bottom: 86px; }
  h1 { margin-top: 24px; }
  .primary-cta { font-size: 14px; }
  .divisions { position: relative; height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: -12px; background: var(--paper); }
  .division-link { position: relative; inset: auto; width: 100%; height: 250px; clip-path: inset(0); --label-x: 50%; }
  .division-baeder { clip-path: url(#gm-division-mobile-left); margin-top: -27px; height: 277px; }
  .division-fliesen { clip-path: url(#gm-division-mobile-right); margin-top: -27px; height: 277px; }
  .division-content { bottom: 34px; }
  .division-content > svg { width: 61px; height: 61px; }
  .division-content strong { font-size: 21px; margin-top: 10px; }
  .division-underline { width: 38px; margin-top: 12px; }
  .division-seams { display: none; }
}
@media (min-width: 951px) and (max-height: 820px) {
  .division-content > svg { width: 42px; height: 42px; }
  .division-content strong { margin-top: 10px; }
  .division-underline { margin-top: 10px; }
  .site-header { padding-top: 25px; }
  .brand { width: 190px; }
  .nav-dock { --dock-logo: 190px; --dock-top: 25px; }
  .hero-copy { padding-top: 52px; }
  h1 { margin-top: 16px; }
  .primary-cta { min-height: 48px; margin-top: 20px; padding-block: 12px; }
}
@media (min-width: 951px) and (max-height: 770px), (min-width: 1600px) and (max-height: 860px) {
  h1 { font-size: clamp(43px, 3.45vw, 60px); }
  .hero-description { font-size: 16px; line-height: 1.4; margin: 14px 0 0; }
}
@media (max-width: 560px) {
  :root { --gutter: 24px; }
  .site-header { padding-top: 23px; gap: 10px; }
  .brand { width: 169px; }
  .header-actions { gap: 5px; padding-top: 0; }
  .hero-photo { bottom: 6px; opacity: .79; mask-image: linear-gradient(180deg, transparent, rgb(0 0 0 / .12) 4%, rgb(0 0 0 / .45) 10%, rgb(0 0 0 / .82) 17%, #000 25%, #000 96%, transparent); }
  .hero-scene::after { background: linear-gradient(90deg, rgb(var(--color-hero-rgb) / 76%), rgb(var(--color-hero-rgb) / 34%) 65%, rgb(var(--color-hero-rgb) / 10%)), linear-gradient(0deg, transparent 35%, rgb(var(--color-hero-rgb) / 55%)); }
  .hero-copy { padding-top: 92px; padding-bottom: 111px; max-width: calc(100% - 48px); }
  h1 { margin-top: 24px; letter-spacing: -.035em; }
  .headline-bold { font-weight: 750; letter-spacing: -.035em; }
  .hero-description { letter-spacing: 0; }
  .primary-cta { min-height: 48px; padding: 12px 20px; margin-top: 27px; font-size: 12px; gap: 20px; }
  .primary-cta svg { width: 22px; }
  .divisions { gap: 2px; margin-top: 0; }
  .division-link { height: 203px; }
  .division-baeder, .division-fliesen { height: 225px; margin-top: -22px; }
  .division-content { bottom: 28px; }
  .division-content > svg { width: 48px; height: 48px; }
  .division-content strong { font-size: 17px; letter-spacing: .09em; margin-top: 12px; }
  .division-underline { width: 31px; margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .division-link:hover .division-image, .division-link:focus-visible .division-image { transform: none; }
  .primary-cta:hover svg, .primary-cta:focus-visible svg { transform: none; }
}
@supports (clip-path: shape(from 0% 0%, line to 100% 100%, close)) {
  @media (min-width: 951px) {
    .division-link { clip-path: var(--division-shape); }
  }
  @media (max-width: 950px) {
    .division-baeder { clip-path: shape(from 0% 0%, curve to 100% 11% with 33.3% 6.6% / 66.6% 11%, line to 100% 100%, line to 0% 100%, close); }
    .division-fliesen { clip-path: shape(from 0% 11%, curve to 100% 0% with 33.3% 11% / 66.6% 6.6%, line to 100% 100%, line to 0% 100%, close); }
  }
}
@media (min-width: 951px) and (prefers-reduced-motion: no-preference) {
  .hero-scroll-stage .hero-photo { translate: 0 var(--photo-scroll-y, 0px); }
}
.hero-scroll-stage { height: calc(max(670px, 100svh) + var(--hero-scroll-hold)); }
.hero-scroll-stage .hero-scene { --hero-video-shift: 0px; --photo-height: max(670px, 100svh); }
.hero-scroll-stage .hero-photo { left: calc(max(22%, calc(106% - var(--photo-height) * 1.5)) + var(--hero-video-shift)); mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / .3) 5%, rgb(0 0 0 / .78) 12%, #000 20%); }
.hero-scroll-stage .hero-scene::after { background: linear-gradient(90deg, rgb(var(--color-hero-rgb) / .98), rgb(var(--color-hero-rgb) / .92) 32%, rgb(var(--color-hero-rgb) / .76) 47%, rgb(var(--color-hero-rgb) / .24) 68%, transparent 90%), linear-gradient(180deg, rgb(var(--color-hero-rgb) / .45), transparent 23%); }
@media (min-width: 951px) {
  .hero-scroll-stage .hero-scene { --hero-video-shift: 150px; position: sticky; top: 0; }
  .hero-scroll-stage .hero-copy { position: absolute; bottom: calc(var(--division-height) + 36px); margin-left: 5.73vw; padding-top: 0; }
}
@media (max-width: 950px) {
  .hero-scroll-stage { height: auto; }
  .hero-scroll-stage .hero-scene, .hero-scroll-stage .divisions { transform: none !important; }
  .hero-scroll-stage .hero-intro { min-height: 100svh; display: flex; flex-direction: column; }
  .hero-scroll-stage .hero-copy { margin-top: auto; padding-top: 56px; padding-bottom: 72px; }
  .hero-scroll-stage .hero-photo { height: 100%; width: 150%; left: -4%; top: 0; bottom: auto; object-fit: cover; }
}
@media (max-width: 1000px) {
  .hero-scroll-stage .hero-copy { margin-left: 32px; }
  .hero-scroll-stage .hero-scene::after { background: linear-gradient(90deg, rgb(var(--color-hero-rgb) / .84), rgb(var(--color-hero-rgb) / .7) 78%, rgb(var(--color-hero-rgb) / .12)); }
}
@media (max-width: 600px) {
  .hero-scroll-stage .hero-copy { margin-left: 24px; }
  .hero-scroll-stage .hero-scene::after { background: linear-gradient(180deg, rgb(var(--color-hero-rgb) / .8), rgb(var(--color-hero-rgb) / .85) 65%, rgb(var(--color-hero-rgb) / .15)); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-scroll-stage { height: auto; }
  .hero-scroll-stage .hero-scene { position: relative; }
  .hero-scroll-stage .hero-scene, .hero-scroll-stage .divisions { transform: none !important; }
}
.menu-toggle { display: none; align-items: center; gap: 10px; height: 52px; margin-right: -4px; padding: 0 10px 0 16px; background: none; font-size: 15px; line-height: 1; }
.menu-toggle svg { flex: none; width: 28px; height: 28px; }
@media (max-width: 950px) {
  :root { --mobile-header-top: 30px; --mobile-menu-top: max(29px, env(safe-area-inset-top)); }
  .header-actions { min-width: 44px; min-height: 44px; }
  .nav-dock { display: grid; grid-template-columns: 1fr auto; --dock-top: var(--mobile-menu-top); }
  .nav-dock > .desktop-nav { display: none; }
  .nav-dock > :is(.menu-toggle, .dock-island) { grid-column: 2; }
  .nav-dock > .dock-island { margin: 0; }
  .nav-dock > .menu-toggle { display: flex; }
}
@media (max-width: 560px) { :root { --mobile-header-top: 23px; --mobile-menu-top: max(19px, env(safe-area-inset-top)); } }
.gm-site { --gm-sky-w:max(clamp(210px,22vw,340px),calc(var(--gm-gutter) * 4.145)); --gm-sky-h:calc(var(--gm-sky-w) * 545 / 1662); --gm-band-top:clamp(28px,2.6vw,50px); }
.gm-skyline { display:block; width:var(--gm-sky-w); max-width:none; margin-left:calc(var(--gm-sky-w) * -.2413); height:auto; margin-bottom:clamp(10px,1vw,16px); overflow:visible; }
.gm-skyline path { fill:none; stroke:var(--gm-primary); stroke-width:1.5px; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; stroke-dasharray:1; animation:gm-sky-draw 2200ms cubic-bezier(.65,0,.35,1) 100ms both paused; }
[data-inview] .gm-skyline path,.gm-skyline[data-inview] path { animation-play-state:running; }
@keyframes gm-sky-draw { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
.gm-rise { animation:gm-rise 800ms var(--gm-ease) calc(500ms + var(--i) * 90ms) both paused; }
@keyframes gm-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
.gm-regional { --gm-slant:clamp(20px,2.6vw,44px); --gm-kicker-gap:clamp(22px,2vw,30px); --gm-sky-gap:0px; }
.gm-site .gm-section.gm-regional { padding-bottom:0; }
.gm-skyline-filled { margin-bottom:calc(var(--gm-sky-w) * -7 / 1662); clip-path:inset(-2% -1px -10% -1px); }
.gm-skyline-filled path { fill:var(--color-primary); stroke:none; stroke-dasharray:none; transform-box:fill-box; animation:gm-sky-rise 1100ms var(--gm-ease) 100ms both paused; }
@keyframes gm-sky-rise { from { transform:translateY(100%); } to { transform:none; } }
.gm-contact-band-accent { --gm-slant:var(--gm-band-slant); }
.gm-band-lead { margin-left:var(--gm-gutter); }
:is(.gm-regional-lead,.gm-band-lead) { display:flow-root; transform:skewY(calc(atan2(var(--gm-slant),100vw) * -1)); transform-origin:calc(var(--gm-gutter) * -1) 100%; }
.gm-regional-inner .gm-button-secondary { color:var(--color-primary); }
.gm-regional-inner .gm-button-secondary:hover { background:#e6eef3; }
.gm-site .gm-regional-inner { --gm-primary:white; --gm-accent:white; --gm-muted:#dce7ed; grid-template-columns:minmax(0,1.2fr) 1px minmax(0,1fr); margin:calc(var(--gm-sky-gap) - var(--gm-slant)) calc(var(--gm-gutter) * -1) 0; padding:calc(var(--gm-slant) + var(--gm-band-top)) var(--gm-gutter) clamp(52px,5vw,88px); color:white; }
:is(.gm-contact-band-accent .gm-contact-band-inner,.gm-site .gm-regional-inner) { position:relative; isolation:isolate; }
:is(.gm-contact-band-accent .gm-contact-band-inner,.gm-site .gm-regional-inner)::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--color-primary); clip-path:polygon(0 var(--gm-slant),100% 0,100% 100%,0 100%); }
.gm-regional .gm-heading { color:white; }
.gm-regional-panel .gm-link:hover { color:white; text-decoration:underline; text-underline-offset:4px; }
.gm-regional-inner :is(a,button):focus-visible { outline-color:white; }
.gm-regional-divider { align-self:stretch; background:rgba(255,255,255,.3); }
.gm-regional-panel { color:white; }
.gm-regional-panel .gm-direct-contact { display:flex; flex-direction:column; align-items:flex-start; }
.gm-regional-panel .gm-direct-contact > span:first-child { font-size:15px; margin-bottom:14px; }
.gm-regional-panel.gm-contact-band-accent .gm-direct-contact > a[href^="tel:"] { margin:0; font-size:clamp(32px,2.8vw,44px); font-weight:300; line-height:1.1; letter-spacing:-.035em; }
.gm-regional-panel.gm-contact-band-accent .gm-direct-contact > a[href^="mailto:"] { margin:12px 0 0; font-size:clamp(17px,1.3vw,19px); }
.gm-regional-panel.gm-contact-band-accent .gm-contact-address { margin-top:clamp(28px,2.6vw,40px); font-size:15px; line-height:1.6; color:var(--gm-muted); }
.gm-regional-panel .gm-direct-contact > .gm-link { margin-top:14px; }
.gm-regional-panel.gm-contact-band-accent .gm-direct-contact > :is(a:not(.gm-link),.gm-contact-address) { display:grid; grid-template-columns:24px auto; align-items:center; gap:18px; }
.gm-regional-panel.gm-contact-band-accent .gm-direct-contact svg { width:24px; height:24px; stroke-width:1.5; }
.gm-regional-panel.gm-contact-band-accent .gm-contact-address svg { align-self:start; margin-top:2px; }
.gm-regional[data-inview] .gm-rise { animation-play-state:running; }
@media (max-width:760px) { .gm-site .gm-regional-inner { grid-template-columns:1fr; padding-bottom:44px; } .gm-regional-divider { height:1px; margin-block:18px; } }

@media (prefers-reduced-motion:reduce) { .gm-skyline path,.gm-skyline-filled path,.gm-rise { animation:none!important; } }
.hv::after { content:none; }
.hv .hv-stage { position:relative; height:100%; }
@media (max-width:950px) { .hv:empty { min-height:max(100svh, 620px); } }
.hv-switch { --hv-shown:0 -50%; --hv-hidden:calc(100% + 24px) -50%; position:fixed; z-index:95; right:0; top:50%; translate:0 -50%; color:#313131; font:500 13px/1 'Open Sans Variable', 'Open Sans', sans-serif; }
.hv-switch-handle { display:grid; place-items:center; width:22px; height:46px; padding:0; background:#fff; color:var(--color-primary); opacity:.72; box-shadow:0 6px 20px #0b2c4426; transition:opacity 200ms; }
.hv-switch-handle svg { width:15px; height:15px; transition:rotate 300ms var(--ease-out); }
.hv-switch[data-open] .hv-switch-handle svg { rotate:180deg; }
.hv-switch-panel { position:absolute; right:0; top:50%; translate:var(--hv-hidden); visibility:hidden; display:flex; flex-direction:column; align-items:stretch; gap:2px; padding:4px; background:#fff; box-shadow:0 10px 32px #0b2c4433; transition:translate 300ms var(--ease-out), visibility 0s 300ms; }
.hv-switch[data-open] .hv-switch-panel, .hv-switch:has(:focus-visible) .hv-switch-panel { translate:var(--hv-shown); visibility:visible; transition:translate 350ms var(--ease-out), visibility 0s; }
@media (hover:hover) {
  .hv-switch:hover .hv-switch-panel { translate:var(--hv-shown); visibility:visible; transition:translate 350ms var(--ease-out), visibility 0s; }
  .hv-switch-handle:hover { opacity:1; }
}
@media (prefers-reduced-motion:reduce) { .hv-switch .hv-switch-panel { transition:none; } }
.hv-switch-panel span { padding:6px 10px 4px; color:#706f6f; font-weight:600; }
.hv-switch-panel button { display:flex; align-items:center; gap:6px; height:34px; padding:0 11px; background:none; color:inherit; white-space:nowrap; }
.hv-switch-panel button:hover { background:#eae8e4; }
.hv-switch-panel button[aria-current] { background:var(--color-primary); color:#fff; }
.hv-switch-panel button b { font-weight:700; }
.hv-switch-panel button i { font-style:normal; }
.hv-switch-panel button:first-of-type b { display:none; }
.hv-switch-panel .hv-replay { padding:0 10px; color:var(--color-primary); }
.hv-switch-panel .hv-replay svg { width:16px; height:16px; }
@media (max-width:1100px) { .hv-switch-panel button i { display:none; } .hv-switch-panel button:first-of-type b { display:inline; } }
@media (max-width:950px) {
  .hv-switch { --hv-shown:0 0; --hv-hidden:calc(100% + 48px) 0; top:auto; bottom:12px; translate:none; }
  .hv-switch-panel { top:auto; bottom:0; right:28px; flex-direction:row; flex-wrap:wrap; justify-content:flex-end; width:max-content; max-width:calc(100vw - 40px); }
  .hv-switch-panel span { display:none; }
  .hv-switch-panel button { height:32px; padding:0 9px; }
}
.hv-missing { display:grid; place-items:center; color:#fff; font-size:18px; }
.hv2 {
  --edge: 5.73vw;
  --hello: clamp(64px, min(6.7vw, 12.2svh), 132px);
  --ask: clamp(27px, min(2.45vw, 4.5svh), 47px);
  --answer: clamp(25px, min(2.3vw, 4.25svh), 44px);
  --say: clamp(21px, min(1.62vw, 3.05svh), 31px);
  --body: clamp(15px, min(.94vw, 1.8svh), 18px);
  background: var(--color-hero);
}
.hv2-film { position:absolute; inset:0; z-index:0; overflow:hidden; background:var(--color-hero); }
.hv2-zoom { --w:calc(max(670px, 100svh) * 1.5); --l:calc(max(22%, calc(106% - var(--w))) + 150px); position:absolute; inset:0; transform-origin:64% 42%; mask-image:linear-gradient(90deg, transparent var(--l), rgb(0 0 0 / .3) calc(var(--l) + var(--w) * .05), rgb(0 0 0 / .78) calc(var(--l) + var(--w) * .12), #000 calc(var(--l) + var(--w) * .2)); }
.hv2-layer { position:absolute; inset:0; visibility:hidden; }
.hv2-layer[data-shown] { visibility:visible; }
.hv2-media { position:absolute; top:0; height:max(670px, 100svh); aspect-ratio:3 / 2; left:var(--l); }
.hv2-media > :is(img, video) { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.hv2-media { overflow:visible clip; }
.hv2-ki { position:absolute; z-index:3; right:var(--edge); bottom:clamp(26px, 4.6svh, 52px); }
.hv2:not(:has(.hv2-layer[data-ki][data-shown])) .hv2-ki .gm-ki { opacity:0; }
@media (min-width:951px) { .hv2-layer[data-id="energie"] .hv2-media > :is(img, video) { translate:-11% 0; } }
.hv2-shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, rgb(var(--color-hero-rgb) / .98), rgb(var(--color-hero-rgb) / .92) 32%, rgb(var(--color-hero-rgb) / .76) 47%, rgb(var(--color-hero-rgb) / .24) 68%, transparent 90%), linear-gradient(180deg, rgb(var(--color-hero-rgb) / .45), transparent 23%); }
.hv2-mask { display:block; overflow:visible clip; padding:.08em 0 .16em; margin:-.08em 0 -.16em; }
.hv2-word { display:inline-block; vertical-align:top; }
.hv2-in, .hv2-x { display:block; }

.hv2-talk { position:absolute; z-index:3; left:var(--edge); top:calc(clamp(28px, 3.55svh, 40px) + clamp(195px, 12.7vw, 244px) * .35 + clamp(52px, 13svh, 150px)); width:min(52vw, 980px); }
.hv2 h1.hv2-hello { margin:0; font-size:var(--hello); line-height:1.04; letter-spacing:-.045em; font-weight:300; transition:opacity 900ms var(--ease-out); }
.hv2:is([data-phase="to-reply"], [data-phase="reply"]) .hv2-hello { opacity:0; }
.hv2:not([data-phase="ask"]) .hv2-hello { position:absolute; pointer-events:none; }
.hv2-turn { display:grid; margin-top:calc(var(--ask) * .32); }
.hv2-turn > * { grid-area:1 / 1; min-width:0; }
.hv2[data-phase="reply"] .hv2-ask-group { visibility:hidden; }
.hv2-ask { margin:0; font-size:var(--ask); line-height:1.16; font-weight:750; letter-spacing:-.026em; }
.hv2-answers { width:max-content; max-width:100%; margin:clamp(20px, 3.7svh, 44px) 0 0; padding:0; list-style:none; }
.hv2-answer { display:block; width:100%; padding:calc(var(--answer) * .15) 0; background:none; color:#fff; text-align:left; font-size:var(--answer); line-height:1.2; font-weight:300; letter-spacing:-.022em; transition:opacity 450ms var(--ease-out); }
.hv2-answer:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.hv2-line { display:flex; align-items:center; gap:.36em; width:max-content; }
.hv2-icon { width:.62em; height:.62em; flex:none; stroke-width:1.3; opacity:.6; transition:opacity 450ms var(--ease-out); }
.hv2-words { transition:font-weight 650ms var(--ease-out); }
.hv2-arrow { width:.44em; height:.44em; flex:none; stroke-width:1.2; opacity:0; translate:-.4em 0; transition:opacity 350ms var(--ease-out), translate 650ms var(--ease-out); }
.hv2-row[data-active] .hv2-words { font-weight:620; }
.hv2-row[data-active] .hv2-icon { opacity:1; }
.hv2-row[data-active] .hv2-arrow { opacity:1; translate:0 0; }
.hv2-answers[data-hot] .hv2-row:not([data-active]) .hv2-answer { opacity:.42; }
.hv2-reply { display:none; }
.hv2-reply[data-on] { display:block; }
.hv2-label { font-size:15px; line-height:1.4; font-weight:600; color:rgb(255 255 255 / .7); }
.hv2-mine { display:flex; flex-wrap:wrap; align-items:center; gap:4px clamp(22px, 2vw, 36px); margin-top:calc(var(--say) * .26); }
.hv2-yours { display:flex; align-items:center; gap:.36em; width:max-content; max-width:100%; font-size:var(--say); line-height:1.2; font-weight:300; letter-spacing:-.02em; color:rgb(255 255 255 / .78); }
.hv2-yours .hv2-icon { opacity:.85; }
.hv2-yours .hv2-words { font-weight:400; }
.hv2-gern { margin:calc(var(--say) * 1.1) 0 calc(var(--say) * .12); font-size:var(--ask); line-height:1.16; font-weight:750; letter-spacing:-.026em; }
.hv2-say { max-width:24em; margin:0; font-size:var(--say); line-height:1.3; font-weight:400; letter-spacing:-.012em; }
.hv2-next { max-width:30em; margin:1.2em 0 0; font-size:var(--body); line-height:1.55; color:#f3f2ef; }
.hv2-sl, .hv2-sl-mask { display:block; }
.hv2-sl-mask { padding-bottom:.1em; margin-bottom:-.1em; }
.hv2-now-mask { margin-top:1.05em; }
.hv2-now { display:flex; align-items:baseline; gap:10px; font-size:var(--body); line-height:1.45; font-weight:600; }
.hv2-now i, .hv2-open i { width:1.03em; height:.72em; flex:none; background:#8d8a84; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 14'%3E%3Cpath d='M0 14V0l7 2.6V14zm9 0V6h11v8z'/%3E%3C/svg%3E") center / contain no-repeat; }
.hv2-now[data-open] i, .hv2-open[data-open] i { background:#3fbf74; }
.hv2-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 32px; margin-top:clamp(22px, 3.5svh, 38px); }
.hv2-actions .primary-cta { margin-top:0; }
.hv2 .primary-cta:focus-visible { outline-color:#fff; }
.hv2-more { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#fff; font-size:clamp(14px, .85vw, 16px); font-weight:500; }
.hv2-more svg, .hv2-back svg { width:18px; height:18px; flex:none; transition:translate var(--duration-interaction) var(--ease-out); }
.hv2-more:hover svg { translate:4px 0; }
.hv2-back { display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 4px 0 0; background:none; color:rgb(255 255 255 / .74); font-size:15px; font-weight:500; transition:color var(--duration-interaction) var(--ease-out); }
.hv2-back svg { width:16px; height:16px; rotate:180deg; }
.hv2-back:hover { color:#fff; }
.hv2-back:hover svg { translate:-4px 0; }
.hv2-sr { position:absolute; width:1px; height:1px; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hv2-foot { position:absolute; z-index:3; left:var(--edge); bottom:clamp(26px, 4.6svh, 52px); }
.hv2-foot-in { display:flex; flex-wrap:wrap; align-items:center; gap:14px clamp(28px, 2.8vw, 56px); transition:opacity 500ms var(--ease-out), visibility 0s; }
.hv2-call { display:flex; align-items:center; gap:12px; color:#fff; }
.hv2-call svg { width:28px; height:28px; flex:none; stroke-width:1.5; }
.hv2-call small { display:block; font-size:13px; line-height:1.3; color:rgb(255 255 255 / .74); }
.hv2-call strong { display:block; font-size:19px; line-height:1.3; font-weight:700; letter-spacing:-.01em; white-space:nowrap; }
.hv2-open { display:flex; align-items:baseline; gap:9px; font-size:15px; line-height:1.4; color:#f3f2ef; transition:opacity 400ms var(--ease-out), visibility 0s; }
.hv2-open b { font-weight:650; color:#fff; }
.hv2-open:hover span { text-decoration:underline; text-underline-offset:3px; }
.hv2:is([data-phase="to-reply"], [data-phase="reply"]) .hv2-open { opacity:0; visibility:hidden; transition:opacity 300ms ease, visibility 0s 300ms; }
@media (min-width:951px) and (max-height:820px) {
  .hv2:is([data-phase="to-reply"], [data-phase="reply"]) .hv2-foot-in { opacity:0; visibility:hidden; transition:opacity 250ms ease, visibility 0s 250ms; }
}
@media (max-width:950px) {
  .hv2 { --hello:min(76px, 17vw); --ask:clamp(25px, 6.6vw, 40px); --answer:clamp(21px, 5.5vw, 32px); --say:clamp(20px, 5.1vw, 27px); --body:16px; --edge:32px; }
  .hv2 .hv-stage { min-height:max(100svh, 640px); }
  .hv2-zoom { mask-image:none; }
  .hv2-media { left:0; width:100%; height:100%; aspect-ratio:auto; }
  .hv2-media > :is(img, video) { object-position:var(--focus, 50% 50%); }
  .hv2-layer[data-id="haus"] { --focus:30% 40%; }
  .hv2-layer[data-id="baeder"] { --focus:52% 50%; }
  .hv2-layer[data-id="fliesen"] { --focus:72% 50%; }
  .hv2-layer[data-id="stahl"] { --focus:36% 50%; }
  .hv2-layer[data-id="energie"] { --focus:64% 50%; }
  .hv2-shade { background:linear-gradient(180deg, rgb(var(--color-hero-rgb) / .62), rgb(var(--color-hero-rgb) / .22) 18%, rgb(var(--color-hero-rgb) / .5) 30%, rgb(var(--color-hero-rgb) / .86) 44%, rgb(var(--color-hero-rgb) / .93) 70%, rgb(var(--color-hero-rgb) / .96)); }
  .hv2-talk { position:relative; left:auto; top:auto; width:auto; margin:clamp(96px, 21svh, 300px) var(--edge) 0; }
  .hv2 h1.hv2-hello[data-long] { font-size:min(var(--hello), calc((100vw - 2 * var(--edge)) / 6.3)); }
  .hv2-answers { width:auto; max-width:640px; margin-top:22px; }
  .hv2-answer { display:flex; align-items:center; min-height:52px; padding:8px 0; }
  .hv2-row-mask { flex:1; }
  .hv2-line { width:auto; }
  .hv2-icon { width:.8em; height:.8em; }
  .hv2-arrow { width:.62em; height:.62em; margin-left:auto; opacity:.75; translate:none; }
  .hv2-yours { width:auto; }
  .hv2-more { min-height:48px; }
  .hv2-back { min-height:44px; }
  .hv2-foot { position:relative; left:auto; bottom:auto; margin:auto var(--edge) 0; padding:36px 0 112px; }
  .hv2-ki { top:104px; bottom:auto; }
  .hv2:is([data-phase="to-reply"], [data-phase="to-ask"]) .hv2-foot-in { opacity:0; transition:none; }
}
@media (max-width:600px) {
  .hv2 { --edge:24px; }
  .hv2-call strong { font-size:18px; }
  .hv2-actions { flex-direction:column; align-items:stretch; gap:10px; }
  .hv2-actions .primary-cta { width:100%; }
  .hv2-more { justify-content:center; }
}
.gm-service-header { line-height:normal; }
.gm-service-hero { position:relative; isolation:isolate; --service-shade-rgb:var(--color-hero-rgb); min-height:100svh; overflow:clip; background:#272727; color:#f7f8f8; }
.gm-service-hero[data-service="baeder"] { --service-photo-y:80%; }
.gm-service-hero[data-service="regionalitaet"] { --service-photo-y:30%; }
@media (max-width:600px) { .gm-service-hero[data-service="regionalitaet"] .gm-service-photo { object-position:62% var(--service-photo-y); } }
.gm-service-hero:has(.gm-ki-media) { --service-photo-y-ki:calc(var(--service-photo-y, 50%) / 1.05); }
.gm-service-hero:has(.gm-ki-media) .gm-service-photo { --service-photo-y:var(--service-photo-y-ki); }
.gm-service-ki { position:absolute; z-index:1; right:clamp(16px, 2.4vw, 48px); bottom:clamp(26px, 4.6svh, 52px); }
@media (min-width:601px) {
  .gm-service-hero:is([data-service="karriere"],[data-service="kontakt"]) .gm-service-photo { left:36%; width:64%; mask-image:linear-gradient(90deg,transparent,#000 24%); }
  .gm-service-hero[data-service="karriere"] .gm-service-photo { object-position:18% 50%; }
}
@media (max-width:600px) { .gm-service-hero[data-service="unternehmen"] .gm-service-photo { object-position:68% bottom; } }
.gm-service-photo,.gm-service-shade { position:absolute; inset:0; width:100%; height:100%; z-index:-2; object-fit:cover; object-position:center var(--service-photo-y, 50%); }
.gm-service-bees { position:absolute; inset:0; width:100%; height:100%; z-index:-2; pointer-events:none; opacity:0; transition:opacity 1.2s; }
.gm-service-shade { z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgb(var(--service-shade-rgb) / .98),rgb(var(--service-shade-rgb) / .92) 32%,rgb(var(--service-shade-rgb) / .76) 47%,rgb(var(--service-shade-rgb) / .24) 68%,transparent 90%),linear-gradient(180deg,rgb(var(--service-shade-rgb) / .45),transparent 23%); }
.gm-service-copy { position:relative; margin-left:5.73vw; padding:104px 0 160px; width:46%; }
.gm-service-copy h1 { font-size:clamp(52px,4.17vw,80px); font-weight:300; line-height:1.1; letter-spacing:-.035em; margin:0; }
.gm-service-mask { display:block; overflow:hidden; padding-block:.12em; margin-block:-.12em; }
.gm-service-mask > span,.gm-service-mask > strong { display:block; }
.gm-service-mask strong { font-weight:800; }
.gm-service-word { white-space:nowrap; }
.gm-service-dot { color:inherit; }
.gm-service-description { max-width:740px; width:89%; margin:28px 0 29px; font-size:21px; line-height:1.57; color:var(--color-on-dark-muted); }
.gm-service-visit { display:flex; align-items:center; gap:12px; width:fit-content; min-height:44px; margin-top:9px; color:var(--color-on-dark-muted); font-size:14px; }
.gm-service-visit:hover { text-decoration:underline; text-underline-offset:4px; }
@media (min-width:1600px) { .gm-service-hero[data-service="flieseparkett"] .gm-service-mask { white-space:nowrap; } }
@media (max-width:1599px) and (min-width:1001px) {
  .gm-service-copy { padding-top:95px; padding-bottom:100px; width:46%; }
  .gm-service-copy h1 { font-size:4.42vw; }
  .gm-service-description { width:94%; font-size:17px; line-height:1.65; }
  .gm-service-photo { object-position:35% var(--service-photo-y, 50%); }
}
@media (max-width:1000px) {
  .gm-service-copy { margin:0 32px; padding:90px 0 260px; width:auto; }
  .gm-service-copy h1 { font-size:64px; max-width:660px; }
  .gm-service-description { width:100%; max-width:590px; font-size:18px; }
  .gm-service-photo { object-position:42% var(--service-photo-y, 50%); }
  .gm-service-shade { background:linear-gradient(90deg, rgb(var(--service-shade-rgb) / .84),rgb(var(--service-shade-rgb) / .7) 78%,rgb(var(--service-shade-rgb) / .12)); }
}
@media (max-width:600px) {
  .gm-service-copy { margin:0 24px; padding:64px 0 245px; }
  .gm-service-copy h1 { font-size:clamp(34px,11.28vw,44px); line-height:1.13; letter-spacing:-.035em; }
  .gm-service-description { margin:25px 0 25px; font-size:16px; line-height:1.65; }
  .gm-service-visit { font-size:13px; }
  .gm-service-photo { object-fit:cover; object-position:49% bottom; }
  .gm-service-shade { background:linear-gradient(180deg,rgb(var(--service-shade-rgb) / .8),rgb(var(--service-shade-rgb) / .85) 65%,rgb(var(--service-shade-rgb) / .15)); }
}
@media (prefers-reduced-motion:reduce) {
  .gm-service-copy [style] { opacity:1!important; transform:none!important; }
}

@media (max-width:600px) { .gm-service-hero[data-service="waermepumpen"] h1 { font-size:clamp(30px,9vw,40px); } }
.gm-funding-badge { position:absolute; right:21%; top:24%; width:clamp(124px,8.2vw,158px); aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:var(--color-primary); color:white; box-shadow:0 18px 40px rgb(0 0 0 / .22); }
.gm-funding-badge::before { content:""; position:absolute; inset:15%; border-radius:50%; background:rgb(255 255 255 / .1); }
.gm-funding-badge-ring { position:absolute; inset:0; width:100%; height:100%; font-size:16.5px; font-weight:600; fill:currentColor; animation:gm-badge-spin 36s linear infinite; }
.gm-funding-badge-core { position:relative; display:grid; justify-items:center; line-height:1; }
.gm-funding-badge-core small { font-size:clamp(11px,.65vw,13px); opacity:.8; }
.gm-funding-badge-core strong { margin:3px 0 4px; font-size:clamp(26px,1.75vw,34px); font-variant-numeric:tabular-nums; font-weight:300; letter-spacing:-.04em; white-space:nowrap; }
.gm-funding-badge:focus-visible { outline:2px solid white; outline-offset:6px; }
@keyframes gm-badge-spin { to { rotate:360deg; } }
@media (max-width:1000px) { .gm-funding-badge { top:auto; right:32px; bottom:64px; } }
@media (max-width:600px) { .gm-funding-badge { right:24px; bottom:48px; width:120px; } }
.gm-dialog.gm-bath-inquiry { max-width:1080px; }
.gm-dialog.gm-bath-inquiry > .gm-close { right:24px; color:#fff; }
.gm-bath-grid { display:grid; grid-template-columns:minmax(0,58fr) minmax(0,42fr); }
.gm-bath-main { display:flex; flex-direction:column; min-width:0; min-height:min(724px,calc(100svh - 48px)); padding:30px 44px 34px; }
.gm-bath-step { margin-block:auto; }
.gm-bath-progress { display:flex; align-items:center; gap:14px; margin-bottom:22px; font-size:13px; color:var(--gm-muted); }
.gm-bath-tiles { display:flex; gap:5px; }
.gm-bath-tiles i { width:12px; height:12px; background:#e3dfd8; transition:width var(--gm-slow) var(--gm-ease),background-color var(--gm-slow) var(--gm-ease); }
.gm-bath-tiles i[data-state='done'] { background:var(--gm-primary); }
.gm-bath-tiles i[data-state='now'] { width:28px; background:var(--gm-primary); }
.gm-bath-inquiry h2 { font-size:30px; line-height:1.25; margin-bottom:10px; }
.gm-bath-intro { margin:0 0 22px; max-width:54ch; font-size:15px; line-height:1.65; color:var(--gm-muted); }
.gm-bath-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.gm-bath-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; margin:0; padding:0; border:0; }
.gm-bath-options[data-kind='row'] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gm-bath-opt { position:relative; display:flex; align-items:center; gap:14px; min-width:0; min-height:72px; padding:12px 14px; color:var(--gm-primary); cursor:pointer; transition:background-color var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease),opacity var(--gm-fast) var(--gm-ease); }
.gm-bath-opt input { position:absolute; inset:0; z-index:1; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.gm-bath-opt[data-alt='true'] { grid-column:1 / -1; min-height:62px; }
@media (hover:hover) { .gm-bath-opt:hover { background:var(--gm-paper); } }
.gm-bath-opt:has(input:focus-visible) { outline:2px solid var(--gm-primary); outline-offset:2px; }
.gm-bath-opt[data-checked='true'],.gm-bath-opt[data-checked='true']:hover { background:var(--gm-primary); color:#fff; }
.gm-bath-opt[data-disabled='true'] { opacity:.45; }
.gm-bath-opt[data-disabled='true'] input { cursor:not-allowed; }
.gm-bath-ico { position:relative; display:grid; place-items:center; flex:none; width:44px; height:44px; color:var(--gm-primary); transition:color var(--gm-fast) var(--gm-ease); }
.gm-bath-ico svg { width:30px; height:30px; }
.gm-bath-opt[data-checked='true'] .gm-bath-ico { color:#fff; }
.gm-bath-ico::after,.gm-bath-opt::after { content:''; position:absolute; width:18px; height:18px; background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23104d70' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/11px 11px no-repeat; opacity:0; transform:scale(.5); transition:opacity var(--gm-fast) var(--gm-ease),transform var(--gm-slow) cubic-bezier(.34,1.56,.64,1); pointer-events:none; }
.gm-bath-ico::after { top:-6px; right:-6px; box-shadow:0 0 0 2px var(--gm-primary); }
.gm-bath-opt::after { top:10px; right:10px; }
.gm-bath-opt[data-checked='true'] .gm-bath-ico::after,[data-kind='row'] .gm-bath-opt[data-checked='true']:not([data-alt='true'])::after { opacity:1; transform:none; }
.gm-bath-txt { display:flex; flex-direction:column; gap:2px; min-width:0; }
.gm-bath-txt strong { font-size:15px; font-weight:600; line-height:1.35; }
.gm-bath-txt small { font-size:13px; line-height:1.4; color:var(--gm-muted); transition:color var(--gm-fast) var(--gm-ease); }
.gm-bath-opt[data-checked='true'] small { color:rgb(255 255 255 / .8); }
[data-kind='row'] .gm-bath-opt:not([data-alt='true']) { flex-direction:column; align-items:flex-start; justify-content:space-between; gap:14px; min-height:108px; padding:14px; }
.gm-bath-glyph,.gm-bath-months { display:flex; align-items:flex-end; height:34px; color:var(--gm-primary); }
.gm-bath-glyph svg { width:34px; height:34px; }
.gm-bath-months { gap:3px; }
.gm-bath-months i { width:6px; height:12px; background:#d9d4cc; }
.gm-bath-months i[data-on='true'] { height:26px; background:var(--gm-primary); }
.gm-bath-opt[data-checked='true'] .gm-bath-glyph { color:#fff; }
.gm-bath-opt[data-checked='true'] .gm-bath-months i { background:rgb(255 255 255 / .3); }
.gm-bath-opt[data-checked='true'] .gm-bath-months i[data-on='true'] { background:#fff; }
.gm-bath-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.gm-bath-fields .gm-field[data-wide='true'] { grid-column:1 / -1; }
.gm-bath-fields .gm-field > label { margin-bottom:8px; }
.gm-bath-inquiry .gm-consent { margin-top:18px; }
.gm-bath-inquiry form .gm-form-note { margin:10px 0 0; }
.gm-bath-inquiry .gm-form-error { margin:16px 0 0; }
.gm-bath-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:24px; }
.gm-bath-actions .gm-button { min-width:168px; margin:0 0 0 auto; }
.gm-bath-actions .gm-bath-back { gap:8px; margin:0; }
.gm-bath-actions .gm-bath-back svg { width:22px; height:22px; }
.gm-bath-inquiry .gm-form-actions { margin-top:20px; }
.gm-bath-inquiry .gm-form-actions + .gm-bath-actions { margin-top:14px; }
.gm-bath-count { display:flex; align-items:center; gap:5px; font-size:13px; color:var(--gm-muted); }
.gm-bath-count i { width:9px; height:9px; background:#e3dfd8; }
.gm-bath-count i[data-on='true'] { background:var(--gm-primary); }
.gm-bath-count i:last-of-type { margin-right:5px; }
.gm-bath-vis { position:relative; display:flex; flex-direction:column; min-width:0; padding:22px 24px 18px; background:#104d70 linear-gradient(155deg,#1b6189 0%,#104d70 46%,#0b3a55 100%); color:#fff; overflow:hidden; isolation:isolate; }
.gm-bath-vis-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:38px; }
.gm-bath-vis-head p { display:flex; flex-direction:column; min-width:0; margin:0; }
.gm-bath-vis-head strong { font-size:15px; font-weight:600; line-height:1.3; }
.gm-bath-vis-head span { font-size:13px; line-height:1.4; color:rgb(255 255 255 / .74); }
.gm-bath-toggle { display:inline-flex; flex:none; padding:3px; background:rgb(0 0 0 / .2); }
.gm-bath-toggle button { min-height:34px; padding:6px 13px; border:0; border-radius:0; background:transparent; color:rgb(255 255 255 / .86); font:inherit; font-size:13px; font-weight:600; line-height:1.2; cursor:pointer; transition:background-color var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
.gm-bath-toggle button:hover { background:rgb(255 255 255 / .12); color:#fff; }
.gm-bath-toggle button[aria-pressed='true'] { background:#fff; color:var(--gm-primary); }
.gm-bath-toggle button:focus-visible { outline-offset:2px; }
.gm-bath-stage { position:relative; flex:1 1 auto; min-height:300px; margin:6px 0 10px; }
.gm-bath-stage svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.gm-bath-pill { position:absolute; left:0; top:0; padding:6px 12px; background:rgb(0 0 0 / .24); color:#fff; font-size:13px; font-weight:600; line-height:1.3; white-space:nowrap; pointer-events:none; }
.gm-bath-note { margin:0; font-size:12.5px; line-height:1.5; color:rgb(255 255 255 / .72); }

@media (max-width:1000px) { .gm-bath-main { padding-inline:30px; } .gm-bath-grid { grid-template-columns:minmax(0,60fr) minmax(0,40fr); } }
@media (max-width:760px) {
 .gm-bath-grid { display:flex; flex-direction:column; }
 .gm-bath-vis { order:-1; padding:10px 14px 8px; }
 .gm-bath-vis-head p,.gm-bath-note { display:none; }
 .gm-bath-stage { flex:none; min-height:0; height:max(150px,30svh); margin:4px 0 0; }
 .gm-bath-pill { padding:5px 10px; font-size:12px; }
 .gm-bath-main { min-height:0; padding:18px 16px 24px; }
 .gm-bath-inquiry h2 { font-size:25px; }
 .gm-dialog.gm-bath-inquiry > .gm-close { top:8px; right:14px; }
 .gm-bath-vis-head { margin-top:0; }
 .gm-bath-options,.gm-bath-options[data-kind='row'],.gm-bath-fields { grid-template-columns:minmax(0,1fr); }
 .gm-bath-options[data-kind='multi'] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gm-bath-opt { min-height:60px; gap:12px; padding:9px; }
 [data-kind='row'] .gm-bath-opt:not([data-alt='true']) { flex-direction:row; align-items:center; justify-content:flex-start; gap:12px; min-height:60px; padding:9px 40px 9px 9px; }
 [data-kind='row'] .gm-bath-opt::after { top:50%; margin-top:-9px; }
 .gm-bath-glyph,.gm-bath-months { justify-content:center; width:44px; height:30px; }
 .gm-bath-glyph svg { width:30px; height:30px; }
 .gm-bath-months { gap:1px; }
 .gm-bath-months i { width:3px; height:10px; }
 .gm-bath-months i[data-on='true'] { height:22px; }
 [data-kind='multi'] .gm-bath-opt:not([data-alt='true']) { flex-direction:column; align-items:flex-start; gap:8px; min-height:100px; padding:11px; }
 [data-kind='multi'] .gm-bath-ico { width:38px; height:38px; }
 .gm-bath-actions .gm-button { min-width:0; }
 .gm-bath-count { font-size:0; }
}
@media (prefers-reduced-motion:reduce) { .gm-bath-tiles i { transition:none; } }
.gm-roof-inquiry .gm-bath-opt .gm-bath-ico.gm-roof-swatch { background:var(--sw); box-shadow:inset 0 0 0 1px rgb(0 0 0 / .1); }
.gm-roof-inquiry .gm-bath-opt[data-checked='true'] .gm-bath-ico.gm-roof-swatch { box-shadow:0 0 0 2px #fff; }
.gm-roof-swatch[data-m='kupfer'] { --sw:linear-gradient(135deg,#e5a878 0%,#c47a46 48%,#8f4f2a 100%); }
.gm-roof-swatch[data-m='titanzink'] { --sw:linear-gradient(135deg,#c9d0d5 0%,#95a1aa 50%,#6c7881 100%); }
.gm-roof-swatch[data-m='farbig'] { --sw:linear-gradient(135deg,#4b5159 0 34%,#6e4b37 34% 67%,#8b3a2d 67% 100%); }
.gm-roof-swatch[data-m='edelstahl'] { --sw:repeating-linear-gradient(90deg,rgb(255 255 255 / .22) 0 1px,transparent 1px 3px),linear-gradient(135deg,#f2f4f6 0%,#c3cbd1 50%,#98a3ab 100%); }
.gm-roof-inquiry .gm-roof-weeks { gap:4px; }
.gm-roof-inquiry .gm-roof-weeks i { width:11px; }
.gm-roof-group { margin:0 0 10px; font-size:14px; font-weight:600; line-height:1.4; }
.gm-roof-groups .gm-bath-options + .gm-roof-group { margin-top:22px; }
.gm-roof-qty { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px 16px; }
.gm-roof-qty .gm-field > label,.gm-roof-units legend { display:block; padding:0; margin-bottom:8px; font-size:14px; font-weight:550; line-height:1.4; }
.gm-roof-qty .gm-field input { min-height:56px; padding-block:10px; font-size:20px; font-weight:600; line-height:1.3; }
.gm-roof-units { min-width:0; margin:0; padding:0; border:0; }
.gm-roof-units legend { float:left; width:100%; }
.gm-roof-units > div { clear:both; display:flex; gap:3px; padding:3px; }
.gm-roof-units label { position:relative; display:grid; place-items:center; min-width:66px; min-height:50px; padding:0 14px; color:var(--gm-primary); font-size:15px; font-weight:600; cursor:pointer; transition:background-color var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
.gm-roof-units input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
@media (hover:hover) { .gm-roof-units label:hover { background:var(--gm-paper); } }
.gm-roof-units label[data-checked='true'] { background:var(--gm-primary); color:#fff; }
.gm-roof-units label:has(input:focus-visible) { outline:2px solid var(--gm-primary); outline-offset:2px; }
.gm-roof-hint { grid-column:1 / -1; margin:0; font-size:13px; line-height:1.5; color:var(--gm-muted); }
.gm-roof-dim { position:absolute; left:0; top:0; padding:4px 9px; background:#fff; color:var(--gm-primary); font-size:12.5px; font-weight:700; line-height:1.25; white-space:nowrap; pointer-events:none; }
.gm-roof-flake { transform-box:fill-box; transform-origin:center; animation:gm-roof-flake 3.6s ease-in-out infinite backwards; }
@keyframes gm-roof-flake { 0% { transform:translateY(-8px) rotate(0); stroke-opacity:0; } 30%,65% { stroke-opacity:1; } 100% { transform:translateY(12px) rotate(60deg); stroke-opacity:0; } }

@media (max-width:760px) {
 .gm-roof-qty { grid-template-columns:minmax(0,1fr); }
 .gm-roof-units label { flex:1; }
 .gm-roof-inquiry .gm-roof-weeks { gap:2px; }
 .gm-roof-inquiry .gm-roof-weeks i { width:6px; }
 .gm-roof-dim { padding:3px 7px; font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { .gm-roof-flake { animation:none; } }
.gm-floor-inquiry .gm-bath-main { min-height:min(740px,calc(100svh - 128px)); }
.gm-floor-inquiry .gm-bath-options[data-kind='row'] { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gm-floor-inquiry .gm-bath-options + .gm-bath-fields { margin-top:18px; }
@media (max-width:1000px) { .gm-floor-inquiry .gm-bath-options[data-kind='row'] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .gm-floor-inquiry .gm-bath-main { min-height:0; } .gm-floor-inquiry .gm-bath-options[data-kind='row'] { grid-template-columns:minmax(0,1fr); } }
.gm-energy-inquiry .gm-bath-opt[data-alt='true']:not([data-wide='true']) { grid-column:auto; }
@media (min-width:761px) and (max-width:920px) { .gm-energy-inquiry .gm-bath-options { grid-template-columns:minmax(0,1fr); } }
.gm-energy-inquiry .gm-bath-options + .gm-bath-fields { margin-top:22px; }
.gm-energy-flow { stroke-dasharray:5 6; animation:gm-energy-flow 1.1s linear infinite; }
@keyframes gm-energy-flow { to { stroke-dashoffset:-22; } }
.gm-energy-smoke { transform-box:fill-box; transform-origin:center; animation:gm-energy-smoke 3.6s ease-out infinite; }
@keyframes gm-energy-smoke { 0% { transform:translate(0,6px) scale(.5); opacity:0; } 25% { opacity:.85; } 100% { transform:translate(8px,-30px) scale(1.5); opacity:0; } }
@media (prefers-reduced-motion:reduce) { .gm-energy-flow,.gm-energy-smoke { animation:none; } }
.gm-dialog.gm-hp-inquiry { max-width:1080px; }
.gm-dialog.gm-hp-inquiry > .gm-close { right:24px; color:#fff; }
.gm-hp-grid { display:grid; grid-template-columns:minmax(0,58fr) minmax(0,42fr); }
.gm-hp-main { display:flex; flex-direction:column; min-width:0; min-height:min(772px,calc(100svh - 48px)); padding:26px 44px 28px; }
.gm-hp-step { margin-block:auto; container-type:inline-size; }
.gm-hp-progress { display:flex; align-items:center; gap:14px; margin-bottom:18px; font-size:13px; color:var(--gm-muted); }
.gm-hp-tiles { display:flex; gap:5px; }
.gm-hp-tiles i { width:12px; height:12px; background:#e3dfd8; transition:width var(--gm-slow) var(--gm-ease),background-color var(--gm-slow) var(--gm-ease); }
.gm-hp-tiles i[data-state='done'] { background:var(--gm-primary); }
.gm-hp-tiles i[data-state='now'] { width:28px; background:var(--gm-primary); }
.gm-hp-inquiry h2 { font-size:30px; line-height:1.25; margin-bottom:10px; }
.gm-hp-intro { margin:0 0 18px; max-width:64ch; font-size:15px; line-height:1.65; color:var(--gm-muted); }
.gm-hp-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.gm-hp-group { min-width:0; margin:0; padding:0; border:0; }
.gm-hp-group + .gm-hp-group,.gm-hp-group + .gm-hp-fields,.gm-hp-fields + .gm-hp-group { margin-top:16px; }
form[data-dense='true'] .gm-hp-intro { max-width:none; margin-bottom:12px; font-size:14px; }
form[data-dense='true'] .gm-hp-group + .gm-hp-group,form[data-dense='true'] .gm-hp-group + .gm-hp-fields,form[data-dense='true'] .gm-hp-fields + .gm-hp-group { margin-top:12px; }
form[data-dense='true'] [data-kind='grid'] .gm-hp-opt { min-height:48px; }
form[data-dense='true'] .gm-hp-fields { row-gap:12px; }
form[data-dense='true'] .gm-hp-actions { margin-top:14px; }
.gm-hp-legend { float:left; width:100%; margin:0 0 8px; padding:0; font-size:14px; font-weight:550; line-height:1.4; }
.gm-hp-legend + .gm-hp-options { clear:both; }
.gm-hp-options { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr)); gap:10px; }
.gm-hp-options[data-kind='list'][data-count='2'] { grid-template-columns:minmax(0,1fr); }
.gm-hp-options[data-kind='grid'] { grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr)); gap:8px; }
.gm-hp-options[data-kind='grid3'] { grid-template-columns:repeat(auto-fill,minmax(min(100%,172px),1fr)); gap:8px; }
.gm-hp-options[data-kind='row'] { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
@container (max-width:470px) { .gm-hp-options[data-kind='row'] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.gm-hp-opt { position:relative; display:flex; align-items:center; gap:14px; min-width:0; min-height:74px; padding:12px 14px; color:var(--gm-primary); cursor:pointer; transition:background-color var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
.gm-hp-opt input { position:absolute; inset:0; z-index:1; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
[data-kind='grid'] .gm-hp-opt,[data-kind='grid3'] .gm-hp-opt { gap:10px; min-height:56px; padding:8px 10px; }
[data-kind='row'] .gm-hp-opt { flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; min-height:54px; padding:7px 10px; }
.gm-hp-options[data-kind='chips'] { display:flex; flex-wrap:wrap; gap:8px; }
[data-kind='chips'] .gm-hp-opt { gap:9px; min-height:40px; padding:4px 14px 4px 4px; }
[data-kind='chips'] .gm-hp-ico { width:32px; height:32px; }
[data-kind='chips'] .gm-hp-ico svg { width:23px; height:23px; }
[data-kind='chips'] .gm-hp-txt strong { font-size:14px; white-space:nowrap; }
@media (hover:hover) { .gm-hp-opt:hover { background:var(--gm-paper); } }
.gm-hp-opt:has(input:focus-visible) { outline:2px solid var(--gm-primary); outline-offset:2px; }
.gm-hp-opt[data-checked='true'],.gm-hp-opt[data-checked='true']:hover { background:var(--gm-primary); color:#fff; }
.gm-hp-ico { position:relative; display:grid; place-items:center; flex:none; width:44px; height:44px; color:var(--gm-primary); transition:color var(--gm-fast) var(--gm-ease); }
.gm-hp-ico svg { width:30px; height:30px; }
[data-kind='grid'] .gm-hp-ico,[data-kind='grid3'] .gm-hp-ico { width:38px; height:38px; }
[data-kind='grid'] .gm-hp-ico svg,[data-kind='grid3'] .gm-hp-ico svg { width:26px; height:26px; }
.gm-hp-opt[data-checked='true'] .gm-hp-ico { color:#fff; }
.gm-hp-ico::after,.gm-hp-opt[data-glyph='true']::after { content:''; position:absolute; width:18px; height:18px; background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23104d70' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/11px 11px no-repeat; opacity:0; transform:scale(.5); transition:opacity var(--gm-fast) var(--gm-ease),transform var(--gm-slow) cubic-bezier(.34,1.56,.64,1); pointer-events:none; }
.gm-hp-ico::after { top:-6px; right:-6px; box-shadow:0 0 0 2px var(--gm-primary); }
.gm-hp-opt[data-glyph='true']::after { top:6px; right:6px; }
.gm-hp-opt[data-checked='true'] .gm-hp-ico::after,.gm-hp-opt[data-glyph='true'][data-checked='true']::after { opacity:1; transform:none; }
.gm-hp-txt { display:flex; flex-direction:column; gap:2px; min-width:0; }
.gm-hp-txt strong { font-size:15px; font-weight:600; line-height:1.35; }
[data-kind='grid'] .gm-hp-txt strong,[data-kind='grid3'] .gm-hp-txt strong,[data-kind='row'] .gm-hp-txt strong { font-size:14px; }
.gm-hp-txt small { font-size:13px; line-height:1.4; color:var(--gm-muted); transition:color var(--gm-fast) var(--gm-ease); }
.gm-hp-opt[data-checked='true'] small { color:rgb(255 255 255 / .8); }
.gm-hp-glyph { display:flex; flex:none; align-items:flex-end; height:16px; color:var(--gm-primary); }
.gm-hp-glyph svg { width:25px; height:16px; }
.gm-hp-opt[data-checked='true'] .gm-hp-glyph { color:#fff; }
.gm-hp-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:14px 16px; }
.gm-hp-fields .gm-field[data-wide='true'] { grid-column:1 / -1; }
.gm-hp-fields .gm-field > label { margin-bottom:8px; }
.gm-hp-inquiry .gm-field input,.gm-hp-inquiry .gm-field select { min-height:48px; padding-block:11px; }
.gm-hp-hint { grid-column:1 / -1; max-width:62ch; margin:-4px 0 0; font-size:12.5px; line-height:1.55; color:var(--gm-muted); }
.gm-hp-inquiry .gm-field select { appearance:none; padding-right:40px; background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23104d70' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right 12px center/18px 18px; }
.gm-hp-inquiry .gm-consent { margin-top:18px; }
.gm-hp-inquiry .gm-form-error { margin:16px 0 0; }
.gm-hp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:22px; }
.gm-hp-actions .gm-button { min-width:168px; margin:0 0 0 auto; }
.gm-hp-actions .gm-hp-back { gap:8px; margin:0; }
.gm-hp-actions .gm-hp-back svg { width:22px; height:22px; }
.gm-hp-inquiry .gm-form-actions { margin-top:20px; }
.gm-hp-inquiry .gm-form-actions + .gm-hp-actions { margin-top:14px; }
.gm-hp-vis { position:relative; display:flex; flex-direction:column; min-width:0; padding:22px 24px 18px; background:#104d70 linear-gradient(155deg,#1b6189 0%,#104d70 46%,#0b3a55 100%); color:#fff; overflow:hidden; isolation:isolate; }
.gm-hp-vis-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:38px; }
.gm-hp-vis-head p { display:flex; flex-direction:column; min-width:0; margin:0; }
.gm-hp-vis-head strong { font-size:15px; font-weight:600; line-height:1.3; }
.gm-hp-vis-head span { font-size:13px; line-height:1.4; color:rgb(255 255 255 / .74); }
.gm-hp-toggle { display:inline-flex; flex:none; padding:3px; background:rgb(0 0 0 / .2); }
.gm-hp-toggle button { min-height:34px; padding:6px 13px; border:0; border-radius:0; background:transparent; color:rgb(255 255 255 / .86); font:inherit; font-size:13px; font-weight:600; line-height:1.2; cursor:pointer; transition:background-color var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
.gm-hp-toggle button:hover { background:rgb(255 255 255 / .12); color:#fff; }
.gm-hp-toggle button[aria-pressed='true'] { background:#fff; color:var(--gm-primary); }
.gm-hp-toggle button:focus-visible { outline-offset:2px; }
.gm-hp-stage { position:relative; flex:1 1 auto; min-height:300px; margin:6px 0 10px; }
.gm-hp-stage svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.gm-hp-pill { position:absolute; left:0; top:0; padding:6px 12px; background:rgb(0 0 0 / .24); color:#fff; font-size:13px; font-weight:600; line-height:1.3; white-space:nowrap; pointer-events:none; }
.gm-hp-note { margin:0; font-size:12.5px; line-height:1.5; color:rgb(255 255 255 / .72); }
.gm-hp-spark { transform-box:fill-box; transform-origin:center; animation:gm-hp-spark 2.6s ease-in-out infinite; }
@keyframes gm-hp-spark { 0%,100% { transform:scale(.55); } 50% { transform:scale(1.15); } }
.gm-hp-glow { animation:gm-hp-glow 3.2s ease-in-out infinite; }
@keyframes gm-hp-glow { 0%,100% { fill-opacity:.6; } 50% { fill-opacity:1; } }
.gm-hp-air { animation:gm-hp-air 1.4s linear infinite; }
@keyframes gm-hp-air { to { stroke-dashoffset:-24; } }

@media (max-width:1000px) { .gm-hp-main { padding-inline:30px; } .gm-hp-grid { grid-template-columns:minmax(0,60fr) minmax(0,40fr); } }
@media (max-width:760px) {
 .gm-hp-grid { display:flex; flex-direction:column; }
 .gm-hp-vis { order:-1; padding:10px 14px 8px; }
 .gm-hp-vis-head p,.gm-hp-note { display:none; }
 .gm-hp-stage { flex:none; min-height:0; height:max(160px,30svh); margin:4px 0 0; }
 .gm-hp-pill { padding:5px 10px; font-size:12px; }
 .gm-hp-main { min-height:0; padding:18px 16px 24px; }
 .gm-hp-inquiry h2 { font-size:25px; }
 .gm-dialog.gm-hp-inquiry > .gm-close { top:8px; right:14px; }
 .gm-hp-vis-head { margin-top:0; }
 .gm-hp-opt { min-height:60px; gap:12px; padding:9px; }
 .gm-hp-fields { gap:12px; }
 .gm-hp-actions .gm-button { min-width:0; }
}
@media (max-width:440px) { .gm-hp-fields:has(#gm-hp-email) { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { .gm-hp-spark,.gm-hp-glow,.gm-hp-air { animation:none; } .gm-hp-tiles i { transition:none; } }
.gm-steel-inquiry .gm-bath-main { min-height:min(784px,calc(100svh - 48px)); }
.gm-steel-inquiry .gm-form-note a { color:var(--gm-primary); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.gm-steel-inquiry .gm-bath-options[data-kind='row'][data-cols='2'] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gm-steel-inquiry .gm-stq-days b { width:6px; }
.gm-stq-group { margin:0 0 10px; font-size:14px; font-weight:600; line-height:1.4; }
.gm-stq-block + * { margin-top:22px; }
.gm-stq-qty { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:end; gap:12px 16px; }
.gm-stq-qty .gm-field > label,.gm-stq-units legend { display:block; padding:0; margin-bottom:8px; font-size:14px; font-weight:550; line-height:1.4; }
.gm-stq-stepper { display:flex; width:220px; height:56px; background:#fff; border:1px solid #a6a199; transition:border-color var(--gm-fast) var(--gm-ease); }
.gm-stq-stepper:focus-within { border-color:var(--gm-primary); }
.gm-stq-stepper button { display:grid; place-items:center; flex:none; width:52px; padding:0; border:0; border-radius:0; background:var(--gm-paper); color:var(--gm-primary); cursor:pointer; transition:background-color var(--gm-fast) var(--gm-ease); }
@media (hover:hover) { .gm-stq-stepper button:hover { background:#ebe7e0; } }
.gm-stq-stepper button:focus-visible { outline:2px solid var(--gm-primary); outline-offset:-2px; }
.gm-stq-stepper svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.gm-field .gm-stq-stepper input { flex:1; min-width:0; min-height:0; padding:0 4px; border:0; outline:0; background:transparent; font-size:20px; font-weight:600; line-height:1.3; text-align:center; }
.gm-field .gm-stq-stepper input::placeholder { font-size:15px; font-weight:400; }
.gm-stq-units { min-width:0; margin:0; padding:0; border:0; }
.gm-stq-units legend { float:left; width:100%; }
.gm-stq-units > div { clear:both; display:flex; gap:3px; padding:3px; }
.gm-stq-units label { position:relative; display:grid; place-items:center; min-width:76px; min-height:50px; padding:0 14px; color:var(--gm-primary); font-size:15px; font-weight:600; cursor:pointer; transition:background-color var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
.gm-stq-units input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
@media (hover:hover) { .gm-stq-units label:hover { background:var(--gm-paper); } }
.gm-stq-units label[data-checked='true'] { background:var(--gm-primary); color:#fff; }
.gm-stq-units label:has(input:focus-visible) { outline:2px solid var(--gm-primary); outline-offset:2px; }
.gm-stq-calc { grid-column:1 / -1; min-height:20px; margin:0; font-size:13px; line-height:1.5; color:var(--gm-muted); }
.gm-steel-inquiry .gm-bath-stage text { font-size:12px; font-weight:600; fill:#fff; stroke:#104d70; stroke-width:3.5px; stroke-linejoin:round; paint-order:stroke; }
.gm-steel-inquiry .gm-bath-stage text.l { font-size:13px; font-weight:500; fill:rgb(255 255 255 / .88); stroke:none; }
.gm-stq-tag { opacity:0; transition:opacity .35s ease; }
.gm-stq-tag.is-on { opacity:1; }
.gm-stq-tag-sw { transform-origin:0 0; }
.gm-stq-tag-sw.is-swing { animation:gm-stq-swing 1.5s cubic-bezier(.3,.7,.4,1); }
.gm-stq-tag-sw.is-nudge { animation:gm-stq-nudge 1s cubic-bezier(.3,.7,.4,1); }
@keyframes gm-stq-swing { 0% { transform:rotate(-16deg); } 30% { transform:rotate(8deg); } 55% { transform:rotate(-4deg); } 78% { transform:rotate(1.5deg); } 100% { transform:rotate(0); } }
@keyframes gm-stq-nudge { 0% { transform:rotate(0); } 25% { transform:rotate(4deg); } 55% { transform:rotate(-2deg); } 80% { transform:rotate(.8deg); } 100% { transform:rotate(0); } }
.gm-steel-inquiry .gm-stq-tag text { font-size:12px; font-weight:400; fill:#4d5a64; stroke:none; }
.gm-steel-inquiry .gm-stq-tag text.b { font-size:12.5px; font-weight:600; fill:var(--gm-primary); }

@media (max-width:760px) {
 .gm-steel-inquiry .gm-bath-main { min-height:0; }
 .gm-stq-qty { grid-template-columns:minmax(0,1fr); }
 .gm-stq-stepper { width:100%; }
 .gm-stq-units label { flex:1; }
 .gm-steel-inquiry .gm-stq-days b { width:3px; }
}
@media (prefers-reduced-motion:reduce) { .gm-stq-tag { transition:none; } .gm-stq-tag-sw { animation:none; } }
.gm-cookie { width:calc(100% - 32px); max-width:600px; max-height:none; padding:0; border:0; background:transparent; color:var(--gm-primary); overflow:visible; }
.gm-cookie::backdrop { background:rgba(35,35,35,.76); backdrop-filter:blur(6px); }
.gm-cookie-sheet { display:flex; flex-direction:column; max-height:calc(100svh - 32px); background:#fff; }
.gm-cookie-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:32px 36px 0; }
.gm-cookie-head h2 { font-size:clamp(20px,1.4vw,24px); font-weight:500; line-height:1.3; letter-spacing:-.015em; }
.gm-cookie-head h2:focus { outline:none; }
.gm-cookie-head img { flex:none; width:124px; height:auto; }
.gm-cookie-body { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 36px 28px; }
.gm-cookie-view { overflow:hidden; }
.gm-cookie-intro { display:grid; gap:12px; padding-top:16px; color:var(--gm-muted); font-size:15px; line-height:1.65; }
.gm-cookie-cats { display:grid; gap:10px; padding-top:20px; }
.gm-cookie-cat { padding:18px 20px; background:var(--gm-paper); }
.gm-cookie-toggle { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; }
.gm-cookie-toggle:has(:disabled) { cursor:default; }
.gm-cookie-toggle strong { display:block; font-size:17px; font-weight:600; line-height:1.4; }
.gm-cookie-toggle small { display:block; margin-top:4px; color:var(--gm-muted); font-size:14px; line-height:1.55; }
.gm-cookie-toggle input { appearance:none; position:relative; flex:none; width:44px; height:24px; margin:0; border:1px solid var(--gm-muted); background:#fff; cursor:inherit; transition:background .4s,border-color .4s; }
.gm-cookie-toggle input::before { content:''; position:absolute; top:3px; left:3px; width:16px; height:16px; background:var(--gm-muted); transition:translate .4s,background .4s; }
.gm-cookie-toggle input:checked { background:var(--gm-primary); border-color:var(--gm-primary); }
.gm-cookie-toggle input:checked::before { translate:20px 0; background:#fff; }
.gm-cookie-toggle input:disabled { opacity:.55; }
.gm-cookie-toggle input:focus-visible { outline:2px solid var(--gm-primary); outline-offset:3px; }
.gm-cookie-service { margin-top:14px; padding:14px 16px; background:#fff; font-size:14px; line-height:1.55; }
.gm-cookie-service strong { display:block; margin-bottom:6px; font-weight:600; }
.gm-cookie-service dl { display:grid; grid-template-columns:auto 1fr; gap:4px 16px; margin:0; }
.gm-cookie-service dl > div { display:contents; }
.gm-cookie-service dt { color:var(--gm-muted); }
.gm-cookie-service dd { margin:0; overflow-wrap:anywhere; }
.gm-cookie :is(small,dd) { text-wrap:pretty; }
.gm-cookie-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; padding:24px 36px; background:var(--gm-paper); }
.gm-cookie-row { display:flex; flex-wrap:wrap; gap:8px; }
.gm-cookie-actions :is(.gm-button,.gm-cookie-pill) { min-height:48px; margin:0; padding:11px 20px; justify-content:center; text-align:center; font-size:14px; font-weight:600; line-height:1.45; }
.gm-cookie-actions .gm-cookie-outline { background:#fff; color:var(--gm-muted); border-color:var(--gm-line); }
.gm-cookie-actions .gm-cookie-outline:hover { background:#fff; color:var(--gm-primary); border-color:var(--gm-primary); }
.gm-cookie-pill { position:relative; display:inline-flex; align-items:center; background:none; color:var(--gm-muted); transition:color .2s ease; }
.gm-cookie-pill[data-active] { color:var(--gm-primary); }
.gm-cookie-pill > span:last-child { position:relative; }
.gm-cookie-pill-bg { position:absolute; inset:0; border:1px solid var(--gm-primary); }
.gm-cookie-legal { display:flex; justify-content:center; gap:10px; padding:14px 36px 0; color:var(--gm-muted); font-size:13px; }
.gm-cookie-brand { padding:4px 36px 16px; color:var(--gm-muted); font-size:12px; text-align:center; }
.gm-cookie :is(.gm-cookie-legal,.gm-cookie-brand) a { color:var(--gm-muted); text-decoration:underline; text-underline-offset:3px; }
.gm-cookie .gm-cookie-legal a { text-decoration:none; }
.gm-cookie :is(.gm-cookie-legal,.gm-cookie-brand) a:hover { color:var(--gm-primary); }
.gm-cookie-brand img { display:inline-block; height:.77em; width:auto; margin-left:2px; vertical-align:baseline; transition:opacity .2s ease; }
.gm-cookie-brand a:hover img { opacity:.7; }
@media (max-width:640px) {
 .gm-cookie-head { gap:12px; padding:24px 20px 0; }
 .gm-cookie-head img { width:min(100px,23vw); }
 .gm-cookie-body { padding:0 20px 20px; }
 .gm-cookie-cat { padding:16px; }
 .gm-cookie-actions,.gm-cookie-row { flex-direction:column; gap:8px; }
 .gm-cookie-actions { padding:20px; }
 .gm-cookie-actions :is(.gm-button,.gm-cookie-pill) { width:100%; }
 .gm-cookie-service dl { grid-template-columns:1fr; gap:0; }
 .gm-cookie-service dl > div + div dt { margin-top:8px; }
 .gm-cookie-legal { padding:12px 20px 0; }
 .gm-cookie-brand { padding:4px 20px 14px; }
}
.gm-cookie-manage { position:fixed; z-index:25; left:24px; bottom:calc(24px + var(--footer-lift,0px)); display:grid; place-items:center; width:48px; height:48px; padding:0; background:#fff; color:var(--gm-primary); box-shadow:0 8px 30px #31313120; opacity:.6; view-transition-name:gm-cookie; transition:opacity .35s cubic-bezier(.16,1,.3,1),scale .35s cubic-bezier(.16,1,.3,1),visibility 0s,background var(--gm-fast) var(--gm-ease); }
.gm-cookie-manage:is(:hover,:focus-visible) { opacity:1; background:var(--gm-paper); }
.gm-cookie-manage svg { width:26px; height:26px; }
.gm-cookie-manage[data-covered] { visibility:hidden; }
.gm-cookie-root:has(> .gm-cookie) .gm-cookie-manage,html:has(.gm-bath-sticky[data-visible='true']) .gm-cookie-manage { opacity:0; scale:.8; visibility:hidden; transition:opacity .2s,scale .2s,visibility 0s .2s; }
@media (max-width:640px) { .gm-cookie-manage { left:16px; bottom:calc(16px + var(--footer-lift,0px)); } }
@keyframes gm-cookie-in { from { opacity:0; translate:0 40px; scale:.96; } }
@keyframes gm-cookie-out { to { opacity:0; translate:0 20px; scale:.97; } }
@keyframes gm-cookie-fade { from { opacity:0; } }
@keyframes gm-cookie-fade-out { to { opacity:0; } }
@keyframes gm-cookie-card { from { opacity:0; translate:0 10px; } }
@media (prefers-reduced-motion:no-preference) {
 .gm-cookie[open] .gm-cookie-sheet { animation:gm-cookie-in 450ms cubic-bezier(.16,1,.3,1); }
 .gm-cookie[open]::backdrop { animation:gm-cookie-fade 300ms; }
 .gm-cookie-cat { animation:gm-cookie-card 350ms cubic-bezier(.16,1,.3,1) 50ms backwards; }
 .gm-cookie-cat:nth-child(2) { animation-delay:100ms; }
 .gm-cookie-cat:nth-child(3) { animation-delay:150ms; }
 .gm-cookie-root[data-closing='true'] .gm-cookie-sheet { animation:gm-cookie-out 250ms cubic-bezier(.25,.1,.25,1) forwards; pointer-events:none; }
 .gm-cookie-root[data-closing='true'] .gm-cookie::backdrop { animation:gm-cookie-fade-out 250ms forwards; }
}
.gm-dialog.gm-lightbox { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; background:transparent; color:#fff; overflow:hidden; }
.gm-dialog.gm-lightbox::backdrop { background:transparent; backdrop-filter:none; }
.gm-lightbox[open] { display:grid; --lightbox-dock-width:148px; --lightbox-dock-gap:20px; grid-template-columns:minmax(0,1fr); grid-template-rows:68px minmax(0,1fr) 64px; }
.gm-lightbox .gm-lightbox-top { justify-content:flex-end; padding: max(12px,env(safe-area-inset-top)) 24px 12px; min-height:68px; grid-column:1 / -1; z-index:2; background:transparent; }
.gm-lightbox .gm-close { color:#fff; background:#ffffff12; width:44px; height:44px; }
.gm-lightbox-stage { grid-column:1; grid-row:2; min-height:0; margin:0 184px 0 24px; touch-action:none; cursor:default; overflow:hidden; clip-path:inset(0); }
.gm-lightbox-frame { cursor:zoom-in; }
.gm-lightbox-stage[data-zoomed='true'] .gm-lightbox-frame { cursor:zoom-out; }
.gm-lightbox-stage[data-zoomed='true']:active .gm-lightbox-frame { cursor:grabbing; }
.gm-lightbox-frame { position:fixed; overflow:hidden; transform-origin:center; will-change:transform,clip-path; }
.gm-lightbox-frame img { display:block; width:100%; height:100%; object-fit:cover; user-select:none; }
.gm-lightbox .gm-lightbox-caption { grid-column:1; grid-row:3; margin:0; padding:16px 24px max(20px,env(safe-area-inset-bottom)); }
.gm-lightbox .gm-lightbox-caption figcaption { margin:0; color:#dfdcd6; font-size:13px; }
.gm-lightbox button:disabled { opacity:.35; cursor:default; }
.gm-lightbox button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.gm-lightbox .gm-gallery-controls { position:fixed; top:76px; bottom:max(20px,env(safe-area-inset-bottom)); width:var(--lightbox-dock-width); flex-direction:column; padding:0; min-width:0; min-height:0; z-index:2; }
.gm-lightbox .gm-gallery-dock { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; padding:4px; min-height:0; max-height:100%; max-width:100%; overflow-x:hidden; overflow-y:auto; scrollbar-width:thin; }
.gm-lightbox .gm-gallery-dock button { width:64px; height:56px; opacity:.55; cursor:pointer; }
.gm-lightbox .gm-gallery-dock button[aria-pressed='true'] { border-color:#fff; opacity:1; }
.gm-lightbox[data-closing='true'] { pointer-events:none; background:transparent; }
.gm-lightbox[data-closing='true'] .gm-lightbox-stage { clip-path:none; }
@media(max-width:700px) {
 .gm-lightbox .gm-lightbox-top { padding-inline:16px; font-size:12px; }
 .gm-lightbox-stage { margin:0 8px; }
 .gm-lightbox .gm-lightbox-caption figcaption { font-size:11px; }
 .gm-lightbox .gm-gallery-controls { position:static; grid-row:3; grid-column:1; width:auto; padding:8px 0 0; }
 .gm-lightbox .gm-gallery-dock { display:flex; gap:6px; padding:2px 8px; overflow-x:auto; overflow-y:hidden; scroll-padding-inline:8px; scrollbar-width:none; }
 .gm-lightbox .gm-gallery-dock::-webkit-scrollbar { display:none; }
 .gm-lightbox .gm-gallery-dock button { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) { .gm-lightbox * { scroll-behavior:auto!important; } }

.gm-lightbox::before { content:""; position:fixed; inset:0; background:#202020; pointer-events:none; animation:gm-lightbox-backdrop-in 650ms cubic-bezier(.2,.75,.2,1) both; }
.gm-lightbox-stage { z-index:1; }
.gm-lightbox .gm-lightbox-caption { position:relative; z-index:2; background:#202020; }
.gm-lightbox[data-opening='true'] .gm-lightbox-stage { clip-path:none; }
.gm-lightbox[data-opening='true'] > :not(.gm-lightbox-stage) { animation:gm-lightbox-controls-in 650ms ease both; }
.gm-lightbox[data-closing='true']::before { animation:gm-lightbox-backdrop-out 500ms cubic-bezier(.2,.75,.2,1) both; }
.gm-lightbox[data-closing='true'] > :not(.gm-lightbox-stage) { animation:gm-lightbox-controls-out 200ms ease both; }
@keyframes gm-lightbox-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes gm-lightbox-backdrop-out { from { opacity:1; } to { opacity:0; } }
@keyframes gm-lightbox-controls-in { 0%,30% { opacity:0; } 100% { opacity:1; } }
@keyframes gm-lightbox-controls-out { to { opacity:0; } }
@media(prefers-reduced-motion:reduce) { .gm-lightbox::before,.gm-lightbox > * { animation:none!important; } }

.gm-lightbox-outgoing { pointer-events:none; z-index:1; }
.gm-lightbox .gm-gallery-controls { will-change:transform; }
.gm-lightbox .gm-gallery-dock button { transition:opacity 250ms ease,border-color 250ms ease; }
.gm-lightbox .gm-lightbox-caption { overflow:hidden; }
@media(max-width:700px) { .gm-lightbox[open] { grid-template-rows:68px minmax(0,1fr) 60px 80px; } }
@media(prefers-reduced-motion:reduce) { .gm-lightbox .gm-gallery-dock button { transition:none; } }
.gm-lightbox-navigation { grid-column:1; grid-row:2; margin:0 184px 0 24px; padding:0 12px; display:flex; align-items:center; justify-content:space-between; pointer-events:none; z-index:3; }
.gm-lightbox-navigation button { display:grid; place-items:center; width:60px; height:60px; padding:0; flex-shrink:0; border:1px solid #ffffff40; border-radius:50%; background:#292929; color:white; box-shadow:0 4px 18px #0004; cursor:pointer; pointer-events:auto; touch-action:manipulation; transition:background 180ms ease,border-color 180ms ease,transform 180ms ease; }
.gm-lightbox-navigation button:hover { background:#454440; border-color:#ffffff80; }
.gm-lightbox-navigation button:active { transform:scale(.94); }
@media(max-width:700px) {
 .gm-lightbox-navigation { grid-row:4; margin:0; padding:0 16px; align-items:flex-start; padding-top:8px; }
 .gm-lightbox-navigation button { width:48px; height:48px; }
 .gm-lightbox .gm-lightbox-caption { grid-row:4; padding-top:23px; }
}
@media(prefers-reduced-motion:reduce) { .gm-lightbox-navigation button { transition:none; } }
.gm-textured { background:var(--gm-paper) url('/images/home-materials/paper.webp'); }
.gm-has-bleed { position:relative; isolation:isolate; overflow:clip; }
.gm-has-bleed > :not(.gm-bleed,.gm-swatches-edge) { position:relative; z-index:1; }
.gm-swatches { display:flex; flex-wrap:wrap; gap:5px; }
.gm-swatches > span { width:clamp(40px,3.9vw,56px); aspect-ratio:1; background-size:cover; background-position:center; }
.gm-swatches-edge { position:absolute; z-index:0; top:50%; right:0; flex-direction:column; gap:2px; translate:0 -50%; }
.gm-swatches-edge > span { width:max(0px,calc(var(--gm-gutter) - 28px)); aspect-ratio:.62; }
.gm-bleed { position:absolute; z-index:0; inset:0; pointer-events:none; }
.gm-bleed > span { position:absolute; background-position:center; }
.gm-tex-copper::after { content:""; position:absolute; inset:0; background:linear-gradient(98deg,rgba(80,32,12,.42),rgba(80,32,12,.08) 34%,rgba(255,236,218,.28) 60%,rgba(80,32,12,.16)); }
.gm-bleed-left { top:21%; left:0; width:min(11%,calc(var(--gm-gutter) - 16px)); height:26%; clip-path:polygon(0 4%,100% 0,100% 100%,0 95%); }
@media (min-width:761px) { .gm-bleed-left { left:-20px; } }
.gm-bleed-right { top:24%; right:0; width:19%; height:23%; clip-path:polygon(0 25%,100% 0,100% 91%,0 100%); }
.gm-triptych-stage { position:relative; height:clamp(340px,34vw,560px); margin-inline:calc(-1 * var(--gm-gutter)); overflow:hidden; background:white; }
.gm-triptych-stage ul { position:absolute; inset:0; margin:0; padding:0; list-style:none; }
.gm-triptych-stage li { position:absolute; inset:0; clip-path:var(--clip); }
.gm-triptych-stage li > a { position:absolute; inset:0; color:white; }
.gm-triptych-image { position:absolute; top:0; bottom:0; left:var(--left); width:var(--width); overflow:hidden; }
.gm-triptych-image .gm-photo { transition:transform var(--gm-slow) var(--gm-ease); }
.gm-triptych-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,77,112,.04) 15%,rgba(16,77,112,.12) 40%,rgba(16,77,112,.7) 76%,rgba(16,77,112,.96) 100%); }
.gm-triptych-stage li:hover .gm-photo { transform:scale(1.035); }
.gm-triptych-label { position:absolute; left:var(--label); bottom:clamp(30px,3.4vw,58px); display:flex; flex-direction:column; align-items:center; gap:14px; color:white; font-size:clamp(13px,1.05vw,18px); font-weight:700; line-height:1.4; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; translate:-50% 0; }
.gm-triptych-label > svg { width:clamp(49px,3.65vw,70px); height:clamp(49px,3.65vw,70px); stroke-width:1.75; }
.gm-triptych-label::after { content:''; width:48px; height:1px; background:rgba(255,255,255,.8); }
.gm-triptych-seams { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.gm-triptych-seams path { fill:none; stroke:white; stroke-width:2; vector-effect:non-scaling-stroke; }
.gm-triptych-curve { position:absolute; top:-1px; left:0; width:100%; height:clamp(56px,6.2vw,112px); fill:white; pointer-events:none; }
.gm-tinted .gm-triptych-curve { fill:var(--gm-paper); }
.gm-triptych-columns { display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:clamp(28px,4vw,72px); margin-top:clamp(40px,4vw,64px); }
.gm-triptych-columns h3,.gm-mosaic h3,.gm-staffel h3 { font-size:clamp(24px,1.9vw,30px); font-weight:450; line-height:1.25; letter-spacing:-.02em; margin-bottom:14px; }
.gm-triptych-columns .gm-link,.gm-mosaic .gm-link,.gm-staffel .gm-link { margin-top:16px; }
.gm-mosaic { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(40px,4vw,60px) 4%; }
.gm-mosaic-lead { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.46fr) minmax(0,.54fr); gap:4%; align-items:center; }
.gm-mosaic-intro > .gm-prose { max-width:62ch; margin-top:24px; }
.gm-mosaic-intro > article { margin:clamp(32px,3vw,48px) 0 0 clamp(0px,12%,120px); }
.gm-mosaic-lead h3 { font-size:clamp(28px,2.4vw,35px); }
.gm-mosaic-lead .gm-mosaic-image { width:92%; justify-self:end; height:clamp(320px,31vw,500px); clip-path:polygon(0 0,100% 3%,100% 100%,0 88%); }
.gm-mosaic-image { position:relative; overflow:hidden; }
.gm-mosaic-item { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:28px; align-items:center; }
.gm-mosaic-item .gm-mosaic-image { height:100%; min-height:280px; }
.gm-mosaic-item .gm-prose { font-size:15px; line-height:1.75; }
.gm-mosaic-item:nth-child(2) .gm-mosaic-image { clip-path:polygon(0 5%,100% 0,100% 100%,0 92%); }
.gm-mosaic-item:nth-child(3) .gm-mosaic-image { clip-path:polygon(0 0,100% 3%,100% 100%,0 96%); }
.gm-mosaic-item:nth-child(4) .gm-mosaic-image { clip-path:polygon(0 4%,100% 0,100% 100%,0 94%); }
.gm-mosaic-item:nth-child(5) .gm-mosaic-image { clip-path:polygon(0 6%,100% 0,100% 94%,0 100%); }
.gm-mosaic[data-rest='3'] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gm-mosaic[data-rest='4'] { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gm-mosaic:is([data-rest='3'],[data-rest='4']) .gm-mosaic-item { display:block; }
.gm-mosaic:is([data-rest='3'],[data-rest='4']) .gm-mosaic-item .gm-mosaic-image { height:clamp(240px,21vw,330px); min-height:0; margin-bottom:28px; }
.gm-mosaic[data-rest='4'] .gm-mosaic-item .gm-mosaic-image { height:clamp(200px,15vw,280px); }
.gm-staffel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,3.6vw,68px); align-items:start; }
.gm-staffel-item:nth-child(2) { margin-top:clamp(40px,5vw,96px); }
.gm-staffel-item:nth-child(3) { margin-top:clamp(80px,10vw,192px); }
.gm-staffel-image { aspect-ratio:4/5; overflow:hidden; margin-bottom:28px; clip-path:polygon(0 0,100% 6%,100% 100%,0 100%); }
.gm-staffel-image:has(> .gm-ki-photo) { position:relative; }
.gm-staffel .gm-prose { font-size:15px; line-height:1.75; }
.gm-bento { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:clamp(220px,19vw,320px); gap:12px; }
.gm-bento > figure { position:relative; margin:0; overflow:hidden; background:white; }
.gm-bento > figure:first-child { grid-column:span 2; grid-row:span 2; }
.gm-bento figcaption { position:absolute; inset:auto 0 0; padding:64px clamp(18px,1.8vw,28px) clamp(18px,1.6vw,26px); color:white; background:linear-gradient(180deg,rgba(28,30,31,0),rgba(28,30,31,.84)); }
.gm-bento figcaption strong { display:block; font-size:clamp(17px,1.3vw,21px); font-weight:650; line-height:1.35; }
.gm-bento figcaption .gm-prose { margin-top:4px; color:white; font-size:14px; line-height:1.55; }
.gm-bento > figure:first-child figcaption strong { font-size:clamp(22px,2vw,30px); font-weight:500; }
.gm-collage,.gm-gallery-grid.gm-collage { display:grid; grid-template-columns:1.55fr 1fr; grid-template-rows:minmax(0,1fr) clamp(110px,10vw,160px); grid-auto-rows:auto; gap:12px; height:100%; min-height:clamp(380px,34vw,540px); }
.gm-collage > div { min-height:0; overflow:hidden; }
.gm-collage > :first-child,.gm-gallery-grid.gm-collage > .gm-gallery-tile:first-child { grid-column:1 / -1; grid-row:auto; height:auto; }
.gm-dark-band { --gm-muted:#fff; --gm-ink:#fff; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(40px,5vw,96px); align-items:stretch; background:var(--color-surface-dark); color:white; }
.gm-dark-band:has(> .gm-dark-copy:first-child) { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
.gm-dark-media { min-width:0; }
.gm-dark-media > .gm-gallery { display:flex; flex-direction:column; height:100%; }
.gm-dark-media > .gm-gallery > .gm-gallery-grid { flex:1; }
.gm-dark-media > .gm-gallery > .gm-link { margin:14px 0 0; }
.gm-dark-copy { display:flex; flex-direction:column; min-width:0; }
.gm-dark-copy > .gm-heading,.gm-dark-head > .gm-heading { margin-top:auto; font-size:clamp(32px,2.9vw,50px); }
.gm-dark-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px 40px; margin-top:auto; }
.gm-dark-band-blue { background:var(--color-primary); }
.gm-dark-copy > .gm-prose { margin-top:24px; color:white; }
.gm-dark-copy > .gm-swatches { margin-top:auto; padding-top:32px; }
.gm-dark-copy:not(:has(> .gm-swatches)) > :last-child { margin-bottom:auto; }
.gm-dark-band .gm-link:hover { color:white; text-decoration:underline; text-underline-offset:4px; }
.gm-dark-band :is(a,button):focus-visible { outline-color:white; }
.gm-dark-band .gm-download { color:var(--color-primary); border-color:transparent; }
.gm-dark-band .gm-download small { color:var(--color-muted); }
@media (min-width:901px) { .gm-dark-band.gm-dark-band-even { grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:8%; } }
.gm-dark-band-stone { row-gap:var(--gm-space-head); }
.gm-dark-band-stone > * { grid-column:1 / -1; }
.gm-dark-band.gm-dark-band-stone .gm-staffel-item:nth-child(n) { margin-top:0; }
.gm-dark-band-stone .gm-staffel-image { aspect-ratio:3/2; clip-path:polygon(0 0,100% 11%,100% 100%,0 100%); }
.gm-dark-band-stone .gm-staffel-item:first-child .gm-photo { object-position:50% 35%; }
@media (min-width:901px) {
 .gm-dark-band-stone > .gm-dark-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:8%; }
 .gm-dark-band-stone > .gm-dark-copy > .gm-heading { grid-row:span 2; }
 .gm-dark-band-stone > .gm-dark-copy > .gm-prose { margin-top:0; }
}
.gm-figures { display:grid; margin:0; }
.gm-figures > div { display:flex; flex-direction:column-reverse; gap:12px; padding:26px 0; }
.gm-figures > div + div::after { content:''; height:1px; margin-bottom:14px; background:currentColor; opacity:.35; }
.gm-figures dd { margin:0; font-size:clamp(52px,5.4vw,92px); font-weight:300; line-height:1; letter-spacing:-.055em; }
.gm-figures dd small { font-size:.42em; letter-spacing:-.02em; margin-left:.12em; }
.gm-figures dt { max-width:54ch; color:var(--gm-muted); font-size:15px; line-height:1.7; }
.gm-tech { --slant:clamp(28px,3.4vw,66px); display:grid; grid-template-columns:minmax(0,.42fr) minmax(0,.58fr); gap:clamp(24px,2.4vw,44px); }
.gm-tinted + .gm-section.gm-tech { padding-top:0; }
.gm-tech h3 { font-size:var(--gm-type-title,24px); font-weight:500; line-height:1.3; letter-spacing:-.015em; }
.gm-tech-panel { --gm-ink:#fff; --gm-muted:rgb(255 255 255 / .9); --pad:clamp(24px,3vw,56px); display:flex; flex-direction:column; padding:calc(var(--slant) + clamp(28px,2.8vw,52px)) var(--pad) var(--pad); background:var(--color-primary); color:#fff; clip-path:polygon(0 var(--slant),100% 0,100% 100%,0 100%); }
.gm-tech-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.gm-tech-logo { flex:none; width:clamp(56px,4.2vw,80px); height:auto; }
.gm-tech-panel > h3 { margin-top:clamp(28px,2.4vw,40px); }
.gm-tech-panel > .gm-prose { margin:14px 0 32px; }
.gm-tech-panel > .gm-download { margin-top:auto; color:var(--color-primary); border-color:transparent; }
.gm-tech-panel .gm-download small { color:var(--color-muted); }
.gm-tech-panel :is(a,button):focus-visible { outline-color:#fff; }
.gm-tech-figures { display:flex; flex-direction:column; gap:clamp(20px,1.6vw,28px); }
.gm-tech-figures > ul { flex:1; display:flex; flex-direction:column; gap:clamp(12px,1vw,16px); margin:0; padding:0; list-style:none; container-type:inline-size; }
.gm-effect { flex:1 1 auto; display:grid; grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); gap:24px clamp(24px,3vw,48px); align-items:center; padding:clamp(22px,2vw,34px); background:white; }
.gm-effect-value > div { display:flex; align-items:baseline; gap:.16em; color:var(--gm-primary); font-size:var(--gm-type-figure,60px); font-weight:300; line-height:1; white-space:nowrap; }
.gm-effect-value small { font-size:.42em; letter-spacing:-.02em; }
.gm-effect-value .gm-odometer { font-size:inherit; letter-spacing:-.055em; }
.gm-effect .gm-odometer > span > span { transition-duration:1.2s; transition-delay:.25s; }
.gm-effect-ribs { display:flex; gap:clamp(12px,1.2vw,20px); margin-top:clamp(16px,1.2vw,22px); }
.gm-effect-ribs > span { display:flex; flex-direction:column; gap:10px; }
.gm-effect-ribs > span > span { display:flex; gap:clamp(4px,.35vw,6px); }
.gm-effect-ribs i { width:clamp(16px,1.4vw,26px); height:clamp(40px,2.9vw,54px); transform-origin:bottom; background:var(--color-primary); }
.gm-effect-ribs .is-soft i { background:rgb(16 77 112 / .14); }
.gm-effect-ribs b { position:relative; padding-top:10px; font-size:13px; font-weight:600; line-height:1.3; white-space:nowrap; }
.gm-effect-ribs b::before { content:''; position:absolute; inset:0 0 auto; height:1px; background:currentColor; }
.gm-effect-ribs .is-soft b { color:var(--color-muted); }
@container (max-width:540px) { .gm-effect { grid-template-columns:1fr; align-items:start; } }
@media (max-width:1200px) { .gm-tech { grid-template-columns:1fr; } }
.gm-share { display:grid; grid-template-columns:repeat(25,minmax(0,1fr)); gap:14px clamp(3px,.32vw,6px); max-width:500px; margin:32px 0 28px; }
.gm-share > strong { grid-column:1 / -1; color:var(--color-nature); font-size:var(--gm-type-figure,clamp(44px,3.4vw,60px)); font-weight:300; line-height:1.1; letter-spacing:-.055em; }
.gm-share > i { height:clamp(84px,7vw,120px); transform-origin:bottom; background:color-mix(in srgb,var(--color-nature) 16%,transparent); }
.gm-share > i.is-on { background:var(--color-nature); }
.gm-share > span { grid-column-start:1; position:relative; padding-top:12px; color:var(--color-nature); font-size:14px; font-weight:600; }
.gm-share > span::before { content:''; position:absolute; inset:0 0 auto; height:1px; background:currentColor; }
.gm-panorama { --slant:clamp(36px,4vw,72px); position:relative; height:clamp(240px,26vw,440px); margin-inline:calc(-1 * var(--gm-gutter)); overflow:clip; container-type:inline-size; }
.gm-panorama-track { --start:calc(-1 * clamp(28px,7vw,100px)); display:flex; width:max-content; height:100%; translate:var(--start); }
.gm-panorama-track > .gm-photo { flex:none; width:clamp(240px,30vw,600px); height:100%; clip-path:polygon(var(--slant) 0,100% 0,calc(100% - var(--slant)) 100%,0 100%); }
.gm-panorama-track > .gm-photo + .gm-photo { margin-left:calc(8px - var(--slant)); }
.gm-panorama-track > .gm-photo:first-child { clip-path:polygon(0 0,100% 0,calc(100% - var(--slant)) 100%,0 100%); }
.gm-panorama-track > .gm-photo:last-child { clip-path:polygon(var(--slant) 0,100% 0,100% 100%,0 100%); }
.gm-panorama .gm-triptych-curve { fill:var(--gm-surface,white); }
@supports (animation-timeline:view()) {
 .gm-panorama-track { animation:gm-panorama-drift linear both; animation-timeline:view(); }
 @keyframes gm-panorama-drift { to { translate:calc(var(--start) + (100cqw - 100%) / 8); } }
}
.gm-cut-split { display:grid; grid-template-columns:minmax(0,.46fr) minmax(0,.54fr); gap:clamp(40px,5vw,96px); align-items:center; overflow:clip; }
.gm-cut-split-copy .gm-heading + .gm-prose,.gm-cut-split-copy .gm-heading + .gm-lede { margin-top:28px; }
.gm-cut-split-media { position:relative; }
.gm-cut-split-media > .gm-photo { height:clamp(420px,40vw,660px); clip-path:polygon(0 0,100% 3%,100% 100%,0 88%); }
.gm-cut-split-media > .gm-swatches { justify-content:flex-end; margin-top:12px; }
.gm-cut-split-reverse { grid-template-columns:minmax(0,.54fr) minmax(0,.46fr); }
.gm-cut-split-reverse .gm-cut-split-media { order:-1; }
.gm-cut-split-reverse .gm-cut-split-media > .gm-photo { clip-path:polygon(0 3%,100% 0,100% 88%,0 100%); }
.gm-cut-split-reverse .gm-cut-split-media > .gm-swatches { justify-content:flex-start; }
.gm-cut-stat { position:absolute; z-index:1; left:calc(-1 * clamp(24px,4vw,72px)); bottom:clamp(28px,3vw,52px); padding:clamp(22px,2vw,32px) clamp(24px,2.6vw,42px); background:var(--gm-paper); }
.gm-cut-stat > strong { display:block; font-size:clamp(58px,5.6vw,98px); font-weight:300; line-height:1; letter-spacing:-.065em; }
.gm-cut-stat > strong span { color:var(--gm-accent); }
.gm-cut-stat > p { margin-top:10px; font-size:15px; font-weight:600; }
.gm-reasons-row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px clamp(24px,2.6vw,44px); margin-top:0; }

.gm-dark-copy > .gm-download { margin-top:28px; }
.gm-dark-copy > .gm-download + .gm-download { margin-top:12px; }
.gm-dark-copy > .gm-lede { margin-top:24px; }
.gm-visit-split { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(40px,6vw,112px); align-items:center; }
.gm-visit-split .gm-welcome-reasons { margin-top:36px; }
.gm-visit-split .gm-hours-list { margin-top:0; }
.gm-testimonials-staggered { align-items:start; }
.gm-testimonials-staggered figure:nth-child(even) { margin-top:clamp(40px,5vw,88px); }
.gm-testimonials-staggered .gm-photo { clip-path:polygon(0 0,100% 5%,100% 100%,0 100%); }
.gm-ref-row { --n:3; --peek:.34; --gap:32px; margin-inline:calc(-1 * var(--gm-gutter)); container-type:inline-size; }
.gm-ref-row .gm-testimonials { --w:calc((100cqw - var(--gm-gutter) - var(--n) * var(--gap)) / (var(--n) + var(--peek))); --fade:calc((var(--gm-gutter) + var(--peek) * var(--w)) / 2); display:flex; gap:var(--gap); padding:0 0 24px var(--gm-gutter); overflow:auto hidden; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent); }
.gm-ref-row .gm-testimonials::-webkit-scrollbar { display:none; }
.gm-ref-row .gm-testimonials:focus-visible { outline:2px solid var(--gm-primary); outline-offset:-2px; }
.gm-ref-row .gm-testimonials > figure { flex:0 0 var(--w); min-width:0; scroll-snap-align:center; }
.gm-ref-row figure > :not(.gm-photo) { transition:filter 900ms cubic-bezier(.33,1,.68,1); }
.gm-ref-row figure > :nth-child(3) { transition-delay:100ms; }
.gm-ref-row figure > :nth-child(4) { transition-delay:200ms; }
.gm-ref-row figure[data-cut] > :not(.gm-photo) { filter:opacity(0); transition-duration:300ms; transition-delay:0ms; }
.gm-ref-row[data-jump] figure > :not(.gm-photo) { transition:none; }
.gm-ref-model { display:flex; align-items:center; gap:8px; margin:0 0 6px; font-size:var(--gm-type-small,14px); font-weight:600; line-height:1.4; }
.gm-ref-model svg { flex:none; width:22px; height:22px; }
.gm-ref-nav { display:flex; justify-content:flex-end; gap:8px; margin-top:clamp(4px,1.6vw,24px); padding-inline:var(--gm-gutter); }
.gm-ref-nav button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid var(--gm-primary); border-radius:0; background:white; color:var(--gm-primary); transition:background var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease),opacity var(--gm-fast) var(--gm-ease); }
.gm-ref-nav button:hover { background:var(--gm-primary); color:white; }
.gm-ref-nav svg { width:24px; height:24px; }
.gm-ref-nav button:first-child svg { scale:-1 1; }
.gm-site { --gm-band-slant:clamp(20px,2.6vw,44px); }
.gm-site .gm-contact-band.gm-contact-band-accent { padding:0; background:none; }
.gm-contact-band-accent .gm-contact-band-inner { --gm-muted:#dce7ed; background:none; color:white; padding-top:calc(clamp(52px,5vw,88px) + clamp(12px,1.6vw,28px)); padding-inline:var(--gm-gutter); }
.gm-contact-band-accent .gm-contact-band-divider { background:rgba(255,255,255,.3); }
:is(.gm-contact-band-accent,.gm-regional-inner) .gm-regional-kicker { margin-bottom:clamp(22px,2vw,30px); color:white; }
:is(.gm-contact-band-accent,.gm-regional-inner) .gm-regional-kicker svg { color:white; }
.gm-site .gm-section:has(+ .gm-contact-band-accent) { border-bottom:var(--gm-band-slant) solid transparent; }
.gm-site .gm-section + .gm-contact-band-accent { margin-top:calc(var(--gm-band-slant) * -1); }
.gm-site .gm-section:has(+ .gm-contact-band-skyline) { border-bottom-width:calc(var(--gm-sky-h) + 2px); }
.gm-site .gm-section + .gm-contact-band-skyline { margin-top:calc((var(--gm-sky-h) + 2px) * -1); }
.gm-contact-band-skyline .gm-contact-band-inner { margin-top:calc(var(--gm-band-slant) * -1); padding-top:calc(var(--gm-band-slant) + var(--gm-band-top)); }
.gm-contact-band-accent .gm-button { background:white; color:var(--color-primary); border-color:white; }
.gm-contact-band-accent .gm-button:hover { background:#e6eef3; }
.gm-contact-band-accent .gm-link:hover { color:white; text-decoration:underline; text-underline-offset:4px; }
.gm-contact-band-accent :is(a,button):focus-visible { outline-color:white; }

@media (max-width:1100px) {
 .gm-mosaic-item { display:block; }
 .gm-mosaic-item .gm-mosaic-image { min-height:0; height:280px; margin-bottom:24px; }
 .gm-mosaic-intro > article { margin-left:8%; }
 .gm-mosaic[data-rest='4'] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gm-bleed > span { max-width:calc(var(--gm-gutter) - 16px); }
 .gm-reasons-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
 .gm-dark-band,.gm-dark-band:has(> .gm-dark-copy:first-child) { grid-template-columns:1fr; }
 .gm-dark-copy > .gm-heading { margin-top:0; }
 .gm-collage,.gm-gallery-grid.gm-collage { min-height:0; grid-template-rows:clamp(240px,50vw,420px) clamp(110px,22vw,180px); }
 .gm-cut-split,.gm-cut-split-reverse { grid-template-columns:1fr; }
 .gm-cut-split-reverse .gm-cut-split-media { order:0; }
 .gm-cut-split-media > .gm-photo { height:clamp(320px,60vw,480px); }
 .gm-cut-stat { left:0; }
 .gm-staffel { gap:20px; }
 .gm-staffel-item:nth-child(2) { margin-top:40px; }
 .gm-staffel-item:nth-child(3) { margin-top:80px; }
 .gm-triptych-columns { gap:24px; }
 .gm-testimonials-staggered figure:nth-child(even) { margin-top:0; }
}
@media (max-width:760px) {
 .gm-triptych-stage { height:300px; }
 .gm-triptych-label { gap:10px; font-size:12px; letter-spacing:.08em; }
 .gm-triptych-label > svg { width:40px; height:40px; }
 .gm-triptych-label::after { width:32px; }
 .gm-triptych-columns,.gm-mosaic,.gm-mosaic:is([data-rest='3'],[data-rest='4']),.gm-mosaic-lead,.gm-visit-split { grid-template-columns:1fr; }
 .gm-mosaic-lead .gm-mosaic-image { width:100%; height:320px; }
 .gm-mosaic:is([data-rest='3'],[data-rest='4']) .gm-mosaic-item .gm-mosaic-image,.gm-mosaic-item .gm-mosaic-image { height:260px; }
 .gm-mosaic-intro > article { margin-left:0; }
 .gm-staffel { grid-template-columns:1fr; gap:48px; }
 .gm-staffel-item:nth-child(n) { margin-top:0; }
 .gm-staffel-image { aspect-ratio:4/3; margin-bottom:22px; }
 .gm-bento { grid-template-columns:1fr 1fr; grid-auto-rows:220px; gap:8px; }
 .gm-bento > figure:first-child { grid-row:auto; }
 .gm-bleed,.gm-swatches-edge { display:none; }
 .gm-cut-stat { position:relative; bottom:auto; margin:-56px 0 0 var(--gm-gutter); width:fit-content; }
 .gm-cut-split-reverse .gm-cut-stat { margin-left:var(--gm-gutter); }
 .gm-testimonials-staggered .gm-photo { clip-path:none; }
 .gm-ref-row { --n:1; --peek:.12; --gap:16px; }
}
@media (max-width:560px) {
 .gm-bento { grid-template-columns:1fr; grid-auto-rows:240px; }
 .gm-bento > figure:first-child { grid-column:auto; }
 .gm-reasons-row { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
 .gm-triptych-stage li:hover .gm-photo { transform:none; }
}
@media (min-width:761px) and (hover:hover) and (pointer:fine) {
 .gm-triptych-image::after { opacity:0; transition:opacity 400ms cubic-bezier(.22,1,.36,1); }
 .gm-triptych-label { opacity:0; translate:-50% 12px; transition:opacity 350ms ease,translate 400ms cubic-bezier(.22,1,.36,1); }
 .gm-triptych-stage li:hover .gm-triptych-image::after { opacity:1; }
 .gm-triptych-stage li:hover .gm-triptych-label { opacity:1; translate:-50% 0; }
}
@media (prefers-reduced-motion:reduce) { .gm-triptych-image::after,.gm-triptych-label { transition:none; } }
.gm-steel-download-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:22px; }
.gm-steel-download-row .gm-download { margin:0; gap:12px; padding:14px 16px; color:var(--color-primary); border-color:transparent; }
.gm-steel-download-row .gm-download strong { font-size:15px; }
.gm-steel-download-row .gm-download small { color:var(--color-muted); }
.gm-steel-download-row .gm-document { width:22px; }
.gm-steel-downloads .gm-showroom-materials { grid-template-columns:repeat(3,minmax(0,1fr)); width:min(52%,180px); }
@media (max-width:1100px) { .gm-steel-download-row { grid-template-columns:1fr; gap:8px; } .gm-steel-downloads { height:auto; } }
.gm-service-page .gm-section.gm-showroom-feature { padding-block:48px; }
.gm-service-page .gm-showroom-copy > .gm-heading { font-size:clamp(30px,2.6vw,44px); }
.gm-service-page .gm-showroom-copy > .gm-lede { font-size:16px; line-height:1.6; }
@media (max-width:900px) {
 .gm-service-page .gm-section.gm-showroom-feature { padding-block:24px; }
 .gm-service-page .gm-showroom-copy > .gm-heading { font-size:28px; }
 .gm-service-page .gm-showroom-copy > .gm-lede { font-size:14px; line-height:1.5; }
}
.gm-service-page .gm-section.gm-shop-band { align-items:center; padding-block:clamp(44px,3.4vw,64px); }
.gm-service-page .gm-shop-band .gm-heading { font-size:clamp(30px,2.6vw,44px); }
.gm-service-page .gm-shop-band .gm-dark-copy > .gm-lede { margin-top:18px; font-size:var(--gm-type-text); line-height:1.6; }
.gm-shop { display:flex; flex-direction:column; gap:clamp(18px,1.6vw,26px); }
.gm-shop-figure > div { display:flex; align-items:baseline; gap:.16em; font-size:clamp(40px,3vw,54px); font-weight:300; line-height:1; white-space:nowrap; }
.gm-shop-figure small { font-size:.42em; letter-spacing:-.02em; }
.gm-shop-figure .gm-odometer { color:inherit; font-size:inherit; letter-spacing:-.055em; }
.gm-shop-figure .gm-odometer > span > span { transition-duration:1.2s; transition-delay:.2s; }
.gm-shop-figure p { margin-top:8px; font-size:var(--gm-type-small,14px); }
.gm-shop ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.gm-shop li { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:0 clamp(16px,1.3vw,22px); padding:12px clamp(16px,1.3vw,22px); background:rgb(0 0 0 / .12); line-height:1.4; }
.gm-shop li svg { grid-row:span 2; width:32px; height:32px; }
.gm-shop li strong { align-self:end; font-size:var(--gm-type-item,17px); font-weight:650; }
.gm-shop li span { align-self:start; font-size:var(--gm-type-small,14px); }
.gm-shop-actions { display:flex; flex-wrap:wrap; align-items:center; gap:4px 32px; margin-top:24px; }
.gm-shop-actions > * { margin:0; }
@media (max-width:900px) { .gm-service-page .gm-section.gm-shop-band { row-gap:28px; padding-block:40px; } }
.gm-steel-range { display:grid; grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); gap:clamp(40px,4.4vw,84px); align-items:start; }
.gm-steel-range-copy .gm-heading + .gm-prose { margin-top:28px; }
.gm-steel-range .gm-staffel-item:nth-child(3) .gm-photo { object-position:50% 60%; }
@media (min-width:1500px) { .gm-steel-range { grid-template-columns:minmax(0,.31fr) minmax(0,.69fr); } .gm-steel-range-copy { align-self:center; } .gm-steel-range .gm-staffel-image { aspect-ratio:5/7; } }
@media (max-width:1499px) { .gm-steel-range { grid-template-columns:minmax(0,1fr); } }
@media (min-width:761px) and (max-width:1499px) {
 .gm-steel-range-copy { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 8%; align-items:start; }
 .gm-steel-range-copy .gm-heading + .gm-prose { margin-top:0; }
}
.gm-steel-stock { grid-column:span 2; align-self:center; margin-left:clamp(16px,2vw,40px); color:#fff; }
.gm-steel-stock > div { display:flex; align-items:baseline; gap:.16em; font-size:clamp(40px,3vw,54px); font-weight:300; line-height:1; white-space:nowrap; }
.gm-steel-stock small { font-size:.42em; letter-spacing:-.02em; }
.gm-steel-stock .gm-odometer { color:inherit; font-size:inherit; letter-spacing:-.055em; }
.gm-steel-stock .gm-odometer > span > span { transition-duration:1.2s; transition-delay:.2s; }
.gm-steel-stock > p { margin-top:8px; font-size:var(--gm-type-small,14px); font-weight:600; }
@media (max-width:1100px) { .gm-steel-stock { grid-column:auto; margin:14px 0 0; } }
@media (min-width:761px) {
 .gm-idm-intro .gm-staffel-image { aspect-ratio:4/3; margin-bottom:20px; }
 .gm-service-page .gm-idm-intro .gm-staffel-item:nth-child(2) { margin-top:clamp(16px,1.25vw,24px); }
 .gm-service-page .gm-idm-intro .gm-staffel-item:nth-child(3) { margin-top:clamp(32px,2.5vw,48px); }
}
.gm-idm-intro .gm-staffel-image { display:flex; justify-content:center; align-items:flex-start; }
.gm-idm-intro .gm-staffel-image > .gm-photo { flex:none; width:auto; height:100%; max-width:none; }
.gm-idm-intro .gm-staffel-item { min-width:0; }
.gm-idm-intro .gm-staffel-item:first-child .gm-staffel-image { justify-content:flex-start; }
.gm-idm-intro .gm-staffel-item:first-child .gm-photo { width:127.3%; height:auto; }
@media (min-width:1440px) {
 .gm-idm-intro { display:grid; grid-template-columns:minmax(0,.53fr) minmax(0,.47fr); grid-template-rows:auto 1fr; column-gap:8%; align-items:start; }
 .gm-idm-intro > .gm-section-heading { display:contents; }
 .gm-idm-intro > .gm-section-heading > .gm-prose { grid-column:2; grid-row:1 / span 2; }
 .gm-idm-intro > .gm-staffel { grid-column:1; grid-row:2; margin-top:var(--gm-space-head); gap:clamp(20px,1.8vw,34px); }
}
@media (min-width:1440px) and (max-width:1699px) {
 .gm-idm-intro { grid-template-columns:minmax(0,.58fr) minmax(0,.42fr); column-gap:5%; }
 .gm-idm-intro > .gm-staffel { gap:16px; }
}
@media (min-width:1440px) and (max-width:1549px) {
 .gm-idm-intro .gm-staffel-image { aspect-ratio:4/5; }
 .gm-idm-intro .gm-staffel-item:first-child .gm-staffel-image { justify-content:center; }
 .gm-idm-intro .gm-staffel-item:first-child .gm-photo { width:auto; height:100%; }
}
@media (min-width:761px) and (max-width:1439px) { .gm-idm-intro > .gm-section-heading { grid-template-columns:1fr; gap:24px; } .gm-idm-intro > .gm-section-heading > .gm-prose { max-width:720px; } }
#bienen { position:relative; isolation:isolate; }
.gm-photo-bees { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; }
.gm-chronik { position:relative; background:var(--gm-paper); }
.gm-chronik-anchor { position:absolute; left:0; width:1px; height:1px; pointer-events:none; }
.gm-chronik-stage { position:sticky; top:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto; row-gap:clamp(16px,3vh,32px); height:100svh; padding:clamp(40px,7vh,72px) 0 clamp(24px,4vh,40px); overflow:clip; }
.gm-chronik-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding-inline:var(--gm-gutter); }
.gm-odometer { display:flex; margin:0; color:var(--gm-primary); font-size:clamp(72px,min(9vw,16vh),168px); font-weight:300; line-height:1; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.gm-odometer > span { height:1em; overflow-x:visible; overflow-y:clip; }
.gm-odometer > span > span { display:flex; flex-direction:column; transition:translate .8s var(--gm-ease); }
.gm-odometer > span > span > span { height:1em; }
.gm-odometer > i { font-style:normal; }
@media (prefers-reduced-motion:reduce) { .gm-odometer > span > span { transition:none; } }
.gm-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.gm-today-year { display:grid; justify-items:end; gap:8px; margin:0; text-align:right; }
.gm-today-year .gm-odometer { color:white; font-size:clamp(64px,6.4vw,112px); }
.gm-today-year > span:last-child { white-space:nowrap; font-size:14px; line-height:1.45; }
@media (max-width:900px) { .gm-today-year { justify-items:start; text-align:left; } }
.gm-chronik-body { display:grid; grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); column-gap:clamp(24px,2.6vw,48px); min-height:0; padding-left:var(--gm-gutter); }
.gm-chronik-story { display:grid; align-content:start; min-width:0; }
.gm-chronik-story > div { grid-area:1 / 1; opacity:0; translate:0 14px; pointer-events:none; transition:opacity .45s var(--gm-ease),translate .6s var(--gm-ease); }
.gm-chronik-story > [data-active='true'] { opacity:1; translate:0 0; pointer-events:auto; transition-delay:.15s; }
.gm-chronik-story .gm-prose { max-width:54ch; font-size:clamp(15px,1.15vw,18px); line-height:1.7; }
.gm-chronik-rail { --copy:clamp(170px,25vh,220px); --reach:clamp(48px,7vh,72px); --lead:48px; position:relative; min-width:0; padding:0 var(--gm-gutter) 0 var(--lead); overflow:clip; mask-image:linear-gradient(90deg,transparent,#000 var(--lead)); }
.gm-chronik-track { position:relative; width:calc(var(--n) * var(--station)); height:100%; }
.gm-chronik-stage ol { display:flex; height:100%; margin:0; padding:0; list-style:none; }
.gm-chronik-ruler { position:absolute; top:calc(100% - var(--copy)); left:0; width:100%; height:1px; background:var(--gm-line); transform-origin:left; }
.gm-chronik-ruler > span { position:absolute; top:0; bottom:0; left:0; width:calc((var(--n) - 1) * var(--station)); background:var(--gm-primary); transform-origin:left; }
.gm-chronik-needle { position:absolute; z-index:2; top:calc(100% - var(--copy) - var(--reach)); left:var(--lead); width:1px; height:calc(var(--reach) * 2); background:linear-gradient(transparent,var(--gm-primary) 30%,var(--gm-primary) 70%,transparent); }
.gm-chronik-station { display:grid; flex:0 0 var(--station); grid-template-rows:minmax(0,1fr) var(--copy); min-width:0; padding-right:20px; }
.gm-chronik-station > div:last-child { min-width:0; }
.gm-chronik-media { position:relative; }
.gm-chronik-stage .gm-chronik-figure { position:absolute; bottom:0; left:0; width:100%; height:calc(var(--h) * 100%); margin:0; }
.gm-chronik-stage .gm-chronik-photo { --l:0%; --r:7%; position:absolute; inset:0; overflow:hidden; clip-path:polygon(0 calc((1 - var(--reveal)) * 100% + var(--reveal) * var(--l)),100% calc((1 - var(--reveal)) * 100% + var(--reveal) * var(--r)),100% 100%,0 100%); }
.gm-chronik-station:nth-child(even) .gm-chronik-photo { --l:7%; --r:0%; }
.gm-chronik-photo > div { position:absolute; inset:0 -8%; }
.gm-chronik-photo .gm-photo { object-position:var(--focus,50% 50%); }
.gm-chronik-stage figcaption { position:absolute; bottom:100%; left:16px; margin-bottom:10px; color:var(--gm-muted); font-size:12px; opacity:var(--reveal); }
.gm-chronik-stage .gm-photo { transition:filter .9s var(--gm-ease); }
.gm-chronik-station[data-state='next'] .gm-photo { filter:grayscale(.65); }
.gm-chronik-stage .gm-chronik-tick { display:block; width:1px; height:12px; background:var(--gm-line); transition:height .5s var(--gm-ease),background-color .5s var(--gm-ease); }
.gm-chronik-station strong { display:block; margin:18px 0 0 16px; color:var(--gm-muted); font-size:clamp(34px,2.9vw,50px); font-weight:300; line-height:1; letter-spacing:-.05em; transition:font-weight .6s var(--gm-ease),color .6s var(--gm-ease); }
.gm-chronik-station p { margin:12px 0 0 16px; color:var(--gm-muted); font-size:15px; line-height:1.55; text-wrap:pretty; transition:color .6s var(--gm-ease); }
.gm-chronik-station:not([data-state='next']) .gm-chronik-tick { background:var(--gm-primary); }
.gm-chronik-station[data-state='past'] strong { color:var(--gm-primary); }
.gm-chronik-station[data-state='active'] .gm-chronik-tick { height:28px; }
.gm-chronik-station[data-state='active'] strong { color:var(--gm-primary); font-weight:720; }
.gm-chronik-station[data-state='active'] p { color:var(--gm-ink); }
@media (max-height:820px) { .gm-chronik-station strong { font-size:clamp(30px,2.6vw,42px); } .gm-chronik-station p { font-size:14px; line-height:1.5; } .gm-chronik-story .gm-prose { font-size:15px; line-height:1.6; } }
.gm-chronik-scale { display:flex; align-items:center; gap:18px; padding-inline:var(--gm-gutter); color:var(--gm-muted); font-size:13px; font-variant-numeric:tabular-nums; }
.gm-chronik-scale-line { position:relative; flex:1; height:1px; background:var(--gm-line); }
.gm-chronik-scale-line > i { position:absolute; top:-4px; width:1px; height:9px; background:color-mix(in srgb,var(--gm-muted) 45%,transparent); }
.gm-chronik-scale-line > b { position:absolute; inset:0; background:var(--gm-primary); transform-origin:left; }
.gm-chronik-list-body { position:relative; max-width:720px; }
.gm-chronik-list ol { margin:0; padding:0; list-style:none; }
.gm-chronik-list li { position:relative; padding:0 0 30px 34px; }
.gm-chronik-list li::before { content:''; position:absolute; top:0; bottom:0; left:0; width:1px; background:var(--gm-line); }
.gm-chronik-list .gm-chronik-tick { position:absolute; top:17px; left:0; width:14px; height:1px; background:var(--gm-primary); }
.gm-chronik-list .gm-chronik-chapter { padding-bottom:34px; }
.gm-chronik-draw { position:absolute; z-index:1; top:0; bottom:0; left:0; width:1px; background:var(--gm-primary); transform-origin:top; }
.gm-chronik-list li > strong { display:block; font-size:34px; font-weight:300; line-height:1; letter-spacing:-.05em; }
.gm-chronik-list li > p { margin-top:8px; color:var(--gm-muted); font-size:15px; line-height:1.6; }
.gm-chronik-list .gm-chronik-figure { margin:18px 0 0; }
.gm-chronik-list .gm-chronik-photo { position:relative; aspect-ratio:16/10; overflow:hidden; clip-path:polygon(0 0,100% 6%,100% 100%,0 100%); }
.gm-chronik-list figcaption { margin-top:8px; color:var(--gm-muted); font-size:12px; }
.gm-bath-assortment { background:white; }
.gm-bath-assortment-heading { display:grid; grid-template-columns:1fr 1fr; gap:24px 8%; align-items:end; padding:clamp(72px,5.5vw,104px) var(--gm-gutter) clamp(64px,5vw,96px); }
.gm-bath-assortment-heading p { max-width:60ch; margin:0; color:var(--gm-muted); font-size:18px; line-height:1.7; }
.gm-bath-assortment-heading .gm-link { margin-top:12px; }
.gm-bath-assortment-stage { position:relative; height:clamp(380px,32vw,570px); overflow:hidden; background:white; }
.gm-bath-assortment-segments { position:relative; width:100%; height:100%; margin:0; padding:0; list-style:none; }
.gm-bath-segment { position:absolute; top:0; height:100%; }
.gm-bath-segment-tile { position:relative; cursor:default; user-select:none; -webkit-user-select:none; display:block; width:100%; height:100%; color:white; overflow:hidden; }
.gm-bath-segment-image { width:100%; height:100%; transform-origin:center; }
.gm-bath-segment .gm-photo { object-position:var(--photo-x,50%) center; }
.gm-bath-ceramics { left:0; width:31.25%; clip-path:polygon(0 0,100% 0,53% 100%,0 100%); --label-x:32%; --photo-x:53%; }
.gm-bath-furniture { left:16.5625%; width:39.6875%; clip-path:polygon(37.007874% 0,100% 0,66.929134% 100%,0 100%); --label-x:42%; --photo-x:51%; }
.gm-bath-radiators { left:43.125%; width:38.125%; clip-path:polygon(34.42623% 0,100% 0,65.57377% 100%,0 100%); --label-x:42%; --photo-x:85%; }
.gm-bath-fittings { left:68.125%; width:31.875%; clip-path:polygon(41.176471% 0,100% 0,100% 100%,0 100%); --label-x:57%; --photo-x:52%; }
.gm-bath-segment-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,77,112,.04) 15%,rgba(16,77,112,.12) 40%,rgba(16,77,112,.7) 76%,rgba(16,77,112,.96) 100%); }
.gm-bath-segment-label { position:absolute; left:var(--label-x); bottom:clamp(40px,4.2vw,80px); display:flex; flex-direction:column; align-items:center; gap:16px; transform:translateX(-50%); font-size:clamp(14px,1.15vw,20px); font-weight:700; line-height:1.4; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; }
.gm-bath-segment-label > svg { width:clamp(49px,3.65vw,70px); height:clamp(49px,3.65vw,70px); }
.gm-bath-segment-rule { display:block; width:54px; height:1px; background:rgba(255,255,255,.8); }
.gm-bath-assortment-seams { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.gm-bath-assortment-curve { position:absolute; top:-1px; left:0; width:100%; height:clamp(70px,6.875vw,124px); fill:white; pointer-events:none; }
@media (max-width:1100px) {
 .gm-bath-assortment-heading { gap:36px; }
 .gm-bath-assortment-heading p { font-size:16px; }
}
@media (max-width:900px) {
 .gm-bath-assortment-heading { grid-template-columns:1fr; gap:24px; padding-bottom:36px; }
 .gm-bath-assortment-stage { height:auto; }
 .gm-bath-assortment-segments { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
 .gm-bath-segment { position:relative; left:auto; width:auto; height:clamp(260px,36vw,320px); clip-path:none; --label-x:50%; }
 .gm-bath-segment-label { bottom:32px; gap:12px; font-size:16px; }
 .gm-bath-assortment-seams { display:none; }
 .gm-bath-assortment-curve { height:36px; }
}
@media (max-width:480px) {
 .gm-bath-assortment-heading { padding-top:68px; }
 .gm-bath-assortment-heading p { font-size:15px; }
 .gm-bath-segment { height:260px; }
 .gm-bath-segment-label { bottom:30px; font-size:12px; letter-spacing:.1em; }
 .gm-bath-segment-label > svg { width:42px; height:42px; }
 .gm-bath-segment-rule { width:40px; }
}

@media (prefers-reduced-motion:reduce) {
 .gm-bath-segment-image,.gm-bath-segment-rule { transform:none !important; }
}
@media (min-width:901px) and (hover:hover) and (pointer:fine) {
 .gm-bath-segment-shade { opacity:0; transition:opacity 400ms cubic-bezier(.22,1,.36,1); }
 .gm-bath-segment-label { opacity:0; translate:0 12px; transition:opacity 350ms ease,translate 400ms cubic-bezier(.22,1,.36,1); }
 .gm-bath-segment-tile:hover .gm-bath-segment-shade { opacity:1; }
 .gm-bath-segment-tile:hover .gm-bath-segment-label { opacity:1; translate:0 0; }
}
@media (prefers-reduced-motion:reduce) { .gm-bath-segment-shade,.gm-bath-segment-label { transition:none; translate:none; } }
.gm-bath-trust { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:var(--gm-space-head) clamp(40px,5vw,96px); align-items:center; background:white; }
.gm-bath-trust-intro { max-width:52ch; margin-top:24px; color:var(--gm-muted); font-size:var(--gm-type-lede); line-height:1.7; }
.gm-bath-trust > .gm-photo { height:clamp(240px,20vw,360px); object-position:50% 58%; clip-path:polygon(9% 0,100% 0,100% 100%,0 100%); }
#barrierefrei .gm-photo { clip-path:polygon(0 0,100% 0,91% 100%,0 100%); }
.gm-bath-trust > .gm-welcome-reasons { grid-column:1 / -1; }
@media (max-width:900px) {
 .gm-bath-trust { grid-template-columns:1fr; gap:32px; }
 .gm-bath-trust > .gm-photo { height:clamp(220px,45vw,340px); }
}
.gm-section:has(> .gm-bs) { overflow-x:clip; }
.gm-bs { --gm-bs-lit:#f8d270; --gm-bs-stream:#e39a1f; --gm-bs-gap:0px; display:grid; row-gap:clamp(40px,3vw,56px); }
.gm-bs-item { --t:0s; padding-right:var(--gm-bs-gap); }
.gm-bs h3 { margin-bottom:12px; }
.gm-bs .gm-prose { max-width:62ch; }
.gm-bs-plot { --bs-left:calc(-1 * var(--gm-gutter)); --bs-right:calc(-1 * var(--gm-gutter)); position:relative; margin:0 calc(-1 * var(--gm-bs-gap)) clamp(22px,1.8vw,32px) 0; }
.gm-bs-plot svg { position:relative; display:block; width:100%; height:auto; max-height:270px; overflow:visible; }
.gm-bs-plot::before { content:""; position:absolute; top:calc(200 / 232 * 100% - .75px); left:var(--bs-left); right:var(--bs-right); height:1.5px; background:var(--color-primary); animation:gm-bs-ground 700ms cubic-bezier(.4,0,.6,1) var(--t) both paused; }

.gm-bs-plot :where(path:not([fill])) { fill:none; stroke:var(--color-primary); stroke-width:1.5px; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.gm-bs-plot .gm-bs-fill { fill:white; stroke:none; }
.gm-bs-plot .gm-bs-fill { animation:gm-bs-fade 800ms ease calc(var(--t) + 900ms) both paused; }
.gm-bs-line { animation:gm-bs-draw 1400ms cubic-bezier(.65,0,.35,1) calc(var(--t) + 250ms) backwards paused; }
.gm-bs-detail { animation:gm-bs-fade 600ms ease calc(var(--t) + 1000ms) both paused; }
.gm-bs-plot .gm-bs-glass { fill:var(--gm-bs-lit); animation:gm-bs-fade 600ms ease calc(var(--t) + 1000ms) both paused,gm-bs-lit 500ms ease calc(var(--t) + 1700ms + var(--d) * 800ms) both paused; }
.gm-bs-fan { transform-box:fill-box; transform-origin:center; animation:gm-bs-spin-up 2400ms cubic-bezier(.11,0,.5,0) calc(var(--t) + 1200ms) both paused,gm-bs-spin 1200ms linear calc(var(--t) + 3600ms) infinite paused; }
.gm-bs-plot .gm-bs-flow { stroke:var(--gm-bs-stream); stroke-width:2px; stroke-dasharray:2 6; opacity:0; animation:gm-bs-flow-once 1800ms linear calc(var(--t) + 1300ms) both paused; }
.gm-bs-plot[data-inview]::before,.gm-bs-plot[data-inview] :is(.gm-bs-fill,.gm-bs-line,.gm-bs-detail,.gm-bs-glass,.gm-bs-fan,.gm-bs-flow) { animation-play-state:running; }
@media (hover:hover) and (pointer:fine) {
 .gm-bs-item:hover .gm-bs-plot[data-inview] .gm-bs-flow { opacity:1; animation:gm-bs-flow 900ms linear infinite; }
}
@keyframes gm-bs-ground { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
@keyframes gm-bs-draw { from { stroke-dasharray:1; stroke-dashoffset:1; opacity:0; } 2% { opacity:1; } to { stroke-dasharray:1; stroke-dashoffset:0; } }
@keyframes gm-bs-fade { from { opacity:0; } }
@keyframes gm-bs-lit { from { fill-opacity:0; } }
@keyframes gm-bs-spin-up { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes gm-bs-spin { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes gm-bs-flow-once { 0% { opacity:0; stroke-dashoffset:0; } 20%,80% { opacity:1; } 100% { opacity:0; stroke-dashoffset:-32; } }
@keyframes gm-bs-flow { to { stroke-dashoffset:-16; } }
@media (min-width:1000px) {
 .gm-bs { --gm-bs-gap:clamp(24px,2.6vw,48px); grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gm-bs-item:nth-child(even) { --t:450ms; }
 .gm-bs-item:nth-child(even) .gm-bs-plot { --bs-left:-1px; }
 .gm-bs-item:nth-child(odd) .gm-bs-plot { --bs-right:0px; }
}
@media (min-width:1780px) {
 .gm-bs { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .gm-bs-item:nth-child(n) { --t:calc(var(--p) * 450ms); }
 .gm-bs-item:nth-child(n) .gm-bs-plot { --bs-left:-1px; --bs-right:0px; }
 .gm-bs-item:first-child .gm-bs-plot { --bs-left:calc(-1 * var(--gm-gutter)); }
 .gm-bs-item:last-child .gm-bs-plot { --bs-right:calc(-1 * var(--gm-gutter)); }
}
@media (prefers-reduced-motion:reduce) { .gm-bs *,.gm-bs-plot::before { animation:none !important; } }
.gm-tech-sketch { --h:clamp(96px,7vw,132px); position:relative; margin-top:auto; padding-top:clamp(36px,3vw,52px); }
.gm-tech-sketch::before { content:""; position:absolute; bottom:-.75px; left:calc(-1 * var(--pad)); right:calc(-1 * var(--pad)); height:1.5px; background:white; animation:gm-bs-ground 700ms cubic-bezier(.4,0,.6,1) both paused; }
.gm-tech-sketch svg { display:block; width:calc(100% + var(--pad)); height:var(--h); overflow:hidden; }
.gm-tech-sketch path { fill:none; stroke:white; stroke-width:1.5px; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.gm-tech-sketch .l { animation:gm-bs-draw 1400ms cubic-bezier(.65,0,.35,1) 250ms backwards paused; }
.gm-tech-sketch :is(.d,.stripe,.lit) { animation:gm-bs-fade 600ms ease 1000ms both paused; }
.gm-tech-sketch .stripe { fill:#fff042; stroke:none; }
.gm-tech-sketch .lit { fill:white; stroke:none; }
.gm-tech-sketch .spin { transform-box:fill-box; transform-origin:center; animation:gm-bs-spin-up 2400ms cubic-bezier(.11,0,.5,0) 1200ms both paused,gm-bs-spin 1200ms linear 3600ms infinite paused; }
.gm-tech-sketch .bead { stroke:#f8d270; stroke-width:2.5px; stroke-dasharray:2 6; animation:gm-bs-fade 600ms ease 1600ms both paused,gm-bs-flow 900ms linear 1600ms infinite paused; }
.gm-tech-sketch[data-inview]::before,.gm-tech-sketch[data-inview] :is(.l,.d,.stripe,.lit,.spin,.bead) { animation-play-state:running; }
@media (prefers-reduced-motion:reduce) { .gm-tech-sketch *,.gm-tech-sketch::before { animation:none !important; } }
.gm-ft { --ft-tint:#e3edf2; background:var(--gm-paper); }
.gm-ft-hall { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
@media (min-width:700px) { .gm-ft-hall { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1100px) { .gm-ft-hall { grid-template-columns:repeat(6,minmax(0,1fr)); } }
.gm-ft-exhibit { min-width:0; }
.gm-ft-tile { display:grid; grid-template-rows:auto 1fr; justify-items:center; row-gap:14px; height:100%; padding:clamp(22px,2vw,34px) 12px clamp(18px,1.6vw,26px); background:white; }
.gm-ft-tile svg { display:block; width:100%; max-width:170px; height:auto; overflow:visible; }
.gm-ft-name { color:var(--gm-muted); font-size:var(--gm-type-item,17px); font-weight:600; line-height:1.35; text-align:center; transition:color .6s var(--gm-ease); }
.gm-ft-exhibit[data-state=on] .gm-ft-name { color:var(--color-primary); }

.gm-ft-tile :where(path:not([fill]),circle:not([fill])) { fill:none; stroke:var(--color-primary); stroke-width:1.5px; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; }
.gm-ft-tile .f { fill:white; stroke:none; }
.gm-ft-tile .panel { fill:white; stroke:none; transition:fill .8s ease; }
.gm-ft-tile .lit { fill:white; transition:fill .8s ease; }
.gm-ft-exhibit[data-state=on] :is(.lit,.panel) { fill:var(--ft-tint); }
.gm-ft-tile .ghost :is(.l,.d,.lit) { stroke:rgb(16 77 112 / .22); }
.gm-ft-tile .ghost :is(.lit,.panel) { fill:white; }
.gm-ft-tile .ghost :is(.bead,.flame,.sun) { display:none; }
.gm-ft-tile .ghost * { animation:none !important; transition:none !important; }
.gm-ft-exhibit[data-state=draft] .ink .l { stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--draw,0)); opacity:clamp(0,calc(var(--draw,0) * 40),1); }
.gm-ft-exhibit[data-state=draft] .ink :is(.f,.panel) { opacity:clamp(0,calc(var(--draw,0) * 2.5 - 1.5),1); }
.gm-ft-exhibit[data-state=draft] .ink :is(.d,.lit) { opacity:clamp(0,calc(var(--draw,0) * 3 - 2),1); }
.gm-ft-tile .bead { stroke-width:3px; stroke-dasharray:0 9; opacity:0; transition:opacity .5s ease; }
.gm-ft-exhibit[data-state=on] .bead { opacity:1; animation:gm-ft-flow 1.2s linear infinite; }
.gm-ft-tile .spin { transform-box:fill-box; transform-origin:center; }
.gm-ft-exhibit[data-state=on] .spin { animation:gm-ft-spin-up 1.6s cubic-bezier(.11,0,.5,0) both,gm-ft-spin .8s linear 1.6s infinite; }
.gm-ft-tile .sun { transform-box:fill-box; transform-origin:center; opacity:0; transform:scale(.6); transition:opacity .8s ease,transform 1.2s var(--gm-ease); }
.gm-ft-tile .sun-rays { transform-box:fill-box; transform-origin:center; }
.gm-ft-exhibit[data-state=on] .sun { opacity:1; transform:none; }
.gm-ft-exhibit[data-state=on] .sun-rays { animation:gm-ft-spin 24s linear infinite; }
.gm-ft-tile .flame { transform-box:fill-box; transform-origin:50% 100%; transform:scale(.4,0); }
.gm-ft-exhibit[data-state=on] .flame { transform:none; animation:gm-ft-ignite .9s cubic-bezier(.22,1,.36,1) both,gm-ft-flicker 1.4s ease-in-out .9s infinite alternate; }
.gm-ft-exhibit[data-state=on] .flame + .flame { animation-duration:.9s,1.1s; }
.gm-ft:not([data-live]) .gm-ft-tile * { animation-play-state:paused !important; }

@keyframes gm-ft-flow { to { stroke-dashoffset:-18; } }
@keyframes gm-ft-spin-up { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes gm-ft-spin { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@keyframes gm-ft-ignite { from { transform:scale(.4,0); } }
@keyframes gm-ft-flicker { 0% { transform:none; } 40% { transform:scale(.94,1.08) skewX(2deg); } 100% { transform:scale(1.05,.9) skewX(-3deg); } }
@media (prefers-reduced-motion:reduce) { .gm-ft-tile * { animation:none !important; transition:none !important; } }
.gm-wall { --pitch:24px; --tab:28px; --rail:#ebe8e3; --hole:#cfcbc4; }
.gm-wall-track { --pad:var(--gm-gutter); --top:calc(var(--tab) + var(--pitch)); position:relative; display:flex; align-items:flex-start; gap:calc(var(--pitch) * 2); width:max-content; margin:0; padding:var(--top) var(--gm-gutter) 0 var(--pad); list-style:none; }
.gm-wall-track::before { content:''; position:absolute; top:calc(var(--top) - var(--tab) + 10.5px - var(--pitch) / 2); left:0; right:0; height:calc(var(--pitch) * 3); background:radial-gradient(circle,var(--hole) 0 2.4px,transparent 2.9px) calc(var(--pad) - var(--pitch) / 2) 0 / var(--pitch) var(--pitch),var(--rail); }
.gm-wall-board { position:relative; flex:none; width:var(--u); width:round(var(--u),calc(var(--pitch) * 2)); margin-top:calc(var(--drop) * var(--pitch)); }
.gm-wall-hang,.gm-wall-card { transform-origin:50% calc(10.5px - var(--tab)); }
.gm-wall-card { position:relative; margin:0; background:var(--gm-paper); }
.gm-wall-tab { position:absolute; bottom:100%; left:50%; width:clamp(58px,20%,76px); height:var(--tab); translate:-50% 0; background:var(--gm-paper); }
.gm-wall-tab::before,.gm-wall-tab::after { content:''; position:absolute; left:50%; translate:-50% 0; background:var(--rail); }
.gm-wall-tab::before { top:12px; width:28px; height:6px; border-radius:3px; }
.gm-wall-tab::after { top:5px; width:13px; height:13px; border-radius:50%; }
.gm-wall-tab > i { position:absolute; z-index:1; top:7px; left:50%; width:7px; height:7px; translate:-50% 0; border-radius:50%; background:var(--gm-primary); }
.gm-wall-photo { position:relative; aspect-ratio:var(--ratio); overflow:hidden; }
.gm-wall-photo > div { position:absolute; inset:0 -7%; }
.gm-wall-card figcaption { padding:clamp(16px,1.2vw,22px) clamp(18px,1.4vw,24px) clamp(18px,1.4vw,26px); }
.gm-wall-card h3 { font-size:var(--gm-type-title,22px); font-weight:500; line-height:1.3; letter-spacing:-.015em; }
.gm-wall .gm-wall-card .gm-prose { margin-top:6px; font-size:var(--gm-type-small,14px); line-height:1.55; }
.gm-wall-walk { position:relative; background:#fff; }
.gm-wall-stage { --intro:clamp(460px,38vw,720px); --slant:clamp(56px,5vw,96px); --m:clamp(40px,7vh,80px); --u:min(19vw,36svh); position:sticky; top:0; height:100svh; overflow:clip; }
.gm-wall-walk .gm-wall-rail { position:absolute; inset:var(--m) 0; overflow:clip; }
.gm-wall-walk .gm-wall-track { --block:calc(var(--u) * 1.15 + 190px); --pad:calc(var(--intro) + var(--slant) + var(--pitch) * 2); --top:max(calc(var(--tab) + var(--pitch)),calc((100svh - 2 * var(--m) - var(--block)) / 2)); height:100%; }
.gm-wall-intro { position:absolute; z-index:2; inset:0 auto 0 0; display:flex; flex-direction:column; justify-content:center; width:var(--intro); padding:var(--m) clamp(28px,2.4vw,48px) var(--m) var(--gm-gutter); background:#fff; }
.gm-wall-intro::after { content:''; position:absolute; top:var(--m); bottom:var(--m); left:100%; width:calc(var(--slant) + 2px); background:#fff; transform-origin:0 0; transform:skewX(calc(-1 * atan2(var(--slant),calc(100svh - 2 * var(--m))))); }
.gm-wall-intro > * { position:relative; z-index:1; }
.gm-wall-intro > .gm-prose { max-width:62ch; margin-top:clamp(20px,2vw,32px); font-size:var(--gm-type-lede); line-height:1.65; }
.gm-wall-row .gm-wall-rail { margin-inline:calc(-1 * var(--gm-gutter)); overflow-x:auto; overflow-y:hidden; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scroll-padding-inline:var(--gm-gutter); scrollbar-width:none; }
.gm-wall-row .gm-wall-rail::-webkit-scrollbar { display:none; }
.gm-wall-row .gm-wall-rail:focus-visible { outline:2px solid var(--gm-primary); outline-offset:-2px; }
.gm-wall-row .gm-wall-track { --u:clamp(240px,26vw,340px); padding-bottom:8px; }
.gm-wall-row .gm-wall-board { scroll-snap-align:start; }
@media (hover:hover) and (pointer:fine) {
 .gm-wall-row .gm-wall-rail { scrollbar-width:thin; scrollbar-color:var(--gm-primary) transparent; }
 .gm-wall-row .gm-wall-rail::-webkit-scrollbar { display:block; height:6px; }
 .gm-wall-row .gm-wall-rail::-webkit-scrollbar-thumb { background:var(--gm-primary); }
}
@media (max-width:760px) {
 .gm-wall { --pitch:20px; }
 .gm-wall-row .gm-wall-track { --u:clamp(230px,60vw,300px); }
 .gm-wall-card figcaption { padding:14px 16px 16px; }
}
.gm-site .gm-section.gm-plan { background:#fff; padding-bottom:0; }
.gm-plan-track { position:relative; }
.gm-plan-stage { --panel:clamp(360px,27vw,500px); --edge:clamp(24px,5svh,56px); --slant:clamp(28px,2.4vw,48px); --rise:1; --come:0; --leave:0; --paper:0; position:sticky; top:0; height:100svh; margin-inline:calc(var(--gm-gutter) * -1); overflow:clip; isolation:isolate; background:color-mix(in srgb,color-mix(in srgb,var(--color-nature) 8%,white) calc(var(--paper) * 100%),white); }
.gm-plan-canvas { position:absolute; inset:0; display:block; width:100%; height:100%; }
.gm-plan-box { position:absolute; z-index:2; left:var(--gm-gutter); bottom:var(--edge); width:var(--panel); padding-top:var(--slant); overflow:clip; }
.gm-plan-panel { position:relative; padding:clamp(28px,2.6vw,48px) clamp(28px,2.6vw,48px) clamp(32px,2.8vw,52px); background:var(--color-primary); color:#fff; transform:translateY(calc((1 - var(--rise)) * (100% + var(--slant) + 2px))); }
.gm-plan-panel::before { content:''; position:absolute; z-index:-1; left:0; right:0; top:calc(var(--slant) / -2); height:var(--slant); background:var(--color-primary); transform:skewY(calc(-1 * var(--tilt,1) * atan2(var(--slant),var(--panel)))); transition:transform .6s var(--gm-ease); }
.gm-plan-cards { display:grid; transition:height .5s var(--gm-ease); }
.gm-plan-card { grid-area:1 / 1; align-self:start; opacity:0; translate:0 18px; transition:opacity .3s var(--gm-ease),translate .6s var(--gm-ease); }
.gm-plan-card[data-active] { opacity:1; translate:0 0; transition-delay:.12s; }
.gm-plan-card .gm-plan-kicker { margin:0 0 12px; color:#dce7ed; font-size:14px; font-weight:600; }
.gm-plan-card h3 { font-size:clamp(26px,1.9vw,36px); font-weight:650; line-height:1.12; letter-spacing:-.03em; text-wrap:balance; }
.gm-plan-card p:last-child { margin-top:16px; color:#dce7ed; font-size:clamp(16px,.95vw,17px); line-height:1.7; text-wrap:balance; }
.gm-plan-arrow { position:absolute; z-index:2; bottom:var(--edge); display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; background:#fff; color:var(--gm-primary); box-shadow:0 10px 24px -14px rgb(16 32 48 / .45); opacity:var(--rise); cursor:pointer; transition:background var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
.gm-plan-prev { left:max(4px,calc(var(--gm-gutter) - 60px)); }
.gm-plan-next { left:calc(var(--gm-gutter) + var(--panel) + 12px); }
.gm-plan-arrow:hover:not(:disabled) { background:var(--gm-primary); color:#fff; }
.gm-plan-arrow:disabled { opacity:calc(var(--rise) * .35); cursor:default; }
.gm-plan-arrow:focus-visible { outline:2px solid var(--gm-primary); outline-offset:3px; }
.gm-plan-arrow svg { width:22px; height:22px; }
.gm-plan-legend { position:absolute; z-index:2; right:var(--gm-gutter); bottom:var(--edge); display:grid; gap:2px; margin:0; padding:12px 20px 12px 16px; list-style:none; background:#fff; box-shadow:0 10px 24px -14px rgb(16 32 48 / .45); opacity:var(--rise); }
.gm-plan-legend button { display:flex; align-items:center; gap:12px; padding:4px 0; border:0; background:none; color:var(--gm-muted); font:inherit; font-size:14px; cursor:pointer; transition:color var(--gm-fast) var(--gm-ease); }
.gm-plan-legend button:hover,.gm-plan-legend button[aria-current] { color:var(--gm-primary); }
.gm-plan-legend button[aria-current] { font-weight:600; }
.gm-plan-legend i,.gm-plan-label i { flex:none; width:12px; height:12px; background:#dadee1; transition:background var(--gm-fast) var(--gm-ease); }
.gm-plan-legend button[data-done] i { background:var(--gm-primary); }
.gm-plan-legend button:is(:hover,:focus-visible) i { background:#9aa7b0; }
.gm-plan-legend button[data-done]:is(:hover,:focus-visible) i { background:#0a3550; }
.gm-plan-legend button:focus-visible { outline:2px solid var(--gm-primary); outline-offset:4px; }
.gm-plan-out { display:flex; gap:20px; margin:6px 0 0 -4px; }
.gm-plan-legend .gm-plan-out button { gap:4px; }
.gm-plan-out svg { flex:none; width:20px; height:20px; }
.gm-plan-out path { stroke-width:1.5; vector-effect:non-scaling-stroke; }
.gm-plan-label { position:absolute; z-index:1; top:0; left:0; display:flex; align-items:center; gap:8px; margin:-42px 0 0; padding:7px 12px; background:#fff; color:var(--gm-primary); font-size:13px; font-weight:600; white-space:nowrap; box-shadow:0 10px 24px -14px rgb(16 32 48 / .45); opacity:0; translate:-50% 0; transition:opacity .35s var(--gm-ease); pointer-events:none; }
.gm-plan-label[data-show] { opacity:1; }
.gm-plan-3d .gm-plan-label { translate:-50% 6px; transition:opacity .6s var(--gm-ease),translate .8s var(--gm-ease); }
.gm-plan-3d .gm-plan-label[data-show] { translate:-50% 0; }
.gm-plan-label i { width:9px; height:9px; background:var(--gm-primary); }
.gm-plan-credit { position:absolute; z-index:2; right:12px; bottom:10px; padding:2px 6px; background:rgb(255 255 255 / .85); color:var(--gm-muted); font-size:11px; text-decoration:none; }
.gm-plan-credit:hover { text-decoration:underline; }
@media (max-width:900px) {
 .gm-plan-stage { --slant:clamp(24px,6vw,44px); --panel-h:min(46svh,420px); }
 .gm-plan-box { bottom:0; left:0; right:0; width:auto; }
 .gm-plan-panel { height:var(--panel-h); padding:18px var(--gm-gutter) 84px; }
 .gm-plan-panel::before { transform:skewY(calc(-1 * var(--tilt,1) * atan2(var(--slant),100vw))); }
 .gm-plan-card h3 { font-size:26px; }
 .gm-plan-card p:last-child { max-width:none; margin-top:12px; font-size:16px; line-height:1.6; }
 .gm-plan-legend { display:none; }
 .gm-plan-arrow { bottom:calc(var(--panel-h) + var(--slant) + 12px); width:44px; height:44px; }
 .gm-plan-prev { left:var(--gm-gutter); }
 .gm-plan-next { left:auto; right:var(--gm-gutter); }
 .gm-plan-credit { right:auto; left:50%; translate:-50% 0; bottom:calc(var(--panel-h) + var(--slant) + 4px); }
}
@media (min-width:901px) {
 .gm-plan-stage { --stay:clamp(0,calc(1.3 - var(--leave) * 2.4),1); }
 .gm-plan-box,.gm-plan-arrow,.gm-plan-legend { translate:0 calc(var(--leave) * -50svh); }
 .gm-plan-box { opacity:var(--stay); }
 .gm-plan-arrow,.gm-plan-legend { opacity:calc(var(--rise) * var(--stay)); }
 .gm-plan-arrow:disabled { opacity:calc(var(--rise) * var(--stay) * .35); }
 .gm-plan-label[data-show] { opacity:var(--stay); }
 .gm-plan-canvas,.gm-plan-credit { opacity:clamp(0,calc(1.9 - (var(--come) + var(--leave)) * 2.2),1); }
}
.gm-plan-3d .gm-plan-box { overflow:visible; clip-path:inset(-80svh -2px 0 -2px); }
.gm-plan-3d .gm-plan-box:not([data-photo]) .gm-plan-panel { cursor:pointer; }
.gm-plan-3d .gm-plan-photos { position:absolute; z-index:-2; left:0; right:0; bottom:100%; aspect-ratio:1.6; overflow:hidden; overflow:clip; pointer-events:none; }
.gm-plan-3d .gm-plan-photo { position:absolute; inset:0; margin:0; translate:0 101%; transition:translate .5s var(--gm-ease); }
.gm-plan-3d .gm-plan-box[data-photo] .gm-plan-photo[data-active] { translate:0 0; pointer-events:auto; touch-action:pan-y; transition-duration:.7s; }
.gm-plan-3d .gm-plan-slide { position:absolute; inset:0; margin:0; transform:translateX(100%); }
.gm-plan-3d .gm-plan-slide[data-on] { transform:none; }
.gm-plan-3d .gm-plan-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.gm-plan-3d .gm-plan-photo-nav { --gm-nav-in:6px; position:absolute; z-index:1; top:calc(50% - var(--slant) / 4); display:grid; place-items:center; width:40px; height:40px; margin-top:-20px; padding:0; border:0; background:#fff; color:var(--gm-primary); cursor:pointer; opacity:0; translate:var(--gm-nav-in) 0; transition:opacity .3s var(--gm-ease),translate .45s var(--gm-ease),background var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
.gm-plan-3d .gm-plan-photo-prev { --gm-nav-in:-6px; left:12px; }
.gm-plan-3d .gm-plan-photo-next { right:12px; }
.gm-plan-3d .gm-plan-photo:hover .gm-plan-photo-nav,.gm-plan-3d .gm-plan-photo-nav:focus-visible { opacity:1; translate:0 0; }
@media (hover:hover) { .gm-plan-3d .gm-plan-photo-nav:hover { background:var(--gm-primary); color:#fff; } }
.gm-plan-3d .gm-plan-photo-nav:focus-visible { outline:2px solid var(--gm-primary); outline-offset:-6px; }
.gm-plan-3d .gm-plan-photo-nav svg { width:20px; height:20px; }
@media (hover:none) { .gm-plan-3d .gm-plan-photo-nav { width:44px; height:44px; margin-top:-22px; opacity:1; translate:0 0; } }
.gm-plan-3d .gm-plan-photo figcaption { position:absolute; top:0; right:0; padding:6px 10px 14px 24px; background:linear-gradient(to bottom left,rgb(10 30 45 / .55),rgb(10 30 45 / 0) 70%); font-size:11px; line-height:1.3; }
.gm-plan-3d .gm-plan-photo figcaption a { color:#fff; text-decoration:none; text-shadow:0 0 3px rgb(10 30 45 / .9),0 0 8px rgb(10 30 45 / .6); }
.gm-plan-3d .gm-plan-photo figcaption a:hover { text-decoration:underline; }
.gm-plan-3d .gm-plan-photo-toggle { position:absolute; top:12px; right:12px; padding:6px 10px; border:0; background:#fff; color:var(--gm-primary); font:inherit; font-size:13px; font-weight:600; cursor:pointer; opacity:0; pointer-events:none; }
.gm-plan-3d .gm-plan-photo-toggle:focus-visible { opacity:1; pointer-events:auto; outline:2px solid #fff; outline-offset:2px; }
@media (max-width:900px) {
 .gm-plan-3d :is(.gm-plan-arrow,.gm-plan-credit) { transition:translate .6s var(--gm-ease),background var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
 .gm-plan-3d .gm-plan-stage:has(.gm-plan-box[data-photo]) :is(.gm-plan-arrow,.gm-plan-credit) { translate:0 calc(-100vw / 1.6); }
}
@media (prefers-reduced-motion:reduce) { .gm-plan-3d .gm-plan-photo { translate:none; opacity:0; transition:opacity .3s; } .gm-plan-3d .gm-plan-box[data-photo] .gm-plan-photo[data-active] { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .gm-plan-card,.gm-plan-cards,.gm-plan-label,.gm-plan-3d .gm-plan-label,.gm-plan-panel::before { transition:none; } .gm-plan-box,.gm-plan-arrow,.gm-plan-legend { translate:none; } }
.gm-legal-head { position:relative; z-index:1; padding:clamp(32px,3.4vw,64px) var(--gm-gutter) clamp(52px,4.6vw,88px); background:var(--color-surface-dark); color:#fff; }
.gm-legal-head::after { content:""; position:absolute; top:100%; left:0; width:100%; height:var(--gm-band-slant); background:inherit; transform:skewY(calc(atan2(var(--gm-band-slant),100vw) * -1)); transform-origin:0 0; pointer-events:none; }
.gm-legal-head-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 8%; align-items:end; }
.gm-legal-head .gm-heading { font-size:var(--gm-type-h2); }
.gm-legal-head-grid p { max-width:52ch; margin:0; font-size:var(--gm-type-lede); line-height:1.7; }
.gm-legal-docs { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 0; padding:0; list-style:none; }
.gm-legal-docs a { display:flex; align-items:center; min-height:44px; padding:10px 20px; font-size:var(--gm-type-small); font-weight:600; box-shadow:inset 0 0 0 1px rgb(255 255 255 / .55); transition:background var(--gm-fast) var(--gm-ease),color var(--gm-fast) var(--gm-ease); }
.gm-legal-docs a:hover { background:rgb(0 0 0 / .12); }
.gm-legal-docs a[aria-current] { background:#fff; color:var(--color-primary); box-shadow:none; }
.gm-legal-head a:focus-visible { outline-color:#fff; }
@media (max-width:900px) { .gm-legal-head-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .gm-legal-docs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .gm-legal-docs a { justify-content:center; } }
html[data-vt-header] .gm-legal-head { view-transition-name:gm-legal-head; }
html[data-vt-header] .gm-legal-docs { view-transition-name:gm-legal-docs; }
::view-transition-group(gm-legal-head),::view-transition-group(gm-legal-docs) { animation-duration:750ms; animation-timing-function:var(--ease-out); }
.gm-legal-body { display:grid; gap:clamp(20px,2.4vw,40px); align-items:start; }
@media (min-width:1100px) { .gm-legal-has-toc { grid-template-columns:minmax(250px,22%) minmax(0,1fr); gap:clamp(40px,4.2vw,80px); } }
.gm-legal-toc { font-size:var(--gm-type-small); line-height:1.45; }
.gm-legal-toc summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; padding:14px 20px; background:#fff; color:var(--gm-ink); font-weight:600; cursor:pointer; list-style:none; }
.gm-legal-toc summary::-webkit-details-marker { display:none; }
.gm-legal-toc summary svg { width:20px; height:20px; flex-shrink:0; transition:rotate var(--gm-fast) var(--gm-ease); }
.gm-legal-toc[open] summary svg { rotate:180deg; }
.gm-legal-toc ol { margin:0; padding:0; list-style:none; }
.gm-legal-toc nav > ol { position:relative; isolation:isolate; display:grid; gap:2px; }
.gm-legal-toc a { position:relative; display:grid; grid-template-columns:2em minmax(0,1fr); align-items:baseline; padding:9px 14px; color:var(--gm-muted); transition:color var(--gm-fast) var(--gm-ease); }
.gm-legal-toc a:hover,.gm-legal-toc a[aria-current] { color:var(--gm-ink); }
.gm-legal-toc a[aria-current] { font-weight:600; }
.gm-legal-toc-num { font-weight:300; font-variant-numeric:tabular-nums; }
.gm-legal-toc-mark { position:absolute; inset:0; z-index:-1; background:#fff; }
.gm-legal-toc li ol a { grid-template-columns:minmax(0,1fr); padding:6px 14px 6px calc(14px + 2em); }
@media (max-width:1099px) {
 .gm-legal-toc nav { padding:6px 0 12px; background:#fff; }
 .gm-legal-toc-mark { background:var(--gm-paper); }
}
@media (min-width:1100px) {
 .gm-legal-toc { position:sticky; top:clamp(100px,13vh,120px); max-height:calc(100vh - clamp(100px,13vh,120px) - 24px); overflow:auto; overscroll-behavior:contain; }
 .gm-legal-toc summary { display:none; }
}
.gm-legal .gm-legal-sheet { max-width:1000px; padding:clamp(28px,4.2vw,80px) clamp(22px,4.2vw,80px) clamp(36px,4.6vw,88px); background:#fff; font-size:var(--gm-type-text); line-height:1.8; }
.gm-legal-sheet :is(p,li,dl) { max-width:72ch; }
.gm-legal-sheet a:not([href]) { text-decoration:none; }
.gm-legal-lead { margin:0 0 clamp(36px,3vw,56px); color:var(--gm-ink); font-size:var(--gm-type-lede); line-height:1.6; }
.gm-legal-section + .gm-legal-section,.gm-legal-signoff { margin-top:clamp(44px,3.6vw,68px); }
.gm-legal-sheet .gm-legal-h { margin:0 0 18px; color:var(--gm-ink); font-size:var(--gm-type-title); font-weight:500; line-height:1.3; letter-spacing:-.015em; text-wrap:balance; }
.gm-legal-sheet h3.gm-legal-h { margin:36px 0 12px; font-size:var(--gm-type-item); font-weight:650; letter-spacing:0; }
.gm-legal-num { color:var(--gm-muted); font-weight:300; }
@media (min-width:761px) {
 .gm-legal-sheet { --gm-legal-indent:clamp(76px,5vw,96px); }
 .gm-legal-section,.gm-legal-signoff { padding-left:var(--gm-legal-indent); }
 .gm-legal-sheet .gm-legal-section > h2 { display:grid; grid-template-columns:var(--gm-legal-indent) minmax(0,1fr); align-items:baseline; margin-left:calc(var(--gm-legal-indent) * -1); }
 .gm-legal-section > h2 > .gm-legal-num { font-size:var(--gm-type-h2); line-height:1; letter-spacing:-.05em; }
}
.gm-legal .gm-legal-sheet ul,.gm-legal .gm-legal-alpha { padding-left:0; list-style:none; }
.gm-legal-sheet ul > li { position:relative; padding-left:24px; }
.gm-legal-sheet ul > li::before { content:""; position:absolute; top:.72em; left:3px; width:6px; height:6px; background:var(--gm-primary); }
.gm-legal-alpha > li,.gm-legal-bullet { position:relative; padding-left:28px; }
.gm-legal-marker { position:absolute; left:0; color:var(--gm-ink); font-weight:600; }
.gm-legal-note { padding:16px 22px; background:var(--gm-paper); }
.gm-legal-facts { display:grid; gap:6px; margin-block:18px; }
.gm-legal-facts > div { display:grid; grid-template-columns:minmax(0,9.5em) minmax(0,1fr); gap:2px 20px; padding:12px 20px; background:var(--gm-paper); }
.gm-legal-facts dt { color:var(--gm-ink); font-weight:600; }
.gm-legal-facts dd { margin:0; }
.gm-legal .gm-legal-signoff p + p { margin-top:2px; }
.gm-legal-signoff p:last-child { color:var(--gm-ink); font-weight:650; }
.gm-legal-block + .gm-legal-block { margin-top:clamp(36px,3vw,56px); }
.gm-legal-block > * + * { margin-top:18px; }
.gm-legal .gm-legal-block > * { margin-bottom:0; }
.gm-legal .gm-legal-address,.gm-legal .gm-legal-block-title { margin-top:0; color:var(--gm-ink); font-size:var(--gm-type-title); font-weight:500; line-height:1.35; letter-spacing:-.015em; }
.gm-legal .gm-legal-address { font-weight:300; }
.gm-legal-address > span,.gm-legal-lines > span { display:block; }
.gm-legal .gm-legal-address strong { color:inherit; font-weight:inherit; }
.gm-legal .gm-legal-address > span:first-child strong { font-weight:650; }
.gm-legal-impressum .gm-legal-facts { gap:0; margin-block:0; }
.gm-legal-impressum .gm-legal-facts + .gm-legal-facts { margin-top:14px; }
.gm-legal-impressum .gm-legal-facts > div { padding:3px 0; background:none; }
.gm-legal-impressum .gm-legal-facts dt { color:var(--gm-muted); font-weight:400; }
.gm-legal-impressum .gm-legal-facts dd { color:var(--gm-ink); }
@media (max-width:420px) { .gm-legal-impressum .gm-legal-facts > div { grid-template-columns:minmax(0,1fr); gap:0; } }
.gm-legal-cert-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:clamp(36px,4vw,64px); }
.gm-legal-cert { display:flex; flex-direction:column; }
.gm-legal-cert-preview { display:block; padding:clamp(18px,2.4vw,36px); background:var(--gm-paper); transition:background var(--gm-fast) var(--gm-ease); }
.gm-legal-cert-preview:hover { background:#ebe9e4; }
.gm-legal-cert-preview .gm-photo { height:auto; }
.gm-legal .gm-legal-cert .gm-legal-h { margin:26px 0 0; }
.gm-legal-cert .gm-legal-h small { display:block; margin-top:2px; color:var(--gm-muted); font-size:var(--gm-type-text); font-weight:400; letter-spacing:0; }
.gm-legal .gm-legal-cert .gm-legal-facts { gap:0; margin-block:14px 0; }
.gm-legal-cert .gm-legal-facts > div { padding:3px 0; background:none; }
.gm-legal-cert .gm-legal-facts dt { color:var(--gm-muted); font-weight:400; }
.gm-legal-cert .gm-legal-facts dd { color:var(--gm-ink); font-variant-numeric:tabular-nums; }
.gm-legal .gm-legal-cert .gm-download { margin-top:22px; background:var(--gm-paper); border-color:transparent; text-decoration:none; }
.gm-legal .gm-legal-cert .gm-download:hover { background:#ebe9e4; }
.gm-legal .gm-legal-cert-scope { max-width:none; margin-block:clamp(44px,3.6vw,68px) 0; }
@media (max-width:420px) { .gm-legal-cert-scope > div { grid-template-columns:minmax(0,1fr); gap:0; } }
.gm-apply { flex:1; display:flex; min-width:0; }
.gm-dossier .gm-apply { height:auto; }
.gm-apply > .gm-bath-main { flex:1; min-height:0; padding:28px clamp(20px,4vw,64px) 40px; }
.gm-apply > .gm-bath-main > * { max-width:538px; }
.gm-apply .gm-bath-fields { row-gap:18px; }
.gm-apply .gm-bath-options[data-kind='tiles'] { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gm-apply [data-kind='tiles'] .gm-bath-opt:not([data-alt='true']) { flex-direction:column; align-items:flex-start; justify-content:space-between; gap:10px; aspect-ratio:1; min-height:0; padding:14px 12px 12px; }
.gm-apply [data-kind='tiles'] .gm-bath-opt:not([data-alt='true']) .gm-bath-txt strong { font-size:14px; line-height:1.3; }
.gm-apply [data-kind='tiles'] .gm-bath-opt:not([data-alt='true']) .gm-bath-ico { width:40px; height:40px; }
.gm-apply [data-kind='tiles'] .gm-bath-opt:not([data-alt='true']) .gm-bath-ico::after { content:none; }
.gm-apply [data-kind='tiles'] .gm-bath-opt[data-checked='true']:not([data-alt='true'])::after { opacity:1; transform:none; }
.gm-apply [data-kind='tiles'] .gm-bath-ico svg { width:40px; height:40px; }
.gm-apply [data-kind='tiles'] .gm-bath-months { justify-content:flex-start; width:auto; height:40px; gap:2px; }
.gm-apply [data-kind='tiles'] .gm-bath-months i { width:6px; height:12px; }
.gm-apply [data-kind='tiles'] .gm-bath-months i[data-on='true'] { height:30px; }
.gm-apply-cv { display:grid; gap:10px; margin-bottom:22px; }
.gm-apply-cv-label { font-size:14px; font-weight:550; }
.gm-apply .gm-bath-options[data-kind='cv'] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gm-apply-cv button.gm-bath-opt { width:100%; background:transparent; text-align:left; }
@media (hover:hover) { .gm-apply-cv button.gm-bath-opt:hover { background:var(--gm-paper); } }
.gm-apply-cv-hint { font-size:13px; line-height:1.5; color:var(--gm-muted); }
.gm-apply-cv .gm-form-error { margin:0; }
.gm-apply-cv-done { flex-wrap:wrap; cursor:default; }
.gm-apply-cv-done .gm-bath-txt { flex:1; min-width:180px; }
.gm-apply-cv-done .gm-bath-txt small { color:rgb(255 255 255 / .8); overflow-wrap:anywhere; }
.gm-apply-cv-tools { display:flex; gap:18px; }
.gm-apply-cv-tools > * { position:relative; padding:6px 0; background:none; font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.gm-apply-cv-tools > label:has(input:focus-visible) { outline:2px solid currentColor; outline-offset:5px; }
.gm-apply-cv-done:has(.gm-apply-cv-tools input:focus-visible) { outline:0; }
.gm-apply-stations { display:grid; gap:12px; }
.gm-apply-station { padding:14px 16px 16px; background:var(--gm-paper); }
.gm-apply-station-head { display:flex; justify-content:space-between; align-items:center; min-height:28px; margin-bottom:10px; font-size:13px; font-weight:600; color:var(--gm-muted); }
.gm-apply-station-head button { padding:4px 0; background:none; color:var(--gm-primary); text-decoration:underline; text-underline-offset:3px; }
.gm-apply .gm-apply-station .gm-bath-fields { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr); gap:14px 12px; }
.gm-apply .gm-apply-station .gm-bath-fields > .gm-field:first-child { grid-column:1 / -1; }
.gm-apply-month { display:contents; }
.gm-apply-month-input { position:relative; }
.gm-apply .gm-apply-month input { padding-right:42px; }
.gm-apply-month-input > button { position:absolute; inset:1px 1px 1px auto; display:grid; place-items:center; width:42px; background:none; color:var(--gm-primary); cursor:pointer; }
.gm-apply-month-input > button svg { width:20px; height:20px; }
.gm-apply-cal { grid-row:3; grid-column:1 / -1; width:min(304px,100%); padding:10px; background:#fff; border:1px solid #a6a199; scroll-margin:96px 0 128px; }
.gm-apply-cal button { min-height:40px; background:none; color:var(--gm-primary); font-size:14px; cursor:pointer; }
@media (hover:hover) { .gm-apply-cal button:hover { background:var(--gm-paper); } }
.gm-apply-cal button[aria-pressed='true'] { background:var(--gm-primary); color:#fff; font-weight:600; }
.gm-apply-cal-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.gm-apply-cal-head button { display:grid; place-items:center; width:40px; }
.gm-apply-cal-head svg { width:20px; height:20px; }
.gm-apply-cal-head strong { font-size:16px; font-weight:600; }
.gm-apply-cal-months { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
.gm-apply-cal .gm-apply-cal-today { width:100%; margin-top:6px; background:var(--gm-paper); }
.gm-apply .gm-apply-add { gap:8px; margin-top:12px; }
.gm-apply .gm-apply-add svg { width:18px; height:18px; }

@media (max-width:760px) {
 .gm-apply > .gm-bath-main { padding:20px 16px 28px; }
 .gm-apply .gm-bath-options[data-kind='cv'] { grid-template-columns:minmax(0,1fr); }
 .gm-apply .gm-apply-station .gm-bath-fields { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .gm-apply .gm-apply-station .gm-bath-fields > .gm-field:last-child { grid-column:1 / -1; }
 .gm-apply-cv-tools { width:100%; padding-left:56px; }
 .gm-apply .gm-bath-options[data-kind='tiles'] { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gm-apply [data-kind='tiles'] .gm-bath-opt:not([data-alt='true']) { aspect-ratio:auto; min-height:112px; }
}
.gm-career2 { --gm-route-gap:clamp(24px,2.2vw,40px); }
.gm-route-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 8%; align-items:end; }
.gm-route-head .gm-lede { max-width:54ch; margin-top:0; font-size:var(--gm-type-lede,clamp(17px,1vw,18px)); }
.gm-route-figures { display:flex; flex-wrap:wrap; gap:18px clamp(40px,4.4vw,80px); margin:clamp(22px,2vw,32px) 0 0; }
.gm-route-figures > div { display:flex; flex-direction:column-reverse; gap:8px; }
.gm-route-figures dd { margin:0; }
.gm-route-figures .gm-odometer { font-size:var(--gm-type-figure,clamp(44px,3.4vw,60px)); letter-spacing:-.055em; }
.gm-route-figures dt { font-size:14px; font-weight:600; }
.gm-route-figures dt a { text-decoration:underline; text-decoration-color:var(--gm-line); text-underline-offset:5px; transition:color var(--gm-fast) var(--gm-ease),text-decoration-color var(--gm-fast) var(--gm-ease); }
.gm-route-figures dt a:hover { color:var(--gm-accent); text-decoration-color:currentColor; }
.gm-station-photo { position:relative; height:clamp(200px,min(20vw,100vh - 750px),380px); margin-bottom:22px; overflow:hidden; clip-path:polygon(0 0,100% 7%,100% 100%,0 100%); background:var(--gm-paper); }
.gm-station:nth-child(even) .gm-station-photo { clip-path:polygon(0 7%,100% 0,100% 100%,0 100%); }
:is(.gm-station-photo,.gm-learn-photo) > figure { position:absolute; inset:0; margin:0; overflow:hidden; visibility:hidden; }
:is(.gm-station-photo,.gm-learn-photo) > figure[data-top] { z-index:2; visibility:visible; animation:gm-route-swap 850ms var(--gm-ease),gm-route-settle 1300ms var(--gm-ease); }
:is(.gm-station-photo,.gm-learn-photo) > figure[data-under] { z-index:1; animation:gm-route-hold 850ms; }
@keyframes gm-route-swap { from { clip-path:inset(0 0 100% 0); } }
@keyframes gm-route-settle { from { scale:1.12; } }
@keyframes gm-route-hold { from,to { visibility:visible; } }
.gm-station-photo .gm-photo { transition:scale 1s var(--gm-ease),filter .5s var(--gm-ease); }
.gm-station-photo .gm-photo[srcset*="/verwaltungsbuero-"] { object-position:50% 56.3%; transform:scale(1.22); transform-origin:50% 100%; }
.gm-station-photo .gm-photo[srcset*="/gerhard-mann-07-2026-matthiasammerfotografie-029-"] { object-position:50% 62.8%; transform:scale(1.433); transform-origin:50% 100%; }
.gm-route-body[data-hot] .gm-station:not([data-hot]) .gm-station-photo .gm-photo { filter:saturate(.35) brightness(.96); }
.gm-station[data-hot] .gm-station-photo .gm-photo { scale:1.04; }
@keyframes gm-route-zoom { from { scale:1.14; } }
@keyframes gm-route-fade { from { opacity:0; } }
.gm-route-stations { display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:var(--gm-route-gap); margin-top:var(--gm-space-head,48px); }
.gm-station { min-width:0; }
.gm-station h3 { font-size:var(--gm-type-title,clamp(20px,1.4vw,24px)); font-weight:500; line-height:1.3; letter-spacing:-.015em; transition:color var(--gm-fast) var(--gm-ease); }
.gm-station[data-hot] h3 { color:var(--gm-accent); }
.gm-station-count { margin-top:4px; color:var(--gm-accent); font-size:14px; font-weight:600; }
.gm-station-text { max-width:42ch; margin-top:10px; color:var(--gm-muted); font-size:15px; line-height:1.6; }
.gm-openings { margin:clamp(18px,1.6vw,26px) 0 0; padding:0; list-style:none; }
.gm-openings > li { position:relative; }
.gm-openings > li::after,.gm-openings > li:first-child::before { content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gm-line); }
.gm-openings > li:first-child::before { top:0; bottom:auto; }
.gm-opening { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 26px; align-items:center; gap:10px 14px; padding:18px 0 19px; }
.gm-opening::after { content:''; position:absolute; z-index:1; left:0; right:0; bottom:0; height:1px; background:var(--gm-primary); scale:0 1; transform-origin:0 50%; transition:scale 700ms var(--gm-ease); }
.gm-opening:is(:hover,:focus-visible)::after { scale:1 1; }
.gm-opening-title { display:block; font-size:var(--gm-type-item,17px); font-weight:600; line-height:1.4; transition:color var(--gm-fast) var(--gm-ease); }
.gm-opening-title small { color:var(--gm-muted); font-size:14px; font-weight:400; }
.gm-opening-title > em { display:block; margin-bottom:2px; color:var(--gm-accent); font-size:13px; font-style:normal; font-weight:700; }
.gm-title-tail { display:inline-block; }
.gm-opening:hover .gm-opening-title { color:var(--gm-accent); }
.gm-opening-facts { grid-column:1; margin-top:-4px; color:var(--gm-muted); font-size:13px; font-weight:500; line-height:1.55; }
.gm-opening-facts > * { display:inline-block; }
.gm-opening-facts > :not(:last-child)::after { content:'·'; content:'·' / ''; margin-left:.4em; }
.gm-opening > svg { grid-column:2; grid-row:1; width:26px; height:26px; transition:translate 450ms var(--gm-ease); }
.gm-opening:has(> .gm-opening-facts) > svg { grid-row:1 / span 2; }
.gm-opening:is(:hover,:focus-visible) > svg { translate:6px 0; }
@media (max-width:1439px) {
 .gm-route-stations { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:clamp(48px,6vw,64px); }
 .gm-station-photo { height:clamp(180px,22vw,250px); }
}
@media (max-width:760px) {
 .gm-route-head,.gm-route-stations { grid-template-columns:1fr; }
 .gm-station-photo { height:clamp(170px,48vw,230px); }
}
.gm-career2-why { display:grid; gap:clamp(48px,4vw,72px); }
.gm-why-intro > .gm-why-lede { color:var(--gm-primary); font-size:var(--gm-type-lede,clamp(17px,1vw,18px)); line-height:1.7; }
.gm-why-intro > p + p { margin-top:14px; }
.gm-career2-why .gm-why-home > .gm-cut-split-media { overflow:hidden; clip-path:polygon(0 0,100% 3%,100% 100%,0 88%); }
.gm-career2-why .gm-why-home > .gm-cut-split-media > .gm-photo { height:clamp(300px,34vw,500px); clip-path:none; transform:scale(1.16); transform-origin:100% 55%; object-position:60% 55%; }
.gm-why-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; background:linear-gradient(90deg,#fff calc(50% - 12px),transparent 0 calc(50% + 12px),#fff 0); }
.gm-why-fact { display:flex; align-items:center; gap:clamp(20px,2.4vw,40px); padding:clamp(22px,2.2vw,36px) clamp(22px,2.2vw,36px) 0; }
.gm-why-fact > svg { flex:none; width:clamp(120px,10vw,180px); height:auto; overflow:visible; }
.gm-why-fact dl { display:flex; flex-direction:column-reverse; gap:10px; margin:0; }
.gm-why-fact dd { display:flex; align-items:baseline; gap:.16em; margin:0; font-size:var(--gm-type-figure,clamp(44px,3.4vw,60px)); font-weight:300; line-height:1; letter-spacing:-.055em; }
.gm-why-fact dd > small { font-size:.4em; letter-spacing:-.01em; }
.gm-why-fact .gm-odometer { font-size:inherit; letter-spacing:inherit; }
.gm-why-fact dt { max-width:24ch; font-size:15px; font-weight:600; line-height:1.5; }
.gm-why-facts > .gm-prose,.gm-why-facts > .gm-prose > div { display:contents; }
.gm-why-facts > .gm-prose p { margin:0; padding:clamp(18px,1.6vw,26px) clamp(22px,2.2vw,36px) clamp(22px,2.2vw,36px); }
.gm-why-people use { fill:var(--gm-primary); transform-box:fill-box; transform-origin:50% 100%; }
.gm-why-rings path { fill:none; stroke:var(--gm-primary); stroke-width:2.2; }
.gm-why-rings path:last-of-type { stroke:var(--gm-accent); stroke-width:3.2; stroke-linecap:round; }
.gm-why-rings circle { fill:var(--gm-primary); }
@media (prefers-reduced-motion:no-preference) {
 .gm-why-people:not([data-on]) use { opacity:0; }
 .gm-why-people[data-on] use { animation:gm-why-pop 600ms var(--gm-ease) calc(var(--i) * 32ms) backwards; }
 .gm-why-rings path { stroke-dasharray:1; }
 .gm-why-rings:not([data-on]) path { stroke-dashoffset:1; }
 .gm-why-rings[data-on] path { animation:gm-why-draw 1100ms var(--gm-ease) calc(var(--i) * 90ms) backwards; }
}
@keyframes gm-why-pop { from { opacity:0; scale:.3; } }
@keyframes gm-why-draw { from { stroke-dashoffset:1; } }
.gm-career2-why > .gm-reasons-row { margin:0; }
@media (max-width:900px) { .gm-career2-why .gm-why-home > .gm-cut-split-media > .gm-photo { height:auto; aspect-ratio:3/2; } }
@media (max-width:760px) {
 .gm-why-facts { grid-template-columns:1fr; background:#fff; }
 .gm-why-fact:nth-child(2) { order:3; }
 .gm-why-facts > .gm-prose p:first-child { order:2; }
 .gm-why-facts > .gm-prose p:last-child { order:4; }
}
@media (max-width:560px),(min-width:761px) and (max-width:900px) { .gm-why-fact { flex-direction:column; align-items:flex-start; gap:18px; } .gm-why-fact > svg { width:150px; } }
.gm-steps { display:grid; grid-template-columns:repeat(var(--n,4),minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.gm-steps > li { position:relative; padding:20px 14px 0 0; color:var(--gm-muted); font-size:13px; font-weight:500; line-height:1.4; }
.gm-steps > li::before { content:''; position:absolute; top:4px; left:0; right:0; height:1px; background:var(--gm-line); }
.gm-steps > li::after { content:''; position:absolute; top:0; left:0; width:9px; height:9px; background:var(--gm-line); }
@media (max-width:560px) { .gm-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:14px; } }
.gm-career2-learn { display:grid; grid-template-columns:minmax(0,min(46%,680px)) minmax(0,1fr); gap:clamp(40px,5vw,96px); align-items:center; }
.gm-learn-photo { position:relative; aspect-ratio:1; overflow:hidden; clip-path:polygon(0 0,100% 3%,100% 100%,0 97%); background:var(--gm-paper); }
.gm-learn-photo .gm-photo { object-position:40% 50%; }
.gm-learn-copy { display:flex; flex-direction:column; min-width:0; }
.gm-learn-copy > .gm-prose { max-width:66ch; margin-top:24px; }
.gm-career2-learn .gm-openings { margin-top:clamp(24px,2.2vw,32px); }
@media (max-width:900px) { .gm-career2-learn { grid-template-columns:1fr; gap:28px; } .gm-learn-photo { aspect-ratio:3/2; } }
.gm-career2-training .gm-dark-media { display:flex; }
.gm-training-photo { flex:1; min-height:clamp(360px,34vw,560px); overflow:hidden; clip-path:polygon(0 0,100% 3%,100% 100%,0 97%); }
.gm-training-caption { margin-top:26px; font-size:14px; font-weight:600; }
.gm-career2-training .gm-steps { margin-top:14px; }
.gm-career2-training .gm-steps > li { color:#fff; }
.gm-career2-training .gm-steps > li::before { background:rgb(255 255 255 / .45); }
.gm-career2-training .gm-steps > li::after { background:#fff; }
.gm-career2-training .gm-openings { margin-top:clamp(24px,2.2vw,32px); }
.gm-career2-training .gm-openings > li::after,.gm-career2-training .gm-openings > li:first-child::before { background:rgb(255 255 255 / .35); }
.gm-career2-training .gm-opening::after { background:#fff; }
.gm-career2-training .gm-opening-title small,.gm-career2-training .gm-opening:hover .gm-opening-title { color:#fff; }
.gm-career2-training .gm-opening-facts { color:#fff; }
.gm-training-contact { display:flex; flex-wrap:wrap; gap:4px 22px; margin-top:24px; font-size:15px; }
.gm-training-contact > span { width:100%; font-weight:600; }
.gm-training-contact > a:hover { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:900px) { .gm-training-photo { min-height:0; aspect-ratio:3/2; } }
.gm-career2-contacts > .gm-divider { margin:clamp(12px,1.4vw,20px) 0 clamp(20px,2vw,28px); background:rgb(255 255 255 / .3); }
.gm-career2-contacts > p { display:grid; gap:6px; margin:0; font-size:var(--gm-type-text,16px); }
.gm-career2-contacts > p > span { color:var(--gm-muted); font-size:14px; }
.gm-career2-contacts > p > a { width:fit-content; }
.gm-career2-contacts > p > a:hover { text-decoration:underline; text-underline-offset:4px; }
.gm-career2 .gm-openings { display:grid; gap:10px; }
.gm-career2 .gm-openings > li::after,.gm-career2 .gm-openings > li:first-child::before,.gm-career2 .gm-opening::after { content:none; }
.gm-career2 .gm-opening { display:flow-root; padding:18px; background:#f9f8f6; transition:background var(--gm-fast) var(--gm-ease); }
.gm-career2 .gm-opening > svg { float:right; width:24px; height:24px; margin-left:12px; }
.gm-career2 .gm-opening-facts { display:block; margin-top:6px; }
.gm-career2 .gm-opening:is(:hover,:focus-visible) { background:#efede9; }
.gm-career2 .gm-career2-contacts > .gm-divider { display:none; }
.gm-career2 .gm-career2-contacts > p { margin-top:clamp(28px,2.6vw,44px); }
.gm-dialog.gm-dossier { width:min(920px,100%); max-width:none; height:100dvh; max-height:none; margin:0 0 0 auto; overflow-y:auto; overscroll-behavior:contain; }
.gm-dossier[open] { display:flex; flex-direction:column; }
.gm-dossier-bar { position:sticky; top:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px clamp(16px,3vw,40px) 10px clamp(20px,4vw,64px); background:rgb(255 255 255 / .94); backdrop-filter:blur(10px); }
.gm-dossier-where { min-width:0; font-size:14px; font-weight:600; }
.gm-dossier-where > span { color:var(--gm-muted); font-weight:500; }
.gm-dossier-tools { display:flex; flex-shrink:0; gap:6px; }
.gm-dossier-tools > button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; height:44px; padding:0 10px; background:var(--gm-paper); color:var(--gm-primary); font-size:14px; font-weight:600; transition:background var(--gm-fast) var(--gm-ease); }
.gm-dossier-tools > button:hover:not(:disabled) { background:#e8e6e1; }
.gm-dossier-tools > button:disabled { opacity:.35; cursor:default; }
.gm-dossier-tools svg { width:22px; height:22px; }
.gm-dossier-tools > .gm-close { margin-left:6px; padding:0; background:none; color:#313131; }
.gm-dossier-tools > .gm-close:hover { background:none; color:var(--gm-primary); }
.gm-dossier-tools > .gm-close svg { flex:none; width:28px; height:28px; }
.gm-dossier-prev svg { rotate:180deg; }
.gm-dossier-body { flex:1; }
.gm-dossier-stage { position:relative; display:flex; flex:1; flex-direction:column; overflow:clip; }
.gm-dossier-stage > * { flex:1; background:#fff; }
.gm-dossier-layer { display:flex; }
.gm-dossier-layer[hidden] { display:none; }
.gm-dossier-stage > [data-leaving] { position:absolute; inset:0 0 auto; pointer-events:none; }
.gm-dossier .gm-dossier-body:is([data-swap],[data-leaving]) *,.gm-dossier .gm-apply > .gm-bath-main { animation:none; }
@media (prefers-reduced-motion:no-preference) {
 .gm-dossier-stage > [data-leaving] { animation:gm-page-out 750ms var(--ease-out) both; }
 .gm-dossier-stage > :is(.gm-dossier-layer,[data-swap]):not([data-leaving]) { position:relative; z-index:1; animation:gm-page-in 750ms var(--ease-out) both; }
}
.gm-dossier-photo { height:clamp(220px,34vh,360px); margin:0; overflow:hidden; clip-path:polygon(0 0,100% 0,100% 84%,0 100%); }
.gm-dossier-photo .gm-photo { object-position:50% var(--gm-focus,50%); }
.gm-dossier-head { padding:clamp(22px,2.2vw,32px) clamp(20px,4vw,64px) 0; }
.gm-dossier-head h2 { max-width:30ch; font-size:clamp(30px,2.6vw,44px); font-weight:720; line-height:1.12; letter-spacing:-.035em; overflow-wrap:break-word; }
.gm-dossier-head h2 small { font-size:.52em; font-weight:300; letter-spacing:-.01em; }
.gm-dossier-facts { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0; padding:0; list-style:none; }
.gm-dossier-facts > li { padding:6px 12px; background:var(--gm-paper); font-size:14px; font-weight:600; }
.gm-dossier-intro { max-width:calc(70ch + 2 * clamp(20px,4vw,64px)); padding:24px clamp(20px,4vw,64px) 0; font-size:var(--gm-type-lede,clamp(17px,1vw,18px)); line-height:1.7; }
.gm-dossier-intro p + p { margin-top:10px; }
.gm-dossier-parts { --gm-parts-gap:clamp(28px,3vw,48px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px var(--gm-parts-gap); padding:clamp(32px,3.2vw,48px) clamp(20px,4vw,64px); }
.gm-dossier-parts h3 { margin-bottom:10px; font-size:17px; font-weight:700; line-height:1.35; }
.gm-dossier-parts .gm-prose { font-size:15px; line-height:1.65; }
.gm-dossier-parts .gm-prose ul { margin:0; padding-left:18px; }
.gm-dossier-parts .gm-prose li { margin-block:6px; text-wrap:balance; }
.gm-dossier-parts .gm-prose li::marker { color:var(--gm-primary); }
.gm-dossier-parts > :is([data-wide],:not(section)) { grid-column:1 / -1; }
.gm-dossier-parts > [data-wide] ul { columns:2; column-gap:calc(var(--gm-parts-gap) + 18px); }
.gm-dossier-parts > [data-wide] li { margin-block:0; padding-bottom:6px; break-inside:avoid; }
.gm-dossier-parts > [data-wide] .gm-prose > p { max-width:70ch; }
.gm-dossier-contact { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px 32px; margin:0 clamp(20px,4vw,64px); padding:22px 28px; background:var(--gm-paper); }
.gm-dossier-contact > p { color:var(--gm-muted); font-size:14px; }
.gm-dossier-contact > p > strong { display:block; margin-top:2px; color:var(--gm-primary); font-size:18px; font-weight:650; }
.gm-dossier-contact > a,.gm-dossier-call { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:15px; font-weight:600; transition:color var(--gm-fast) var(--gm-ease); }
.gm-dossier-contact > a:hover,.gm-dossier-call:hover { color:var(--gm-accent); }
.gm-dossier-contact svg,.gm-dossier-call svg { width:22px; height:22px; flex-shrink:0; }
.gm-dossier-call > span { display:grid; line-height:1.3; }
.gm-dossier-call small { color:var(--gm-muted); font-size:12px; font-weight:500; }
.gm-dossier-nav { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; margin:clamp(28px,3vw,44px) clamp(20px,4vw,64px) clamp(28px,3vw,40px); }
.gm-dossier-nav > a { display:grid; align-content:start; gap:4px; padding:16px 0 4px; font-size:16px; font-weight:600; line-height:1.4; transition:color var(--gm-fast) var(--gm-ease); }
.gm-dossier-nav > a > small,.gm-dossier-nav > a > span > small { color:var(--gm-muted); font-size:13px; font-weight:500; }
.gm-dossier-nav > a:hover { color:var(--gm-accent); }
.gm-dossier-nav > .gm-dossier-next { grid-column:2; text-align:right; }
.gm-dossier-actions { position:sticky; bottom:0; z-index:4; display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; padding:14px clamp(20px,4vw,64px); color:#fff; background:var(--gm-primary); }
.gm-dossier-actions .gm-button { margin:0; background:#fff; color:var(--gm-primary); border-color:#fff; }
.gm-dossier-actions .gm-button:hover { background:#e6eef3; }
.gm-dossier-actions .gm-dossier-toggle { overflow:hidden; }
.gm-dossier-toggle > span { display:inherit; align-items:center; gap:inherit; white-space:nowrap; }
.gm-dossier-toggle[data-back] svg { rotate:180deg; }
@media (prefers-reduced-motion:no-preference) {
 .gm-dossier-toggle[data-swapped] > span { animation:gm-toggle-in 750ms var(--ease-out) both; }
 .gm-dossier-toggle[data-back] > span { animation-name:gm-toggle-back; }
}
@keyframes gm-toggle-in { from { opacity:0; translate:14px 0; filter:blur(4px); } 20% { opacity:0; } }
@keyframes gm-toggle-back { from { opacity:0; translate:-14px 0; filter:blur(4px); } 20% { opacity:0; } }
.gm-dossier-actions .gm-dossier-call:hover { color:#cfe0ea; }
.gm-dossier-actions .gm-dossier-call small { color:rgb(255 255 255 / .75); }
@media (max-width:760px) {
 .gm-dossier-where > span { display:none; }
 .gm-dossier-share > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .gm-dossier-photo { height:clamp(150px,40vw,220px); }
 .gm-dossier-actions .gm-dossier-mail { display:none; }
 .gm-dossier-parts { grid-template-columns:1fr; }
 .gm-dossier-parts > [data-wide] ul { columns:auto; }
 .gm-dossier-head h2 { font-size:clamp(22px,6.6vw,30px); }
 .gm-dossier-contact { grid-template-columns:1fr; gap:4px; padding:18px 20px; }
 .gm-dossier-nav { grid-template-columns:1fr; gap:0; }
 .gm-dossier-nav > .gm-dossier-next { grid-column:1; text-align:left; }
 .gm-dossier-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); }
 .gm-dossier-actions .gm-button { justify-content:center; gap:14px; min-height:52px; padding:12px 16px; }
 .gm-dossier-call { justify-content:center; min-height:52px; padding:0 14px; background:#fff; }
 .gm-dossier-actions .gm-dossier-call { background:rgb(255 255 255 / .14); }
}
@keyframes gm-dossier-in { from { translate:min(10vw,120px) 0; opacity:0; } }
@keyframes gm-dossier-rise { from { opacity:0; translate:0 16px; } }
@keyframes gm-dossier-unroll { from { clip-path:polygon(0 0,100% 0,100% 0,0 0); } }
@media (prefers-reduced-motion:no-preference) {
 .gm-dossier[open] { animation:gm-dossier-in 650ms cubic-bezier(.22,1,.36,1); }
 .gm-dossier[data-flight][open] { animation:gm-route-fade 450ms ease; }
 .gm-dossier[open]::backdrop { animation:gm-route-fade 400ms ease; }
 .gm-dossier-photo { animation:gm-dossier-unroll 1000ms cubic-bezier(.22,1,.36,1) 100ms backwards; }
 .gm-dossier-photo .gm-photo { animation:gm-route-zoom 1400ms cubic-bezier(.22,1,.36,1) 100ms backwards; }
 .gm-dossier-body > :not(.gm-dossier-photo) { animation:gm-dossier-rise 700ms cubic-bezier(.22,1,.36,1) 460ms backwards; }
 .gm-dossier-body > :nth-child(2) { animation-delay:220ms; }
 .gm-dossier-body > :nth-child(3) { animation-delay:280ms; }
 .gm-dossier-body > :nth-child(4) { animation-delay:340ms; }
 .gm-dossier-body > :nth-child(5) { animation-delay:400ms; }
}
.gm-dossier[data-leaving]::backdrop { opacity:0; transition:opacity 320ms ease; }
.gm-dossier-flyer { position:fixed; z-index:5; overflow:hidden; pointer-events:none; }
.gm-dossier-flyer > img { display:block; width:100%; height:100%; object-fit:cover; }
.gm-dossier-photo[data-waiting] { visibility:hidden; }
.gm-dossier-photo:has(> .gm-ki-photo) { position:relative; }
.gm-dossier-photo .gm-ki-photo { right:auto; left:12px; }
.gm-dossier-photo[data-flown],.gm-dossier-photo[data-flown] .gm-photo { animation:none; }
.gm-site { --gm-primary:var(--color-primary); --gm-accent:var(--color-accent); --gm-ink:var(--color-primary); --gm-muted:var(--color-muted); --gm-paper:var(--color-paper); --gm-line:var(--color-line); --gm-gutter:clamp(24px,6.4vw,124px); --gm-fast:250ms; --gm-slow:500ms; --gm-ease:cubic-bezier(.22,1,.36,1); background:#fff; color:var(--gm-primary); font-size:16px; line-height:1.65; }
.gm-site [id] { scroll-margin-top:40px; }
.gm-site [tabindex='-1']:focus:not(:focus-visible) { outline:none; }
.gm-site button,.gm-site a,.gm-site input,.gm-site select,.gm-site textarea { touch-action:manipulation; }
.gm-site button:focus-visible,.gm-site a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.gm-subheader { background:var(--color-surface-dark); color:white; }
.gm-subheader .site-header { padding-bottom:28px; }
.gm-section { padding:clamp(72px,7vw,132px) var(--gm-gutter); }
.gm-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; margin-bottom:52px; }
.gm-section-heading > p { align-self:end; color:var(--gm-muted); font-size:18px; }
.gm-section-heading > .gm-link { justify-self:end; align-self:end; }
.gm-heading { font-size:clamp(32px,3.35vw,58px); line-height:1.15; letter-spacing:-.038em; font-weight:300; margin:0; text-wrap:balance; }
.gm-heading > span,.gm-heading strong { display:block; }
.gm-heading strong { font-weight:720; }
.gm-heading-inline strong { display:inline; }
.gm-lede { font-size:clamp(16px,1.22vw,20px); line-height:1.7; color:var(--gm-muted); max-width:66ch; margin-top:24px; }
.gm-body { color:var(--gm-muted); margin-top:20px; max-width:66ch; }
.gm-prose { color:var(--gm-muted); font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.gm-prose p + p,.gm-prose > div + div { margin-top:18px; }
.gm-prose strong { font-weight:650; color:var(--gm-ink); }
.gm-prose ul,.gm-prose ol { padding-left:24px; margin-block:18px; }
.gm-prose li { margin-block:7px; }
.gm-prose a { text-decoration:underline; text-underline-offset:4px; }
.gm-prose h2,.gm-prose h3,.gm-prose h4,.gm-prose h5,.gm-prose h6 { font-size:20px; line-height:1.45; font-weight:650; color:var(--gm-primary); margin:26px 0 12px; }
.gm-prose h4:empty { display:none; }
.gm-photo { display:block; width:100%; height:100%; object-fit:cover; }
img.gm-photo.gm-ki-media { object-position:50% calc(var(--gm-focus, 50%) / 1.05); }
.gm-ki-photo { position:absolute; z-index:1; right:12px; bottom:12px; }
.gm-button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-height:54px; padding:15px 24px; margin-top:28px; background:var(--gm-primary); color:white; font-size:14px; line-height:1.45; font-weight:600; text-align:left; text-wrap:balance; border:1px solid var(--gm-primary); border-radius:0; transition:background var(--gm-fast) var(--gm-ease),transform var(--gm-fast) var(--gm-ease); }
.gm-button:hover { background:#216487; }
.gm-button svg { width:25px; height:24px; flex-shrink:0; }
.gm-button-secondary { background:white; color:var(--gm-primary); }
.gm-button-secondary:hover { background:var(--gm-paper); }
.gm-link { display:flex; align-items:center; justify-content:space-between; gap:24px; width:fit-content; max-width:100%; min-height:44px; font-size:14px; font-weight:600; background:transparent; color:inherit; padding:7px 0; margin-top:24px; }
.gm-link:hover { color:var(--color-accent); }
.gm-tinted { background:var(--gm-paper); }
.gm-divider,.gm-footer-divider { height:1px; background:var(--gm-line); width:100%; margin-block:26px; }
.gm-simple-hero h1,.gm-notfound h1 { font-size:clamp(40px,3.55vw,68px); line-height:1.13; letter-spacing:-.04em; margin:0; font-weight:300; text-wrap:balance; }
.gm-simple-hero h1 strong,.gm-notfound h1 strong { display:block; font-weight:730; }
.gm-split { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; }
.gm-split > .gm-photo,.gm-split > div > .gm-photo { height:clamp(400px,40vw,660px); }
.gm-split .gm-heading + .gm-prose { margin-top:28px; }
.gm-three-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:6%; }
.gm-three-columns h2 { font-size:30px; font-weight:500; margin-bottom:22px; }
.gm-planning { padding-block:clamp(80px,7vw,132px); }
.gm-planning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,3vw,56px); }
.gm-planning-image { aspect-ratio:4/3; }
.gm-planning-caption { display:grid; grid-template-columns:auto 1px minmax(0,1fr); gap:clamp(16px,1.4vw,26px); align-items:start; margin-top:clamp(32px,2.7vw,52px); }
.gm-planning-number { color:#858078; font-size:clamp(44px,3.65vw,70px); font-weight:400; line-height:1; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
.gm-planning-divider { display:block; width:1px; align-self:stretch; background:var(--color-line); }
.gm-planning-grid h3 { font-size:clamp(18px,1.25vw,22px); font-weight:650; line-height:1.4; margin:2px 0 16px; }
.gm-planning-caption p { margin:0; color:var(--gm-muted); font-size:16px; line-height:1.8; }
.gm-gallery-section .gm-section-heading { align-items:center; }
.gm-gallery-copy > .gm-prose { margin-top:28px; }
.gm-gallery-section .gm-section-heading > .gm-download { margin-top:0; }
.gm-gallery-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; grid-auto-rows:clamp(200px,20vw,340px); gap:18px; }
.gm-gallery-tile { position:relative; padding:0; overflow:hidden; background:var(--gm-paper); cursor:zoom-in; }
.gm-gallery-tile:first-child { grid-row:span 2; }
.gm-gallery-tile .gm-photo { transition:transform var(--gm-slow) var(--gm-ease); }
.gm-gallery-tile:hover .gm-photo { transform:scale(1.035); }
.gm-gallery-grid:has(> [data-hide]),.gm-gallery-grid[data-opening] { overflow:clip; }
.gm-gallery-tile[data-hide] { animation:gm-tile-hide 900ms var(--gm-ease) calc(var(--i) * 90ms) reverse both; }
.gm-gallery-tile[data-hide] .gm-photo { animation:gm-tile-unsettle 1400ms var(--gm-ease) calc(var(--i) * 90ms) reverse both; }
@keyframes gm-tile-hide { from { clip-path:inset(0 0 100% 0); translate:0 28px; } to { clip-path:inset(0 0 0 0); translate:0 0; } }
@keyframes gm-tile-unsettle { from { scale:1.16; } }
.gm-gallery-zoom { position:absolute; right:16px; bottom:16px; width:38px; height:38px; display:grid; place-items:center; background:rgba(255,255,255,.95); color:var(--gm-primary); font-size:24px; }
.gm-gallery > .gm-link { margin:26px auto 0; }
.gm-catalog { display:grid; grid-template-columns:1fr 1fr; gap:9%; background:var(--gm-paper); align-items:center; }
.gm-catalog > .gm-photo { object-fit:contain; height:550px; mix-blend-mode:multiply; }
.gm-download { display:flex; align-items:center; gap:22px; padding:22px; background:white; border:1px solid var(--gm-line); margin-top:16px; transition:background var(--gm-fast),transform var(--gm-fast); }
.gm-download:hover { background:#f2f1ee; }
.gm-download strong { display:block; font-size:17px; font-weight:600; line-height:1.4; }
.gm-download small { display:block; color:var(--gm-muted); font-size:12px; margin-top:5px; }
.gm-document { flex-shrink:0; width:30px; }
.gm-download-arrow { margin-left:auto; font-size:25px; }
.gm-steel-stat { position:relative; background:var(--gm-paper); padding:40px; }
.gm-steel-stat > strong { font-size:clamp(70px,7vw,130px); font-weight:300; line-height:1; letter-spacing:-.07em; }
.gm-steel-stat > strong span { font-weight:300; color:var(--gm-accent); }
.gm-steel-stat > p { font-size:17px; margin:12px 0 28px; }
.gm-steel-stat > .gm-photo { height:330px; }
.gm-application-grid { display:grid; grid-template-columns:1fr 1fr; gap:44px 7%; }
.gm-application-grid h3 { font-size:25px; font-weight:550; margin-bottom:14px; }
.gm-testimonials { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.gm-testimonials figure { margin:0; }
.gm-testimonials .gm-photo { height:280px; }
.gm-testimonials blockquote { margin:28px 0 18px; font-size:18px; line-height:1.7; font-weight:350; }
.gm-testimonials figcaption { font-size:13px; color:var(--gm-muted); font-weight:600; }
.gm-team { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(20px,2.4vw,40px); align-items:start; margin-top:36px; }
.gm-team > :nth-child(even) { margin-top:clamp(24px,2.8vw,44px); }
.gm-team .gm-photo { height:auto; aspect-ratio:1; object-position:50% 18%; clip-path:polygon(0 0,100% 6%,100% 100%,0 100%); }
.gm-team h3 { font-size:21px; font-weight:600; margin:16px 0 4px; }
.gm-team p { font-size:13px; color:var(--gm-muted); }
.gm-daily .gm-staffel-item:nth-child(2) .gm-photo { object-position:78% 50%; }
.gm-daily .gm-staffel-item:nth-child(3) .gm-photo { object-position:60% 50%; }
.gm-meadow { --gm-surface:color-mix(in srgb,var(--color-nature) 8%,white); background:var(--gm-surface); }
.gm-meadow-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,6vw,112px); align-items:end; margin-top:clamp(28px,2.8vw,44px); }
.gm-meadow-grid h3 { font-size:clamp(24px,1.9vw,30px); font-weight:450; line-height:1.25; letter-spacing:-.02em; margin-bottom:14px; }
.gm-meadow-grid .gm-download { margin-top:28px; }
.gm-meadow .gm-figures > div { padding:0; }
.gm-meadow .gm-figures dd { color:var(--color-nature); font-size:clamp(84px,11vw,212px); line-height:1; white-space:nowrap; }
.gm-meadow .gm-figures dd small { font-size:.3em; margin:0; }
.gm-bloom { display:inline-block; font-weight:800; letter-spacing:-.04em; }
@supports (background-clip:text) or (-webkit-background-clip:text) {
 .gm-bloom { --veil:color-mix(in srgb,var(--color-nature) 22%,white); background:linear-gradient(var(--veil),var(--veil)) top / 100% 0% no-repeat,url('/media/gerhard-mann-website-031.webp') 50% 55% / cover; -webkit-background-clip:text; background-clip:text; color:transparent; }
}
@supports (animation-timeline:view()) {
 .gm-bloom { animation:gm-bloom linear both; animation-timeline:view(); animation-range:entry 50% cover 35%; }
 @keyframes gm-bloom { from { background-size:100% 100%,cover; } }
}
.gm-compact { --gm-space:clamp(54px,5.25vw,99px); --gm-space-head:clamp(39px,2.5vw,48px); }
@media (max-width:760px) { .gm-compact { --gm-space:56px; } }
.gm-compact .gm-section,.gm-compact .gm-contact-band { padding-block:var(--gm-space); }
.gm-compact .gm-section-heading { margin-bottom:var(--gm-space-head); }
.gm-compact .gm-cut-split-media > .gm-photo { height:clamp(280px,27vw,440px); }
.gm-compact .gm-staffel-image { aspect-ratio:4/3; margin-bottom:20px; }
.gm-compact .gm-dark-band { grid-template-columns:minmax(0,min(37%,540px)) minmax(0,1fr); gap:4%; padding-block:var(--gm-space); }
.gm-compact .gm-dark-band .gm-collage { height:404px; min-height:0; grid-template-rows:minmax(0,1fr) 120px; }
.gm-compact .gm-dark-copy > .gm-heading,.gm-compact .gm-dark-head > .gm-heading { font-size:clamp(30px,2.6vw,44px); }
.gm-compact .gm-dark-copy > .gm-prose { max-width:72ch; margin-top:18px; font-size:15px; line-height:1.65; }
.gm-compact .gm-dark-copy > .gm-button { align-self:flex-start; min-height:48px; margin-top:20px; padding:11px 20px; }
.gm-compact .gm-dark-copy > .gm-swatches { padding-top:24px; }
.gm-compact .gm-dark-band:not(.gm-dark-band-blue) { padding-block:48px; }
.gm-compact .gm-dark-band:not(.gm-dark-band-blue) .gm-dark-copy > .gm-prose { font-size:16px; line-height:1.6; }
.gm-compact .gm-dark-band:not(.gm-dark-band-blue) .gm-swatches > span { width:56px; }
.gm-dark-band-blue .gm-dark-copy > :last-child { margin-bottom:auto; }
@media (min-width:1200px) { .gm-dark-band-blue .gm-dark-copy { position:relative; } .gm-dark-band-blue .gm-dark-head > .gm-today-year { position:absolute; top:0; right:0; } .gm-dark-band-blue .gm-dark-copy > .gm-prose { max-width:min(72ch,calc(100% - 16vw - 32px)); } }
@media (min-width:761px) { .gm-compact .gm-staffel-item:nth-child(2) { margin-top:clamp(24px,2.5vw,40px); } .gm-compact .gm-staffel-item:nth-child(3) { margin-top:clamp(48px,5vw,80px); } }
@media (max-width:900px) {
 .gm-compact .gm-dark-band { grid-template-columns:1fr; gap:24px; }
 .gm-compact .gm-dark-band .gm-collage { height:auto; grid-template-columns:2fr 1fr 1fr; grid-template-rows:clamp(110px,24vw,180px); gap:8px; }
 .gm-compact .gm-dark-band .gm-collage > :first-child { grid-column:auto; }
 .gm-compact .gm-dark-copy > .gm-heading,.gm-compact .gm-dark-head { margin-top:0; }
 .gm-compact .gm-dark-band:not(.gm-dark-band-blue) { gap:16px; padding-block:24px; }
 .gm-compact .gm-dark-band:not(.gm-dark-band-blue) .gm-collage { grid-template-rows:120px; }
 .gm-compact .gm-dark-band:not(.gm-dark-band-blue) .gm-dark-copy > .gm-heading { font-size:28px; }
 .gm-compact .gm-dark-band:not(.gm-dark-band-blue) .gm-dark-copy > .gm-prose { margin-top:12px; font-size:14px; line-height:1.5; }
 .gm-compact .gm-dark-band:not(.gm-dark-band-blue) .gm-dark-copy > .gm-swatches { gap:4px; padding-top:16px; }
 .gm-compact .gm-dark-band:not(.gm-dark-band-blue) .gm-swatches > span { width:40px; }
}
.gm-compact .gm-dark-band-blue .gm-dark-media { container-type:inline-size; }
.gm-compact .gm-dark-band-blue .gm-collage { height:auto; gap:12px; grid-template-columns:1fr 1fr; grid-template-rows:calc(100cqw / 1.7) calc((100cqw - 12px) / 3); }
.gm-compact .gm-dark-band-blue .gm-collage > :first-child { grid-column:1 / -1; }
.gm-pdf[open] { display:flex; flex-direction:column; width:min(1100px,calc(100% - 48px)); max-width:none; height:calc(100svh - 48px); overflow:hidden; }
.gm-pdf iframe { flex:1; width:100%; border:0; background:var(--gm-paper); }
.gm-pdf-actions { display:flex; align-items:center; gap:clamp(12px,2vw,24px); }
.gm-pdf-actions > a { color:white; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.gm-pdf-fallback { padding:32px 28px; color:var(--gm-muted); }
.gm-contact-form-section { display:grid; grid-template-columns:minmax(0,.44fr) minmax(0,.56fr); grid-template-rows:auto 1fr; gap:0 clamp(40px,5vw,96px); align-items:start; }
.gm-contact-form-section > .gm-contact-form { grid-column:2; grid-row:1 / span 2; }
.gm-contact-copy .gm-heading + .gm-prose { margin-top:28px; }
.gm-contact-copy .gm-prose { font-size:clamp(16px,1vw,18px); line-height:1.7; color:var(--gm-muted); }
.gm-contact-copy .gm-divider { display:block; margin:clamp(32px,3vw,48px) 0; }
.gm-contact-copy h3 { font-size:clamp(20px,1.4vw,24px); font-weight:500; color:var(--gm-primary); }
.gm-contact-lines { list-style:none; margin:24px 0 28px; padding:0; display:grid; gap:18px; }
.gm-contact-lines li { display:flex; align-items:center; gap:18px; font-size:clamp(17px,1.1vw,20px); }
.gm-contact-lines svg { flex-shrink:0; width:26px; height:26px; color:var(--gm-primary); }
.gm-contact-lines address { font-style:normal; line-height:1.5; }
.gm-contact-lines a:hover { color:var(--gm-primary); text-decoration:underline; text-underline-offset:4px; }
.gm-contact-copy > .gm-swatches { margin-top:clamp(32px,3vw,48px); }
.gm-contact-form { background:white; padding:clamp(28px,3.4vw,56px); }
.gm-contact-form h3 { font-size:clamp(20px,1.4vw,24px); font-weight:500; color:var(--gm-primary); margin-bottom:28px; }
.gm-contact-form .gm-fields { grid-template-columns:1fr 1fr; gap:22px 20px; }
.gm-contact-form .gm-field-wide { grid-column:1 / -1; }
.gm-contact-form .gm-consent { margin-top:26px; }
.gm-contact-form .gm-form-actions { margin-top:28px; }
.gm-contact-form .gm-form-note { margin:20px 0 0; }
@media (max-width:760px) { .gm-contact-form .gm-fields { grid-template-columns:1fr; } .gm-contact-form { padding:24px 20px; } }
.gm-contact-mail { white-space:nowrap; }
.gm-simple-hero { padding-bottom:36px; background:var(--gm-paper); }
.gm-hours-list { display:grid; gap:28px; margin-top:40px; }
.gm-steel-hours { --steel-label:92px; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); background:var(--gm-paper); }
.gm-tinted .gm-steel-hours, .gm-textured .gm-steel-hours { background:white; }
.gm-steel-hours[data-wide] { --steel-label:116px; }
.gm-steel-hours[data-single] { grid-template-columns:1fr; }
.gm-steel-hours[data-single] { --steel-label:0px; }
.gm-steel-hours[data-single] :is(.gm-steel-hours-media,.gm-steel-service,.gm-steel-axis > span) { display:none; }
.gm-steel-hours[data-single] :is(.gm-steel-row,.gm-steel-axis) { grid-template-columns:minmax(0,1fr); }
.gm-steel-hours-media { position:relative; min-height:100%; margin:0; overflow:hidden; }
.gm-steel-hours-media .gm-photo { position:absolute; inset:0; }
.gm-steel-hours-media .gm-photo[src*="fotografie-038"] { object-position:14% 50%; }
.gm-steel-hours-media .gm-photo[src*="gebaeude-oeffnungszeiten"] { object-position:0 calc(30% / 1.05); }
.gm-steel-hours-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 28px; margin:16px 0 8px; }
.gm-steel-hours-meta .gm-link { margin:0; }
.gm-steel-status { display:grid; gap:8px; margin:0; padding:0; list-style:none; font-size:15px; }
.gm-steel-status li { position:relative; padding-left:18px; }
.gm-steel-status i { position:absolute; left:0; top:calc(.5lh - 5px); width:10px; height:10px; flex-shrink:0; border-radius:50%; background:#a9a49b; }
.gm-steel-status li[data-open] i { background:#2e9b5a; box-shadow:0 0 0 0 rgb(46 155 90 / .45); animation:gm-steel-pulse 2.4s var(--gm-ease) infinite; }
.gm-steel-status strong { font-weight:650; }
.gm-steel-status span { color:var(--gm-muted); }
.gm-steel-status li[data-open] span { color:#237a46; font-weight:600; }
@keyframes gm-steel-pulse { 70% { box-shadow:0 0 0 7px rgb(46 155 90 / 0); } 100% { box-shadow:0 0 0 0 rgb(46 155 90 / 0); } }
@media (prefers-reduced-motion:reduce) { .gm-steel-status li[data-open] i { animation:none; } }
.gm-steel-hours-body { padding:clamp(28px,2.8vw,48px); }
.gm-steel-hours-body h3 { font-size:var(--gm-type-title,24px); font-weight:600; }
.gm-steel-timeline { margin-top:0; }
.gm-steel-row[data-i='0'] .gm-steel-track > span { background:var(--gm-primary); color:white; }
.gm-steel-row[data-i='1'] .gm-steel-track > span { background:#d7e4ec; color:var(--gm-primary); }
.gm-steel-row[data-i='2'] .gm-steel-track > span { background:#a9c3d2; color:var(--gm-primary); }
.gm-steel-track > em { position:absolute; inset:0 auto 0 10px; display:flex; align-items:center; font-size:13px; font-style:normal; color:var(--gm-muted); }
.gm-steel-day { padding:18px 0 16px; }
.gm-steel-day[data-today] { padding-bottom:34px; }
.gm-steel-fold { display:grid; grid-template-rows:1fr; transition:grid-template-rows var(--gm-slow) var(--gm-ease); }
.gm-steel-fold > .gm-steel-tracks { min-height:0; }
.gm-steel-day[data-fold] .gm-steel-fold > .gm-steel-tracks { overflow:hidden; }
.gm-steel-day[data-fold]:not([data-open]) .gm-steel-fold { grid-template-rows:0fr; }
.gm-steel-day[data-fold] .gm-steel-day-label { width:100%; padding:0; color:inherit; background:none; border:0; cursor:pointer; transition:margin var(--gm-slow) var(--gm-ease), color var(--gm-slow) var(--gm-ease); }
.gm-steel-day[data-fold]:not([data-open]) .gm-steel-day-label { margin-bottom:0; }
.gm-steel-day-label svg { width:20px; height:20px; margin-left:auto; transition:transform var(--gm-slow) var(--gm-ease); }
.gm-steel-day[data-open] .gm-steel-day-label svg { transform:rotate(180deg); }
@media (prefers-reduced-motion:reduce) { .gm-steel-fold, .gm-steel-day-label, .gm-steel-day-label svg { transition:none; } }
.gm-steel-day-label, .gm-steel-service, .gm-steel-track > span { transition:color var(--gm-slow) var(--gm-ease), background-color var(--gm-slow) var(--gm-ease); }
.gm-steel-timeline[data-has-today] .gm-steel-day:not([data-today]):not(:hover) :is(.gm-steel-day-label,.gm-steel-service) { color:var(--gm-muted); }
.gm-steel-timeline[data-has-today] .gm-steel-day:not([data-today]):not(:hover) .gm-steel-track > span, .gm-steel-day:not(:hover) .gm-steel-track > span[data-past] { background:#e6e3de; color:#5c5852; }
@media (hover:none) { .gm-steel-day { cursor:pointer; } }
.gm-steel-day + .gm-steel-day { background:linear-gradient(var(--gm-line),var(--gm-line)) top/100% 1px no-repeat; }
.gm-steel-day-label { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:15px; font-weight:650; }
.gm-steel-day-label small { padding:1px 8px; font-size:12px; font-weight:600; color:var(--gm-accent); background:#e3edf2; }
.gm-steel-tracks { position:relative; display:grid; gap:6px; }
.gm-steel-row, .gm-steel-axis { display:grid; grid-template-columns:var(--steel-label) minmax(0,1fr); align-items:center; }
.gm-steel-service { font-size:14px; font-weight:600; }
.gm-steel-row:not([data-i='0']) .gm-steel-service { color:var(--gm-muted); }
.gm-steel-track { position:relative; height:32px; background:repeating-linear-gradient(to right,var(--gm-line) 0 1px,transparent 1px calc(100% / var(--steel-span,10))); background-size:calc(100% + 1px) 100%; }
.gm-steel-track > span { position:absolute; z-index:1; top:0; bottom:0; display:flex; align-items:center; justify-content:center; overflow:visible; font-size:13px; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; container-type:inline-size; }
.gm-steel-track > span > span + span { display:none; font-size:11px; }
@container (max-width:6.6em) { .gm-steel-track > span > span:first-child { display:none; } .gm-steel-track > span > span + span { display:inline; } }
.gm-steel-now { position:absolute; top:-8px; bottom:-8px; left:calc(var(--steel-label) + (100% - var(--steel-label)) * var(--at)); width:2px; margin-left:-1px; background:#237a46; pointer-events:none; }
.gm-steel-now em { position:absolute; top:100%; left:50%; z-index:2; transform:translateX(-50%); padding:1px 7px; font-size:11px; font-style:normal; font-weight:600; line-height:1.5; color:white; background:#237a46; white-space:nowrap; }
.gm-steel-axis > div { position:relative; height:22px; margin-bottom:6px; }
.gm-steel-axis > div span { position:absolute; top:0; transform:translateX(-50%); font-size:12px; color:var(--gm-muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
.gm-steel-axis > div span:last-child { transform:translateX(-80%); }
.gm-steel-axis small { font-size:inherit; white-space:nowrap; }
@media (max-width:560px) { .gm-steel-axis small { display:none; } }
.gm-hours-page { padding-top:20px; }
.gm-notfound { min-height:65vh; }
.gm-notfound .gm-section-heading { align-items:end; }
.gm-notfound-code { margin:0 0 20px; font-size:var(--gm-type-small,15px); color:var(--gm-muted); }
.gm-notfound-copy > p { margin:0; color:var(--gm-muted); font-size:18px; }
.gm-notfound-copy > p a { color:var(--gm-primary); font-weight:650; text-decoration:none; }
.gm-notfound-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,1.6vw,28px); margin:0; padding:0; list-style:none; }
.gm-notfound-grid a { display:flex; flex-direction:column; height:100%; color:var(--gm-primary); text-decoration:none; }
.gm-notfound-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; margin-bottom:16px; background:#f0eeea; transition:opacity .3s ease; }
.gm-notfound-grid a:hover img { opacity:.86; }
.gm-notfound-grid strong { font-size:19px; font-weight:700; line-height:1.3; }
.gm-notfound-grid span { margin-top:4px; font-size:15px; line-height:1.45; color:var(--gm-muted); }
@media (max-width:1000px) { .gm-notfound .gm-section-heading { grid-template-columns:1fr; gap:24px; } .gm-notfound-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:420px) { .gm-notfound-grid strong { font-size:17px; } .gm-notfound-grid span { font-size:14px; } }
.gm-contact-band { padding:clamp(72px,7vw,132px) var(--gm-gutter); background:#fff; }
.gm-contact-band-inner { display:grid; grid-template-columns:minmax(0,1.12fr) 1px minmax(300px,.88fr); gap:clamp(38px,5vw,88px); align-items:center; padding:clamp(52px,5vw,88px) clamp(38px,5.5vw,98px); background:#f0eeea; }
.gm-contact-band-copy > p { margin-top:24px; max-width:56ch; color:var(--gm-muted); }
.gm-contact-band-divider { display:block; width:1px; height:100%; min-height:330px; background:#d6d2cb; }
@media (min-width:1024px) { .gm-contact-band .gm-heading:not(:has(strong)) { max-width:12em; } }
@media (min-width:1800px) { .gm-contact-band .gm-heading:has(strong) > :is(span,strong) { white-space:nowrap; } }
.gm-direct-contact { align-self:center; }
.gm-direct-contact > span { display:block; font-size:14px; color:var(--gm-muted); }
.gm-direct-contact > a:not(.gm-link) { display:block; font-size:20px; margin:16px 0; }
.gm-direct-contact > a:first-of-type { font-size:clamp(28px,2.8vw,46px); font-weight:300; letter-spacing:-.04em; margin:8px 0; }
.gm-direct-contact > .gm-link { margin-top:10px; }
.gm-footer { position:relative; margin-top:-1px; --gm-footer-accent:var(--color-on-dark-accent); padding:52px var(--gm-gutter) 24px; background:#313131; color:#fff; }
.gm-footer-navigation { display:grid; grid-template-columns:auto auto auto; justify-content:start; gap:28px clamp(48px,7vw,120px); }
.gm-footer-brand img { display:block; width:195px; height:auto; filter:brightness(0) invert(1); }
.gm-footer-brand p { margin:20px 0 0; font-size:14px; color:var(--color-on-dark-muted); }
.gm-footer-navigation h3 { margin:0 0 18px; font-size:14px; font-weight:650; }
.gm-footer-navigation nav a { display:block; width:fit-content; margin-bottom:10px; font-size:13px; color:var(--color-on-dark-muted); }
.gm-footer-link-grid { display:grid; grid-template-columns:auto auto; gap:0 24px; }
.gm-footer-navigation-divider { height:1px; background:rgb(255 255 255 / .28); margin:36px 0 28px; }
@media (max-width:980px) {
 .gm-footer-navigation { grid-template-columns:1fr 1fr; justify-content:stretch; }
 .gm-footer-brand { grid-column:1 / -1; }
}
@media (max-width:640px) {
 .gm-footer-navigation { grid-template-columns:1fr; }
 .gm-footer-link-grid { grid-template-columns:1fr 1fr; }
}
.gm-footer-contact-strip { display:grid; grid-template-columns:1.05fr 1px 1.05fr 1px 1.15fr 1px 1.05fr; gap:clamp(20px,2.8vw,44px); align-items:center; }
.gm-footer-contact-strip > div { min-width:0; }
.gm-footer-contact-strip h3 { margin:0 0 8px; font-size:14px; line-height:1.4; font-weight:650; }
.gm-footer-address address { font-style:normal; font-size:13px; line-height:1.75; color:var(--color-on-dark-muted); }
.gm-footer-social { display:flex; gap:6px; margin:12px 0 0 -8px; }
.gm-footer-social a { display:grid; place-items:center; width:38px; height:38px; color:var(--color-on-dark-muted); transition:color .2s; }
.gm-footer-social a:hover,.gm-footer-social a:focus-visible { color:white; }
.gm-footer-social svg { width:20px; height:20px; }
.gm-footer-contact-divider { display:block; width:1px; height:100%; min-height:100px; background:rgb(255 255 255 / .28); }
.gm-footer-contact-details { display:grid; gap:10px; }
.gm-footer-contact-details > a,.gm-footer-contact-details > p { display:flex; align-items:center; gap:20px; margin:0; color:var(--color-on-dark-muted); font-size:14px; line-height:1.5; }
.gm-footer-contact-details svg { width:19px; height:19px; flex-shrink:0; color:var(--gm-footer-accent); }
.gm-footer-contact-details span { overflow-wrap:anywhere; }
.gm-footer-hours dl,.gm-footer-hours dd { margin:0; }
.gm-footer-hours dl { display:grid; gap:6px; font-size:14px; line-height:1.4; }
.gm-footer-hours dt { color:var(--color-on-dark-muted); font-size:13px; }
.gm-footer-hours dd { font-weight:650; }
.gm-footer-status { display:flex; align-items:baseline; gap:8px; margin:0 0 10px; font-size:13px; line-height:1.4; color:var(--color-on-dark-muted); }
.gm-footer-status i { position:relative; top:calc(4.5px - .36em); width:9px; height:9px; flex-shrink:0; border-radius:50%; background:#8d8a84; }
.gm-footer-status[data-open] i { background:#3fbf74; }
.gm-footer-status[data-open] span { color:white; font-weight:600; }
.gm-footer-links { display:grid; gap:22px; }
.gm-footer-hours-link { display:grid; grid-template-columns:1fr 19px; gap:8px 16px; align-items:center; font-size:14px; line-height:1.5; font-weight:600; }
.gm-footer-hours-link .t-learn-chevron { color:var(--gm-footer-accent); }
.gm-footer-link-line { grid-column:1 / -1; height:1px; background:var(--gm-footer-accent); }
@media (max-width:1100px) {
 .gm-footer-contact-strip { grid-template-columns:1fr 1px 1fr; gap:24px; }
 .gm-footer-contact-divider:nth-child(4) { display:none; }
}
@media (max-width:560px) {
 .gm-footer-contact-strip { grid-template-columns:1fr; gap:22px; }
 .gm-footer-contact-divider { width:100%; height:1px; min-height:0; }
 .gm-footer-contact-divider:nth-child(4) { display:block; }
 .gm-footer-hours-link { min-height:44px; }
}
.gm-footer a:hover { color:white; text-decoration:underline; text-underline-offset:4px; }
.gm-footer a.gm-footer-hours-link:hover { text-decoration:none; }
.gm-footer-backtop-row { display:flex; justify-content:flex-end; margin-top:24px; }
.gm-footer-backtop { display:grid; place-items:center; width:44px; height:44px; background:transparent; color:inherit; }
.gm-footer-backtop svg { width:28px; height:28px; transform:rotate(180deg); }
.gm-footer-divider { background:#64615c; margin:12px 0 24px; }
.gm-footer-bottom { display:flex; flex-wrap:wrap; gap:30px; align-items:center; font-size:11px; color:var(--color-on-dark-muted); }
.gm-footer-bottom nav { display:flex; flex-wrap:wrap; gap:22px; }
.gm-dialog { color:var(--gm-primary); background:#fff; padding:0; border:0; width:calc(100% - 48px); max-width:900px; max-height:calc(100svh - 48px); overflow:auto; overscroll-behavior:contain; }
.gm-dialog::backdrop { background:rgba(35,35,35,.76); backdrop-filter:blur(6px); }
@keyframes gm-inquiry-in { from { translate:0 min(12vh,120px); opacity:0; } }
@keyframes gm-inquiry-fade { from { opacity:0; } }
@keyframes gm-inquiry-rise { from { opacity:0; translate:0 16px; } }
@keyframes gm-inquiry-unroll { from { clip-path:inset(0 0 100% 0); } to { clip-path:inset(0); } }
@keyframes gm-inquiry-out { to { translate:0 min(8vh,80px); } }
@keyframes gm-inquiry-fade-out { to { opacity:0; } }
@media (prefers-reduced-motion:no-preference) {
 .gm-inquiry[open] { animation:gm-inquiry-in 650ms cubic-bezier(.22,1,.36,1); }
 .gm-inquiry[open]::backdrop { animation:gm-inquiry-fade 400ms ease; }
 .gm-inquiry :is(.gm-bath-vis,.gm-hp-vis) { animation:gm-inquiry-unroll 900ms cubic-bezier(.22,1,.36,1) 100ms backwards; }
 .gm-inquiry :is(.gm-bath-stage,.gm-hp-stage) { animation:gm-inquiry-rise 800ms cubic-bezier(.22,1,.36,1) 360ms backwards; }
 .gm-inquiry :is(.gm-bath-main,.gm-hp-main,.gm-inquiry-body) { animation:gm-inquiry-rise 700ms cubic-bezier(.22,1,.36,1) 220ms backwards; }
 .gm-inquiry :is(.gm-bath-step,.gm-hp-step,.gm-inquiry-step) > :not(form),.gm-inquiry :is(.gm-bath-step,.gm-hp-step,.gm-inquiry-step) > form > * { animation:gm-inquiry-rise 600ms cubic-bezier(.22,1,.36,1) backwards; }
 .gm-inquiry :is(.gm-bath-step,.gm-hp-step,.gm-inquiry-step) > :nth-child(2),.gm-inquiry :is(.gm-bath-step,.gm-hp-step,.gm-inquiry-step) > form > :nth-child(1) { animation-delay:60ms; }
 .gm-inquiry :is(.gm-bath-step,.gm-hp-step,.gm-inquiry-step) > :nth-child(3),.gm-inquiry :is(.gm-bath-step,.gm-hp-step,.gm-inquiry-step) > form > :nth-child(2) { animation-delay:120ms; }
 .gm-inquiry :is(.gm-bath-step,.gm-hp-step,.gm-inquiry-step) > :nth-child(n+4),.gm-inquiry :is(.gm-bath-step,.gm-hp-step,.gm-inquiry-step) > form > :nth-child(n+3) { animation-delay:180ms; }
 .gm-inquiry :is(.gm-bath-pill,.gm-hp-pill) { transition:opacity 450ms ease; }
 @starting-style { .gm-inquiry :is(.gm-bath-pill,.gm-hp-pill) { opacity:0; } }
 .gm-site[data-closing='true'] > .gm-inquiry { animation:gm-inquiry-out 340ms cubic-bezier(.55,0,.7,.2) forwards,gm-inquiry-fade-out 340ms ease forwards; pointer-events:none; }
 .gm-site[data-closing='true'] > .gm-inquiry::backdrop { animation:gm-inquiry-fade-out 340ms ease forwards; }
}
.gm-close { display:grid; place-items:center; width:44px; height:44px; background:var(--gm-paper); flex-shrink:0; font-size:30px; line-height:1; font-weight:300; }
.gm-inquiry-top { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 28px; background:var(--color-surface-dark); color:white; font-size:14px; }
.gm-inquiry-top .gm-close { background:transparent; color:white; }
.gm-inquiry > .gm-close { position:absolute; top:12px; right:12px; z-index:2; background:transparent; }
.gm-inquiry-body { padding:32px 50px 45px; }
.gm-step-label { font-size:12px; color:var(--gm-muted); }
.gm-step-track { display:flex; gap:6px; margin:14px 0 34px; }
.gm-step-track span { flex:1; height:3px; background:var(--color-on-dark-muted); }
.gm-step-track span[data-complete='true'] { background:var(--color-surface-dark); }
.gm-inquiry h2 { font-size:32px; font-weight:400; line-height:1.3; margin-bottom:24px; letter-spacing:-.025em; }
.gm-form-note { font-size:14px; line-height:1.7; color:var(--gm-muted); margin:16px 0 22px; }
.gm-fields { display:grid; gap:24px; }
.gm-choice-field { padding:0; margin:0; border:0; min-width:0; }
.gm-choice-field legend,.gm-field > label { display:block; font-size:14px; font-weight:550; margin-bottom:12px; }
.gm-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.gm-choice { display:flex; align-items:center; gap:13px; padding:18px; min-height:65px; border:1px solid var(--gm-line); background:white; font-size:15px; cursor:pointer; transition:background var(--gm-fast),border-color var(--gm-fast); }
.gm-choice[data-selected='true'] { background:#f0eeea; border-color:var(--gm-primary); }
.gm-choice:has(input:disabled) { opacity:.55; cursor:default; }
.gm-choice input { width:18px; height:18px; accent-color:var(--gm-primary); margin:0; flex-shrink:0; }
.gm-field input,.gm-field textarea,.gm-field select { display:block; width:100%; padding:14px; min-height:50px; color:var(--gm-ink); background:white; border:1px solid #a6a199; border-radius:0; font:inherit; }
.gm-field textarea { resize:vertical; }
.gm-field small,.gm-choice-field small { display:block; font-size:12px; color:var(--gm-muted); margin-top:8px; line-height:1.6; }
.gm-form-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:32px; }
.gm-form-actions .gm-button,.gm-form-actions .gm-link { margin:0; }
.gm-form-actions .gm-button[type='submit'] { margin-left:auto; }
.gm-consent { display:flex; gap:14px; align-items:flex-start; font-size:13px; margin-top:32px; color:var(--gm-muted); cursor:pointer; }
.gm-consent input { margin:4px 0 0; width:18px; height:18px; accent-color:var(--gm-primary); flex-shrink:0; }
.gm-consent a { color:var(--gm-primary); text-decoration:underline; }
.gm-form-error { background:#fff0ec; color:#8a301d; padding:16px; font-size:14px; }
.gm-sent-check { display:block; width:96px; height:96px; margin:0 0 28px; stroke:var(--gm-primary); stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; transform-origin:center;
 animation:gm-sent-in 480ms cubic-bezier(.34,1.56,.64,1) backwards,gm-sent-pop 520ms cubic-bezier(.34,1.56,.64,1) 1.45s; }
.gm-sent-check > * { stroke-dasharray:1; animation:gm-sent-draw 800ms cubic-bezier(.65,0,.35,1) 180ms backwards; }
.gm-sent-check circle { fill:rgb(16 77 112 / .06); transform:rotate(-90deg); transform-origin:center; transform-box:fill-box; }
.gm-sent-check path { stroke-width:1.8; animation-duration:500ms; animation-delay:950ms; }
@keyframes gm-sent-in { from { opacity:0; transform:scale(.6); } }
@keyframes gm-sent-draw { from { stroke-dashoffset:1; opacity:0; fill-opacity:0; } 1% { opacity:1; } }
@keyframes gm-sent-pop { 45% { transform:scale(1.1); } }
@media (max-width:760px) { .gm-sent-check { width:80px; height:80px; margin-bottom:22px; } }
@media (prefers-reduced-motion:reduce) { .gm-sent-check,.gm-sent-check > * { animation:none; } }
.gm-lightbox { max-width:1250px; background:var(--gm-paper); overflow:hidden; }
.gm-lightbox-inner { padding:16px 28px 24px; }
.gm-lightbox-top { display:flex; align-items:center; justify-content:space-between; font-size:14px; gap:15px; }
.gm-lightbox figure { margin:12px 0 18px; }
.gm-lightbox figure > .gm-photo { height:min(63svh,730px); width:100%; object-fit:contain; }
.gm-lightbox figcaption { font-size:13px; margin-top:14px; text-align:center; line-height:1.5; }
.gm-gallery-controls { display:flex; gap:14px; align-items:center; justify-content:center; }
.gm-gallery-controls > button { width:44px; height:44px; background:white; font-size:24px; flex-shrink:0; }
.gm-gallery-dock { display:flex; gap:8px; overflow-x:auto; padding:8px; }
.gm-gallery-dock button { padding:0; width:50px; height:44px; flex-shrink:0; border:2px solid transparent; }
.gm-gallery-dock button[aria-pressed='true'] { border-color:var(--gm-primary); }
.gm-progress { position:fixed; z-index:20; bottom:24px; right:30px; }
.gm-progress[hidden] { display:none; }
.gm-progress-trigger { position:relative; display:flex; align-items:center; gap:12px; padding:13px 18px; min-height:48px; background:rgba(255,255,255,.97); color:var(--gm-primary); border:1px solid var(--gm-line); box-shadow:0 8px 30px #31313120; border-radius:30px; font-size:12px; }
.gm-progress-menu { position:absolute; bottom:62px; right:0; width:230px; padding:8px; background:white; border:1px solid var(--gm-line); box-shadow:0 8px 30px #31313120; border-radius:18px; }
.gm-progress-menu a { position:relative; display:block; padding:12px 16px; font-size:13px; border-radius:10px; }
.gm-progress-active { position:absolute; inset:0; background:var(--gm-paper); border-radius:10px; }
.gm-progress-menu a > span:last-child { position:relative; }
@media (max-width:1100px) {
 .gm-section-heading { gap:5%; }
 .gm-team h3 { font-size:18px; }
 .gm-footer-grid { grid-template-columns:1fr 1fr; gap:40px; }.gm-footer-bottom { flex-wrap:wrap; }.gm-footer-top > p { display:none; }
.gm-planning-grid { gap:28px; }.gm-planning-caption { grid-template-columns:auto 1px minmax(0,1fr); gap:14px; }.gm-contact-band-inner { gap:5%; padding-inline:52px; }
 .gm-inquiry-body { padding:32px; }
}
@media (max-width:760px) {
 .gm-site { --gm-gutter:24px; }.gm-section { padding-block:68px; }.gm-heading { font-size:36px; }.gm-section-heading { grid-template-columns:1fr; gap:24px; margin-bottom:32px; }.gm-section-heading > .gm-link { justify-self:start; }
 .gm-subheader .site-header { padding-bottom:24px; }
 .gm-split,.gm-catalog,.gm-contact-form-section { grid-template-columns:1fr; gap:32px; }.gm-contact-form-section > .gm-contact-form { grid-column:auto; grid-row:auto; }.gm-contact-reach > .gm-divider { margin-top:8px; }.gm-split > .gm-photo,.gm-split > div > .gm-photo { height:380px; }.gm-split.gm-reversed > .gm-photo { order:0; }
 .gm-three-columns { grid-template-columns:1fr; gap:34px; }.gm-planning-grid { grid-template-columns:1fr; gap:56px; }.gm-planning-image { aspect-ratio:4/3; }.gm-planning-caption { gap:20px; margin-top:30px; }.gm-planning-grid h3 { font-size:20px; }.gm-planning-caption p { font-size:15px; }.gm-prose { font-size:15px; }
 .gm-gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:200px; gap:12px; }.gm-gallery-tile:first-child { grid-column:span 2; grid-row:auto; height:330px; }.gm-gallery-grid { grid-template-rows:330px; }.gm-gallery-zoom { right:12px; bottom:12px; width:32px; height:32px; }
 .gm-catalog > .gm-photo { height:320px; }.gm-steel-stat { padding:30px; }.gm-steel-stat > strong { font-size:95px; }.gm-download { gap:16px; padding:20px; }.gm-download strong { font-size:16px; }
 .gm-testimonials { grid-template-columns:1fr; gap:40px; }.gm-testimonials .gm-photo { height:330px; }.gm-application-grid { grid-template-columns:1fr; gap:30px; }
 .gm-pdf[open] { width:calc(100% - 20px); height:calc(100svh - 20px); }
 .gm-team { grid-template-columns:1fr 1fr; gap:32px 18px; }.gm-team > :nth-child(even) { margin-top:24px; }.gm-team h3 { font-size:min(18px,(100vw - 2 * var(--gm-gutter) - 18px) * .05); }.gm-team p { font-size:13px; }.gm-meadow-grid { grid-template-columns:1fr; }
 .gm-steel-hours { --steel-label:72px; grid-template-columns:1fr; }.gm-steel-hours[data-wide] { --steel-label:84px; }.gm-steel-hours[data-wide] .gm-steel-service { font-size:12px; }.gm-steel-hours[data-wide] .gm-steel-track > span { font-size:11px; }.gm-steel-hours-media { min-height:0; height:180px; }.gm-steel-hours-body { padding:26px 22px 28px; }.gm-steel-service { font-size:13px; }.gm-steel-track > span { font-size:12px; }.gm-simple-hero { padding-bottom:36px; }.gm-simple-hero h1 { font-size:42px; }.gm-hours-page { padding-top:0; }
 .gm-contact-band { padding-block:68px; }.gm-contact-band-inner { grid-template-columns:1fr; gap:38px; padding:44px 24px; }.gm-contact-band-divider { width:100%; height:1px; min-height:0; }.gm-direct-contact > a:first-of-type { font-size:36px; }.gm-footer { padding-top:44px; }.gm-footer-top { align-items:flex-start; flex-direction:column; gap:12px; margin-bottom:38px; }.gm-footer-grid { gap:34px 24px; }.gm-footer-grid h3 { font-size:13px; }.gm-footer-bottom { gap:22px; }.gm-footer-bottom > span { width:100%; }.gm-footer-bottom nav { gap:18px; }.gm-footer-grid a,.gm-footer-grid p { overflow-wrap:anywhere; }
 .gm-dialog { width:calc(100% - 20px); max-height:calc(100svh - 20px); }.gm-inquiry { width:100%; height:100%; max-height:none; }.gm-inquiry-top { padding:12px 16px; font-size:12px; }.gm-inquiry-body { padding:24px; }.gm-inquiry h2 { font-size:27px; }.gm-choices { grid-template-columns:1fr; gap:10px; }.gm-choice { min-height:57px; padding:15px; font-size:14px; }.gm-form-actions { gap:14px; }.gm-form-actions .gm-button { width:100%; }.gm-lightbox-inner { padding:10px 14px 18px; }.gm-lightbox figure > .gm-photo { height:60svh; }.gm-lightbox figcaption { font-size:12px; }.gm-gallery-dock button { width:42px; height:40px; }.gm-gallery-controls { gap:7px; }
 .gm-progress { right:16px; bottom:16px; }.gm-progress-trigger { font-size:11px; min-height:44px; padding:10px 14px; }.gm-progress-menu { bottom:57px; }
}
@media (max-width:380px) { .gm-heading { font-size:32px; }.gm-gallery-grid { grid-auto-rows:160px; }.gm-footer-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .gm-site * { scroll-behavior:auto!important; }.gm-gallery-tile[data-hide],.gm-gallery-tile[data-hide] .gm-photo { animation:none; }.gm-gallery-tile:hover .gm-photo,.gm-button:hover,.gm-download:hover { transform:none; } }
.gm-section > *, .gm-team > *, .gm-download > * { min-width:0; }
.gm-heading,.gm-team h3,.gm-download strong { overflow-wrap:anywhere; }
.gm-download { min-width:0; grid-template-columns:32px minmax(0,1fr) 20px; }
.gm-button { max-width:100%; }

@media (min-width:761px) and (max-width:1000px) {
 .gm-planning-grid { grid-template-columns:1fr; gap:44px; }
 .gm-planning-grid article { display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:32px; }
 .gm-planning-caption { margin-top:0; gap:20px; }
}

.gm-footer-credit { margin-left:auto; text-align:right; }
.gm-planning-grid article { position:relative; }
.gm-planning-link { all:unset; cursor:pointer; }
.gm-planning-link::after { content:''; position:absolute; inset:0; }
.gm-planning-link:focus-visible { outline:2px solid var(--gm-blue,#104d70); outline-offset:4px; }
.gm-planning-grid article:hover h3 { color:#104d70; }
.gm-planning-image { overflow:hidden; }
.gm-planning-image .gm-photo { transition:transform var(--gm-slow) var(--gm-ease); }
.gm-planning-grid article:hover .gm-planning-image .gm-photo { transform:scale(1.035); }
@media (hover:none) { .gm-planning-grid article:hover .gm-planning-image .gm-photo { transform:none; } }
.gm-bath-sticky { display:none; }
@media (max-width:760px) {
 .gm-bath-sticky { position:fixed; z-index:30; inset:auto 0 0; display:block; padding:12px var(--gm-gutter) calc(12px + env(safe-area-inset-bottom)); background:rgb(255 255 255 / .96); box-shadow:0 -8px 30px #31313120; transform:translateY(110%); visibility:hidden; transition:transform var(--gm-fast) var(--gm-ease),visibility 0s var(--gm-fast); }
 .gm-bath-sticky[data-visible='true'] { transform:none; visibility:visible; transition:transform var(--gm-fast) var(--gm-ease); }
 .gm-bath-sticky .gm-button { width:100%; margin:0; }
 .gm-site:has(.gm-bath-sticky[data-visible='true']) :is(a[href],button,input,select,textarea,[tabindex]) { scroll-margin-bottom:112px; }
}
.gm-site .gm-button:focus-visible { outline-color:var(--gm-primary); }
.gm-regional { padding-bottom:0; }
.gm-regional-inner { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:22px clamp(40px,6vw,110px); align-items:center; }
.gm-regional-kicker,.gm-region-kicker { display:flex; align-items:center; gap:14px; color:var(--gm-muted); font-size:13px; font-weight:600; letter-spacing:.02em; }
.gm-regional-kicker { grid-column:1 / -1; }
.gm-regional-kicker svg { width:44px; height:44px; flex-shrink:0; color:var(--gm-accent); }
.gm-regional .gm-heading { font-size:clamp(28px,2.4vw,42px); }
.gm-regional-copy > p { max-width:56ch; margin-top:20px; color:var(--gm-muted); font-size:17px; line-height:1.75; }
.gm-region-kicker { margin-bottom:22px; }
.gm-region-kicker svg { width:60px; height:60px; flex-shrink:0; color:var(--gm-accent); }
.gm-region-tradition { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:clamp(32px,3.6vw,64px); align-items:start; }
.gm-region-tradition > .gm-section-heading { grid-template-columns:1fr; gap:24px; margin:0; }
.gm-region-then-now { display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2vw,32px); align-items:start; }
.gm-region-then-now figure { margin:0; }
.gm-region-then-now .gm-photo { height:clamp(220px,20vw,340px); }
.gm-region-then-now a { display:block; color:inherit; }
.gm-region-then-now a:focus-visible { outline:2px solid var(--gm-primary); outline-offset:3px; }
.gm-region-year { position:relative; display:grid; gap:10px; padding:20px 56px 20px 22px; background:var(--gm-paper); transition:background-color var(--gm-fast) var(--gm-ease); }
.gm-region-year strong { font-size:clamp(30px,2.4vw,42px); font-weight:300; line-height:1; letter-spacing:-.045em; transition:font-weight .6s var(--gm-ease); }
.gm-region-year > span:not(.t-learn-chevron) { color:var(--gm-muted); font-size:14px; line-height:1.5; }
.gm-region-year small { margin-top:-4px; color:var(--gm-muted); font-size:12px; line-height:1.45; }
.gm-region-year .t-learn-chevron { position:absolute; top:calc(20px + (clamp(30px,2.4vw,42px) - 24px) / 2); right:16px; }
.gm-region-then-now a:hover .gm-region-year { background:#eeece8; }
.gm-region-then-now a:hover strong { font-weight:720; }
.gm-region-nature { background:color-mix(in srgb,var(--color-nature) 8%,white); }
.gm-region-nature-grid { display:grid; grid-template-columns:.85fr 1.1fr .9fr; gap:clamp(24px,3vw,56px); align-items:center; }
.gm-region-nature-grid > .gm-photo { height:clamp(340px,34vw,560px); }
.gm-region-nature-grid > .gm-photo:last-child { object-position:88% 50%; }
.gm-region-stat strong { display:block; color:var(--color-nature); font-size:clamp(64px,6.5vw,112px); font-weight:300; line-height:1; letter-spacing:-.06em; }
.gm-region-stat span { display:block; max-width:44ch; margin-top:14px; color:var(--gm-muted); font-size:17px; line-height:1.7; }
.gm-region-list { display:grid; gap:12px; margin:28px 0 0; padding:0; list-style:none; }
.gm-region-list li { display:grid; grid-template-columns:8px minmax(0,1fr); gap:14px; align-items:baseline; font-size:15px; line-height:1.6; }
.gm-region-list li::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--color-nature); }
.gm-region-values blockquote { margin:28px 0 0; font-size:clamp(19px,1.5vw,24px); line-height:1.6; font-weight:350; }
.gm-region-values .gm-lede { margin-top:18px; }
.gm-region-then-now figure:first-child .gm-photo { clip-path:polygon(0 0,100% 6%,100% 100%,0 100%); }
.gm-region-then-now figure:last-child .gm-photo { clip-path:polygon(0 4%,100% 0,100% 100%,0 100%); }
.gm-region-nature-grid > .gm-photo:first-child { clip-path:polygon(0 0,100% 8%,100% 100%,0 100%); }
.gm-region-nature-grid > .gm-photo:last-child { clip-path:polygon(0 5%,100% 0,100% 100%,0 100%); }
.gm-region-values > .gm-photo { clip-path:polygon(0 3%,100% 0,100% 100%,0 100%); object-position:65% 50%; }
@media (max-width:1100px) {
 .gm-region-nature-grid { grid-template-columns:1fr 1fr; }
 .gm-region-tradition { display:block; }
 .gm-region-tradition > .gm-section-heading { grid-template-columns:1fr 1fr; gap:5%; margin-bottom:40px; }
 .gm-region-nature-grid > .gm-photo:last-child { display:none; }
}
@media (max-width:760px) {
 .gm-regional-inner,.gm-region-then-now,.gm-region-nature-grid { grid-template-columns:1fr; }
 .gm-regional-copy > p,.gm-region-stat span { font-size:16px; }
 .gm-region-then-now .gm-photo,.gm-region-nature-grid > .gm-photo { height:300px; }
 .gm-region-tradition > .gm-section-heading { grid-template-columns:1fr; gap:24px; margin-bottom:32px; }
 .gm-region-then-now .gm-photo { height:240px; }
 .gm-region-year { padding:20px 52px 20px 20px; }
 .gm-region-year strong { font-size:30px; }
 .gm-region-year .t-learn-chevron { top:23px; right:12px; }
 .gm-region-kicker svg { width:48px; height:48px; }
}
.gm-home-content { --gm-section-space:clamp(72px,7vw,132px); --gm-paper-texture:url('/images/home-materials/paper.webp'); }
.gm-material { display:block; min-width:0; min-height:0; background-size:cover; background-position:center; }
.gm-area-section,.gm-teaser-pair { background:var(--gm-paper) var(--gm-paper-texture); }
.gm-welcome { background:#fff; }
.gm-welcome { position:relative; isolation:isolate; overflow:clip; display:grid; grid-template-columns:minmax(0,.46fr) minmax(0,.54fr); gap:3%; align-items:center; }
.gm-welcome-copy { position:relative; z-index:3; padding-bottom:24px; container-type:inline-size; }
.gm-welcome-reasons { display:grid; gap:20px; margin:28px 0 0; padding:0; list-style:none; }
.gm-welcome-reasons li { display:grid; grid-template-columns:38px minmax(0,1fr); gap:18px; align-items:start; }
.gm-welcome-reasons li > svg { width:38px; height:38px; margin-top:2px; color:var(--gm-primary); }
.gm-welcome-reasons strong { display:block; font-size:16px; font-weight:650; }
.gm-welcome-reasons span { display:block; margin-top:4px; color:var(--gm-muted); font-size:16px; line-height:1.65; }
@container (max-width:490px) { .gm-welcome-reasons br { display:none; } }
.gm-welcome-visual { position:relative; min-height:clamp(430px,38vw,630px); margin-right:calc(-1 * var(--gm-gutter)); }
.gm-welcome-photo { position:relative; z-index:2; width:calc(74% - 24px); margin-left:auto; margin-right:calc(18% + 24px); aspect-ratio:1.12; margin-top:clamp(60px,6vw,100px); }
.gm-welcome-photo > .gm-photo { position:absolute; inset:0; object-position:43% 55%; }
.gm-welcome-materials { position:absolute; z-index:1; top:calc(-1 * var(--gm-section-space)); right:0; bottom:0; width:18%; display:grid; grid-template-rows:repeat(4,minmax(0,1fr)); gap:2px; }
.gm-welcome-materials .gm-material-wood { position:absolute; top:40%; right:0; width:19vw; height:48%; clip-path:polygon(0 25%,100% 0,100% 91%,0 100%); }
.gm-area-section { position:relative; isolation:isolate; overflow:clip; }
.gm-area-materials { position:absolute; z-index:0; inset:0; pointer-events:none; }
.gm-area-materials > .gm-material { position:absolute; }
.gm-area-materials .gm-material-marble { top:10%; right:0; width:19%; height:23%; clip-path:polygon(0 25%,100% 0,100% 91%,0 100%); }
.gm-area-materials .gm-material-slate { top:21%; left:0; width:11%; height:26%; clip-path:polygon(0 4%,100% 0,100% 100%,0 95%); }
.gm-areas { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px 4%; }
.gm-areas > .gm-section-heading { grid-column:1; grid-row:1; grid-template-columns:1fr; gap:20px; margin:0; }
.gm-areas > .gm-section-heading > p { align-self:start; }
.gm-area { min-width:0; }
.gm-area-0 { display:contents; }
.gm-area-0 .gm-area-image { grid-column:2; grid-row:1 / 3; align-self:start; width:88%; height:clamp(320px,29vw,480px); margin-top:40px; clip-path:polygon(0 0,100% 3%,100% 100%,0 88%); }
.gm-area-0 .gm-area-copy { grid-column:1; grid-row:2; margin-left:18%; padding:0; }
.gm-area-1 { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4%; align-items:center; }
.gm-area-1 .gm-area-image { clip-path:polygon(0 3%,100% 0,100% 88%,0 100%); }
.gm-area-image { display:block; position:relative; height:clamp(300px,25vw,400px); overflow:hidden; }
.gm-area-image .gm-photo { transition:transform var(--gm-slow) var(--gm-ease); }
.gm-area:hover .gm-area-image .gm-photo { transform:scale(1.025); }
.gm-area-copy { padding:20px 0; }
.gm-area-copy h3 { font-size:35px; line-height:1.25; font-weight:450; margin-bottom:16px; letter-spacing:-.025em; }
.gm-area-copy p { color:var(--gm-muted); font-size:16px; max-width:62ch; }
.gm-area:nth-of-type(n+3) { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:28px; align-items:center; }
.gm-area:nth-of-type(n+3) .gm-area-image { height:100%; min-height:310px; }
.gm-area:nth-of-type(n+3) .gm-area-copy { padding:8px 0; }
.gm-area:nth-of-type(n+3) h3 { font-size:28px; }
.gm-area:nth-of-type(n+3) p { font-size:14px; line-height:1.75; }
.gm-area-2 .gm-area-image { clip-path:polygon(0 5%,100% 0,100% 100%,0 92%); }
.gm-area-3 .gm-area-image { clip-path:polygon(0 0,100% 3%,100% 100%,0 96%); }
.gm-area-4 .gm-area-image { clip-path:polygon(0 4%,100% 0,100% 100%,0 94%); }
.gm-area-5 .gm-area-image { clip-path:polygon(0 6%,100% 0,100% 94%,0 100%); }
.gm-area-5 .gm-area-image .gm-photo { object-position:50% 20%; }
.gm-area-5 .gm-area-copy { position:relative; background:var(--gm-paper) var(--gm-paper-texture); }
.gm-showroom-feature { --gm-muted:#fff; display:grid; grid-template-columns:minmax(0,min(37%,540px)) minmax(0,1fr); gap:4%; align-items:stretch; height:500px; padding-block:48px; background:var(--color-surface-dark); color:#fff; }
.gm-showroom-collage { display:grid; grid-template-columns:1.55fr 1fr; grid-template-rows:minmax(0,1fr) 120px; gap:12px; min-width:0; min-height:0; }
.gm-showroom-main { grid-column:1 / -1; align-self:stretch; width:100%; min-width:0; min-height:0; overflow:hidden; }
.gm-showroom-main .gm-photo { object-position:47% 50%; }
.gm-showroom-detail { min-height:0; overflow:hidden; }
.gm-showroom-detail-left .gm-photo { object-position:50% 65%; }
.gm-showroom-detail-right .gm-photo { object-position:50% 45%; }
.gm-showroom-copy { display:flex; flex-direction:column; min-width:0; }
.gm-showroom-copy > .gm-heading { margin-top:auto; font-size:clamp(30px,2.6vw,44px); }
.gm-showroom-copy > .gm-lede { margin-top:18px; font-size:16px; line-height:1.6; }
.gm-showroom-copy > .gm-button { align-self:flex-start; margin-top:20px; min-height:48px; padding:11px 20px; background:transparent; color:#fff; border-color:#fff; }
.gm-showroom-copy > .gm-button:hover { background:#fff; color:var(--gm-primary); }
.gm-showroom-feature .gm-button:focus-visible { outline-color:#fff; }
.gm-showroom-feature .gm-link:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.gm-showroom-materials { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:min(88%,300px); gap:5px; margin-top:auto; padding-top:24px; }
.gm-showroom-materials > .gm-material { aspect-ratio:1; }
.gm-teaser-pair { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,4vw,72px); }
.gm-teaser { display:flex; flex-direction:column; align-items:flex-start; }
.gm-teaser-media { width:100%; aspect-ratio:16/9; overflow:hidden; margin-bottom:clamp(24px,2.2vw,32px); }
.gm-teaser-bees { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:0; transition:opacity 1.2s; }
.gm-teaser-media:last-child { margin:clamp(24px,2.2vw,32px) 0 0; }
.gm-teaser .gm-heading { font-size:clamp(28px,2.4vw,40px); }
.gm-teaser .gm-lede { max-width:49ch; margin-top:16px; }
.gm-teaser .gm-link { margin-top:12px; }
.gm-teaser-pair { padding-bottom:clamp(56px,5vw,88px); }
.gm-teaser-pair + .gm-social { padding-top:clamp(56px,5vw,88px); }

.gm-social-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.gm-social-grid > a { position:relative; aspect-ratio:4/5; overflow:hidden; }
.gm-social-grid .gm-photo { object-position:50% 35%; transition:transform var(--gm-slow) var(--gm-ease); }
.gm-social-grid a:hover .gm-photo { transform:scale(1.04); }
.gm-social-grid a > span { position:absolute; bottom:16px; right:16px; background:white; width:36px; height:36px; display:grid; place-items:center; font-size:23px; }
.gm-home-contact .gm-contact-band-inner { grid-template-columns:minmax(0,1.12fr) 1px minmax(0,.88fr); gap:clamp(28px,3vw,52px); padding:clamp(52px,5vw,88px); background:var(--gm-paper) var(--gm-paper-texture); }
:is(.gm-home-contact,.gm-contact-band-accent) .gm-direct-contact > a:not(.gm-link),:is(.gm-home-contact,.gm-contact-band-accent) .gm-contact-address { display:flex; align-items:center; gap:20px; }
:is(.gm-home-contact,.gm-contact-band-accent) .gm-direct-contact > a:not(.gm-link) { margin-block:24px; }
:is(.gm-home-contact,.gm-contact-band-accent) .gm-direct-contact > a > span { min-width:0; overflow-wrap:anywhere; }
:is(.gm-home-contact,.gm-contact-band-accent) .gm-direct-contact svg { flex-shrink:0; width:28px; height:28px; }
:is(.gm-home-contact,.gm-contact-band-accent) .gm-direct-contact > .gm-link { margin-top:24px; }

@media (min-width:1101px) {
 .gm-showroom-followup { display:block; }
}
@media (max-width:1100px) {
 .gm-welcome { grid-template-columns:1fr 1fr; gap:4%; }
 .gm-welcome-visual { min-height:480px; }
 .gm-welcome-photo { aspect-ratio:.95; margin-top:60px; }
 .gm-area:nth-of-type(n+3) { display:block; }
 .gm-area:nth-of-type(n+3) .gm-area-image { min-height:0; height:300px; }
 .gm-area:nth-of-type(n+3) .gm-area-copy { padding-top:24px; }
 .gm-area:nth-of-type(n+3) p { font-size:16px; }
 .gm-area-materials > .gm-material { max-width:calc(var(--gm-gutter) - 16px); }
 .gm-welcome-materials .gm-material-wood { width:100%; }
 .gm-areas { gap:40px 4%; }
 .gm-area-0 .gm-area-copy { margin-left:8%; }
 .gm-area-0 .gm-area-image { height:360px; width:100%; }
}
@media (max-width:900px) {
 .gm-welcome { grid-template-columns:1fr; gap:40px; }
 .gm-welcome-visual { min-height:0; padding-bottom:40px; margin-left:10%; }
 .gm-welcome-copy { padding-bottom:0; }
 .gm-welcome-photo { aspect-ratio:1.25; margin-top:52px; }
 .gm-welcome-materials { top:0; bottom:40px; }
 .gm-areas > .gm-section-heading { grid-column:1 / -1; }
 .gm-area-0 { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:4%; grid-column:1 / -1; }
 .gm-area-0 .gm-area-image { grid-column:2; grid-row:1; margin-top:0; }
 .gm-area-0 .gm-area-copy { grid-column:1; grid-row:1; margin-left:0; }
 .gm-showroom-feature { grid-template-columns:1fr; grid-template-rows:120px auto; gap:16px; height:auto; padding-block:24px; }
 .gm-showroom-collage { width:100%; grid-template-columns:2fr 1fr 1fr; grid-template-rows:minmax(0,1fr); gap:8px; }
 .gm-showroom-main { grid-column:auto; }
 .gm-showroom-copy > .gm-heading { margin-top:0; font-size:28px; }
 .gm-showroom-copy > .gm-lede { margin-top:12px; font-size:14px; line-height:1.5; }
 .gm-showroom-copy > .gm-button { margin-top:16px; font-size:13px; gap:12px; padding-inline:14px; }
 .gm-showroom-materials { width:220px; padding-top:16px; gap:4px; }
 .gm-teaser-pair { grid-template-columns:1fr; gap:56px; }
 .gm-teaser-media:last-child { order:-1; margin:0 0 clamp(24px,2.2vw,32px); }
 .gm-home-contact .gm-contact-band-inner { grid-template-columns:1fr; gap:38px; padding:44px 32px; }
 .gm-home-contact .gm-contact-band-divider { width:100%; height:1px; min-height:0; }
}
@media (max-width:760px) {
 .gm-home-content { --gm-section-space:68px; }
 .gm-welcome-visual { margin-left:0; }
 .gm-welcome-photo { width:calc(84% - 16px); aspect-ratio:.95; }
 .gm-welcome-materials { width:16%; }
 .gm-areas { grid-template-columns:1fr; gap:58px; }
 .gm-areas > .gm-section-heading { grid-column:auto; gap:24px; }
 .gm-area-0,.gm-area-1,.gm-area:nth-of-type(n+3) { grid-column:auto; display:block; }
 .gm-area-0 .gm-area-image,.gm-area-image,.gm-area:nth-of-type(n+3) .gm-area-image { width:100%; height:340px; min-height:0; margin:0; }
 .gm-area-copy,.gm-area-0 .gm-area-copy,.gm-area:nth-of-type(n+3) .gm-area-copy { padding:24px 0 0; }
 .gm-area-copy h3,.gm-area:nth-of-type(n+3) h3 { font-size:30px; }
 .gm-area-copy p,.gm-area:nth-of-type(n+3) p { font-size:15px; }
 .gm-area-materials { display:none; }
 .gm-social-grid { grid-template-columns:1fr 1fr; gap:14px; }
 .gm-social { display:flex; flex-direction:column; align-items:flex-start; }
 .gm-social > .gm-section-heading { display:contents; }
 .gm-social .gm-heading { margin-bottom:32px; }
 .gm-social-grid { align-self:stretch; }
 .gm-social .gm-section-heading > .gm-link { order:1; align-self:flex-start; margin-top:24px; }
 .gm-home-contact .gm-contact-band-inner { padding:44px 24px; }
 :is(.gm-home-contact,.gm-contact-band-accent) .gm-direct-contact > a:not(.gm-link),:is(.gm-home-contact,.gm-contact-band-accent) .gm-contact-address { gap:14px; }
}
@media (prefers-reduced-motion:reduce) {
 .gm-area:hover .gm-area-image .gm-photo,.gm-social-grid a:hover .gm-photo { transform:none; }
}

.gm-site {
  --acc-expand: 250ms;
  --acc-collapse: 250ms;
  --acc-chevron: 250ms;
  --acc-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
.t-acc-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--acc-collapse) var(--acc-ease);
}
.t-acc[data-open="true"] .t-acc-panel {
  grid-template-rows: 1fr;
  transition: grid-template-rows var(--acc-expand) var(--acc-ease);
}
.t-acc-panel-inner {
  overflow: hidden;
  opacity: 0;
  filter: blur(2px);
  transition:
    opacity var(--acc-collapse) var(--acc-ease),
    filter var(--acc-collapse) var(--acc-ease);
}
.t-acc[data-open="true"] .t-acc-panel-inner {
  opacity: 1;
  filter: blur(0);
  transition:
    opacity var(--acc-expand) var(--acc-ease),
    filter var(--acc-expand) var(--acc-ease);
}
.t-acc-chevron {
  display: inline-flex;
  transform: scaleY(1);
  transform-origin: center;
  transition: transform var(--acc-chevron) var(--acc-ease);
}
.t-acc-chevron path { vector-effect: non-scaling-stroke; }
.t-acc[data-open="true"] .t-acc-chevron {
  transform: scaleY(-1);
}

@media (prefers-reduced-motion: reduce) {
  .t-acc-panel, .t-acc-panel-inner, .t-acc-chevron {
    transition: none !important;
  }
}

.gm-site {
  --learn-shift: 2px;
  --learn-spread: 8deg;
  --learn-in: 350ms;
  --learn-out: 350ms;
  --learn-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.t-learn-chevron {
  display: inline-flex;
  transform: translateX(0);
  transition: transform var(--learn-out) var(--learn-ease);
}
.t-learn-arm {
  transform-box: view-box;
  transform-origin: 10px 8px;
  vector-effect: non-scaling-stroke;
  transition: transform var(--learn-out) var(--learn-ease);
}
.t-learn:hover .t-learn-chevron { transform: translateX(var(--learn-shift)); transition-duration: var(--learn-in); }
.t-learn:hover .t-learn-arm { transition-duration: var(--learn-in); }
.t-learn:hover .t-learn-arm-top { transform: rotate(var(--learn-spread)); }
.t-learn:hover .t-learn-arm-bot { transform: rotate(calc(var(--learn-spread) * -1)); }

@media (prefers-reduced-motion: reduce) {
  .t-learn-chevron, .t-learn-arm { transition: none !important; }
}
[data-rv] { opacity:0; }
@media print { [data-rv] { opacity:1 !important; } }
html[data-vt-header] .site-header { view-transition-name:gm-header; }
html[data-vt] .nav-dock { view-transition-name:gm-nav; }
::view-transition-old(root),::view-transition-new(root) { mix-blend-mode:normal; }
::view-transition-old(root) { animation:gm-page-out 750ms var(--ease-out) both; }
::view-transition-new(root) { animation:gm-page-in 750ms var(--ease-out) both; }
::view-transition-group(gm-header),::view-transition-group(gm-nav) { animation-duration:750ms; animation-timing-function:var(--ease-out); }
@keyframes gm-page-out { to { filter:brightness(.85); } }
@keyframes gm-page-in { from { opacity:0; translate:0 32px; filter:blur(8px); } 40% { opacity:1; } }
.gm-service-page,.gm-legal {
 --gm-space:clamp(54px,5.25vw,99px);
 --gm-space-head:clamp(39px,2.5vw,48px);
 --gm-type-h2:clamp(34px,2.8vw,48px);
 --gm-type-figure:clamp(44px,3.4vw,60px);
 --gm-type-title:clamp(20px,1.4vw,24px);
 --gm-type-item:17px;
 --gm-type-lede:clamp(17px,1vw,18px);
 --gm-type-text:16px;
 --gm-type-small:14px;
}
@media (max-width:760px) {
 .gm-service-page,.gm-legal { --gm-space:56px; --gm-type-h2:32px; --gm-type-figure:44px; --gm-type-title:20px; --gm-type-item:16px; --gm-type-lede:16px; --gm-type-text:15px; }
}
.gm-service-page .gm-section { padding-block:var(--gm-space); }
.gm-service-page .gm-section.gm-steel-visit { padding-block:0; }
.gm-service-page .gm-section-heading { margin-bottom:var(--gm-space-head); }
.gm-service-page .gm-bath-assortment-heading { padding:var(--gm-space) var(--gm-gutter) clamp(48px,3.75vw,72px); }
.gm-service-page .gm-triptych-columns { margin-top:clamp(30px,3vw,48px); }
.gm-service-page .gm-planning-caption { margin-top:clamp(24px,2vw,39px); }
.gm-service-page .gm-heading { font-size:var(--gm-type-h2); }
.gm-service-page .gm-dark-copy > .gm-heading,.gm-service-page .gm-dark-head { margin-top:0; }
.gm-service-page .gm-prose,
.gm-service-page .gm-mosaic-item .gm-prose,
.gm-service-page .gm-staffel .gm-prose,
.gm-service-page .gm-figures dt,
.gm-service-page .gm-welcome-reasons span,
.gm-service-page .gm-planning-caption p,
.gm-service-page .gm-cut-stat > p,
.gm-service-page .gm-regional-panel.gm-contact-band-accent .gm-contact-address { font-size:var(--gm-type-text); }
.gm-service-page .gm-lede,
.gm-service-page .gm-section-heading > p,
.gm-service-page .gm-section-heading > .gm-prose,
.gm-service-page .gm-gallery-copy > .gm-prose,
.gm-service-page .gm-mosaic-intro > .gm-prose,
.gm-service-page .gm-bath-assortment-heading p,
.gm-service-page .gm-contact-band-copy > p,
.gm-service-page .gm-regional-copy > p,
.gm-service-page .gm-testimonials blockquote,
.gm-service-page .gm-regional-panel.gm-contact-band-accent .gm-direct-contact > a[href^="mailto:"] { font-size:var(--gm-type-lede); line-height:1.7; }
.gm-service-page .gm-triptych-columns h3,
.gm-service-page .gm-mosaic h3,
.gm-service-page .gm-mosaic-lead h3,
.gm-service-page .gm-staffel h3,
.gm-service-page .gm-bs h3,
.gm-service-page .gm-planning-grid h3,
.gm-service-page .gm-bento > figure:first-child figcaption strong { font-size:var(--gm-type-title); font-weight:500; line-height:1.3; letter-spacing:-.015em; }
.gm-service-page .gm-welcome-reasons strong,
.gm-service-page .gm-bento figcaption strong { font-size:var(--gm-type-item); }
.gm-service-page .gm-cut-stat > strong,
.gm-service-page .gm-figures dd { font-size:var(--gm-type-figure); }
.gm-service-page .gm-planning-number { font-size:var(--gm-type-h2); font-weight:300; }
.gm-service-page .gm-regional-kicker,
.gm-service-page .gm-testimonials figcaption,
.gm-service-page .gm-regional-panel .gm-direct-contact > span:first-child { font-size:var(--gm-type-small); }
.gm-service-page .gm-download small { font-size:13px; }
@media (min-width:901px) {
 :is(.gm-service-page,.gm-compact) .gm-contact-band-copy:only-child { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 8%; align-items:center; }
 :is(.gm-service-page,.gm-compact) .gm-contact-band-copy:only-child > .gm-heading { grid-row:span 2; }
 :is(.gm-service-page,.gm-compact) .gm-contact-band-copy:only-child > p { align-self:end; margin-top:0; }
 :is(.gm-service-page,.gm-compact) .gm-contact-band-copy:only-child > .gm-button { align-self:start; justify-self:start; }
 :is(.gm-service-page,.gm-compact) .gm-contact-band-copy:only-child > .gm-regional-kicker { grid-column:1 / -1; }
}
@media (min-width:901px) {
 .gm-service-page .gm-split > div > .gm-photo { height:clamp(340px,30vw,540px); }
 .gm-service-page .gm-cut-split-media > .gm-photo { height:clamp(360px,30vw,560px); }
 .gm-service-page .gm-mosaic-lead .gm-mosaic-image { height:clamp(320px,28vw,520px); }
 .gm-service-page .gm-triptych-stage { height:clamp(300px,27vw,480px); }
 .gm-service-page .gm-bath-assortment-stage { height:clamp(320px,27vw,500px); }
 .gm-service-page .gm-collage { min-height:clamp(340px,26vw,460px); }
 .gm-service-page .gm-gallery-grid:not(.gm-collage) { grid-auto-rows:clamp(180px,16vw,300px); }
 .gm-service-page .gm-staffel-item:nth-child(2) { margin-top:clamp(30px,3.75vw,72px); }
 .gm-service-page .gm-staffel-item:nth-child(3) { margin-top:clamp(60px,7.5vw,144px); }
}