/* FRDM Agent — Harbor Pilot House at Night */
/* Signal-Beam accent lighthouse theme. Opaque solids only. */

html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.65;
  background-color:#111720;
  color:#E9ECEE;
  overflow-x:hidden;
}
*{box-sizing:border-box}
img,.course-line,.flag-sheet{max-width:100%}
a{color:#E3B23C;text-decoration:none}
a:hover{color:#F1EFE2}

.notable-title{font-size:22px;color:#E3B23C;letter-spacing:.02em}

/* ============ LAMP-ROTATOR NAV ============ */
header.lamprotator{
  position:sticky;top:0;z-index:60;
  background-color:#1B2530;
}
.lamprotator .rail-top{
  display:flex;align-items:stretch;justify-content:space-between;
  max-width:1240px;margin:0 auto;padding:0 24px;
}
.brandplate{
  display:flex;align-items:center;gap:12px;
  background-color:#F1EFE2;color:#0A0E14;
  padding:10px 18px;margin:14px 0;border-radius:3px;
  font-family:"Trebuchet MS",Geneva,sans-serif;
  letter-spacing:.12em;font-weight:800;font-size:17px;
}
.brandplate:hover{color:#0A0E14}
.lamp-glyph{
  position:relative;width:22px;height:22px;flex:0 0 auto;
  background-color:#E3B23C;border-radius:12px;
}
.lamp-glyph::before,.lamp-glyph::after{
  content:"";position:absolute;left:50%;top:50%;
  width:34px;height:1px;background-color:#E3B23C;
  transform-origin:left center;
}
.lamp-glyph::before{  
  transform:translateY(-50%) rotate(28deg);
}
.lamp-glyph::after{
  transform:translateY(-50%) rotate(-28deg);
}
.flag-tabs{display:flex;align-items:stretch;gap:8px}
a.flag-tab{
  display:block;align-self:center;margin:14px 0;
  background-color:#F1EFE2;color:#0A0E14;
  font-family:"Trebuchet MS",Geneva,sans-serif;
  font-weight:700;font-size:14px;letter-spacing:.05em;
  padding:8px 16px;border-radius:3px;
  position:relative;text-transform:uppercase;
  clip-path:polygon(0 0,100% 0,100% 78%,88% 100%,0 100%);
}
a.flag-tab.alert-tab{background-color:#C0503A;color:#F1EFE2}
a.flag-tab:hover{background-color:#E3B23C;color:#0A0E14}
.rail-double{height:4px;background-color:#4C5866;border-top:1px solid #111720;border-bottom:1px solid #111720}
.nav-toggle{display:none}
@media(max-width:860px){
  .flag-tabs{position:absolute;top:66px;left:0;right:0;flex-direction:column;
    background-color:#1B2530;display:none;padding:10px 24px 16px;border-bottom:4px solid #4C5866}
  .flag-tabs.js-open{display:flex}
  a.flag-tab{margin:4px 0;align-self:stretch;clip-path:none}
  .nav-toggle{
    display:block;background:none;border:1px solid #4C5866;color:#E3B23C;
    font-size:22px;font-family:"Trebuchet MS",Geneva,sans-serif;padding:0 14px;
  }
}

/* ============ BEAM-SWEEP HERO ============ */
section.beamsweep{background-color:#0A0E14;color:#F1EFE2}
.hero-top{
  position:relative;min-height:430px;
  background-color:#0A0E14;
  border-bottom:2px solid #1B2530;
  overflow:hidden;
}
.water-glint{position:absolute;left:0;right:0;bottom:0;height:150px;background-color:#0f1620}
.glint-a,.glint-b{position:absolute;height:2px;background-color:#E3B23C}
.glint-a{left:6%;right:38%;top:36px}
.glint-b{left:46%;right:10%;top:86px}
.lighthouse{
  position:absolute;right:10px;bottom:0;width:120px;height:260px;
  background-color:#111720;border:2px solid #1B2530;border-radius:2px;
}
.lighthouse .lens{
  position:absolute;top:8px;left:50%;transform:translateX(-50%);
  width:26px;height:26px;border-radius:13px;background-color:#E3B23C;
}
.beam-a,.beam-b{
  position:absolute;height:22px;width:800px;
  background-color:#E3B23C;top:152px;
  transform-origin:left center;
  opacity:1;
}
.beam-a{right:-760px;transform:rotate(22deg)}
.beam-b{right:-820px;transform:rotate(172deg)}
.hero-copy{
  position:relative;z-index:3;max-width:1240px;margin:0 auto;
  padding:60px 24px 30px;
}
.eyebrow-wrapper{margin-bottom:16px}
.eyebrow{
  display:inline-block;background-color:#111720;color:#E3B23C;
  font-family:"Trebuchet MS",Geneva,sans-serif;letter-spacing:.28em;
  font-size:13px;text-transform:uppercase;border:1px solid #4C5866;padding:6px 14px;
}
.hero-plate{
  max-width:620px;margin-top:22px;
  background-color:#1B2530;border-left:6px solid #E3B23C;
  padding:26px 30px;position:relative;z-index:3;
}
.hero-plate h1{
  margin:0 0 14px;font-size:44px;line-height:1.1;color:#F1EFE2;letter-spacing:.01em;
}
.hero-plate h1 .amp{color:#E3B23C}
.hero-plate p{font-size:18px;color:#E9ECEE;margin:0 0 20px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.btn{
  display:inline-block;font-family:"Trebuchet MS",Geneva,sans-serif;
  font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  padding:14px 24px;border-radius:3px;
}
.btn.signal{background-color:#E3B23C;color:#0A0E14}
.btn.outline{border:2px solid #4C5866;color:#F1EFE2}
.btn.signal:hover{background-color:#F1EFE2}
.btn.outline:hover{background-color:#4C5866;color:#F1EFE2}

.hero-chart{background-color:#F1EFE2;color:#0A0E14}
.chart-band{max-width:1240px;margin:0 auto;padding:30px 24px;position:relative}
.chart-table{
  background-color:#e8e4cf;border:2px solid #0A0E14;
  padding:34px 30px;position:relative;overflow:hidden;border-radius:3px;
  min-height:180px;
}
.chart-table h3{margin:0 0 6px;font-size:24px;color:#0A0E14}
.chart-table p{margin:0 0 40px;max-width:70%;color:#2c2a1f}
.course-line{position:absolute;left:8%;top:24px;height:2px;background-color:#0A0E14}
.telegraph{
  position:absolute;right:30px;top:18px;width:120px;height:150px;
  background-color:#111720;border-radius:4px;border:2px solid #4C5866;
}
.telegraph::after{
  content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);
  width:8px;height:18px;background-color:#E3B23C;
}
.bellpull{
  position:absolute;right:190px;top:8px;width:6px;height:120px;background-color:#C0503A;
}
.bellpull::after{
  content:"";position:absolute;bottom:-8px;left:-9px;
  width:24px;height:24px;background-color:#4C5866;border-radius:12px;
}
.kick-strip{background-color:#0A0E14}
.kick{max-width:1240px;margin:0 auto;padding:18px 24px;display:flex;flex-wrap:wrap;gap:20px}
.kick figure{margin:0;padding-right:26px;border-right:1px solid #4C5866}
.kick figure:last-child{border-right:none}
.kick .stat{font-family:"Trebuchet MS",Geneva,sans-serif;font-size:30px;color:#E3B23C;font-weight:800}
.kick figcaption{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#E9ECEE}

/* ============ SIGNAL-FLAG ROWS ============ */
section.signalflag{background-color:#111720;padding:0 0 10px}
.scope{max-width:1240px;margin:0 auto;padding:0 24px}
.section-head{padding:44px 0 8px}
.section-head h2{
  font-size:32px;margin:0 0 8px;color:#F1EFE2;letter-spacing:.02em;
  border-left:6px solid #E3B23C;padding-left:16px;
}
.section-head .lede{font-size:17px;color:#E9ECEE;margin:0;max-width:720px}

.flag-row{
  position:relative;z-index:1;margin:20px 0 0;
  display:flex;gap:0;
  background-color:#1B2530;
  border-top:1px solid #2b3a4a;border-bottom:1px solid #0A0E14;
}
.flag-row.offset{margin-left:40px;margin-right:0}
.flag-sheet{
  position:relative;flex:0 0 190px;
  background-color:#F1EFE2;
  padding-top:330px;
  display:flex;align-items:flex-end;
}
.flag-sheet .hoist{
  position:absolute;top:0;left:0;right:0;text-align:center;
  background-color:#0A0E14;color:#E3B23C;
  font-family:"Trebuchet MS",Geneva,sans-serif;font-weight:800;
  letter-spacing:.2em;font-size:16px;padding:8px 0;
}
.flag-detail{flex:1 1 auto;padding:34px 40px}
.flag-detail h3{margin:0 0 12px;color:#E3B23C;font-size:26px}
.flag-detail p{margin:0 0 16px;color:#E9ECEE;line-height:1.7}
.flag-detail .details{
  font-family:"Trebuchet MS",Geneva,sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;font-size:13px;color:#F1EFE2;
  border-bottom:2px solid #E3B23C;padding-bottom:2px;display:inline-block;
}
.flag-glyph{
  position:absolute;left:50%;top:70px;transform:translateX(-50%);
  width:120px;height:150px;background-color:#F1EFE2;
  border:2px solid #0A0E14;box-sizing:border-box;
}
.flag-glyph.f1{background:
  linear-gradient(180deg,#E3B23C 0 25%,#F1EFE2 25% 50%,#C0503A 50% 75%,#111720 75% 100%);}
.flag-glyph.f2{background:
  linear-gradient(135deg,#E3B23C 0 33%,#F1EFE2 33% 66%,#0A0E14 66% 100%);}
.flag-glyph.f3{border:2px solid #0A0E14;
  background:repeating-linear-gradient(90deg,#0A0E14 0 14px,#E3B23C 14px 30px);}
.flag-glyph.f4{
  background:radial-gradient(circle at center,#C0503A 0 26px,#F1EFE2 26px);
}
.flag-glyph.f5{background:#F1EFE2}
.flag-glyph.f5::after{
  content:"";position:absolute;inset:0;
  clip-path:polygon(0 0,40% 0,40% 100%,0 100%,0 60%);
  background-color:#1B2530;
}  
.flag-glyph.f6{background:
  conic-gradient(#0A0E14 0 25%,#E3B23C 25% 50%,#F1EFE2 50% 75%,#C0503A 75%);}

/* ==== 24/7 statement band ==== */
.pledge-row{background-color:#1B2530;border-top:2px solid #0A0E14;border-bottom:2px solid #0A0E14;margin-top:12px}
.pledge{max-width:1240px;margin:0 auto;padding:36px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:28px}
.bigfigure{font-family:"Trebuchet MS",Geneva,sans-serif;font-size:90px;font-weight:900;color:#E9ECEE;line-height:1;padding-right:40px;border-right:2px solid #4C5866}
.bigfigure small{display:block;font-size:18px;letter-spacing:.2em;color:#E3B23C}
.pledge p{margin:0;font-size:20px;color:#E9ECEE;max-width:720px}

/* ==== WATCH ROTATION ==== */
section.watch{background-color:#0A0E14}
.watch-head{max-width:1240px;margin:0 auto;padding:44px 24px 0}
.watch-rail{
  max-width:1240px;margin:0 auto;padding:26px 24px 16px;
  position:relative;display:flex;
}
.watch-station{flex:1;position:relative;text-align:center}
.watch-station::before{
  content:"";position:absolute;left:-2%;right:auto;top:22px;
  height:3px;width:100%;border-top:3px dashed #E3B23C;z-index:0;
}
.watch-station:first-child::before{display:none}
.bell-plate{
  position:relative;z-index:2;display:inline-block;
  background-color:#1B2530;border:2px solid #4C5866;
  width:96px;height:96px;border-radius:50%;
  font-family:"Trebuchet MS",Geneva,sans-serif;font-weight:800;
  font-size:15px;letter-spacing:.04em;color:#E3B23C;
  line-height:1.2;padding-top:30px;
}
.watch-station.rung .bell-plate{background-color:#E3B23C;color:#0A0E14}
.watch-station.caption{color:#E9ECEE;padding:10px 14px 30px;font-size:14.5px;text-align:center}
.station-caption{color:#E9ECEE;padding:0 14px 30px;font-size:15px}
.rung-twice .bell-plate{border-color:#E3B23C;box-shadow:0 0 0 4px #1B2530,0 0 0 6px #C0503A}

/* ============ ACCENT ALL-HANDS ============ */
section.allhands{background-color:#E3B23C;color:#0A0E14}
.allhands-inner{max-width:1240px;margin:0 auto;padding:34px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.stamp{font-family:"Trebuchet MS",Geneva,sans-serif;border:2px solid #0A0E14;color:#0A0E14;padding:10px 16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.allhands-text{flex:1 1 340px;font-size:20px;color:#0A0E14;font-weight:700}
.allhands-text b{text-transform:uppercase;letter-spacing:.04em}
.btn.darkbg{background-color:#111720;color:#F1EFE2}
.btn.darkbg:hover{background-color:#1B2530}

/* ============ CHART-ROOM FOOTER ============ */
footer.chartroom{background-color:#0A0E14;color:#E9ECEE}
.chart-rack{background-color:#0A0E14;border-top:3px solid #1B2530;border-bottom:2px solid #0a0f16}
.rack-inner{max-width:1240px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.rolled{position:relative;height:70px;width:56px;flex:0 0 auto;background-color:#F1EFE2;border-radius:0 30px 30px 0}
.rolled .band{position:absolute;top:6px;bottom:6px;width:18px;left:6px;background-color:#E3B23C}
.motto{font-family:"Trebuchet MS",Geneva,sans-serif;letter-spacing:.18em;color:#F1EFE2;font-size:16px;font-weight:800;text-transform:uppercase;margin-left:14px}
.foot-links{max-width:1240px;margin:0 auto;padding:0 24px;gap:20px;display:flex;align-items:stretch;justify-content:space-between;flex-wrap:wrap}
.linkcol{flex:1 1 260px;background-color:#1B2530;padding:26px;margin:16px 0;position:relative;z-index:1}
.linkcol h4{margin:0 0 10px;color:#E3B23C;font-family:"Trebuchet MS",Geneva,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.linkcol li{list-style:none;margin:0;padding:6px 0}
.linkcol ul{margin:0;padding:0}
.linkcol a{color:#F1EFE2;border-bottom:1px solid transparent}
.linkcol a:hover{color:#E3B23C;border-bottom-color:#E3B23C}
.engine-plate{margin:10px 24px 0;padding:22px 28px;background-color:#4C5866;color:#0A0E14;font-family:"Trebuchet MS",Geneva,sans-serif}
.engine-plate h5{margin:0 0 6px;color:#0A0E14;letter-spacing:.14em;font-size:15px;text-transform:uppercase}
.engine-plate .plate-row{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center}
.engine-plate .plate-row span{font-size:14px;font-weight:700;letter-spacing:.02em}
.copyright{max-width:1240px;margin:0 auto;padding:20px 24px;text-align:left;color:#B8C1CC;font-size:14px}

/* reveal-safe */
.js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.js [data-reveal].revealed{opacity:1;transform:none}

/* contact */
.contact-form label{display:block;margin-bottom:16px;color:#E3B23C;font-family:"Trebuchet MS",Geneva,sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.contact-form input,.contact-form textarea{
  display:block;width:100%;margin-top:6px;padding:12px 14px;
  background-color:#0A0E14;border:1px solid #4C5866;color:#F1EFE2;
  font-family:Georgia,serif;font-size:16px;border-radius:3px;
}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#E3B23C}
.contact-form textarea{line-height:1.6;min-height:150px}
.faq-item{background-color:#1B2530;padding:26px 30px;margin:16px 0;}
.faq-item h3{margin:0 0 8px}
.faq-item p{margin:0;line-height:1.7}
.process-cols p{columns:auto}
@media(max-width:720px){.process-cols{columns:1}}

@media(max-width:920px){
  .flag-row{flex-direction:column}
  .flag-row.offset{margin-left:0}
  .flag-sheet{width:100%;flex:0 0 auto;padding-top:180px;min-height:150px}
  .flag-glyph{width:110px;height:130px}
  .watch-rail{flex-direction:column}
  .watch-station::before{display:none}
  .bigfigure{font-size:60px}
}
