/* encounter-coral-bleaching — 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;
  --emerald:#0e8c6b;--emerald2:#5fd4b0;
  --rule-dark:rgba(255,255,255,0.07);
  --rule-paper:rgba(0,0,0,0.09);

  /* Bleaching stage colours */
  --stage-pale:#f4d4a0;--stage-pale2:#8a5a10;
  --stage-white:#f4f0eb;--stage-white2:#4a6a75;
  --stage-fluor:#d4a0d4;--stage-fluor2:#6a1a8a;
  --stage-dead:#3a3a3a;--stage-dead2:#c0c0c0;
}
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;
}
.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;}


.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;
}


.fluor-section{
  background:var(--paper);
  padding:5rem 2.5rem;
}
.fluor-inner{max-width:820px;margin:0 auto;}
.fluor-header{max-width:680px;margin-bottom:2.5rem;}
.fluor-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;
}
.fluor-heading{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.7rem,3vw,2.6rem);
  font-weight:300;color:var(--ink);
  line-height:1.1;letter-spacing:-.3px;margin-bottom:1rem;
}
.fluor-heading em{font-style:italic;color:#6a1a8a;}
.fluor-body{
  font-family:'Crimson Pro',serif;
  font-size:1.2rem;font-weight:400;
  color:var(--ink-light);line-height:1.9;
  margin-bottom:1.25rem;max-width:680px;
}
.fluor-body:last-child{margin-bottom:0;}
.fluor-body em{font-style:italic;color:var(--ink);}

.fluor-card{
  background:#fff;
  border:0.5px solid rgba(0,0,0,0.1);
  border-radius:16px;
  overflow:hidden;
  margin-top:2.5rem;
}
.fluor-card-bar{height:3px;background:linear-gradient(90deg,#d4a0d4,#f4c0d4,#f0d27a);}
.fluor-card-body{padding:2rem 2.25rem;}
.fluor-card-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;
  color:rgba(12,30,46,0.3);margin-bottom:1rem;
}
.fluor-card-heading{
  font-family:'Crimson Pro',serif;
  font-size:1.25rem;font-weight:400;
  color:#4a1B0C;margin-bottom:.75rem;
}
.fluor-colours{display:flex;flex-direction:column;gap:.65rem;}
.fluor-colour{
  display:flex;align-items:flex-start;gap:.9rem;
  font-family:'Crimson Pro',serif;
  font-size:1rem;font-weight:400;
  color:var(--ink-light);line-height:1.55;
}
.fluor-colour-dot{
  width:14px;height:14px;border-radius:50%;
  flex-shrink:0;margin-top:3px;border:0.5px solid rgba(0,0,0,0.1);
}
.fluor-colour strong{font-weight:600;color:var(--ink);}


.stages{background:var(--deep);padding:5rem 2.5rem;}
.stages-inner{max-width:820px;margin:0 auto;}
.stages-header{max-width:680px;margin-bottom:3rem;}
.stages-eyebrow{
  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.3);margin-bottom:.75rem;
}
.stages-heading{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.7rem,3vw,2.5rem);
  font-weight:300;color:#fff;
  line-height:1.1;letter-spacing:-.3px;margin-bottom:1rem;
}
.stages-sub{
  font-family:'Crimson Pro',serif;
  font-size:1.1rem;font-weight:300;font-style:italic;
  color:rgba(232,240,248,0.55);line-height:1.7;
}

.stage-list{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,0.04);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,0.06);}

.stage-item{
  background:var(--deep2);
  padding:2rem 2.25rem;
  display:grid;
  grid-template-columns:80px 1fr;
  gap:1.5rem;
  align-items:start;
  transition:background .2s;
}
.stage-item:hover{background:var(--deep3);}

.stage-marker{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:.2rem;}
.stage-swatch{
  width:36px;height:36px;border-radius:50%;
  border:0.5px solid rgba(255,255,255,0.15);
}
.stage-swatch.pale{background:#EF9F27;}
.stage-swatch.white{background:#f4f0eb;border-color:rgba(255,255,255,0.4);}
.stage-swatch.fluor{background:linear-gradient(135deg,#d4a0d4,#f4c0d4);}
.stage-swatch.dead{background:#3a3a4a;}

.stage-num{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:1.5px;
  color:rgba(232,240,248,0.2);
}

.stage-content{}
.stage-name{
  font-family:'Crimson Pro',serif;
  font-size:1.4rem;font-weight:300;
  color:#fff;margin-bottom:.3rem;letter-spacing:-.2px;
}
.stage-swatch.pale ~ .stage-name,
.stage-item:has(.pale) .stage-name{color:#FAC775;}
.stage-item:has(.pale) .stage-name{color:#FAC775;}
.stage-item:has(.fluor) .stage-name{color:#d4a0d4;}
.stage-item:has(.dead) .stage-name{color:rgba(232,240,248,0.4);}

.stage-char{
  font-family:'Crimson Pro',serif;
  font-size:.9rem;font-weight:300;font-style:italic;
  color:rgba(232,240,248,0.55);
  margin-bottom:1rem;padding-bottom:1rem;
  border-bottom:0.5px solid rgba(255,255,255,0.06);
}
.stage-desc{
  font-family:'Crimson Pro',serif;
  font-size:1rem;font-weight:400;
  color:rgba(232,240,248,0.55);
  line-height:1.75;
}
.stage-desc strong{font-weight:600;color:rgba(232,240,248,0.8);}
.stage-desc em{font-style:italic;color:rgba(232,240,248,0.75);}


.prognosis{background:var(--paper);padding:5rem 2.5rem;}
.prognosis-inner{max-width:680px;margin:0 auto;}
.prognosis-label{
  font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--teal);margin-bottom:1rem;
  display:flex;align-items:center;gap:.75rem;
}
.prognosis-label::after{content:'';flex:1;height:1px;background:rgba(26,155,181,0.2);}
.prognosis-heading{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.6rem,3vw,2.4rem);
  font-weight:300;color:var(--ink);
  line-height:1.1;letter-spacing:-.3px;margin-bottom:1.25rem;
}
.prognosis-body{
  font-family:'Crimson Pro',serif;
  font-size:1.2rem;font-weight:400;
  color:var(--ink-light);line-height:1.9;margin-bottom:1.25rem;
}
.prognosis-body:last-child{margin-bottom:0;}
.prognosis-body em{font-style:italic;color:var(--ink);}
.prognosis-body strong{font-weight:600;color:var(--ink);}

.prognosis-factors{
  display:flex;flex-direction:column;gap:.75rem;
  margin:2rem 0;
  padding:1.75rem 2rem;
  background:rgba(0,0,0,0.04);
  border-radius:14px;
  border:0.5px solid rgba(0,0,0,0.08);
}
.prognosis-factor{
  display:flex;align-items:flex-start;gap:.9rem;
  font-family:'Crimson Pro',serif;
  font-size:1.05rem;font-weight:400;
  color:var(--ink-light);line-height:1.6;
}
.prognosis-factor-dot{
  width:6px;height:6px;border-radius:50%;
  flex-shrink:0;margin-top:.45rem;
}
.prognosis-factor strong{font-weight:600;color:var(--ink);}


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


.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;}
}
