:root{
  --navy:#14234a;--navy-2:#1d3266;--red:#b4161f;--red-2:#8f1018;
  --paper:#fbf8f3;--cream:#f2ece2;--ink:#1a1f2e;--muted:#566079;--line:#e1d9cc;
  --display:"Arial Black","Franklin Gothic Heavy",Impact,system-ui,sans-serif;
  --body:"Segoe UI",system-ui,-apple-system,sans-serif;
  --script:"Brush Script MT","Segoe Script",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.55}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:12px;top:-60px;background:var(--navy);color:#fff;padding:10px 14px;z-index:99;border-radius:4px}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
button{min-height:44px}
section[id],main[id]{scroll-margin-top:180px}
.disclosure{margin:0;background:var(--navy);color:#e7ecf7;font-size:.8rem;text-align:center;padding:6px 12px;letter-spacing:.02em}

.site-header{background:#fff;border-bottom:3px solid var(--red);position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;gap:18px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.brand{text-decoration:none;color:var(--navy);display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--display);font-size:2rem;letter-spacing:-.02em}
.brand-sub{font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--red);margin-top:4px}
.amp{color:var(--navy)}
.loc{display:flex;align-items:center;gap:6px;margin:0 0 0 auto;font-size:.85rem;color:var(--muted)}
.loc svg{width:16px;height:16px;fill:var(--red)}
.menu-toggle{display:none;align-items:center;gap:8px;background:none;border:2px solid var(--navy);color:var(--navy);padding:8px 12px;border-radius:4px;font:700 .85rem var(--body);cursor:pointer}
.bars,.bars::before,.bars::after{display:block;width:18px;height:2px;background:currentColor;position:relative;transition:transform .25s}
.bars::before,.bars::after{content:"";position:absolute}
.bars::before{top:-6px}.bars::after{top:6px}
.menu-toggle[aria-expanded="true"] .bars{background:transparent}
.menu-toggle[aria-expanded="true"] .bars::before{transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .bars::after{transform:translateY(-6px) rotate(-45deg)}
.nav{display:flex;align-items:center;gap:22px;width:100%;justify-content:flex-end;margin-top:-4px}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav a{color:var(--navy);text-decoration:none;font-weight:600;font-size:.92rem;position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:hover::after,.nav a:focus-visible::after{transform:scaleX(1)}

.btn{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:4px;padding:12px 20px;font:700 .95rem var(--body);text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-2);transform:translateY(-2px)}
.btn span{transition:transform .2s}.btn:hover span{transform:translateX(4px)}

.hero{display:grid;grid-template-columns:1fr 1.15fr;min-height:540px;background:linear-gradient(120deg,#f6e6cf,#efd9bd 45%,#e9e2d6);overflow:hidden}
.hero-copy{padding:64px 20px 56px max(20px,calc((100vw - 1180px)/2 + 20px));align-self:center}
.eyebrow{font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;color:var(--navy);margin:0 0 14px}
.eyebrow i{color:var(--red);font-style:normal;margin:0 4px}
.eyebrow.light{color:#f0c9cb}
h1{font-family:var(--display);color:var(--navy);text-transform:uppercase;font-size:clamp(2.6rem,6vw,4.6rem);line-height:.95;margin:0 0 20px;letter-spacing:-.01em}
h1 span{display:block;animation:rise .7s both}
h1 span:nth-child(2){animation-delay:.08s;color:var(--red)}
h1 span:nth-child(3){animation-delay:.16s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.lede{max-width:30em;font-size:1.08rem;color:#3b4157;margin:0 0 26px}
.hero-media{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:420px}
.hm{margin:0;overflow:hidden;position:relative;min-width:0}
.hm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.hero-media:hover .hm img{transform:scale(1.03)}
.hm-vehicle{clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.hm-appl{clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);margin-left:-8%;border-left:6px solid var(--paper)}
.hero-script{position:absolute;right:0;bottom:0;margin:0;background:var(--navy);color:#fff;font-family:var(--script);font-size:1.7rem;padding:18px 28px 18px 60px;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:44px;padding-bottom:44px}
.card{background:#fff9f1;border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px -18px rgba(20,35,74,.45)}
.card:nth-of-type(2){margin-top:22px}
.card-img{aspect-ratio:16/10;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-body{position:relative;padding:38px 22px 22px}
.badge{position:absolute;top:-30px;left:20px;width:58px;height:58px;border-radius:50%;background:var(--red);border:4px solid #fff9f1;display:grid;place-items:center}
.badge svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-family:var(--display);text-transform:uppercase;color:var(--navy);margin:0 0 8px;font-size:1.3rem}
.card p{color:var(--muted);margin:0 0 14px;font-size:.95rem}
.more{background:none;border:0;padding:4px 0;color:var(--red);font:700 .9rem var(--body);cursor:pointer;display:inline-flex;gap:8px}
.more span{transition:transform .2s}.more:hover span{transform:translateX(5px)}

.strip{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto;padding-top:26px;padding-bottom:26px}
.strip-list li{display:flex;align-items:center;gap:14px;padding:4px 18px;border-left:1px solid var(--line);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--navy)}
.strip-list li:first-child{border-left:0}
.strip-list svg{flex:none;width:34px;height:34px;fill:none;stroke:var(--navy);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.community{position:relative;min-height:480px;display:flex;align-items:flex-end;overflow:hidden}
.com-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.com-panel{position:relative;background:rgba(20,35,74,.94);color:#eef1f8;max-width:520px;padding:40px 48px 44px max(20px,calc((100vw - 1180px)/2 + 20px));clip-path:polygon(0 0,88% 0,100% 100%,0 100%)}
.com-panel h2{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.05;margin:0 0 14px;color:#fff}
.com-panel p{margin:0 0 22px;padding-right:30px}
.com-script{position:absolute;right:6%;top:12%;margin:0;font-family:var(--script);font-size:2rem;color:var(--navy);transform:rotate(-8deg);text-shadow:0 1px 0 rgba(255,255,255,.6)}
.img-note{font-size:.82rem;color:var(--muted);padding-top:16px;padding-bottom:16px}

.site-footer{background:var(--navy);color:#cfd6e6;font-size:.85rem}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:20px;padding-bottom:20px}
.foot p{margin:0}.foot strong{color:#fff}

.toast{position:fixed;right:20px;bottom:20px;z-index:50;max-width:380px;background:var(--navy);color:#fff;border-left:5px solid var(--red);border-radius:6px;padding:16px 16px 14px;box-shadow:0 18px 40px -20px rgba(0,0,0,.6);display:flex;gap:14px;align-items:flex-start;animation:pop .25s both}
.toast[hidden]{display:none}
.toast-msg{margin:0;font-size:.92rem}
.toast-x{flex:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:4px;padding:6px 10px;font:600 .8rem var(--body);cursor:pointer}
.toast-x:hover{background:rgba(255,255,255,.12)}
@keyframes pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (max-width:900px){
  .menu-toggle{display:inline-flex}
  .loc{margin-left:auto}
  .nav{display:none;flex-direction:column;align-items:stretch;margin:0;padding:8px 0 4px}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;gap:0}
  .nav li a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:44px 20px}
  .hero-media{min-height:320px}
  .hm-vehicle{clip-path:none}
  .services{grid-template-columns:1fr}
  .card:nth-of-type(2){margin-top:0}
  .strip-list{grid-template-columns:1fr 1fr;row-gap:18px}
  .strip-list li:nth-child(3){border-left:0}
  .com-panel{clip-path:none;max-width:none;padding:32px 20px}
  .com-script{font-size:1.5rem}
}
@media (max-width:520px){
  .loc{order:3;width:100%;margin:0}
  .menu-toggle{margin-left:auto}
  .strip-list{grid-template-columns:1fr}
  .strip-list li{border-left:0}
  .toast{left:12px;right:12px;bottom:12px}
  .hero-script{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
