/* 9Nation Consulting — shared design system (Notion calm-authority) */
:root{
  --canvas:#f6f5f4; --surface:#ffffff;
  --ink:#1a1a19; --ink-2:#37352f; --muted:#615d59; --faint:#9a958e;
  --hair:#e8e6e2; --hair-2:#efedea;
  --accent:#0003cc; --accent-deep:#0002a8; --accent-tint:#ececfb;
  --night:#1b1d4d; --night-soft:#2a2c63;
  --r:12px; --r-lg:20px; --pill:999px; --r-sm:8px;
  --shadow:0 1px 2px rgba(20,20,20,.05),0 2px 6px rgba(20,20,20,.045);
  --shadow-hover:0 6px 22px rgba(20,20,20,.09);
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;line-height:1.6;font-size:17px;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;height:auto;}
.wrap{width:min(1120px,92vw);margin:0 auto;}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;font-weight:600;color:var(--accent);}
.badge{display:inline-block;background:var(--accent-tint);color:var(--accent-deep);
  font-size:.8rem;font-weight:600;padding:.45rem .9rem;border-radius:var(--pill);letter-spacing:.01em;}
h1,h2,h3{letter-spacing:-.025em;color:var(--ink);}
.h2{font-size:clamp(1.8rem,3.2vw,2.5rem);font-weight:700;line-height:1.1;margin:.7rem 0 0;}
.sub{color:var(--muted);font-size:1.08rem;max-width:62ch;margin:.9rem 0 0;}

/* Buttons */
.btn{font-family:var(--sans);font-weight:600;font-size:.95rem;padding:.8rem 1.45rem;
  border-radius:var(--pill);border:1px solid var(--accent);background:var(--accent);color:#fff;
  display:inline-block;cursor:pointer;transition:background .15s,border-color .15s,transform .12s;}
.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep);}
.btn:active{transform:translateY(1px);}
.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--hair);}
.btn-ghost:hover{background:#fbfaf9;border-color:#d9d6d1;}
.btn-invert{background:#fff;color:var(--night);border-color:#fff;}
.btn-invert:hover{background:var(--accent-tint);border-color:var(--accent-tint);}
.textlink{font-weight:600;font-size:.95rem;color:var(--accent);}
.textlink:hover{color:var(--accent-deep);}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(246,245,244,.85);
  backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--hair);}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px;}
.brand{font-weight:800;font-size:1.4rem;letter-spacing:-.03em;display:flex;align-items:center;gap:.55rem;}
.brand small{font-weight:600;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);}
.brand-mark{height:30px;width:auto;display:block;flex:0 0 auto;}
.brand-text{display:flex;align-items:baseline;gap:.4rem;}
.nav-links{display:flex;gap:1.9rem;font-size:.95rem;font-weight:500;color:var(--ink-2);}
.nav-links a:hover,.nav-links a.active{color:var(--accent);}
.nav-right{display:flex;align-items:center;gap:.8rem;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;
  padding:9px 8px;background:none;border:1px solid var(--hair);border-radius:var(--r-sm);cursor:pointer;}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--ink);border-radius:2px;transition:.2s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Hero (home) */
.hero{padding:clamp(2.6rem,6vw,4.8rem) 0 clamp(1.6rem,3vw,2.6rem);}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,4vw,3.5rem);align-items:center;}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1.05;
  letter-spacing:-.035em;margin:1.2rem 0 0;}
.hero .lead{font-size:clamp(1.08rem,1.5vw,1.28rem);color:var(--ink-2);max-width:54ch;margin:1.4rem 0 0;line-height:1.55;}
.hero .lead b{font-weight:600;color:var(--ink);}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem 1.1rem;align-items:center;margin-top:1.9rem;}
.trustline{margin-top:1.5rem;color:var(--faint);font-size:.92rem;font-weight:500;}
.trustline b{color:var(--muted);font-weight:600;}
.hero-photo{position:relative;}
.hero-photo::before{content:"";position:absolute;inset:18px -18px -18px 18px;
  background:var(--accent-tint);border-radius:var(--r-lg);z-index:0;}
.hero-photo img{position:relative;z-index:1;width:100%;border-radius:var(--r-lg);
  box-shadow:var(--shadow-hover);border:1px solid var(--hair);}

