*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:#071b2a;background-image:url("navy-shipibo-tech-seamless.png");background-repeat:repeat;background-position:center top;background-size:1600px 1600px;color:#113a57;font-family:Arial,Helvetica,sans-serif;font-size:14px}a{color:inherit}a:hover{color:#218ccd}.site{width:min(980px,100%);margin:auto}.skip{position:absolute;top:-60px;left:20px;background:#fff;padding:9px;z-index:999}.skip:focus{top:0}.masthead{width:100%;position:relative;background:#eee}.masthead img{display:block;width:100%;height:auto}.hotspot{position:absolute;left:3%;width:36%;height:15%;z-index:2}.hotspot:focus-visible{outline:3px solid #339cfa}.hotspot-phone{top:49%}.hotspot-email{top:70%}.nav{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:0;align-items:center;background:#071b2a;padding:12px 0 16px;font-family:Arial,Helvetica,sans-serif;font-stretch:condensed}.nav a{background:#f0f0f0;color:#111;text-align:center;text-decoration:none;padding:7px 10px;border-right:1px solid #ddd;font-size:12px;font-weight:600}.nav a[aria-current=page]{color:#fff;background:#303030}.nav a:hover{background:#8098a7}.nav small{font-size:10px;color:white;padding-left:18px;padding-right:12px;white-space:nowrap}.footer{color:#a7b8c8;text-align:center;font-size:11px;padding:10px 12px 40px}.footer a{color:#b5def9}.footer p{margin:10px 0}.home-body{background:#a3a8ae;padding:30px 6% 42px}.intro-panel{display:flex;gap:18px;background:#d7eafd;border:1px solid #37627d;box-shadow:0 2px 5px #59636a;border-radius:4px;padding:25px;max-width:720px;margin:0 auto}.hero-photo{width:48%;flex:none}.hero-photo>img:first-child{width:100%;height:auto;aspect-ratio:379/315;object-fit:cover}.hero-photo .filmstrip{display:block;width:100%;height:auto;margin-top:4px}.intro-copy{flex:1;font-size:14px;line-height:1.23}.intro-copy p{margin:0 0 21px}.intro-copy a{text-decoration:none}.small-heading{font-weight:400;text-align:center;color:#367da9;font-size:13px;margin:12px auto}.service-summary{background:#d7eafd;padding:26px 20px 34px;max-width:560px;margin:0 auto 30px;text-align:center}.summary-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:left}.summary-cols ul{padding-left:18px;font-size:12px;line-height:1.35}.read-more{display:inline-block;background:#999;color:#fff;text-decoration:none;font-size:12px;font-weight:bold;padding:9px 17px;border-radius:3px;box-shadow:0 2px 4px #777;margin:10px auto 0}.home-contact{background:#d7eafd;max-width:560px;margin:0 auto;border:1px solid #37627d;box-shadow:0 2px 5px #777;border-radius:5px;padding:24px 20px 27px}.home-contact h2{font-weight:400;font-size:25px;margin:0 0 17px}.home-contact>p{font-size:14px;margin-bottom:34px}.request-form{display:flex;flex-direction:column;gap:8px}.twofields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.request-form input,.request-form select,.request-form textarea{font:inherit;width:100%;background:#fff;border:1px solid #d4e5f2;padding:12px 9px;color:#123a59;border-radius:0}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{outline:2px solid #1675b9}.request-form textarea{resize:vertical;min-height:125px}.request-form button{background:#a1a1a1;color:#111;border:0;padding:13px;cursor:pointer;box-shadow:0 2px 5px #999;text-transform:uppercase}.request-form button:hover{background:#789fc1;color:#fff}.request-form .fine-print{font-size:10px;margin:4px 0 0;color:#44647d}.honeypot{position:absolute;left:-9999px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.services-body{background:#d9edff}.services-intro{background:#98a5ac;padding:24px 40px 19px;text-align:center;line-height:1.35}.services-intro p{margin:0 auto 20px;max-width:760px}.services-section{padding:45px 18px 20px}.services-section h1{text-align:center;font-size:26px;color:#103c5b;font-weight:800;margin:0 0 38px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border:1px solid #bfd1dc;background:#daecfc;min-width:0;display:flex;flex-direction:column}.card-image img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.card-body{padding:18px 19px 20px;display:flex;flex-direction:column;min-height:192px}.card-body h3{font-size:17px;margin:0;min-height:44px;font-weight:800;line-height:1.12}.card-body h3 a{text-decoration:none}.card-divider{border-top:1px solid #bdd0dc;margin:7px 0 19px}.card-body p{font-size:12px;margin:0 0 24px;line-height:1.9}.card-body p span{display:block}.schedule{display:inline-block;text-align:center;align-self:start;background:#269be9;color:white;padding:10px 13px;text-decoration:none;font-size:12px;border-radius:1px;margin-top:auto}.schedule:hover{background:#1675b9;color:#fff}.contact-body{background:#fff;padding:28px 45px 35px}.service-area{font-size:16px;text-align:center;max-width:660px;margin:0 auto 36px;line-height:1.3}.contact-panel{background:#afd0e3;border:1px solid #b9cbd6;box-shadow:0 2px 5px #888;border-radius:5px;padding:25px;display:grid;grid-template-columns:38% 1fr;gap:18px}.contact-instructions h1{letter-spacing:.19em;font-size:24px;color:#0d3c60;margin:27px 0 24px;font-weight:800}.contact-instructions p{font-size:14px;line-height:1.3;max-width:230px}.contact-fields .request-form input,.contact-fields .request-form select,.contact-fields .request-form textarea{background:#7e9aaf;border:0;color:#001c2e}.contact-fields .request-form ::placeholder{color:#092439;opacity:1}.contact-fields .request-form textarea{min-height:135px}.contact-fields .request-form button{background:#46647a;color:#fff;box-shadow:none;text-transform:none}.contact-fields .fine-print{color:#21445d}.footer-banner{display:block;width:100%;height:auto;margin:22px 0 0}.service-detail{background:#d7eafd;padding:30px}.back{margin-top:0}.detail-card{display:grid;grid-template-columns:44% 1fr;gap:25px;padding:24px;border:1px solid #b7cdda;background:#e5f3ff}.detail-card>img{width:100%;height:auto;max-height:300px;object-fit:cover}.detail-text h1{margin:0 0 20px;font-size:28px}.detail-text p{line-height:1.5}.thank-you{background:#d7eafd;min-height:400px;padding:60px 30px;text-align:center}.thank-you h1{font-size:26px}
@media (max-width:680px){.nav{grid-template-columns:repeat(3,1fr);padding:7px 0 12px}.nav small{grid-column:1/-1;text-align:right;margin-top:6px}.home-body{padding:20px 14px 30px}.intro-panel{flex-direction:column;padding:18px}.hero-photo{width:100%;max-width:340px;margin:auto}.intro-copy{font-size:14px}.service-summary{padding:18px 12px}.summary-cols{gap:4px}.home-contact{padding:20px 15px}.home-contact h2{font-size:21px}.services-section{padding:30px 12px}.service-grid{grid-template-columns:repeat(2,1fr);gap:12px}.card-body{padding:11px 10px 15px}.card-body h3{font-size:15px}.contact-body{padding:24px 14px}.contact-panel{grid-template-columns:1fr;padding:20px;gap:5px}.contact-instructions h1{margin:8px 0}.contact-instructions p{max-width:none}.detail-card{grid-template-columns:1fr}.service-detail{padding:16px}}@media(max-width:420px){.twofields{grid-template-columns:1fr;gap:8px}.summary-cols{grid-template-columns:1fr}.summary-cols ul{margin:0}.service-grid{grid-template-columns:1fr}.service-card{max-width:350px;width:100%;margin:auto}.card-body{min-height:auto}.card-body h3{min-height:auto}.nav a{font-size:11px;padding:10px 2px}.nav small{font-size:9px}}
/* The branding banner is shared across the three main pages. */
.footer-branding{background:#fff;padding:12px 45px 24px}
.footer-branding .footer-banner{display:block;max-width:908px;width:100%;height:auto;margin:0 auto;border:0}
@media(max-width:680px){.footer-branding{padding:12px 14px 20px}}


/* Layout refinement — 2026-10-12
   Even top and bottom padding in the navigation; use the former larger
   lower gap as the standard on desktop and keep mobile proportionate.
   Consistent vertical spacing between the three homepage content cards.
*/
.nav {padding-top:16px;padding-bottom:16px;}
.home-body {padding-top:30px;padding-bottom:30px;}
.home-body > .intro-panel,
.home-body > .service-summary {margin-bottom:30px;}
.home-body > .home-contact {margin-bottom:0;}
@media(max-width:680px){
 .nav{padding-top:12px;padding-bottom:12px;}
 .home-body{padding-top:20px;padding-bottom:20px;}
 .home-body > .intro-panel,
 .home-body > .service-summary{margin-bottom:20px;}
}
