:root{--navy:#14263d;--navy2:#1d3556;--steel:#4b5a6b;--bg:#ffffff;--soft:#f3f5f8;--line:#dde2e8;--accent:#b4873a;--ink:#14263d;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(120px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Open Sans','Helvetica Neue',Arial,sans-serif;font-size:clamp(16px,1.1vw + 11px,18px);line-height:1.65}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--navy);z-index:30}
img,svg{max-width:100%}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 clamp(18px,4vw,32px)}
h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.01em;font-weight:600}
b{font-weight:600}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:#fff;box-shadow:0 1px 0 var(--line)}
.topbar{background:var(--navy);color:#e8edf3;font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:42px;flex-wrap:wrap;padding-top:5px;padding-bottom:5px}
.lic b{color:#fff;font-weight:600}
.lic em{font-style:normal;color:#d9b56f;font-weight:600;margin-left:6px}
.quote{display:inline-block;text-align:center;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;font-size:13.5px;padding:8px 18px;white-space:nowrap}
.quote:hover{background:#c49445}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy)}
.logo svg{width:clamp(46px,8vw,56px);height:auto;aspect-ratio:1;flex:none}
.logo-name{display:block;font-weight:600;font-size:clamp(19px,3vw,25px);line-height:1;letter-spacing:.02em;text-transform:uppercase}
.logo-sub{display:block;font-weight:600;font-size:clamp(9.5px,1.4vw,11.5px);letter-spacing:.3em;color:var(--accent);margin-top:6px;text-transform:uppercase}
nav{display:flex;gap:clamp(18px,3vw,36px)}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;background:#fff;border:1px solid var(--line);cursor:pointer}
.burger span{display:block;height:2px;background:var(--navy);transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
nav a{color:var(--navy);text-decoration:none;font-weight:500;font-size:15.5px;padding:6px 0;border-bottom:2px solid transparent}
nav a:hover{border-color:var(--accent)}
.hero{background:linear-gradient(180deg,#f7f9fb,#eaeef3);position:relative;overflow:hidden;padding:clamp(64px,10vw,128px) 0}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.55;-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000);mask-image:linear-gradient(90deg,transparent 35%,#000)}
.hero .wrap{position:relative}
.eyebrow{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.hero h1{font-size:clamp(34px,6vw,64px);font-weight:600;max-width:14ch;margin-bottom:20px}
.hero p{max-width:54ch;color:var(--steel);font-size:clamp(17px,1.3vw + 11px,20px);margin:0 0 32px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;font-size:16px;padding:15px 28px;border:2px solid var(--navy)}
.btn:hover{background:var(--navy2)}
.btn.alt{background:transparent;color:var(--navy)}
.btn.alt:hover{background:var(--navy);color:#fff}
.btn.gold{background:var(--accent);border-color:var(--accent)}
.btn.gold:hover{background:#c49445}
section{padding:clamp(56px,8vw,96px) 0}
h2{font-size:clamp(27px,4vw,40px);font-weight:600;margin-bottom:20px}
.about{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,6vw,72px);align-items:start}
.about p{color:var(--steel);margin:0 0 18px}
.points{background:var(--soft);border-top:4px solid var(--accent)}
.pt{padding:22px 26px;border-bottom:1px solid var(--line)}
.pt:last-child{border:0}
.pt b{display:block;font-size:18px;margin-bottom:2px}
.pt span{color:var(--steel);font-size:15px}
.services{background:var(--soft)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px;margin-top:34px}
.card{background:#fff;padding:28px 26px;border-top:3px solid var(--navy)}
.card h3{font-size:20px;font-weight:700;margin-bottom:8px}
.card p{margin:0;color:var(--steel);font-size:15.5px}
.cta{background:var(--navy);color:#fff;padding:clamp(48px,7vw,76px) 0;text-align:center}
.cta h2{max-width:22ch;margin:0 auto 26px}
.licband{padding:36px 0;border-bottom:1px solid var(--line)}
.licband .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.licband svg{width:46px;height:46px;flex:none}
.licband b{display:block;font-size:19px}
.licband span{color:var(--steel);font-size:15px}
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:22px;margin-top:32px}
.c{border:1px solid var(--line);border-top:3px solid var(--accent);padding:26px}
.c small{display:block;color:var(--accent);font-weight:700;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}
.c a,.c div{color:var(--navy);font-size:clamp(17px,1.6vw + 9px,21px);font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.c a:hover{color:var(--accent)}
footer{background:var(--navy);color:#b9c3cf;padding:26px 0;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:820px){.about{grid-template-columns:1fr}.burger{display:flex}nav{display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--line);margin-top:6px}nav.open{display:flex}nav a{padding:14px 2px;border-bottom:1px solid var(--line);font-size:16px}}
@media(max-width:600px){.topbar .wrap{flex-direction:column;gap:8px;text-align:center;padding:10px 18px}.quote{width:100%;padding:11px 18px}.actions .btn{flex:1 1 100%;text-align:center}}
