:root {
  --paper: #f5f5f7;
  --surface: #ffffff;
  --ink: #202023;
  --ink-soft: #3e3e42;
  --muted: #9a9ba2;
  --line: #dedee3;
  --soft: #ececef;
  --accent: #202023;
  --sans: "Geist", system-ui, sans-serif;
  --mono: "Geist Mono", monospace;
  --shadow: 0 24px 70px rgb(20 20 24 / 8%);
}

html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--ink); color: white; }
.shell { width: min(1180px, calc(100% - 3rem)); margin-inline: auto; }
.section { padding: clamp(5rem, 9vw, 8.5rem) 0; border-top: 1px solid var(--line); }
.section--soft { background: var(--soft); }
.section--dark { background: var(--ink); color: white; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 13ch; margin-bottom: 1.25rem; font-size: clamp(3.4rem, 6.2vw, 6.6rem); line-height: .94; letter-spacing: -.062em; }
h2 { font-size: clamp(2.3rem, 4vw, 4.5rem); line-height: .98; letter-spacing: -.05em; }
h3 { font-size: 1.35rem; letter-spacing: -.025em; }
.lead { max-width: 49ch; margin-bottom: 2rem; color: var(--muted); font-size: clamp(1.1rem, 1.65vw, 1.4rem); line-height: 1.6; letter-spacing: -.015em; }
.section--dark .lead { color: #aaaab0; }
.eyebrow { display: block; width: fit-content; margin-bottom: 1.6rem; padding-bottom: .65rem; border-bottom: 1px solid var(--line); color: var(--muted); font: 500 .8rem var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.button-row { display: flex; gap: .75rem; flex-wrap: wrap; }
.button { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 2rem; min-height: 48px; padding: 0 1.25rem; border: 1px solid var(--ink); border-radius: 7px; background: var(--ink); color: white; font-weight: 650; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.button:hover { transform: translateY(-2px); background: var(--ink-soft); }
.button::before { content: ''; position: absolute; inset: 0; transform: translateX(-105%); background: linear-gradient(110deg,transparent 20%,rgb(255 255 255 / 14%),transparent 80%); transition: transform .55s ease; }
.button:hover::before { transform: translateX(105%); }
.button .ui-icon { transition: transform .22s ease; }
.button:hover .ui-icon { transform: translateX(4px); }
.button--ghost { border-color: var(--line); background: transparent; color: var(--ink); }
.button--ghost:hover { background: var(--surface); }
.button--small { min-height: 44px; padding-inline: 1rem; font-size: .85rem; }

/* Startseiten-Hero nach der Referenz: animierte, organische Schnittkante. */
.hero { overflow: hidden; background: var(--paper); }
.hero__inner { min-height: min(60rem, calc(100svh - 76px)); display: grid; grid-template-columns: minmax(0, 1fr) minmax(30rem, 1.05fr); align-items: stretch; padding-left: max(1.5rem, calc((100vw - 1180px) / 2)); }
.hero__content { align-self: center; width: 100%; max-width: 690px; position: relative; z-index: 2; padding-block: clamp(4rem, 8vw, 8rem); padding-right: clamp(2rem, 5vw, 6rem); }
.hero__content h1 { max-width: 12.5ch; font-size: clamp(3.25rem, 1.65rem + 4.5vw, 6.5rem); }
.hero-word { position: relative; z-index: 0; display: inline-block; color: inherit; -webkit-text-fill-color: currentColor; }
.hero-word::after { content: ''; position: absolute; z-index: -1; right: -.04em; bottom: .04em; left: -.03em; height: .13em; opacity: .78; clip-path: polygon(0 34%,7% 17%,18% 28%,31% 10%,45% 24%,59% 7%,72% 22%,86% 12%,100% 29%,98% 77%,86% 91%,70% 76%,55% 94%,39% 79%,23% 92%,9% 76%,1% 84%); transform-origin: left center; }
.hero-word--heating::after { background: #e34136; transform: rotate(-1.4deg) scaleX(1.02); }
.hero-word--climate::after { bottom: .01em; background: #3975d2; clip-path: polygon(0 25%,12% 8%,24% 21%,39% 5%,52% 19%,68% 10%,82% 27%,100% 14%,99% 82%,83% 72%,69% 94%,51% 77%,36% 91%,18% 74%,2% 88%); transform: rotate(.8deg) scaleX(1.04); }
.hero-word--gas::after { right: -.08em; bottom: .06em; left: -.06em; background: #e3b21b; clip-path: polygon(0 31%,17% 9%,35% 23%,52% 4%,71% 20%,88% 11%,100% 34%,96% 86%,76% 73%,58% 95%,40% 77%,19% 90%,2% 74%); transform: rotate(-2.1deg) scaleX(1.06); }
.hero__content .lead { max-width: 44ch; }
.hero__cta { margin-top: .25rem; }
.hero__media { position: relative; width: 100%; height: 100%; min-height: inherit; overflow: hidden; isolation: isolate; }
.hero__mask-svg { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.hero__image { width: 100%; height: 100%; mask: url("#hero-mask"); -webkit-mask: url("#hero-mask"); }
.hero__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(245 245 247 / 12%), transparent 20%); pointer-events: none; }
.hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.025); animation: hero-image-drift 22s ease-in-out infinite alternate; will-change: transform; }
.has-parallax .hero__image img { animation: none; transform: translate3d(0,var(--hero-parallax-y,0px),0) scale(1.08); }
@keyframes hero-image-drift { from { transform: scale(1.025) translate3d(0, 0, 0); } to { transform: scale(1.065) translate3d(-1%, .5%, 0); } }

.trust { border-block: 1px solid var(--line); background: var(--surface); }
.trust__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust span { padding: 1.25rem; text-align: center; color: var(--ink-soft); font: 550 .72rem var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.trust span + span { border-left: 1px solid var(--line); }
.section-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 4rem; margin-bottom: 4rem; align-items: end; }
.section-head h2 { text-wrap: balance;}
.section-head p { max-width: 38ch; color: var(--muted); font-size: 1.1rem; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.card { position: relative; min-height: 260px; padding: 1.75rem; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; transition: background .35s cubic-bezier(.2,.7,.2,1),color .35s ease,transform .35s cubic-bezier(.2,.7,.2,1); }
.card::after { content: '↗'; position: absolute; right: 1.5rem; bottom: 1.4rem; opacity: 0; transform: translate(-8px,8px); transition: opacity .25s ease,transform .25s ease; }
.card:hover { z-index: 1; background: var(--ink); color: white; transform: translateY(-5px); }
.card:hover::after { opacity: 1; transform: none; }
.card small { margin-bottom: auto; color: var(--muted); font-family: var(--mono); }
.card p { margin-bottom: 0; color: var(--muted); }
.card__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: auto; color: var(--muted); }
.card__top small { margin: 0; }
.card__top .ui-icon { width: 1.8rem; height: 1.8rem; transition: color .25s ease,transform .35s cubic-bezier(.2,.7,.2,1); }
.card:hover .card__top .ui-icon { color: white; transform: rotate(-6deg) scale(1.12); }
.service-visual-card { isolation: isolate; min-height: clamp(290px, 30vw, 390px); color: var(--ink); border: 1px solid rgb(30 30 32 / 12%); border-radius: 0; box-shadow: 0 10px 30px rgb(30 30 32 / 4%); }
.service-visual-card::before { content: ''; position: absolute; z-index: -2; inset: 0; background-image: linear-gradient(180deg, rgb(245 245 247 / 36%) 0%, rgb(245 245 247 / 72%) 48%, rgb(245 245 247 / 98%) 100%), var(--card-image); background-position: center, var(--card-position, center); background-size: cover; filter: saturate(.68); transition: filter .5s ease, transform .7s cubic-bezier(.2,.7,.2,1), opacity .4s ease; }
.service-visual-card::after { content: ''; z-index: -1; inset: 0; right: auto; bottom: auto; width: 100%; height: 100%; background: linear-gradient(180deg, transparent 30%, rgb(30 30 32 / 3%) 100%); opacity: 1; transform: none; pointer-events: none; }
.service-visual-card > * { position: relative; z-index: 1; }
.service-visual-card .card__top { justify-content: flex-start; color: var(--ink); }
.service-visual-card .card__top .ui-icon { width: 3rem; height: 3rem; padding: .72rem; box-sizing: border-box; overflow: visible; border: 1px solid color-mix(in srgb,var(--card-accent,var(--ink)) 42%,transparent); border-radius: 50%; color: var(--card-accent,var(--ink)); background: rgb(245 245 247 / 76%); box-shadow: 0 8px 24px rgb(30 30 32 / 9%); backdrop-filter: blur(10px); }
.service-visual-card:hover { background: transparent; color: var(--ink); border-color: color-mix(in srgb,var(--card-accent,var(--ink)) 34%,transparent); box-shadow: 0 24px 60px rgb(30 30 32 / 13%); }
.service-visual-card:hover::before { filter: saturate(.94); transform: scale(1.045); }
.service-visual-card:hover::after { opacity: 1; transform: none; }
.service-visual-card:hover .card__top .ui-icon { color: var(--ink); transform: translateY(-3px); }
.service-visual-card p { color: var(--ink-soft); }
.service-visual-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: clamp(.8rem,1.6vw,1.4rem); border: 0; }
.service-visual-grid > .service-visual-card:nth-child(1) { --card-accent:#3975d2; }
.service-visual-grid > .service-visual-card:nth-child(2) { --card-accent:#d94b3f; }
.service-visual-grid > .service-visual-card:nth-child(3) { --card-accent:#347f9e; }
.service-visual-grid > .service-visual-card:nth-child(4) { --card-accent:#3975d2; }
.service-visual-grid > .service-visual-card:nth-child(5) { --card-accent:#57575d; }
.service-visual-grid > .service-visual-card:nth-child(6) { --card-accent:#c89300; }
.service-visual-grid > .service-visual-card:nth-child(-n+2) { grid-column: span 3; }
.service-visual-grid > .service-visual-card:nth-child(n+3):nth-child(-n+5) { grid-column: span 2; min-height: clamp(280px,24vw,340px); }
.service-visual-grid > .service-visual-card:nth-child(6) { grid-column: 1 / -1; min-height: clamp(320px,30vw,410px); }
.service-visual-card--gas::before { background-image: linear-gradient(90deg, rgb(245 245 247 / 96%) 0%, rgb(245 245 247 / 82%) 38%, rgb(245 245 247 / 18%) 72%), var(--card-image); }
.service-visual-card--gas h3,.service-visual-card--gas p { max-width: 32rem; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 9vw, 9rem); }
.text-links { display: grid; margin-top: 2rem; border-top: 1px solid #ffffff30; }
.text-links a { display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-bottom:1px solid #ffffff30;transition:padding .25s ease,color .25s ease; }
.text-links a span { transition: transform .25s ease; }
.text-links a:hover { padding-left:.5rem;color:white; }
.text-links a:hover span { transform:translateX(5px); }
.image-story { display:grid;grid-template-columns:1.08fr .92fr;min-height:760px;background:var(--ink);color:white; }
.image-story__media { overflow:hidden; }
.image-story__media img { width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.image-story:hover .image-story__media img { transform:scale(1.035);filter:saturate(.95); }
.image-story__content { align-self:center;padding:clamp(3rem,7vw,7rem); }
.image-story__content h2 { max-width:12ch; }
.image-story__content .eyebrow { border-color:#ffffff30; }

.page-hero { padding: clamp(7rem, 13vw, 12rem) 0; border-bottom: 1px solid var(--line); background: var(--paper); }
.page-hero h1 { max-width: 12ch; }
.page-hero .button { margin-top: .5rem; }
.page-hero--image { position: relative; isolation: isolate; min-height: clamp(34rem, 62vw, 48rem); display: flex; align-items: center; overflow: hidden; background: var(--paper); }
.page-hero--image::before { content: ''; position: absolute; z-index: -2; inset: 0; background-image: var(--hero-image); background-size: cover; background-position: var(--hero-position, center); filter: saturate(.72); transform: scale(1.015); }
.has-parallax .page-hero--image::before { transform: translate3d(0,var(--hero-parallax-y,0px),0) scale(1.08); will-change: transform; }
.page-hero--image::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgb(245 245 247 / 98%) 0%, rgb(245 245 247 / 94%) 30%, rgb(245 245 247 / 66%) 49%, rgb(245 245 247 / 8%) 73%); }
.page-hero--image .shell { width: min(1180px, calc(100% - 3rem)); }
.page-hero--image .lead { max-width: 43ch; }
.number-list { border-top: 1px solid var(--line); }
.number-list article { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 2rem; padding: 2.25rem 0; border-bottom: 1px solid var(--line); }
.number-list small { color: var(--muted); font-family: var(--mono); }
.number-list h2 { font-size: clamp(1.5rem, 3vw, 2.5rem); }
.number-list p { color: var(--muted); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.steps article { min-height: 200px; padding: 1.6rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; }
.steps b { color: var(--muted); font-family: var(--mono); }
.pill-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-bottom: 4rem; }
.pill-grid span { padding: 1rem; border: 1px solid var(--line); border-radius: 6px; text-align: center; }
.guide-cards { grid-template-columns: repeat(4, 1fr); }
.callout { margin-top: 5rem; padding: clamp(2.5rem, 6vw, 6rem); background: var(--ink); color: white; }
.callout p { max-width: 52ch; color: #aaaab0; }
.callout .button { border-color: white; background: white; color: var(--ink); }
.portrait { width: 100%; max-width: 520px; border-radius: 0; filter: saturate(.82); }
.contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-card { min-height: 210px; padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; }
.contact-card small { display: block; margin-bottom: 2rem; color: var(--muted); font-family: var(--mono); }
.contact-card .icon-badge { margin-bottom: 3rem; color: var(--muted); transition: color .25s ease, background .25s ease, transform .3s ease; }
.contact-card:hover .icon-badge { color: white; background: var(--ink); transform: rotate(-5deg); }
.contact-hero { padding-block:clamp(2rem,5vw,5rem) clamp(4rem,8vw,8rem);border-bottom:1px solid var(--line) }
.contact-hero__grid { display:grid;grid-template-columns:minmax(0,.95fr) minmax(25rem,1.05fr);gap:clamp(3rem,8vw,8rem);align-items:center }
.contact-hero__content h1 { max-width:10ch;font-size:clamp(3.4rem,6.5vw,7.4rem) }
.contact-hero__content .lead { max-width:43ch }
.contact-hero__facts { margin:clamp(2rem,4vw,3.5rem) 0 0;padding:1rem 0 0;display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;border-top:1px solid var(--line);list-style:none;color:var(--muted);font:600 .68rem var(--mono);letter-spacing:.05em;text-transform:uppercase }
.contact-hero__facts li { display:flex;align-items:center;gap:.5rem }.contact-hero__facts li::before { content:'';width:.35rem;height:.35rem;border-radius:50%;background:var(--ink) }
.contact-hero__portrait { position:relative;min-height:clamp(31rem,52vw,47rem);margin:0;overflow:hidden;background:#ddd }
.contact-hero__portrait::after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgb(20 20 22 / 64%) 100%);pointer-events:none }
.contact-hero__portrait img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;filter:saturate(.78);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s ease }
.contact-hero__portrait:hover img { transform:scale(1.025);filter:saturate(.92) }
.has-parallax .contact-hero__portrait img { transform:translate3d(0,var(--hero-parallax-y,0px),0) scale(1.08) }
.has-parallax .contact-hero__portrait:hover img { transform:translate3d(0,var(--hero-parallax-y,0px),0) scale(1.095);filter:saturate(.92) }
.contact-hero__portrait figcaption { position:absolute;z-index:1;right:1.5rem;bottom:1.5rem;left:1.5rem;display:grid;color:white }.contact-hero__portrait figcaption span { font-size:1.1rem;font-weight:700 }.contact-hero__portrait figcaption small { color:#ffffffb0;font:500 .66rem var(--mono);letter-spacing:.06em;text-transform:uppercase }
.contact-channel-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1rem }
.contact-channel { min-height:25rem;padding:clamp(1.4rem,3vw,2.2rem);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;border:1px solid var(--line);background:var(--surface);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .25s ease }
.contact-channel:hover { transform:translateY(-6px);border-color:var(--ink);box-shadow:0 24px 60px rgb(30 30 32 / 10%) }
.contact-channel--primary { background:var(--ink);color:white }.contact-channel--primary p { color:#aaaab0!important }.contact-channel--primary .icon-badge { color:white }.contact-channel--primary .contact-channel__action { border-color:#ffffff30 }
.contact-channel__top { display:flex;align-items:flex-start;justify-content:space-between }.contact-channel__top small { color:var(--muted);font:600 .62rem var(--mono);letter-spacing:.07em;text-transform:uppercase }.contact-channel--primary .contact-channel__top small { color:#aaaab0 }
.contact-channel strong { display:block;font-size:clamp(2rem,3.5vw,3.4rem);letter-spacing:-.045em }.contact-channel p { max-width:28ch;margin-top:1rem;color:var(--muted) }
.contact-channel__action { padding-top:1rem;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:.85rem;font-weight:700 }.contact-channel__action b { font-size:1.1rem;font-weight:400;transition:transform .2s ease }.contact-channel:hover .contact-channel__action b { transform:translate(.2rem,-.2rem) }
.contact-prep__grid { display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,9rem) }.contact-prep__grid>div h2 { max-width:12ch }.contact-prep__grid>div .lead { max-width:38ch }
.contact-prep ol { margin:0;padding:0;border-top:1px solid var(--line);list-style:none }.contact-prep li { padding:1.4rem 0;display:grid;grid-template-columns:3rem 1fr;gap:1rem;border-bottom:1px solid var(--line) }.contact-prep li>span { color:var(--muted);font:600 .68rem var(--mono) }.contact-prep li strong { font-size:1.05rem }.contact-prep li p { margin-top:.35rem;color:var(--muted) }
.empty-state { padding: 6rem 2rem; border: 1px solid var(--line); text-align: center; }
.legal-hero { padding-block:clamp(5rem,10vw,9rem) }
.legal-hero h1 { max-width:11ch }
.legal-updated { margin:2rem 0 0;color:var(--muted);font:600 .68rem var(--mono);letter-spacing:.06em;text-transform:uppercase }
.legal-section { scroll-margin-top:6rem }
.legal-layout { display:grid;grid-template-columns:minmax(12rem,.34fr) minmax(0,1fr);gap:clamp(3rem,9vw,9rem);align-items:start }
.legal-index { position:sticky;top:7rem;display:grid;border-top:1px solid var(--line) }
.legal-index span { padding:.9rem 0;color:var(--muted);font:600 .66rem var(--mono);letter-spacing:.07em;text-transform:uppercase }
.legal-index a { padding:.8rem 0;border-top:1px solid var(--line);color:var(--muted);font-size:.83rem;transition:color .2s ease,padding .2s ease }
.legal-index a:hover { padding-left:.35rem;color:var(--ink) }
.legal-copy { max-width:780px }
.legal-copy>section { position:relative;padding:0 0 clamp(3rem,6vw,5.5rem);scroll-margin-top:7rem }
.legal-copy>section+section { padding-top:clamp(3rem,6vw,5.5rem);border-top:1px solid var(--line) }
.legal-copy h2 { max-width:15ch;font-size:clamp(2rem,4vw,3.6rem) }
.legal-copy p,.legal-copy li { color:var(--muted) }
.legal-copy p { max-width:65ch }
.legal-copy strong { color:var(--ink) }
.legal-copy ul { margin:1.5rem 0 2rem;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);list-style:none }
.legal-copy li { padding:.8rem 1rem .8rem 0;border-bottom:1px solid var(--line);font-size:.92rem }
.legal-number { display:block;margin-bottom:1.2rem;color:var(--muted);font:600 .68rem var(--mono) }
.legal-contact-link { display:inline-block;color:var(--ink);font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:650;letter-spacing:-.025em }
.legal-contact-link:hover { text-decoration:underline;text-underline-offset:.2em }
.legal-cookie-panel { margin-top:0;padding:clamp(2rem,4vw,3rem)!important;border:0!important;background:var(--ink);color:white }
.legal-cookie-panel h2 { color:white }.legal-cookie-panel p { color:#aaaab0 }.legal-cookie-panel .legal-number { color:#aaaab0 }.legal-cookie-panel .button { margin-top:1rem;border-color:white;background:white;color:var(--ink) }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 1.4rem 3rem 1.4rem 0; position: relative; list-style: none; font-size: clamp(1.05rem, 2vw, 1.35rem); font-weight: 650; cursor: pointer; }
.faq-list summary::after { content: '+'; position: absolute; right: .25rem; color: var(--muted); font-family: var(--mono); font-weight: 400; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { max-width: 70ch; padding: 0 0 1.5rem; color: var(--muted); }
.editorial-image { margin-block: clamp(2rem, 5vw, 5rem); }
.editorial-image .image-frame,.editorial-image>img { overflow:hidden; }
.editorial-image img { width: 100%; max-height: 680px; object-fit: cover; filter: saturate(.75); transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .45s ease; }
.editorial-image:hover img { transform:scale(1.018);filter:saturate(.95); }
.editorial-image figcaption { padding-top: .7rem; color: var(--muted); font: 500 .68rem var(--mono); }
.jump-nav { display: flex; gap: .5rem; padding-block: 1rem; overflow: auto; border-bottom: 1px solid var(--line); }
.jump-nav a { padding: .55rem .8rem; border: 1px solid var(--line); border-radius: 99px; font-size: .78rem; white-space: nowrap; }
.jump-nav a:hover { border-color: var(--ink); }
.text-link { display: inline-block; padding-bottom: .15rem; border-bottom: 1px solid currentColor; font-weight: 650; }
.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.price-grid article { min-height: 220px; padding: 1.5rem; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.price-grid small { color: var(--muted); font-family: var(--mono); }
.price-grid strong { margin-block: auto; font-size: clamp(2.4rem, 4vw, 4rem); letter-spacing: -.05em; }
.price-grid p,.fine-print { color: var(--muted); }
.fine-print { margin-top: 1rem; font: 500 .72rem var(--mono); }
.contact-strip .icon-badge { margin-bottom: 2rem; color: #aaaab0; }
.contact-actions a { display: flex; align-items: center; justify-content: space-between; }
.contact-actions a span { display: flex; align-items: center; gap: .7rem; }
.contact-actions a b { font-weight: 400; }
.button .ui-icon { width: 1.05em; height: 1.05em; flex: 0 0 auto; }
.service-card .card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.service-card .card__top > .ui-icon { width: 1.25rem; height: 1.25rem; transition: transform .25s ease; }
.service-card:hover .card__top > .ui-icon { transform: translateX(.3rem); }
.price-grid article { position: relative; }
.price-grid .icon-badge { margin-bottom: 1.15rem; }
.gas-hero__price { width:max-content;margin-top:2rem;padding-top:1rem;display:grid;border-top:1px solid rgb(30 30 32 / 24%);color:var(--ink)}
.gas-hero__price strong { font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.04em }
.gas-hero__price span { color:var(--muted);font:600 .68rem var(--mono);letter-spacing:.05em;text-transform:uppercase }
.gas-steps { grid-template-columns:repeat(4,1fr) }
.gas-prices .section-head p { color:#aaaab0 }
.gas-prices .eyebrow { border-color:#ffffff2e }
.gas-price-layout { display:grid;grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr);gap:1rem }
.gas-price-feature { position:relative;padding:clamp(1.5rem,4vw,3rem);display:flex;min-height:31rem;flex-direction:column;border:1px solid #ffffff38;background:#ffffff0a }
.gas-price-feature>span { position:absolute;top:1rem;right:1rem;padding:.35rem .55rem;background:#e3b21b;color:var(--ink);font:700 .62rem var(--mono);letter-spacing:.06em;text-transform:uppercase }
.gas-price-feature small { color:#aaaab0;font:600 .7rem var(--mono);letter-spacing:.05em;text-transform:uppercase }
.gas-price-feature strong { margin-block:auto;font-size:clamp(4rem,8vw,7rem);line-height:.9;letter-spacing:-.07em }
.gas-price-feature p { max-width:32ch;color:#aaaab0 }
.gas-price-feature .button { align-self:flex-start;margin-top:1rem;background:white;color:var(--ink) }
.gas-price-groups { display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ffffff30;border-left:1px solid #ffffff30 }
.gas-price-groups article { padding:clamp(1.5rem,3vw,2.5rem);border-right:1px solid #ffffff30;border-bottom:1px solid #ffffff30 }
.gas-price-groups h3 { margin-bottom:2rem;font-size:clamp(1.35rem,2vw,1.8rem) }
.gas-price-groups dl { display:grid }
.gas-price-groups dl div { padding:1rem 0;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #ffffff24 }
.gas-price-groups dt { color:#b7b7bd }.gas-price-groups dd { margin:0;font-weight:700;white-space:nowrap }
.gas-price-note { max-width:75ch;margin-top:1.25rem;color:#909097;font-size:.78rem }
.gas-radius { overflow:hidden }
.gas-radius__grid { display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(3rem,8vw,8rem);align-items:center }
.gas-radius__copy h2 { max-width:11ch }.gas-radius__copy .lead { max-width:40ch }
.gas-radius__copy dl { max-width:30rem;margin:2rem 0;display:grid;border-top:1px solid var(--line) }
.gas-radius__copy dl div { padding:.85rem 0;display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line) }
.gas-radius__copy dt { color:var(--muted) }.gas-radius__copy dd { margin:0;font-weight:700 }
.gas-radius__visual { position:relative;aspect-ratio:1;background:var(--ink);color:white;overflow:hidden }
.gas-radius__visual::after { content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 0 37%,rgb(255 255 255 / 3%) 38% 38.5%,transparent 39%);pointer-events:none }
.gas-radius__visual svg { width:100%;height:100%;display:block }
.radius-map path { fill:none;stroke:#ffffff12;stroke-width:2 }
.radius-rings circle { fill:none;stroke:#ffffff3d;stroke-width:1.5;stroke-dasharray:5 8;transform-box:fill-box;transform-origin:center;animation:radius-drift 18s linear infinite }
.radius-rings circle:nth-child(2) { animation-direction:reverse;animation-duration:24s }.radius-rings circle:nth-child(3) { animation-duration:32s }
.radius-labels text { fill:#ffffff8f;font:600 12px var(--mono);letter-spacing:.05em }
.radius-route path { fill:none;stroke:#e3b21b;stroke-width:2;stroke-dasharray:7 8;animation:radius-route 5s linear infinite }.radius-route circle { fill:#e3b21b }
.radius-center>circle:not(.radius-center__pulse) { fill:#e3b21b }.radius-center text { fill:white;font:700 15px var(--sans) }
.radius-center__pulse { fill:none;stroke:#e3b21b;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:radius-pulse 2.8s ease-out infinite }
@keyframes radius-drift { to { transform:rotate(360deg) } }
@keyframes radius-route { to { stroke-dashoffset:-60 } }
@keyframes radius-pulse { 0% { opacity:.9;transform:scale(.4) } 75%,100% { opacity:0;transform:scale(1.9) } }
.services-hero .lead { max-width: 48ch; font-size: clamp(1.05rem,1rem + .35vw,1.35rem); }
.services-overview { padding-block: clamp(3rem, 6vw, 6rem); }
.service-list { display: grid; gap: clamp(1.5rem, 3vw, 3rem); }
.service-row { min-height: clamp(26rem, 38vw, 34rem); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr); overflow: hidden; border: 1px solid var(--line); background: var(--surface); transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease; }
.service-row:nth-child(even) { grid-template-columns: minmax(22rem, .95fr) minmax(0, 1.05fr); }
.service-row:nth-child(even) .service-row__media { order: 2; }
.service-row:hover { transform: translateY(-6px); box-shadow: 0 28px 70px rgb(30 30 32 / 10%); }
.service-row__media { min-height: 100%; overflow: hidden; background: #ddd; }
.service-row__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: transform 1s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.service-row:hover .service-row__media img { transform: scale(1.035); filter: saturate(.92); }
.service-row__content { min-width: 0; padding: clamp(2rem, 3.5vw, 3.5rem); display: flex; flex-direction: column; justify-content: space-between; gap: clamp(2rem,4vw,3rem); }
.service-row__content h2 { max-width: 100%; margin-top: clamp(.65rem,1.2vw,1rem); font-size: clamp(2.25rem, 3.55vw, 4rem); line-height: .98; overflow-wrap: break-word; hyphens: auto; }
.service-row__content p { max-width: 40ch; margin-top: clamp(.9rem,1.5vw,1.35rem); color: var(--muted); font-size: clamp(.98rem, .92rem + .22vw, 1.12rem); line-height: 1.6; }
.service-row__link { display: flex; align-items: center; justify-content: space-between; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .9rem; font-weight: 650; }
.service-row__link .ui-icon { width: 1.2rem; height: 1.2rem; transition: transform .25s ease; }
.service-row:hover .service-row__link .ui-icon { transform: translateX(.3rem); }

@media (max-width: 900px) {
  .hero__inner { display: flex; flex-direction: column; min-height: auto; padding-left: 0; }
  .hero__media { order: 1; width: 100%; height: clamp(24rem, 72vw, 34rem); min-height: 0; }
  .hero__image { position: relative; mask: none; -webkit-mask: none; }
  .hero__image::after { background: linear-gradient(to bottom, transparent 46%, rgb(245 245 247 / 5%) 58%, rgb(245 245 247 / 24%) 70%, rgb(245 245 247 / 62%) 84%, var(--paper) 100%); }
  .hero__content { order: 2; width: min(1180px, 100%); max-width: none; margin: -3.5rem auto 0; padding: 0 1.5rem clamp(4rem, 10vw, 6rem); z-index: 3; }
  .split, .section-head { grid-template-columns: 1fr; }
  .card-grid, .guide-cards { grid-template-columns: 1fr 1fr; }
  .number-list article { grid-template-columns: 45px 1fr; }
  .number-list article p { grid-column: 2; }
  .steps, .contact-cards { grid-template-columns: 1fr; }
  .pill-grid { grid-template-columns: 1fr 1fr; }
  .price-grid { grid-template-columns: 1fr 1fr; }
  .image-story { grid-template-columns:1fr;min-height:auto; }
  .image-story__media { min-height:520px; }
  .service-visual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-visual-grid > .service-visual-card:nth-child(n) { grid-column: span 1; min-height: 320px; }
  .service-visual-grid > .service-visual-card:nth-child(6) { grid-column: 1 / -1; }
  .service-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
  .service-row,.service-row:nth-child(even) { min-height: auto; grid-template-columns: 1fr; }
  .service-row:nth-child(even) .service-row__media { order: 0; }
  .service-row__media { min-height: clamp(15rem, 32vw, 21rem); }
  .service-row__content { min-height: 19rem; padding: clamp(1.4rem,3vw,2rem); gap: 1.5rem; }
  .service-row__content h2 { font-size: clamp(2rem,4.8vw,3rem); }
  .gas-steps { grid-template-columns:1fr 1fr }
  .gas-price-layout,.gas-radius__grid { grid-template-columns:1fr }
  .gas-price-feature { min-height:26rem }
  .gas-radius__visual { width:min(100%,38rem);margin-inline:auto }
  .contact-hero__grid { grid-template-columns:1fr;gap:2.5rem }
  .contact-hero__content { padding-top:1.5rem }
  .contact-hero__portrait { min-height:clamp(28rem,85vw,40rem) }
  .contact-channel-grid { grid-template-columns:1fr 1fr }
  .contact-channel:first-child { grid-column:1 / -1 }
  .contact-channel { min-height:20rem }
  .contact-prep__grid { grid-template-columns:1fr;gap:2.5rem }
  .legal-layout { grid-template-columns:1fr;gap:2.5rem }
  .legal-index { position:static;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line) }
  .legal-index span { grid-column:1 / -1;padding-left:1rem;border-bottom:1px solid var(--line) }
  .legal-index a { padding:.8rem 1rem;border-top:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line) }
}

@media (max-width: 680px) {
  .shell { width: min(100% - 2rem, 1180px); }
  h1 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .hero__content h1 { font-size: clamp(2.8rem, 10.5vw + .5rem, 4.35rem); }
  .hero__media { height: clamp(21rem, 92vw, 28rem); }
  .hero__content { margin-top: -3rem; padding-inline: 1rem; }
  .card-grid, .guide-cards { grid-template-columns: 1fr; }
  .trust__grid { grid-template-columns: 1fr; }
  .trust span + span { border-top: 1px solid var(--line); border-left: 0; }
  .pill-grid { grid-template-columns: 1fr; }
  .price-grid { grid-template-columns: 1fr; }
  .image-story__media { min-height:400px; }
  .page-hero--image { min-height: 38rem; align-items: flex-end; }
  .page-hero--image::before { background-position: 62% center; }
  .page-hero--image::after { background: linear-gradient(180deg, rgb(245 245 247 / 22%) 0%, rgb(245 245 247 / 78%) 42%, rgb(245 245 247 / 98%) 72%); }
  .page-hero--image .shell { width: min(100% - 2rem, 1180px); }
  .services-hero { padding-block: clamp(3.5rem,12vw,4.5rem); }
  .services-hero h1 { font-size: clamp(2.55rem, 11.5vw, 3.8rem); }
  .services-hero .lead { font-size: clamp(1rem,3.9vw,1.12rem); }
  .services-overview { padding-block: 1.5rem 2.5rem; }
  .service-list { grid-template-columns: 1fr; gap: .75rem; }
  .service-row,.service-row:nth-child(even) { min-height: 12.5rem; grid-template-columns: minmax(7.5rem,36%) minmax(0,1fr); }
  .service-row__media { min-height: 100%; max-height: none; }
  .service-row__content { min-height: 0; padding: clamp(.9rem,4vw,1.2rem); gap: .8rem; }
  .service-row__content .eyebrow { display: none; }
  .service-row__content h2 { margin-top: 0; font-size: clamp(1.45rem, 6.6vw, 2rem); line-height: 1; }
  .service-row__content p { display: -webkit-box; margin-top: .65rem; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: clamp(.78rem,3.25vw,.9rem); line-height: 1.42; }
  .service-row__link { padding-top: .6rem; font-size: .76rem; }
  .service-row__link .ui-icon { width: 1rem; height: 1rem; }
  .service-visual-grid { grid-template-columns: 1fr; }
  .service-visual-grid { display: block; padding-bottom: 1.5rem; }
  .service-visual-grid > .service-visual-card:nth-child(n) { grid-column: 1; min-height: clamp(16.5rem,72vw,20rem); margin-bottom: 1rem; position: sticky; top: calc(84px + env(safe-area-inset-top) + var(--stack-offset,0px)); z-index: var(--stack-z,2); transform: none; box-shadow: 0 -8px 26px rgb(30 30 32 / 8%),0 18px 45px rgb(30 30 32 / 12%); }
  .service-visual-grid > .service-visual-card:nth-child(1) { --stack-offset:0px;--stack-z:2; }
  .service-visual-grid > .service-visual-card:nth-child(2) { --stack-offset:6px;--stack-z:3; }
  .service-visual-grid > .service-visual-card:nth-child(3) { --stack-offset:12px;--stack-z:4; }
  .service-visual-grid > .service-visual-card:nth-child(4) { --stack-offset:18px;--stack-z:5; }
  .service-visual-grid > .service-visual-card:nth-child(5) { --stack-offset:24px;--stack-z:6; }
  .service-visual-grid > .service-visual-card:nth-child(6) { --stack-offset:30px;--stack-z:7;margin-bottom:0; }
  .service-visual-grid > .service-visual-card::after { background:linear-gradient(180deg,transparent 20%,rgb(245 245 247 / 12%) 48%,rgb(245 245 247 / 52%) 72%,rgb(245 245 247 / 92%) 100%); }
  .service-visual-grid > .service-visual-card:hover { transform:none; }
  .service-visual-card--gas::before { background-image: linear-gradient(180deg, rgb(245 245 247 / 38%) 0%, rgb(245 245 247 / 76%) 52%, rgb(245 245 247 / 98%) 100%), var(--card-image); }
  .gas-steps,.gas-price-groups { grid-template-columns:1fr }
  .gas-price-feature { min-height:23rem }
  .gas-price-feature strong { font-size:4.5rem }
  .gas-radius__grid { gap:2rem }
  .contact-hero { padding-block:1rem 3rem }
  .contact-hero__grid { gap:2rem }
  .contact-hero__content { padding-top:1rem }
  .contact-hero__content h1 { font-size:clamp(3rem,14vw,4.5rem) }
  .contact-hero__portrait { min-height:24rem }
  .contact-hero__facts { gap:.55rem 1rem }
  .contact-channel-grid { grid-template-columns:1fr;gap:.75rem }
  .contact-channel:first-child { grid-column:auto }
  .contact-channel { min-height:17rem }
  .contact-channel strong { font-size:2.2rem }
  .contact-prep__grid { gap:2rem }
  .legal-hero { padding-block:3.5rem }
  .legal-index { display:none }
  .legal-copy ul { grid-template-columns:1fr }
  .legal-cookie-panel { margin-inline:-1rem;padding:2rem 1rem!important }
}

@media (prefers-reduced-motion: reduce) {
  .hero__image img { animation: none; transform: scale(1.025); }
  .radius-rings circle,.radius-route path,.radius-center__pulse { animation:none }
}

@media (max-width: 420px) {
  .service-row,.service-row:nth-child(even) { min-height: 11.5rem; grid-template-columns: 34% minmax(0,1fr); }
  .service-row__content p { -webkit-line-clamp: 2; }
}
