/* encounter-reef-health — migrated from SCUBA DIVER NETWORK - NEW ARTICTURE */

*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --deep:#07121e;--deep2:#0a1a2e;--deep3:#0d2038;
  --paper:#f4f0eb;--paper2:#ece8e2;
  --ink:#0c1e2e;--ink-light:#2a3e45;--ink-faint:#4a6a75;
  --teal:#1a9bb5;--teal2:#7dd3e8;
  --teal-rule:rgba(26,155,181,0.28);
  --emerald:#0e8c6b;--emerald2:#5fd4b0;
  --rule-dark:rgba(255,255,255,0.07);
  --rule-paper:rgba(0,0,0,0.09);

  /* State accent colours */
  --healthy:#2dd4a0;--healthy2:#7eecd0;
  --stressed:#e8b86a;--stressed2:#f4d4a0;
  --degraded:#e05a3a;--degraded2:#f4a58a;
  --recovering:#a8d4f0;--recovering2:#d4edfb;
}
html{scroll-behavior:smooth;}
body{font-family:'Crimson Pro',serif;background:var(--deep);color:#e8f0f8;overflow-x:hidden;}


.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1000;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--emerald),var(--emerald2));width:0%;transition:width .1s linear;}


@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}


.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.rd1{transition-delay:.1s;}.rd2{transition-delay:.2s;}.rd3{transition-delay:.3s;}


.breadcrumb{
  position:relative;z-index:2;
  padding:6rem 2.5rem 0;
  max-width:820px;margin:0 auto;
  display:flex;align-items:center;gap:.6rem;
  font-family:'DM Sans',sans-serif;
  font-size:11px;font-weight:500;letter-spacing:.5px;
}
.bc-link{color:rgba(232,240,248,0.3);text-decoration:none;transition:color .2s;}
.bc-link:hover{color:rgba(232,240,248,0.7);}
.bc-sep{color:rgba(232,240,248,0.2);}
.bc-current{color:var(--emerald2);}


.article-header{
  padding:2.5rem 2.5rem 4rem;
  max-width:820px;margin:0 auto;
  position:relative;
}
.article-category{
  display:flex;align-items:center;gap:.75rem;
  font-family:'DM Sans',sans-serif;
  font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--emerald2);
  margin-bottom:1.75rem;
  opacity:0;animation:fadeUp .8s ease .1s forwards;
}
.article-category-line{width:24px;height:1px;background:var(--emerald);opacity:.6;}

.article-title{
  font-family:'Crimson Pro',serif;
  font-size:clamp(2.8rem,7vw,5.5rem);
  font-weight:200;
  line-height:.92;
  letter-spacing:-2.5px;
  color:#fff;
  margin-bottom:1.5rem;
  opacity:0;animation:fadeUp .9s ease .2s forwards;
}
.article-title em{font-style:italic;color:var(--emerald2);}

.article-rule{
  width:48px;height:1px;
  background:rgba(95,212,176,0.3);
  margin-bottom:1.5rem;
  opacity:0;animation:fadeUp .9s ease .35s forwards;
}

.article-standfirst{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.15rem,2vw,1.5rem);
  font-weight:300;font-style:italic;
  color:rgba(126,236,208,0.8);
  line-height:1.65;
  max-width:640px;
  opacity:0;animation:fadeUp .9s ease .45s forwards;
}

.article-meta{
  display:flex;align-items:center;gap:2rem;
  margin-top:2.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--rule-dark);
  opacity:0;animation:fadeUp .9s ease .55s forwards;
  flex-wrap:wrap;
}
.article-meta-item{
  display:flex;flex-direction:column;gap:3px;
}
.article-meta-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:rgba(232,240,248,0.25);
}
.article-meta-val{
  font-family:'Crimson Pro',serif;
  font-size:1rem;font-weight:400;
  color:rgba(232,240,248,0.6);
}


.wave{display:block;width:100%;line-height:0;}


.opening{
  background:var(--paper);
  padding:5rem 2.5rem;
}
.opening-inner{max-width:680px;margin:0 auto;}
.opening-text{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.2rem,2vw,1.55rem);
  font-weight:300;
  color:var(--ink-light);
  line-height:1.95;
  margin-bottom:1.5rem;
}
.opening-text:first-child{
  font-size:clamp(1.3rem,2.2vw,1.7rem);
  color:var(--ink);
  font-style:italic;
}
.opening-text:last-child{margin-bottom:0;}


.article-body{
  background:var(--deep);
  padding:5rem 2.5rem;
}
.article-body-inner{max-width:680px;margin:0 auto;}

.section-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:rgba(232,240,248,0.25);
  margin-bottom:1rem;
  display:flex;align-items:center;gap:.75rem;
}
.section-label::after{content:'';flex:1;height:1px;background:rgba(255,255,255,0.06);}

.body-heading{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:300;
  color:#fff;
  line-height:1.1;
  letter-spacing:-.3px;
  margin-bottom:1.25rem;
}