/* Page hero (subpages) */
.page-hero{padding:clamp(2.6rem,6vw,4.2rem) 0 clamp(1.2rem,3vw,2rem);}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:800;letter-spacing:-.035em;line-height:1.06;margin:1rem 0 0;max-width:20ch;}
.page-hero .sub{font-size:1.15rem;color:var(--ink-2);}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:1rem;}
.stat{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);padding:1.5rem 1.3rem;box-shadow:var(--shadow);}
.stat .num{font-size:clamp(2.1rem,4vw,2.9rem);font-weight:800;color:var(--accent);letter-spacing:-.04em;line-height:1;}
.stat .lbl{color:var(--muted);font-size:.92rem;font-weight:500;margin-top:.5rem;}
.stats-note{color:var(--muted);font-size:1.02rem;margin:1.2rem 0 0;}
.stats-note b{color:var(--ink-2);font-weight:600;}

section{padding:clamp(3.2rem,6.5vw,5.6rem) 0;}
.section-head{max-width:62ch;}

/* Logo wall */
.logos{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.logo-tile{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);
  height:78px;display:flex;align-items:center;justify-content:center;padding:0 1rem;transition:box-shadow .15s,transform .12s;}
.logo-tile img{max-height:34px;max-width:78%;width:auto;filter:grayscale(1);opacity:.62;transition:filter .2s,opacity .2s;}
.logo-tile:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);}
.logo-tile:hover img{filter:none;opacity:1;}

/* Standfirst */
.standfirst{font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:700;line-height:1.28;letter-spacing:-.025em;max-width:24ch;}
.lead-body{font-size:1.12rem;color:var(--ink-2);max-width:60ch;margin-top:1.3rem;line-height:1.6;}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-top:2rem;}
.card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);
  padding:1.5rem 1.5rem 1.6rem;box-shadow:var(--shadow);transition:box-shadow .15s,transform .12s;display:block;}
.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);}
.card .k{display:flex;align-items:center;justify-content:space-between;}
.card .idx{font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:.08em;}
.card .count{font-size:.78rem;font-weight:600;color:var(--faint);}
.card h3{font-size:1.22rem;font-weight:700;margin:.85rem 0 .5rem;}
.card p{margin:0;color:var(--muted);font-size:1rem;line-height:1.55;}
.card.work .tag{font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);}
.card.work h3{margin:.7rem 0 .55rem;font-size:1.3rem;line-height:1.18;}
.card.work .read{font-weight:600;font-size:.9rem;color:var(--ink);}
.card.work:hover .read{color:var(--accent);}

.platforms{margin-top:2rem;color:var(--ink-2);font-size:1.05rem;}
.platforms b{color:var(--ink);font-weight:700;}
.platforms .dot{color:var(--faint);margin:0 .5rem;}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.9rem;}
.chip{background:var(--surface);border:1px solid var(--hair);border-radius:var(--pill);
  padding:.55rem 1.05rem;font-size:.96rem;font-weight:500;color:var(--ink-2);}
.chip b{color:var(--accent);font-weight:700;margin-left:.35rem;}

/* Pull quote */
.quote{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-lg);
  box-shadow:var(--shadow);padding:clamp(2rem,4vw,3.2rem);text-align:center;max-width:60ch;margin:0 auto;}
.quote .mark{color:var(--accent);font-size:2.6rem;font-weight:800;line-height:1;}
.quote blockquote{margin:.5rem 0 0;font-size:clamp(1.4rem,2.8vw,2rem);font-weight:700;letter-spacing:-.02em;line-height:1.32;}
.quote cite{display:block;margin-top:1.4rem;font-style:normal;font-weight:600;font-size:.92rem;color:var(--muted);}

/* Insights grid */
.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:2rem;}

/* About */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
.about-photo img{width:100%;border-radius:var(--r-lg);border:1px solid var(--hair);box-shadow:var(--shadow);}
.about-aside{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);
  box-shadow:var(--shadow);padding:1.4rem 1.5rem;margin-top:1.2rem;}
.about-aside h4{margin:0 0 .7rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);}
.about-aside li{color:var(--ink-2);font-size:.98rem;padding:.32rem 0;list-style:none;}
.about-aside ul{margin:0;padding:0;}
.prose p{font-size:1.12rem;color:var(--ink-2);line-height:1.65;margin:0 0 1.15rem;max-width:64ch;}
.prose h2{font-size:1.5rem;font-weight:700;margin:2rem 0 .8rem;}
.prose p b{color:var(--ink);font-weight:600;}

