:root{--primary:#23445b;--primary-dark:#173448;--accent:#d4ac72;--text:#203444;--muted:#536471;--paper:#fff;--soft:#f3f6f6;--line:#dce5e6;font-family:Assistant,"Arial",sans-serif;color:var(--text);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65}a{color:inherit}button,input,textarea{font:inherit}.wrap{width:min(1140px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip-link:focus{clip:auto;clip-path:none;z-index:1000;top:10px;right:10px;width:auto;height:auto;padding:10px 18px;background:#fff;color:var(--primary);border:2px solid var(--primary)}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--primary-dark);font-size:20px;font-weight:700;line-height:1.2}.brand small{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-top:4px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--primary);color:#fff;font-size:25px}.site-header nav{display:flex;gap:30px}.site-header nav a,.footer-links a{text-decoration:none}.site-header nav a:hover,.footer-links a:hover{text-decoration:underline}.header-phone{color:var(--primary-dark);font-weight:700;text-decoration:none;white-space:nowrap}.hero{background:#eaf0f1;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:520px;align-items:center;gap:55px}.hero-copy{padding-block:70px}.eyebrow{margin:0 0 14px;color:var(--primary-dark);font-weight:700;letter-spacing:.03em}.hero h1{font-size:clamp(44px,5vw,72px);line-height:1.1;letter-spacing:-.03em;margin:0 0 12px;color:var(--primary-dark)}.hero-subtitle{font-size:clamp(23px,2.5vw,34px);font-weight:600;line-height:1.3;margin:0 0 25px}.hero-summary{font-size:19px;max-width:560px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:4px;background:var(--primary);color:#fff;font-weight:700;text-decoration:none;padding:13px 27px;min-height:49px;cursor:pointer}.button:hover{background:var(--primary-dark)}.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.text-link{font-weight:700;text-underline-offset:5px}.hero-phone{font-size:22px;font-weight:700;color:var(--primary-dark)}.hero-art{height:420px;display:grid;place-items:end center}.art-arch{height:100%;width:min(100%,440px);border-radius:230px 230px 0 0;background:linear-gradient(155deg,#dce8e8,#a6bec5);position:relative;overflow:hidden}.art-arch:before{content:"";position:absolute;width:65%;height:75%;border-radius:50% 50% 0 0;bottom:-8%;left:20%;background:rgba(255,255,255,.37)}.art-line{position:absolute;border:2px solid rgba(35,68,91,.3);border-radius:50%;transform:rotate(-25deg)}.art-line-one{width:450px;height:260px;left:-60px;top:40px}.art-line-two{width:550px;height:320px;left:-80px;top:110px}.art-circle{position:absolute;width:115px;height:115px;border-radius:50%;background:rgba(255,255,255,.45);right:35px;top:55px}.section{padding:85px 0}.section-light{background:var(--soft)}h2{font-size:clamp(30px,3vw,42px);line-height:1.25;color:var(--primary-dark);margin:0 0 25px}h3{font-size:23px;line-height:1.3;color:var(--primary-dark);margin:0 0 12px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.service-card{background:#fff;border:1px solid var(--line);padding:30px;min-height:230px}.service-card p{margin:0;font-size:17px}.service-number{color:var(--primary-dark);font-size:14px;letter-spacing:.13em;display:block;margin-bottom:23px}.about-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:90px;align-items:center}.about-grid p{font-size:18px}.about-note{background:var(--primary);color:#fff;padding:36px;min-height:300px}.about-note p{font-size:22px;line-height:1.5}.about-note span:last-child{font-size:15px}.quote-mark{font-size:70px;line-height:1}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact-grid>div>p:not(.eyebrow){font-size:18px}.contact-detail{margin-top:28px;display:grid;gap:3px}.contact-detail strong{color:var(--primary-dark)}.contact-detail a{width:fit-content}.contact-form{background:#fff;padding:35px;border:1px solid var(--line);display:grid;gap:10px}.contact-form label{font-weight:700}.contact-form input,.contact-form textarea{border:1px solid #9eafb7;border-radius:3px;padding:10px 12px;background:#fff;color:var(--text);width:100%}.contact-form textarea{resize:vertical}.contact-form button{margin-top:10px}.site-footer{background:var(--primary-dark);color:#fff;padding:45px 0}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner p{margin:7px 0 0}.footer-links{display:flex;flex-wrap:wrap;gap:14px 22px;align-content:start}.quick-actions{position:fixed;left:15px;bottom:15px;display:flex;gap:6px;z-index:10}.quick-actions a{background:var(--primary-dark);color:#fff;padding:9px 13px;border-radius:4px;text-decoration:none;font-weight:700;font-size:14px}.page-simple{min-height:60vh;padding:100px 0}.page-simple p{font-size:19px;max-width:720px}.legal-content{max-width:820px;margin:auto;padding:50px 20px}.legal-content h1{font-size:38px}.legal-content h2{font-size:26px;margin-top:35px}@media(max-width:900px){.header-inner{flex-wrap:wrap;padding:15px 0}.site-header nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:12px}.hero-grid{gap:20px}.hero-art{height:330px}.about-grid,.contact-grid{gap:35px}}@media(max-width:650px){.wrap{width:min(100% - 30px,1140px)}.header-inner{gap:14px}.brand{font-size:17px}.brand small{font-size:11px}.brand-mark{width:36px;height:36px;font-size:22px}.header-phone{font-size:14px}.site-header nav{gap:15px;font-size:14px}.hero-grid,.service-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:0}.hero-copy{padding:55px 0 15px}.hero-art{height:200px;place-items:end center}.art-arch{width:80%;max-width:300px}.hero-actions{gap:15px;flex-wrap:wrap}.section{padding:60px 0}.service-card{min-height:0;padding:25px}.about-note{min-height:0}.contact-form{padding:22px}.footer-inner{display:block}.footer-links{margin-top:22px;display:grid;gap:9px}.quick-actions{left:8px;bottom:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Stage 3: responsive and readability retrofit. */
html,body{max-width:100%}
body{overflow-x:clip}
img,svg,iframe{max-width:100%}
.service-number,.site-header nav{font-size:16px}
.contact-form input,.contact-form textarea{min-height:44px}
@media(max-width:650px){.header-inner{align-items:start}.site-header nav{justify-content:space-between;gap:8px;overflow-wrap:anywhere}.hero-summary{font-size:18px}.quick-actions a{font-size:16px}}

/* QA fixes: readable hero and contained legal text. */
.hero h1{line-height:1.3}
.hero-subtitle{line-height:1.45}
body .legal-container{width:100%;max-width:780px;min-width:0;overflow-wrap:anywhere;word-break:break-word}
body .legal-container *{max-width:100%}
