/* ==========================================================================
   AttorneyPlot — app.css
   Ink + brass + bone. Editorial serif (Fraunces) with Inter + JetBrains Mono.
   ========================================================================== */

:root{
	--ink:#0B1320; --ink-2:#121E33; --ink-3:#0E1A2C;
	--bone:#F3EDE1; --paper:#FBF8F1; --paper-2:#F2EBDD;
	--gold:#C39A4D; --gold-2:#E6C778; --gold-deep:#A07C34;
	--steel:#8294B0; --steel-d:#5C6E8C;
	--ink-soft:#2A3852;
	--line:rgba(243,237,225,.14);
	--line-dk:rgba(11,19,32,.12);
	--serif:'Fraunces',Georgia,'Times New Roman',serif;
	--sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',monospace;
	--wrap:1160px;
	--r:14px; --r-sm:9px;
	--shadow:0 24px 60px -28px rgba(0,0,0,.55);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{
	margin:0;background:var(--paper);color:var(--ink);
	font-family:var(--sans);font-size:17px;line-height:1.65;
	-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0}
p{margin:0 0 1rem}
::selection{background:var(--gold);color:var(--ink)}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2.5rem)}
.wrap--narrow{max-width:760px}
.u-serif-italic{font-style:italic;font-weight:500;color:var(--gold-2)}

.skip-link{position:absolute;left:-999px;top:0}
.skip-link:focus{left:1rem;top:1rem;z-index:200;background:var(--gold);color:var(--ink);padding:.6rem 1rem;border-radius:var(--r-sm)}

/* ---------- buttons ---------- */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
	font-family:var(--sans);font-weight:600;font-size:.98rem;letter-spacing:.01em;
	padding:.85rem 1.5rem;border-radius:999px;border:1.5px solid transparent;
	cursor:pointer;transition:transform .15s ease,background .2s ease,box-shadow .2s ease,color .2s ease;
	line-height:1;text-align:center;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--gold{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#241a08;box-shadow:0 10px 24px -10px rgba(195,154,77,.6)}
.btn--gold:hover{box-shadow:0 16px 30px -10px rgba(195,154,77,.7)}
.btn--ghost{background:transparent;border-color:currentColor;color:var(--ink)}
.btn--ghost:hover{background:rgba(11,19,32,.06)}
.btn--sm{padding:.6rem 1.05rem;font-size:.88rem}
.btn--lg{padding:1.05rem 1.9rem;font-size:1.05rem}
.btn--block{display:flex;width:100%}
.btn:focus-visible{outline:3px solid var(--gold-2);outline-offset:2px}

/* ---------- eyebrow / section heads ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow__tick{width:26px;height:2px;background:var(--gold);display:inline-block}
.sec-head{max-width:640px;margin-bottom:2.6rem}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head__title{font-size:clamp(1.9rem,4vw,2.9rem);margin:.7rem 0 .4rem}
.sec-head__sub{color:var(--ink-soft);font-size:1.05rem;margin:0}

/* ==========================================================================
   Header
   ========================================================================== */
.site-head{position:sticky;top:0;z-index:90;background:rgba(251,248,241,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-dk);transition:box-shadow .2s ease}
/* WordPress admin toolbar (visible only when logged in): keep the sticky header
   flush beneath it instead of overlapping, and nudge anchor jumps down to match. */
.admin-bar .site-head{top:32px}
.admin-bar{scroll-padding-top:122px}
@media screen and (max-width:782px){
	.admin-bar .site-head{top:46px}
	.admin-bar{scroll-padding-top:136px}
}
.site-head.is-stuck{box-shadow:0 8px 30px -18px rgba(11,19,32,.4)}
/* The static front page can inherit a phantom top gap above the sticky header in
   some WordPress setups (root/global-style spacing). Pin it flush on the home
   page only — other templates are unaffected. */
/* Kill any stray gap above the sticky header on EVERY template. Some WP page
   contexts (the static front page, and the posts/Insights page) introduce top
   spacing on the body, header, or main; scoping the reset to .home left the
   Insights page and single posts exposed, so it's neutralized site-wide here.
   The admin-bar offset lives on <html>, so this doesn't disturb it. */
body{margin-top:0!important;padding-top:0!important}
.site-head{margin-top:0!important;padding-top:0!important}
#main{margin-top:0!important}
.site-head__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:72px}
.site-head__inner .site-nav{min-width:0;flex:1 1 auto;display:flex;justify-content:flex-end}
.brandmark{display:inline-flex;align-items:center;gap:.6rem;flex:0 0 auto;min-width:0}
.brandmark__mark{width:38px;height:38px;display:block;flex:none}
/* Wordmark logo images (header = dark text, footer = white text). Both files
   share the same trimmed bounding box, so they scale identically. */
.brandmark__img{display:block;width:auto;height:42px;max-width:none;flex:none}
.brandmark--foot{display:inline-flex;align-items:center;margin-bottom:.7rem}
.brandmark--foot .brandmark__img--foot{height:46px;max-height:46px}
.brandmark--foot .brandmark__name--foot{margin-bottom:0}
@media (max-width:640px){
	.brandmark__img{height:34px}
	.brandmark--foot .brandmark__img--foot{height:40px;max-height:40px}
}
.brandmark .custom-logo,.brandmark img{max-height:42px;width:auto;display:block}
.brandmark__file{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--ink);color:var(--gold-2);font-family:var(--mono);font-weight:700;font-size:.85rem;border-radius:8px;letter-spacing:.02em}
.brandmark__name{font-family:var(--serif);font-weight:600;font-size:1.32rem;letter-spacing:-.02em}
.brandmark__name span{color:var(--gold-deep)}
.site-nav__list{display:flex;gap:1.7rem;list-style:none;margin:0;padding:0}
.site-nav__list a{font-size:.95rem;font-weight:500;color:var(--ink-soft);transition:color .15s}
.site-nav__list a:hover{color:var(--ink)}
.site-head__cta{display:flex;align-items:center;gap:.7rem}
.site-head__burger{display:none;flex-direction:column;gap:5px;width:42px;height:38px;align-items:center;justify-content:center;background:none;border:1px solid var(--line-dk);border-radius:9px;cursor:pointer}
.site-head__burger span{width:18px;height:2px;background:var(--ink);display:block}

/* ==========================================================================
   Hero
   ========================================================================== */
.hero{position:relative;background:radial-gradient(120% 120% at 80% 0%,var(--ink-2),var(--ink) 60%);color:var(--bone);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
	radial-gradient(60% 50% at 85% 18%,rgba(195,154,77,.14),transparent 70%);
	pointer-events:none}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding:clamp(2.25rem,4.5vw,4rem) 0 clamp(2.5rem,5vw,3.5rem)}