/* Value/approach list */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:2rem;}
.step{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);padding:1.4rem 1.4rem 1.5rem;box-shadow:var(--shadow);}
.step .n{font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:.08em;}
.step h3{font-size:1.12rem;font-weight:700;margin:.6rem 0 .45rem;}
.step p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.5;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3rem);align-items:start;margin-top:2rem;}
.field{margin-bottom:1.1rem;}
.field label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-2);margin-bottom:.4rem;}
.field input,.field textarea{width:100%;font-family:var(--sans);font-size:1rem;color:var(--ink);
  background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-sm);padding:.75rem .9rem;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);}
.contact-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--shadow);padding:1.6rem 1.7rem;}
.contact-card .row{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--hair-2);}
.contact-card .row:last-child{border-bottom:0;}
.contact-card .row span{color:var(--muted);font-size:.92rem;}
.contact-card .row a{color:var(--accent);font-weight:600;}

/* CTA night band */
.cta-band{background:var(--night);border-radius:var(--r-lg);padding:clamp(2.6rem,5vw,4.4rem);color:#fff;position:relative;overflow:hidden;}
.cta-band h2{color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.06;margin:.7rem 0 0;max-width:18ch;}
.cta-band p{color:#c4c5e8;max-width:52ch;margin:1.1rem 0 1.9rem;font-size:1.1rem;}
.cta-band .eyebrow{color:#9a9cd6;}
.dotfield{position:absolute;inset:0;background-image:radial-gradient(var(--night-soft) 1.4px,transparent 1.4px);background-size:26px 26px;opacity:.5;pointer-events:none;}
.cta-band .inner{position:relative;}

/* Footer */
footer.site{border-top:1px solid var(--hair);padding:3.4rem 0 2.6rem;color:var(--muted);font-size:.95rem;margin-top:1rem;}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:2rem;}
.foot-tag{margin-top:.9rem;color:var(--muted);max-width:34ch;line-height:1.55;}
.foot-col h4{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 .9rem;font-weight:600;}
.foot-col a{display:block;color:var(--ink-2);padding:.28rem 0;}
.foot-col a:hover{color:var(--accent);}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.6rem;padding-top:1.5rem;border-top:1px solid var(--hair);color:var(--faint);font-size:.88rem;}

@media(max-width:860px){
  .nav-toggle{display:flex;}
  .nav-links{position:absolute;top:66px;left:0;right:0;display:none;flex-direction:column;
    gap:0;background:var(--canvas);border-bottom:1px solid var(--hair);
    box-shadow:0 8px 22px rgba(20,20,20,.08);padding:.4rem 0;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:.9rem 4vw;font-size:1.05rem;border-bottom:1px solid var(--hair-2);}
  .nav-links a:last-child{border-bottom:0;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-photo{max-width:420px;margin-top:.5rem;}
  .hero-photo::before{display:none;}
  .about-grid{grid-template-columns:1fr;}
  .about-photo img{max-width:380px;}
  .contact-grid{grid-template-columns:1fr;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .stats{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .logos{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
}

/* Long-form article */
.article-hero{padding:clamp(2.2rem,5vw,3.4rem) 0 0;}
.article-hero .back-link{display:inline-block;margin:0 0 1.1rem;color:var(--muted);font-weight:600;font-size:.9rem;}
.article-hero .back-link:hover{color:var(--accent);}
.article-hero h1{font-size:clamp(2rem,4.4vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.07;margin:.9rem 0 0;max-width:22ch;}
.article-meta{color:var(--faint);font-size:.9rem;font-weight:500;margin-top:1.1rem;display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;}
.article-meta b{color:var(--muted);font-weight:600;}
.dek{font-size:clamp(1.15rem,1.8vw,1.3rem);color:var(--ink-2);max-width:60ch;margin:1.2rem 0 0;line-height:1.5;}
.article{max-width:720px;margin:0 auto;}
.article p{font-size:1.13rem;line-height:1.75;color:var(--ink-2);margin:0 0 1.3rem;}
.article p strong,.article p b,.article strong{color:var(--ink);font-weight:600;}
.article h2{font-size:clamp(1.4rem,2.4vw,1.7rem);font-weight:700;letter-spacing:-.02em;margin:2.3rem 0 .8rem;}
.article h3{font-size:1.2rem;font-weight:700;margin:1.7rem 0 .55rem;}
.article ul,.article ol{margin:0 0 1.3rem;padding-left:1.25rem;color:var(--ink-2);font-size:1.1rem;line-height:1.7;}
.article li{margin:.45rem 0;}
.article blockquote{margin:1.9rem 0;padding:.5rem 0 .5rem 1.4rem;border-left:3px solid var(--accent);
  font-size:clamp(1.3rem,2.2vw,1.55rem);font-weight:700;color:var(--ink);letter-spacing:-.015em;line-height:1.35;}
.article a{color:var(--accent);font-weight:600;border-bottom:1px solid var(--accent-tint);}
.article a:hover{border-color:var(--accent);}
.article .endnote{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--hair);color:var(--muted);font-size:1rem;}
.article figure{margin:2rem 0;}
.article figure img{width:100%;border-radius:var(--r);border:1px solid var(--hair);box-shadow:var(--shadow);}
.article figcaption{color:var(--muted);font-size:.9rem;margin-top:.6rem;text-align:center;}
.article-cover{max-width:900px;margin:0 auto;}
.article-cover img{width:100%;border-radius:var(--r-lg);border:1px solid var(--hair);box-shadow:var(--shadow);}
.article .lesson-meta{color:var(--muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;}
.article h2 .num{color:var(--accent);font-weight:800;margin-right:.5rem;}

/* Testimonials */
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:2rem;}
.tcard{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--shadow);padding:1.5rem 1.6rem;display:flex;flex-direction:column;}
.tcard .quote-mark{color:var(--accent);font-weight:800;font-size:2rem;line-height:.8;}
.tcard p{color:var(--ink-2);font-size:1.04rem;line-height:1.55;margin:.5rem 0 1.2rem;}
.tcard .who{margin-top:auto;font-size:.9rem;}
.tcard .who b{color:var(--ink);font-weight:600;}
.tcard .who span{color:var(--muted);}
.placeholder-note{color:var(--faint);font-size:.85rem;font-style:italic;margin-top:1rem;}

/* Infographic gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:2rem;}
.gcard{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);cursor:zoom-in;transition:box-shadow .15s,transform .12s;display:block;width:100%;text-align:left;padding:0;font-family:inherit;}
.gcard:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px);}
.gcard img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-bottom:1px solid var(--hair);background:var(--soft);}
.gcard .cap{padding:.85rem 1.1rem;font-weight:600;font-size:.98rem;color:var(--ink);}
.lightbox{position:fixed;inset:0;background:rgba(15,15,20,.9);display:none;align-items:center;justify-content:center;z-index:300;padding:3vw;}
.lightbox.open{display:flex;}
.lightbox img{max-width:96vw;max-height:92vh;border-radius:8px;box-shadow:0 12px 48px rgba(0,0,0,.55);}
.lightbox .lb-close{position:absolute;top:14px;right:22px;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;background:none;border:0;}

/* ---- Visual enrichment ---- */
.band-tint{background:#f3f3fd;}

/* Media cards (Insights with thumbnail) */
.card.media{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.card.media .thumb{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--soft);border-bottom:1px solid var(--hair);transition:transform .35s ease;}
.card.media:hover .thumb{transform:scale(1.03);}
.card.media .cbody{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1;}
.card.media h3{margin:.7rem 0 .5rem;}
.card.media .read{margin-top:auto;padding-top:.8rem;}

/* Logo marquee */
.logo-marquee{margin-top:2rem;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.logo-track{display:flex;gap:14px;width:max-content;animation:marquee 70s linear infinite;}
.logo-marquee:hover .logo-track{animation-play-state:paused;}
.logo-track .logo-tile{flex:0 0 150px;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none;flex-wrap:wrap;width:auto;}}

/* Visual playbooks strip (home) */
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:14px;overflow-x:auto;padding:0 0 .6rem;margin-top:1.8rem;scroll-snap-type:x mandatory;}
.strip::-webkit-scrollbar{height:8px;}
.strip::-webkit-scrollbar-thumb{background:var(--hair);border-radius:8px;}
.strip .sitem{scroll-snap-align:start;border:1px solid var(--hair);border-radius:var(--r);overflow:hidden;background:var(--surface);box-shadow:var(--shadow);cursor:pointer;}
.strip .sitem img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.strip .sitem span{display:block;padding:.7rem .9rem;font-weight:600;font-size:.9rem;color:var(--ink);}

/* Process timeline */
.process{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:2rem;counter-reset:pstep;}
.pstep{position:relative;padding-top:1.2rem;border-top:2px solid var(--hair);}
.pstep::before{counter-increment:pstep;content:counter(pstep);position:absolute;top:-.95rem;left:0;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;}
.pstep h4{margin:.2rem 0 .35rem;font-size:1rem;font-weight:700;}
.pstep p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45;}
@media(max-width:860px){.process{grid-template-columns:repeat(2,1fr);gap:1.4rem 1rem;}}
@media(max-width:480px){.process{grid-template-columns:1fr;}}

/* FAQ */
.faq{margin-top:2rem;max-width:760px;}
.faq details{border-bottom:1px solid var(--hair);}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2rem 1.1rem 0;font-weight:600;font-size:1.08rem;color:var(--ink);position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:1rem;font-size:1.5rem;font-weight:400;color:var(--accent);transition:transform .2s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{margin:0 0 1.2rem;color:var(--ink-2);font-size:1.02rem;line-height:1.6;max-width:64ch;}

/* Newsletter band */
.news{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:clamp(1.8rem,4vw,2.8rem);display:flex;gap:2rem;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.news .nt{flex:1 1 320px;}
.news h2{margin:.3rem 0 .4rem;}
.news form{display:flex;gap:.7rem;flex:1 1 320px;flex-wrap:wrap;}
.news input{flex:1 1 200px;font-family:var(--sans);font-size:1rem;border:1px solid var(--hair);border-radius:var(--r-sm);padding:.8rem .95rem;}
.news input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);}

/* LinkedIn section */
.li-card{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--hair);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:clamp(1.6rem,3vw,2.4rem);}
.li-card .li-ic{width:54px;height:54px;border-radius:12px;background:#0a66c2;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;flex:0 0 auto;}
.li-card .li-t{flex:1 1 300px;}
.li-card h3{margin:0 0 .25rem;font-size:1.25rem;}
.li-card p{margin:0;color:var(--muted);}

/* Calendly inline embed */
.cal-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--shadow);padding:.4rem;overflow:hidden;}
.calendly-inline-widget{min-width:280px;height:680px;border-radius:var(--r);}
.booking-head{display:flex;align-items:center;gap:.6rem;margin:0 0 1rem;}
.booking-head .dot{width:9px;height:9px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.15);}
.booking-head span{font-weight:600;color:var(--ink-2);font-size:.95rem;}

