/* ============================================================
   pixel47 · shared stylesheet
   Design system: minimal · editorial · premium · accent #FF4A1C
   ============================================================ */
:root{
  --paper:#F6F4EF;--paper-pure:#FFFFFF;--ink:#1B1A17;--ink-70:#46443E;--ink-45:#8A877E;--ink-15:#D9D6CE;--ink-08:#EBE9E2;
  --accent:#FF4A1C;--accent-ink:#FFFFFF;--accent-soft:rgba(255,74,28,.08);
  --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:96px;--s-10:128px;--s-11:160px;--s-12:200px;
  --r1:4px;--ease:cubic-bezier(.22,1,.36,1);--fast:120ms;--base:240ms;--slow:480ms;
  --disp:'Space Grotesk',sans-serif;--body:'Inter',sans-serif;--mono:'JetBrains Mono',monospace;
  --container:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--s-6)}
@media(min-width:900px){.wrap{padding:0 var(--s-9)}}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* type utilities */
.eyebrow{font-family:var(--mono);font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);display:inline-flex;align-items:center;gap:var(--s-3)}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--accent)}
.eyebrow.muted{color:var(--ink-45)}
.eyebrow.muted::before{background:var(--ink-45)}

/* buttons */
.btn{font-family:var(--body);font-size:1rem;font-weight:500;padding:var(--s-4) var(--s-6);border-radius:var(--r1);border:1px solid transparent;cursor:pointer;transition:all var(--fast) var(--ease);display:inline-block}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--accent);color:var(--accent-ink)}
.btn-secondary{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-secondary:hover{background:var(--ink);color:var(--paper)}
.btn-link{font-family:var(--mono);font-size:.8125rem;text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;gap:var(--s-2);transition:gap var(--base) var(--ease),color var(--fast);color:var(--ink)}
.btn-link:hover{gap:var(--s-4);color:var(--accent)}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:background var(--base),border-color var(--base);border-bottom:1px solid transparent}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
nav.scrolled{background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:blur(10px);border-bottom-color:var(--ink-15)}
.brand{font-family:var(--disp);font-weight:500;font-size:1.3rem;letter-spacing:-.02em}
.brand b{font-family:var(--mono);font-weight:500}
.nav-links{display:flex;align-items:center;gap:var(--s-7)}
.nav-links a.lnk{font-size:.95rem;color:var(--ink-70);transition:color var(--fast)}
.nav-links a.lnk:hover,.nav-links a.lnk[aria-current="page"]{color:var(--ink)}
.nav-links a.lnk[aria-current="page"]{color:var(--accent)}
.nav-links .btn{padding:var(--s-3) var(--s-5)}
@media(max-width:760px){.nav-links a.lnk{display:none}}

/* hero (home) */
.hero{padding:calc(72px + var(--s-11)) 0 var(--s-10);position:relative}
.hero h1{font-family:var(--disp);font-weight:500;font-size:clamp(3rem,8.5vw,7rem);line-height:.98;letter-spacing:-.035em;max-width:15ch;margin:var(--s-6) 0 var(--s-7)}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lede{font-size:clamp(1.15rem,2vw,1.4rem);color:var(--ink-70);max-width:54ch;line-height:1.55}
.hero .cta{display:flex;gap:var(--s-4);flex-wrap:wrap;align-items:center;margin-top:var(--s-8)}
.hero .stats{display:flex;gap:var(--s-8);flex-wrap:wrap;margin-top:var(--s-10);padding-top:var(--s-7);border-top:1px solid var(--ink-15)}
.stat .n{font-family:var(--disp);font-weight:500;font-size:2.5rem;letter-spacing:-.02em;line-height:1}
.stat .n em{font-style:normal;color:var(--accent)}
.stat .l{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45);margin-top:var(--s-3)}

/* page sub-hero (inner pages) */
.subhero{padding:calc(72px + var(--s-10)) 0 var(--s-9);border-bottom:1px solid var(--ink-15)}
.subhero .crumb{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45);margin-bottom:var(--s-6);display:flex;gap:var(--s-3);align-items:center}
.subhero .crumb a:hover{color:var(--accent)}
.subhero h1{font-family:var(--disp);font-weight:500;font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.03em;max-width:16ch;margin:var(--s-5) 0 var(--s-6)}
.subhero h1 em{font-style:normal;color:var(--accent)}
.subhero .lede{font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--ink-70);max-width:56ch}
.subhero .cta{display:flex;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-8)}
.subhero .role{font-family:var(--mono);font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}

