.marine-guide{
  --marine-ink:#04263a;
  --marine-soft-ink:#355f70;
  --marine-aqua:#22d3cf;
  --marine-cyan:#71dce2;
  --marine-deep:#063d5a;
  --marine-abyss:#021522;
  color:#f3fbfc;
  background:
    radial-gradient(circle at 88% 8%,rgba(255,255,255,.9),transparent 13%),
    linear-gradient(180deg,#fff 0%,#eafafb 9%,#8ae0e5 23%,#27b0bf 39%,#087993 55%,#07506f 69%,#032c49 83%,#021522 100%);
  overflow:hidden;
}
.marine-guide img{display:block;max-width:100%}
.marine-guide .marine-shell{width:min(1240px,calc(100% - 56px));margin-inline:auto}
.marine-guide .marine-section{position:relative;padding:clamp(84px,10vw,150px) 28px}
.marine-guide .marine-kicker{margin:0 0 16px;font:700 10px/1.3 'Space Mono',monospace;letter-spacing:.3em;text-transform:uppercase;color:#00677c}
.marine-guide .marine-section-title{max-width:850px;margin:0;font:700 clamp(38px,5vw,70px)/.98 'Space Grotesk',sans-serif;letter-spacing:-.045em;text-wrap:balance}
.marine-guide .marine-intro{max-width:720px;margin:24px 0 0;font-size:17px;line-height:1.8;color:inherit;opacity:.78}

.marine-hero{
  min-height:790px;
  padding:150px 28px 82px;
  color:var(--marine-ink);
  background:
    linear-gradient(115deg,rgba(255,255,255,.98) 0 43%,rgba(229,250,251,.86) 61%,rgba(173,234,239,.62) 100%);
  position:relative;
  isolation:isolate;
}
.marine-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(112deg,transparent 0 110px,rgba(12,132,151,.045) 112px,transparent 115px);
}
.marine-hero-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);gap:clamp(38px,6vw,88px);align-items:center}
.marine-hero-copy{position:relative;z-index:2;padding-block:28px}
.marine-hero h1{max-width:700px;margin:0;font:700 clamp(52px,6.4vw,92px)/.91 'Space Grotesk',sans-serif;letter-spacing:-.06em;text-wrap:balance}
.marine-hero h1 span{display:block;color:#05889d}
.marine-hero .marine-hero-lead{max-width:650px;margin:28px 0 0;color:#315f70;font-size:18px;line-height:1.75}
.marine-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.marine-hero .btn-secondary{color:#06384a;background:#fff;border-color:rgba(6,56,74,.16);box-shadow:0 12px 32px rgba(7,80,104,.1)}
.marine-hero .btn-secondary:hover,.marine-hero .btn-secondary:focus-visible{color:#fff;background:#087f98;border-color:#087f98}
.marine-hero-note{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;max-width:650px;margin-top:36px;padding:18px 20px;border:1px solid rgba(6,72,91,.15);border-radius:18px;background:rgba(255,255,255,.68);box-shadow:0 20px 60px rgba(15,105,122,.1)}
.marine-hero-note strong{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ff6a4d;color:#fff;font:700 13px 'Space Mono',monospace}
.marine-hero-note p{margin:0;color:#244f60;font-size:13px;line-height:1.65}
.marine-hero-visual{position:relative;min-height:585px}
.marine-hero-main{position:absolute;inset:0 5% 8% 0;border-radius:46% 54% 38% 62%/44% 32% 68% 56%;overflow:hidden;box-shadow:0 45px 100px rgba(4,85,105,.25);border:1px solid rgba(255,255,255,.78)}
.marine-hero-main img{width:100%;height:100%;object-fit:cover}
.marine-hero-main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(2,29,45,.48))}
.marine-hero-float{position:absolute;overflow:hidden;border:5px solid rgba(255,255,255,.9);box-shadow:0 26px 60px rgba(4,66,85,.24)}
.marine-hero-float img{width:100%;height:100%;object-fit:cover}
.marine-hero-float--dolphin{width:42%;aspect-ratio:1.35;right:-2%;top:5%;border-radius:50% 38% 52% 40%}
.marine-hero-float--clownfish{width:30%;aspect-ratio:1;right:2%;bottom:2%;border-radius:46% 54% 48% 52%}
.marine-depth-mark{position:absolute;left:7%;bottom:12%;z-index:2;color:#fff;font:700 9px 'Space Mono',monospace;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.5)}

.marine-jump-nav{position:relative;z-index:4;padding:18px 28px;background:rgba(245,254,254,.84);border-block:1px solid rgba(5,73,92,.1);backdrop-filter:blur(18px)}
.marine-jump-nav .marine-shell{display:flex;gap:8px;overflow:auto;scrollbar-width:none}
.marine-jump-nav a{flex:0 0 auto;padding:10px 14px;border-radius:999px;border:1px solid rgba(5,74,92,.14);color:#174d60;background:rgba(255,255,255,.68);font:700 10px 'Space Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.marine-jump-nav a:hover,.marine-jump-nav a:focus-visible{color:#fff;background:#087f98;border-color:#087f98}

.marine-reality{padding-top:100px;color:var(--marine-ink)}
.marine-reality-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:54px;align-items:end}
.marine-reality-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.marine-reality-fact{padding:22px;border:1px solid rgba(4,65,83,.12);border-radius:20px;background:rgba(255,255,255,.58)}
.marine-reality-fact strong{display:block;margin-bottom:10px;color:#05778c;font:700 11px 'Space Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
.marine-reality-fact p{margin:0;color:#2d5969;font-size:13px;line-height:1.65}

.marine-fish-section{color:var(--marine-ink);padding-top:115px}
.marine-species-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:105px;gap:14px;margin-top:52px}
.marine-species-card{position:relative;grid-column:span 3;grid-row:span 3;overflow:hidden;border-radius:24px;background:#06293c;box-shadow:0 22px 55px rgba(3,74,91,.16);isolation:isolate}
.marine-species-card:nth-child(1),.marine-species-card:nth-child(8){grid-column:span 6;grid-row:span 4}
.marine-species-card:nth-child(4),.marine-species-card:nth-child(11){grid-column:span 3;grid-row:span 4}
.marine-species-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.marine-species-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(2,19,31,.88) 100%);z-index:1}
.marine-species-card:hover img{transform:scale(1.06)}
.marine-species-copy{position:absolute;inset:auto 0 0;z-index:2;padding:22px;color:#fff}
.marine-species-copy span{display:block;margin-bottom:7px;color:#8ff4ef;font:700 9px 'Space Mono',monospace;letter-spacing:.16em;text-transform:uppercase}
.marine-species-copy h3{margin:0;font:600 clamp(18px,2vw,27px)/1.05 'Space Grotesk',sans-serif}
.marine-species-copy p{max-width:390px;margin:8px 0 0;color:rgba(235,249,250,.78);font-size:12px;line-height:1.55}

.marine-encounters-section{color:#f2fbfc}
.marine-encounter-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:repeat(2,minmax(330px,1fr));gap:18px;margin-top:54px}
.marine-encounter{position:relative;overflow:hidden;min-height:330px;border:1px solid rgba(255,255,255,.17);border-radius:28px;background:#052e46;box-shadow:0 32px 80px rgba(2,36,53,.24)}
.marine-encounter:first-child{grid-row:1/3}
.marine-encounter img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.marine-encounter:hover img{transform:scale(1.035)}
.marine-encounter::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(1,20,34,.9) 100%)}
.marine-encounter-copy{position:absolute;inset:auto 0 0;z-index:2;padding:clamp(24px,4vw,44px)}
.marine-encounter-copy span{color:#75eee8;font:700 9px 'Space Mono',monospace;letter-spacing:.18em;text-transform:uppercase}
.marine-encounter-copy h3{margin:10px 0 10px;font:600 clamp(28px,3.5vw,52px)/1 'Space Grotesk',sans-serif;letter-spacing:-.035em}
.marine-encounter-copy p{max-width:590px;margin:0;color:rgba(238,250,251,.76);font-size:14px;line-height:1.65}

.marine-hidden-section{color:#f2fbfc}
.marine-hidden-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}
.marine-hidden-sticky{position:sticky;top:130px}
.marine-hidden-sticky .marine-section-title{font-size:clamp(42px,5vw,72px)}
.marine-hidden-stack{display:grid;gap:18px}
.marine-hidden-card{display:grid;grid-template-columns:220px 1fr;min-height:220px;overflow:hidden;border-radius:24px;border:1px solid rgba(214,247,249,.15);background:rgba(4,39,59,.74);box-shadow:0 22px 60px rgba(1,25,40,.18)}
.marine-hidden-card:nth-child(even){grid-template-columns:1fr 220px}
.marine-hidden-card:nth-child(even) img{order:2}
.marine-hidden-card img{width:100%;height:100%;object-fit:cover}
.marine-hidden-copy{padding:28px;align-self:center}
.marine-hidden-copy span{color:#74eee8;font:700 9px 'Space Mono',monospace;letter-spacing:.16em;text-transform:uppercase}
.marine-hidden-copy h3{margin:9px 0;font:600 27px 'Space Grotesk',sans-serif}
.marine-hidden-copy p{margin:0;color:rgba(232,247,249,.72);font-size:13px;line-height:1.65}

.marine-bluewater{color:#f3fbfc}
.marine-bluewater-strip{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px;margin-top:48px}
.marine-bluewater-card{position:relative;min-height:410px;overflow:hidden;border-radius:25px;border:1px solid rgba(255,255,255,.14)}
.marine-bluewater-card img{width:100%;height:100%;object-fit:cover}
.marine-bluewater-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(1,17,31,.9))}
.marine-bluewater-card div{position:absolute;z-index:2;inset:auto 0 0;padding:26px}
.marine-bluewater-card h3{margin:0;font:600 28px 'Space Grotesk',sans-serif}
.marine-bluewater-card p{margin:8px 0 0;color:rgba(235,249,250,.72);font-size:12px;line-height:1.6}

.marine-habitats{color:#f3fbfc}
.marine-habitat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:48px;counter-reset:habitat}
.marine-habitat{min-height:270px;padding:24px;border-radius:22px;border:1px solid rgba(216,248,250,.14);background:linear-gradient(160deg,rgba(7,66,88,.78),rgba(3,33,54,.84));counter-increment:habitat}
.marine-habitat::before{content:"0" counter(habitat);display:block;margin-bottom:54px;color:#6ee9e4;font:700 10px 'Space Mono',monospace;letter-spacing:.16em}
.marine-habitat h3{margin:0 0 12px;font:600 23px 'Space Grotesk',sans-serif}
.marine-habitat p{margin:0;color:rgba(232,247,249,.7);font-size:12px;line-height:1.65}

.marine-code{color:#f4fbfc}
.marine-code-panel{padding:clamp(30px,5vw,70px);border:1px solid rgba(210,247,249,.16);border-radius:34px;background:rgba(2,29,47,.72);box-shadow:0 35px 90px rgba(0,15,27,.22)}
.marine-code-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.marine-code-rule{min-height:210px;padding:28px;background:#04243a}
.marine-code-rule strong{display:block;color:#6ce9e4;font:700 10px 'Space Mono',monospace;letter-spacing:.18em}
.marine-code-rule h3{margin:30px 0 10px;font:600 24px 'Space Grotesk',sans-serif}
.marine-code-rule p{margin:0;color:rgba(232,247,249,.68);font-size:12px;line-height:1.65}

.marine-season{color:#f4fbfc}
.marine-season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:42px}
.marine-season-card{padding:26px;border-radius:22px;border:1px solid rgba(210,247,249,.14);background:rgba(3,31,51,.62)}
.marine-season-card span{color:#6ce9e4;font:700 10px 'Space Mono',monospace;letter-spacing:.16em;text-transform:uppercase}
.marine-season-card h3{margin:14px 0 8px;font:600 23px 'Space Grotesk',sans-serif}
.marine-season-card p{margin:0;color:rgba(232,247,249,.68);font-size:12px;line-height:1.65}

.marine-checklist-section{color:#f4fbfc}
.marine-checklist-layout{display:grid;grid-template-columns:minmax(300px,.65fr) 1.35fr;gap:46px;align-items:start}
.marine-checklist-summary{position:sticky;top:130px;padding:30px;border:1px solid rgba(213,248,250,.16);border-radius:28px;background:rgba(2,25,42,.76)}
.marine-checklist-summary strong{display:block;font:700 clamp(50px,7vw,88px)/1 'Space Grotesk',sans-serif;color:#6ee9e4}
.marine-checklist-summary p{margin:10px 0 24px;color:rgba(233,248,249,.68);font-size:13px;line-height:1.65}
.marine-progress-track{height:6px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12)}
.marine-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#22d3cf;transition:width .3s ease}
.marine-reset{margin-top:22px;border:0;background:transparent;color:#91b8c2;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.marine-checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:0;border:0}
.marine-check-item{position:relative;display:flex;align-items:center;gap:14px;min-height:62px;padding:15px 18px;border:1px solid rgba(214,248,250,.13);border-radius:16px;background:rgba(3,31,51,.62);cursor:pointer}
.marine-check-item input{position:absolute;opacity:0;pointer-events:none}
.marine-check-box{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid rgba(126,238,233,.45);border-radius:9px;background:rgba(34,211,207,.06)}
.marine-check-box::after{content:"✓";opacity:0;color:#022535;font-weight:800;transform:scale(.4);transition:.2s}
.marine-check-item:has(input:checked){border-color:rgba(73,226,219,.55);background:rgba(13,95,109,.52)}
.marine-check-item:has(input:focus-visible){outline:3px solid #8ff4ef;outline-offset:3px}
.marine-check-item input:checked+.marine-check-box{background:#5ce6df;border-color:#5ce6df}
.marine-check-item input:checked+.marine-check-box::after{opacity:1;transform:scale(1)}
.marine-check-label{font-size:13px;color:#eaf8fa}

.marine-faq-section{color:#f4fbfc;padding-bottom:170px}
.marine-faq{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:46px}
.marine-faq details{padding:0 22px;border:1px solid rgba(212,247,249,.13);border-radius:18px;background:rgba(2,26,44,.7)}
.marine-faq summary{padding:20px 0;cursor:pointer;color:#f4fbfc;font:600 16px 'Space Grotesk',sans-serif}
.marine-faq p{margin:0;padding:0 0 22px;color:rgba(231,247,249,.7);font-size:13px;line-height:1.7}
.marine-final-cta{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin-top:74px;padding:clamp(28px,5vw,56px);border-radius:30px;background:linear-gradient(135deg,#0aa2ae,#22d3cf);color:#032537;box-shadow:0 34px 90px rgba(0,14,27,.25)}
.marine-final-cta h2{margin:0;font:700 clamp(34px,4vw,58px)/1 'Space Grotesk',sans-serif;letter-spacing:-.04em}
.marine-final-cta p{max-width:680px;margin:14px 0 0;color:#164e5b;line-height:1.7}
.marine-final-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:1050px){
  .marine-hero-grid,.marine-reality-grid,.marine-hidden-layout,.marine-checklist-layout{grid-template-columns:1fr}
  .marine-hero-visual{min-height:560px;max-width:760px;width:100%;margin-inline:auto}
  .marine-species-card{grid-column:span 4}
  .marine-species-card:nth-child(1),.marine-species-card:nth-child(8){grid-column:span 8}
  .marine-hidden-sticky,.marine-checklist-summary{position:static}
  .marine-habitat-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .marine-guide .marine-shell{width:min(100% - 32px,1240px)}
  .marine-guide .marine-section{padding:84px 16px}
  .marine-hero{padding:126px 16px 62px;min-height:auto}
  .marine-hero-grid{gap:30px}
  .marine-hero-visual{min-height:500px}
  .marine-species-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:300px}
  .marine-species-card,.marine-species-card:nth-child(1),.marine-species-card:nth-child(4),.marine-species-card:nth-child(8),.marine-species-card:nth-child(11){grid-column:span 1;grid-row:span 1}
  .marine-encounter-grid{grid-template-columns:1fr;grid-template-rows:none}
  .marine-encounter:first-child{grid-row:auto;min-height:560px}
  .marine-bluewater-strip{grid-template-columns:1fr 1fr}
  .marine-bluewater-card:first-child{grid-column:1/-1}
  .marine-habitat-grid{grid-template-columns:repeat(2,1fr)}
  .marine-code-grid{grid-template-columns:repeat(2,1fr)}
  .marine-season-grid{grid-template-columns:repeat(2,1fr)}
  .marine-final-cta{grid-template-columns:1fr}
  .marine-final-actions{justify-content:flex-start}
}
@media(max-width:700px){
  .marine-guide .marine-shell{width:min(100% - 28px,1240px)}
  .marine-guide .marine-section{padding:70px 14px}
  .marine-hero{padding:112px 14px 54px}
  .marine-hero h1{font-size:47px}
  .marine-hero .marine-hero-lead{font-size:15px}
  .marine-hero-visual{min-height:390px}
  .marine-hero-main{inset:0 3% 5% 0;border-radius:36px}
  .marine-hero-float--dolphin{width:46%;right:-1%;top:3%}
  .marine-hero-float--clownfish{width:32%;right:1%;bottom:0}
  .marine-jump-nav{padding-inline:14px}
  .marine-reality-facts,.marine-bluewater-strip,.marine-habitat-grid,.marine-code-grid,.marine-season-grid,.marine-faq{grid-template-columns:1fr}
  .marine-species-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:320px;gap:10px}
  .marine-species-copy{padding:14px}
  .marine-species-copy span{font-size:8px;letter-spacing:.1em}
  .marine-species-copy h3{font-size:18px}
  .marine-species-copy p{font-size:12px;line-height:1.5}
  .marine-bluewater-card:first-child{grid-column:auto}
  .marine-hidden-card,.marine-hidden-card:nth-child(even){grid-template-columns:118px minmax(0,1fr);min-height:184px}
  .marine-hidden-card:nth-child(even) img{order:0}
  .marine-hidden-card img{height:100%;min-height:184px}
  .marine-hidden-copy{padding:16px}
  .marine-hidden-copy span{font-size:8px;letter-spacing:.1em}
  .marine-hidden-copy h3{margin:7px 0;font-size:19px}
  .marine-hidden-copy p{font-size:12px;line-height:1.55}
  .marine-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .marine-check-item{min-height:56px;padding:12px 10px;gap:9px}
  .marine-check-box{flex-basis:24px;height:24px;border-radius:7px}
  .marine-check-label{font-size:12px}
  .marine-encounter:first-child{min-height:480px}
  .marine-habitat{min-height:220px}
  .marine-habitat::before{margin-bottom:34px}
  .marine-code-rule{min-height:180px}
}
@media(max-width:360px){
  .marine-guide-page .footer-grid{grid-template-columns:1fr}
  .marine-species-grid,.marine-checklist{grid-template-columns:1fr}
  .marine-species-grid{grid-auto-rows:340px}
  .marine-species-copy{padding:18px}
  .marine-species-copy p{font-size:12px}
  .marine-hidden-card,.marine-hidden-card:nth-child(even){grid-template-columns:104px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .marine-guide *{scroll-behavior:auto!important}
  .marine-species-card img,.marine-encounter img,.marine-progress-track span{transition:none}
}
