:root{
  --ink:#1a1a1a;--inkSoft:#2b2b2b;--olive:#627000;--oliveDeep:#4c5700;
  --burgundy:#800020;--gold:#DBA828;--gray:#DBDBDB;--paper:#fff;--warm:#faf9f6;--line:#e4e2dc;
  --maxw:1120px;--serif:"Playfair Display",Georgia,serif;--sans:"Poppins",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5vw,3.8rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
h3{font-size:1.3rem}
.eyebrow{font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--olive)}
.eyebrow.gold{color:var(--gold)}
.lead{font-size:1.18rem;color:var(--inkSoft)}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* buttons */
.btn{display:inline-block;font-weight:600;font-size:.95rem;padding:14px 28px;border-radius:2px;border:2px solid transparent;cursor:pointer;transition:all .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:#c8971f}
.btn-ghost-light{border-color:#fff;color:#fff}
.btn-ghost-light:hover{background:#fff;color:var(--ink)}
.btn-olive{background:var(--olive);color:#fff;padding:9px 18px;font-size:.88rem}
.btn-olive:hover{background:var(--oliveDeep)}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid transparent;transition:all .25s ease}
.site-head.solid{background:rgba(255,255,255,.95);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:var(--maxw);margin:0 auto}
.nav .brand img{height:56px;width:auto}
.nav ul{display:flex;gap:26px;list-style:none;align-items:center}
.nav a.navlink{font-weight:500;font-size:.93rem;color:var(--inkSoft);padding-bottom:4px;border-bottom:2px solid transparent}
.nav a.navlink:hover{color:var(--olive)}
.nav a.navlink.active{color:var(--olive);border-bottom-color:var(--gold)}
.menu-btn{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer}
.mobile-menu{display:none}

/* hero */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:104px 0 116px}
.hero.sub{padding:78px 0 84px}
.hero .bars{position:absolute;inset:0;opacity:.5;pointer-events:none}
.hero .bars i{position:absolute;bottom:0;width:46px;background:rgba(98,112,0,.4);transition:height 1.1s cubic-bezier(.2,.7,.2,1)}
.hero .wrap{position:relative;z-index:2;max-width:880px}
.hero h1{color:#fff;margin:18px 0 22px}
.hero .lead{color:#cfcdc6;max-width:620px;margin-bottom:34px}
.hero .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero .creds{margin-top:46px;display:flex;gap:26px;flex-wrap:wrap;font-size:.8rem;letter-spacing:.06em;color:#9c9a93;text-transform:uppercase}
.hero .creds span{display:flex;align-items:center;gap:8px}
.hero .creds span::before{content:"";width:6px;height:6px;background:var(--gold);display:inline-block}

.section{padding:84px 0}
.section.warm{background:var(--warm)}
.section.ink{background:var(--ink);color:#fff}
.section.ink h2{color:#fff}
.section-head{max-width:700px;margin-bottom:44px}
.section-head h2{margin:14px 0 16px}
.section-head p{color:var(--inkSoft)}
.section.ink .section-head p{color:#cfcdc6}

/* PACE */
.pace{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.14)}
.pace .tier{padding:30px 24px;border-right:1px solid rgba(255,255,255,.14);transition:background .25s ease}
.pace .tier:last-child{border-right:0}
.pace .tier:hover{background:rgba(98,112,0,.18)}
.pace .tier .lvl{font-family:var(--serif);font-size:2.2rem;color:var(--gold);line-height:1}
.pace .tier h3{color:#fff;font-size:1.05rem;margin:12px 0 8px;font-family:var(--sans);font-weight:600;letter-spacing:.04em}
.pace .tier p{font-size:.9rem;color:#b9b7b0}

/* service cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.svc-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--olive);padding:32px 28px;display:flex;flex-direction:column;cursor:pointer;transition:all .25s ease;height:100%}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(26,26,26,.12)}
.svc-card.as{border-top-color:var(--burgundy)}
.svc-card.vts{border-top-color:var(--gold)}
.svc-card.dark{border-top-color:var(--ink);cursor:default}
.svc-card.dark:hover{transform:none;box-shadow:none}
.svc-card h3{font-family:var(--serif);font-size:1.5rem;margin-bottom:6px}
.svc-card .tag{font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--olive);text-transform:uppercase;margin-bottom:14px}
.svc-card.as .tag{color:var(--burgundy)}
.svc-card.vts .tag{color:#b07d10}
.svc-card p{font-size:.95rem;color:var(--inkSoft);margin-bottom:18px}
.svc-card .price{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-family:var(--serif);font-size:1.15rem}
.svc-card .price small{display:block;font-family:var(--sans);font-size:.78rem;color:#777;font-weight:400}
.svc-card .more{margin-top:14px;font-weight:600;font-size:.88rem}
.svc-card .more.olive{color:var(--olive)}.svc-card .more.burg{color:var(--burgundy)}.svc-card .more.gold{color:#b07d10}

/* service detail */
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
.split.about{grid-template-columns:1fr 1.6fr;gap:48px}
.doctrine{font-size:.82rem;color:#8a8a8a;font-style:italic;margin-bottom:18px}
.phase{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}
.phase .n{flex-shrink:0;width:34px;height:34px;color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700}
.phase .h{font-weight:600;margin-bottom:4px}
.phase .d{font-size:.94rem;color:var(--inkSoft)}
.priceblock{background:var(--ink);color:#fff;padding:32px;position:sticky;top:90px}
.priceblock .il{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:18px}
.priceblock .row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.92rem}
.priceblock .row .amt{font-family:var(--serif);color:var(--gold);white-space:nowrap}
.priceblock .note{font-size:.8rem;color:#b9b7b0;margin:16px 0 20px}
.svc-links{margin-top:44px;display:flex;gap:16px;flex-wrap:wrap}
.svc-links a{font-size:.9rem;font-weight:600;padding-bottom:2px}

/* gallery */
.gallery{display:grid;gap:24px}
.gcard{cursor:pointer}
.gcard .frame{border:1px solid var(--line);background:var(--warm);padding:14px;border-radius:4px;transition:all .25s ease;position:relative;overflow:hidden}
.gcard:hover .frame{transform:translateY(-5px);box-shadow:0 18px 38px rgba(26,26,26,.16)}
.gcard .overlay{position:absolute;inset:14px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;opacity:0;transition:opacity .25s ease}
.gcard:hover .overlay{opacity:1;background:linear-gradient(to top,rgba(26,26,26,.55),transparent 55%)}
.gcard .overlay span{color:#fff;font-weight:600;font-size:.82rem;border:1.5px solid #fff;padding:7px 16px;border-radius:2px}
.gcard .lbl{margin-top:12px;font-size:.9rem;font-weight:600}
.gcard .sub{font-size:.78rem;font-weight:600}
.gnote{font-size:.8rem;color:#9c9a93;margin-top:18px;font-style:italic}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(20,20,20,.82);z-index:100;display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.open{display:flex}
.lightbox .inner{max-width:520px;width:100%;max-height:calc(100vh - 48px);position:relative;display:flex;flex-direction:column}
.lightbox .close{position:absolute;top:-34px;right:0;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;z-index:2}
.lightbox .shadow{box-shadow:0 30px 80px rgba(0,0,0,.5);overflow-y:auto;flex:1 1 auto;min-height:0}
.lightbox .cap{text-align:center;color:#cfcdc6;margin-top:12px;font-size:.9rem;flex:0 0 auto}

/* process */
.pstep{display:flex;gap:26px}
.pstep .col{display:flex;flex-direction:column;align-items:center}
.pstep .dot{width:52px;height:52px;flex-shrink:0;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.1rem;font-weight:700;transition:background .25s ease}
.pstep:hover .dot{background:var(--olive)}
.pstep .line{width:2px;flex:1;background:var(--line);margin-top:6px}
.pstep .when{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);font-weight:600;margin-bottom:4px}
.pstep h3{font-family:var(--serif);font-size:1.35rem;margin-bottom:8px}
.pstep .body p{color:var(--inkSoft);max-width:600px;padding-top:6px}

/* work */
.work-row{display:grid;grid-template-columns:auto 1fr;border:1px solid var(--line);background:#fff}
.work-row .badge{color:#fff;padding:26px 22px;display:flex;flex-direction:column;justify-content:center;min-width:210px}
.work-row .badge .s{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:6px}
.work-row .badge .nm{font-family:var(--serif);font-size:1.3rem;line-height:1.15}
.work-row .content{padding:26px 28px}
.work-row .content h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:10px}
.work-row .content p{color:var(--inkSoft);margin-bottom:12px}
.work-disc{background:var(--warm);border:1px solid var(--line);border-left:4px solid var(--gold);padding:22px 26px;margin-bottom:44px;max-width:760px}

/* about */
.bio-card{background:var(--ink);color:#fff;padding:34px;position:sticky;top:90px}
.bio-card.olive{background:var(--oliveDeep);position:static}
.bio-card .role{color:var(--gold);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;margin-bottom:16px}
.bio-card .nm{font-family:var(--serif);font-size:1.6rem;margin-bottom:4px}
.bio-card .deg{color:var(--gold);font-size:.9rem;margin-bottom:18px}
.bio-card ul{list-style:none;font-size:.9rem}
.bio-card ul li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#cfcdc6}
.bio-card ul li:last-child{border-bottom:0}
.voice{font-family:var(--serif);font-size:1.3rem;line-height:1.5;border-left:3px solid var(--gold);padding-left:20px;margin:0 0 22px}
.bio-body p{color:var(--inkSoft);margin-bottom:14px}
.creds-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.creds-grid .item{border-top:2px solid var(--olive);padding-top:12px}
.creds-grid .item .k{font-weight:600;font-size:.95rem}
.creds-grid .item .v{font-size:.88rem;color:#777}

/* cta band */
.cta-band{background:var(--olive);color:#fff;padding:72px 0;text-align:center}
.cta-band h2{color:#fff;margin-bottom:14px}
.cta-band p{color:#eef0e0;max-width:560px;margin:0 auto 28px}

/* contact */
.contact-list{list-style:none}
.contact-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.contact-list .k{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);font-weight:600}
.contact-list .v{font-size:1.1rem;margin-top:4px}
.schedule-card{background:var(--warm);border:1px solid var(--line);padding:34px}
.schedule-card h3{font-family:var(--serif);margin-bottom:10px}
.schedule-card p{color:var(--inkSoft);margin-bottom:20px;font-size:.96rem}

/* legal pages */
.legal-page{padding:64px 0 80px}
.legal-page .wrap{max-width:780px}
.legal-page .updated{font-size:.85rem;color:#888;margin-bottom:8px}
.legal-page .pending{background:#fbf3d6;border:1px solid var(--gold);border-left:4px solid var(--gold);padding:16px 18px;margin:22px 0 30px;font-size:.9rem;color:#5a4a12;border-radius:2px}
.legal-page h2{font-size:1.5rem;margin:34px 0 12px}
.legal-page h3{font-size:1.1rem;margin:22px 0 8px;font-family:var(--sans);font-weight:600}
.legal-page p{margin-bottom:14px;color:var(--inkSoft);font-size:.97rem}
.legal-page ul{margin:0 0 16px 22px}
.legal-page li{margin-bottom:8px;color:var(--inkSoft);font-size:.97rem}
.legal-page .placeholder{border:1px dashed #c9c6bd;background:var(--warm);padding:16px 18px;color:#8a8a8a;font-style:italic;font-size:.9rem;margin:14px 0;border-radius:2px}

/* footer */
.site-foot{background:var(--ink);color:#cfcdc6;padding:56px 0 30px;font-size:.88rem}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
.site-foot .brand-foot img{height:50px;margin-bottom:16px}
.site-foot p{color:#9c9a93;max-width:300px}
.site-foot h4{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;font-family:var(--sans)}
.site-foot ul{list-style:none}
.site-foot ul li{padding:5px 0}
.site-foot ul li a:hover{color:var(--gold)}
.foot-bottom{padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem;color:#7d7b75}
.foot-bottom .legal{max-width:640px;line-height:1.5}

/* draft banner */
.draft-banner{background:var(--burgundy);color:#fff;text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.06em;padding:8px 16px}
.draft-banner b{color:var(--gold)}

@media(max-width:880px){
  .nav ul{display:none}
  .menu-btn{display:block}
  .mobile-menu{display:none;list-style:none;border-top:1px solid var(--line);background:#fff;padding:6px 0}
  .mobile-menu.open{display:block}
  .mobile-menu li{padding:12px 24px}
  .mobile-menu li a{display:block;color:var(--inkSoft);font-weight:500}
  .pace{grid-template-columns:1fr 1fr}
  .grid3{grid-template-columns:1fr}
  .split,.split.about{grid-template-columns:1fr;gap:30px}
  .priceblock,.bio-card{position:static}
  .creds-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr 1fr}
  .work-row{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr !important}
}
@media(max-width:520px){
  .pace{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr !important}
}

/* ---- credentials strip (below hero) ---- */
.creds-strip{background:var(--warm);border-bottom:1px solid var(--line);padding:40px 0}
.creds-strip .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.creds-strip .item{padding:14px 22px;border-left:1px solid var(--line)}
.creds-strip .item:first-child{border-left:0}
.creds-strip .cat{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);font-weight:600;margin-bottom:6px}
.creds-strip .item.ac .cat{color:var(--burgundy)}
.creds-strip .item.co .cat{color:#b07d10}
.creds-strip .item.ip .cat{color:var(--ink)}
.creds-strip .val{font-family:var(--serif);font-size:1.02rem;line-height:1.25;color:var(--ink)}
.creds-strip .sub{font-size:.78rem;color:#777;margin-top:3px}
@media(max-width:880px){
  .creds-strip .grid{grid-template-columns:1fr 1fr}
  .creds-strip .item{border-left:0;border-top:1px solid var(--line);padding:14px 16px}
  .creds-strip .item:first-child,.creds-strip .item:nth-child(2){border-top:0}
}
@media(max-width:520px){
  .creds-strip .grid{grid-template-columns:1fr}
  .creds-strip .item{border-top:1px solid var(--line)!important}
  .creds-strip .item:first-child{border-top:0!important}
}

/* ---- grouped credentials (parent + sub-categories) ---- */
.creds-grouped{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:2px;overflow:hidden;background:#fff}
.creds-grouped .group{padding:24px 26px;border-right:1px solid var(--line)}
.creds-grouped .group:last-child{border-right:0}
.creds-grouped .group-head{font-family:var(--serif);font-size:1.15rem;color:var(--ink);margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--olive)}
.creds-grouped .group.mil .group-head{border-bottom-color:var(--olive)}
.creds-grouped .group.ind .group-head{border-bottom-color:#b07d10}
.creds-grouped .group.edu .group-head{border-bottom-color:var(--burgundy)}
.creds-grouped .sub{margin-bottom:14px}
.creds-grouped .sub:last-child{margin-bottom:0}
.creds-grouped .sub .k{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--olive);font-weight:600;margin-bottom:3px}
.creds-grouped .group.ind .sub .k{color:#b07d10}
.creds-grouped .group.edu .sub .k{color:var(--burgundy)}
.creds-grouped .sub .v{font-size:.92rem;color:var(--ink);line-height:1.35}
.creds-grouped .sub .d{font-size:.78rem;color:#777;margin-top:2px;line-height:1.4}
.creds-standalone{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-top:0;border-radius:0 0 2px 2px;overflow:hidden;background:var(--warm)}
.creds-standalone .item{padding:16px 26px;border-right:1px solid var(--line)}
.creds-standalone .item:last-child{border-right:0}
.creds-standalone .item .k{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:3px}
.creds-standalone .item .v{font-family:var(--serif);font-size:1rem;color:var(--ink)}
.creds-standalone .item .d{font-size:.78rem;color:#777;margin-top:2px}
@media(max-width:880px){
  .creds-grouped{grid-template-columns:1fr}
  .creds-grouped .group{border-right:0;border-bottom:1px solid var(--line)}
  .creds-grouped .group:last-child{border-bottom:0}
  .creds-standalone{grid-template-columns:1fr}
  .creds-standalone .item{border-right:0;border-bottom:1px solid var(--line)}
  .creds-standalone .item:last-child{border-bottom:0}
}


/* ---- clickable credential group tiles ---- */
.creds-strip .item-link{text-decoration:none;color:inherit;display:block;transition:background .15s ease;cursor:pointer;position:relative}
.creds-strip .item-link:hover{background:rgba(98,112,0,.05)}
.creds-strip .item-link::after{content:"\2192";position:absolute;top:14px;right:16px;color:var(--olive);opacity:0;transition:opacity .15s ease;font-size:.9rem}
.creds-strip .item-link:hover::after{opacity:.7}

/* ---- clickable service cards ---- */
a.svc-card-link{text-decoration:none;color:inherit;cursor:pointer}
a.svc-card-link:hover{transform:translateY(-3px)}

/* ===== rich sample deliverable pages ===== */
.dpage{position:relative;background:#fff;border:1px solid #e4e2dc;border-radius:3px;overflow:hidden;font-family:var(--sans);max-width:640px;margin:0 auto}
.dwm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font-family:var(--serif);font-size:1.5rem;letter-spacing:.15em;color:rgba(128,0,32,.07);font-weight:700;white-space:nowrap;pointer-events:none;text-transform:uppercase;z-index:0}
.dpage > *{position:relative;z-index:1}
.dhead{background:#1a1a1a;color:#fff;padding:16px 26px;display:flex;justify-content:space-between;align-items:center}
.dh-title{font-family:var(--serif);font-size:1.1rem}
.dh-sub{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.dh-meta{text-align:right;font-size:.6rem;color:#b9b7b0;line-height:1.5}
.dbody{padding:24px 26px 26px}
.dk{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);font-weight:600;margin:0 0 7px}
.dbody .dk:not(:first-child){margin-top:20px}
.dp{font-size:.8rem;color:#444;line-height:1.6;margin:0 0 16px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px}
.dcard{border:1px solid #e4e2dc;padding:11px 13px}
.dcard.olive{border-left:3px solid var(--olive)}
.dcard.gold{border-left:3px solid #b07d10}
.dcard.burg{border-left:3px solid var(--burgundy)}
.dc-k{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.dcard.olive .dc-k{color:var(--olive)}.dcard.gold .dc-k{color:#b07d10}.dcard.burg .dc-k{color:var(--burgundy)}
.dc-t{font-family:var(--serif);font-size:.92rem;margin:4px 0 5px}
.dc-d{font-size:.72rem;color:#666;line-height:1.5}
.dtable{width:100%;border-collapse:collapse;font-size:.75rem;margin-bottom:4px}
.dtable td{padding:7px 0;border-bottom:1px solid #e4e2dc;color:#444;vertical-align:top}
.dtable tr:last-child td{border-bottom:0}
.dtable .req{color:var(--olive);font-weight:600;text-align:right;white-space:nowrap;width:80px}
.dtable .dash{color:#b9b7b0;text-align:right}
.dtable .wh{color:#999;font-style:italic}
.dtable.matrix th{text-align:left;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:#888;font-weight:600;padding:0 10px 7px 0;border-bottom:1px solid #e4e2dc}
.dtable.matrix td{padding:7px 10px 7px 0;font-size:.72rem}
.dblackrow{display:flex;align-items:center;gap:10px;margin:14px 0 6px}
.dbl-label{font-size:.72rem;color:#444;white-space:nowrap}
.dbl-bar{flex:1;color:#1a1a1a;letter-spacing:-1px;overflow:hidden;font-size:.7rem;line-height:1}
.dnote{font-size:.68rem;color:#999;font-style:italic;margin:0}

.dquote{background:var(--warm);border:1px solid #e4e2dc;padding:12px 15px;display:flex;gap:11px;align-items:flex-start;margin-top:16px}
.dquote span{font-family:var(--serif);font-size:1.3rem;color:var(--olive);line-height:1}
.dquote div{font-size:.76rem;color:#555;line-height:1.55;font-style:italic}
.dpace{display:flex;flex-direction:column;gap:9px;margin-bottom:6px}
.dpace-row{display:flex;gap:11px;align-items:flex-start}
.dpace-l{width:24px;height:24px;border-radius:2px;color:#fff;font-family:var(--serif);font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dpace-l.p{background:var(--olive)}.dpace-l.a{background:#7a8a1a}.dpace-l.c{background:#b07d10}.dpace-l.e{background:var(--burgundy)}
.dpace-t{font-size:.78rem;font-weight:600;color:#333}
.dpace-d{font-size:.72rem;color:#666;line-height:1.45}
.droad{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.dmile{display:flex;align-items:center;gap:10px;font-size:.76rem;color:#444}
.dmile span{width:11px;height:11px;border-radius:50%;border:2px solid var(--olive);flex-shrink:0}
.dmile.done span{background:var(--olive)}
.dfoot{border-top:1px solid #e4e2dc;padding:10px 26px;display:flex;justify-content:space-between;font-size:.6rem;color:#999}

/* ===== multi-page lightbox pager ===== */
.lightbox .pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:10px;flex:0 0 auto}
.lightbox .pager button{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3);width:38px;height:38px;border-radius:50%;font-size:1.1rem;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center}
.lightbox .pager button:hover{background:rgba(255,255,255,.25)}
.lightbox .pager button:disabled{opacity:.3;cursor:default}
.lightbox .dots{display:flex;gap:7px;align-items:center}
.lightbox .dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:background .15s;display:block}
.lightbox .dots i.on{background:var(--gold);width:22px;border-radius:4px}
.lightbox .pgnum{color:#b9b7b0;font-size:.7rem;letter-spacing:.1em;min-width:54px;text-align:center}
@media(max-width:600px){.dgrid{grid-template-columns:1fr}.dtable.matrix{font-size:.66rem}}

/* ===== component card thumbnails ===== */
.dthumb{position:relative;background:#fff;border:1px solid var(--line);padding:22px 20px 18px;min-height:200px;display:flex;flex-direction:column;overflow:hidden}
.dthumb-wm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-22deg);font-family:var(--serif);font-size:1.7rem;letter-spacing:.2em;color:rgba(128,0,32,.06);font-weight:700;pointer-events:none}
.dthumb-k{position:relative;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:#888;font-weight:600;margin-bottom:8px}
.dthumb-t{position:relative;font-family:var(--serif);font-size:1.2rem;line-height:1.25;color:var(--ink);margin-bottom:auto}
.dthumb-pages{position:relative;display:flex;gap:5px;margin:16px 0 12px}
.dthumb-pages span{width:26px;height:34px;border:1px solid var(--line);background:var(--warm);border-radius:1px;position:relative}
.dthumb-pages span::before{content:"";position:absolute;top:5px;left:4px;right:4px;height:2px;background:#e0ded7}
.dthumb-pages span::after{content:"";position:absolute;top:11px;left:4px;right:8px;height:2px;background:#ece9e2}
.dthumb-cta{position:relative;font-size:.74rem;color:var(--olive);font-weight:600}
.gcard{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.gcard:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(26,26,26,.1)}
.gcard:hover .dthumb-cta{text-decoration:underline}

/* ===== scroll-driven motion (restrained) ===== */
/* scroll progress bar */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--olive),var(--gold));z-index:60;transition:width .1s linear;pointer-events:none}
/* staggered reveal children */
.stagger > *{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.stagger.in > *{opacity:1;transform:none}
.stagger.in > *:nth-child(1){transition-delay:.00s}
.stagger.in > *:nth-child(2){transition-delay:.08s}
.stagger.in > *:nth-child(3){transition-delay:.16s}
.stagger.in > *:nth-child(4){transition-delay:.24s}
.stagger.in > *:nth-child(5){transition-delay:.32s}
.stagger.in > *:nth-child(6){transition-delay:.40s}
/* directional reveals */
.reveal-l{opacity:0;transform:translateX(-30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal-r{opacity:0;transform:translateX(30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal-l.in,.reveal-r.in{opacity:1;transform:none}
/* parallax layer */
.parallax{will-change:transform}
/* scroll-linked underline on section eyebrows */
.section-head .eyebrow{position:relative;display:inline-block}
@media(prefers-reduced-motion:reduce){
  .scroll-prog{display:none}
  .stagger > *,.reveal-l,.reveal-r{opacity:1;transform:none;transition:none}
  .parallax{transform:none!important}
}

/* ===== sticky book-a-call ===== */
.sticky-cta{position:fixed;right:24px;bottom:24px;z-index:55;opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease;pointer-events:none}
.sticky-cta.show{opacity:1;transform:none;pointer-events:auto}
.sticky-cta a{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--ink);font-weight:600;font-size:.95rem;padding:14px 22px;border-radius:44px;box-shadow:0 10px 30px rgba(219,168,40,.4);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.sticky-cta a:hover{transform:translateY(-2px);box-shadow:0 14px 38px rgba(219,168,40,.5)}
.sticky-cta a svg{width:16px;height:16px}
@media(max-width:640px){
  .sticky-cta{right:0;left:0;bottom:0;padding:10px 14px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
  .sticky-cta a{width:100%;justify-content:center;border-radius:8px;padding:15px}
}
/* ===== CTA band (mid/closing) ===== */
.cta-band{background:var(--ink);color:#fff;text-align:center;padding:56px 24px}
.cta-band h3{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:10px}
.cta-band p{color:#c9c7c0;max-width:540px;margin:0 auto 24px;font-size:1rem}
.cta-band .btn-gold{font-size:1rem;padding:14px 30px}
/* ===== FAQ accordion ===== */
.faq{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:20px 40px 20px 0;font-family:var(--sans);font-size:1.05rem;font-weight:500;color:var(--ink);cursor:pointer;position:relative;transition:color .18s}
.faq-q:hover{color:var(--olive)}
.faq-q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--olive);transition:transform .25s}
.faq-item.open .faq-q::after{content:"\2212"}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--inkSoft);font-size:.98rem;line-height:1.6}
.faq-a > div{padding:0 0 20px}
.faq-item.open .faq-a{max-height:320px}
/* ===== count-up stat ===== */
.statrow{display:flex;flex-wrap:wrap;gap:32px;justify-content:center;padding:8px 0}
.stat{text-align:center;min-width:130px}
.stat .n{font-family:var(--serif);font-size:2.4rem;color:var(--olive);line-height:1;font-weight:600}
.stat .l{font-size:.82rem;color:var(--inkSoft);margin-top:6px;letter-spacing:.02em}
/* ===== headshot ===== */
.headshot-wrap{display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}
.headshot{width:220px;height:270px;object-fit:cover;border-radius:4px;border:1px solid var(--line);flex-shrink:0;box-shadow:0 12px 30px rgba(26,26,26,.1)}
.headshot-ph{width:220px;height:270px;border-radius:4px;border:2px dashed var(--line);flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--warm);color:#b9b7b0;text-align:center;padding:16px}
.headshot-ph span{font-size:2.2rem}
.headshot-ph small{font-size:.72rem;line-height:1.4}
@media(max-width:560px){.headshot,.headshot-ph{width:100%;height:auto;aspect-ratio:22/27}}

/* ===== thematic image backgrounds ===== */
.pace-bg{position:relative;background-image:linear-gradient(rgba(26,26,26,.9),rgba(26,26,26,.82)),url('img/mountain-peak.jpg');background-size:cover;background-position:center;background-attachment:fixed}
@media(max-width:768px){.pace-bg{background-attachment:scroll}}

/* ===== PACE dynamic flow ===== */
.pace-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:20px;position:relative}
.ptier{position:relative;padding:34px 26px 28px;border:1px solid rgba(255,255,255,.12);border-right:0;background:rgba(255,255,255,.015);transition:background .3s ease,transform .3s ease,box-shadow .3s ease}
.ptier:last-child{border-right:1px solid rgba(255,255,255,.12)}
.ptier:hover{background:rgba(98,112,0,.22);transform:translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,.4);z-index:2}
.ptier-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.plvl{font-family:var(--serif);font-size:2.8rem;line-height:1;color:var(--gold);position:relative;transition:text-shadow .3s ease}
.ptier:hover .plvl{text-shadow:0 0 24px rgba(219,168,40,.7)}
.pline{flex:1;height:2px;background:linear-gradient(90deg,rgba(219,168,40,.5),rgba(219,168,40,.05));position:relative}
.pline::after{content:"";position:absolute;right:-2px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-top:2px solid rgba(219,168,40,.5);border-right:2px solid rgba(219,168,40,.5);rotate:45deg}
.ptier h3{color:#fff;font-size:1.1rem;margin:0 0 8px;font-family:var(--sans);font-weight:600;letter-spacing:.03em}
.ptier p{font-size:.9rem;color:#b9b7b0;margin:0 0 18px;line-height:1.5}
.pstatus{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#7a8a3f;display:inline-flex;align-items:center;gap:7px}
.pstatus::before{content:"";width:7px;height:7px;border-radius:50%;background:#7a8a3f}
.ptier[data-level="1"] .pstatus{color:var(--gold)}
.ptier[data-level="1"] .pstatus::before{background:var(--gold);box-shadow:0 0 10px rgba(219,168,40,.8);animation:pulse-dot 2s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.4}}
.pace-note{text-align:center;margin-top:28px;color:var(--gold);font-family:var(--serif);font-size:1.15rem;font-style:italic;letter-spacing:.01em}
@media(prefers-reduced-motion:reduce){.ptier[data-level="1"] .pstatus::before{animation:none}}
@media(max-width:768px){.pace-flow{grid-template-columns:1fr 1fr}.ptier{border-right:1px solid rgba(255,255,255,.12)}.pline{display:none}}
@media(max-width:480px){.pace-flow{grid-template-columns:1fr}}

/* ===== comparison table ===== */
.cmp-table{width:100%;border-collapse:collapse;margin:8px 0;font-size:.94rem}
.cmp-table th,.cmp-table td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.cmp-table thead th{background:var(--ink);color:#fff;font-family:var(--serif);font-size:1.05rem;font-weight:500;border-bottom:0}
.cmp-table thead th:first-child{background:transparent}
.cmp-table tbody th{font-weight:600;color:var(--ink);width:180px;font-size:.88rem;letter-spacing:.01em}
.cmp-table tbody tr:hover{background:var(--warm)}
.cmp-table .accent-sa{border-top:3px solid var(--olive)}
.cmp-table .accent-as{border-top:3px solid var(--burgundy)}
.cmp-table .accent-vts{border-top:3px solid var(--gold)}
.cmp-wrap{overflow-x:auto;margin:12px 0 8px}
@media(max-width:680px){.cmp-table{font-size:.82rem}.cmp-table th,.cmp-table td{padding:11px 10px}.cmp-table tbody th{width:auto}}

/* ===== process flow / timeline ===== */
.flow{display:flex;align-items:stretch;gap:0;margin:16px 0;flex-wrap:wrap}
.flow-step{flex:1;min-width:150px;position:relative;padding:24px 20px;background:#fff;border:1px solid var(--line);text-align:center}
.flow-step:not(:last-child)::after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);z-index:2;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:10px solid var(--gold)}
.flow-step .fnum{width:38px;height:38px;border-radius:50%;background:var(--olive);color:#fff;font-family:var(--serif);font-size:1.15rem;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.flow-step h4{font-size:.98rem;margin:0 0 6px;color:var(--ink)}
.flow-step p{font-size:.82rem;color:var(--inkSoft);margin:0;line-height:1.45}
@media(max-width:680px){.flow{flex-direction:column}.flow-step:not(:last-child)::after{right:50%;top:auto;bottom:-9px;transform:translateX(50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:10px solid var(--gold);border-bottom:0}}

/* ===== stat blocks ===== */
.statblocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:16px 0}
.statblock{background:#fff;padding:28px 22px;text-align:center}
.statblock .big{font-family:var(--serif);font-size:2.6rem;color:var(--olive);line-height:1}
.statblock .lbl{font-size:.85rem;color:var(--inkSoft);margin-top:8px}
.statblock.dark{background:var(--ink)}
.statblock.dark .big{color:var(--gold)}
.statblock.dark .lbl{color:#c9c7c0}

/* ===== icon feature row ===== */
.ifeat{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin:16px 0}
.ifeat-item{display:flex;gap:14px;align-items:flex-start}
.ifeat-item .ico{flex-shrink:0;width:44px;height:44px;border-radius:8px;background:var(--warm);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--olive)}
.ifeat-item .ico svg{width:22px;height:22px}
.ifeat-item h4{font-size:.98rem;margin:0 0 4px;color:var(--ink)}
.ifeat-item p{font-size:.86rem;color:var(--inkSoft);margin:0;line-height:1.5}

/* ===== funding flow (VTS) ===== */
.fflow{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;margin:20px 0}
.ffnode{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:20px 22px;text-align:center;min-width:150px}
.ffnode .ft{font-family:var(--serif);font-size:1.05rem;color:var(--ink);margin-bottom:4px}
.ffnode .fd{font-size:.8rem;color:var(--inkSoft)}
.ffarrow{color:var(--gold);font-size:1.6rem;padding:0 14px;flex-shrink:0}
@media(max-width:680px){.fflow{flex-direction:column}.ffarrow{rotate:90deg;padding:8px 0}}

/* ===== callout band ===== */
.callout{background:var(--warm);border-left:4px solid var(--gold);padding:22px 26px;margin:20px 0;border-radius:0}
.callout p{margin:0;font-size:1.02rem;color:var(--ink);line-height:1.6}
.callout strong{color:var(--olive)}

/* ===== clickable flow steps (jump links) ===== */
.flow-step-link{text-decoration:none;color:inherit;flex:1;min-width:150px;display:flex}
.flow-step-link .flow-step{flex:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.flow-step-link:hover .flow-step{background:var(--warm);transform:translateY(-3px)}
.flow-step-link:hover .fnum{background:var(--gold);color:var(--ink)}
.flow-step-link .fnum{transition:background .2s ease,color .2s ease}
@media(max-width:680px){.flow-step-link{width:100%}}

/* ===== career timeline ===== */
.ctimeline{margin:20px 0;position:relative}
.ctl-item{display:flex;gap:20px;padding-bottom:26px;position:relative}
.ctl-item:last-child{padding-bottom:0}
.ctl-marker{flex-shrink:0;width:44px;display:flex;flex-direction:column;align-items:center}
.ctl-dot{width:14px;height:14px;border-radius:50%;background:var(--olive);border:3px solid var(--warm);box-shadow:0 0 0 1px var(--olive);z-index:2}
.ctl-item:last-child .ctl-dot{background:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.ctl-line{flex:1;width:2px;background:var(--line);margin-top:2px}
.ctl-item:last-child .ctl-line{display:none}
.ctl-body{padding-top:-2px}
.ctl-era{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:600}
.ctl-body h4{margin:2px 0 4px;font-size:1.02rem;color:var(--ink)}
.ctl-body p{margin:0;font-size:.88rem;color:var(--inkSoft);line-height:1.5}

/* ===== process step output tag ===== */
.step-out{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 14px;background:var(--warm);border:1px solid var(--line);border-radius:20px;font-size:.8rem;color:var(--ink)}
.step-out svg{width:15px;height:15px;color:var(--olive);flex-shrink:0}
.step-out strong{color:var(--olive);font-weight:600}
