/*
Theme Name: Farzam Anjum
Theme URI: https://farzamanjum.com
Author: Farzam Anjum
Description: Custom theme for farzamanjum.com. Uses the Designs by Farzam design system: dark by default with a light toggle, one amber accent, Google Sans Flex, no shadows.
Version: 1.3.3
Requires at least: 6.0
Requires PHP: 7.4
License: All rights reserved
Text Domain: farzamanjum
*/

/* ---------- Fonts (self-hosted, no Google Fonts requests) ---------- */
@font-face{font-family:'Google Sans Flex';font-style:normal;font-weight:1 1000;font-display:swap;src:url('fonts/google-sans-flex-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Google Sans Flex';font-style:normal;font-weight:1 1000;font-display:swap;src:url('fonts/google-sans-flex-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Google Sans Flex Fallback';src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:101.25%;ascent-override:95.4%;descent-override:28.25%;line-gap-override:0%}

/* ---------- Tokens (design system section 13) ---------- */
:root{
  color-scheme:dark;
  --bg:#0C0C0C;--bg2:#141414;--bg3:#1C1C1C;
  --ink:#F0EBE5;--ink-soft:#C4BEB6;--ink2:#8A857E;--ink3:#55514A;
  --border:rgba(240,235,229,.07);--border2:rgba(240,235,229,.13);--border-strong:var(--ink2);
  --accent-50:#FFF5E5;--accent-100:#FFE8C5;--accent-200:#FFD696;--accent-300:#FEC26B;--accent-400:#F5B043;
  --accent-500:#EFA831;--accent-600:#E8A127;--accent-700:#CA8A10;--accent-800:#AB7306;--accent-900:#865901;
  --accent:var(--accent-600);--accent-hover:var(--accent-700);--accent-pressed:var(--accent-800);
  --on-accent:#000;--accent-tint:rgba(232,161,39,.08);
  --accent-layer-hover:rgba(232,161,39,.08);--accent-layer-press:rgba(232,161,39,.12);
  --accent-glow:rgba(232,161,39,.25);--accent-line:rgba(232,161,39,.5);
  --layer-hover:rgba(240,235,229,.08);--layer-press:rgba(240,235,229,.12);
  --success:#3ECF4F;--danger:#F28B82;--info:#8AB4F8;--warning:var(--accent);
  --nav-bg:rgba(12,12,12,.9);--focus:var(--accent);
  --sans:'Google Sans Flex','Google Sans Flex Fallback',Arial,Helvetica,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --h2:clamp(32px,4vw,48px);--h2-lh:1.1667;
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:80px;
  --pad-y:80px;--container:1280px;--gutter:24px;
  --measure:680px;--wide:960px;
  /* Layout standard (v1.3): every horizontal inset is computed from the parent width (%), not 100vw, so it stays centred even when a scrollbar is present. */
  --inset:max(var(--gutter),calc((100% - var(--container))/2));--pad-x:var(--inset);
  --inset-wide:max(var(--gutter),calc((100% - var(--wide))/2));
  --inset-read:max(var(--gutter),calc((100% - var(--measure))/2));
  --r-xs:2px;--r-sm:4px;--r:8px;--pill:48px;
  --dur-fast:150ms;--dur-base:250ms;--dur-slow:450ms;--dur-reveal:750ms;
  --eout:cubic-bezier(.16,1,.3,1);
  --z-nav:200;--z-skip:99999;
}
@media(min-width:600px){:root{--gutter:32px}}
@media(min-width:1024px){:root{--gutter:48px}}
@media(min-width:1280px){:root{--gutter:64px}}
@media(max-width:768px){:root{--pad-y:64px}}
[data-theme="light"]{
  color-scheme:light;
  --bg:#FFFFFF;--bg2:#F8F9FA;--bg3:#F1F3F4;
  --ink:#202124;--ink-soft:#3C4043;--ink2:#5F6368;--ink3:#80868B;
  --border:#DADCE0;--border2:#DADCE0;--border-strong:#5F6368;
  --accent-tint:rgba(232,161,39,.08);
  --layer-hover:rgba(32,33,36,.08);--layer-press:rgba(32,33,36,.12);
  --success:#188038;--danger:#D93025;--info:#1967D2;--warning:#865901;
  --nav-bg:rgba(255,255,255,.9);--focus:#865901;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/28px var(--sans);font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-weight:400;text-wrap:balance;margin:0}
p{text-wrap:pretty;margin:0 0 var(--s-4)}
ul,ol{margin:0;padding:0}
::selection{background:var(--accent);color:#000}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:var(--z-skip);background:var(--accent);color:#000;padding:12px 24px;border-radius:var(--pill);font-weight:500;transition:top var(--dur-base) var(--eout)}
.skip-link:focus{top:16px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
main{min-height:60vh}

/* ---------- Nav ---------- */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--pad-x);background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
body.admin-bar .site-nav{top:32px}
@media(max-width:782px){body.admin-bar .site-nav{top:46px}}
.nav-brand{font:500 18px/24px var(--sans);color:var(--ink);white-space:nowrap}
.nav-brand span{color:var(--accent)}
.menu-links{display:flex;list-style:none;gap:2px;margin:0 auto 0 32px}
.menu-links a{position:relative;display:flex;align-items:center;height:48px;padding:0 12px;font:500 16px/24px var(--sans);letter-spacing:.25px;color:var(--ink2);border-radius:var(--r-sm);white-space:nowrap;transition:color var(--dur-fast),background var(--dur-fast)}
.menu-links a:hover{color:var(--ink);background:var(--layer-hover)}
.menu-links .current-menu-item>a,.menu-links .current_page_item>a,.menu-links a[aria-current]{color:var(--ink)}
.menu-links .current-menu-item>a::after,.menu-links .current_page_item>a::after,.menu-links a[aria-current]::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:4px;background:var(--accent);border-radius:var(--r-xs) var(--r-xs) 0 0}
.nav-right{display:flex;align-items:center;gap:12px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:transparent;color:var(--ink);border:1px solid var(--border2);cursor:pointer;transition:background var(--dur-fast)}
.theme-toggle:hover{background:var(--layer-hover)}
.theme-toggle:active{background:var(--layer-press)}
.theme-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .icon-moon{display:none}
[data-theme="light"] .theme-toggle .icon-sun{display:none}
[data-theme="light"] .theme-toggle .icon-moon{display:block}
@media(max-width:880px){.menu-links{display:none}.nav-right{margin-left:auto}}

/* ---------- Buttons ---------- */
.btn,.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:12px 24px;border-radius:var(--pill);font:500 16px/24px var(--sans);letter-spacing:.5px;border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}
.btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--dur-base) var(--eout)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary,.wp-block-button .wp-block-button__link{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.btn-primary:hover,.wp-block-button .wp-block-button__link:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}
.btn-primary:active,.wp-block-button .wp-block-button__link:active{background:var(--accent-pressed);border-color:var(--accent-pressed)}
[data-theme="light"] .btn-primary:hover,[data-theme="light"] .wp-block-button .wp-block-button__link:hover{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
[data-theme="light"] .btn-primary:active,[data-theme="light"] .wp-block-button .wp-block-button__link:active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}
.btn-secondary,.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);border-color:var(--border2)}
.btn-secondary:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--layer-hover);color:var(--ink);border-color:var(--border2)}
.btn-secondary:active,.wp-block-button.is-style-outline .wp-block-button__link:active{background:var(--layer-press)}
.btn-sm{height:40px;padding:9px 20px;font-size:14px;line-height:20px;letter-spacing:.25px}
.btn-nav{background:transparent;color:var(--accent);border-color:var(--accent-line)}
.btn-nav:hover{background:var(--accent-layer-hover);color:var(--accent);border-color:var(--accent-line)}
[data-theme="light"] .btn-nav{color:#865901}
.btn[disabled]{background:var(--bg3);color:var(--ink2);border-color:var(--border2);cursor:not-allowed}

/* ---------- Layout ---------- */
.section{padding:var(--pad-y) var(--pad-x);border-top:1px solid var(--border)}
.sec-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:var(--s-7)}
.eyebrow{font:500 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink2);margin-bottom:var(--s-2)}
.eyebrow b{font-weight:500;color:var(--accent)}
[data-theme="light"] .eyebrow b{color:#865901}
.sec-title{font-size:var(--h2);line-height:var(--h2-lh);letter-spacing:-.5px;color:var(--ink)}
.sec-title em,.hero-headline em,.page-title em{font-style:normal;color:var(--accent)}
[data-theme="light"] .sec-title em,[data-theme="light"] .hero-headline em,[data-theme="light"] .page-title em{color:#B9780F}
.lede{font-size:18px;line-height:28px;color:var(--ink2);max-width:56ch}
.band{margin:0 var(--pad-x) var(--pad-y);padding:32px 48px;background:var(--accent-tint);border-radius:var(--r);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.band h2{font-size:clamp(28px,3.2vw,36px);line-height:1.22;letter-spacing:-.25px;margin-bottom:var(--s-2)}
.band p{color:var(--ink-soft);margin:0;max-width:56ch}
.band-actions{display:flex;gap:16px;flex-wrap:wrap}
@media(max-width:768px){.band{padding:24px}}

/* ---------- Hero ---------- */
#hero{padding:144px var(--pad-x) var(--s-8)}
.hero-headline{font-size:clamp(34px,4.8vw,58px);line-height:1.18;letter-spacing:-.5px;max-width:18ch;margin-bottom:var(--s-5)}
.hero-desc{font-size:18px;line-height:28px;color:var(--ink2);max-width:56ch;margin-bottom:var(--s-6)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}

/* ---------- Page header ---------- */
.page-head{padding:144px var(--pad-x) var(--s-7)}
.read{padding-left:var(--inset-read)!important;padding-right:var(--inset-read)!important}
.read-wide{padding-left:var(--inset-wide)!important;padding-right:var(--inset-wide)!important}
.page-title{font-size:clamp(36px,5vw,56px);line-height:1.2;letter-spacing:-.5px;max-width:20ch}
.read .page-title,.read.page-head .page-title{max-width:none}
.read .lede,.page-head.read .lede{max-width:none}
.page-head .lede{margin-top:var(--s-4)}
.page-body{padding:0 var(--pad-x) var(--pad-y)}

/* ---------- Cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:1024px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.cards{grid-template-columns:1fr;gap:16px}}
.card{position:relative;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-sm);padding:24px;transition:transform var(--dur-slow) var(--eout),border-color var(--dur-fast)}
.card:hover{transform:translateY(-4px);border-color:var(--border2)}
.card-media{margin:-24px -24px 24px;aspect-ratio:16/9;overflow:hidden;background:var(--bg3);border-radius:var(--r-sm) var(--r-sm) 0 0}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--eout)}
.card:hover .card-media img{transform:scale(1.04)}
.card-meta{font:500 12px/16px var(--sans);letter-spacing:.25px;color:var(--ink2);margin-bottom:var(--s-3)}
.card-title{font:400 20px/28px var(--sans);color:var(--ink);margin-bottom:var(--s-2);transition:color var(--dur-fast)}
.card-title a::after{content:"";position:absolute;inset:0}
.card:hover .card-title{color:var(--accent)}
[data-theme="light"] .card:hover .card-title{color:#865901}
.card-excerpt{font:400 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink2);margin:0}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:var(--s-4)}
.tag{display:inline-block;font:500 12px/16px var(--sans);letter-spacing:.25px;padding:4px 12px;border-radius:var(--pill);border:1px solid var(--border2);color:var(--ink2)}
.empty{color:var(--ink2);border:1px solid var(--border);border-radius:var(--r-sm);padding:32px;background:var(--bg2)}

/* ---------- Pagination ---------- */
.pagination{margin-top:var(--s-7)}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 16px;border-radius:var(--pill);border:1px solid var(--border2);font:500 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink);transition:background var(--dur-fast)}
a.page-numbers:hover{background:var(--layer-hover)}
.page-numbers.current{background:var(--accent);border-color:var(--accent);color:#000}

/* ---------- Article ---------- */
.post-head{padding:144px var(--pad-x) var(--s-6)}
.post-title{font-size:clamp(32px,4.6vw,48px);line-height:1.2;letter-spacing:-.5px;max-width:none;margin-bottom:var(--s-4);text-wrap:balance}
.post-meta{font:500 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink2)}
.post-meta a{color:var(--accent)}
[data-theme="light"] .post-meta a{color:#865901}
.post-figure{padding:0 var(--pad-x) var(--s-7)}
.post-figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--border)}
.post-body{padding:0 var(--pad-x) var(--pad-y)}
.prose{max-width:none}
.prose.wide{max-width:none}
.prose img,.prose video,.prose iframe{max-width:100%;height:auto}
.prose pre{max-width:100%}
.prose>*{overflow-wrap:break-word}
.prose>*+*{margin-top:var(--s-4)}
.prose h2{font-size:clamp(28px,3.2vw,36px);line-height:1.22;letter-spacing:-.25px;margin-top:var(--s-7);color:var(--ink)}
.prose h3{font:500 20px/28px var(--sans);margin-top:var(--s-6);color:var(--ink)}
.prose p,.prose li{color:var(--ink-soft)}
.prose strong{color:var(--ink);font-weight:500}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
[data-theme="light"] .prose a{color:#865901}
.prose a.btn{text-decoration:none}
.prose a.btn-primary,.prose a.btn-primary:hover{color:var(--on-accent)}
.prose a.btn-secondary,.prose a.btn-secondary:hover{color:var(--ink)}
.btn[aria-disabled="true"],.prose a.btn[aria-disabled="true"]{background:var(--bg3);border-color:var(--border2);color:var(--ink2);cursor:not-allowed;box-shadow:none}
.prose ul,.prose ol{padding-left:24px}
.prose li+li{margin-top:var(--s-2)}
.prose blockquote{margin-left:0;padding-left:24px;border-left:4px solid var(--accent)}
.prose blockquote p{color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--border);margin:var(--s-7) 0}
.prose img{border-radius:var(--r-sm)}
.prose figcaption{font:400 14px/20px var(--sans);color:var(--ink2);margin-top:var(--s-2)}
.prose code{font:14px/20px var(--mono);background:var(--bg3);padding:2px 6px;border-radius:var(--r-xs);color:var(--ink)}
.prose pre{background:var(--bg3);border:1px solid var(--border);border-radius:var(--r);padding:16px;overflow:auto}
.prose pre code{background:none;padding:0}
.prose table{width:100%;border-collapse:collapse;font-size:16px}
.prose th,.prose td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}
.prose th{font-weight:500;color:var(--ink)}
.wp-block-buttons{display:flex;gap:16px;flex-wrap:wrap}
.post-foot{margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- Footer ---------- */
.site-footer{background:var(--bg2);border-top:1px solid var(--border);padding:48px var(--pad-x) 32px;color:var(--ink2)}
.footer-inner{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:48px;margin-bottom:var(--s-7)}
@media(max-width:768px){.footer-inner{grid-template-columns:1fr;gap:32px}}
.footer-brand-name{display:block;font:500 20px/28px var(--sans);color:var(--ink);margin-bottom:var(--s-2)}
.footer-brand-name span{color:var(--accent)}
.footer-desc{font:400 14px/20px var(--sans);letter-spacing:.25px;max-width:36ch;margin:0}
.footer-label{font:500 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink);margin-bottom:var(--s-3)}
.footer-links{list-style:none;display:grid;gap:8px}
.footer-links a{font:400 16px/24px var(--sans);color:var(--ink2);transition:color var(--dur-fast)}
.footer-links a:hover{color:var(--ink)}
.footer-meta{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:var(--s-5);border-top:1px solid var(--border);font:400 14px/20px var(--sans);letter-spacing:.25px}
.footer-meta a:hover{color:var(--ink)}

