/* Counsel preset - Paramarta Haryasena & Rekan (demo-sites).
   Typographic law-firm restraint: 12-column grid, ink hairlines, oxblood used for links and one rule,
   grayscale photographs, mono numerals. Every selector is scoped to [data-theme-style="counsel"].
   Authored from scratchpad/par/counsel.src.css ([data-theme-style="counsel"] = the scope attribute). */

/* 1. Tokens */
:root[data-theme-style="counsel"] {
  --bg: #F6F4EF; --bg-2: #ECE8DF; --tint: #EEEBE3;
  --ink: #121212; --ink-2: #4A4A48; --ink-3: #6B6A66;
  --line: #CFC9BD; --rule: #121212; --stone: #CFC6B8;
  --accent-strong: var(--primary);
  --tone-dark: #121212; --tone-dark-ink: #F6F4EF;
  --serif: var(--font-heading, "Newsreader", Georgia, serif);
  --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --max: 1240px; --gutter: clamp(20px, 4vw, 48px); --space: clamp(56px, 7.6vw, 108px);
  --step-0: 1.0313rem; --sticky-top: 67px;
  --radius: 0px; --r-lg: 0px; --cg: 32px;
}

/* 2. Global type */
[data-theme-style="counsel"] html, :root[data-theme-style="counsel"] { scroll-padding-top: 130px; }
[data-theme-style="counsel"] body { background: var(--bg); color: var(--ink); line-height: 1.6; font-feature-settings: "kern", "liga"; }
[data-theme-style="counsel"] h1, [data-theme-style="counsel"] h2, [data-theme-style="counsel"] h3, [data-theme-style="counsel"] h4 { font-family: var(--serif); font-weight: 400; letter-spacing: -.012em; line-height: 1.08; }
[data-theme-style="counsel"] h1, [data-theme-style="counsel"] .h1 { font-size: clamp(2.8rem, 6.4vw, 6rem); line-height: .98; letter-spacing: -.028em; }
[data-theme-style="counsel"] h2 { font-size: clamp(1.9rem, 1.2rem + 2.2vw, 2.4rem); }
[data-theme-style="counsel"] h3 { font-size: 1.3rem; font-weight: 500; letter-spacing: -.005em; line-height: 1.2; }
[data-theme-style="counsel"] .lede { font-family: var(--serif); font-size: clamp(1.2rem, 1.05rem + .6vw, 1.45rem); line-height: 1.45; color: var(--ink-2); }
[data-theme-style="counsel"] .eyebrow { font-size: .72rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 1.1em; }
[data-theme-style="counsel"] .hl { color: var(--primary); font-style: italic; box-shadow: none; }
[data-theme-style="counsel"] .muted { color: var(--ink-3); }
[data-theme-style="counsel"] a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
[data-theme-style="counsel"] a:hover { color: var(--ink); text-decoration-thickness: 2px; }
[data-theme-style="counsel"] ::selection { background: var(--primary); color: #fff; }
[data-theme-style="counsel"] :focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
[data-theme-style="counsel"] .skip:focus { outline-color: #fff; }
[data-theme-style="counsel"] .section-head { max-width: none; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); border-top: 1px solid var(--rule); padding-top: 14px; margin-bottom: clamp(28px, 4.5vw, 52px); }
[data-theme-style="counsel"] .section-head > * { grid-column: 1 / -1; }
[data-theme-style="counsel"] .section-head h2 { grid-column: 1 / span 6; margin: 0; }
[data-theme-style="counsel"] .section-head .lede { grid-column: 8 / -1; grid-row: 2; align-self: end; margin: 0; font-size: 1.1rem; }
[data-theme-style="counsel"] .section-head .eyebrow { margin-bottom: 1.6em; }
[data-theme-style="counsel"] .section-foot { margin-top: 28px; }

/* 3. Buttons and links: text only, no button shapes except the form submit */
[data-theme-style="counsel"] .btn, [data-theme-style="counsel"] .btn:hover { border: 0; border-radius: 0; background: none; box-shadow: none; transform: none; padding: 6px 0; min-height: 44px; display: inline-flex; align-items: center; gap: 10px; font-size: .95rem; font-weight: 500; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 7px; }
[data-theme-style="counsel"] .btn::after, [data-theme-style="counsel"] .link-arrow::after { content: "\2192"; font-family: var(--font); text-decoration: none; display: inline-block; margin: 0; }
[data-theme-style="counsel"] .btn-primary, [data-theme-style="counsel"] .btn-primary:hover { text-decoration-thickness: 3px; text-decoration-color: var(--primary); }
[data-theme-style="counsel"] .btn-secondary, [data-theme-style="counsel"] .btn-secondary:hover { color: var(--ink-2); }
[data-theme-style="counsel"] .btn:hover { text-decoration-thickness: 3px; color: var(--ink); }
[data-theme-style="counsel"] .btn-secondary::after { content: none; }
[data-theme-style="counsel"] .actions { gap: 4px 36px; margin-top: 32px; }
[data-theme-style="counsel"] .link-arrow { font-weight: 500; color: var(--primary); text-decoration: underline; display: inline-flex; gap: 8px; }
[data-theme-style="counsel"] .link-arrow:hover::after { transform: none; }

/* 4. Header, navigation, notice */
[data-theme-style="counsel"] .site-header { background: var(--bg); border-top: 3px solid var(--primary); border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .site-header.scrolled { border-color: var(--rule); }
[data-theme-style="counsel"] .header-inner { min-height: 64px; gap: 28px; }
[data-theme-style="counsel"] .wordmark { font-family: var(--serif); font-weight: 500; font-size: 1.28rem; letter-spacing: .035em; font-variant-caps: all-small-caps; font-feature-settings: "smcp", "c2sc"; display: inline-block; line-height: 1.1; color: var(--ink); }
[data-theme-style="counsel"] .wordmark::before { content: none; }
[data-theme-style="counsel"] .brand { min-height: 44px; }
[data-theme-style="counsel"] .site-nav { gap: 30px; }
[data-theme-style="counsel"] .site-nav > ul { gap: 26px; }
[data-theme-style="counsel"] .site-nav a { font-size: .875rem; font-weight: 500; color: var(--ink-2); padding: 12px 0; letter-spacing: .005em; }
[data-theme-style="counsel"] .site-nav a:hover { color: var(--ink); }
[data-theme-style="counsel"] .site-nav > ul > li > a[aria-current="page"] { color: var(--ink); box-shadow: inset 0 -2px 0 var(--primary); }
[data-theme-style="counsel"] .site-nav .nav-cta { color: var(--ink) !important; padding: 12px 0; min-height: 0; font-size: .875rem; text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--primary); text-underline-offset: 7px; }
[data-theme-style="counsel"] .site-nav .nav-cta::after { content: "\2192"; margin-left: 2px; text-decoration: none; }
[data-theme-style="counsel"] .submenu { border: 1px solid var(--rule); background: var(--bg); box-shadow: none; }
[data-theme-style="counsel"] .nav-toggle { padding: 11px; min-width: 44px; min-height: 44px; }
[data-theme-style="counsel"] .bars, [data-theme-style="counsel"] .bars::before, [data-theme-style="counsel"] .bars::after { background: var(--ink); height: 2px; border-radius: 0; }
[data-theme-style="counsel"] .topbar { background: var(--bg-2); color: var(--ink-2); border-bottom: 1px solid var(--line); font-size: .78rem; }
[data-theme-style="counsel"] .topbar-close { width: 44px; height: 44px; border-radius: 0; }
[data-theme-style="counsel"] .topbar-close:hover { background: var(--line); }
[data-theme-style="counsel"] .topbar-sos { background: var(--ink); color: var(--bg); border-radius: 0; }

/* 5. Hero: typographic, no photograph */
[data-theme-style="counsel"] .hero { padding-block: clamp(48px, 7vw, 104px) clamp(48px, 6vw, 88px) !important; }
[data-theme-style="counsel"] .hero::before, [data-theme-style="counsel"] .hero::after { content: none !important; }
[data-theme-style="counsel"] .hero.has-image .hero-grid, [data-theme-style="counsel"] .hero-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); row-gap: 0; align-items: start; }
[data-theme-style="counsel"] .hero-text { display: contents; }
[data-theme-style="counsel"] .hero .eyebrow { grid-column: 1 / -1; grid-row: 1; border-top: 1px solid var(--rule); padding-top: 12px; margin-bottom: clamp(32px, 5vw, 64px); }
[data-theme-style="counsel"] .hero h1, [data-theme-style="counsel"] .hero .h1 { grid-column: 1 / span 10; grid-row: 2; max-width: none; margin-bottom: .32em; font-weight: 400; }
[data-theme-style="counsel"] .hero:has(.hero-points) h1, [data-theme-style="counsel"] .hero:has(.hero-points) .h1 { grid-column: 1 / span 8; font-size: clamp(2.8rem, 5.7vw, 5.5rem); }
[data-theme-style="counsel"] .hero .lede { grid-column: 1 / span 6; grid-row: 3; max-width: 36ch; font-size: clamp(1.2rem, 1.05rem + .6vw, 1.45rem); font-weight: 400; margin: 0; }
[data-theme-style="counsel"] .hero .actions { grid-column: 1 / span 8; grid-row: 4; }
[data-theme-style="counsel"] .hero-points { display: block; grid-column: 9 / -1; grid-row: 2 / span 3; align-self: start; margin: .7rem 0 0; padding: 0; counter-reset: hp; border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .hero-points li { display: grid; grid-template-columns: 2.6rem 1fr; align-items: baseline; gap: 0 8px; padding: 12px 0; border-top: 1px solid var(--rule); font-family: var(--serif); font-size: 1.12rem; line-height: 1.3; font-weight: 400; color: var(--ink); counter-increment: hp; }
[data-theme-style="counsel"] .hero-points li::before { content: counter(hp, decimal-leading-zero); font-family: var(--mono); font-size: .72rem; color: var(--ink-3); letter-spacing: .02em; }
[data-theme-style="counsel"] .hero-points .icon { display: none; }

/* 6. Sections */
[data-theme-style="counsel"] .section-wrap > section { padding-block: var(--space); }
[data-theme-style="counsel"] .section-wrap + .section-wrap > section { border-top-color: var(--line); }
[data-theme-style="counsel"] .section-wrap:nth-of-type(even):not([data-tone]) > section:not(.hero):not(.statement):not(.stats):not(.logos):not(.cta-band):not(.emergency):not(.finder) { background: var(--bg); }
[data-theme-style="counsel"] .section-wrap[data-tone="tint"] > section { background: var(--tint); }
[data-theme-style="counsel"] .section-wrap[data-look~="quiet"] > section { padding-top: 0; }
[data-theme-style="counsel"] .section-wrap[data-look~="more"] > section { padding-block: 0 clamp(40px, 5vw, 72px); border-top: 0; background: var(--bg); }
[data-theme-style="counsel"] .section-wrap:has(+ .section-wrap[data-look~="more"]) > section { padding-bottom: 36px; }
[data-theme-style="counsel"] .section-wrap[data-look~="more"] .prose { max-width: none; margin: 0; }
[data-theme-style="counsel"] .section-wrap[data-look~="more"] + .section-wrap > section { border-top-color: transparent; }
[data-theme-style="counsel"] .section-wrap[data-look~="wide"] > section > .container { max-width: 1360px; }
[data-theme-style="counsel"] .container.narrow { max-width: var(--max); }
[data-theme-style="counsel"] .container.narrow > :is(.prose, .lede, p, h1, h2) { max-width: 70ch; }

/* Prose */
[data-theme-style="counsel"] .prose { max-width: 66ch; }
[data-theme-style="counsel"] .prose h2 { font-size: 1.7rem; margin-top: 1.9em; }
[data-theme-style="counsel"] .prose h3 { font-size: 1.25rem; margin-top: 1.6em; }
[data-theme-style="counsel"] .prose ul { list-style: none; padding: 0; }
[data-theme-style="counsel"] .prose ul li { position: relative; padding: 0 0 0 1.5em; }
[data-theme-style="counsel"] .prose ul li::before { content: "\2014"; position: absolute; left: 0; color: var(--primary); }
[data-theme-style="counsel"] .prose ol { list-style: none; padding: 0; counter-reset: pl; }
[data-theme-style="counsel"] .prose ol li { position: relative; padding: 9px 0 9px 3.1rem; margin: 0; border-top: 1px solid var(--line); counter-increment: pl; }
[data-theme-style="counsel"] .prose ol li:last-child { border-bottom: 1px solid var(--line); }
[data-theme-style="counsel"] .prose ol li::before { content: counter(pl, decimal-leading-zero); position: absolute; left: 0; top: .78em; font-family: var(--mono); font-size: .72rem; color: var(--ink-3); }
[data-theme-style="counsel"] .prose blockquote { border-left: 1px solid var(--ink); padding-left: 1.2em; font-family: var(--serif); font-style: italic; font-size: 1.2rem; color: var(--ink); }
[data-theme-style="counsel"] .prose th, [data-theme-style="counsel"] .prose td { border-bottom: 1px solid var(--line); }
[data-theme-style="counsel"] .prose th { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; color: var(--ink-2); border-bottom-color: var(--rule); }
[data-theme-style="counsel"] .prose code { background: var(--bg-2); border-radius: 0; font-family: var(--mono); }
[data-theme-style="counsel"] .prose img { border-radius: 0; }

/* Sticky split: richtext look="sticky" */
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section > .container { max-width: var(--max); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); align-items: start; }
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section > .container::before { content: ""; grid-column: 1 / -1; border-top: 1px solid var(--rule); margin-bottom: 14px; }
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section > .container > h2 { grid-column: 1 / span 4; position: sticky; top: calc(var(--sticky-top) + 74px); margin: 0; font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.2rem); }
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section > .container > .prose { grid-column: 6 / -1; max-width: 62ch; }
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section > .container > .prose > :first-child { margin-top: 0; }
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section { padding-block: clamp(24px, 3.2vw, 44px); }
[data-theme-style="counsel"] .section-wrap:not([data-look~="sticky"]) + .section-wrap[data-look~="sticky"] > section { padding-top: clamp(40px, 5vw, 72px); }
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"]:has(+ .section-wrap:not([data-look~="sticky"])) > section { padding-bottom: clamp(48px, 6vw, 88px); }
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"] + .section-wrap[data-look~="sticky"] > section { border-top: 0; }

