/* chiefvisuals.com/scubas — Chief Scubas kit: navy / sky / yellow, Anton + Montserrat + Inter. Generated from mockups/2026-09-24-scubas. */
:root{
  --navy:#061B2E; --deep:#030F1C; --navy-2:#0A2238; --navy-3:#10304C; --sky:#4A8FF0; --sky-2:#70B0F0; --yellow:#F2CD1F; --red:#E01020;
  --sand:#E8DCC7; --bone:#F5EFE4; --soft:#AEBAC6; --ink:#0A0A0A;
  --disp:Anton,Impact,sans-serif; --head:Montserrat,"Helvetica Neue",Arial,sans-serif; --text:Inter,"Helvetica Neue",Arial,sans-serif; --ease:cubic-bezier(.23,1,.32,1);
  color-scheme:dark;
}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--navy);color:var(--bone);font:500 16px/1.6 var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
::selection{background:var(--yellow);color:var(--navy)}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
h1,h2,h3{margin:0;text-wrap:balance}
h1{font:400 clamp(56px,9vw,132px)/.92 var(--disp);letter-spacing:.01em;text-transform:uppercase}
h2{font:800 clamp(30px,4vw,48px)/1.05 var(--head);letter-spacing:-.01em}
h3{font:800 18px/1.3 var(--head)}
p{margin:0;text-wrap:pretty}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.sec{padding-block:clamp(64px,9vw,120px)}
.eyebrow{font:700 11px/1 var(--text);letter-spacing:.22em;text-transform:uppercase;color:var(--sky-2)}
.head{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,44px)}
.head p{color:var(--soft);max-width:56ch}
.head .row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:14px 28px}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:800 14px/1 var(--head);padding:14px 20px;border-radius:999px;border:2px solid transparent;transition:transform .16s var(--ease),background .2s,color .2s}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.97)}
.btn.y{background:var(--yellow);color:var(--navy)}
.btn.o{border-color:rgba(245,239,228,.45);color:var(--bone)}.btn.o:hover{border-color:var(--bone)}
.btn.s{background:var(--sky);color:#fff}

/* hero */
.hero{position:relative;min-height:clamp(560px,82vh,840px);display:grid;align-items:end;overflow:hidden;background:var(--deep)}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:52% 40%}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,27,46,.96) 0%,rgba(6,27,46,.55) 38%,rgba(6,27,46,.05) 70%),linear-gradient(to right,rgba(6,27,46,.35),transparent 60%)}
.hero .wrap{position:relative;z-index:2;padding-block:clamp(40px,6vw,72px);display:grid;gap:18px}
.hero .kicker{display:flex;align-items:center;gap:12px;font:700 12px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--sand)}
.hero .kicker i{width:22px;height:14px;background:linear-gradient(135deg,var(--red) 0 46%,#fff 46% 54%,var(--red) 54%);border-radius:2px;display:inline-block}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero p{font:600 clamp(16px,1.6vw,20px)/1.5 var(--text);color:var(--sand);max-width:44ch}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.hero .cap{position:absolute;right:clamp(16px,4vw,40px);top:clamp(16px,3vw,28px);z-index:2;font:600 11px/1.4 var(--text);letter-spacing:.06em;color:var(--soft);text-align:right}
.bubbles{position:absolute;inset:0;pointer-events:none;z-index:1}
.bubbles i{position:absolute;bottom:-40px;left:var(--l);width:var(--s);height:var(--s);border-radius:50%;border:1px solid rgba(245,239,228,.35);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),rgba(255,255,255,.04) 60%);animation:rise var(--d) linear infinite;animation-delay:var(--w);opacity:0}
@keyframes rise{0%{transform:translateY(0) translateX(0);opacity:0}10%{opacity:.7}90%{opacity:.4}100%{transform:translateY(-110vh) translateX(18px);opacity:0}}
.bubbles i:nth-child(1){--l:6%;--s:10px;--d:11s;--w:0s}.bubbles i:nth-child(2){--l:14%;--s:18px;--d:14s;--w:2s}.bubbles i:nth-child(3){--l:23%;--s:7px;--d:9s;--w:4s}.bubbles i:nth-child(4){--l:36%;--s:14px;--d:13s;--w:1s}.bubbles i:nth-child(5){--l:48%;--s:9px;--d:10s;--w:5s}.bubbles i:nth-child(6){--l:57%;--s:22px;--d:16s;--w:3s}.bubbles i:nth-child(7){--l:66%;--s:8px;--d:9s;--w:6s}.bubbles i:nth-child(8){--l:78%;--s:12px;--d:12s;--w:2.5s}.bubbles i:nth-child(9){--l:87%;--s:16px;--d:15s;--w:4.5s}.bubbles i:nth-child(10){--l:94%;--s:6px;--d:8s;--w:1.5s}
@media (prefers-reduced-motion:reduce){.bubbles i{animation:none;opacity:.3}}