/* ---------- Reveal ---------- */
html.js .reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur-reveal) var(--eout),transform var(--dur-reveal) var(--eout)}
html.js .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  html.js .reveal{opacity:1;transform:none}
}
@media(forced-colors:active){:focus-visible{outline-color:Highlight}.btn{border-color:ButtonText}}
@media(max-width:480px){.btn-nav{padding:9px 14px}.nav-brand{font-size:16px}}

/* ================= v1.1 home page ================= */

/* Hero with portrait */
.hero2{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--s-8);align-items:center;padding:128px var(--pad-x) var(--s-9)}
.hero2 .hero-headline{max-width:17ch}
.eyebrow b{font-size:10px;vertical-align:2px;margin-right:6px}
.hero-note{font:400 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink2);margin:var(--s-4) 0 0}
.hero-facts{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5);margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--border)}
.hero-facts strong{display:block;font:500 18px/24px var(--sans);color:var(--ink);margin-bottom:var(--s-1)}
.hero-facts span{display:block;font:400 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink2)}
.hero-photo{margin:0;justify-self:end;width:100%;max-width:480px;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;background:var(--bg3);border:1px solid var(--border2)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:1024px){
  .hero2{grid-template-columns:1fr;gap:var(--s-7);padding-top:112px}
  .hero-photo{justify-self:start;max-width:420px}
}
@media(max-width:600px){.hero-facts{grid-template-columns:1fr;gap:var(--s-4)}}

