@import url('assets/fonts/fonts.css');
:root{--ink:#111827;--muted:#374151;--accent:#1d99fe;--button-blue:var(--accent);--accent-text:#10689f;--tint:#f0f7fb;--line:#dae8ef;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #10689f;outline-offset:4px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.17;letter-spacing:-.045em;text-wrap:balance}h1{font-size:clamp(42px,4.6vw,66px);font-weight:800;max-width:640px}h2{font-size:clamp(30px,3.4vw,46px);font-weight:800;margin:14px 0 34px}h3{font-size:21px;letter-spacing:-.025em}p{color:var(--muted)}.wrap{width:min(1120px,calc(100% - 80px));margin:auto}header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 max(40px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}.logo{width:191px;height:auto;display:block}nav{display:flex;gap:30px;font-size:13px;font-weight:700}nav a:hover{color:var(--accent-text)}.btn{border:1px solid var(--button-blue);background:var(--button-blue);color:#fff;padding:17px 25px;border-radius:10px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;font-weight:700;font-size:14px;transition:background .2s,transform .2s}.btn:hover{background:#0879ce;border-color:#0879ce;transform:translateY(-2px)}.btn span{font-size:23px;line-height:1}.small{padding:12px 18px;min-height:45px;font-size:12px}.menu-toggle{display:none;font-size:28px}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:50px;align-items:center;padding-top:66px;padding-bottom:65px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--accent-text);display:block}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-text);margin-right:7px}.hero h1{margin:22px 0}.hero p{font-size:17px;max-width:430px;margin-bottom:30px}.hero-note{font-size:11px;color:var(--muted);display:block;margin-top:17px}.hero-image{height:480px;border-radius:90px 20px 20px 20px;overflow:hidden;position:relative;background:#eaf0f4}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:45% center}.image-caption{position:absolute;bottom:16px;left:16px;right:16px;background:#fffffff2;border-radius:12px;padding:17px;font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:4px}.image-caption span:last-child{font-size:8px;letter-spacing:.18em;color:var(--accent-text)}.benefits{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0 44px;border-bottom:1px solid var(--line);gap:50px}.benefits article{position:relative;padding-left:54px}.symbol{color:var(--accent-text);font-size:32px;line-height:1}.benefits .symbol{position:absolute;left:0;top:0}.benefits h3{font-size:16px;max-width:240px;margin-bottom:9px}.benefits p{font-size:12px;max-width:250px}.section{padding-top:86px;padding-bottom:86px}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:center}.section-head h2{margin-bottom:32px}.section-head p{font-size:14px}.section-head>p{margin-bottom:16px}.service-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-bottom:20px}.service-nav a{display:flex;align-items:center;gap:20px;padding:23px 4px;border-top:1px solid var(--line);font-size:15px;font-weight:700}.service-nav a:hover{color:var(--accent-text)}.nav-icon{font-size:23px;color:var(--accent-text);width:32px}.arrow{margin-left:auto;color:var(--accent-text);font-size:25px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:800;color:var(--accent-text);padding:10px 0}.tint{background:var(--tint)}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.section-photo{position:sticky;top:120px}.section-photo img{width:100%;height:320px;object-fit:cover;border-radius:var(--radius)}.section-photo p{font-size:25px;color:var(--ink);font-weight:600;line-height:1.4;letter-spacing:-.04em;margin-top:24px}.rows .service-row{border-bottom:1px solid var(--line);display:flex;gap:20px;padding:20px 0;align-items:center}.rows .service-row:first-child{padding-top:0}.row-icon{font-size:23px;min-width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#e1f0fa;color:var(--accent-text)}.service-row h3{font-size:19px}.service-row p{font-size:12px;margin-top:6px}.service-row .text-link{padding-bottom:0;font-size:12px}.row-action{margin-left:auto;font-size:25px;color:var(--accent-text);min-width:44px;min-height:44px}.cards{display:grid;gap:25px}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}.card>img{width:100%;height:205px;object-fit:cover;display:block}.card-body{padding:25px}.card h3{font-size:23px;margin-bottom:10px}.card p{font-size:13px}.card .text-link{margin-top:10px}.check-list{list-style:none;margin:16px 0 24px;padding:0}.check-list li{display:flex;gap:12px;align-items:center;margin-bottom:10px;font-size:14px}.check-list li:before{content:'✓';display:grid;place-items:center;border-radius:50%;color:var(--accent-text);background:#e5f2fa;width:23px;height:23px;flex-shrink:0;font-size:13px}.card .btn{width:100%;margin-top:8px}.compact{margin-top:24px}.compact .card-body{display:flex;gap:20px}.compact h3{font-size:20px}.dark{background:#143a42;color:#fff}.dark .eyebrow{color:#a9dcfb}.dark .text-link{color:#c3e7ff;display:flex;margin-top:15px}.car-split{align-items:center;gap:70px}.car-split>img{width:100%;height:350px;object-fit:cover;border-radius:var(--radius)}.dark .check-list li{font-size:17px;margin:17px 0}.dark h2{max-width:750px}.extra-rows{display:grid;grid-template-columns:1fr 1fr;gap:0 46px;margin:18px 0}.extra-rows .service-row:first-child{padding-top:20px}.extra-rows .service-row{min-height:120px}.extra-rows .service-row h3{font-size:17px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps article>span{font-size:13px;color:var(--accent-text);font-weight:700}.steps h3{font-size:18px;margin:20px 0 13px}.steps p{font-size:12px}.about{margin-top:85px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about img{width:100%;height:290px;object-fit:cover;border-radius:var(--radius)}.about h2{font-size:34px;margin-bottom:20px}.about p{font-size:14px}.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faq-layout>.text-link{display:block}.faq-layout .btn{margin-top:18px}.faq-layout>div:first-child>.text-link{display:block;margin-top:10px}.faq-item{border-bottom:1px solid #d3e4ee}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:16px;font-weight:700}.faq-item summary:after{content:'+';font-size:23px;color:var(--accent-text)}.faq-item[open] summary:after{content:'−'}.faq-item p{font-size:14px;padding-bottom:22px}.request-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.request-intro{position:sticky;top:130px;align-self:start}.request-intro h2{font-size:47px}.request-intro>p{font-size:16px}.request-info{display:flex;gap:20px;margin:35px 0}.request-info span{font-size:35px;color:var(--accent-text)}.request-info p{font-size:13px}.request-intro small{font-size:11px;color:var(--muted)}form{padding:32px;background:#f6fafc;border:1px solid var(--line);border-radius:20px}label{display:block;font-size:12px;font-weight:700;margin-bottom:18px}input,select,textarea{display:block;width:100%;margin-top:8px;padding:13px 14px;border:1px solid #d7e7ef;border-radius:8px;background:#fff;color:var(--ink);font-size:13px;min-height:46px}textarea{resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}#dynamic-fields:not(:empty){padding:18px 0 0;border-bottom:1px solid var(--line);margin-bottom:20px}input[type=checkbox]{width:18px;min-height:18px;height:18px;accent-color:var(--accent-text);margin:0;flex-shrink:0}.upload{text-align:center;padding:20px;border:1px dashed #a8cde1;background:#eef7fc;border-radius:10px;cursor:pointer}.upload>span,.upload>strong{display:block}.upload>strong{margin:8px 0}.upload>span:last-of-type{font-size:10px;color:var(--muted);font-weight:400}.upload input{font-size:11px;background:transparent;border:0;padding:8px 0 0;min-height:0}.extra-choice{margin:18px 0}.extra-choice summary{display:flex;justify-content:space-between;font-weight:700;color:var(--accent-text);cursor:pointer;padding:10px 0}.extra-choice label,.consent{display:flex;align-items:center;gap:10px;font-weight:400}.extra-choice label{margin:12px 0}.consent{font-size:11px}.inline-link{text-decoration:underline;font-size:inherit;padding:0}.full{width:100%}.form-note{font-size:10px;text-align:center;margin-top:12px}#photo-list{display:flex;flex-wrap:wrap;gap:10px}.file-chip{font-size:11px;background:#e7f2f9;padding:8px;border-radius:6px;max-width:100%;overflow-wrap:anywhere}.file-chip button{font-size:17px;margin-left:7px}#file-error{color:#a13232;font-size:12px}#form-status{font-size:13px;color:var(--accent-text);margin-top:14px}footer{background:#102f37;color:#fff;padding:50px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:30px}.footer-main .logo{background:#fff;padding:6px;border-radius:5px}.footer-main p{font-size:12px;margin-top:18px;color:#bbd1dd}.footer-main>div:last-child{display:flex;flex-direction:column;gap:12px;font-size:13px}.placeholder{font-size:11px;color:#bbd1dd}.footer-bottom{margin-top:35px;padding-top:20px;border-top:1px solid #355059;display:flex;gap:30px;font-size:10px;color:#bbd1dd}.footer-bottom button{font-size:10px;padding:0}.footer-bottom>span{margin-right:auto}.mobile-bar{display:none}dialog{width:min(560px,calc(100% - 32px));border:0;border-radius:20px;padding:40px;max-height:85vh;color:var(--ink);box-shadow:0 30px 100px #102f3750;overscroll-behavior:contain}dialog::backdrop{background:#102f3780;backdrop-filter:blur(4px)}dialog h2{font-size:29px;margin:14px 0 20px}dialog p{font-size:14px;margin-bottom:20px}.close{position:absolute;right:12px;top:8px;width:44px;height:44px;font-size:28px}.modal-open{overflow:hidden}#mobile-menu{position:fixed;top:75px;left:0;right:0;background:white;padding:20px;z-index:30;border-bottom:1px solid var(--line)}#mobile-menu a{display:block;padding:13px}
@media(min-width:1400px){.hero-image{height:510px}}@media(max-width:900px){.wrap{width:calc(100% - 48px)}header{padding:0 24px;gap:18px}nav{gap:18px}.hero{gap:30px}.hero-image{height:420px}.hero-note{max-width:260px}.benefits{gap:25px}.split{gap:30px}.faq-layout,.request-layout{gap:35px}.three{gap:16px}.card-body{padding:18px}.card h3{font-size:21px}.steps{gap:18px}}@media(max-width:680px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 40px)}header{height:75px;padding:0 20px}.logo{width:174px}nav,.desktop{display:none}.menu-toggle{display:block}.hero{display:flex;flex-direction:column;gap:28px;padding-top:32px;padding-bottom:27px;align-items:stretch}.hero h1{font-size:42px;line-height:1.08;margin:20px 0}.hero p{font-size:15px;margin-bottom:22px}.hero .eyebrow{font-size:9px;letter-spacing:.1em}.hero-copy .btn{width:100%}.hero-note{display:none}.hero-image{height:285px;border-radius:36px 14px 14px 14px;order:0}.hero-image>img{object-position:center}.image-caption{padding:12px;bottom:12px;left:12px;right:12px}.image-caption span:first-child{font-size:11px}.benefits{display:flex;flex-direction:column;padding-top:0;padding-bottom:30px;gap:12px}.benefits article{padding:20px 18px 20px 65px;background:var(--tint);border-radius:12px}.benefits .symbol{left:21px;top:24px}.benefits h3{font-size:16px;max-width:none}.benefits p{font-size:12px;max-width:none}.section{padding-top:52px;padding-bottom:52px}h2{font-size:32px;margin:12px 0 25px;line-height:1.15}.section-head{display:block}.section-head>p{display:none}.section-head>.text-link{margin-top:-20px;margin-bottom:20px}.eyebrow{font-size:9px}.service-nav{grid-template-columns:1fr;gap:8px}.service-nav a{padding:17px 15px;background:var(--tint);border:0;border-radius:12px;font-size:14px;gap:14px}.nav-icon{font-size:22px;width:26px}.split{grid-template-columns:1fr;gap:24px}.section-photo{position:static}.section-photo img{height:190px}.section-photo p{display:none}.rows .service-row{padding:20px 0}.rows .service-row:first-child{padding-top:0}.service-row h3{font-size:18px}.three,.two{grid-template-columns:1fr;gap:18px}.card>img{height:195px}.card-body{padding:22px}.card h3{font-size:24px}.card p{font-size:14px}.card .text-link{font-size:13px}.compact{margin-top:18px}.compact .card h3{font-size:21px}.car-split>img{height:240px}.dark .check-list{margin-top:0}.dark .check-list li{font-size:15px}.dark .btn{width:100%}.dark h2{font-size:34px}.extra-rows{grid-template-columns:1fr;gap:0}.extra-rows .service-row:first-child{padding-top:20px}.extra-rows .service-row{min-height:90px}.extra-rows .service-row h3{font-size:17px}.extra-rows .row-icon{min-width:44px;height:44px}.steps{grid-template-columns:1fr;gap:0}.steps article{padding:22px 0 22px 47px;position:relative}.steps article>span{position:absolute;top:24px;left:0}.steps h3{margin:0 0 8px;font-size:19px}.steps p{font-size:13px}.about{margin-top:42px;display:flex;flex-direction:column;gap:24px;align-items:stretch}.about img{height:210px}.about h2{font-size:30px}.faq-layout,.request-layout{grid-template-columns:1fr;gap:24px}.faq-layout>div:first-child{display:contents}.faq-layout>div:first-child>.eyebrow{order:0;margin-bottom:-25px}.faq-layout h2{order:1;margin-bottom:0}.faq-layout #faq-list{order:2}.faq-layout>div:first-child>p{order:3;margin-top:12px;color:var(--ink);font-size:24px;font-weight:800}.faq-layout>div:first-child>.btn{order:4;margin:0}.faq-layout>div:first-child>.text-link{order:5;text-align:center;margin:0}.faq-item summary{font-size:16px;padding:20px 0}.request-intro{position:static}.request-intro h2{font-size:38px}.request-intro>p{font-size:15px}.request-info{display:none}.request-intro small{display:block;margin-top:16px}form{padding:20px}.field-grid{grid-template-columns:1fr 1fr;gap:0 10px}.field-grid label{min-width:0}input,select,textarea{font-size:16px;padding:12px 10px}label{font-size:11px}.upload{padding:16px 10px}.footer-main{flex-direction:column}.footer-bottom{flex-wrap:wrap;gap:16px}.footer-bottom>span{width:100%}footer{padding-bottom:115px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:25}.mobile-bar .btn{flex:1;min-height:49px;padding:12px 18px;font-size:13px;border-radius:11px}.chat-button{width:50px;height:50px;border:1px solid var(--line);border-radius:50%;font-size:35px;color:var(--accent-text);background:white}dialog{padding:30px 24px}dialog h2{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:680px){.hero-copy{display:contents}.hero-copy>.eyebrow{order:0}.hero h1{order:1;margin:0}.hero-copy>p{order:2;margin:0}.hero-image{order:3}.hero-copy>.btn{order:4}.hero{gap:20px}.hero-copy>.hero-note{display:none}}
#quote-dialog{width:min(680px,calc(100% - 40px));max-height:90vh;max-height:90dvh;padding:0;background:#f6fafc;overscroll-behavior:contain}#quote-dialog .quote-dialog-header{position:sticky;top:0;z-index:2;background:#fff;padding:26px 32px 22px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:16px}#quote-dialog h2{font-size:30px;margin:8px 0}#quote-dialog .quote-dialog-header p{font-size:12px;margin:0}#quote-close{margin-left:auto;flex-shrink:0;font-size:28px;width:44px;height:44px;border-radius:50%;background:var(--tint)}#quote-dialog form{border:0;border-radius:0;margin:0;padding:24px 32px}#quote-dialog .form-note{margin-top:12px}#quote-dialog #form-status{scroll-margin:190px}body.modal-open .mobile-bar{visibility:hidden}@media(max-width:680px){#quote-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}#quote-dialog .quote-dialog-header{padding:20px}#quote-dialog h2{font-size:27px}#quote-dialog form{padding:22px 20px calc(24px + env(safe-area-inset-bottom))}#quote-dialog .field-grid{grid-template-columns:1fr}}
/* Mobile readability: 16px body, 14px supporting copy, 8px spacing rhythm. */
@media(max-width:680px){
 body{font-size:16px;line-height:1.55}
 .wrap{width:calc(100% - 40px)}
 h1,h2,h3{letter-spacing:-.025em;overflow-wrap:anywhere}
 .hero h1{font-size:clamp(32px,9vw,42px);line-height:1.15}
 h2,.dark h2,.about h2,.request-intro h2{font-size:clamp(28px,7.5vw,34px);line-height:1.25;margin:12px 0 24px}
 .card h3{font-size:24px;line-height:1.3}
 .benefits h3,.service-row h3,.extra-rows .service-row h3,.steps h3{font-size:18px;line-height:1.4}
 .compact .card h3{font-size:20px;line-height:1.35}
 .hero p,.benefits p,.service-row p,.card p,.section-head p,.check-list li,.dark .check-list li,.steps p,.about p,.faq-item p,.request-intro>p,dialog p,#form-status,#file-error{font-size:16px;line-height:1.55}
 .eyebrow,.hero .eyebrow{font-size:14px;line-height:1.5;letter-spacing:.06em}
 .image-caption span:first-child{font-size:16px;line-height:1.5}
 .image-caption span:last-child{font-size:14px;line-height:1.5;letter-spacing:.08em}
 .image-caption{padding:16px;gap:4px}
 .hero{gap:24px;padding-top:32px;padding-bottom:32px}
 .benefits{gap:16px;padding-bottom:32px}
 .benefits article{padding:24px 20px 24px 64px}
 .benefits h3{margin-bottom:8px}
 .section{padding-top:48px;padding-bottom:48px}
 .section-head h2{margin-bottom:24px}
 .section-head>.text-link{margin-top:0;margin-bottom:24px}
 .service-nav{gap:12px;margin-bottom:16px}
 .service-nav a{font-size:16px;line-height:1.5;padding:16px;gap:12px;min-height:64px}
 .nav-icon,.arrow{flex-shrink:0}
 .btn,.small,.mobile-bar .btn,.text-link,.card .text-link,.service-row .text-link{font-size:16px;line-height:1.5;letter-spacing:0}
 .btn{min-height:56px;padding:16px 20px;gap:16px;white-space:normal;text-align:left}
 .text-link,.service-row .text-link{min-height:48px;padding:12px 0}
 .menu-toggle{min-width:48px;min-height:48px}
 #mobile-menu{max-height:calc(100dvh - 75px);overflow-y:auto}
 #mobile-menu a{font-size:16px;min-height:48px;padding:12px}
 .rows .service-row{gap:12px;padding:24px 0;align-items:flex-start}
 .rows .service-row>div{min-width:0;flex:1}
 .rows .service-row:first-child{padding-top:0}
 .extra-rows .service-row:first-child{padding-top:24px}
 .row-icon,.extra-rows .row-icon{min-width:40px;width:40px;height:44px;flex-shrink:0}
 .row-action{min-width:48px;min-height:48px;flex-shrink:0;padding:8px}
 .service-row p{margin-top:8px}
 .card-body{padding:24px}
 .cards{gap:24px}.compact{margin-top:24px}
 .compact .card-body{gap:12px}
 .compact .card-body>div{min-width:0}
 .card h3{margin-bottom:12px}
 .card .text-link{margin-top:8px}
 .check-list{margin:16px 0 24px}
 .check-list li{align-items:flex-start;gap:12px;margin-bottom:12px}
 .check-list li:before{margin-top:2px}
 .steps article{padding:24px 0 24px 44px}
 .steps article>span{font-size:16px;line-height:1.5;top:24px}
 .steps h3{margin-bottom:8px}
 .about{margin-top:48px;gap:24px}
 .faq-layout{gap:24px}
 .faq-layout>div:first-child>.eyebrow{margin-bottom:0}
 .faq-item summary{font-size:18px;line-height:1.45;min-height:64px;padding:20px 0;align-items:flex-start}
 .faq-item summary:after{flex-shrink:0;min-width:24px;text-align:center}
 .faq-item p{padding-bottom:24px}
 .faq-layout>div:first-child>p{line-height:1.35}
 .request-intro small,.form-note,.consent,.upload>span:last-of-type,.file-chip,.footer-main p,.placeholder,.footer-bottom,.footer-bottom button{font-size:14px;line-height:1.5}
 .request-intro small{margin-top:24px}
 form{padding:20px}
 .field-grid{grid-template-columns:1fr;gap:0}
 label{font-size:14px;line-height:1.5;margin-bottom:24px}
 input,select,textarea{min-width:0;max-width:100%;font-size:16px;line-height:1.5;min-height:52px;padding:12px;margin-top:8px}
 textarea{min-height:128px}
 .upload{padding:24px 16px}
 .upload>strong{font-size:16px;line-height:1.5;margin:12px 0 8px}
 .upload input{font-size:14px;line-height:1.5;min-height:48px;margin-top:16px;overflow:hidden}
 .upload input::file-selector-button{font:inherit;min-height:44px;max-width:100%;border:1px solid #a8cde1;border-radius:6px;background:#fff;padding:8px;margin-right:8px;color:var(--ink)}
 .extra-choice{margin:24px 0}
 .extra-choice summary{font-size:16px;line-height:1.5;padding:12px 0;min-height:48px;gap:12px}
 .extra-choice label{font-size:16px;line-height:1.5;min-height:48px;padding:8px 0;margin:8px 0;gap:12px;align-items:flex-start}
 input[type=checkbox]{width:22px;min-width:22px;height:22px;min-height:22px;padding:0;margin-top:2px}
 .consent{min-height:48px;gap:12px;align-items:flex-start;padding:8px 0}
 .file-chip{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}
 .file-chip button{min-width:44px;min-height:44px;flex-shrink:0;margin:0}
 .form-note{margin-top:16px}
 #form-status{margin-top:16px}
 .footer-main>div:last-child{font-size:16px;gap:8px}
 .footer-main a,.footer-bottom button{display:flex;align-items:center;min-height:48px;padding:8px 0;text-align:left}
 .footer-bottom{gap:8px 24px;margin-top:32px;padding-top:24px}
 .placeholder{overflow-wrap:anywhere}
 footer{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
 .mobile-bar{gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));align-items:center}
 .mobile-bar .btn{min-height:56px;gap:8px;padding:12px 16px;min-width:0}
 .chat-button{flex-shrink:0;width:52px;height:52px}
 dialog{padding:32px 24px}
 dialog h2,#quote-dialog h2{font-size:28px;line-height:1.25}
 .close,#quote-close{width:48px;height:48px;min-width:48px}
 #quote-dialog .quote-dialog-header{padding:20px;gap:12px}
 #quote-dialog .quote-dialog-header>div{min-width:0}
 #quote-dialog .quote-dialog-header p{font-size:14px;line-height:1.5}
 #quote-dialog form{padding:24px 20px calc(32px + env(safe-area-inset-bottom))}
 #quote-dialog .form-note{margin-top:16px}
 #quote-dialog #form-status{scroll-margin-top:240px}
}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}header{padding:0 16px}.mobile-bar{padding-left:12px;padding-right:12px}.mobile-bar .btn{padding:12px;gap:4px}.mobile-bar .btn span{display:none}.card-body{padding:20px}.compact .card-body{flex-direction:column}.benefits article{padding-left:56px;padding-right:16px}.benefits .symbol{left:16px}.hero .eyebrow{letter-spacing:0}.service-nav a{padding:16px 12px}.quote-dialog-header .eyebrow{letter-spacing:0}}
/* Language navigation stays reachable without crowding the header. */
.language-switch{display:flex;flex-shrink:0;align-items:center;gap:4px;padding:2px;border:1px solid var(--line);border-radius:10px;background:#fff}
.language-switch a{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:14px;font-weight:800;border-radius:7px;line-height:1.4}
.language-switch a[aria-current=page]{color:#fff;background:var(--button-blue)}
html[lang=de]{hyphens:auto}
html[lang=de] .btn{overflow-wrap:anywhere}
@media(min-width:681px) and (max-width:1100px){header{gap:16px}header nav{gap:16px}header>.desktop{display:none}}
@media(max-width:680px){header{gap:10px}.logo{width:clamp(116px,34vw,174px)}.language-switch{margin-left:auto;gap:0;padding:0}.language-switch a{min-width:40px;min-height:44px}.menu-toggle{padding:4px;min-width:44px}.mobile-bar .btn{overflow-wrap:normal}html[lang=de] .hero h1{font-size:clamp(32px,8.7vw,40px)}#quote-dialog .quote-dialog-header{position:relative}#quote-close{position:sticky;top:16px}dialog .btn{max-width:100%}input,select{width:100%}button,a,summary{-webkit-tap-highlight-color:rgba(29,153,254,.15)}}
@media(max-width:680px){.language-switch a{min-width:44px}}
/* Native vector icons: no platform-dependent emoji glyphs. */
.ui-arrow{display:inline-block;width:22px;height:22px;flex:0 0 22px;vertical-align:middle;pointer-events:none}
.arrow{display:inline-flex;align-items:center;justify-content:center;font-size:inherit}
.btn>span:has(>.ui-arrow){display:inline-flex;align-items:center;justify-content:center}
.row-action{display:inline-flex;align-items:center;justify-content:center}
.whatsapp-btn{background:#128043;border-color:#128043;color:#fff;justify-content:center;gap:12px}
.whatsapp-btn:hover{background:#0e6937;border-color:#0e6937}
.whatsapp-icon{width:26px;height:26px;flex:0 0 26px;fill:currentColor}
.btn .button-label{font:inherit;line-height:1.4}
/* Lock the underlying document on iOS as well as desktop. */
html.modal-open{overflow:hidden;overscroll-behavior:none}
body.modal-open{position:fixed;left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}
#quote-dialog{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
#quote-dialog-body,#quote-dialog form,#quote-dialog .field-grid,#quote-dialog label{min-width:0;max-width:100%}
@media(max-width:680px){
 .hero h1,html[lang=de] .hero h1{line-height:1.08;letter-spacing:-.03em}
 .hero{gap:16px;padding-top:28px;padding-bottom:24px}
 .hero-copy>.eyebrow{margin-bottom:0}
 .hero-image{margin-top:4px}
 h2,.dark h2,.about h2,.request-intro h2{line-height:1.15;margin-top:8px;margin-bottom:16px}
 .section{padding-top:40px;padding-bottom:40px}
 .section-head h2{margin-bottom:12px}
 .section-head:has(>div>p) h2{margin-bottom:6px}
 .section-head:has(>div>p)>div>p{margin-bottom:20px}
 .section-head>.text-link{margin-top:0;margin-bottom:16px;padding:8px 0;min-height:44px}
 .benefits{gap:12px;padding-bottom:24px}
 .benefits article{padding-top:20px;padding-bottom:20px}
 .benefits h3{margin-bottom:4px;line-height:1.25}
 .benefits p,.service-row p,.card p,.steps p{line-height:1.45}
 .card-body{padding:20px}
 .card h3,.compact .card h3{line-height:1.2;margin-bottom:4px}
 .card .text-link{margin-top:4px;padding:8px 0;min-height:44px}
 .cards{gap:16px}.compact{margin-top:16px}
 .service-row h3,.extra-rows .service-row h3{line-height:1.25}
 .service-row p{margin-top:4px}
 .service-row .text-link{padding:8px 0;margin-top:0;min-height:44px}
 .rows .service-row{padding-top:20px;padding-bottom:20px}
 .steps h3{line-height:1.25;margin-bottom:4px}
 .steps article{padding-top:20px;padding-bottom:20px}
 .steps article>span{top:20px}
 .about{gap:20px;margin-top:32px}
 .about h2,.request-intro h2{margin-bottom:8px}
 .faq-layout{gap:16px}
 .faq-layout>div:first-child>.eyebrow{margin-bottom:0}
 .faq-layout>div:first-child>p{margin-top:8px;line-height:1.2}
 .faq-layout>div:first-child>.text-link{padding:8px 0;min-height:44px}
 .faq-item summary{line-height:1.35;padding:18px 0}
 .request-layout{gap:20px}
 #quote-dialog{position:fixed;inset:0;margin:0!important;width:100%!important;max-width:100%!important;min-width:0;height:100%;height:100dvh;max-height:100%;max-height:100dvh;border:0;border-radius:0;padding:0;box-sizing:border-box;transform:none}
 #quote-dialog .quote-dialog-header{padding:16px 20px;gap:12px}
 #quote-dialog h2{line-height:1.15;margin:6px 0}
 #quote-dialog .quote-dialog-header p{line-height:1.4}
 #quote-dialog form{width:100%;padding:20px 20px calc(28px + env(safe-area-inset-bottom))}
 #quote-dialog input,#quote-dialog select,#quote-dialog textarea{min-width:0;width:100%;box-sizing:border-box}
 .full{max-width:100%}
}
#quote-dialog input[type=checkbox]{width:22px;min-width:22px;max-width:22px;flex:0 0 22px}
#quote-dialog .consent>span{min-width:0;flex:1;overflow-wrap:anywhere}
#quote-dialog .inline-link{max-width:100%;white-space:normal;text-align:inherit}
/* Soft mobile dock and a brief eased entrance for the quote form. */
@media(max-width:680px){
 .mobile-bar{background:transparent;border-top:0;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
 .mobile-bar::before{content:"";position:absolute;inset:-28px 0 0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.65) 42%,#fff 100%)}
}
@keyframes quote-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes quote-backdrop-appear{from{opacity:0}to{opacity:1}}
#quote-dialog[open]{animation:quote-appear 240ms cubic-bezier(.22,1,.36,1) both}
#quote-dialog[open]::backdrop{animation:quote-backdrop-appear 200ms cubic-bezier(.22,1,.36,1) both}
@media(prefers-reduced-motion:reduce){#quote-dialog[open],#quote-dialog[open]::backdrop{animation:none}}

/* Sticky navigation stays in the layout while sliding off screen. */
header{transition:transform 220ms cubic-bezier(.22,1,.36,1)}
header.header-hidden{transform:translateY(-100%)}
header.header-hidden:has(:focus-visible){transform:none}
@media(prefers-reduced-motion:reduce){header{transition:none}}

/* White surfaces throughout, with colour reserved for controls and icons. */
.tint,.dark,footer,form,#quote-dialog,.upload,header{background:#fff}
.tint,.dark,footer{border-top:1px solid var(--line)}
.dark,footer{color:var(--ink)}
.dark .eyebrow,.dark .text-link{color:var(--accent-text)}
.footer-main p,.placeholder,.footer-bottom{color:var(--muted)}
.footer-bottom{border-top-color:var(--line)}
@media(max-width:680px){
 .benefits article,.service-nav a{background:#fff;border:1px solid var(--line)}
}

/* Accent surfaces on the white page. */
:root{--feature-surface:#edf7ff;--service-surface:#f2f8ff;--surface-shadow:0 2px 5px rgba(17,24,39,.035),0 8px 24px rgba(17,24,39,.055)}
.benefits article,.service-nav a,.card,form,.hero-image,.chat-button{box-shadow:var(--surface-shadow)}
.benefits article,.service-nav a{border:1px solid #dbeaf6;border-radius:14px}
.benefits article{background:var(--feature-surface)}
.service-nav{gap:12px 16px}
.service-nav a{background:var(--service-surface);min-height:62px;padding:14px 16px;gap:12px;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
.service-nav a:hover,.service-nav a:focus-visible{background:var(--button-blue);border-color:var(--button-blue);color:#fff}
.service-nav a:hover :is(.nav-icon,.arrow),.service-nav a:focus-visible :is(.nav-icon,.arrow){color:#fff}
@media(min-width:681px){
 .benefits{gap:16px}
 .benefits article{padding:20px 16px 20px 54px}
 .benefits .symbol{left:14px;top:20px}
 .benefits p{font-size:14px;line-height:1.5}
}
.hero .dot{background:var(--accent)}
.benefits article{border-top:2px solid var(--accent)}

/* Additional services share the main service navigation's card treatment. */
#extras-list{gap:12px 16px}
#extras-list .service-row{
 position:relative;min-height:88px;padding:14px 16px;gap:12px;align-items:center;
 background:var(--service-surface);border:1px solid #dbeaf6;border-radius:14px;
 box-shadow:var(--surface-shadow);transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease;
}
#extras-list .service-row>div{min-width:0;flex:1}
#extras-list .row-icon{background:transparent}
#extras-list .row-action{flex-shrink:0}
#extras-list .row-action::after{content:"";position:absolute;inset:0;border-radius:inherit}
#extras-list .service-row:hover,#extras-list .service-row:focus-within{
 background:var(--button-blue);border-color:var(--button-blue);color:#fff;
}
#extras-list .service-row:is(:hover,:focus-within) :is(p,.row-icon,.row-action){color:#fff}
@media(prefers-reduced-motion:reduce){#extras-list .service-row{transition:none}}
