/* Aloha Airplay. Hawaii on heavy rotation: every section is a playlist with its own square cover. Sunset coral, hibiscus pink,
   lagoon teal, sunshine gold and deep-ocean navy on warm sand. Archivo Black label bars, Nunito for reading. */
:root{--bg:#fdf3e7;--ink:#0b2545;--mute:#5b6b7f;--line:#f0dcc4;--card:#fff;--acc:#e8553b;--dark:#0b2545;--focus:#ffb703;--rad:24px;--chip:999px;--cardline:0;
 --disp:'Archivo Black','Arial Black',system-ui,sans-serif;--sans:'Nunito','Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
 --h1font:400 1em/1 var(--disp);--h2font:400 1em/1 var(--disp);--pgbg:linear-gradient(120deg,#0a9396,#0b2545);--phbg:linear-gradient(160deg,#ffb703,#ff6b4a 45%,#e83f7a 75%,#0a9396);
 --coral:#ff6b4a;--pink:#e83f7a;--teal:#0a9396;--sun:#ffb703;--navy:#0b2545}
/* shared building blocks, styled per site through the variables above */
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.6 var(--sans)}
a{color:inherit;text-decoration:none}a:hover{color:var(--acc)}
img{max-width:100%;display:block}h1,h2,h3{margin:0;overflow-wrap:anywhere}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:8px 12px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
[id]{scroll-margin-top:110px}
.src{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font:500 14px/1.3 var(--sans);color:var(--mute);margin-top:8px}
.src b{color:var(--ink);font-weight:700}.src em{font-style:normal}
.src em+em:before,.src b+em:before{content:"·";margin-right:8px}
.n-fb{display:block}
/* releases */
.rc{background:var(--card);border-radius:var(--rad);overflow:hidden;display:flex;flex-direction:column;border:var(--cardline)}
.rc-pic{display:block;aspect-ratio:16/10;background:#fff}
.rc-t{padding:16px 18px 20px}.rc h3{font:700 20px/1.3 var(--sans);margin-top:10px}
.prt{display:inline-block;font:700 12px/1 var(--sans);text-transform:uppercase;letter-spacing:.08em;background:var(--dark);color:#fff;padding:7px 10px;border-radius:var(--chip)}
.rows{display:grid;gap:16px;margin-top:28px}
.rr{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:center;border-bottom:2px solid var(--line);padding-bottom:16px}
.rr-pic{display:block;aspect-ratio:16/10;background:#fff;border-radius:calc(var(--rad)/2);overflow:hidden;border:2px solid var(--line)}
.rr h3{font:700 20px/1.3 var(--sans);margin-top:6px}
.fr{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fff;overflow:hidden}
.fr-ph{padding:10px}.fr-ph img,.fr-lg .tile img{width:100%;height:100%;object-fit:contain!important}
.fr-lg .tile{display:flex;align-items:center;justify-content:center}.fr-dk{background:#1d1d1d}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
/* page heads */
.pg-h{background:var(--pgbg);color:#fff;padding:70px 0 58px}
.pg-h h1{font:var(--h1font);font-size:clamp(46px,7vw,96px);line-height:.98;margin-top:6px}
.pg-h p{font:500 20px/1.5 var(--sans);opacity:.9;max-width:720px;margin:16px 0 0}
.st-h .st-t{font-size:clamp(30px,4.2vw,54px);line-height:1.1;margin-top:16px;max-width:1050px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:600 14px/1 var(--sans);opacity:.85;margin-bottom:20px}
.st-h .src,.st-h .src b{color:#fff}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0}
.tabs a{font:600 15px/1 var(--sans);padding:12px 16px;border-radius:var(--chip);background:var(--card);border:2px solid var(--line)}
.tabs a.on{background:var(--acc);border-color:var(--acc);color:#fff}
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:40px 0}
.pager a,.pager span{font:700 16px/1 var(--sans);padding:12px 16px;border-radius:var(--chip);background:var(--card);border:2px solid var(--line)}
.pager .on{background:var(--dark);border-color:var(--dark);color:#fff}.pg-gap{border:0!important;background:none!important}
.empty{font:700 20px/1.4 var(--sans);padding:40px 0}
.doc{padding:44px 0 70px}
.note{font:500 15px/1.55 var(--sans);color:var(--mute);max-width:780px;margin:30px 0 0}
/* story */
.s-cols{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding-top:40px}
.sfig{margin:0}.sfig .fr{aspect-ratio:16/9;border-radius:var(--rad);border:2px solid var(--line)}
.sfig figcaption{font:500 13px/1.4 var(--sans);color:var(--mute);margin-top:8px}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0}
.share span{font:700 14px/1 var(--sans);color:var(--mute)}
.share a,.share button{font:600 14px/1 var(--sans);background:var(--dark);color:#fff;border:0;padding:11px 14px;border-radius:var(--chip);cursor:pointer}
.prose{font:400 18px/1.8 var(--sans);max-width:760px}
.prose p{margin:0 0 1.1em}.prose .lede{font-size:20px;font-weight:600}
.prose .dl{font:700 14px/1 var(--sans);text-transform:uppercase;color:var(--acc)}
.prose h2{font:var(--h2font);font-size:30px;line-height:1.15;color:var(--dark);margin:1.4em 0 .5em}
.prose a{color:var(--acc);text-decoration:underline}
.prose blockquote,.pull{margin:1.4em 0;padding:18px 22px;background:var(--card);border-left:6px solid var(--acc);font-weight:600}
.in-fig{margin:1.4em auto;text-align:center}.in-fig img{margin:0 auto;max-height:560px;width:auto;border-radius:calc(var(--rad)/2)}
.about-co{margin:2em 0;padding:24px;background:var(--card);border-radius:var(--rad);border:2px solid var(--line)}
.about-co .lbl{font:700 13px/1 var(--sans);text-transform:uppercase;color:var(--acc)}
.about-co h3{font:700 22px/1.3 var(--sans);margin:8px 0 10px}
.disclose{font-size:15px!important;color:var(--mute);border-top:2px solid var(--line);padding-top:16px;margin-top:2em}
.btn{display:inline-block;background:var(--acc);color:#fff!important;text-decoration:none!important;font:700 16px/1 var(--sans);padding:15px 22px;border-radius:var(--chip)}
.btn:hover{background:var(--dark)}
.side{display:grid;gap:26px;align-content:start}
.co,.side-l{background:var(--card);border:2px solid var(--line);border-radius:var(--rad);padding:20px}
.co h4,.side-l h4{font:var(--h2font);font-size:20px;line-height:1;color:var(--dark);margin:0 0 14px}
.co .fr{aspect-ratio:4/3;border-radius:calc(var(--rad)/2);border:2px solid var(--line);margin-bottom:14px}
.co>b{display:block;font:700 20px/1.3 var(--sans);overflow-wrap:anywhere}
.co dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:15px;margin:14px 0 18px}
.co dt{font-weight:700;color:var(--mute)}.co dd{margin:0;overflow-wrap:anywhere}
.co .btn{display:block;text-align:center}
.sl-i{padding:12px 0;border-bottom:2px solid var(--line)}.sl-i>a{font:600 17px/1.35 var(--sans)}
.co,.side,.s-cols>*{min-width:0}.co .fr,.sfig .fr{height:auto}.fr img{max-width:100%;max-height:100%;min-width:0}
[hidden]{display:none!important}
@media (max-width:1050px){.s-cols{grid-template-columns:minmax(0,1fr)}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.g3>*:nth-child(3n){grid-column:1/-1}}
@media (max-width:640px){body{font-size:17px}.g3{grid-template-columns:minmax(0,1fr)}.g3>*:nth-child(3n){grid-column:auto}.rr{grid-template-columns:minmax(0,1fr)}}
.n-fb{background:#fff!important}
.bt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8%;background:#fff}
.bt img{width:100%!important;height:100%!important;object-fit:contain!important}
.bt b{font:var(--h2font);font-size:22px;line-height:1.1;color:var(--dark);text-align:center}
.ph-img{display:block;width:100%;height:100%;background:var(--phbg)}

/* header */
.hd{position:sticky;top:0;z-index:20;background:var(--navy);color:#fff}
.hd-in{display:flex;align-items:center;gap:22px;min-height:96px}
.brand-img{height:76px;width:auto;max-width:280px;object-fit:contain}
.brand .lg-txt{font:400 28px/1 var(--disp);color:#fff}
.nav{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.nav a{font:800 16px/1 var(--sans);padding:13px 18px;border-radius:999px;white-space:nowrap}
.nav a:hover{background:#163a63;color:#fff}.nav a.on{background:var(--coral);color:#fff}

/* covers: square, person on a solid colour, two label bars */
.cv{position:relative;display:block;aspect-ratio:1/1;border-radius:22px;overflow:hidden;color:#fff;box-shadow:0 16px 34px rgba(11,37,69,.2)}
.cv-coral{background:var(--coral)}.cv-sun{background:var(--sun)}.cv-teal{background:var(--teal)}.cv-pink{background:var(--pink)}.cv-navy{background:var(--navy)}
.cv img,.cv .ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.cv .ph-img{background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.35) 0 22%,transparent 23%)}
.cv-bars{position:absolute;left:8%;right:8%;bottom:9%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;transform:rotate(-2deg)}
.cv-bars b{display:block;background:var(--coral);color:#fff;font:400 clamp(17px,1.7vw,26px)/1.05 var(--disp);text-transform:uppercase;padding:9px 14px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.cv-bars i{display:block;background:var(--navy);color:#fff;font:800 13px/1.2 var(--sans);font-style:normal;text-transform:uppercase;letter-spacing:.08em;padding:7px 12px}
.cv-coral .cv-bars b{background:#fff;color:var(--coral)}.cv-sun .cv-bars b{background:var(--navy)}.cv-pink .cv-bars b{background:#fff;color:var(--pink)}.cv-navy .cv-bars b{background:var(--sun);color:var(--navy)}
.cv-teal .cv-bars b{background:#fff;color:var(--teal)}
a.cv{transition:transform .15s}a.cv:hover{transform:translateY(-4px) rotate(-1deg);color:#fff}
.lib-g .cv-bars{bottom:5%;left:6%;right:6%}.lib-g .cv-bars i{display:none}.lib-g .cv-bars b{font-size:clamp(14px,1.25vw,19px);padding:7px 10px}.lib-g .cv img{object-position:50% 8%}

/* hero */
.hero{background:radial-gradient(circle at 85% 20%,#ffd98a 0,transparent 40%),linear-gradient(180deg,#fff1dc,#fdf3e7);padding:56px 0 64px}
.hero-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.hero-cv{position:relative;aspect-ratio:1/1;border-radius:30px;overflow:hidden;background:var(--teal);box-shadow:0 22px 44px rgba(11,37,69,.25);transform:rotate(-2deg)}
.hero-cv img,.hero-cv .ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.hero-cv .cv-bars b{font-size:clamp(20px,2.2vw,32px);background:#fff;color:var(--teal)}
.aloha{display:inline-block;font:900 18px/1 var(--sans);color:var(--pink);background:#ffe0ea;padding:9px 16px;border-radius:999px}
.hero-logo{margin:20px 0 0;overflow-wrap:normal}.hero-logo .hl-img{display:block;width:min(540px,100%);height:auto}
.hero-logo .lg-txt{font:400 clamp(52px,7vw,100px)/.95 var(--disp);color:var(--coral)}
.tagl{font:400 clamp(24px,2.6vw,34px)/1.15 var(--disp);color:var(--teal);margin:18px 0 0}
.hero-p{font:600 20px/1.55 var(--sans);color:#33475f;max-width:540px;margin:14px 0 0}
.lead{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:center;margin-top:26px;background:#fff;border-radius:22px;padding:16px 20px;max-width:560px;box-shadow:0 12px 28px rgba(11,37,69,.12)}
.lead span{font:900 13px/1 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--coral)}
.lead h2{font:800 20px/1.3 var(--sans);margin-top:6px}
.play{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--coral);flex:none;box-shadow:0 6px 0 #c94a2f}
.play:after{content:"";border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:5px}

/* library */
.lib{padding:70px 0 20px}
.lh{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;margin-bottom:28px}
.lh span{width:100%;font:900 15px/1 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--pink)}
.lh h2{font:400 clamp(36px,4.6vw,60px)/1 var(--disp);color:var(--navy)}.lh a{margin-left:auto;font:900 16px/1 var(--sans);color:var(--coral)}
.lib-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}

/* sessions */
.ses{padding:70px 0}
.ses-in{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:50px;align-items:start}
.flip .ses-cv{order:2}
.ses-cv{position:sticky;top:120px}
.ses-teal{background:#e3f4f2}.ses-pink{background:#fde6ee}.ses-navy{background:var(--navy);color:#fff}
.ses-k{font:900 15px/1 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--coral)}
.ses-eps h2{font:400 clamp(38px,4.8vw,64px)/1 var(--disp);margin-top:8px}
.ses-p{font:600 19px/1.5 var(--sans);color:var(--mute);margin:10px 0 24px}
.ses-navy .ses-p,.ses-navy .src,.ses-navy .epn{color:#aac4dd}.ses-navy .src b{color:#fff}.ses-navy .ses-k{color:var(--sun)}
.ep1{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center;background:#fff;color:var(--ink);border-radius:22px;padding:14px;box-shadow:0 10px 24px rgba(11,37,69,.08)}
.ep1-pic{display:block;position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#f6e4cd}
.ep1-pic img{width:100%;height:100%;object-fit:cover}
.ep1 h3{font:800 21px/1.3 var(--sans);margin-top:6px}.ses-navy .ep1 .src{color:var(--mute)}.ses-navy .ep1 .src b{color:var(--ink)}.ses-navy .ep1 .epn{color:var(--coral)}
.epn{font:900 12px/1 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--coral)}
.eps{list-style:none;padding:0;margin:14px 0 0}
.eps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;padding:14px 4px;border-bottom:2px dashed rgba(11,37,69,.14)}
.ses-navy .eps li{border-color:rgba(255,255,255,.18)}
.eps .play{width:44px;height:44px;box-shadow:0 4px 0 #c94a2f}.eps .play:after{border-left-width:13px;border-top-width:8px;border-bottom-width:8px;margin-left:4px}
.eps a{display:block;font:800 18px/1.35 var(--sans);margin-top:4px}
.ses-navy a:hover{color:var(--sun)}

/* island dial bar */
.dialbar{background:linear-gradient(110deg,var(--coral),var(--pink));color:#fff;padding:54px 0}
.db-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px}
.db-h span{width:100%;font:900 15px/1 var(--sans);text-transform:uppercase;letter-spacing:.12em;opacity:.85}
.db-h h2{font:400 clamp(36px,4.6vw,60px)/1 var(--disp)}.db-h a{margin-left:auto;font:900 16px/1 var(--sans)}
.db-row{display:flex;gap:12px;overflow-x:auto;margin-top:24px;padding-bottom:6px;scrollbar-width:thin}
.dbs{flex:0 0 auto;min-width:160px;background:rgba(255,255,255,.16);border:2px solid rgba(255,255,255,.35);border-radius:20px;padding:14px 18px}
.dbs b{display:block;font:400 34px/1 var(--disp)}.dbs span{display:block;font:900 16px/1.2 var(--sans);margin-top:6px}.dbs em{display:block;font:600 14px/1.3 var(--sans);font-style:normal;opacity:.9}
.dbs:hover{background:#fff;color:var(--pink)}

/* coconut wireless */
.cw{padding:70px 0 80px;background:#fff1dc}
.rc{box-shadow:0 12px 26px rgba(11,37,69,.1)}.prt{background:var(--teal)}

/* island dial page */
.tracks{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:12px}
.tracks a{display:grid;grid-template-columns:54px 150px minmax(0,1fr) minmax(0,1.2fr) auto;gap:18px;align-items:center;background:#fff;border-radius:22px;padding:14px 20px;box-shadow:0 8px 20px rgba(11,37,69,.07)}
.tracks a:hover{color:inherit;box-shadow:0 10px 24px rgba(232,85,59,.25)}
.tracks b{font:400 36px/1 var(--disp);color:var(--coral);display:flex;align-items:baseline;gap:4px}.tracks small{font:900 13px/1 var(--sans);color:var(--teal)}
.tracks span{font:900 20px/1.1 var(--sans)}.tracks em{font:600 16px/1.3 var(--sans);font-style:normal;color:var(--mute)}.tracks i{font:700 14px/1 var(--sans);font-style:normal;color:var(--teal)}

/* page heads */
.pg-h .aloha{background:rgba(255,255,255,.18);color:#fff}
.crumbs a:hover{color:var(--sun)}

/* footer */
.ft{position:relative;margin-top:80px;background:var(--navy);color:#fff;padding-top:70px;overflow:hidden}
.cw+.ft,main:has(.cw:last-child)+.ft{margin-top:0}
.ft-sun{position:absolute;right:-60px;top:-120px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--sun),var(--coral) 70%);opacity:.9}
.ft-in{position:relative;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:40px}
.ft-img{height:80px;width:auto;max-width:280px;object-fit:contain}
.ft .lg-txt{font:400 28px/1 var(--disp)}
.ft-brand p{color:#aac4dd;max-width:420px}.shaka{font-weight:900;color:var(--sun)}
.ft h4{font:400 18px/1 var(--disp);color:var(--sun);margin:0 0 14px}
.ft ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-weight:800}
.ft a:hover{color:var(--sun)}
.ft-fine{border-top:1px solid rgba(255,255,255,.14);margin-top:36px;padding-top:18px;padding-bottom:34px;font-size:14px;color:#8fa9c4}
.ft-fine p{margin:0 0 6px}

@media (max-width:1050px){
 .hd-in{flex-wrap:wrap;padding-top:10px}.nav{order:3;width:100%;margin:0 0 10px;flex-wrap:nowrap;overflow-x:auto}
 .hero-in,.ses-in{grid-template-columns:minmax(0,1fr);gap:32px}
 .hero-cv{max-width:460px;width:100%;order:2}.ses-cv{position:static;max-width:380px;order:0!important}
 .lib-g{grid-template-columns:repeat(3,minmax(0,1fr))}
 .tracks a{grid-template-columns:54px 130px minmax(0,1fr)}.tracks em{grid-column:3}.tracks i{display:none}
 .ft-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ft-brand{grid-column:1/-1}
}
@media (max-width:640px){
 .hd-in{min-height:72px}.brand-img{height:54px;max-width:200px}
 .lib-g{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .ep1{grid-template-columns:minmax(0,1fr)}
 .tracks a{grid-template-columns:44px minmax(0,1fr);gap:12px}.tracks a .play{width:44px;height:44px;grid-row:1/4}.tracks span,.tracks em{grid-column:2}
 .ft-in{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){a.cv{transition:none}}
/* coconut wireless banner */
.pr-bn{background:#032143 url(/assets/img/pr-banner.jpg) right bottom/contain no-repeat;min-height:clamp(300px,33.3vw,620px);display:flex;align-items:center}@media (min-width:901px){.pr-bn{background-size:contain;background-size:min(100%,1500px) auto}}
.pr-bn>.wrap{width:100%}.pr-bn .wrap>*{max-width:min(400px,27vw)}
.pr-bn h1{font-size:clamp(46px,5.4vw,88px)}.st-h.pr-bn h1{font-size:clamp(26px,2.4vw,38px)}.st-h.pr-bn p{font-size:18px}
.pr-bn h1{overflow-wrap:normal;word-break:normal;hyphens:none}
@media (min-width:901px){.pr-bn{background-size:contain;background-size:min(87%,1300px) auto}.pr-bn .wrap>*{max-width:min(470px,36vw)}.pr-bn:not(.st-h) h1{font-size:clamp(38px,3.8vw,62px);line-height:1.02}.st-h.pr-bn h1{font-size:clamp(26px,2.3vw,36px);line-height:1.12}.st-h.pr-bn p{font-size:17px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}}
@media (max-width:900px){.pr-bn{display:block;min-height:0;background-position:right bottom;background-size:175% auto;padding-bottom:calc(58vw + 24px)}.pr-bn .wrap>*{max-width:none}}
@media (min-width:901px){.st-h.pr-bn{display:block;min-height:0;background-size:min(118%,1500px) auto;background-position:right bottom;padding-bottom:calc(min(118vw,1500px) * .29 + 20px)}.st-h.pr-bn .wrap>*{max-width:min(820px,72vw)}.st-h.pr-bn h1{font-size:clamp(28px,2.15vw,35px)}.st-h.pr-bn p{-webkit-line-clamp:3}}
