/* heru-services: SERVICES block family. Tokens only. Font names stay (no Jost token, Manrope and Inter are loaded). Hover rules sit inside the hover-capable query. */
/* global: eyebrow lines are off site wide (replaces the old important rule in Custom CSS; the extra element in the selector out-ranks a single class) */
html .eyebrow::before { content:none; }
/* breadcrumb */
.breadcrumb { padding: 0.85rem clamp(1.25rem, 5vw, 3rem); }
.breadcrumb-inner { max-width: 1180px; margin: 0 auto; display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; line-height: 1; letter-spacing: 0.02em; }
.breadcrumb-inner a { text-decoration: none; transition: color 0.2s ease; }
.breadcrumb-current { font-weight: 500; }
.breadcrumb-parent:empty { display: none; }
.breadcrumb-parent:empty + .breadcrumb-sep-parent { display: none; }
/* service-hero */
.svc-hero { --ink:var(--wp--preset--color--heru-ink); --cream:var(--wp--preset--color--light-gray); --primary:var(--wp--preset--color--primary); --gutter:clamp(1.25rem,5vw,8.125rem); position:relative; overflow:hidden; background:var(--primary); padding:clamp(3.5rem,8vw,6.25rem) var(--gutter); }
.svc-hero *, .svc-hero *::before, .svc-hero *::after { box-sizing:border-box; margin:0; }
.svc-hero .svc-hero-bg { position:absolute; inset:0; background-color:var(--wp--preset--color--secondary); background-image:var(--svc-hero-bg); background-size:cover; background-position:center; opacity:.7; }
.svc-hero .svc-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, var(--wp--preset--color--primary) 0%, color-mix(in srgb,var(--wp--preset--color--primary) 52%,transparent) 57%, color-mix(in srgb,var(--wp--preset--color--primary) 0%,transparent) 100%); }
.svc-hero .svc-hero-inner { position:relative; z-index:1; max-width:1180px; margin:0 auto; }
.svc-hero .svc-hero-content { max-width:720px; display:flex; flex-direction:column; gap:1.75rem; }
.svc-hero .eyebrow { font-family:'Inter',sans-serif; font-size:.75rem; font-weight:500; letter-spacing:.3em; text-transform:uppercase; color:var(--wp--preset--color--accent-1); }
.svc-hero h1 { font-family:'Jost',sans-serif; font-weight:600; font-size:clamp(2.5rem,5vw,3.5rem); line-height:1.07; color:var(--cream); letter-spacing:-.01em; max-width:15ch; }
.svc-hero h1 em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-hero .svc-hero-sub { font-family:'Manrope',sans-serif; font-size:1.125rem; line-height:1.78; color:var(--wp--preset--color--white); max-width:560px; font-weight:400; }
.svc-hero .svc-hero-actions { display:flex; gap:1.25rem; align-items:center; flex-wrap:wrap; }
.svc-hero .btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-family:'Inter',sans-serif; font-size:.9375rem; font-weight:500; padding:.875rem 1.625rem; border-radius:2px; text-decoration:none; border:1px solid transparent; transition:background .2s ease, border-color .2s ease; }
.svc-hero .btn-hero-primary { background:var(--cream); color:var(--ink); }
@media (hover:hover) and (pointer:fine) { .svc-hero .btn-hero-primary:hover { background:var(--wp--preset--color--white); } }
.svc-hero .btn-hero-outline { background:transparent; border-color:var(--wp--preset--color--white); color:var(--cream); }
@media (hover:hover) and (pointer:fine) { .svc-hero .btn-hero-outline:hover { background:color-mix(in srgb,var(--wp--preset--color--white) 12%,transparent); } }
.svc-hero .svc-hero-trust { display:flex; gap:.9rem; align-items:center; margin-top:.25rem; }
.svc-hero .svc-hero-trust .tick { flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:var(--wp--preset--color--accent-1); display:flex; align-items:center; justify-content:center; }
.svc-hero .svc-hero-trust .tick svg { width:15px; height:15px; stroke:var(--wp--preset--color--white); fill:none; stroke-width:2.5; }
.svc-hero .svc-hero-trust p { font-family:'Manrope',sans-serif; font-size:1rem; line-height:1.5; color:var(--wp--preset--color--white); max-width:560px; }
@media (max-width:768px) { .svc-hero .svc-hero-overlay { background:linear-gradient(180deg, color-mix(in srgb,var(--wp--preset--color--primary) 82%,transparent), color-mix(in srgb,var(--wp--preset--color--primary) 70%,transparent)); } }
/* service-intro-band */
.svc-intro { --deep-cream:var(--wp--preset--color--heru-sand-deep); --ink:var(--wp--preset--color--heru-ink); --ink-mid:var(--wp--preset--color--heru-ink-mid); --gutter:clamp(1.25rem,5vw,8.125rem); background:var(--deep-cream); padding:clamp(3.5rem,8vw,6rem) var(--gutter); }
.svc-intro *, .svc-intro *::before, .svc-intro *::after { box-sizing:border-box; margin:0; }
.svc-intro .svc-intro-inner { max-width:880px; margin:0 auto; display:flex; flex-direction:column; gap:1.5rem; }
.svc-intro .svc-intro-lead { font-family:'Jost',sans-serif; font-weight:500; font-size:clamp(1.5rem,2.4vw,1.875rem); line-height:1.4; color:var(--ink); letter-spacing:-.005em; }
.svc-intro .svc-intro-lead em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-intro .svc-intro-support { font-family:'Manrope',sans-serif; font-weight:500; font-size:1.125rem; line-height:1.5; color:var(--ink-mid); }
/* service-requirements */
.svc-req { --cream:var(--wp--preset--color--light-gray); --taupe:var(--wp--preset--color--secondary); --ink:var(--wp--preset--color--heru-ink); --ink-mid:var(--wp--preset--color--heru-ink-mid); --warm:var(--wp--preset--color--numeral); --gutter:clamp(1.25rem,5vw,8.125rem); background:var(--cream); padding:clamp(3.5rem,8vw,5.5rem) var(--gutter); }
.svc-req *, .svc-req *::before, .svc-req *::after { box-sizing:border-box; margin:0; }
.svc-req .svc-req-inner { max-width:1180px; margin:0 auto; display:flex; flex-direction:column; gap:2.5rem; }
.svc-req .svc-req-header { max-width:702px; display:flex; flex-direction:column; gap:1.25rem; }
.svc-req .eyebrow { display:inline-flex; align-items:center; gap:.625rem; font-family:'Manrope',sans-serif; font-size:.75rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--wp--preset--color--accent-1); }
.svc-req .eyebrow::before { content:none; width:28px; height:1px; background:var(--wp--preset--color--accent-1); }
.svc-req h2 { font-family:'Jost',sans-serif; font-weight:500; font-size:clamp(2rem,3.4vw,2.625rem); line-height:1.1; color:var(--ink); letter-spacing:-.015em; }
.svc-req h2 em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-req .svc-req-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--taupe); border:1px solid var(--taupe); }
.svc-req .svc-req-card { background:var(--cream); padding:2.5rem 2rem; display:flex; flex-direction:column; gap:.875rem; }
.svc-req span.svc-req-num { display:block; font-family:'Jost',sans-serif; font-style:italic; font-weight:400; font-size:3.5rem; line-height:1; color:var(--warm); letter-spacing:-.01em; }
.svc-req .svc-req-card h3 { font-family:'Jost',sans-serif; font-weight:600; font-size:1.375rem; line-height:1.2; color:var(--ink); }
.svc-req .svc-req-card p { font-family:'Manrope',sans-serif; font-weight:300; font-size:.875rem; line-height:1.7; color:var(--ink-mid); }
@media (max-width:900px) { .svc-req .svc-req-grid { grid-template-columns:1fr; } }
/* service-provision (4 and 5 step share these rules) */
.svc-prov { --ink:var(--wp--preset--color--heru-ink); --ink-mid:var(--wp--preset--color--heru-ink-mid); --rule:var(--wp--preset--color--heru-rule); --warm:var(--wp--preset--color--numeral); --gutter:clamp(1.25rem,5vw,8.125rem); background:var(--wp--preset--color--white); padding:clamp(3.5rem,8vw,5.5rem) var(--gutter); }
.svc-prov *, .svc-prov *::before, .svc-prov *::after { box-sizing:border-box; margin:0; }
.svc-prov .svc-prov-inner { max-width:1180px; margin:0 auto; display:flex; flex-direction:column; gap:3rem; }
.svc-prov .svc-prov-header { max-width:702px; display:flex; flex-direction:column; gap:1.25rem; }
.svc-prov .eyebrow { display:inline-flex; align-items:center; gap:.625rem; font-family:'Manrope',sans-serif; font-size:.75rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--wp--preset--color--accent-1); }
.svc-prov .eyebrow::before { content:none; width:28px; height:1px; background:var(--wp--preset--color--accent-1); }
.svc-prov h2 { font-family:'Jost',sans-serif; font-weight:500; font-size:clamp(2rem,3.4vw,2.625rem); line-height:1.1; color:var(--ink); letter-spacing:-.015em; }
.svc-prov h2 em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-prov .svc-prov-list { border-top:1px solid var(--rule); }
.svc-prov .svc-prov-row { display:grid; grid-template-columns:80px 1fr; gap:2.5rem; padding:2.5rem 0; border-bottom:1px solid var(--rule); }
.svc-prov p.svc-prov-num { font-family:'Jost',sans-serif; font-style:italic; font-weight:400; font-size:3rem; line-height:1; color:var(--warm); letter-spacing:-.01em; opacity:.85; }
.svc-prov .svc-prov-text { display:flex; flex-direction:column; gap:.85rem; }
.svc-prov .svc-prov-text h3 { font-family:'Jost',sans-serif; font-weight:600; font-size:1.6rem; line-height:1.2; color:var(--ink); letter-spacing:-.005em; }
.svc-prov .svc-prov-text p { font-family:'Manrope',sans-serif; font-weight:300; font-size:1rem; line-height:1.7; color:var(--ink-mid); max-width:642px; }
@media (max-width:680px) { .svc-prov .svc-prov-row { grid-template-columns:48px 1fr; gap:1.25rem; } .svc-prov p.svc-prov-num { font-size:2.25rem; } }
/* service-timescales */
.svc-time { --surface:var(--wp--preset--color--heru-surface); --taupe:var(--wp--preset--color--secondary); --ink:var(--wp--preset--color--heru-ink); --ink-mid:var(--wp--preset--color--heru-ink-mid); --ink-light:var(--wp--preset--color--heru-ink-light); --rule:var(--wp--preset--color--heru-rule); --gutter:clamp(1.25rem,5vw,8.125rem); background:var(--surface); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:clamp(3.5rem,8vw,5.5rem) var(--gutter); }
.svc-time *, .svc-time *::before, .svc-time *::after { box-sizing:border-box; margin:0; }
.svc-time .svc-time-inner { max-width:1180px; margin:0 auto; display:flex; flex-direction:column; gap:1.5rem; }
.svc-time .svc-time-header { max-width:702px; display:flex; flex-direction:column; gap:1.25rem; }
.svc-time .eyebrow { display:inline-flex; align-items:center; gap:.625rem; font-family:'Manrope',sans-serif; font-size:.75rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--wp--preset--color--accent-1); }
.svc-time .eyebrow::before { content:none; width:28px; height:1px; background:var(--wp--preset--color--accent-1); }
.svc-time h2 { font-family:'Jost',sans-serif; font-weight:500; font-size:clamp(2rem,3.4vw,2.625rem); line-height:1.1; color:var(--ink); letter-spacing:-.015em; }
.svc-time h2 em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-time .svc-time-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--taupe); border:1px solid var(--taupe); }
.svc-time .svc-time-card { background:var(--surface); padding:1.875rem; display:flex; flex-direction:column; gap:.75rem; }
.svc-time .svc-time-mark { font-family:'Jost',sans-serif; font-style:italic; font-weight:400; font-size:1.125rem; color:var(--wp--preset--color--accent-1); }
.svc-time .svc-time-card h3 { font-family:'Manrope',sans-serif; font-weight:600; font-size:1.5rem; line-height:1.2; color:var(--ink); }
.svc-time .svc-time-card p { font-family:'Manrope',sans-serif; font-weight:300; font-size:.875rem; line-height:1.6; color:var(--ink-mid); }
.svc-time .svc-time-caption { font-family:'Inter',sans-serif; font-style:italic; font-weight:300; font-size:.85rem; line-height:1.55; color:var(--ink-light); max-width:720px; }
@media (max-width:680px) { .svc-time .svc-time-grid { grid-template-columns:1fr; } }
/* service-anchor-quote */
.svc-quote { --primary:var(--wp--preset--color--primary); --cream:var(--wp--preset--color--light-gray); --gutter:clamp(1.25rem,5vw,8.125rem); position:relative; overflow:hidden; background:var(--primary); padding:clamp(4rem,9vw,6.875rem) var(--gutter); }
.svc-quote *, .svc-quote *::before, .svc-quote *::after { box-sizing:border-box; margin:0; }
.svc-quote .svc-quote-bg { position:absolute; inset:0; background-image:var(--svc-quote-bg); background-size:cover; background-position:center; opacity:.2; }
.svc-quote .svc-quote-inner { position:relative; z-index:1; max-width:1000px; margin:0 auto; display:flex; gap:2.5rem; align-items:flex-start; }
.svc-quote .svc-quote-mark { font-family:'Manrope',sans-serif; font-weight:400; font-size:7.5rem; line-height:.78; color:var(--wp--preset--color--accent-1); flex:0 0 auto; }
.svc-quote .svc-quote-text { font-family:'Inter',sans-serif; font-weight:400; font-size:clamp(1.75rem,3.2vw,2.5rem); line-height:1.25; color:var(--cream); max-width:820px; letter-spacing:-.01em; }
@media (max-width:680px) { .svc-quote .svc-quote-inner { gap:1rem; } .svc-quote .svc-quote-mark { font-size:4.5rem; } }
/* service-featured (picker-driven featured project, uses the service-project-card template) */
.svc-proj { --cream:var(--wp--preset--color--light-gray); --deep-cream:var(--wp--preset--color--heru-sand-deep); --surface:var(--wp--preset--color--white); --ink:var(--wp--preset--color--heru-ink); --ink-mid:var(--wp--preset--color--heru-ink-mid); --ink-light:var(--wp--preset--color--heru-ink-light); --rule:var(--wp--preset--color--heru-rule); --gutter:clamp(1.25rem,5vw,8.125rem); background:var(--cream); padding:clamp(3.5rem,8vw,5.5rem) var(--gutter); }
.svc-proj *, .svc-proj *::before, .svc-proj *::after { box-sizing:border-box; margin:0; }
.svc-proj .svc-proj-inner { max-width:1180px; margin:0 auto; display:flex; flex-direction:column; gap:2.5rem; }
.svc-proj .svc-proj-header { max-width:702px; display:flex; flex-direction:column; gap:1.25rem; }
.svc-proj .eyebrow { display:inline-flex; align-items:center; gap:.625rem; font-family:'Manrope',sans-serif; font-size:.75rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--wp--preset--color--accent-1); }
.svc-proj .eyebrow::before { content:none; width:28px; height:1px; background:var(--wp--preset--color--accent-1); }
.svc-proj h2 { font-family:'Jost',sans-serif; font-weight:500; font-size:clamp(2rem,3.4vw,2.625rem); line-height:1.1; color:var(--ink); letter-spacing:-.015em; }
.svc-proj h2 em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-proj .svc-proj-feature { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--rule); }
.svc-proj .svc-proj-image { position:relative; background-color:var(--deep-cream); background-size:cover; background-position:center; border-right:1px solid var(--rule); min-height:360px; }
.svc-proj .svc-proj-image::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(45deg,transparent 0 12px,color-mix(in srgb,var(--wp--preset--color--heru-ink) 3%,transparent) 12px 13px); }
.svc-proj .svc-proj-caption { position:absolute; bottom:1rem; left:1rem; background:var(--wp--preset--color--heru-surface); font-family:'Inter',sans-serif; font-style:italic; font-size:.72rem; color:var(--wp--preset--color--heru-caption); padding:.3rem .625rem; letter-spacing:.02em; z-index:1; }
.svc-proj .svc-proj-card { background:var(--surface); padding:2.5rem 1.875rem; display:flex; flex-direction:column; gap:1.25rem; }
.svc-proj .svc-proj-meta { display:flex; flex-wrap:wrap; gap:.5rem; font-family:'Inter',sans-serif; font-weight:300; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mid); }
.svc-proj .svc-proj-meta span:not(:last-child)::after { content:'\00B7'; margin-left:.5rem; color:var(--rule); }
.svc-proj .svc-proj-card h3 { font-family:'Jost',sans-serif; font-weight:600; font-size:2rem; line-height:1.15; color:var(--ink); letter-spacing:-.01em; }
.svc-proj .svc-proj-sub { font-family:'Jost',sans-serif; font-style:italic; font-weight:300; font-size:.95rem; line-height:1.7; color:var(--ink-mid); }
.svc-proj .svc-proj-body { font-family:'Inter',sans-serif; font-weight:300; font-size:.95rem; line-height:1.7; color:var(--ink-mid); }
.svc-proj .svc-proj-link { font-family:'Inter',sans-serif; font-weight:500; font-size:.875rem; color:var(--wp--preset--color--accent-1); text-decoration:none; display:inline-flex; align-items:center; gap:.4rem; }
.svc-proj .svc-proj-browse { border-top:1px solid var(--rule); padding-top:2.5rem; display:flex; flex-direction:column; gap:1.25rem; align-items:center; }
.svc-proj .svc-proj-browse-label { font-family:'Inter',sans-serif; font-weight:500; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-light); text-align:center; }
.svc-proj .svc-proj-pills { display:flex; flex-wrap:wrap; gap:.625rem; justify-content:center; }
.svc-proj .svc-proj-pill { display:inline-flex; align-items:center; padding:.45rem .95rem; background:var(--cream); border:1px solid var(--rule); border-radius:100px; font-family:'Inter',sans-serif; font-size:.825rem; color:var(--ink-mid); text-decoration:none; transition:background .2s ease, color .2s ease, border-color .2s ease; }
@media (hover:hover) and (pointer:fine) { .svc-proj .svc-proj-pill:hover { background:var(--wp--preset--color--accent-1); border-color:var(--wp--preset--color--accent-1); color:var(--wp--preset--color--white); } }
@media (max-width:780px) { .svc-proj .svc-proj-feature { grid-template-columns:1fr; } .svc-proj .svc-proj-image { border-right:none; border-bottom:1px solid var(--rule); } }
/* service-faqs */
.svc-faqs { --surface:var(--wp--preset--color--white); --ink:var(--wp--preset--color--heru-ink); --ink-mid:var(--wp--preset--color--heru-ink-mid); --ink-light:var(--wp--preset--color--heru-ink-light); --rule:var(--wp--preset--color--heru-rule); --gutter:clamp(1.25rem,5vw,8.125rem); background:var(--surface); padding:clamp(3.5rem,8vw,5.5rem) var(--gutter); }
.svc-faqs *, .svc-faqs *::before, .svc-faqs *::after { box-sizing:border-box; margin:0; }
.svc-faqs .svc-faqs-inner { max-width:840px; margin:0 auto; display:flex; flex-direction:column; gap:2.25rem; }
.svc-faqs .svc-faqs-header { display:flex; flex-direction:column; gap:1.25rem; }
.svc-faqs .eyebrow { display:inline-flex; align-items:center; gap:.625rem; font-family:'Manrope',sans-serif; font-size:.75rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--wp--preset--color--accent-1); }
.svc-faqs .eyebrow::before { content:none; width:28px; height:1px; background:var(--wp--preset--color--accent-1); }
.svc-faqs h2 { font-family:'Jost',sans-serif; font-weight:600; font-size:clamp(2rem,3.4vw,2.625rem); line-height:1.1; color:var(--ink); letter-spacing:-.015em; }
.svc-faqs h2 em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-faqs .svc-faqs-list { border-top:1px solid var(--rule); }
.svc-faqs details { border-bottom:1px solid var(--rule); }
.svc-faqs summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.375rem .625rem; font-family:'Inter',sans-serif; font-weight:500; font-size:1.125rem; color:var(--ink); }
.svc-faqs summary::-webkit-details-marker { display:none; }
.svc-faqs summary .svc-faq-icon { flex:0 0 auto; position:relative; width:18px; height:18px; }
.svc-faqs summary .svc-faq-icon::before, .svc-faqs summary .svc-faq-icon::after { content:''; position:absolute; background:var(--ink-light); transition:transform .2s ease, opacity .2s ease; }
.svc-faqs summary .svc-faq-icon::before { top:8px; left:0; width:18px; height:2px; }
.svc-faqs summary .svc-faq-icon::after { left:8px; top:0; width:2px; height:18px; }
.svc-faqs details[open] summary .svc-faq-icon::after { transform:rotate(90deg); opacity:0; }
.svc-faqs .svc-faq-a { padding:0 .625rem 1.5rem; font-family:'Inter',sans-serif; font-weight:300; font-size:1rem; line-height:1.7; color:var(--ink-mid); max-width:680px; }
/* services-archive-hero */
.svc-arch-hero { --ink:var(--wp--preset--color--heru-ink); --cream:var(--wp--preset--color--light-gray); --primary:var(--wp--preset--color--primary); --gutter:clamp(1.25rem,5vw,8.125rem); position:relative; overflow:hidden; background:var(--primary); padding:clamp(3.5rem,8vw,6.25rem) var(--gutter); }
.svc-arch-hero *, .svc-arch-hero *::before, .svc-arch-hero *::after { box-sizing:border-box; margin:0; }
.svc-arch-hero .svc-arch-hero-bg { position:absolute; inset:0; background-color:var(--wp--preset--color--secondary); background-image:var(--svc-arch-hero-bg); background-size:cover; background-position:center; opacity:.7; z-index:0; }
.svc-arch-hero .svc-arch-hero-overlay { position:absolute; inset:0; background:var(--svc-arch-hero-overlay, linear-gradient(90deg,var(--wp--preset--color--primary) 0%,color-mix(in srgb,var(--wp--preset--color--primary) 52%,transparent) 57%,color-mix(in srgb,var(--wp--preset--color--primary) 0%,transparent) 100%)); z-index:1; }
.svc-arch-hero .svc-arch-hero-inner { position:relative; z-index:2; max-width:1180px; margin:0 auto; }
.svc-arch-hero .svc-arch-hero-content { max-width:780px; display:flex; flex-direction:column; gap:1.75rem; }
.svc-arch-hero .eyebrow { display:inline-flex; align-items:center; gap:.75rem; font-family:'Inter',sans-serif; font-size:.75rem; font-weight:500; letter-spacing:.3em; text-transform:uppercase; color:var(--wp--preset--color--accent-1); }
.svc-arch-hero .eyebrow::before { content:none; }
.svc-arch-hero h1 { font-family:'Jost',sans-serif; font-weight:600; font-size:clamp(2.5rem,5vw,3.5rem); line-height:1.07; color:var(--cream); letter-spacing:-.01em; }
.svc-arch-hero h1 em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-arch-hero .svc-arch-hero-sub { font-family:'Manrope',sans-serif; font-weight:400; font-size:clamp(1.25rem,2.2vw,1.75rem); line-height:1.55; color:var(--wp--preset--color--white); max-width:760px; }
@media (max-width:768px){ .svc-arch-hero .svc-arch-hero-overlay { background:var(--svc-arch-hero-overlay, linear-gradient(180deg,color-mix(in srgb,var(--wp--preset--color--primary) 82%,transparent),color-mix(in srgb,var(--wp--preset--color--primary) 70%,transparent))); } }
/* services-archive */
.svc-arch { --cream:var(--wp--preset--color--light-gray); --surface:var(--wp--preset--color--heru-surface); --ink:var(--wp--preset--color--heru-ink); --ink-mid:var(--wp--preset--color--heru-ink-mid); --ink-soft:var(--wp--preset--color--heru-ink-soft); --rule:var(--wp--preset--color--heru-rule); --green:var(--wp--preset--color--heru-forest-soft); --gutter:clamp(1.25rem,5vw,8.125rem); font-family:'Manrope',sans-serif; }
.svc-arch *, .svc-arch *::before, .svc-arch *::after { box-sizing:border-box; margin:0; }
.svc-arch .svc-arch-filter { background:var(--cream); padding:clamp(1.75rem,4vw,3rem) var(--gutter); }
.svc-arch .svc-filter-inner { max-width:1180px; margin:0 auto; display:flex; flex-direction:column; gap:1.125rem; }
.svc-arch .svc-filter-row { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; }
.svc-arch .svc-filter-label { font-family:'Manrope',sans-serif; font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); margin-right:.25rem; }
.svc-arch .svc-pill { font-family:'Inter',sans-serif; font-size:.8125rem; line-height:1; color:var(--ink-mid); background:var(--surface); border:1px solid var(--rule); border-radius:100px; padding:.6rem 1.1rem; cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease; }
@media (hover:hover) and (pointer:fine) { .svc-arch .svc-pill:hover { border-color:var(--wp--preset--color--heru-taupe-hover); } }
.svc-arch .svc-pill.is-active { background:var(--wp--preset--color--primary); border-color:var(--wp--preset--color--primary); color:var(--wp--preset--color--white); }
.svc-arch .svc-filter-help { font-family:'Manrope',sans-serif; font-size:.8125rem; color:var(--ink); text-decoration:none; margin-left:auto; }
@media (hover:hover) and (pointer:fine) { .svc-arch .svc-filter-help:hover { color:var(--wp--preset--color--accent-1); } }
.svc-arch .svc-arch-group { background:var(--wp--preset--color--white); border-top:1px solid var(--rule); padding:clamp(2.5rem,5vw,3.75rem) var(--gutter); }
.svc-arch .svc-arch-inner { max-width:1180px; margin:0 auto; display:flex; flex-direction:column; gap:1.875rem; }
.svc-arch .svc-arch-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.svc-arch .svc-arch-head h2 { font-family:'Jost',sans-serif; font-weight:600; font-size:clamp(1.4rem,2.2vw,1.7rem); line-height:1.15; color:var(--wp--preset--color--heru-black); letter-spacing:-.01em; }
.svc-arch .svc-arch-head h2 em { font-style:italic; color:var(--wp--preset--color--accent-1); }
.svc-arch .svc-arch-head .desc { font-family:'Manrope',sans-serif; font-weight:300; font-size:.875rem; color:var(--ink-soft); }
.svc-arch .svc-arch-rule { height:1px; background:var(--rule); width:100%; }
.svc-arch .svc-arch-intro { font-family:'Manrope',sans-serif; font-weight:300; font-size:.875rem; line-height:1.6; color:var(--ink-mid); max-width:562px; }
.svc-arch .svc-arch-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.875rem; }
.svc-arch .svc-card { display:flex; flex-direction:column; gap:.875rem; background:var(--surface); border:1px solid var(--rule); padding:2rem 1.75rem 1.75rem; text-decoration:none; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
@media (hover:hover) and (pointer:fine) { .svc-arch .svc-card:hover { border-color:var(--wp--preset--color--accent-1); box-shadow:0 6px 24px color-mix(in srgb,var(--wp--preset--color--heru-ink) 7%,transparent); transform:translateY(-2px); } }
.svc-arch .svc-card-tag { font-family:'Manrope',sans-serif; font-weight:600; font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; color:var(--wp--preset--color--accent-1); }
.svc-arch .svc-card h3 { font-family:'Manrope',sans-serif; font-weight:700; font-size:1.375rem; line-height:1.2; color:var(--ink); }
.svc-arch .svc-card p { font-family:'Manrope',sans-serif; font-weight:300; font-size:.875rem; line-height:1.5; color:var(--ink-mid); }
.svc-arch .svc-card-div { height:1px; background:var(--rule); width:100%; margin-top:auto; }
.svc-arch .svc-card-meta { display:flex; align-items:center; justify-content:space-between; }
.svc-arch .svc-card-meta .more { font-family:'Manrope',sans-serif; font-weight:600; font-size:.8125rem; color:var(--wp--preset--color--accent-1); }
.svc-arch .svc-card-dots { display:flex; gap:4px; }
.svc-arch .svc-card-dots span { width:6px; height:6px; border-radius:3px; background:var(--green); }
.svc-arch .svc-card[hidden], .svc-arch .svc-arch-group[hidden], .svc-arch .svc-arch-empty[hidden] { display:none; }
.svc-arch .svc-arch-empty { max-width:1180px; margin:0 auto; padding:clamp(2.5rem,6vw,4.5rem) var(--gutter); font-family:'Manrope',sans-serif; font-size:1rem; color:var(--ink-mid); text-align:center; }
.svc-arch .svc-arch-empty a { color:var(--wp--preset--color--accent-1); }
@media (max-width:900px) { .svc-arch .svc-arch-grid { grid-template-columns:1fr; } }
/* svc-ahero (project taxonomy page hero), moved from Custom CSS */
.svc-ahero{--cream:var(--wp--preset--color--light-gray);--primary:var(--wp--preset--color--primary);--gutter:clamp(1.25rem,5vw,8.125rem);position:relative;overflow:hidden;background:var(--cream);padding:clamp(3.5rem,8vw,6.25rem) var(--gutter);border-bottom:1px solid var(--wp--preset--color--heru-hairline);}
.svc-ahero *,.svc-ahero *::before,.svc-ahero *::after{box-sizing:border-box;margin:0;}
.svc-ahero .svc-ahero-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.svc-ahero .svc-ahero-content{max-width:780px;display:flex;flex-direction:column;gap:1.75rem;}
.svc-ahero .eyebrow{display:inline-flex;align-items:center;gap:.75rem;font-family:'Inter',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--wp--preset--color--accent-1);}
.svc-ahero .eyebrow::before{content:none;width:30px;height:1px;background:var(--wp--preset--color--accent-1);}
.svc-ahero h1{font-family:'Jost',sans-serif;font-weight:600;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.07;color:var(--primary);letter-spacing:-.01em;}
.svc-ahero h1 em{font-style:italic;color:var(--wp--preset--color--accent-1);}
.svc-ahero .svc-ahero-sub{font-family:'Manrope',sans-serif;font-weight:400;font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.55;color:var(--primary);max-width:760px;}