/* generic band + head */
.band{padding:var(--s-11) 0;border-top:1px solid var(--ink-15)}
.band.tight{padding:var(--s-9) 0}
.head{display:grid;grid-template-columns:1fr;gap:var(--s-5);margin-bottom:var(--s-9);max-width:62ch}
.head h2{font-family:var(--disp);font-weight:500;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.025em;line-height:1.05}
.head p{font-size:1.15rem;color:var(--ink-70)}

/* services grid (home) */
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;border:1px solid var(--ink-15);border-radius:var(--r1);overflow:hidden;background:var(--paper-pure)}
.svc .cell{padding:var(--s-8) var(--s-7);border-right:1px solid var(--ink-15);transition:background var(--base);display:flex;flex-direction:column}
.svc .cell:last-child{border-right:0}
.svc .cell:hover{background:var(--paper)}
.svc .idx{font-family:var(--mono);font-size:.8125rem;color:var(--accent)}
.svc h3{font-family:var(--disp);font-weight:500;font-size:1.6rem;letter-spacing:-.02em;margin:var(--s-6) 0 var(--s-3)}
.svc .role{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-45);margin-bottom:var(--s-4)}
.svc p{font-size:.975rem;color:var(--ink-70);margin-bottom:var(--s-6)}
.svc ul{list-style:none;display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-6)}
.svc li{font-size:.9rem;color:var(--ink-70);padding-left:var(--s-5);position:relative}
.svc li::before{content:"·";position:absolute;left:0;color:var(--accent)}
.svc .more{margin-top:auto}
@media(max-width:760px){.svc .cell{border-right:0;border-bottom:1px solid var(--ink-15)}.svc .cell:last-child{border-bottom:0}}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s-6)}
.pillar{border-top:2px solid var(--ink);padding-top:var(--s-5)}
.pillar .k{font-family:var(--mono);font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}
.pillar h4{font-family:var(--disp);font-weight:500;font-size:1.3rem;letter-spacing:-.02em;margin:var(--s-4) 0 var(--s-3)}
.pillar p{font-size:.95rem;color:var(--ink-70)}

/* feature grid (service pages) */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-7)}
.feature{display:flex;flex-direction:column;gap:var(--s-3)}
.feature .n{font-family:var(--mono);font-size:.8125rem;color:var(--accent)}
.feature h4{font-family:var(--disp);font-weight:500;font-size:1.25rem;letter-spacing:-.01em}
.feature p{font-size:.95rem;color:var(--ink-70)}

/* checklist (what's included) */
.checklist{columns:2;column-gap:var(--s-9);list-style:none}
@media(max-width:680px){.checklist{columns:1}}
.checklist li{break-inside:avoid;padding:var(--s-4) 0 var(--s-4) var(--s-6);border-bottom:1px solid var(--ink-15);position:relative;font-size:1rem;color:var(--ink-70)}
.checklist li::before{content:"→";position:absolute;left:0;color:var(--accent);font-family:var(--mono)}

/* deliverables / numbered list */
.steps-list{display:flex;flex-direction:column}
.steps-list .row{display:grid;grid-template-columns:64px 1fr;gap:var(--s-5);padding:var(--s-6) 0;border-top:1px solid var(--ink-15);align-items:start}
.steps-list .row:last-child{border-bottom:1px solid var(--ink-15)}
.steps-list .num{font-family:var(--mono);font-size:.8125rem;color:var(--accent)}
.steps-list h4{font-family:var(--disp);font-weight:500;font-size:1.3rem;letter-spacing:-.01em;margin-bottom:var(--s-2)}
.steps-list p{font-size:.975rem;color:var(--ink-70);max-width:60ch}

/* big quote / statement */
.statement{font-family:var(--disp);font-weight:500;font-size:clamp(1.6rem,3.4vw,2.6rem);letter-spacing:-.02em;line-height:1.18;max-width:24ch}
.statement em{font-style:normal;color:var(--accent)}

