/* /assets/css/style.css */
:root{--navy:#101d2e;--navy-soft:#1c2c41;--orange:#ffab45;--orange-light:#ffe2bb;--ink:#17283b;--muted:#586779;--line:#dfe5ec;--paper:#f5f7fa;--radius:18px;--width:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font:16px/1.75 "Segoe UI",Arial,Helvetica,sans-serif;color:var(--ink);background:white;-webkit-font-smoothing:antialiased}
a{color:#225478;text-underline-offset:.24em}
a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible{outline:3px solid #c26900;outline-offset:5px}
p{margin:0 0 1.25rem}
h1,h2,h3{font-weight:750;line-height:1.14;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.5rem,4.3vw,4.5rem);margin:1.25rem 0 1.5rem;max-width:760px}
h2{font-size:clamp(1.7rem,2.7vw,2.7rem);margin:0 0 1.5rem;max-width:890px}
h3{font-size:1.4rem;margin:1.25rem 0 .8rem}
.skip{position:absolute;top:-100px;left:1rem;z-index:20;padding:.75rem;background:white}
.skip:focus{top:1rem}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.topline{background:var(--navy);color:#d4dfeb;font-size:.75rem;letter-spacing:.025em;padding:9px max(24px,calc((100vw - var(--width))/2));display:flex;justify-content:space-between;gap:16px}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:8px}
.header-inner{max-width:var(--width);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);flex-shrink:0}
.brand img{width:45px;height:45px;border-radius:12px}
.brand strong{display:block;font-size:1.05rem;letter-spacing:.015em;line-height:1.2}
.brand small{display:block;font-size:.68rem;letter-spacing:.28em;color:var(--muted);line-height:1.7}
nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 20px}
nav a{font-size:.8rem;font-weight:650;text-decoration:none;color:var(--ink);padding:7px 0;white-space:nowrap;border-bottom:2px solid transparent}
nav a:hover{color:#a25300;border-bottom-color:var(--orange)}
.header-call{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);flex-shrink:0;border-left:1px solid var(--line);padding-left:22px;line-height:1.5}
.header-call small{font-size:.68rem;font-weight:650;color:#87603b}
.header-call strong{font-size:.97rem;letter-spacing:-.025em}
main{overflow:clip}
.hero{position:relative;color:#fff;background:radial-gradient(ellipse at 85% 20%,#344256 0,transparent 52%),var(--navy);isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background-image:linear-gradient(#c7d4e4 1px,transparent 1px),linear-gradient(90deg,#c7d4e4 1px,transparent 1px);background-size:96px 96px;z-index:-1}
.hero-inner{max-width:var(--width);margin:auto;display:grid;grid-template-columns:1.14fr 1fr;align-items:center;gap:70px;padding:80px 0 90px}
.hero-copy{min-width:0}
.eyebrow{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--orange);margin:0}
.hero .eyebrow{display:inline-flex;align-items:center;gap:9px;line-height:1.5;border:1px solid #657386;padding:8px 12px;border-radius:100px}
.hero .eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0}
.hero-lead{font-size:1.02rem;line-height:1.85;max-width:650px;color:#cfdae6;margin-bottom:25px}
.hero-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:52px;padding:15px 22px;background:var(--orange);color:var(--navy);font-size:.88rem;font-weight:750;border:1px solid var(--orange);border-radius:9px;text-decoration:none;line-height:1.4;transition:background .18s,transform .18s;max-width:100%;text-align:center}
.button:after{content:"↗";font-size:1.25rem;line-height:1;flex-shrink:0}
.button:hover{background:#ffc17a;transform:translateY(-2px)}
.secondary{background:transparent;color:white;border-color:#728196;font-weight:650}
.secondary:hover{background:#2b3b50}
.hero-hours{margin:18px 0 0;color:#d7e3ef;font-size:.77rem}
.hero-hours strong{color:var(--orange);font-weight:650}
.hero-visual{position:relative;min-width:0;margin:0;padding:12px;background:#ffffff0b;border:1px solid #ffffff26;border-radius:24px;transform:rotate(1.5deg)}
.hero-visual>img{display:block;width:100%;height:370px;object-fit:cover;border-radius:14px}
.hero-visual figcaption{padding:14px 5px 3px;display:flex;align-items:center;justify-content:space-between;color:#c8d5e3;gap:14px;font-size:.7rem;letter-spacing:.02em}
.visual-tag{position:absolute;left:-25px;bottom:74px;background:#fff;box-shadow:0 10px 35px #020d2260;color:var(--ink);padding:17px 23px;border-radius:12px;transform:rotate(-1.5deg);line-height:1.4}
.visual-tag strong{display:block;font-size:1.7rem;letter-spacing:-.05em}
.visual-tag span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.visual-badge{font-size:.65rem;font-weight:700;color:var(--orange-light);border:1px solid #ffffff40;padding:3px 8px;border-radius:20px;white-space:nowrap}
.hero-legal .hero-inner{display:block;max-width:960px;padding:60px 0}
.hero-legal h1{font-size:clamp(2.5rem,4vw,3.8rem)}
.proof-strip{background:#f0f3f7;border-bottom:1px solid var(--line)}
.proof-inner{max-width:var(--width);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0;gap:28px}
.proof-item{display:flex;align-items:center;gap:13px;font-size:.8rem;color:var(--muted)}
.proof-item:before{content:"✓";display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;border:1px solid #c4cedb;border-radius:50%;color:#315672;font-weight:700}
.proof-item strong{display:block;color:var(--ink);font-size:.88rem}
.section{max-width:var(--width);margin:0 auto;padding:80px 0;border-bottom:1px solid var(--line)}
.section:last-of-type{border-bottom:0}
.section>p{max-width:990px}
.section>h2:not(:first-child){margin-top:2.25rem}
.section>h2:first-child:before,.split>div>h2:first-child:before{content:"";display:block;width:34px;height:4px;background:var(--orange);border-radius:3px;margin-bottom:18px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px;counter-reset:services}
.card{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(140deg,#f8fafc,#fff);min-width:0}
.cards .card{position:relative;display:flex;flex-direction:column;counter-increment:services;transition:box-shadow .2s,border-color .2s}
.cards .card:before{content:"0" counter(services);font-size:.78rem;font-weight:700;letter-spacing:.05em;color:#788899;padding-bottom:25px}
.cards .card h3{margin-top:0;max-width:260px;font-size:1.6rem}
.cards .card p{font-size:.91rem;color:var(--muted);margin-bottom:30px}
.cards .card a{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.83rem;font-weight:700;text-decoration:none;padding-top:20px;border-top:1px solid var(--line)}
.cards .card a:after{content:"↗";color:#ab5700;font-size:1.3rem}
.cards .card:hover{border-color:#b8c7d6;box-shadow:0 16px 42px #17283b0d}
.cards .card:first-child{background:var(--navy);color:white;border-color:var(--navy)}
.cards .card:first-child:before{color:var(--orange)}
.cards .card:first-child p{color:#becddc}
.cards .card:first-child a{color:var(--orange);border-color:#3d4e64}
.cards .card:first-child a:after{color:var(--orange)}
.split{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:90px}
.split>div{min-width:0}
figure{margin:0}
img{max-width:100%;height:auto}
.split img{display:block;width:100%;max-height:440px;object-fit:contain;background:var(--paper);border-radius:var(--radius);padding:10px;border:1px solid var(--line)}
figcaption{font-size:.72rem;color:var(--muted);margin-top:11px}
ul{padding-left:1.35rem;margin:1.25rem 0}
li{margin-bottom:.65rem}
li::marker{color:#a96114}
.city-links{columns:2;column-gap:30px;padding:0;list-style:none}
.city-links li{break-inside:avoid;margin:0 0 12px}
.city-links a{display:block;border:1px solid var(--line);padding:13px 18px;border-radius:10px;font-size:.87rem;font-weight:650;text-decoration:none;background:var(--paper)}
.city-links a:hover{border-color:var(--orange)}
.region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}
.region-grid a{border:1px solid var(--line);border-radius:13px;padding:22px 19px;font-size:.98rem;font-weight:700;text-decoration:none;color:var(--ink);background:var(--paper);line-height:1.5}
.region-grid span{display:block;font-size:.7rem;font-weight:650;letter-spacing:.08em;color:#a15a12;margin-bottom:15px}
.region-grid a:hover{border-color:var(--orange);background:#fff7ed}
details{border-bottom:1px solid var(--line);padding:22px 0}
summary{cursor:pointer;font-weight:650;font-size:1.05rem}
details p{margin:15px 0 0;color:var(--muted)}
address{font-style:normal;margin-bottom:1.25rem}
.contact-number{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;text-decoration:none;white-space:nowrap}
.cta{margin:20px auto 80px;max-width:var(--width);padding:55px 60px;background:var(--navy);color:white;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;overflow:hidden}
.cta:before{content:"";position:absolute;right:-70px;top:-150px;width:400px;height:400px;border:1px solid #ffffff13;border-radius:50%;pointer-events:none}
.cta-copy{position:relative;max-width:610px}
.cta h2{font-size:clamp(1.8rem,2.8vw,2.8rem);margin:12px 0 15px;color:white}
.cta-copy>p:last-child{margin:0;color:#c2cfde;font-size:.83rem}
.cta-actions{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px}
.cta-actions .button{font-size:1.12rem;white-space:nowrap;padding:19px 24px}
.cta-actions>span{font-size:.75rem;color:#c2cfde}
.site-footer{background:#f1f4f8;border-top:1px solid var(--line);padding:55px max(24px,calc((100vw - var(--width))/2)) 24px;color:var(--muted);font-size:.83rem}
.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-bottom:35px}
.footer-brand{font-size:1.15rem;font-weight:800;letter-spacing:-.025em;color:var(--navy);margin-bottom:13px}
.footer-contact{text-align:right}
.footer-phone{font-size:1.6rem;letter-spacing:-.03em;font-weight:750;color:var(--navy);text-decoration:none}
.footer-hours{font-size:.77rem;font-weight:650;color:#73552c;margin:4px 0 8px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d6dde6;padding-top:20px;font-size:.72rem}
.footer-bottom p{margin:0}
.site-footer a:not(.footer-phone){color:var(--muted)}
@media(max-width:1320px){.header-inner,.hero-inner,.proof-inner,.section{margin-left:32px;margin-right:32px}.cta{margin-left:32px;margin-right:32px}.header-inner{gap:20px}nav{gap:7px 14px}.hero-inner{gap:45px}.split{gap:50px}}
@media(max-width:1050px){.header-inner{flex-wrap:wrap}.header-call{margin-left:auto}nav{order:3;width:100%;justify-content:flex-start}.hero-inner{grid-template-columns:1.1fr 1fr;gap:35px;padding:60px 0}.hero-visual>img{height:320px}h1{font-size:3.1rem}.visual-tag{left:-14px}.cta{padding:40px}.cards .card{padding:24px}.split{gap:35px}.cards .card h3{font-size:1.35rem}}
@media(max-width:760px){
  .site-header{position:relative}.topline{padding:9px 20px;font-size:.67rem}.topline>span:last-child{display:none}
  .header-inner{padding:17px 0 14px;margin:0 20px;gap:13px}.brand{gap:8px}.brand img{width:38px;height:38px}.brand strong{font-size:.9rem}.brand small{font-size:.6rem}.header-call{padding-left:12px}.header-call small{font-size:.6rem}.header-call strong{font-size:.78rem}nav{gap:0 18px}nav a{font-size:.75rem;padding:7px 0}
  .hero-inner{margin:0 22px;grid-template-columns:1fr;padding:42px 0 48px;gap:35px}.hero .eyebrow{font-size:.62rem;letter-spacing:.1em}.hero-lead{font-size:.93rem;line-height:1.85}h1{font-size:clamp(2.3rem,8.3vw,3.5rem);line-height:1.13;margin-top:22px}.hero-actions{gap:10px}.hero-actions .button{font-size:.8rem;padding:14px 17px}.hero-hours{font-size:.73rem;max-width:310px}
  .hero-visual{margin:0 5px;transform:none;border-radius:19px}.hero-visual>img{height:250px}.visual-tag{left:-12px;bottom:55px;padding:12px 18px;transform:none}.visual-tag strong{font-size:1.3rem}.visual-tag span{font-size:.6rem}.hero-visual figcaption{font-size:.62rem;padding:10px 2px 0}
  .hero-legal .hero-inner{padding:40px 0}.hero-legal h1{font-size:2.6rem}
  .proof-inner{margin:0 22px;grid-template-columns:1fr;gap:14px;padding:22px 0}.proof-item{font-size:.72rem;line-height:1.5}.proof-item strong{font-size:.82rem}.proof-item:before{width:25px;height:25px}
  .section{padding:48px 0;margin:0 22px}.section h2{font-size:1.85rem}body{font-size:.95rem}.cards,.split{grid-template-columns:1fr;gap:22px}.cards{margin-top:26px}.card,.cards .card{padding:27px}.cards .card h3{font-size:1.6rem;max-width:none}.cards .card:before{padding-bottom:17px}.cards .card p{margin-bottom:20px}.split img{max-height:390px}
  .city-links{columns:1}.region-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.region-grid a{font-size:.85rem;padding:18px 14px}.cta{margin:12px 16px 48px;padding:32px 25px;display:block;border-radius:18px}.cta h2{font-size:2rem}.cta-actions{align-items:flex-start;margin-top:25px}.cta-actions .button{font-size:1.05rem;padding:16px 23px}.cta-copy>p:last-child{font-size:.78rem}
  .site-footer{padding:36px 22px 25px}.footer-inner{grid-template-columns:1fr;gap:16px;padding-bottom:25px}.footer-contact{text-align:left}.footer-bottom{flex-direction:column;gap:12px}.footer-phone{font-size:1.5rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.cards .card{transition:none}.button:hover{transform:none}}
