/* layout helpers that used to be inline */
.split2{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* menu button + panel */
.burger{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px;margin-left:6px;cursor:pointer;border-radius:6px}
.burger span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:transform .25s,opacity .2s}
.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-open .burger span:nth-child(2){opacity:0}
.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.burger:focus-visible{outline:2px solid #CC932C}
.mnav{position:fixed;inset:0;z-index:90;background:#121212;color:#fff;padding:96px 24px 32px;display:flex;flex-direction:column;gap:6px;transform:translateY(-100%);transition:transform .3s ease;overflow-y:auto}
.menu-open .mnav{transform:none}
.menu-open{overflow:hidden}
.mnav a.l{color:#fff;text-decoration:none;font-family:'Playfair Display',serif;font-size:30px;padding:10px 0;border-bottom:1px solid #262626}
.mnav .acts{display:grid;gap:10px;margin-top:28px}
.mnav .acts a{text-align:center;padding:16px;font-size:17px}
.mnav .tel2{color:#E2B565;text-align:center;font-size:17px;margin-top:14px;text-decoration:none}
.nav{z-index:100}

/* sticky action bar */
.mbar{display:none}

@media (max-width:1100px){
  .burger{display:inline-block}
}
@media (max-width:860px){
  .nav .right .btn.sm{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#121212;border-top:1px solid #2A2A2A;box-shadow:0 -6px 20px rgba(0,0,0,.25);transform:translateY(110%);transition:transform .25s}
  .mbar.on{transform:none}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:6px;font:600 16px Inter,sans-serif;text-decoration:none}
  .mbar .mb-call{border:1px solid #CC932C;color:#fff;background:#121212}
  .mbar .mb-quote{background:#CC932C;color:#111}
  body{padding-bottom:76px}
  .menu-open .mbar{display:none}

  /* stack two-column layouts */
  .split2,.calc-grid{grid-template-columns:1fr;gap:24px}
  .steps3{grid-template-columns:1fr!important}

  /* type and spacing */
  .page-hero{padding:108px 0 44px}
  .page-hero h1{font-size:clamp(32px,8.6vw,42px);line-height:1.12}
  .page-hero .dek{font-size:17px}
  .prose h2{font-size:26px;margin-top:40px}
  .hub-sec{padding:56px 0}
  .cta-band h2{font-size:30px;line-height:1.2}
  .answer{padding:18px 18px}

  /* sidebar: keep the call-to-action, drop the table of contents */
  .aside .toc{display:none}
  .aside{margin-top:8px}

  /* tables scroll sideways with a visible edge */
  .tbl-wrap{-webkit-overflow-scrolling:touch;box-shadow:inset -14px 0 12px -12px rgba(0,0,0,.18)}
  .tbl-wrap table{min-width:560px}

  /* forms: 16px stops iPhones zooming in on tap; full-width buttons */
  input,select,textarea{font-size:16px!important}
  .form-card{padding:20px}
  .form-card .btn,.signup .btn{width:100%;justify-content:center;text-align:center}
  .signup form input{flex-basis:100%}

  /* comfortable tap targets */
  .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%}
  .crumbs a,.foot a{padding:6px 0;display:inline-block}
  footer{padding-bottom:24px}
}

/* homepage hero: keep the headline clear of the jet */
@media (min-width:861px) and (max-height:920px){
  .hero{background-position:72% 18%;padding-bottom:64px}
  .hero h1{font-size:clamp(40px,4.4vw,60px)}
}
@media (max-width:860px){
  .hero{min-height:100svh;background-position:64% 12%;padding:0 0 calc(40px + env(safe-area-inset-bottom))}
  .hero::before{background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,0) 30%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.88))}
  .hero h1{font-size:clamp(34px,9.4vw,44px);line-height:1.1}
  .hero p.lede{font-size:16.5px;margin-top:16px}
  .hero .ctas{flex-direction:column;align-items:stretch;margin-top:24px;padding:0 4px}
  .hero .ctas .btn{width:100%}
  .hero .gl{margin-top:16px}
}
@media (max-width:860px){
  .nav .wrap{height:64px;padding:0 12px 0 16px;gap:12px;min-width:0;width:100%;box-sizing:border-box}
  .nav .wrap>a{flex:0 1 auto;min-width:0}
  .nav .wrap>a img{width:150px!important;max-width:100%}
  .nav .right{gap:8px}
}
@media (max-width:860px){
  input,select,textarea{max-width:100%;min-width:0;box-sizing:border-box}
  input[type=file]{width:100%;font-size:14px!important}
  .split>*,.split2>*,.pair>*,.duo>*,.guide>*,.formbox,.form-card{min-width:0}
}
.hero h1,.page-hero h1,h2{text-wrap:balance}

/* newsletter opt-in on every form */
.news-opt{display:flex;gap:10px;align-items:flex-start;margin:4px 0 2px;font-size:14px;line-height:1.45;color:#6B6B6B;cursor:pointer;text-align:left}
.news-opt input{width:18px;height:18px;margin-top:2px;flex:0 0 auto;accent-color:#CC932C}
.signup .news-opt{color:#A9A9A9;flex-basis:100%}
.signup form .news-opt input,.news-opt input{flex:0 0 auto!important;width:18px!important;height:18px;min-height:0;padding:0;margin:2px 0 0;border:0}
.dark .news-opt,.formbox .news-opt{color:#BDBDBD}

/* migrated podcast + articles */
.video.yt{position:relative;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#111;margin:0 0 18px}
.video.yt button{all:unset;cursor:pointer;display:block;width:100%;height:100%;background-size:cover;background-position:center}
.video.yt .play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(204,147,44,.95)}
.video.yt .play::after{content:"";position:absolute;left:29px;top:22px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #111}
.video.yt button:focus-visible .play{outline:3px solid #fff}
.video.yt iframe{width:100%;height:100%;border:0;display:block}
.listen{font-size:15px;color:#555;margin:0 0 22px}
.artlist{list-style:none;padding:0;margin:20px 0 0;columns:2;column-gap:48px}
.artlist li{break-inside:avoid;padding:12px 0;border-bottom:1px solid #E2E2DE;display:flex;flex-direction:column;gap:2px}
.artlist a{color:#121212;text-decoration:none;font-weight:500;line-height:1.4}.artlist a:hover{color:#8A6418;text-decoration:underline}
.artlist span{font-size:13px;color:#777}
@media(max-width:860px){.artlist{columns:1}}
.ep .th{background-size:cover;background-position:center}
.filters a{display:inline-block;padding:8px 16px;border:1px solid #DADADA;border-radius:999px;color:#222;text-decoration:none;font-size:14.5px}
.filters a:hover{border-color:#121212}
.prose p,.prose li,.prose a,.prose td{overflow-wrap:anywhere}
