/*
Theme Name: Trend Following
Theme URI: https://www.trendfollowing.com/
Author: Michael Covel
Description: Lean custom theme for trendfollowing.com (2026 rebuild). No page builder, no jQuery.
Version: 1.0.15
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: trendfollowing
*/
/* Trend Following — sister of the TurtleTrader system.
   Layout: one wide column of black-ruled sections; article + sidebar on inner pages. */
:root{
  --black:#000; --text:#1A1A1A; --muted:#4D4D4D; --rule:#E2E2E2; --soft:#F3F6F9;
  --blue:#1387C0; --blue-dark:#0F5A8A; --blue-light:#8CC8EA;
  --gutter:clamp(16px,4vw,48px); --max:1240px;
  --font:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font:400 18px/1.65 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--black);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--blue-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
img{max-width:100%;height:auto}
h1,h2,h3{text-wrap:balance}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:20;background:#fff;padding:8px 12px}
.label{margin:0;font-weight:800;font-size:12px;line-height:1.4;font-stretch:125%;text-transform:uppercase;letter-spacing:.14em;color:var(--black)}
.label.blue{color:var(--blue-dark)}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:24px}
.sec-head a{font-weight:700;font-size:15px}
.section{padding-top:clamp(56px,6vw,88px)}

/* Header */
.site-header{border-bottom:2px solid var(--black);background:#fff}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 36px;padding-block:22px}
.logo{display:block;line-height:0;color:var(--black)}
.logo svg{width:176px;height:auto}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:2px 22px;font-weight:700;font-size:12px;line-height:1.3;font-stretch:125%;text-transform:uppercase;letter-spacing:.12em}
.site-nav a{color:var(--black);text-decoration:none;padding:14px 0}
.site-nav a:hover,.site-nav a[aria-current]{box-shadow:inset 0 -3px 0 var(--blue)}
.site-nav .search{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0}
.site-nav .search:hover{box-shadow:none;color:var(--blue-dark)}
.site-nav .nav-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;background:var(--black);color:#fff}
.site-nav .nav-cta:hover{box-shadow:none;background:var(--blue-dark);color:#fff}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:0;background:var(--black);color:#fff;font:800 13px var(--font);font-stretch:125%;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--blue-dark);color:#fff}
.btn.ghost{background:transparent;color:var(--black);box-shadow:inset 0 0 0 2px var(--black)}
.btn.ghost:hover{background:var(--black);color:#fff}
.btn.blue{background:var(--blue);color:#000}
.btn.blue:hover{background:#fff;color:#000}
.btn.white{background:#fff;color:#000}
.btn.white:hover{background:var(--blue-light)}

/* Home: hero */
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:48px 64px;align-items:center;padding-block:clamp(56px,7vw,104px) clamp(48px,6vw,88px)}
.hero h1{margin:18px 0 0;font-weight:900;font-size:clamp(48px,6.4vw,92px);line-height:.92;font-stretch:125%;text-transform:uppercase;letter-spacing:-.01em;color:var(--black)}
.hero .lede{margin:28px 0 0;max-width:580px;font-size:21px;line-height:1.55}
.actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.chart{margin:0}
.chart svg{display:block;width:100%;height:auto;background:var(--soft)}
.chart figcaption{margin-top:12px;padding-top:12px;border-top:4px solid var(--blue);font-size:15px;line-height:1.5;color:var(--muted)}
.draw{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.8s .2s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.draw{animation:none;stroke-dashoffset:0}}

.facts{border-top:2px solid var(--black);border-bottom:2px solid var(--black)}
.facts .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));column-gap:24px}
.facts div{padding-block:30px}
.facts b{display:block;font-weight:900;font-size:clamp(40px,4vw,58px);line-height:1;font-stretch:125%;color:var(--black);font-variant-numeric:tabular-nums}
.facts span{display:block;margin-top:10px;font-weight:700;font-size:12px;font-stretch:125%;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px 32px}
.card{display:block;padding-top:18px;border-top:4px solid var(--black);text-decoration:none;color:var(--black)}
.card.blue{border-top-color:var(--blue)}
.card .t{display:block;font-weight:800;font-size:24px;line-height:1.2;font-stretch:112%}
.card .d{display:block;margin-top:8px;font-size:16px;line-height:1.55;color:var(--muted)}
.card .date{display:block;margin-bottom:6px;font-size:14px;color:var(--muted)}
.card:hover .t{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}

.names{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:2px solid var(--black)}
.names a{display:block;padding-block:18px;border-bottom:1px solid var(--rule);font-weight:800;font-size:20px;font-stretch:112%;text-decoration:none;color:var(--black)}
.names a:hover{color:var(--blue-dark)}

.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.tile{display:flex;flex-direction:column;gap:10px;padding:24px;background:var(--soft);text-decoration:none;color:var(--black)}
.tile .k{font-weight:800;font-size:12px;font-stretch:125%;text-transform:uppercase;letter-spacing:.12em;color:var(--blue-dark)}
.tile .t{font-weight:800;font-size:22px;line-height:1.2;font-stretch:112%}
.tile .d{font-size:15px;color:var(--muted)}
.tile:hover{background:#E6EEF5}

.pod-band{display:flex;flex-wrap:wrap;gap:40px 64px;padding:clamp(28px,4vw,48px);background:var(--black);color:#fff}
.pod-band > div{flex:1 1 380px;min-width:0}
.pod-band .label{color:var(--blue-light)}
.pod-band .ep{margin:16px 0 0;font-weight:800;font-size:clamp(26px,3vw,38px);line-height:1.1;font-stretch:112%}
.pod-band .meta{margin:12px 0 0;font-size:17px;color:#D6D6D6}
.pod-band .chip{display:inline-flex;align-items:center;min-height:52px;padding:0 20px;box-shadow:inset 0 0 0 1px #555;color:#fff;font-size:15px;text-decoration:none}
.pod-band .chip:hover{box-shadow:inset 0 0 0 1px #fff}
.pod-band .list a{display:block;padding-block:14px;border-top:1px solid #333;color:#fff;text-decoration:none;font-size:17px}
.pod-band .list a:hover{color:var(--blue-light)}
.pod-band .list a.all{border-bottom:1px solid #333;color:var(--blue-light);font-weight:700}

.shelf{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:28px 20px}
.shelf a{display:block;text-decoration:none;color:var(--black)}
.shelf img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;box-shadow:0 6px 14px rgba(0,0,0,.18);transition:transform .2s}
.shelf a:hover img{transform:translateY(-4px)}
.shelf span{display:block;margin-top:12px;font-weight:800;font-size:15px;line-height:1.3}

.big-quote{margin:0 0 48px;padding-block:32px;border-top:2px solid var(--black);border-bottom:2px solid var(--black)}
.big-quote p{margin:0;font-weight:800;font-size:clamp(26px,3.4vw,44px);line-height:1.12;font-stretch:112%;color:var(--black)}
.big-quote footer{margin-top:14px;font-size:16px;color:var(--muted)}

.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.offer{padding:32px;box-shadow:inset 0 0 0 2px var(--black)}
.offer.alt{background:var(--soft)}
.price{margin:12px 0 0;font-weight:900;font-size:44px;line-height:1;font-stretch:125%;color:var(--black);font-variant-numeric:tabular-nums}
.offer p{margin:14px 0 0;font-size:17px}
.offer .btn{margin-top:24px}

/* Inner pages */
.page-head{border-bottom:2px solid var(--black)}
.page-head .wrap{padding-block:clamp(40px,5vw,72px) clamp(32px,4vw,56px)}
.page-head.split .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px 64px;align-items:end}
.kicker{margin:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:800;font-size:12px;line-height:1.4;font-stretch:125%;text-transform:uppercase;letter-spacing:.14em}
.kicker a{text-decoration:none;color:var(--blue-dark)}
.kicker span{color:var(--muted);font-weight:600}
.page-head h1{margin:18px 0 0;max-width:1000px;font-weight:800;font-size:clamp(34px,4.6vw,62px);line-height:1.04;font-stretch:112%;letter-spacing:-.01em;color:var(--black)}
.page-head h1.name{font-weight:900;font-size:clamp(44px,6vw,84px);line-height:.95;font-stretch:125%;text-transform:uppercase;letter-spacing:0}
.page-head .dek{margin:20px 0 0;max-width:760px;font-size:21px;line-height:1.5}
.page-head .by{margin:14px 0 0;font-size:20px;color:var(--muted)}
.photo{margin:0}
.photo img{display:block;width:100%}
.photo figcaption{margin-top:10px;padding-top:10px;border-top:4px solid var(--blue);font-size:14px;color:var(--muted)}

.layout{display:flex;flex-wrap:wrap;gap:56px 80px;align-items:flex-start;padding-block:clamp(40px,5vw,64px) 88px}
.article{flex:999 1 560px;min-width:0;max-width:740px}
.prose{font-size:19px;line-height:1.72}
.prose > :first-child{margin-top:0}
.prose p{margin:16px 0 0}
.prose .lede{font-size:22px;line-height:1.55;color:var(--black)}
.prose h2{margin:52px 0 0;font-weight:800;font-size:15px;line-height:1.4;font-stretch:125%;text-transform:uppercase;letter-spacing:.12em;color:var(--black)}
.prose ul{margin:14px 0 0;padding-left:22px}
.prose li{margin-top:6px}
.prose img{display:block;width:100%}
.pull{margin:28px 0;padding-block:24px;border-top:2px solid var(--black);border-bottom:2px solid var(--black);font-weight:800;font-size:clamp(24px,2.8vw,34px);line-height:1.18;font-stretch:112%;color:var(--black)}
.cta-box{margin-top:48px;padding:28px;background:var(--soft);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.cta-box p{margin:0;font-weight:700;color:var(--black);max-width:440px}
.tags{margin-top:32px;font-size:15px;color:var(--muted)}
.faq{margin-top:48px;border-top:2px solid var(--black)}
.faq h2{margin:24px 0 8px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding-block:18px;font-weight:700;color:var(--black)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:800;font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 20px}
.ep-nav{margin-top:56px;padding-top:24px;border-top:2px solid var(--black);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.ep-nav a{display:block;text-decoration:none;color:var(--black)}
.ep-nav a:last-child{text-align:right}
.ep-nav small{display:block;font-weight:800;font-size:12px;font-stretch:125%;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.ep-nav span{display:block;margin-top:6px;font-weight:800;font-size:19px;line-height:1.3}

/* Sidebar */
.sidebar{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:36px;font-size:16px;line-height:1.6}
.widget h2{margin:0 0 12px}
.widget p{margin:0}
.widget .stack a{display:block;padding-block:12px;border-top:1px solid var(--rule);font-weight:700;text-decoration:none;color:var(--black)}
.widget .stack a:last-child{border-bottom:1px solid var(--rule)}
.widget .stack a:hover{color:var(--blue-dark)}
.widget.soft{padding:28px;background:var(--soft)}
.widget.dark{padding:28px;background:var(--black);color:#fff}
.widget.dark h2{font-weight:800;font-size:20px;line-height:1.2;font-stretch:125%;text-transform:uppercase;letter-spacing:.06em;color:#fff}
.widget.dark p{color:#D6D6D6}
.widget.dark form{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.widget.dark label{font-size:13px;color:#BDBDBD}
.widget.dark input{min-height:48px;padding:0 14px;border:0;font:400 16px var(--font)}
.widget.dark .btn{min-height:48px}
.widget .big-link{display:block;font-weight:800;font-size:20px;line-height:1.25;text-decoration:none;color:var(--black)}
.books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.books img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:0 4px 10px rgba(0,0,0,.15);transition:transform .2s}
.books a:hover img{transform:translateY(-3px)}
.pod{margin-top:22px;display:flex;gap:14px;align-items:flex-start}
.pod img{width:76px;flex:none}
.pod p{font-size:15px}

.related{border-top:2px solid var(--black)}
.related .wrap{padding-block:44px 72px}
.related .label{margin-bottom:20px}
.related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.related a{display:block;height:100%;padding-top:18px;border-top:4px solid var(--blue);font-weight:800;font-size:20px;line-height:1.25;text-decoration:none;color:var(--black)}
.related a:hover{color:var(--blue-dark)}

/* Episode */
.ep-head{background:var(--black);color:#fff}
.ep-head .wrap{padding-block:clamp(40px,5vw,72px) clamp(36px,4vw,56px)}
.ep-head .kicker a{color:var(--blue-light)}
.ep-head .kicker span{color:#BDBDBD}
.ep-head h1{margin:18px 0 0;max-width:1000px;font-weight:800;font-size:clamp(34px,4.6vw,62px);line-height:1.04;font-stretch:112%;color:#fff}
.ep-head .dek{margin:18px 0 0;max-width:760px;font-size:20px;line-height:1.5;color:#D6D6D6}
.player{margin-top:32px;max-width:860px;display:flex;align-items:center;gap:18px;padding:16px;background:#1A1A1A}
.player button{flex:none;width:56px;height:56px;border:0;border-radius:50%;background:var(--blue);color:#000;display:flex;align-items:center;justify-content:center;cursor:pointer}
.player .bar{margin-top:10px;height:4px;background:#444}
.player .bar i{display:block;width:0;height:4px;background:var(--blue);transition:width .3s}
.player p{margin:0;font-size:15px}
.player small{flex:none;font-size:13px;color:#BDBDBD;font-variant-numeric:tabular-nums}
.listen{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}
.listen a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;box-shadow:inset 0 0 0 1px #555;color:#fff;font-size:15px;text-decoration:none}
.listen a:hover{box-shadow:inset 0 0 0 1px #fff}

/* Library */
.dl{padding:32px;box-shadow:inset 0 0 0 2px var(--black);background:#fff}
.dl .row{display:flex;gap:20px;align-items:flex-start}
.dl .file{flex:none;width:92px;aspect-ratio:3/4;background:var(--black);color:#fff;display:flex;align-items:flex-end;padding:10px;font-weight:800;font-size:11px;font-stretch:125%;letter-spacing:.06em}
.dl .row p{margin:0}
.dl .t{font-weight:800;font-size:20px;line-height:1.25;color:var(--black)}
.dl .m{margin-top:6px;font-size:15px;color:var(--muted)}
.dl .btn{margin-top:22px;width:100%;min-height:56px}
.dl .note{margin:14px 0 0;font-size:14px;color:var(--muted)}

/* Course */
.buy{padding:36px;background:var(--black);color:#fff}
.buy .label{color:var(--blue-light)}
.buy .price{color:#fff;font-size:64px}
.buy p{margin:14px 0 0;color:#D6D6D6}
.buy .btn{margin-top:26px;width:100%;min-height:58px;font-size:14px}
.buy small{display:block;margin-top:14px;font-size:14px;color:#BDBDBD}
.buy small a{color:#fff}
.modules{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));column-gap:32px;border-top:2px solid var(--black);counter-reset:m}
.modules li{padding-block:20px;border-bottom:1px solid var(--rule);font-weight:800;font-size:20px;color:var(--black)}
.table-box{overflow-x:auto}
table.cmp{width:100%;min-width:620px;border-collapse:collapse;font-size:17px}
.cmp th,.cmp td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--rule)}
.cmp thead th{border-bottom:2px solid var(--black);font-weight:800;font-size:12px;font-stretch:125%;text-transform:uppercase;letter-spacing:.12em}
.cmp tbody th{font-weight:400;padding-left:0}
.cmp .hl{background:var(--soft)}
.cmp .no{color:var(--muted)}
.cmp tr.last th,.cmp tr.last td{border-bottom:2px solid var(--black)}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.quotes figure{margin:0;padding:28px;background:var(--soft)}
.quotes blockquote{margin:0;font-size:19px;line-height:1.55;color:var(--black)}
.quotes figcaption{margin-top:14px;font-weight:700;font-size:15px}
.final{margin-top:56px;padding:32px;box-shadow:inset 0 0 0 2px var(--black);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.final p{margin:0}
.final .t{font-weight:800;font-size:24px;line-height:1.2;font-stretch:112%;color:var(--black)}
.final .m{margin-top:6px;color:var(--muted)}
.risk{margin:28px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.ph{display:flex;align-items:center;justify-content:center;background:#E6ECF1;color:var(--muted);font-size:15px;text-align:center;padding:16px}

/* Join + footer */
.join{background:var(--blue-dark);color:#fff}
.join .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;padding-block:52px}
.join .wrap > *{flex:1 1 420px;min-width:0}
.join h2{margin:0;font-weight:800;font-size:clamp(24px,2.8vw,34px);line-height:1.1;font-stretch:125%;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.join p{margin:12px 0 0;font-size:17px;line-height:1.55;color:#E3EEF6}
.join form{display:flex;flex-wrap:wrap;gap:10px}
.join input{flex:1 1 240px;min-height:52px;padding:0 16px;border:0;font:400 17px var(--font);color:var(--text);background:#fff}
.join .done{margin:0;font-weight:700;color:#fff}
.site-footer{background:var(--black);color:#BDBDBD;font-size:15px;line-height:1.6}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:36px;padding-top:64px}
.footer-cols h2{margin:0 0 14px;padding-top:12px;border-top:3px solid var(--blue);font-weight:800;font-size:12px;line-height:1.4;font-stretch:125%;text-transform:uppercase;letter-spacing:.14em;color:#fff}
.footer-cols a{display:block;padding-block:3px;color:#BDBDBD;text-decoration:none}
.footer-cols a:hover{color:#fff}
.footer-cols a.more{color:#fff;font-weight:700}
.footer-sig{padding-top:56px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.footer-sig svg{width:300px;max-width:100%;height:auto}
.social{display:flex;gap:8px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;box-shadow:inset 0 0 0 1px #444;color:#fff;text-decoration:none;font-weight:800}
.social a:hover{box-shadow:inset 0 0 0 1px #fff}
.legal{margin-top:28px;padding-block:20px;border-top:1px solid #333;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px}
.legal a{color:#BDBDBD}
.legal span{display:flex;gap:20px}
.disclaimer{padding-bottom:40px;font-size:12px;line-height:1.55;color:#9A9A9A}
.disclaimer summary{cursor:pointer;color:#BDBDBD;font-size:13px}


@media (max-width:640px){
  body{font-size:17px}
  .site-nav{gap:0 16px}
  .prose{font-size:18px}
  .hero .lede,.page-head .dek{font-size:19px}
}

/* Drop-down menus */
.nav-toggle{display:none}
.dd{position:relative}
.dd > button{display:inline-flex;align-items:center;gap:6px;padding:14px 0;border:0;background:none;color:var(--black);font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.dd > button::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.dd > button:hover,.dd.open > button{box-shadow:inset 0 -3px 0 var(--blue)}
.dd-menu{display:none;position:absolute;left:-20px;top:100%;z-index:30;min-width:240px;padding:10px 0;background:#fff;box-shadow:0 0 0 2px var(--black),8px 8px 0 var(--blue)}
.dd-menu a{display:block;padding:9px 20px;font-weight:600;font-size:15px;letter-spacing:0;text-transform:none;font-stretch:100%;box-shadow:none!important}
.dd-menu a:hover{background:var(--soft);color:var(--blue-dark)}
.dd-menu a.all{font-weight:800}
@media (hover:hover) and (min-width:901px){.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}}
.dd.open .dd-menu{display:block}
@media (max-width:900px){
  .nav-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:0;background:var(--black);color:#fff;font:800 12px var(--font);font-stretch:125%;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}
  .site-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:8px}
  .site-header.menu-open .site-nav{display:flex}
  .site-nav > a,.dd > button{width:100%;padding:14px 0;border-top:1px solid var(--rule);justify-content:space-between}
  .site-nav .search{width:100%;justify-content:flex-start}
  .site-nav .nav-cta{margin-top:12px;justify-content:center}
  .dd-menu{position:static;box-shadow:none;padding:0 0 8px;min-width:0}
  .dd-menu a{padding:10px 16px}
}
.hero-photo img{aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;max-height:640px}
.hero .wrap{align-items:center}

/* Fixed layout steps: desktop 1024+, tablet 640-1023, phone under 640.
   Each grid changes column count only at these points, so rows never end with a lone item. */
.hero .wrap{grid-template-columns:1fr 1fr}
.hero-photo{width:100%}
.facts .wrap{grid-template-columns:repeat(4,1fr)}
.cards{grid-template-columns:repeat(3,1fr)}
.names{grid-template-columns:repeat(4,1fr)}
.tiles{grid-template-columns:repeat(4,1fr)}
.shelf{grid-template-columns:repeat(7,1fr);gap:28px 16px}
.offers{grid-template-columns:repeat(2,1fr)}
.related ul{grid-template-columns:repeat(3,1fr)}
.quotes{grid-template-columns:repeat(2,1fr)}
.modules{grid-template-columns:repeat(2,1fr)}
.footer-cols{grid-template-columns:repeat(6,1fr)}
.page-head.split .wrap{grid-template-columns:1fr 1fr}
@media (max-width:1023px){
  .hero .wrap{grid-template-columns:1fr}
  .hero-photo{max-width:440px}
  .hero-photo img{aspect-ratio:1/1;max-height:none}
  .tiles{grid-template-columns:repeat(2,1fr)}
  .shelf{grid-template-columns:repeat(4,1fr)}
  .footer-cols{grid-template-columns:repeat(3,1fr)}
  .page-head.split .wrap{grid-template-columns:1fr}
}
@media (max-width:767px){
  .cards,.related ul{grid-template-columns:1fr}
  .names{grid-template-columns:repeat(2,1fr)}
  .facts .wrap{grid-template-columns:repeat(2,1fr);row-gap:8px}
}
@media (max-width:639px){
  .hero-photo{max-width:none}
  .tiles,.offers,.quotes,.modules{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:repeat(2,1fr)}
  .shelf{gap:20px 12px}
  .shelf span{font-size:12px}
}
.names{column-gap:16px}

/* Products, Essentials, Mastery (Oct 18) */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1040px}
.plan{padding:clamp(28px,3vw,40px);box-shadow:inset 0 0 0 2px var(--black);display:flex;flex-direction:column}
.plan.feature{background:var(--black);color:#fff;box-shadow:none}
.plan.feature .label,.plan.feature .price{color:#fff}
.plan .tag{display:inline-block;margin-left:10px;padding:3px 8px;background:var(--blue);color:#fff;font-size:11px;letter-spacing:.1em;vertical-align:1px}
.plan .price{font-size:clamp(48px,5vw,64px)}
.plan .pitch{margin:16px 0 0;font-size:19px;line-height:1.5}
.plan.feature .pitch{color:#E6E6E6}
.ticks{list-style:none;margin:20px 0 0;padding:0}
.ticks li{position:relative;padding:9px 0 9px 28px;border-top:1px solid var(--rule);font-weight:600}
.plan.feature .ticks li,.page-head .ticks li{border-color:rgba(127,127,127,.35)}
.ticks li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:7px;border-left:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);transform:rotate(-45deg)}
.plan.feature .ticks li::before{border-color:var(--blue-light)}
.plan .acts{margin-top:auto;padding-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.plan .acts .btn{min-height:54px;padding:0 28px}
.plan .more{font-weight:700;color:inherit}
.fine{margin:18px 0 0;color:var(--muted);font-size:15px}
.band{background:var(--soft)}
.band .wrap{padding-block:clamp(48px,6vw,80px)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:8px}
.two > div{padding:28px;background:#fff}
.two .n{margin:0;font-weight:900;font-size:15px;font-stretch:125%;color:var(--blue-dark)}
.two h3{margin:10px 0 0;font-weight:800;font-size:26px;font-stretch:112%;color:var(--black)}
.two p:last-child{margin:8px 0 0;font-size:18px}
.two-close{margin:24px 0 0;font-size:19px;font-weight:600;color:var(--black)}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 32px;border-top:2px solid var(--black)}
.three > div{padding-top:20px}
.three h3,.mods h3{margin:0;font-weight:800;font-size:20px;line-height:1.25;color:var(--black)}
.three p,.mods p{margin:8px 0 0;font-size:17px;line-height:1.5}
.mq{margin:0;max-width:980px;font-weight:800;font-size:clamp(24px,2.8vw,36px);line-height:1.2;font-stretch:112%;color:var(--black)}
.mq cite,.pull cite{display:block;margin-top:14px;font-style:normal;font-weight:700;font-size:15px;font-stretch:100%;color:var(--muted)}
.legends figcaption span{display:block;font-weight:400;color:var(--muted)}
.quotes.many{display:block;columns:3 300px;column-gap:16px}
.quotes.many figure{break-inside:avoid;margin:0 0 16px}
.jump{margin-top:56px;padding-top:20px;border-top:2px solid var(--black)}
.jump .label{margin-bottom:12px}
.jump div{display:flex;flex-wrap:wrap;gap:10px}
.jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;box-shadow:inset 0 0 0 1px var(--black);color:var(--black);text-decoration:none;font-weight:700;font-size:15px}
.jump a:hover{background:var(--black);color:#fff}
.ask{margin:20px 0 0;font-size:18px}
.hero2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px 64px;align-items:center}
.page-head .ticks{max-width:520px}
.ed .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:24px 64px;align-items:start}
.ed .prose{max-width:760px}
.ed .pull{margin:24px 0}
.intro{margin:0 0 28px;max-width:760px;font-size:20px;line-height:1.5}
.mods{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;border-top:2px solid var(--black);counter-reset:m}
.mods li{padding:22px 0 24px;border-bottom:1px solid var(--rule);counter-increment:m}
.mods li::before{content:counter(m,decimal-leading-zero);display:block;margin-bottom:8px;font-weight:900;font-size:13px;font-stretch:125%;color:var(--blue-dark)}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 64px}
.learn{margin:0;padding:0;list-style:none;border-top:2px solid var(--black)}
.learn li{padding:12px 0;border-bottom:1px solid var(--rule);font-size:18px}
.mkts{margin:0;border-top:2px solid var(--black)}
.mkts div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.mkts dt{font-weight:800;color:var(--black)}
.mkts dd{margin:0}
.note{margin:16px 0 0;font-weight:600}
.cmp tr.btns td{border:0;padding-top:18px}
.cmp tr.btns .btn{min-height:48px;font-size:12px;padding:0 18px}
.final .btn{min-height:58px;padding:0 32px}
.disc{margin-top:40px;padding-top:16px;border-top:1px solid var(--rule);font-size:14px;line-height:1.6;color:var(--muted)}
.disc summary{cursor:pointer;font-weight:700;color:var(--black)}
@media (max-width:1023px){
  .hero2,.ed .wrap{grid-template-columns:1fr}
  .mods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .three{grid-template-columns:1fr}
}
@media (max-width:767px){
  .plans,.two,.two-col,.mods{grid-template-columns:1fr}
  .mkts div{grid-template-columns:1fr;gap:2px}
}
.quotes.legends{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1023px){.quotes.legends{grid-template-columns:1fr}}
.vol-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 28px}
.vol-stats div{padding:20px 0;border-top:2px solid var(--black)}
.vol-stats b{display:block;font-weight:900;font-size:clamp(34px,4vw,52px);line-height:1;font-stretch:125%;color:var(--black)}
.vol-stats span{display:block;margin-top:8px;font-weight:700;font-size:13px;font-stretch:125%;text-transform:uppercase;letter-spacing:.1em}
.cmp.vol th[scope=row]{font-weight:700;color:var(--black)}
@media (max-width:767px){.vol-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Library (Oct 18) */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;box-shadow:inset 0 0 0 1px var(--black);color:var(--black);text-decoration:none;font-weight:700;font-size:14px}
.chips a:hover{background:var(--black);color:#fff}
.libsec{margin-top:56px;scroll-margin-top:24px}
.libsec:first-child{margin-top:0}
.cnt{color:var(--muted);font-size:14px}
.liblist{list-style:none;margin:0;padding:0;border-top:2px solid var(--black)}
.liblist li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;align-items:start;padding:20px 0;border-bottom:1px solid var(--rule)}
.liblist .t{font-weight:800;font-size:21px;line-height:1.25;font-stretch:106%;color:var(--black);text-decoration:none}
.liblist .t:hover{color:var(--blue-dark);text-decoration:underline}
.liblist .m{margin:4px 0 0;color:var(--muted);font-size:15px}
.liblist .s{margin:8px 0 0;max-width:760px;font-size:17px;line-height:1.5}
.liblist .ft{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;min-height:56px;padding:6px 10px;box-shadow:inset 0 0 0 2px var(--black);color:var(--black);text-decoration:none;font-weight:900;font-size:13px;font-stretch:125%}
.liblist .ft span{font-weight:600;font-size:11px;font-stretch:100%;color:var(--muted)}
.liblist a.ft:hover{background:var(--black);color:#fff}
.liblist a.ft:hover span{color:#ccc}
.liblist .ft.web{box-shadow:inset 0 0 0 1px var(--rule);color:var(--muted)}
dl.facts{margin:16px 0 0;border-top:2px solid var(--black)}
dl.facts div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:17px}
dl.facts dt{font-weight:800;color:var(--black)}
dl.facts dd{margin:0}
.back{margin-top:36px}
@media (max-width:640px){.liblist li{grid-template-columns:1fr}.liblist .ft{justify-self:start}.facts div{grid-template-columns:1fr;gap:2px}}

/* WordPress additions */
.alignleft{float:left;margin:6px 24px 12px 0}.alignright{float:right;margin:6px 0 12px 24px}.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}.wp-caption-text,.prose figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.prose iframe{max-width:100%}.prose .embed{position:relative;aspect-ratio:16/9}.prose .embed iframe{position:absolute;inset:0;width:100%;height:100%}
.prose blockquote{margin:28px 0;padding:4px 0 4px 24px;border-left:4px solid var(--blue);font-size:20px;color:var(--black)}
.prose img{height:auto}
.pager{display:flex;flex-wrap:wrap;gap:8px;margin-top:48px}.pager a,.pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;box-shadow:inset 0 0 0 1px var(--black);color:var(--black);text-decoration:none;font-weight:700}
.pager .current{background:var(--black);color:#fff}
.postlist{list-style:none;margin:0;padding:0;border-top:2px solid var(--black)}
.postlist li{padding:22px 0;border-bottom:1px solid var(--rule)}
.postlist .date{display:block;color:var(--muted);font-size:14px}
.postlist a.t{display:block;margin-top:4px;font-weight:800;font-size:23px;line-height:1.25;font-stretch:106%;color:var(--black);text-decoration:none}
.postlist a.t:hover{color:var(--blue-dark);text-decoration:underline}
.postlist p{margin:8px 0 0;max-width:760px}
.searchform{display:flex;gap:8px;max-width:640px;margin-top:24px}.searchform input{flex:1;min-width:0;min-height:52px;padding:0 16px;border:2px solid var(--black);font:inherit}
.kit-ok{font-weight:700}
/* course-page title scales to its own column so ESSENTIALS never runs into the price box */
.hero2 > div:first-child{min-width:0;container-type:inline-size}
.page-head h1.name{font-size:clamp(40px,6vw,84px);font-size:clamp(36px,11.5cqi,84px)}
.legal span:last-child{flex-wrap:wrap;gap:6px 20px}.disclaimer p+p{margin-top:12px}
.classic{margin:0;padding-bottom:40px;font-size:13px;line-height:1.6;color:#9A9A9A}.classic a{color:#BDBDBD}.disclaimer{padding-bottom:20px}
.libsec.lead .liblist{border-top-color:var(--blue)}
.hero .signup{display:flex;flex-wrap:wrap;gap:8px;max-width:540px;margin-top:28px}.hero .signup input{flex:1 1 240px;min-width:0;min-height:52px;padding:0 16px;border:2px solid var(--black);font:400 17px var(--font);background:#fff}.hero .signup .btn{min-height:52px}

/* /success/ endorsements */
.e-head h1{font-size:clamp(34px,3.6vw,50px);line-height:1.05}@media (min-width:900px){.page-head.e-head .wrap{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.e-portrait{margin:0}.e-portrait img{display:block;width:100%;height:auto}.e-portrait figcaption{margin-top:8px;font-size:14px;color:var(--muted)}
.e-list{display:flex;flex-direction:column;gap:0}
.e-card{margin:0;padding:36px 0;border-top:2px solid var(--black);display:grid;grid-template-columns:minmax(0,1fr);gap:16px 32px}
.e-card:first-child{border-top:0;padding-top:0}
.e-card.has-photo{grid-template-columns:120px minmax(0,1fr)}
.e-card.has-photo .e-photo{grid-column:1;grid-row:1 / span 2}.e-card.has-photo .e-quote,.e-card.has-photo .e-who{grid-column:2}
.e-photo img{display:block;width:120px;height:170px;object-fit:cover;background:var(--soft)}
.e-quote{margin:0;border:0;padding:0;font-size:17px;line-height:1.65;color:var(--text)}
.e-quote p{margin:0 0 14px}.e-quote p:last-child{margin-bottom:0}
.e-card.short .e-quote{font-weight:800;font-size:clamp(21px,2.2vw,26px);line-height:1.3;font-stretch:106%;color:var(--black)}
.e-more summary{cursor:pointer;margin-top:4px;font-weight:700;color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px}
.e-more[open] summary{margin-bottom:14px}
.e-who{display:flex;flex-direction:column;gap:2px}
.e-name{font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;font-stretch:112%;color:var(--black)}
.e-title{font-size:14px;color:var(--muted)}
.e-pdf{margin:0;padding-top:28px;border-top:2px solid var(--black);font-weight:700}
@media (max-width:640px){.e-card.has-photo{grid-template-columns:72px minmax(0,1fr);gap:12px 18px}.e-photo img{width:72px;height:100px}.e-card.short .e-quote{font-size:20px}}

/* /translations/ books page */
.bk-count{margin:24px 0 0;padding-left:22px;max-width:760px;font-size:16px;line-height:1.6}
.bk-hero{margin:0}.bk-hero img{display:block;width:100%;height:auto}.bk-hero figcaption{margin-top:8px;font-size:14px;color:var(--muted)}
@media (min-width:900px){.page-head.bk-head .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}
.bk{padding-block:clamp(40px,5vw,64px) 88px}
.bk-sec{margin-top:64px}.bk-sec:first-child{margin-top:0}
.bk-sec > .label,.bk-sec .sec-head{padding-bottom:12px;border-bottom:2px solid var(--black);margin-bottom:28px}
.bk-sec .sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.bk-sec .sec-head .label{margin:0}
.bk-shelf{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 28px}
.bk-shelf li{display:flex;flex-direction:column;gap:8px}
.bk-shelf img{display:block;width:100%;height:auto;aspect-ratio:200/283;object-fit:cover;box-shadow:0 1px 0 var(--rule)}
.bk-shelf strong{font-weight:800;font-size:17px;line-height:1.25;color:var(--black)}
.bk-links{font-size:15px;color:var(--muted)}.bk-links a{font-weight:700}
.bk-chips{margin-top:56px}
.bk-covers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:22px 18px}
.bk-covers img{display:block;width:100%;height:auto;aspect-ratio:200/283;object-fit:cover;background:var(--soft)}
.bk-covers span{display:block;margin-top:6px;font-size:13px;font-weight:700;color:var(--muted)}
.bk-eds{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px}
.bk-ed{padding:22px 22px 20px;border:1px solid var(--rule);background:#fff;display:flex;flex-direction:column}
.bk-lang{margin:0;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-stretch:125%;color:var(--blue-dark)}
.bk-ed h3{margin:8px 0 14px;font-weight:800;font-size:19px;line-height:1.3;color:var(--black)}
.bk-ed dl{margin:0 0 auto;font-size:15px;line-height:1.5}
.bk-ed dl div{display:grid;grid-template-columns:minmax(88px,auto) 1fr;gap:10px;padding:5px 0;border-top:1px solid var(--rule)}
.bk-ed dl div.full{grid-template-columns:1fr}.bk-ed dl div.full:first-child{border-top:0;padding-top:0;margin-bottom:6px;color:var(--text);font-style:italic}
.bk-ed dt{font-weight:700;color:var(--muted)}.bk-ed dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.bk-files{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.bk-btn{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;box-shadow:inset 0 0 0 1px var(--black);font-size:13px;font-weight:700;color:var(--black);text-decoration:none}
.bk-btn:hover{background:var(--black);color:#fff}
.bk-nolink{display:inline-flex;align-items:center;min-height:36px;font-size:13px;color:var(--muted)}
.bk-ends{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:28px 40px}
.bk-end{margin:0;padding-top:18px;border-top:2px solid var(--black)}
.bk-end blockquote{margin:0;font-weight:700;font-size:18px;line-height:1.45;color:var(--black)}
.bk-end figcaption{margin-top:12px;display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--muted)}
.bk-end figcaption strong{font-size:15px;color:var(--black)}
.bk-note p{max-width:760px;font-size:17px}
@media (max-width:900px){.bk-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.bk-count{columns:1}}

.prose .tf-more{margin-top:20px;font-size:16px;color:var(--muted)}.prose .tf-more strong{color:var(--black)}

.widget .audible{margin:14px 0 0;font-size:14px;line-height:1.55}.widget .audible b{font-weight:700}