/* work grid */
.work{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s-6)}
.case{border:1px solid var(--ink-15);border-radius:var(--r1);background:var(--paper-pure);overflow:hidden;transition:transform var(--base) var(--ease),border-color var(--base);display:flex;flex-direction:column}
.case:hover{transform:translateY(-4px);border-color:var(--ink)}
.case .vis{aspect-ratio:16/10;display:flex;align-items:flex-end;padding:var(--s-6);position:relative;overflow:hidden}
.case .vis.v1{background:linear-gradient(135deg,#1B1A17,#332f28)}
.case .vis.v2{background:linear-gradient(135deg,#FF4A1C,#c2330f)}
.case .vis.v3{background:linear-gradient(135deg,#2a2a33,#15151a)}
.case .vis.v4{background:linear-gradient(135deg,#33302a,#0f0e0c)}
.case .vis.v5{background:linear-gradient(135deg,#46443E,#1B1A17)}
.case .vis.v6{background:linear-gradient(135deg,#c2330f,#1B1A17)}
.case .vis img.shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.case .vis:has(img.shot)::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,19,16,.80),rgba(20,19,16,.12));z-index:1}
.case .vis .metric{position:relative;z-index:2;font-family:var(--disp);font-weight:500;color:#fff;font-size:2.75rem;letter-spacing:-.03em;line-height:1}
.case .vis .metric span{font-size:1rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;display:block;opacity:.8;margin-top:var(--s-2)}
.case .body{padding:var(--s-6) var(--s-6) var(--s-7);flex:1;display:flex;flex-direction:column}
.case .tags{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-4)}
.case .tag{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--ink-15);padding:3px 9px;border-radius:99px;color:var(--ink-45)}
.case h3{font-family:var(--disp);font-weight:500;font-size:1.35rem;letter-spacing:-.02em;margin-bottom:var(--s-3)}
.case p{font-size:.95rem;color:var(--ink-70);margin-bottom:var(--s-5)}
.case .more{margin-top:auto}

/* process strip */
.proc{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;border-top:1px solid var(--ink-15)}
.step{padding:var(--s-7) var(--s-5) var(--s-6) 0;border-right:1px solid var(--ink-15)}
.step:last-child{border-right:0}
.step .num{font-family:var(--mono);font-size:.8125rem;color:var(--accent)}
.step h4{font-family:var(--disp);font-weight:500;font-size:1.2rem;margin:var(--s-5) 0 var(--s-3);letter-spacing:-.01em}
.step p{font-size:.9rem;color:var(--ink-70)}
@media(max-width:760px){.step{border-right:0;border-bottom:1px solid var(--ink-15);padding-right:var(--s-5);padding-left:0}.step:last-child{border-bottom:0}}

/* split */
.split{display:grid;grid-template-columns:1fr;gap:var(--s-8)}
@media(min-width:900px){.split{grid-template-columns:5fr 7fr;gap:var(--s-10);align-items:start}}
.split .big{font-family:var(--disp);font-weight:500;font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.02em;line-height:1.25}
.split .big em{font-style:normal;color:var(--accent)}
.split .col p{margin-bottom:var(--s-5);color:var(--ink-70)}
.split .col p:last-child{margin-bottom:0}

/* related services */
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-5)}
.relcard{border:1px solid var(--ink-15);border-radius:var(--r1);padding:var(--s-7);background:var(--paper-pure);transition:transform var(--base) var(--ease),border-color var(--base);display:flex;flex-direction:column;gap:var(--s-3)}
.relcard:hover{transform:translateY(-3px);border-color:var(--ink)}
.relcard .role{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-45)}
.relcard h4{font-family:var(--disp);font-weight:500;font-size:1.3rem;letter-spacing:-.02em}
.relcard p{font-size:.92rem;color:var(--ink-70)}
.relcard .more{margin-top:var(--s-3)}

/* CTA band */
.cta-band{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);border-radius:var(--r1);padding:clamp(var(--s-9),7vw,var(--s-11)) clamp(var(--s-6),5vw,var(--s-9));margin:var(--s-11) 0;text-align:left}
.cta-band > *{position:relative;z-index:1}
.cta-band::after{content:"47";position:absolute;right:.06em;bottom:-.26em;font-family:var(--mono);font-weight:700;font-size:clamp(9rem,26vw,20rem);line-height:.8;letter-spacing:-.05em;color:rgba(246,244,239,.05);pointer-events:none;z-index:0}
.cta-band .eyebrow{color:var(--accent)}
.cta-band h2{font-family:var(--disp);font-weight:500;font-size:clamp(2.1rem,4.8vw,3.7rem);letter-spacing:-.03em;line-height:1.03;margin:var(--s-5) 0 0;max-width:17ch}
.cta-band h2 em{font-style:normal;color:var(--accent)}
.cta-band p{color:var(--ink-15);max-width:46ch;margin:var(--s-5) 0 0}
.cta-band .btn-primary{margin-top:var(--s-8);background:var(--accent);color:var(--accent-ink)}
.cta-band .btn-primary:hover{background:var(--paper);color:var(--ink)}

/* contact form */
.form-grid{display:grid;grid-template-columns:1fr;gap:var(--s-10)}
@media(min-width:900px){.form-grid{grid-template-columns:7fr 5fr;gap:var(--s-11)}}
.field{display:flex;flex-direction:column;gap:var(--s-2);margin-bottom:var(--s-6)}
.field label{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45)}
.field input,.field select,.field textarea{font-family:var(--body);font-size:1rem;padding:var(--s-4);border:1px solid var(--ink-15);border-radius:var(--r1);background:var(--paper-pure);color:var(--ink);transition:border var(--fast),box-shadow var(--fast);width:100%}
.field textarea{resize:vertical;min-height:140px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
@media(max-width:560px){.field-row{grid-template-columns:1fr}}
.aside-block{margin-bottom:var(--s-8)}
.aside-block h4{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45);margin-bottom:var(--s-3)}
.aside-block p{color:var(--ink-70);font-size:.975rem}
.aside-block a{color:var(--ink);border-bottom:1px solid var(--accent)}
.form-success{display:none;border:1px solid var(--ink);border-radius:var(--r1);padding:var(--s-7);background:var(--paper-pure)}
.form-success.show{display:block}
.form-success h3{font-family:var(--disp);font-weight:500;font-size:1.5rem;margin-bottom:var(--s-3)}
.form-success p{color:var(--ink-70)}

/* footer */
footer{border-top:1px solid var(--ink-15);padding:var(--s-10) 0 var(--s-8)}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s-8)}
.foot-brand .big{font-family:var(--disp);font-weight:500;font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:-.03em;line-height:1}
.foot-brand .big b{font-family:var(--mono)}
.foot-brand p{color:var(--ink-45);max-width:32ch;margin-top:var(--s-4);font-size:.95rem}
.powered{margin-top:var(--s-7);display:flex;flex-direction:column;gap:var(--s-2)}
.powered .pl{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-45)}
.powered a{font-family:var(--disp);font-weight:700;font-size:1.1rem;letter-spacing:-.01em;color:var(--ink);display:inline-flex;align-items:center;gap:var(--s-2);transition:color var(--fast)}
.powered a b{font-family:var(--mono);font-weight:700;color:var(--accent)}
.powered a .arr{font-size:.8em;color:var(--ink-45);transition:transform var(--base) var(--ease),color var(--fast)}
.powered a:hover{color:var(--accent)}
.powered a:hover .arr{color:var(--accent);transform:translate(2px,-2px)}
.foot-links{display:flex;gap:var(--s-9);flex-wrap:wrap}
.foot-col h5{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-45);margin-bottom:var(--s-4)}
.foot-col a{display:block;font-size:.95rem;color:var(--ink-70);margin-bottom:var(--s-3);transition:color var(--fast)}
.foot-col a:hover{color:var(--accent)}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s-4);margin-top:var(--s-10);padding-top:var(--s-6);border-top:1px solid var(--ink-15);font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45)}