/* Split */
[data-theme-style="counsel"] .split-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); align-items: start; gap: 0 var(--cg); }
[data-theme-style="counsel"] .split-text { grid-column: 1 / span 6; border-top: 1px solid var(--rule); padding-top: 14px; }
[data-theme-style="counsel"] .split-text h2 { font-size: clamp(1.9rem, 1.2rem + 2.2vw, 2.6rem); margin-bottom: .6em; }
[data-theme-style="counsel"] .split-media { grid-column: 8 / -1; grid-row: 1; background: var(--stone); }
[data-theme-style="counsel"] .split.image-left .split-media { grid-column: 1 / span 5; order: 0; }
[data-theme-style="counsel"] .split.image-left .split-text { grid-column: 7 / -1; grid-row: 1; }
[data-theme-style="counsel"] .split-media img { border-radius: 0; width: 100%; }
[data-theme-style="counsel"] .split-bleed .split-grid.container { gap: 0; }
[data-theme-style="counsel"] .split-bleed .split-text, [data-theme-style="counsel"] .split-bleed.image-left .split-text { grid-column: auto; grid-row: auto; border-top: 0; padding-top: clamp(40px, 6vw, 88px); }
[data-theme-style="counsel"] .split-bleed .split-media, [data-theme-style="counsel"] .split-bleed.image-left .split-media { grid-column: auto; grid-row: auto; overflow: hidden; }
@media (min-width: 861px) { [data-theme-style="counsel"] .split-bleed .split-media { max-height: 760px; } }
[data-theme-style="counsel"] .split-bleed .split-media img { height: 100%; object-fit: cover; }
[data-theme-style="counsel"] .split-bleed .split-text::before { content: ""; display: block; border-top: 1px solid var(--rule); margin-bottom: 14px; }
[data-theme-style="counsel"] .split-bleed .split-text > :first-child { margin-top: 0; }

