/* =========================================================
   PLUNGE PEAK — DESIGN TOKENS
   ========================================================= */
:root{
  --navy:#0B3D62;
  --navy-dark:#082C47;
  --ice:#EAF4FA;
  --ice-soft:#F5FAFC;
  --teal:#2EA8B8;
  --teal-dark:#228795;
  --white:#FFFFFF;
  --slate:#1F2937;
  --muted:#5B7A99;
  --border:#D9E6EE;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --shadow-sm:0 1px 3px rgba(11,61,98,0.08);
  --shadow-md:0 6px 20px rgba(11,61,98,0.10);
  --max:1180px;
  --font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; font-family:var(--font-body); color:var(--slate); background:var(--white);
  line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block;}
a{color:var(--teal-dark); text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{
  font-family:var(--font-display); color:var(--navy-dark); line-height:1.2;
  margin:0 0 .5em; font-weight:700; letter-spacing:-0.01em;
}
p{margin:0 0 1em;}
button{font-family:inherit;}
.container{max-width:var(--max); margin:0 auto; padding:0 24px;}
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0; padding:0; margin:-1px;
}
.skip-link{
  position:absolute; left:-999px; top:0; background:var(--navy); color:#fff;
  padding:.7em 1.2em; z-index:1000; border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:3px solid var(--teal); outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}

/* HEADER */
.site-header{position:sticky; top:0; z-index:200; background:var(--white); border-bottom:1px solid var(--border);}
.site-header .container{display:flex; align-items:center; justify-content:space-between; height:76px;}
.site-branding{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--navy-dark);}
.site-branding:hover{text-decoration:none;}
.site-logo-icon{width:34px; height:34px; flex-shrink:0;}
.site-title{font-family:var(--font-display); font-weight:700; font-size:1.3rem; color:var(--navy-dark); letter-spacing:-0.01em; margin:0;}
.custom-logo-link img{height:34px; width:auto;}

.primary-nav{display:flex;}
.primary-nav ul{list-style:none; display:flex; gap:2rem; margin:0; padding:0;}
.primary-nav a{color:var(--slate); font-weight:500; font-size:.95rem; position:relative; padding:.3rem 0;}
.primary-nav a:hover{color:var(--navy); text-decoration:none;}
.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a{color:var(--navy); font-weight:600;}
.primary-nav .current-menu-item > a::after,
.primary-nav .current_page_item > a::after{content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--teal);}

.menu-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px; width:44px; height:44px; align-items:center; justify-content:center;}
.menu-toggle svg{width:24px; height:24px; color:var(--navy-dark);}
.mobile-nav{display:none;}

@media (max-width:900px){
  .primary-nav{display:none;}
  .menu-toggle{display:flex;}
  .mobile-nav{
    display:block; position:fixed; inset:76px 0 0 0; background:var(--white);
    transform:translateX(100%); transition:transform .25s ease; overflow-y:auto; z-index:199; padding:1.5rem;
  }
  .mobile-nav.is-open{transform:translateX(0);}
  .mobile-nav ul{list-style:none; margin:0; padding:0;}
  .mobile-nav li{border-bottom:1px solid var(--border);}
  .mobile-nav a{display:block; padding:1rem .25rem; font-size:1.05rem; font-weight:500; color:var(--slate);}
}