/* FAQ (GEO-friendly, accessible, no JS) */
.faq{border-top:1px solid var(--ink-15)}
.faq details{border-bottom:1px solid var(--ink-15)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s-5);align-items:flex-start;padding:var(--s-6) 0;font-family:var(--disp);font-weight:500;font-size:1.2rem;letter-spacing:-.01em;color:var(--ink);transition:color var(--fast)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq summary .plus{font-family:var(--mono);font-size:1.1rem;color:var(--accent);flex-shrink:0;transition:transform var(--base) var(--ease)}
.faq details[open] summary .plus{transform:rotate(45deg)}
.faq .ans{padding:0 0 var(--s-6);max-width:70ch;color:var(--ink-70);font-size:1.02rem}
.faq .ans p{margin-bottom:var(--s-4)}
.faq .ans p:last-child{margin-bottom:0}
.faq .ans a{color:var(--ink);border-bottom:1px solid var(--accent)}

/* quick answer block (extractable summary) */
.quick-answer{border-left:2px solid var(--accent);background:var(--accent-soft);padding:var(--s-6) var(--s-7);border-radius:0 var(--r1) var(--r1) 0;max-width:72ch}
.quick-answer .qa-label{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:var(--s-3)}
.quick-answer p{font-size:1.1rem;color:var(--ink);line-height:1.55}