/* Features (index look: full-width rows) and plain features */
[data-theme-style="counsel"] .feature-grid { gap: 40px 32px; }
[data-theme-style="counsel"] .feature-grid li, [data-theme-style="counsel"] .feature-grid.cols-3 li:nth-child(3n+2), [data-theme-style="counsel"] .feature-grid.cols-4 li:nth-child(even), [data-theme-style="counsel"] .feature-grid.cols-2 li:nth-child(even) { border-top: 1px solid var(--rule); padding-top: 16px; }
[data-theme-style="counsel"] .feature-index { font-family: var(--mono); font-size: .78rem; font-weight: 400; opacity: 1; color: var(--ink-3); margin-bottom: 18px; letter-spacing: .02em; }
[data-theme-style="counsel"] .feature-grid h3 { font-size: 1.45rem; font-weight: 400; margin-bottom: .4em; }
[data-theme-style="counsel"] .feature-grid p { color: var(--ink-2); }
[data-theme-style="counsel"] .icon-tile { background: none; border: 1px solid var(--rule); border-radius: 0; color: var(--ink); }
[data-theme-style="counsel"] .section-wrap[data-look~="index"] .feature-grid { display: block; counter-reset: ix; border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .section-wrap[data-look~="index"] .feature-grid li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) minmax(0, 1.2fr); gap: 0 24px; padding: 22px 0; border-top: 1px solid var(--rule); }
[data-theme-style="counsel"] .section-wrap[data-look~="index"] .feature-index { margin: .5em 0 0; }
[data-theme-style="counsel"] .section-wrap[data-look~="index"] .feature-grid h3 { margin: 0; }

