@font-face{font-family:Jakarta;src:url('/assets/plus-jakarta-sans.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:Grotesk;src:url('/assets/space-grotesk.woff2') format('woff2');font-weight:500 700;font-display:swap}
:root{--ink:#0f172a;--navy:#0b192c;--dark:#08121f;--blue:#0369a1;--cyan:#00d2ff;--muted:#526176;--white:#fff;--pale:#f7f9fc;--line:#dce4ed;--light-ink:#c2cfdf;--error:#b42335;--radius-control:12px;--radius-panel:16px;--radius-feature:24px;--space:clamp(72px,7.8vw,112px);--shadow:0 18px 40px -15px rgb(11 25 44 / .15);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:Jakarta,Arial,sans-serif;font-size:1.125rem;line-height:1.75;color:var(--ink);background:white;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em;text-wrap:balance}h1,h2{font-weight:800}h2{font-size:clamp(2.25rem,3.672vw,3.25rem);margin-bottom:22px}h3{font-size:1.375rem;font-weight:700;letter-spacing:-.025em;margin-bottom:12px}p{color:var(--muted);margin-bottom:20px;max-width:70ch}p:last-child{margin-bottom:0}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}img{display:block;max-width:100%}figure{margin:0}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.process :focus-visible,.site-footer :focus-visible,.contact-panel :focus-visible{outline-color:var(--cyan)}::selection{background:#bae6fd;color:var(--navy)}.container{width:min(1216px,calc(100% - 80px));margin-inline:auto}.icon{width:22px;height:22px;flex:none;vertical-align:middle}.section{padding-block:var(--space)}.skip-link{position:fixed;top:12px;left:16px;padding:10px 18px;background:white;z-index:100;border-radius:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.utility{background:var(--dark);color:#d2dce8;font-size:0.875rem;font-weight:500;letter-spacing:.025em}.utility .container{display:flex;align-items:center;justify-content:space-between;min-height:40px;gap:20px}.utility .container>span{display:flex;align-items:center;gap:8px}.utility .container>span:first-child::before{content:'';width:6px;height:6px;border-radius:50%;background:#34d399}.utility .icon{width:14px;height:14px;color:#38bdf8}.site-header{position:sticky;top:0;z-index:20;background:rgb(255 255 255 / .96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;gap:28px;min-height:88px}.brand{display:inline-flex;text-decoration:none;flex:none}.logo-frame{position:relative;display:block;overflow:hidden;width:144px;height:66px;background:#fefefe}.logo-frame img{position:absolute;max-width:none;height:auto;width:232px;left:-41px;top:-41px}.desktop-nav{display:flex;gap:25px;margin-left:auto;align-items:center}.desktop-nav a{text-decoration:none;font-size:1rem;font-weight:600;padding-block:15px;color:var(--muted)}.desktop-nav a:hover{color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:15px 22px;min-height:54px;border:1px solid transparent;border-radius:var(--radius-control);text-decoration:none;font-size:1rem;font-weight:700;line-height:1.4;cursor:pointer;transition:background .2s,transform .2s}.button .icon{width:19px;height:19px}.button .icon:last-child{width:16px;height:16px}.button-primary{background:var(--navy);color:white;box-shadow:0 8px 18px -10px rgb(11 25 44 / .5)}.button-primary>.icon:first-child{color:#6ee7b7}.button-primary:hover{background:#143656;transform:translateY(-2px)}.button-light{background:white;color:var(--navy)}.button-light:hover{background:#e0f2fe}.button:active{transform:none}.button:disabled{opacity:.65;cursor:wait;transform:none}.header-cta{min-height:44px;padding:11px 16px;font-size:0.875rem;background:linear-gradient(110deg,#005c9e,#0284c7)}.header-cta .icon:last-child{display:none}.menu-toggle{display:none}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:white;padding:20px 24px;border-bottom:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:var(--shadow);max-height:calc(100dvh - 100px);overflow-y:auto}.mobile-nav>a:not(.button){display:block;padding:13px 4px;text-decoration:none;border-bottom:1px solid var(--line);font-weight:600}.mobile-nav>.button{margin-top:18px}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 0;border:0;background:none;text-decoration:none;font-size:1rem;font-weight:700;color:var(--blue)}.text-link .icon{width:17px;height:17px}.text-link:hover{text-decoration:underline}
.hero{padding-top:48px;padding-bottom:32px;background:radial-gradient(ellipse at 85% 15%,#ddf6fd 0,transparent 65%),linear-gradient(110deg,#fff,#f6fafc);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.badge{display:inline-flex;align-items:center;gap:7px;font-size:0.875rem;font-weight:700;line-height:1.5;border:1px solid #c9e4f5;color:#075985;background:#f0f9ff;padding:6px 10px;border-radius:50px}.badge .icon{width:14px;height:14px}.badge-dark{background:var(--ink);border-color:var(--ink);color:white}.badge-dark::before{content:'';width:6px;height:6px;background:#6ee7b7;border-radius:50%}.hero h1{font-size:clamp(3.125rem,4.86vw,4.25rem);line-height:1.08;margin-bottom:24px;letter-spacing:-.04em}.hero h1 span,h2>span{color:#007fbb}.hero h1 span,.process h2>span{background:linear-gradient(110deg,#0284c7,#00d2ff);background-clip:text;-webkit-text-fill-color:transparent}.hero h1 span{background-image:linear-gradient(110deg,#0276b1,#007d9f)}.hero-intro{font-size:1.25rem;line-height:1.7;max-width:560px;margin-bottom:28px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.hero-actions>.text-link{border:1px solid var(--line);padding:14px 20px;border-radius:var(--radius-control);background:white;color:var(--ink);min-height:54px}.hero-note{display:flex;gap:12px;padding-top:24px;border-top:1px solid var(--line);margin-top:28px;font-size:0.875rem;color:var(--muted)}.hero-note>.icon{color:var(--blue);margin-top:4px}.hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}.hero-facts>div{border:1px solid var(--line);background:rgb(255 255 255 / .85);border-radius:12px;padding:12px 8px;text-align:center}.hero-facts strong{display:block;font-family:Grotesk,Jakarta,sans-serif;font-size:1.5625rem;letter-spacing:-.03em}.hero-facts>div:nth-child(2) strong{color:var(--blue)}.hero-facts>div:nth-child(3) strong{color:#047857}.hero-facts span{font-size:0.875rem;color:var(--muted);display:block}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:32px;padding-top:20px;font-size:0.875rem;color:var(--muted);gap:20px}.hero-bottom>span::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#059669;margin-right:8px}.hero-bottom a{display:flex;align-items:center;gap:14px;text-decoration:none;min-height:44px;font-weight:600;white-space:nowrap}
.trust-strip{background:#0f172a;color:white;padding:24px 0}.trust-strip>.container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.trust-strip .container>div{display:flex;align-items:center;gap:12px}.trust-strip .icon{width:36px;height:36px;padding:9px;border-radius:10px;background:#12283d;border:1px solid #244059;color:#7dd3fc}.trust-strip strong{display:block;font-family:Grotesk,sans-serif;font-size:1rem;line-height:1.4}.trust-strip small{display:block;font-size:0.875rem;color:#acbad0;margin-top:4px}
.section-index{display:inline-flex;font-size:0.875rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:#075985;background:#f0f9ff;border:1px solid #badef2;padding:4px 10px;border-radius:40px;margin-bottom:16px;line-height:1.5}.section-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:end;margin-bottom:56px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:1rem;line-height:1.7;padding:22px;background:var(--pale);border:1px solid var(--line);border-radius:16px;margin-bottom:0}.services-grid{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:start}.service-feature{position:sticky;top:116px;border:1px solid var(--line);border-radius:24px;background:var(--pale);padding:32px;box-shadow:var(--shadow)}.service-feature>.badge{border-radius:6px;background:white;color:var(--ink)}.service-feature h3{font-size:1.8125rem;font-weight:700;line-height:1.3;margin-top:20px}.service-feature>p{font-size:1rem;line-height:1.8}.report-card{padding:24px;border-radius:16px;background:linear-gradient(125deg,#0b192c,#0c2039);color:white;margin-top:28px;box-shadow:0 12px 22px -12px #0b192c}.report-title{display:flex;gap:12px;align-items:center}.report-title>.icon{width:44px;height:44px;background:linear-gradient(130deg,#0369a1,#38bdf8);padding:10px;border-radius:12px}.report-title strong{display:block;font-family:Grotesk,sans-serif;font-size:1.125rem;line-height:1.3}.report-title small{display:block;color:var(--light-ink);font-size:0.875rem;margin-top:4px}.report-card ul{list-style:none;border-top:1px solid #304258;padding:18px 0 0;margin:20px 0 0;font-size:0.875rem}.report-card li{display:flex;align-items:center;gap:8px;margin:10px 0}.report-card li .icon{width:15px;height:15px;color:#6ee7b7}.service-list{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-list>li{padding:24px;border:1px solid var(--line);border-radius:16px;background:white;transition:border-color .2s,transform .2s}.service-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.list-number{font-family:Grotesk,sans-serif;padding:3px 8px;border:1px solid #d6ebf8;border-radius:6px;background:#f0f9ff;color:#075985;font-size:0.875rem;font-weight:700}.service-card-top>.icon{width:30px;height:30px;background:var(--pale);border-radius:8px;padding:7px;color:#64748b}.service-list h3{font-size:1.125rem;line-height:1.45;letter-spacing:-.02em;margin-bottom:10px}.service-list p{font-size:0.875rem;line-height:1.85;margin:0}.service-list>li:last-child{grid-column:1/-1;padding:28px;background:linear-gradient(110deg,#0b192c,#10243f);color:white;position:relative;border-color:#243e5c}.service-list>li:last-child .list-number{background:#0c2b44;border-color:#225374;color:#7dd3fc}.service-list>li:last-child .service-card-top>.icon{color:#7dd3fc;background:#153c59}.service-list>li:last-child h3{font-family:Grotesk,sans-serif;font-size:1.5rem}.service-list>li:last-child p{color:var(--light-ink)}
.process{background:radial-gradient(ellipse at 90% 30%,#102b43,transparent 70%),var(--dark);color:white}.process .section-index{background:#0c293e;color:#7dd3fc;border-color:#23506e}.process .section-heading>p{background:#101d31;color:#c2cfdf;border-color:#26364d}.process-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}.process-steps li{padding:30px;border:1px solid #26344a;background:#0f1b30;border-radius:24px}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.step-number{font-size:2.25rem;font-family:Grotesk,sans-serif;font-weight:700;line-height:1;color:#7dd3fc}.step-top>.icon{width:40px;height:40px;border:1px solid #254863;border-radius:12px;background:#102b43;color:#7dd3fc;padding:10px}.process-steps li:last-child .step-number{color:#6ee7b7}.process-steps h3{font-size:1.375rem;line-height:1.4}.process-steps p{font-size:1rem;color:var(--light-ink);line-height:1.85;margin:0}.process-bottom{margin-top:40px;padding:28px;border-radius:24px;border:1px solid #264b6c;background:linear-gradient(100deg,#101c30,#0d213a,#101c30);display:flex;align-items:center;justify-content:space-between;gap:24px}.process-invitation{display:flex;gap:18px;align-items:center}.process-invitation>.icon{width:46px;height:46px;padding:11px;background:#133c3b;border:1px solid #28625a;color:#6ee7b7;border-radius:14px}.process-invitation strong{font-size:1rem}.process-invitation p{font-size:0.875rem;color:var(--light-ink);margin:4px 0 0}.process-bottom>.button{flex:none;font-size:0.875rem}.area{background:var(--pale);border-block:1px solid #edf1f5}.area-grid,.faq-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px}.area-grid>div>p:not(.section-index),.faq-grid>div>p:not(.section-index){font-size:1rem}.area-explorer{padding:32px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.about-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:stretch}.about-brand{background:radial-gradient(ellipse at top right,#17334e,transparent 70%),var(--navy);padding:42px;border:1px solid #253a52;border-radius:24px;box-shadow:0 20px 30px -18px #0b192c;display:flex;flex-direction:column;justify-content:center;color:white}.about-rule{width:50px;height:4px;background:linear-gradient(90deg,#38bdf8,#0284c7);border-radius:2px;margin-bottom:32px}.about-brand p{font-size:2.375rem;font-family:Grotesk,sans-serif;line-height:1.25;letter-spacing:-.03em;font-weight:700;color:white}.about-brand strong{color:#38bdf8}.about-signature{margin-top:40px;padding-top:24px;border-top:1px solid #304056;font-family:Grotesk,sans-serif;font-size:1.125rem;font-weight:700}.about-grid>div:last-child>p:not(.section-index){font-size:1rem}.editorial-placeholder{border:1px solid var(--line);background:var(--pale);border-radius:16px;padding:20px;margin:24px 0;font-size:0.875rem;color:var(--muted)}.editorial-placeholder strong,.editorial-placeholder span{display:block}.editorial-placeholder strong{color:var(--ink);margin-bottom:6px}.region-shortcuts{padding:20px;background:white;border:1px solid var(--line);border-radius:16px;margin:24px 0}.region-shortcuts>strong{font-size:0.875rem;letter-spacing:.03em}.region-shortcuts>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.region-shortcuts button{padding:8px 10px;min-height:36px;border:0;border-radius:8px;background:#eef3f8;color:var(--ink);font-size:0.875rem}.region-shortcuts button:hover{background:var(--blue);color:white}.area-grid .area-note{font-size:0.875rem!important}.city-search{margin-bottom:22px}.city-search>label{font-family:Grotesk,sans-serif;font-size:1.4375rem;margin-bottom:4px}.city-search>p{font-size:0.875rem;margin-bottom:18px}.city-search-field{position:relative}.city-search-field>.icon{position:absolute;left:14px;top:15px;width:18px;height:18px;color:var(--muted);pointer-events:none}#city-query{padding:13px 48px 13px 42px;min-height:48px;font-size:1rem}#city-query::-webkit-search-cancel-button{appearance:none}.city-search-clear{position:absolute;right:4px;top:4px;width:40px;height:40px;display:grid;place-items:center;border:0;background:#f0f7ff;border-radius:9px;color:var(--ink)}.city-search-clear>.icon{width:17px;height:17px}.city-search #city-search-status{font-size:0.875rem;margin:14px 0 0}.city-search-empty{font-size:1rem;background:var(--pale);padding:18px;border-radius:12px}
details{border:1px solid var(--line);border-radius:14px;background:white}details+details{margin-top:12px}summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;font-size:1rem;font-weight:600;line-height:1.6;padding:19px 20px;border-radius:14px}summary::-webkit-details-marker{display:none}summary:hover{color:var(--blue);background:#f8fbfe}details[open]{border-color:#9bcce7}details[open] summary{color:var(--blue)}.plus{position:relative;flex:none;display:block;width:28px;height:28px;border-radius:50%;background:#f1f5f9;color:#5b6d83}.plus::after{content:'';position:absolute;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;left:10px;top:9px;transform:rotate(45deg);transition:transform .2s}details[open] .plus{background:var(--blue);color:white}details[open] .plus::after{transform:rotate(225deg);top:12px}.region summary{font-size:0.875rem;padding:14px 16px}.region .plus{width:22px;height:22px;background:none}.region .plus::after{left:7px;top:6px}.region[open] .plus::after{top:9px}.region ul{list-style:none;display:flex;flex-wrap:wrap;gap:7px 14px;margin:0;padding:16px;border-top:1px solid #e8eff6;font-size:0.875rem;background:#f8fafc;border-radius:0 0 14px 14px;color:var(--muted)}.region li{white-space:normal}.faq-list details>p{padding:18px 20px;margin:0;font-size:1rem;border-top:1px solid #eef2f7}.faq-contact{padding:20px;background:var(--pale);border:1px solid var(--line);border-radius:16px;margin:24px 0 10px}.faq-contact>strong{font-size:0.875rem}.faq-contact p{font-size:0.875rem;margin:5px 0 10px}.faq-contact a{font-size:1rem;color:var(--blue);font-weight:700;text-decoration:none}.faq-contact .icon{width:17px;height:17px;margin-right:5px}
.contact{background:#f0f5fa}.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:32px;align-items:stretch}.contact-panel{background:radial-gradient(ellipse at top right,#153e4d,transparent 70%),var(--dark);border:1px solid #243e53;color:white;padding:32px;border-radius:24px;box-shadow:0 20px 32px -16px #0b192c66;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.contact-channel{display:inline-flex;padding:4px 9px;border:1px solid #236250;background:#0b302b;border-radius:30px;color:#6ee7b7;font-size:0.875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:18px}.contact-panel h3{font-size:2.125rem;line-height:1.2;font-weight:800}.contact-panel h3 span{color:#34d399}.contact-panel p{font-size:1rem;color:var(--light-ink)}.message-preview{background:#111e30;border:1px solid #2a3b50;border-radius:14px;padding:16px;margin:22px 0}.message-preview>div{display:flex;align-items:center;gap:7px;font-size:0.875rem;margin-bottom:13px}.message-preview .icon{width:17px;height:17px;color:#6ee7b7}.message-preview>div>span{font-size:0.875rem;color:#a6b5c7;margin-left:auto}.message-preview p{padding:12px;background:#1e2c40;border:1px solid #334257;border-radius:10px 10px 10px 2px;font-size:0.875rem;color:#d7e1ec;margin:0}.contact-panel .button-light{width:100%;background:#059669;color:white;justify-content:flex-start}.contact-panel .button-light:hover{background:#047857}.contact-panel .button-light>.icon:last-child{margin-left:auto}.contact-number{display:block;font-family:Grotesk,sans-serif;font-size:2.25rem;font-weight:700;text-decoration:none;letter-spacing:-.025em;line-height:1.4;margin-top:24px}.small-note{font-size:0.875rem;color:var(--light-ink)}.contact-social{border-top:1px solid #2a3d50;padding-top:22px}.contact-social>span,.contact-social small{display:block;font-size:0.875rem;color:var(--light-ink)}.social-link{display:flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;font-size:0.875rem}.social-link>.icon{width:17px;height:17px}.social-link>.icon:not(:first-child):last-child{margin-left:auto;width:14px;height:14px}.contact form{padding:32px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.contact form>h3{font-family:Grotesk,sans-serif;font-size:1.625rem;margin-bottom:6px}.form-intro{font-size:0.875rem;margin-bottom:20px}.form-notice,.legal-warning{background:#f0f7ff;border:1px solid #cbdfee;padding:14px 16px;border-radius:12px;font-size:0.875rem;color:var(--muted);margin-bottom:24px}.form-notice strong,.legal-warning strong{display:block;color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}label{display:block;font-size:0.875rem;font-weight:600;margin-bottom:7px}input,select,textarea{width:100%;display:block;font-size:1rem;padding:11px 13px;min-height:44px;border:1px solid #bac8d7;border-radius:10px;background:white;color:var(--ink);caret-color:var(--blue)}input:hover,select:hover,textarea:hover{border-color:var(--blue)}input::placeholder,textarea::placeholder{color:#64748b;font-size:0.875rem;opacity:1}textarea{resize:vertical;min-height:110px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-width:2px;outline-offset:2px}[aria-invalid=true]{border-color:var(--error)}.field-error{display:block;font-size:0.875rem;color:var(--error);margin-top:5px}.field-error:empty{display:none}.privacy-note{font-size:0.875rem;line-height:1.8;margin-bottom:20px}.form-status{font-size:1rem;line-height:1.75;margin-top:16px}.form-status:empty{display:none}.form-status[data-state=error]{color:var(--error)}.form-status[data-state=success]{color:#047857}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.site-footer{background:var(--dark);color:white;padding-top:52px}.footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:70px;padding-bottom:42px}.footer-brand{margin-bottom:16px}.footer-brand .logo-frame{width:170px;height:77px;background:transparent;mix-blend-mode:screen}.footer-brand .logo-frame img{width:274px;left:-49px;top:-48px;filter:grayscale(1) invert(1) brightness(1.5) contrast(3)}.footer-grid>div>p{font-size:0.875rem;color:var(--light-ink)}.footer-grid h2{font-family:Grotesk,sans-serif;font-size:1rem;letter-spacing:0;font-weight:700;margin:14px 0 18px}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.footer-grid nav a{font-size:0.875rem;text-decoration:none;color:var(--light-ink);padding:9px 0}.footer-whatsapp{display:flex;align-items:center;gap:10px;font-size:1.125rem;text-decoration:none;font-weight:700}.footer-whatsapp>.icon{color:#6ee7b7}.footer-whatsapp small{font-size:0.875rem;display:block;color:var(--light-ink);font-weight:400}.footer-grid .social-link{margin-top:14px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px;border-top:1px solid #233348;font-size:0.875rem;color:var(--light-ink)}.footer-bottom>div{display:flex;gap:22px}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.site-footer a:hover{text-decoration:underline}.floating-contact{position:fixed;bottom:22px;right:18px;z-index:30;transition:opacity .2s,transform .2s}.floating-contact>.button{height:52px;width:52px;min-height:52px;padding:13px;border-radius:50%;background:#059669;color:white;box-shadow:0 8px 20px -8px #04785788}.floating-contact>.button>.icon:first-child{color:white;width:26px;height:26px}.floating-contact>.button>.icon:last-child{display:none}.floating-contact>.button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.floating-contact.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}.mobile-enquiry{display:none}.legal-page{max-width:850px;padding-block:60px 80px;min-height:50vh}.legal-page h1{font-size:clamp(2.5rem,5.4vw,3.75rem);margin-top:30px}.legal-page h2{font-size:1.625rem;margin-top:32px}.legal-page dt{font-weight:700;margin-top:18px}.legal-page dd{margin:5px 0;color:var(--muted)}.legal-page a{overflow-wrap:anywhere}
/* Approved Freepik photography complements the supplied Stitch card system. */
.editorial-photo{margin:0 0 24px;min-width:0}
.editorial-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-panel)}
.editorial-photo figcaption{margin-top:9px;font-size:0.875rem;line-height:1.6;color:var(--muted)}
.editorial-photo a{text-underline-offset:3px}
.service-feature:has(.editorial-photo){position:static}
.about-brand:has(.editorial-photo){justify-content:flex-start}
.about-photo img{aspect-ratio:16/10;object-position:60% 44%}
.about-photo figcaption{color:var(--light-ink)}
.about-brand:has(.editorial-photo) .about-rule{margin-bottom:24px}
.about-brand:has(.editorial-photo) .about-signature{margin-top:auto;padding-top:24px}

@media(min-width:801px) and (max-width:1350px){.container{width:calc(100% - 144px)}.hero-grid{gap:44px;grid-template-columns:1.25fr 1fr}.hero h1{font-size:clamp(2.9375rem,4.86vw,3.875rem)}.section-heading{gap:40px}.area-grid,.faq-grid{gap:40px}.contact-panel,.contact form{padding:26px}.contact-number{font-size:2rem}.process-bottom{flex-wrap:wrap}}
@media(max-width:1190px){.desktop-nav{display:none}.header-cta{margin-left:auto}.menu-toggle{display:flex;align-items:center;gap:8px;padding:10px 13px;min-height:44px;background:white;border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:0.875rem;font-weight:600}.menu-toggle .icon{width:18px;height:18px}.hero-grid{grid-template-columns:1.15fr 1fr;gap:36px}.hero h1{font-size:3.125rem}.hero-intro{font-size:1.125rem}.hero-actions .button{font-size:0.875rem;padding:14px 16px}.hero-facts strong{font-size:1.25rem}.hero-facts span{font-size:0.875rem}.trust-strip>.container{gap:16px}.trust-strip strong{font-size:0.875rem}.trust-strip small{font-size:0.875rem}.services-grid{grid-template-columns:4.5fr 7.5fr;gap:22px}.service-feature{padding:22px}.service-list>li{padding:20px}.service-feature h3{font-size:1.5rem}.report-card{padding:18px}.process-steps{gap:16px}.process-steps li{padding:24px}.process-steps h3{font-size:1.25rem}.about-grid{gap:32px}.about-brand{padding:30px}.about-brand p{font-size:2.0625rem}.form-row{grid-template-columns:1fr;gap:0}.footer-grid{gap:36px}}
@media(max-width:1000px) and (min-width:801px){.hero-grid{grid-template-columns:1fr 1fr;gap:28px}.hero h1{font-size:2.75rem}.hero-facts{gap:6px}.hero-facts strong{font-size:1.125rem}.hero-facts span{font-size:0.875rem}.hero-badges .badge{font-size:0.875rem;padding:5px 8px}.services-grid{grid-template-columns:1fr}.service-feature{position:static}.service-feature h3{max-width:600px}.service-feature .report-card{max-width:600px}.about-grid,.area-grid,.faq-grid,.contact-grid{gap:28px;grid-template-columns:1fr 1fr}.area-explorer{padding:24px}.about-brand p{font-size:1.875rem}.process-steps{grid-template-columns:1fr}.process-steps li{display:grid;grid-template-columns:64px 1fr;gap:0 24px}.step-top{grid-row:span 2;flex-direction:column;gap:18px;margin:0}.process-invitation p{max-width:440px}.contact-number{font-size:1.625rem}.contact-panel .button{font-size:0.875rem;padding-inline:14px}}
@media(max-width:800px){:root{--space:72px}html{scroll-padding-top:92px}.container{width:calc(100% - 40px)}.utility .container{justify-content:center;min-height:32px;font-size:0.875rem}.utility{display:none}.header-inner{min-height:78px;gap:12px}.header-cta{display:none}.menu-toggle{margin-left:auto}.logo-frame{width:132px;height:60px}.logo-frame img{width:213px;left:-38px;top:-38px}.hero{padding-top:40px;padding-bottom:24px}.hero-grid{grid-template-columns:1fr;gap:58px}.hero h1{font-size:clamp(2.875rem,7.56vw,4rem)}.hero-intro{font-size:1.1875rem;max-width:600px}.hero-facts{max-width:580px}.hero-facts strong{font-size:1.5625rem}.hero-facts span{font-size:0.875rem}.hero-actions>.button{font-size:1rem}.hero-badges .badge{font-size:0.875rem}.hero-bottom{margin-top:36px;font-size:0.875rem}.trust-strip>.container{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.trust-strip strong{font-size:0.875rem}.trust-strip small{font-size:0.875rem}.trust-strip .icon{width:32px;height:32px;padding:8px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.section-heading>p{font-size:1rem}.services-grid,.about-grid,.area-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.service-feature{position:static;padding:28px}.service-feature h3{font-size:1.875rem}.service-list h3{font-size:1.1875rem}.service-list p{font-size:1rem}.process-steps{grid-template-columns:1fr;gap:16px}.process-steps li{padding:28px}.process-steps h3{font-size:1.4375rem}.process-steps p{font-size:1rem}.step-top{margin-bottom:18px}.process-bottom{padding:24px;flex-direction:column;align-items:flex-start}.process-invitation strong{font-size:1rem}.process-invitation p{font-size:0.875rem}.process-bottom>.button{font-size:1rem;width:100%}.area-explorer{padding:28px}.area-grid>div>p:not(.section-index),.faq-grid>div>p:not(.section-index),.about-grid>div:last-child>p:not(.section-index){font-size:1.0625rem}.about-brand{padding:36px;min-height:350px}.about-brand p{font-size:2.25rem}.about-signature{margin-top:28px}.contact-panel,.contact form{padding:28px}.contact-panel h3{font-size:2.25rem}.contact-panel p{font-size:1rem}.contact-number{font-size:2.375rem}.contact-panel .small-note{font-size:0.875rem}.contact-panel .message-preview p{font-size:0.875rem}.form-intro,.form-notice,.privacy-note{font-size:0.875rem}label{font-size:1rem}input,select,textarea{font-size:1.125rem}input::placeholder,textarea::placeholder{font-size:1rem}.region summary{font-size:1rem}.faq-list details>p{font-size:1rem}.city-search>p{font-size:1rem}#city-query{font-size:1.125rem}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div>p,.footer-grid nav a{font-size:1rem}.footer-grid nav{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start;font-size:0.875rem}.site-footer{padding-bottom:84px}.floating-contact{bottom:0;left:0;right:0;display:flex;align-items:center;gap:12px;background:white;border-top:1px solid var(--line);border-radius:16px 16px 0 0;padding:10px 18px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgb(11 25 44 / .06)}.floating-contact>.button{width:auto;height:auto;min-height:46px;flex:1;border-radius:12px;padding:12px 14px;box-shadow:none;font-size:1rem}.floating-contact>.button>span{position:static;clip-path:none;white-space:normal;width:auto;height:auto;overflow:visible}.floating-contact>.button>.icon:first-child{width:21px;height:21px}.mobile-enquiry{display:flex;flex:1;align-items:center;justify-content:center;min-height:46px;gap:8px;text-decoration:none;font-size:0.875rem;font-weight:600}.mobile-enquiry>.icon{width:16px;height:16px}}
@media(max-width:480px){.container{width:calc(100% - 36px)}h2{font-size:2.3125rem}.hero h1{font-size:clamp(2.625rem,11.34vw,3.375rem)}.hero-actions{align-items:stretch;flex-direction:column;gap:12px}.hero-actions>.button,.hero-actions>.text-link{width:100%;justify-content:center;font-size:1rem}.hero-facts{gap:8px}.hero-facts strong{font-size:1.3125rem}.hero-facts span{font-size:0.875rem}.hero-facts>div{padding:12px 5px}.hero-note{font-size:0.875rem}.hero-bottom{flex-direction:column;align-items:flex-start;gap:6px}.trust-strip>.container{gap:22px 12px}.trust-strip .container>div{gap:8px;align-items:flex-start}.trust-strip strong{font-size:0.875rem}.trust-strip small{font-size:0.875rem}.trust-strip .icon{width:28px;height:28px;padding:6px}.service-list{grid-template-columns:1fr}.service-feature{padding:24px}.service-list>li{padding:24px}.service-feature h3{font-size:1.625rem}.service-list>li:last-child h3{font-size:1.5rem}.process-invitation>.icon{display:none}.area-explorer{padding:22px}.about-brand{padding:30px;min-height:320px}.about-brand p{font-size:2.0625rem}.region summary{font-size:0.875rem;padding:14px 12px;gap:10px}.region ul{padding:14px}.contact-panel,.contact form{padding:24px 20px}.contact-number{font-size:2.125rem}.contact-panel .button{font-size:1rem}.contact-channel{font-size:0.875rem}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div:first-child{grid-column:auto}.footer-grid nav{grid-template-columns:1fr 1fr}.footer-bottom>div{gap:18px;flex-wrap:wrap}.legal-page h1{font-size:2.4375rem}.floating-contact{gap:8px;padding-inline:14px}.mobile-enquiry{font-size:0.875rem}.utility .container{font-size:0.875rem}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-list>li:hover{border-color:#75badf;transform:translateY(-3px)}.button:hover .icon:last-child{transform:translate(1px,-1px)}}

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

/* The hero photograph replaces the former inspection schematic. */
.hero-photo {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  height: clamp(480px, 43vw, 580px);
  border-radius: var(--radius-feature);
  overflow: hidden;
  background: var(--navy);
  box-shadow: 0 20px 40px -20px rgb(11 25 44 / .35);
}
.hero-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 30% center;
}
.hero-photo figcaption {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 16px;
}
.hero-photo-caption {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  border-radius: var(--radius-panel);
  background: var(--navy);
  color: white;
}
.hero-photo-caption > .icon { color: #7dd3fc; width: 28px; height: 28px; }
.hero-photo-caption strong { display: block; font-size:1.25rem; line-height: 1.4; }
.hero-photo-caption span span { display: block; font-size:0.875rem; color: var(--light-ink); margin-top: 4px; }
.hero-photo-credit { display: table; margin: 8px 0 0 auto; padding: 3px 8px; background: white; color: var(--ink); border-radius: 6px; font-size:0.875rem; line-height: 1.6; }
@media (max-width: 1000px) and (min-width: 801px) {
  .hero-photo { height: 510px; }
  .hero-photo figcaption { left: 12px; right: 12px; }
  .hero-photo-caption { padding: 16px 12px; gap: 10px; }
  .hero-photo-caption strong { font-size:1.125rem; }
  .hero-photo-caption span span { font-size:0.875rem; }
}
@media (max-width: 800px) {
  .hero-grid { gap: 28px; }
  .hero { padding-top: 30px; }
  .hero-badges { margin-bottom: 18px; }
  .hero-facts { display: none; }
  .hero-photo { height: auto; aspect-ratio: 4 / 3; }
  .hero-photo > img { position: absolute; inset: 0; object-position: center; }
  .hero-intro { margin-bottom: 22px; }
  .hero-note { margin-top: 20px; padding-top: 18px; }
}
@media (max-width: 480px) {
  .hero-photo { aspect-ratio: 1 / 1; }
  .hero-photo > img { object-position: 28% center; }
  .hero-photo figcaption { left: 12px; right: 12px; bottom: 12px; }
  .hero-photo-caption { padding: 14px; gap: 10px; }
  .hero-photo-caption > .icon { width: 22px; height: 22px; }
  .hero-photo-caption strong { font-size:1.125rem; }
  .hero-photo-caption span span { font-size:0.875rem; }
  .hero-photo-credit { font-size:0.875rem; }
}

@media (max-width: 360px) { .hero h1 { font-size:2.375rem; } .hero-badges .badge-dark { display: none; } }

/* Creative widgets: expanding report cards and connected step tabs.
   Interaction references: Unlimited Elements; implementation native to this site. */
.service-deck { display: grid; gap: 10px; }
.service-fold { position: relative; min-width: 0; margin: 0; border: 0; border-radius: 16px; background: #edf3f7; color: var(--navy); overflow: clip; }
.service-fold:nth-child(2) { background: #e0edf4; }
.service-fold:nth-child(3) { background: #d2e6f0; }
.service-fold:nth-child(4) { background: #bedce9; }
.service-fold:nth-child(5) { background: #a9d0e2; }
.service-fold[open] { background: #0c3650; color: white; }
.service-fold summary { list-style: none; position: relative; display: flex; gap: 20px; align-items: center; padding: 24px; }
.service-fold summary, .service-fold[open] summary { color: inherit; background: transparent; }
.service-fold summary:hover .fold-toggle { background: rgb(255 255 255 / .15); }
.service-fold summary::-webkit-details-marker { display: none; }
.service-fold summary:focus-visible { outline-offset: -6px; border-radius: 16px; }
.service-fold[open] summary:focus-visible { outline-color: var(--cyan); }
.fold-number { font-family: Grotesk, sans-serif; font-size:1.125rem; font-variant-numeric: tabular-nums; }
.service-fold h3 { margin: 0; font-size:1.5rem; line-height: 1.25; flex: 1; }
.fold-toggle { width: 38px; height: 38px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; flex: none; }
.fold-toggle .icon { width: 18px; transition: transform 350ms var(--ease); }
.service-fold[open] .fold-toggle { color: #8edbfa; }
.service-fold[open] .fold-toggle .icon { transform: rotate(90deg); }
.fold-content { padding: 0 24px 28px; }
.fold-topic { font-size:0.875rem; color: #9eddf7; }
.fold-content p { color: #e2edf4; font-size:1.0625rem; line-height: 1.8; margin: 12px 0 24px; }
.fold-content a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size:1rem; font-weight: 700; text-decoration: none; }
.fold-content a:hover { text-decoration: underline; }
.fold-content a:focus-visible { outline-color: var(--cyan); }
.fold-content a .icon { width: 17px; }
.service-context { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.service-context > div { display: flex; align-items: flex-start; gap: 16px; }
.service-context .icon { color: var(--blue); margin-top: 4px; }
.service-context strong { font-size:1.1875rem; line-height: 1.6; max-width: 30ch; }
.service-context p { font-size:1rem; margin: 0; }
@media (min-width:1001px) {
  .service-deck.is-enhanced { display: flex; align-items: stretch; min-height: 440px; }
  .is-enhanced .service-fold { flex: 1 1 0; transition: flex-grow 650ms var(--ease), background 350ms; }
  .is-enhanced .service-fold[open] { flex-grow: 3.5; }
  .is-enhanced .service-fold summary { padding: 28px; flex-direction: column; align-items: flex-start; gap: 24px; }
  .is-enhanced .service-fold:not([open]) summary { height: 100%; align-items: center; }
  .is-enhanced .service-fold:not([open]) h3 { writing-mode: vertical-rl; transform: rotate(180deg); max-height: 270px; font-size:1.4375rem; flex: 1; }
  .is-enhanced .service-fold[open] h3 { font-size:clamp(1.5625rem,2.376vw,2.25rem); max-width: 15ch; }
  .is-enhanced .service-fold[open] .fold-toggle { position: absolute; right: 24px; top: 20px; }
  .is-enhanced .service-fold[open] .fold-number { color: #9eddf7; }
  .is-enhanced .fold-content { padding: 0 28px 28px; }
  .is-enhanced .fold-content p { min-height: 108px; }
}
.process-explorer { display: grid; gap: 28px; }
.process-explorer.is-enhanced { grid-template-columns: 1fr 1.8fr; }
.process-tabs { display: flex; flex-direction: column; gap: 0; align-self: start; }
.process-tabs button { display: grid; grid-template-columns: 38px 1fr 22px; gap: 12px; align-items: center; width: 100%; text-align: left; color: #b6cbd9; border: 0; border-bottom: 1px solid #30485a; background: transparent; padding: 26px 16px; min-height: 100px; font-size:1.1875rem; font-weight: 600; }
.process-tabs button > span:first-child { font-family: Grotesk, sans-serif; font-size:1rem; color: #87c8e5; }
.process-tabs button[aria-selected=true] { color: var(--navy); background: #a2e0f5; border-radius: 12px; border-color: transparent; }
.process-tabs button[aria-selected=true] > span:first-child { color: var(--navy); }
.process-tabs button:hover:not([aria-selected=true]) { background: #142b3f; }
.process-tabs .icon { width: 18px; }
.process-explorer .process-steps { display: grid; grid-template-columns: 1fr; margin: 0; }
.process-explorer .process-steps > li { position: relative; display: block; min-height: 390px; padding: 38px; border: 0; background: #102a3d; border-radius: 16px; overflow: hidden; }
.process-explorer .step-top { justify-content: flex-start; gap: 12px; margin-bottom: 40px; font-size:0.875rem; color: #9eddf7; }
.process-explorer .step-top > .icon { padding: 0; border: 0; border-radius: 0; background: none; width: 23px; height: 23px; }
.process-explorer .process-steps h3 { position: relative; font-size:clamp(1.625rem,2.916vw,2.625rem); max-width: 17ch; }
.process-explorer .process-steps p { position: relative; max-width: 45ch; font-size:1.0625rem; line-height: 1.8; }
.process-numeral { position: absolute; top: 16px; right: 26px; font: 700 104px/1 Grotesk,sans-serif; color: #3b6178; letter-spacing: -.04em; }
.process-explorer .step-top { position: relative; }
.process-explorer .step-topics { position: relative; padding: 0; margin: 24px 0 12px; list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.process-explorer .step-topics > li { padding: 0; border: 0; border-radius: 0; background: none; color: #b6d3e3; font-size:0.875rem; }
.process-explorer .step-topics > li::before { content: ''; display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #8bd1ee; margin: 0 7px 3px 0; }
.process-explorer .text-link { position: relative; color: #9eddf7; }
.process-bottom { border: 0; border-top: 1px solid #30485a; border-radius: 0; background: none; padding: 28px 0 0; }
@media (max-width:1190px) and (min-width:801px) {
  .process-explorer.is-enhanced { grid-template-columns: 1fr 1.5fr; gap: 24px; }
  .process-tabs button { font-size:1.0625rem; padding-inline: 12px; grid-template-columns: 24px 1fr 18px; }
  .process-explorer .process-steps > li { padding: 28px; }
}
@media (max-width:800px) {
  .service-context { grid-template-columns: 1fr; gap: 16px; }
  .service-fold h3 { font-size:1.375rem; }
  .process-explorer.is-enhanced { grid-template-columns: 1fr; gap: 16px; }
  .process-tabs { flex-direction: row; gap: 8px; }
  .process-tabs button { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 8px; flex: 1; min-width: 0; min-height: 102px; font-size:0.875rem; line-height: 1.5; padding: 14px 10px; border: 1px solid #30485a; border-radius: 12px; overflow-wrap: anywhere; }
  .process-tabs button .icon { display: none; }
  .process-explorer .process-steps > li { min-height: 400px; padding: 28px; }
  .process-explorer .process-steps h3 { max-width: 16ch; font-size:2.0625rem; }
  .process-numeral { font-size:90px; top: 18px; right: 20px; }
  .process-explorer .step-top { margin-bottom: 42px; }
}
@media (max-width:480px) {
  .service-fold summary { padding: 20px; gap: 12px; }
  .service-fold h3 { font-size:1.25rem; }
  .fold-toggle { width: 30px; height: 30px; }
  .fold-number { font-size:0.875rem; }
  .fold-content { padding: 0 20px 20px; }
  .fold-content p { font-size:1rem; }
  .process-explorer .process-steps > li { padding: 24px; }
  .process-explorer .process-steps p { font-size:1rem; }
  .process-numeral { font-size:74px; opacity: .65; }
  .process-explorer .step-top { font-size:0.875rem; }
}

/* Responsive refinement: readable intermediate widths and comfortable touch controls. */
:root { --page-gutter: clamp(18px, 4vw, 40px); }
.container { width: min(1216px, calc(100% - max(var(--page-gutter), env(safe-area-inset-left)) - max(var(--page-gutter), env(safe-area-inset-right)))); }
.hero-grid > *, .section-heading > *, .about-grid > *,
.area-grid > *, .faq-grid > *, .contact-grid > *, .process-explorer > * { min-width: 0; }
.mobile-nav { max-height: calc(100dvh - 100px - env(safe-area-inset-bottom)); overscroll-behavior: contain; padding-bottom: max(20px, env(safe-area-inset-bottom)); }
.region-shortcuts button { min-height: 44px; padding: 10px 14px; font-size:1rem; }
.city-search-clear { width: 44px; height: 44px; top: 2px; right: 2px; }
.footer-grid nav a { min-height: 44px; display: flex; align-items: center; }
.trust-strip .container > div > span { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.legal-page { overflow-wrap: anywhere; hyphens: auto; }
.service-fold summary { scroll-margin-top: 112px; }
@media (max-width:1190px) { .area-grid, .faq-grid { gap: 32px; }
  .process-tabs button { overflow-wrap: normal; }
  input, select, textarea { font-size:1.125rem; }
  .form-intro, .form-notice, .privacy-note, .contact-panel .message-preview p { font-size:1rem; }
  .field > label, .field-error, .contact-panel .small-note { font-size:1rem; }
  input::placeholder, textarea::placeholder { font-size:1rem; }
}
@media (max-width:1000px) { .area-grid, .faq-grid, .contact-grid { grid-template-columns: minmax(0,1fr); gap: 28px; } .area-grid > div > p:not(.section-index),
  .faq-grid > div > p:not(.section-index), .about-grid > div:last-child > p:not(.section-index) { font-size:1.125rem; }
  .section-heading { gap: 28px; }
  .section-heading > p { font-size:1.0625rem; } .area-explorer, .contact form { padding: clamp(22px,4vw,36px); }
  .contact-panel { gap: 28px; padding: clamp(24px,4vw,36px); }
  .contact-number { font-size:clamp(2rem,4.32vw,2.5rem); overflow-wrap: anywhere; }
  .contact-panel p { font-size:1.125rem; }
  .contact-panel .message-preview p { font-size:1rem; }
  .region summary, .faq-list summary { font-size:1.0625rem; min-height: 56px; }
  .region ul, .faq-list details > p { font-size:1.0625rem; }
  .city-search > p, .city-search #city-search-status { font-size:1rem; }
  .area-grid .area-note { font-size:1rem !important; }
  .faq-contact > strong, .faq-contact p { font-size:1rem; }
  .editorial-placeholder { font-size:1rem; overflow-wrap: anywhere; }
}
@media (min-width:601px) and (max-width:1000px) {
  .form-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media (min-width:601px) and (max-width:900px) {
  .hero-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .hero-copy { max-width: 720px; }
  .hero h1 { font-size:clamp(3rem,6.804vw,3.75rem); }
  .hero-intro { font-size:1.25rem; max-width: 62ch; }
  .hero-facts { display: none; }
  .hero-photo { height: auto; aspect-ratio: 16 / 9; }
  .hero-photo > img { position: absolute; inset: 0; object-position: center 45%; }
  .hero-actions > .button, .hero-actions > .text-link { font-size:1rem; }
  .hero-note { font-size:1rem; }
  .hero-bottom { margin-top: 28px; }
}
@media (max-width:800px) {
  html { scroll-padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .section { padding-block: clamp(56px,8vw,72px); }
  .section-heading > p { padding: 20px; }
  .trust-strip strong { font-size:1rem; }
  .trust-strip small { font-size:0.875rem; }
  .hero-note { font-size:1rem; }
  .hero-actions > .button, .hero-actions > .text-link { font-size:1rem; }
  .fold-content p, .process-explorer .process-steps p { font-size:1.125rem; }
  .service-context p { font-size:1.0625rem; }
  .process-tabs button { font-size:1rem; }
  .process-explorer .process-steps > li { min-height: 0; }
  .process-explorer .step-topics > li { font-size:1rem; }
  .process-explorer .text-link { font-size:1.0625rem; }
  .process-invitation strong { font-size:1.125rem; }
  .process-invitation p { font-size:1rem; }
  .contact form > .submit-button { width: 100%; }
  .contact-panel .button, .process-bottom > .button { font-size:1rem; }
  .footer-grid > div > p, .footer-grid nav a, .footer-grid .social-link { font-size:1rem; }
  .footer-bottom { font-size:0.875rem; }
  .floating-contact { padding-left: max(18px, env(safe-area-inset-left)); padding-right: max(18px, env(safe-area-inset-right)); }
  .floating-contact > .button, .mobile-enquiry { font-size:1rem; min-height: 48px; }
  .service-fold summary { scroll-margin-top: 96px; }
}
@media (max-width:600px) {
  .process-tabs { flex-direction: column; gap: 8px; }
  .process-tabs button { display: grid; grid-template-columns: 26px minmax(0,1fr) 18px; align-items: center; gap: 12px; min-height: 56px; padding: 14px 16px; font-size:1.0625rem; }
  .process-tabs button .icon { display: block; }
  .process-explorer .step-top { padding-right: 56px; min-height: 40px; margin-bottom: 24px; font-size:0.875rem; }
  .process-numeral { font-size:4.25rem; top: 20px; right: 20px; }
  .process-explorer .process-steps h3 { font-size:clamp(1.8125rem,7.128vw,2.25rem); }
  .hero-photo { aspect-ratio: 4 / 3; }
  .hero-photo-caption span span { font-size:0.875rem; }
  .hero-photo-credit { font-size:0.875rem; }
  .hero-bottom { flex-wrap: wrap; } .area-explorer { padding: 22px 18px; }
  .region summary { padding: 15px 12px; }
  .about-brand { padding: 26px; }
  .process-bottom > .button { padding-inline: 16px; }
}
@media (max-height:500px) and (max-width:1000px) {
  .utility { display: none; }
  .header-inner { min-height: 66px; }
  .site-header .logo-frame { transform: scale(.85); transform-origin: left center; }
  .mobile-nav { max-height: calc(100dvh - 66px); padding-top: 8px; }
  .mobile-nav > a:not(.button) { padding-block: 10px; }
  .floating-contact { display: none; }
  html { scroll-padding-top: 80px; }
}

.captcha-panel { margin-block: 24px; }
.captcha-panel p { font-size: .875rem; line-height: 1.65; }
.captcha-panel .button { max-width: 100%; white-space: normal; }
#captcha-widget { margin-block: 16px; }

/* Ursprünglicher Ausschnitt des Unfallgutachter-Bildes. */
.hero-photo > img { object-position: 62% center; }

/* Dezente Navigationspunkte im Footer. */
.footer-grid nav a { gap: 10px; }
.footer-grid nav a::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #7dd3fc;
  transition: background-color .18s ease;
}
.footer-grid nav a:hover::before,
.footer-grid nav a:focus-visible::before { background: #fff; }

@media (min-width: 1001px) {
  .footer-grid { grid-template-columns: 1fr 1.05fr 1fr; }
}

/* Kontaktaktionen: zwei gleich große Buttons, mobil eine Spalte. */
.hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.hero-actions > .button { width: 100%; min-width: 0; min-height: 76px; padding: 14px 12px; gap: 10px; font-size: 1rem; }
.hero-actions > .button span { text-align: left; }
.hero-actions > .button small { display: block; margin-top: 3px; font-size: .8125rem; font-weight: 500; letter-spacing: .02em; }
.hero-actions > .button > .icon:last-child:not(:first-child) { display: none; }
.hero-actions > .text-link { grid-column: 1 / -1; justify-self: start; width: auto; border: 0; padding: 4px 0; min-height: 44px; background: transparent; }
@media (max-width: 800px) {
  .hero-actions { grid-template-columns: 1fr; }
  .hero-actions > .button { min-height: 72px; justify-content: center; }
}

.hero-actions > .button { min-height: 56px; }
@media (min-width: 801px) {
  .hero-actions > .button { min-height: 76px; }
}
@media (max-width: 800px) {
  .hero-actions > .button small { display: none; }
}

.about-actions { margin-block: 24px; }

.faq-contact .hero-actions > .button { font-size: 1rem; color: white; text-decoration: none; }

.faq-contact .hero-actions { grid-template-columns: 1fr; }

.faq-contact .hero-actions > .button { justify-content: flex-start; padding-inline: 22px; gap: 12px; }
.faq-contact .hero-actions > .button > .icon:first-child { width: 20px; height: 20px; flex: 0 0 20px; margin: 0; }
.faq-contact .hero-actions > .button > span { text-align: left; }

/* Einheitlich zentrierter Inhalt in den FAQ-Kontaktbuttons. */
.faq-contact .hero-actions > .button {
  display: grid;
  grid-template-columns: 20px 172px;
  justify-content: center;
  align-items: center;
  min-height: 68px;
  padding: 12px 16px;
  gap: 12px;
}
@media (max-width: 800px) {
  .faq-contact .hero-actions > .button { min-height: 56px; }
}

.contact-panel .contact-call { width: 100%; justify-content: flex-start; background: white; color: var(--navy); gap: 12px; }
.contact-panel .contact-call:hover { background: #e0f2fe; }
.contact-panel .contact-call small { display: block; font-size: .875rem; font-weight: 500; margin-top: 3px; }
.contact-panel .contact-call > .icon { flex: 0 0 19px; width: 19px; height: 19px; }

.footer-phone { margin-bottom: 16px; }
.footer-phone > .icon { color: #7dd3fc; }
