:root{--navy:#0b2a5b;--navy-d:#071b3d;--gold:#c8a24a;--gold-d:#a8842c;--cream:#faf6ec;--ink:#1c2740;--muted:#5b6579}
html{scroll-behavior:smooth}
section[id],header[id]{scroll-margin-top:72px}
body{font-family:'Source Sans 3',system-ui,sans-serif;color:var(--ink);background:#fff;font-size:1.05rem;line-height:1.65}
h1,h2,h3,h4,.navbar-brand{font-family:'Fraunces',Georgia,serif;letter-spacing:-.01em}
a{color:var(--navy)}
img{max-width:100%;height:auto}

/* nav */
.ac-nav{background:var(--cream);border-bottom:1px solid rgba(11,42,91,.12);padding:.6rem 0}
.ac-nav .navbar-brand{color:var(--navy);font-weight:700;font-size:1.3rem}
.ac-nav .navbar-brand i{color:var(--gold-d)}
.ac-nav .navbar-brand span{font-weight:500;font-style:italic;color:var(--gold-d)}
.ac-nav .nav-link{color:var(--navy);font-weight:600;font-size:.95rem;padding:.5rem .6rem}
.ac-nav .nav-link:hover{color:var(--gold-d)}
.btn-gold{background:var(--gold);color:var(--navy-d);font-weight:700;border:0}
.btn-gold:hover{background:#d8b45a;color:var(--navy-d)}
.btn-navy{background:var(--navy);color:#fff;font-weight:700;border:0}
.btn-navy:hover{background:var(--navy-d);color:#fff}
.btn-outline-light:hover{color:var(--navy)}

/* hero: split panel */
.hero{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);min-height:min(88vh,860px)}
.hero-panel{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-d) 100%);color:#fff;display:flex;align-items:center;padding:4rem clamp(1.5rem,5vw,5rem)}
.hero-content{max-width:600px;width:100%;margin-left:auto}
.hero-eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.85rem;margin-bottom:1rem}
.hero-title{font-size:clamp(2.6rem,5.2vw,4.8rem);line-height:1.05;font-weight:700;margin-bottom:1.25rem}
.hero-sub{font-size:1.2rem;color:#dbe4f5;margin-bottom:2rem}
.hero-photo{background:url('img/hero.webp') center/cover no-repeat;min-height:320px}

/* strip */
.strip{background:var(--cream);border-bottom:1px solid rgba(11,42,91,.1)}
.strip .col-6,.strip .col-lg-3{padding:1.75rem 1rem;display:flex;flex-direction:column;align-items:center}
.strip i{font-size:1.6rem;color:var(--gold-d)}
.strip strong{font-family:'Fraunces',serif;font-size:1.3rem;color:var(--navy)}
.strip span{font-size:.95rem;color:var(--muted)}

/* sections */
.section{padding:clamp(4rem,8vw,7rem) 0}
.band{background:var(--cream)}
.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:700;color:var(--gold-d);margin-bottom:.5rem}
.kicker.light{color:var(--gold)}
h2{font-size:clamp(2rem,3.6vw,3rem);font-weight:700;color:var(--navy);margin-bottom:1.25rem}
.lead{font-size:1.2rem}
.narrow{max-width:640px}
.small-note{font-size:.9rem;color:var(--muted)}
.text-link{font-weight:700;text-decoration:none;color:var(--navy)}
.text-link:hover{color:var(--gold-d)}

/* about */
.badge-img{width:100%;max-height:70px;object-fit:contain;height:auto}
.about-photos{position:relative;display:flex;gap:1.25rem;align-items:flex-end;justify-content:center}
.team-photo{width:200px;height:auto;border-radius:.5rem;box-shadow:0 12px 30px rgba(11,42,91,.25);border:6px solid #fff}
.ship-photo{width:min(300px,55%);height:auto;border-radius:.5rem;box-shadow:0 12px 30px rgba(11,42,91,.25)}

/* products */
.product-card{background:#fff;border:1px solid rgba(11,42,91,.1);border-top:4px solid var(--gold);border-radius:.5rem;padding:1.75rem;height:100%;box-shadow:0 8px 24px rgba(11,42,91,.06)}
.product-card h3{font-size:1.6rem;color:var(--navy)}
.product-card h3 i{color:var(--gold-d);margin-right:.35rem}
.product-card h4{font-family:'Source Sans 3',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--gold-d);margin:1.25rem 0 .4rem}
.product-card ul{padding-left:1.1rem;margin-bottom:.5rem}
.product-card{display:flex;flex-direction:column}
.product-card .text-link{margin-top:auto;padding-top:1rem}
.product-card li::marker{color:var(--gold)}
.card-photo{width:100%;height:190px;object-fit:cover;border-radius:.35rem;margin-bottom:1.25rem}
.services-row{margin-top:3rem;background:var(--navy);color:#fff;border-radius:.5rem;padding:2rem}
.services-row h3{color:var(--gold);font-size:1.4rem;margin-bottom:1rem}
.services-row i{color:var(--gold);margin-right:.35rem}
.services-row .small-note{color:#b9c6e0}

/* marine */
.marine{background:linear-gradient(rgba(7,27,61,.74),rgba(7,27,61,.84)),url('img/marine-bg.webp') center/cover no-repeat;padding:clamp(4rem,8vw,7rem) 0;color:#fff}
.marine h2{color:#fff}
.marine-box{max-width:1000px;margin:0 auto}
.tick-list{list-style:none;padding:0;margin:0}
.tick-list li{position:relative;padding-left:1.7rem;margin-bottom:.75rem}
.tick-list li::before{content:"\F26A";font-family:'bootstrap-icons';position:absolute;left:0;top:0;color:var(--gold)}
.tick-list.dark li::before{color:var(--gold-d)}
.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:.5rem;padding:1.1rem;height:100%;backdrop-filter:blur(3px)}
.stat b{display:block;font-family:'Fraunces',serif;font-size:2.4rem;color:var(--gold);line-height:1}
.stat span{font-size:.92rem}
.stat-cta{background:var(--gold);color:var(--navy-d);display:flex;align-items:center;font-weight:600}

/* locations */
.office{background:#fff;border:1px solid rgba(11,42,91,.12);border-radius:.5rem;overflow:hidden;height:100%;padding-bottom:1.5rem}
.office>*:not(.office-photo){margin-left:1.5rem;margin-right:1.5rem}
.office-photo{width:100%;height:190px;object-fit:cover;margin-bottom:1.25rem}
.office-flat{padding-top:1.75rem;background:linear-gradient(160deg,var(--navy),var(--navy-d));color:#fff;border:0}
.office.office-flat h3,.office.office-flat a{color:#fff}
.office-flat .fax{color:#b9c6e0}
.office.office-flat .text-link{color:var(--gold)}
.office h3{font-size:1.6rem;color:var(--navy)}
.office h3 small{font-family:'Source Sans 3',sans-serif;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);display:block}
.office a{text-decoration:none}
.fax{color:var(--muted);font-size:.95rem}
.map-wrap{border-radius:.5rem;overflow:hidden;border:1px solid rgba(11,42,91,.15)}
.map-wrap iframe{display:block;width:100%;height:380px;border:0}

/* staff */
.person{background:#fff;border-radius:.5rem;padding:1.4rem;height:100%;border-left:4px solid var(--navy);box-shadow:0 4px 14px rgba(11,42,91,.06);display:flex;flex-direction:column}
.person h3{font-size:1.25rem;color:var(--navy);margin:.35rem 0 .1rem}
.person .role{margin-bottom:.6rem;color:var(--muted);font-size:.98rem}
.person .creds{color:var(--gold-d);font-weight:600}
.person a{text-decoration:none;font-size:.95rem;overflow-wrap:anywhere}
.person a:hover{color:var(--gold-d)}
.person i{color:var(--gold-d)}
.office-tag{align-self:flex-start;background:var(--cream);color:var(--navy);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.15rem .6rem;border-radius:2rem;border:1px solid rgba(200,162,74,.6)}

/* claims */
.claims-tabs{gap:.5rem;margin-top:1.5rem}
@media (min-width:992px){.claims-side{position:sticky;top:96px;align-self:flex-start}}
.claims-tabs .nav-link{color:var(--navy);font-weight:700;border:1px solid rgba(11,42,91,.2);text-align:left}
.claims-tabs .nav-link.active{background:var(--navy);color:#fff}
.claims-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(11,42,91,.12)}
.claims-list li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid rgba(11,42,91,.12)}
.claims-list small{display:block;color:var(--muted);font-size:.88rem;line-height:1.4}
.claim-phone{font-family:'Fraunces',serif;font-weight:700;font-size:1.1rem;white-space:nowrap;text-decoration:none;color:var(--navy)}
.claim-phone:hover{color:var(--gold-d)}

/* carriers */
.carrier{display:flex;justify-content:space-between;align-items:center;height:100%;background:#fff;border:1px solid rgba(11,42,91,.15);border-radius:.5rem;padding:1rem 1.1rem;font-weight:700;text-decoration:none;color:var(--navy);transition:.15s}
.carrier i{color:var(--gold-d)}
.carrier:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 6px 16px rgba(11,42,91,.1)}

/* employment */
.employ{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;border:2px solid var(--gold);border-radius:.75rem;padding:clamp(1.5rem,4vw,3rem)}
.employ>div{flex:1 1 420px}

/* contact + footer */
.contact{background:linear-gradient(160deg,var(--navy),var(--navy-d));color:#fff}
.contact h2{color:#fff}
.ac-footer{background:var(--navy-d);color:#c5d0e6;padding:3rem 0 1.25rem}
.ac-footer a{color:#fff}
.ac-footer hr{border-color:rgba(255,255,255,.2)}
.logo-chip{background:var(--cream);border-radius:.75rem;padding:.5rem 1rem;max-width:260px}
.logo-chip img{width:100%;height:auto;display:block}
.social{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;margin-left:.4rem;text-decoration:none;font-size:1.1rem}
.social:hover{background:var(--gold);color:var(--navy-d)}
.foot-bottom{color:#9fb0cf}
.foot-bottom a{color:#c5d0e6}
.powered{background:var(--gold);color:var(--navy-d)!important;font-weight:700;padding:.25rem .8rem;border-radius:2rem;text-decoration:none}

/* responsive */
@media (max-width:991.98px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero-photo{order:-1;min-height:260px}
  .hero-panel{padding:3rem 1.5rem}
  .hero-content{margin:0}
  .ac-nav .navbar-brand{font-size:1.1rem}
}
@media (max-width:575.98px){
  .about-photos{flex-direction:column;align-items:center}
  .ship-photo{width:100%;max-width:300px}
  .claims-list li{flex-direction:column;gap:.15rem}
}
