:root{--navy:#14284b;--navy-d:#0d1b36;--cream:#f6efe0;--kraft:#d9b98a;--red:#c8312b;--ink:#17233a;--tape:#e8c872}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.05rem;line-height:1.65;scroll-padding-top:90px}
h1,h2,h3{font-family:'Anton','Impact',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.05}
h2{font-size:clamp(2rem,4.6vw,3.2rem);margin-bottom:1rem}
h3{font-size:1.5rem}
a{color:var(--red)}
.eyebrow{font-family:'Special Elite',monospace;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tape);margin-bottom:.8rem}
.eyebrow.dark{color:var(--red)}
.lead-in{max-width:760px;font-size:1.12rem}

/* utility bar + nav */
.util-bar{background:var(--navy-d);color:#fff;font-size:.9rem;padding:.4rem 0}
.util-bar a{color:#fff;text-decoration:none;font-weight:700}
.util-links{display:flex;gap:1rem;align-items:center}
.util-quote{background:var(--red);padding:.15rem .7rem;border-radius:3px}
.site-nav{background:var(--cream);border-bottom:3px solid var(--navy);padding:.3rem 0}
.site-nav .navbar-brand{display:flex;align-items:center;gap:.7rem;white-space:normal}
.site-nav .navbar-brand img{width:78px;height:auto}
.brand-nm{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.45rem;line-height:1;color:var(--navy);letter-spacing:.02em}
.brand-nm small{display:block;font-family:'Figtree',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--red);margin-top:.25rem}
.site-nav .nav-link{color:var(--navy);font-weight:700;font-size:.95rem;padding:.5rem .7rem}
.site-nav .nav-link:hover{color:var(--red)}
.btn-quote{background:var(--red);color:#fff;font-weight:700;border:2px solid var(--red);border-radius:3px;text-transform:uppercase;letter-spacing:.05em}
.btn-quote:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-ghost{border:2px solid #fff;color:#fff;font-weight:700;border-radius:3px;text-transform:uppercase;letter-spacing:.05em}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.quote .btn-ghost,.crew .btn-ghost{border-color:var(--navy);color:var(--navy)}

/* hero */
.hero{background:var(--navy);color:#fff;padding:3rem 0 3.4rem}
.hero h1{font-size:clamp(2.8rem,7vw,5.2rem);margin-bottom:1rem}
.hero .care{color:var(--tape)}
.hero-sub{font-size:1.2rem;max-width:520px;margin-bottom:1.5rem;color:#e9eef8}
.hero-photo{position:relative;margin:0;transform:rotate(1.2deg);border:6px solid var(--cream);border-radius:3px;background:var(--cream)}
.hero-photo img{display:block;width:100%;max-height:min(66vh,480px);object-fit:cover;object-position:50% 25%}
.box-label{position:absolute;right:-8px;bottom:18px;background:var(--cream);color:var(--navy);font-family:'Special Elite',monospace;font-size:.95rem;letter-spacing:.14em;border:2px dashed var(--navy);padding:.25rem .7rem;transform:rotate(-3deg)}
.tape{height:22px;background:repeating-linear-gradient(90deg,var(--tape) 0 28px,#dcb858 28px 30px);border-top:2px solid rgba(0,0,0,.12);border-bottom:2px solid rgba(0,0,0,.12)}

.stats{background:var(--kraft);padding:1.6rem 0}
.stats b{display:block;font-family:'Anton',sans-serif;font-size:2rem;text-transform:uppercase;color:var(--navy);line-height:1}
.stats span{font-weight:500;font-size:.95rem}

.section{padding:5rem 0}
.section.crew{background:#efe4cc}
.section.about,.section.areas,.section.quote{background:var(--navy);color:#fff}
.section.about a,.section.quote a:not(.btn){color:var(--tape)}

/* packing list */
.packing-list{margin-top:2rem;border-top:3px solid var(--navy)}
.pl-item{display:grid;grid-template-columns:170px 1fr auto;gap:1.5rem;align-items:center;padding:1.6rem .5rem;border-bottom:2px dashed rgba(20,40,75,.35)}
.pl-tag{font-family:'Special Elite',monospace;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;color:var(--red);border:2px solid var(--red);padding:.25rem .5rem;text-align:center;transform:rotate(-2deg)}
.pl-body h3{color:var(--navy);margin-bottom:.4rem}
.pl-body p{margin:0;max-width:62ch}
.pl-go{font-weight:700;text-decoration:none;white-space:nowrap}
.pl-go:hover{text-decoration:underline}

/* photo pair */
.photo-pair{padding:0 0 5rem}
.pp{margin:0;position:relative}
.pp img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border:5px solid #fff;border-radius:2px}
.pp figcaption{font-family:'Special Elite',monospace;font-size:.9rem;margin-top:.5rem;color:var(--navy)}

/* crew */
.crew-photo{margin:1.5rem 0 0}
.crew-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 30%;border:5px solid #fff;border-radius:2px}
.crew-card{display:flex;gap:1.3rem;background:#fff;border-left:8px solid var(--red);padding:1.3rem 1.5rem;margin-bottom:1rem;align-items:flex-start}
.crew-n{font-family:'Anton',sans-serif;font-size:3.4rem;line-height:1;color:var(--navy);min-width:3.6rem}
.crew-card h3{color:var(--navy);margin-bottom:.3rem}
.crew-card p{margin:0}

/* about */
.about h2{color:#fff}
.quotes blockquote{background:var(--cream);color:var(--ink);padding:1.5rem;margin:0 0 1.2rem;border-radius:3px;position:relative}
.quotes blockquote p{margin:0 0 .7rem}
.quotes cite{font-style:normal;font-weight:700;color:var(--navy);font-size:.95rem}

/* faq */
.faq-wrap{max-width:860px}
.accordion{--bs-accordion-bg:#fff;--bs-accordion-active-bg:#fff;--bs-accordion-active-color:var(--navy);--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(200,49,43,.3)}
.accordion-button{font-weight:700;color:var(--navy);font-size:1.08rem}
.accordion-item{border-radius:0;border-color:rgba(20,40,75,.25)}

/* areas */
.towns{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.towns li{border:2px solid rgba(246,239,224,.4);padding:.5rem .9rem;font-weight:700;border-radius:3px}
.towns li:first-child{background:var(--tape);color:var(--navy);border-color:var(--tape)}
.areas h2{color:#fff}

/* numbers */
.num{background:#fff;border:2px dashed rgba(20,40,75,.4);padding:1rem;height:100%}
.num span{display:block;font-size:.88rem;font-weight:500}
.num a{font-family:'Special Elite',monospace;font-size:1.1rem;color:var(--navy);text-decoration:none;font-weight:700}
.num a:hover{color:var(--red)}

/* quote */
.quote h2{color:#fff}
.contact-label{background:var(--cream);color:var(--ink);border:3px solid var(--tape);outline:3px dashed var(--navy);outline-offset:-12px;padding:2.2rem 2rem;font-family:'Special Elite',monospace}
.contact-label address{font-size:1.15rem;margin:.5rem 0 1rem;font-style:normal}
.cl-head{font-size:.85rem;letter-spacing:.2em;color:var(--red)}
.contact-label dl{display:grid;grid-template-columns:90px 1fr;gap:.35rem .5rem;margin:0 0 1rem;font-size:.98rem}
.contact-label dt{font-weight:400;color:#5b6577}
.contact-label dd{margin:0;word-break:break-word}
.contact-label a{color:var(--navy)!important}
.cl-lic{border-top:2px dashed var(--navy);padding-top:.7rem;font-size:.85rem;letter-spacing:.06em}

.map iframe{display:block;width:100%;height:340px;border:0}

.site-footer{background:var(--navy-d);color:#cfd8ea;padding:2rem 0}
.site-footer a{color:var(--tape)}
.chip{display:inline-block;background:var(--cream);padding:.4rem .8rem;border-radius:6px}
.chip img{width:120px;height:auto;display:block}

@media (max-width:991px){
  .pl-item{grid-template-columns:1fr;gap:.7rem}
  .pl-tag{justify-self:start}
  .section{padding:3.5rem 0}
  .site-nav .navbar-brand img{width:60px}
  .brand-nm{font-size:1.2rem}
  .hero-photo{transform:none}
  .box-label{right:6px}
}
@media (max-width:575px){
  .util-bar .container>span:first-child{display:none}
  .util-bar .container{justify-content:center!important}
  .util-bar a,.util-quote{white-space:nowrap}
  .hero{padding:2rem 0 2.4rem}
  .crew-card{flex-direction:column;gap:.4rem}
  .contact-label{padding:1.8rem 1.3rem}
  .contact-label dl{grid-template-columns:75px 1fr}
}
