/* =============================================================================
   Energieberatung Suhl · Premium V5 · Fullscreen Hero
   Originale, responsive Landingpage nach dem freigegebenen Desktop-Layout.
   Ohne Frameworks, Tracker oder externe Font-CDNs.
   ============================================================================= */

:root {
  --green: #77b900;
  --green-bright: #86c500;
  --green-dark: #4d8100;
  --ink: #203334;
  --ink-strong: #152b2f;
  --text: #445451;
  --muted: #65716f;
  --sage: #ecf4e9;
  --sage-light: #f4f9ef;
  --dark: #112a23;
  --dark-deep: #0d241c;
  --white: #fff;
  --line: #e8eee6;
  --shadow-card: 0 16px 42px rgb(19 39 30 / 7%);
  --shadow-hover: 0 24px 48px rgb(19 39 30 / 12%);
  --ease: cubic-bezier(.22,.78,.28,1);
  --content: 1270px;
  --header-height: 68px;
  --font: "Inter", "Aptos", "Segoe UI", Arial, Helvetica, sans-serif;
}
*,*::before,*::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 14px)}
body {margin:0;background:#fff;color:var(--ink);font:400 16px/1.56 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open {overflow:hidden}
::selection {background:#c7e985;color:#1f351c}
a {color:inherit;text-decoration:none}
button,input,textarea {font:inherit}
button {cursor:pointer}
button,a {-webkit-tap-highlight-color:transparent}
img,svg {display:block}
img {max-width:100%}
svg {flex:none}
p,h1,h2,h3,figure,blockquote {margin:0}
h1,h2,h3 {color:var(--ink-strong);letter-spacing:-.045em;line-height:1.115;font-weight:780}
h2 {font-size:clamp(35px,3.4vw,47px)}
h3 {font-size:20px}
p {color:var(--text)}
[hidden] {display:none!important}
:focus-visible {outline:3px solid var(--green-dark);outline-offset:4px}
.svg-sprite {position:absolute;width:0;height:0;overflow:hidden}
.icon {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.container {width:min(calc(100% - 76px),var(--content));margin-inline:auto}
.section {padding-block:108px}
.skip-link {position:fixed;z-index:500;left:15px;top:-110px;padding:12px 17px;background:#fff;color:var(--ink);border:2px solid var(--green);border-radius:5px}
.skip-link:focus {top:15px}

/* --- Header --------------------------------------------------------------- */
.site-header {position:sticky;z-index:100;top:0;isolation:isolate;background:rgba(255,255,255,.985);border-bottom:1px solid #edf0ed;transition:box-shadow .25s ease}
.site-header.is-scrolled {box-shadow:0 7px 29px rgb(20 44 27 / 9%)}
.header-inner {width:min(calc(100% - 70px),1090px);height:var(--header-height);display:flex;align-items:center;gap:28px}
.brand {width:177px;display:flex;align-items:center;flex:none}
.brand img {width:100%;height:auto;object-fit:contain}
.main-nav {display:flex;justify-content:center;align-items:center;margin-left:auto;gap:clamp(20px,2.35vw,39px)}
.nav-link {position:relative;display:inline-flex;align-items:center;min-height:56px;color:#1e302c;font-size:12px;white-space:nowrap;font-weight:700}
.nav-link::after {content:"";height:2px;position:absolute;bottom:10px;left:0;right:0;background:var(--green);transform:scaleX(0);transition:transform .25s var(--ease)}
.nav-link:hover::after,.nav-link.is-active::after {transform:scaleX(1)}
.nav-link:hover {color:var(--green-dark)}
.nav-phone-mobile {display:none}
.button {display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:52px;padding:14px 23px;border:1px solid transparent;border-radius:7px;font-size:14px;font-weight:760;line-height:1.15;white-space:nowrap;transition:transform .25s var(--ease),background .2s,border-color .2s,box-shadow .25s;cursor:pointer}
.button:hover {transform:translateY(-2px)}
.button:active {transform:translateY(0)}
.button .icon {width:18px;height:18px;stroke-width:2}
.button--green {background:var(--green);color:#fff;box-shadow:0 5px 16px rgb(88 152 0 / 13%)}
.button--green:hover {background:#6da600;box-shadow:0 9px 20px rgb(88 152 0 / 22%)}
.button--outline {border-color:#a6c778;color:var(--ink-strong);background:rgba(255,255,255,.78)}
.button--outline:hover {background:#fff;border-color:var(--green)}
.header-phone {min-height:43px;margin-left:clamp(2px,2vw,30px);padding:11px 17px;font-size:12px;gap:8px;border-radius:6px}
.header-phone .icon {width:16px;height:16px}
.menu-toggle {display:none;border:0;background:transparent;color:var(--ink);padding:10px;border-radius:5px}
.menu-toggle .icon {width:27px;height:27px}
.menu-toggle__close {display:none}

/* --- Gemeinsame Titel ----------------------------------------------------- */
.eyebrow {display:inline-flex;align-items:center;gap:12px;text-transform:uppercase;font-size:10px;line-height:1.35;letter-spacing:.17em;font-weight:810;color:#53625e}
.eyebrow--dark {color:#465955;letter-spacing:.12em}
.eyebrow-bar {width:36px;height:3px;background:var(--green);border-radius:3px}
.section-heading,.services-more__heading,.process-heading {text-align:center}
.section-heading h2,.services-more__heading h2,.process-heading h2 {margin-top:13px}
.section-heading p,.services-more__heading p {max-width:700px;margin:15px auto 0;font-size:15px;line-height:1.65}

/* --- Hero ----------------------------------------------------------------- */
/* Bildschirmfüllender Einstieg: Header + Hero belegen zusammen genau den ersten Viewport. */
.hero {isolation:isolate;position:relative;overflow:hidden;background:#f8f9f5;
  min-height:calc(100vh - var(--header-height) - 1px);
  min-height:calc(100svh - var(--header-height) - 1px)}
.hero-media {position:absolute;z-index:-3;inset:0 0 0 45%}
.hero-media img {width:100%;height:100%;object-fit:cover;object-position:51% 50%}
.hero-wash {position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,#fbfaf7 0%,#fafaf7 25%,rgba(250,250,246,.99) 32%,rgba(250,250,246,.94) 38%,rgba(250,250,246,.67) 45%,rgba(250,250,246,.18) 56%,rgba(250,250,246,0) 69%),linear-gradient(0deg,rgba(252,250,242,.10),transparent 30%)}
.hero::after {content:"";position:absolute;z-index:-1;pointer-events:none;left:-70px;bottom:-35px;width:130px;height:220px;filter:blur(28px);opacity:.43;background:radial-gradient(ellipse at 20% 40%,#5e8c36 0 19%,transparent 40%),radial-gradient(ellipse at 77% 74%,#578a2b 0 13%,transparent 44%);transform:rotate(-14deg)}
/* Die Inhalts-Spalte wächst synchron mit dem Hero und wird mittig ausgerichtet. */
.hero-content-wrap {width:min(calc(100% - 76px),1090px);
  min-height:max(530px,calc(100vh - var(--header-height) - 1px));
  min-height:max(530px,calc(100svh - var(--header-height) - 1px));
  display:flex;align-items:center}
.hero-copy {width:min(100%,545px);padding:46px 0 44px}
.hero .eyebrow {margin-bottom:18px}
.hero h1 {font-size:clamp(51px,4.72vw,70px);line-height:1.02;letter-spacing:-.063em;margin-bottom:19px;font-weight:820}
.hero h1 span {color:#6cad00}
.hero-intro {max-width:480px;font-size:17px;line-height:1.55;color:#344542;margin-bottom:26px}
.hero-actions {display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.button--hero {min-width:225px;justify-content:space-between}
.hero-actions .button--outline {min-height:53px}
.hero-trust {padding:0;margin:34px 0 0;list-style:none;display:grid;grid-template-columns:repeat(3,max-content);gap:28px}
.hero-trust li {display:flex;align-items:center;gap:9px;min-width:0;font-size:11px;line-height:1.35;font-weight:700;color:#263f37}
.hero-trust .icon {width:30px;height:30px;color:var(--green);stroke-width:1.65}
/* Dezenter Scroll-Hinweis, wenn der Hero die ganze erste Bildschirmhöhe füllt. */
.hero-scroll {position:absolute;z-index:2;left:max(38px,calc((100% - 1090px)/2));bottom:clamp(27px,3.4vh,42px);
  display:inline-flex;align-items:center;gap:11px;color:#4b6258;font-size:11px;font-weight:760;
  letter-spacing:.085em;text-transform:uppercase;transition:color .2s ease}
.hero-scroll__icon {display:grid;place-items:center;width:33px;height:33px;border:1px solid #bdd9a9;
  border-radius:50%;background:rgba(255,255,255,.65);color:var(--green-dark);transition:transform .24s ease,background .24s ease}
.hero-scroll__icon .icon {width:16px;height:16px;transform:rotate(90deg)}
.hero-scroll:hover {color:var(--green-dark)}
.hero-scroll:hover .hero-scroll__icon {transform:translateY(4px);background:#fff}


/* --- Vier hervorgehobene Leistungen --------------------------------------- */
.services {position:relative;background:#fff;padding-top:104px;padding-bottom:112px;overflow:hidden}
.services::before,.services::after {content:"";position:absolute;pointer-events:none;width:130px;height:230px;filter:blur(27px);opacity:.22;background:radial-gradient(ellipse at 30% 35%,#7d9b4d 2%,transparent 53%),radial-gradient(ellipse at 80% 71%,#548728 1%,transparent 41%)}
.services::before {left:-75px;top:250px}
.services::after {right:-100px;bottom:5px}
.section-heading.services-heading {margin-bottom:52px}
.services-heading h2 {font-size:clamp(38px,3.6vw,52px);margin-top:16px}
.services-heading p {max-width:730px;margin-top:20px;font-size:16px;line-height:1.7}
.services-track {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.service-card {min-width:0;overflow:hidden;background:#fff;border:1px solid #e8ede7;border-radius:11px;box-shadow:var(--shadow-card);transition:transform .32s var(--ease),box-shadow .32s var(--ease)}
.service-card:hover {transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.service-card__link {display:flex;flex-direction:column;height:100%}
.service-card__image {position:relative;aspect-ratio:2 / 1;overflow:hidden;background:#edf2eb}
.service-card__image img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.service-card:hover .service-card__image img {transform:scale(1.025)}
.service-card__body {position:relative;display:flex;flex-direction:column;flex:1;min-height:235px;padding:43px 24px 27px}
.service-icon {position:absolute;top:-30px;left:23px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--green);color:#fff;border:4px solid #fff;box-shadow:0 4px 11px rgb(13 37 15 / 9%)}
.service-icon .icon {width:29px;height:29px;stroke-width:1.6}
.service-card h3 {font-size:20px;line-height:1.19;letter-spacing:-.043em;margin:0 0 12px;font-weight:790;max-width:250px}
.service-card p {font-size:14px;line-height:1.55;margin:0 0 23px;color:#5a6965}
.service-card__cta {display:inline-flex;align-items:center;gap:11px;margin-top:auto;color:#3f7500;font-size:13px;font-weight:800}
.service-card__cta .icon {width:17px;height:17px;transition:transform .25s}
.service-card:hover .service-card__cta .icon {transform:translateX(4px)}
.services-pagination {display:none}

/* --- Fünf ergänzende Leistungen auf eigenständiger Salbeifläche ----------- */
.services-more {position:relative;isolation:isolate;overflow:hidden;padding:108px 0 112px;background:linear-gradient(120deg,#f0f7ec 0%,#eaf3e6 56%,#edf6e8 100%)}
.services-more::before {content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;background:url('../img/blatt-dekor.svg') center / cover no-repeat;opacity:.38}
.services-more__heading {margin:0 auto 47px}
.services-more__heading h2 {font-size:clamp(37px,3.35vw,49px)}
.services-more__heading p {max-width:690px;font-size:15px;line-height:1.72;margin-top:19px}
.services-more__grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:21px}
.more-card {display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:310px;background:#fff;border:1px solid #e5eee0;border-radius:10px;padding:27px 22px 26px;box-shadow:0 11px 31px rgb(33 54 26 / 5%);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.more-card:hover {transform:translateY(-5px);box-shadow:0 18px 29px rgb(33 54 26 / 12%)}
.more-card__icon {display:grid;place-items:center;width:51px;height:51px;border-radius:50%;background:#edf6e8;color:var(--green);margin-bottom:21px}
.more-card__icon .icon {width:25px;height:25px;stroke-width:1.8}
.more-card h3 {font-size:17px;line-height:1.28;letter-spacing:-.035em;margin:0 0 12px}
.more-card p {font-size:13px;line-height:1.55;color:#617069;margin-bottom:23px}
.more-card a {display:flex;align-items:center;gap:10px;margin-top:auto;color:#417600;font-size:12px;font-weight:800}
.more-card a .icon {width:16px;height:16px;transition:transform .25s var(--ease)}
.more-card:hover a .icon {transform:translateX(3px)}

/* --- Portrait / Persönlichkeit ------------------------------------------- */
.about {overflow:hidden;background:#fff}
.about-grid {display:grid;grid-template-columns:minmax(0,51.5%) minmax(0,48.5%);min-height:660px}
.about-figure {position:relative;isolation:isolate;margin:0;min-height:660px;background:#dbe8d3;overflow:hidden}
.about-figure__architecture {position:absolute;inset:-20px;background:linear-gradient(90deg,rgba(234,244,227,.22),rgba(233,244,228,.44)),url("../img/hero-premium-entwurf.webp") center 49% / cover no-repeat;filter:blur(4px) saturate(.82);transform:scale(1.03)}
.about-figure::after {content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(235,243,230,.2),transparent 68%),linear-gradient(0deg,rgba(51,85,42,.10),transparent 55%);pointer-events:none}
.about-portrait {position:absolute;z-index:1;right:7%;bottom:-95px;height:calc(100% + 95px);width:auto;max-width:none;object-fit:contain;object-position:bottom center;filter:drop-shadow(-9px 15px 26px rgb(24 50 32 / 16%))}
.about-quote {position:absolute;left:7%;bottom:47px;z-index:3;width:270px;min-width:0;min-height:0;display:flex;flex-direction:column;padding:27px 25px 23px;border-radius:8px;background:#103629;border:1px solid rgba(217,243,205,.16);box-shadow:0 18px 35px rgb(13 39 30 / 18%);color:#fff}
.about-quote__mark {display:block;height:35px;font:800 52px/1 Georgia,serif;color:#9bd53f}
.about-quote blockquote {font-size:14px;line-height:1.48;color:#f0f8ef;letter-spacing:-.008em;margin:0 0 18px}
.about-quote__signature {display:block;font:italic 19px/1.2 Georgia,"Times New Roman",serif;color:#fff;margin-bottom:17px;white-space:nowrap}
 .about-quote__person {display:block;margin-top:auto;border-top:1px solid rgba(255,255,255,.20);padding-top:12px;font-size:11px;line-height:1.25;font-weight:700;color:#d7e6dc}
.about-quote__person small {display:block;color:#d2dfd5;font-size:10px;margin-top:4px;font-weight:400}
.about-content {display:flex;align-items:center;background:#fff}
.about-copy {width:min(100%,650px);padding:70px clamp(44px,5.2vw,82px) 70px 65px}
.about-copy .eyebrow {margin-bottom:17px}
.about-copy h2 {font-size:clamp(36px,3.25vw,49px);margin-bottom:24px;max-width:540px}
.about-copy > p {font-size:15px;line-height:1.68;color:#586662;margin:0 0 22px}
.about-copy > p + p {margin-top:-8px}
.check-list {list-style:none;display:grid;gap:13px;margin:22px 0 29px;padding:0}
.check-list li {display:flex;align-items:center;gap:12px;font-size:14px;color:#4d5c56;line-height:1.35}
.check-icon {width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;flex:none}
.check-icon .icon {width:13px;height:13px;stroke-width:2.6}
.button--outline-green {min-height:47px;padding:11px 18px;border-color:#8cc43b;background:transparent;color:#355f09;font-size:13px;gap:18px}
.button--outline-green:hover {background:#f0f8e8;border-color:#70aa13}
.about-expanded {max-width:520px;margin-top:16px;padding:17px 19px;border-left:3px solid var(--green);background:#f5f9f2;border-radius:0 5px 5px 0}
.about-expanded p {font-size:14px;line-height:1.55;margin-bottom:8px}
.about-expanded a {display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:750;color:#437300}
.about-expanded .icon {width:16px}

/* --- Ablauf --------------------------------------------------------------- */
.process {position:relative;isolation:isolate;overflow:hidden;padding:106px 0 118px;background:#f3f8f0}
.process::before {content:"";z-index:-1;pointer-events:none;position:absolute;inset:0;background:url('../img/blatt-dekor.svg') center / cover no-repeat;opacity:.33}
.process-heading {margin-bottom:60px}
.process-heading h2 {font-size:clamp(36px,3.15vw,47px);margin-top:16px}
.process-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px}
.process-step {position:relative;padding:0 0 0 23px;max-width:350px}
.process-step__top {display:flex;align-items:center;gap:19px;margin:0 0 20px}
.step-icon {display:grid;place-items:center;border-radius:50%;width:75px;height:75px;background:#fff;border:1px solid #e5ecdf;box-shadow:0 8px 18px rgb(58 100 41 / 6%);color:var(--green)}
.step-icon .icon {width:33px;height:33px;stroke-width:1.6}
.step-number {display:block;color:var(--green);font-size:37px;font-weight:800;line-height:1;letter-spacing:-.04em}
.process-step h3 {margin-bottom:10px;font-size:20px;letter-spacing:-.035em}
.process-step p {font-size:14px;line-height:1.65;color:#65736c;max-width:295px}
.step-arrow {position:absolute;top:32px;right:-40px;color:#87988b;width:21px;height:21px}

/* --- Contact -------------------------------------------------------------- */
.contact {position:relative;isolation:isolate;overflow:hidden;padding:92px 0 99px;background:var(--dark-deep)}
.contact::before {position:absolute;inset:0;z-index:-2;content:"";background:linear-gradient(120deg,#102d22 0%,#103026 63%,#143124 100%)}
.contact-media {position:absolute;z-index:-2;inset:0 0 0 52%;pointer-events:none;background:linear-gradient(90deg,rgba(15,41,27,.38),rgba(15,41,27,.52)),url('../img/hero-premium-entwurf.webp') center 51% / cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 48%);mask-image:linear-gradient(90deg,transparent 0%,#000 48%)}
.contact::after {content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 47px,rgba(143,198,117,.032) 47px 89px,transparent 89px 180px)}
.contact-grid {display:grid;grid-template-columns:minmax(0,440px) minmax(0,465px) 1fr;column-gap:85px;position:relative;z-index:2;align-items:center}
.contact-copy {min-width:0;align-self:start}
.contact .eyebrow {color:#e7eee9;margin-bottom:14px}
.contact .eyebrow-bar {background:var(--green)}
.contact-copy h2 {font-size:clamp(35px,3vw,43px);color:#fff;margin-bottom:15px}
.contact-copy > p {color:#e5eee9;font-size:14px;line-height:1.55;max-width:365px;margin-bottom:22px}
.contact-details {display:grid;gap:9px;font-style:normal}
.contact-details a {display:flex;align-items:flex-start;gap:11px;color:#f4faf5;font-size:15px;line-height:1.28;transition:color .2s}
.contact-details a:hover {color:#b2ec70}
.contact-details a .icon {width:19px;height:19px;color:var(--green);stroke-width:2}
.form-card {max-width:465px;background:#fff;border-radius:11px;padding:29px 29px 28px;box-shadow:0 22px 50px rgb(0 0 0 / 19%);width:100%}
.form-card h3 {font-size:23px;margin:0 0 5px}
.form-intro {margin:0 0 16px;color:#78837d;font-size:11px}
.form-row {display:grid;grid-template-columns:1fr 1fr;gap:11px}
.form-field {min-width:0;margin-bottom:12px}
.form-field label {position:absolute;clip:rect(0 0 0 0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.form-field input,.form-field textarea {display:block;width:100%;min-width:0;padding:12px 13px;border:1px solid #e1e8e1;border-radius:4px;background:#fff;color:var(--ink-strong);font-size:12px;outline:none;transition:border-color .2s,box-shadow .2s}
.form-field input {height:45px}
.form-field textarea {height:110px;min-height:110px;resize:vertical;line-height:1.5}
.form-field input:focus,.form-field textarea:focus {border-color:var(--green);box-shadow:0 0 0 3px rgb(119 185 0 / 12%)}
.form-field [aria-invalid="true"] {border-color:#c0483b!important}
.form-field input::placeholder,.form-field textarea::placeholder {color:#87938b}
.form-honeypot {position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.privacy-check {display:flex;align-items:flex-start;gap:9px;margin:2px 0 14px;color:#77827d;font-size:10px;line-height:1.45;cursor:pointer}
.privacy-check input {flex:0 0 auto;width:14px;height:14px;accent-color:var(--green);margin:1px 0 0}
.privacy-check a {color:#485f52;text-decoration:underline;text-underline-offset:2px}
.privacy-check a:hover {color:var(--green-dark)}
.form-submit {display:flex;justify-content:space-between;width:100%;min-height:47px;padding:11px 18px;font-size:13px}
.form-submit:disabled {opacity:.66;cursor:wait;transform:none}
.form-footnote {margin-top:9px;color:#8c988e;font-size:10px}
.form-status {padding:10px 12px;margin:12px 0;border-radius:4px;font-size:12px;line-height:1.5}
.form-status.is-error {background:#fff1ef;color:#8b2722;border:1px solid #f0bdb9}
.form-status.is-success {background:#f0fadf;color:#2b5209;border:1px solid #c6e39c}
.form-status.is-info {background:#f1f6ed;color:#3d5639;border:1px solid #d8e5ce}
.contact-statement {position:absolute;right:max(6%,calc((100vw - 1360px)/2));top:50%;transform:translateY(-37%);z-index:1;color:#f6fff2;text-shadow:0 2px 10px rgb(0 0 0 / 30%)}
.contact-statement__leaf {width:46px;height:46px;color:var(--green);margin:0 0 7px 5px;stroke-width:1.4}
.contact-statement p {color:inherit;font:italic 25px/1.08 "Segoe Print","Brush Script MT",cursive;transform:rotate(-10deg)}
.contact-statement span {display:block;width:155px;height:15px;margin-left:18px;transform:rotate(-12deg);border-bottom:2px solid var(--green);border-radius:50%}

/* --- Footer --------------------------------------------------------------- */
.site-footer {background:#fff;border-top:1px solid #eaf0e8}
.footer-inner {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;min-height:100px}
.footer-brand {width:160px;display:flex;align-items:center}
.footer-brand img {width:100%;height:auto}
.footer-links {display:flex;align-items:center;gap:32px}
.footer-links a,.footer-inner small {color:#748078;font-size:11px}
.footer-links a:hover {color:var(--green-dark)}
.footer-inner small {text-align:right}
.mobile-call-bar {display:none}

/* --- Rechtliche Textseiten ----------------------------------------------- */
.legal-nav {display:flex;align-items:center;justify-content:flex-start;height:var(--header-height)}
.legal-nav a {font-weight:750;color:#476f13;font-size:14px}
.legal-nav a:hover {text-decoration:underline}
.legal {width:min(calc(100% - 52px),870px);margin:0 auto;padding:78px 0 95px}
.legal h1 {font-size:clamp(36px,5vw,52px);margin:20px 0 30px}
.legal h2 {font-size:24px;margin:36px 0 12px}
.legal p,.legal li,.legal address {font-size:15px;line-height:1.75;color:var(--text)}
.legal a {color:#447000;text-decoration:underline}
.legal ul {padding-left:21px}
.legal-note {background:#fff7e8;padding:18px 22px;border-left:4px solid #bd8b20;border-radius:4px}

/* --- Responsive: kompakter Desktop / Tablet ------------------------------- */
@media (max-width: 1270px) {
  .container {width:min(calc(100% - 60px),var(--content))}
  .header-inner {width:min(calc(100% - 60px),1090px)}
  .hero-content-wrap {width:min(calc(100% - 60px),1090px)}
  .hero h1 {font-size:clamp(51px,5vw,67px)}
  .services-track {gap:15px}
  .service-card__body {padding-left:17px;padding-right:17px}
  .service-card h3 {font-size:18px}
  .more-card {padding-inline:16px}
  .more-card h3 {font-size:15px}
  .about-copy {padding-left:45px;padding-right:40px}
  .contact-grid {grid-template-columns:minmax(0,375px) minmax(0,430px) 1fr;gap:50px}
}
@media (max-width: 1060px) {
  :root {--header-height:74px}
  .header-inner {gap:16px}
  .brand {width:163px}
  .main-nav {gap:18px}
  .header-phone {margin-left:0;padding-inline:12px}
  .hero-content-wrap {min-height:max(530px,calc(100vh - var(--header-height) - 1px));
    min-height:max(530px,calc(100svh - var(--header-height) - 1px))}
  .hero h1 {font-size:54px}
  .hero-intro {font-size:15px;max-width:405px}
  .hero-wash {background:linear-gradient(90deg,#fafaf7 0%,rgba(250,250,247,.97) 31%,rgba(250,250,247,.83) 45%,rgba(250,250,247,.05) 76%)}
  .services-track {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .service-card__image {aspect-ratio:2 / 1}
  .service-card__body {min-height:188px;padding-left:23px;padding-right:23px}
  .service-card h3 {font-size:21px}
  .service-card p {font-size:15px}
  .services-more__grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .more-card {min-height:230px;padding:22px}
  .more-card h3 {font-size:18px}
  .about-grid {grid-template-columns:minmax(0,48%) minmax(0,52%)}
  .about-copy {padding:54px 35px}
  .about-copy h2 {font-size:35px}
  .about-copy > p {font-size:13px}
  .about-quote {width:min(230px,47%);padding:22px 19px 18px;bottom:26px;left:5%}
  .about-quote blockquote {font-size:12px}
  .about-quote__signature {font-size:18px}
  .process-grid {gap:29px}
  .process-step {padding-left:0}
  .step-arrow {right:-20px}
  .contact-grid {grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:48px}
  .contact-statement {display:none}
}
@media (max-width: 850px) {
  :root {--header-height:70px}
  .container,.hero-content-wrap,.header-inner {width:min(calc(100% - 42px),760px)}
  .brand {width:166px}
  .main-nav {display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:15px 23px 26px;margin:0;gap:1px;border-bottom:1px solid var(--line);box-shadow:0 17px 35px rgb(20 45 27 / 10%)}
  .main-nav.is-open {display:flex}
  .main-nav .nav-link {display:block;font-size:15px;padding:13px 11px;min-height:0}
  .main-nav .nav-link::after {bottom:6px;left:11px;right:auto;width:30px;transform-origin:left}
  .nav-phone-mobile {display:flex;align-items:center;gap:10px;color:#254019;background:#eaf7db;border-radius:6px;padding:14px;margin-top:12px;font-weight:750}
  .header-phone {margin-left:auto}
  .menu-toggle {display:block}
  .menu-toggle[aria-expanded="true"] .menu-toggle__open {display:none}
  .menu-toggle[aria-expanded="true"] .menu-toggle__close {display:block}
  .hero-scroll {display:none}
  .hero-content-wrap {min-height:max(510px,calc(100vh - var(--header-height) - 1px));
    min-height:max(510px,calc(100svh - var(--header-height) - 1px))}
  .hero-media {left:37%}
  .hero h1 {font-size:52px}
  .hero-trust {gap:17px}
  .hero-trust li {font-size:10px}
  .hero-trust .icon {width:26px;height:26px}
  .about-grid {grid-template-columns:1fr 1fr}
  .about-copy {padding:32px 25px}
  .about-copy h2 {font-size:30px}
  .about-copy > p {font-size:12.5px}
  .check-list {gap:7px}
  .check-list li {font-size:11px}
  .check-icon {width:18px;height:18px}
  .about-quote {left:5%;bottom:26px;min-width:0;width:48%;padding:18px}
  .about-quote__mark {font-size:40px;height:29px}
  .about-quote blockquote {font-size:11px}
  .about-quote__signature {font-size:18px}
  .process-step {padding:0}
  .process-grid {gap:28px}
  .step-icon {width:56px;height:56px}
  .step-icon .icon {width:26px;height:26px}
  .step-number {font-size:29px}
  .process-step h3 {font-size:15px}
  .process-step p {font-size:12px}
  .contact-grid {gap:30px}
  .form-card {padding:22px}
  .footer-inner {grid-template-columns:1fr auto}
  .footer-inner small {grid-column:1/-1;text-align:center;padding-bottom:17px}
}

/* --- Smartphone ----------------------------------------------------------- */
@media (max-width: 700px) {
  body {padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  html {scroll-padding-top:80px}
  .container,.hero-content-wrap,.header-inner {width:min(calc(100% - 36px),520px)}
  .brand {width:158px}
  .header-phone {display:none}
  .menu-toggle {margin-left:auto}
  /* Smartphone: Editorial Split Hero; bei genug Höhe wächst der Textbereich,
     das ganze Haus bleibt im ursprünglichen breiten Bildformat sichtbar. */
  .hero {display:flex;flex-direction:column;background:#fff;
    /* Die mobile Anrufleiste bleibt außerhalb des sichtbaren Bildbereichs. */
    min-height:calc(100vh - var(--header-height) - 1px - 64px - env(safe-area-inset-bottom,0px));
    min-height:calc(100svh - var(--header-height) - 1px - 64px - env(safe-area-inset-bottom,0px))}
  .hero-scroll {display:none}
  .hero-content-wrap {order:1;min-height:0;flex:1 0 auto;display:flex;align-items:center}
  .hero-copy {width:100%;padding:clamp(28px,4svh,44px) 0}
  .hero .eyebrow {font-size:9px;letter-spacing:.12em;margin-bottom:16px}
  .hero h1 {font-size:clamp(39px,9.6vw,62px);margin-bottom:16px}
  .hero-intro {font-size:15px;line-height:1.58;max-width:510px;margin-bottom:21px}
  .hero-actions {gap:9px;flex-wrap:nowrap}
  .hero-actions .button {flex:1 1 0;min-width:0;min-height:49px;font-size:12px;padding:12px 10px;gap:6px}
  .hero-actions .button .icon {width:15px;height:15px}
  .hero-trust {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:27px}
  .hero-trust li {font-size:9px;gap:6px;align-items:flex-start}
  .hero-trust .icon {width:23px;height:23px}
  .hero-media {order:2;position:relative;inset:auto;margin-top:0;width:100%;height:clamp(245px,68vw,420px);flex:0 0 auto}
  .hero-media img {object-position:50% 31%}
  .hero-wash {display:none}
  .hero::after {display:none}
  .section {padding-block:66px}
  .eyebrow {font-size:9px;gap:9px}
  .eyebrow-bar {width:28px;height:2px}
  .services {padding-top:82px;padding-bottom:91px}
  .section-heading.services-heading {margin-bottom:34px}
  .section-heading h2 {font-size:clamp(32px,7.1vw,41px)}
  .section-heading p {font-size:13px;line-height:1.65}
  .services-track {display:flex;gap:15px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;margin-right:calc((100vw - 100%)/-2);padding-right:calc((100vw - 100%)/2)}
  .services-track::-webkit-scrollbar {display:none}
  .service-card {flex:0 0 min(81vw,350px);scroll-snap-align:start}
  .service-card__image {aspect-ratio:2 / 1}
  .service-card__body {min-height:242px;padding:43px 21px 23px}
  .service-card h3 {font-size:20px}
  .service-card p {font-size:14px}
  .services-pagination {display:flex;justify-content:center;align-items:center;gap:7px;padding-top:25px}
  .services-pagination button {display:block;flex:none;width:9px;height:9px;border:0;border-radius:10px;background:#d9e0d3;transition:width .2s,background .2s;padding:0}
  .services-pagination button[aria-current="true"] {width:22px;background:var(--green)}
  .services-more {padding:83px 0 94px}
  .services-more__heading {margin-bottom:36px}
  .services-more__heading h2 {font-size:clamp(30px,7vw,38px)}
  .services-more__heading p {font-size:13px}
  .services-more__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .more-card {min-height:277px;padding:23px 19px}
  .more-card__icon {width:44px;height:44px;margin-bottom:14px}
  .more-card h3 {font-size:15px}
  .more-card p {font-size:12px}
  .more-card a {font-size:11px}
  .about-grid {display:flex;flex-direction:column;min-height:0}
  .about-figure {width:100%;height:min(92vw,490px);min-height:365px}
  .about-portrait {right:0;bottom:-75px;height:calc(100% + 75px)}
  .about-quote {left:18px;bottom:20px;width:min(52%,245px);min-width:0;min-height:0;padding:18px 16px 16px}
  .about-quote__mark {font-size:31px;height:23px}
  .about-quote blockquote {font-size:11px;line-height:1.42;margin-bottom:11px}
  .about-quote__signature {font-size:17px;margin-bottom:11px}
  .about-quote__person {font-size:10px;padding-top:9px}
  .about-quote__person small {font-size:9px}
  .about-content {width:100%}
  .about-copy {width:min(calc(100% - 36px),520px);margin:0 auto;padding:75px 0 84px}
  .about-copy h2 {font-size:clamp(31px,7.3vw,40px)}
  .about-copy > p {font-size:14px;line-height:1.62}
  .check-list {gap:11px}
  .check-list li {font-size:13px}
  .check-icon {width:21px;height:21px}
  .process {padding:86px 0 100px}
  .process-heading {margin-bottom:49px}
  .process-heading h2 {font-size:clamp(29px,6.6vw,37px)}
  .process-grid {grid-template-columns:1fr;gap:36px}
  .process-step {display:grid;grid-template-columns:70px 1fr;column-gap:17px}
  .process-step__top {grid-row:1/span 2;flex-direction:column;gap:8px;margin:0}
  .step-icon {width:66px;height:66px}
  .step-number {font-size:25px}
  .process-step h3 {padding-top:7px;font-size:18px;margin-bottom:6px}
  .process-step p {grid-column:2;font-size:13px;max-width:370px}
  .step-arrow {display:none}
  .contact {padding:84px 0 99px}
  .contact::before {background-size:cover,cover;background-position:center,right center}
  .contact-grid {grid-template-columns:1fr;gap:34px}
  .contact-copy h2 {font-size:clamp(35px,8vw,43px)}
  .contact-copy > p {font-size:14px}
  .contact-details {gap:12px}
  .form-card {max-width:none;padding:23px 20px}
  .form-row {grid-template-columns:1fr;gap:0}
  .form-field textarea {min-height:130px}
  .site-footer {margin:0}
  .footer-inner {display:flex;align-items:center;flex-direction:column;justify-content:center;gap:20px;padding-block:32px 29px;min-height:0}
  .footer-brand {width:170px}
  .footer-links {gap:26px}
  .footer-inner small {padding:0;font-size:10px}
  .mobile-call-bar {display:flex;align-items:center;justify-content:center;gap:10px;position:fixed;z-index:90;left:0;bottom:0;width:100%;min-height:calc(64px + env(safe-area-inset-bottom,0px));padding:12px 13px calc(12px + env(safe-area-inset-bottom,0px));background:var(--green);color:#fff;font-weight:810;font-size:14px;box-shadow:0 -5px 18px rgb(10 40 10 / 16%)}
  .mobile-call-bar .icon {width:21px;height:21px}
}
@media (max-width: 430px) {
  .container,.hero-content-wrap,.header-inner {width:calc(100% - 30px)}
  .hero-copy {padding-block:clamp(27px,4svh,42px)}
  .hero h1 {font-size:clamp(37px,9.6vw,43px)}
  .hero-intro {font-size:14px}
  .hero-actions .button {font-size:11px;padding-inline:7px}
  .hero-trust {gap:6px}
  .hero-trust li {font-size:8px;gap:5px}
  .hero-trust .icon {width:21px;height:21px}
  .services-more__grid {grid-template-columns:1fr;gap:12px}
  .more-card {display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto auto;min-height:0;gap:0 13px;padding:17px}
  .more-card__icon {grid-row:1/4;width:43px;height:43px}
  .more-card h3,.more-card p,.more-card a {grid-column:2}
  .more-card h3 {margin-bottom:5px;font-size:16px}
  .more-card p {margin-bottom:9px;font-size:12px}
  .more-card a {margin-top:0}
  .about-figure {height:395px}
  .about-quote {width:52%}
  .contact-details a {font-size:14px}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* --- V4 craftsmanship: section rhythm and accessible image framing ----- */
@media (min-width:1061px) {
  .about-copy {max-width:650px}
}
@media (min-width:701px) and (max-width:1060px) {
  .services {padding-block:88px 97px}
  .services-more {padding-block:88px 99px}
  .services-more__heading {margin-bottom:37px}
  .about-grid,.about-figure {min-height:620px}
  .about-portrait {right:1%;bottom:-85px;height:calc(100% + 85px)}
  .process {padding-block:85px 98px}
  .process-heading {margin-bottom:48px}
  .contact {padding-block:78px 87px}
}
@media (max-width:700px) {
  .service-card__image {aspect-ratio:2 / 1}
  .about-figure__architecture {background-position:56% 48%}
  .about-figure::after {background:linear-gradient(90deg,rgba(235,243,230,.28),transparent 76%)}
  .about-quote {box-shadow:0 10px 28px rgb(13 39 30 / 17%)}
  .process-step__top {gap:9px;margin:0}
  .contact-media {inset:0 0 0 26%;opacity:.38}
}
@media (max-width:360px) {
  .about-quote {width:55%;padding:13px 12px}
  .about-quote blockquote {font-size:10px}
  .about-quote__signature {font-size:15px}
  .about-quote__person {font-size:9px}
}

/* --- Premium V5: tablet im Hochformat ---------------------------------- */
@media (min-width:701px) and (max-width:1060px) and (orientation:portrait) {
  .hero {display:flex;flex-direction:column;background:#fff}
  .hero-content-wrap {order:1;flex:1 0 auto;min-height:0;align-items:center}
  .hero-copy {max-width:620px;width:100%;padding:24px 0}
  .hero-media {order:2;position:relative;inset:auto;width:100%;height:clamp(330px,45svh,610px);flex:0 0 auto}
  .hero-media img {object-fit:cover;object-position:50% 54%}
  .hero-wash,.hero::after {display:none}
}
/* Sehr kurze Bildschirme: lieber lesbare Inhalte als abgeschnittene Buttons. */
@media (max-height:520px) and (min-width:701px) {
  .hero-content-wrap {min-height:530px}
}

/* Bei sehr niedrigen Desktop-Fenstern bleibt der untere Bereich frei. */
@media (max-height:760px) and (min-width:851px) {
  .hero-scroll {display:none}
}


/* =============================================================================
   Premium V6 overrides · fixed full-width hero, richer typography, better image crops
   ============================================================================= */

.hero{position:sticky;top:var(--header-height);z-index:0;min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));}
.hero-media{inset:0;}
.hero-media img{object-position:52% 50%;}
.hero-wash{background:linear-gradient(90deg,rgba(251,250,247,.98) 0%,rgba(250,250,246,.97) 18%,rgba(250,250,246,.94) 29%,rgba(250,250,246,.82) 38%,rgba(250,250,246,.52) 48%,rgba(250,250,246,.12) 63%,rgba(250,250,246,0) 76%),linear-gradient(0deg,rgba(252,250,242,.12),transparent 28%);}
.hero-content-wrap{position:relative;z-index:2;width:min(calc(100% - 82px),1200px);min-height:calc(100vh - var(--header-height));min-height:calc(100svh - var(--header-height));align-items:center;}
.hero-copy{width:min(100%,560px);padding:72px 0 88px;}
.hero-intro{max-width:500px;font-size:18px;line-height:1.62;}
.hero-trust{margin-top:38px;gap:38px;}
.hero-trust li{font-size:13px;line-height:1.45;gap:11px;}
.hero-trust .icon{width:32px;height:32px;}
.hero-scroll{left:max(40px,calc((100% - 1200px)/2));bottom:28px;font-size:12px;z-index:4;}
.services,.services-more,.about,.process,.contact,footer{position:relative;z-index:3;}
.services{padding-top:128px;padding-bottom:126px;box-shadow:0 -18px 40px rgba(18,36,31,.04);}
.section-heading.services-heading{margin-bottom:60px;}
.services-heading h2{font-size:clamp(40px,3.8vw,56px);}
.services-heading p{font-size:17px;line-height:1.72;max-width:760px;}
.services-track{gap:24px;}
.service-card{border-radius:14px;box-shadow:0 16px 38px rgba(19,39,30,.07);}
.service-card__image{aspect-ratio:1.58 / 1;}
.service-card__image img{object-fit:cover;object-position:center 42%;}
.service-card:nth-child(1) .service-card__image img{object-position:center 53%;}
.service-card:nth-child(2) .service-card__image img{object-position:center 38%;}
.service-card:nth-child(3) .service-card__image img{object-position:center 40%;}
.service-card:nth-child(4) .service-card__image img{object-position:center 55%;}
.service-card__body{min-height:248px;padding:46px 26px 29px;}
.service-card h3{font-size:23px;max-width:260px;}
.service-card p{font-size:15px;line-height:1.62;margin-bottom:24px;}
.service-card__cta{font-size:14px;}
.services-more{padding:128px 0 130px;}
.services-more__heading{margin-bottom:58px;}
.services-more__heading h2{font-size:clamp(40px,3.65vw,52px);}
.services-more__heading p{font-size:16px;line-height:1.75;max-width:760px;}
.more-card{min-height:324px;padding:30px 24px 28px;border-radius:12px;}
.more-card h3{font-size:18px;}
.more-card p{font-size:14px;line-height:1.6;}
.about-grid{grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:690px;}
.about-figure{min-height:690px;background:#dbe7d6;}
.about-figure__architecture{display:none;}
.about-figure::after{z-index:1;background:linear-gradient(90deg,rgba(240,246,236,.10),transparent 52%),linear-gradient(0deg,rgba(22,48,33,.18),transparent 58%);}
.about-portrait{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center;filter:none;z-index:0;}
.about-quote{left:clamp(24px,4vw,54px);bottom:clamp(26px,4vw,54px);width:min(290px,calc(100% - 40px));z-index:2;background:linear-gradient(180deg,rgba(10,46,33,.95),rgba(9,39,29,.92));}
.about-copy{padding:78px clamp(48px,5.5vw,88px) 78px 72px;}
.about-copy h2{font-size:clamp(40px,3.55vw,52px);margin-bottom:26px;}
.about-copy > p{font-size:16px;line-height:1.74;}
.check-list li{font-size:15px;}
.process{padding:126px 0 136px;}
.process-heading{margin-bottom:72px;}
.process-heading h2{font-size:clamp(39px,3.35vw,50px);}
.process-step h3{font-size:21px;}
.process-step p{font-size:15px;line-height:1.7;}
.contact{padding:104px 0 110px;}
.contact-copy h2{font-size:clamp(37px,3.15vw,46px);}
.contact-copy > p,.contact-details a{font-size:15px;}
.form-card{border-radius:14px;}

@media (max-width: 1100px){
  .hero-copy{width:min(100%,520px);padding:54px 0 76px;}
  .hero-trust{gap:24px;}
  .hero-trust li{font-size:12px;}
  .services{padding-top:114px;padding-bottom:116px;}
  .service-card__image{aspect-ratio:1.5 / 1;}
  .service-card__body{min-height:232px;}
  .services-more{padding:114px 0 118px;}
  .about-grid{grid-template-columns:1fr 1fr;}
  .about-copy{padding:62px 42px 62px 46px;}
  .process{padding:114px 0 120px;}
}

@media (max-width: 900px){
  .hero{position:relative;top:auto;}
  .hero-content-wrap{width:min(calc(100% - 46px),900px);}
  .hero-copy{padding:46px 0 64px;}
  .hero-intro{font-size:16px;}
  .hero-trust{gap:16px;}
  .hero-trust li{font-size:11px;}
  .hero-media img{object-position:58% 50%;}
  .services,.services-more,.process{padding-top:96px;padding-bottom:102px;}
  .services-track{grid-template-columns:repeat(2,minmax(0,1fr));}
  .services-more__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .about-grid{grid-template-columns:1fr;}
  .about-figure{min-height:520px;}
  .about-copy{padding:52px 34px 60px;}
  .process-grid{grid-template-columns:1fr;gap:42px;}
}

@media (max-width: 767px){
  .hero{display:flex;flex-direction:column;background:#fff;min-height:0;position:relative;}
  .hero-media{position:relative;inset:auto;order:2;width:100%;height:clamp(280px,72vw,430px);}
  .hero-media img{object-position:56% 42%;}
  .hero-wash,.hero::after,.hero-scroll{display:none;}
  .hero-content-wrap{order:1;min-height:0;width:min(calc(100% - 34px),560px);}
  .hero-copy{width:100%;padding:34px 0 30px;}
  .hero h1{font-size:clamp(42px,10vw,58px);}
  .hero-intro{font-size:15px;line-height:1.6;margin-bottom:20px;}
  .hero-actions{gap:10px;flex-wrap:wrap;}
  .hero-actions .button{flex:1 1 calc(50% - 5px);min-width:0;font-size:12px;}
  .hero-trust{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;}
  .hero-trust li{font-size:11px;line-height:1.4;align-items:flex-start;}
  .hero-trust .icon{width:24px;height:24px;}
  .services{padding-top:82px;padding-bottom:90px;}
  .section-heading.services-heading{margin-bottom:44px;}
  .services-heading h2,.services-more__heading h2,.about-copy h2,.process-heading h2{font-size:clamp(32px,8vw,40px);}
  .services-heading p,.services-more__heading p,.about-copy > p{font-size:15px;}
  .services-track{display:grid;grid-template-columns:1fr;gap:18px;}
  .service-card__image{aspect-ratio:1.7 / 1;}
  .service-card__body{min-height:0;padding:42px 22px 24px;}
  .service-card h3{font-size:22px;}
  .service-card p{font-size:14px;}
  .services-more{padding:92px 0 96px;}
  .services-more__heading{margin-bottom:42px;}
  .services-more__grid{grid-template-columns:1fr;gap:16px;}
  .more-card{min-height:0;}
  .about-figure{height:auto;min-height:0;aspect-ratio:1 / 1;}
  .about-portrait{object-position:center 35%;}
  .about-quote{left:18px;bottom:18px;width:min(260px,calc(100% - 36px));padding:22px 20px 18px;}
  .about-quote blockquote{font-size:13px;}
  .about-quote__signature{font-size:17px;margin-bottom:12px;}
  .about-copy{padding:42px 24px 48px;}
  .process{padding:90px 0 96px;}
  .process-heading{margin-bottom:48px;}
  .process-step{max-width:none;}
  .process-step h3{font-size:19px;}
  .process-step p{font-size:14px;max-width:none;}
}

@media (max-width: 420px){
  .hero-copy{padding-top:28px;}
  .hero-actions .button{font-size:11px;padding-inline:10px;}
  .hero-trust{gap:8px;}
  .hero-trust li{font-size:10px;}
  .service-card__image{aspect-ratio:1.58 / 1;}
}