.body-text{
  font-family:'Crimson Pro',serif;
  font-size:1.2rem;
  font-weight:400;
  color:rgba(232,240,248,0.62);
  line-height:1.9;
  margin-bottom:1.5rem;
}
.body-text:last-child{margin-bottom:0;}
.body-text em{font-style:italic;color:rgba(232,240,248,0.85);}
.body-text strong{font-weight:600;color:rgba(232,240,248,0.85);}

.body-divider{
  width:100%;height:1px;
  background:var(--rule-dark);
  margin:3.5rem 0;
}


.look-for{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:16px;
  padding:2rem 2.25rem;
  margin:2.5rem 0;
}
.look-for-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:rgba(232,240,248,0.3);
  margin-bottom:1.25rem;
}
.look-for-list{
  display:flex;flex-direction:column;gap:.85rem;
}
.look-for-item{
  display:flex;align-items:flex-start;gap:.9rem;
}
.look-for-dot{
  width:6px;height:6px;border-radius:50%;
  flex-shrink:0;margin-top:.55rem;
}
.look-for-text{
  font-family:'Crimson Pro',serif;
  font-size:1.05rem;font-weight:400;
  color:rgba(232,240,248,0.62);
  line-height:1.7;
}
.look-for-text strong{font-weight:600;color:rgba(232,240,248,0.85);}


.states{
  background:var(--paper);
  padding:5rem 2.5rem;
}
.states-inner{max-width:820px;margin:0 auto;}
.states-header{
  max-width:680px;
  margin-bottom:3rem;
}
.states-eyebrow{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--teal);margin-bottom:.75rem;
}
.states-heading{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.7rem,3vw,2.5rem);
  font-weight:300;color:var(--ink);
  line-height:1.1;letter-spacing:-.3px;
  margin-bottom:1rem;
}
.states-sub{
  font-family:'Crimson Pro',serif;
  font-size:1.1rem;font-weight:300;font-style:italic;
  color:var(--ink-faint);line-height:1.7;
}
.states-legend{
  display:flex;align-items:center;gap:1.25rem;
  margin-bottom:2rem;flex-wrap:wrap;
}
.states-legend-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink-faint);
}
.states-legend-item{
  display:flex;align-items:center;gap:6px;
  font-family:'DM Sans',sans-serif;
  font-size:11px;color:var(--ink-light);
}
.states-legend-pip{width:14px;height:14px;border-radius:50%;}

/* Reference panel grid */
.state-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

