@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Playfair Display SC';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/playfair-sc-bold.woff) format('woff');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: --theme(
    --default-font-family,
    ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'
  ); /* 4 */
  font-feature-settings: --theme(--default-font-feature-settings, normal); /* 5 */
  font-variation-settings: --theme(--default-font-variation-settings, normal); /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: --theme(
    --default-mono-font-family,
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace
  ); /* 1 */
  font-feature-settings: --theme(--default-mono-font-feature-settings, normal); /* 2 */
  font-variation-settings: --theme(--default-mono-font-variation-settings, normal); /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}



:root {
  --navy: #202e55;
  --navy-dark: #101a35;
  --navy-deep: #091127;
  --blue: #3458d4;
  --electric: #6d8cff;
  --ice: #eef3ff;
  --paper: #f7f8fb;
  --ink: #131a2a;
  --muted: #6d7485;
  --line: #dce1eb;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font-family: var(--font-sans), Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
main { overflow: hidden; }
.withdraw-fab { position: fixed; right: 18px; bottom: 18px; z-index: 50; background: var(--navy-deep); color: #fff; border: 1px solid rgba(255,255,255,.2); box-shadow: 0 10px 35px rgba(9,17,39,.28); padding: 11px 15px; border-radius: 3px; font-size: 9px; line-height: 1; text-transform: uppercase; letter-spacing: .09em; font-weight: 800; transition: transform .2s, background .2s; }
.withdraw-fab:hover { background: var(--blue); transform: translateY(-2px); }

.site-header {
  height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 0 clamp(24px, 4.5vw, 74px); border-bottom: 1px solid rgba(32,46,85,.12);
  background: rgba(255,255,255,.94); backdrop-filter: blur(18px); position: relative; z-index: 20;
}
.brand { width: fit-content; display: flex; flex-direction: column; align-items: center; gap: 1px; }
.brand-mark { display: block; position: relative; width: 154px; height: 45px; overflow: hidden; }
.brand-mark img { width: 165px; height: auto; max-width: none; position: absolute; left: -5px; top: -10px; }
.brand-subline { color: var(--navy); font-size: 8px; line-height: 1; text-transform: uppercase; letter-spacing: .18em; white-space: nowrap; font-weight: 700; }
.desktop-nav { display: flex; gap: clamp(22px, 3vw, 44px); align-items: center; }
.desktop-nav a { font-size: 13px; font-weight: 700; color: #4b5262; transition: color .2s; }
.desktop-nav a:hover { color: var(--blue); }
.mobile-service-link { display: none; color: var(--blue); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 850; }
.header-cta { justify-self: end; color: white; background: var(--navy); padding: 13px 20px; border-radius: 3px; font-size: 12px; font-weight: 800; }

.hero { min-height: 705px; display: grid; grid-template-columns: 52% 48%; position: relative; background: #fff; }
.hero-ambient { position:absolute; inset:0 48% 0 0; z-index:0; opacity:.75; background:radial-gradient(circle at 18% 24%,rgba(109,140,255,.12),transparent 29%),radial-gradient(circle at 72% 74%,rgba(52,88,212,.07),transparent 38%); }
.hero-copy { padding: 115px clamp(28px, 6.5vw, 105px) 72px; position: relative; z-index: 3; display: flex; flex-direction: column; align-items: flex-start; }
.hero-copy .eyebrow { animation:hero-copy-enter .65s .08s both; }
.hero-copy h1 { animation:hero-copy-enter .8s .18s both; }
.hero-copy > p { animation:hero-copy-enter .8s .30s both; }
.hero-actions { animation:hero-copy-enter .8s .42s both; }
.hero-trust { animation:hero-copy-enter .8s .54s both; }
.eyebrow, .section-kicker { color: var(--blue); text-transform: uppercase; letter-spacing: .19em; font-size: 11px; font-weight: 800; }
.eyebrow { display: flex; gap: 11px; align-items: center; }
.eyebrow span { width: 30px; height: 1px; background: currentColor; }
.hero h1 { max-width: 720px; font-size: clamp(50px, 5.7vw, 86px); line-height: .98; letter-spacing: -.055em; margin: 28px 0 28px; font-weight: 620; color: var(--navy-dark); }
.hero h1 em { color: var(--blue); font-family: var(--font-serif), Georgia, serif; font-weight: 500; }
.hero-copy > p { max-width: 570px; color: #596172; font-size: 17px; line-height: 1.75; margin: 0; }
.hero-actions { margin-top: 38px; display: flex; gap: 30px; align-items: center; flex-wrap: wrap; }
.button { display: inline-flex; border: 0; border-radius: 3px; align-items: center; justify-content: center; padding: 16px 22px; font-size: 12px; font-weight: 800; cursor: pointer; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--blue); color: white; box-shadow: 0 10px 30px rgba(52,88,212,.2); }
.button-primary:hover { background: #2948b6; }
.text-link { color: var(--navy); font-size: 13px; font-weight: 800; border-bottom: 1px solid rgba(32,46,85,.2); padding: 8px 0; }
.text-link span { color: var(--blue); padding-left: 7px; }
.hero-trust { display: flex; gap: 14px; align-items: center; margin-top: auto; padding-top: 60px; color: #6b7180; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.hero-trust i { width: 3px; height: 3px; background: var(--blue); border-radius: 50%; }
.hero-visual { position:relative; z-index:1; min-height:705px; margin-left:-96px; background:var(--navy-deep); overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.76) 14%,#000 28%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.76) 14%,#000 28%); }
.hero-visual > img { object-fit:cover; object-position:right center; opacity:.87; filter:saturate(.74) contrast(1.03); }
.hero-visual-shade { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(9,17,39,.75) 0%,rgba(9,17,39,.24) 37%,rgba(9,17,39,.04) 72%),linear-gradient(0deg,rgba(9,17,39,.58),transparent 50%); pointer-events:none; }
.hero-visual:after { content:""; position:absolute; z-index:5; inset:22px; border:1px solid rgba(255,255,255,.18); border-left-color:transparent; pointer-events:none; }
.hero-badge { position:absolute; left:52px; bottom:48px; color:#fff; z-index:4; display:flex; flex-direction:column; animation:hero-badge-enter .9s .55s both; }
.hero-badge span { font-family:var(--font-serif),Georgia,serif; font-style:italic; font-size:18px; opacity:.8; }
.hero-badge strong { font-size:25px; letter-spacing:-.035em; }

.hero-lightning-background { --bolt-opacity-base:.26; --bolt-opacity-mid:.33; --bolt-opacity-peak:.46; position:absolute; z-index:1; left:clamp(55px,8vw,128px); top:26px; width:min(37vw,500px); height:650px; pointer-events:none; opacity:var(--bolt-opacity-base); transform:rotate(-2deg); filter:saturate(.95) drop-shadow(0 0 18px rgba(243,190,39,.1)); animation:hero-background-bolt 9s 1s ease-in-out infinite; }
.hero-lightning-background img { object-fit:contain; object-position:center; }

@keyframes hero-copy-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-badge-enter { from { opacity:0; transform:translateY(13px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-background-bolt { 0%,10%,26%,100% { opacity:var(--bolt-opacity-base); transform:rotate(-2deg) scale(1); filter:saturate(.95) brightness(1) drop-shadow(0 0 14px rgba(243,190,39,.07)); } 15% { opacity:var(--bolt-opacity-peak); transform:rotate(-2deg) scale(1.016); filter:saturate(1.12) brightness(1.08) drop-shadow(0 0 34px rgba(243,190,39,.24)); } 21% { opacity:var(--bolt-opacity-mid); transform:rotate(-2deg) scale(1.006); filter:saturate(1.03) brightness(1.03) drop-shadow(0 0 22px rgba(243,190,39,.13)); } }

.myhammer-review { min-height: 108px; padding: 24px clamp(28px,7vw,112px); background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto auto 1fr; gap: clamp(22px,4vw,58px); align-items: center; transition: background .2s; }
.myhammer-review:hover { background: var(--paper); }
.myhammer-review-label { display: flex; flex-direction: column; gap: 2px; color: #747b8a; font-size: 9px; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; }
.myhammer-review-label strong { color: var(--navy); font-size: 18px; letter-spacing: -.02em; text-transform: none; }
.myhammer-stars { position: relative; color: #d8dbe3; font-size: 25px; line-height: 1; letter-spacing: .13em; white-space: nowrap; }
.myhammer-stars b { position: absolute; inset: 0; width: 100%; overflow: hidden; color: #f4b400; font-weight: inherit; }
.myhammer-score { display: flex; flex-direction: column; gap: 1px; }
.myhammer-score strong { color: var(--navy-dark); font-size: 26px; line-height: 1; letter-spacing: -.045em; }
.myhammer-score strong span { color: #878d99; font-size: 14px; letter-spacing: 0; }
.myhammer-score small { color: #787f8d; font-size: 9px; white-space: nowrap; }
.myhammer-link { justify-self: end; color: var(--blue); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; font-weight: 800; border-bottom: 1px solid rgba(52,88,212,.25); padding-bottom: 5px; }

.check-section, .solutions-section, .booking-section { padding: 110px clamp(28px, 7vw, 112px); }
.check-section { background: var(--paper); }
.check-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 9vw, 145px); margin-top: 35px; align-items: center; }
.check-intro h2, .section-heading h2, .booking-intro h2 { font-size: clamp(40px, 5vw, 68px); letter-spacing: -.055em; line-height: 1.03; color: var(--navy-dark); margin: 0 0 28px; font-weight: 630; }
.check-intro h2 span, .booking-intro h2 span { font-family: var(--font-serif), Georgia, serif; font-style: italic; color: var(--blue); font-weight: 500; }
.check-intro > p, .section-heading > p, .booking-intro > p { color: var(--muted); font-size: 15px; line-height: 1.75; max-width: 610px; }
.stat-card { margin-top: 48px; padding: 25px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr; gap: 7px 22px; align-items: center; }
.stat-card strong { font-size: 56px; line-height: 1; color: var(--navy); letter-spacing: -.06em; grid-row: 1 / 3; }
.stat-card strong span { color: var(--blue); font-size: 30px; }
.stat-card p { margin: 0; font-size: 11px; color: #666e7e; line-height: 1.5; }
.stat-card a { color: var(--blue); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.check-card { background: #fff; border-top: 4px solid var(--blue); box-shadow: 0 20px 70px rgba(16,26,53,.1); padding: clamp(28px, 4vw, 48px); }
.check-card-top { display: flex; justify-content: space-between; color: var(--blue); text-transform: uppercase; font-size: 9px; letter-spacing: .15em; font-weight: 800; }
.check-card-top small { color: #848a98; }
.check-card h3 { font-size: 30px; color: var(--navy-dark); margin: 17px 0 26px; letter-spacing: -.035em; }
.check-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 15px; }
.check-card li { color: #525a69; font-size: 13px; display: flex; gap: 13px; align-items: flex-start; }
.check-card li span { width: 20px; height: 20px; flex: 0 0 20px; background: var(--ice); color: var(--blue); border-radius: 50%; display: grid; place-items: center; font-size: 10px; font-weight: 900; }
.price-row { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); margin-top: 30px; padding-top: 25px; }
.price-row div { display: flex; flex-direction: column; }
.price-row strong { color: var(--navy); font-size: 33px; letter-spacing: -.045em; }
.price-row small { color: #8a909c; font-size: 9px; margin-top: 3px; }
.round-arrow { width: 45px; height: 45px; border: 1px solid var(--blue); border-radius: 50%; display: grid; place-items: center; color: var(--blue); }
.additional-price { margin: 14px 0 0; font-size: 10px; color: #777e8e; }
.service-qualification-link { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--blue); font-size: 10px; line-height: 1.5; text-transform: uppercase; letter-spacing: .08em; font-weight: 850; }
.service-qualification-link span { width: 28px; height: 28px; flex: 0 0 28px; border: 1px solid rgba(52,88,212,.3); border-radius: 50%; display: grid; place-items: center; transition: background .2s, color .2s, transform .2s; }
.service-qualification-link:hover span { background: var(--blue); color: #fff; transform: translateY(2px); }

.service-bridge { scroll-margin-top: 24px; margin-top: 105px; padding-top: 90px; border-top: 1px solid var(--line); }
.service-bridge-intro { max-width: 1080px; }
.service-bridge-intro h3 { max-width: 920px; margin: 22px 0 25px; color: var(--navy-dark); font-size: clamp(42px,5.5vw,72px); line-height: 1; letter-spacing: -.055em; font-weight: 630; }
.service-bridge-intro h3 span { color: var(--blue); font-family: var(--font-serif),Georgia,serif; font-style: italic; font-weight: 500; }
.service-bridge-intro > p { max-width: 775px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.eligibility-steps { margin-top: 42px; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.eligibility-steps > div { min-height: 112px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; gap: 18px; background: rgba(255,255,255,.62); }
.eligibility-steps b { color: var(--blue); font-size: 10px; letter-spacing: .12em; }
.eligibility-steps span { max-width: 225px; color: var(--navy); font-size: 12px; line-height: 1.5; font-weight: 750; }
.subscription-grid { margin-top: 36px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items: start; }
.subscription-card { padding: clamp(30px,4vw,50px); background: #fff; border-top: 4px solid var(--blue); box-shadow: 0 20px 65px rgba(16,26,53,.09); display: flex; flex-direction: column; }
.subscription-label { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; color: var(--blue); font-size: 9px; line-height: 1.45; text-transform: uppercase; letter-spacing: .12em; font-weight: 850; }
.subscription-label small { max-width: 190px; color: #898f9c; text-align: right; font-size: 8px; line-height: 1.45; letter-spacing: .08em; }
.subscription-card h4 { margin: 25px 0 10px; color: var(--navy-dark); font-size: clamp(29px,3vw,41px); line-height: 1; letter-spacing: -.045em; }
.subscription-lead { min-height: 48px; margin: 0; color: #6a7282; font-size: 12px; line-height: 1.7; }
.subscription-price { min-height: 94px; margin: 28px 0 25px; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 16px; }
.subscription-price strong { color: var(--navy); font-size: clamp(35px,4vw,49px); line-height: 1; letter-spacing: -.055em; white-space: nowrap; }
.subscription-price > span { color: #858c9a; font-size: 9px; line-height: 1.45; }
.subscription-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.subscription-card li { display: flex; align-items: flex-start; gap: 13px; }
.subscription-card li > span { width: 20px; height: 20px; flex: 0 0 20px; display: grid; place-items: center; border-radius: 50%; background: var(--ice); color: var(--blue); font-size: 10px; font-weight: 900; }
.subscription-card li div { display: grid; gap: 4px; }
.subscription-card li b { color: var(--navy); font-size: 12px; line-height: 1.45; }
.subscription-card li small { color: #747c8c; font-size: 10px; line-height: 1.55; }
.subscription-cta, .management-cta { width: 100%; margin-top: 26px; }
.subscription-terms { margin: 18px 0 0; color: #626b7b; font-size: 12px; line-height: 1.7; }
.management-card { background: var(--navy-deep); border-top-color: var(--electric); box-shadow: 0 24px 75px rgba(9,17,39,.2); }
.management-card .subscription-label { color: #91a7ff; }
.management-card .subscription-label small { color: #8994ad; }
.management-card h4, .management-card .subscription-price strong, .management-card li b { color: #fff; }
.management-card .subscription-lead, .management-card li small { color: #aeb8ce; }
.management-card .subscription-price { border-color: rgba(255,255,255,.13); }
.management-card .subscription-price > span { color: #909bb5; }
.management-card li > span { background: rgba(109,140,255,.14); color: #9eb0ff; }
.management-tiers { margin: -5px 0 28px; border-top: 1px solid rgba(255,255,255,.13); }
.management-tiers > div { padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.11); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.management-tiers span { color: #aeb8ce; font-size: 10px; }
.management-tiers strong { color: #fff; font-size: 11px; white-space: nowrap; }
.management-cta { background: #fff; color: var(--navy-deep); }
.management-cta:hover { background: #dfe6ff; }
.management-card .subscription-terms { color: #aab4ca; }
.service-contract-note { max-width: 900px; margin: 29px auto 0; color: #626b7b; font-size: 12px; line-height: 1.7; text-align: center; }

.control-section { display: grid; grid-template-columns: 1fr 1fr; background: var(--navy-deep); color: white; }
.control-copy, .parts-pricing { padding: 82px clamp(28px, 7vw, 112px); }
.control-copy { border-right: 1px solid rgba(255,255,255,.12); }
.section-kicker.light { color: #8fa5ff; }
.control-copy h2 { font-size: clamp(44px, 5vw, 70px); line-height: .98; letter-spacing: -.055em; margin: 26px 0; }
.control-copy p { color: #aeb8ce; font-size: 14px; line-height: 1.75; max-width: 560px; }
.parts-pricing { align-self: center; }
.part-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 21px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.part-row span { color: #b9c2d6; font-size: 12px; }
.part-row b { color: #fff; font-size: 14px; }
.part-row strong { white-space: nowrap; color: #fff; font-size: 20px; }
.parts-pricing > p { color: #75819b; font-size: 9px; line-height: 1.6; margin-top: 18px; }

.solutions-section { background: #fff; }
.section-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 50px; align-items: end; margin-bottom: 55px; }
.section-heading h2 { margin: 20px 0 0; }
.section-heading > p { margin: 0 0 8px; }
.service-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { min-height: 320px; padding: 32px 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; transition: background .25s, transform .25s; }
.service-card:hover { background: var(--paper); transform: translateY(-4px); }
.service-card > span { color: var(--blue); font-size: 10px; font-weight: 800; }
.service-card h3 { margin: 68px 0 15px; font-size: 20px; color: var(--navy); letter-spacing: -.03em; }
.service-card p { color: #757c8b; font-size: 12px; line-height: 1.7; margin: 0; }
.service-card a { margin-top: auto; color: var(--blue); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.energy-flow { margin-top: 70px; min-height: 500px; background: var(--ice); display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; padding: clamp(35px,6vw,80px); position: relative; overflow: hidden; }
.energy-flow:before { content:""; position:absolute; inset:0; background-image: radial-gradient(rgba(52,88,212,.16) 1px,transparent 1px); background-size:22px 22px; mask-image:linear-gradient(90deg,transparent,black); }
.flow-copy { position: relative; z-index: 2; }
.flow-copy > span { color: var(--blue); text-transform: uppercase; letter-spacing: .15em; font-size: 9px; font-weight: 800; }
.flow-copy h3 { color: var(--navy-dark); font-size: clamp(38px,4vw,60px); line-height: 1; letter-spacing: -.05em; margin: 18px 0; }
.flow-copy p { color: #6c7588; font-size: 13px; line-height: 1.7; max-width: 370px; }
.flow-diagram { height: 350px; position: relative; z-index: 2; }
.flow-node { position: absolute; width: 115px; height: 115px; border-radius: 50%; background: #fff; box-shadow: 0 12px 40px rgba(32,46,85,.12); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: var(--blue); z-index: 2; }
.flow-node span { font-size: 23px; }
.flow-node b { color: var(--navy); font-size: 9px; }
.flow-node.sun { top: 10px; left: 6%; }.flow-node.storage { top: 0; right: 6%; }.flow-node.car { bottom: 5px; left: 4%; }.flow-node.home { bottom: 0; right: 5%; }
.flow-node.hub { width: 135px; height: 135px; left: calc(50% - 67px); top: calc(50% - 67px); background: var(--blue); color: white; }
.flow-node.hub b { color: white; }
.flow-line { position: absolute; height: 1px; background: var(--blue); transform-origin: left center; opacity: .45; }
.line-one { width: 34%; left: 19%; top: 27%; transform: rotate(25deg); }.line-two { width: 33%; left: 51%; top: 46%; transform: rotate(-30deg); }.line-three { width: 33%; left: 18%; top: 77%; transform: rotate(-28deg); }.line-four { width: 34%; left: 51%; top: 58%; transform: rotate(27deg); }

.home-references { min-height: 620px; display: grid; grid-template-columns: .95fr 1.05fr; background: var(--paper); }
.home-reference-image { min-height: 620px; position: relative; overflow: hidden; background: var(--navy-deep); }
.home-reference-image img { object-fit: cover; object-position: center; filter: saturate(.78) contrast(1.04); }
.home-reference-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 60%,rgba(247,248,251,.28)); pointer-events:none; }
.home-reference-copy { padding: 100px clamp(28px,9vw,145px) 100px clamp(38px,7vw,105px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.home-reference-copy h2 { color:var(--navy-dark); font-size:clamp(42px,5vw,70px); line-height:1.02; letter-spacing:-.055em; margin:24px 0; }
.home-reference-copy h2 span { color:var(--blue); font-family:var(--font-serif),Georgia,serif; font-style:italic; font-weight:500; }
.home-reference-copy p { color:var(--muted); font-size:14px; line-height:1.8; max-width:590px; margin:0 0 32px; }

.attitude-section { background: var(--navy); color: white; min-height: 610px; display: grid; grid-template-columns: .7fr 1.3fr; position: relative; overflow: hidden; }
.attitude-number { font-size: clamp(280px,39vw,600px); line-height: .8; font-weight: 800; letter-spacing: -.13em; color: rgba(255,255,255,.035); position: absolute; left: -30px; bottom: -32px; }
.attitude-copy { grid-column: 2; padding: 100px clamp(28px,10vw,160px) 100px 40px; position: relative; z-index: 2; }
.attitude-copy blockquote { font-family: var(--font-serif), Georgia, serif; font-size: clamp(38px,5vw,68px); line-height: 1.04; font-style: italic; margin: 32px 0; letter-spacing: -.04em; }
.attitude-copy > p { color: #aab5ce; font-size: 14px; line-height: 1.8; max-width: 670px; }
.signature { margin-top: 40px; display: flex; flex-direction: column; gap: 3px; }
.signature strong { font-size: 13px; }.signature span { color: #8d99b4; text-transform: uppercase; letter-spacing: .1em; font-size: 8px; }

.booking-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px,8vw,120px); background: var(--paper); align-items: start; }
.booking-intro h2 { margin-top: 25px; }
.booking-facts { display: grid; gap: 12px; margin-top: 40px; }
.booking-facts span { display: flex; gap: 12px; align-items: baseline; color: #707786; font-size: 11px; }
.booking-facts b { color: var(--navy); font-size: 17px; min-width: 95px; }
.booking-panel { background: white; box-shadow: 0 20px 70px rgba(16,26,53,.1); padding: clamp(25px,4vw,48px); border-top: 4px solid var(--blue); min-height: 575px; }
.booking-progress { display: flex; align-items: center; margin-bottom: 35px; }
.booking-progress span { width: 25px; height: 25px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; color: #999; font-size: 9px; font-weight: 800; }
.booking-progress span.active { background: var(--blue); color: white; border-color: var(--blue); }
.booking-progress i { flex: 1; height: 1px; background: var(--line); }
.booking-title span, .booking-title button { color: var(--blue); background: none; border: 0; padding: 0; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; cursor: pointer; }
.booking-title h3 { color: var(--navy-dark); font-size: 24px; letter-spacing: -.035em; margin: 6px 0 24px; }
.date-strip { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; }
.date-strip button, .slot-grid button { background: white; border: 1px solid var(--line); color: #6c7382; padding: 13px 6px; cursor: pointer; border-radius: 2px; }
.date-strip button { display: flex; flex-direction: column; gap: 5px; }
.date-strip span { text-transform: uppercase; font-size: 8px; }.date-strip b { font-size: 12px; color: var(--navy); }
.date-strip button.selected, .slot-grid button.selected { border-color: var(--blue); background: var(--ice); color: var(--blue); }
.slot-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 12px; }
.slot-grid button { font-size: 11px; }
.distribution-select { display: grid; gap: 7px; margin-top: 24px; color: #686f7e; font-size: 10px; font-weight: 700; }
.distribution-select select { padding: 13px; border: 1px solid var(--line); background: #fff; color: var(--navy); }
.booking-summary { margin-top: 22px; background: var(--paper); padding: 17px 20px; display: grid; grid-template-columns: 1fr auto; align-items: center; }
.booking-summary span { font-size: 10px; color: #777e8c; }.booking-summary strong { color: var(--navy); font-size: 24px; }.booking-summary small { grid-column: 1 / 3; color: #9298a4; font-size: 8px; }
.booking-next { width: 100%; margin-top: 18px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field-grid label { display: grid; gap: 6px; color: #69707e; font-size: 9px; font-weight: 700; }
.field-grid .wide { grid-column: 1 / 3; }
.field-grid input, .field-grid textarea { width: 100%; border: 1px solid var(--line); padding: 12px; color: var(--ink); border-radius: 2px; outline: 0; resize: vertical; }
.field-grid input:focus, .field-grid textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--ice); }
.consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 13px; color: #737a89; font-size: 8px; line-height: 1.5; }
.consent input { margin-top: 2px; accent-color: var(--blue); }
.consent a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.order-review { margin-top: 20px; padding: 18px 20px; background: var(--paper); border-left: 3px solid var(--blue); display: grid; gap: 7px; }
.order-review > strong { color: var(--navy); font-size: 11px; margin-bottom: 3px; }
.order-review span { display: grid; grid-template-columns: 88px 1fr; gap: 10px; color: #606878; font-size: 9px; line-height: 1.45; }
.order-review b { color: var(--navy-dark); }
.order-review small { color: #858c99; font-size: 8px; line-height: 1.5; margin-top: 4px; }
.payment-note { display: flex; flex-direction: column; align-items: center; gap: 5px; text-align: center; margin-top: 14px; }
.payment-note strong { color: #e32636; font-size: 14px; line-height: 1.25; letter-spacing: .01em; font-weight: 900; -webkit-text-stroke: .35px #111; paint-order: stroke fill; text-shadow: .35px 0 #111, 0 .35px #111; }
.payment-note span { color: #626a78; font-size: 9px; font-weight: 700; }
.form-error { color: #af2843; background: #fff0f3; padding: 10px; font-size: 10px; }
.booking-done { min-height: 430px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.booking-done > span { width: 58px; height: 58px; display: grid; place-items: center; background: var(--ice); color: var(--blue); border-radius: 50%; font-size: 23px; }
.booking-done h3 { color: var(--navy); font-size: 28px; margin: 22px 0 10px; }.booking-done p { color: var(--muted); max-width: 380px; font-size: 13px; line-height: 1.6; }
.booking-done p b { color: var(--navy); }
.receipt-download { margin: 10px 0 15px; }

.contact-section { background: var(--navy-deep); color: white; padding: 85px clamp(28px,7vw,112px); display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 40px; }
.contact-section h2 { font-size: clamp(38px,5vw,66px); line-height: 1.03; letter-spacing: -.05em; margin: 22px 0 0; max-width: 760px; }
.contact-actions { display: grid; gap: 0; }
.contact-actions a { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.16); display: flex; justify-content: space-between; color: #d6dceb; font-size: 14px; }
.contact-actions span { color: #8fa5ff; }
footer { background: #070d1e; color: #8791a9; padding: 65px clamp(28px,7vw,112px) 25px; display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 35px; font-size: 10px; }
footer > div { display: flex; flex-direction: column; gap: 12px; line-height: 1.7; }
footer strong { color: #d6dbea; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }
.withdraw-link { color: #b9c8ff; font-weight: 800; display: inline-block; margin-top: 4px; }
.footer-brand { color: #b3bdd3; text-transform: uppercase; letter-spacing: .14em; font-size: 8px; }
.footer-wordmark { font-family: var(--font-serif), Georgia, serif; font-style: italic; color: white; font-size: 37px; text-transform: none; letter-spacing: -.03em; line-height: .8; }
.copyright { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.09); padding-top: 22px; margin: 25px 0 0; font-size: 8px; }

.legal-page { min-height: 100vh; background: var(--paper); }
.legal-header { min-height: 86px; padding: 20px clamp(24px,7vw,112px); background: #fff; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.legal-brand { color: var(--navy); display: flex; flex-direction: column; }
.legal-brand strong { font-family: var(--font-serif), Georgia, serif; font-style: italic; font-size: 30px; line-height: 1; }
.legal-brand span { margin-top: 5px; font-size: 7px; text-transform: uppercase; letter-spacing: .15em; font-weight: 800; }
.legal-header > a:last-child { color: var(--blue); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.legal-content { width: min(900px, calc(100% - 44px)); margin: 0 auto; padding: 80px 0 110px; }
.legal-kicker { color: var(--blue); text-transform: uppercase; letter-spacing: .16em; font-size: 10px; font-weight: 800; }
.legal-content h1 { color: var(--navy-dark); font-size: clamp(42px,6vw,70px); line-height: 1; letter-spacing: -.055em; margin: 18px 0 25px; }
.legal-intro { color: var(--muted); font-size: 15px; line-height: 1.75; max-width: 720px; margin-bottom: 55px; }
.legal-block { background: #fff; border-top: 3px solid var(--blue); padding: clamp(25px,5vw,50px); margin-top: 24px; box-shadow: 0 16px 50px rgba(16,26,53,.06); }
.legal-block h2 { color: var(--navy); font-size: 25px; margin: 0 0 18px; letter-spacing: -.03em; }
.legal-block h3 { color: var(--navy-dark); font-size: 15px; margin: 28px 0 8px; }
.legal-block p, .legal-block li, .legal-block address { color: #5e6676; font-size: 12px; line-height: 1.75; font-style: normal; }
.legal-block a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.legal-block ul { padding-left: 18px; }
.legal-note { color: #737b8b; background: var(--ice); border-left: 3px solid var(--blue); padding: 16px 18px; font-size: 10px; line-height: 1.6; }
.withdrawal-form { display: grid; gap: 14px; }
.withdrawal-form label { display: grid; gap: 6px; color: #5f6777; font-size: 10px; font-weight: 700; }
.withdrawal-form input, .withdrawal-form textarea, .withdrawal-form select { width: 100%; border: 1px solid var(--line); background: #fff; color: var(--ink); padding: 13px; border-radius: 2px; }
.withdrawal-form textarea { resize: vertical; }
.withdrawal-form .button { margin-top: 5px; }
.withdrawal-result { background: #eef8f1; border-left: 3px solid #318453; padding: 20px; color: #345441; font-size: 11px; line-height: 1.6; }
.withdrawal-result strong { display: block; color: #225238; font-size: 15px; margin-bottom: 6px; }
.withdrawal-result .button { margin-top: 14px; }
.legal-footer-nav { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 45px; color: var(--blue); font-size: 10px; font-weight: 800; }

.content-header { height:92px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(24px,4.5vw,74px); border-bottom:1px solid rgba(32,46,85,.12); background:#fff; position:relative; z-index:20; }
.content-header nav { display:flex; align-items:center; gap:clamp(18px,2.5vw,38px); }
.content-header nav a { color:#535a69; font-size:12px; font-weight:750; }
.content-header nav a.active { color:var(--blue); }
.content-header .header-cta { justify-self:end; }
.references-page,.reference-detail { background:var(--paper); min-height:100vh; }
.references-hero { background:var(--navy-deep); color:#fff; padding:105px clamp(28px,7vw,112px) 115px; position:relative; overflow:hidden; }
.references-hero:after { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(109,140,255,.2); border-radius:50%; right:-130px; top:-240px; box-shadow:0 0 0 70px rgba(109,140,255,.025),0 0 0 140px rgba(109,140,255,.02); }
.live-blog-status { position:relative; z-index:1; display:flex; align-items:center; gap:10px; color:#b8c5e8; font-size:9px; text-transform:uppercase; letter-spacing:.15em; font-weight:850; }
.live-blog-status span { width:9px; height:9px; border-radius:50%; background:#ff4f61; box-shadow:0 0 0 6px rgba(255,79,97,.12); animation:live-pulse 2s ease-in-out infinite; }
@keyframes live-pulse { 50% { box-shadow:0 0 0 11px rgba(255,79,97,0); } }
.references-hero h1 { position:relative; z-index:1; font-size:clamp(52px,7.5vw,105px); line-height:.92; letter-spacing:-.065em; margin:27px 0 30px; max-width:1050px; }
.references-hero h1 em { color:#8fa5ff; font-family:var(--font-serif),Georgia,serif; font-weight:500; }
.references-hero p { position:relative; z-index:1; color:#aab5ce; font-size:15px; line-height:1.8; max-width:680px; margin:0; }
.references-list { padding:90px clamp(28px,7vw,112px) 120px; display:grid; gap:34px; }
.live-blog-heading { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:end; margin-bottom:28px; }
.live-blog-heading span { color:var(--blue); font-size:9px; text-transform:uppercase; letter-spacing:.14em; font-weight:850; }
.live-blog-heading h2 { color:var(--navy-dark); font-size:clamp(40px,5vw,70px); line-height:1; letter-spacing:-.055em; margin:13px 0 0; }
.live-blog-heading p { color:var(--muted); font-size:13px; line-height:1.75; max-width:590px; margin:0; }
.reference-card { background:#fff; min-height:390px; display:grid; grid-template-columns:minmax(330px,.85fr) 1.15fr; box-shadow:0 15px 55px rgba(16,26,53,.07); }
.reference-image { position:relative; min-height:390px; overflow:hidden; background:var(--navy); display:grid; place-items:center; }
.reference-image img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .45s; }
.reference-image:hover img { transform:scale(1.025); }
.reference-image > span { color:rgba(255,255,255,.2); font-size:110px; font-weight:800; }
.reference-card-copy { padding:clamp(32px,5vw,70px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.reference-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; color:#8a91a0; font-size:8px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.reference-meta span { color:var(--blue); }
.reference-meta i { width:3px; height:3px; border-radius:50%; background:var(--blue); }
.reference-card h2 { color:var(--navy-dark); font-size:clamp(31px,4vw,54px); line-height:1.04; letter-spacing:-.05em; margin:20px 0; }
.reference-card h2 a:hover { color:var(--blue); }
.reference-card p { color:var(--muted); font-size:13px; line-height:1.75; max-width:650px; margin:0 0 27px; }
.reference-cta { margin:0 clamp(28px,7vw,112px) 120px; padding:55px clamp(28px,5vw,70px); background:var(--navy); color:#fff; display:grid; grid-template-columns:1fr 1fr auto; gap:40px; align-items:center; }
.reference-cta > div span { color:#8fa5ff; font-size:9px; text-transform:uppercase; letter-spacing:.13em; font-weight:800; }
.reference-cta h2 { font-size:34px; letter-spacing:-.04em; margin:8px 0 0; }
.reference-cta p { color:#aeb8ce; font-size:12px; line-height:1.7; margin:0; }
.reference-detail > article { background:#fff; }
.reference-detail-head { width:min(920px,calc(100% - 44px)); margin:0 auto; padding:85px 0 55px; }
.reference-detail-head > a { color:var(--blue); font-size:9px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.reference-detail-head .reference-meta { margin-top:45px; }
.reference-detail-head h1 { color:var(--navy-dark); font-size:clamp(46px,7vw,88px); line-height:.98; letter-spacing:-.06em; margin:23px 0 25px; }
.reference-detail-head > p { color:var(--muted); font-size:16px; line-height:1.75; max-width:800px; }
.reference-detail-image { position:relative; width:min(1240px,calc(100% - 44px)); aspect-ratio:16/9; max-height:760px; margin:0 auto; overflow:hidden; background:var(--navy-deep); }
.reference-detail-image img { width:100%; height:100%; max-height:760px; object-fit:cover; display:block; }
.reference-body { width:min(760px,calc(100% - 44px)); margin:0 auto; padding:70px 0 100px; }
.reference-body > p { color:#50596a; font-size:15px; line-height:1.9; margin:0 0 27px; }
.reference-body aside { margin-top:60px; background:var(--ice); border-left:4px solid var(--blue); padding:30px; display:grid; gap:8px; }
.reference-body aside strong { color:var(--navy); font-size:18px; }.reference-body aside span { color:#687286; font-size:12px; line-height:1.6; }.reference-body aside a { color:var(--blue); font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; margin-top:7px; }
.comments-section { padding:90px clamp(28px,7vw,112px) 120px; display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(45px,8vw,120px); align-items:start; }
.comments-heading > span { color:var(--blue); font-size:9px; text-transform:uppercase; letter-spacing:.14em; font-weight:800; }
.comments-heading h2 { color:var(--navy-dark); font-size:clamp(38px,4.5vw,60px); letter-spacing:-.05em; line-height:1; margin:18px 0; }
.comments-heading p { color:var(--muted); font-size:12px; line-height:1.7; }
.comment-form { background:#fff; border-top:4px solid var(--blue); box-shadow:0 16px 55px rgba(16,26,53,.08); padding:clamp(25px,4vw,45px); display:grid; gap:15px; }
.comment-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.comment-form label { display:grid; gap:6px; color:#616978; font-size:9px; font-weight:750; }
.comment-form label small { color:#9399a5; font-weight:500; }
.comment-form input,.comment-form textarea { width:100%; border:1px solid var(--line); background:#fff; padding:12px; color:var(--ink); outline:0; resize:vertical; }
.comment-form input:focus,.comment-form textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px var(--ice); }
.comment-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; }
.comment-consent { display:flex!important; }.comment-consent input { width:auto; }
.comment-success { background:#eef8f1; color:#345441; border-left:3px solid #318453; padding:22px; font-size:12px; line-height:1.6; }
.comment-success strong { display:block; color:#225238; font-size:16px; }
.comments-list { grid-column:2; display:grid; gap:14px; }
.comments-list h3 { color:var(--navy); font-size:14px; margin:10px 0; }
.comments-list article { background:#fff; padding:22px; border:1px solid var(--line); }
.comments-list article > div { display:flex; justify-content:space-between; gap:20px; }.comments-list strong { color:var(--navy); font-size:12px; }.comments-list time { color:#9298a5; font-size:8px; }.comments-list p { color:#606879; font-size:11px; line-height:1.7; margin:12px 0 0; white-space:pre-wrap; }
.editor-page { background:var(--paper); min-height:100vh; }
.editor-header { min-height:86px; padding:18px clamp(24px,5vw,75px); background:#fff; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:25px; }
.editor-header > div { display:flex; flex-direction:column; align-items:flex-end; gap:6px; color:#8a909d; font-size:8px; }.editor-header > div a { color:var(--blue); font-size:10px; font-weight:800; }
.editor-intro { padding:70px clamp(24px,7vw,112px) 45px; display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:end; }
.editor-intro span { color:var(--blue); font-size:9px; text-transform:uppercase; letter-spacing:.14em; font-weight:800; }.editor-intro h1 { color:var(--navy-dark); font-size:clamp(45px,6vw,75px); letter-spacing:-.055em; line-height:1; margin:15px 0 0; }.editor-intro p { color:var(--muted); font-size:13px; line-height:1.7; max-width:560px; }
.editor-grid { padding:0 clamp(24px,7vw,112px) 80px; display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:start; }
.editor-card { background:#fff; border-top:4px solid var(--blue); box-shadow:0 16px 55px rgba(16,26,53,.07); padding:clamp(26px,4vw,46px); }
.editor-card h2 { color:var(--navy-dark); font-size:30px; letter-spacing:-.04em; margin:12px 0 28px; }
.editor-form { display:grid; gap:14px; }.editor-form label { display:grid; gap:6px; color:#5d6574; font-size:9px; font-weight:750; }.editor-form label small { color:#969ca7; font-weight:500; }.editor-form input,.editor-form textarea { width:100%; border:1px solid var(--line); padding:12px; color:var(--ink); resize:vertical; }.editor-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.editor-success { color:#2e6c47; background:#eef8f1; padding:12px; font-size:10px; }.editor-success a { color:#225238; text-decoration:underline; font-weight:800; }
.editor-empty { color:var(--muted); font-size:12px; line-height:1.7; }.moderation-list { display:grid; gap:15px; }.moderation-list article { border:1px solid var(--line); padding:18px; }.moderation-list article > div:first-child { display:grid; gap:3px; }.moderation-list strong { color:var(--navy); font-size:12px; }.moderation-list span,.moderation-list small { color:#8a919f; font-size:8px; }.moderation-list p { color:#5d6676; font-size:11px; line-height:1.65; white-space:pre-wrap; }.moderation-actions { display:flex; gap:8px; }.moderation-actions button { border:1px solid var(--blue); background:#fff; color:var(--blue); padding:8px 11px; font-size:9px; font-weight:800; cursor:pointer; }.moderation-actions button:last-child { border-color:#b9bec8; color:#737a88; }
.editor-existing { margin:0 clamp(24px,7vw,112px) 100px; padding:35px; background:#fff; }.editor-existing h2 { color:var(--navy); font-size:22px; margin:0 0 20px; }.editor-existing > a { display:grid; grid-template-columns:170px 1fr auto; gap:20px; padding:16px 0; border-bottom:1px solid var(--line); align-items:center; }.editor-existing span { color:var(--blue); font-size:9px; text-transform:uppercase; font-weight:800; }.editor-existing strong { color:var(--navy-dark); font-size:12px; }.editor-existing small,.editor-existing p { color:var(--muted); font-size:9px; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: 14px; height: 82px; }.desktop-nav { display: none; }.mobile-service-link { min-height: 44px; padding: 0 5px; display: inline-flex; align-items: center; justify-content: center; }
  .hero { grid-template-columns: 1fr; }.hero-copy { min-height: 630px; }.hero-visual { min-height: 520px; margin-left: 0; -webkit-mask-image: none; mask-image: none; }
  .check-layout, .booking-section { grid-template-columns: 1fr; }.check-layout { gap: 55px; }
  .subscription-grid { grid-template-columns: 1fr; }.subscription-lead { min-height: 0; }
  .service-grid { grid-template-columns: 1fr 1fr; }.energy-flow { grid-template-columns: 1fr; gap: 30px; }
  .flow-diagram { max-width: 620px; width: 100%; margin: auto; }
  .attitude-section { grid-template-columns: 1fr; }.attitude-copy { grid-column: 1; padding-left: clamp(28px,10vw,100px); }.attitude-number { opacity: .7; }
  .contact-section { grid-template-columns: 1fr; } footer { grid-template-columns: 1.5fr 1fr 1fr; } footer > div:nth-child(4) { grid-column: 2; }
  .hero-lightning-background { --bolt-opacity-base:.22; --bolt-opacity-mid:.28; --bolt-opacity-peak:.38; left:calc(50% - 205px); top:32px; width:410px; height:570px; }.home-references { grid-template-columns:1fr; }.home-reference-image { min-height:500px; }.content-header { grid-template-columns:1fr auto; }.content-header nav { display:none; }.live-blog-heading { grid-template-columns:1fr; gap:18px; }.reference-card { grid-template-columns:1fr; }.reference-image { min-height:480px; }.reference-cta { grid-template-columns:1fr; }.comments-section,.editor-grid { grid-template-columns:1fr; }.comments-list { grid-column:1; }.editor-intro { grid-template-columns:1fr; gap:18px; }
}

@media (max-width: 640px) {
  .withdraw-fab { display: none; }
  .site-header { padding: 0 18px; gap: 10px; }.mobile-service-link { font-size: 11px; }.header-cta { min-height: 44px; padding: 0 11px; font-size: 10px; }.brand-mark { width: 116px; height: 38px; }.brand-mark img { width: 127px; top: -7px; }.brand-subline { font-size: 5.5px; }
  .hero-copy { padding:80px 24px 45px; min-height:620px; }.hero h1 { font-size:52px; }.hero-copy > p { font-size:15px; }.hero-trust { gap:8px; flex-wrap:wrap; }.hero-lightning-background { --bolt-opacity-base:.18; --bolt-opacity-mid:.23; --bolt-opacity-peak:.32; left:7%; top:48px; width:86%; height:510px; }.hero-visual { min-height:430px; }.hero-visual > img { object-position:right center; }.hero-badge { left:30px; bottom:30px; }
  .myhammer-review { padding: 24px; grid-template-columns: 1fr auto; gap: 14px 20px; }.myhammer-stars { justify-self: end; font-size: 21px; }.myhammer-score { grid-column: 1; }.myhammer-link { grid-column: 2; grid-row: 2; align-self: end; }
  .check-section, .solutions-section, .booking-section { padding: 80px 22px; }.check-intro h2, .section-heading h2, .booking-intro h2 { font-size: 42px; }
  .service-bridge { margin-top: 78px; padding-top: 68px; }.service-bridge-intro h3 { font-size: 42px; }.service-bridge-intro > p { font-size: 14px; }.eligibility-steps { grid-template-columns: 1fr; }.eligibility-steps > div { min-height: 94px; }.subscription-grid { margin-top: 24px; gap: 17px; }.subscription-card { padding: 29px 22px; }.subscription-label { flex-direction: column; gap: 6px; }.subscription-label small { max-width: none; text-align: left; }.subscription-card h4 { font-size: 31px; }.subscription-price { align-items: flex-end; gap: 11px; }.subscription-price strong { font-size: 38px; }.management-tiers > div { gap: 12px; }
  .stat-card { grid-template-columns: 1fr; }.stat-card strong { grid-row: auto; }.control-section { grid-template-columns: 1fr; }.control-copy, .parts-pricing { padding: 65px 24px; }.control-copy { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .section-heading { grid-template-columns: 1fr; }.service-grid { grid-template-columns: 1fr; }.service-card { min-height: 270px; }.service-card h3 { margin-top: 45px; }
  .energy-flow { padding: 45px 20px; }.flow-diagram { transform: scale(.88); margin-left: -6%; width: 112%; }
  .attitude-copy { padding: 85px 24px; }.attitude-copy blockquote { font-size: 42px; }
  .booking-panel { padding: 24px 18px; }.date-strip { overflow-x: auto; grid-template-columns: repeat(5,70px); padding-bottom: 5px; }.slot-grid { grid-template-columns: 1fr 1fr; }.field-grid { grid-template-columns: 1fr; }.field-grid .wide { grid-column: auto; }
  .contact-section { padding: 75px 24px; }.contact-section h2 { font-size: 42px; }.contact-actions a { font-size: 12px; }
  footer { padding: 55px 24px 24px; grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1 / 3; margin-bottom: 15px; } footer > div:nth-child(4) { grid-column: auto; }
  .legal-header { padding: 18px 22px; }.legal-brand strong { font-size: 25px; }.legal-content { padding: 60px 0 85px; }.legal-block { padding: 26px 22px; }.order-review span { grid-template-columns: 72px 1fr; }
  .home-reference-image { min-height:380px; }.home-reference-copy { padding:75px 24px; }.content-header { height:82px; padding:0 18px; }.content-header .legal-brand strong { font-size:24px; }.content-header .legal-brand span { font-size:5px; }.content-header .header-cta { font-size:9px; padding:11px 10px; }.references-hero { padding:80px 24px 90px; }.references-hero h1 { font-size:54px; }.references-list { padding:60px 20px 85px; }.reference-card { min-height:0; }.reference-image { min-height:300px; }.reference-card-copy { padding:30px 24px 36px; }.reference-cta { margin:0 20px 85px; padding:35px 25px; }.reference-detail-head { padding:60px 0 40px; }.reference-detail-head h1 { font-size:48px; }.reference-body { padding:50px 0 75px; }.comments-section { padding:70px 22px 95px; }.comment-fields,.editor-field-row { grid-template-columns:1fr; }.editor-header { padding:16px 20px; }.editor-header > div span { display:none; }.editor-intro { padding:55px 22px 35px; }.editor-grid { padding:0 20px 60px; }.editor-existing { margin:0 20px 80px; padding:25px 20px; }.editor-existing > a { grid-template-columns:1fr; gap:5px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition:none!important; animation:none!important; } }

/* Wartungsseite und Start-Teaser – nutzt die Farben und Schriften der bestehenden Seite */

.wartung-teaser { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(40px, 7vw, 110px); align-items: center; padding: 110px clamp(28px, 7vw, 112px); background: var(--paper); }
.wartung-teaser-copy h2 { font-size: clamp(40px, 5vw, 68px); letter-spacing: -.055em; line-height: 1.03; color: var(--navy-dark); margin: 26px 0 26px; font-weight: 630; text-wrap: balance; }
.wartung-teaser-copy h2 span { font-family: var(--font-serif), Georgia, serif; font-style: italic; color: var(--blue); font-weight: 500; }
.wartung-teaser-copy > p { color: var(--muted); font-size: 15px; line-height: 1.75; max-width: 610px; margin: 0; }
.wartung-teaser-actions { display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; margin-top: 34px; }
.wartung-teaser-price { position: relative; display: flex; flex-direction: column; gap: 6px; background: #fff; border-top: 4px solid var(--blue); box-shadow: 0 20px 70px rgba(16,26,53,.1); padding: clamp(28px, 4vw, 46px); transition: transform .2s; }
.wartung-teaser-price:hover { transform: translateY(-3px); }
.wartung-teaser-label { color: var(--blue); text-transform: uppercase; letter-spacing: .14em; font-size: 10px; font-weight: 800; }
.wartung-teaser-price strong { color: var(--navy); font-size: clamp(46px, 5vw, 64px); letter-spacing: -.05em; line-height: 1; margin-top: 12px; }
.wartung-teaser-price small { color: #6d7485; font-size: 12px; }
.wartung-teaser-more { color: #525a69; font-size: 13px; padding-top: 10px; border-top: 1px solid var(--line); margin-top: 8px; }
.wartung-teaser-price i { position: absolute; right: 26px; top: 26px; font-style: normal; color: var(--blue); width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; }

.wart-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 6vw, 96px); align-items: center; padding: 96px clamp(28px, 7vw, 112px) 110px; background: radial-gradient(circle at 12% 8%, rgba(109,140,255,.12), transparent 42%), #fff; }
.wart-hero-copy h1 { font-size: clamp(52px, 7.4vw, 108px); line-height: .93; letter-spacing: -.065em; color: var(--navy-dark); margin: 30px 0 30px; font-weight: 700; text-wrap: balance; }
.wart-hero-copy h1 em { font-family: var(--font-serif), Georgia, serif; font-style: italic; color: var(--blue); font-weight: 500; letter-spacing: -.04em; }
.wart-hero-copy > p { color: #555d6e; font-size: 17px; line-height: 1.7; max-width: 590px; margin: 0; }
.wart-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; margin-top: 38px; }
.wart-tagline { margin: 42px 0 0; padding-left: 18px; border-left: 3px solid #f3be27; color: var(--navy); font-size: 17px; line-height: 1.5; font-weight: 700; max-width: 520px; }

.wart-price-card { background: var(--navy-deep); color: #fff; padding: clamp(28px, 4vw, 46px); box-shadow: 0 30px 80px rgba(9,17,39,.25); position: relative; }
.wart-price-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: #f3be27; }
.wart-price-top { display: flex; justify-content: space-between; gap: 12px; color: #8fa5ff; text-transform: uppercase; letter-spacing: .14em; font-size: 10px; font-weight: 800; }
.wart-price-top small { color: #aeb8ce; font-size: 10px; }
.wart-price-main { display: flex; align-items: flex-end; gap: 18px; flex-wrap: wrap; margin-top: 22px; }
.wart-price-main strong { font-size: clamp(54px, 6vw, 80px); line-height: .9; letter-spacing: -.06em; font-weight: 800; }
.wart-price-main span { color: #aeb8ce; font-size: 13px; line-height: 1.45; padding-bottom: 6px; }
.wart-price-next { display: flex; flex-direction: column; gap: 3px; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); }
.wart-price-next b { font-size: 16px; }
.wart-price-next span { color: #aeb8ce; font-size: 12px; }
.wart-included { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); }
.wart-included-label { color: #8fa5ff; text-transform: uppercase; letter-spacing: .14em; font-size: 10px; font-weight: 800; }
.wart-included ul { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 15px; }
.wart-included li { display: flex; gap: 13px; align-items: flex-start; }
.wart-included li > span { width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; background: #f3be27; color: var(--navy-deep); display: grid; place-items: center; font-size: 11px; font-weight: 900; }
.wart-included b { display: block; font-size: 15px; }
.wart-included small { display: block; color: #aeb8ce; font-size: 12px; line-height: 1.5; margin-top: 2px; }
.wart-price-note { margin: 24px 0 0; color: #8f9ab3; font-size: 11px; line-height: 1.6; }

.wart-why { background: var(--navy-deep); color: #fff; padding: 110px clamp(28px, 7vw, 112px); display: grid; grid-template-columns: 1fr 1fr; gap: 50px clamp(40px, 7vw, 110px); align-items: start; }
.wart-why-intro h2 { font-size: clamp(40px, 5vw, 66px); line-height: 1.02; letter-spacing: -.055em; margin: 26px 0; font-weight: 650; text-wrap: balance; }
.wart-why-intro h2 span { font-family: var(--font-serif), Georgia, serif; font-style: italic; color: #8fa5ff; font-weight: 500; }
.wart-why-intro p { color: #aeb8ce; font-size: 15px; line-height: 1.8; max-width: 580px; margin: 0; }
.wart-chain { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; counter-reset: none; align-self: center; }
.wart-chain li { display: grid; grid-template-columns: 52px 1fr; gap: 4px 18px; padding: 22px 24px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); position: relative; }
.wart-chain li:not(:last-child)::after { content: "↓"; position: absolute; left: 44px; bottom: -17px; z-index: 2; color: #8fa5ff; font-size: 16px; line-height: 1; background: var(--navy-deep); padding: 2px 4px; }
.wart-chain b { grid-row: 1 / 3; font-size: 40px; line-height: 1; color: #8fa5ff; font-weight: 800; letter-spacing: -.04em; }
.wart-chain strong { font-size: 18px; letter-spacing: -.02em; }
.wart-chain span { color: #aeb8ce; font-size: 13px; line-height: 1.55; }
.wart-chain li.is-last { background: #f3be27; border-color: #f3be27; color: var(--navy-deep); }
.wart-chain li.is-last b { color: var(--navy-deep); }
.wart-chain li.is-last span { color: #3d3100; }
.wart-why-note { grid-column: 1 / -1; margin: 0; color: #fff; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.35; font-family: var(--font-serif), Georgia, serif; font-style: italic; max-width: 980px; text-wrap: balance; }
.wart-stat { grid-column: 1 / -1; margin-top: 0; border-color: rgba(255,255,255,.14); }
.wart-stat strong { color: #fff; }
.wart-stat p { color: #aeb8ce; }
.wart-stat a { color: #8fa5ff; }

.wart-process { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(50px, 7vw, 110px); padding: 110px clamp(28px, 7vw, 112px); background: var(--paper); align-items: start; }
.wart-steps h2 { font-size: clamp(40px, 5vw, 64px); letter-spacing: -.055em; line-height: 1.03; color: var(--navy-dark); margin: 26px 0 34px; font-weight: 630; }
.wart-steps h2 span { font-family: var(--font-serif), Georgia, serif; font-style: italic; color: var(--blue); font-weight: 500; }
.wart-steps ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; }
.wart-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 18px; align-items: start; }
.wart-steps li > b { width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; font-size: 16px; font-weight: 800; }
.wart-steps strong { display: block; color: var(--navy-dark); font-size: 19px; letter-spacing: -.02em; margin-top: 2px; }
.wart-steps li span { display: block; color: #5a6272; font-size: 14px; line-height: 1.7; margin-top: 4px; max-width: 560px; }
.wart-honest { margin: 30px 0 0 62px; color: var(--navy); font-size: 15px; line-height: 1.6; font-weight: 700; }
.wart-audience { display: grid; gap: 14px; }
.wart-audience .section-kicker { margin-bottom: 8px; }
.wart-audience-card { background: #fff; padding: 22px 24px; border-left: 3px solid var(--blue); box-shadow: 0 10px 34px rgba(16,26,53,.06); display: grid; gap: 6px; }
.wart-audience-card strong { color: var(--navy-dark); font-size: 17px; letter-spacing: -.02em; }
.wart-audience-card span { color: #5a6272; font-size: 13.5px; line-height: 1.6; }

.wart-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 0 clamp(28px, 7vw, 112px); }
.wart-facts > div { padding: 46px 32px 46px 0; display: grid; gap: 10px; align-content: start; }
.wart-facts > div + div { padding-left: 32px; border-left: 1px solid var(--line); }
.wart-facts strong { color: var(--navy-dark); font-size: 18px; letter-spacing: -.02em; }
.wart-facts span { color: #5a6272; font-size: 13.5px; line-height: 1.65; }
.wart-facts > p { grid-column: 1 / -1; margin: 0; padding: 18px 0 26px; border-top: 1px solid var(--line); color: #858b98; font-size: 10.5px; line-height: 1.6; }
.wart-service .service-bridge { margin-top: 0; padding-top: 0; border-top: 0; }

@media (max-width: 980px) {
  .wartung-teaser, .wart-hero, .wart-why, .wart-process { grid-template-columns: 1fr; }
  .wart-hero { padding-top: 70px; }
  .wart-facts { grid-template-columns: 1fr; }
  .wart-facts > div, .wart-facts > div + div { padding: 30px 0; border-left: 0; }
  .wart-facts > div + div { border-top: 1px solid var(--line); }
}

@media (max-width: 640px) {
  .wartung-teaser, .wart-why, .wart-process { padding: 80px 22px; }
  .wart-hero { padding: 56px 22px 80px; }
  .wart-hero-copy h1 { font-size: 50px; }
  .wart-hero-copy > p { font-size: 15px; }
  .wartung-teaser-copy h2, .wart-why-intro h2, .wart-steps h2 { font-size: 40px; }
  .wart-price-card { padding: 28px 22px; }
  .wart-price-top { flex-direction: column; gap: 4px; }
  .wart-chain li { grid-template-columns: 38px 1fr; padding: 18px; }
  .wart-chain b { font-size: 30px; }
  .wart-chain li:not(:last-child)::after { left: 30px; }
  .wart-honest { margin-left: 0; }
  .wart-facts { padding: 0 22px; }
}

/* Grid-Spalten dürfen schmaler werden als ihr breitester Inhalt (verhindert Überlauf am Handy) */
.booking-section .booking-panel, .booking-section > *, .wart-hero > *, .wart-why > *, .wart-process > *, .wartung-teaser > * { min-width: 0; }
@media (max-width: 980px) { .booking-section { grid-template-columns: minmax(0, 1fr); } }
.header-cta { display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.wart-price-next b em, .nowrap { white-space: nowrap; font-style: normal; }

/* Terminwahl: Anzahl Verteilungen bestimmt die Dauer */
.distribution-stepper { display: flex; justify-content: space-between; align-items: center; gap: 16px; background: var(--paper); padding: 16px 18px; margin-bottom: 10px; }
.distribution-stepper b { display: block; color: var(--navy-dark); font-size: 14px; letter-spacing: -.01em; }
.distribution-stepper small { display: block; color: #6d7485; font-size: 11px; margin-top: 3px; }
.stepper-control { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.stepper-control button { width: 40px; height: 40px; border: 1px solid var(--line); background: #fff; color: var(--blue); font-size: 20px; font-weight: 700; cursor: pointer; border-radius: 2px; line-height: 1; }
.stepper-control button:disabled { color: #c3c7d0; cursor: default; }
.stepper-control output { min-width: 34px; text-align: center; color: var(--navy); font-size: 20px; font-weight: 800; }
.booking-duration { margin: 0 0 18px; color: #6d7485; font-size: 12px; line-height: 1.5; }
.booking-duration b { color: var(--navy); }
.booking-duration a { color: var(--blue); font-weight: 700; }
.booking-window { margin: 14px 0 0; color: #6d7485; font-size: 12px; }
.booking-window b { color: var(--navy); }
.date-strip { row-gap: 6px; }
.date-strip button:disabled, .slot-grid button:disabled { opacity: .38; cursor: not-allowed; text-decoration: line-through; }
.booking-next:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 640px) {
  .date-strip { grid-template-columns: repeat(10, 70px); }
  .slot-grid { grid-template-columns: repeat(3, 1fr); }
  .distribution-stepper { padding: 14px; }
}

/* Wortmarke Elukom (ersetzt das alte Hollands-Logo) */
.brand-wordmark { display: block; font-family: var(--font-serif), Georgia, serif; font-style: italic; font-weight: 500; color: var(--navy); font-size: 36px; line-height: 1; letter-spacing: -.02em; padding: 0 6px 5px; border-bottom: 3px solid var(--navy); margin-bottom: 4px; }
.brand-subline { letter-spacing: .14em; }
@media (max-width: 640px) {
  .brand-wordmark { font-size: 27px; padding: 0 4px 4px; border-bottom-width: 2px; margin-bottom: 3px; }
  .brand-subline { font-size: 5.2px; letter-spacing: .1em; }
}

/* Blaue Hervorhebungen in derselben Schrift wie der übrige Text (keine Serifen-/Kursivschrift) */
.hero h1 em, .references-hero h1 em, .wart-hero-copy h1 em,
.check-intro h2 span, .booking-intro h2 span, .service-bridge-intro h3 span, .home-reference-copy h2 span,
.wartung-teaser-copy h2 span, .wart-why-intro h2 span, .wart-steps h2 span {
  font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit;
}

/* Neue Seitenstruktur: Menü, Leistungsseiten, Bewertungen, Über uns */

/* ---------- Kopfzeile & Menü ---------- */
.site-header { grid-template-columns: auto 1fr auto; gap: 28px; position: sticky; top: 0; }
.desktop-nav { justify-self: center; gap: clamp(16px, 2vw, 34px); }
.desktop-nav a { font-size: 12.5px; white-space: nowrap; position: relative; }
.desktop-nav a.active { color: var(--blue); }
.desktop-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 2px; background: var(--blue); }
.header-cta { justify-self: end; }
.mobile-nav { display: none; }
.mobile-nav summary { list-style: none; width: 46px; height: 46px; display: grid; place-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 3px; cursor: pointer; background: #fff; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav summary span { display: block; width: 20px; height: 2px; background: var(--navy); transition: transform .2s, opacity .2s; }
.mobile-nav[open] summary span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-nav[open] summary span:nth-child(2) { opacity: 0; }
.mobile-nav[open] summary span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-nav nav { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 30px 60px rgba(16,26,53,.18); padding: 10px 22px 26px; display: grid; max-height: calc(100vh - 82px); overflow-y: auto; }
.mobile-nav nav a { padding: 16px 2px; border-bottom: 1px solid var(--line); color: var(--navy-dark); font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.mobile-nav nav a.active { color: var(--blue); }
.mobile-nav nav .mobile-nav-cta { margin-top: 18px; border: 0; background: var(--blue); color: #fff; text-align: center; border-radius: 3px; font-size: 15px; }
.mobile-nav nav .mobile-nav-tel { border: 0; text-align: center; color: var(--blue); font-size: 15px; }
@media (max-width: 1180px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: 12px; }
  .desktop-nav { display: none; }
  .mobile-nav { display: block; }
}
@media (max-width: 980px) { .site-header { height: 82px; } }

/* ---------- Leistungsseiten ---------- */
.svc-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(40px, 6vw, 96px); align-items: center; padding: 96px clamp(28px, 7vw, 112px) 110px; background: radial-gradient(circle at 12% 8%, rgba(109,140,255,.12), transparent 42%), #fff; }
.svc-hero > * { min-width: 0; }
.svc-hero-copy h1 { font-size: clamp(50px, 6.8vw, 100px); line-height: .95; letter-spacing: -.06em; color: var(--navy-dark); margin: 30px 0; font-weight: 700; text-wrap: balance; }
.svc-hero-copy h1 span { color: var(--blue); }
.svc-hero-copy > p { color: #555d6e; font-size: 17px; line-height: 1.7; max-width: 600px; margin: 0; }
.svc-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; margin-top: 38px; }
.svc-card-title { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.1; letter-spacing: -.04em; margin: 18px 0 0; font-weight: 700; }

.svc-why { background: var(--navy-deep); color: #fff; padding: 110px clamp(28px, 7vw, 112px); display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px clamp(40px, 7vw, 110px); align-items: start; }
.svc-why > * { min-width: 0; }
.svc-why-intro h2 { font-size: clamp(40px, 5vw, 64px); line-height: 1.02; letter-spacing: -.055em; margin: 26px 0; font-weight: 650; text-wrap: balance; }
.svc-why-intro h2 span { color: #8fa5ff; }
.svc-why-intro p { color: #aeb8ce; font-size: 15px; line-height: 1.8; margin: 0; max-width: 560px; }
.svc-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.svc-why-grid > div { padding: 26px 24px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); display: grid; gap: 8px; align-content: start; }
.svc-why-grid b { color: #f3be27; font-size: 12px; letter-spacing: .1em; }
.svc-why-grid strong { font-size: 19px; letter-spacing: -.02em; }
.svc-why-grid span { color: #aeb8ce; font-size: 13.5px; line-height: 1.65; }

.svc-services .section-heading h2 span { color: var(--blue); }
.svc-grid { grid-template-columns: repeat(3, 1fr); }
.svc-grid .service-card { min-height: 250px; }
.svc-grid .service-card h3 { margin-top: 44px; }
.svc-grid .service-card p { font-size: 13px; }
.svc-flow { padding: 0 clamp(28px, 7vw, 112px) 0; background: #fff; }
.svc-flow .energy-flow { margin-top: 0; padding-top: 90px; }

.svc-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 7vw, 110px); padding: 110px clamp(28px, 7vw, 112px); background: #fff; border-top: 1px solid var(--line); }
.svc-faq > * { min-width: 0; }
.svc-faq-intro h2 { font-size: clamp(40px, 5vw, 64px); letter-spacing: -.055em; line-height: 1.03; color: var(--navy-dark); margin: 26px 0 20px; font-weight: 630; }
.svc-faq-intro p { color: var(--muted); font-size: 15px; line-height: 1.75; margin: 0; }
.svc-faq-list { display: grid; border-top: 1px solid var(--line); }
.svc-faq-list details { border-bottom: 1px solid var(--line); }
.svc-faq-list summary { list-style: none; cursor: pointer; padding: 24px 44px 24px 0; position: relative; color: var(--navy-dark); font-size: 18px; font-weight: 700; letter-spacing: -.02em; line-height: 1.35; }
.svc-faq-list summary::-webkit-details-marker { display: none; }
.svc-faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 20px; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; color: var(--blue); font-size: 18px; font-weight: 600; }
.svc-faq-list details[open] summary::after { content: "–"; background: var(--blue); color: #fff; border-color: var(--blue); }
.svc-faq-list details p { margin: 0 0 26px; color: #5a6272; font-size: 15px; line-height: 1.75; max-width: 680px; }

/* ---------- Startseite: Bewertungen ---------- */
.reviews-section { padding: 100px clamp(28px, 7vw, 112px) 90px; background: var(--paper); }
.reviews-head { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.reviews-head h2 { font-size: clamp(40px, 5vw, 66px); letter-spacing: -.055em; line-height: 1.03; color: var(--navy-dark); margin: 24px 0 0; font-weight: 630; }
.reviews-head h2 span { color: var(--blue); }
.reviews-score { display: grid; justify-items: start; gap: 6px; background: #fff; padding: 26px 30px; border-top: 4px solid #f3be27; box-shadow: 0 20px 60px rgba(16,26,53,.08); min-width: 280px; transition: transform .2s; }
.reviews-score:hover { transform: translateY(-3px); }
.reviews-platform { color: #6d7485; font-size: 11px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.reviews-platform b { color: var(--navy); }
.reviews-stars { color: #f3be27; font-size: 22px; letter-spacing: 3px; }
.reviews-score strong { color: var(--navy); font-size: 46px; line-height: 1; letter-spacing: -.04em; }
.reviews-score strong small { font-size: 20px; color: #8a90a0; }
.reviews-count { color: #6d7485; font-size: 13px; }
.reviews-link { color: var(--blue); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; margin-top: 6px; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 50px; }
.review-card { margin: 0; background: #fff; padding: 28px 26px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 10px 34px rgba(16,26,53,.06); }
.review-stars { color: #f3be27; font-size: 16px; letter-spacing: 2px; }
.review-card blockquote { margin: 0; color: #3e4555; font-size: 15px; line-height: 1.65; flex: 1; }
.review-card figcaption { display: grid; gap: 3px; padding-top: 14px; border-top: 1px solid var(--line); }
.review-card figcaption b { color: var(--navy-dark); font-size: 14px; }
.review-card figcaption span { color: #858b98; font-size: 12px; }
.reviews-source { margin: 26px 0 0; color: #858b98; font-size: 11px; }

/* ---------- Startseite: Leistungs-Kacheln ---------- */
.solutions-section .section-heading h2 span { color: var(--blue); }
.home-services .service-card { min-height: 380px; }
.home-services .service-card h3 { margin-top: 56px; font-size: 22px; }
.home-services .service-card p { font-size: 13px; }
.home-services .service-card ul { list-style: none; margin: 20px 0 26px; padding: 0; display: grid; gap: 8px; }
.home-services .service-card li { color: var(--navy); font-size: 12px; font-weight: 700; padding-left: 18px; position: relative; }
.home-services .service-card li::before { content: ""; position: absolute; left: 0; top: 6px; width: 8px; height: 2px; background: #f3be27; }
.home-services .service-card em { margin-top: auto; font-style: normal; color: var(--blue); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.attitude-more { margin-top: 34px; background: #fff; color: var(--navy); }

/* ---------- Über uns ---------- */
.about-hero h1 { color: var(--navy-dark); font-size: clamp(44px, 5.4vw, 76px); line-height: 1.02; letter-spacing: -.055em; margin: 24px 0; }
.about-hero h1 span { color: var(--blue); }
.about-hero .home-reference-copy p + p { margin-top: 0; }
.about-hero .signature { margin-top: 10px; }
.about-area { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 110px); padding: 110px clamp(28px, 7vw, 112px); background: var(--paper); align-items: center; }
.about-area > * { min-width: 0; }
.about-area h2 { font-size: clamp(40px, 5vw, 64px); letter-spacing: -.055em; line-height: 1.03; color: var(--navy-dark); margin: 24px 0; font-weight: 630; }
.about-area h2 span { color: var(--blue); }
.about-area p { color: var(--muted); font-size: 15px; line-height: 1.75; margin: 0; max-width: 560px; }
.about-area-links { display: grid; gap: 12px; }
.about-area-links a { background: #fff; padding: 22px 24px; border-left: 3px solid var(--blue); box-shadow: 0 10px 34px rgba(16,26,53,.06); display: grid; gap: 4px; transition: transform .2s; }
.about-area-links a:hover { transform: translateX(4px); }
.about-area-links b { color: var(--navy-dark); font-size: 17px; }
.about-area-links span { color: #5a6272; font-size: 13px; }

/* ---------- Kontakt & Fuß ---------- */
.contact-lead { color: #aab5ce; font-size: 15px; line-height: 1.7; max-width: 560px; margin: 22px 0 0; }
.copyright a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.legal-page .site-header { background: rgba(255,255,255,.96); }

/* ---------- Responsiv ---------- */
@media (max-width: 980px) {
  .svc-hero, .svc-why, .svc-faq, .about-area { grid-template-columns: 1fr; }
  .svc-hero { padding-top: 70px; }
  .svc-grid { grid-template-columns: 1fr 1fr; }
  .reviews-head { grid-template-columns: 1fr; }
  .reviews-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .svc-hero { padding: 56px 22px 80px; }
  .svc-hero-copy h1 { font-size: 48px; }
  .svc-hero-copy > p { font-size: 15px; }
  .svc-why, .svc-faq, .about-area, .reviews-section { padding: 80px 22px; }
  .svc-why-intro h2, .svc-faq-intro h2, .about-area h2, .reviews-head h2 { font-size: 40px; }
  .svc-why-grid, .svc-grid, .reviews-grid { grid-template-columns: 1fr; }
  .svc-flow { padding: 0 22px; }
  .svc-faq-list summary { font-size: 16px; }
  .reviews-score { min-width: 0; width: 100%; }
  .about-hero h1 { font-size: 44px; }
}
.service-card h3 { font-weight: 700; }
@media (max-width: 640px) {
  .svc-grid .service-card, .home-services .service-card, .about-values .service-card { min-height: 0; padding: 26px 22px; }
  .svc-grid .service-card h3, .home-services .service-card h3, .about-values .service-card h3 { margin-top: 22px; }
}
@media (max-width: 640px) { .reviews-grid .review-card:nth-child(n+4) { display: none; } }

/* Größeres Logo, Kopfzeile ohne Überschneidungen */
.site-header { height: 100px; }
.brand-wordmark { font-size: 46px; padding: 0 8px 6px; border-bottom-width: 3px; }
.brand-subline { font-size: 9px; letter-spacing: .16em; }
.desktop-nav { gap: clamp(14px, 1.6vw, 30px); }
@media (max-width: 1360px) { .desktop-nav a { font-size: 12px; } .brand-wordmark { font-size: 40px; } .brand-subline { font-size: 8px; } }
@media (max-width: 1180px) { .site-header { height: 90px; } .brand-wordmark { font-size: 40px; } }
@media (max-width: 640px) {
  .site-header { height: 80px; }
  .brand-wordmark { font-size: 32px; padding: 0 5px 4px; border-bottom-width: 2px; }
  .brand-subline { font-size: 6px; letter-spacing: .08em; }
}
.header-cta { white-space: nowrap; }

/* Über uns: Porträt von Hubert */
.about-hero .home-reference-image { min-height: 720px; }
.about-hero .home-reference-image img { object-position: 50% 30%; filter: none; }
.about-hero .home-reference-image:after { background: linear-gradient(90deg, transparent 70%, rgba(247,248,251,.22)); }
@media (max-width: 980px) { .about-hero .home-reference-image { min-height: 560px; } }
@media (max-width: 640px) { .about-hero .home-reference-image { min-height: 0; aspect-ratio: 4 / 4.4; } .about-hero .home-reference-image img { object-position: 50% 32%; } }

/* Neues Logo: Siegel + ELUKOM in Manrope */
.brand { flex-direction: row; align-items: center; gap: 12px; }
.brand-mark-svg { flex: 0 0 auto; display: block; }
.brand-text { display: flex; flex-direction: column; gap: 4px; }
.brand-name { font-family: var(--font-sans), Manrope, Arial, sans-serif; font-weight: 800; font-size: 27px; line-height: 1; letter-spacing: .16em; color: var(--navy); }
.brand-subline { font-size: 8px; letter-spacing: .14em; text-align: left; }
.footer-brand { gap: 10px; }
.footer-brand svg { margin-bottom: 6px; }
.footer-name { color: #fff; font-weight: 800; font-size: 26px; letter-spacing: .16em; line-height: 1; }
@media (max-width: 1360px) { .brand-name { font-size: 24px; } .brand-subline { font-size: 7.5px; } .brand-mark-svg { width: 52px; height: 52px; } }
@media (max-width: 640px) {
  .brand { gap: 8px; }
  .brand-mark-svg { width: 42px; height: 42px; }
  .brand-name { font-size: 19px; letter-spacing: .14em; }
  .brand-subline { font-size: 5.4px; letter-spacing: .08em; }
}

/* Großer Logo-Kopf (Siegel + ELUKOM + Kontakt) mit Menüleiste darunter */
.site-header.site-header-lg { position: relative; height: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px clamp(24px, 4.5vw, 74px); border-bottom: 0; background: #fff; }
.brand-lg { display: flex; align-items: center; gap: 26px; }
.brand-lg-seal { flex: 0 0 auto; display: block; }
.brand-lg-text { display: flex; flex-direction: column; gap: 9px; }
.brand-lg-name { font-weight: 800; font-size: 54px; line-height: .9; letter-spacing: .16em; color: var(--navy); }
.brand-lg-sub { font-size: 13px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #5a6a8f; }
.brand-lg-side { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; }
.brand-lg-contact { display: flex; gap: 10px; align-items: center; font-size: 15px; font-weight: 700; color: var(--navy); white-space: nowrap; }
.brand-lg-contact a:hover { color: var(--blue); }
.brand-lg-contact span { color: #f3be27; }
.site-nav { position: sticky; top: 0; z-index: 25; display: flex; justify-content: center; gap: clamp(18px, 2.6vw, 46px); padding: 0 24px; height: 58px; align-items: center; background: rgba(255,255,255,.96); backdrop-filter: blur(16px); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.site-nav a { font-size: 13px; font-weight: 700; color: #4b5262; white-space: nowrap; position: relative; padding: 18px 0; }
.site-nav a:hover, .site-nav a.active { color: var(--blue); }
.site-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 10px; height: 2px; background: var(--blue); }
.site-header-lg .mobile-nav { display: none; }
@media (max-width: 1180px) {
  .brand-lg-name { font-size: 44px; }
  .brand-lg-seal { width: 104px; height: 104px; }
  .site-nav { gap: 18px; overflow-x: auto; justify-content: flex-start; }
}
@media (max-width: 980px) {
  .site-nav { display: none; }
  .site-header-lg .mobile-nav { display: block; }
  .site-header.site-header-lg { position: sticky; top: 0; z-index: 25; border-bottom: 1px solid var(--line); }
  .brand-lg-side .brand-lg-contact { display: none; }
  .brand-lg-seal { width: 84px; height: 84px; }
  .brand-lg-name { font-size: 34px; }
  .brand-lg-sub { font-size: 10px; }
}
@media (max-width: 640px) {
  .site-header.site-header-lg { padding: 12px 16px; gap: 10px; }
  .brand-lg { gap: 12px; }
  .brand-lg-seal { width: 62px; height: 62px; }
  .brand-lg-text { gap: 5px; }
  .brand-lg-name { font-size: 24px; letter-spacing: .14em; }
  .brand-lg-sub { font-size: 7px; letter-spacing: .12em; }
  .brand-lg-side .header-cta { display: none; }
}
/* engere Buchstaben bei ELUKOM */
.brand-lg-name { letter-spacing: .05em; }
.footer-name, .brand-name { letter-spacing: .05em; }
@media (max-width: 640px) { .brand-lg-name { letter-spacing: .04em; font-size: 26px; } }
.brand-lg-name, .footer-name, .brand-name { letter-spacing: -.01em; }
.brand-lg-name { font-size: 60px; }
@media (max-width: 1180px) { .brand-lg-name { font-size: 48px; } }
@media (max-width: 980px) { .brand-lg-name { font-size: 38px; } }
@media (max-width: 640px) { .brand-lg-name { font-size: 29px; letter-spacing: -.01em; } }
.footer-name { font-size: 30px; }
/* Schriftzug ELUKOM in Playfair Display SC */
.brand-lg-name, .footer-name { font-family: 'Playfair Display SC', Georgia, serif; font-weight: 700; letter-spacing: .04em; }
.brand-lg-name { font-size: 58px; line-height: .95; }
@media (max-width: 1180px) { .brand-lg-name { font-size: 46px; } }
@media (max-width: 980px) { .brand-lg-name { font-size: 36px; } }
@media (max-width: 640px) { .brand-lg-name { font-size: 27px; letter-spacing: .03em; } }
.footer-name { font-size: 30px; }
.brand-lg-name { margin-left: -0.018em; } .footer-name { margin-left: -0.018em; }
/* Zusatzzeilen mittig unter ELUKOM (Ausgleich für den Buchstabenabstand am Zeilenende) */
.brand-lg-text { align-items: center; text-align: center; }
.brand-lg-name { margin-left: 0; margin-right: -.04em; }
.brand-lg-sub { margin-right: -.2em; }
@media (max-width: 640px) { .brand-lg-name { margin-right: -.03em; } .brand-lg-sub { margin-right: -.12em; } }

:root{--font-sans:'Manrope';--font-serif:'Source Serif 4'}