/* strip */
.strip{background:var(--yellow);color:var(--navy)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:8px 32px;justify-content:space-between;align-items:center;padding-block:14px;font:800 13px/1.4 var(--head)}
.strip span b{font:400 20px/1 var(--disp);letter-spacing:.03em;margin-right:8px;vertical-align:-1px}

/* gallery */
.gallery{background:var(--deep)}
.masonry{columns:3;column-gap:14px}
.masonry figure{margin:0 0 14px;break-inside:avoid;position:relative;border-radius:12px;overflow:hidden;background:var(--navy-2);cursor:zoom-in}
.masonry figure img{width:100%;transition:transform .5s var(--ease)}
.masonry figure:hover img{transform:scale(1.03)}
.masonry figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(to top,rgba(3,15,28,.85),transparent);font:600 12px/1.4 var(--text);color:var(--bone)}
.masonry figcaption b{display:block;font:800 13px/1.3 var(--head)}
.masonry .ph{aspect-ratio:var(--ar,4/3);display:grid;place-items:center;text-align:center;padding:20px;border:1px dashed rgba(245,239,228,.28);cursor:default;background:var(--navy-2)}
.masonry .ph img{width:56px;opacity:.55;transform:none!important}
.masonry .ph p{font:600 12px/1.4 var(--text);color:var(--soft);margin-top:10px}
.masonry .ph small{display:block;color:var(--sky-2);margin-top:4px;font-weight:700}
@media (max-width:900px){.masonry{columns:2}}
@media (max-width:520px){.masonry{columns:1}}
.light{position:fixed;inset:0;z-index:70;display:none;align-items:center;justify-content:center;padding:clamp(10px,3vw,40px);background:rgba(3,12,22,.9)}
.light.open{display:flex}
.light img{max-width:100%;max-height:82vh;border-radius:10px;box-shadow:0 40px 100px rgba(0,0,0,.7)}
.light .cap{position:absolute;left:0;right:0;bottom:clamp(12px,3vw,28px);text-align:center;font:600 13px/1.4 var(--text);color:var(--sand)}
.light .x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:14px;background:none;border:0;color:var(--bone);font:400 30px/1 var(--disp);cursor:pointer}

/* watch */
.watch{background:var(--navy)}
.feature{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(18px,3vw,36px);align-items:stretch}
.vcard{display:grid;grid-template-rows:auto 1fr;background:var(--navy-2);border-radius:14px;overflow:hidden;text-decoration:none;border:1px solid rgba(245,239,228,.08);transition:transform .25s var(--ease),border-color .25s}
.vcard:hover{transform:translateY(-3px);border-color:rgba(112,176,240,.6)}
.vcard .th{position:relative;aspect-ratio:16/9;background:var(--deep)}
.vcard .th img{width:100%;height:100%;object-fit:cover}
.vcard .th::after{content:"";position:absolute;left:50%;top:50%;width:64px;height:44px;transform:translate(-50%,-50%);background:var(--red);border-radius:12px;clip-path:none;opacity:.92}
.vcard .th::before{content:"";position:absolute;left:calc(50% - 5px);top:50%;transform:translate(-50%,-50%);border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;z-index:1}
.vcard .body{padding:16px 18px 18px;display:grid;gap:6px;align-content:start}
.vcard .body h3{font-size:17px}
.feature .vcard.big .body h3{font-size:clamp(20px,2.2vw,26px)}
.vcard .meta{font:600 12px/1.4 var(--text);color:var(--soft)}
.vcard .meta b{color:var(--yellow);font-weight:800}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px}
.aside{display:grid;gap:14px;align-content:start}
.aside .card{background:var(--navy-3);border-radius:14px;padding:22px;display:grid;gap:10px}
.aside .card p{color:var(--sand);font-weight:600}
.aside .card .big{font:400 40px/1 var(--disp);color:var(--yellow);letter-spacing:.02em}
@media (max-width:900px){.feature{grid-template-columns:1fr}.vgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vgrid{grid-template-columns:1fr}}