/* blog index grid */
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s-6)}
.post-card{border:1px solid var(--ink-15);border-radius:var(--r1);background:var(--paper-pure);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--base) var(--ease),border-color var(--base)}
.post-card:hover{transform:translateY(-4px);border-color:var(--ink)}
.post-card .meta{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45);padding:var(--s-6) var(--s-6) 0;display:flex;gap:var(--s-3);flex-wrap:wrap}
.post-card .meta .cat{color:var(--accent)}
.post-card h3{font-family:var(--disp);font-weight:500;font-size:1.4rem;letter-spacing:-.02em;line-height:1.15;padding:var(--s-4) var(--s-6) 0}
.post-card p{font-size:.95rem;color:var(--ink-70);padding:var(--s-3) var(--s-6) 0}
.post-card .more{margin-top:auto;padding:var(--s-5) var(--s-6) var(--s-6)}

/* article (single post) */
.article{max-width:760px;margin:0 auto}
.article .a-meta{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45);display:flex;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-6)}
.article .a-meta .cat{color:var(--accent)}
.article h1{font-family:var(--disp);font-weight:500;font-size:clamp(2.1rem,4.5vw,3.2rem);letter-spacing:-.03em;line-height:1.05;margin-bottom:var(--s-6)}
.prose{font-size:1.125rem;line-height:1.7;color:var(--ink-70)}
.prose h2{font-family:var(--disp);font-weight:500;font-size:1.9rem;letter-spacing:-.02em;color:var(--ink);margin:var(--s-9) 0 var(--s-4)}
.prose h3{font-family:var(--disp);font-weight:500;font-size:1.35rem;letter-spacing:-.01em;color:var(--ink);margin:var(--s-7) 0 var(--s-3)}
.prose p{margin-bottom:var(--s-5);max-width:68ch}
.prose ul,.prose ol{margin:0 0 var(--s-5) var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);max-width:68ch}
.prose li{padding-left:var(--s-3)}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--ink);border-bottom:1px solid var(--accent)}
.prose blockquote{border-left:2px solid var(--accent);padding-left:var(--s-5);margin:var(--s-6) 0;font-family:var(--disp);font-weight:500;font-size:1.4rem;color:var(--ink);letter-spacing:-.01em;line-height:1.3}
.prose table{width:100%;border-collapse:collapse;margin:var(--s-6) 0;font-size:.98rem}
.prose th,.prose td{text-align:left;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--ink-15)}
.prose th{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45)}

/* author bio (E-E-A-T) */
.author{display:flex;gap:var(--s-5);align-items:center;border:1px solid var(--ink-15);border-radius:var(--r1);background:var(--paper-pure);padding:var(--s-6);margin:var(--s-9) auto 0;max-width:760px}
.author .av{width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--accent);font-family:var(--mono);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;letter-spacing:-.04em}
.author .who .n{font-family:var(--disp);font-weight:500;font-size:1.1rem}
.author .who .r{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-45);margin-top:2px}
.author .who p{font-size:.92rem;color:var(--ink-70);margin-top:var(--s-3);max-width:60ch}

/* SEO referral links (to Resocial) */
.seo-link{color:inherit;border-bottom:1px solid var(--accent);transition:color var(--fast)}
.seo-link:hover{color:var(--accent)}

/* reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity var(--slow) var(--ease),transform var(--slow) var(--ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
