/* ============================================================
   NZ Business Podcast — shared design system
   Kauri ink · gallery cream · bronze · Fraunces + Hanken Grotesk
   (matched to the PaulSpain.com identity)
   ============================================================ */

@font-face{
  font-family:'Fraunces';
  src:url('../fonts/fraunces-var.woff2') format('woff2');
  font-weight:300 700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Hanken Grotesk';
  src:url('../fonts/hanken-var.woff2') format('woff2');
  font-weight:300 700;
  font-style:normal;
  font-display:swap;
}

:root{
  --ink:#13201b;
  --ink-soft:#1b2b24;
  --paper:#f4f0e7;
  --paper-deep:#ece6d8;
  --bronze:#0f75bc;
  --bronze-bright:#42a8ef;
  --sky:#cbdff3;
  --sky-deep:#a9c9e8;
  --mist:rgba(244,240,231,.62);
  --line:rgba(19,32,27,.14);
  --line-dark:rgba(244,240,231,.14);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
::selection{background:var(--bronze);color:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit}

/* film grain */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{max-width:1240px;margin:0 auto;padding:0 48px}
@media(max-width:760px){.wrap{padding:0 24px}}

/* ---------- nav ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid var(--line)}
nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(244,240,231,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:132px}
.logo{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.01em;text-decoration:none;color:var(--ink);white-space:nowrap;display:inline-flex;align-items:center}
.logo em{font-style:italic;color:var(--bronze);font-weight:400}
.logo img{height:110px;width:auto;display:block}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{font-size:14.5px;text-decoration:none;color:var(--ink-soft);opacity:.82;transition:opacity .2s,color .2s}
.nav-links a:hover{opacity:1;color:var(--bronze)}
.nav-cta{background:var(--ink);color:var(--paper) !important;padding:10px 20px;border-radius:3px;font-size:13.5px;letter-spacing:.02em;opacity:1 !important}
.nav-cta:hover{background:var(--bronze)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink);margin:5px 0}
@media(max-width:820px){
  .nav-links{position:fixed;top:132px;left:0;right:0;bottom:0;background:var(--paper);flex-direction:column;align-items:flex-start;padding:32px 24px;gap:22px;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto}
  .nav-links.open{transform:translateX(0)}
  .nav-links a{font-size:18px}
  .nav-toggle{display:block}
}

/* ---------- eyebrow / headings ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-weight:600;margin-bottom:18px}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--bronze)}
.eyebrow.center{justify-content:center}
.h-serif{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.08}
.section-head{max-width:640px;margin-bottom:56px}
.section-head p{color:var(--ink-soft);opacity:.75;font-size:17px;margin-top:16px;max-width:520px}
.center-head{margin-left:auto;margin-right:auto;text-align:center}

section{padding:104px 0}
@media(max-width:760px){section{padding:72px 0}}

/* ---------- hero ---------- */
.hero{padding:228px 0 96px;position:relative;overflow:hidden}
.hero-single{max-width:740px}
.hero h1{font-size:clamp(38px,5.2vw,64px)}
.hero h1 em{font-style:italic;color:var(--bronze)}
.hero .lede{margin-top:24px;font-size:18.5px;color:var(--ink-soft);opacity:.82;max-width:560px;line-height:1.65}
.hero-actions{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:3px;font-size:14.5px;letter-spacing:.02em;text-decoration:none;font-weight:500;transition:all .2s}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--bronze)}
.btn-ghost{border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--bronze);color:var(--bronze)}

.hero-stats{display:flex;gap:40px;margin-top:56px;flex-wrap:wrap}
.hero-stats .stat b{display:block;font-family:var(--serif);font-size:30px;font-weight:500;color:var(--ink)}
.hero-stats .stat span{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);opacity:.65;margin-top:4px}