.state-card{
  background:#fff;
  border:0.5px solid rgba(0,0,0,0.1);
  border-radius:16px;
  overflow:hidden;
}
.state-card-bar{height:3px;}
.state-card.healthy .state-card-bar{background:linear-gradient(90deg,#1D9E75,#5DCAA5);}
.state-card.stressed .state-card-bar{background:linear-gradient(90deg,#EF9F27,#FAC775);}
.state-card.degraded .state-card-bar{background:linear-gradient(90deg,#D85A30,#F0997B);}
.state-card.recovering .state-card-bar{background:linear-gradient(90deg,#378ADD,#85B7EB);}

.state-card-body{padding:16px 18px 18px;}
.state-num{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:1.5px;
  color:rgba(12,30,46,0.3);margin-bottom:5px;
}
.state-name{
  font-family:'Crimson Pro',serif;
  font-size:1.5rem;font-weight:300;
  margin-bottom:3px;letter-spacing:-.2px;
}
.state-card.healthy .state-name{color:#085041;}
.state-card.stressed .state-name{color:#633806;}
.state-card.degraded .state-name{color:#791F1F;}
.state-card.recovering .state-name{color:#0C447C;}

.state-tag{
  font-family:'Crimson Pro',serif;
  font-size:.9rem;font-weight:300;font-style:italic;
  color:var(--ink-faint);
  margin-bottom:12px;
  padding-bottom:12px;
  border-bottom:0.5px solid rgba(0,0,0,0.08);
}

/* Signal indicators */
.state-indicators-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(12,30,46,0.3);margin-bottom:8px;
}
.state-indicators{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:4px;margin-bottom:14px;
}
.state-ind{display:flex;flex-direction:column;align-items:center;gap:4px;}
.state-ind-pip{
  width:26px;height:26px;border-radius:50%;
  border:0.5px solid rgba(0,0,0,0.1);
}
.state-ind-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;color:var(--ink-faint);
  text-align:center;line-height:1.3;
}

/* pip fills */
.pip-full-h{background:#1D9E75;border-color:#1D9E75;}
.pip-full-s{background:#EF9F27;border-color:#EF9F27;}
.pip-full-d{background:#D85A30;border-color:#D85A30;}
.pip-full-r{background:#378ADD;border-color:#378ADD;}
.pip-half-h{background:linear-gradient(135deg,#1D9E75 50%,#E1F5EE 50%);}
.pip-half-s{background:linear-gradient(135deg,#EF9F27 50%,#FAEEDA 50%);}
.pip-half-r{background:linear-gradient(135deg,#378ADD 50%,#E6F1FB 50%);}
.pip-low-h{background:#9FE1CB;}
.pip-low-s{background:#FAC775;}
.pip-low-d{background:#F5C4B3;}
.pip-low-r{background:#B5D4F4;}
.pip-none{background:#F1EFE8;}

/* Signal list */
.state-signals{
  display:flex;flex-direction:column;gap:6px;
  border-top:0.5px solid rgba(0,0,0,0.06);
  padding-top:12px;
}
.state-signal{
  display:flex;align-items:flex-start;gap:8px;
  font-family:'Crimson Pro',serif;
  font-size:.95rem;font-weight:400;
  color:var(--ink-light);line-height:1.5;
}
.state-signal-dot{
  width:5px;height:5px;border-radius:50%;
  flex-shrink:0;margin-top:5px;
}
.state-card.healthy .state-signal-dot{background:#1D9E75;}
.state-card.stressed .state-signal-dot{background:#EF9F27;}
.state-card.degraded .state-signal-dot{background:#D85A30;}
.state-card.recovering .state-signal-dot{background:#378ADD;}
.state-signal strong{font-weight:600;color:var(--ink);}

.states-footnote{
  font-family:'Crimson Pro',serif;
  font-size:.95rem;font-weight:300;font-style:italic;
  color:var(--ink-faint);
  margin-top:1.25rem;
  padding-top:1.25rem;
  border-top:0.5px solid rgba(0,0,0,0.08);
}


.pull-quote{
  background:var(--deep2);
  border-left:2px solid var(--emerald);
  padding:2rem 2.5rem;
  margin:3.5rem 0;
  border-radius:0 12px 12px 0;
}
.pull-quote-text{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.25rem,2.5vw,1.65rem);
  font-weight:300;font-style:italic;
  color:rgba(232,240,248,0.85);
  line-height:1.65;
}


.article-close{
  background:var(--deep);
  padding:5rem 2.5rem;
}
.article-close-inner{max-width:680px;margin:0 auto;}


.next-article{
  background:var(--deep2);
  border-top:1px solid var(--rule-dark);
  padding:3.5rem 2.5rem;
}
.next-inner{
  max-width:820px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.next-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:rgba(232,240,248,0.3);
  margin-bottom:.5rem;
}
.next-title{
  font-family:'Crimson Pro',serif;
  font-size:1.5rem;font-weight:300;
  color:#fff;letter-spacing:-.2px;
}
.next-cta{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:'DM Sans',sans-serif;
  font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:var(--emerald2);
  text-decoration:none;
  white-space:nowrap;
  transition:gap .2s;
}
.next-cta:hover{gap:.9rem;}
.next-cta svg{width:13px;height:13px;}


.site-footer{background:var(--deep2);border-top:1px solid var(--rule-dark);}
.footer-inner{max-width:1100px;margin:0 auto;padding:2.5rem 2.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.footer-brand{font-family:'Crimson Pro',serif;font-size:20px;font-weight:400;color:rgba(232,240,248,0.5);}
.footer-brand span{color:var(--teal);font-style:italic;}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;}
.footer-links a{font-family:'DM Sans',sans-serif;font-size:13px;color:rgba(232,240,248,0.3);text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:rgba(232,240,248,0.7);}
.footer-dan{color:var(--teal) !important;font-weight:600;}
.footer-copy{font-family:'DM Sans',sans-serif;font-size:12px;color:rgba(232,240,248,0.2);width:100%;margin-top:.25rem;}


@media(max-width:640px){
  .topbar-bc{display:none;}
  .topbar{padding:0 1.25rem;}
  .hero{padding:0 1.25rem 4rem;min-height:80vh;}
  .articles{padding:3.5rem 1.25rem;}
  .teaches{padding:3.5rem 1.25rem;}
  .section-nav{padding:2.5rem 1.25rem;}
  .footer-notify{padding:2rem 1.25rem;}
  .footer-cols{grid-template-columns:1fr;padding:2rem 1.25rem;}
  .footer-bot{padding:1.25rem;}
}
@media(min-width:640px){
  body{padding-top:60px;}
  .topbar{height:60px;padding:0 2rem;}
  .topbar-bc{display:flex;align-items:center;gap:8px;}
  .articles{padding:4rem 2rem;}
  .teaches{padding:4rem 2rem;}
  .section-nav{padding:3rem 2rem;}
  .footer-notify{padding:2.5rem 2rem;}
  .footer-cols{grid-template-columns:1fr 1fr;padding:2.5rem 2rem;}
  .footer-bot{padding:1.5rem 2rem;}
}
@media(min-width:900px){
  body{padding-top:64px;}
  .topbar{height:64px;padding:0 2.5rem;}
  .ham-btn{display:none;}
  .articles{padding:5rem 2.5rem;}
  .teaches{padding:5rem 2.5rem;}
  .section-nav{padding:4rem 2.5rem;}
  .footer-notify{padding:3rem 2.5rem;}
  .footer-cols{grid-template-columns:repeat(4,1fr);padding:3rem 2.5rem;}
  .footer-bot{padding:1.5rem 2.5rem;}
}