/* Path: free to paid */
.path{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;counter-reset:none}
.path-step{position:relative;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-sm);padding:24px 24px 32px;transition:border-color var(--dur-fast),transform var(--dur-slow) var(--eout)}
.path-step:hover{border-color:var(--border2);transform:translateY(-4px)}
.path-step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-25px;width:26px;height:1px;background:var(--border2)}
.path-num{display:block;font:300 48px/56px var(--sans);color:var(--accent);letter-spacing:-1px;margin-bottom:var(--s-4)}
[data-theme="light"] .path-num{color:#B9780F}
.path-tag{display:inline-block;font:500 12px/16px var(--sans);letter-spacing:.25px;padding:4px 12px;border-radius:var(--pill);border:1px solid var(--border2);color:var(--ink2);margin-bottom:var(--s-3)}
.path-tag-paid{border-color:var(--accent-line);color:var(--accent)}
[data-theme="light"] .path-tag-paid{color:#865901}
.path-title{font:400 24px/32px var(--sans);margin-bottom:var(--s-2)}
.path-title a::after{content:"";position:absolute;inset:0}
.path-step:hover .path-title{color:var(--accent)}
[data-theme="light"] .path-step:hover .path-title{color:#865901}
.path-step p{font:400 16px/24px var(--sans);color:var(--ink2);margin:0}
@media(max-width:900px){.path{grid-template-columns:1fr;gap:16px}.path-step:not(:last-child)::after{display:none}}

/* Featured kit */
.kit{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:var(--s-8);align-items:start}
.kit-copy .lede{margin:var(--s-4) 0 var(--s-5)}
.kit-list{list-style:none;display:grid;gap:var(--s-4);margin-bottom:var(--s-6)}
.kit-list li{position:relative;padding-left:32px;color:var(--ink-soft)}
.kit-list li::before{content:"";position:absolute;left:0;top:8px;width:16px;height:8px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg) scale(.85)}
.kit-list strong{color:var(--ink);font-weight:500}
.kit-card{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--r-sm);padding:24px}
.kit-card-head{font:500 14px/20px var(--sans);letter-spacing:.25px;color:var(--accent);margin-bottom:var(--s-4)}
[data-theme="light"] .kit-card-head{color:#865901}
.kit-facts{margin:0}
.kit-facts>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border)}
.kit-facts dt{font:400 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink2)}
.kit-facts dd{margin:0;font:500 14px/20px var(--sans);color:var(--ink);text-align:right}
@media(max-width:900px){.kit{grid-template-columns:1fr;gap:var(--s-6)}}

