/* ReDone inner pages (services, service areas). Builds on directions/c-blueprint/style.css. */
.pg .sec{padding-block:clamp(64px,9vw,128px)}
.pg-hero{padding-top:calc(var(--hdr) + clamp(32px,5vw,72px))!important}
.pg-hero__in{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.pg-hero__copy{display:grid;gap:22px;min-width:0}
.pg-h1{margin:0;display:grid;gap:4px}
.pg-h1 .eyebrow{margin:0 0 6px}
.pg-h1__t{font:300 clamp(2.2rem,5.4vw,4.4rem)/1.02 var(--f-disp);letter-spacing:-.035em}
.pg-h1__t em{font-style:normal;color:var(--gold)}
.pg-hero .hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.pg-hero__fine{color:var(--fg-3);margin:0}
.pg-hero__fig{margin:0;border:1px solid var(--rule);padding:8px}
.pg-hero__fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pg-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 10px;color:var(--fg-3)}
.pg-crumbs li+li::before{content:"/";margin-right:10px;color:var(--rule)}
.pg-crumbs a{color:var(--fg-2);text-decoration:none}
.pg-crumbs a:hover{color:var(--gold-hi)}

.pg-what{list-style:none;margin:clamp(32px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(11,22,51,.14);border:1px solid rgba(11,22,51,.14)}
.pg-what li{background:var(--vellum);padding:clamp(22px,3vw,36px);display:grid;gap:8px;align-content:start}
.pg-what .mono{color:var(--gold-ink)}
.pg-what h3{font:400 1.4rem/1.15 var(--f-disp);letter-spacing:-.02em;margin:0}
.pg-what p{margin:0;color:var(--vellum-2ink)}
.pg-what--navy{background:var(--rule-soft);border-color:var(--rule-soft)}
.pg-what--navy li{background:var(--navy-2)}
.pg-what--navy .mono{color:var(--gold)}
.pg-what--navy p{color:var(--fg-2)}
.pg-note{margin:28px 0 0;padding:18px 22px;border-left:3px solid var(--gold);background:rgba(214,167,58,.1);max-width:60em}
.pg-facts{margin:28px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid rgba(11,22,51,.18)}
.pg-facts div{padding:14px 16px 14px 0;border-bottom:1px solid rgba(11,22,51,.18)}
.pg-facts dt{color:var(--gold-ink);margin-bottom:4px}
.pg-facts dd{margin:0;color:var(--vellum-ink);text-transform:none;letter-spacing:.02em;font-size:.82rem}

.pg-tri{margin:clamp(32px,4vw,56px) 0 0}
.pg-tri__row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.5vw,20px)}
.pg-tri--2 .pg-tri__row{grid-template-columns:repeat(2,1fr)}
.pg-tri__row figure{margin:0;border:1px solid var(--rule);padding:6px}
.pg-tri__row img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pg-tri__row figcaption{padding:10px 4px 2px;color:var(--fg-2)}
.pg-tri__row figcaption b{color:var(--gold);margin-right:6px}
.pg-tri>figcaption{margin-top:14px;color:var(--fg-2);text-transform:none;letter-spacing:.02em}
.pg-tri>figcaption b{color:var(--white)}