.hero__title{font-size:clamp(2.4rem,5.6vw,4.3rem);margin:1.1rem 0 1.2rem;color:var(--bone)}
.hero__lead{font-size:clamp(1.05rem,1.5vw,1.22rem);color:#cdd6e6;max-width:33ch;margin-bottom:1.8rem}
.hero__lead strong{color:var(--gold-2)}
.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.2rem}
.hero .btn--ghost{color:var(--bone)}
.hero .btn--ghost:hover{background:rgba(243,237,225,.08)}
.hero__fine{font-size:.86rem;color:var(--steel);margin:0}
/* case file card */
.hero__file{display:flex;justify-content:center}
.filecard{width:100%;max-width:360px;background:linear-gradient(180deg,#16243c,#101a2c);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
.filecard__tab{display:inline-block;margin:-14px 0 0 22px;background:var(--gold);color:#241a08;font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.16em;padding:.45rem .9rem;border-radius:7px}
.filecard__body{padding:1.4rem 1.6rem 1.7rem}
.filecard__label{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.filecard__matter{font-family:var(--serif);font-size:1.55rem;color:var(--bone);margin:.2rem 0 1.2rem}
.filecard__rows{display:grid;grid-template-columns:1fr auto;gap:.55rem 1rem;font-size:.95rem;color:#c3cde0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);padding:1rem 0;margin-bottom:1rem}
.filecard__rows span:nth-child(even){color:var(--bone);font-weight:600;text-align:right}
.filecard__win{color:var(--gold-2)!important}
.filecard__verdict{font-family:var(--mono);font-size:.82rem;letter-spacing:.08em;color:var(--steel)}
.filecard__verdict strong{color:var(--gold-2)}
.hero__trust{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;padding-bottom:clamp(2rem,4vw,3rem)}
.hero__trust span{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.hero__trust a{font-weight:600;color:var(--bone);border-bottom:1px solid var(--gold);padding-bottom:2px;transition:color .15s}
.hero__trust a:hover{color:var(--gold-2)}

/* ==========================================================================
   The Work
   ========================================================================== */
.work{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--paper)}
.work__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.workcard{position:relative;display:block;padding:2.2rem 2rem 2rem;border-radius:var(--r);color:var(--bone);overflow:hidden;min-height:260px;transition:transform .2s ease,box-shadow .2s ease;box-shadow:var(--shadow)}
.workcard:hover{transform:translateY(-4px)}
.workcard--schwab{background:linear-gradient(150deg,#1d3a5f,#14233b)}
.workcard--crane{background:linear-gradient(150deg,#5a1322,#1c1418)}
.workcard__badge{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .75rem;border-radius:999px;background:rgba(243,237,225,.12);color:var(--bone)}
.workcard--schwab .workcard__badge{background:rgba(195,154,77,.2);color:var(--gold-2)}
.workcard__name{font-size:1.9rem;margin:1.1rem 0 .6rem}
.workcard__desc{color:#d7dbe6;max-width:34ch}
.workcard__cta{font-family:var(--mono);font-size:.82rem;letter-spacing:.06em;color:var(--gold-2);font-weight:600}

/* ==========================================================================
   Process / exhibits
   ========================================================================== */
.process{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--ink);color:var(--bone)}
.process .eyebrow{color:var(--gold-2)}
.process .sec-head__title{color:var(--bone)}
.exhibits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;counter-reset:ex}
.exhibit{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem 1.4rem}
.exhibit__id{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.exhibit h3{font-size:1.35rem;margin:.6rem 0 .55rem;color:var(--bone)}
.exhibit p{font-size:.95rem;color:#bcc6d8;margin:0}

/* ==========================================================================
   Pricing
   ========================================================================== */
.pricing{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--paper-2)}
.price__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;align-items:start}
.pricecard{background:#fff;border:1px solid var(--line-dk);border-radius:var(--r);padding:2rem 1.7rem;box-shadow:0 18px 40px -30px rgba(11,19,32,.4)}
.pricecard--feature{background:linear-gradient(180deg,var(--ink-2),var(--ink));color:var(--bone);border-color:transparent;transform:translateY(-8px)}
.pricecard__tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.pricecard--feature .pricecard__tag{color:var(--gold-2)}
.pricecard__amt{font-family:var(--serif);font-size:2.7rem;font-weight:600;margin:.5rem 0 .2rem;letter-spacing:-.02em}
.pricecard__amt span{font-size:1.2rem;color:var(--steel-d)}
.pricecard--feature .pricecard__amt span{color:var(--steel)}
.pricecard__note{color:var(--ink-soft);font-size:.95rem;margin-bottom:1.1rem}
.pricecard--feature .pricecard__note{color:#c3cde0}
.pricecard__list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.pricecard__list li{position:relative;padding-left:1.5rem;font-size:.95rem;color:var(--ink-soft)}
.pricecard--feature .pricecard__list li{color:#d7dbe6}
.pricecard__list li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:2px;background:var(--gold)}
.price__cta{text-align:center;margin-top:2.4rem}
.price__cta .hero__fine{color:var(--ink-soft);margin-top:.9rem}
.price__cta .hero__fine strong{color:var(--gold-deep)}

/* ==========================================================================
   Engine / AEO
   ========================================================================== */
.engine{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--paper)}
.engine__grid{display:grid;grid-template-columns:1fr .9fr;gap:3rem;align-items:center}
.engine__copy p{color:var(--ink-soft)}
.engine__list{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.7rem}
.engine__list li{position:relative;padding-left:1.7rem;color:var(--ink)}
.engine__list li::before{content:"\2713";position:absolute;left:0;color:var(--gold-deep);font-weight:700}
.engine__viz{position:relative;background:linear-gradient(160deg,var(--ink-2),var(--ink));border-radius:var(--r);padding:2.2rem;min-height:300px;color:var(--bone);overflow:hidden}
.engine__pill{display:inline-block;background:rgba(243,237,225,.08);border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;font-size:.85rem;color:#cdd6e6;margin-bottom:.7rem}
.engine__pill--2{margin-left:1.5rem}
.engine__pill--3{margin-left:.6rem}
.engine__arrow{font-size:1.5rem;color:var(--gold);margin:.6rem 0}
.engine__rank{display:inline-flex;align-items:center;gap:.8rem;background:var(--gold);color:#241a08;border-radius:12px;padding:.8rem 1.2rem;font-weight:700}
.engine__rank strong{font-family:var(--serif);font-size:1.8rem}

/* ==========================================================================
   FAQ section
   ========================================================================== */
.faqsec{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--ink);color:var(--bone)}
.faqsec .eyebrow{color:var(--gold-2)}
.faqsec .sec-head__title{color:var(--bone)}
.faqsec__item{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faqsec__item summary{font-family:var(--serif);font-size:1.22rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;color:var(--bone)}
.faqsec__item summary::-webkit-details-marker{display:none}
.faqsec__item summary::after{content:"+";color:var(--gold);font-family:var(--mono);transition:transform .2s}
.faqsec__item[open] summary::after{content:"\2212"}
.faqsec__item p{margin:.9rem 0 0;color:#c3cde0;max-width:62ch}

/* ==========================================================================
   Insights / postcards
   ========================================================================== */
.insights{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--paper)}
.sec-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem 2rem;max-width:none;flex-wrap:wrap}
.sec-head--row > div{flex:1 1 28rem;min-width:0}
.sec-head--row .sec-head__sub{margin-bottom:0}
.sec-head--row .sec-head__title{margin-bottom:.3rem}
.insights__all{flex:none;white-space:nowrap}
.insights__empty{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;background:var(--paper-2);border:1px dashed var(--line-dk);border-radius:var(--r);padding:1.6rem 1.8rem}
.insights__empty .btn{flex:none}
.insights__empty p{margin:0;color:var(--ink-soft);font-size:1.02rem;max-width:52ch;flex:1 1 20rem}
@media(max-width:680px){.sec-head--row{flex-direction:column;align-items:flex-start}}
.insights__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.postcard{display:block;background:#fff;border:1px solid var(--line-dk);border-radius:var(--r);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.postcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.postcard__thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ink-2)}
.postcard__thumb img{width:100%;height:100%;object-fit:cover}
.postcard__cat,.postcard__more{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.insights .postcard__cat{display:block;padding:1.2rem 1.3rem 0}
.insights .postcard__title{font-size:1.25rem;padding:.5rem 1.3rem .2rem;margin:0}
.insights .postcard__more{display:inline-block;padding:.6rem 1.3rem 1.3rem}

/* blog list rows */
.archive{padding:clamp(2.5rem,6vw,5rem) 0}
.page-head{margin-bottom:2.5rem}
.page-head__title{font-size:clamp(2rem,4.5vw,3rem);margin:.6rem 0 .3rem}
.page-head__sub{color:var(--ink-soft)}
.post-list{display:grid;gap:1.3rem}
.postcard--row{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;align-items:center}
.postcard--row .postcard__thumb{aspect-ratio:16/9;border-radius:var(--r-sm)}
.postcard__body{padding:1rem 1.3rem 1rem 0}
.postcard__title a{transition:color .15s}
.postcard__title a:hover{color:var(--gold-deep)}
.postcard__excerpt{color:var(--ink-soft);font-size:.96rem;margin:.5rem 0 .6rem}
.pagination{margin-top:2.5rem}
.pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 .6rem;border:1px solid var(--line-dk);border-radius:9px;margin-right:.4rem;font-weight:600}
.pagination .current{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.empty{color:var(--ink-soft)}

/* ==========================================================================
   Single post
   ========================================================================== */
.single{padding:clamp(2rem,5vw,3.5rem) 0 clamp(3rem,6vw,5rem)}
.single__head{text-align:center;max-width:740px;margin-inline:auto;padding-bottom:1.5rem}
.single__cat{display:inline-block;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);text-decoration:none}
a.single__cat:hover,a.single__cat:focus-visible{text-decoration:underline;text-underline-offset:3px}
.single__title{font-size:clamp(2rem,4.5vw,3.1rem);margin:.7rem 0 .7rem}
.single__meta{color:var(--ink-soft);font-size:.92rem}
.single__hero{margin:1.5rem auto 2rem}
.single__hero img{border-radius:var(--r);width:100%}
.single__reel{max-width:420px;margin:0 auto 2rem}
.single__content{font-size:1.08rem;line-height:1.75}
.single__content h2{font-size:1.65rem;margin:2rem 0 .8rem}
.single__content h3{font-size:1.3rem;margin:1.6rem 0 .6rem}
.single__content ul,.single__content ol{padding-left:1.3rem}
.single__content a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}
/* content-engine blocks */
.cce-answer,.ldce-answer{background:var(--paper-2);border-left:4px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:1.1rem 1.3rem;margin:0 0 1.5rem}
.cce-answer__label,.ldce-answer__label{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 .3rem}
.cce-answer p:last-child,.ldce-answer p:last-child{margin-bottom:0}
/* Key takeaways — same left-accent-bar treatment as the answer block so the two
   callouts read as one family. Scoped under .single__content to beat the generic
   ".single__content ul" list rule. The `p{margin:0}` reset neutralizes any stray
   <p> that wpautop may wrap around the label. Styles BOTH the <span> and <p>
   label markup, and the new <div> + legacy <ul class="ldce-takeaways">. */
.single__content .cce-takeaways,
.single__content .ldce-takeaways{background:var(--paper-2);border-left:4px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:1.1rem 1.3rem;margin:1.6rem 0;list-style:none}
.cce-takeaways__label,.ldce-takeaways__label{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 .6rem}
.single__content .cce-takeaways p,
.single__content .ldce-takeaways p{margin:0}
.single__content .cce-takeaways ul,
.single__content .ldce-takeaways ul{list-style:none;margin:0;padding:0}
.single__content .cce-takeaways li,
.single__content .ldce-takeaways li{position:relative;list-style:none;padding-left:1.5rem;margin:0 0 .55rem;line-height:1.6}
.single__content .cce-takeaways li:last-child,
.single__content .ldce-takeaways li:last-child{margin-bottom:0}
.single__content .cce-takeaways li::before,
.single__content .ldce-takeaways li::before{content:"";position:absolute;left:.15rem;top:.62em;width:.48rem;height:.48rem;background:var(--gold);transform:rotate(45deg);border-radius:1px}
.cce-cta,.ldce-cta{background:linear-gradient(160deg,var(--ink-2),var(--ink));color:var(--bone);border-radius:var(--r);padding:1.8rem;margin:2rem 0;text-align:center}
.cce-cta h3,.ldce-cta h3{color:var(--bone);font-size:1.5rem;margin-bottom:.5rem}
.cce-cta .btn,.ldce-cta .btn{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:#241a08;display:inline-flex;margin-top:.6rem;padding:.85rem 1.6rem;border-radius:999px;font-weight:600}
.cce-byline,.ldce-byline{font-family:var(--mono);font-size:.8rem;color:var(--steel-d);margin-top:1.5rem}
.cce-disclaimer,.ldce-disclaimer{font-size:.85rem;color:var(--steel-d);border-top:1px solid var(--line-dk);padding-top:1rem;margin-top:1.5rem}
.single__cta{margin-top:3rem;text-align:center;background:var(--paper-2);border-radius:var(--r);padding:2.2rem}
.single__cta h3{font-size:1.6rem;margin-bottom:.4rem}

/* pages, intake, ordered */
.page{padding:clamp(2.5rem,6vw,4.5rem) 0}
.page__content{font-size:1.06rem;line-height:1.75}
.page-head__intro{margin-top:1rem;color:var(--ink-soft)}
.page-head__intro p{margin:0 0 .8rem}
.sitemap__group{margin:0 0 2.2rem}
.sitemap__group h2{font-size:1.4rem;margin:0 0 .8rem;padding-bottom:.5rem;border-bottom:1px solid var(--line-dk)}
.sitemap__all{font-size:.85rem;font-weight:400;color:var(--gold-deep);text-decoration:underline}
.sitemap__list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.sitemap__list a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}
.sitemap__list a:hover{color:var(--gold-deep);border-color:var(--gold)}
.sitemap__count{color:var(--steel-d);font-size:.85rem}
.page__content h2{font-size:1.5rem;margin:1.8rem 0 .6rem}
.page__content a{color:var(--gold-deep);text-decoration:underline}
.intake{padding:clamp(2.5rem,6vw,4.5rem) 0}
.intake__title{font-size:clamp(2rem,4.5vw,3rem);margin:.6rem 0 .4rem}
.intake__lead{color:var(--ink-soft);margin-bottom:2rem}
.intake__form{display:grid;gap:1.1rem;background:#fff;border:1px solid var(--line-dk);border-radius:var(--r);padding:2rem}
.intake__row{display:grid;gap:.4rem;font-weight:600;font-size:.92rem}
.intake__row input,.intake__row textarea{font-family:var(--sans);font-size:1rem;font-weight:400;padding:.8rem .9rem;border:1px solid var(--line-dk);border-radius:var(--r-sm);background:var(--paper);width:100%}
.intake__row input:focus,.intake__row textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.intake__done{background:#fff;border:1px solid var(--line-dk);border-radius:var(--r);padding:2rem}
.ordered{padding:clamp(2.5rem,6vw,4.5rem) 0;text-align:center}
.ordered__seal{display:inline-block;font-family:var(--mono);font-size:.74rem;letter-spacing:.18em;color:var(--gold-deep);border:1.5px solid var(--gold);border-radius:999px;padding:.4rem 1rem;margin-bottom:1rem}
.ordered__title{font-size:clamp(2rem,4.5vw,3rem);margin:.5rem 0 .5rem}
.ordered__lead{color:var(--ink-soft);font-size:1.1rem}
.ordered__summary{max-width:460px;margin:1.8rem auto;background:#fff;border:1px solid var(--line-dk);border-radius:var(--r);padding:1.2rem 1.5rem;text-align:left}
.ordered__row{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:1px dashed var(--line-dk)}
.ordered__row:last-child{border-bottom:0}
.ordered__row em{color:var(--gold-deep);font-style:normal;font-size:.85rem}
.ordered__next{max-width:540px;margin:0 auto;background:var(--paper-2);border-radius:var(--r);padding:2rem}
.ordered__next h2{font-size:1.5rem;margin-bottom:.5rem}
.ordered__fine{font-size:.86rem;color:var(--ink-soft);margin-top:1rem}
.ordered__fine a,.ordered__lead a{color:var(--gold-deep);text-decoration:underline}

/* ==========================================================================
   Final CTA band
   ========================================================================== */
.cta-band{
	background:linear-gradient(135deg,var(--gold) 0%,var(--gold-2) 55%,var(--gold) 100%);
	color:var(--ink);
	padding:clamp(3.5rem,7vw,5.5rem) 0;
	text-align:center;
}
.cta-band__inner{
	max-width:720px;margin-inline:auto;
	display:flex;flex-direction:column;align-items:center;gap:1rem;
}
.cta-band h2{
	font-size:clamp(1.9rem,4vw,2.9rem);color:var(--ink);margin:0;
	max-width:18ch;line-height:1.1;
}
.cta-band p{
	font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--ink-soft);margin:0;max-width:46ch;
}
.cta-band .btn{margin-top:.6rem}
.cta-band .btn--gold{
	background:var(--ink);color:var(--bone);box-shadow:0 12px 28px -12px rgba(11,19,32,.5);
}
.cta-band .btn--gold:hover{background:var(--ink-2)}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-foot{background:var(--ink);color:var(--bone);padding:clamp(3rem,6vw,4.5rem) 0 0}
.site-foot__grid{display:grid;grid-template-columns:1.4fr .8fr 1.2fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line)}
.brandmark__name--foot{font-size:1.5rem;color:var(--bone);display:inline-block;margin-bottom:.6rem}
.brandmark__name--foot span{color:var(--gold-deep)}
.site-foot__tag{color:#c3cde0;max-width:30ch}
.site-foot__meta{font-size:.9rem;color:var(--steel);margin:1rem 0 1.2rem}
.site-foot__meta a{color:var(--gold-2)}
.site-foot h3{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.9rem}
.site-foot__list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.site-foot__list a{color:#c3cde0;font-size:.95rem;transition:color .15s}
.site-foot__list a:hover{color:var(--bone)}
.site-foot__note p{color:var(--steel);font-size:.86rem;max-width:42ch}
.site-foot__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 0;font-size:.84rem;color:var(--steel)}
.site-foot__cookies{background:none;border:0;color:var(--steel);cursor:pointer;font-size:.84rem;text-decoration:underline}
.site-foot__cookies:hover{color:var(--bone)}

/* ==========================================================================
   Cookie consent
   ========================================================================== */
.ld-consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:120;max-width:640px;margin-inline:auto;background:var(--ink-2);color:var(--bone);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);animation:ldrise .35s ease}
.ld-consent__inner{padding:1.2rem 1.4rem;display:grid;gap:1rem}
.ld-consent__text{font-size:.9rem;color:#cdd6e6;margin:0}
.ld-consent__text a{color:var(--gold-2);text-decoration:underline}
.ld-consent__actions{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}
.ld-consent .btn--ghost{color:var(--bone)}
@keyframes ldrise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ==========================================================================
   THE POP-IN  (left-slide funnel)
   ========================================================================== */
.ld-pop{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}
.ld-pop.is-open{visibility:visible;pointer-events:auto}
.ld-pop__scrim{position:absolute;inset:0;background:rgba(7,12,21,.62);opacity:0;transition:opacity .3s ease;backdrop-filter:blur(2px)}
.ld-pop.is-open .ld-pop__scrim{opacity:1}
.ld-pop__panel{
	position:absolute;left:0;top:0;height:100%;width:min(460px,100%);
	background:var(--ink);color:var(--bone);box-shadow:var(--shadow);
	transform:translateX(-103%);transition:transform .38s cubic-bezier(.4,.01,.2,1);
	display:flex;flex-direction:column;border-right:1px solid var(--line);
}
.ld-pop.is-open .ld-pop__panel{transform:translateX(0)}
.ld-pop__head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line)}
.ld-pop__brand{display:flex;align-items:center;gap:.6rem}
.ld-pop__file{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;background:var(--gold);color:#241a08;padding:.3rem .55rem;border-radius:6px;font-weight:700}
.ld-pop__brandname{font-family:var(--serif);font-size:1.2rem}
.ld-pop__x{background:none;border:0;color:var(--steel);font-size:1.8rem;line-height:1;cursor:pointer;padding:.2rem .4rem}
.ld-pop__x:hover{color:var(--bone)}
.ld-pop__progress{display:flex;gap:.4rem;padding:.9rem 1.4rem 0}
.ld-pop__progress span{flex:1;height:4px;border-radius:999px;background:rgba(243,237,225,.12);transition:background .3s}
.ld-pop__progress span.is-on{background:var(--gold)}
.ld-pop__body{flex:1;overflow-y:auto;padding:1.2rem 1.4rem 2rem}

.ld-step{display:none;animation:ldfade .3s ease}
.ld-step.is-active{display:block}
@keyframes ldfade{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
.ld-pop__kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin:.4rem 0 .2rem}
.ld-pop__title{font-size:1.65rem;margin-bottom:.4rem;color:var(--bone)}
.ld-pop__sub{color:#bcc6d8;font-size:.95rem;margin-bottom:1.3rem}
.ld-pop__fine{font-size:.8rem;color:var(--steel);margin-top:.9rem}
.ld-pop__back{background:none;border:0;color:var(--steel);cursor:pointer;font-size:.86rem;margin-top:1rem;padding:.3rem 0}
.ld-pop__back:hover{color:var(--bone)}

/* questions */
.ld-q__field{border:0;margin:0 0 1.3rem;padding:0}
.ld-q__legend{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1.08rem;color:var(--bone);margin-bottom:.2rem;padding:0}
.ld-q__n{display:inline-grid;place-items:center;width:24px;height:24px;background:rgba(195,154,77,.16);color:var(--gold-2);border-radius:7px;font-family:var(--mono);font-size:.78rem;font-weight:600;flex:none}
.ld-q__help{font-size:.82rem;color:var(--steel);margin:0 0 .6rem 2.1rem}
.ld-q__opts{display:grid;gap:.45rem}
.ld-q__opt{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;transition:border-color .15s,background .15s}
.ld-q__opt:hover{border-color:var(--gold-deep)}
.ld-q__opt input{accent-color:var(--gold);width:17px;height:17px;flex:none}
.ld-q__opt:has(input:checked){border-color:var(--gold);background:rgba(195,154,77,.1)}
.ld-q__optlabel{font-size:.95rem}
.ld-pop__live{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,var(--ink-2),var(--ink-3));border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;margin:1rem 0 1.1rem}
.ld-pop__livelabel{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.ld-pop__liveprice{font-family:var(--serif);font-size:2rem;color:var(--gold-2);font-weight:600}

/* lead form */
.ld-lead{display:grid;gap:.9rem}
.ld-lead__row{display:grid;gap:.35rem;font-size:.85rem;font-weight:600;color:#bcc6d8}
.ld-lead__row input{font-family:var(--sans);font-size:1rem;font-weight:400;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--ink-2);color:var(--bone)}
.ld-lead__row input:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.ld-lead__row input::placeholder{color:var(--steel-d)}
.ld-lead__err{background:rgba(176,45,46,.18);border:1px solid rgba(176,45,46,.5);color:#f3b6b6;border-radius:var(--r-sm);padding:.6rem .8rem;font-size:.85rem;margin:0}

/* deal timer */
.ld-deal{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:linear-gradient(180deg,rgba(195,154,77,.18),rgba(195,154,77,.06));border:1px solid var(--gold-deep);border-radius:var(--r);padding:.7rem 1rem;margin-bottom:1.2rem}
.ld-deal__tag{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2)}
.ld-deal__clock{font-family:var(--mono);font-size:1.35rem;font-weight:600;color:var(--bone);font-variant-numeric:tabular-nums}
.ld-deal.is-expired{border-color:var(--steel-d);background:rgba(243,237,225,.05)}
.ld-deal.is-expired .ld-deal__tag{color:var(--steel)}
.ld-deal.is-expired .ld-deal__clock{color:var(--steel)}

/* quote */
.ld-quote{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;margin-bottom:1.3rem}
.ld-quote__build{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:1rem;border-bottom:1px dashed var(--line)}
.ld-quote__label{font-size:.92rem;color:#bcc6d8;max-width:14ch}
.ld-quote__nums{text-align:right}
.ld-quote__was{display:block;font-size:1rem;color:var(--steel);text-decoration:line-through}
.ld-quote__now{font-family:var(--serif);font-size:2.3rem;font-weight:600;color:var(--gold-2)}
.ld-quote__line{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 0 .2rem;font-size:.98rem}
.ld-quote__line em{color:var(--steel);font-style:normal;font-size:.82rem}
.ld-quote__per{color:var(--steel);font-size:.82rem;margin-left:.15rem}
.ld-quote__addon{display:flex;gap:.7rem;align-items:flex-start;margin-top:1rem;padding:.9rem;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;transition:border-color .15s,background .15s}
.ld-quote__addon:has(input:checked){border-color:var(--gold);background:rgba(195,154,77,.08)}
.ld-quote__addon input{accent-color:var(--gold);width:18px;height:18px;margin-top:.15rem;flex:none}
.ld-quote__addontitle{display:block;font-weight:600;font-size:.95rem}
.ld-quote__addontitle strong{color:var(--gold-2)}
.ld-quote__addonsub{display:block;font-size:.82rem;color:var(--steel);margin-top:.2rem}

/* faq engine */
.ld-faq{min-height:190px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;margin-bottom:1rem;display:flex;flex-direction:column;justify-content:center}
.ld-faq__q{font-family:var(--serif);font-size:1.3rem;color:var(--gold-2);margin-bottom:.7rem;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.ld-faq__a{color:#cdd6e6;font-size:.98rem;line-height:1.6;opacity:0;transform:translateY(8px);transition:opacity .4s .12s,transform .4s .12s}
.ld-faq.is-in .ld-faq__q,.ld-faq.is-in .ld-faq__a{opacity:1;transform:none}
.ld-faq__nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.ld-faq__count{font-family:var(--mono);font-size:.82rem;color:var(--steel)}
.ld-faq__nav .ld-pop__back{margin-top:0}
.ld-faq__nav .btn--ghost{color:var(--bone);border-color:var(--line)}

/* order */
.ld-order{list-style:none;margin:0 0 1.3rem;padding:0;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ld-order li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 1.2rem;border-bottom:1px solid var(--line);font-size:.96rem}
.ld-order li:last-child{border-bottom:0}
.ld-order li span:last-child{font-weight:600;color:var(--bone);white-space:nowrap}
.ld-order li.is-total{background:rgba(195,154,77,.1)}
.ld-order li.is-total span:last-child{color:var(--gold-2);font-family:var(--serif);font-size:1.2rem}
.ld-order__sub{color:var(--steel)!important;font-size:.8rem;font-weight:400!important}
.ld-pop__err{background:rgba(176,45,46,.18);border:1px solid rgba(176,45,46,.5);color:#f3b6b6;border-radius:var(--r-sm);padding:.6rem .8rem;font-size:.85rem;margin:.8rem 0 0}
.ld-pop__notice{font-size:.88rem;color:#bcc6d8;background:rgba(243,237,225,.05);border-radius:var(--r-sm);padding:.9rem 1rem;margin-top:1rem}
.ld-pop__notice strong{color:var(--bone)}
.ld-pop__secure{display:flex;align-items:center;gap:.5rem}
.ld-pop__test{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;background:rgba(195,154,77,.18);color:var(--gold-2);padding:.2rem .5rem;border-radius:5px}
.btn.is-busy{opacity:.7;pointer-events:none}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(max-width:980px){
	.hero__grid{grid-template-columns:1fr;gap:2rem}
	.hero__file{justify-content:flex-start}
	.engine__grid{grid-template-columns:1fr;gap:2rem}
	.exhibits{grid-template-columns:1fr 1fr}
	.price__grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}
	.pricecard--feature{transform:none}
	.insights__grid{grid-template-columns:1fr 1fr}
	.site-foot__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
	.site-nav{display:none}
	.site-nav.is-open{display:block;position:absolute;top:72px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line-dk);padding:1rem}
	.site-nav.is-open .site-nav__list{flex-direction:column;gap:.3rem}
	.site-head__burger{display:flex}
	.work__grid{grid-template-columns:1fr}
	.exhibits{grid-template-columns:1fr}
	.insights__grid{grid-template-columns:1fr}
	.postcard--row{grid-template-columns:1fr}
	.postcard--row .postcard__thumb{aspect-ratio:16/9}
	.site-foot__grid{grid-template-columns:1fr}
	.hero__trust{gap:.8rem}
}
@media(prefers-reduced-motion:reduce){
	*{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
	.ld-pop__panel{transition:none}
}

/* ============================================================
   INTERIOR PAGES — The Work / Process / Pricing
   Each page gets its own layout language so they don't read as
   one template with the words swapped.
   ============================================================ */
.pg{display:block}
.pghero{background:var(--ink);color:var(--paper);padding:clamp(3rem,6vw,5rem) 0 clamp(2.5rem,5vw,4rem);border-bottom:3px solid var(--gold)}
.pghero__inner{max-width:54rem}
.pghero .eyebrow{color:var(--gold-2)}
.pghero__title{font-size:clamp(2rem,4.4vw,3.15rem);color:var(--paper);margin:.7rem 0 1rem}
.pghero__lead{font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.65;color:#cfd8e6;margin:0 0 1.6rem;max-width:46rem}
.pghero__actions{margin:0}

.pgsec{padding:clamp(2.75rem,5vw,4.25rem) 0}
.pgsec__h{font-size:clamp(1.6rem,3vw,2.25rem);margin:0 0 .6rem}
.pgsec__h--light{color:var(--paper)}
.pgsec__intro{font-size:1.05rem;line-height:1.7;color:var(--ink-soft);max-width:44rem;margin:0 0 2rem}
.pgsec__intro--light{color:#cfd8e6}
.pgsec__fine{font-size:.83rem;color:var(--ink-soft);margin:1.4rem 0 0;font-style:italic}
.pgband{background:var(--ink);color:var(--paper);padding:clamp(2.75rem,5vw,4.25rem) 0}

/* --- The Work: two large exhibit cards + numbered spec list --- */
.wkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}
.wkcard{display:block;position:relative;background:var(--paper-2);border:1px solid var(--line-dk);border-radius:var(--r);padding:1.6rem 1.5rem 1.4rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.wkcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(11,19,32,.13);border-color:var(--gold)}
.wkcard__tab{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--gold-2);padding:.28rem .6rem;border-radius:3px}
.wkcard__matter{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin:.9rem 0 .3rem}
.wkcard__h{font-size:1.5rem;margin:0 0 .6rem}
.wkcard__p{font-size:.97rem;line-height:1.65;color:var(--ink-soft);margin:0 0 1rem}
.wkcard__list{list-style:none;margin:0 0 1.2rem;padding:0}
.wkcard__list li{position:relative;padding-left:1.4rem;margin-bottom:.45rem;font-size:.92rem;line-height:1.55;color:var(--ink-2)}
.wkcard__list li::before{content:"";position:absolute;left:.15rem;top:.6em;width:.45rem;height:.45rem;background:var(--gold);transform:rotate(45deg);border-radius:1px}
.wkcard__go{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}

.speclist{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem 2rem}
.spec{position:relative;padding-top:.4rem;border-top:2px solid rgba(195,154,77,.45)}
.spec__n{display:block;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;color:var(--gold-2);margin:.5rem 0 .4rem}
.spec__h{font-size:1.16rem;color:var(--paper);margin:0 0 .45rem}
.spec__p{font-size:.95rem;line-height:1.68;color:#c3cddc;margin:0}

.checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.3rem}
.check{background:var(--paper-2);border-left:4px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:1.1rem 1.25rem}
.check__h{font-size:1.05rem;margin:0 0 .4rem}
.check__p{font-size:.93rem;line-height:1.62;color:var(--ink-soft);margin:0}

/* --- Process: vertical docket timeline --- */
.docket{position:relative;max-width:50rem}
.docket::before{content:"";position:absolute;left:2.05rem;top:.9rem;bottom:.9rem;width:2px;background:linear-gradient(to bottom,var(--gold),rgba(195,154,77,.25))}
.phase{position:relative;display:grid;grid-template-columns:4.6rem 1fr;gap:1.5rem;padding-bottom:2.4rem}
.phase--last{padding-bottom:0}
.phase__mark{position:relative;z-index:1;text-align:center}
.phase__n{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;border-radius:50%;background:var(--ink);color:var(--gold-2);font-family:var(--mono);font-size:.9rem;font-weight:600;border:2px solid var(--gold)}
.phase__when{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:.5rem;line-height:1.3}
.phase__body{padding-top:.2rem}
.phase__h{font-size:1.35rem;margin:0 0 .6rem}
.phase__body p{font-size:.98rem;line-height:1.7;color:var(--ink-2);margin:0 0 .8rem}
.phase__need{font-size:.9rem!important;color:var(--ink-soft)!important;background:var(--paper-2);border-left:3px solid var(--gold);padding:.6rem .85rem;border-radius:0 4px 4px 0;margin:0!important}

.qa{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.3rem 2rem}
.qa__item h3{font-size:1.06rem;margin:0 0 .4rem}
.qa__item p{font-size:.95rem;line-height:1.66;color:var(--ink-soft);margin:0}

/* --- Pricing: three tier cards + factors --- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem;align-items:start}
.tier{background:#fff;border:1px solid var(--line-dk);border-radius:var(--r);padding:1.6rem 1.5rem}
.tier--req{border-color:var(--gold);box-shadow:0 10px 30px rgba(11,19,32,.09)}
.tier--opt{background:var(--paper-2)}
.tier__tag{display:inline-block;font-family:var(--mono);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line-dk);padding:.24rem .55rem;border-radius:999px}
.tier__tag--req{color:var(--ink);background:var(--gold-2);border-color:var(--gold-2)}
.tier__tag--opt{color:var(--gold-deep);border-color:var(--gold)}
.tier__h{font-size:1.35rem;margin:.8rem 0 .5rem}
.tier__price{font-family:var(--serif);font-size:2.3rem;font-weight:600;color:var(--ink);margin:0 0 .5rem;line-height:1.1}
.tier__unit{font-family:var(--sans);font-size:.95rem;font-weight:500;color:var(--ink-soft);margin-left:.25rem}
.tier__note{font-size:.9rem;line-height:1.6;color:var(--ink-soft);margin:0 0 1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.tier__list{list-style:none;margin:0;padding:0}
.tier__list li{position:relative;padding-left:1.45rem;margin-bottom:.5rem;font-size:.93rem;line-height:1.55;color:var(--ink-2)}
.tier__list li::before{content:"";position:absolute;left:.15rem;top:.58em;width:.45rem;height:.45rem;background:var(--gold);transform:rotate(45deg);border-radius:1px}

.factors{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem 2rem}
.factor h3{font-size:1.08rem;color:var(--paper);margin:0 0 .35rem}
.factor p{font-size:.93rem;line-height:1.62;color:#c3cddc;margin:0}

@media (max-width:640px){
	.phase{grid-template-columns:3.4rem 1fr;gap:1rem}
	.docket::before{left:1.6rem}
	.phase__n{width:2.4rem;height:2.4rem;font-size:.8rem}
	.tier__price{font-size:2rem}
}
.sec-head__more{margin:.7rem 0 0}
.sec-head__more a{font-family:var(--mono);font-size:.8rem;letter-spacing:.05em;color:var(--gold-deep);font-weight:600;border-bottom:1px solid rgba(195,154,77,.45);padding-bottom:2px}
.sec-head__more a:hover{color:var(--ink);border-bottom-color:var(--gold)}
.process .sec-head__more a,.work .sec-head__more a{color:var(--gold-2)}

/* ============================================================
   PRIMARY NAV — refined. Uppercase mono labels, a gold underline
   that sweeps in from the left, an active-page state, and a
   dropdown panel for child menu items.
   ============================================================ */
.site-nav__list{display:flex;gap:.35rem;list-style:none;margin:0;padding:0;align-items:center}
.site-nav__list > li{position:relative}
.site-nav__list > li > a{
	position:relative;display:block;padding:.55rem .85rem;
	font-family:var(--mono);font-size:.74rem;font-weight:600;
	letter-spacing:.13em;text-transform:uppercase;
	color:var(--ink-soft);transition:color .2s ease;white-space:nowrap;
}
.site-nav__list > li > a::after{
	content:"";position:absolute;left:.85rem;right:.85rem;bottom:.28rem;height:1.5px;
	background:linear-gradient(90deg,var(--gold),var(--gold-2));
	transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.4,0,.2,1);
}
.site-nav__list > li > a:hover{color:var(--ink)}
.site-nav__list > li > a:hover::after{transform:scaleX(1)}
.site-nav__list > li.current-menu-item > a,
.site-nav__list > li.current_page_item > a,
.site-nav__list > li.current-menu-parent > a,
.site-nav__list > li.current-page-ancestor > a{color:var(--ink)}
.site-nav__list > li.current-menu-item > a::after,
.site-nav__list > li.current_page_item > a::after,
.site-nav__list > li.current-menu-parent > a::after,
.site-nav__list > li.current-page-ancestor > a::after{transform:scaleX(1)}

/* parent caret */
.site-nav__list > li.menu-item-has-children > a{padding-right:1.5rem}
.site-nav__list > li.menu-item-has-children > a::before{
	content:"";position:absolute;right:.7rem;top:50%;width:5px;height:5px;
	border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
	transform:translateY(-70%) rotate(45deg);opacity:.55;transition:transform .25s ease,opacity .2s
}
.site-nav__list > li.menu-item-has-children:hover > a::before{transform:translateY(-30%) rotate(225deg);opacity:1}

/* dropdown panel */
.site-nav__list .sub-menu{
	position:absolute;top:calc(100% + .45rem);left:.4rem;min-width:16rem;
	background:var(--paper);border:1px solid var(--line-dk);border-radius:var(--r-sm);
	box-shadow:0 18px 44px -20px rgba(11,19,32,.45);
	list-style:none;margin:0;padding:.45rem;
	opacity:0;visibility:hidden;transform:translateY(-6px);
	transition:opacity .2s ease,transform .22s ease,visibility .2s;z-index:60;
}
.site-nav__list .sub-menu::before{
	content:"";position:absolute;top:-1px;left:1.15rem;width:2rem;height:2px;background:var(--gold)
}
.site-nav__list > li:hover > .sub-menu,
.site-nav__list > li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.site-nav__list .sub-menu a{
	display:block;padding:.6rem .8rem;border-radius:6px;font-size:.9rem;font-weight:500;
	color:var(--ink-soft);transition:background .16s,color .16s
}
.site-nav__list .sub-menu a:hover{background:var(--paper-2);color:var(--ink)}
.site-nav__list .sub-menu .current-menu-item > a{color:var(--ink);background:var(--paper-2)}

@media (max-width:980px){
	.site-nav__list{gap:.1rem}
	.site-nav__list > li > a{padding:.5rem .6rem;font-size:.68rem;letter-spacing:.1em}
	.site-nav__list > li > a::after{left:.6rem;right:.6rem}
}
@media (max-width:900px){
	/* mobile drawer: dropdowns become always-visible indented lists */
	.site-nav.is-open .site-nav__list > li > a{padding:.7rem .4rem;font-size:.78rem}
	.site-nav.is-open .site-nav__list .sub-menu{
		position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
		border:0;border-left:2px solid var(--gold);border-radius:0;margin:0 0 .4rem .5rem;padding:0 0 0 .5rem;background:transparent
	}
	.site-nav.is-open .site-nav__list .sub-menu::before{display:none}
	.site-nav__list > li.menu-item-has-children > a::before{display:none}
}

/* ============================================================
   SINGLE POST — measured article column beside a sticky rail.
   Replaces the old single narrow centred column, which left the
   offer stranded at the bottom of the page.
   ============================================================ */
.single__head{text-align:left;max-width:52rem;margin-inline:0}
.single__layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3.2rem;align-items:start}
.single__main{min-width:0}
.single__content{max-width:42rem}
.single__cta{max-width:42rem;margin-inline:0}

/* sticky rail */
.single__rail{position:sticky;top:96px;align-self:start}
.single__railin{display:grid;gap:1.1rem}

/* on-page table of contents */
.ld-toc{background:var(--paper-2);border-radius:var(--r-sm);padding:1.1rem 1.2rem}
.ld-toc__label{font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 .7rem;font-weight:600}
.ld-toc__list{list-style:none;margin:0;padding:0;counter-reset:toc}
.ld-toc__list li{counter-increment:toc;margin-bottom:.15rem}
.ld-toc__list a{display:flex;gap:.6rem;padding:.4rem .5rem;border-radius:6px;font-size:.88rem;line-height:1.45;color:var(--ink-soft);transition:background .16s,color .16s}
.ld-toc__list a::before{content:counter(toc,decimal-leading-zero);font-family:var(--mono);font-size:.7rem;color:var(--gold-deep);flex:none;padding-top:.15rem}
.ld-toc__list a:hover{background:var(--paper);color:var(--ink)}
.ld-toc__list a.is-current{background:var(--paper);color:var(--ink);font-weight:600}

/* sticky quote card */
.railquote{background:var(--ink);color:var(--paper);border-radius:var(--r);padding:1.4rem 1.35rem;border:1px solid rgba(195,154,77,.35)}
.railquote__eyebrow{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);margin:0 0 .5rem;font-weight:600}
.railquote__h{font-size:1.28rem;color:#fff;line-height:1.2;margin:0 0 .9rem}
.railquote__list{list-style:none;margin:0 0 1rem;padding:0}
.railquote__list li{position:relative;padding-left:1.3rem;margin-bottom:.42rem;font-size:.88rem;line-height:1.5;color:#C9D3E2}
.railquote__list li::before{content:"";position:absolute;left:.1rem;top:.55em;width:.42rem;height:.42rem;background:var(--gold);transform:rotate(45deg);border-radius:1px}
.railquote__price{display:flex;flex-direction:column;gap:.2rem;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);padding:.75rem 0;margin:0 0 1rem;font-size:.86rem;color:#A9B6C9}
.railquote__price strong{color:#fff;font-size:1.02rem}
.railquote__fine{font-size:.74rem;color:#8FA0B8;margin:.7rem 0 0;text-align:center}

/* related posts */
.single__related{margin-top:3.5rem;border-top:1px solid var(--line-dk);padding-top:2rem}
.single__relatedh{font-size:1.5rem;margin-bottom:1.2rem}
.single__relgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.4rem}
.relcard{display:block}
.relcard__img{display:block;margin-bottom:.7rem;border-radius:var(--r-sm);overflow:hidden}
.relcard__img img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .3s ease}
.relcard:hover .relcard__img img{transform:scale(1.04)}
.relcard__cat{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.3rem}
.relcard__title{display:block;font-family:var(--serif);font-size:1.05rem;line-height:1.28;color:var(--ink)}
.relcard:hover .relcard__title{color:var(--gold-deep)}

@media (max-width:1040px){
	.single__layout{grid-template-columns:minmax(0,1fr) 300px;gap:2.2rem}
}
@media (max-width:900px){
	.single__layout{grid-template-columns:1fr;gap:2.5rem}
	.single__rail{position:static}
	.single__content,.single__cta{max-width:none}
	.ld-toc{display:none}
}

/* ============================================================
   INSIGHTS ARCHIVE — hub-organised
   ============================================================ */
.insights__head{background:var(--ink);color:var(--paper);padding:clamp(2.75rem,6vw,4.5rem) 0 clamp(2.25rem,4vw,3.25rem);border-bottom:3px solid var(--gold)}
.insights__head .eyebrow{color:var(--gold-2)}
.insights__title{font-size:clamp(1.9rem,4.2vw,3rem);color:var(--paper);margin:.7rem 0 .9rem;max-width:24ch}
.insights__lead{color:#cfd8e6;max-width:46rem;margin:0;font-size:1.04rem}

.hubnav{background:var(--paper-2);border-bottom:1px solid var(--line-dk);position:sticky;top:72px;z-index:30}
.hubnav__in{display:flex;gap:.5rem;overflow-x:auto;padding-top:.75rem;padding-bottom:.75rem;scrollbar-width:thin}
.hubchip{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;background:var(--paper);border:1px solid var(--line-dk);border-radius:999px;padding:.4rem .85rem;font-size:.84rem;color:var(--ink-soft);transition:border-color .18s,color .18s,background .18s}
.hubchip:hover{border-color:var(--gold);color:var(--ink)}
.hubchip__n{font-family:var(--mono);font-size:.7rem;color:var(--gold-deep);background:var(--paper-2);border-radius:999px;padding:.1rem .4rem}

.insights__lead-wrap{padding-top:clamp(2rem,4vw,3rem)}
.leadcard{display:grid;grid-template-columns:1.15fr 1fr;gap:2rem;align-items:center;background:var(--paper-2);border-radius:var(--r);overflow:hidden;border:1px solid var(--line-dk);transition:box-shadow .22s ease,border-color .22s ease}
.leadcard:hover{box-shadow:0 20px 46px -26px rgba(11,19,32,.5);border-color:var(--gold)}
.leadcard__img{display:block;height:100%}
.leadcard__img img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9}
.leadcard__body{display:block;padding:1.6rem 1.8rem 1.8rem 0}
.leadcard__flag{display:inline-block;font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;background:var(--gold-2);color:var(--ink);padding:.2rem .55rem;border-radius:3px;margin-bottom:.7rem}
.leadcard__cat{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.4rem}
.leadcard__title{display:block;font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.18;color:var(--ink);margin-bottom:.6rem}
.leadcard__ex{display:block;color:var(--ink-soft);font-size:.97rem;margin-bottom:.9rem}
.leadcard__go{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}

.hub{padding:clamp(2rem,4vw,3rem) 0;border-bottom:1px solid var(--line-dk)}
.hub:last-of-type{border-bottom:0}
.hub__head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:.8rem;border-bottom:2px solid var(--gold)}
.hub__title{font-size:clamp(1.4rem,2.8vw,2rem);margin:0}
.hub__desc{color:var(--ink-soft);margin:.4rem 0 0;font-size:.95rem;max-width:52ch}
.hub__all{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;white-space:nowrap}
.hub__all:hover{color:var(--ink)}
.hub__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.5rem}
.hubcard__link{display:block}
.hubcard__img{display:block;border-radius:var(--r-sm);overflow:hidden;margin-bottom:.75rem}
.hubcard__img img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .3s ease}
.hubcard__link:hover .hubcard__img img{transform:scale(1.04)}
.hubcard__title{display:block;font-family:var(--serif);font-size:1.08rem;line-height:1.3;color:var(--ink);margin-bottom:.35rem}
.hubcard__link:hover .hubcard__title{color:var(--gold-deep)}
.hubcard__ex{display:block;font-size:.88rem;color:var(--ink-soft);margin-bottom:.4rem}
.hubcard__date{display:block;font-family:var(--mono);font-size:.7rem;color:var(--steel-d)}

.hubs__empty{padding:3rem 0;color:var(--ink-soft)}
.insights__foot{background:var(--paper-2);margin-top:1rem;padding:clamp(2rem,4vw,2.75rem) 0}
.insights__foot-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.insights__foot h2{font-size:1.5rem;margin-bottom:.3rem}
.insights__foot p{margin:0;color:var(--ink-soft)}

/* ============================================================
   VISUAL SITEMAP
   ============================================================ */
.smap__head{background:var(--ink);color:var(--paper);padding:clamp(2.75rem,6vw,4.5rem) 0 clamp(2.25rem,4vw,3rem);border-bottom:3px solid var(--gold)}
.smap__head .eyebrow{color:var(--gold-2)}
.smap__title{font-size:clamp(1.9rem,4.2vw,3rem);color:var(--paper);margin:.7rem 0 .9rem}
.smap__lead{color:#cfd8e6;max-width:50rem;margin:0;font-size:1.03rem}
.smap__body{padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(2rem,4vw,3rem)}

.smapzone{display:grid;grid-template-columns:200px minmax(0,1fr);gap:2.5rem;padding:2.2rem 0;border-top:1px solid var(--line-dk)}
.smapzone:first-child{border-top:0;padding-top:0}
.smapzone__label{position:sticky;top:96px;align-self:start}
.smapzone__n{display:block;font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;color:var(--gold-deep);margin-bottom:.35rem}
.smapzone__label h2{font-size:1.35rem;line-height:1.2}
.smapzone__note{color:var(--ink-soft);font-size:.92rem;margin:0 0 1.2rem;max-width:54ch}

.smapgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1rem}
.smapcard{display:block;background:var(--paper-2);border:1px solid var(--line-dk);border-radius:var(--r-sm);padding:1rem 1.1rem;transition:border-color .18s,transform .18s,box-shadow .18s}
.smapcard:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 12px 28px -18px rgba(11,19,32,.5)}
.smapcard--home{background:var(--ink);border-color:var(--gold)}
.smapcard--home .smapcard__t{color:#fff}
.smapcard--home .smapcard__d{color:#A9B6C9}
.smapcard__t{display:block;font-family:var(--serif);font-size:1.1rem;color:var(--ink);margin-bottom:.3rem}
.smapcard__d{display:block;font-size:.85rem;color:var(--ink-soft);line-height:1.5}

.smaphub{margin-bottom:1.8rem}
.smaphub:last-child{margin-bottom:0}
.smaphub__head{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;padding-bottom:.5rem;margin-bottom:.7rem;border-bottom:1px solid var(--line-dk)}
.smaphub__head h3{font-size:1.2rem}
.smaphub__head h3 a:hover{color:var(--gold-deep)}
.smaphub__count{font-family:var(--mono);font-size:.72rem;color:var(--steel-d)}
.smaphub__xml{margin-left:auto;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;color:var(--gold-deep);border:1px solid var(--line-dk);border-radius:3px;padding:.12rem .4rem}
.smaphub__xml:hover{border-color:var(--gold)}

.smaplist{list-style:none;margin:0;padding:0;columns:2;column-gap:2rem}
.smaplist--two{columns:2}
.smaplist li{break-inside:avoid;margin-bottom:.3rem}
.smaplist a{display:block;padding:.32rem 0 .32rem .95rem;position:relative;font-size:.92rem;color:var(--ink-soft);line-height:1.45}
.smaplist a::before{content:"";position:absolute;left:0;top:.85em;width:.32rem;height:.32rem;background:var(--gold);transform:rotate(45deg);border-radius:1px}
.smaplist a:hover{color:var(--ink)}
.smaplist--mono{columns:1}
.smaplist--mono a{font-family:var(--mono);font-size:.8rem}
.smaplist--mono em{font-style:normal;color:var(--steel-d);font-size:.74rem;margin-left:.3rem}

.smapdemos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
.smapdemo{background:var(--paper-2);border:1px solid var(--line-dk);border-radius:var(--r-sm);padding:1.2rem 1.3rem}
.smapdemo__head h3{font-size:1.2rem;margin-bottom:.2rem}
.smapdemo__head h3 a:hover{color:var(--gold-deep)}
.smapdemo__head p{font-size:.85rem;color:var(--ink-soft);margin:0 0 .8rem}
.smapsplit{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}
.smapsub{font-size:1.05rem;margin-bottom:.7rem;padding-bottom:.4rem;border-bottom:1px solid var(--line-dk)}
.smap__none{color:var(--ink-soft);font-size:.92rem;margin:0}

@media (max-width:900px){
	.leadcard{grid-template-columns:1fr}
	.leadcard__body{padding:0 1.4rem 1.6rem}
	.smapzone{grid-template-columns:1fr;gap:1.2rem}
	.smapzone__label{position:static;display:flex;align-items:baseline;gap:.7rem}
	.smapzone__n{margin-bottom:0}
	.hubnav{top:64px}
}
@media (max-width:560px){
	.smaplist,.smaplist--two{columns:1}
}
.site-foot__utils{display:inline-flex;align-items:center;gap:1rem;flex-wrap:wrap}
.site-foot__utils a{opacity:.8;transition:opacity .18s,color .18s}
.site-foot__utils a:hover{opacity:1;color:var(--gold-2)}

/* ==========================================================================
   ARTICLE MODULES  (.apx-*)
   --------------------------------------------------------------------------
   The markup for these ships inside the AttorneyPlot Engine plugin, which
   writes article bodies as a fixed set of blocks rather than as free-form
   HTML. Each block below is one of those. The contract is documented in the
   plugin at includes/content/articles.php; if a class name changes there it
   has to change here, and the engine's AEO module also matches on
   .apx-answer, .apx-chip, .apx-fig, .apx-cap and .apx-lbl when it builds the
   markdown mirrors — so these names are load-bearing in three places.

   Everything is scoped under .single__content so the generic list and link
   rules above do not have to be fought with !important.
   ========================================================================== */

/* Shared mono label used by the answer box and the takeaways box. */
.single__content .apx-lbl{
	display:flex;align-items:center;gap:.45rem;
	font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
	color:var(--gold-deep);font-weight:600;margin:0 0 .5rem;
}
.single__content .apx-lbl svg{flex:none;width:15px;height:15px}

/* ---------- 1. the short answer ---------- */
.single__content .apx-answer{
	background:var(--paper-2);border-left:4px solid var(--gold);
	border-radius:0 var(--r-sm) var(--r-sm) 0;
	padding:1.15rem 1.35rem;margin:0 0 1.8rem;
}
.single__content .apx-answer p:last-child{margin-bottom:0}
.single__content .apx-answer b,.single__content .apx-answer strong{color:var(--ink)}

/* ---------- 2. key figures ---------- */
.single__content .apx-chips{
	display:grid;gap:.7rem;margin:1.8rem 0;
	grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.single__content .apx-chip{
	background:#fff;border:1px solid var(--line-dk);border-radius:var(--r-sm);
	padding:.85rem .95rem;
}
.single__content .apx-chip b{
	display:block;font-family:var(--serif);font-size:1.35rem;font-weight:600;
	line-height:1.15;color:var(--ink);margin-bottom:.25rem;
}
.single__content .apx-chip span{
	display:block;font-size:.82rem;line-height:1.45;color:var(--ink-soft);
}

/* ---------- 3. figures ---------- */
.single__content .apx-fig{
	margin:2rem 0;background:#fff;border:1px solid var(--line-dk);
	border-radius:var(--r-sm);padding:1.1rem;
}
/* The svg ships with a viewBox and no width or height, so it scales to the
   column. Without the explicit width it renders at its intrinsic size and
   overflows the measure on a phone. */
.single__content .apx-fig svg{display:block;width:100%;height:auto}
.single__content .apx-cap{
	margin:.9rem 0 0;padding-top:.8rem;border-top:1px solid var(--line-dk);
	font-size:.84rem;line-height:1.5;color:var(--ink-soft);
}

/* ---------- 4. tables ---------- */
/* The wrapper scrolls, not the page. -webkit-overflow-scrolling keeps the
   momentum on iOS, and the tabindex the markup carries makes a scrollable
   region reachable by keyboard. */
.single__content .apx-tw{
	margin:1.8rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch;
	border:1px solid var(--line-dk);border-radius:var(--r-sm);background:#fff;
}
.single__content .apx-tw table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:30rem}
.single__content .apx-tw thead th{
	background:var(--paper-2);text-align:left;font-family:var(--mono);
	font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);
	padding:.7rem .85rem;border-bottom:1px solid var(--line-dk);white-space:nowrap;
}
.single__content .apx-tw tbody th{
	text-align:left;font-weight:600;color:var(--ink);
	padding:.72rem .85rem;vertical-align:top;
}
.single__content .apx-tw td{padding:.72rem .85rem;vertical-align:top;color:var(--ink-soft)}
.single__content .apx-tw tbody tr+tr th,
.single__content .apx-tw tbody tr+tr td{border-top:1px solid var(--line-dk)}
.single__content .apx-tw tbody tr:nth-child(even){background:rgba(11,19,32,.016)}

/* ---------- 5. callout note ---------- */
.single__content .apx-note{
	margin:1.7rem 0;padding:1rem 1.15rem;
	background:rgba(130,148,176,.09);border:1px solid rgba(92,110,140,.22);
	border-radius:var(--r-sm);font-size:.96rem;
}
.single__content .apx-note p{margin:0}
.single__content .apx-note p+p{margin-top:.6rem}

/* ---------- 6. icon list ---------- */
.single__content ul.apx-list{list-style:none;margin:1.6rem 0;padding:0;display:grid;gap:.95rem}
.single__content ul.apx-list li{
	display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;margin:0;
}
.single__content ul.apx-list li::before{content:none}
.single__content ul.apx-list svg{flex:none;width:20px;height:20px;margin-top:.18rem}
.single__content ul.apx-list b{display:block;color:var(--ink);margin-bottom:.1rem}

/* ---------- 7. FAQ ---------- */
.single__content .apx-faq{
	margin:1.7rem 0;border:1px solid var(--line-dk);border-radius:var(--r-sm);
	background:#fff;overflow:hidden;
}
.single__content .apx-faq details+details{border-top:1px solid var(--line-dk)}
.single__content .apx-faq summary{
	cursor:pointer;list-style:none;padding:.95rem 2.6rem .95rem 1.1rem;position:relative;
	font-weight:600;color:var(--ink);line-height:1.45;
}
.single__content .apx-faq summary::-webkit-details-marker{display:none}
/* Chevron drawn in CSS so the markup carries no decorative svg. */
.single__content .apx-faq summary::after{
	content:"";position:absolute;right:1.15rem;top:1.25rem;
	width:.46rem;height:.46rem;border-right:2px solid var(--gold-deep);
	border-bottom:2px solid var(--gold-deep);transform:rotate(45deg);
	transition:transform .18s ease;
}
.single__content .apx-faq details[open] summary::after{transform:rotate(-135deg);top:1.4rem}
.single__content .apx-faq summary:hover{background:var(--paper)}
.single__content .apx-faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.single__content .apx-faq .apx-a{padding:0 1.1rem 1.05rem;color:var(--ink-soft)}
.single__content .apx-faq .apx-a p{margin:0}
.single__content .apx-faq .apx-a p+p{margin-top:.6rem}

/* ---------- 8. key takeaways ---------- */
.single__content .apx-take{
	background:var(--paper-2);border-left:4px solid var(--gold);
	border-radius:0 var(--r-sm) var(--r-sm) 0;
	padding:1.15rem 1.35rem;margin:2rem 0;
}
.single__content .apx-take ul{list-style:none;margin:0;padding:0}
.single__content .apx-take li{
	position:relative;list-style:none;padding-left:1.5rem;margin:0 0 .55rem;line-height:1.6;
}
.single__content .apx-take li:last-child{margin-bottom:0}
.single__content .apx-take li::before{
	content:"";position:absolute;left:.15rem;top:.62em;width:.48rem;height:.48rem;
	background:var(--gold);transform:rotate(45deg);border-radius:1px;
}

/* ---------- 9. sources ---------- */
.single__content .apx-src{
	margin:2.2rem 0 0;padding:1.3rem 0 0;border-top:1px solid var(--line-dk);
	font-size:.87rem;line-height:1.55;color:var(--ink-soft);
	counter-reset:src;list-style:none;padding-left:0;
}
.single__content .apx-src li{
	counter-increment:src;position:relative;padding-left:2.1rem;margin-bottom:.6rem;
	overflow-wrap:anywhere;
}
.single__content .apx-src li::before{
	content:counter(src);position:absolute;left:0;top:.08em;
	font-family:var(--mono);font-size:.74rem;font-weight:600;color:var(--gold-deep);
	min-width:1.5rem;
}

/* ---------- interlinker ---------- */
/* The engine links the first mention of another article automatically. Marked
   so an automatic link can be told apart from an editorial one in review. */
.single__content a.apx-xlink{text-decoration-style:dotted;text-underline-offset:3px}

/* ---------- author card + review stamp ---------- */
.single__author{
	display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;
	margin-top:2.5rem;padding:1.4rem;background:var(--paper-2);border-radius:var(--r);
}
.single__author img,.single__author .avatar{border-radius:50%;width:62px;height:62px}
.single__authorname{font-family:var(--serif);font-size:1.12rem;font-weight:600;margin:0}
.single__authorrole{
	font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
	color:var(--gold-deep);margin:.15rem 0 .5rem;
}
.single__authorbio{font-size:.92rem;line-height:1.6;color:var(--ink-soft);margin:0}
.single__stamp{
	margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line-dk);
	font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:var(--steel-d);
}
.single__stamp a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:3px}
.single__disclaim{
	margin-top:1rem;font-size:.84rem;line-height:1.55;color:var(--steel-d);
}

/* ---------- seeded policy pages ---------- */
.page__content .policy-lede,
.single__content .policy-lede{
	font-size:1.12rem;line-height:1.65;color:var(--ink);
	border-left:4px solid var(--gold);padding-left:1.1rem;margin:0 0 1.8rem;
}
.page__content .policy-lede p:last-child,
.single__content .policy-lede p:last-child{margin-bottom:0}

@media (max-width:560px){
	.single__content .apx-chips{grid-template-columns:1fr 1fr}
	.single__content .apx-chip b{font-size:1.2rem}
	.single__content .apx-fig{padding:.8rem}
	.single__author{grid-template-columns:1fr}
	.single__author img,.single__author .avatar{width:52px;height:52px}
}