/* Who it is for */
.fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.fit-col{border:1px solid var(--border);border-radius:var(--r-sm);padding:32px;background:var(--bg2)}
.fit-yes{border-color:var(--accent-line);background:var(--accent-tint)}
.fit-col h3{font:500 20px/28px var(--sans);margin-bottom:var(--s-4);color:var(--ink)}
.fit-col ul{list-style:none;display:grid;gap:var(--s-3)}
.fit-col li{position:relative;padding-left:28px;color:var(--ink-soft)}
.fit-col li::before{content:"";position:absolute;left:0;top:11px;width:12px;height:2px;background:var(--ink3)}
.fit-yes li::before{background:var(--accent)}
@media(max-width:768px){.fit{grid-template-columns:1fr}.fit-col{padding:24px}}

/* Numbered post list */
.post-list{border-top:1px solid var(--border)}
.post-row{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto 20px;align-items:center;gap:var(--s-5);padding:24px 0;border-bottom:1px solid var(--border);transition:background var(--dur-fast),padding var(--dur-base) var(--eout)}
.post-row:hover{background:var(--layer-hover);padding-left:16px;padding-right:16px}
.post-num{font:300 32px/40px var(--sans);color:var(--ink3);letter-spacing:-.5px;transition:color var(--dur-fast)}
.post-row:hover .post-num{color:var(--accent)}
.post-main{display:block;min-width:0}
.post-row-title{display:block;font:400 22px/30px var(--sans);color:var(--ink);margin-bottom:var(--s-1)}
.post-row-ex{display:block;font:400 14px/20px var(--sans);letter-spacing:.25px;color:var(--ink2);max-width:70ch}
.post-row-meta{font:500 12px/16px var(--sans);letter-spacing:.25px;color:var(--ink2);white-space:nowrap}
.post-row-arrow{width:16px;height:16px;fill:none;stroke:var(--ink2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--dur-base) var(--eout),stroke var(--dur-fast)}
.post-row:hover .post-row-arrow{transform:translateX(4px);stroke:var(--accent)}
@media(max-width:768px){
  .post-row{grid-template-columns:40px minmax(0,1fr) 16px;gap:var(--s-3)}
  .post-row-meta{grid-column:2;grid-row:2}
  .post-num{font-size:24px}
  .post-row-title{font-size:18px;line-height:26px}
}