/* Form states */
.form-status{display:none;margin-top:1rem;padding:.9rem 1.1rem;border-radius:var(--r-sm);font-size:.95rem;font-weight:500;}
.form-status.show{display:block;}
.form-status.ok{background:#e9f7ef;color:#1c7a47;border:1px solid #b7e3c8;}
.form-status.err{background:#fdecec;color:#b3261e;border:1px solid #f3c2bf;}
button[disabled]{opacity:.6;cursor:default;}

/* Skip link (a11y) */
.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:0 0 var(--r-sm) 0;z-index:200;font-weight:600;}
.skip-link:focus{left:0;}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---- Polish pass: refinements + richer touches (2026-06-29) ---- */
/* Editorial accent tick before every section eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:.55em;}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--accent);border-radius:2px;flex:0 0 auto;}
.cta-band .eyebrow::before{background:#9a9cd6;}

/* Cards: smoother, deeper hover with a faint accent edge + image zoom */
.card,.gcard,.tcard{transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;}
.card:hover,.gcard:hover,.tcard:hover{border-color:#cfcef5;}
.card.media:hover .thumb{transform:scale(1.035);}

/* Buttons: a subtle tactile lift */
.btn{transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,3,204,.18);}
.btn:active{transform:translateY(0);box-shadow:none;}
.btn-ghost:hover{box-shadow:var(--shadow-hover);}
.btn-invert:hover{box-shadow:0 6px 18px rgba(0,0,0,.18);}

/* Animated underline on text links (adapts to text color) */
.textlink{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1.5px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .25s ease,color .15s;padding-bottom:1px;}
.textlink:hover{background-size:100% 1.5px;}

/* Sticky header: a whisper of depth */
header.site{box-shadow:0 1px 14px rgba(20,20,20,.045);}

/* Chips: gentle interactivity */
.chip{transition:border-color .15s,box-shadow .15s;}
.chip:hover{border-color:#cfcef5;box-shadow:var(--shadow);}

/* Crisp, consistent keyboard focus */
a:focus-visible,.btn:focus-visible,.gcard:focus-visible,.nav-toggle:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px;}
