/* Shared improvements, loaded after the original theme. */
:root{--cyan:#087eae;--cyan-dark:#076a96}
img{max-width:100%;height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #076a96;outline-offset:4px}
button,select{font:inherit}
.mobile-services-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.9rem 1.25rem;border:0;border-bottom:1px solid var(--border-color);color:var(--text-muted);background:transparent;font:inherit;font-size:.95rem;text-align:left;cursor:pointer}
.mobile-services-toggle:after{content:'▾'}
.mobile-services-toggle[aria-expanded=true]:after{transform:rotate(180deg)}
[hidden]{display:none!important}
.hero>*{min-width:0}
.hero-h1{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.17}
.hero-project{overflow:hidden;background:#fff;border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-card)}
.hero-project img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}
.hero-project figcaption{padding:1.5rem;display:grid;gap:.4rem}
.hero-project figcaption strong{font-size:1.15rem}
.hero-project figcaption span{color:var(--text-muted)}
.hero-project a,.decision-guide a:not(.btn-main){color:var(--cyan-dark)}
.quick-paths{padding-top:0;padding-bottom:1rem}
.quick-paths h2{font-size:1.35rem;margin-bottom:1rem}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.quick-grid a{display:grid;gap:.5rem;padding:1.4rem;border:1px solid var(--border-color);border-radius:14px;background:#fff;text-decoration:none;color:var(--text-main)}
.quick-grid a:hover{border-color:var(--cyan)}
.quick-grid span{font-size:.95rem;color:var(--cyan-dark)}
.mobile-contact-bar{display:none}
.form-group input,.form-group textarea,.form-group select{font-size:16px;min-height:48px;width:100%;padding:.8rem 1rem;border:1px solid #aebfcc;border-radius:8px;background:#fff;color:var(--text-main);font-family:var(--font-main)}
.form-group input[type=checkbox]{width:20px;min-height:20px;height:20px;flex-shrink:0;accent-color:var(--cyan)}
.privacy-consent label{display:block;font-family:var(--font-main);font-size:.88rem}
.privacy-consent input{vertical-align:middle;margin-right:.5rem}
.privacy-consent a{color:var(--cyan-dark)}
.form-intro{margin-bottom:1.25rem;color:var(--text-muted)}
#upit{scroll-margin-top:110px}
.form-status:not(:empty){padding:1rem;margin-top:1rem;border-radius:8px;background:#edf6fb;color:#174664}
.form-status[data-state=error]{background:#fff1f0;color:#8c241d}
.form-status[data-state=success]{background:#edf8f0;color:#205d36}
.form-status a{color:inherit;text-decoration:underline}
.btn-submit:disabled{opacity:.65;cursor:wait}
.decision-guide{margin:2rem 0;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--border-color);border-radius:14px;background:#f2f9ff}
.decision-guide h2{margin-bottom:1.3rem}
.decision-guide h3{margin:1.2rem 0 .5rem;font-size:1.1rem}
.decision-guide p{color:var(--text-muted)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;counter-reset:steps;margin:2rem 0}
.steps li{counter-increment:steps;display:grid;align-content:start;gap:.35rem}
.steps li:before{content:counter(steps,decimal-leading-zero);font-weight:800;color:var(--cyan)}
.steps span{font-size:.9rem;color:var(--text-muted)}
.reviews-toggle{display:none;cursor:pointer;margin:1.5rem auto 0}
.analytics-preferences{display:block;margin:1rem auto;border:0;background:none;color:var(--text-muted);font-size:.85rem;text-decoration:underline;cursor:pointer;padding:.5rem}
.analytics-notice{position:fixed;z-index:1100;left:1rem;bottom:1rem;width:min(420px,calc(100% - 2rem));padding:1.25rem;border:1px solid #b8cfde;border-radius:14px;background:#fff;box-shadow:0 8px 40px #1234;max-height:70dvh;overflow:auto;font-size:.9rem}
.analytics-notice p{margin:.5rem 0 1rem}
.analytics-notice a{color:var(--cyan-dark)}
.analytics-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.analytics-actions button{flex:1;min-height:44px;padding:.6rem;border:1px solid var(--cyan-dark);border-radius:8px;background:#fff;color:var(--cyan-dark);cursor:pointer}
.analytics-actions button:hover{background:#edf6fb}
.contact-layout>div{min-width:0}
.c-val{overflow-wrap:anywhere}
@media(max-width:992px){
 .mobile-contact-bar{display:grid;grid-template-columns:1fr 1.3fr;gap:.6rem;position:fixed;z-index:1050;left:0;right:0;bottom:0;padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #cfdfeb;box-shadow:0 -4px 20px #1231}
 .mobile-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem;border:1px solid var(--cyan-dark);border-radius:9px;text-decoration:none;color:var(--cyan-dark);font-weight:700;text-align:center;font-size:.95rem}
 .mobile-contact-bar a:last-child{background:var(--cyan-dark);color:#fff}
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .analytics-notice{bottom:calc(88px + env(safe-area-inset-bottom))}
 .mobile-nav{max-height:calc(100dvh - 165px)!important}
 header .lang-btn{min-width:32px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:.7rem}
 .burger{min-width:44px;min-height:44px}
 .hero-project{max-width:650px}
}
@media(max-width:768px){
 .contact-layout>div:first-child{order:2}
 .contact-layout>div:last-child{order:1}
 .quick-grid,.steps{grid-template-columns:1fr}
 .section-inner form{padding:1.25rem!important}
 .hero-btns{display:grid;grid-template-columns:1fr;width:100%;gap:.75rem}
 .hero-btns a{text-align:center;justify-content:center}
 .hero{padding-top:125px;gap:1.5rem}
 .hero-p{font-size:1rem;line-height:1.7;margin-bottom:1.5rem}
 .hero-h1{text-wrap:balance}
 .page-hero{padding-top:125px}
 .hero-project img{aspect-ratio:1.8}
 .hero-project figcaption{padding:1rem}
 .reviews-grid.is-collapsible:not(.is-expanded) .review-card:nth-child(n+4){display:none}
 .reviews-toggle.is-ready{display:block}
 .reviews-score{flex-wrap:wrap}
 .btn-main,.btn-secondary,.btn-primary,.btn-outline{min-height:48px}
}
@media(max-width:380px){
 header .nav-container{gap:.3rem;padding-left:.6rem;padding-right:.6rem}
 header .logo-img{max-width:100px}
 header .lang-switcher{gap:0}
 header .lang-btn{min-width:27px;padding:.2rem;font-size:.65rem}
 .hero-h1{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.footer-business-details{display:inline-block;margin-top:1rem;color:var(--text-muted);font-size:.9rem;text-decoration:none}.business-details{margin:1.5rem 0}.business-row{display:grid;grid-template-columns:170px 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--border-color)}.business-row dt{font-weight:700}.business-row dd{margin:0;overflow-wrap:anywhere}.hero-btns{flex-wrap:wrap}@media(max-width:600px){.business-row{grid-template-columns:1fr;gap:.25rem}}

.business-card{margin-top:1.25rem;background:#fff;border:1px solid var(--border-color);border-radius:10px;padding:1.25rem;scroll-margin-top:100px}.business-card h3{font-size:1rem;margin:0 0 .6rem}.business-card .business-details{margin:0}.business-card .business-row{grid-template-columns:85px minmax(0,1fr);gap:.65rem;padding:.65rem 0;font-size:.84rem}.spam-refresh{align-self:flex-start;background:transparent;border:0;color:var(--cyan-dark);text-decoration:underline;cursor:pointer;padding:.5rem 0;font:inherit;font-size:.85rem}#spam-help{display:block;font-size:.8rem}
