/*
Theme Name: FBIRS v2
Theme URI: https://fleetbayirs.co.uk/
Author: Fleet Bay Inshore Rescue Service
Description: Editable custom theme for Fleet Bay Inshore Rescue Service.
Version: 3.5.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fbirs
*/

:root{
  --orange:#ff5a1f;
  --orange-dark:#e44912;
  --ink:#0b1117;
  --navy:#101820;
  --paper:#f4f2ed;
  --white:#fff;
  --muted:#66717c;
  --line:#d8d9d6;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(9,14,19,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:flex-end}
.nav{display:flex;align-items:center;gap:26px;color:#fff;font-size:14px;font-weight:600}
.nav a:not(.btn):hover{color:var(--orange)}
.menu-toggle{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:4px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:13px;transition:.2s}
.btn-small{padding:10px 17px}
.btn-orange{background:var(--orange);color:#fff}
.btn-orange:hover{background:var(--orange-dark)}
.btn-ghost{border:1px solid rgba(255,255,255,.65);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff;margin-top:20px}
.hero{min-height:790px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 58%;transform:scale(1.02)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,15,.82) 0%,rgba(5,10,15,.48) 50%,rgba(5,10,15,.62) 100%)}
.hero-content{position:relative;z-index:2;padding-top:80px}
.hero-content.hero-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}
.hero-left{display:flex;align-items:center;justify-content:flex-start}
.hero-right{text-align:right;margin-left:auto}
.hero-logo{width:300px;max-width:100%;height:auto;margin:0;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}
.eyebrow,.kicker{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:14px}
.eyebrow{color:#ff8b61}
.hero h1,.section h2{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;line-height:.92;letter-spacing:-.02em}
.hero h1{font-size:clamp(58px,8vw,108px);margin:16px 0 28px;max-width:830px}
.hero h1 span{color:var(--orange)}
.hero-copy{font-size:19px;max-width:650px;color:rgba(255,255,255,.88);margin-left:auto}
.hero-actions{display:flex;gap:12px;margin-top:34px;justify-content:flex-end}
.hero-stat{position:absolute;right:6%;bottom:45px;z-index:3;border-left:3px solid var(--orange);padding-left:18px}
.hero-stat strong{display:block;font-size:58px;line-height:.8}
.hero-stat span{font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.emergency-strip{background:var(--orange);color:#fff}
.emergency-inner{min-height:66px;display:flex;align-items:center;justify-content:center;gap:30px;text-transform:uppercase;letter-spacing:.04em}
.emergency-inner strong{font-size:21px}
.section{padding:105px 0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.kicker{color:var(--muted);margin:0 0 16px}
.kicker.orange{color:var(--orange)}
.kicker.light{color:#ffc1aa}
.section h2{font-size:clamp(44px,5vw,70px);margin:0}
.lead-copy{font-size:19px;color:#36414b}
.lead-copy p:first-child{font-size:24px;line-height:1.45;color:var(--ink);font-weight:600;margin-top:0}
.photo-band{display:grid;grid-template-columns:1.2fr 1fr 1fr;height:390px;overflow:hidden}
.photo-band img{width:100%;height:100%;object-fit:cover}
.dark-section{background:var(--navy);color:#fff}
.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:55px}
.section-heading>p{color:#b8c0c6;font-size:17px;margin:0}
.card-grid{display:grid;gap:20px}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.info-card{border:1px solid rgba(255,255,255,.12);padding:34px;background:rgba(255,255,255,.025)}
.card-num{font-size:18px;color:var(--orange)}
.info-card h3,.launch-copy h3,.contact-box h3{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:30px;margin:45px 0 10px}
.info-card p{color:#c8cdd1}
.launches{background:#fff}
.launches .section-heading>p{color:#53606c}
.launch-feature{display:grid;grid-template-columns:1.3fr .7fr;background:var(--paper);min-height:460px}
.launch-image img{width:100%;height:100%;object-fit:cover}
.launch-copy{padding:55px}
.launch-copy h3{margin:0 0 15px;font-size:40px;line-height:1}
.small-note{font-size:13px;color:#74808b}
.lifeboat{background:var(--paper)}
.lifeboat-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.boat-image-wrap{background:#fff;padding:15px;box-shadow:0 20px 50px rgba(0,0,0,.08)}
.big-copy{font-size:22px;font-weight:600}
.milestones{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;margin-top:25px;font-weight:700;font-size:14px}
.milestones span{color:var(--orange);margin-right:8px}
.history-section{background:#fff}
.history-heading{margin-bottom:45px}
.history-heading>p{color:#53606c}
.history-gallery{display:grid;grid-template-columns:1.4fr .8fr;grid-template-rows:230px 230px;gap:14px;margin-bottom:70px}
.history-photo{position:relative;margin:0;overflow:hidden;background:#111}
.history-photo-large{grid-row:1/3}
.history-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.history-photo:hover img{transform:scale(1.025)}
.history-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:45px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;font-size:13px}
.timeline{max-width:950px;margin-left:auto}
.timeline-item{display:grid;grid-template-columns:170px 1fr;gap:35px;padding:28px 0;border-top:1px solid var(--line)}
.timeline-item:last-child{border-bottom:1px solid var(--line)}
.timeline-year{font-size:26px;font-weight:800;text-transform:uppercase;color:var(--orange)}
.timeline-item h3{font-family:"Arial Narrow",Arial,sans-serif;font-size:30px;text-transform:uppercase;margin:0 0 4px}
.timeline-item p{margin:0;color:#53606c}
.timeline-now{background:var(--paper);padding-left:18px;padding-right:18px;border-top:0}
.gallery-section{background:#0f171e;color:#fff}
.gallery-section .section-heading>p{color:#b8c0c6}
.visual-grid{display:grid;grid-template-columns:1.3fr .7fr;grid-auto-rows:290px;gap:14px}
.visual-card{margin:0;position:relative;overflow:hidden;background:#111}
.visual-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.visual-card:hover img{transform:scale(1.025)}
.visual-card figcaption{position:absolute;left:0;bottom:0;right:0;padding:48px 20px 16px;background:linear-gradient(transparent,rgba(0,0,0,.82));font-family:"Arial Narrow",Arial,sans-serif;font-size:24px;text-transform:uppercase}
.support{background:var(--orange);color:#fff}
.support-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}
.support p{font-size:18px}
.support-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.support-card{background:#fff;color:var(--ink);padding:28px;min-height:220px;display:flex;flex-direction:column;transition:.2s}
.support-card:hover{transform:translateY(-4px)}
.support-card span{text-transform:uppercase;font-size:12px;letter-spacing:.1em;color:var(--orange);font-weight:800}
.support-card strong{font-family:"Arial Narrow",Arial,sans-serif;font-size:30px;line-height:1;text-transform:uppercase;margin-top:35px}
.support-card em{font-style:normal;font-size:12px;color:var(--muted);margin-top:auto}
.update-section{background:#fff}
.update-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.quote-box{background:var(--ink);color:#fff;padding:55px}
.quote-box p{font-family:"Arial Narrow",Arial,sans-serif;font-size:38px;text-transform:uppercase;line-height:1.15;margin-top:0}
.quote-box span{color:#aeb8c0;font-size:13px}
.contact{background:#eef0f1}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.contact-box{background:#fff;padding:42px}
.contact-box h3{margin-top:0}
.footer{background:#080d11;color:#aeb7be;padding:45px 0}
.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:end}
.footer-logo{width:95px;margin-bottom:14px}
.footer p{margin:5px 0;font-size:13px}
.footer-right{text-align:right}
.wp-content{max-width:900px;margin:0 auto;padding:140px 20px 80px}
.wp-content h1{font-size:48px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.news-card{background:#fff;border:1px solid var(--line);padding:24px}
.news-card h3{margin-top:0}
.news-card .date{font-size:12px;text-transform:uppercase;color:var(--orange);font-weight:700}

@media(max-width:900px){
  .nav-wrap{justify-content:space-between}
  .nav{position:absolute;top:82px;left:0;right:0;background:#0b1117;padding:24px 20px;flex-direction:column;align-items:stretch;display:none}
  .nav.open{display:flex}
  .menu-toggle{display:block;background:none;border:1px solid rgba(255,255,255,.4);color:white;padding:8px 12px}
  .hero{min-height:720px}
  .hero-overlay{background:rgba(5,10,15,.72)}
  .hero-content.hero-split{grid-template-columns:1fr;gap:28px}
  .hero-left{justify-content:center}
  .hero-right{text-align:center}
  .hero-right .hero-copy{margin-left:auto;margin-right:auto}
  .hero-right .hero-actions{justify-content:center}
  .hero-logo{width:220px}
  .hero-stat{display:none}
  .two-col,.section-heading,.lifeboat-grid,.support-grid,.update-grid,.contact-grid{grid-template-columns:1fr;gap:35px}
  .card-grid.three,.support-actions,.news-grid{grid-template-columns:1fr}
  .photo-band{height:auto;grid-template-columns:1fr}
  .photo-band img{height:270px}
  .launch-feature{grid-template-columns:1fr}
  .launch-image{height:320px}
  .section{padding:75px 0}
  .history-gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 210px}
  .history-photo-large{grid-column:1/3;grid-row:auto}
  .timeline{margin-left:0}
  .visual-grid{grid-template-columns:1fr;grid-auto-rows:250px}
}
@media(max-width:600px){
  .wrap{width:min(100% - 28px,1180px)}
  .hero{min-height:690px}
  .hero h1{font-size:52px}
  .hero-copy{font-size:16px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-logo{width:190px}
  .emergency-inner{flex-direction:column;gap:2px;padding:13px 0;text-align:center}
  .section h2{font-size:45px}
  .launch-copy{padding:30px}
  .milestones{grid-template-columns:1fr}
  .history-gallery{display:block}
  .history-photo{height:260px;margin-bottom:12px}
  .timeline-item{grid-template-columns:1fr;gap:5px}
  .footer-grid{align-items:start;flex-direction:column}
  .footer-right{text-align:left}
}

.crew-profile-grid,.launch-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.crew-profile,.launch-report-card{background:#fff;color:var(--ink);border:1px solid var(--line);overflow:hidden}
.dark-section .crew-profile{background:rgba(255,255,255,.04);color:#fff;border-color:rgba(255,255,255,.13)}
.crew-profile img,.launch-report-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.crew-profile-body,.launch-report-body{padding:22px}
.crew-profile h3,.launch-report-card h3{font-size:28px;text-transform:uppercase;margin:0 0 6px;font-family:"Arial Narrow",Arial,sans-serif}
.crew-role,.launch-meta{color:var(--orange);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.dark-section .crew-profile p{color:#c8cdd1}
@media(max-width:900px){.crew-profile-grid,.launch-report-grid{grid-template-columns:1fr}}

.crew-ops-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:42px}
.crew-ops-gallery figure{margin:0;position:relative;overflow:hidden;border-radius:2px;background:#111}
.crew-ops-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.crew-ops-gallery figcaption{padding:12px 14px;background:rgba(0,0,0,.5);color:#fff;font-size:13px;letter-spacing:.03em}
@media(max-width:900px){.crew-ops-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.crew-ops-gallery{grid-template-columns:1fr}}

.launches-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:42px}
.launches-gallery figure{margin:0;overflow:hidden;background:#f4f4f4}
.launches-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.launches-gallery figcaption{padding:12px 14px;background:#111;color:#fff;font-size:13px;letter-spacing:.03em}
@media(max-width:900px){.launches-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.launches-gallery{grid-template-columns:1fr}}

/* v2.4 compact image carousels */
.fbirs-carousel-wrap{position:relative;margin-top:28px;padding:0 46px}
.fbirs-carousel{
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:2px 0 10px;
}
.fbirs-carousel::-webkit-scrollbar{display:none}
.fbirs-carousel figure{
  flex:0 0 230px;
  margin:0;
  scroll-snap-align:start;
  overflow:hidden;
  background:#111;
}
.fbirs-carousel img{
  display:block;
  width:100%;
  height:145px;
  object-fit:cover;
}
.fbirs-carousel figcaption{
  min-height:42px;
  padding:9px 11px;
  background:#111;
  color:#fff;
  font-size:12px;
  line-height:1.35;
  letter-spacing:.02em;
}
.fbirs-carousel-btn{
  position:absolute;
  top:62px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f36f21;
  color:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.fbirs-carousel-btn:hover{filter:brightness(.95)}
.fbirs-carousel-btn.prev{left:0}
.fbirs-carousel-btn.next{right:0}
.fbirs-carousel-btn:disabled{opacity:.3;cursor:default}
.crew-ops-gallery,.launches-gallery{display:none!important}
@media(max-width:700px){
  .fbirs-carousel-wrap{padding:0 38px}
  .fbirs-carousel figure{flex-basis:190px}
  .fbirs-carousel img{height:120px}
  .fbirs-carousel-btn{top:50px}
}

/* v2.5 force compact carousel dimensions */
.fbirs-carousel-wrap{
  position:relative!important;
  margin-top:24px!important;
  padding:0 42px!important;
}
.fbirs-carousel{
  display:flex!important;
  grid-template-columns:none!important;
  gap:12px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  scrollbar-width:none!important;
}
.fbirs-carousel figure{
  flex:0 0 170px!important;
  width:170px!important;
  max-width:170px!important;
  margin:0!important;
}
.fbirs-carousel img{
  width:170px!important;
  height:105px!important;
  max-width:170px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.fbirs-carousel figcaption{
  min-height:38px!important;
  padding:7px 9px!important;
  font-size:11px!important;
}
.fbirs-carousel-btn{
  width:30px!important;
  height:30px!important;
  top:39px!important;
  font-size:19px!important;
}
.crew-ops-gallery,.launches-gallery{
  display:none!important;
  height:0!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
}
@media(max-width:700px){
  .fbirs-carousel-wrap{padding:0 34px!important}
  .fbirs-carousel figure{flex-basis:150px!important;width:150px!important;max-width:150px!important}
  .fbirs-carousel img{width:150px!important;max-width:150px!important;height:92px!important}
  .fbirs-carousel-btn{top:32px!important}
}

/* v3.3 AGM announcement strip */
.agm-strip{
  background:#111820;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.agm-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 0;
}
.agm-strip-text{
  margin:0;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:14px;
}
.agm-strip-text span{color:#f36f21}
.agm-strip-link{
  flex:0 0 auto;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.05em;
}
.agm-strip-link:hover{color:#f36f21}
@media(max-width:700px){
  .agm-strip-inner{align-items:flex-start;flex-direction:column;gap:8px}
  .agm-strip-text{font-size:13px}
}

/* Keep destination section headings visible below the fixed navigation. */
#about,#history,#crew,#launches,#lifeboat,#support,#contact{scroll-margin-top:88px}

/* Trustee portrait cards */
.fbirs-trustee-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}
.fbirs-trustee-card{margin:0;background:#fff;border:1px solid #e5e5e5;overflow:hidden}
.fbirs-trustee-card img{display:block;width:100%;height:205px;object-fit:cover;object-position:center 28%}
.fbirs-trustee-info{padding:14px 15px 17px}
.fbirs-trustee-info h3{font-size:19px;line-height:1.2;margin:0 0 5px}
.fbirs-trustee-info p{font-size:13px;margin:0;color:#555}
@media(max-width:850px){.fbirs-trustee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.fbirs-trustee-grid{grid-template-columns:1fr 1fr;gap:10px}.fbirs-trustee-card img{height:155px}.fbirs-trustee-info{padding:10px}.fbirs-trustee-info h3{font-size:16px}}
html{scroll-padding-top:80px}section[id]{scroll-margin-top:80px}