/* HERO */
.hero{background:var(--white); padding:64px 0;}
.hero .container{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.hero-title{font-size:clamp(2.2rem,4vw,3.2rem); margin-bottom:.4em;}
.hero-desc{color:var(--muted); font-size:1.1rem; max-width:480px; margin-bottom:1.6rem;}
.btn{
  display:inline-flex; align-items:center; gap:.5rem; background:var(--teal); color:#fff;
  font-weight:600; font-size:.95rem; padding:.85rem 1.6rem; border-radius:999px; border:none;
  cursor:pointer; transition:background .15s ease;
}
.btn:hover{background:var(--teal-dark); text-decoration:none; color:#fff;}
.btn-outline{background:transparent; color:var(--navy); border:1.5px solid var(--navy);}
.btn-outline:hover{background:var(--navy); color:#fff;}
.hero-media{
  border-radius:var(--radius-lg); overflow:hidden; background:var(--ice);
  aspect-ratio:16/11; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-md);
}
.hero-media img{width:100%; height:100%; object-fit:cover;}
.hero-media .placeholder-art{width:100%; height:100%;}
@media (max-width:900px){
  .hero .container{grid-template-columns:1fr; gap:28px;}
  .hero{padding:36px 0 44px;}
}

/* FEATURED ARTICLES */
.section{padding:64px 0;}
.section-eyebrow{text-align:center; text-transform:uppercase; letter-spacing:.12em; font-size:.82rem; font-weight:700; color:var(--teal-dark); margin-bottom:2rem;}
.article-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media (max-width:900px){.article-grid{grid-template-columns:1fr; gap:22px;}}
.article-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;}
.article-card-media{aspect-ratio:16/10; background:var(--ice); overflow:hidden;}
.article-card-media img{width:100%; height:100%; object-fit:cover;}
.article-card-body{padding:1.3rem 1.4rem 1.5rem;}
.article-card h3{font-size:1.1rem; margin-bottom:.5rem;}
.article-card h3 a{color:var(--navy-dark);}
.article-card h3 a:hover{color:var(--teal-dark); text-decoration:none;}
.article-card p{color:var(--muted); font-size:.93rem; margin-bottom:.9rem;}
.read-more{color:var(--teal-dark); font-weight:600; font-size:.92rem; display:inline-flex; align-items:center; gap:.3rem;}
.read-more:hover{text-decoration:none; color:var(--navy);}

/* WHY COLD PLUNGE */
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; text-align:center;}
@media (max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr); gap:24px;}}
@media (max-width:520px){.why-grid{grid-template-columns:1fr;}}
.why-icon{width:56px; height:56px; border-radius:50%; background:var(--ice); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; color:var(--navy);}
.why-icon svg{width:26px; height:26px;}
.why-item h3{font-size:1.02rem; margin-bottom:.4rem;}
.why-item p{color:var(--muted); font-size:.9rem; margin:0;}

/* NEWSLETTER */
.newsletter{background:var(--ice); border-radius:var(--radius-lg); padding:2.4rem 2.6rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap;}
.newsletter-heading{display:flex; align-items:center; gap:1rem; max-width:520px;}
.newsletter-icon{width:44px; height:44px; flex-shrink:0; color:var(--navy);}
.newsletter h2{font-size:1.25rem; margin-bottom:.3rem;}
.newsletter p{margin:0; color:var(--muted); font-size:.92rem;}
.newsletter-form{display:flex; gap:.6rem; flex-wrap:wrap;}
.newsletter-form input[type="email"]{padding:.8rem 1rem; border:1px solid var(--border); border-radius:999px; min-width:240px; font-size:.92rem; font-family:inherit;}
.newsletter-form button{border-radius:999px;}

/* FOOTER */
.site-footer{background:var(--navy-dark); color:#BBD3E4; padding:56px 0 24px; margin-top:20px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem; margin-bottom:2.2rem;}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr; gap:1.8rem;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-col h4{color:#fff; font-size:.92rem; margin-bottom:.9rem; text-transform:uppercase; letter-spacing:.06em;}
.footer-col p{color:#9BB9CE; font-size:.9rem;}
.footer-col ul{list-style:none; margin:0; padding:0;}
.footer-col li{margin-bottom:.55rem;}
.footer-col a{color:#BBD3E4; font-size:.9rem;}
.footer-col a:hover{color:#fff;}
.footer-brand{display:flex; align-items:center; gap:.5rem; margin-bottom:.8rem;}
.footer-brand svg{width:26px; height:26px;}
.footer-brand span{color:#fff; font-weight:700; font-family:var(--font-display);}
.footer-bottom{border-top:1px solid #1C4A6E; padding-top:1.4rem; font-size:.82rem; color:#8FB0C7; text-align:center;}

/* GENERIC PAGE / POST CONTENT */
.page-hero{background:var(--ice); padding:48px 0;}
.page-hero h1{font-size:clamp(1.8rem,4vw,2.4rem); margin:0;}
.content-wrap{max-width:760px; margin:0 auto; padding:48px 24px 72px;}
.content-wrap img{border-radius:var(--radius-md);}
.content-wrap h2{font-size:1.4rem; margin-top:1.6em;}
.content-wrap h3{font-size:1.15rem; margin-top:1.4em;}
.entry-meta{color:var(--muted); font-size:.9rem; margin-bottom:1.5rem;}
.archive-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; max-width:var(--max); margin:0 auto; padding:48px 24px 72px;}
@media (max-width:900px){.archive-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.archive-grid{grid-template-columns:1fr;}}
.not-found{max-width:600px; margin:0 auto; padding:80px 24px; text-align:center;}
.search-form-wrap{max-width:600px; margin:0 auto 40px; padding:0 24px;}
.search-form{display:flex; gap:.6rem;}
.search-form input[type="search"]{flex:1; padding:.8rem 1rem; border:1px solid var(--border); border-radius:8px; font-family:inherit;}