.pg-steps{list-style:none;margin:clamp(32px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.pg-steps li{border-top:2px solid var(--gold-ink);padding-top:18px;display:grid;gap:8px;align-content:start}
.pg-steps .mono{color:var(--gold-ink)}
.pg-steps h3{font:400 1.35rem/1.15 var(--f-disp);margin:0}
.pg-steps p{margin:0;color:var(--vellum-2ink)}

.pg-rel{list-style:none;margin:clamp(32px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.pg-rel a{display:grid;gap:8px;text-decoration:none;color:var(--vellum-ink)}
.pg-rel img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(11,22,51,.18);padding:5px;background:#fff}
.pg-rel .mono{color:var(--gold-ink)}
.pg-rel b{font:400 1.3rem/1.2 var(--f-disp)}
.pg-rel a:hover b{text-decoration:underline;text-underline-offset:4px}
.pg-areas{margin:32px 0 0;color:var(--vellum-2ink)}
.pg-areas a{color:var(--vellum-ink);font-weight:600}

@media (max-width:960px){
  .pg-hero__in{grid-template-columns:1fr}
  .pg-hero__fig img{aspect-ratio:16/10}
  .pg-steps{grid-template-columns:repeat(2,1fr)}
  .pg-rel{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .pg-what,.pg-steps,.pg-rel{grid-template-columns:1fr}
  .pg-tri__row{grid-template-columns:1fr}
  .pg-tri--2 .pg-tri__row{grid-template-columns:1fr 1fr}
  .pg .gallery{grid-template-columns:1fr}
  .pg .g--wide{grid-column:auto}
  .pg-hero .hero__cta .btn{flex:1 1 100%}
}

/* ---------- Knowledge (guide list + articles) ---------- */
.kn-hero__in{display:grid;gap:22px}
.kn-hero__in>*{max-width:980px}
.kn-byline{color:var(--fg-3);margin:0}
.kn-chips{display:flex;flex-wrap:wrap;gap:8px}
.kn-chip{font:500 .85rem/1 var(--f-body);padding:10px 14px;border:1px solid rgba(11,22,51,.25);color:var(--vellum-ink);text-decoration:none;background:#fff}
.kn-chip:hover{border-color:var(--vellum-ink)}
.kn-chip.is-on{background:var(--navy);color:#fff;border-color:var(--navy)}
.kn-grid{list-style:none;margin:clamp(28px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px)}
.kn-card a{display:grid;gap:10px;text-decoration:none;color:var(--vellum-ink);height:100%}
.kn-card__img{display:block;border:1px solid rgba(11,22,51,.18);padding:5px;background:#fff}
.kn-card__img img{width:100%;aspect-ratio:16/10;object-fit:cover;height:auto}
.kn-card .mono{color:var(--gold-ink)}
.kn-card b{font:400 1.3rem/1.2 var(--f-disp);letter-spacing:-.01em}
.kn-card a:hover b{text-decoration:underline;text-underline-offset:4px}
.kn-card__ex{color:var(--vellum-2ink);font-size:.95rem}
.kn-empty{grid-column:1/-1;color:var(--vellum-2ink)}
.kn-empty a{color:var(--vellum-ink);font-weight:600}
.kn-pager{display:flex;justify-content:space-between;margin-top:40px}
.kn-pager a{color:var(--vellum-ink);text-decoration:none;border-bottom:1px solid currentColor}

.kn-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,72px);align-items:start}
.kn-prose{max-width:720px;color:var(--vellum-ink);font-size:1.06rem;line-height:1.72}
.kn-prose>*:first-child{margin-top:0}
.kn-prose h2{font:400 clamp(1.6rem,3vw,2.1rem)/1.15 var(--f-disp);letter-spacing:-.02em;margin:2.2em 0 .5em}
.kn-prose h3{font:500 1.25rem/1.3 var(--f-disp);margin:1.8em 0 .4em}
.kn-prose p,.kn-prose ul,.kn-prose ol{margin:0 0 1.1em}
.kn-prose li{margin:.3em 0}
.kn-prose a{color:var(--vellum-ink);font-weight:600;text-decoration-color:var(--gold-ink);text-underline-offset:3px}
.kn-prose img{height:auto}
.kn-prose figure{margin:1.6em 0}
.kn-prose figcaption{font:400 .78rem/1.5 var(--f-mono);letter-spacing:.04em;color:var(--vellum-2ink);margin-top:8px}
.kn-prose blockquote{margin:1.6em 0;padding:4px 0 4px 20px;border-left:3px solid var(--gold)}
.kn-prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem}
.kn-prose th,.kn-prose td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(11,22,51,.15);vertical-align:top}
.kn-prose th{font:500 .72rem/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.kn-prose .wp-block-table{overflow-x:auto;margin:1.4em 0}
.kn-prose .kn-note,.kn-prose .wp-block-group.is-style-note{padding:16px 20px;border-left:3px solid var(--gold);background:rgba(214,167,58,.1)}
.kn-feature{margin:0 0 32px;border:1px solid rgba(11,22,51,.18);padding:6px;background:#fff}
.kn-feature img{width:100%;height:auto}
.kn-side{position:sticky;top:calc(var(--hdr) + 24px)}
.kn-side__box{background:var(--navy);color:#fff;padding:24px;display:grid;gap:12px;border:1px solid var(--rule)}
.kn-side__box .mono{color:var(--gold)}
.kn-side__box p{margin:0;color:var(--fg-2)}
.kn-side__t{font:400 1.35rem/1.2 var(--f-disp);color:#fff!important}
.kn-side__svc{color:var(--gold-hi);text-decoration:none;font-weight:600}
.kn-side__box .small{color:var(--fg-3)}
.kn-related .h2{margin-bottom:8px}
@media (max-width:960px){
  .kn-grid{grid-template-columns:repeat(2,1fr)}
  .kn-cols{grid-template-columns:1fr}
  .kn-side{position:static}
}
@media (max-width:600px){
  .kn-grid{grid-template-columns:1fr}
  .kn-prose{font-size:1rem}
}

/* ---------- Library (bookshelf) ---------- */
.lb-search{display:flex;align-items:center;gap:14px;max-width:720px;background:#fff;border:1px solid var(--rule);padding:4px 16px 4px 4px;margin-top:6px}
.lb-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--vellum-ink);font:500 1.05rem/1 var(--f-body);padding:14px 12px}
.lb-search:focus-within{outline:2px solid var(--gold-hi);outline-offset:2px}
.lb-search__n{color:var(--gold-ink);white-space:nowrap}
.lb-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.lb-chip{font:500 .85rem/1 var(--f-body);padding:10px 14px;border:1px solid var(--rule);background:transparent;color:#fff;cursor:pointer}
.lb-chip:hover{border-color:var(--gold)}
.lb-chip.is-on{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.lb-shelf{margin-top:clamp(40px,5vw,72px)}
.lb-shelf:first-child{margin-top:0}
.lb-shelf__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:22px}
.lb-shelf__t{font:400 clamp(1.6rem,3vw,2.2rem)/1.1 var(--f-disp);letter-spacing:-.02em;margin:0;color:var(--vellum-ink)}
.lb-shelf__head p{margin:0;color:var(--vellum-2ink)}
.lb-shelf__head p a{color:var(--vellum-ink);font-weight:600}
.lb-shelf__n{margin-left:auto;color:var(--gold-ink)}
.lb-row{list-style:none;margin:0;padding:0 6px;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:clamp(18px,2.5vw,34px);align-items:start}
.lb-item--video{grid-column:span 2}
.lb-item{display:grid;gap:6px;align-content:start}
.lb-item__link{display:grid;gap:8px;text-decoration:none;color:var(--vellum-ink)}
.lb-book{display:block;position:relative;transform:perspective(900px) rotateY(-14deg);transform-origin:left center;transition:transform .35s var(--ease);box-shadow:14px 14px 22px -10px rgba(11,22,51,.45),2px 2px 0 rgba(11,22,51,.12);border-radius:2px 5px 5px 2px;overflow:hidden;background:#fff}
.lb-book::before{content:"";position:absolute;inset:0 auto 0 0;width:9%;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.05) 60%,rgba(255,255,255,.18));z-index:1}
.lb-book::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 35%);z-index:1;pointer-events:none}
.lb-book img{width:100%;height:auto;aspect-ratio:8.5/11;object-fit:cover}
.lb-item__link:hover .lb-book,.lb-item__link:focus-visible .lb-book{transform:perspective(900px) rotateY(-4deg) translateY(-6px)}
.lb-case{display:block;position:relative;border:1px solid rgba(11,22,51,.2);padding:5px;background:#0b1633;box-shadow:10px 12px 20px -10px rgba(11,22,51,.5)}
.lb-case img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.lb-play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(214,167,58,.95)}
.lb-play::after{content:"";position:absolute;left:21px;top:16px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--navy)}
.lb-item__meta{color:var(--gold-ink);margin-top:10px}
.lb-item__t{font:400 1.2rem/1.2 var(--f-disp)}
.lb-item__link:hover .lb-item__t{text-decoration:underline;text-underline-offset:4px}
.lb-item__s{font-size:.85rem;color:var(--vellum-2ink);line-height:1.4}
.lb-item__dl{color:var(--vellum-ink);text-decoration:none;border-bottom:1px solid var(--gold-ink);justify-self:start;padding-bottom:2px}
.lb-item__dl:hover{color:var(--gold-ink)}
.lb-ledge{height:14px;margin-top:-2px;background:linear-gradient(#cdbf9f,#b9a77f);box-shadow:0 10px 18px -8px rgba(11,22,51,.45);border-radius:1px;position:relative;z-index:0}
.lb-row+.lb-ledge{margin-top:18px}
.lb-soon{grid-column:1/-1;display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.lb-soon__book{width:110px;aspect-ratio:8.5/11;border:2px dashed rgba(11,22,51,.25);border-radius:2px 5px 5px 2px}
.lb-soon p{margin:0 0 6px 10px;color:var(--vellum-2ink);max-width:28em}
.lb-none{margin-top:32px;color:var(--vellum-2ink)}
.lb-none a{color:var(--vellum-ink);font-weight:600}
.lb-hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:center}
.lb-hero__in--video{grid-template-columns:1fr 1.1fr}
.lb-hero__copy{display:grid;gap:22px;min-width:0}
.lb-hero__copy .hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.lb-book--lg{max-width:420px;justify-self:center;transform:perspective(1200px) rotateY(-12deg)}
.lb-hero__media{display:grid}
.lb-player{border:1px solid var(--rule);padding:8px;background:#000}
.lb-player video{width:100%;height:auto;display:block}
.lb-facts{margin:0;display:flex;flex-wrap:wrap;gap:10px 32px}
.lb-facts dt{color:var(--gold)}
.lb-facts dd{margin:4px 0 0;color:var(--fg-2);text-transform:none;letter-spacing:.02em}
.lb-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start}
.lb-detail .h2{font-size:clamp(1.8rem,3.4vw,2.8rem);margin-bottom:24px}
.lb-toc{list-style:none;margin:0;padding:0;border-top:1px solid rgba(11,22,51,.15)}
.lb-toc li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid rgba(11,22,51,.15);color:var(--vellum-ink)}
.lb-toc .mono{color:var(--gold-ink);min-width:2em}
.lb-why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}
.lb-why b{display:block;font:500 1.1rem/1.25 var(--f-disp);color:var(--vellum-ink);margin-bottom:4px}
.lb-why span{color:var(--vellum-2ink);font-size:.95rem}
.lb-check{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lb-check li{position:relative;padding-left:30px;color:var(--fg-2)}
.lb-check li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.lb-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.lb-tags li{border:1px solid var(--rule);padding:10px 14px;color:#fff;font-size:.92rem}
.lb-svc{margin:28px 0 0}
.lb-about{max-width:46em;color:var(--vellum-2ink);font-size:1.05rem}
.lb-about a{color:var(--vellum-ink);font-weight:600}
.lb-btn-ink{--c:var(--vellum-ink);--bd:var(--vellum-ink)}
@media (max-width:960px){
  .lb-hero__in,.lb-hero__in--video,.lb-detail{grid-template-columns:1fr}
  .lb-book--lg{max-width:300px}
}
@media (max-width:600px){
  .lb-row{grid-template-columns:repeat(2,1fr)}
  .lb-item--video{grid-column:1/-1}
  .lb-why{grid-template-columns:1fr}
  .lb-search{flex-wrap:wrap;padding-right:4px}
  .lb-search__n{padding:0 12px 10px}
  .lb-shelf__n{margin-left:0}
}
@media (prefers-reduced-motion:reduce){.lb-book{transition:none}}