/* Practice index: services and products as numbered rows that invert on hover or focus */
[data-theme-style="counsel"] .service-list, [data-theme-style="counsel"] .product-grid { display: block; border: 0; counter-reset: ix; border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .service-list > li, [data-theme-style="counsel"] .product-grid > li { position: relative; display: grid; grid-template-columns: 4.5rem minmax(0, 1.3fr) minmax(0, 1fr) 2.5rem; align-items: baseline; gap: 0 24px; flex: none; max-width: none; padding: 26px 0; border-top: 1px solid var(--rule); border-bottom: 0; counter-increment: ix; clip-path: inset(0 -100vmax); box-shadow: 0 0 0 100vmax transparent; }
[data-theme-style="counsel"] .service-list > li::before, [data-theme-style="counsel"] .product-card::before { content: counter(ix, decimal-leading-zero); font-family: var(--mono); font-size: .78rem; font-weight: 400; color: var(--ink-3); letter-spacing: .02em; }
[data-theme-style="counsel"] .service-list > li::after, [data-theme-style="counsel"] .product-card::after { content: "\2192"; justify-self: end; font-size: 1.2rem; color: var(--ink-3); }
[data-theme-style="counsel"] .service-list > li > h3 { margin: 0; font-size: clamp(1.45rem, 1.1rem + 1.1vw, 2rem); font-weight: 400; letter-spacing: -.012em; line-height: 1.12; }
[data-theme-style="counsel"] .service-list h3 a { color: var(--ink); text-decoration: none; }
[data-theme-style="counsel"] .service-list h3 a::after { content: ""; position: absolute; inset: 0; }
[data-theme-style="counsel"] .service-list > li > p { margin: 0; color: var(--ink-2); font-size: .95rem; }
[data-theme-style="counsel"] .service-points { grid-column: 3; margin-top: 8px; }
[data-theme-style="counsel"] .service-points li { padding-left: 14px; }
[data-theme-style="counsel"] .service-points li::before { border-radius: 0; width: 6px; height: 1px; top: .8em; background: var(--primary); }
[data-theme-style="counsel"] .service-list > li.has-icon::before { content: counter(ix, decimal-leading-zero); }
[data-theme-style="counsel"] .service-list > li.has-icon .icon-tile { display: none; }
[data-theme-style="counsel"] .service-list > li.has-photo { display: grid; padding: 26px 0; border: 0; border-top: 1px solid var(--rule); }
[data-theme-style="counsel"] .service-list:has(> li.has-photo) { display: block; }
[data-theme-style="counsel"] .service-list > li.has-photo > .card-photo { display: none; }
[data-theme-style="counsel"] .service-list > li.has-photo > :not(.card-photo) { margin-inline: 0; }
[data-theme-style="counsel"] .product-card { display: grid; grid-template-columns: 4.5rem minmax(0, 1.3fr) minmax(0, 1fr) 2.5rem; align-items: baseline; gap: 0 24px; height: auto; grid-column: 1 / -1; }
[data-theme-style="counsel"] .product-grid > li { display: block; padding: 0; }
[data-theme-style="counsel"] .product-card { padding: 26px 0; }
[data-theme-style="counsel"] .product-body { display: contents; }
[data-theme-style="counsel"] .product-thumb { display: none; }
[data-theme-style="counsel"] .product-card .eyebrow { display: none; }
[data-theme-style="counsel"] .product-card h3 { grid-column: 2; grid-row: 1; margin: 0; font-size: clamp(1.45rem, 1.1rem + 1.1vw, 2rem); font-weight: 400; }
[data-theme-style="counsel"] .product-card h3 a { color: var(--ink); text-decoration: none; }
[data-theme-style="counsel"] .product-card h3 a::after { content: ""; position: absolute; inset: 0; }
[data-theme-style="counsel"] .product-card { position: relative; }
[data-theme-style="counsel"] .product-tagline { grid-column: 3; grid-row: 1; margin: 0; font-weight: 400; font-family: var(--serif); font-size: 1.12rem; line-height: 1.35; color: var(--ink); }
[data-theme-style="counsel"] .product-summary { grid-column: 3; grid-row: 2; margin: .7em 0 0; display: block; -webkit-line-clamp: unset; color: var(--ink-2); font-size: .92rem; }
[data-theme-style="counsel"] .product-card .link-arrow { display: none; }
[data-theme-style="counsel"] .product-card::before { grid-row: 1; }
[data-theme-style="counsel"] .product-card::after { grid-column: 4; grid-row: 1; }
[data-theme-style="counsel"] .product-card::before, [data-theme-style="counsel"] .product-card::after { align-self: start; padding-top: .45em; }
[data-theme-style="counsel"] .service-list > li:is(:hover, :has(a:focus-visible)), [data-theme-style="counsel"] .product-grid > li:is(:hover, :has(a:focus-visible)) { background: var(--ink); box-shadow: 0 0 0 100vmax var(--ink); color: var(--bg); }
[data-theme-style="counsel"] .service-list > li:is(:hover, :has(a:focus-visible)) :is(h3 a, h3, p, li, a), [data-theme-style="counsel"] .product-grid > li:is(:hover, :has(a:focus-visible)) :is(h3 a, h3, p, .eyebrow, .product-tagline, .product-summary) { color: var(--bg); }
[data-theme-style="counsel"] .service-list > li:is(:hover, :has(a:focus-visible))::before, [data-theme-style="counsel"] .service-list > li:is(:hover, :has(a:focus-visible))::after, [data-theme-style="counsel"] .product-grid > li:is(:hover, :has(a:focus-visible)) :is(.product-card::before, .product-card::after) { color: var(--stone); }
[data-theme-style="counsel"] .product-grid > li:is(:hover, :has(a:focus-visible)) .product-card::before, [data-theme-style="counsel"] .product-grid > li:is(:hover, :has(a:focus-visible)) .product-card::after { color: var(--stone); }
[data-theme-style="counsel"] .service-list > li:is(:hover, :has(a:focus-visible)) .service-points li::before { background: var(--stone); }
[data-theme-style="counsel"] .service-list h3 a:focus-visible, [data-theme-style="counsel"] .product-card h3 a:focus-visible { outline: 0; }
[data-theme-style="counsel"] .service-list > li:has(a:focus-visible), [data-theme-style="counsel"] .product-grid > li:has(a:focus-visible) { outline: 2px solid var(--stone); outline-offset: -6px; }
[data-theme-style="counsel"] .group-title { font-family: var(--font); font-size: .72rem; letter-spacing: .14em; border-bottom: 1px solid var(--rule); color: var(--ink-2); }

/* Process: ruled columns with mono numerals */
[data-theme-style="counsel"] .process-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 28px; counter-reset: step; }
[data-theme-style="counsel"] .process-list::before { content: none; }
[data-theme-style="counsel"] .process-list > li { max-width: none; border-top: 1px solid var(--rule); padding-top: 14px; }
[data-theme-style="counsel"] .process-list li::before { width: auto; height: auto; border-radius: 0; background: none; color: var(--ink-3); content: counter(step, decimal-leading-zero); font-family: var(--mono); font-size: .78rem; font-weight: 400; margin: 0 0 clamp(20px, 3vw, 44px); display: block; }
[data-theme-style="counsel"] .process-list h3 { font-size: 1.3rem; font-weight: 400; margin-bottom: .45em; }
[data-theme-style="counsel"] .process-list p { font-size: .92rem; }
[data-theme-style="counsel"] .process-list.has-photos { display: grid; }

/* Team: portraits 4:5 on stone, grayscale */
[data-theme-style="counsel"] .team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 28px; }
[data-theme-style="counsel"] .team-grid > li { border-top: 1px solid var(--rule); padding-top: 14px; }
[data-theme-style="counsel"] .team-grid img, [data-theme-style="counsel"] .avatar-placeholder { aspect-ratio: 4 / 5; border-radius: 0; background: var(--stone); margin-bottom: 18px; object-position: 50% 20%; }
[data-theme-style="counsel"] .avatar-placeholder { font-family: var(--serif); font-style: italic; font-size: clamp(3.5rem, 6vw, 5.5rem); color: var(--ink); font-weight: 400; border: 0; }
[data-theme-style="counsel"] .team-grid h3 { font-size: 1.45rem; font-weight: 400; margin-bottom: .2em; }
[data-theme-style="counsel"] .team-grid .role { font-size: .7rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); margin-bottom: .8em; }
[data-theme-style="counsel"] .team-grid p { font-size: .9rem; line-height: 1.5; }


/* Gallery: equal columns, captions under the photograph */
[data-theme-style="counsel"] .gallery-grid.layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
[data-theme-style="counsel"] .gallery-grid li { aspect-ratio: auto; }
[data-theme-style="counsel"] .gallery-grid.layout-grid li { aspect-ratio: auto; }
[data-theme-style="counsel"] .gallery-grid figure { display: flex; flex-direction: column; border-top: 1px solid var(--rule); padding-top: 12px; }
[data-theme-style="counsel"] .gallery-grid img { aspect-ratio: 3 / 2; height: auto; border-radius: 0; background: var(--stone); }
[data-theme-style="counsel"] .gallery-grid figcaption { position: static; background: none; padding: 0; margin-top: 10px; max-width: none; font-family: var(--mono); font-size: .72rem; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); border-radius: 0; }
/* Photographs: always grayscale, never a hover colour */
[data-theme-style="counsel"] main img, [data-theme-style="counsel"] .hero-media img { filter: grayscale(1) contrast(1.05); border-radius: 0; }

