/* The Tycoon Times: additions for the CMS-driven site
   (spam trap, notices, pagination as links, editor content, web stories, embeds). Loaded after the design files. */

/* spam trap field: invisible to people */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}

/* notice bar (newsletter answers) */
.flash{position:fixed;z-index:400;left:50%;top:132px;transform:translateX(-50%);max-width:min(92vw,620px);display:flex;gap:1rem;align-items:center;justify-content:space-between;
  background:#e8f4ee;color:#1d4f3a;border-left:4px solid #2f7d5b;border-radius:10px;padding:.8rem 1rem;box-shadow:var(--shadow);font-weight:600}
.flash[hidden]{display:none}
.flash button{background:none;border:0;font-size:1rem;cursor:pointer;color:inherit}

/* answer shown under a newsletter form */
.nl-msg{margin:.6rem 0 0;min-height:1.2em;font-size:.9rem;color:var(--gold-2)}
.nl-msg.bad{color:#ffb4a8}
.widget-nl .nl-msg,.iv-brand .nl-msg{color:var(--muted)}
.widget-nl .nl-msg.bad,.iv-brand .nl-msg.bad{color:#a8453b}
.newsletter .nl-grid>div:last-child{align-self:center}

/* filter chips are links */
a.chip{display:inline-block;text-decoration:none;color:inherit}
.filter-tools{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}

/* hero covers are links: keep the design's own colours */
a.cover{text-decoration:none}
.cover:hover{color:#fff}

/* pagination: spans behave like the link buttons */
span.pg{cursor:default}

/* ---------- editor content (the article body typed in the admin) ---------- */
.prose h3{font-size:1.45rem;margin:2rem 0 .75rem}
.prose h4{font-size:1.15rem;margin:1.5rem 0 .5rem}
.prose a{color:#7a5b17;text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--navy)}
[data-theme=dark] .prose a{color:var(--gold-2)}
.prose img{display:block;max-width:100%;height:auto;margin:1.5rem auto;border-radius:12px}
.prose figure{margin:1.75rem 0}
.prose figure img{margin:0 auto .5rem}
.prose figcaption{font-size:.85rem;color:var(--muted);text-align:center}
.prose ul{list-style:none;padding:0;margin:0 0 1.5rem}
.prose ul li{position:relative;padding-left:2rem;margin:.6rem 0}
.prose ul li::before{content:"✓";position:absolute;left:0;top:.2rem;width:1.4rem;height:1.4rem;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:var(--gold-2);font-size:.75rem;font-weight:700}
.prose ol{margin:0 0 1.5rem;padding-left:1.4rem}
.prose ol li{margin:.5rem 0;padding-left:.4rem}
.prose ol li::marker{font-weight:700;color:#7a5b17}
.prose blockquote{margin:2.5rem -1.5rem;padding:1.5rem 2rem;border-top:3px solid var(--gold);border-bottom:1px solid var(--line);text-align:center;background:none;border-left:0;border-radius:0}
.prose blockquote p{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.25;font-weight:600;margin:0 0 .6rem}
.prose blockquote cite{display:block;font-size:.85rem;color:var(--muted);font-style:normal;font-family:var(--sans);font-weight:400}
@media (max-width:767px){.prose blockquote{margin-left:0;margin-right:0}}
.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}
.prose th,.prose td{border:1px solid var(--line);padding:.55rem .7rem;text-align:left}
.prose th{background:var(--cream)}
.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.prose iframe,.prose video{max-width:100%;border-radius:12px}
.prose .tags-row,.prose .author-box,.prose .post-nav{font-size:1rem}
.iv-who{font-family:var(--serif);font-size:1.35rem;color:#7a5b17;margin:0 0 1rem}
[data-theme=dark] .iv-who{color:var(--gold-2)}

/* Top list: numbered entries */
.tl-items{list-style:none;counter-reset:tl;margin:2rem 0;padding:0;display:grid;gap:1rem}
.tl-items li{counter-increment:tl;position:relative;padding:1.2rem 1.4rem 1.2rem 4.4rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.tl-items li::before{content:counter(tl);position:absolute;left:1.1rem;top:1.1rem;width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;background:var(--gold-grad);color:#1a1405;font-weight:700}
.tl-items .tl-item-title{font-size:1.4rem;margin:0 0 .3rem}
.tl-items p{margin:0;color:var(--muted)}

/* team */
.member .social{margin:.4rem 0 0}

/* single-column static page */
.tm-single .tm-body{max-width:820px;margin:0 auto}
.tm-body h2{scroll-margin-top:140px}

/* 404 search */
.nf-search{margin:1.5rem 0}
.nf-search .f-input{flex:1;min-width:200px}

/* ---------- magazine: hosted flipbook embed ---------- */
.fb-embed{position:relative;width:100%;height:min(82vh,780px);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--surface)}
.fb-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fb-page .fb-bg{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- web stories ---------- */
.st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1.25rem}
.st-card{position:relative;display:block;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:9/16;background:var(--navy);color:#fff}
.st-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.st-card:hover img{transform:scale(1.05)}
.st-card .mag-ov{z-index:1}

.story-page .site-header,.story-page .site-footer,.story-page .wa,.story-page .to-top,.story-page .progress,.story-page .drawer,.story-page .scrim,.story-page .skip-link{display:none!important}
.story-page{overflow:hidden;background:#05091c}
.story-player{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#13306f,#05091c 70%)}
.story-frame{position:relative;width:min(100vw,calc(100vh*9/16));height:min(100vh,calc(100vw*16/9));background:#0b1f4b;overflow:hidden;border-radius:0;box-shadow:0 20px 60px rgba(0,0,0,.5)}
@media (min-width:700px){.story-frame{border-radius:20px;height:min(94vh,calc(100vw*16/9));width:min(94vw,calc(94vh*9/16))}}
.story-bars{position:absolute;z-index:6;left:12px;right:12px;top:10px;display:flex;gap:4px}
.story-bars i{flex:1;height:3px;background:rgba(255,255,255,.35);border-radius:3px;overflow:hidden}
.story-bars b{display:block;height:100%;width:0;background:#fff}
.story-top{position:absolute;z-index:6;left:14px;right:14px;top:22px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.story-title{font-size:.85rem;letter-spacing:.03em;opacity:.95;max-width:75%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.story-close{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;text-decoration:none}
.story-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s}
.story-slide.on{opacity:1;visibility:visible}
.story-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.story-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(5,10,30,.92));pointer-events:none}
.story-text{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:1.5rem 1.4rem 2.2rem;color:#fff}
.story-text h2{font-size:clamp(1.7rem,5.5vw,2.4rem);line-height:1.1;margin:0 0 .6rem;color:#fff}
.story-text p{margin:0 0 1rem;font-size:1.05rem;line-height:1.5;color:#eef0f6}
.story-nav{position:absolute;z-index:5;top:70px;bottom:90px;width:36%;border:0;background:transparent;cursor:pointer}
.story-nav.prev{left:0}.story-nav.next{right:0}
.story-text .btn-gold{position:relative;z-index:7}

/* small phones: keep the Subscribe button inside the screen */
@media (max-width:575px){.actions .btn-gold{padding:.55rem 1.1rem;font-size:.9rem}.navbar-row{gap:.5rem}}

/* current page in the menu */
.main-nav a[aria-current]{color:#7a5b17}
.main-nav>ul>li>a[aria-current]::after{width:100%}
[data-theme=dark] .main-nav a[aria-current]{color:var(--gold-2)}
.drawer-link[aria-current]{color:#7a5b17;border-left:3px solid var(--gold);padding-left:.75rem}
[data-theme=dark] .drawer-link[aria-current]{color:var(--gold-2)}
.md-share button{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:inherit;font-weight:700;cursor:pointer}
.md-share button[hidden]{display:none}

/* Button pairs (gold + outline) always sit on one line, same height, centred text; they wrap only when the screen is narrow. */
.hero-cta{align-items:center;flex-wrap:wrap}
.hero-cta>a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:3.05rem;padding-top:0;padding-bottom:0;line-height:1.2;text-align:center;white-space:nowrap}
.hero-cta>.btn-gold{border:2px solid transparent}
@media (max-width:420px){.hero-cta>a{flex:1 1 auto;padding-left:1rem;padding-right:1rem}}

/* ===== Top lists: listing grid, list page, profile cards, profile page ===== */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.tl-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem;align-items:start}
.tlg{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.tlg-card{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.tlg-card:hover{transform:translateY(-4px)}
.tlg-img{display:block;overflow:hidden;background:var(--cream)}
.tlg-img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s}
.tlg-card:hover .tlg-img img{transform:scale(1.05)}
.tlg-copy{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.4rem 1.2rem}
.tlg-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .6rem}
.tlg-tag{display:inline-block;padding:.2rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--gold) 18%,transparent);font-size:.78rem;font-weight:700;letter-spacing:.03em;color:#7a5b17}
[data-theme=dark] .tlg-tag{color:var(--gold-2)}
.tlg-card h2{font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.25;margin:0 0 .55rem}
.tlg-card h2 a:hover{color:#7a5b17}
.tlg-date{font-size:.78rem;font-weight:700;letter-spacing:.06em;color:var(--muted);margin:0 0 .7rem}
.tlg-ex{margin:0 0 1rem;color:var(--muted);flex:1;font-size:.95rem}
.tlg-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:auto 0 0;padding-top:.8rem;border-top:1px solid var(--line);font-size:.9rem}
.tlg-foot span{color:var(--muted)}

.tl-side{top:150px}
.tl-popular ul,.tl-years{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.tl-popular a{display:grid;grid-template-columns:88px 1fr;gap:.85rem;align-items:center}
.tl-popular img{width:88px;height:88px;object-fit:cover;border-radius:10px;background:var(--cream)}
.tl-popular b{display:block;font-family:var(--serif);font-size:1.05rem;line-height:1.25}
.tl-popular a:hover b{color:#7a5b17}
.tl-popular small{display:block;margin-top:.25rem;color:var(--muted)}
.tl-years{gap:.4rem}
.tl-years a{display:block;padding:.45rem .2rem;border-bottom:1px dashed var(--line);font-weight:600}
.tl-years a:hover,.tl-years a[aria-current]{color:#7a5b17}
@media (max-width:1100px){.tl-layout{grid-template-columns:1fr}.tl-side{position:static;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
@media (max-width:640px){.tlg{grid-template-columns:1fr}}

/* list page */
.tl-intro{padding-bottom:1rem}
.tl-prose{max-width:820px;margin-left:auto;margin-right:auto}
.share-inline{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;margin:1.5rem auto 0}
.share-inline span{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-right:.25rem}
.share-inline a,.share-inline button{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid var(--gold);background:transparent;color:inherit;font-weight:700;cursor:pointer;transition:.25s}
.share-inline a:hover,.share-inline button:hover{background:var(--gold-grad);color:#1a1405;border-color:transparent}
.tl-people .sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.tlp-card:hover{transform:translateY(-4px)}
/* People grid: 5 across on desktop, 4 / 3 / 2 as the screen gets narrower (never a sideways scroll) */
.tlp-grid{display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:1.25rem}
.tlp-grid-4{--cols:4}
.tlp-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.75rem .75rem 1rem;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.tlp-info{display:flex;flex-direction:column;align-items:center;width:100%;padding-top:.85rem;flex:1}
.tlp-info .soc-icons{justify-content:center;margin-top:.6rem}
.tlp-info .soc-icons a{min-width:1.9rem;height:1.9rem;padding:0 .4rem}
.tlp-info .more{margin-top:auto;padding-top:.7rem;font-size:.9rem}
.tlp-photo{display:block;width:100%;overflow:hidden;border-radius:10px;aspect-ratio:6/7;background:var(--cream)}
.tlp-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.tlp-card:hover .tlp-photo img{transform:scale(1.05)}
.tlp-initials{display:grid;place-items:center;width:100%;height:100%;min-height:0;aspect-ratio:6/7;background:var(--gold-grad);color:#1a1405;font-family:var(--serif);font-size:clamp(2rem,5vw,3.4rem);font-weight:700}
.tlp-info h3{font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.2;margin:0 0 .3rem;overflow-wrap:anywhere}
.tlp-info h3 a:hover{color:#7a5b17}
.tlp-role{margin:0;font-weight:600;font-size:.92rem;line-height:1.35}
.tlp-co{margin:.15rem 0 0;color:var(--muted);font-size:.85rem;line-height:1.35}

.soc-icons{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:.5rem 0 0;padding:0}
.soc-icons a{display:inline-flex;align-items:center;gap:.5rem;justify-content:center;min-width:2.1rem;height:2.1rem;padding:0 .55rem;border-radius:999px;border:1px solid var(--gold);color:inherit;font-size:.85rem;font-weight:600;transition:.25s}
.soc-icons a:hover{background:var(--gold-grad);color:#1a1405;border-color:transparent}
.soc-icons.with-labels a{padding:0 1rem;height:2.5rem}
.soc-icons svg{flex:none;width:1.05rem;height:1.05rem}


/* profile page */
.tle-hero{padding:170px 0 2.5rem;background:linear-gradient(180deg,var(--cream),var(--bg) 95%)}
.tle-back{display:inline-block;margin:0 0 1.5rem;font-weight:700;color:#7a5b17}
.tle-back:hover{text-decoration:underline}
.tle-grid{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:3rem;align-items:center}
.tle-photo{aspect-ratio:6/7;border-radius:calc(var(--radius) + 6px);overflow:hidden;box-shadow:var(--shadow);border:3px solid var(--surface);outline:1px solid var(--gold);background:var(--cream)}
.tle-photo img{display:block;width:100%;height:100%;object-fit:cover}
.tle-who h1{font-size:clamp(2.2rem,4.6vw,3.6rem);margin:.5rem 0 .6rem}
.tle-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}
.tle-title span{font-weight:400;color:var(--muted)}
.tle-list{margin:0 0 .5rem;color:var(--muted)}
.tle-list a{color:#7a5b17;font-weight:600;text-decoration:underline;text-underline-offset:3px}
[data-theme=dark] .tle-list a{color:var(--gold-2)}
.tle-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3rem;align-items:start}
.tle-h{margin:0 0 1rem}
.tle-layout .prose{margin-bottom:2.5rem}
.tle-card dl{margin:0;display:grid;gap:.9rem}
.tle-card dl div{padding-bottom:.9rem;border-bottom:1px dashed var(--line)}
.tle-card dl div:last-child{border:0;padding-bottom:0}
.tle-card dt{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tle-card dd{margin:.15rem 0 0;font-weight:600}
.tle-card dd a{color:#7a5b17}
.tle-nav-sec{padding-top:0}
@media (max-width:900px){.tle-hero{padding-top:130px}.tle-grid{grid-template-columns:minmax(150px,240px) 1fr;gap:1.5rem}.tle-layout{grid-template-columns:1fr}}
@media (max-width:560px){.tle-grid{grid-template-columns:1fr}.tle-photo{max-width:260px}}

/* ===== Top list page, laid out like the reference: title, banner, intro, then the stack of people ===== */
.tld-head{padding:170px 0 1.5rem;background:linear-gradient(180deg,var(--cream),var(--bg));text-align:center}
.tld-head .crumbs ol{justify-content:center}
.tld-head h1{font-size:clamp(2rem,4.4vw,3.4rem);max-width:22ch;margin:0 auto .75rem;line-height:1.1}
.tld-meta{margin:0;color:var(--muted);font-size:.95rem}
.tld-banner{margin:1rem auto 0}
.tld-banner img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow)}
.tld-intro{padding-bottom:.5rem}
.tld-people{padding-top:1rem}
.tld-end{text-align:center;padding-top:1rem}
@media (max-width:640px){.tld-head{padding-top:130px}}

@media (max-width:1199px){.tlp-grid,.tlp-grid-4{--cols:4}}
@media (max-width:899px){.tlp-grid,.tlp-grid-4{--cols:3}}
@media (max-width:639px){.tlp-grid,.tlp-grid-4{--cols:2;gap:.75rem}.tlp-card{padding:.5rem .5rem .8rem}.tlp-info h3{font-size:1rem}.tlp-role{font-size:.8rem}.tlp-co{font-size:.75rem}.tlp-info .soc-icons{gap:.3rem}.tlp-info .soc-icons a{min-width:1.7rem;height:1.7rem}.tlp-info .soc-icons svg{width:.9rem;height:.9rem}}
@media (max-width:299px){.tlp-grid,.tlp-grid-4{--cols:1}}

/* ===== Interviews, laid out like the reference: list (cover grid + sidebar), the interview's own page, the full article ===== */
.btn-dark{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.6rem;border-radius:999px;background:var(--navy);color:#fff;font-weight:700;transition:.25s}
.btn-dark:hover{background:var(--gold-grad);color:#1a1405}

/* list page */
.ivx-hero{padding:170px 0 3rem;background:linear-gradient(135deg,var(--cream),color-mix(in srgb,var(--gold) 14%,var(--bg)) 55%,var(--bg))}
.ivx-title{display:flex;align-items:center;gap:1.5rem;margin:.5rem 0 1.75rem;font-size:clamp(2.2rem,6vw,4.4rem);line-height:1;text-transform:uppercase;letter-spacing:.04em;color:#7a5b17}
[data-theme=dark] .ivx-title{color:var(--gold-2)}
.ivx-star{position:relative;display:block;flex:1;min-width:60px;max-width:360px;height:1px;background:linear-gradient(90deg,currentColor,transparent)}
.ivx-star::before{content:"✦";position:absolute;left:0;top:50%;transform:translateY(-52%);font-size:1.6rem;font-style:normal;color:var(--text)}
.ivx-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.ivx-tag{margin:0;font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2.2rem);line-height:1.25;font-weight:600}
.ivx-intro p{margin:0 0 1rem;color:var(--muted);font-size:1.05rem}
.ivx-intro b{color:var(--text)}
.iv-body{padding-top:2.5rem}
.iv-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem;align-items:start}
.ivm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem 1.25rem}
.ivm{display:block;text-align:center}
.ivm img{display:block;width:100%;aspect-ratio:600/780;object-fit:cover;object-position:center top;border-radius:6px;box-shadow:var(--shadow);transition:transform .4s,box-shadow .4s;background:var(--cream)}
.ivm:hover img{transform:translateY(-5px);box-shadow:0 18px 36px rgba(11,31,75,.22)}
.ivm-title{display:block;margin-top:.85rem;font-family:var(--serif);font-weight:700;font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.25}
.ivm:hover .ivm-title{color:#7a5b17}

/* sidebar blocks shared by the three pages */
.widget-iv .w-title{display:flex;align-items:center;gap:.6rem}
.widget-iv .w-title::before{content:"✱";color:var(--gold);font-size:1.1rem}
.ivr{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.ivr a{display:flex;gap:.85rem;align-items:center}
.ivr img{flex:none;width:62px;height:80px;object-fit:cover;object-position:center top;border-radius:4px;background:var(--cream)}
.ivr b{display:block;font-weight:600;font-size:.97rem;line-height:1.3}
.ivr a:hover b{color:#7a5b17}
.ivr small{display:flex;align-items:center;gap:.35rem;margin-top:.3rem;color:#a8541f;font-size:.78rem}
[data-theme=dark] .ivr small{color:var(--gold-2)}

/* the interview's own page */
.ivs-hero{padding:140px 0 2.5rem;background:linear-gradient(180deg,var(--cream),color-mix(in srgb,var(--gold) 10%,var(--bg)))}
.ivs-hero h1{font-size:clamp(1.55rem,2.8vw,2.3rem);line-height:1.2;margin:0 0 1.25rem;max-width:none}
.ivs-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.4fr) minmax(190px,.9fr);gap:2.25rem;align-items:center}
.ivs-banner img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center top;border-radius:var(--radius);box-shadow:var(--shadow)}
.ivs-card h2{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.2;margin:0 0 .6rem}
.ivs-card h2 a:hover{color:#7a5b17}
.ivs-card h4{font-family:var(--sans);font-size:.95rem;font-weight:700;color:var(--muted);margin:0 0 .9rem}
.ivs-card p{color:var(--muted);margin:0 0 1.2rem}
.ivs-cover{justify-self:end;width:100%;max-width:270px}
.ivs-cover img{display:block;width:100%;aspect-ratio:600/780;object-fit:cover;object-position:center top;border-radius:8px;box-shadow:0 22px 40px rgba(11,31,75,.28)}
.ivs-body{padding-top:2.5rem}
.ivs-label{display:flex;margin:0 0 1.75rem;border-bottom:2px solid var(--gold)}
.ivs-label span{background:var(--gold-grad);color:#1a1405;padding:.55rem 1.5rem;font-family:var(--sans);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ivs-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.75rem;align-items:center;margin-bottom:2.25rem}
.ivs-row-img img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center top;border-radius:var(--radius);box-shadow:var(--shadow)}
.ivs-row h3{font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.2;margin:0 0 .5rem}
.ivs-row h3 a:hover{color:#7a5b17}
.ivs-row h4{font-family:var(--sans);font-size:.88rem;font-weight:700;color:var(--muted);margin:0 0 .6rem}
.ivs-row p{margin:0 0 .8rem;color:var(--muted)}

/* the full article */
.ivd-hero{padding:140px 0 1.75rem;background:linear-gradient(180deg,var(--cream),color-mix(in srgb,var(--gold) 10%,var(--bg)))}
.ivd-hero h1{font-size:clamp(1.55rem,2.8vw,2.3rem);line-height:1.2;margin:0 0 1.25rem;max-width:none}
.ivd-hero-row{display:flex;gap:2rem;align-items:center}
.ivd-banner{flex:1;min-width:0;margin:0}
.ivd-banner img{display:block;width:auto;max-width:100%;height:auto;max-height:560px;border-radius:var(--radius);box-shadow:var(--shadow)}/* shown whole (no cropping); very tall pictures are scaled down */
.ivd-badge{flex:none;margin-left:auto;display:flex;flex-direction:column;justify-content:center;gap:.9rem;width:220px;height:220px;padding:1.5rem 2rem;border:1.5px dashed var(--text);border-radius:50%;background:color-mix(in srgb,var(--surface) 60%,transparent)}
.ivd-badge p{margin:0;font-size:.92rem;color:var(--muted)}
.ivd-badge b{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--text)}
.ivd-badge p+p{padding-top:.9rem;border-top:1px solid var(--text)}
.ivd-badge a{color:#7a5b17;font-weight:600}
.ivd-body{padding-top:2.5rem}
.ivd-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem;align-items:start;max-width:1240px;margin:0 auto}
.ivd-main{min-width:0}
.ivd-toc{margin:0 0 2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.ivd-toc-h{margin:0;padding:.95rem 1.2rem;border-bottom:1px solid var(--line);font-family:var(--sans);font-size:.9rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.ivd-toc-h span{border-left:4px solid var(--gold);padding-left:.7rem}
.ivd-toc ol{list-style:none;margin:0;padding:.8rem;display:grid;gap:.5rem}
.ivd-toc a{display:flex;align-items:center;gap:.85rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;font-weight:600;font-size:.97rem;transition:.2s}
.ivd-toc a i{flex:none;display:grid;place-items:center;width:1.7rem;height:1.7rem;border:1px solid var(--text);border-radius:5px;font-style:normal;font-size:.78rem}
.ivd-toc a:hover,.ivd-toc a.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.ivd-toc a.on{border-left:4px solid var(--gold)}
.ivd-share{justify-content:flex-start;margin:2rem 0 0}
.ivd-more{margin:1.75rem 0 0;font-size:1.05rem}
.ivd-more a{color:#7a5b17;text-decoration:underline;text-underline-offset:3px}
.ivd-side{top:130px}

/* tablets and phones */
@media (max-width:1100px){
  .iv-layout,.ivd-layout{grid-template-columns:minmax(0,1fr)}
  .iv-layout .side,.ivd-side{position:static;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
}
@media (max-width:1000px){
  .ivs-feature{grid-template-columns:1fr;gap:1.5rem}
  .ivs-cover{order:-1;max-width:240px;margin:0 auto}
  .ivs-card{order:2}
  .ivx-hero-grid{grid-template-columns:1fr;gap:1.25rem}
}
@media (max-width:900px){
  .ivd-hero-row{flex-direction:column;align-items:stretch}
  .ivd-badge{width:auto;height:auto;flex-direction:row;flex-wrap:wrap;gap:.6rem 2rem;padding:1rem 1.25rem;border-radius:14px}
  .ivd-badge p+p{padding:0;border:0}
  .ivd-badge b{display:inline;margin-right:.5rem}
}
@media (max-width:760px){.ivm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .9rem}}
@media (max-width:640px){
  .ivs-row{grid-template-columns:1fr}
  .ivx-hero,.ivs-hero,.ivd-hero{padding-top:115px}
  .ivm-title{font-size:1rem}
}

/* ===== Our top clients: endless scrolling logo strip ===== */
.lm{position:relative;overflow:hidden;margin-top:2rem;padding:.5rem 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lm-track{display:flex;align-items:center;gap:1.25rem;width:max-content;animation:lm-scroll 45s linear infinite;will-change:transform}
.lm:hover .lm-track,.lm:focus-within .lm-track{animation-play-state:paused}
.lm-item{flex:none;width:210px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:transform .3s,box-shadow .3s}
.lm-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.lm-item a{display:block;color:inherit}
.lm-pic{display:block;width:100%;aspect-ratio:8/5;object-fit:cover;background:var(--cream)}
.lm-logo{display:flex;align-items:center;justify-content:center;height:96px;padding:.9rem 1.1rem}
.lm-logo img{max-width:100%;max-height:60px;width:auto;height:auto;object-fit:contain;transition:.3s}
.lm-item:hover .lm-logo img{transform:scale(1.05)}
.lm-logo b{font-family:var(--serif);font-size:1.15rem;line-height:1.2;text-align:center;color:var(--muted)}
@keyframes lm-scroll{to{transform:translateX(-50%)}}
@media (max-width:640px){.lm-item{width:164px}.lm-logo{height:80px}.lm-logo img{max-height:52px}.lm-track{animation-duration:35s}}
@media (prefers-reduced-motion:reduce){
  .lm{-webkit-mask-image:none;mask-image:none;overflow-x:auto}
  .lm-track{animation:none}
  .lm-item[aria-hidden="true"]{display:none}
}

/* ===== What leaders say: photo + company logo ===== */
.quote{display:flex;flex-direction:column}
.quote blockquote{flex:1}
.q-by{display:flex;align-items:center;gap:.8rem;margin-top:.25rem}
.q-photo{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);background:var(--cream)}
.q-who{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.q-who b{font-family:var(--serif);font-size:1.05rem;color:var(--text)}
.q-who em{font-style:normal;font-size:.85rem;color:var(--muted)}
.q-logo{flex:none;margin-left:auto;max-width:96px;max-height:36px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.7}

/* ===== Interviews list: category buttons are links ===== */
a.chip{display:inline-block;text-decoration:none;color:inherit}
a.chip.on{color:#1a1405}
.iv-grid .iv-ov p{min-height:1.2em}
@media (max-width:991px){.iv-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.iv-grid{grid-template-columns:1fr}}


/* ===== Related Interviews carousel ===== */
.sw-related{margin-top:1.25rem;padding-bottom:2.5rem}
.sw-related .swiper-slide{height:auto}
.js-swiper.sw-related:not(.swiper-initialized) .swiper-slide{flex:0 0 200px}
.rel-card{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:inherit;transition:transform .3s,box-shadow .3s}
.rel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.rel-img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--cream)}
.rel-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s}
.rel-card:hover .rel-img img{transform:scale(1.06)}
.rel-body{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem 1.1rem;flex:1}
.rel-body b{font-family:var(--serif);font-size:1.15rem;line-height:1.2}
.rel-body small{color:var(--muted);font-size:.82rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rel-body em{margin-top:auto;padding-top:.5rem;font-style:normal;font-size:.82rem;font-weight:700;color:#7a5b17}
.rel-body em i{font-style:normal;display:inline-block;transition:transform .3s}
.rel-card:hover .rel-body em i{transform:translateX(4px)}
.sw-related .swiper-button-prev,.sw-related .swiper-button-next{top:38%}
.sw-related .swiper-button-prev{left:.25rem}.sw-related .swiper-button-next{right:.25rem}
@media (max-width:575px){.sw-related .swiper-button-prev,.sw-related .swiper-button-next{display:none}}

/* ===== Sticky sidebar on the interview pages (desktop): Recent Post, Category and Keywords follow the reader ===== */
@media (min-width:1101px){
  .iv-layout > .side,.ivd-layout > .side{
    position:sticky;top:130px;align-self:start;
  }
}

/* ===== Top list person page: compact, no big blank bands, sticky sidebar ===== */
.tle-hero{padding:140px 0 1.5rem}
.tle-hero .crumbs{margin-bottom:1rem}
.tle-grid{grid-template-columns:minmax(180px,260px) 1fr;gap:2rem}
.tle-who h1{font-size:clamp(1.8rem,3.6vw,2.8rem);margin:.4rem 0 .4rem;line-height:1.1}
.tle-title{font-size:1.1rem;margin:0 0 .35rem}
.tle-list{margin:0 0 .6rem}
.tle-back{display:inline;margin:0;font-weight:700;color:#7a5b17}
.section.tle-body{padding:1.75rem 0 2.5rem}
.tle-layout{gap:2rem;grid-template-columns:minmax(0,1fr) 330px}
.tle-h{margin:0 0 .75rem;font-size:clamp(1.4rem,2.2vw,1.9rem)}
.tle-layout .prose{margin-bottom:1.5rem}
.tle-side{display:grid;gap:1.25rem;align-content:start}
.tle-nav .post-nav{grid-template-columns:1fr;gap:.6rem;margin-top:0}
.tle-nav .pn{padding:.7rem .9rem}
.tle-nav .pn b{font-size:1.05rem}
.tle-nav .pn.next{text-align:left}
.tle-nav .more{display:inline-block;margin-top:.8rem;font-weight:700}
.section.alt[aria-labelledby=more-h]{padding:2rem 0 2.5rem}
.section.alt[aria-labelledby=more-h] .sec-head{margin-bottom:1rem}
@media (min-width:901px){
  .tle-side{position:sticky;top:130px;align-self:start}
}
@media (max-width:900px){.tle-hero{padding-top:120px}.tle-side{position:static}}
@media (max-width:560px){.tle-grid{grid-template-columns:1fr;gap:1rem}}
.tle-side .widget{padding:1.1rem 1.25rem}
.tle-side .w-title{font-size:1.25rem;margin-bottom:.7rem}
.tle-card dl{gap:.6rem}
.tle-card dl div{padding-bottom:.6rem}

/* ===== Top list person page, header card + Explore more (like the reference) ===== */
.tle-hero{padding:140px 0 1rem;background:linear-gradient(180deg,var(--cream),var(--bg))}
.tle-head{display:flex;align-items:center;gap:1.75rem;padding:1.1rem 1.5rem 1.1rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.tle-head .tle-photo{flex:none;width:190px;aspect-ratio:1/1.05;border:5px solid var(--surface);outline:0;border-radius:22px;box-shadow:0 6px 22px rgba(20,25,40,.18);overflow:hidden;margin:-.4rem 0}
.tle-head .tle-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.tle-head .tle-who{flex:1;min-width:0}
.tle-name-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}
.tle-name-row h1{margin:0;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1}
.tle-check{flex:none;color:#139b7a}
.tle-pill{display:inline-block;padding:.22rem .8rem;border:1px solid #9fdccb;border-radius:999px;background:#e8f7f2;color:#0b8a69;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
[data-theme=dark] .tle-pill{background:rgba(19,155,122,.15);border-color:rgba(19,155,122,.5);color:#5fd6b6}
.tle-role,.tle-listline{display:flex;align-items:center;gap:.6rem;margin:.55rem 0 0;color:var(--muted);font-weight:600}
.tle-role svg,.tle-listline svg{flex:none;color:#6b7a99}
.tle-listline a{font-weight:700;color:inherit}
.tle-listline a:hover{color:#7a5b17;text-decoration:underline}
.tle-role{font-size:.98rem}
.tle-listline{font-size:1.02rem;color:var(--text)}
.tle-socials{flex:none;align-self:stretch;display:flex;align-items:center;padding-left:1.5rem;border-left:1px solid var(--line)}
.tle-socials .soc-icons{margin:0;gap:.55rem;flex-wrap:wrap;max-width:260px;justify-content:flex-start}
.tle-socials .soc-icons a{min-width:2.25rem;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:6px;color:#fff;background:#3a4152}
.tle-socials .soc-icons a:hover{filter:brightness(1.12);transform:translateY(-2px);background:revert-layer}
.tle-socials a[data-net=linkedin]{background:#0a66c2}
.tle-socials a[data-net=facebook]{background:#1877f2}
.tle-socials a[data-net=youtube]{background:#ff0000}
.tle-socials a[data-net=tiktok],.tle-socials a[data-net=x]{background:#000}
.tle-socials a[data-net=instagram]{background:linear-gradient(45deg,#f9a825,#e1306c 55%,#8a3ab9)}
.tle-socials .soc-icons a:hover{color:#fff}
.tle-socials a[data-net=linkedin]:hover{background:#0a66c2}.tle-socials a[data-net=facebook]:hover{background:#1877f2}
.tle-socials a[data-net=youtube]:hover{background:#ff0000}.tle-socials a[data-net=tiktok]:hover,.tle-socials a[data-net=x]:hover{background:#000}
.tle-socials a[data-net=instagram]:hover{background:linear-gradient(45deg,#f9a825,#e1306c 55%,#8a3ab9)}
.tle-socials a[data-net=website]:hover{background:#3a4152}

/* main white card holding About, Connect and Explore more */
.tle-main{padding:1.5rem 1.75rem 1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.tle-explore{margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.tle-explore-h{margin:0 0 .8rem;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.tle-pn-row{display:flex;justify-content:space-between;gap:1rem}
.tle-pn{display:flex;align-items:center;gap:.9rem;max-width:48%;min-width:0;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--cream);transition:transform .25s,box-shadow .25s}
.tle-pn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.tle-pn.next{margin-left:auto;text-align:right}
.tle-pn-pic{flex:none;width:42px;height:42px;border-radius:8px;overflow:hidden;background:var(--gold-grad);display:grid;place-items:center}
.tle-pn-pic img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.tle-pn-pic i{font-style:normal;font-weight:700;font-size:.9rem;color:#1a1405}
.tle-pn-txt{display:flex;flex-direction:column;min-width:0}
.tle-pn-txt small{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.tle-pn-txt b{font-size:1rem;line-height:1.25;margin-top:.1rem}
.section.tle-body{padding:1rem 0 2rem}
@media (max-width:900px){
  .tle-head{flex-wrap:wrap;gap:1.1rem}
  .tle-socials{flex-basis:100%;padding:.9rem 0 0;border-left:0;border-top:1px solid var(--line)}
  .tle-socials .soc-icons{max-width:none}
}
@media (max-width:560px){
  .tle-head{flex-direction:column;align-items:flex-start}
  .tle-head .tle-photo{width:160px}
  .tle-main{padding:1.1rem}
  .tle-pn-row{flex-direction:column}.tle-pn{max-width:none}.tle-pn.next{margin-left:0;text-align:left;flex-direction:row-reverse;justify-content:flex-end}
}
@media (max-width:900px){.tle-layout{grid-template-columns:minmax(0,1fr)}}

/* ===== Site-wide spacing pass: smaller gaps between sections and under the header ===== */
.section{padding:clamp(2.25rem,4.5vw,3.75rem) 0}
.sec-head{margin-bottom:1.25rem}
.hero{padding:140px 0 2.5rem}
.cat-hero{padding:145px 0 1.75rem}
.post-hero{padding:145px 0 1.25rem}
.iv-hero{padding:145px 0 2rem}
.mg-hero,.ab-hero{padding:145px 0 0}
.md-hero{padding:145px 0 1.5rem}
.cat-body,.post-body{padding-top:1.75rem}
.iv-body{padding-top:1.25rem}
.mg-list{padding-top:1rem}
@media (max-width:991px){
  .hero,.cat-hero,.post-hero,.iv-hero,.md-hero,.mg-hero,.ab-hero{padding-top:125px}
}
@media (max-width:575px){
  .section{padding:2rem 0}
  .hero,.cat-hero,.post-hero,.iv-hero,.md-hero,.mg-hero,.ab-hero{padding-top:115px}
  .sec-head{margin-bottom:1rem}
}
@media (max-width:991px){
  .iv-hero-grid{gap:1.5rem}
  .iv-hero-art .h1{margin-top:1rem}
  .iv-hero-art .h3{margin-top:2rem}
}
/* long reading text is justified on tablets and desktops (phones stay left-aligned: narrow lines look gappy when justified) */
@media (min-width:576px){
  .prose p,.prose li,.tle-main .prose p,.tm-sec p{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
  .prose h1,.prose h2,.prose h3,.prose h4,.prose figcaption,.prose blockquote,.prose table{text-align:left;hyphens:none}
}

/* =====================================================================
   DESIGN PASS: navy + gold from the logo, soft light tints, uncropped pictures
   ===================================================================== */
:root{--ink:#0b1f4b;--navy-50:#f1f4fb;--navy-100:#dfe7f5;--gold-50:#fbf7ea;--gold-100:#f1e5c4;--gold-ink:#7a5b17}
[data-theme=dark]{--ink:#f1f3fa;--navy-50:#0e1a3d;--navy-100:#25356a;--gold-50:#101d44;--gold-100:#2c3868;--gold-ink:#e6c77a}

/* ---- type: serif for big headings, bold sans for card titles ---- */
body{font-size:1.0125rem;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.h-section{color:var(--ink);font-size:clamp(1.9rem,3.2vw,2.75rem);letter-spacing:-.005em;margin-bottom:1.25rem}
.sec-head .h-section{margin:0}
.lead-dek{font-size:clamp(1.02rem,1.3vw,1.15rem);line-height:1.7}
.kicker{color:var(--gold-ink);letter-spacing:.04em}
.more{color:var(--ink);font-size:.95rem}
[data-theme=dark] .more{color:var(--gold-2)}
.more:hover{color:var(--gold-ink)}

/* ---- section rhythm and colour ---- */
.section.alt{background:var(--navy-50)}
#interviews.alt,#stories.alt{background:var(--gold-50)}
.sec-head{position:relative;padding-top:1rem}
.sec-head::before{content:"";position:absolute;left:0;top:0;width:56px;height:4px;border-radius:4px;background:var(--gold-grad)}

/* ---- home hero ---- */
.hero-v2{padding:150px 0 3rem;background:
  radial-gradient(820px 420px at 90% 6%,rgba(201,162,75,.22),transparent 62%),
  radial-gradient(640px 360px at 0% 0%,rgba(19,48,111,.08),transparent 62%),
  linear-gradient(180deg,var(--gold-50),var(--bg) 94%)}
.hero-v2::before{display:none}
.hero-v2 .hero-grid{grid-template-columns:1.08fr .92fr;align-items:center;gap:2.75rem}
.hero-v2 h1{font-size:clamp(2.45rem,5vw,4.25rem);line-height:1.04;color:var(--ink);letter-spacing:-.012em;margin-bottom:1.1rem}
.hero-v2 h1 em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
.hero-v2 .kicker{display:inline-flex;align-items:center;gap:.55rem;padding:.32rem .95rem;border:1px solid var(--gold-100);background:var(--surface);border-radius:999px;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 2px 10px rgba(11,31,75,.05)}
.hero-v2 .kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.hero-proof{display:flex;flex-wrap:wrap;gap:1.25rem 2.25rem;list-style:none;margin:1.75rem 0 0;padding:1.15rem 0 0;border-top:1px solid var(--navy-100)}
.hero-proof b{display:block;font-family:var(--serif);font-size:2.1rem;line-height:1;color:var(--ink)}
.hero-proof span{display:block;margin-top:.25rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.hero-art{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;align-items:start}
.hero-art .ha{display:block;border-radius:14px;overflow:hidden;background:var(--navy-50);border:3px solid var(--surface);outline:1px solid var(--gold);box-shadow:0 18px 40px rgba(11,31,75,.18);transition:transform .35s,box-shadow .35s}
.hero-art .ha img{display:block;width:100%;height:auto;aspect-ratio:880/1156;object-fit:contain}
.hero-art .ha1{margin-top:2.4rem}.hero-art .ha3{margin-top:4.4rem}
.hero-art .ha:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(11,31,75,.24)}
@media (max-width:991px){
  .hero-v2{padding-top:125px}
  .hero-v2 .hero-grid{grid-template-columns:1fr;gap:1.75rem}
  .hero-art,.hero-v2 .covers{max-width:520px}
}
@media (max-width:575px){.hero-v2{padding-top:115px}.hero-proof{gap:1rem 1.5rem}.hero-proof b{font-size:1.7rem}.hero-art{gap:.6rem}.hero-art .ha1{margin-top:1.2rem}.hero-art .ha3{margin-top:2.2rem}}

/* ---- cards: white, navy hairline, gold on hover; pictures never cropped ---- */
.card{border:1px solid var(--navy-100);border-radius:16px;box-shadow:0 8px 24px rgba(11,31,75,.07)}
.card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 18px 40px rgba(11,31,75,.14)}
.card .art,.post .art,.post-img img.art{aspect-ratio:16/9;object-fit:contain;object-position:center;background:linear-gradient(135deg,var(--navy-50),var(--surface))}
.card:hover .art{transform:none}
.card-body{padding:1.15rem 1.25rem 1.3rem}
.card h3{font-family:var(--sans);font-weight:700;font-size:1.1rem;line-height:1.34;letter-spacing:-.005em;color:var(--ink);margin:.4rem 0 .45rem}
.card-big h3{font-size:1.5rem}
.card h3 a:hover{color:var(--gold-ink)}
.card p{font-size:.94rem;line-height:1.6}
.card .t-cat,.t-cat.pill{display:inline-block;padding:.16rem .65rem;border-radius:999px;background:var(--gold-50);border:1px solid var(--gold-100);color:var(--gold-ink);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.card .meta{font-size:.8rem}

/* ---- pictures on other pages: show the whole picture ---- */
.iv-link{aspect-ratio:880/1156}
.iv-img,.mg-cover img,.st-card img{object-fit:contain;object-position:center;background:var(--navy)}
.tlg-img img,.tl-img img,.ivs-banner img,.ivs-row-img img,.rel-img img,.post-cover img,.inline-fig img,.tl-banner img,.ab-hero-art img,.ab-side img,.iv-hero-art img,.ivm img,.ivs-cover img,.tlp-photo img,.tle-photo img,.tle-head .tle-photo img,.tld-banner img{object-fit:contain;object-position:center;background-color:var(--navy-50)}
.tld-banner img{max-height:none}
.cover img{object-fit:contain;background:var(--navy)}
@media (max-width:575px){.iv-link{aspect-ratio:880/1156}}
.two-col{align-items:center}
.map-panel{background:linear-gradient(180deg,var(--gold-50),var(--surface));border:1px solid var(--gold-100);border-left:4px solid var(--gold);box-shadow:0 10px 28px rgba(11,31,75,.07)}
.map-panel h3{color:var(--ink)}
.promise{list-style:none;margin:1.1rem 0 0;padding:1.1rem 0 0;border-top:1px dashed var(--gold-100);display:grid;gap:.6rem}
.promise li{position:relative;padding-left:1.6rem;font-weight:600;font-size:.95rem;line-height:1.45}
.promise li::before{content:"";position:absolute;left:0;top:.35rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--gold-grad);box-shadow:0 0 0 3px var(--gold-50)}
.sw-interviews .swiper-button-prev,.sw-interviews .swiper-button-next{top:110px;margin-top:0}

/* ===== Magazines page ===== */
.mg-hero-v2{padding-bottom:0;background:
  radial-gradient(820px 420px at 92% 10%,rgba(201,162,75,.22),transparent 62%),
  radial-gradient(640px 360px at 0% 0%,rgba(19,48,111,.08),transparent 62%),
  linear-gradient(180deg,var(--gold-50),var(--bg) 92%)}
.mg-hero-v2::before{display:none}
.mg-hero-v2 .mg-hero-grid{grid-template-columns:1.1fr .9fr;gap:2.5rem;padding-bottom:2.25rem}
.mg-hero-v2 h1{font-size:clamp(2rem,3.9vw,3.3rem);line-height:1.08;color:var(--ink);letter-spacing:-.01em}
.mg-hero-v2 h1 em{display:block;font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.1em}
.pill-k{display:inline-flex;align-items:center;gap:.55rem;padding:.32rem .95rem;border:1px solid var(--gold-100);background:var(--surface);border-radius:999px;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;box-shadow:0 2px 10px rgba(11,31,75,.05)}
.pill-k::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold)}
.mg-hero-v2 .lead-dek{margin-bottom:.9rem}
.mg-hero-v2 p{max-width:58ch}
.mg-wave{fill:var(--bg);height:54px}

/* when there are no covers yet: three styled placeholders (clearly not real issues) */
.mg-stack{position:relative;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;padding:1rem 0 1.75rem;max-width:520px;justify-self:center;width:100%}
.mgs{container-type:inline-size;position:relative;aspect-ratio:3/4;border-radius:6px 12px 12px 6px;overflow:hidden;box-shadow:0 22px 44px rgba(11,31,75,.28);background:linear-gradient(160deg,var(--navy),#1f4a9a);color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;padding:7cqw 4cqw}
.mgs::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.18) 60%,transparent)}
.mgs::after{content:"";position:absolute;width:90%;aspect-ratio:1;right:-35%;bottom:-18%;border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.45),transparent 65%)}
.mgs1{transform:rotate(-6deg) translateX(14%);z-index:1;background:linear-gradient(160deg,#143c46,#3d8a82)}
.mgs2{transform:scale(1.12);z-index:3}
.mgs3{transform:rotate(6deg) translateX(-14%);z-index:1;background:linear-gradient(160deg,#46203a,#a04a78)}
.mgs-mast{font-family:var(--serif);font-weight:700;font-size:10.5cqw;letter-spacing:.03em;text-transform:uppercase;color:var(--gold-2);line-height:1.05;position:relative;z-index:1}
.mgs-issue{margin-top:4cqw;font-size:4.6cqw;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.9;position:relative;z-index:1}
.mgs-name{margin-top:auto;font-family:var(--serif);font-size:14cqw;font-weight:700;line-height:1.05;position:relative;z-index:1}

/* three reasons */
.mg-why{padding:.5rem 0 1rem}
.mg-why-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.mg-why-grid li{padding:1.35rem 1.4rem;background:var(--surface);border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:14px;box-shadow:0 8px 22px rgba(11,31,75,.06)}
.mgw-ic{display:grid;place-items:center;width:42px;height:42px;margin-bottom:.8rem;border-radius:50%;background:var(--ink);color:var(--gold-2);font-size:1.15rem}
[data-theme=dark] .mgw-ic{background:var(--gold-50);border:1px solid var(--gold-100)}
.mg-why-grid h3{font-family:var(--sans);font-weight:700;font-size:1.05rem;color:var(--ink);margin:0 0 .35rem}
.mg-why-grid p{margin:0;font-size:.94rem;line-height:1.6;color:var(--muted)}

/* grid of issues */
.mg-list{padding-top:1.5rem}
.mg{gap:.55rem}
.mg .mg-cover{border-radius:6px 12px 12px 6px}
.mg-tag{align-self:flex-start;margin-top:.35rem;padding:.16rem .65rem;border-radius:999px;background:var(--gold-50);border:1px solid var(--gold-100);color:var(--gold-ink);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mg h3{font-family:var(--sans);font-weight:700;font-size:1.04rem;line-height:1.35;color:var(--ink)}
.mg h3 a:hover{color:var(--gold-ink)}
.mg-more{font-size:.88rem;font-weight:700;color:var(--ink);align-self:flex-start;border-bottom:2px solid var(--gold)}
.mg-more i{font-style:normal}
.mg-more:hover{color:var(--gold-ink)}
@media (hover:none){.mg-more{display:inline-block}}

.mg-empty{max-width:640px;margin:.5rem auto 0;padding:2.5rem 1.75rem;text-align:center;background:linear-gradient(180deg,var(--gold-50),var(--surface));border:1px solid var(--gold-100);border-radius:18px;box-shadow:0 10px 28px rgba(11,31,75,.06)}
.mg-empty-ic{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 1rem;border-radius:50%;background:var(--ink);color:var(--gold-2);font-size:1.4rem}
.mg-empty h3{font-size:1.7rem;color:var(--ink);margin-bottom:.4rem}
.mg-empty p{margin:0 auto 1.25rem;max-width:44ch;color:var(--muted)}

/* closing call to action */
.mg-cta{margin-top:1.5rem;padding:2.75rem 0;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;position:relative;overflow:hidden}
.mg-cta::before{content:"";position:absolute;width:420px;height:420px;right:-90px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.35),transparent 65%)}
.mg-cta-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.75rem;flex-wrap:wrap}
.mg-cta .kicker{color:var(--gold-2);margin-bottom:.4rem}
.mg-cta h2{font-size:clamp(1.8rem,3.2vw,2.6rem);color:#fff;margin-bottom:.4rem}
.mg-cta p{margin:0;max-width:52ch;color:#d5dcf0}
.mg-cta .hero-cta{margin:0}
.btn-light{display:inline-block;padding:.7rem 1.5rem;border:2px solid rgba(255,255,255,.55);border-radius:999px;font-weight:700;color:#fff;transition:.25s}
.btn-light:hover{background:#fff;color:var(--navy)}

@media (max-width:991px){.mg-hero-v2 .mg-hero-grid{grid-template-columns:1fr}.mg-why-grid{grid-template-columns:1fr}.mg-hero-v2 .mg-banner,.mg-stack{max-width:440px}}
@media (max-width:575px){.mg-cta{padding:2.25rem 0}.mg-cta .hero-cta{width:100%}}

/* headings on dark navy bands stay white (the navy heading colour above is for light backgrounds) */
.md-cta .h-section,.md-cta h2,.iv-brand h2,.iv-brand .h-section,.newsletter h2,.newsletter .h-section,.ab-quote h2,.ab-quote .h-section,.dark h2,.dark .h-section,.mg-cta h2{color:#fff}

/* flipbook made from a PDF: waiting screen while the pages are drawn */
.fb-viewer.is-loading .fb-bar,.fb-viewer.is-loading .fb-scroll,.fb-viewer.is-loading .fb-hint{display:none}
.fb-loading{display:grid;justify-items:center;gap:.5rem;padding:4rem 1rem;text-align:center;border-radius:var(--radius);background:linear-gradient(180deg,var(--gold-50),var(--surface));border:1px solid var(--gold-100)}
.fb-loading b{font-family:var(--serif);font-size:1.5rem;color:var(--ink)}
.fb-loading small{color:var(--muted)}
.fb-spin{width:38px;height:38px;border-radius:50%;border:4px solid var(--gold-100);border-top-color:var(--gold);animation:fbspin 1s linear infinite}
@keyframes fbspin{to{transform:rotate(360deg)}}

/* ===== Top Lists page ===== */
.tl-hero-v2 .mg-hero-grid{grid-template-columns:1.05fr .95fr;padding-bottom:2.25rem;align-items:end}
.tl-hero-v2 .hero-proof{margin-top:1.5rem}
.tl-hero-v2 .mg-hero-grid>div:first-child p{margin-top:0}
.tl-hero-v2 .hero-cta{margin:1.1rem 0 0}
.tl-collage{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;max-width:540px;width:100%;justify-self:center;align-self:center}
.tlc{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:14px;overflow:hidden;box-shadow:0 14px 34px rgba(11,31,75,.12);transition:transform .35s,box-shadow .35s}
.tlc:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(11,31,75,.18)}
.tlc-img{display:block;background:var(--navy-50)}
.tlc-img img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:var(--navy-50)}
.tlc-cap{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem .85rem .75rem;font-family:var(--sans);font-weight:700;font-size:.82rem;line-height:1.35;color:var(--ink)}
.tlc-cap i{flex:none;font-style:normal;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;background:var(--gold-grad);color:#1a1405;margin-top:.05rem}
.tlc-1{grid-column:1/-1}
.tlc-1 .tlc-cap{font-size:.95rem}
.tlc-2 .tlc-cap,.tlc-3 .tlc-cap{flex-direction:column;gap:.35rem}
.tl-hero-v2 .tl-banner{max-width:520px;justify-self:center}

.tl-body{padding-top:1.5rem}
.tl-body .sec-head{margin-bottom:.9rem}
.tl-body .h-section{font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.15;margin:0}
.tl-filter{gap:.55rem;margin:0 0 .75rem}
.tl-filter .chip{border-color:var(--navy-100);background:var(--surface);color:var(--ink);font-weight:700;font-size:.86rem;padding:.42rem 1.05rem}
.tl-filter .chip:hover{border-color:var(--gold);background:var(--gold-50)}
.tl-filter .chip.on{background:var(--gold-grad);border-color:transparent;color:#1a1405}
.result-note#tlCount{margin:0 0 1.1rem;font-size:.85rem;font-weight:600;color:var(--muted)}
.tl-layout{gap:2rem}
.tlg{gap:1.35rem}
.tlg-card{border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:14px;box-shadow:0 8px 24px rgba(11,31,75,.07)}
.tlg-card:hover{box-shadow:0 18px 40px rgba(11,31,75,.14)}
.tlg-img{position:relative;background:var(--navy-50);border-bottom:1px solid var(--navy-100)}
.tlg-img img{object-fit:contain;background:var(--navy-50)}
.tlg-card:hover .tlg-img img{transform:scale(1.02)}
.tlg-count{position:absolute;left:.7rem;bottom:.7rem;padding:.22rem .7rem;border-radius:999px;background:var(--navy);color:var(--gold-2);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 12px rgba(11,31,75,.3)}
.tlg-copy{padding:1rem 1.25rem 1.1rem}
.tlg-tag{background:var(--gold-50);border:1px solid var(--gold-100);color:var(--gold-ink)}
.tlg-card h2{font-family:var(--sans);font-weight:700;font-size:clamp(1.02rem,1.35vw,1.2rem);line-height:1.3;color:var(--ink);margin:0 0 .45rem}
.tlg-card h2 a:hover{color:var(--gold-ink)}
.tlg-date{margin:0 0 .55rem}
.tlg-ex{font-size:.92rem;line-height:1.6;margin:0 0 .8rem;text-align:left}
.tlg-foot{border-top:1px solid var(--navy-100)}
.tlg-foot .more{font-weight:700;color:var(--navy)}
.tlg-foot .more i{font-style:normal;display:inline-block;transition:transform .25s}
.tlg-foot .more:hover{color:var(--gold-ink)}
.tlg-foot .more:hover i{transform:translateX(4px)}

.tl-side{display:grid;gap:1.1rem}
.tl-side .widget{border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:14px;box-shadow:0 8px 24px rgba(11,31,75,.06);padding:1.2rem 1.3rem}
.tl-side .w-title{font-family:var(--sans);font-weight:700;font-size:1.05rem;letter-spacing:.02em;color:var(--ink);margin:0 0 .9rem;padding-bottom:.6rem;border-bottom:1px solid var(--navy-100)}
.tl-popular ul{gap:.75rem}
.tl-popular a{grid-template-columns:76px 1fr;gap:.8rem;align-items:center}
.tl-popular img{width:76px;height:76px;object-fit:contain;background:var(--navy-50);border:1px solid var(--navy-100);border-radius:10px}
.tl-popular b{font-family:var(--sans);font-weight:700;font-size:.9rem;line-height:1.35;color:var(--ink)}
.tl-popular a:hover b{color:var(--gold-ink)}
.tl-popular small{font-size:.76rem;margin-top:.2rem}
.tl-popular span{position:relative;display:block;min-width:0}
.tl-popular u{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;margin-bottom:.3rem;border-radius:50%;background:var(--navy);color:var(--gold-2);font-size:.72rem;font-weight:700;text-decoration:none}
.tl-side .widget-nl{background:linear-gradient(160deg,var(--gold-50),var(--gold-100))}
.tl-side .widget-nl p{font-size:.92rem;margin:0 0 .7rem}

.tl-why{padding:2.25rem 0 .5rem}
.tl-body+.tl-why .mg-why-grid{margin-top:0}
@media (max-width:1100px){.tl-side{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
@media (max-width:991px){.tl-hero-v2 .mg-hero-grid{grid-template-columns:1fr;gap:1.5rem}.tl-collage{max-width:520px}}
@media (max-width:640px){.tl-body{padding-top:1rem}.tl-hero-v2 .hero-cta{display:flex;flex-direction:column;gap:.6rem}.tl-hero-v2 .hero-cta a{text-align:center;width:100%}}

/* ===== Newsletter band: navy, white heading (was white-on-cream) ===== */
.newsletter{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;position:relative;overflow:hidden;padding:3rem 0}
.newsletter::before{content:"";position:absolute;width:420px;height:420px;right:-110px;top:-190px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.35),transparent 68%);pointer-events:none}
.newsletter .nl-grid{position:relative;gap:2rem}
.newsletter h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;margin-bottom:.9rem}
.newsletter .benefits{color:var(--gold-2);margin:0;display:grid;gap:.3rem;font-weight:600}
.newsletter .nl-form{background:rgba(255,255,255,.1);border:1px solid rgba(230,199,122,.6)}
.newsletter .nl-form input{color:#fff}
.newsletter .nl-form input::placeholder{color:#cdd3e6}
.newsletter .nl-msg{color:#d5dcf0}

/* ===== Blogs / News / category listings ===== */
.cat-hero{padding:150px 0 1.5rem;background:
  radial-gradient(760px 380px at 92% 0%,rgba(201,162,75,.2),transparent 62%),
  linear-gradient(180deg,var(--gold-50),var(--bg) 96%)}
.cat-hero::before{display:none}
.cat-hero-grid{align-items:center;gap:2rem;grid-template-columns:1.5fr 1fr}
.cat-hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;color:var(--ink);margin:.35rem 0 .6rem}
.cat-hero .lead-dek{max-width:52ch;margin:0}
.cat-stats{gap:.75rem}
.cat-stats div{background:var(--surface);backdrop-filter:none;border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-left:1px solid var(--navy-100);border-radius:14px;padding:.9rem 1.1rem;box-shadow:0 8px 22px rgba(11,31,75,.07)}
.cat-stats dt{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.cat-stats dd{font-size:1.9rem;color:var(--ink)}

.filter-bar{background:var(--surface);border-top:1px solid var(--navy-100);border-bottom:1px solid var(--navy-100);box-shadow:0 6px 18px rgba(11,31,75,.04)}
.filter-row{flex-wrap:nowrap;gap:1.25rem;padding-top:.7rem;padding-bottom:.7rem}
.filter-row .chips{flex:1 1 0;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:.15rem .1rem;-webkit-mask-image:linear-gradient(90deg,#000 94%,transparent);mask-image:linear-gradient(90deg,#000 94%,transparent)}
.filter-row .chips::-webkit-scrollbar{display:none}
.filter-row .chip{flex:none;white-space:nowrap;border-color:var(--navy-100);background:var(--surface);color:var(--ink);font-weight:700;font-size:.84rem;padding:.38rem .95rem}
.filter-row .chip:hover{border-color:var(--gold);background:var(--gold-50)}
.filter-row .chip.on{background:var(--gold-grad);border-color:transparent;color:#1a1405}
.filter-tools{flex:none;flex-wrap:nowrap}
.filter-tools .f-input{border-color:var(--navy-100);font-size:.86rem;padding:.4rem .95rem}
.filter-tools .f-input[type=search]{width:170px}
.filter-tools .f-input:focus{outline:2px solid var(--gold);outline-offset:1px}

.cat-body{padding-top:2rem}
.lead-post{gap:2rem;margin-bottom:2.25rem;padding:1.1rem;border:1px solid var(--navy-100);border-left:4px solid var(--gold);border-radius:18px;box-shadow:0 14px 36px rgba(11,31,75,.09)}
.lead-img{background:var(--navy-50);border:1px solid var(--navy-100)}
.lead-img .art{object-fit:contain;background:var(--navy-50)}
.lead-post:hover .lead-img .art{transform:none}
.lead-copy h2{font-family:var(--sans);font-weight:700;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.25;color:var(--ink)}
.lead-copy .badge-cat{background:var(--gold-grad);color:#1a1405}
.lead-copy h2 a:hover{color:var(--gold-ink)}
.cat-layout{gap:2rem}
.result-note{font-weight:600;margin:0 0 .9rem}
.post-grid{gap:1.25rem;align-items:stretch}
.post-grid .card.post{display:flex;flex-direction:column;height:100%}
.post-grid .post-img{border-bottom:1px solid var(--navy-100);background:var(--navy-50)}
.post-grid .card-body{display:flex;flex-direction:column;flex:1;padding:1rem 1.15rem 1.1rem}
.post-grid .card h3{font-size:1.04rem;margin:.45rem 0 .4rem}
.post-grid .card-body>p:not(.meta){font-size:.9rem;line-height:1.55;margin:0 0 .7rem;flex:1}
.post-grid .card .meta{margin:auto 0 0;padding-top:.7rem;border-top:1px solid var(--navy-100);font-size:.76rem;color:var(--muted)}
.post .post-img .art,.post:hover .art{transform:none}

.cat-layout .side{display:grid;gap:1.1rem}
.cat-layout .widget{border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:14px;box-shadow:0 8px 24px rgba(11,31,75,.06);padding:1.15rem 1.25rem}
.cat-layout .w-title{font-family:var(--sans);font-weight:700;font-size:1.02rem;letter-spacing:.02em;color:var(--ink);margin:0 0 .85rem;padding-bottom:.6rem;border-bottom:1px solid var(--navy-100)}
.cat-layout .w-cats{display:flex;flex-wrap:wrap;gap:.4rem}
.cat-layout .w-cats a{display:inline-flex;align-items:center;gap:.45rem;padding:.28rem .5rem .28rem .8rem;border:1px solid var(--navy-100);border-radius:999px;background:var(--surface);font-size:.82rem;font-weight:700;color:var(--ink)}
.cat-layout .w-cats a:hover{border-color:var(--gold);background:var(--gold-50);color:var(--ink);padding-left:.8rem}
.cat-layout .w-cats em{background:var(--navy);color:var(--gold-2);font-size:.7rem;font-weight:700;padding:.05rem .5rem}
.cat-layout .w-pop li{border-bottom:1px solid var(--navy-100)}
.cat-layout .pop{padding:.7rem 0 .7rem .5rem}
.cat-layout .pop img{object-fit:contain;background:var(--navy-50);border:1px solid var(--navy-100)}
.cat-layout .pop b{font-family:var(--sans);font-weight:700;font-size:.88rem;line-height:1.35;color:var(--ink)}
.cat-layout .pop small{font-size:.74rem}
.cat-layout .pop:hover b{color:var(--gold-ink)}
.cat-layout .widget-nl{background:linear-gradient(160deg,var(--gold-50),var(--gold-100))}
.cat-layout .tagcloud{gap:.4rem}
.cat-layout .tagcloud a{border-color:var(--navy-100);background:var(--surface);font-size:.8rem;font-weight:700}
.cat-layout .tagcloud a:hover{background:var(--gold-grad);border-color:transparent}

.pager .pg{border-color:var(--navy-100);color:var(--ink)}
a.pg:hover{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-100)}
.pg.on{background:var(--navy);color:var(--gold-2);border-color:var(--navy)}

@media (max-width:991px){.cat-hero{padding-top:125px}.cat-hero-grid{grid-template-columns:1fr}.cat-stats{max-width:460px}}
@media (max-width:767px){.filter-row{flex-wrap:wrap;gap:.6rem}.filter-row .chips{flex-basis:100%}.filter-tools{width:100%;flex-wrap:wrap}.filter-tools .f-input,.filter-tools .f-input[type=search]{flex:1 1 140px;width:auto}.lead-post{padding:.8rem}.newsletter{padding:2.25rem 0}}
@media (max-width:575px){.cat-hero{padding-top:115px}.post-grid{grid-template-columns:1fr}}
.post-grid .card-body .t-cat{align-self:flex-start}

/* ===== About page ===== */
.ab-hero{background:
  radial-gradient(780px 400px at 94% 8%,rgba(201,162,75,.22),transparent 62%),
  radial-gradient(600px 340px at 0% 0%,rgba(19,48,111,.07),transparent 62%),
  linear-gradient(180deg,var(--gold-50),var(--bg) 92%)}
.ab-hero-grid{grid-template-columns:1.1fr .9fr;gap:2.5rem;padding-bottom:2.25rem}
.ab-hero h1{font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.07;color:var(--ink);letter-spacing:-.01em}
.ab-hero h1 em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em}
.ab-hero .hero-cta{margin-top:1.25rem}
.ab-panel{position:relative;overflow:hidden;padding:2rem 2rem 1.6rem;border-radius:20px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--navy-2));box-shadow:0 24px 54px rgba(11,31,75,.25);max-width:480px;justify-self:center;width:100%}
.ab-panel::before{content:"";position:absolute;width:340px;height:340px;right:-110px;top:-140px;border-radius:50%;background:radial-gradient(circle,rgba(230,199,122,.45),transparent 68%)}
.ab-panel>*{position:relative}
.ab-panel-k{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2)}
.ab-panel-t{margin:.7rem 0 1.4rem;font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.1;color:#fff}
.ab-panel-t em{font-style:italic;color:var(--gold-2)}
.ab-panel-n{list-style:none;margin:0;padding:1.1rem 0 0;border-top:1px solid rgba(230,199,122,.35);display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem 1.25rem}
.ab-panel-n b{display:block;font-family:var(--serif);font-size:2.3rem;line-height:1;color:var(--gold-2)}
.ab-panel-n span{display:block;margin-top:.25rem;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d5dcf0}
.ab-panel-l{display:inline-block;margin-top:1.4rem;font-weight:700;font-size:.92rem;color:#fff;border-bottom:2px solid var(--gold)}
.ab-panel-l i{font-style:normal;display:inline-block;transition:transform .25s}
.ab-panel-l:hover i{transform:translateX(4px)}
.ab-jump{background:var(--surface);border-top:1px solid var(--navy-100);border-bottom:1px solid var(--navy-100);box-shadow:0 6px 18px rgba(11,31,75,.04)}
.ab-jump .tt-container{padding-top:.65rem;padding-bottom:.65rem;gap:.5rem}
.ab-jump a{border-color:var(--navy-100);background:var(--surface);color:var(--ink);font-weight:700;font-size:.84rem;padding:.38rem 1rem}
.ab-jump a:hover{border-color:var(--gold);background:var(--gold-50);color:var(--ink)}
.ab-hero+.ab-jump+.section,.ab-jump+.section{padding-top:2.5rem}
.ab-two{gap:1.25rem}
.ab-card{padding:1.75rem 1.9rem;border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:16px;box-shadow:0 10px 28px rgba(11,31,75,.07)}
.ab-card h3{font-family:var(--serif);font-size:1.9rem;margin:.9rem 0 .4rem;color:var(--ink)}
.ab-card p{font-size:1.02rem;line-height:1.7;margin:0;color:var(--muted)}
.ab-card .ic,.svc .ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--gold-2);font-size:1.15rem}
.section.alt{background:linear-gradient(180deg,var(--navy-50),var(--bg))}
.stat{border:1px solid var(--navy-100);border-left:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:14px;padding:1.4rem 1.5rem;box-shadow:0 8px 24px rgba(11,31,75,.06)}
.stat strong{font-size:2.8rem;color:var(--ink)}
.stat span{font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.svc{padding:1.5rem;border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:16px;box-shadow:0 8px 24px rgba(11,31,75,.06)}
.svc:hover{box-shadow:0 18px 40px rgba(11,31,75,.13)}
.svc h3{font-family:var(--sans);font-weight:700;font-size:1.1rem;line-height:1.3;margin:.9rem 0 .4rem;color:var(--ink)}
.svc p{font-size:.94rem;line-height:1.6}
.svc .more{font-weight:700;color:var(--navy)}
.member img{object-fit:contain;background:var(--navy-50);border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:16px;box-shadow:0 8px 24px rgba(11,31,75,.08)}
.member h3{font-family:var(--sans);font-weight:700;font-size:1.05rem;color:var(--ink)}
.member p{color:var(--gold-ink);font-size:.9rem}
.team-grid{gap:1.25rem}
.ab-comm{gap:2.5rem;grid-template-columns:.9fr 1.1fr;align-items:start}
.ab-recent{display:grid;gap:.9rem;padding:1.25rem;border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:18px;background:linear-gradient(160deg,var(--gold-50),var(--surface));box-shadow:0 14px 34px rgba(11,31,75,.09)}
.ab-recent-k{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.ab-rc{display:block;background:var(--surface);border:1px solid var(--navy-100);border-radius:14px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.ab-rc:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(11,31,75,.14)}
.ab-rc-img{display:block;background:var(--navy-50)}
.ab-rc-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:var(--navy-50)}
.ab-rc-t{display:block;padding:.7rem .95rem .85rem;font-weight:700;font-size:.95rem;line-height:1.35;color:var(--ink)}
.ab-rc-t small{display:block;margin-top:.2rem;font-weight:600;font-size:.76rem;color:var(--muted)}
.ab-recent-empty{background:linear-gradient(145deg,var(--navy),var(--navy-2));border:0;color:#fff;padding:2rem}
.ab-recent-empty .ab-recent-k{color:var(--gold-2)}
.ab-recent-q{margin:0;font-family:var(--serif);font-size:1.9rem;line-height:1.2;color:#fff}
.ab-values{margin:1rem 0 1.1rem;gap:.5rem}
.ab-values li{background:var(--gold-50);border:1px solid var(--gold-100);border-left:3px solid var(--gold);border-radius:0 12px 12px 0}
.ab-values b{font-family:var(--sans);font-weight:700;font-size:.98rem;min-width:6.5rem;color:var(--ink)}
.ab-values span{color:var(--muted);font-size:.94rem}
.ab-quote{position:relative;padding:3rem 0 3.25rem}
.ab-qm{display:block;font-family:var(--serif);font-size:4.5rem;line-height:.6;color:var(--gold);margin-bottom:.4rem}
.ab-quote blockquote{font-size:clamp(1.5rem,3vw,2.3rem);max-width:30ch}

/* ===== Contact page ===== */
.ct-hero{padding-bottom:1.25rem}
.ct-hero h1{font-size:clamp(2.2rem,4.6vw,3.6rem);color:var(--ink);margin:.35rem 0 .6rem}
.ct-hero .lead-dek{max-width:62ch}
.ct-topics{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 0;padding:0}
.ct-topics a{display:inline-block;padding:.38rem 1rem;border:1px solid var(--navy-100);border-radius:999px;background:var(--surface);font-weight:700;font-size:.84rem;color:var(--ink);transition:.25s}
.ct-topics a:hover{border-color:var(--gold);background:var(--gold-50)}
.ct-hero+.section{padding-top:1.5rem}
.ct-grid{gap:2rem;grid-template-columns:1.35fr 1fr}
.ct-card{padding:1.9rem 2rem 2rem;border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:18px;box-shadow:0 14px 36px rgba(11,31,75,.09)}
.ct-card .w-title{font-family:var(--serif);font-size:1.7rem;color:var(--ink);margin:0 0 .3rem}
.ct-sub{margin:0 0 1.25rem;color:var(--muted);font-size:.95rem}
.ct-form{gap:.9rem}
.ct-field label{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.ct-field input,.ct-field textarea{background:var(--surface);border:1px solid var(--navy-100);border-radius:12px;padding:.7rem .95rem}
.ct-field input:focus,.ct-field textarea:focus{border-color:var(--gold)}
.ct-field textarea{min-height:150px;resize:vertical}
.ct-err{min-height:0}
.ct-form .btn-gold{padding:.8rem 2rem;font-weight:700}
.ct-info{gap:.8rem}
.ct-box{padding:1rem 1.15rem;border:1px solid var(--navy-100);border-left:3px solid var(--gold);border-radius:14px;box-shadow:0 6px 20px rgba(11,31,75,.05);background:var(--surface)}
.ct-box .ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold-2);font-size:1.05rem}
.ct-box h3{font-family:var(--sans);font-weight:700;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 .25rem}
.ct-box p{font-size:.98rem;font-weight:600;line-height:1.5;color:var(--ink)}
.ct-box a:hover{color:var(--gold-ink)}
.ct-wa{padding:.85rem 1.5rem;font-weight:700}
.ct-info .note{margin:.2rem 0 0;font-size:.88rem;color:var(--muted)}

@media (max-width:991px){.ab-hero-grid{grid-template-columns:1fr;gap:1.75rem}.ab-panel{max-width:520px;justify-self:start}.ab-comm{grid-template-columns:1fr}.ct-grid{grid-template-columns:1fr}}
@media (max-width:575px){.ab-panel{padding:1.5rem 1.4rem}.ab-panel-n b{font-size:1.9rem}.ct-card{padding:1.4rem 1.2rem 1.5rem}.ab-card{padding:1.4rem}.ab-hero .hero-cta{display:flex;flex-direction:column;gap:.6rem}.ab-hero .hero-cta a{text-align:center;width:100%}}
.ab-hero h1,.ct-hero h1,.cat-hero h1{text-wrap:balance}
.ab-comm{align-items:center}

/* gold italic words: don't clip the slanted edges, even when the phrase wraps */
.hero-v2 h1 em,.mg-hero-v2 h1 em,.ab-hero h1 em{padding:0 .14em .1em;margin:0 -.14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.mg-hero-v2 h1 em{display:block;margin:0 0 0 -.02em;padding-left:.02em}

/* ===== Footer: equal-height columns, social icons move to the bottom bar ===== */
.foot-wave{height:64px;margin-bottom:1.5rem}
.site-footer .foot-grid{grid-template-columns:1.6fr 1fr 1fr 1.25fr;gap:2.5rem;align-items:stretch;padding-bottom:.5rem}
.site-footer .foot-grid>*{min-width:0}
.site-footer .foot-grid>nav,.site-footer .foot-grid>.contact{display:flex;flex-direction:column;padding-left:1.75rem;border-left:1px solid rgba(230,199,122,.28)}
.site-footer h2{font-size:1.35rem;margin-bottom:1rem}
.foot-logo{padding:.55rem 1rem}
.foot-quote{max-width:42ch;margin:1.1rem 0 0;font-size:.95rem;line-height:1.65;font-weight:600;color:#e4e9f6}
.site-footer nav a,.contact a{padding:.3rem 0;font-size:.95rem}
.contact a span{display:inline-block;width:1.4rem;color:var(--gold-2)}
.contact .addr{line-height:1.45}
.foot-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:1.75rem;padding-top:1.1rem;padding-bottom:1.25rem;border-top:1px solid rgba(255,255,255,.18)}
.foot-bar .copy{margin:0;padding:0;border:0;text-align:left;font-size:.85rem;font-weight:600;color:#d5dcf0}
.foot-bar .social{margin:0}
@media (max-width:991px){.site-footer .foot-grid{grid-template-columns:1fr 1fr;gap:1.75rem 2rem}.site-footer .foot-grid>nav,.site-footer .foot-grid>.contact{padding-left:1.25rem}.site-footer .foot-grid>div:first-child{grid-column:1/-1}.foot-quote{max-width:60ch}}
@media (max-width:575px){.site-footer .foot-grid{grid-template-columns:1fr 1fr;gap:1.5rem 1.25rem}.site-footer .foot-grid>nav,.site-footer .foot-grid>.contact{padding-left:.9rem}.foot-bar{flex-direction:column;align-items:center;text-align:center}.foot-bar .copy{text-align:center}.site-footer .foot-grid>.contact{grid-column:1/-1}}
.site-footer .contact a{display:flex;align-items:flex-start}
.contact a span{flex:none;width:1.5rem}

/* ===== Flipbook: one seamless spread (no centre line, no page edges, nothing cropped) ===== */
.fb-viewer{--ratio:.75;--spread:1.5}
.fb-scroll{max-width:min(100%,calc((100vh - 200px)*var(--spread)));max-width:min(100%,calc((100svh - 200px)*var(--spread)))}
.fb-book{aspect-ratio:var(--spread)}
.fb-stage{padding:.5rem 0 .75rem}
/* one soft shadow around the whole spread instead of a shadow on each page */
.fb-book::before{content:"";position:absolute;inset:0;z-index:0;box-shadow:0 20px 46px rgba(0,0,0,.4);pointer-events:none;transition:left .9s cubic-bezier(.5,.1,.2,1),right .9s cubic-bezier(.5,.1,.2,1)}
.fb-book.at-start::before{left:50%}
.fb-book.at-end::before{right:50%}
.fb-book.single::before{display:none}
.fb-side{background:#fff}
.fb-side.front,.fb-side.back{border-radius:0;box-shadow:none}
/* the two halves overlap by 1px at the spine, so no hairline shows between them */
.fb-side.front{left:-1px}
.fb-side.back{right:-1px}
/* the spine shading only appears while a page is turning */
.fb-side.front::after,.fb-side.back::after{width:16%;opacity:0;transition:opacity .45s}
.fb-side.front::after{background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.05) 50%,transparent)}
.fb-side.back::after{background:linear-gradient(270deg,rgba(0,0,0,.2),rgba(0,0,0,.05) 50%,transparent)}
.fb-book.flipping .fb-side.front::after,.fb-book.flipping .fb-side.back::after{opacity:1}
/* pictures are shown whole, never cropped */
.fb-page .fb-bg,.fb-bg{object-fit:contain;background:#fff}
.fb-face{background:#fff}
.fb-book.single{aspect-ratio:var(--ratio)}
.fb-book.single .fb-page{border-radius:0;box-shadow:0 14px 34px rgba(0,0,0,.4)}
.fb-section .fb-viewer:has(.fb-book.single) .fb-scroll{max-width:min(100%,calc((100svh - 220px)*var(--ratio)),560px)}
.fb-viewer:fullscreen .fb-scroll,.fb-viewer.pseudo-full .fb-scroll{max-width:min(96vw,calc((100vh - 150px)*var(--spread)))}
.fb-bg.fill,.fb-page .fb-bg.fill{object-fit:fill}
.fb-page.back .fb-pad.navy::before{display:none}

/* ===== Our Team page ===== */
.ot-hero{padding:150px 0 1.25rem;background:
  radial-gradient(760px 380px at 90% 0%,rgba(201,162,75,.2),transparent 62%),
  radial-gradient(560px 320px at 4% 8%,rgba(19,48,111,.07),transparent 62%),
  linear-gradient(180deg,var(--gold-50),var(--bg) 96%)}
.ot-head{max-width:860px;margin:0 auto;text-align:center;padding:.5rem 0 1rem}
.ot-head .pill-k{margin-left:auto;margin-right:auto}
.ot-head h1{font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.1;color:var(--ink);margin:.5rem 0 1.1rem;text-wrap:balance}
.ot-head h1 em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .14em .1em;margin:0 -.14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ot-intro{max-width:70ch;margin:0 auto}
.ot-intro p{margin:0 0 .85rem;font-size:1.05rem;line-height:1.75;color:var(--muted)}
.ot-intro p:first-child{font-size:1.15rem;color:var(--ink);font-weight:500}
.ot-banner-wrap{padding:.5rem 0 0}
.ot-banner{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--navy-100);border-top:3px solid var(--gold);background:var(--navy-50);box-shadow:0 20px 48px rgba(11,31,75,.14)}
.ot-banner img{display:block;width:100%;height:auto}
.ot-body{padding-top:1.5rem}
.ot-wave{display:block;width:150px;height:14px;margin:0 auto 1.1rem;color:var(--gold)}
.ot-sec{text-align:center;margin-bottom:2rem}
.ot-sec .h-section{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;margin:0}
.ot-sec .h-section::before{display:none}
.ot-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;align-items:stretch}
.ot-grid>.ot-card{flex:0 1 calc((100% - 3rem)/3);min-width:0}
.ot-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(11,31,75,.08);transition:transform .35s,box-shadow .35s}
.ot-card:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(11,31,75,.15)}
.ot-photo{background:var(--navy-50);border-bottom:1px solid var(--navy-100)}
.ot-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:var(--navy-50)}
.ot-info{display:flex;flex-direction:column;flex:1;padding:1.25rem 1.4rem 1.4rem;text-align:center}
.ot-info h3{font-family:var(--serif);font-weight:700;font-size:1.7rem;line-height:1.15;color:var(--ink);margin:0}
.ot-role{margin:.4rem 0 0;font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink)}
.ot-bio{margin:.85rem 0 0;font-size:.95rem;line-height:1.7;color:var(--muted);text-align:left;white-space:pre-line}
.ot-info .soc-icons{justify-content:center;margin-top:auto;padding-top:1.1rem}
.ot-info .soc-icons a{min-width:2.2rem;height:2.2rem;padding:0;color:var(--navy);border-color:var(--gold)}
.ot-info .soc-icons a:hover{color:#1a1405}
.ot-empty{text-align:center;color:var(--muted);padding:2rem 0}
@media (max-width:1023px){.ot-grid{gap:1.25rem}.ot-grid>.ot-card{flex-basis:calc((100% - 1.25rem)/2)}}
@media (max-width:991px){.ot-hero{padding-top:125px}}
@media (max-width:640px){.ot-hero{padding-top:115px}.ot-grid>.ot-card{flex-basis:100%;max-width:420px}.ot-intro p{font-size:1rem}.ot-banner{border-radius:14px}}

/* ---- Simple About page (.ab-hero-c / .ab-story / .ab-mv) ---- */
.ab-hero-c{padding:150px 0 1.25rem}
.ab-head{max-width:860px;margin:0 auto;text-align:center;padding:.5rem 0 1rem}
.ab-head .pill-k{margin-left:auto;margin-right:auto}
.ab-head h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.1;color:var(--ink);margin:.5rem 0 1.1rem;text-wrap:balance}
.ab-head h1 em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .14em .1em;margin:0 -.14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ab-intro{max-width:68ch;margin:0 auto}
.ab-intro p{margin:0 0 .85rem;font-size:1.1rem;line-height:1.75;color:var(--muted)}
.ab-intro p:first-child{font-size:1.18rem;color:var(--ink);font-weight:500}
.ab-banner-wrap{padding:.5rem 0 .5rem}
.ab-banner{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--navy-100);border-top:3px solid var(--gold);background:var(--navy-50);box-shadow:0 20px 48px rgba(11,31,75,.14)}
.ab-banner img{display:block;width:100%;height:auto}
.ab-story-sec{padding-top:3.25rem;padding-bottom:1.5rem}
.ab-story{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;max-width:860px;margin:0 auto}
.ab-story.has-img{grid-template-columns:1.1fr .9fr;max-width:1000px}
.ab-story-text .h-section{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;margin:0 0 1rem}
.ab-story-text p{margin:0 0 1rem;font-size:1.05rem;line-height:1.8;color:var(--muted)}
.ab-story-img{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--navy-100);border-top:3px solid var(--gold);background:var(--navy-50);box-shadow:0 16px 40px rgba(11,31,75,.12)}
.ab-story-img img{display:block;width:100%;height:auto}
.ab-mv{padding-top:1.5rem}
.ab-mv .ab-two{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:0 auto}
.ab-hero-c~.ab-quote{margin-top:1rem}
@media (max-width:991px){.ab-hero-c{padding-top:125px}.ab-story.has-img{grid-template-columns:1fr}}
@media (max-width:640px){.ab-mv .ab-two{grid-template-columns:1fr}.ab-banner,.ab-story-img{border-radius:14px}.ab-intro p{font-size:1rem}}

/* ---- Services: home cards, list page (.sv-*), service detail ---- */
.sec-sub{margin:.35rem 0 0;color:var(--muted);max-width:60ch}
.svc{position:relative}
.svc .svc-link{color:inherit}
.svc .svc-link::after{content:"";position:absolute;inset:0;z-index:1}
.svc:hover h3,.svc:focus-within h3{color:var(--gold-ink)}
.svc .more{display:inline-block;margin-top:.5rem}

.sv-hero{padding:150px 0 1.25rem;background:
  radial-gradient(780px 400px at 94% 8%,rgba(201,162,75,.22),transparent 62%),
  radial-gradient(600px 340px at 0% 0%,rgba(19,48,111,.07),transparent 62%),
  linear-gradient(180deg,var(--gold-50),var(--bg) 92%)}
.sv-hero-d{padding-bottom:.75rem}
.sv-hero-d .crumbs{margin-bottom:.5rem;display:flex;justify-content:center}
.sv-head{max-width:860px;margin:0 auto;text-align:center;padding:.5rem 0 1rem}
.sv-head .pill-k{margin-left:auto;margin-right:auto}
.sv-head h1{font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.1;color:var(--ink);margin:.5rem 0 1.1rem;text-wrap:balance}
.sv-head h1 em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .14em .1em;margin:0 -.14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.sv-intro{max-width:66ch;margin:0 auto}
.sv-intro p{margin:0 0 .85rem;font-size:1.1rem;line-height:1.75;color:var(--muted)}
.sv-intro p:first-child{font-size:1.16rem;color:var(--ink);font-weight:500}
.sv-lead{margin:0 auto;max-width:56ch;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.75rem);line-height:1.35;color:var(--gold-ink)}
.sv-banner-wrap{padding:.5rem 0}
.sv-banner{margin:0 auto;max-width:1000px;border-radius:20px;overflow:hidden;border:1px solid var(--navy-100);border-top:3px solid var(--gold);background:var(--navy-50);box-shadow:0 20px 48px rgba(11,31,75,.14)}
.sv-banner img{display:block;width:100%;height:auto}

.sv-list-sec{padding-top:2.5rem}
.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch}
.sv-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(11,31,75,.08);transition:transform .3s,box-shadow .3s}
.sv-card:hover,.sv-card:focus-within{transform:translateY(-5px);box-shadow:0 22px 46px rgba(11,31,75,.15)}
.sv-card-img{background:var(--navy-50);border-bottom:1px solid var(--navy-100)}
.sv-card-img img{display:block;width:100%;height:auto}
.sv-card-body{display:flex;flex-direction:column;flex:1;padding:1.5rem 1.6rem 1.6rem}
.sv-card-top{display:flex;align-items:center;justify-content:space-between}
.sv-ic{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--navy);color:var(--gold-2);font-size:1.2rem;box-shadow:0 0 0 5px var(--gold-50)}
.sv-no{font-family:var(--serif);font-weight:600;font-size:2.4rem;line-height:1;color:var(--gold-100)}
.sv-card h2{font-family:var(--serif);font-weight:700;font-size:1.65rem;line-height:1.15;margin:1.1rem 0 .5rem}
.sv-card h2 a{color:var(--ink)}
.sv-card h2 a::after{content:"";position:absolute;inset:0;z-index:1}
.sv-card:hover h2 a{color:var(--gold-ink)}
.sv-card p{margin:0;font-size:1rem;line-height:1.7;color:var(--muted)}
.sv-go{margin-top:auto;padding-top:1.25rem;font-weight:700;font-size:.9rem;letter-spacing:.02em;color:var(--navy)}
.sv-go i{font-style:normal;display:inline-block;transition:transform .25s}
.sv-card:hover .sv-go i{transform:translateX(5px)}

.sv-h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.15;color:var(--ink);margin:0 0 1.25rem;display:flex;align-items:center;gap:.75rem}
.sv-h2::before{content:"";flex:none;width:6px;height:1.6em;border-radius:3px;background:var(--gold-grad)}
.sv-faq-sec{background:var(--gold-50)}
.sv-faq-wrap{max-width:860px}
.sv-chip{display:block;margin-top:.3rem;font-family:var(--sans);font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink)}
.sv-more{margin:.75rem 0 0 !important;font-weight:700;font-size:.92rem}
.sv-more a{color:var(--navy);border-bottom:2px solid var(--gold)}

.sv-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3rem;align-items:start}
.sv-main{min-width:0}
.sv-prose p{margin:0 0 1.1rem;font-size:1.12rem;line-height:1.85;color:var(--muted)}
.sv-prose p:first-child{font-size:1.25rem;line-height:1.7;color:var(--ink);font-weight:500}
.sv-block{margin-top:2.75rem;scroll-margin-top:130px}
.sv-benefits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.sv-benefit{display:flex;gap:.9rem;padding:1.2rem 1.25rem;background:var(--surface);border:1px solid var(--navy-100);border-left:3px solid var(--gold);border-radius:14px;box-shadow:0 8px 22px rgba(11,31,75,.06)}
.sv-tick{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold-grad);color:#1a1405;font-weight:700;font-size:.9rem}
.sv-benefit h3{font-family:var(--sans);font-weight:700;font-size:1.02rem;margin:0 0 .2rem;color:var(--ink)}
.sv-benefit p{margin:0;font-size:.95rem;line-height:1.6;color:var(--muted)}
.sv-steps{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:1.1rem}
.sv-steps::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:linear-gradient(var(--gold),var(--gold-100))}
.sv-steps li{position:relative;display:flex;gap:1.1rem;align-items:flex-start}
.sv-n{position:relative;flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold-2);font-family:var(--serif);font-weight:700;font-size:1.4rem;box-shadow:0 0 0 5px var(--bg)}
.sv-steps li>div{flex:1;padding:.15rem 0 .35rem}
.sv-steps h3{font-family:var(--sans);font-weight:700;font-size:1.08rem;margin:0 0 .15rem;color:var(--ink)}
.sv-steps p{margin:0;font-size:.98rem;line-height:1.65;color:var(--muted)}
.sv-rich{font-size:1.05rem;line-height:1.8;color:var(--muted)}
.sv-rich h2,.sv-rich h3{font-family:var(--serif);color:var(--ink);margin:1.6rem 0 .6rem}
.sv-rich img{max-width:100%;height:auto}
.sv-rich a{color:var(--navy);border-bottom:1px solid var(--gold)}

.sv-side{position:sticky;top:130px;display:grid;gap:1.25rem}
.sv-nav{background:var(--surface);border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:16px;padding:1.25rem 1.1rem 1rem;box-shadow:0 10px 28px rgba(11,31,75,.07)}
.sv-nav h2,.sv-help h2{font-family:var(--serif);font-weight:700;font-size:1.45rem;line-height:1.2;margin:0 0 .75rem}
.sv-nav h2{color:var(--ink);padding:0 .3rem}
.sv-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.sv-nav a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;border-radius:10px;font-weight:700;font-size:.95rem;color:var(--ink);transition:background .2s,color .2s}
.sv-nav a em{font-style:normal;color:var(--gold-ink);transition:transform .2s}
.sv-nav a:hover{background:var(--gold-50)}
.sv-nav a:hover em{transform:translateX(3px)}
.sv-nav a.on{background:var(--navy);color:#fff}
.sv-nav a.on em{color:var(--gold-2)}
.sv-help{position:relative;overflow:hidden;padding:1.5rem 1.4rem 1.6rem;border-radius:16px;color:#fff;background:linear-gradient(145deg,var(--navy),var(--navy-2));box-shadow:0 18px 40px rgba(11,31,75,.22)}
.sv-help::before{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-110px;border-radius:50%;background:radial-gradient(circle,rgba(230,199,122,.4),transparent 68%)}
.sv-help>*{position:relative}
.sv-help h2{color:#fff}
.sv-help p{margin:0 0 1.1rem;color:#d5dcf0;font-size:.97rem;line-height:1.6}
.sv-tel{display:block;margin-top:.9rem;font-weight:700;color:var(--gold-2)}
@media (max-width:1023px){.sv-grid{grid-template-columns:repeat(2,1fr)}.sv-layout{grid-template-columns:1fr}.sv-side{position:static;grid-template-columns:1fr 1fr;align-items:start}}
@media (max-width:991px){.sv-hero{padding-top:125px}}
@media (max-width:640px){.sv-grid{grid-template-columns:1fr}.sv-benefits{grid-template-columns:1fr}.sv-side{grid-template-columns:1fr}.sv-banner{border-radius:14px}.sv-intro p{font-size:1rem}.sv-prose p:first-child{font-size:1.12rem}.sv-no{font-size:2rem}}

/* ---- Legal / static pages (Terms): .lg-* ---- */
.lg-hero{padding:150px 0 1.5rem;background:
  radial-gradient(780px 400px at 94% 8%,rgba(201,162,75,.22),transparent 62%),
  radial-gradient(600px 340px at 0% 0%,rgba(19,48,111,.07),transparent 62%),
  linear-gradient(180deg,var(--gold-50),var(--bg) 92%)}
.lg-hero .crumbs{display:flex;justify-content:center;margin-bottom:.5rem}
.lg-head{max-width:820px;margin:0 auto;text-align:center;padding:.5rem 0 .5rem}
.lg-head .pill-k{margin-left:auto;margin-right:auto}
.lg-head h1{font-size:clamp(2.2rem,4.8vw,3.7rem);line-height:1.08;color:var(--ink);margin:.5rem 0 .9rem;text-wrap:balance}
.lg-sub{margin:0 auto;max-width:58ch;font-size:1.15rem;line-height:1.7;color:var(--muted)}
.lg-meta{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.lg-meta li{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .95rem;border:1px solid var(--navy-100);border-radius:999px;background:var(--surface);font-size:.84rem;font-weight:700;color:var(--ink)}
.lg-meta li span{color:var(--gold-ink)}
.lg-print{display:inline-flex;align-items:center;gap:.45rem;border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
.lg-print:hover{color:var(--gold-ink)}
.lg-sec{padding-top:2.5rem}
.lg-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:2.75rem;align-items:start}
.lg-single .lg-body{max-width:820px;margin:0 auto}
.lg-side{position:sticky;top:130px}
.lg-toc{background:var(--surface);border:1px solid var(--navy-100);border-top:3px solid var(--gold);border-radius:16px;box-shadow:0 10px 28px rgba(11,31,75,.07);overflow:hidden}
.lg-toc summary{list-style:none;padding:1rem 1.25rem;font-family:var(--serif);font-weight:700;font-size:1.4rem;color:#fff;background:linear-gradient(145deg,var(--navy),var(--navy-2));cursor:default}
.lg-toc summary::-webkit-details-marker{display:none}
.lg-toc ol{list-style:none;margin:0;padding:.6rem;max-height:calc(100vh - 260px);overflow:auto;display:grid;gap:.1rem}
.lg-toc a{display:flex;align-items:baseline;gap:.7rem;padding:.55rem .7rem;border-radius:10px;font-weight:600;font-size:.92rem;line-height:1.35;color:var(--ink);transition:background .2s,color .2s}
.lg-toc a b{flex:none;font-family:var(--serif);font-size:.95rem;color:var(--gold-ink)}
.lg-toc a:hover{background:var(--gold-50)}
.lg-toc a.on{background:var(--gold-50);box-shadow:inset 3px 0 0 var(--gold);color:var(--navy)}
.lg-toc a.on span{font-weight:700}
.lg-body{background:var(--surface);border:1px solid var(--navy-100);border-radius:20px;padding:.75rem 2.75rem 1.5rem;box-shadow:0 16px 40px rgba(11,31,75,.08);max-width:none}
.lg-body .tm-sec{padding:2rem 0;border-bottom:1px solid var(--navy-100);scroll-margin-top:130px}
.lg-body .tm-sec:last-child{border-bottom:0}
.lg-body .tm-sec h2{display:flex;align-items:center;gap:1rem;font-family:var(--serif);font-weight:700;font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.2;color:var(--ink);margin:0 0 1rem}
.lg-body .tm-sec h2 span{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--gold-2);font-family:var(--serif);font-size:1.15rem;font-weight:700;padding:0;box-shadow:0 0 0 5px var(--gold-50)}
.lg-body p,.lg-body li{text-align:left !important;hyphens:manual !important;-webkit-hyphens:manual !important}
.lg-body p{margin:0 0 1rem;font-size:1.06rem;line-height:1.85;color:var(--muted)}
.lg-body p:last-child{margin-bottom:0}
.lg-body ul,.lg-body ol{margin:0 0 1rem;padding:0;list-style:none;display:grid;gap:.55rem}
.lg-body li{position:relative;padding-left:1.7rem;font-size:1.04rem;line-height:1.75;color:var(--muted)}
.lg-body ul>li::before{content:"";position:absolute;left:.2rem;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--gold-grad)}
.lg-body ol{counter-reset:lg}
.lg-body ol>li{counter-increment:lg}
.lg-body ol>li::before{content:counter(lg);position:absolute;left:0;top:.1em;width:1.35rem;height:1.35rem;display:grid;place-items:center;border-radius:50%;background:var(--gold-50);color:var(--gold-ink);font-size:.75rem;font-weight:700}
.lg-body a{color:var(--navy);font-weight:700;border-bottom:2px solid var(--gold)}
.lg-body a:hover{color:var(--gold-ink)}
.lg-body strong{color:var(--ink)}
.lg-body blockquote{margin:1rem 0;padding:1rem 1.25rem;border-left:4px solid var(--gold);background:var(--gold-50);border-radius:0 12px 12px 0;color:var(--ink)}
.lg-body table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.98rem}
.lg-body th,.lg-body td{padding:.65rem .8rem;border:1px solid var(--navy-100);text-align:left}
.lg-body th{background:var(--navy-50);color:var(--ink)}
@media (max-width:991px){
  .lg-hero{padding-top:125px}
  .lg-layout{grid-template-columns:1fr;gap:1.5rem}
  .lg-side{position:static}
  .lg-toc summary{cursor:pointer;position:relative;padding-right:3rem}
  .lg-toc summary::after{content:"+";position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:1.4rem;color:var(--gold-2)}
  .lg-toc[open] summary::after{content:"–"}
  .lg-toc ol{max-height:none}
}
@media (max-width:640px){
  .lg-body{padding:.25rem 1.25rem 1rem;border-radius:16px}
  .lg-body .tm-sec h2{gap:.75rem}
  .lg-body .tm-sec h2 span{width:38px;height:38px;font-size:1rem}
  .lg-body p,.lg-body li{font-size:1rem}
}
@media print{
  header,footer,.mg-cta,.lg-side,.lg-meta,.crumbs,.ticker,#backTop,.float-btn{display:none !important}
  .lg-hero{padding:0;background:none}
  .lg-body{border:0;box-shadow:none;padding:0}
  .lg-layout{display:block}
}

/* ---- Primary navigation: comfortable targets, centred, gold marker under the current page ---- */
.navbar-row{min-height:80px}
.main-nav ul{display:flex;flex-wrap:nowrap;align-items:center;gap:.15rem;font-size:.95rem;font-weight:600;letter-spacing:.012em}
.main-nav a{display:block;position:relative;padding:.7rem 1.05rem;border-radius:10px;line-height:1;white-space:nowrap;color:var(--ink);transition:color .2s,background-color .2s}
.main-nav>ul>li>a::after{left:50%;right:auto;bottom:.2rem;height:3px;width:0;border-radius:3px;background:var(--gold-grad);transform:translateX(-50%);transition:width .28s ease}
.main-nav>ul>li:hover>a,.main-nav>ul>li>a:focus-visible{color:var(--navy)}
.main-nav>ul>li:hover>a::after,.main-nav>ul>li>a:focus-visible::after{width:24px}
.main-nav>ul>li>a:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.main-nav a[aria-current]{color:var(--navy);font-weight:700}
.main-nav>ul>li>a[aria-current]::after{width:24px}
[data-theme=dark] .main-nav a,[data-theme=dark] .main-nav>ul>li:hover>a{color:var(--text)}
[data-theme=dark] .main-nav a[aria-current],[data-theme=dark] .main-nav>ul>li>a:focus-visible{color:var(--gold-2)}
.actions .btn-gold{padding:.72rem 1.6rem;font-size:.95rem;line-height:1.2}
.site-header.solid{box-shadow:0 8px 24px rgba(11,31,75,.08);border-bottom:1px solid rgba(11,31,75,.07)}
@media (min-width:1200px){
  .navbar-row{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem}
  .navbar-row .brand{justify-self:start}
  .navbar-row .main-nav{flex:none;justify-self:center}
  .navbar-row .actions{justify-self:end}
}
@media (min-width:1200px) and (max-width:1399px){
  .main-nav ul{font-size:.92rem;gap:.05rem}
  .main-nav a{padding:.7rem .85rem}
}

/* Mobile menu */
.drawer{padding:1.25rem 1.25rem 2rem}
.drawer-head{padding-bottom:1rem;margin-bottom:.75rem;border-bottom:1px solid var(--navy-100)}
.drawer-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem .85rem;border-bottom:1px solid var(--navy-100);border-radius:10px;font-size:1.05rem;font-weight:600;color:var(--ink);transition:background .2s,color .2s}
.drawer-link::after{content:"›";font-size:1.5rem;line-height:1;color:var(--gold-ink);transition:transform .2s}
.drawer-link:hover{background:var(--gold-50)}
.drawer-link:hover::after{transform:translateX(3px)}
.drawer-link[aria-current]{color:var(--navy);font-weight:700;background:var(--gold-50);border-left:4px solid var(--gold);padding-left:.85rem}
[data-theme=dark] .drawer-link{color:var(--text);border-color:var(--line)}
[data-theme=dark] .drawer-link:hover,[data-theme=dark] .drawer-link[aria-current]{background:rgba(201,162,75,.12);color:var(--gold-2)}
.drawer .btn-gold{display:block;width:100%;text-align:center;margin-top:1.5rem;padding:.85rem 1.5rem}

/* ======================================================================
   Responsive rules for every list and grid
   phones (up to 575px): ONE column    tablets (576 to 991px): TWO columns    desktop: the full layout
   ====================================================================== */
@media (max-width:575px){
  .mg-grid,.ivm-grid,.st-grid,.tl-pops,.team-grid,.ab-svc,.cat-grid,.mk-grid,.iv-svc,.post-nav,.feature,
  .news-grid,.int-grid,.post-grid,.iv-grid,.tlg,.svc-grid,.sv-grid,.sv-benefits,.ab-two,.ab-mv .ab-two,.mg-why-grid{grid-template-columns:minmax(0,1fr)}
  .mg-grid,.st-grid,.ivm-grid{gap:1.5rem}
  /* footer: one column, each block separated by a thin line */
  .site-footer .foot-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .site-footer .foot-grid>*{grid-column:auto}
  .site-footer .foot-grid>nav,.site-footer .foot-grid>.contact{padding:1.25rem 0 1.1rem;border-left:0;border-top:1px solid rgba(230,199,122,.28)}
  .site-footer .foot-grid>div:first-child{padding-bottom:1.5rem}
  .site-footer h2{margin-bottom:.6rem}
  /* home: short, scannable page */
  .news-grid>*:nth-child(n+5){display:none}
  .stats{grid-template-columns:minmax(0,1fr);gap:.75rem}
  .stat{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem}
  .stat strong{font-size:2rem}
  .stat span{text-align:right}
  .hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
  .hero-proof b{font-size:1.5rem}
  .hero-proof span{font-size:.68rem;letter-spacing:.02em}
  /* hero pictures: one clear picture, centred, never a lone tiny card */
  .tl-collage{grid-template-columns:minmax(0,1fr)}
  .tl-collage>*:nth-child(n+2){display:none}
  .hero-art:has(.ha:only-child),.mg-stack:has(.mgs:only-child),.covers:has(.cover:only-child){grid-template-columns:minmax(0,230px);justify-content:center}
  .hero-art .ha1,.hero-art .ha3{margin-top:0}
}
@media (min-width:576px) and (max-width:991px){
  .mg-grid,.st-grid,.ivm-grid,.svc-grid,.iv-svc,.mk-grid,.cat-grid,.tl-pops,.team-grid,.ab-svc,.tlg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mg-grid,.st-grid{gap:1.75rem 1.25rem}
  .st-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:992px) and (max-width:1199px){
  .mg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* hero covers: when there is only one or two covers, keep them a good size and centred (desktop and tablet) */
.covers:has(.cover:only-child){grid-template-columns:minmax(0,260px);justify-content:center}
.covers:has(.cover:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,200px));justify-content:center}

/* Magazines hero: one or two covers are centred and upright instead of sitting in the first slot of a 3-slot fan */
.mg-banner:has(.mg-cover:only-child){grid-template-columns:minmax(0,260px);justify-content:center}
.mg-banner:has(.mg-cover:only-child) .mg-cover{transform:rotate(-3deg)}
.mg-banner:has(.mg-cover:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,210px));justify-content:center;gap:.5rem}
.mg-banner:has(.mg-cover:nth-child(2):last-child) .b1{transform:rotate(-5deg) translateX(8%)}
.mg-banner:has(.mg-cover:nth-child(2):last-child) .b2{transform:rotate(4deg) translateX(-8%) scale(1)}

/* Flipbook: the filler page that keeps the page count even is a quiet closing page, never a blank white sheet */
.fb-pad.end{align-items:center;justify-content:center;text-align:center;gap:2.2cqw;background:linear-gradient(160deg,#fffdf7,#f6efdc);color:var(--navy)}
.fb-pad.end b{font-family:var(--serif);font-weight:600;font-size:7cqw;line-height:1.15}
.fb-pad.end::before{content:"";width:12cqw;height:2px;background:var(--gold-grad);order:-1}
.fb-pad.end span{font-family:var(--sans);font-size:3.4cqw;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink,#8a6a1f)}

/* =====================================================================
   ONE TYPE SYSTEM (kept last so it wins)
   Headings  = Cormorant Garamond, weight 700 (italic 700 for *emphasis*)
   Body / UI = Manrope, weights 400 / 500 / 600 / 700
   Only the weights that are actually loaded are used, so nothing is ever faux-bold or faux-italic in the serif.
   ===================================================================== */
button,input,select,textarea,optgroup{font-family:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:700;font-synthesis:none}
h1 em,h2 em,h3 em,.h-section em{font-style:italic;font-weight:700}
.lead-dek em,.iv-sub em{font-style:normal;font-weight:600;color:var(--gold-ink)}   /* Manrope has no italic: never fake one */

/* Page titles (hero h1) share one size; the home hero is the only larger "display" title */
.cat-hero h1,.ab-head h1,.sv-head h1,.lg-head h1,.ot-head h1,.mg-hero h1,.mg-hero-v2 h1,.tl-hero h1,.md-hero h1,.faq-hero h1,.iv-hero h1:not(.sr-only){
  font-size:clamp(2.25rem,1.55rem + 2.7vw,3.5rem);line-height:1.08;letter-spacing:-.01em}
.hero-v2 h1,.hero h1{font-size:clamp(2.5rem,1.7rem + 3.3vw,4rem);line-height:1.04;letter-spacing:-.012em}
/* Section titles */
.h-section,.sv-h2,.mg-cta h2,.tl-cta h2,.tlcta h2{font-size:clamp(1.8rem,1.35rem + 1.7vw,2.55rem);line-height:1.12}

/* Card and list titles used to be bold Manrope here and Cormorant elsewhere: now all Cormorant */
.card-body h3,.svc h3,.mg h3,.tlg-copy h2,.ivs-row h4,.mg-why-grid h3,.sv-benefit h3,.sv-step h3,li>div>h3{
  font-family:var(--serif);font-weight:700;line-height:1.2;letter-spacing:0}
.card-body h3,.svc h3,.mg h3,.tlg-copy h2{font-size:1.4rem}
.mg-why-grid h3,.sv-benefit h3,.sv-step h3,li>div>h3{font-size:1.3rem}
.ivs-row h4{font-size:1.1rem}
.w-title{font-family:var(--serif);font-weight:700;font-size:1.45rem;line-height:1.15;letter-spacing:0;text-transform:none}
.ct-box h3{font-family:var(--sans);font-weight:700}   /* tiny uppercase label, not a title */
.card-body h3 a,.mg h3 a,.tlg-copy h2 a,.svc h3 a{font-family:inherit;font-weight:inherit}
.tl-side .w-title,.cat-layout .w-title,.ct-card .w-title,.tle-side .w-title,.faq-side .w-title{font-family:var(--serif);font-weight:700;font-size:1.45rem;line-height:1.15;letter-spacing:0;text-transform:none}
.sv-benefit h3,.sv-steps li>div>h3,.sv-steps h3{font-family:var(--serif);font-weight:700;font-size:1.3rem;line-height:1.2;margin:0 0 .2rem}
.tl-body .h-section,.ot-sec .h-section,.ab-story-text .h-section,.md-cta .h-section,.mg-cta .h-section{font-size:clamp(1.8rem,1.35rem + 1.7vw,2.55rem);line-height:1.12}
body{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}   /* Cormorant defaults to old-style figures; use lining figures for stats, dates, rankings */
.card-body h3,.svc h3,.mg h3,.tlg-copy h2{font-size:1.5rem;line-height:1.18}
.mg-why-grid h3,.sv-benefit h3,.sv-steps li>div>h3,.sv-steps h3{font-size:1.4rem}

/* =====================================================================
   Compact page header for Top Lists, Blogs, News (and category / tag / search listings):
   one title + one short line. No pill, no counters, no repeated headings, no big hero.
   ===================================================================== */
.pg-head{padding:130px 0 1.25rem;background:linear-gradient(180deg,var(--cream),var(--bg));border-bottom:1px solid var(--navy-100);position:relative}
.pg-head .crumbs{margin:0 0 .5rem}
.pg-head h1{margin:0;font-size:clamp(2rem,1.5rem + 2vw,2.75rem);line-height:1.08;letter-spacing:-.01em;color:var(--ink);position:relative;padding-top:.85rem;text-wrap:balance}
.pg-head h1::before{content:"";position:absolute;left:0;top:0;width:44px;height:3px;border-radius:3px;background:var(--gold-grad)}
.pg-dek{margin:.5rem 0 0;max-width:72ch;font-size:1rem;line-height:1.55;color:var(--muted)}
@media (max-width:991px){.pg-head{padding-top:122px}}
@media (max-width:575px){.pg-head{padding:112px 0 1rem}.pg-head h1{font-size:2rem}.pg-dek{font-size:.95rem}}

/* =====================================================================
   Page header with a fanned "hand" of the newest stories (Top Lists, Blogs, News).
   Medium height on purpose: the content starts on the first screen.
   ===================================================================== */
.pg-head{overflow:hidden;padding:118px 0 1.6rem}
.pg-head.has-fan::before{content:"";position:absolute;right:-6%;top:-30%;width:760px;height:760px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--gold) 20%,transparent) 0,transparent 62%);pointer-events:none}
.pg-head-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:1rem}
.pg-head.has-fan .pg-head-in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem}
.pg-head.has-fan .pg-dek{max-width:46ch}
.pg-fan{--h:176px;display:flex;justify-content:flex-end;align-items:flex-end;min-height:calc(var(--h) + 34px);padding:14px 10px 6px 0;isolation:isolate}
.pg-card{position:relative;display:block;flex:0 0 auto;height:var(--h);margin-left:calc(var(--h) * -.78);
  z-index:calc(10 - var(--i));padding:5px;border-radius:12px;background:#fff;
  border:1px solid var(--gold-100);box-shadow:0 14px 28px -12px rgba(11,31,75,.45),0 2px 6px rgba(11,31,75,.12);
  --r:0deg;--y:0px;transform:translateY(var(--y)) rotate(var(--r));transform-origin:50% 130%;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;animation:pg-deal .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 90ms)}
.pg-card:first-child{margin-left:0}
.pg-card:nth-child(1){--r:-7deg;--y:10px}
.pg-card:nth-child(2){--r:-2.5deg;--y:0px}
.pg-card:nth-child(3){--r:2.5deg;--y:2px}
.pg-card:nth-child(4){--r:7deg;--y:12px}
.pg-card img{display:block;height:100%;width:auto;aspect-ratio:16/10;border-radius:8px;object-fit:contain;background:var(--navy)}
.pg-chip{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  padding:.18rem .6rem;border-radius:999px;background:var(--gold-grad);color:var(--navy);font:700 .62rem/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.pg-cap{position:absolute;left:5px;right:5px;bottom:5px;padding:1.6rem .75rem .6rem;border-radius:0 0 8px 8px;color:#fff;
  background:linear-gradient(180deg,transparent,rgba(7,18,48,.92));font:600 .8rem/1.25 var(--sans);opacity:0;transform:translateY(8px);transition:.3s}
.pg-card:hover,.pg-card:focus-visible{--r:0deg;--y:-14px;z-index:20;box-shadow:0 24px 40px -14px rgba(11,31,75,.55),0 3px 8px rgba(11,31,75,.15)}
.pg-card:hover .pg-cap,.pg-card:focus-visible .pg-cap{opacity:1;transform:none}
.pg-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@keyframes pg-deal{from{opacity:0;transform:translate(-90px,16px) rotate(0deg) scale(.94)}}
@media (prefers-reduced-motion:reduce){.pg-card{animation:none;transition:none}}

@media (max-width:991px){
  .pg-head{padding-top:122px}
  .pg-head.has-fan .pg-head-in{grid-template-columns:minmax(0,1fr);gap:1.1rem}
  .pg-head.has-fan .pg-dek{max-width:62ch}
  .pg-fan{--h:140px;justify-content:center;padding-right:0}
}
@media (max-width:575px){
  .pg-head{padding:112px 0 1.1rem}
  .pg-fan{--h:104px;min-height:calc(var(--h) + 24px);padding:10px 0 2px}
  .pg-card{padding:3px;border-radius:9px;margin-left:calc(var(--h) * -.9)}
  .pg-card img{border-radius:6px}
  .pg-card:nth-child(n+4){display:none}
  .pg-card:nth-child(3){--r:5deg;--y:6px}
  .pg-chip{left:7px;top:7px;font-size:.52rem;padding:.12rem .45rem}
  .pg-cap{display:none}
}
.pg-head.has-fan{padding-bottom:2.2rem}

/* =====================================================================
   Magazines hero: the newest covers as a taller, fanned hand of cards (same family as Top Lists / Blogs / News).
   Covers are the designer's own artwork: nothing is printed on them and nothing is cropped.
   ===================================================================== */
.mg-hero-v2{padding-top:124px}
.mg-hero-v2.has-fan .mg-hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2rem;align-items:center;padding-bottom:3rem}
.mg-hero-v2:not(.has-fan) .mg-hero-grid{grid-template-columns:minmax(0,1fr)}
.pg-fan.is-cover{--h:330px;min-height:calc(var(--h) + 50px);padding:22px 14px 14px 0}
.pg-fan.is-cover .pg-card{margin-left:calc(var(--h) * -.44);transform-origin:50% 120%}
.pg-fan.is-cover .pg-card:first-child{margin-left:0}
.pg-fan.is-cover .pg-card img{aspect-ratio:3/4}
.pg-fan.is-cover .pg-card:nth-child(1){--r:-8deg;--y:12px}
.pg-fan.is-cover .pg-card:nth-child(2){--r:-3deg;--y:0px}
.pg-fan.is-cover .pg-card:nth-child(3){--r:2.5deg;--y:2px}
.pg-fan.is-cover .pg-card:nth-child(4){--r:8deg;--y:14px}
.pg-fan.is-cover .pg-card:hover,.pg-fan.is-cover .pg-card:focus-visible{--y:-16px}
@media (max-width:1199px){.pg-fan.is-cover{--h:290px}}
@media (max-width:991px){
  .mg-hero-v2.has-fan .mg-hero-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-bottom:2.5rem}
  .pg-fan.is-cover{--h:280px;justify-content:center;padding-right:0}
}
@media (max-width:575px){
  .mg-hero-v2{padding-top:112px}
  .pg-fan.is-cover{--h:215px;min-height:calc(var(--h) + 36px)}
  .pg-fan.is-cover .pg-card{margin-left:calc(var(--h) * -.4);padding:3px}
  .pg-fan.is-cover .pg-card:nth-child(3){--r:5deg;--y:6px}
}
/* list cards: the cover, its title, a link. No automatic label. */
.mg-tag{display:none}
.mg .mg-cover{background:#fff;border:1px solid var(--gold-100);box-shadow:0 14px 28px -14px rgba(11,31,75,.4)}
.mg-hero-v2 h1{font-size:clamp(2.1rem,1.4rem + 2.3vw,3rem)}
/* tablet / phone: keep the lead sentence and the buttons, drop the two extra paragraphs so covers and the list come sooner */
@media (max-width:991px){.mg-hero-v2 .lead-dek~p:not(.hero-cta){display:none}.mg-hero-v2.has-fan .mg-hero-grid{gap:.5rem}}
/* the cover is shown exactly as designed: no darkening gradient, no spine shading, no zoom-crop on hover */
.mg-cover::before,.mg-cover::after{display:none}
.mg:hover .mg-cover img{transform:none}
.mg-cover{background:#fff}
.covers .cover::after{display:none}

/* =====================================================================
   Interviews hero: a hand of portrait cards, newest in the centre.
   Its own motion: cards rise into place, and on hover the neighbours step aside to give the person room.
   ===================================================================== */
.iv-hero{padding:124px 0 2.4rem;background:
  radial-gradient(760px 420px at 88% 20%,color-mix(in srgb,var(--gold) 20%,transparent),transparent 62%),
  linear-gradient(180deg,var(--cream),var(--bg))}
.iv-hero::before{display:none}
.iv-hero.has-fan .iv-hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem;align-items:center}
.iv-hero h1{font-size:clamp(2rem,1.4rem + 2.2vw,3rem);line-height:1.08;letter-spacing:-.01em;color:var(--ink);margin:.4rem 0 .9rem;text-wrap:balance;padding-top:.85rem;position:relative}
.iv-hero h1::before{content:"";position:absolute;left:0;top:0;width:44px;height:3px;border-radius:3px;background:var(--gold-grad)}
.iv-hero .lead-dek{max-width:48ch;margin-bottom:1.2rem}
.iv-fan{--h:300px;justify-content:center;padding:24px 0 16px}
.iv-fan .pg-card{margin-left:calc(var(--h) * -.54);z-index:calc(10 - var(--i));transform-origin:50% 115%;
  animation:iv-rise .8s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms);transition:transform .4s cubic-bezier(.2,.8,.2,1),translate .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.iv-fan .pg-card:first-child{margin-left:0}
.iv-fan .pg-card img{aspect-ratio:4/5}
/* hover: the person steps forward, their neighbours make room */
.iv-fan .pg-card:hover,.iv-fan .pg-card:focus-visible{--r:0deg!important;--y:-18px!important;z-index:30;box-shadow:0 0 0 3px var(--gold),0 28px 44px -16px rgba(11,31,75,.6)}
.iv-fan .pg-card:hover~.pg-card{translate:46px 0}
.iv-fan .pg-card:has(~ .pg-card:hover){translate:-46px 0}
.iv-fan .pg-card:has(~ .pg-card:focus-visible){translate:-46px 0}
.iv-fan .pg-card:focus-visible~.pg-card{translate:46px 0}
.iv-fan .pg-cap{display:flex;flex-direction:column;gap:.1rem;padding:2.4rem .8rem .7rem}
.iv-fan .pg-cap b{font:700 .95rem/1.2 var(--serif);font-family:var(--serif);font-size:1.15rem}
.iv-fan .pg-cap em{font-style:normal;font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--gold-2)}
@keyframes iv-rise{from{opacity:0;transform:translateY(46px) rotate(0deg) scale(.96)}}
@media (prefers-reduced-motion:reduce){.iv-fan .pg-card{animation:none;transition:none}}
@media (max-width:1199px){.iv-fan{--h:250px}}
@media (max-width:991px){
  .iv-hero{padding-top:122px}
  .iv-hero.has-fan .iv-hero-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}
  .iv-hero .lead-dek{max-width:62ch}
  .iv-fan{--h:250px}
}
@media (max-width:575px){
  .iv-hero{padding:112px 0 1.6rem}
  .iv-fan{--h:210px}
  .iv-fan .pg-card{padding:3px;margin-left:calc(var(--h) * -.46)}
  .iv-fan .pg-card.edge{display:none}
  .iv-fan .pg-card:hover~.pg-card{translate:0 0}
  .iv-fan .pg-card:has(~ .pg-card:hover){translate:0 0}
}

/* interview list cards: lift + a gold ring instead of the old zoom (which cropped the portrait) */
.iv-link{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.iv-link:hover,.iv-link:focus-visible{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 0 0 3px var(--gold),0 26px 40px -16px rgba(11,31,75,.5)}
.iv-link:hover .iv-img,.iv-link:focus-visible .iv-img{transform:none}
@media (prefers-reduced-motion:reduce){.iv-link{transition:none}.iv-link:hover{transform:none}}

/* ===== Home header: round "orbit" cards (newest of every kind) ===== */
.orbit{width:100%;max-width:570px;margin-inline:auto}
.orbit-stage{position:relative;width:100%;aspect-ratio:1/1}
.orbit-stage::before{content:"";position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,var(--gold-50) 0%,rgba(255,255,255,0) 68%);animation:orbit-glow 6s ease-in-out infinite}
.orbit-ring{position:absolute;inset:12%;border-radius:50%;border:1.5px dashed rgba(184,134,11,.6);animation:orbit-spin 70s linear infinite,orbit-ringin 1s .1s both}
.orbit-ring.r2{inset:1%;border:1px solid var(--gold-100);animation:orbit-ringin 1.2s .25s both}
.orbit-dot{position:absolute;inset:12%;animation:orbit-spin 16s linear infinite}
.orbit-dot::after{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--gold-grad);box-shadow:0 0 0 4px rgba(212,160,23,.18),0 0 16px var(--gold)}
.orb{position:absolute;display:block;border-radius:50%;text-decoration:none;color:inherit}
.orb-c{left:50%;top:50%;width:45%;aspect-ratio:1/1;translate:-50% -50%;z-index:2}
.orb-s{left:var(--x);top:var(--y);width:22%;aspect-ratio:1/1;translate:-50% -50%;z-index:1;animation:orb-fly .95s calc(.55s + var(--n,0)*.13s) cubic-bezier(.2,.85,.25,1) both}
.orb-in{position:absolute;inset:0;display:block;animation:orb-float 7s ease-in-out infinite;animation-delay:calc(var(--n,0)*-1.3s)}
.orb-c .orb-in{animation-duration:9s}
.orb-pic{position:absolute;inset:0;display:block;border-radius:50%;overflow:hidden;border:4px solid #fff;background:var(--navy);box-shadow:0 0 0 1.5px var(--gold),0 18px 38px rgba(11,31,75,.24);transition:transform .5s cubic-bezier(.2,.85,.25,1),box-shadow .4s}
.orb-c .orb-pic{border-width:6px;animation:orb-open 1.1s .2s cubic-bezier(.2,.85,.25,1) both}
.orb-pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 16%;transition:transform .8s cubic-bezier(.2,.85,.25,1)}
.orb-pic img.fit{object-fit:contain;object-position:center;padding:11% 17%;background:linear-gradient(160deg,var(--navy),#16337f)}
.orb-tag{position:absolute;left:50%;bottom:-3%;translate:-50% 0;white-space:nowrap;padding:.28rem .8rem;border-radius:999px;background:var(--gold-grad);color:var(--navy);font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 6px 14px rgba(11,31,75,.22);transition:transform .35s}
.orb-c .orb-tag{font-size:.74rem;padding:.34rem 1rem;bottom:2%}
/* hover: the card swells, its picture drifts and a gold halo opens */
.orb:hover,.orb:focus-visible{z-index:5;outline:0}
.orb:hover .orb-in,.orb:focus-visible .orb-in{animation-play-state:paused}
.orb:hover .orb-pic,.orb:focus-visible .orb-pic{transform:scale(1.14);box-shadow:0 0 0 3px var(--gold),0 0 0 11px rgba(212,160,23,.2),0 26px 50px rgba(11,31,75,.32)}
.orb:hover .orb-pic img:not(.fit),.orb:focus-visible .orb-pic img:not(.fit){transform:scale(1.08)}
.orb:hover .orb-tag,.orb:focus-visible .orb-tag{transform:translateY(4px) scale(1.06)}
/* the card the caption is describing gets a soft sonar ping */
.orb.is-on .orb-in::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--gold);pointer-events:none;animation:orb-ping 1.8s ease-out infinite}
.orbit-cap{display:block;text-align:center;margin:1.1rem auto 0;max-width:440px;min-height:6.4rem;text-decoration:none;color:var(--ink);transition:opacity .16s,transform .16s}
.orbit-cap.swap{opacity:0;transform:translateY(6px)}
.orbit-cap small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink)}
.orbit-cap small i{font-style:normal;color:var(--muted)}
.orbit-cap b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:.3rem 0 .45rem;font-family:var(--serif);font-size:1.45rem;line-height:1.2;font-weight:700}
.orbit-cap span{font-size:.84rem;font-weight:700;color:var(--navy);border-bottom:1.5px solid var(--gold)}
.orbit-cap:hover span{color:var(--gold-ink)}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
@keyframes orbit-ringin{from{opacity:0;scale:.55}to{opacity:1;scale:1}}
@keyframes orbit-glow{50%{transform:scale(1.05);opacity:.8}}
@keyframes orb-open{from{clip-path:circle(0%);transform:scale(.5) rotate(-12deg);opacity:0}60%{opacity:1}to{clip-path:circle(50%);transform:none;opacity:1}}
@keyframes orb-fly{from{left:50%;top:50%;opacity:0;transform:scale(.25)}}
@keyframes orb-float{50%{transform:translateY(-7px)}}
@keyframes orb-ping{from{transform:scale(1);opacity:.85}to{transform:scale(1.32);opacity:0}}
@media (max-width:991px){.orbit{max-width:500px}}
@media (max-width:575px){
  .orbit{max-width:350px}
  .orb-pic{border-width:3px}.orb-c .orb-pic{border-width:4px}
  .orb-tag{font-size:.54rem;padding:.2rem .5rem;letter-spacing:.05em}.orb-c .orb-tag{font-size:.62rem}
  .orbit-cap{min-height:5.6rem}.orbit-cap b{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){.orbit-stage::before,.orbit-ring,.orbit-dot,.orb-s,.orb-in,.orb-c .orb-pic,.orb.is-on .orb-in::after{animation:none!important}.orb-pic,.orb-pic img,.orbit-cap{transition:none}}
