/* liveaboard-reality — migrated from SCUBA DIVER NETWORK - NEW ARTICTURE */

*{margin:0;padding:0;box-sizing:border-box;}

:root{
  /* Liveaboard world — deep teal-navy + amber gold */
  --deep:#061a1f;
  --deep2:#082028;
  --deep3:#0a2530;
  --warm:#f2ede6;
  --warm2:#e8e1d8;
  --ink:#1a2e35;
  --ink-light:#2a3e45;
  --ink-faint:#4a6a75;
  --amber:#c9932a;
  --amber2:#e8b86a;
  --amber3:rgba(201,147,42,0.15);
  --teal:#1a9bb5;
  --teal2:#7dd3e8;
  --rule-dark:rgba(255,255,255,0.07);
  --rule-warm:rgba(0,0,0,0.09);
  --rule-amber:rgba(201,147,42,0.3);
}

html{scroll-behavior:smooth;}
body{
  font-family:'Crimson Pro',serif;
  background:var(--warm);
  color:var(--ink);
  overflow-x:hidden;
}


#reading-progress{
  position:fixed;top:0;left:0;
  width:0%;height:2px;
  background:var(--amber);
  z-index:1000;
  transition:width .1s linear;
}


.hero{
  background:var(--deep);
  min-height:90vh;
  display:flex;flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
  padding:5rem 2.5rem 5.5rem;
}

/* Atmospheric texture overlay */
.hero-texture{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 15% 60%, rgba(26,155,181,0.06) 0%, transparent 70%),
    radial-gradient(ellipse 40% 60% at 85% 30%, rgba(201,147,42,0.05) 0%, transparent 70%),
    radial-gradient(ellipse 80% 40% at 50% 100%, rgba(6,26,31,0.8) 0%, transparent 60%);
  pointer-events:none;
}

/* Ghost numeral — larger, more present */
.hero-ghost-num{
  position:absolute;
  bottom:-2rem;right:-1rem;
  font-family:'Crimson Pro',serif;
  font-size:clamp(16rem,35vw,30rem);
  font-weight:200;
  color:rgba(255,255,255,0.025);
  line-height:1;
  user-select:none;
  pointer-events:none;
  letter-spacing:-10px;
}

.hero-inner{
  position:relative;z-index:2;
  max-width:800px;margin:0 auto;width:100%;
}

.hero-label{
  font-family:'Crimson Pro',serif;
  font-size:13px;font-weight:600;
  letter-spacing:1.5px;text-transform:uppercase;
  color:var(--amber);
  margin-bottom:1.5rem;
  display:flex;align-items:center;gap:12px;
  opacity:0;animation:fadeUp .8s ease .2s forwards;
}
.hero-label-line{
  width:28px;height:1px;
  background:var(--amber);opacity:.5;
}

.hero-title{
  font-family:'Crimson Pro',serif;
  font-size:clamp(2.8rem,8vw,7rem);
  font-weight:200;
  line-height:.92;
  letter-spacing:-3px;
  color:#ffffff;
  margin-bottom:1.25rem;
  opacity:0;animation:fadeUp .9s ease .35s forwards;
}
.hero-title em{
  font-style:italic;
  color:var(--amber2);
  display:block;
}

.hero-caption{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.1rem,2vw,1.5rem);
  font-weight:300;font-style:italic;
  color:rgba(232,184,106,0.85);
  margin-bottom:2.5rem;
  opacity:0;animation:fadeUp .9s ease .5s forwards;
}

.hero-rule{
  width:48px;height:1px;
  background:var(--rule-amber);
  margin-bottom:1.5rem;
  opacity:0;animation:fadeUp .9s ease .6s forwards;
}

.hero-opening{
  font-size:19px;font-weight:400;
  color:rgba(232,240,248,0.75);
  max-width:540px;
  line-height:1.8;
  opacity:0;animation:fadeUp .9s ease .7s forwards;
}


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


.article{
  background:var(--warm);
  padding:0 2.5rem;
}
.article-inner{
  max-width:700px;
  margin:0 auto;
  padding:5rem 0 6rem;
}
#article-body{
  scroll-margin-top:70px;
}


.section{margin-bottom:4rem;}
.section-header{
  margin-bottom:2rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid var(--rule-warm);
  position:relative;
}
.section-header::after{
  content:'';
  position:absolute;
  bottom:-1px;left:0;
  width:32px;height:1px;
  background:var(--amber);
}
.section-num{
  font-family:'Crimson Pro',serif;
  font-size:13px;font-weight:600;
  letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:.5rem;display:block;
}
.section-title{
  font-family:'Crimson Pro',serif;
  font-size:clamp(1.7rem,3vw,2.3rem);
  font-weight:300;
  color:var(--ink);
  line-height:1.1;letter-spacing:-.3px;
}


.section p{
  font-size:19px;font-weight:400;
  color:var(--ink-light);
  line-height:1.9;
  margin-bottom:1.5rem;
}
.section p:last-child{margin-bottom:0;}
.section p strong{font-weight:500;color:var(--ink);}


.pull-quote{
  margin:2.5rem 0;
  padding:0 0 0 1.5rem;
  border-left:2px solid var(--amber);
}
.pull-quote-text{
  font-family:'Crimson Pro',serif;
  font-size:1.5rem;
  font-weight:300;font-style:italic;
  color:var(--ink);
  line-height:1.5;
}