/* Posts: date-first rows */
[data-theme-style="counsel"] .post-grid, [data-theme-style="counsel"] .post-list { display: block; max-width: none; border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .post-grid > li, [data-theme-style="counsel"] .post-list > li { padding: 0; border: 0; border-top: 1px solid var(--rule); }
[data-theme-style="counsel"] .post-card { display: grid; grid-template-columns: 11rem minmax(0, 1fr) 14rem; grid-template-rows: auto 1fr; gap: 0 var(--cg); align-items: start; padding: 26px 0; }
[data-theme-style="counsel"] .post-card .post-meta { grid-column: 1; grid-row: 1 / span 2; flex-direction: column; gap: 6px; margin: .5em 0 0; font-family: var(--mono); font-size: .75rem; color: var(--ink-3); }
[data-theme-style="counsel"] .post-card .post-meta time { order: -1; color: var(--ink-2); }
[data-theme-style="counsel"] .post-cat { font-family: var(--font); font-size: .68rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--primary); }
[data-theme-style="counsel"] .post-card h3 { grid-column: 2; grid-row: 1; margin: 0 0 .4em; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); font-weight: 400; line-height: 1.15; }
[data-theme-style="counsel"] .post-card h3 a { text-decoration: none; color: var(--ink); }
[data-theme-style="counsel"] .post-card h3 a:hover { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; }
[data-theme-style="counsel"] .post-card > p:last-child { grid-column: 2; grid-row: 2; font-size: .93rem; color: var(--ink-2); -webkit-line-clamp: 2; }
[data-theme-style="counsel"] .post-thumb { grid-column: 3; grid-row: 1 / span 2; margin: 0; aspect-ratio: 3 / 2; border-radius: 0; background: var(--stone); }
[data-theme-style="counsel"] .section-wrap[data-look~="list"] .post-thumb { display: none; }
[data-theme-style="counsel"] .section-wrap[data-look~="list"] .post-card { grid-template-columns: 11rem minmax(0, 1fr); }
[data-theme-style="counsel"] .blog-index { padding-block: clamp(40px, 6vw, 80px); }
[data-theme-style="counsel"] .pagination { max-width: none; border-top: 1px solid var(--rule); padding-top: 16px; font-family: var(--mono); font-size: .8rem; }

/* 7. Products index/detail, post detail, page header */
[data-theme-style="counsel"] .products-index { padding-block: clamp(32px, 5vw, 64px) var(--space); }
[data-theme-style="counsel"] .page-header { padding: clamp(36px, 5vw, 72px) 0 clamp(32px, 4vw, 52px); border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .page-header .container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); }
[data-theme-style="counsel"] .page-header .container > * { grid-column: 1 / -1; }
[data-theme-style="counsel"] .page-header h1 { grid-column: 1 / span 10; max-width: 15ch; font-size: clamp(2.6rem, 5.6vw, 5rem); margin-bottom: .35em; }
[data-theme-style="counsel"] .page-header .lede { grid-column: 1 / span 6; max-width: 38ch; }
[data-theme-style="counsel"] .breadcrumb ol { font-family: var(--mono); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); margin-bottom: clamp(28px, 5vw, 56px); }
[data-theme-style="counsel"] .breadcrumb li + li::before { color: var(--ink-3); }
[data-theme-style="counsel"] .breadcrumb a { color: var(--ink-2); text-decoration: none; }
[data-theme-style="counsel"] .breadcrumb a:hover { color: var(--ink); text-decoration: underline; }
[data-theme-style="counsel"] .page-header .eyebrow { margin-bottom: 1.4em; }
[data-theme-style="counsel"] .product-detail { padding-block: clamp(36px, 5vw, 72px) var(--space); }
[data-theme-style="counsel"] .product-layout { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--cg); }
[data-theme-style="counsel"] .product-main { grid-column: 1 / span 7; }
[data-theme-style="counsel"] .product-side { grid-column: 9 / -1; top: calc(var(--sticky-top) + 24px); gap: 36px; border-top: 1px solid var(--rule); padding-top: 14px; }
[data-theme-style="counsel"] .product-main > .lede { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem); color: var(--ink); max-width: 30ch; margin-bottom: 1.4em; }
[data-theme-style="counsel"] .product-side h2 { font-family: var(--font); font-size: .7rem; font-weight: 500; letter-spacing: .14em; color: var(--ink-2); }
[data-theme-style="counsel"] .feature-list li { border-top: 1px solid var(--line); padding: 12px 0; }
[data-theme-style="counsel"] .feature-list strong { font-family: var(--serif); font-weight: 500; font-size: 1.05rem; }
[data-theme-style="counsel"] .product-hero, [data-theme-style="counsel"] .post-cover { border-radius: 0; background: var(--stone); }
[data-theme-style="counsel"] .related { border-top: 1px solid var(--rule); }
[data-theme-style="counsel"] .related h2 { margin-bottom: 28px; }
[data-theme-style="counsel"] .post-detail .container.narrow { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); max-width: var(--max); }
[data-theme-style="counsel"] .post-detail .post-meta { grid-column: 1 / span 3; grid-row: 1 / span 2; flex-direction: column; gap: 6px; font-family: var(--mono); font-size: .75rem; color: var(--ink-3); border-top: 1px solid var(--rule); padding-top: 12px; align-self: start; }
[data-theme-style="counsel"] .post-detail .post-cover { grid-column: 4 / -1; grid-row: 1; margin: 0 0 40px; aspect-ratio: 16 / 9; }
[data-theme-style="counsel"] .post-detail .post-cover img { width: 100%; height: 100%; object-fit: cover; }
[data-theme-style="counsel"] .post-detail .prose { grid-column: 4 / span 8; grid-row: 2; max-width: none; font-family: var(--serif); font-size: 1.22rem; line-height: 1.62; }
[data-theme-style="counsel"] .post-detail .prose :is(h2, h3) { font-weight: 400; }
[data-theme-style="counsel"] .post-detail .prose ul li, [data-theme-style="counsel"] .post-detail .prose ol li { font-family: var(--serif); }
[data-theme-style="counsel"] .post-detail .prose em:last-child, [data-theme-style="counsel"] .post-detail .prose p:last-child em { font-size: .95em; color: var(--ink-2); }
[data-theme-style="counsel"] .not-found .container { padding-top: 8vh; }

/* Subnav (pendekatan) */
[data-theme-style="counsel"] .section-wrap[data-type="subnav"] { background: var(--bg); border-top: 0; border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .subnav ul { gap: 4px 28px; }
[data-theme-style="counsel"] .subnav a:not(.btn) { padding: 15px 0 13px; font-size: .74rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); border-bottom: 2px solid transparent; }
[data-theme-style="counsel"] .subnav a:not(.btn):hover { color: var(--ink); }
[data-theme-style="counsel"] .subnav a[aria-current="true"] { color: var(--ink); border-bottom-color: var(--primary); }
[data-theme-style="counsel"] .subnav a:focus-visible { outline-color: var(--primary); }
[data-theme-style="counsel"] .section-wrap[data-type="subnav"] + .section-wrap > section { border-top: 0; }

