@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap');
:root{
  --navy:#0a1f33; --navy2:#12395c; --gold:#c9a227; --gold-b:#e9c766;
  --ink:#1d2c38; --steel:#57707f; --mist:#edf3f7; --sky:#d9e6ee;
  --line:#d3dee5; --paper:#ffffff; --radius:10px;
  --shadow:0 10px 30px rgba(10,31,51,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:linear-gradient(105deg,#d8e9f4,#eef6fb 42%,#cfe1ef);line-height:1.6;font-size:17px}
img{max-width:100%;display:block}
a{color:var(--navy2);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
h1,h2,h3{color:var(--navy);line-height:1.2;margin:0 0 .5em;font-weight:700}
h1{font-size:2.35rem} h2{font-size:1.75rem} h3{font-size:1.18rem}
p{margin:0 0 1em}
.lede{font-size:1.16rem;color:#33475a}
.btn{display:inline-block;padding:13px 26px;border-radius:6px;font-weight:700;font-size:1rem;border:2px solid transparent;cursor:pointer}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-gold{background:var(--gold);color:#12283d}
.btn-gold:hover{background:var(--gold-b)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy2)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.btn-ghost:hover{border-color:#fff}
section{padding:58px 0;background:linear-gradient(100deg,#dceef8 0%,#eef7fc 48%,#d2e5f2 100%)}
.band-mist{background:linear-gradient(100deg,#b7d4ea 0%,#d6e9f6 50%,#a5c9e6 100%)}
.band-navy{background-color:var(--navy);background-image:url('/assets/img/compass-gold.png');background-repeat:no-repeat;background-position:right 3% center;background-size:200px;color:#dbe6ee}
.band-navy h2,.band-navy h3{color:#fff}
.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:#8a6d1a;margin-bottom:.6em}
/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:3px solid var(--gold);box-shadow:0 2px 14px rgba(10,31,51,.06)}
.header-in{display:flex;align-items:center;gap:18px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;color:var(--navy)}
.brand:hover{text-decoration:none}
.brand img{height:52px;width:auto}
.brand-name{line-height:1.05}
.brand-name .b1{display:block;font-size:1.32rem;font-weight:800;letter-spacing:.04em;color:var(--navy)}
.brand-name .b2{display:block;font-size:.72rem;font-weight:700;letter-spacing:.34em;color:var(--gold)}
nav.main{margin-left:auto}
nav.main ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
nav.main a{color:var(--navy);font-weight:600;font-size:.98rem}
nav.main a[aria-current]{color:var(--gold);box-shadow:inset 0 -3px 0 var(--gold)}
.phone-btn{margin-left:26px;background:var(--navy);color:#fff !important;padding:11px 18px;border-radius:6px;font-weight:800;white-space:nowrap}
.phone-btn:hover{background:var(--navy2);text-decoration:none}
.phone-btn small{display:block;font-size:.68rem;letter-spacing:.14em;color:var(--gold-b);font-weight:700}
/* hero */
.hero{position:relative;color:#fff;background:var(--navy)}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.hero .shade{position:absolute;inset:0;background:linear-gradient(92deg,rgba(7,24,40,.88) 30%,rgba(7,24,40,.45) 65%,rgba(7,24,40,.15))}
.hero-in{position:relative;padding:86px 0 78px;max-width:640px}
.hero h1{color:#fff;font-size:2.9rem;margin-bottom:.35em}
.hero p{font-size:1.22rem;color:#e6eef4}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.hero-photo{width:100%;height:340px;object-fit:cover}
.page-head{background-image:url('/assets/img/compass-gold.png'),linear-gradient(120deg,var(--navy) 55%,var(--navy2));background-repeat:no-repeat;background-position:right 5% center,0 0;background-size:170px,cover;color:#fff;padding:52px 0 44px;border-bottom:4px solid var(--gold)}
.page-head h1{color:#fff;margin-bottom:.25em}
.page-head p{color:#cfdde8;max-width:720px;margin:0;font-size:1.1rem}
/* cards & grids */
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:#f3f9fd;border:2px solid #E7CE8F;border-radius:8px;padding:26px;box-shadow:0 4px 14px rgba(10,31,51,.07)}
.card h3{margin-bottom:.35em}
.card p{color:#3c4f60;margin-bottom:.6em}
.card .more{font-weight:700}
.photo-card{padding:0;overflow:hidden}
.photo-card img{height:190px;width:100%;object-fit:cover}
.photo-card .pc-body{padding:20px 22px}
/* capture + forms */
.capture-card{background:#f3f9fd;border:1px solid var(--line);border-top:6px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:600;font-size:.94rem;color:var(--navy);margin:0 0 6px}
input[type=text],input[type=email],input[type=tel],select,textarea{
  width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:6px;font:inherit;font-size:1rem;background:#e9f3fa;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);background:#fff}
.field{margin-bottom:16px}
.consent{display:flex;gap:11px;align-items:flex-start;background:#d9e9f4;border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:6px 0 18px}
.consent input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--navy)}
.consent label{font-weight:500;color:#33475a;margin:0}
.form-note{font-size:.87rem;color:var(--steel)}
.form-status{border-radius:8px;padding:15px 18px;margin-top:16px;display:none}
.form-status.ok{display:block;background:#e8f4ea;border:1px solid #9dc7a6;color:#1d4d27}
.form-status.err{display:block;background:#fbeaea;border:1px solid #e0a5a5;color:#6d1f1f}
.hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden}
/* partners */
.partner{border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;background:#f3f9fd}
.partner h3{font-size:1.25rem;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tag{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a5c00;background:#f7ecd0;border:1px solid #e6d194;padding:3px 9px;border-radius:20px}
.partner p{color:#3c4f60;margin:0}
.strip-logos{display:flex;flex-wrap:wrap;gap:12px 30px;align-items:center;font-weight:800;color:var(--navy);font-size:1.05rem;letter-spacing:.02em}
.strip-logos span{opacity:.85}
/* lists */
ul.check{list-style:none;padding:0;margin:0 0 1em}
ul.check li{padding:7px 0 7px 30px;position:relative;border-bottom:1px solid #bfd8ea}
ul.check li:last-child{border-bottom:none}
ul.check li::before{content:"";position:absolute;left:2px;top:14px;width:11px;height:6px;border-left:3px solid var(--gold);border-bottom:3px solid var(--gold);transform:rotate(-45deg)}
.facts{background:var(--navy);color:#dbe6ee;border-radius:var(--radius);padding:28px}
.facts h3{color:#fff}
.facts table{width:100%;border-collapse:collapse}
.facts td{padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.14);vertical-align:top}
.facts td:first-child{color:var(--gold-b);font-weight:700;width:42%}
.facts tr:last-child td{border-bottom:none}
/* footer */
footer.site{background:var(--navy);color:#c7d5df;margin-top:0}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;padding:48px 0 30px}
footer.site h4{color:#fff;margin:0 0 12px;font-size:1rem;letter-spacing:.04em}
footer.site a{color:#c7d5df}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin-bottom:8px}
.foot-brand{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.foot-brand img{height:46px}
.foot-brand .b1{color:#fff;font-weight:800;font-size:1.15rem;letter-spacing:.04em}
.foot-brand .b2{color:var(--gold-b);font-size:.66rem;font-weight:700;letter-spacing:.32em}
.foot-bottom{border-top:1px solid rgba(255,255,255,.15);padding:16px 0 22px;font-size:.88rem;color:#93a9ba;display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between}
.big-phone{font-size:1.5rem;font-weight:800;color:#fff}
.big-phone:hover{color:var(--gold-b);text-decoration:none}
/* responsive */
@media (max-width:960px){
  .grid-3{grid-template-columns:1fr 1fr}
  footer.site .cols{grid-template-columns:1fr 1fr}
  nav.main{display:none}
  .phone-btn{margin-left:auto}
}
@media (max-width:620px){
  .grid-3,.grid-2,form .row{grid-template-columns:1fr}
  .hero h1{font-size:2.1rem}
  h1{font-size:1.9rem}
  footer.site .cols{grid-template-columns:1fr}
  .brand-name .b1{font-size:1.1rem}
}

/* middle rework: delaware nautical motifs + chart plate */
.motif-de{background-image:url('/assets/img/de-outline.png'),linear-gradient(100deg,#dceef8 0%,#eef7fc 48%,#d2e5f2 100%);background-repeat:no-repeat;background-position:right -30px center,0 0;background-size:auto 135%,cover}
.chart-band{padding:0;height:300px;background:url('/assets/img/chart-de.jpg') center 32%/cover no-repeat;position:relative;border-top:4px solid var(--gold);border-bottom:4px solid var(--gold)}
.chart-chip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(10,31,51,.9);color:#fff;padding:14px 30px;border:1px solid var(--gold);border-radius:8px;font-weight:800;letter-spacing:.14em;text-align:center;font-size:1.05rem;white-space:nowrap}
.chart-chip small{display:block;color:var(--gold-b);font-size:.72rem;letter-spacing:.22em;margin-top:3px;font-weight:700}
@media (max-width:620px){.chart-band{height:210px}.chart-chip{white-space:normal;font-size:.92rem}.motif-de{background-size:auto 90%,cover}}

/* === unified map background system (one map, one scale, one treatment — every page) === */
.motif-de{background-image:url('/assets/img/maps/home-light.webp'),linear-gradient(100deg,#dceef8 0%,#eef7fc 48%,#d2e5f2 100%);background-repeat:no-repeat;background-position:right -140px top -30px,0 0;background-size:1600px auto,cover}
.chart-band{background:url('/assets/img/map-plate.jpg') center 40%/cover no-repeat}
/* === linked tiles (plain rectangles, blue body, gold accents — tiles size to content, text never clipped) === */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:20px;margin:8px 0 6px}
.tiles.small{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;text-align:center;padding:22px 14px;color:#fff;background:linear-gradient(165deg,var(--navy2) 0%,var(--navy) 78%);border:2px solid #E7CE8F;border-radius:8px;box-shadow:0 10px 18px rgba(10,31,51,.22);transition:transform .18s ease}
.tile:hover{transform:translateY(-4px);text-decoration:none}
.tiles.small .tile{padding:18px 10px}
.tile .plaque{background:#f4fafe;border-radius:9px;padding:9px 12px;display:flex;align-items:center;justify-content:center;min-height:52px;width:88%}
.tile .plaque img{max-height:38px;max-width:118px;width:auto;object-fit:contain}
.tile .plaque .pl-name{font-weight:800;font-size:1.15rem;color:var(--navy);letter-spacing:.01em}
.tile .bare{display:flex;align-items:center;justify-content:center;min-height:52px;width:88%}
.tile .bare img{max-height:44px;max-width:124px;width:auto;object-fit:contain}
.tile .pname{font-weight:800;font-size:1.02rem;line-height:1.2;color:#fff}
.tile .ptag{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-b);line-height:1.5}
.tile .prank{font-size:.66rem;font-weight:800;letter-spacing:.18em;color:#E7CE8F}
.tile.typo .pname{font-size:1.22rem;letter-spacing:.01em}
.tile .rule{width:34px;height:2px;background:var(--gold);border-radius:2px}
.tile .motif{color:var(--gold-b);display:flex;align-items:center;justify-content:center;min-height:52px}
.tile .motif svg{width:52px;height:52px}
.tiles.small .motif svg{width:42px;height:42px}
.group-label{display:flex;align-items:baseline;gap:14px;margin:38px 0 4px}
.group-label h2{margin:0}
.group-label .gline{flex:1;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
/* partner pages */
.stack-chip{display:inline-block;background:var(--navy);color:var(--gold-b);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 13px;border-radius:20px;margin-bottom:14px}
.who-what-why h2{margin-top:34px}
.who-what-why h2:first-child{margin-top:0}
.pager{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:40px}
.pager a{font-weight:700}
/* industry showpiece hero */
.ind-hero{position:relative;color:#fff;background:var(--navy);overflow:hidden}
.ind-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ind-hero .shade{position:absolute;inset:0;background:linear-gradient(92deg,rgba(7,24,40,.90) 26%,rgba(7,24,40,.52) 62%,rgba(7,24,40,.18))}
.ind-hero-in{position:relative;padding:74px 0 66px;max-width:700px}
.ind-hero h1{color:#fff;font-size:2.7rem;margin-bottom:.3em}
.ind-hero p{font-size:1.18rem;color:#e6eef4;max-width:560px}
.motif-chip{display:inline-flex;align-items:center;gap:10px;background:rgba(10,31,51,.72);border:1px solid var(--gold);color:var(--gold-b);border-radius:30px;padding:7px 16px 7px 10px;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.motif-chip svg{width:22px;height:22px}
.svc-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.svc-chips a{background:var(--navy);color:#fff;padding:9px 16px;border-radius:22px;font-weight:700;font-size:.92rem}
.svc-chips a:hover{background:var(--navy2);text-decoration:none;color:var(--gold-b)}

/* Floating partner logo wall (Louis 2026-10-23: no charms, no boxes — logos float) */
.logowall{display:flex;flex-wrap:wrap;gap:36px 46px;align-items:center;justify-content:center;padding:14px 0 6px}
.logowall a{display:flex;align-items:center;justify-content:center;transition:transform .18s ease}
.logowall a:hover{transform:translateY(-3px)}
.logowall img{max-height:46px;max-width:172px;width:auto;object-fit:contain}
.logowall .lw-name{font-weight:800;font-size:1.25rem;color:var(--navy);letter-spacing:.01em}

/* === phase 2 (Claude design direction): per-page map crops — one family, one fixed size, never cover/contain === */
.motif-de.map-services{background-image:url('/assets/img/maps/services-light.webp'),linear-gradient(100deg,#dceef8 0%,#eef7fc 48%,#d2e5f2 100%);background-size:1600px auto,cover}
.motif-de.map-industries{background-image:url('/assets/img/maps/industries-light.webp'),linear-gradient(100deg,#dceef8 0%,#eef7fc 48%,#d2e5f2 100%);background-size:1600px auto,cover}
.motif-de.map-partners{background-image:url('/assets/img/maps/partners-light.webp'),linear-gradient(100deg,#dceef8 0%,#eef7fc 48%,#d2e5f2 100%);background-size:1600px auto,cover}
.motif-de.map-about{background-image:url('/assets/img/maps/home-light.webp'),linear-gradient(100deg,#dceef8 0%,#eef7fc 48%,#d2e5f2 100%);background-size:1600px auto,cover}
.motif-de.map-contact{background-image:url('/assets/img/maps/contact-light.webp'),linear-gradient(100deg,#dceef8 0%,#eef7fc 48%,#d2e5f2 100%);background-size:1600px auto,cover}
.chart-band{background-size:1600px auto}
/* slate grey band (rhythm step 4) — partner grid sits on slate per the direction */
.band-slate{background:linear-gradient(100deg,#E6EAEE 0%,#D5DCE3 100%);color:#2F3A45}
.band-slate.map-partners{background-image:url('/assets/img/maps/partners-light.webp'),linear-gradient(100deg,#E6EAEE 0%,#D5DCE3 100%);background-repeat:no-repeat;background-position:right -140px top -30px;background-size:1600px auto,cover}
.band-slate h2,.band-slate h3{color:#22303c}
/* closing call band — identical on every page; gold-rule compass divider separates it from a preceding navy band */
.divider-compass{background:var(--navy);display:flex;align-items:center;gap:16px;padding:16px 22px 0}
.divider-compass .dc-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.divider-compass img{height:30px;width:auto}
.closing-call{background:linear-gradient(120deg,var(--navy) 55%,var(--navy2));color:#fff;text-align:center;padding:40px 0 46px}
.closing-call img{height:44px;width:auto;margin:0 auto 12px}
.closing-call .cc-line{font-size:1.5rem;font-weight:800;color:#fff;margin:0;line-height:1.35}
.closing-call .cc-line a{color:var(--gold-b)}
@media (max-width:620px){.closing-call .cc-line{font-size:1.22rem}}

/* ===== FONT PASS (Claude typography audit 2026-10-23, FONT-AUDIT-claude-2026-10-23.md) ===== */
h1,h2{font-family:'Crimson Text',Georgia,'Times New Roman',serif;letter-spacing:.01em}
h1{font-weight:700}
h2{font-weight:600}
.kicker{font-family:'Crimson Text',Georgia,serif;font-weight:600;color:#c9a227}
.cc-line{font-family:'Crimson Text',Georgia,serif;font-weight:700;letter-spacing:.005em}
.ptag{font-size:.75rem;letter-spacing:.16em}
.prank{font-size:.75rem;color:#e9c766}
body{font-weight:500}
.ai-invite{background:#eef2f7;padding:26px 0}
.ai-invite-link{display:flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;max-width:560px;margin:0 auto}
.ai-invite-link img{width:76px;height:77px;border-radius:18px;box-shadow:0 4px 14px rgba(10,30,60,.25);flex:none}
.ai-invite-text{display:flex;flex-direction:column;text-align:left}
.ai-invite-text strong{font-family:'Crimson Text',Georgia,serif;font-size:1.45rem;color:#0b2440;line-height:1.15}
.ai-invite-text small{font-size:.95rem;color:#44586e}
.ai-invite-link:hover strong{text-decoration:underline}
.digi-door{position:absolute;top:190px;right:290px;z-index:6;display:block;text-decoration:none}
.digi-door img{width:118px;height:auto;filter:drop-shadow(0 0 10px rgba(0,210,255,.9)) drop-shadow(0 0 34px rgba(0,150,255,.5));animation:digi-bob 3.8s ease-in-out infinite}
@keyframes digi-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (max-width:700px){.digi-door{top:auto;bottom:16px;right:12px}.digi-door img{width:84px}}
.card-ai{background:radial-gradient(120px 80px at 85% 12%,rgba(0,210,255,.35),transparent 70%),radial-gradient(160px 110px at 10% 95%,rgba(0,120,255,.28),transparent 70%),linear-gradient(135deg,#081c38,#103a6e);border-color:#1d4e79}
.card-ai h3{color:#fff}
.card-ai p{color:#d8e9fb}
.card-ai .more{color:#7fd8ff}