.reality-check{
  background:var(--deep);
  border-radius:16px;
  padding:2.5rem 2.75rem;
  margin:2.5rem 0;
  position:relative;
  overflow:hidden;
}
.reality-check::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,var(--amber),rgba(201,147,42,0));
}
.rc-label{
  font-family:'Crimson Pro',serif;
  font-size:13px;font-weight:600;
  letter-spacing:1.5px;text-transform:uppercase;
  color:var(--amber);
  opacity:.7;
  margin-bottom:1rem;
}
.rc-text{
  font-family:'Crimson Pro',serif;
  font-size:1.2rem;font-weight:300;font-style:italic;
  color:rgba(232,240,248,0.8);
  line-height:1.65;
}
.rc-text strong{
  color:var(--amber2);
  font-style:normal;font-weight:400;
}


.stat-pair{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--rule-warm);
  border:1px solid var(--rule-warm);
  border-radius:14px;
  overflow:hidden;
  margin:2rem 0;
}
.stat-cell{
  background:var(--warm);
  padding:1.25rem 1.5rem;
}
.stat-label{
  font-family:'Crimson Pro',serif;
  font-size:13px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:.4rem;
}
.stat-val{
  font-family:'Crimson Pro',serif;
  font-size:1.6rem;font-weight:300;
  color:var(--ink);line-height:1;
  margin-bottom:.2rem;
}
.stat-desc{
  font-size:19px;font-weight:400;
  color:var(--ink-faint);line-height:1.5;
}


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


.connected{
  background:var(--deep);
  padding:4rem 2.5rem;
}
.connected-inner{max-width:700px;margin:0 auto;}
.connected-label{
  font-family:'Crimson Pro',serif;
  font-size:13px;font-weight:600;
  letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(201,147,42,0.5);
  margin-bottom:2rem;
}
.connected-item{
  padding:1.25rem 0;
  border-bottom:1px solid rgba(255,255,255,0.06);
  text-decoration:none;display:block;
  transition:all .2s;
}
.connected-item:last-child{border-bottom:none;}
.connected-item:hover h3{color:var(--amber2);}
h3.connected-title{
  font-family:'Crimson Pro',serif;
  font-size:1.2rem;font-weight:300;
  color:rgba(232,240,248,0.85);
  margin-bottom:.4rem;
  transition:color .2s;
}
.connected-desc{
  font-size:17px;font-weight:400;
  color:rgba(232,240,248,0.65);
  line-height:1.6;
}


.site-footer{
  background:var(--deep2);
  padding:2.5rem;
  border-top:1px solid var(--rule-dark);
}
.footer-inner{
  max-width:700px;margin:0 auto;
  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.70);
}
.footer-brand span{color:var(--teal);font-style:italic;}
.footer-links{
  display:flex;align-items:center;
  gap:1.5rem;flex-wrap:wrap;
}
.footer-links a{
  font-size:16px;font-weight:400;
  color:rgba(232,240,248,0.55);
  text-decoration:none;transition:color .2s;
}
.footer-links a:hover{color:rgba(232,240,248,0.7);}
.footer-dan{color:var(--amber) !important;font-weight:500 !important;}
.footer-copy{
  font-size:14px;font-weight:400;
  color:rgba(232,240,248,0.40);
  font-family:'Crimson Pro',serif;
  width:100%;margin-top:.5rem;
}


@keyframes fadeUp{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}
.reveal{
  opacity:0;transform:translateY(20px);
  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;}


@media(max-width:640px){
  .breadcrumb{display:none;}
  .topbar{padding:0 1.25rem;}
  .hero{padding:4rem 1.25rem;}
  .article{padding:0 1.25rem;}
  .connected{padding:3rem 1.25rem;}
  .site-footer{padding:2rem 1.25rem;}
  .pull-quote-text{font-size:1.25rem;}
}
@media(min-width:640px){
  body{padding-top:60px;}
  .topbar{height:60px;padding:0 2rem;}
  .breadcrumb{display:flex;align-items:center;gap:8px;}
}
@media(min-width:900px){
  body{padding-top:64px;}
  .topbar{height:64px;padding:0 2.5rem;}
  .ham-btn{display:none;}
}
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,0);z-index:590;pointer-events:none;transition:background .35s ease;}
.nav-overlay.open{background:rgba(0,0,0,0.6);pointer-events:all;}
.nav-drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:#07121e;z-index:600;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,0.08);overflow-y:auto;}
.nav-drawer.open{transform:translateX(0);}
.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,0.07);flex-shrink:0;}
.drawer-logo{font-family:'Crimson Pro',serif;font-size:22px;font-weight:400;color:#fff;text-decoration:none;letter-spacing:-.2px;}
.drawer-logo span{color:#1a9bb5;font-style:italic;}
.drawer-close{width:36px;height:36px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;color:rgba(255,255,255,0.5);transition:all .2s;font-size:22px;line-height:1;}
.drawer-close:hover{background:rgba(255,255,255,0.08);color:#fff;}
.drawer-nav{padding:1rem 0;flex:1;}
.drawer-section{margin-bottom:.5rem;}
.drawer-section-label{font-family:'Crimson Pro',serif;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.35);padding:.75rem 1.5rem .4rem;display:block;}
.drawer-link{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;text-decoration:none;font-size:16px;font-weight:400;color:rgba(255,255,255,0.75);transition:all .2s;border-left:2px solid transparent;}
.drawer-link:hover{color:#fff;background:rgba(255,255,255,0.05);border-left-color:#1a9bb5;}
.drawer-link.active{color:#fff;border-left-color:#1a9bb5;background:rgba(26,155,181,0.08);}
.drawer-link svg{opacity:.3;flex-shrink:0;}
.drawer-link:hover svg{opacity:.7;}
.drawer-divider{height:1px;background:rgba(255,255,255,0.06);margin:.5rem 1.5rem;}
.drawer-dan{padding:1.25rem 1.5rem;border-top:1px solid rgba(255,255,255,0.07);flex-shrink:0;}
.drawer-dan a{font-size:13px;font-weight:500;color:#1a9bb5;text-decoration:none;}
.drawer-dan a:hover{color:#7dd3e8;}
