*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { --d-bg: #f8f5ef; --d-text: #202122; --d-accent: #8c451e; --d-soft: #ebe0d1; --d-line: color-mix(in srgb, var(--d-text) 20%, transparent); --d-muted: color-mix(in srgb, var(--d-text) 76%, var(--d-bg)); --d-serif: Georgia, 'Times New Roman', serif; --d-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --d-display: var(--d-sans); --d-radius: .5rem; margin: 0; background: var(--d-bg); color: var(--d-text); font: 400 1rem/1.65 var(--d-sans); }
[hidden] { display: none !important; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, summary { cursor: pointer; }
:focus-visible { outline: 2px solid var(--d-accent); outline-offset: 4px; }
h1, h2, h3, p, figure { margin: 0; }
img, svg { display: block; }
svg { flex-shrink: 0; }
h1, h2, h3 { line-height: 1.06; letter-spacing: -.04em; font-family: var(--d-display); }
h1 { font-size: clamp(2.75rem, 6.5vw, 6.5rem); font-weight: 630; }
h2 { font-size: clamp(1.8rem, 4vw, 3.7rem); font-weight: 630; }
h3 { font-size: clamp(1.28rem, 2.2vw, 1.8rem); }
.d-wrap { width: min(100% - 3rem, 82rem); margin-inline: auto; }
.d-skip { position: fixed; top: 1rem; left: 1rem; background: var(--d-bg); padding: .5rem 1rem; transform: translateY(-200%); z-index: 12; }
.d-skip:focus { transform: none; }
.d-demo-bar { background: #16191a; color: #eeefeb; font: 500 .72rem/1.2 var(--d-sans); }
.d-demo-bar .d-wrap { display: flex; min-height: 2.45rem; align-items: center; justify-content: space-between; gap: .65rem; }
.d-demo-bar a, .d-demo-bar span { display: inline-flex; align-items: center; gap: .5rem; }
.d-demo-bar a { font-weight: 750; text-decoration: none; }
.d-demo-bar a:hover { text-decoration: underline; }
.d-demo-bar svg { width: 14px; height: 14px; }
.d-demo-bar i { width: 4px; height: 4px; border-radius: 50%; background: #aeed6d; }
.d-demo-bar strong { color: #aab3aa; font-weight: 500; }
.d-header { position: relative; z-index: 3; border-bottom: 1px solid var(--d-line); }
.d-nav { display: flex; justify-content: space-between; gap: clamp(.5rem, 2vw, 2rem); align-items: center; min-height: 4.75rem; }
.d-brand { display: inline-flex; gap: .55rem; align-items: center; font: 720 clamp(1.02rem, 2.1vw, 1.6rem)/1.15 var(--d-display); letter-spacing: -.045em; text-decoration: none; }
.d-brand span { display: grid; place-items: center; height: 2rem; width: 2rem; flex: 0 0 2rem; border-radius: 50%; background: var(--d-soft); color: var(--d-text); font: 700 1rem/1 var(--d-sans); }
.d-nav-links, .d-nav-actions { display: flex; gap: clamp(.55rem, 1.7vw, 1.6rem); align-items: center; }
.d-nav-links a, .d-nav-auth a, .d-menu-panel a { font-size: .86rem; font-weight: 620; text-decoration: none; }
.d-nav-links a:hover, .d-nav-links a[aria-current="page"], .d-nav-auth a:hover { text-decoration: underline; text-underline-offset: .28em; }
.d-nav-icon { display: inline-flex; align-items: center; gap: .2rem; text-decoration: none; font-size: .72rem; font-weight: 700; }
.d-menu { position: relative; }
.d-menu summary, .d-widget summary { display: inline-flex; gap: .45rem; align-items: center; list-style: none; font-size: .85rem; font-weight: 700; }
.d-menu summary { min-height: 2.75rem; }
.d-menu summary::-webkit-details-marker, .d-widget summary::-webkit-details-marker { display: none; }
.d-menu-panel { position: absolute; width: min(18rem, 75vw); top: calc(100% + .45rem); right: 0; z-index: 5; display: grid; padding: .55rem; overflow-y: auto; max-height: min(34rem, 70vh); border: 1px solid var(--d-line); background: var(--d-bg); border-radius: var(--d-radius); box-shadow: 0 15px 40px #15171724; }
.d-menu-panel a { padding: .57rem .7rem; border-radius: calc(var(--d-radius) / 2); }
.d-menu-panel a:hover, .d-menu-panel a[aria-current="page"] { background: var(--d-soft); }
.d-button { display: inline-flex; justify-content: center; align-items: center; gap: .65rem; width: max-content; max-width: 100%; padding: .73rem 1rem; min-height: 2.75rem; border: 1px solid var(--d-text); border-radius: var(--d-radius); background: var(--d-text); color: var(--d-bg); font-weight: 680; font-size: .84rem; text-decoration: none; text-align: center; line-height: 1.25; }
.d-button:hover { background: var(--d-muted); }
.d-outline { background: transparent; color: var(--d-text); border-color: var(--d-line); }
.d-outline:hover { background: var(--d-soft); }
.d-text-link { font-size: .9rem; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .29em; }
.d-kicker { display: flex; align-items: center; gap: .55rem; font-size: .69rem; line-height: 1.25; letter-spacing: .14em; text-transform: uppercase; font-weight: 780; }
.d-kicker span { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; background: var(--d-accent); box-shadow: 0 0 0 3px var(--d-soft); }
.d-lead { color: var(--d-muted); max-width: 52ch; font-size: clamp(1.01rem, 1.65vw, 1.22rem); line-height: 1.65; }
.d-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); align-items: center; gap: clamp(1.75rem, 5vw, 5rem); min-height: 33rem; padding-block: clamp(2.3rem, 6vw, 7rem); }
.d-hero-copy { display: grid; justify-items: start; gap: 1.3rem; }
.d-hero-actions { display: flex; align-items: center; gap: 1rem 1.35rem; flex-wrap: wrap; margin-top: .55rem; }
.d-art { position: relative; isolation: isolate; overflow: hidden; border: 1px solid var(--d-line); background: color-mix(in srgb, var(--d-accent) 20%, var(--d-soft)); border-radius: var(--d-radius); aspect-ratio: 1.25; min-height: 13rem; color: var(--d-text); }
.d-art::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, var(--d-soft), transparent 75%), repeating-linear-gradient(90deg, var(--d-line) 0 1px, transparent 1px 12%); }
.d-art > svg { width: 100%; height: 100%; }
.d-art-disc { fill: color-mix(in srgb, var(--d-accent) 13%, var(--d-soft)); }
.d-art-orbit { stroke: color-mix(in srgb, var(--d-accent) 55%, transparent); stroke-width: 2; stroke-dasharray: 2 10; }
.d-art-lines { stroke: var(--d-text); }
.d-art-solid { fill: color-mix(in srgb, var(--d-accent) 24%, var(--d-soft)); }
.d-art-fill { fill: var(--d-accent); }
.d-art-faint { stroke: var(--d-accent); }
.d-art-mark { fill: var(--d-text); opacity: .7; }
.d-art img { width: 100%; height: 100%; object-fit: cover; }
.d-art figcaption { position: absolute; inset: auto .8rem .8rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 2.5rem; padding: .42rem .75rem; border-radius: calc(var(--d-radius) / 2); color: var(--d-text); background: var(--d-bg); font-size: .74rem; font-weight: 720; }
.d-art figcaption svg { width: 1rem; height: 1rem; }
.d-inner-hero { background: var(--d-soft); border-bottom: 1px solid var(--d-line); padding: clamp(2.4rem, 7vw, 6.5rem) 0; }
.d-inner-hero .d-wrap { display: grid; gap: .95rem; }
.d-inner-hero h1 { font-size: clamp(2.65rem, 6.5vw, 5.7rem); }
.d-crumb { display: flex; gap: .55rem; font-size: .83rem; align-items: center; margin-bottom: .65rem; }
.d-crumb a { text-underline-offset: .2em; }
.d-section { padding-block: clamp(2.5rem, 5.5vw, 5.5rem); border-top: 1px solid var(--d-line); }
.d-inner-hero + .d-section { border-top: 0; }
.d-section-head { display: grid; gap: .7rem; margin-bottom: 1.65rem; }
.d-card-grid, .d-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .75rem; }
.d-card, .d-link-grid article { display: flex; flex-direction: column; justify-content: flex-start; align-items: start; gap: .75rem; padding: clamp(1.1rem, 3vw, 2rem); border: 1px solid var(--d-line); border-radius: var(--d-radius); }
.d-card-no { display: block; width: 2.35rem; height: 2.35rem; border-radius: 50%; display: grid; place-items: center; background: var(--d-soft); font: 700 .74rem/1 var(--d-sans); margin-bottom: .8rem; }
.d-card p, .d-link-grid p, .d-note p, .d-prose p { color: var(--d-muted); }
.d-card-actions { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: .55rem; flex-wrap: wrap; margin-top: auto; padding-top: 1.1rem; }
.d-link-grid .d-text-link { font-size: inherit; }
.d-cols { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(1rem, 6vw, 6rem); align-items: start; }
.d-prose { display: grid; gap: 1.7rem; max-width: 67ch; }
.d-prose article { display: grid; gap: .65rem; }
.d-prose h2, .d-note h2 { font-size: clamp(1.35rem, 2.6vw, 2.05rem); }
.d-note { display: grid; gap: .8rem; border: 1px solid var(--d-line); padding: clamp(1rem, 3vw, 2rem); border-radius: var(--d-radius); background: var(--d-soft); }
.d-note dl { margin: 0; font-size: .88rem; }
.d-note dt { font-weight: 700; }
.d-note dd { margin: 0 0 .55rem; }
.d-faq { width: min(100%, 55rem); border-top: 1px solid var(--d-line); }
.d-faq details { border-bottom: 1px solid var(--d-line); padding: 1rem 0; }
.d-faq summary { font-weight: 700; }
.d-faq p { color: var(--d-muted); margin: .65rem 0 .3rem; }
.d-banner { background: var(--d-soft); border-block: 1px solid var(--d-line); }
.d-banner .d-wrap { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; padding-block: clamp(1.8rem, 5vw, 4rem); }
.d-banner h2 { margin-top: .55rem; font-size: clamp(1.55rem, 3vw, 2.85rem); }
.d-form, .d-form-fields { display: grid; gap: 1rem; align-items: start; }
.d-form { padding: clamp(1rem, 3.2vw, 2.25rem); border: 1px solid var(--d-line); border-radius: var(--d-radius); }
.d-field { display: grid; gap: .35rem; font-size: .85rem; font-weight: 700; }
.d-field input, .d-field select, .d-field textarea { background: var(--d-bg); color: var(--d-text); border: 1px solid var(--d-line); border-radius: calc(var(--d-radius) / 2); min-height: 2.8rem; padding: .6rem .7rem; width: 100%; font-weight: 450; }
.d-field input::placeholder { color: var(--d-muted); }
.d-field textarea { resize: vertical; }
.d-listing-search { max-width: 30rem; }
.d-listing-count { margin: .55rem 0 1.15rem; color: var(--d-muted); font-size: .85rem; }
.d-form-hint, [data-form-status] { font-size: .85rem; color: var(--d-muted); }
[data-form-status]:empty { display: none; }
[data-form-status][data-status="error"] { font-weight: 760; }
[data-cart] ul { padding-left: 0; list-style: none; }
[data-cart] li { border-bottom: 1px solid var(--d-line); padding: .6rem 0; }
[data-cart] button, .d-note button { background: var(--d-bg); color: var(--d-text); border: 1px solid var(--d-line); border-radius: .35rem; margin: .15rem; padding: .25rem .55rem; }
.d-footer { border-top: 1px solid var(--d-line); }
.d-footer-top { display: grid; grid-template-columns: 1.3fr 1fr .7fr; gap: 1.25rem 3rem; padding-block: clamp(1.8rem, 5.5vw, 4.7rem); }
.d-footer-top p { margin-top: .75rem; max-width: 32ch; color: var(--d-muted); }
.d-footer-top h2 { font: 750 .76rem/1.2 var(--d-sans); letter-spacing: .1em; text-transform: uppercase; margin-bottom: .7rem; }
.d-footer-top a:not(.d-brand) { display: block; width: max-content; max-width: 100%; padding-block: .12rem; }
.d-footer-top a:not(.d-brand), .d-footer-bottom a { font-size: .86rem; text-decoration: none; }
.d-footer-top a:hover, .d-footer-bottom a:hover { text-decoration: underline; text-underline-offset: .22em; }
.d-footer-bottom, .d-footer-bottom div { display: flex; gap: .4rem 1.2rem; flex-wrap: wrap; }
.d-footer-bottom { justify-content: space-between; border-top: 1px solid var(--d-line); font-size: .82rem; color: var(--d-muted); padding-block: 1rem 1.35rem; }
.d-widget { position: fixed; z-index: 8; bottom: max(1rem, env(safe-area-inset-bottom)); right: max(1rem, env(safe-area-inset-right)); }
.d-widget summary { min-height: 2.8rem; padding: .65rem 1rem; border-radius: 99px; background: var(--d-text); color: var(--d-bg); border: 1px solid var(--d-line); box-shadow: 0 5px 24px #1b191933; }
.d-widget-panel { position: absolute; right: 0; bottom: calc(100% + .65rem); width: min(20rem, 90vw); max-height: min(29rem, 70vh); overflow-y: auto; padding: 1.2rem; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-bg); box-shadow: 0 10px 35px #1b191933; }
.d-widget-panel h2 { font-size: 1.5rem; margin: .3rem 0 .55rem; }
.d-widget-panel form, .d-widget-links { display: grid; gap: .35rem; }
.d-widget-panel form { border-top: 1px solid var(--d-line); padding-top: .65rem; margin-top: .75rem; }
.d-widget-panel .d-button { min-height: 2rem; padding: .35rem .75rem; }

.d-style-editorial { --d-display: var(--d-serif); --d-radius: 0px; }
.d-style-editorial h1, .d-style-editorial h2 { font-weight: 430; letter-spacing: -.055em; }
.d-style-editorial .d-hero { grid-template-columns: minmax(0, 1.05fr) minmax(0, .78fr); }
.d-style-editorial .d-art { aspect-ratio: 1.06; }
.d-style-editorial .d-card { border-inline: 0; }
.d-style-studio { --d-radius: 1.1rem; }
.d-style-studio .d-button { border-radius: 99px; }
.d-style-studio h1 { font-weight: 760; }
.d-style-studio .d-hero { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.d-style-studio .d-art { border-top-left-radius: 28%; border-bottom-right-radius: 28%; }
.d-style-studio .d-art-disc { fill: color-mix(in srgb, var(--d-accent) 20%, var(--d-soft)); }
.d-style-studio .d-card { background: color-mix(in srgb, var(--d-soft) 56%, var(--d-bg)); }
.d-style-modern { --d-radius: .65rem; }
.d-style-modern .d-hero { position: relative; }
.d-style-modern .d-art { aspect-ratio: 1.15; }
.d-style-modern .d-hero-copy { padding-block: 1rem; border-left: 3px solid var(--d-accent); padding-left: clamp(.9rem, 3vw, 2rem); }
.d-style-modern .d-card-no { border-radius: .35rem; }
.d-style-split { --d-radius: .3rem; }
.d-style-split .d-hero { gap: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
.d-style-split .d-hero-copy { align-content: center; padding: clamp(1.4rem, 3vw, 3rem); background: var(--d-soft); }
.d-style-split .d-art { border-radius: 0; height: 100%; }
.d-style-split .d-section-head { padding-left: .8rem; border-left: 3px solid var(--d-accent); }
.d-style-mono { --d-radius: 0px; }
.d-style-mono .d-kicker, .d-style-mono .d-card-no { font-family: ui-monospace, 'Courier New', monospace; }
.d-style-mono .d-hero { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
.d-style-mono .d-hero-copy { order: 2; }
.d-style-mono .d-art { border: 2px solid var(--d-text); }
.d-style-mono .d-art-orbit { stroke-dasharray: 10 8; }
.d-style-mono .d-card-no { border-radius: 0; }
.d-style-mono .d-section-head { border-bottom: 1px solid var(--d-line); padding-bottom: .8rem; }
@media (max-width: 64rem) {
  .d-nav-links { display: none; }
}
@media (max-width: 47rem) {
  .d-wrap { width: min(100% - 2rem, 82rem); }
  .d-hero, .d-style-editorial .d-hero, .d-style-studio .d-hero, .d-style-mono .d-hero, .d-style-split .d-hero, .d-cols { grid-template-columns: minmax(0, 1fr); }
  .d-hero { min-height: auto; }
  .d-style-mono .d-hero-copy { order: 0; }
  .d-style-editorial .d-art, .d-style-modern .d-art { aspect-ratio: 1.3; }
  .d-header-cta, .d-nav-auth { display: none; }
  .d-footer-top { grid-template-columns: 1fr 1fr; }
  .d-footer-top > div:first-child { grid-column: 1 / -1; }
  .d-footer-bottom { padding-bottom: 4.4rem; }
  .d-banner .d-wrap { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 33rem) {
  .d-demo-bar strong { display: none; }
  .d-nav { min-height: 3.65rem; }
  .d-menu-panel { right: -1rem; }
  .d-card-grid, .d-link-grid { grid-template-columns: minmax(0, 1fr); }
  .d-footer-top { gap: 1.45rem .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Home compositions */
.d-home { --h-width: min(100% - 4rem, 83rem); --h-gap: clamp(1.3rem, 4vw, 4.5rem); --h-radius: .55rem; --h-display: var(--d-sans); --h-rule: var(--d-line); --h-panel: var(--d-soft); }
.h-wrap, .h-hero-inner { width: var(--h-width); margin-inline: auto; }
.h-hero { position: relative; }
.h-hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--h-gap); align-items: center; padding-block: clamp(2.5rem, 6vw, 6.5rem) clamp(1.25rem, 4vw, 3.5rem); }
.h-intro { display: grid; gap: 1.1rem; align-content: center; align-items: start; position: relative; z-index: 1; min-width: 0; }
.d-home h1, .d-home h2, .d-home h3 { font-family: var(--h-display); }
.d-home h1 { font-size: clamp(2.8rem, 6.1vw, 6.4rem); line-height: .99; letter-spacing: -.065em; overflow-wrap: break-word; }
.d-home h2 { font-size: clamp(2rem, 4vw, 4rem); }
.h-kicker { display: flex; align-items: center; gap: .55rem; font: 750 .72rem/1.35 var(--d-sans); letter-spacing: .14em; text-transform: uppercase; }
.h-kicker > span { width: .45rem; height: .45rem; flex: 0 0 .45rem; border-radius: 50%; background: var(--d-accent); }
.h-deck, .h-section-heading > p:not(.h-kicker) { max-width: 55ch; color: var(--d-muted); font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.6; }
.h-actions { display: flex; flex-wrap: wrap; gap: .8rem 1.35rem; align-items: center; margin-top: .25rem; }
.h-button, .h-link, .h-item-link { display: inline-flex; justify-content: space-between; align-items: center; gap: .55rem; width: fit-content; font-size: .84rem; font-weight: 710; line-height: 1.25; }
.h-button { justify-content: center; padding: .7rem .95rem; min-height: 2.75rem; color: var(--d-bg); background: var(--d-text); border: 1px solid var(--d-text); border-radius: var(--h-radius); text-align: center; text-decoration: none; }
.h-button:hover { background: var(--d-muted); border-color: var(--d-muted); }
.h-link { text-underline-offset: .25em; }
.h-link:hover { text-decoration-thickness: 2px; }
.h-link svg, .h-button svg, .h-item-link svg { width: 1.05rem; height: 1.05rem; }
.h-visual { min-width: 0; }
.h-visual .d-art { width: 100%; aspect-ratio: 1.3; border-radius: var(--h-radius); min-height: 15rem; }
.h-visual .d-art > svg, .h-visual .d-art img { position: absolute; inset: 0; width: 100%; height: 100%; }
.h-visual .d-art figcaption { border-radius: calc(var(--h-radius) / 2); }
.h-hero-aside { grid-column: 1 / -1; display: flex; align-items: center; gap: .65rem 1.35rem; flex-wrap: wrap; border-top: 1px solid var(--h-rule); padding-top: 1rem; }
.h-hero-aside > span, .h-hero-aside > p { margin-right: auto; font: 760 .73rem/1.25 var(--d-sans); letter-spacing: .11em; text-transform: uppercase; }
.h-section { padding-block: clamp(2.8rem, 6vw, 6.4rem); }
.h-section + .h-section { border-top: 1px solid var(--h-rule); }
.h-section-heading { display: grid; gap: .7rem; margin-bottom: clamp(1.5rem, 3vw, 2.7rem); }
.h-section-heading h2 { max-width: 22ch; }
.h-items, .h-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.h-item { display: grid; grid-template-rows: auto 1fr auto; justify-items: start; align-items: start; gap: 1rem; padding: clamp(1rem, 2.4vw, 2rem); border: 1px solid var(--h-rule); border-radius: var(--h-radius); }
.h-item h3, .h-product h3 { font-size: clamp(1.25rem, 2.35vw, 2.05rem); }
.h-item p, .h-product p { margin-top: .5rem; color: var(--d-muted); }
.h-index { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--h-panel); font: 750 .72rem/1 ui-monospace, monospace; }
.h-item-link { text-underline-offset: .25em; }
.h-items-rows { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--h-rule); }
.h-items-rows .h-item { grid-template: auto / auto minmax(0, 1fr) auto; align-items: center; column-gap: clamp(.8rem, 3vw, 2.5rem); border: 0; border-bottom: 1px solid var(--h-rule); border-radius: 0; padding-inline: 0; }
.h-items-steps { gap: 0; }
.h-items-steps .h-item { border: 0; border-top: 2px solid var(--h-rule); border-radius: 0; padding-inline: 0 clamp(1rem, 4vw, 4rem); }
.h-items-steps .h-index { background: var(--d-text); color: var(--d-bg); }
.h-band { background: var(--h-panel); }
.h-band .h-wrap { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; }
.h-band .h-section-heading { margin-bottom: 0; }
.h-band .h-button { flex-shrink: 0; }

/* Industry systems pair different typography, spacing and section structures. */
.h-ledger { --h-display: Georgia, 'Times New Roman', serif; --h-radius: 0; }
.h-ledger h1, .h-ledger h2 { font-weight: 500; }
.h-ledger-services .h-wrap, .h-estate-plan .h-wrap { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: var(--h-gap); }
.h-ledger-process { background: var(--h-panel); }
.h-ledger .h-hero-aside { border-bottom: 1px solid var(--h-rule); padding-bottom: 1rem; }
.h-console { --h-radius: .8rem; }
.h-console .h-hero { background: linear-gradient(180deg, var(--h-panel), var(--d-bg)); }
.h-console-panel { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--h-rule); border-radius: var(--h-radius); padding: 0; overflow: hidden; gap: 0; background: var(--d-bg); }
.h-console-panel > div:not(.h-console-bar) { padding: .8rem; display: flex; align-items: center; gap: .7rem; }
.h-console-panel > div:not(.h-console-bar) > span { font: 700 .7rem/1 ui-monospace,monospace; }
.h-console-bar { display: flex; gap: .35rem; align-items: center; grid-column: 1/-1; padding: .5rem .8rem; border-bottom: 1px solid var(--h-rule); background: var(--h-panel); }
.h-console-bar i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--d-accent); }
.h-console-bar span { margin-left: auto; font-size: .72rem; font-weight: 700; }
.h-items-modules .h-item { background: var(--h-panel); }
.h-items-modules .h-index { border-radius: .25rem; border: 1px solid var(--h-rule); background: var(--d-bg); }
.h-console-guide .h-wrap { max-width: 66rem; }
.h-console-guide .h-section-heading { text-align: center; justify-items: center; }
.h-shelf { --h-display: Georgia, 'Times New Roman', serif; --h-radius: .2rem; }
.h-shelf h1, .h-shelf h2 { font-weight: 460; }
.h-shelf-products .h-section-heading { justify-items: center; text-align: center; }
.h-product-grid { margin-bottom: 1.2rem; }
.h-product { display: flex; flex-direction: column; align-items: start; padding: 1.25rem; border: 1px solid var(--h-rule); }
.h-product-label { display: flex; align-items: start; justify-content: space-between; width: 100%; min-height: 6.5rem; padding: .85rem; margin-bottom: .9rem; background: var(--h-panel); font: 720 .74rem/1 ui-monospace,monospace; }
.h-product-label span:last-child { align-self: center; font-size: 3rem; color: var(--d-accent); }
.h-product:nth-child(2) .h-product-label { background: color-mix(in srgb,var(--d-accent) 20%,var(--d-bg)); }
.h-product:nth-child(3) .h-product-label { background: color-mix(in srgb,var(--d-text) 10%,var(--d-bg)); }
.h-product-buy { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: space-between; align-items: center; width: 100%; margin-top: auto; padding-top: 1.15rem; }
.h-shelf-guide { background: var(--h-panel); }
.h-care { --h-radius: 1.4rem; }
.h-care .h-intro h1 { letter-spacing: -.055em; }
.h-care-intake { background: var(--h-panel); border: 1px solid var(--h-rule); border-radius: var(--h-radius); padding: .85rem 1rem; }
.h-care-options .h-section-heading { text-align: center; justify-items: center; }
.h-items-care .h-item { border-radius: 1.45rem 1.45rem .35rem .35rem; border-top: .3rem solid var(--d-accent); }
.h-care-process .h-wrap { max-width: 69rem; }
.h-table { --h-display: Georgia, 'Times New Roman', serif; --h-radius: 0; }
.h-table h1, .h-table h2 { font-weight: 450; }
.h-table .h-hero-inner { border-bottom: 1px solid var(--h-rule); }
.h-items-menu { grid-template-columns: 1fr; gap: 0; }
.h-items-menu .h-item { grid-template: auto / 1fr auto; border: 0; border-bottom: 1px dashed var(--h-rule); border-radius: 0; padding-inline: 0; }
.h-items-menu .h-index { display: none; }
.h-table-menu .h-wrap { max-width: 60rem; }
.h-table-menu .h-section-heading { text-align: center; justify-items: center; }
.h-table-visit { background: var(--h-panel); }
.h-folio { --h-radius: 0; }
.h-folio h1 { font-weight: 780; line-height: .92; }
.h-folio .h-section-heading { border-bottom: 1px solid var(--h-rule); padding-bottom: 1.1rem; }
.h-items-folio { grid-template-columns: 1.25fr 1fr; }
.h-items-folio .h-item { min-height: 10rem; background: var(--h-panel); }
.h-items-folio .h-item:first-child { grid-row: span 2; }
.h-items-folio .h-index { background: transparent; border: 1px solid var(--h-rule); }
.h-campus { --h-radius: .65rem; }
.h-campus .h-hero-aside { padding: .85rem 1rem; background: var(--h-panel); border-top: 0; border-radius: var(--h-radius); }
.h-campus-outline .h-wrap { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: var(--h-gap); }
.h-accordion { border-top: 1px solid var(--h-rule); }
.h-accordion details { border-bottom: 1px solid var(--h-rule); padding: 1rem 0; }
.h-accordion summary { font-weight: 780; font-size: 1.12rem; }
.h-accordion p { margin: .65rem 0; color: var(--d-muted); }
.h-estate { --h-radius: .3rem; }
.h-estate .h-hero-aside { background: var(--d-text); color: var(--d-bg); padding: .85rem 1rem; border-radius: var(--h-radius); }
.h-items-tiles .h-item { border-radius: 0; border-left: .25rem solid var(--d-accent); }
.h-estate-index .h-section-heading { max-width: 66ch; }
.h-trail { --h-display: Georgia, 'Times New Roman', serif; --h-radius: .55rem; }
.h-trail h1, .h-trail h2 { font-weight: 470; }
.h-items-trail .h-item { background: var(--h-panel); min-height: 12rem; }
.h-items-trail .h-index { border: 1px solid var(--h-rule); border-radius: 50% 50% 0 50%; }
.h-trail-plan { background: var(--h-panel); }
.h-commons { --h-radius: .8rem; }
.h-commons .h-hero-aside { border-top: .2rem solid var(--d-accent); }
.h-items-causes { grid-template-columns: 1.45fr 1fr 1fr; }
.h-items-causes .h-item:first-child { background: var(--d-text); color: var(--d-bg); }
.h-items-causes .h-item:first-child p { color: var(--d-bg); }
.h-items-causes .h-item:first-child .h-index { color: var(--d-text); }
.h-commons-action .h-wrap { max-width: 67rem; }

/* Ten separate grids control the headline, art and quick links. */
.h-split .h-hero-inner { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
.h-split .h-visual .d-art { aspect-ratio: 1.06; }
.h-cinema .h-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: clamp(1rem, 3vw, 2.5rem); }
.h-cinema .h-intro, .h-cinema .h-visual { grid-area: 1 / 1; }
.h-cinema .h-intro { max-width: 48rem; padding: clamp(1.7rem, 5vw, 4.5rem); align-self: end; color: #fff; }
.h-cinema .h-deck { color: #fff; }
.h-cinema .h-button { color: #161616; background: #fff; border-color: #fff; }
.h-cinema .h-button:hover { background: #e5e5e5; }
.h-cinema .h-visual .d-art { min-height: clamp(28rem, 47vw, 45rem); aspect-ratio: 2.25; background: var(--h-panel); }
.h-cinema .h-visual .d-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #000d, #0004 80%), linear-gradient(0deg, #000a, transparent 65%); }
.h-cinema .h-visual .d-art figcaption { display: none; }
.h-cinema .h-hero-aside { margin-top: 1rem; }
.h-stacked .h-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.h-stacked .h-intro { text-align: center; justify-items: center; max-width: 66rem; margin-inline: auto; }
.h-stacked .h-intro h1 { max-width: 17ch; }
.h-stacked .h-actions { justify-content: center; }
.h-stacked .h-visual .d-art { aspect-ratio: 2.8; }
.h-overlap .h-hero-inner { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 0; align-items: end; }
.h-overlap .h-intro { width: calc(100% + clamp(2rem, 6vw, 6rem)); margin-bottom: 1.4rem; padding: clamp(1.35rem, 3.75vw, 3rem); background: var(--d-bg); border: 1px solid var(--h-rule); border-radius: var(--h-radius); box-shadow: 0 8px 24px #1c1c2214; }
.h-overlap .h-visual .d-art { aspect-ratio: 1.1; }
.h-overlap .h-hero-aside { margin-top: 1rem; }
.h-offset .h-hero-inner { grid-template-columns: minmax(0, .73fr) minmax(0, 1.27fr); align-items: start; gap: 1rem var(--h-gap); }
.h-offset .h-intro { padding-top: clamp(.5rem, 5vw, 4.7rem); }
.h-offset .h-visual { padding: 0 0 clamp(.65rem, 1vw, 1rem) clamp(.65rem, 1vw, 1rem); border-left: .25rem solid var(--d-accent); border-bottom: 1px solid var(--h-rule); }
.h-offset .h-visual .d-art { aspect-ratio: 1.33; }
.h-ribbon .h-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(0, .82fr); gap: 0; align-items: stretch; padding-top: 1rem; }
.h-ribbon .h-hero-aside { grid-row: 1; grid-column: 1/-1; border-top: 0; border-bottom: 1px solid var(--h-rule); padding: .75rem clamp(.75rem, 2vw, 1.5rem); background: var(--d-text); color: var(--d-bg); }
.h-ribbon .h-intro { background: var(--h-panel); padding: clamp(1.4rem, 5vw, 4.5rem); }
.h-ribbon .h-visual .d-art { height: 100%; aspect-ratio: 1.15; border-radius: 0; }
.h-framed .h-hero-inner { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 1rem; }
.h-framed .h-intro { grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); align-items: end; padding-bottom: 1rem; }
.h-framed .h-kicker, .h-framed h1 { grid-column: 1; }
.h-framed .h-deck { grid-column: 2; grid-row: 2; }
.h-framed .h-actions { grid-column: 2; grid-row: 3; }
.h-framed .h-visual { border: 1px solid var(--h-rule); padding: clamp(.45rem, 1.3vw, 1rem); }
.h-framed .h-visual .d-art { aspect-ratio: 2.6; }
.h-sidebar .h-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(9.5rem, .32fr); align-items: stretch; gap: clamp(.8rem, 2vw, 2rem); }
.h-sidebar .h-intro h1 { font-size: clamp(2.6rem, 5.1vw, 5.8rem); }
.h-sidebar .h-hero-aside { grid-column: 3; display: flex; flex-direction: column; align-items: start; justify-content: center; border: 1px solid var(--h-rule); padding: .85rem; }
.h-sidebar .h-console-panel .h-console-bar { width: 100%; }
.h-sidebar .h-console-panel > div:not(.h-console-bar) { padding: .4rem 0; }
.h-sidebar .h-visual .d-art { height: 100%; aspect-ratio: 1; }
.h-poster .h-hero-inner { grid-template-columns: minmax(0, .4fr) minmax(0, .6fr); gap: 0; align-items: stretch; padding-top: clamp(1rem, 3vw, 2.5rem); }
.h-poster .h-visual { grid-column: 1 / -1; grid-row: 1; }
.h-poster .h-visual .d-art { aspect-ratio: 2.75; min-height: 16rem; border-radius: var(--h-radius) var(--h-radius) 0 0; }
.h-poster .h-intro { grid-column: 1 / -1; grid-row: 2; grid-template-columns: minmax(0, 1.5fr) minmax(0, .7fr); align-items: end; padding: clamp(1.2rem, 4vw, 3rem); background: var(--d-text); color: var(--d-bg); }
.h-poster .h-intro .h-deck { color: var(--d-bg); grid-row: 2; grid-column: 2; }
.h-poster .h-actions { grid-column: 2; }
.h-poster .h-button { color: var(--d-text); background: var(--d-bg); }
.h-poster .h-button:hover { background: var(--h-panel); }
.h-poster .h-hero-aside { margin-top: 1rem; }
.h-reverse .h-hero-inner { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); align-items: start; }
.h-reverse .h-visual { grid-column: 1; grid-row: 1; }
.h-reverse .h-intro { grid-column: 2; grid-row: 1; align-self: center; }
.h-reverse .h-visual .d-art { aspect-ratio: 1.04; }

@media (max-width: 64rem) {
  .d-home { --h-width: min(100% - 3rem, 83rem); }
  .h-sidebar .h-hero-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h-sidebar .h-hero-aside { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
}
@media (max-width: 48rem) {
  .d-home { --h-width: min(100% - 2rem, 83rem); }
  .d-home .h-hero-inner { grid-template-columns: minmax(0, 1fr); gap: 1.05rem; padding-block: 1.75rem 1rem; }
  .d-home .h-intro { grid-column: 1; grid-row: auto; grid-template-columns: minmax(0, 1fr); width: auto; margin: 0; padding: 0; gap: .8rem; }
  .d-home h1 { font-size: clamp(2.5rem, 10.2vw, 4.1rem); line-height: .99; }
  .d-home .h-visual { grid-column: 1; grid-row: auto; padding: 0; border: 0; }
  .d-home .h-visual .d-art { aspect-ratio: 1.45; min-height: clamp(11rem, 58vw, 15rem); }
  .d-home .h-deck, .d-home .h-actions { grid-column: auto; grid-row: auto; }
  .h-cinema .h-hero-inner { gap: 0; }
  .h-cinema .h-intro, .h-cinema .h-visual { grid-area: 1 / 1; }
  .h-cinema .h-intro { padding: 1.15rem; }
  .h-cinema .h-visual .d-art { min-height: 27rem; }
  .h-cinema .h-visual .d-art::after { background: linear-gradient(0deg,#000e,#0005); }
  .h-overlap .h-intro { padding: 1rem; }
  .h-overlap .h-visual { margin: -2.3rem .55rem 0; }
  .h-ribbon .h-hero-inner { gap: 0; }
  .h-ribbon .h-intro, .h-poster .h-intro { padding: 1.2rem; }
  .h-poster .h-hero-inner { gap: 0; }
  .h-poster .h-visual { grid-row: 1; }
  .h-poster .h-hero-aside, .h-ribbon .h-hero-aside { margin-top: .7rem; }
  .h-reverse .h-visual { grid-row: 1; }
  .h-section { padding-block: 2.65rem; }
  .h-items, .h-product-grid, .h-ledger-services .h-wrap, .h-estate-plan .h-wrap, .h-campus-outline .h-wrap { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .h-items-folio .h-item:first-child { grid-row: auto; }
  .h-items-rows .h-item, .h-items-menu .h-item { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
  .h-items-rows .h-index { display: none; }
  .h-band .h-wrap { align-items: start; flex-direction: column; }
  .h-console-panel { grid-template-columns: 1fr; }
  .h-console-panel > div:not(.h-console-bar) { padding: .6rem .75rem; border-bottom: 1px solid var(--h-rule); }
}

@media (min-width: 48.01rem) {
  .h-split .h-hero + .h-section .h-section-heading { padding-left: 1rem; border-left: 2px solid var(--d-accent); }
  .h-cinema .h-band .h-wrap { min-height: 6rem; }
  .h-stacked .h-band .h-wrap { align-items: center; flex-direction: column; text-align: center; }
  .h-stacked .h-band .h-section-heading { justify-items: center; }
  .h-overlap .h-band { background: var(--d-text); color: var(--d-bg); }
  .h-overlap .h-band .h-button { background: var(--d-bg); color: var(--d-text); }
  .h-offset .h-section-heading { padding-left: clamp(.75rem, 2.2vw, 2rem); border-left: 1px solid var(--h-rule); }
  .h-ribbon .h-band { padding-block: clamp(1.45rem, 3vw, 2.7rem); border-block: 1px solid var(--h-rule); }
  .h-framed .h-section:not(.h-band) .h-wrap { border: 1px solid var(--h-rule); padding: clamp(1.5rem, 4vw, 3rem); }
  .h-sidebar .h-band .h-wrap { align-items: center; }
  .h-sidebar .h-band .h-section-heading { padding-left: clamp(.75rem, 2vw, 2rem); border-left: 2px solid var(--d-accent); }
  .h-poster .h-section:not(.h-band) { background: color-mix(in srgb, var(--h-panel) 40%, var(--d-bg)); }
  .h-reverse .h-band .h-wrap { flex-direction: row-reverse; justify-content: start; gap: clamp(1rem, 6vw, 6rem); }
}

/* Compact the section rhythm so the next useful action stays in view. */
.d-home { --h-action: color-mix(in srgb, var(--d-text) 80%, var(--d-accent)); }
.h-hero-inner { padding-block: clamp(2rem, 4.35vw, 4.8rem) clamp(1rem, 2.65vw, 2.3rem); }
.h-section { padding-block: clamp(2.2rem, 4.2vw, 4.7rem); }
.h-section-heading { margin-bottom: clamp(1.2rem, 2.5vw, 2.25rem); }
.h-button { background-color: var(--h-action); border-color: var(--h-action); }
.h-visual .d-photo figcaption { inset: auto auto .8rem .8rem; min-height: auto; padding: .38rem .63rem; border: 1px solid var(--d-line); }
.h-visual .d-art figcaption svg { display: none; }
.h-visual .d-photo img { object-position: var(--h-photo-position, 50% 50%); }
.h-framed, .h-stacked { --h-photo-position: 50% 46%; }
.h-poster { --h-photo-position: 50% 44%; }
.h-cinema { --h-photo-position: 58% 50%; }
.h-console .h-intro h1, .h-estate .h-intro h1 { font-weight: 720; }
.h-care .h-intro h1 { font-weight: 580; }
.h-folio .h-kicker, .h-console .h-kicker { font-family: ui-monospace, 'Courier New', monospace; }
.h-table .h-hero .h-kicker { justify-content: start; letter-spacing: .18em; }
.h-table .h-hero .h-kicker > span { width: 1.4rem; height: 1px; border-radius: 0; }
.h-trail .h-hero .h-kicker > span { width: .55rem; height: .65rem; border-radius: 50% 50% 0 50%; transform: rotate(45deg); }
.h-campus .h-kicker > span { border-radius: 2px; }
.h-folio .h-hero-aside, .h-ledger .h-hero-aside { border-top: 3px double var(--h-rule); }
.h-console-panel > div:not(.h-console-bar) + div { border-left: 1px solid var(--h-rule); }
.h-cinema .h-button { color: #161616; background: #fff; border-color: #fff; }
.h-poster .h-button { background: var(--d-bg); color: var(--d-text); }

@media (max-width: 48rem) {
  .d-home .h-hero-inner { padding-top: 1.35rem; }
  .d-home .h-section { padding-block: 2.1rem; }
  .h-hero-aside { gap: .55rem .9rem; }
  .h-hero-aside > span, .h-hero-aside > p { flex-basis: 100%; }
  .h-care-intake > .h-button { flex-basis: auto; }
  .h-console-panel > div:not(.h-console-bar) + div { border-left: 0; }
  .h-console:not(.h-cinema):not(.h-poster):not(.h-ribbon) .h-intro { padding: .65rem 0 .5rem .8rem; border-left: 2px solid var(--d-accent); }
  .h-shelf:not(.h-cinema):not(.h-ribbon):not(.h-poster) .h-hero .h-kicker { text-transform: none; letter-spacing: .07em; }
  .h-care:not(.h-cinema):not(.h-poster):not(.h-ribbon):not(.h-overlap) .h-intro { background: var(--h-panel); padding: 1rem; border-radius: var(--h-radius); }
  .h-campus:not(.h-cinema):not(.h-poster):not(.h-ribbon) .h-hero .h-kicker { padding: .4rem .55rem; width: fit-content; background: var(--h-panel); }
  .h-commons:not(.h-cinema):not(.h-poster):not(.h-ribbon) .h-intro { border-bottom: .2rem solid var(--d-accent); padding-bottom: .9rem; }
}

.h-fieldnote .h-wrap{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1fr);gap:clamp(1.6rem,5vw,6rem);align-items:start}
.h-fieldnote{background:color-mix(in srgb,var(--h-panel) 65%,var(--d-bg))}
.h-fieldnote .h-section-heading{margin-bottom:1rem}
.h-note-body{display:grid;gap:1.2rem}
.h-note-body article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;border-top:1px solid var(--h-rule);padding-block:.85rem}
.h-note-body article span{color:var(--d-muted);font:650 .8rem/1.7 ui-monospace,monospace}
.h-note-body h3{margin-bottom:.35rem;font-size:clamp(1.14rem,2.25vw,1.7rem)}
.h-note-body p,.h-directory-list p{color:var(--d-muted)}
.h-fieldnote-1{background:var(--d-bg)}
.h-fieldnote-1 .h-note-body{grid-column:1;grid-row:1}
.h-fieldnote-2 .h-wrap{grid-template-columns:1fr}
.h-fieldnote-2 .h-note-body{grid-template-columns:repeat(2,minmax(0,1fr))}
.h-fieldnote-3{background:var(--d-text);color:var(--d-bg);--h-rule:color-mix(in srgb,var(--d-bg) 34%,transparent)}
.h-fieldnote-3 .h-kicker,.h-fieldnote-3 .h-section-heading p,.h-fieldnote-3 .h-note-body p,.h-fieldnote-3 .h-note-body span{color:var(--d-bg)}
.h-fieldnote-4 .h-note-body article{border-top:0;border-left:2px solid var(--d-accent);padding-left:1rem}
.h-directory-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.h-directory-list article{display:grid;align-content:start;gap:.5rem;border-top:1px solid var(--h-rule);padding-top:.85rem}
.h-directory-list .h-link{font-size:1rem;width:max-content;max-width:100%}
.h-directory-1 .h-wrap,.h-directory-3 .h-wrap{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem)}
.h-directory-1 .h-directory-list,.h-directory-3 .h-directory-list{grid-template-columns:1fr}
.h-directory-2 .h-directory-list article{border-top:0;border-left:1px solid var(--h-rule);padding:0 0 0 1rem}
@media(max-width:47rem){
  .h-fieldnote .h-wrap,.h-fieldnote-2 .h-note-body,.h-directory .h-wrap,.h-directory-list{grid-template-columns:1fr}
  .h-fieldnote-1 .h-note-body{grid-row:auto}
}
.h-poster .h-intro > .h-kicker,.h-poster .h-intro > h1{grid-column:1}