/* About */
.about{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s-8);align-items:center}
.about-photo{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--border2);background:var(--bg3);aspect-ratio:1100/978}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-copy .sec-title{margin-bottom:var(--s-5)}
.about-copy .prose p{color:var(--ink-soft)}
.principles{list-style:none;display:grid;gap:var(--s-3);margin-top:var(--s-6);padding-top:var(--s-5);border-top:1px solid var(--border)}
.principles li{font:400 16px/24px var(--sans);color:var(--ink2)}
.principles strong{color:var(--ink);font-weight:500}
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:var(--s-8)}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--border)}
@media(max-width:900px){.about{grid-template-columns:1fr;gap:var(--s-6)}.strip{gap:8px;margin-top:var(--s-7)}}

/* FAQ */
.faq{border-top:1px solid var(--border);max-width:860px}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;padding:24px 0;font:400 20px/28px var(--sans);color:var(--ink);transition:color var(--dur-fast)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--accent)}
[data-theme="light"] .faq-item summary:hover{color:#865901}
.faq-icon{position:relative;flex:0 0 16px;width:16px;height:16px}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;background:currentColor;transition:transform var(--dur-base) var(--eout)}
.faq-icon::after{transform:rotate(90deg)}
.faq-item[open] .faq-icon::after{transform:rotate(0)}
.faq-item p{color:var(--ink2);margin:0;padding:0 40px 24px 0;max-width:68ch}

/* Section rhythm tweak: first section after hero needs no top rule */
.hero2+.section{border-top:1px solid var(--border)}

.footer-legal{display:flex;gap:24px;flex-wrap:wrap}

/* Gallery */
.gallery-head{margin-top:var(--s-8);margin-bottom:var(--s-4)}
.gallery-head .eyebrow{margin:0}
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gallery figure{margin:0;overflow:hidden;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg3);aspect-ratio:3/4}
.gallery .g-big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--eout)}
.gallery figure:hover img{transform:scale(1.04)}
@media(max-width:768px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery .g-big{grid-column:span 2;grid-row:auto;aspect-ratio:4/5}}
