:root{--primary:#173f70;--primary-dark:#102d50;--accent:#0c6c84;--text:#17253a;--muted:#596a7d;--paper:#fff;--surface:#f5f8fb;--line:#dce5ec;--gold:#70572f;--radius:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);background:var(--paper);font:400 17px/1.75 Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--primary)}
a:hover{color:#0c6583}
button,input,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #d39b28;outline-offset:3px}
.container{width:min(1160px,calc(100% - 44px));margin-inline:auto}
.narrow{width:min(800px,100%)}
.skip-link{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;z-index:2147483647;top:12px;right:12px;width:auto;height:auto;clip-path:none;padding:10px 18px;background:#fff;color:var(--primary);border:2px solid var(--primary);border-radius:8px}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 5px 28px #102d500a}
.header-inner{min-height:89px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;flex:none}
.brand img{width:206px;height:auto}
.site-nav{display:flex;align-items:center;gap:26px;margin-inline:auto}
.site-nav a{text-decoration:none;color:var(--text);font-weight:600;font-size:.94rem;white-space:nowrap}
.site-nav a:hover{color:var(--accent)}
.header-phone{direction:ltr;text-decoration:none;color:var(--primary);font-weight:800;white-space:nowrap}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;color:var(--primary);border-radius:8px;width:44px;height:44px;font-size:1.4rem}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.25}
h1{font-size:clamp(2.4rem,5vw,4.5rem);font-weight:800;letter-spacing:-.035em}
h2{font-size:clamp(1.9rem,3.3vw,3rem);font-weight:800;letter-spacing:-.025em}
h3{font-size:1.32rem;font-weight:700}
.eyebrow{font-size:.9rem;letter-spacing:.14em;color:#1c6279;font-weight:800;text-transform:uppercase;margin-bottom:18px}
.section{padding:86px 0}
.section-intro{max-width:720px;color:var(--muted);font-size:1.12rem;margin-bottom:36px}
.hero{background:linear-gradient(122deg,#f5f8fb 0%,#edf3f8 48%,#dfeaf1 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px;min-height:610px}
.hero-copy{padding:70px 0}
.hero-copy h1{color:var(--primary-dark);margin-bottom:10px}
.hero-subtitle{font-size:1.45rem;font-weight:700;color:var(--accent);margin-bottom:22px}
.hero-copy>p:not(.eyebrow):not(.hero-subtitle){max-width:630px;color:#40546a;font-size:1.1rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 25px;text-decoration:none;border-radius:9px;font-weight:700;transition:transform .2s,background-color .2s,border-color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--primary);border:2px solid var(--primary);color:#fff}
.button-primary:hover{background:var(--primary-dark);color:#fff}
.button-outline{border:2px solid var(--primary);background:transparent;color:var(--primary)}
.button-outline:hover{background:#e3edf5}
.hero-media{align-self:end;position:relative}
.hero-media:before{content:"";position:absolute;inset:12% -8% -5% 10%;background:#aec7d8;border-radius:50% 50% 0 0;opacity:.55}
.hero-media img{position:relative;display:block;width:min(480px,100%);max-height:545px;object-fit:cover;object-position:center 18%;border-radius:48% 48% 0 0;box-shadow:0 24px 65px #173f7022}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:0 6px 28px #173f7009}
.service-card h3{color:var(--primary);margin:13px 0 9px}
.service-card p{color:var(--muted);margin:0}
.card-mark{font:700 .8rem Arial,sans-serif;color:var(--gold);letter-spacing:.14em}
.about-section{background:var(--surface)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.about-grid p:not(.eyebrow){color:var(--muted)}
.about-art img{border-radius:var(--radius);width:100%;object-fit:cover;box-shadow:20px 20px 0 #d8e5ee}
.text-link{display:inline-block;text-decoration:none;font-weight:800;color:var(--primary)}
.text-link:hover{text-decoration:underline}
.recommendations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.recommendations-grid img{width:100%;max-height:380px;object-fit:contain;background:#f7f7f7;border:1px solid var(--line);border-radius:12px;padding:10px}
.blog-preview{background:var(--surface)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;min-height:230px}
.blog-card .eyebrow{font-size:.88rem;margin-bottom:9px}
.blog-card h3{margin-bottom:12px}
.blog-card h3 a{text-decoration:none;color:var(--primary)}
.blog-card p{color:var(--muted);font-size:1rem}
.blog-card .text-link{margin-top:auto}
.contact-section{background:var(--primary-dark);color:#fff}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.contact-section .eyebrow{color:#9ed6e3}
.contact-section h2{color:#fff}
.contact-section p{color:#dce9f1}
.contact-phone{font-weight:800;color:#fff;font-size:1.6rem;text-decoration:none}
.contact-form{background:#fff;color:var(--text);border-radius:var(--radius);padding:30px;box-shadow:0 22px 50px #0002}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form label{display:block;font-weight:700;font-size:.93rem}
.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:1px solid #b8c9d7;border-radius:8px;padding:10px 13px;background:#fff;margin-top:5px;color:var(--text)}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary)}
.message-label{grid-column:1/-1}
.contact-form .consent{display:flex;align-items:start;gap:9px;font-weight:400;font-size:.86rem;margin:18px 0}
.contact-form .consent input{margin-top:7px;flex:none}
.contact-form button{width:100%}
.article-main{padding:55px 0 90px}
.breadcrumbs{font-size:.84rem;color:var(--muted);margin-bottom:34px}
.breadcrumbs a{text-decoration:none}
.article-main h1{font-size:clamp(2rem,4vw,3.3rem);margin-bottom:28px}
.prose{font-size:1.08rem;line-height:1.9}
.prose h2{font-size:1.7rem;margin-top:38px;color:var(--primary)}
.prose h3{margin-top:30px;color:var(--primary)}
.prose p,.prose li{color:#33465b}
.prose ul{padding-right:24px}
.article-cta{margin-top:60px;padding:28px;background:var(--surface);border-right:4px solid var(--accent);border-radius:12px}
.article-cta h2{font-size:1.5rem}
.thanks{text-align:center;min-height:35vh;display:flex;flex-direction:column;align-items:center;justify-content:center}
.site-footer{background:#10283f;color:#e9f1f7;padding-top:55px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .9fr;gap:55px}
.site-footer strong{font-size:1.25rem}
.site-footer h2{font-size:1.125rem;color:#fff}
.site-footer p{color:#cbd7e1;font-size:.92rem}
.site-footer a{color:#e9f1f7;text-decoration:none;display:block;margin-bottom:6px}
.site-footer a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid #ffffff24;padding:20px 0;margin-top:36px;font-size:.82rem;color:#b7c7d4}
.fab-container{position:fixed;bottom:24px;left:24px;z-index:2147483000;display:flex;flex-direction:column;gap:12px;pointer-events:none}
.fab{pointer-events:auto;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0004;transition:transform .2s,box-shadow .2s;text-decoration:none;color:#fff;font-weight:800}
.fab:hover{transform:scale(1.1);box-shadow:0 6px 18px #0005;color:#fff}
.fab.wa{background:#167a3e;font-size:.78rem}
.fab.call{background:var(--primary)}
@media(max-width:950px){.header-inner{gap:16px}.site-nav{gap:15px}.site-nav a{font-size:.84rem}.brand img{width:158px}.hero-grid{gap:30px}.contact-grid{gap:35px}}
@media(max-width:760px){.container{width:min(100% - 30px,1160px)}.header-inner{min-height:72px;justify-content:space-between}.brand img{width:150px}.menu-toggle{display:block;margin-right:auto}.header-phone{font-size:.85rem}.site-nav{display:none;position:absolute;top:100%;right:0;left:0;background:#fff;border-bottom:1px solid var(--line);padding:16px 25px;box-shadow:0 12px 24px #0002}.site-nav.open{display:flex;flex-direction:column;align-items:stretch}.site-nav a{font-size:1rem;padding:8px 0}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:56px 0 30px}.hero-media img{max-height:380px;width:min(370px,100%);margin:auto}.hero-media:before{inset:15% 10% 0}.section{padding:65px 0}.services-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-grid{grid-template-columns:1fr}.about-grid{gap:30px}.recommendations-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr);gap:25px}}
@media(max-width:530px){body{font-size:16px}.header-phone{display:none}.hero-copy h1{font-size:2.65rem}.services-grid,.blog-grid,.recommendations-grid,.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column}.contact-form{padding:20px}.fab{width:48px;height:48px}.fab-container{bottom:16px;left:16px}.article-main{padding:32px 0 65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.contact-section .contact-form .form-notice{color:var(--muted);font-size:1rem;line-height:1.6;margin:18px 0}
.contact-form .form-notice a{color:var(--primary);text-decoration:underline}
.map-embed{margin-top:22px;border-radius:var(--radius);overflow:hidden;background:#dce9f1}
.map-embed iframe{display:block;width:100%;height:300px;border:0}
