/* Shared readable type scale. Main copy stays at least 16px at the default root size. */
:root{--text-body:1.0625rem;--text-control:1rem;--text-nav:.9375rem;--text-small:.875rem;--text-caption:.75rem}
:root{--paper:#f7f8f5;--white:#fff;--ink:#222820;--muted:#62685e;--green:#4d633c;--green-dark:#283b2d;--sage:#e8eddf;--line:#dce0d6;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:var(--text-body);line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3,p{margin:0}p+p{margin-top:18px}h1,h2,h3{line-height:1.12;letter-spacing:-.045em;font-weight:600}h1{font-size:clamp(45px,4.75vw,69px);line-height:1.05}h2{font-size:clamp(36px,4vw,52px)}h3{font-size:24px;letter-spacing:-.025em}h1 span,.about h2 span{color:var(--green)}.wrap{max-width:1232px;margin-inline:auto;padding-inline:36px}.section{padding-block:110px}.eyebrow{font-size:var(--text-caption);font-weight:700;letter-spacing:.16em;color:var(--green);margin-bottom:23px;display:flex;align-items:center;gap:9px;line-height:1.5}.small{font-size:var(--text-small);color:var(--muted)}.button{display:inline-flex;min-height:50px;justify-content:center;align-items:center;gap:12px;padding:13px 23px;border-radius:100px;background:var(--green);color:#fff;border:1px solid transparent;font-size:var(--text-control);font-weight:600;line-height:1.4;transition:background .2s,transform .2s,box-shadow .2s}.button svg{width:18px;height:18px}.button:hover{background:#3b502d;transform:translateY(-2px);box-shadow:0 6px 20px #24302216}.button-secondary{background:#fff;color:var(--ink);border-color:#d9ded2}.button-secondary:hover{background:#edf0e7}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:var(--text-control);font-weight:600;color:var(--green);min-height:44px}.text-link svg{width:18px;height:18px;transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #799c5e;outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;background:var(--green-dark);color:white;z-index:20;padding:15px;border-radius:10px}.skip:focus{top:15px}.header{position:sticky;top:0;z-index:10;background:#f7f8f5ed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #dce0d67a}.nav-wrap{max-width:1304px;padding:17px 36px;margin:auto;display:flex;align-items:center;gap:34px}.brand{display:flex;flex-direction:column;line-height:1;min-height:44px;justify-content:center}.brand>span{font-size:29px;font-weight:850;letter-spacing:-1.8px}.brand-dot{color:var(--green)}.brand small{font-size:.625rem;letter-spacing:1.65px;font-weight:600;margin-top:6px}.nav{display:flex;gap:26px;margin-left:auto}.nav a{font-size:var(--text-nav);font-weight:500;min-height:44px;display:flex;align-items:center}.nav a:hover{color:var(--green)}.nav-call{min-height:44px;padding:10px 18px;font-size:var(--text-nav)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;padding-block:65px 55px;align-items:center}.hero .eyebrow{margin-bottom:24px}.hero-lead{font-size:21px;line-height:1.45;font-weight:500;letter-spacing:-.025em;margin-top:24px}.hero-text{max-width:420px;font-size:var(--text-body);color:var(--muted);margin-top:17px;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-note{display:flex;align-items:center;gap:7px;font-size:var(--text-small);color:var(--muted);margin-top:21px}.hero-note svg{width:15px;height:15px}.hero-visual{position:relative;background:#e5eadc;border-radius:32px;height:560px;isolation:isolate;overflow:hidden}.hero-visual:before{content:"";position:absolute;width:400px;height:400px;border:1px solid #f9fbf4aa;border-radius:50%;top:70px;left:40px;box-shadow:0 0 0 55px #f5f7ee30,0 0 0 110px #f5f7ee20;z-index:-1}.portrait-word{position:absolute;top:19px;left:27px;font-size:100px;font-weight:800;letter-spacing:-7px;color:#75846217;line-height:1}.hero-portrait{position:absolute;height:91%;width:100%;object-fit:cover;object-position:center top;bottom:0;left:0}.portrait-caption{position:absolute;bottom:27px;left:23px;right:23px;display:flex;align-items:center;gap:13px;background:#fffffff0;backdrop-filter:blur(14px);padding:18px;border:1px solid #fff;border-radius:18px;box-shadow:0 6px 25px #2430220a}.caption-icon{display:grid;place-items:center;background:#e7eddf;color:var(--green);border-radius:12px;width:43px;height:43px;flex-shrink:0}.portrait-caption strong{display:block;font-size:1rem;letter-spacing:-.02em}.portrait-caption span{display:block;font-size:var(--text-small);color:var(--muted);margin-top:2px}.portrait-label{position:absolute;right:17px;top:27px;writing-mode:vertical-rl;font-size:var(--text-caption);letter-spacing:2px;color:#4f6341}.trust-strip{border-block:1px solid var(--line);display:flex;justify-content:space-between;padding-block:23px}.trust-strip span{display:flex;align-items:center;gap:10px;font-size:var(--text-small);font-weight:500}.trust-strip svg{width:18px;height:18px;color:var(--green)}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.intro-copy{font-size:var(--text-body);color:var(--muted);max-width:460px;padding-bottom:3px}.intro-copy p:first-child{font-size:18px;color:var(--ink);line-height:1.6}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:60px}.benefits article{border-top:1px solid var(--line);padding-top:28px}.line-icon{display:block;color:var(--green);margin-bottom:25px}.line-icon svg{width:30px;height:30px}.benefits h3{font-size:22px;margin-bottom:14px}.benefits p{font-size:var(--text-body);color:var(--muted);max-width:320px}.cost-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:56px 60px;background:var(--green-dark);color:#f7f9f3;border-radius:var(--radius)}.cost-panel .eyebrow{color:#bfd1ab}.cost-panel h2{font-size:46px}.light-link{color:#d4e2c4;margin-top:24px}.cost-copy>p{font-size:var(--text-body);color:#ced7c9}.cost-copy>.large-copy{font-size:19px;line-height:1.6;color:#f8faf6}.cost-footnote{display:flex;gap:12px;border-top:1px solid #ffffff24;margin-top:24px;padding-top:20px;color:#c1cfb9}.cost-footnote p{font-size:var(--text-small);line-height:1.7}.cost-footnote svg{width:19px;height:19px;margin-top:2px}.section-heading{text-align:center;max-width:720px;margin:0 auto 48px}.section-heading .eyebrow{justify-content:center}.section-heading>p:last-child:not(.eyebrow){color:var(--muted);margin-top:20px;font-size:var(--text-body)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.service{background:#fff;border:1px solid #e7e9e1;border-radius:24px;padding:31px 29px 15px}.service-featured{background:#eaf0e2;border-color:#e0e8d6}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px;color:var(--green)}.service-number{font-size:var(--text-caption);letter-spacing:.14em;font-weight:600}.service-top>svg{width:32px;height:32px}.service h3{font-size:28px;line-height:1.15;margin-bottom:18px}.service>p{font-size:var(--text-body);color:var(--muted);min-height:88px}.service details{border-top:1px solid #34433120;margin-top:25px}.service summary{padding:17px 0;font-size:var(--text-control);display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:600;list-style:none}.service summary svg{width:17px;height:17px}.service details>div{font-size:var(--text-body);color:var(--muted);padding-bottom:18px}.service details>div a{display:block;color:var(--green);margin-top:16px;font-weight:600;padding-block:7px}.process-section{background:#eef1e9}.steps{list-style:none;padding:0;margin:64px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.steps li{position:relative}.steps li:before{content:"";position:absolute;top:24px;left:65px;width:calc(100% - 62px);border-top:1px solid #ced7c4}.steps li:last-child:before{display:none}.steps li>span{display:grid;place-items:center;width:49px;height:49px;border:1px solid #cbd5c1;border-radius:50%;font-size:var(--text-small);color:var(--green);margin-bottom:26px}.steps h3{font-size:20px;margin-bottom:13px}.steps p{font-size:var(--text-body);color:var(--muted)}.prepare{border-top:1px solid #d2dacb;padding-top:30px;margin-top:45px;display:flex;align-items:center;gap:21px}.prepare>svg{color:var(--green)}.prepare p{font-size:var(--text-small);color:var(--muted);max-width:690px}.prepare strong{color:var(--ink)}.prepare .text-link{margin-left:auto;white-space:nowrap;font-size:var(--text-control)}.about{display:grid;grid-template-columns:1.05fr 1fr;gap:95px}.about-quote{font-size:21px;line-height:1.55;letter-spacing:-.02em;max-width:410px;margin-top:30px}.signature{font-family:Georgia,serif;font-style:italic;color:var(--green);font-size:25px;margin-top:26px}.about-heading .small{margin-top:4px;font-size:var(--text-small)}.about-copy{padding-top:40px}.about-copy>p{font-size:var(--text-body);color:var(--muted)}.timeline{margin-top:32px}.timeline>div{display:flex;gap:25px;padding:17px 0;border-top:1px solid var(--line);align-items:baseline}.timeline span{font-size:var(--text-small);font-weight:600;color:var(--green)}.timeline p{font-size:var(--text-body);color:var(--muted)}.area-section{padding-block:90px 45px;background:#edf0e7;overflow:hidden}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.area-copy>p:not(.eyebrow){font-size:var(--text-body);color:var(--muted);max-width:490px}.area-copy h2{margin-bottom:25px}.area-copy>.small{font-size:var(--text-small)}.towns{display:flex;flex-wrap:wrap;gap:7px;margin-block:23px}.towns span{padding:5px 11px;background:#ffffffa0;border:1px solid #dce3d5;border-radius:100px;font-size:var(--text-small);color:#46543c}.area-art{position:relative}.area-map{width:100%;height:auto;stroke:none;stroke-width:0}.area-map path{stroke-linecap:round}.map-caption{display:block;text-align:center;font-size:var(--text-small);color:var(--muted);margin-top:-20px}.immobile{display:flex;align-items:center;gap:20px;margin-top:45px;border-top:1px solid #d5ddce;padding-top:25px}.immobile svg{color:var(--green)}.immobile p{font-size:var(--text-small);color:var(--muted)}.immobile strong{color:var(--ink)}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.faq-heading>p:not(.eyebrow){margin-top:24px;color:var(--muted);font-size:var(--text-body)}.faq-heading .text-link{margin-top:12px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}summary::-webkit-details-marker{display:none}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;font-size:var(--text-control);font-weight:500;line-height:1.5}.faq-list summary svg{width:19px;height:19px;color:var(--green)}details[open] summary svg{transform:rotate(45deg)}.faq-list details p{font-size:var(--text-body);color:var(--muted);padding:0 25px 25px 0}.contact-section{background:#e5ebdc;padding-block:90px}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.contact-copy{padding-top:10px}.contact-copy>p:not(.eyebrow){margin-top:24px;color:#5b6652;font-size:var(--text-body);max-width:390px}.contact-phone{display:flex;align-items:center;gap:18px;font-size:30px;letter-spacing:-1px;font-weight:550;margin-top:32px;min-height:44px}.contact-email{font-size:var(--text-control);color:#46543d;display:inline-block;min-height:44px;padding-top:5px;overflow-wrap:anywhere}.contact-address{display:flex;gap:12px;align-items:flex-start;margin-top:30px}.contact-address>svg{width:19px;color:var(--green);margin-top:4px}.contact-address p{font-size:var(--text-small);color:#5c6653;line-height:1.8}.contact-address strong{color:var(--ink)}.contact-form{background:#fff;border-radius:25px;padding:34px;box-shadow:0 10px 35px #344b2510}.contact-form>p:first-of-type{font-size:var(--text-small);color:var(--muted);margin-top:9px;margin-bottom:25px}.contact-form h3{font-size:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:block;font-size:var(--text-small);font-weight:600;margin-bottom:17px}.contact-form label>span{font-weight:400;color:var(--muted)}input,textarea{display:block;width:100%;padding:13px 14px;margin-top:7px;border:1px solid #dfe3da;border-radius:10px;color:var(--ink);background:#f8f9f6;font-size:var(--text-control);min-height:48px;line-height:1.5}textarea{resize:vertical;min-height:100px}input::placeholder,textarea::placeholder{color:#7b8175}.contact-form .privacy-note{font-size:var(--text-small);color:var(--muted);line-height:1.65;margin-block:0 19px}.privacy-note a{text-decoration:underline}.contact-form .button{width:100%;border-radius:12px}.form-note{font-size:var(--text-small);color:var(--muted);text-align:center;margin-top:11px}.form-status{font-size:var(--text-small);padding:12px;background:#eef3e8;border-radius:8px;margin-top:15px}.footer{padding-block:46px 27px}.footer-top{display:flex;align-items:center;gap:70px;padding-bottom:35px}.footer-top p{font-size:var(--text-small);color:var(--muted)}.back-top{margin-left:auto;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:var(--text-small);color:var(--muted);align-items:center}.footer-bottom nav{display:flex;gap:20px}.footer-bottom nav a{display:flex;align-items:center;min-height:44px}.mobile-contact{display:none}@media(min-width:1440px){.hero{padding-top:80px;padding-bottom:70px}.hero-visual{height:590px}}@media(max-width:1050px){.nav{gap:18px}.nav-wrap{gap:20px}.hero{gap:30px}.hero-visual{height:520px}.hero-portrait{height:85%;width:112%;left:-6%}.portrait-word{font-size:80px}.contact-grid{gap:45px}.cost-panel{padding:45px;gap:40px}.service{padding:25px 22px 12px}.service h3{font-size:25px}.service>p{min-height:110px}.about{gap:50px}.faq-section{gap:45px}}@media(max-width:1050px){.nav-wrap{padding:15px 24px;position:relative}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px 20px;box-shadow:0 15px 20px #1c27130a}.nav.open{display:flex;flex-direction:column;gap:0}.nav a{font-size:var(--text-nav);padding-block:12px}.nav-call{margin-left:auto}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:12px;background:transparent;border:1px solid var(--line);border-radius:50%}.menu-toggle span{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}}@media(max-width:850px){.wrap{padding-inline:26px}.hero{gap:25px;padding-top:44px}.hero h1{font-size:46px}.hero-visual{height:480px}.portrait-caption{left:13px;right:13px;bottom:16px;padding:13px;gap:9px}.portrait-caption span{font-size:var(--text-small)}.portrait-caption strong{font-size:1rem}.caption-icon{width:33px;height:33px}.caption-icon svg{width:20px}.hero-lead{font-size:18px}.hero-text{font-size:var(--text-body)}.hero .actions{gap:8px}.hero .button{font-size:var(--text-control);padding-inline:16px}.hero-note{font-size:var(--text-small)}.trust-strip{gap:15px}.trust-strip span{font-size:var(--text-small);gap:6px}.section{padding-block:80px}.section-intro{gap:40px}.benefits{gap:25px}.benefits h3{font-size:19px}.cost-panel{grid-template-columns:1fr;gap:30px;padding:38px}.cost-panel h2 br{display:none}.cost-panel h2{font-size:38px}.light-link{margin-top:15px}.service-grid{gap:12px}.service{padding:22px 18px 12px}.service h3{font-size:23px}.service summary{font-size:var(--text-control)}.service-top{margin-bottom:30px}.service-top>svg{width:25px}.service-number{font-size:var(--text-caption)}.service>p{font-size:var(--text-body)}.steps{grid-template-columns:1fr 1fr;row-gap:35px}.steps li:nth-child(2):before{display:none}.prepare{flex-wrap:wrap}.prepare p{flex:1}.prepare .text-link{margin-left:45px}.about{gap:40px}.about-copy{padding-top:0}.about-quote{font-size:18px}.area-grid{gap:15px}.area-copy h2{font-size:38px}.area-art{margin-right:-20px}.faq-section{grid-template-columns:1fr;gap:35px}.faq-heading h2 br{display:none}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy>p:not(.eyebrow){max-width:550px}.contact-form{max-width:100%}.footer-bottom>span:last-child{display:none}}@media(max-width:600px){html{scroll-padding-top:94px}.wrap{padding-inline:22px}.nav-wrap{padding-inline:22px;gap:12px}.brand>span{font-size:27px}.brand small{font-size:.625rem}.nav-call{font-size:var(--text-nav);padding:10px 14px;min-height:42px}.nav-call svg{width:15px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:30px;gap:32px}.hero h1{font-size:clamp(42px,10.6vw,60px);line-height:1.06}.hero .eyebrow{font-size:var(--text-caption);margin-bottom:20px}.hero-lead{font-size:20px;margin-top:22px}.hero-text{max-width:100%;font-size:var(--text-body);line-height:1.7}.hero .actions{margin-top:23px;gap:10px}.hero .button{font-size:var(--text-control);flex:1;padding-inline:12px;min-height:50px}.hero-note{font-size:var(--text-small);margin-top:17px}.hero-visual{height:420px;border-radius:23px;max-width:480px;width:100%;margin-inline:auto}.hero-portrait{height:100%;width:100%;left:0;object-fit:cover;object-position:center top}.portrait-word{font-size:88px}.portrait-caption{left:17px;right:17px;bottom:19px;padding:15px}.portrait-caption strong{font-size:1rem}.portrait-caption span{font-size:var(--text-small)}.caption-icon{width:40px;height:40px}.trust-strip{padding-block:18px;display:grid;grid-template-columns:1fr;gap:10px;justify-items:center}.trust-strip span{font-size:var(--text-small)}.trust-strip svg{width:16px;height:16px}.section{padding-block:64px}.eyebrow{font-size:var(--text-caption);margin-bottom:18px}h2{font-size:38px;letter-spacing:-.04em}.section-intro{grid-template-columns:1fr;gap:24px}.section-intro h2 br{display:none}.intro-copy p:first-child{font-size:17px}.intro-copy{font-size:var(--text-body)}.benefits{grid-template-columns:1fr;gap:25px;margin-top:34px}.benefits article{display:grid;grid-template-columns:37px 1fr;gap:10px 16px;padding-top:22px}.line-icon{grid-row:span 2;margin:0}.line-icon svg{width:27px;height:27px}.benefits h3{font-size:20px;margin:0}.benefits p{max-width:none;font-size:var(--text-body)}.cost-panel{padding:30px 25px;border-radius:22px;gap:25px}.cost-panel h2{font-size:35px}.cost-copy>.large-copy{font-size:17px}.cost-copy>p{font-size:var(--text-body)}.cost-footnote p{font-size:var(--text-small)}.section-heading{text-align:left;margin-bottom:30px}.section-heading .eyebrow{justify-content:flex-start}.section-heading>p:last-child:not(.eyebrow){font-size:var(--text-body)}.desktop-break{display:none}.service-grid{grid-template-columns:1fr;gap:15px}.service{padding:28px 25px 12px;border-radius:20px}.service-top{margin-bottom:27px}.service-number{font-size:var(--text-caption)}.service-top>svg{width:30px;height:30px}.service h3{font-size:29px}.service h3 br{display:none}.service>p{font-size:var(--text-body);min-height:0}.service summary{font-size:var(--text-control);padding-block:20px}.service details{margin-top:24px}.steps{grid-template-columns:1fr;margin-top:36px;gap:28px}.steps li{display:grid;grid-template-columns:43px 1fr;gap:9px 20px}.steps li>span{width:42px;height:42px;grid-row:span 2;margin:0}.steps li:before{display:none}.steps h3{font-size:21px;margin:0;padding-top:9px}.steps p{font-size:var(--text-body)}.prepare{align-items:flex-start;gap:16px;margin-top:32px;padding-top:25px}.prepare p{font-size:var(--text-small)}.prepare .text-link{margin-left:40px}.about{grid-template-columns:1fr;gap:30px}.about-quote{font-size:20px}.about-copy>p{font-size:var(--text-body)}.timeline{margin-top:25px}.timeline p{font-size:var(--text-body)}.area-section{padding-block:62px 30px}.area-grid{grid-template-columns:1fr;gap:24px}.area-art{margin:0 -10px}.area-copy h2{font-size:38px}.area-copy>p:not(.eyebrow){font-size:var(--text-body)}.towns span{font-size:var(--text-small);padding:6px 11px}.immobile{margin-top:30px;align-items:flex-start;gap:13px}.immobile p{font-size:var(--text-small)}.faq-heading h2 br{display:block}.faq-heading>p:not(.eyebrow){font-size:var(--text-body);margin-top:18px}.faq-list summary{font-size:var(--text-control);padding-block:23px}.faq-list details p{font-size:var(--text-body);padding-right:0}.contact-section{padding-block:60px}.contact-copy>p:not(.eyebrow){font-size:var(--text-body)}.contact-phone{font-size:29px;margin-top:24px;gap:12px}.contact-email{font-size:var(--text-control)}.contact-address{margin-top:20px}.contact-form{padding:26px 21px;border-radius:20px}.contact-form h3{font-size:25px}.form-row{grid-template-columns:1fr;gap:0}.contact-form label{font-size:var(--text-small)}.contact-form label>span{font-size:var(--text-small)}input,textarea{font-size:var(--text-control)}.contact-form .privacy-note,.form-note{font-size:var(--text-small)}.contact-form .button{font-size:var(--text-control);padding-inline:12px}.footer{padding-top:36px;padding-bottom:108px}.footer-top{gap:20px;flex-wrap:wrap;padding-bottom:24px}.footer-top p{order:3;width:100%;font-size:var(--text-small)}.back-top{margin-left:auto}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;font-size:var(--text-small);padding-top:18px}.footer-bottom nav{gap:20px;flex-wrap:wrap}.mobile-contact{position:fixed;display:flex;gap:10px;z-index:9;bottom:0;left:0;right:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#f7f8f5f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid #d8dfcf}.mobile-contact .button{flex:1;min-height:46px;font-size:var(--text-control);padding:11px}.mobile-contact .button svg{width:17px;height:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(prefers-contrast:more){:root{--muted:#40483a;--line:#8e9986}.eyebrow,.small,.hero-note,.service-number{color:#34452a}.button-secondary,input,textarea{border-color:#6b7960}}@media print{.header,.mobile-contact,.contact-form,.back-top{display:none}.section{padding-block:30px}.hero{padding-top:0}.hero-visual{height:350px}body{background:#fff}.cost-panel{color:#111;background:#eee}.cost-copy>p,.cost-copy>.large-copy,.cost-panel .eyebrow{color:#111}details>p,details>div{display:block!important}.footer{padding-bottom:20px}}
/* Unfallgutachten: shared visual language, distinct service-page composition. */
.nav a[aria-current=page]{color:var(--green);font-weight:700}.section-more{margin-top:30px}.service-page-link{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #34433120;margin-top:25px;padding-block:17px;font-size:var(--text-control);font-weight:600}.service-page-link svg{width:18px;height:18px}.breadcrumbs{display:flex;gap:12px;align-items:center;padding-top:27px;font-size:var(--text-small);color:var(--muted)}.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}.breadcrumbs a:hover{text-decoration:underline}.accident-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;padding-block:25px 65px}.accident-hero h1{font-size:clamp(43px,4.7vw,66px)}.accident-hero .hero-text{max-width:470px}.report-visual{border-radius:30px;background:#e6ecde;padding:40px 30px 25px;position:relative;overflow:hidden}.report-sheet{position:relative;background:#fffefb;border:1px solid #fff;padding:27px 30px 20px;border-radius:9px;box-shadow:0 14px 45px #263a2710;transform:rotate(-3deg);margin:0 10px 25px}.report-head{display:flex;align-items:center;justify-content:space-between;color:var(--green)}.report-brand{font-size:20px;letter-spacing:-1.2px;font-weight:800}.report-head>span:last-child{font-size:var(--text-caption);letter-spacing:.13em}.report-title{font-size:30px;font-weight:600;line-height:1.15;letter-spacing:-.04em;margin-top:26px}.car-drawing{width:100%;height:auto;color:#566b46;margin-top:13px;stroke-width:1.7}.car-baseline{opacity:.25}.report-line{display:flex;align-items:center;gap:12px;font-size:var(--text-small);border-bottom:1px solid #e4e9de;padding-block:12px}.report-line>span{font-size:var(--text-caption);color:#7a8472}.report-line>svg{margin-left:auto;width:15px;height:15px;color:var(--green)}.report-bottom{font-size:var(--text-caption);letter-spacing:.12em;color:var(--muted);margin-top:24px}.report-person{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#ffffffd9;border:1px solid #fff;border-radius:16px}.report-person img{background:#e1e7d9;border-radius:50%;object-fit:cover;object-position:top;width:43px;height:43px}.report-person strong{display:block;font-size:1rem}.report-person span{display:block;font-size:var(--text-small);color:var(--muted)}.report-person>svg{margin-left:auto;color:var(--green);width:22px}.page-index{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding-block:12px;font-size:var(--text-control)}.page-index>span{font-size:var(--text-caption);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.page-index a{display:flex;min-height:44px;align-items:center}.page-index a:hover{color:var(--green)}.report-content-section{background:#edf0e7}.report-content-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.report-content-grid>div>p:not(.eyebrow){font-size:var(--text-body);color:var(--muted);max-width:360px;margin-top:24px}.report-content-grid .text-link{margin-top:20px}.scope-list{margin:0}.scope-list>div{padding:24px 0;border-top:1px solid #cfd8c7}.scope-list>div:first-child{padding-top:0;border-top:0}.scope-list dt{display:flex;gap:15px;font-size:18px;font-weight:550;line-height:1.4;letter-spacing:-.02em}.scope-list dt span{font-size:var(--text-caption);color:var(--green);padding-top:5px}.scope-list dd{margin:12px 0 0 29px;color:var(--muted);font-size:var(--text-body)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.comparison-grid article{padding:36px;background:#fff;border-radius:24px;border:1px solid #e1e6db}.comparison-grid .comparison-highlight{background:#eaf0e2}.comparison-grid h3{margin-bottom:22px;font-size:27px}.comparison-grid p:not(.eyebrow){font-size:var(--text-body);color:var(--muted)}.comparison-grid .eyebrow{font-size:var(--text-caption)}.comparison-note{text-align:center;font-size:var(--text-small);color:var(--muted);max-width:660px;margin:25px auto 0}.source-link{text-decoration:underline;text-underline-offset:3px}.documents-section{background:#edf0e7;padding-block:60px}.document-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.document-grid>div>p:not(.eyebrow){font-size:var(--text-body);color:var(--muted);max-width:370px;margin-top:22px}.document-checklist{padding:0;margin:0;list-style:none}.document-checklist li{display:flex;align-items:flex-start;gap:14px;padding:17px 0;border-bottom:1px solid #d1d9c9;font-size:var(--text-body)}.document-checklist li:last-child{border:0}.document-checklist svg{width:19px;height:19px;color:var(--green);margin-top:3px}.local-accident{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.local-person{position:relative;background:#e4eada;border-radius:25px;overflow:hidden;max-width:420px;aspect-ratio:4/4.7}.local-person>img{position:absolute;width:125%;height:100%;object-fit:cover;object-position:top;left:-12.5%;top:0}.local-person>div{position:absolute;bottom:20px;left:20px;right:20px;padding:16px 20px;border-radius:14px;background:#fffffff0;backdrop-filter:blur(12px)}.local-person strong{display:block;font-size:1rem}.local-person span{font-size:var(--text-small);color:var(--muted)}.local-accident h2{margin-bottom:27px}.local-accident p:not(.eyebrow){font-size:var(--text-body);color:var(--muted)}.local-accident .text-link{margin-top:20px}.faq-background{background:#f0f2eb}.accident-page .contact-section{margin-top:0}
@media(max-width:1050px){.accident-hero{gap:30px}.report-visual{padding:30px 20px 20px}.report-sheet{padding:23px;margin-inline:5px}.report-content-grid,.document-grid,.local-accident{gap:50px}.report-title{font-size:28px}}@media(max-width:850px){.accident-hero{gap:24px}.accident-hero h1{font-size:43px}.accident-hero .button{font-size:var(--text-control);padding-inline:16px}.report-visual{padding:25px 17px 18px}.report-sheet{padding:20px 17px}.report-title{font-size:24px}.report-head>span:last-child{font-size:var(--text-caption)}.report-line{font-size:var(--text-small);gap:8px}.report-person{padding:10px;gap:8px}.report-person span{font-size:var(--text-small)}.report-person>svg{display:none}.report-person img{width:35px;height:35px}.report-content-grid,.document-grid{gap:35px}.scope-list dt{font-size:17px}.comparison-grid article{padding:28px}.comparison-grid h3{font-size:24px}.local-accident{gap:35px}.local-accident h2{font-size:38px}.page-index{gap:10px;font-size:var(--text-control)}.page-index>span{font-size:var(--text-caption)}}
@media(max-width:600px){.breadcrumbs{padding-top:13px;font-size:var(--text-small)}.accident-hero{grid-template-columns:1fr;padding-top:18px;padding-bottom:35px;gap:35px}.accident-hero h1{font-size:clamp(34px,9.8vw,53px);letter-spacing:-.05em}.accident-hero .eyebrow{font-size:var(--text-caption)}.accident-hero .hero-lead{font-size:21px}.accident-hero .hero-text{font-size:var(--text-body)}.accident-hero .actions{gap:10px}.accident-hero .button{font-size:var(--text-control);flex:1;padding-inline:12px}.accident-hero .hero-note{font-size:var(--text-small)}.report-visual{padding:30px 25px 20px;border-radius:23px}.report-sheet{padding:24px 24px 20px;margin:0 5px 23px}.report-title{font-size:29px}.report-head>span:last-child{font-size:var(--text-caption)}.report-line{font-size:var(--text-small)}.report-person span{font-size:var(--text-small)}.report-person img{width:42px;height:42px}.report-person>svg{display:block}.page-index{justify-content:flex-start;gap:18px;flex-wrap:wrap;padding-block:10px;row-gap:0}.page-index>span{width:100%;font-size:var(--text-caption)}.page-index a{font-size:var(--text-control);min-height:42px}.report-content-grid,.document-grid,.local-accident{grid-template-columns:1fr;gap:35px}.report-content-grid h2 br:nth-of-type(2){display:none}.scope-list dt{font-size:17px}.scope-list dd{font-size:var(--text-body)}.scope-list>div{padding-block:22px}.comparison-grid{grid-template-columns:1fr;gap:15px}.comparison-grid article{padding:28px 25px}.comparison-grid .eyebrow{font-size:var(--text-caption)}.comparison-grid h3{font-size:25px}.comparison-note{font-size:var(--text-small);text-align:left}.documents-section{padding-block:55px}.document-checklist li{font-size:var(--text-body)}.local-person{max-width:370px;width:100%;aspect-ratio:1/1;margin-inline:auto}.local-person>img{width:100%;left:0}.local-accident h2{font-size:38px}.local-accident h2 br:nth-of-type(2){display:none}.service-page-link{font-size:var(--text-control);padding-block:20px}.accident-page .contact-copy h2{font-size:38px}}
@media(min-width:601px){.report-visual{padding:28px 26px 20px}.report-sheet{padding:22px 26px 17px;margin-bottom:20px}.report-title{font-size:28px;margin-top:18px}.car-drawing{height:132px;margin-top:8px}.report-line{padding-block:10px}.report-bottom{margin-top:17px}.report-person{padding-block:10px}}
@media(min-width:601px) and (max-width:850px){.report-visual{padding:22px 16px 18px}.report-sheet{padding:20px 17px}.report-title{font-size:24px}.car-drawing{height:110px}}
@media(max-width:600px){.accident-page h2,.accident-page h3,.scope-list dt{hyphens:auto;overflow-wrap:anywhere}.accident-intro,.report-content-grid>div,.document-grid>div,.local-accident>div{min-width:0}}

/* Accommodate readable labels rather than shrinking type to fit narrow layouts. */
.brand small{letter-spacing:.07em}
.hero-text,.intro-copy,.benefits p,.cost-copy>p,.service>p,.steps p,.scope-list dd,.faq-list details p,.document-checklist li{line-height:1.7}
.hero-note{align-items:flex-start;line-height:1.5}.hero-note svg{margin-top:3px}
.footer-bottom{flex-wrap:wrap;align-items:flex-start}.footer-bottom nav{flex-wrap:wrap;gap:8px 20px}
.footer-bottom>span{padding-top:10px}.service-page-link{line-height:1.5;min-height:52px}
.page-index{flex-wrap:wrap;gap:8px 24px}.page-index a{min-height:44px}
.report-head{gap:12px;align-items:flex-start;flex-wrap:wrap}.report-head>span:last-child{letter-spacing:.06em;line-height:1.5}
.report-line{line-height:1.5}.report-line>span{flex-shrink:0}.report-bottom{letter-spacing:.06em;line-height:1.5}
.report-person{align-items:center}.report-person>div{min-width:0}.report-person span{line-height:1.5}.report-person>svg{display:none}
.portrait-caption span,.local-person span{line-height:1.5}.portrait-label{display:none}
.contact-form label{line-height:1.5}.contact-form .privacy-note,.form-note,.form-status{line-height:1.6}
@media(max-width:1050px){.nav a{font-size:1.0625rem}.nav-wrap{gap:16px}.menu-toggle{flex-shrink:0}.nav-call{white-space:nowrap}.footer-bottom>span:last-child{display:none}}
@media(min-width:601px) and (max-width:900px){.hero,.accident-hero{grid-template-columns:1fr 1fr;gap:24px}.report-visual{padding:24px 15px 18px}.report-sheet{padding:22px 16px;margin-inline:0;transform:none}.report-person{flex-wrap:wrap}.service-grid{grid-template-columns:1fr}.service{padding:28px}.service>p{min-height:0}.service-top{margin-bottom:24px}}
@media(max-width:600px){:root{--text-body:1rem}.nav-wrap{padding-inline:16px;gap:8px}.nav-call{font-size:.875rem;padding:11px 13px;gap:7px;min-height:44px}.brand>span{font-size:27px}.brand small{font-size:.625rem;letter-spacing:0}.hero .eyebrow,.accident-hero .eyebrow{line-height:1.6}.hero .actions,.accident-hero .actions{display:grid;grid-template-columns:1fr}.hero .button,.accident-hero .button{min-height:52px;font-size:1rem}.report-sheet{transform:none;padding:22px 18px;margin-inline:0}.report-visual{padding:24px 18px 18px}.report-person{padding:12px;gap:10px}.report-person img{width:36px;height:36px}.report-line{font-size:.875rem}.page-index>span{width:100%}.mobile-contact .button{font-size:.875rem;min-height:48px}.contact-form .button{font-size:1rem}.portrait-caption{left:14px;right:14px;padding:14px;gap:10px}.caption-icon{display:none}.portrait-caption strong{font-size:1.0625rem}.contact-email{font-size:1rem}.scope-list dt{font-size:1.125rem}.scope-list dt span{padding-top:3px}.footer-bottom{gap:16px}.footer-bottom>span{padding-top:0}.footer-bottom nav{gap:6px 18px}.towns span{font-size:.875rem}.contact-form{padding-inline:22px}}
@media(max-width:360px){.hero h1{font-size:40px}.report-person{align-items:flex-start}.report-person img{width:30px;height:30px}.report-person span{font-size:.875rem}}

@media(max-width:600px){h2,h3{hyphens:auto;overflow-wrap:anywhere}.service,.steps li,.hero-copy{min-width:0}}

/* Local service pages: actual office and mobile service area remain distinct. */
.location-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 35px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#edf1e7}
.location-facts>div{padding:24px 28px;border-right:1px solid var(--line)}.location-facts>div:last-child{border:0}.location-facts dt{font-size:var(--text-small);color:var(--muted)}.location-facts dd{margin:6px 0 0;font-size:1.125rem;font-weight:600;line-height:1.4}
.location-hero .hero-visual{height:560px}.location-page .breadcrumbs{flex-wrap:wrap;gap:8px 12px}.location-page .service>p{min-height:0}.location-page .service h3{overflow-wrap:anywhere;hyphens:auto}
.visit-options h3{margin-bottom:30px}.visit-note{font-size:var(--text-small);color:var(--muted);margin-top:20px}.local-route{display:flex;align-items:center;gap:20px;margin-top:32px;padding:22px 24px;background:var(--green-dark);border-radius:20px;color:#f7f9f3}.local-route>div{min-width:0}.local-route span{display:block;font-size:var(--text-caption);letter-spacing:.08em;color:#cbd9c0}.local-route strong{display:block;font-size:1.125rem;margin-top:4px}.local-route>svg{flex-shrink:0;color:#cbd9c0}
.regional-links{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);font-size:var(--text-small)}.regional-links>span{color:var(--muted)}.regional-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--green);font-weight:600}.regional-links a:hover{text-decoration:underline}.towns a{display:inline-flex;align-items:center;padding:5px 11px;background:#fff;border:1px solid #c9d5bf;border-radius:100px;font-size:var(--text-small);color:var(--green);font-weight:600;min-height:44px}.towns a:hover{background:#e0e9d7}
@media(max-width:900px){.location-facts>div{padding:22px 18px}.location-hero .hero-visual{height:530px}.location-page .report-content-grid{grid-template-columns:1fr;gap:40px}.location-page .report-content-grid>div>p:not(.eyebrow){max-width:65ch}.local-route{max-width:430px}}
@media(max-width:600px){.location-hero .hero-visual{height:420px}.location-facts{grid-template-columns:1fr;margin-bottom:28px}.location-facts>div{padding:18px 22px;border-right:0;border-bottom:1px solid var(--line)}.local-route{padding:20px;gap:14px;flex-wrap:wrap}.local-route strong{font-size:1.0625rem}.regional-links{gap:8px 18px}.regional-links>span{width:100%}.location-page .about-copy .text-link{margin-top:16px}}

/* Coverage overview: examples of service locations, without a misleading map scale. */

/* Alphabetical service area directory */
.area-directory .area-grid{grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.area-directory .area-copy{padding-top:12px}
.area-directory .area-copy>.small{font-size:15px;margin-top:25px}
.area-directory .area-copy>.text-link{margin-top:18px}
.area-radius{display:flex;align-items:center;gap:24px;margin:30px 0;padding:24px 0;border-block:1px solid #d0d9c7;color:var(--green-dark)}
.area-radius>strong{font-size:72px;font-weight:600;line-height:1;letter-spacing:-.065em;white-space:nowrap}
.area-radius>strong>span{font-size:24px;letter-spacing:-.03em}
.area-radius>p{font-size:17px;line-height:1.5;font-weight:500}
.place-directory{background:#f9faf6;border:1px solid #d9dfd0;border-radius:24px;padding:28px 30px 12px;box-shadow:0 12px 40px #283b2d05}
.place-directory-heading{padding-bottom:22px;border-bottom:1px solid #dce2d4}
.place-directory h3{font-size:26px}
.place-directory-heading p{color:var(--muted);font-size:15px;margin-top:7px}
.place-directory ul{list-style:none;padding:0;margin:0}
.place-directory li+li{border-top:1px solid #e0e5d9}
.place-directory a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;padding:13px 0;font-size:17px;font-weight:500;line-height:1.45;border-radius:3px;transition:color .15s,background .15s}
.place-directory a:hover{color:var(--green);background:#edf2e7}
.place-directory a svg{width:18px;height:18px;color:var(--green)}
@media(max-width:1050px){.area-directory .area-grid{gap:32px}.area-radius{gap:18px}.area-radius>strong{font-size:60px}.area-radius>p{font-size:16px}.place-directory{padding-inline:24px}}
@media(max-width:760px){.area-directory .area-grid{grid-template-columns:1fr;gap:34px}.area-directory .area-copy{padding-top:0}.area-directory .area-copy>p:not(.eyebrow){max-width:none}.area-radius{max-width:420px}.place-directory{padding:24px 22px 10px;border-radius:20px}.place-directory h3{font-size:25px}.place-directory a{min-height:56px;font-size:17px}.area-directory .area-copy>.text-link{line-height:1.45}}

/* Shared modal navigation: white drawer, independent of the sticky header. */
.mobile-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,100%);max-width:100%;height:100vh;height:100dvh;max-height:100%;padding:0;border:0;background:#fff;color:var(--ink);box-shadow:-16px 0 60px #14201126;transform:translateX(100%);transition:transform .24s cubic-bezier(.22,.68,0,1);overflow:hidden}
.mobile-drawer[open]{display:flex;flex-direction:column}
.mobile-drawer.is-open{transform:translateX(0)}
.mobile-drawer::backdrop{background:#19251d66;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px 20px;border-bottom:1px solid #e7eae2;flex-shrink:0}
.mobile-drawer h2{font-size:24px;line-height:1.2;letter-spacing:-.035em}
.drawer-header p{font-size:14px;color:var(--muted);margin-top:5px;line-height:1.4}
.drawer-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #dce2d5;border-radius:50%;background:#f7f9f4;color:var(--ink)}
.drawer-close svg{width:21px;height:21px}
.drawer-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 24px 24px;-webkit-overflow-scrolling:touch}
.drawer-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:13px 0;font-size:17px;line-height:1.45;font-weight:500}
.drawer-link svg{width:17px;height:17px;color:var(--green)}
.drawer-link:hover,.drawer-link[aria-current=page]{color:var(--green)}
.drawer-link[aria-current=page]{font-weight:700}
.drawer-group{border-block:1px solid #e7eae2;margin-top:6px;padding:16px 0 8px}
.drawer-label{font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;line-height:1.5}
.drawer-regions{border-bottom:1px solid #e7eae2;margin-bottom:6px}
.drawer-regions summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:15px 0;font-size:17px;font-weight:500;line-height:1.45;list-style:none}
.drawer-regions summary svg{width:18px;height:18px;transition:transform .2s;color:var(--green)}
.drawer-regions[open] summary svg{transform:rotate(180deg)}
.drawer-regions>div{padding:0 0 12px 15px;border-left:2px solid #dfe7d6;margin-bottom:12px}
.drawer-regions .drawer-link{font-size:16px;min-height:48px}
.drawer-contact{flex-shrink:0;border-top:1px solid #e3e8dc;padding:16px 24px max(20px,env(safe-area-inset-bottom));display:grid;gap:10px;background:#fff}
.drawer-contact p{font-size:14px;line-height:1.4;color:var(--muted);margin-bottom:3px}
.drawer-contact .button{width:100%;min-height:50px;font-size:16px}
@media(max-height:500px){.drawer-header{padding-block:12px}.drawer-header p,.drawer-contact p{display:none}.drawer-contact{padding-block:10px;grid-template-columns:1fr 1fr}.drawer-contact .button{padding-inline:10px;font-size:14px;min-height:46px;gap:8px}}
@media(prefers-reduced-motion:reduce){.mobile-drawer{transition:none}}

/* Consistent mobile intro type and a single-line brand on narrow phones. */
@media(max-width:600px){.accident-hero .hero-lead{font-size:20px}}
@media(max-width:360px){.nav-call svg{display:none}}

/* Appointment preparation CTA: full-width copy and action on its own final row. */
.prepare-cta{margin-top:40px;padding:32px;border:1px solid #d5dfcb;border-radius:24px;background:#fff;box-shadow:0 8px 28px #263a2705}
.prepare-cta-heading{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.prepare-cta-icon{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:13px;background:#edf2e6;color:var(--green)}
.prepare-cta-icon svg{width:25px;height:25px}
.prepare-cta h3{font-size:26px;line-height:1.2;letter-spacing:-.03em}
.prepare-cta>p{font-size:var(--text-body);line-height:1.7;color:var(--muted);max-width:76ch}
.prepare-cta-actions{display:flex;justify-content:flex-end;margin-top:24px}
.prepare-cta .button{min-height:52px}
.drawer-brand{flex-shrink:0}
@media(max-width:600px){.prepare-cta{margin-top:32px;padding:24px 22px;border-radius:20px}.prepare-cta-heading{gap:13px;align-items:flex-start}.prepare-cta h3{font-size:23px;padding-top:3px}.prepare-cta-icon{width:40px;height:40px;border-radius:11px}.prepare-cta-icon svg{width:23px;height:23px}.prepare-cta>p{font-size:16px}.prepare-cta-actions{margin-top:22px}.prepare-cta .button{padding-inline:19px}}

/* Design review: clear hierarchy, padded feedback surfaces, responsive actions. */
[hidden]{display:none!important}
html{scroll-padding-bottom:calc(var(--contact-bar-height,0px) + 24px)}
body{font-optical-sizing:auto}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.button:active{transform:scale(.98);box-shadow:none;transition:transform .08s ease-out}
.button{max-width:100%;text-align:center}
.button svg{flex-shrink:0}
:where(a,button,summary):focus-visible{outline:3px solid var(--green);outline-offset:3px}
.place-directory{padding:24px 20px 14px}
.place-directory-heading{padding:0 14px 22px;border-bottom:0}
.place-directory li+li{border-top:0}
.place-directory li{padding-block:3px}
.place-directory a{padding:15px 16px;border-radius:12px;min-height:58px;border:1px solid transparent;font-size:1.0625rem}
.place-directory a:hover,.place-directory a:active,.place-directory a:focus-visible{background:#edf2e7;color:var(--green-dark)}
.place-directory a:focus-visible{outline-offset:-3px}
.place-directory a span{min-width:0;overflow-wrap:anywhere}
.place-directory a svg{flex-shrink:0}
.drawer-link,.drawer-regions summary{padding-inline:12px;border-radius:10px}
.drawer-link:hover,.drawer-link:active,.drawer-link:focus-visible,.drawer-link[aria-current=page],.drawer-regions summary:hover{background:#edf2e7;color:var(--green-dark)}
.drawer-link:focus-visible,.drawer-regions summary:focus-visible{outline-offset:-3px}
.drawer-label{padding-inline:12px}
.drawer-regions>div{margin-left:12px;padding-left:8px}
.drawer-header .brand{padding-block:4px}
.drawer-legal{display:flex;flex-wrap:wrap;gap:4px 18px;padding:20px 12px 0}
.drawer-legal a{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.faq-list summary{padding:22px 16px;border-radius:12px;transition:background .15s}
.faq-list summary:hover,.faq-list summary:active{background:#edf2e7}
.faq-list summary:focus-visible{outline-offset:-3px}
.faq-list details[open] summary{color:var(--green-dark)}
.faq-list details p{padding:0 16px 24px;max-width:75ch}
.faq-list summary svg{flex-shrink:0}
.info-card{margin-top:40px;padding:30px 32px;background:#fff;border:1px solid #d7dfcf;border-radius:24px;box-shadow:0 8px 30px #263a2704}
.info-card-heading{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.info-card-icon{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;background:#edf2e7;border-radius:12px;color:var(--green)}
.info-card-icon svg{width:24px;height:24px}
.info-card h3{font-size:1.375rem;letter-spacing:-.025em;line-height:1.3;text-wrap:pretty}
.info-card>p{font-size:var(--text-body);line-height:1.75;color:var(--muted);max-width:78ch}
.immobile-wrap{margin-top:40px}
.immobile-wrap .info-card{margin-top:0}
.regional-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 20px;padding:24px 0}
.regional-links>span{grid-column:1/-1;margin-bottom:10px}
.regional-links a{padding:10px 12px;border-radius:10px;line-height:1.5;font-size:1rem;min-height:44px}
.regional-links a:hover,.regional-links a:focus-visible{background:#edf2e7;text-decoration:none}
.legal-content{max-width:900px;padding-block:48px 88px}
.legal-heading{margin-bottom:44px}
.legal-heading h1{font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.1;letter-spacing:-.045em;overflow-wrap:anywhere;hyphens:auto}
.legal-lead{font-size:1.25rem;line-height:1.6;color:var(--muted);margin-top:22px;max-width:60ch}
.legal-section{margin-top:40px;padding-top:32px;border-top:1px solid var(--line);scroll-margin-top:110px}
.legal-section h2,.privacy-category h2{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em;margin-bottom:18px}
.legal-section h3{font-size:1.125rem;line-height:1.4;letter-spacing:-.01em;margin-top:24px;margin-bottom:10px}
.legal-section p,.legal-section address,.privacy-category p{color:var(--muted);font-size:var(--text-body);line-height:1.75;margin-bottom:16px;overflow-wrap:anywhere}
.legal-section address{font-style:normal}
.legal-section strong{color:var(--ink)}
.legal-content a:not(.button){color:var(--green);text-decoration:underline;text-underline-offset:4px}
.legal-facts{margin:16px 0}
.legal-facts>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.legal-facts dt{font-weight:600}.legal-facts dd{margin:0;color:var(--muted);overflow-wrap:anywhere}
.legal-content code{font-size:.9em;overflow-wrap:anywhere}
.legal-date,.legal-small{font-size:.875rem!important;color:var(--muted);margin-top:26px}
.legal-index{display:flex;gap:10px;flex-wrap:wrap}
.legal-index a{display:inline-flex;align-items:center;padding:10px 14px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:white;font-size:.9375rem;text-decoration:none!important}
.legal-index a:hover{background:var(--sage)}
.legal-note{padding:24px;border-radius:18px;background:#edf1e7;margin:24px 0}
.legal-note h3{margin-top:0}.legal-note p:last-child{margin-bottom:0}
.privacy-categories{display:grid;gap:18px}
.privacy-category{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff}
.privacy-category-heading{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.privacy-category h2{margin:0}
.privacy-category p:last-child{margin-bottom:0}
.privacy-state{display:inline-flex;padding:5px 10px;border-radius:8px;background:#e8efdf;color:#3d542e;font-size:.8125rem;font-weight:600;line-height:1.5;white-space:nowrap}
.privacy-state-off{background:#f1f2ef;color:#62685e}
.privacy-category summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px;border-radius:10px;list-style:none;font-size:1rem;font-weight:600;color:var(--green)}
.privacy-category summary:hover{background:#edf2e7}.privacy-category summary svg{width:18px;height:18px;flex-shrink:0}
.privacy-category details[open] summary svg{transform:rotate(45deg)}
.error-actions{display:flex;flex-wrap:wrap;gap:14px}
.privacy-notice{position:fixed;z-index:15;bottom:20px;left:20px;right:20px;margin:auto;max-width:1080px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:24px 28px;border:1px solid #d7dfcf;border-radius:24px;background:white;box-shadow:0 12px 60px #17281329;max-height:calc(100dvh - 40px);overflow:auto}
.privacy-notice h2{font-size:1.25rem;letter-spacing:-.02em;line-height:1.3;margin-bottom:8px}
.privacy-notice p{font-size:.9375rem;line-height:1.6;color:var(--muted);max-width:65ch}
.privacy-notice-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px}
.privacy-notice-links a{display:inline-flex;align-items:center;min-height:30px;text-decoration:underline;text-underline-offset:4px;color:var(--green);font-size:.875rem}
.privacy-notice-actions{display:flex;gap:10px;flex-wrap:wrap}
.privacy-notice-actions .button{font-size:.9375rem;padding-inline:18px}
.privacy-notice-visible .mobile-contact{visibility:hidden}
@media(max-width:900px){.regional-links{grid-template-columns:repeat(3,minmax(0,1fr))}.privacy-notice{grid-template-columns:1fr;gap:16px;max-width:600px}.privacy-notice-actions .button{flex:1}}
@media(max-width:600px){
 .place-directory{padding:24px 12px 12px}.place-directory-heading{padding-inline:12px}.place-directory a{padding:15px 14px}
 .info-card{padding:24px 22px;border-radius:20px;margin-top:32px}.info-card-heading{align-items:flex-start;gap:12px}.info-card h3{font-size:1.25rem;padding-top:4px}.info-card-icon{width:38px;height:38px;border-radius:10px}.info-card-icon svg{width:21px;height:21px}.info-card>p{font-size:1rem}
 .immobile-wrap{margin-top:32px}
 .regional-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}.regional-links a{padding:10px;font-size:.9375rem}
 .mobile-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:8px;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
 .mobile-contact .button{font-size:1rem;min-height:48px;padding:11px 16px;white-space:normal}
 .footer{padding-bottom:calc(var(--contact-bar-height,136px) + 24px)}
 .legal-content{padding-block:30px 56px}.legal-heading{margin-bottom:30px}.legal-lead{font-size:1.125rem}.legal-section{margin-top:32px;padding-top:26px}.legal-section h2{font-size:1.375rem}
 .legal-facts>div{grid-template-columns:1fr;gap:4px}.legal-note{padding:20px}.privacy-category{padding:24px 20px}.privacy-category-heading{display:grid;justify-items:start;gap:10px}
 .privacy-notice{bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;padding:22px;border-radius:20px;max-height:calc(100dvh - 24px)}
 .privacy-notice p{font-size:.875rem}.privacy-notice-actions{display:grid;grid-template-columns:1fr 1fr}.privacy-notice-actions .button{font-size:.875rem;padding-inline:12px}.privacy-notice-links a{min-height:44px}
}
@media(max-width:360px){.privacy-notice-actions{grid-template-columns:1fr}.info-card-heading{display:block}.info-card-icon{margin-bottom:14px}.info-card h3{padding-top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.button:hover,.button:active{transform:none}}
@media(prefers-reduced-transparency:reduce){.header,.mobile-contact{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}.mobile-drawer::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){.place-directory,.info-card,.privacy-category,.privacy-notice{border-color:var(--green)}.header,.mobile-contact{background:white;backdrop-filter:none}.drawer-link[aria-current=page]{outline:1px solid var(--green);outline-offset:-1px}}
@media print{.privacy-notice,.mobile-drawer{display:none!important}.footer{padding-bottom:20px}.legal-content{padding-block:20px}.info-card,.privacy-category{break-inside:avoid}}
/* Programmatic focus restores navigation without outlining the whole document. */
main[tabindex="-1"]:focus{outline:none}
.legal-more{margin-top:32px}
.drawer-close:active,.menu-toggle:active{background:#e8eddf}

.legal-title-break{hyphens:manual!important}

/* Consent panel: equal decisions, clear groups, independent provider choices. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.consent-open{overflow:hidden}.consent-open .mobile-contact{visibility:hidden}
.consent-dialog{width:min(740px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #d9dfd3;border-radius:28px;background:white;color:var(--ink);box-shadow:0 24px 90px #17281338;overflow:hidden;margin:auto}
.consent-dialog[open]{display:flex;flex-direction:column}
.consent-dialog::backdrop{background:#14201166;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.consent-scroll{overflow:auto;overscroll-behavior:contain;padding:30px 32px 20px;min-height:0}
.consent-heading{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-bottom:18px}
.consent-heading .eyebrow{font-size:.6875rem;letter-spacing:.12em;margin-bottom:10px}
.consent-heading h2{font-size:1.875rem;line-height:1.15;letter-spacing:-.04em;overflow-wrap:anywhere}
.consent-dialog p{font-size:.9375rem;line-height:1.65;color:var(--muted)}
.consent-dialog #consent-description{margin-bottom:18px}
.consent-preview{padding:12px 14px;background:#f1f4ec;border-radius:12px;font-size:.8125rem!important;margin-bottom:20px}
.consent-preview strong{color:var(--green-dark)}
.consent-categories{border:1px solid var(--line);border-radius:18px;overflow:hidden}
.consent-row,.consent-provider{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:20px;border-bottom:1px solid var(--line);align-items:start}
.consent-row label,.consent-provider label{font-weight:650;font-size:1rem;line-height:1.4;cursor:pointer}
.consent-row p,.consent-provider p{font-size:.875rem;margin-top:6px}
.consent-badge{display:inline-block;font-size:.75rem;font-weight:500;line-height:1.5;margin-top:7px;color:var(--muted)}
.consent-switch{position:relative;display:inline-flex;width:48px;height:44px;align-items:center;flex-shrink:0}
.consent-switch input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:1}
.consent-switch>span{display:block;width:48px;height:28px;border-radius:100px;background:#d9ded4;border:1px solid #b4bdab;transition:background .12s}
.consent-switch>span::after{content:'';display:block;width:22px;height:22px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transform:translateX(0);transition:transform .12s}
.consent-switch input:checked+span{background:var(--green);border-color:var(--green)}
.consent-switch input:checked+span::after{transform:translateX(20px)}
.consent-switch input:indeterminate+span{background:#7d8e6b}.consent-switch input:indeterminate+span::after{transform:translateX(10px)}
.consent-switch input:disabled{cursor:default}.consent-switch input:disabled+span{opacity:.5}
.consent-switch input:focus-visible+span{outline:3px solid var(--green);outline-offset:4px}
.consent-providers summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;gap:16px;list-style:none;padding:14px 20px;font-weight:600;font-size:.875rem;color:var(--green)}
.consent-providers summary:hover{background:#f1f4ec}.consent-providers summary:focus-visible{outline-offset:-3px}
.consent-providers[open] summary{border-bottom:1px solid var(--line)}.consent-providers[open] summary>span{transform:rotate(45deg)}
.consent-provider:last-child{border-bottom:0}.consent-provider{background:#fafbf8}
.consent-provider a{font-size:.8125rem;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px;color:var(--green)}
.consent-small{font-size:.8125rem!important;margin-top:18px}
.consent-legal{display:flex;gap:24px;flex-wrap:wrap;margin-top:10px}
.consent-legal a{font-size:.8125rem;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px;color:var(--green)}
.consent-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid var(--line);padding:20px 24px max(20px,env(safe-area-inset-bottom));background:#fff;flex-shrink:0}
.consent-actions .button{min-height:48px;font-size:.875rem;padding:12px 10px;border-radius:12px;box-shadow:none;transform:none}
.consent-decision{background:var(--green-dark);color:white}.consent-decision:hover{background:var(--green)}
.cookie-page-actions{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:600px){.consent-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:22px}.consent-scroll{padding:22px 20px 10px}.consent-heading{gap:12px}.consent-heading h2{font-size:1.5rem}.consent-heading .eyebrow{font-size:.625rem}.consent-row,.consent-provider{padding:16px;gap:12px}.consent-actions{grid-template-columns:1fr;padding:14px 20px max(14px,env(safe-area-inset-bottom));gap:8px}.consent-actions .button{min-height:46px;font-size:.9375rem}.consent-dialog #consent-description{font-size:.9375rem}.cookie-page-actions{display:grid;grid-template-columns:1fr}}
@media(max-height:520px){.consent-dialog{max-height:calc(100dvh - 16px)}.consent-actions{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 14px}.consent-actions .button{font-size:.8125rem;padding-inline:8px}.consent-scroll{padding-top:18px}}
@media(prefers-reduced-transparency:reduce){.consent-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.consent-switch input{opacity:1;position:static;appearance:auto}.consent-switch>span{display:none}}
@media print{.consent-dialog{display:none!important}}

.consent-dialog [hidden]{display:none!important}

/* Photographs from the existing HOLZI website; locally hosted responsive assets. */
.editorial-photo{display:block;width:100%;height:auto;object-fit:cover}
.report-visual.report-with-photo{padding:0;background:transparent;border-radius:var(--radius)}
.service-photo-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.service-photo-card>.editorial-photo{aspect-ratio:3/2;object-position:center}
.service-photo-card>.editorial-photo[src*="fahrzeugfotos-"]{aspect-ratio:1/1;object-position:50% 47%}
.service-photo-card figcaption{padding:24px 28px 28px}
.photo-label{display:block;color:var(--muted);font-size:.875rem;margin-bottom:12px}
.photo-heading{font-size:clamp(1.5rem,2.3vw,1.875rem);font-weight:600;letter-spacing:-.025em;line-height:1.2}
.service-photo-card ul{list-style:none;margin:18px 0 0;padding:0}
.service-photo-card li{padding:10px 0;border-top:1px solid var(--line);font-size:1rem;line-height:1.5}
.report-with-photo .report-person{margin-top:16px}
.service-photo{position:relative;margin-bottom:26px;overflow:hidden;border-radius:16px;background:var(--sage)}
.service-photo>.editorial-photo{aspect-ratio:3/2;object-position:center}
.service-photo>span{position:absolute;bottom:10px;right:10px;padding:3px 9px;border-radius:6px;background:#ffffffed;color:var(--muted);font-size:.75rem;line-height:1.5}
@media(max-width:600px){.service-photo-card figcaption{padding:20px}.service-photo{margin-bottom:24px}.report-with-photo .report-person{margin-top:12px}}