/* blog */
.blog{background:var(--sand);color:var(--ink)}
.blog .eyebrow{color:#2F6FC4}.blog .head p{color:#3A4A5C}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post{background:#FBF7F0;border-radius:14px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:var(--ink);border:1px solid rgba(10,10,10,.08);transition:transform .25s var(--ease)}
.post:hover{transform:translateY(-3px)}
.post .th{aspect-ratio:16/10;background:var(--navy);position:relative;overflow:hidden}
.post .th img{width:100%;height:100%;object-fit:cover}
.post .th .tag{position:absolute;left:12px;top:12px;font:800 10px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;background:var(--yellow);color:var(--navy);padding:6px 8px;border-radius:4px}
.post .body{padding:18px 20px 22px;display:grid;gap:8px;align-content:start}
.post .body h3{font-size:19px}
.post .body p{font:500 14px/1.5 var(--text);color:#3A4A5C}
.post .body small{font:700 11px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:#6B5A3A}
@media (max-width:900px){.posts{grid-template-columns:1fr}}

/* merch */
.merch{background:var(--deep)}
.shop{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.item{background:var(--navy-2);border-radius:16px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;border:1px solid rgba(245,239,228,.08)}
.item .art{aspect-ratio:4/5;display:grid;place-items:center;padding:24px;background:radial-gradient(80% 70% at 50% 40%,#123556 0%,var(--navy-2) 70%)}
.item .art img{max-height:100%;width:auto;max-width:100%;filter:drop-shadow(0 24px 30px rgba(0,0,0,.5))}
.item .art.paper{background:#F5EFE4}
.item .body{padding:18px 20px 22px;display:grid;gap:10px;align-content:start}
.item .body p{font:500 14px/1.5 var(--text);color:var(--soft)}
.item .price{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.item .price b{font:400 30px/1 var(--disp);letter-spacing:.02em;color:var(--bone)}
.item .price small{font:700 11px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--sky-2)}
.item .btn{justify-self:start}
@media (max-width:900px){.shop{grid-template-columns:1fr}}
.merch .note{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;font:600 13px/1.5 var(--text);color:var(--soft)}
.merch .note form{display:flex;gap:8px;flex-wrap:wrap}
.merch .note input{background:rgba(245,239,228,.06);border:1px solid rgba(245,239,228,.18);border-radius:999px;color:var(--bone);font:600 14px var(--text);padding:11px 16px;min-width:240px}

/* dive band */
.dive{background:linear-gradient(180deg,var(--navy) 0%,#0E3A5E 100%);position:relative;overflow:hidden}
.dive .wrap{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,4vw,48px);align-items:center}
.dive img.badge{width:clamp(110px,12vw,160px);filter:drop-shadow(0 20px 30px rgba(0,0,0,.45))}
.dive h2{font-family:var(--disp);font-weight:400;font-size:clamp(40px,5vw,64px);letter-spacing:.01em;text-transform:uppercase}
.dive h2 em{font-style:normal;color:var(--yellow)}
.dive p{color:var(--sand);font-weight:600;max-width:52ch;margin-top:8px}
.dive .cta{display:grid;gap:10px}
@media (max-width:900px){.dive .wrap{grid-template-columns:1fr;justify-items:start}}

/* footer */
.foot{background:var(--deep);padding-block:34px}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font:600 12px/1.6 var(--text);color:var(--soft)}
.foot a{text-decoration:none}.foot a:hover{color:var(--yellow)}
.foot .wass{height:26px;width:auto;opacity:.9}

/* header (real one: each section is its own page) */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(6,27,46,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(245,239,228,.1)}
.top .bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:10px;min-height:88px}
.top .lock{display:flex;align-items:center;text-decoration:none}
.top .lock img{height:70px;width:70px;border-radius:50%;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}
.top .menu{display:flex;align-items:center;gap:clamp(4px,1.2vw,10px)}
.top .menu a{position:relative;text-decoration:none;font:800 13px/1 var(--head);letter-spacing:.04em;text-transform:uppercase;color:var(--bone);opacity:.85;padding:12px 12px;border-radius:8px}
.top .menu a:hover{opacity:1;color:var(--yellow)}
.top .menu a.on{opacity:1;color:var(--yellow)}
.top .menu a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:var(--yellow)}
.top .menu .btn{margin-left:10px;opacity:1;text-transform:none;letter-spacing:0;padding:13px 18px}
.top .menu .btn::after{display:none}
.top .side{display:flex;align-items:center;gap:14px}
.top .back{font:600 12px/1 var(--text);color:var(--soft);text-decoration:none;white-space:nowrap}
.top .back:hover{color:var(--bone)}
.top .burger{display:none;background:none;border:1.5px solid rgba(245,239,228,.35);border-radius:10px;color:var(--bone);font:800 12px/1 var(--head);letter-spacing:.08em;text-transform:uppercase;padding:11px 14px;cursor:pointer}
@media (max-width:980px){.top .menu{display:none}.top .burger{display:inline-flex}.top .back{display:none}
  .top.open .menu{display:grid;position:absolute;left:0;right:0;top:100%;background:var(--navy);border-bottom:1px solid rgba(245,239,228,.1);padding:10px 16px 18px;gap:2px}
  .top.open .menu a{padding:14px 8px;font-size:15px}.top.open .menu a.on::after{left:8px;right:auto;width:26px;bottom:8px}.top.open .menu .btn{margin:10px 0 0;justify-self:start}}
/* pages */
.phead{background:var(--deep);padding-block:clamp(44px,7vw,84px) clamp(28px,4vw,44px);border-bottom:1px solid rgba(245,239,228,.08)}
.page .sec{padding-top:clamp(36px,5vw,60px)}
.phead .wrap{display:grid;gap:10px}
.phead h1{font-size:clamp(48px,7vw,96px)}
.phead p{color:var(--soft);font-weight:600;max-width:56ch}
.crumb{font:700 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--sky-2)}
.crumb a{text-decoration:none}.crumb a:hover{color:var(--yellow)}
/* home teasers */
.tease .head .row{align-items:end}
.more{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font:800 13px/1 var(--head);letter-spacing:.04em;text-transform:uppercase;color:var(--yellow);white-space:nowrap}
.more:hover{gap:12px}
.tease .masonry{columns:3}
.tease .posts,.tease .shop{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.tease .masonry{columns:2}.tease .posts,.tease .shop{grid-template-columns:1fr}}
/* dive page form */
.dform{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;max-width:760px}
.dform input,.dform select,.dform textarea{width:100%;background:rgba(245,239,228,.06);border:1px solid rgba(245,239,228,.18);border-radius:10px;color:var(--bone);font:600 15px var(--text);padding:14px}
.dform textarea{grid-column:1/-1;min-height:110px;resize:vertical}
.dform .full{grid-column:1/-1}
.dform ::placeholder{color:var(--soft)}
@media (max-width:640px){.dform{grid-template-columns:1fr}}

/* live-site additions */
.page-body .sec{padding-top:clamp(36px,5vw,60px)}
.embed{position:relative;aspect-ratio:16/9;background:var(--deep);border-radius:14px;overflow:hidden;border:1px solid rgba(245,239,228,.08)}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fine{margin-top:22px;font:600 13px/1.5 var(--text);color:var(--soft)}
.dform .small{font:500 13px/1.5 var(--text);color:var(--soft)}
.merch .note .small{font:600 13px/1.5 var(--text);color:var(--yellow)}
.top .lock img{height:70px;width:70px;border-radius:50%;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}
.top .menu .btn.on{color:var(--navy);box-shadow:0 0 0 3px rgba(242,205,31,.35)}