/* ---------- episode cards ---------- */
.ep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
@media(max-width:900px){.ep-grid{grid-template-columns:1fr}}
.ep-card{display:flex;flex-direction:column;background:var(--paper-deep);border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease}
.ep-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(19,32,27,.1)}
.ep-card.featured{grid-column:1 / -1;flex-direction:row}
@media(max-width:760px){.ep-card.featured{flex-direction:column}}
.ep-thumb{position:relative;aspect-ratio:623/200;overflow:hidden;background:var(--ink)}
.ep-card.featured .ep-thumb{width:46%;aspect-ratio:auto}
@media(max-width:760px){.ep-card.featured .ep-thumb{width:100%;aspect-ratio:623/200}}
.ep-thumb img{width:100%;height:100%;object-fit:cover}
.ep-num{position:absolute;top:14px;left:14px;background:rgba(19,32,27,.72);color:var(--paper);font-family:var(--serif);font-style:italic;font-size:13px;padding:4px 11px;border-radius:20px;backdrop-filter:blur(4px)}
.ep-body{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
.ep-meta{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--bronze);font-weight:600;margin-bottom:10px}
.ep-body h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.25;margin-bottom:10px}
.ep-card.featured .ep-body h3{font-size:27px}
.ep-body p{font-size:14.5px;color:var(--ink-soft);opacity:.78;line-height:1.6;flex:1}
.ep-listen{margin-top:18px;font-size:13.5px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.ep-listen svg{width:13px;height:13px;transition:transform .2s}
.ep-card:hover .ep-listen svg{transform:translateX(3px)}

/* ---------- host / about band ---------- */
.host-band{background:var(--ink);color:var(--paper)}
.host-band .eyebrow{color:var(--bronze-bright)}
.host-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
@media(max-width:900px){.host-grid{grid-template-columns:1fr;gap:36px}}
.host-photo{border-radius:6px;overflow:hidden;position:relative}
.host-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.host-photo .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(19,32,27,.85),transparent);padding:16px 18px 12px;font-size:12px;color:var(--mist);letter-spacing:.03em}
.host-band h2{font-size:clamp(28px,3.4vw,38px);color:var(--paper)}
.host-band h2 em{font-style:italic;color:var(--bronze-bright)}
.host-band p{color:var(--mist);font-size:16.5px;line-height:1.7;margin-top:20px;max-width:520px}
.host-links{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.host-links a{border:1px solid var(--line-dark);color:var(--paper);padding:11px 20px;border-radius:3px;text-decoration:none;font-size:13.5px;transition:all .2s}
.host-links a:hover{border-color:var(--bronze-bright);color:var(--bronze-bright)}

/* ---------- subscribe band ---------- */
.subscribe{text-align:center}
.subscribe h2{font-size:clamp(26px,3.2vw,36px)}
.subscribe h2 em{font-style:italic;color:var(--bronze)}
.platform-row{display:flex;justify-content:center;gap:16px;margin-top:38px;flex-wrap:wrap}
.platform-row a{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px 22px 12px 14px;border-radius:3px;text-decoration:none;color:var(--ink);font-size:14.5px;font-weight:500;transition:all .2s;background:var(--paper)}
.platform-row a:hover{border-color:var(--bronze);color:var(--bronze);background:var(--paper-deep)}
.platform-row svg{width:26px;height:26px;flex-shrink:0}

.icon-badge{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.icon-badge.apple-badge{background:linear-gradient(135deg,#a95ee1,#c440a3 55%,#f2528f)}
.icon-badge svg{width:15px;height:15px}
.icon-badge.small{width:20px;height:20px;border-radius:5px}
.icon-badge.small svg{width:11px;height:11px}

/* ---------- network band ---------- */
.network{background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.network-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.network p{font-size:14px;color:var(--ink-soft);opacity:.75;max-width:420px}
.network-links{display:flex;gap:26px;flex-wrap:wrap}
.network-links a{font-family:var(--sans);font-style:normal;font-weight:500;font-size:14px;text-decoration:none;color:var(--ink-soft);opacity:.75;transition:opacity .2s}
.network-links a:hover{opacity:1}

/* ---------- footer ---------- */
footer{background:var(--ink);color:var(--mist);padding:64px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--line-dark)}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr;gap:32px}}
.foot-logo{font-family:var(--serif);font-size:19px;color:var(--paper)}
.foot-logo em{font-style:italic;color:var(--bronze-bright)}
footer p{font-size:14px;line-height:1.7;margin-top:14px;max-width:320px;opacity:.85}
.foot-col h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--bronze-bright);margin-bottom:16px}
.foot-col a{display:block;font-size:14px;text-decoration:none;color:var(--mist);margin-bottom:11px;opacity:.9;transition:opacity .2s}
.foot-col a:hover{opacity:1;color:var(--bronze-bright)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;font-size:12.5px;opacity:.6;flex-wrap:wrap;gap:10px}