/* Timeline, stats, faq, chips (rarely used here) */
[data-theme-style="counsel"] .timeline-list { border-left: 0; margin-left: 0; max-width: none; }
[data-theme-style="counsel"] .timeline-list li { grid-template-columns: 9rem 1fr; padding: 18px 0; border-top: 1px solid var(--rule); }
[data-theme-style="counsel"] .timeline-list li::before { content: none; }
[data-theme-style="counsel"] .timeline-list time { font-family: var(--mono); font-size: .8rem; color: var(--ink-2); }
[data-theme-style="counsel"] .stats { background: var(--bg); color: var(--ink); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .stat-row dd { font-family: var(--serif); font-weight: 400; }
[data-theme-style="counsel"] .stat-row dt { color: var(--ink-2); }
[data-theme-style="counsel"] .faq-list details { border-top: 1px solid var(--rule); }
[data-theme-style="counsel"] .faq-list details:last-child { border-bottom: 1px solid var(--rule); }
[data-theme-style="counsel"] .faq-list summary { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
[data-theme-style="counsel"] .chip { border-radius: 0; border-color: var(--rule); }
[data-theme-style="counsel"] .chip:is([aria-pressed="true"], [aria-current="page"], [aria-current="true"]) { background: var(--ink); color: var(--bg); }

/* CTA band (dark) */
[data-theme-style="counsel"] .cta-band { background: var(--tone-dark); color: var(--tone-dark-ink); padding-block: clamp(56px, 8vw, 112px) !important; }
[data-theme-style="counsel"] .cta-band::before, [data-theme-style="counsel"] .cta-band::after { content: none !important; }
[data-theme-style="counsel"] .cta-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); row-gap: 28px; align-items: end; }
[data-theme-style="counsel"] .cta-grid > div:first-child { grid-column: 1 / span 8; }
[data-theme-style="counsel"] .cta-band h2 { font-size: clamp(2.1rem, 1.2rem + 3.6vw, 4.2rem); line-height: 1.02; letter-spacing: -.022em; max-width: 17ch; margin-bottom: .4em; color: var(--tone-dark-ink); }
[data-theme-style="counsel"] .cta-band p { color: var(--stone); font-family: var(--serif); font-size: 1.25rem; max-width: 40ch; }
[data-theme-style="counsel"] .cta-actions { grid-column: 10 / -1; flex-direction: column; align-items: flex-start; gap: 0; }
[data-theme-style="counsel"] .cta-note { grid-column: 1 / -1; font-size: .85rem !important; font-family: var(--font) !important; color: #A8A298 !important; border-top: 1px solid #3A3936; padding-top: 14px; margin: 0; }
[data-theme-style="counsel"] .cta-band .btn, [data-theme-style="counsel"] .cta-band .btn:hover { color: var(--tone-dark-ink); }
[data-theme-style="counsel"] .cta-band :focus-visible { outline-color: var(--tone-dark-ink); }
[data-theme-style="counsel"] .cta-band .btn-light { text-decoration-thickness: 3px; text-decoration-color: var(--stone); }
[data-theme-style="counsel"] .cta-band .btn-light::after { content: "\2192"; }
[data-theme-style="counsel"] .cta-band .btn-ghost, [data-theme-style="counsel"] .cta-band .btn-ghost:hover { color: var(--stone); background: none; border: 0; }
[data-theme-style="counsel"] .cta-band .btn-ghost::after { content: none; }

/* Tones: dark sections */
[data-theme-style="counsel"] .section-wrap:is([data-tone="dark"], [data-tone="accent"]) > section .btn { background: none; color: var(--t-fg); border: 0; }
[data-theme-style="counsel"] .section-wrap:is([data-tone="dark"], [data-tone="accent"]) > section .btn-primary { text-decoration-color: var(--t-fg); }
[data-theme-style="counsel"] .section-wrap:is([data-tone="dark"], [data-tone="accent"]) > section .eyebrow { opacity: 1; color: var(--stone); }
[data-theme-style="counsel"] .section-wrap[data-tone="dark"] .section-head { border-top-color: #4A4944; }

/* 8. Contact and forms */
[data-theme-style="counsel"] .contact-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 var(--cg); }
[data-theme-style="counsel"] .contact-grid > :first-child { grid-column: 1 / span 7; }
[data-theme-style="counsel"] .contact-aside { grid-column: 9 / -1; border-top: 1px solid var(--rule); min-width: 0; }
[data-theme-style="counsel"] .contact-form label { font-size: .7rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 26px; }
[data-theme-style="counsel"] .contact-form input, [data-theme-style="counsel"] .contact-form textarea { margin-top: 4px; padding: 10px 0 11px; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; color: var(--ink); font-size: 1.05rem; letter-spacing: 0; text-transform: none; }
[data-theme-style="counsel"] .contact-form textarea { border: 1px solid var(--ink); padding: 12px; margin-top: 10px; min-height: 9rem; background: #FBFAF7; }
[data-theme-style="counsel"] .contact-form input:focus, [data-theme-style="counsel"] .contact-form textarea:focus { outline: 2px solid var(--primary); outline-offset: 3px; border-color: var(--ink); }
[data-theme-style="counsel"] .contact-form input::placeholder, [data-theme-style="counsel"] .contact-form textarea::placeholder { color: var(--ink-2); opacity: 1; }
[data-theme-style="counsel"] .contact-form .btn-primary, [data-theme-style="counsel"] .contact-form .btn-primary:hover { background: var(--ink); color: var(--bg); padding: 0 32px; min-height: 52px; text-decoration: none; border: 0; border-radius: 0; font-size: .92rem; letter-spacing: .02em; }
[data-theme-style="counsel"] .contact-form .btn-primary:hover { background: var(--primary); }
[data-theme-style="counsel"] .form-notice { border-radius: 0; border: 1px solid var(--ink); border-left-width: 4px; background: var(--bg-2); color: var(--ink); }
[data-theme-style="counsel"] .form-notice.err { border-left-color: var(--primary); background: #F3E6E4; color: var(--ink); }
[data-theme-style="counsel"] .contact-details { gap: 0; }
[data-theme-style="counsel"] .contact-details > div:first-child { border-top: 0; }
[data-theme-style="counsel"] .contact-details dd { overflow-wrap: anywhere; font-size: .95rem; }
[data-theme-style="counsel"] .contact-details > div { display: grid; grid-template-columns: 5.6rem minmax(0, 1fr); gap: 0 12px; padding: 12px 0; border-top: 1px solid var(--line); }
[data-theme-style="counsel"] .contact-details dt { font-size: .68rem; font-weight: 500; letter-spacing: .12em; margin: .35em 0 0; color: var(--ink-2); }
[data-theme-style="counsel"] .contact-details a { color: var(--primary); text-decoration: underline; }
[data-theme-style="counsel"] .contact-details .btn-secondary { color: var(--ink); }
[data-theme-style="counsel"] .map { border-radius: 0; filter: grayscale(1); }
[data-theme-style="counsel"] .float-cta, [data-theme-style="counsel"] .float-cta:hover { height: 46px; padding: 0 16px; border-radius: 0; background: var(--bg); color: var(--ink); border: 1px solid var(--ink); box-shadow: none; font-size: .82rem; font-weight: 500; gap: 8px; }
[data-theme-style="counsel"] .float-cta:hover { background: var(--ink); color: var(--bg); }
[data-theme-style="counsel"] .float-cta .icon { width: 18px; height: 18px; }
[data-theme-style="counsel"] .float-cta:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; box-shadow: none; }

/* 9. Footer: black, the firm name set across the full width, offices as a table */
[data-theme-style="counsel"] .site-footer { background: var(--ink); color: var(--stone); border-top: 0; padding-top: clamp(56px, 8vw, 104px); font-size: .9rem; }
[data-theme-style="counsel"] .footer-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); row-gap: 48px; padding-bottom: clamp(48px, 6vw, 80px); }
[data-theme-style="counsel"] .footer-about { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--cg); border-bottom: 1px solid #3A3936; padding-bottom: clamp(28px, 4vw, 48px); }
[data-theme-style="counsel"] .footer-about > * { grid-column: 1 / -1; }
[data-theme-style="counsel"] .footer-about .brand { display: block; min-height: 0; }
[data-theme-style="counsel"] .footer-about .wordmark { display: block; font-variant-caps: normal; font-feature-settings: normal; font-weight: 400; font-size: clamp(2.2rem, 6.1vw, 5.55rem); letter-spacing: -.035em; line-height: .98; color: var(--bg); }
[data-theme-style="counsel"] .footer-about .brand:focus-visible { outline-color: var(--bg); }
[data-theme-style="counsel"] .footer-about p { grid-column: 1 / span 6; max-width: 46ch; margin-top: 28px; color: var(--stone); font-family: var(--serif); font-size: 1.15rem; line-height: 1.4; }
[data-theme-style="counsel"] .footer-col { grid-column: span 2; }
[data-theme-style="counsel"] .footer-col:nth-child(2) { grid-column: span 3; }
[data-theme-style="counsel"] .footer-col h2, [data-theme-style="counsel"] .footer-contact h2 { font-family: var(--font); font-size: .68rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #A8A298; border-top: 1px solid #3A3936; padding-top: 12px; margin-bottom: 18px; }
[data-theme-style="counsel"] .footer-col li { margin-bottom: 4px; }
[data-theme-style="counsel"] .footer-col a, [data-theme-style="counsel"] .footer-contact a, [data-theme-style="counsel"] .social a { color: var(--stone); text-decoration: none; padding: 4px 0; display: inline-block; }
[data-theme-style="counsel"] .footer-col a:hover, [data-theme-style="counsel"] .footer-contact a:hover, [data-theme-style="counsel"] .social a:hover { color: #fff; text-decoration: underline; }
[data-theme-style="counsel"] .site-footer :focus-visible { outline-color: var(--bg); }
[data-theme-style="counsel"] .footer-contact { grid-column: span 5; }
[data-theme-style="counsel"] .footer-contact p { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); overflow-wrap: anywhere; gap: 0 12px; margin: 0; padding: 10px 0; border-top: 1px solid #3A3936; line-height: 1.5; }
[data-theme-style="counsel"] .footer-contact p::before { content: "Alamat"; font-size: .68rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: #A8A298; padding-top: .3em; }
[data-theme-style="counsel"] .footer-contact p:has(a[href^="mailto:"])::before { content: "Email"; }
[data-theme-style="counsel"] .footer-contact p:has(a[href^="tel:"])::before { content: "Telepon"; }
[data-theme-style="counsel"] .footer-contact p:has(a[href*="wa.me"])::before { content: "WhatsApp"; }
[data-theme-style="counsel"] .footer-contact p a { padding: 0; }
[data-theme-style="counsel"] .footer-contact h2 + p { border-top: 0; }
[data-theme-style="counsel"] .social { gap: 20px; margin-top: 20px; }
[data-theme-style="counsel"] .footer-bottom { color: #A8A298; font-size: .8rem; padding-block: 0 22px; align-items: baseline; border-top: 0; }
[data-theme-style="counsel"] .footer-bottom::before { content: ""; flex: 0 0 100%; border-top: 1px solid #3A3936; margin-bottom: 18px; }
[data-theme-style="counsel"] .footer-bottom a { color: #A8A298; text-decoration: underline; padding: 6px 0; display: inline-block; }
[data-theme-style="counsel"] .footer-bottom a:hover { color: #fff; }

/* 10. Responsive */
@media (max-width: 1100px) {
  [data-theme-style="counsel"] .nav-toggle { display: block; margin-right: -11px; }
  [data-theme-style="counsel"] .site-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; background: var(--bg); border-bottom: 1px solid var(--rule); padding: 4px var(--gutter) 24px; gap: 4px; }
  [data-theme-style="counsel"] .nav-open .site-nav { display: flex; }
  [data-theme-style="counsel"] .site-nav > ul { flex-direction: column; gap: 0; }
  [data-theme-style="counsel"] .site-nav > ul > li > a { display: block; padding: 14px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.4rem; font-weight: 400; color: var(--ink); letter-spacing: -.005em; }
  [data-theme-style="counsel"] .site-nav > ul > li > a[aria-current="page"] { box-shadow: none; color: var(--primary); }
  [data-theme-style="counsel"] .site-nav .nav-cta { margin-top: 12px; align-self: flex-start; font-size: 1rem; min-height: 44px; display: inline-flex; align-items: center; }
  [data-theme-style="counsel"] .submenu { position: static; display: block; border: 0; padding: 0 0 8px 16px; }
}
@media (max-width: 960px) {
  [data-theme-style="counsel"] .section-head h2, [data-theme-style="counsel"] .section-head .lede { grid-column: 1 / -1; grid-row: auto; }
  [data-theme-style="counsel"] .section-head .lede { margin-top: 14px; }
  [data-theme-style="counsel"] .hero h1, [data-theme-style="counsel"] .hero .h1, [data-theme-style="counsel"] .hero:has(.hero-points) h1, [data-theme-style="counsel"] .hero:has(.hero-points) .h1 { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .hero .lede { grid-column: 1 / span 10; }
  [data-theme-style="counsel"] .hero .actions { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .hero-points { grid-column: 1 / -1; grid-row: 5; margin-top: clamp(36px, 6vw, 56px); }
  [data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section > .container > h2 { grid-column: 1 / -1; position: static; margin-bottom: 20px; }
  [data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section > .container > .prose { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .split-text, [data-theme-style="counsel"] .split.image-left .split-text { grid-column: 1 / -1; grid-row: 2; }
  [data-theme-style="counsel"] .split-media, [data-theme-style="counsel"] .split.image-left .split-media { grid-column: 1 / span 9; grid-row: 1; margin-bottom: 32px; }
  [data-theme-style="counsel"] .team-grid, [data-theme-style="counsel"] .gallery-grid.layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-theme-style="counsel"] .process-list { grid-template-columns: 1fr; gap: 0; }
  [data-theme-style="counsel"] .process-list > li { display: grid; grid-template-columns: 3.4rem 1fr; padding: 16px 0 18px; }
  [data-theme-style="counsel"] .process-list > li::before { grid-row: 1 / span 2; margin: .35em 0 0; }
  [data-theme-style="counsel"] .process-list > li > * { grid-column: 2; }
  [data-theme-style="counsel"] .process-list h3 { margin: 0 0 .25em; }
  [data-theme-style="counsel"] .post-card { grid-template-columns: 8rem minmax(0, 1fr); }
  [data-theme-style="counsel"] .post-thumb { display: none; }
  [data-theme-style="counsel"] .section-wrap[data-look~="list"] .post-card { grid-template-columns: 8rem minmax(0, 1fr); }
  [data-theme-style="counsel"] .page-header h1 { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .page-header .lede { grid-column: 1 / span 10; }
  [data-theme-style="counsel"] .product-main { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .product-side { grid-column: 1 / -1; position: static; margin-top: 48px; }
  [data-theme-style="counsel"] .post-detail .post-meta { grid-column: 1 / -1; grid-row: auto; flex-direction: row; gap: 18px; margin-bottom: 20px; }
  [data-theme-style="counsel"] .post-detail .post-cover, [data-theme-style="counsel"] .post-detail .prose { grid-column: 1 / -1; grid-row: auto; }
  [data-theme-style="counsel"] .cta-grid > div:first-child, [data-theme-style="counsel"] .cta-actions { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .cta-actions { margin-top: 4px; }
  [data-theme-style="counsel"] .contact-grid > :first-child, [data-theme-style="counsel"] .contact-aside { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .contact-aside { margin-top: 48px; }
  [data-theme-style="counsel"] .footer-col, [data-theme-style="counsel"] .footer-col:nth-child(2) { grid-column: span 6; }
  [data-theme-style="counsel"] .footer-contact { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .footer-about p { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .section-wrap[data-look~="index"] .feature-grid li { grid-template-columns: 3.2rem 1fr; }
  [data-theme-style="counsel"] .section-wrap[data-look~="index"] .feature-grid li p { grid-column: 2; margin-top: 8px; }
}
@media (max-width: 720px) {
  :root[data-theme-style="counsel"] { --cg: 0px; }
  [data-theme-style="counsel"] .service-list > li, [data-theme-style="counsel"] .product-card { grid-template-columns: 3rem minmax(0, 1fr); gap: 0 14px; padding: 20px 0; }
  [data-theme-style="counsel"] .service-list > li::after, [data-theme-style="counsel"] .product-card::after { display: none; }
  [data-theme-style="counsel"] .service-list > li > p, [data-theme-style="counsel"] .service-points, [data-theme-style="counsel"] .product-tagline, [data-theme-style="counsel"] .product-summary { grid-column: 2; grid-row: auto; margin-top: 8px; }
  [data-theme-style="counsel"] .product-card .eyebrow, [data-theme-style="counsel"] .product-card h3 { grid-column: 2; }
  [data-theme-style="counsel"] .product-card h3 { grid-row: auto; }
  [data-theme-style="counsel"] .product-card::before { grid-row: 1; }
  [data-theme-style="counsel"] .hero-points li { grid-template-columns: 2.4rem 1fr; }
  [data-theme-style="counsel"] .team-grid { gap: 36px 16px; }
  [data-theme-style="counsel"] .post-card, [data-theme-style="counsel"] .section-wrap[data-look~="list"] .post-card { grid-template-columns: 1fr; padding: 20px 0; }
  [data-theme-style="counsel"] .post-card .post-meta { grid-column: 1; grid-row: auto; flex-direction: row; gap: 16px; margin: 0 0 10px; }
  [data-theme-style="counsel"] .post-card h3, [data-theme-style="counsel"] .post-card > p:last-child { grid-column: 1; grid-row: auto; }
  [data-theme-style="counsel"] .split-media, [data-theme-style="counsel"] .split.image-left .split-media { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .contact-form .btn-primary { width: 100%; justify-content: center; }
  [data-theme-style="counsel"] .contact-details > div { grid-template-columns: 5.6rem 1fr; }
  [data-theme-style="counsel"] .timeline-list li { grid-template-columns: 1fr; gap: 2px; }
  [data-theme-style="counsel"] .footer-col, [data-theme-style="counsel"] .footer-col:nth-child(2) { grid-column: 1 / -1; }
  [data-theme-style="counsel"] .footer-contact p { grid-template-columns: 5.4rem minmax(0, 1fr); }
  [data-theme-style="counsel"] .footer-bottom ul { gap: 14px; flex-wrap: wrap; }
  [data-theme-style="counsel"] .float-cta, [data-theme-style="counsel"] .float-cta:hover { width: 48px; height: 48px; padding: 0; justify-content: center; }
  [data-theme-style="counsel"] .subnav ul { gap: 4px 22px; }
}
@media (max-width: 420px) {
  :root[data-theme-style="counsel"] { --gutter: 18px; }
  [data-theme-style="counsel"] .wordmark { font-size: 1.12rem; letter-spacing: .02em; }
  [data-theme-style="counsel"] .team-grid { grid-template-columns: 1fr 1fr; }
  [data-theme-style="counsel"] .gallery-grid.layout-grid { grid-template-columns: 1fr; }
  [data-theme-style="counsel"] .team-grid h3 { font-size: 1.2rem; }
  [data-theme-style="counsel"] .actions { gap: 0 24px; }
}

/* 11. Motion: only underline and row transitions (150 ms) */
@media (prefers-reduced-motion: no-preference) {
  :root:not([data-motion="off"])[data-theme-style="counsel"] .btn, :root:not([data-motion="off"])[data-theme-style="counsel"] .site-nav a, :root:not([data-motion="off"])[data-theme-style="counsel"] .link-arrow, :root:not([data-motion="off"])[data-theme-style="counsel"] .post-card h3 a { transition: color .15s ease, text-decoration-color .15s ease, text-decoration-thickness .15s ease, box-shadow .15s ease; }
  :root:not([data-motion="off"])[data-theme-style="counsel"] .service-list > li, :root:not([data-motion="off"])[data-theme-style="counsel"] .product-grid > li { transition: background-color .15s ease, box-shadow .15s ease, color .15s ease; }
  :root:not([data-motion="off"])[data-theme-style="counsel"] .service-list > li *, :root:not([data-motion="off"])[data-theme-style="counsel"] .product-grid > li * { transition: color .15s ease; }
}
[data-theme-style="counsel"] .reveal, [data-theme-style="counsel"] .reveal.is-visible { opacity: 1 !important; transform: none !important; transition: none !important; }
:root[data-motion="on"][data-theme-style="counsel"] .product-card, :root[data-motion="on"][data-theme-style="counsel"] .post-card, :root[data-motion="on"][data-theme-style="counsel"] .product-card:hover, :root[data-motion="on"][data-theme-style="counsel"] .post-card:hover { transform: none; }
:root[data-motion="on"][data-theme-style="counsel"] .product-card:hover .product-thumb img, :root[data-motion="on"][data-theme-style="counsel"] .post-card:hover .post-thumb img { transform: none; }

/* 12. Print */
@media print {
  [data-theme-style="counsel"] .site-header, [data-theme-style="counsel"] .site-footer, [data-theme-style="counsel"] .topbar, [data-theme-style="counsel"] .float-cta, [data-theme-style="counsel"] .section-wrap[data-type="subnav"], [data-theme-style="counsel"] .cta-band { display: none !important; }
  [data-theme-style="counsel"] body { background: #fff; color: #000; }
  [data-theme-style="counsel"] .hero-points li, [data-theme-style="counsel"] .service-list > li { break-inside: avoid; }
}

/* Credits table: scroll inside its own box on narrow screens */
[data-theme-style="counsel"] .prose table { display: block; overflow-x: auto; }
/* Sections taller than the scroll-spy band so the sub-nav highlights the section being read (engine spy picks the last intersecting anchor) */
[data-theme-style="counsel"] .section-wrap[data-look~="sticky"] > section { min-height: 36vh; }
@media (min-width: 641px) { [data-theme-style="counsel"] .prose table { display: table; width: 100%; } }