/* ---------- episode page ---------- */
.crumb{padding:206px 0 0}
.crumb ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;font-size:13px;color:var(--ink-soft);opacity:.65}
.crumb a{text-decoration:none;color:var(--ink-soft)}
.crumb a:hover{color:var(--bronze);opacity:1}
.crumb li:not(:last-child)::after{content:"/";margin-left:8px;opacity:.6}

.ep-hero{padding:28px 0 56px}
.ep-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
@media(max-width:900px){.ep-hero-grid{grid-template-columns:1fr}}
.ep-hero h1{font-size:clamp(30px,4vw,46px)}
.ep-hero .role{font-size:17px;color:var(--bronze);font-weight:600;margin-top:14px}
.ep-hero .lede{margin-top:18px;font-size:17px;color:var(--ink-soft);opacity:.82;max-width:540px;line-height:1.7}
.ep-hero-thumb{border-radius:6px;overflow:hidden;aspect-ratio:623/200}
.ep-hero-thumb img{width:100%;height:100%;object-fit:cover}

.player-wrap{margin-top:32px;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.player-wrap iframe{display:block;width:100%;height:200px;border:0}

.share-row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;align-items:center}
.share-row span{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);opacity:.6}
.share-row a{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:3px;padding:8px 14px 8px 10px;font-size:13.5px;text-decoration:none;color:var(--ink);transition:all .2s}
.share-row a:hover{border-color:var(--bronze);color:var(--bronze)}

.transcript-block{margin-top:8px;border:1px solid var(--line);border-radius:6px;background:var(--paper-deep);overflow:hidden}
.transcript-block summary{cursor:pointer;list-style:none;padding:18px 24px;font-size:14px;font-weight:600;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px}
.transcript-block summary::-webkit-details-marker{display:none}
.transcript-block summary .tag{font-weight:400;font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);opacity:.6}
.transcript-block summary .chev{transition:transform .2s ease;flex-shrink:0}
.transcript-block[open] summary .chev{transform:rotate(180deg)}
.transcript-body{padding:0 24px 28px;max-height:560px;overflow-y:auto;border-top:1px solid var(--line)}
.transcript-body p{font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin-top:20px}
.transcript-body p b{color:var(--ink);font-weight:600}
.prose p{font-size:16.5px;line-height:1.75;color:var(--ink-soft);margin-bottom:22px}
.prose p:last-child{margin-bottom:0}
.prose .credit{font-size:13.5px;opacity:.65;border-top:1px solid var(--line);padding-top:20px;margin-top:32px}

.video-wrap{border-radius:6px;overflow:hidden;aspect-ratio:16/9;background:var(--ink);margin-top:8px}
.video-wrap iframe{width:100%;height:100%;border:0;display:block}
.video-facade{position:relative;display:block;border-radius:6px;overflow:hidden;aspect-ratio:16/9;background:var(--ink);margin-top:8px;text-decoration:none}
.video-facade img{width:100%;height:100%;object-fit:cover;opacity:.78;transition:opacity .25s ease,transform .4s ease}
.video-facade:hover img{opacity:.62;transform:scale(1.03)}
.video-facade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,32,27,.15),rgba(19,32,27,.55))}
.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:var(--bronze);display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s ease,transform .2s ease}
.video-facade:hover .video-play{background:var(--bronze-bright);transform:translate(-50%,-50%) scale(1.06)}
.video-play svg{width:22px;height:22px;margin-left:3px}
.video-caption{position:absolute;left:20px;bottom:16px;z-index:2;color:var(--paper);font-size:13.5px;display:flex;align-items:center;gap:8px}
.video-caption svg{width:15px;height:15px}

.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:900px){.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.related-grid{grid-template-columns:1fr}}
.rel-card{text-decoration:none;color:var(--ink);display:block}
.rel-card .rel-thumb{aspect-ratio:623/200;border-radius:5px;overflow:hidden;margin-bottom:12px}
.rel-card .rel-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.rel-card:hover .rel-thumb img{transform:scale(1.04)}
.rel-card .rel-meta{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--bronze);font-weight:600;margin-bottom:6px}
.rel-card h4{font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.35}
/* ---------- show partners ---------- */
/* ---------- show badge (NZ Business Podcast logo mark) ---------- */
.show-badge-card{background:linear-gradient(160deg,var(--sky) 0%,var(--sky-deep) 100%);border-radius:10px;padding:28px;display:inline-flex;flex-direction:column;align-items:center;gap:14px}
.show-badge-card img{width:100%;max-width:220px;height:auto;display:block;filter:drop-shadow(0 6px 16px rgba(19,32,27,.12))}
.show-badge-card .cap{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);opacity:.6;font-weight:600}
.foot-badge{width:150px;height:auto;margin-bottom:18px;display:block}

.partners{background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partners .wrap{padding:60px 48px}
.partners-row{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap;margin-top:30px}
.partners-row a{display:flex;align-items:center}
.partners-row img{height:42px;width:auto;filter:grayscale(1);opacity:.55;transition:filter .3s ease,opacity .3s ease,transform .3s ease}
.partners-row img:hover{filter:grayscale(0);opacity:1;transform:translateY(-1px)}
.partners-row img.logo-mark{height:73px}
.partners-row img.logo-gorilla{height:21px}
@media(max-width:640px){.partners-row{gap:38px}.partners-row img{height:34px}.partners-row img.logo-mark{height:59px}.partners-row img.logo-gorilla{height:17px}}

/* ---------- about page specific ---------- */
.page-hero{padding:228px 0 76px}
.page-hero .hero-grid-2{display:grid;grid-template-columns:1.3fr .7fr;gap:56px;align-items:center}
@media(max-width:860px){.page-hero .hero-grid-2{grid-template-columns:1fr;gap:36px}.page-hero .hero-grid-2 .show-badge-card{justify-self:start}}
.page-hero h1{font-size:clamp(34px,5vw,54px)}
.page-hero h1 em{font-style:italic;color:var(--bronze)}
.page-hero .lede{margin-top:20px;font-size:17.5px;color:var(--ink-soft);opacity:.8;max-width:600px}

.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media(max-width:820px){.value-grid{grid-template-columns:1fr}}
.value-card{border-top:2px solid var(--bronze);padding-top:22px}
.value-card h3{font-family:var(--serif);font-weight:500;font-size:20px;margin-bottom:12px}
.value-card p{font-size:15px;color:var(--ink-soft);opacity:.78;line-height:1.65}

.quote-band{background:var(--paper-deep);border-radius:6px;padding:56px;text-align:center}
@media(max-width:760px){.quote-band{padding:36px 24px}}
.quote-band blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(22px,3vw,30px);line-height:1.5;color:var(--ink)}
.quote-band cite{display:block;margin-top:22px;font-style:normal;font-size:13.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--bronze);font-weight:600}

.timeline{display:flex;flex-direction:column;gap:0}
.tl-row{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.tl-row:first-child{padding-top:0}
.tl-row b{font-family:var(--serif);font-size:19px;color:var(--bronze)}
.tl-row p{font-size:15px;color:var(--ink-soft);opacity:.82;line-height:1.6}
