:root {
  color-scheme: light;
  --ink: #0e1410;
  --ink-soft: #18211a;
  --paper: #eef0e7;
  --paper-pure: #fbfaf4;
  --muted: #70786e;
  --line: rgba(20, 25, 19, .16);
  --line-dark: rgba(245, 245, 235, .18);
  --accent: #386d54;
  --accent-bright: #e3c672;
  --brand-gold: #d8bd78;
  --brand-jewel: #438564;
  --accent-ink: #fffdf7;
  --white: #f9f9f2;
  --font: "Vazirmatn", Tahoma, sans-serif;
  --page-width: 1360px;
  --page-gutter: clamp(22px, 5.6vw, 88px);
  --motion-tap: 110ms;
  --motion-control: 180ms;
  --motion-surface: 360ms;
  --radius-pill: 999px;
  --radius-field: 16px;
  --radius-card: 26px;
  --radius-panel: 30px;
  --ease-arrive: cubic-bezier(.2,.65,.2,1);
  --ease-snap: cubic-bezier(.2,.8,.2,1);
  --ease-liquid: cubic-bezier(.22,1,.36,1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font); font-size: 16px; line-height: 1.65; text-rendering: optimizeLegibility; }
body, button, input, select, textarea { font-family: var(--font); }
button, a, select, summary { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
img { max-width: 100%; display: block; }
a { color: inherit; }
::selection { color: var(--accent-ink); background: var(--accent); }
.page-shell { width: min(var(--page-width), 100%); margin-inline: auto; padding-inline: var(--page-gutter); }
.skip-link { position: fixed; z-index: 1000; top: 8px; right: 8px; padding: 10px 16px; color: var(--accent-ink); background: var(--accent); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.reading-progress { position: fixed; z-index: 1001; top: 0; right: 0; left: 0; height: 3px; pointer-events: none; background: transparent; }
.reading-progress span { display: block; width: 100%; height: 100%; background: var(--accent); transform: scaleX(0); transform-origin: right center; }

.site-header { position: absolute; z-index: 20; top: 0; right: 0; left: 0; display: flex; align-items: center; justify-content: space-between; min-height: 82px; padding: 0 var(--page-gutter); color: var(--white); border-bottom: 1px solid rgba(255,255,255,.14); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.brand-word { direction: ltr; font-size: 1.25rem; font-weight: 800; letter-spacing: -.075em; }
.brand-period { color: var(--accent); }
.brand-mark { display: flex; align-items: flex-end; gap: 3px; height: 20px; transform: skew(-20deg); }
.brand-mark i { display: block; width: 4px; background: var(--accent); }
.brand-mark i:nth-child(1) { height: 9px; }.brand-mark i:nth-child(2) { height: 15px; }.brand-mark i:nth-child(3) { height: 20px; }
.main-nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 44px); margin-inline-start: auto; margin-inline-end: clamp(44px, 8vw, 128px); }
.main-nav a, .header-cta { color: inherit; font-size: .84rem; text-decoration: none; transition: color .2s ease; }
.main-nav a { color: rgba(255,255,255,.78); }
.main-nav a:hover, .header-cta:hover { color: var(--accent); }
.header-cta { display: flex; min-height: 44px; align-items: center; gap: 18px; padding: 8px 0; border-bottom: 1px solid rgba(227,198,114,.55); }
.header-cta span:last-child { color: var(--accent); font-size: 1.15rem; }
.menu-toggle, .mobile-menu { display: none; }

.hero { position: relative; isolation: isolate; display: flex; align-items: stretch; min-height: clamp(660px, 100svh, 920px); overflow: hidden; color: var(--white); background: #101510; }
.hero-image, .hero-shade { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; }
.hero-image { object-fit: cover; object-position: 28% center; opacity: .72; animation: hero-image-in 1.15s cubic-bezier(.2,.65,.2,1) both; }
.hero-shade { background: linear-gradient(90deg, rgba(11,16,12,.06) 0%, rgba(11,16,12,.16) 30%, rgba(11,16,12,.76) 58%, #111511 86%), linear-gradient(0deg, rgba(8,12,8,.72), transparent 38%); }
.hero-layout { position: relative; z-index: 1; display: flex; flex: 1; align-items: center; min-height: inherit; padding-top: 116px; padding-bottom: 146px; }
.hero-copy { width: min(690px, 58%); margin-inline-start: 0; animation: hero-copy-in .78s .14s both cubic-bezier(.2,.65,.2,1); }
.eyebrow { margin: 0; font-size: .73rem; font-weight: 600; letter-spacing: .02em; }
.hero-eyebrow { display: flex; align-items: center; gap: 11px; margin-bottom: 28px; color: rgba(255,255,255,.72); }
.status-dot { display: inline-block; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(227,198,114,.14); }
.hero h1 { max-width: 740px; margin: 0; font-size: clamp(3.5rem, 7.4vw, 7.6rem); font-weight: 600; line-height: 1.03; letter-spacing: -.065em; }
.hero h1 em, h2 em { color: var(--accent); font-style: normal; }
.hero-description { max-width: 470px; margin: 30px 0 0; color: rgba(255,255,255,.79); font-size: clamp(1rem, 1.25vw, 1.14rem); line-height: 1.95; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 34px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 20px; padding: 0 20px; border: 1px solid transparent; border-radius: var(--radius-pill); font-size: .86rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-accent { color: var(--accent-ink); background: var(--accent); }
.button-accent:hover { background: #e2ff8b; }
.button-quiet { color: white; border-color: rgba(255,255,255,.38); background: rgba(15,20,16,.16); }
.button-quiet:hover { border-color: var(--accent); }
.play-mark { display: inline-flex; width: 25px; height: 25px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.48); border-radius: 50%; font-size: .82rem; }
.hero-proof { display: flex; align-items: center; gap: 12px; margin-top: 52px; color: rgba(255,255,255,.64); font-size: .75rem; }
.hero-proof-line { width: 46px; height: 1px; background: var(--accent); }
.hero-caption { position: absolute; bottom: 68px; left: var(--page-gutter); display: grid; gap: 4px; max-width: 270px; color: white; text-decoration: none; animation: hero-copy-in .8s .35s both; }
.caption-index, .caption-meta { color: rgba(255,255,255,.66); font-size: .68rem; }
.caption-title { font-size: 1.2rem; font-weight: 700; direction: ltr; text-align: left; }
.caption-meta { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.caption-meta b { color: var(--accent); font-size: 1rem; }
.hero-bottom { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; min-height: 57px; color: rgba(255,255,255,.62); border-top: 1px solid rgba(255,255,255,.16); font-size: .68rem; }
.hero-scroll { display: flex; gap: 10px; align-items: center; }
.hero-scroll span { color: var(--accent); font-size: 1rem; }
.hero-signature { display: flex; gap: 11px; align-items: center; direction: ltr; letter-spacing: .11em; font-size: .57rem; }
.hero-signature i { width: 3px; height: 3px; border-radius: 50%; background: var(--accent); }

.section-light { color: var(--ink); background: var(--paper); }
.section-paper { color: var(--ink); background: var(--paper-pure); }
.section-dark { --accent: var(--accent-bright); --accent-ink: #20190e; color: var(--white); background: var(--ink); }
.intro { padding-top: clamp(64px, 7vw, 112px); }
.intro-grid { display: grid; grid-template-columns: .72fr 1.8fr .72fr; gap: 5vw; align-items: start; padding-bottom: clamp(56px, 7vw, 100px); }
.section-kicker { color: var(--muted); }
.section-kicker span { color: #89924e; direction: ltr; display: inline-block; }
.intro-main h2, .section-heading h2, .benchmark-copy h2 { margin: 0; font-size: clamp(2.75rem, 5.5vw, 5.6rem); font-weight: 600; line-height: 1.08; letter-spacing: -.065em; }
.intro-main h2 em, .section-heading h2 em, .benchmark-copy h2 em { color: #788f31; }
.intro-main > p { max-width: 560px; margin: 25px 0 0; color: #60665d; font-size: 1rem; line-height: 2; }
.intro-note { max-width: 230px; padding-top: 32px; }
.hand-drawn-arrow { display: inline-block; margin-bottom: 18px; color: #849a3d; font-size: 2rem; transform: rotate(-13deg); }
.intro-note p { margin: 0; font-size: .9rem; line-height: 1.9; }
.intro-note a, .text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 12px; margin-top: 20px; padding-bottom: 5px; border-bottom: 1px solid #919b6b; font-size: .78rem; text-decoration: none; }
.intro-note a span, .text-link span { color: #788f31; font-size: 1rem; }
.ticker { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ticker-track { display: flex; width: max-content; align-items: center; gap: 34px; padding: 18px 0; animation: ticker-shift 32s linear infinite; }
.ticker-track span { color: #363c34; font-size: .92rem; font-weight: 600; white-space: nowrap; }
.ticker-track i { color: #879b41; font-style: normal; font-size: .9rem; }
.ticker:hover .ticker-track { animation-play-state: paused; }

.services-section { padding-block: clamp(72px, 7vw, 112px); }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 44px; margin-bottom: clamp(44px, 6vw, 78px); }
.section-heading h2 { margin-top: 18px; }
.section-dark .section-kicker { color: #a7ac9e; }
.section-dark .section-kicker span { color: var(--accent); }
.section-dark .section-heading h2 em { color: var(--accent); }
.section-intro { max-width: 330px; margin: 0 0 7px; color: #b2b7ad; font-size: .93rem; line-height: 1.95; }
.service-explorer { display: block; min-height: 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.service-rail { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1.65fr); align-items: center; column-gap: clamp(16px, 3vw, 42px); padding: 22px 0 18px; border-bottom: 1px solid var(--line-dark); }
.rail-label, .aside-label { display: block; margin: 0 0 18px; color: #9ca297; font-size: .66rem; }
.service-rail > .rail-label { align-self: start; margin: 8px 0 0; }
.selector-step { display: block; margin-bottom: 7px; color: var(--accent); font-size: .59rem; font-weight: 700; letter-spacing: .08em; }
.category-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.category-tab { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 38px auto; min-height: 88px; align-items: center; justify-items: center; gap: 5px; padding: 9px 8px 7px; color: #bbc0b5; border: 1px solid transparent; border-radius: var(--radius-pill); background: transparent; text-align: center; font-size: .78rem; line-height: 1.55; cursor: pointer; transition: color var(--motion-control) ease, border-color var(--motion-control) ease, background-color var(--motion-control) ease; }
.category-tab:hover, .category-tab.is-active { color: var(--white); }
.category-tab.is-active { background: rgba(227,198,114,.045); }
.category-number { position: absolute; inset-block-start: 9px; inset-inline-start: 11px; color: #858d81; direction: ltr; font-size: .57rem; line-height: 1; }
.category-tab.is-active .category-number, .tab-arrow { color: var(--tab-accent); }
.category-icon { position: relative; display: grid; width: 36px; height: 36px; place-items: center; color: var(--tab-accent); border: 1px solid transparent; border-radius: 50%; background: transparent; transition: transform 460ms var(--ease-liquid), color 220ms ease, border-color 260ms ease, background-color 260ms ease, box-shadow 320ms ease; }
.category-icon::after { position: absolute; inset: -4px; border: 1px solid currentColor; border-radius: inherit; content: ""; opacity: 0; transform: scale(.72); transition: opacity 260ms ease, transform 420ms var(--ease-liquid); }
.category-tab.is-active .category-icon { transform: none; border-color: color-mix(in srgb, var(--tab-accent) 44%, transparent); background: color-mix(in srgb, var(--tab-accent) 13%, transparent); box-shadow: 0 7px 20px color-mix(in srgb, var(--tab-accent) 18%, transparent), inset 0 1px rgba(255,255,255,.14); }
.category-tab.is-active .category-icon::after { opacity: .32; transform: scale(1); }
.category-label { display: inline-flex; min-height: 1.8em; align-items: center; justify-content: center; gap: 6px; }
.ui-icon { display: block; width: 1.25em; height: 1.25em; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.category-icon .ui-icon { width: 21px; height: 21px; transition: transform 420ms var(--ease-liquid), filter 260ms ease; }
.category-tab.is-active .category-icon .ui-icon { filter: drop-shadow(0 1px 4px color-mix(in srgb, var(--tab-accent) 38%, transparent)); }
.tab-arrow { width: 12px; height: 12px; opacity: .38; transition: opacity var(--motion-control) ease, transform var(--motion-control) var(--ease-snap); }
.category-tab.is-active .tab-arrow { opacity: 1; }
.rail-bottom { display: flex; grid-column: 2; align-items: center; gap: 10px; margin: 12px 0 0; padding: 0; color: #8d968a; font-size: .63rem; }
.service-workspace { min-width: 0; padding: 0 0 34px; }
.service-selection-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0 0; }
.service-selection-title { flex: 0 0 auto; }
.service-selection-title .rail-label { margin: 0 0 5px; }
.active-category-label { display: block; color: var(--white); font-size: 1rem; font-weight: 600; line-height: 1.5; }
.service-category-intro { max-width: 600px; margin: 0; color: #aeb5a9; font-size: .78rem; line-height: 1.85; }
.subservice-tabs { display: flex; gap: 7px; overflow-x: auto; padding: 14px 0; border-bottom: 1px solid var(--line-dark); scrollbar-width: thin; scrollbar-color: #707761 transparent; }
.subservice-tab { display: inline-flex; flex: 0 0 auto; min-height: 44px; align-items: center; gap: 8px; padding: 0 12px; color: #aeb5a9; border: 1px solid transparent; background: transparent; white-space: nowrap; font-size: .73rem; cursor: pointer; transition: color .18s ease, border-color .18s ease, background .18s ease; }
.subservice-tab:hover { color: white; }
.subservice-tab.is-active { color: var(--accent); border-color: rgba(227,198,114,.43); background: rgba(227,198,114,.07); }
.subservice-dot { width: 5px; height: 5px; border-radius: 50%; background: #6b7465; }
.subservice-tab.is-active .subservice-dot { background: var(--accent); }
.service-detail { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(205px, .65fr); gap: clamp(28px, 5vw, 70px); padding-top: 30px; animation: content-in .3s ease both; }
.service-copy { min-width: 0; }
.service-eyebrow { color: var(--accent); direction: ltr; letter-spacing: .15em; text-align: right; }
.service-copy h3 { max-width: 680px; margin: 13px 0 14px; font-size: clamp(1.9rem, 3.1vw, 3.3rem); font-weight: 600; line-height: 1.27; letter-spacing: -.04em; }
.service-intro { max-width: 670px; margin: 0; color: #bdc2b8; font-size: .93rem; line-height: 1.95; }
.service-details-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 32px; margin-top: 48px; }
.service-details-grid h4 { margin: 0 0 15px; color: #f1f3e9; font-size: .82rem; font-weight: 600; }
.deliverable-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.deliverable-list li { position: relative; padding-right: 18px; color: #adb4a8; font-size: .75rem; line-height: 1.65; }
.deliverable-list li::before { position: absolute; top: .6em; right: 0; width: 6px; height: 1px; background: var(--accent); content: ""; }
.service-outcome { position: relative; padding: 18px 21px; border: 1px solid rgba(245,245,235,.15); }
.service-outcome p { margin: 0; color: #adb4a8; font-size: .76rem; line-height: 1.9; }
.outcome-mark { display: block; margin-bottom: 17px; color: var(--accent); font-size: 1.3rem; }
.service-media-link { display: inline-flex; align-items: center; gap: 11px; min-height: 44px; margin-top: 20px; color: var(--accent); border-bottom: 1px solid rgba(212,246,115,.42); font-size: .74rem; text-decoration: none; }
.service-media-link:hover { color: #edffb4; border-color: currentColor; }
.service-aside { display: flex; flex-direction: column; justify-content: flex-start; gap: 24px; min-width: 0; padding-top: 5px; }
.service-case { display: grid; width: 100%; min-width: 0; grid-template-rows: clamp(150px, 17vw, 220px) auto; overflow: hidden; padding: 0; color: var(--white); border: 1px solid rgba(245,245,235,.2); background: #1b211b; text-align: right; cursor: pointer; }
.service-case-visual { position: relative; display: block; min-width: 0; overflow: hidden; background: #252c25; isolation: isolate; }
.service-case-visual::after { position: absolute; z-index: 0; inset: 35% 0 0; background: linear-gradient(0deg, rgba(11,15,11,.72), transparent); content: ""; pointer-events: none; }
.service-case-visual img { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .82; transition: transform .55s cubic-bezier(.2,.65,.2,1), opacity .3s ease; }
.service-case:hover .service-case-visual img { transform: scale(1.045); opacity: 1; }
.service-case-index { position: absolute; z-index: 1; top: 12px; right: 14px; color: rgba(255,255,255,.82); direction: ltr; font: 600 .56rem/1.4 var(--font); letter-spacing: .11em; }
.service-case-open { position: absolute; z-index: 1; bottom: 12px; left: 13px; display: grid; width: 30px; height: 30px; place-items: center; color: var(--accent-ink); background: var(--accent); font-size: 1rem; transition: transform .2s ease; }
.service-case:hover .service-case-open { transform: rotate(-45deg); }
.service-case-copy { display: grid; gap: 4px; padding: 14px 16px 16px; }
.service-case-kicker { color: #aeb5a9; font-size: .59rem; line-height: 1.6; }
.service-case-copy > strong { color: var(--white); font-size: .97rem; font-weight: 600; line-height: 1.5; }
.service-case-summary { display: -webkit-box; overflow: hidden; color: #aeb5a9; font-size: .66rem; line-height: 1.8; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.service-case-link { display: flex; min-height: 34px; align-items: end; justify-content: space-between; gap: 10px; margin-top: 3px; color: var(--accent); font-size: .65rem; }
.service-case-link b { font-size: .9rem; font-weight: 500; }
.service-case-empty { display: grid; min-height: 190px; align-content: center; justify-items: start; gap: 12px; padding: 20px; border: 1px dashed rgba(227,198,114,.3); background: radial-gradient(circle at 12% 88%, rgba(227,198,114,.09), transparent 42%), #171c17; }
.service-case-empty .service-case-index { position: static; }
.service-case-empty > strong { color: var(--white); font-size: .9rem; font-weight: 600; }
.service-case-empty > p { max-width: 300px; margin: 0; color: #aeb5a9; font-size: .7rem; line-height: 1.9; }
.related-block { border-top: 1px solid rgba(245,245,235,.24); }
.related-block .aside-label, .service-price .aside-label { margin-top: 12px; }
.related-project { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: space-between; padding: 6px 0; color: #dce0d6; border: 0; border-bottom: 1px solid rgba(245,245,235,.13); background: transparent; text-align: right; font-size: .76rem; cursor: pointer; }
.related-project span:last-child { color: var(--accent); }
.related-project:hover { color: var(--accent); }
.related-empty { margin: 0; padding: 10px 0 12px; color: #9ca297; font-size: .72rem; line-height: 1.8; }
.service-price { padding-top: 5px; border-top: 1px solid rgba(245,245,235,.24); }
.service-price > strong { display: block; margin: 8px 0 5px; color: var(--white); font-size: .81rem; }
.service-price > p { margin: 0; color: var(--accent); font-size: 1.08rem; font-weight: 600; line-height: 1.5; }
.price-link { display: inline-flex; min-height: 44px; align-items: center; gap: 9px; margin-top: 18px; color: #c1c8b4; font-size: .71rem; text-decoration: none; }
.price-link span { color: var(--accent); }
.price-link:hover { color: var(--accent); }
.price-disclaimer { max-width: 850px; margin: 20px 0 0 auto; color: #91998d; font-size: .68rem; line-height: 1.8; }

.work-section { padding-block: clamp(72px, 7vw, 112px); }
.work-heading { align-items: flex-end; }
.work-heading .section-intro { color: #656b61; }
.portfolio-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; border-bottom: 1px solid var(--line); }
.portfolio-filters { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-button { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 0 11px; color: #767b72; border: 0; border-bottom: 2px solid transparent; background: transparent; font-size: .72rem; cursor: pointer; transition: color .18s ease, border-color .18s ease; }
.filter-button:hover, .filter-button.is-active { color: var(--ink); border-bottom-color: #7c9139; }
.filter-button span { color: #7c9139; font-size: .62rem; }
.portfolio-count { color: #73796f; font-size: .67rem; white-space: nowrap; }
.portfolio-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: clamp(210px, 24vw, 330px); gap: 14px; }
.work-card { position: relative; grid-column: span 4; display: block; min-width: 0; overflow: hidden; padding: 0; color: white; border: 0; background: #252a25; text-align: right; cursor: pointer; isolation: isolate; }
.work-card-1, .work-card-5 { grid-column: span 7; grid-row: span 1; }
.work-card-2, .work-card-4 { grid-column: span 5; grid-row: span 1; }
.work-card-3 { grid-column: span 4; grid-row: span 1; }
.work-card img, .work-shade { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; }
.work-card img { object-fit: cover; transition: transform .6s cubic-bezier(.2,.65,.2,1), filter .4s ease; }
.work-shade { z-index: -1; background: linear-gradient(0deg, rgba(12,16,12,.86) 0%, rgba(12,16,12,.2) 44%, rgba(12,16,12,.04) 100%); }
.work-card:hover img { transform: scale(1.045); filter: saturate(1.08); }
.work-index { position: absolute; top: 17px; right: 18px; color: rgba(255,255,255,.8); direction: ltr; font-size: .61rem; letter-spacing: .1em; }
.work-copy { position: absolute; right: 20px; bottom: 18px; left: 58px; display: grid; gap: 2px; }
.work-subtitle { color: rgba(255,255,255,.72); font-size: .66rem; }
.work-copy strong { font-size: clamp(1.3rem, 2.2vw, 2.1rem); font-weight: 600; line-height: 1.3; }
.work-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.work-tags i { padding: 3px 7px; color: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.36); background: rgba(10,12,10,.23); font-size: .59rem; font-style: normal; }
.work-open { position: absolute; bottom: 19px; left: 18px; display: flex; width: 32px; height: 32px; align-items: center; justify-content: center; color: var(--ink); background: var(--accent); font-size: .95rem; transition: transform .2s ease; }
.work-card:hover .work-open { transform: rotate(-45deg); }
.content-video-showcase { --accent: var(--accent-bright); --accent-ink: #20190e; position: relative; margin-top: clamp(46px, 6vw, 88px); padding: clamp(22px, 4.6vw, 62px); overflow: hidden; border: 1px solid rgba(245,245,235,.13); background: radial-gradient(ellipse at 3% 0%, rgba(227,198,114,.09), transparent 34%), linear-gradient(145deg, #172019 0%, #111812 52%, #0d120e 100%); }
.video-showcase-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 34px; align-items: end; }
.video-showcase-copy { max-width: 680px; color: var(--white); }
.video-showcase-copy .eyebrow { color: var(--accent); font-size: .64rem; }
.video-showcase-copy h3 { margin: 7px 0 9px; font-size: clamp(1.45rem, 2.5vw, 2.15rem); font-weight: 600; letter-spacing: -.035em; }
.video-showcase-copy > p:last-child { max-width: 610px; margin: 0; color: #bac2b5; font-size: .76rem; line-height: 1.85; }
.video-filters { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 7px; }
.video-filter { display: inline-flex; min-height: 44px; align-items: center; gap: 10px; padding: 0 12px; color: #e1e5da; border: 1px solid rgba(245,245,235,.24); background: rgba(8,12,9,.18); font: inherit; font-size: .65rem; cursor: pointer; transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
.video-filter small { color: #a9b3a0; font-size: .59rem; }
.video-filter:hover, .video-filter.is-active { color: var(--ink); border-color: var(--accent); background: var(--accent); }
.video-filter:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.video-orientation-group { margin-top: 38px; }
.video-group-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 13px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.video-group-heading h4 { margin: 0; color: var(--white); font-size: .86rem; font-weight: 600; }
.video-group-heading span { color: #a7b09f; font-size: .63rem; }
.video-grid { display: grid; align-items: start; gap: 15px; }
.video-grid-vertical { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.video-grid-horizontal { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.video-card { min-width: 0; animation: gallery-card-enter .34s cubic-bezier(.2,.65,.2,1) both; }
.video-card:nth-child(2) { animation-delay: 35ms; }
.video-card:nth-child(3) { animation-delay: 70ms; }
.video-card:nth-child(4) { animation-delay: 105ms; }
.video-card:nth-child(5) { animation-delay: 140ms; }
.video-card:nth-child(6) { animation-delay: 175ms; }
.video-card-open { display: block; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: start; cursor: pointer; }
.video-frame { position: relative; display: block; overflow: hidden; isolation: isolate; background: #090d0a; }
.video-frame-portrait { aspect-ratio: 9 / 16; }
.video-frame-landscape { aspect-ratio: 16 / 9; }
.video-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.65,.2,1), filter .3s ease; }
.video-card-open:hover .video-frame img, .video-card-open:focus-visible .video-frame img { transform: scale(1.035); filter: brightness(.77); }
.video-play-mark { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 52px; height: 52px; place-items: center; color: var(--accent-ink); border: 1px solid rgba(255,255,255,.48); border-radius: 50%; background: var(--accent); opacity: .92; transform: translate(-50%, -50%) scale(.94); transition: opacity .2s ease, transform .24s cubic-bezier(.2,.65,.2,1); }
.video-play-mark svg { width: 20px; height: 20px; fill: currentColor; transform: translateX(-1px); }
.video-card-open:hover .video-play-mark, .video-card-open:focus-visible .video-play-mark { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.video-card-copy { display: grid; gap: 3px; min-height: 66px; padding: 10px 1px 13px; border-bottom: 1px solid var(--line-dark); }
.video-card-copy > span { color: #a7b09f; font-size: .59rem; }
.video-card-copy strong { color: var(--white); font-size: .76rem; font-weight: 600; line-height: 1.65; }
.video-card-open:focus-visible { outline-color: var(--accent); outline-offset: 5px; }
.video-library-status { min-height: 1.4em; margin: 20px 0 0; color: #9da797; font-size: .63rem; }

.benchmark-section { padding-block: clamp(68px, 7vw, 112px); }
.benchmark-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(45px, 8vw, 130px); align-items: start; }
.benchmark-copy h2 { margin-top: 19px; }
.benchmark-copy > p:not(.eyebrow) { max-width: 410px; margin: 25px 0 0; color: #656b61; font-size: .9rem; line-height: 1.95; }
.benchmark-date { display: flex; align-items: center; gap: 10px; margin-top: 30px; color: #68715d; font-size: .69rem; }
.text-link { margin-top: 25px; border-color: #8a9664; font-size: .77rem; }
.benchmark-table-wrap { padding: 25px 0 0; border-top: 1px solid var(--line); }
.benchmark-select { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.benchmark-select label { color: #596055; font-size: .74rem; }
.benchmark-select select { min-width: min(250px, 62%); min-height: 44px; padding: 0 12px; color: var(--ink); border: 1px solid #c4c6b8; border-radius: var(--radius-pill); background: transparent; font-size: .74rem; }
.benchmark-detail { min-height: 375px; }
.benchmark-heading { display: flex; align-items: center; gap: 15px; padding: 26px 0 18px; border-bottom: 1px solid var(--line); }
.benchmark-index { color: #89974b; direction: ltr; font-size: .65rem; }
.benchmark-heading .eyebrow { color: #77806d; font-size: .64rem; }
.benchmark-heading h3 { margin: 1px 0 0; font-size: 1.1rem; font-weight: 600; }
.price-row { display: grid; grid-template-columns: minmax(105px, .45fr) 1.55fr; gap: 22px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.price-label { padding-top: 3px; color: #646b60; font-size: .75rem; }
.price-main strong { display: block; color: var(--ink); font-size: .99rem; font-weight: 700; line-height: 1.6; }
.price-main p { margin: 5px 0 7px; color: #6b7168; font-size: .72rem; line-height: 1.8; }
.price-source { display: inline-block; color: #657a2d; font-size: .66rem; text-decoration: underline; text-underline-offset: 3px; }
.price-source:hover { color: #283915; }
.source-date { margin-inline-start: 10px; color: #878d80; font-size: .61rem; }
.price-source-muted { color: #898f83; text-decoration: none; }
.price-row-mrstm .price-main strong { color: #657a2d; }
.benchmark-caveat { margin: 16px 0 0; color: #777d72; font-size: .65rem; line-height: 1.8; }

.approach-section { padding-block: clamp(72px, 7vw, 112px); }
.process-list { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.process-step { position: relative; min-height: 220px; padding: 20px 20px 22px 18px; border-bottom: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.process-step:first-child { padding-right: 0; }
.process-step:last-child { border-left: 0; }
.step-number { color: var(--accent); direction: ltr; font-size: .69rem; }
.process-step h3 { margin: 48px 0 9px; font-size: 1.03rem; font-weight: 600; }
.process-step p { max-width: 230px; margin: 0; color: #a8afa3; font-size: .75rem; line-height: 1.9; }
.step-symbol { position: absolute; left: 16px; bottom: 17px; color: #8b9680; font-size: 1.05rem; }
.faq-block { display: grid; grid-template-columns: .5fr 1fr; gap: 0 60px; margin-top: clamp(52px, 7vw, 94px); border-top: 1px solid var(--line-dark); }
.faq-block > .eyebrow { padding-top: 23px; color: #a3aa9d; }
.faq-block details { grid-column: 2; border-bottom: 1px solid var(--line-dark); }
.faq-block summary { position: relative; min-height: 62px; display: flex; align-items: center; padding: 9px 0; color: #eef0e8; list-style: none; font-size: .83rem; cursor: pointer; }
.faq-block summary::-webkit-details-marker { display: none; }
.faq-block summary::after { content: "+"; position: absolute; left: 0; color: var(--accent); font-size: 1.15rem; }
.faq-block details[open] summary::after { content: "−"; }
.faq-block details p { max-width: 590px; margin: -1px 0 19px; color: #aab1a5; font-size: .75rem; line-height: 1.9; }

.contact-section { padding-block: clamp(64px, 7vw, 104px); color: var(--ink); background: var(--accent); }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(45px, 9vw, 140px); align-items: start; }
.contact-copy .eyebrow { display: flex; align-items: center; gap: 12px; color: #3a4430; }
.contact-copy .status-dot { background: var(--ink); box-shadow: 0 0 0 4px rgba(17,21,17,.12); }
.contact-copy h2 { margin: 24px 0 16px; font-size: clamp(3rem, 5.7vw, 5.8rem); font-weight: 600; line-height: 1.03; letter-spacing: -.065em; }
.contact-copy h2 em { color: #35431b; }
.contact-copy > p:not(.eyebrow) { max-width: 410px; margin: 0; color: #414a35; font-size: .9rem; line-height: 1.95; }
.contact-index { display: inline-block; margin-top: 44px; color: #69763e; direction: ltr; font-size: .63rem; letter-spacing: .14em; }
.brief-form { display: grid; gap: 15px; }
.brief-form label, .brief-result label { display: grid; gap: 7px; color: #38422d; font-size: .71rem; font-weight: 600; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.brief-form input, .brief-form select, .brief-form textarea, .brief-result textarea { width: 100%; min-height: 46px; padding: 11px 12px; color: var(--ink); border: 1px solid rgba(17,21,17,.3); border-radius: var(--radius-field); background: rgba(255,255,255,.28); font-size: .8rem; font-weight: 400; }
.brief-form textarea, .brief-result textarea { resize: vertical; min-height: 112px; line-height: 1.8; }
.brief-form input::placeholder, .brief-form textarea::placeholder { color: rgba(17,21,17,.5); }
.brief-form select { background-color: rgba(255,255,255,.35); }
.button-dark { justify-self: start; color: var(--white); background: var(--ink); }
.button-dark:hover { background: #2a3326; }
.privacy-note { margin: 0; color: #536044; font-size: .64rem; }
.brief-result { display: grid; gap: 8px; padding-top: 14px; border-top: 1px solid rgba(17,21,17,.2); }
.brief-result[hidden] { display: none; }
.brief-result textarea { min-height: 120px; }
.copy-button { justify-self: start; min-height: 44px; padding: 0 13px; color: var(--ink); border: 1px solid rgba(17,21,17,.48); background: transparent; font-size: .72rem; font-weight: 600; cursor: pointer; }
.copy-button:hover { background: rgba(255,255,255,.3); }
.form-status { min-height: 1em; margin: 0; color: #39452a; font-size: .69rem; }

.site-footer { --accent: var(--accent-bright); --accent-ink: #20190e; color: var(--white); background: #0c100d; }
.footer-top { display: grid; grid-template-columns: .6fr 1fr .6fr; align-items: center; gap: 24px; min-height: 116px; border-bottom: 1px solid var(--line-dark); }
.brand-footer .brand-word { font-size: 1.14rem; }
.brand-footer .brand-lockup small { color: var(--accent-bright); }
.footer-top > p { margin: 0; color: #b0b7aa; font-size: .78rem; text-align: center; }
.back-to-top { justify-self: end; display: inline-flex; min-height: 44px; align-items: center; gap: 13px; color: #bec4b9; font-size: .7rem; text-decoration: none; }
.back-to-top span { color: var(--accent); font-size: .95rem; }
.footer-bottom { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 20px; color: #828a7e; font-size: .62rem; }
.footer-bottom span:nth-child(2) { direction: ltr; letter-spacing: .13em; }
.footer-bottom a { color: #c7cebd; text-decoration: none; }
.footer-bottom a span { color: var(--accent); }
.footer-bottom .footer-archive-link { color: #8d9689; font-size: .58rem; opacity: .72; }
.footer-bottom .footer-archive-link:hover { color: var(--accent); opacity: 1; }
.demo-disclaimer { margin: 14px 0; padding: 11px 14px; color: #c6d0bb; border: 1px solid rgba(227,198,114,.2); border-inline-start: 3px solid var(--accent-bright); border-radius: 12px; background: rgba(227,198,114,.06); font-size: .73rem; line-height: 1.8; }
.work-card-demo .work-index { color: var(--accent-bright); font-size: .58rem; }

.project-dialog { position: fixed; width: min(900px, calc(100% - 28px)); max-height: min(90vh, 850px); padding: 0; overflow: auto; color: var(--white); border: 1px solid rgba(255,255,255,.2); background: var(--ink); }
.project-dialog::backdrop { background: rgba(6,9,7,.78); backdrop-filter: blur(4px); }
.video-dialog { position: fixed; width: min(100%, 1440px); height: min(100vh, 1000px); height: min(100dvh, 1000px); max-width: none; max-height: none; margin: auto; padding: clamp(15px, 2.4vw, 30px); overflow: hidden; color: var(--white); border: 1px solid rgba(255,255,255,.2); background: #0a0e0b; }
.video-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 15px; animation: video-dialog-enter .22s cubic-bezier(.2,.65,.2,1) both; }
.video-dialog::backdrop { background: rgba(3,6,4,.94); backdrop-filter: blur(8px); }
.video-dialog-header { display: flex; min-width: 0; min-height: 62px; align-items: center; justify-content: space-between; gap: 16px; }
.video-dialog-title-wrap { min-width: 0; }
.video-dialog-title-wrap .eyebrow { margin: 0 0 3px; color: var(--accent); font-size: .62rem; }
.video-dialog-title-wrap h2 { margin: 0; overflow: hidden; font-size: clamp(1rem, 2vw, 1.45rem); font-weight: 600; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.video-dialog-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.video-dialog-control { display: inline-flex; min-width: 46px; min-height: 46px; align-items: center; justify-content: center; gap: 8px; padding: 0 12px; color: var(--white); border: 1px solid rgba(255,255,255,.25); background: #111813; font: 600 .67rem var(--font); cursor: pointer; transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
.video-dialog-control:hover, .video-dialog-control[aria-pressed="true"] { color: var(--accent-ink); border-color: var(--accent); background: var(--accent); }
.video-dialog-close { width: 46px; padding: 0; font-size: 1.45rem; }
.video-viewer-stage { position: relative; display: grid; min-width: 0; min-height: 0; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.08); background: radial-gradient(ellipse at 50% 35%, #19221a 0%, #0c110d 63%, #080b09 100%); touch-action: pan-y pinch-zoom; }
.video-viewer-video { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; background: transparent; }
.video-viewer-video.is-portrait { width: auto; height: 100%; aspect-ratio: 9 / 16; }
.video-viewer-video.is-landscape { width: 100%; height: 100%; aspect-ratio: 16 / 9; }
.video-viewer-nav { position: absolute; z-index: 2; top: 50%; display: grid; width: 48px; height: 56px; place-items: center; color: var(--white); border: 1px solid rgba(255,255,255,.28); background: rgba(6,10,7,.62); font: 1.45rem/1 var(--font); cursor: pointer; opacity: .82; transform: translateY(-50%); transition: color .18s ease, border-color .18s ease, background-color .18s ease, opacity .18s ease; }
.video-viewer-nav:hover { color: var(--accent-ink); border-color: var(--accent); background: var(--accent); opacity: 1; }
.video-viewer-nav:disabled { opacity: .28; cursor: not-allowed; }
.video-viewer-prev { right: 14px; }
.video-viewer-next { left: 14px; }
.video-dialog-footer { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 14px; color: #abb4a7; font-size: .65rem; }
.video-dialog-footer p { margin: 0; }
.video-dialog-footer p span { color: var(--accent); }
.video-viewer-stage:fullscreen { width: 100vw; height: 100vh; border: 0; background: #080b09; }
.video-viewer-stage:-webkit-full-screen { width: 100vw; height: 100vh; border: 0; background: #080b09; }
.video-viewer-stage:fullscreen .video-viewer-video { width: 100%; height: 100%; }
.video-viewer-stage:-webkit-full-screen .video-viewer-video { width: 100%; height: 100%; }
.video-viewer-stage:fullscreen .video-viewer-video.is-portrait { width: auto; height: 100%; }
.video-viewer-stage:-webkit-full-screen .video-viewer-video.is-portrait { width: auto; height: 100%; }
.video-viewer-stage:fullscreen .video-viewer-nav { opacity: .56; }
.video-viewer-stage:-webkit-full-screen .video-viewer-nav { opacity: .56; }
@keyframes video-dialog-enter { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: scale(1); } }
@keyframes gallery-card-enter { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
.dialog-close { position: absolute; z-index: 3; top: 12px; left: 12px; display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; color: white; border: 1px solid rgba(255,255,255,.4); background: rgba(10,13,10,.35); font-size: 1.55rem; cursor: pointer; }
.dialog-media { height: clamp(220px, 33vw, 360px); overflow: hidden; background: #242a23; }
.dialog-media img { width: 100%; height: 100%; object-fit: cover; }
.dialog-content { padding: 28px clamp(22px, 5vw, 52px) 38px; }
.dialog-content .eyebrow { color: var(--accent); }
.dialog-content h2 { margin: 7px 0 12px; font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 600; line-height: 1.2; }
.dialog-summary { max-width: 700px; color: #b9c1b3; font-size: .88rem; line-height: 1.95; }
.dialog-details { display: grid; gap: 8px; margin: 21px 0 0; padding: 0; list-style: none; }
.dialog-details li { position: relative; padding-right: 17px; color: #d1d5cb; font-size: .76rem; }
.dialog-details li::before { position: absolute; top: .64em; right: 0; width: 6px; height: 2px; background: var(--accent); content: ""; }
.dialog-tags, .dialog-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.dialog-tags span { padding: 4px 8px; color: #d3d9ce; border: 1px solid rgba(255,255,255,.24); font-size: .63rem; }
.dialog-links { padding-top: 19px; border-top: 1px solid var(--line-dark); }
.dialog-links a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 12px; color: var(--ink); background: var(--accent); font-size: .72rem; font-weight: 600; text-decoration: none; }
.dialog-links a:hover { background: #e3ff91; }
.dialog-media-group { margin-top: 10px; border-top: 1px solid rgba(255,255,255,.15); }
.dialog-media-group summary { position: relative; display: flex; min-height: 54px; align-items: center; gap: 14px; padding: 8px 0; color: #eef0e8; list-style: none; font-size: .78rem; cursor: pointer; }
.dialog-media-group summary::-webkit-details-marker { display: none; }
.dialog-media-group summary::after { margin-right: auto; color: var(--accent); font-size: 1.1rem; content: "+"; }
.dialog-media-group[open] summary::after { content: "−"; }
.dialog-media-group summary span { color: #90998a; font-size: .62rem; }
.dialog-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 5px 0 20px; }
.dialog-gallery-portrait { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.dialog-gallery-item { min-width: 0; margin: 0; }
.dialog-gallery-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #171b17; }
.dialog-gallery-item.is-portrait img { aspect-ratio: 3 / 4; }
.dialog-gallery-item figcaption { padding-top: 6px; color: #adb4a8; font-size: .61rem; line-height: 1.55; }

.reveal { opacity: 1; transform: none; }
html.reveal-ready .reveal:not(.is-visible) { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.65,.2,1); }
html.reveal-ready .reveal.is-visible { opacity: 1; transform: translateY(0); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.65,.2,1); }
@keyframes hero-copy-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hero-image-in { from { opacity: .25; transform: scale(1.025); } to { opacity: .72; transform: scale(1); } }
@keyframes content-in { from { opacity: .3; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ticker-shift { from { transform: translateX(0); } to { transform: translateX(50%); } }

@media (max-width: 1050px) {
  :root { --page-gutter: clamp(22px, 4vw, 52px); }
  .main-nav { gap: 20px; margin-inline-end: 36px; }
  .service-rail { grid-template-columns: minmax(105px, .36fr) minmax(0, 1.64fr); column-gap: 18px; }
  .service-workspace { padding-bottom: 28px; }
  .service-detail { grid-template-columns: minmax(0, 1.3fr) minmax(180px, .7fr); gap: 28px; }
  .service-details-grid { gap: 18px; }
  .video-grid-vertical { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dialog-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dialog-gallery-portrait { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 70px; }
  .site-header { min-height: 68px; }
  .main-nav, .header-cta { display: none; }
  .menu-toggle { display: grid; width: 44px; height: 44px; align-content: center; justify-items: center; gap: 6px; padding: 0; border: 1px solid rgba(255,255,255,.3); background: transparent; cursor: pointer; }
  .menu-toggle span { width: 17px; height: 1px; background: white; transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu:not([hidden]) { position: absolute; z-index: 19; top: 68px; right: 0; left: 0; display: grid; padding: 10px var(--page-gutter) 20px; background: #111511; border-bottom: 1px solid rgba(255,255,255,.18); }
  .mobile-menu a { min-height: 47px; display: flex; align-items: center; color: white; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .86rem; text-decoration: none; }
  .hero { min-height: 100svh; }
  .hero-image { object-position: 35% center; opacity: .65; }
  .hero-shade { background: linear-gradient(0deg, #111511 0%, rgba(17,21,17,.82) 28%, rgba(17,21,17,.47) 66%, rgba(17,21,17,.25) 100%); }
  .hero-layout { align-items: flex-end; padding-top: 120px; padding-bottom: 180px; }
  .hero-copy { width: 100%; margin: 0; }
  .hero h1 { font-size: clamp(3.3rem, 12vw, 6rem); }
  .hero-description { max-width: 470px; margin-top: 22px; font-size: .95rem; }
  .hero-proof { margin-top: 34px; }
  .hero-caption { bottom: 78px; left: var(--page-gutter); max-width: 220px; }
  .hero-bottom { min-height: 50px; }
  .intro-grid { grid-template-columns: 1fr 1.4fr; gap: 23px 30px; }
  .intro-grid > .section-kicker { grid-column: 1 / -1; }
  .intro-main h2, .section-heading h2, .benchmark-copy h2 { font-size: clamp(2.8rem, 9vw, 4.4rem); }
  .intro-note { max-width: none; padding-top: 4px; }
  .hand-drawn-arrow { margin-bottom: 5px; }
  .intro-note p { font-size: .79rem; }
  .section-heading { display: grid; gap: 19px; margin-bottom: 36px; }
  .section-heading h2 { margin-top: 13px; }
  .section-intro { max-width: 500px; font-size: .82rem; }
  .service-explorer { min-height: 0; }
  .service-rail { grid-template-columns: 1fr; gap: 8px; padding: 18px 0 0; border-left: 0; }
  .service-rail > .rail-label { margin: 0; }
  .selector-step { display: inline-block; margin: 0 8px 0 0; }
  .category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
  .category-tab { grid-template-columns: 28px minmax(0, 1fr) 14px; min-height: 58px; padding: 8px 5px; border-inline-start: 0; font-size: .74rem; }
  .rail-bottom { display: none; }
  .service-workspace { padding: 0 0 27px; }
  .service-selection-heading { display: grid; gap: 6px; padding-top: 18px; }
  .service-category-intro { font-size: .75rem; }
  .subservice-tabs { margin-inline: calc(var(--page-gutter) * -1); padding-inline: var(--page-gutter); }
  .service-detail { grid-template-columns: 1fr; gap: 32px; padding-top: 27px; }
  .service-copy h3 { font-size: clamp(1.8rem, 7vw, 2.6rem); }
  .service-intro { font-size: .83rem; }
  .service-details-grid { gap: 15px; margin-top: 31px; }
  .service-outcome { padding: 14px; }
  .service-aside { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .price-disclaimer { font-size: .72rem; }
  .portfolio-toolbar { display: grid; gap: 4px; padding-bottom: 3px; }
  .portfolio-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 8px; margin-inline: 0; padding-inline: 0; }
  .filter-button { width: 100%; min-width: 0; min-height: 48px; justify-content: flex-start; padding-inline: 5px; white-space: normal; text-align: right; line-height: 1.55; }
  .portfolio-count { justify-self: start; padding: 4px 0 9px; }
  .portfolio-grid { grid-template-columns: repeat(2, minmax(0,1fr)); grid-auto-rows: clamp(220px, 58vw, 350px); gap: 9px; }
  .work-card, .work-card-1, .work-card-2, .work-card-3, .work-card-4, .work-card-5 { grid-column: span 1; grid-row: span 1; }
  .work-card:nth-child(1) { grid-column: span 2; }
  .work-copy { right: 13px; bottom: 13px; left: 40px; }
  .work-copy strong { font-size: 1.35rem; }
  .work-index { top: 12px; right: 12px; font-size: .55rem; }
  .work-open { bottom: 12px; left: 11px; width: 27px; height: 27px; }
  .work-tags { gap: 4px; }
  .work-tags i { padding: 2px 5px; font-size: .52rem; }
  .video-showcase-heading { grid-template-columns: 1fr; gap: 18px; }
  .content-video-showcase { --accent: var(--accent-bright); --accent-ink: #20190e; margin-top: 62px; padding: 22px 16px 14px; }
  .video-filters { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-inline: calc(var(--page-gutter) * -1); padding: 3px var(--page-gutter) 7px; scrollbar-width: none; }
  .video-filters::-webkit-scrollbar { display: none; }
  .video-filter { flex: 0 0 auto; }
  .video-grid-vertical { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .video-grid-horizontal { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .video-play-mark { width: 42px; height: 42px; }
  .video-dialog { width: 100vw; height: 100vh; height: 100dvh; padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); border: 0; }
  .video-dialog[open] { gap: 9px; }
  .video-dialog-header { min-height: 52px; gap: 8px; }
  .video-dialog-title-wrap h2 { max-width: 48vw; font-size: .94rem; }
  .video-dialog-actions { gap: 6px; }
  .video-dialog-control { min-width: 44px; min-height: 44px; }
  .video-fullscreen { width: 44px; padding-inline: 0; }
  .video-fullscreen span:last-child { display: none; }
  .video-viewer-nav { width: 44px; height: 48px; }
  .video-viewer-prev { right: 7px; }
  .video-viewer-next { left: 7px; }
  .video-dialog-footer { min-height: 30px; font-size: .59rem; }
  .video-dialog-footer p { max-width: 70%; text-align: end; }
  .dialog-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .dialog-gallery-portrait { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .benchmark-grid { grid-template-columns: 1fr; gap: 38px; }
  .benchmark-copy > p:not(.eyebrow) { max-width: 560px; margin-top: 18px; font-size: .83rem; }
  .benchmark-date { margin-top: 19px; }
  .benchmark-table-wrap { padding-top: 17px; }
  .benchmark-detail { min-height: 0; }
  .price-row { grid-template-columns: 105px 1fr; gap: 15px; padding: 16px 0; }
  .price-main strong { font-size: .88rem; }
  .price-main p { font-size: .68rem; }
  .process-list { grid-template-columns: repeat(2, 1fr); }
  .process-step { min-height: 185px; padding: 16px 14px; border-left: 1px solid var(--line-dark); }
  .process-step:nth-child(2) { border-left: 0; }
  .process-step:first-child { padding-right: 14px; }
  .process-step h3 { margin-top: 34px; font-size: .9rem; }
  .process-step p { font-size: .69rem; }
  .faq-block { grid-template-columns: 1fr; gap: 0; margin-top: 58px; }
  .faq-block > .eyebrow { padding: 17px 0 10px; }
  .faq-block details { grid-column: 1; }
  .contact-grid { grid-template-columns: 1fr; gap: 37px; }
  .contact-copy h2 { font-size: clamp(3.2rem, 11vw, 5rem); }
  .contact-index { margin-top: 24px; }
  .footer-top { grid-template-columns: 1fr auto; min-height: 95px; }
  .footer-top > p { grid-column: 1 / -1; grid-row: 2; margin: 0 0 17px; text-align: right; }
  .back-to-top { grid-column: 2; grid-row: 1; }
  .footer-bottom { flex-wrap: wrap; padding-block: 13px; font-size: .57rem; }
  .footer-bottom span:nth-child(2) { display: none; }
}
@media (max-width: 430px) {
  :root { --page-gutter: 20px; }
  .hero h1 { font-size: clamp(3rem, 13vw, 4rem); }
  .hero-actions { gap: 8px; }
  .button { min-height: 47px; padding-inline: 13px; font-size: .76rem; }
  .hero-caption { max-width: 185px; }
  .hero-signature { gap: 7px; font-size: .5rem; }
  .intro-grid { grid-template-columns: 1fr; gap: 18px; }
  .intro-note { display: grid; grid-template-columns: 32px 1fr; gap: 0 10px; align-items: start; }
  .intro-note .hand-drawn-arrow { grid-row: span 2; }
  .intro-note a { grid-column: 2; justify-self: start; margin-top: 8px; }
  .service-details-grid { grid-template-columns: 1fr; }
  .service-aside { grid-template-columns: 1fr; }
  .portfolio-grid { grid-auto-rows: 220px; }
  .work-card:nth-child(1) { grid-column: span 2; }
  .work-tags { display: none; }
  .benchmark-select { align-items: flex-start; flex-direction: column; gap: 8px; }
  .benchmark-select select { width: 100%; }
  .price-row { grid-template-columns: 1fr; gap: 4px; }
  .price-label { color: #829247; font-size: .68rem; }
  .form-row { grid-template-columns: 1fr; }
  .video-grid-vertical { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .video-grid-horizontal { grid-template-columns: 1fr; }
  .video-orientation-group { margin-top: 28px; }
  .video-card-copy { min-height: 60px; padding-top: 8px; }
  .video-card-copy strong { font-size: .7rem; }
  .video-dialog-title-wrap h2 { max-width: 43vw; font-size: .83rem; }
  .video-dialog-footer p { max-width: 68%; font-size: .55rem; }
  .dialog-gallery, .dialog-gallery-portrait { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-dialog { width: calc(100% - 18px); }
}
@media (max-height: 520px) and (orientation: landscape) {
  .video-dialog { padding: max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .video-dialog[open] { gap: 6px; }
  .video-dialog-header { min-height: 42px; }
  .video-dialog-title-wrap .eyebrow { display: none; }
  .video-dialog-control { min-height: 40px; }
  .video-dialog-close { width: 40px; }
  .video-dialog-footer { min-height: 20px; }
}



@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .ticker-track { animation: none; }
}

/* Mr Deihimi identity and member workspace */
.brand { gap: 11px; }
[hidden] { display: none !important; }
.brand-mark { display: block; flex: 0 0 42px; width: 42px; height: 42px; transform: none; }
.brand-mark img { width: 100%; height: 100%; overflow: visible; transition: transform var(--motion-control) var(--ease-snap), filter var(--motion-control) ease; }
.brand-lockup { display: grid; gap: 0; }
.brand-lockup small { margin-top: -2px; color: var(--accent); direction: ltr; font-size: .41rem; font-weight: 700; letter-spacing: .1em; white-space: nowrap; }
.brand-word { font-size: 1.1rem; letter-spacing: -.045em; white-space: nowrap; }
.account-trigger, .mobile-account-trigger { min-height: 42px; padding: 0 16px; border: 1px solid rgba(227,198,114,.58); color: var(--white); background: rgba(17,21,17,.28); font-size: .78rem; font-weight: 700; cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.account-trigger:hover, .mobile-account-trigger:hover { color: var(--accent); border-color: var(--accent); background: rgba(17,21,17,.62); }
.hero-price-note { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin: 22px 0 0; color: rgba(255,255,255,.68); font-size: .75rem; }
.hero-price-note strong { color: var(--accent); font-size: .92rem; }
.hero-proof { margin-top: 30px; }
.hero-image { object-position: 20% center; }
.about-estm { padding-block: clamp(68px, 7vw, 112px); overflow: hidden; }
.about-estm-grid { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.2fr); gap: clamp(44px, 9vw, 130px); align-items: center; }
.estm-portrait { position: relative; width: min(100%, 390px); justify-self: center; }
.estm-portrait::before { position: absolute; inset: 12% 7% 3%; border: 1px solid rgba(17,21,17,.13); content: ""; transform: rotate(-5deg); }
.estm-portrait img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center; filter: drop-shadow(0 30px 28px rgba(17,21,17,.1)); }
.portrait-caption { position: absolute; z-index: 2; right: 0; bottom: 4%; padding: 9px 13px; color: var(--white); background: var(--ink); direction: ltr; font: 600 .58rem/1.2 var(--font); letter-spacing: .12em; }
.about-estm-copy h2 { margin: 24px 0 25px; font-size: clamp(3rem, 6.7vw, 6.5rem); font-weight: 600; line-height: 1.08; letter-spacing: -.065em; }
.about-estm-copy h2 em { color: var(--accent); font-style: normal; }
.about-estm-copy > p:not(.eyebrow) { max-width: 620px; color: #596057; font-size: .96rem; line-height: 2; }
.about-estm-copy .estm-intro { color: var(--ink); font-size: 1.14rem; font-weight: 600; }
.deihimi-origin { display: flex; align-items: center; gap: 14px; max-width: 480px; margin: 21px 0 24px; padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--brand-gold) 38%, transparent); border-radius: 18px; background: linear-gradient(115deg, color-mix(in srgb, var(--brand-jewel) 10%, transparent), transparent 72%); }
.deihimi-origin-gem { flex: 0 0 20px; width: 20px; height: 20px; border: 2px solid var(--brand-gold); border-radius: 4px 9px 4px 9px; background: radial-gradient(circle at 32% 28%, #a3d5a9, var(--brand-jewel) 58%, #174631); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-gold) 12%, transparent), inset 0 1px 3px rgba(255,255,255,.42); transform: rotate(45deg); }
.deihimi-origin > span:last-child { display: grid; gap: 1px; }
.deihimi-origin small { color: var(--brand-gold); font-size: .62rem; font-weight: 700; }
.deihimi-origin strong { color: var(--ink); font-size: .85rem; }
.deihimi-origin > span:last-child > span { color: var(--muted); font-size: .72rem; }
.estm-links { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 30px; }
.estm-links a { display: inline-flex; min-height: 44px; align-items: center; gap: 12px; border-bottom: 1px solid rgba(17,21,17,.28); font-size: .77rem; text-decoration: none; }
.estm-links a:hover { border-color: #788f31; color: #566b20; }
.estm-links b { direction: ltr; letter-spacing: .03em; }

.account-workspace { padding-block: clamp(45px, 7vw, 90px); color: var(--ink); background: #e7e8df; border-bottom: 1px solid rgba(17,21,17,.12); scroll-margin-top: 20px; }
.workspace-heading, .list-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 23px; border-bottom: 1px solid rgba(17,21,17,.2); }
.workspace-heading h2 { margin: 6px 0 0; font-size: clamp(2rem, 4vw, 3.7rem); font-weight: 600; letter-spacing: -.06em; line-height: 1.2; }
.workspace-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; color: #596057; font-size: .78rem; }
.text-button { min-height: 40px; padding: 0 4px; border: 0; border-bottom: 1px solid rgba(17,21,17,.38); color: var(--ink); background: transparent; font: 600 .76rem var(--font); cursor: pointer; }
.text-button:hover { color: #566b20; border-color: #566b20; }
.workspace-kicker { margin: 0 0 5px; color: #687248; font-size: .68rem; font-weight: 700; letter-spacing: .03em; }
.profile-setup { width: min(100%, 650px); padding-block: 40px 5px; }
.profile-setup h3, .notification-panel h3, .order-composer h3, .order-history h3, .admin-workspace h3 { margin: 0; font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 600; letter-spacing: -.04em; }
.profile-setup > p:not(.workspace-kicker), .form-intro { max-width: 570px; color: #62685e; font-size: .82rem; line-height: 1.9; }
.dashboard-grid { display: grid; grid-template-columns: minmax(270px, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 86px); padding-top: 48px; }
.notification-panel { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 20px; align-items: start; padding: 23px 0; border-bottom: 1px solid rgba(17,21,17,.15); }
.notification-list { display: grid; gap: 14px; }
.notification-item { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(17,21,17,.11); }
.notification-mark { display: grid; width: 32px; height: 32px; place-items: center; color: var(--ink); background: var(--accent); }
.notification-item h4, .order-item h4, .admin-order-item h4 { margin: 0; font-size: .92rem; font-weight: 700; }
.notification-item p, .order-item > p, .admin-order-description { margin: 4px 0; color: #555d53; font-size: .76rem; line-height: 1.85; }
.notification-item time, .order-meta time, .admin-customer time { color: #71776d; font-size: .64rem; }
.account-form { display: grid; gap: 13px; margin-top: 22px; }
.account-form label { display: grid; gap: 7px; color: #424a3e; font-size: .72rem; font-weight: 600; }
.account-form input, .account-form select, .account-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid rgba(17,21,17,.25); border-radius: var(--radius-field); outline-offset: 2px; color: var(--ink); background: rgba(255,255,255,.58); font: 400 .82rem/1.7 var(--font); }
.account-form textarea { min-height: 104px; resize: vertical; }
.account-form input::placeholder, .account-form textarea::placeholder { color: #7e8479; }
.account-form input:focus, .account-form select:focus, .account-form textarea:focus { border-color: #657833; outline: 2px solid rgba(101,120,51,.25); }
.account-form .form-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.account-form .button { width: fit-content; margin-top: 5px; }
.account-form .button:disabled, .admin-order-actions .button:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.form-status { min-height: 1.4em; margin: 0; color: #60675d; font-size: .72rem; }
.form-status[data-kind="error"] { color: #a12f25; }
.form-status[data-kind="success"] { color: #395620; }
.field-help { color: #697066; font-size: .68rem; line-height: 1.7; }
.list-heading { align-items: center; padding-bottom: 15px; }
.order-list, .admin-order-list { display: grid; gap: 16px; padding-top: 17px; }
.order-item, .admin-order-item { padding: 16px 0 18px; border-bottom: 1px solid rgba(17,21,17,.16); }
.order-item-top, .admin-order-head { display: flex; align-items: start; justify-content: space-between; gap: 15px; }
.order-service-label { display: inline-block; margin-bottom: 4px; color: #66733d; font-size: .65rem; font-weight: 700; }
.order-state { flex: 0 0 auto; padding: 5px 8px; color: #555d53; background: rgba(255,255,255,.66); font-size: .62rem; }
.order-state-approved { color: #375a26; background: #e0ebcd; }
.order-state-rejected { color: #8b352c; background: #f1dfd9; }
.order-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: 11px; color: #596057; font-size: .67rem; }
.admin-reply { margin-top: 13px; padding: 11px 13px; border-right: 2px solid #9eae58; background: rgba(255,255,255,.38); }
.admin-reply strong { color: #52652c; font-size: .68rem; }
.admin-reply p { margin: 4px 0 0; color: #454d43; font-size: .74rem; line-height: 1.8; white-space: pre-wrap; }
.empty-state { color: #71776d; font-size: .78rem; }
.admin-workspace { margin-top: 54px; padding-top: 26px; border-top: 1px solid rgba(17,21,17,.2); }
.admin-count { color: #62685e; font-size: .7rem; }
.admin-order-item { padding-block: 20px; }
.admin-customer { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; margin-top: 12px; color: #515a4e; font-size: .69rem; }
.admin-customer a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.admin-note-label { display: grid; gap: 7px; max-width: 620px; margin-top: 16px; color: #424a3e; font-size: .7rem; font-weight: 600; }
.admin-note-label textarea { width: 100%; padding: 10px 12px; border: 1px solid rgba(17,21,17,.23); border-radius: var(--radius-field); background: rgba(255,255,255,.54); font: 400 .77rem/1.7 var(--font); resize: vertical; }
.admin-order-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.admin-order-actions .button { min-height: 42px; padding-inline: 15px; font-size: .72rem; }
.button-approve { color: #f9f9f2; background: #314628; }
.button-approve:hover { background: #24371d; }
.button-reject { color: #7c3028; border-color: rgba(124,48,40,.35); background: transparent; }
.button-reject:hover { border-color: #7c3028; background: rgba(255,255,255,.5); }

.contact-action { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 10px; padding: 25px 0; }
.contact-action-range { margin: 0; font-size: clamp(2.5rem, 5vw, 4.8rem); font-weight: 700; line-height: 1.1; letter-spacing: -.07em; }
.contact-action-range small { display: block; margin-top: 4px; font-size: .9rem; font-weight: 500; letter-spacing: 0; }
.contact-action > p:not(.contact-action-range) { max-width: 430px; color: rgba(17,21,17,.75); font-size: .82rem; line-height: 1.9; }
.support-links { display: flex; flex-wrap: wrap; gap: 14px 22px; margin-top: 5px; }
.support-links a { color: var(--ink); font-size: .72rem; text-underline-offset: 4px; }
.support-links a:hover { color: #4d6221; }

.auth-dialog { position: fixed; width: min(540px, calc(100% - 26px)); max-height: min(92vh, 900px); padding: clamp(24px, 5vw, 42px); overflow: auto; border: 1px solid rgba(17,21,17,.2); border-radius: var(--radius-panel); color: var(--ink); background: var(--paper-pure); box-shadow: 0 24px 90px rgba(0,0,0,.25); }
.auth-dialog::backdrop { background: rgba(8,12,8,.72); backdrop-filter: blur(4px); }
.auth-dialog .auth-close { position: sticky; z-index: 2; top: -11px; float: left; margin: -10px -9px 0 0; color: var(--ink); background: var(--paper-pure); }
.auth-dialog h2 { clear: both; max-width: 430px; margin: 20px 0 8px; font-size: clamp(1.8rem, 6vw, 2.7rem); font-weight: 600; line-height: 1.25; letter-spacing: -.05em; }
.auth-intro { max-width: 410px; margin: 0; color: #62685e; font-size: .78rem; line-height: 1.9; }
.auth-tabs { display: flex; gap: 22px; margin-top: 22px; border-bottom: 1px solid rgba(17,21,17,.18); }
.auth-tab { min-height: 42px; padding: 0 2px; border: 0; border-bottom: 2px solid transparent; color: #70766c; background: transparent; font: 600 .8rem var(--font); cursor: pointer; }
.auth-tab.is-active { color: var(--ink); border-bottom-color: #849744; }
.auth-form { margin-top: 18px; }
.admin-setup-entry { margin-top: 24px; padding-top: 14px; border-top: 1px solid rgba(17,21,17,.14); }
.admin-setup-entry summary { color: #5f665c; font-size: .68rem; cursor: pointer; }
.admin-setup-entry .account-form { padding-bottom: 5px; }
@media (max-width: 900px) {
  .site-header { gap: 12px; }
  .main-nav, .header-cta { display: none; }
  .menu-toggle { display: grid; width: 48px; height: 48px; align-content: center; justify-items: center; padding: 0; border: 1px solid rgba(255,255,255,.3); background: rgba(17,21,17,.42); cursor: pointer; }
  .mobile-menu:not([hidden]) { position: absolute; z-index: 19; top: 82px; right: 0; left: 0; display: grid; padding: 10px var(--page-gutter) 20px; background: #111511; border-bottom: 1px solid rgba(255,255,255,.18); }
  .mobile-menu a { min-height: 47px; display: flex; align-items: center; color: white; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .86rem; text-decoration: none; }
  .mobile-account-trigger { display: flex; width: 100%; min-height: 50px; align-items: center; justify-content: center; margin-top: 10px; color: var(--white); }
  .account-trigger { min-height: 39px; padding-inline: 12px; font-size: .72rem; }
  .brand-lockup small { font-size: .38rem; }
  .dashboard-grid { gap: 35px; }
}
@media (max-width: 760px) {
  .mobile-menu:not([hidden]) { top: 68px; }
}
@media (max-width: 700px) {
  .site-header { min-height: 72px; gap: 10px; }
  .brand-mark { flex-basis: 32px; width: 32px; height: 32px; }
  .brand-word { font-size: 1.08rem; }
  .brand-lockup small { font-size: .35rem; }
  .account-trigger { min-height: 37px; padding-inline: 10px; }
  .mobile-account-trigger { display: block; width: 100%; margin-top: 10px; color: var(--white); }
  .about-estm-grid { grid-template-columns: 1fr; gap: 35px; }
  .estm-portrait { width: min(74%, 300px); }
  .about-estm-copy h2 { margin-block: 15px 18px; }
  .workspace-heading, .list-heading { align-items: flex-start; }
  .workspace-heading { flex-direction: column; }
  .dashboard-grid { grid-template-columns: 1fr; gap: 36px; }
  .notification-panel { grid-template-columns: 1fr; gap: 8px; }
  .profile-setup { padding-top: 30px; }
  .contact-action { padding-top: 5px; }
}
@media (max-width: 430px) {
  .brand { gap: 7px; }
  .brand-mark { flex-basis: 28px; width: 28px; height: 28px; }
  .brand-word { font-size: .98rem; }
  .brand-lockup small { font-size: .31rem; letter-spacing: .1em; }
  .account-trigger { min-height: 35px; padding-inline: 8px; font-size: .67rem; }
  .account-form .form-row { grid-template-columns: 1fr; }
  .order-item-top, .admin-order-head { flex-direction: column; }
  .workspace-actions { width: 100%; justify-content: space-between; }
}

/* Guided story: choose a need, then follow the work from proof to next step. */
.hero-challenge { max-width: 650px; margin-top: 21px; }
.hero-challenge-title { margin: 0 0 8px; color: rgba(255,255,255,.76); font-size: .69rem; font-weight: 600; }
.hero-challenge-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.hero-challenge-option { min-height: 43px; padding: 6px 9px; color: rgba(255,255,255,.84); border: 1px solid rgba(255,255,255,.26); background: rgba(10,15,11,.42); font-size: .68rem; line-height: 1.45; cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.hero-challenge-option:hover { border-color: var(--accent); transform: translateY(-2px); }
.hero-challenge-option.is-active, .hero-challenge-option[aria-pressed="true"] { color: var(--accent-ink); border-color: var(--accent); background: var(--accent); }
.hero-route-message { min-height: 1.6em; margin: 8px 0 0; color: rgba(255,255,255,.67); font-size: .67rem; line-height: 1.65; }
.hero-proof { margin-top: 20px; }

.story-map { padding-block: 21px 18px; color: var(--ink); border-bottom: 1px solid var(--line); background: var(--paper-pure); }
.story-map-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #61695d; font-size: .68rem; }
.story-map-head span:first-child { color: #3e473a; font-weight: 700; }
.story-map-head span:last-child { color: #566a28; font-size: .64rem; font-weight: 700; }
.story-map-track { height: 2px; margin-top: 14px; overflow: hidden; background: rgba(20,25,19,.12); }
.story-map-track span { display: block; width: 0; height: 100%; background: #849b3e; transition: width .38s cubic-bezier(.2,.65,.2,1); }
.story-map-steps { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; padding-top: 11px; }
.story-map-steps a { display: flex; min-width: 0; min-height: 43px; align-items: center; gap: 8px; padding: 5px 8px; color: #646b60; border: 1px solid transparent; text-decoration: none; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.story-map-steps a:hover { color: var(--ink); border-color: rgba(20,25,19,.18); }
.story-map-steps a span { display: inline-flex; flex: 0 0 27px; width: 27px; height: 27px; align-items: center; justify-content: center; color: #606a55; border: 1px solid rgba(20,25,19,.18); border-radius: 50%; font-size: .58rem; direction: ltr; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.story-map-steps a strong { overflow: hidden; font-size: .65rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.story-map-steps a[aria-current="location"] { color: var(--ink); border-color: rgba(111,132,48,.28); background: rgba(227,198,114,.16); }
.story-map-steps a[aria-current="location"] span { color: var(--accent-ink); border-color: var(--accent); background: var(--accent); }
.chapter-transition { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 16px; min-height: 62px; margin-top: 34px; padding-block: 10px; border-top: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: color .2s ease; }
.chapter-transition-step { color: #566a28; direction: ltr; font-size: .57rem; font-weight: 700; letter-spacing: .1em; white-space: nowrap; }
.chapter-transition strong { font-size: .81rem; font-weight: 600; line-height: 1.7; }
.chapter-transition > span:last-child { color: #667d2d; font-size: 1.2rem; transition: transform .2s ease; }
.chapter-transition:hover { color: #526923; }
.chapter-transition:hover > span:last-child { transform: translate(-3px, 3px); }
.benchmark-grid > .chapter-transition { grid-column: 1 / -1; }
.section-dark .chapter-transition { color: var(--white); border-top-color: var(--line-dark); }
.section-dark .chapter-transition-step, .section-dark .chapter-transition > span:last-child { color: var(--accent); }

.ai-credit { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 12px; padding-top: 23px; border-top: 1px solid rgba(17,21,17,.22); }
.ai-credit-kicker { color: #465626; direction: ltr; font-size: .59rem; font-weight: 700; letter-spacing: .12em; }
.ai-credit p { max-width: 540px; margin: 7px 0 0; color: #414a35; font-size: .76rem; line-height: 1.8; }
.ai-credit > strong { color: #35431b; font-size: .78rem; font-weight: 700; }

@media (max-width: 1050px) {
  .hero-challenge-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-challenge-option { text-align: right; }
  .story-map-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .hero-challenge { margin-top: 18px; }
  .hero-challenge-options { gap: 6px; }
  .hero-challenge-option { min-height: 42px; padding: 6px 8px; font-size: .66rem; }
  .hero-route-message { max-width: 390px; }
  .hero-proof { margin-top: 18px; }
  .story-map { padding-block: 17px 15px; }
  .story-map-head { font-size: .62rem; }
  .story-map-track { margin-top: 11px; }
  .story-map-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 7px; padding-top: 9px; }
  .story-map-steps a { min-height: 42px; padding-inline: 5px; }
  .story-map-steps a strong { font-size: .64rem; }
  .chapter-transition { gap: 10px; min-height: 58px; margin-top: 26px; }
  .chapter-transition-step { font-size: .49rem; letter-spacing: .05em; }
  .chapter-transition strong { font-size: .72rem; }
  .ai-credit { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 0; padding-top: 18px; }
  .ai-credit p { font-size: .72rem; }
  .ai-credit > strong { font-size: .73rem; line-height: 1.8; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-challenge-option, .story-map-track span, .story-map-steps a, .story-map-steps a span { transition: none; }
  .hero-challenge-option:hover { transform: none; }
}

/* Mr Deihimi signature motion: tactile controls, editorial depth, quiet reading. */
.hero h1 { transform-origin: 50% 100%; animation: headline-compose 720ms 160ms var(--ease-arrive) both; text-wrap: balance; }
.hero h1 em { text-shadow: 0 1px 0 #c1e95b, 0 2px 0 #a4cb45, 0 4px 0 #7f9e34, 0 12px 24px rgba(0,0,0,.32); }
.section-dark .section-heading h2 em { text-shadow: 0 1px 0 #c1e95b, 0 2px 0 #a4cb45, 0 4px 0 #7f9e34, 0 10px 20px rgba(0,0,0,.28); }
.intro-main h2 em, .benchmark-copy h2 em, .work-heading h2 em, .about-estm-copy h2 em { text-shadow: 0 1px 0 rgba(65,81,29,.24), 0 2px 0 rgba(65,81,29,.12), 0 8px 15px rgba(65,81,29,.10); }
.contact-copy h2 em { text-shadow: 0 1px 0 #a1b84c, 0 3px 0 rgba(82,101,30,.28), 0 9px 18px rgba(17,21,17,.12); }
.service-copy h3, .workspace-heading h2 { text-shadow: 0 1px 0 rgba(255,255,255,.14), 0 6px 15px rgba(0,0,0,.18); }
.process-step h3, .work-copy strong, .caption-title { text-shadow: 0 1px 0 rgba(0,0,0,.2), 0 5px 12px rgba(0,0,0,.16); }
.contact-action-range { text-shadow: 0 1px 0 rgba(75,90,35,.24), 0 3px 0 rgba(75,90,35,.12), 0 9px 18px rgba(17,21,17,.1); }
@keyframes headline-compose {
  from { opacity: 0; transform: perspective(1000px) rotateX(8deg) translateY(16px); }
  to { opacity: 1; transform: perspective(1000px) rotateX(0) translateY(0); }
}

.hero-description { padding-inline-start: 15px; border-inline-start: 1px solid rgba(227,198,114,.58); text-shadow: 0 1px 0 rgba(0,0,0,.12); }
.section-intro { padding-inline-start: 14px; border-inline-start: 1px solid rgba(120,143,49,.42); }
.section-dark .section-intro { border-inline-start-color: rgba(227,198,114,.52); }
.service-copy .service-intro { padding: 11px 15px 11px 0; border-inline-start: 2px solid rgba(227,198,114,.7); background: linear-gradient(90deg, transparent, rgba(227,198,114,.035)); }
.benchmark-copy > p:not(.eyebrow) { padding-inline-start: 15px; border-inline-start: 2px solid rgba(120,143,49,.4); }
.about-estm-copy .estm-intro { padding: 12px 15px 12px 0; border-inline-start: 2px solid var(--accent); background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 7%, transparent)); }
.contact-copy > p:not(.eyebrow) { padding-inline-start: 15px; border-inline-start: 2px solid rgba(17,21,17,.38); }
html.reveal-ready .section-heading.reveal h2, html.reveal-ready .benchmark-copy.reveal h2, html.reveal-ready .intro-grid.reveal .intro-main h2,
html.reveal-ready .about-estm-copy.reveal h2, html.reveal-ready .contact-copy.reveal h2 { transform-origin: 50% 100%; transition: transform var(--motion-surface) var(--ease-arrive); }
html.reveal-ready .section-heading.reveal:not(.is-visible) h2, html.reveal-ready .benchmark-copy.reveal:not(.is-visible) h2,
html.reveal-ready .intro-grid.reveal:not(.is-visible) .intro-main h2, html.reveal-ready .about-estm-copy.reveal:not(.is-visible) h2,
html.reveal-ready .contact-copy.reveal:not(.is-visible) h2 { transform: perspective(900px) rotateX(5deg) translateY(8px); }

.button { transition-duration: var(--motion-control); transition-timing-function: var(--ease-snap); }
.button-accent { box-shadow: 0 3px 0 #a2c43e, 0 8px 18px rgba(0,0,0,.16); }
.button-dark { box-shadow: 0 3px 0 #37443a, 0 8px 18px rgba(17,21,17,.12); }
.button-quiet { position: relative; isolation: isolate; overflow: hidden; }
.button-quiet::before { position: absolute; z-index: -1; inset: 0; background: linear-gradient(110deg, transparent 34%, rgba(227,198,114,.18) 50%, transparent 66%); content: ""; transform: translateX(120%); transition: transform 420ms var(--ease-arrive); }
.button-quiet > * { position: relative; }
.button-quiet .play-mark { transition: transform var(--motion-control) var(--ease-snap), border-color var(--motion-control) ease; }
.button-dark, .button-accent { transition: transform var(--motion-control) var(--ease-snap), box-shadow var(--motion-control) ease, background-color var(--motion-control) ease; }
.account-trigger, .mobile-account-trigger { transition: transform var(--motion-control) var(--ease-snap), color var(--motion-control) ease, border-color var(--motion-control) ease, box-shadow var(--motion-control) ease; }
.menu-toggle { transition: border-color var(--motion-control) ease, background-color var(--motion-control) ease; }
.menu-toggle span { transition: width var(--motion-control) var(--ease-snap), transform var(--motion-control) var(--ease-snap), background-color var(--motion-control) ease; }
.category-tab { transition-duration: var(--motion-control); }
.tab-arrow { transition: opacity var(--motion-control) ease, transform var(--motion-control) var(--ease-snap); }
.subservice-tab { transition-duration: var(--motion-control); }
.subservice-dot { transition: transform var(--motion-control) var(--ease-snap), box-shadow var(--motion-control) ease; }
.filter-button { position: relative; transition: color var(--motion-control) ease, transform var(--motion-tap) ease; }
.video-filter { transition-duration: var(--motion-control); }
.text-button, .video-dialog-control, .video-viewer-nav, .dialog-close, .auth-tab { transition: color var(--motion-control) ease, background-color var(--motion-control) ease, border-color var(--motion-control) ease, transform var(--motion-tap) var(--ease-snap), box-shadow var(--motion-control) ease; }
.related-project, .service-media-link, .price-link, .text-link, .estm-links a, .support-links a { transition: color var(--motion-control) ease, border-color var(--motion-control) ease, transform var(--motion-control) var(--ease-snap); }
.related-project span:last-child, .service-media-link span, .price-link span, .text-link span { display: inline-block; transition: transform var(--motion-control) var(--ease-snap); }
.button:active, .category-tab:active, .subservice-tab:active, .filter-button:active, .video-filter:active, .video-dialog-control:active, .video-viewer-nav:active, .related-project:active, .auth-tab:active { transform: translateY(1px) scale(.985); transition-duration: var(--motion-tap); }
.hero-challenge-option:active, .service-case:active, .work-card:active, .story-map-steps a:active, .mobile-menu a:active { transform: scale(.99); transition-duration: var(--motion-tap); }
.button-accent:active:not(:disabled) { box-shadow: 0 1px 0 #a2c43e; }
.button-dark:active:not(:disabled) { box-shadow: 0 1px 0 #37443a; }
.button-quiet:focus-visible::before { transform: translateX(0); }
.account-form label { transition: color var(--motion-control) ease; }
.account-form label:focus-within { color: #465b20; }
.account-form input, .account-form select, .account-form textarea { transition: border-color var(--motion-control) ease, box-shadow var(--motion-control) ease, background-color var(--motion-control) ease; }
.account-form input:focus, .account-form select:focus, .account-form textarea:focus { box-shadow: inset -3px 0 0 #849b3e; background-color: #fffef8; }

.main-nav a { position: relative; }
.main-nav a::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: var(--accent); content: ""; transform: scaleX(0); transform-origin: right; transition: transform var(--motion-control) var(--ease-arrive); }
.header-cta > span:last-child, .back-to-top span { display: inline-block; transition: transform var(--motion-control) var(--ease-snap); }
.mobile-menu a { transition: color var(--motion-control) ease, padding var(--motion-control) var(--ease-snap), background-color var(--motion-control) ease; }

.button-approve, .button-reject { transition: transform var(--motion-tap) var(--ease-snap), background-color var(--motion-control) ease, border-color var(--motion-control) ease, box-shadow var(--motion-control) ease; }
.auth-tab { position: relative; }
.auth-tab.is-active { text-shadow: 0 1px 0 rgba(120,143,49,.18); }
.service-case { transition: transform var(--motion-surface) var(--ease-arrive), box-shadow var(--motion-surface) ease; }
.service-case-copy { transition: transform var(--motion-surface) var(--ease-arrive); }
.work-card { animation: case-file-arrive 420ms var(--ease-arrive) both; transition: transform var(--motion-surface) var(--ease-arrive), box-shadow var(--motion-surface) ease; }
.work-card:nth-child(2) { animation-delay: 45ms; }
.work-card:nth-child(3) { animation-delay: 90ms; }
.work-card:nth-child(4) { animation-delay: 135ms; }
.work-card:nth-child(5) { animation-delay: 180ms; }
.work-copy { transition: transform var(--motion-surface) var(--ease-arrive); }
.work-open { transition: transform var(--motion-control) var(--ease-snap), box-shadow var(--motion-control) ease; }
.video-card-copy { transition: transform var(--motion-control) var(--ease-arrive), border-color var(--motion-control) ease; }
.video-card-copy strong { text-shadow: 0 1px 0 rgba(0,0,0,.24); }
.video-play-mark { box-shadow: 0 0 0 0 rgba(227,198,114,.18); transition: opacity var(--motion-control) ease, transform var(--motion-control) var(--ease-snap), box-shadow var(--motion-control) ease; }
.video-card-open:active { transform: scale(.99); }
.process-step .step-number { text-shadow: 0 1px 0 rgba(227,198,114,.22), 0 5px 12px rgba(0,0,0,.18); }
.faq-block summary::after { transition: transform var(--motion-control) var(--ease-snap), color var(--motion-control) ease; }
.faq-block details[open] summary::after { content: "+"; transform: rotate(45deg); }
.faq-block details[open] > p { animation: answer-unfold 240ms var(--ease-arrive) both; }
.price-row { animation: price-ledger-arrive 280ms var(--ease-arrive) both; }
.price-row:nth-of-type(2) { animation-delay: 45ms; }
.price-row:nth-of-type(3) { animation-delay: 90ms; }
.price-row:nth-of-type(4) { animation-delay: 135ms; }
.price-row:nth-of-type(5) { animation-delay: 180ms; }
.process-step:nth-child(2) { transition-delay: 55ms; }
.process-step:nth-child(3) { transition-delay: 110ms; }
.process-step:nth-child(4) { transition-delay: 165ms; }

@media (hover: hover) {
  .button-accent:hover { transform: translateY(-3px); box-shadow: 0 5px 0 color-mix(in srgb, var(--accent) 68%, #111611), 0 15px 27px rgba(0,0,0,.2); }
  .button-dark:hover { transform: translateY(-2px); box-shadow: 0 5px 0 #37443a, 0 13px 22px rgba(17,21,17,.18); }
  .button-quiet:hover::before { transform: translateX(0); }
  .button-quiet:hover .play-mark, .button-quiet:focus-visible .play-mark { transform: rotate(-18deg) scale(1.08); border-color: var(--accent); }
  .account-trigger:hover, .mobile-account-trigger:hover { transform: translateY(-2px); box-shadow: 0 4px 0 rgba(227,198,114,.2); }
  .menu-toggle:hover { border-color: var(--accent); background: rgba(227,198,114,.08); }
  .menu-toggle:hover span { width: 23px; }
  .brand:hover .brand-mark img { transform: perspective(300px) rotateY(9deg) rotate(-3deg); filter: drop-shadow(0 3px 7px rgba(227,198,114,.28)); }
  .header-cta:hover > span:last-child, .back-to-top:hover span { transform: translate(-3px, 3px); }
  .mobile-menu a:hover, .mobile-menu a:focus-visible { padding-inline-start: 8px; color: var(--accent); background: rgba(227,198,114,.04); }
  .category-tab:hover .tab-arrow, .category-tab:focus-visible .tab-arrow { transform: translate(-3px, 3px); }
  .filter-button:hover { transform: translateY(-1px); }
  .text-button:hover, .video-dialog-control:hover, .dialog-close:hover { transform: translateY(-2px); box-shadow: 0 3px 0 rgba(17,21,17,.12); }
  .video-viewer-nav:hover { opacity: 1; transform: translateY(calc(-50% - 2px)); }
  .button-approve:hover, .button-reject:hover { transform: translateY(-1px); box-shadow: 0 3px 0 rgba(17,21,17,.12); }
  .button-approve:active, .button-reject:active { transform: translateY(1px); }
  .main-nav a:hover::after, .main-nav a:focus-visible::after { transform: scaleX(1); }
  .service-case:hover, .service-case:focus-visible { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(0,0,0,.2); }
  .service-case:hover .service-case-copy, .service-case:focus-visible .service-case-copy { transform: translateY(-3px); }
  .service-case:hover .service-case-open, .service-case:focus-visible .service-case-open { box-shadow: 0 0 0 4px rgba(227,198,114,.2); }
  .work-card:hover, .work-card:focus-visible { transform: translateY(-4px); box-shadow: 0 18px 34px rgba(0,0,0,.24); }
  .work-card:hover .work-copy, .work-card:focus-visible .work-copy { transform: translateY(-5px); }
  .work-card:hover .work-open, .work-card:focus-visible .work-open { transform: rotate(-45deg) scale(1.06); box-shadow: 0 0 0 4px rgba(227,198,114,.18); }
  .video-card-open:hover .video-card-copy, .video-card-open:focus-visible .video-card-copy { transform: translateY(-3px); border-color: var(--accent); }
  .video-card-open:hover .video-play-mark, .video-card-open:focus-visible .video-play-mark { box-shadow: 0 0 0 7px rgba(227,198,114,.18); }
  .related-project:hover span:last-child, .related-project:focus-visible span:last-child, .service-media-link:hover span, .price-link:hover span, .text-link:hover span { transform: translate(-3px, 3px); }
  .estm-links a:hover, .support-links a:hover { transform: translateY(-2px); }
}
.video-viewer-nav:active { transform: translateY(-50%) scale(.985); }

@media (hover: hover) {
  .button:hover:active { transform: translateY(1px) scale(.985); }
  .button-accent:hover:active:not(:disabled) { box-shadow: 0 1px 0 #a2c43e; }
  .button-dark:hover:active:not(:disabled) { box-shadow: 0 1px 0 #37443a; }
  .filter-button:hover:active { transform: translateY(1px) scale(.985); }
  .service-case:hover:active, .work-card:hover:active { transform: scale(.99); }
}

@keyframes case-file-arrive { from { opacity: 0; transform: translateY(12px) scale(.992); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes price-ledger-arrive { from { opacity: .35; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@keyframes answer-unfold { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 760px) {
  .hero h1 { animation-duration: 600ms; }
  .hero h1 em, .section-dark .section-heading h2 em { text-shadow: 0 1px 0 #b6dd50, 0 2px 0 #91b334, 0 7px 15px rgba(0,0,0,.28); }
  .button { gap: 13px; }
  .service-copy .service-intro, .about-estm-copy .estm-intro { padding-inline-start: 11px; }
  .work-card { animation-duration: 320ms; }
}
@media (prefers-reduced-motion: reduce) {
  .hero h1 { animation: none; opacity: 1; transform: none; }
  .button, .account-trigger, .mobile-account-trigger, .menu-toggle, .menu-toggle span, .category-tab, .subservice-tab, .tab-arrow, .filter-button, .video-filter, .text-button, .video-dialog-control, .video-viewer-nav, .dialog-close, .auth-tab, .service-case, .service-case-copy, .work-card, .work-copy, .work-open, .video-card-copy, .video-play-mark, .related-project, .service-media-link, .price-link, .text-link, .estm-links a, .support-links a, .faq-block summary::after, .account-form label, .account-form input, .account-form select, .account-form textarea { transition: none !important; }
  .button-quiet::before { display: none; }
  .work-card, .price-row, .faq-block details[open] > p { animation: none; opacity: 1; transform: none; }
  .button:hover, .button:active, .account-trigger:hover, .mobile-account-trigger:hover, .menu-toggle:hover span,
  .category-tab:active, .subservice-tab:active, .filter-button:hover, .filter-button:active, .video-filter:active, .video-dialog-control:active,
  .related-project:active, .auth-tab:active, .text-button:hover, .dialog-close:hover, .video-viewer-nav:hover,
  .video-card-open:active, .hero-challenge-option:active, .service-case:active, .work-card:active, .story-map-steps a:active,
  .mobile-menu a:active, .button-quiet:hover .play-mark, .button-quiet:focus-visible .play-mark,
  .button-approve:hover, .button-reject:hover, .button-approve:active, .button-reject:active,
  .header-cta:hover > span:last-child, .back-to-top:hover span, .mobile-menu a:hover, .mobile-menu a:focus-visible, .brand:hover .brand-mark img,
  .service-case:hover, .service-case:focus-visible, .service-case:hover .service-case-copy, .service-case:focus-visible .service-case-copy,
  .service-case:hover .service-case-visual img, .service-case:focus-visible .service-case-visual img, .service-case:hover .service-case-open,
  .service-case:focus-visible .service-case-open, .work-card:hover, .work-card:focus-visible, .work-card:hover img, .work-card:focus-visible img,
  .work-card:hover .work-copy, .work-card:focus-visible .work-copy, .work-card:hover .work-open, .work-card:focus-visible .work-open,
  .video-card-open:hover .video-frame img, .video-card-open:focus-visible .video-frame img,
  .video-card-open:hover .video-play-mark, .video-card-open:focus-visible .video-play-mark,
  .video-card-open:hover .video-card-copy, .video-card-open:focus-visible .video-card-copy,
  .video-viewer-nav:active, .faq-block details[open] summary::after, .chapter-transition:hover > span:last-child,
  .category-tab:hover .tab-arrow, .category-tab:focus-visible .tab-arrow,
  .related-project:hover span:last-child, .related-project:focus-visible span:last-child,
  .service-media-link:hover span, .price-link:hover span, .text-link:hover span, .estm-links a:hover, .support-links a:hover { transform: none !important; }
  .service-case:hover .service-case-visual img, .service-case:focus-visible .service-case-visual img,
  .work-card:hover img, .work-card:focus-visible img, .video-card-open:hover .video-frame img, .video-card-open:focus-visible .video-frame img { filter: none; }
  .video-play-mark, .video-card-open:hover .video-play-mark, .video-card-open:focus-visible .video-play-mark { transform: translate(-50%, -50%) scale(.94) !important; }
  .video-viewer-nav:hover, .video-viewer-nav:active { transform: translateY(-50%) !important; }
  .menu-toggle:hover span { width: 17px; }
  .work-card:hover .work-open, .work-card:focus-visible .work-open, .service-case:hover .service-case-open, .service-case:focus-visible .service-case-open { box-shadow: none; }
}

/* Cupiditas: rounded surfaces, a traveling service bead, and family-specific response. */
button, a[href], input, select, textarea, summary { border-radius: var(--radius-pill); }
button { transition: transform var(--motion-control) var(--ease-snap), color var(--motion-control) ease, background-color var(--motion-control) ease, border-color var(--motion-control) ease, box-shadow var(--motion-control) ease; }
button:disabled { cursor: not-allowed; }
input, select, textarea, .admin-note-label textarea { border-radius: var(--radius-field); }
.button, .header-cta, .account-trigger, .mobile-account-trigger, .hero-challenge-option, .text-button, .copy-button,
.video-dialog-control, .auth-tab, .category-tab, .subservice-tab, .filter-button, .video-filter { border-radius: var(--radius-pill); }
.hero-challenge-option { min-height: 46px; }
.menu-toggle, .dialog-close, .video-dialog-close, .video-viewer-nav, .service-case-open, .work-open, .notification-mark { border-radius: 50%; }
.skip-link { border-radius: var(--radius-pill); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.main-nav a, .mobile-menu a, .story-map-steps a, .chapter-transition, .back-to-top, .footer-bottom a,
.service-media-link, .related-project, .price-link, .text-link, .estm-links a, .support-links a { border-radius: var(--radius-pill); }

.section-intro, .hero-description, .hero-route-message, .service-category-intro, .service-copy .service-intro,
.benchmark-copy > p:not(.eyebrow), .about-estm-copy .estm-intro, .contact-copy > p:not(.eyebrow) {
  padding: 13px 16px;
  border: 1px solid rgba(20,25,19,.1);
  border-inline-start: 3px solid rgba(120,143,49,.58);
  border-radius: 18px;
  background: rgba(255,255,255,.34);
}
.section-dark .section-intro, .section-dark .service-category-intro, .section-dark .service-copy .service-intro, .hero-description, .hero-route-message {
  color: rgba(249,249,242,.88);
  border-color: rgba(245,245,235,.1);
  border-inline-start-color: rgba(227,198,114,.75);
  background: rgba(10,15,11,.48);
}
.service-category-intro { max-width: 620px; }
.service-copy .service-intro { max-width: 690px; }
.benchmark-copy > p:not(.eyebrow) { border-inline-start-color: #879e3d; background: rgba(255,255,255,.5); }
.about-estm-copy .estm-intro { border-inline-start-color: var(--accent); background: color-mix(in srgb, var(--accent) 7%, transparent); }
.contact-copy > p:not(.eyebrow) { border-inline-start-color: rgba(17,21,17,.54); background: rgba(255,255,255,.16); }
.service-outcome, .service-case-empty, .service-price, .service-detail, .content-video-showcase,
.benchmark-table-wrap, .process-step, .faq-block details, .ai-credit, .auth-dialog, .project-dialog, .video-dialog,
.notification-panel, .profile-setup, .order-composer, .order-history, .admin-workspace, .order-item, .admin-order-item,
.notification-item, .admin-reply, .brief-result {
  border-radius: var(--radius-card);
}
.service-explorer { overflow: hidden; padding: clamp(12px, 2vw, 22px); border: 1px solid rgba(245,245,235,.14); border-radius: var(--radius-panel); background: rgba(255,255,255,.018); }
.service-rail { border: 0; }
.category-tabs { position: relative; gap: 5px; padding: 7px; border: 1px solid rgba(245,245,235,.11); border-radius: var(--radius-pill); background: rgba(7,11,8,.54); isolation: isolate; }
.category-tab { position: relative; z-index: 1; min-width: 0; border: 1px solid transparent; background: transparent; }
.category-tab[data-category="content"] { --tab-accent: var(--accent); }
.category-tab[data-category="development"] { --tab-accent: #a7e5ba; }
.category-tab[data-category="automation"] { --tab-accent: #a9d9eb; }
.category-tab[data-category="advertising"] { --tab-accent: #efd18a; }
.category-tab:hover, .category-tab:focus-visible { color: var(--tab-accent); }
.category-tab:focus-visible { outline: 2px solid color-mix(in srgb, var(--tab-accent) 70%, white); outline-offset: 2px; }
.category-tab.is-active { color: var(--tab-accent); border-color: transparent; background: transparent; }
.category-tab.is-active .category-number, .category-tab .tab-arrow { color: var(--tab-accent); }
.category-number { color: #9aa395; }
.tab-arrow { transition: opacity var(--motion-control) ease, transform var(--motion-control) var(--ease-snap); }
.category-tab:hover .tab-arrow, .category-tab:focus-visible .tab-arrow { transform: translate(-2px, 2px) rotate(-12deg); }
.category-tab:not(.is-active):hover .category-icon, .category-tab:not(.is-active):focus-visible .category-icon { transform: translateY(-2px) rotate(-5deg); }
.category-tab:hover .category-icon { border-color: color-mix(in srgb, var(--tab-accent) 32%, transparent); background: color-mix(in srgb, var(--tab-accent) 7%, transparent); box-shadow: 0 0 18px color-mix(in srgb, var(--tab-accent) 14%, transparent); }
.category-tab.is-active:hover .category-icon, .category-tab.is-active:focus-visible .category-icon { transform: none; }
.category-tab:active .category-icon { transform: scale(.94); }
.category-tab.is-active:active .category-icon { transform: none; }
.liquid-rail { position: relative; isolation: isolate; }
.liquid-bead { position: absolute; z-index: 0; top: 0; left: 0; width: 1px; height: 1px; border-radius: var(--radius-pill); background: color-mix(in srgb, var(--bead-color, var(--accent)) 14%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bead-color, var(--accent)) 42%, transparent), 0 8px 26px color-mix(in srgb, var(--bead-color, var(--accent)) 20%, transparent); opacity: 0; pointer-events: none; transform-origin: top left; transition: none; }
.liquid-bead.is-positioned { opacity: 1; transition: transform 360ms var(--ease-liquid), background-color 200ms ease, box-shadow 240ms ease; }
.category-tabs > .liquid-bead { border-radius: 50%; background: color-mix(in srgb, var(--bead-color, var(--accent)) 22%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bead-color, var(--accent)) 68%, transparent), 0 0 27px color-mix(in srgb, var(--bead-color, var(--accent)) 25%, transparent), 0 8px 22px color-mix(in srgb, var(--bead-color, var(--accent)) 22%, transparent); }
.service-selection-heading { align-items: stretch; }
.active-category-label { width: fit-content; padding: 5px 13px; border: 1px solid rgba(227,198,114,.22); border-radius: var(--radius-pill); background: rgba(227,198,114,.06); }
.service-category-intro { align-self: center; border-radius: 16px; }
.subservice-tabs { position: relative; gap: 8px; margin-top: 12px; padding: 8px; border: 1px solid rgba(245,245,235,.1); border-radius: 22px; background: rgba(7,11,8,.38); scrollbar-width: thin; }
.subservice-tab { position: relative; z-index: 1; min-height: 46px; border: 1px solid transparent; }
.subservice-tab:hover, .subservice-tab:focus-visible { color: var(--white); border-color: rgba(227,198,114,.32); background: rgba(227,198,114,.045); }
.subservice-tab.is-active { color: var(--accent); border-color: rgba(227,198,114,.36); background: transparent; }
.subservice-dot { width: 7px; height: 7px; border-radius: 50%; transition: transform 260ms var(--ease-liquid), box-shadow 260ms ease, background-color 180ms ease; }
.subservice-tab.is-active .subservice-dot { transform: scale(1.24); box-shadow: 0 0 0 4px rgba(227,198,114,.13), 0 0 15px rgba(227,198,114,.28); }
.service-detail { margin-top: 16px; padding: clamp(18px, 2.6vw, 34px); border: 1px solid rgba(245,245,235,.09); background: rgba(8,12,9,.2); }
.service-copy, .service-aside { animation: service-detail-enter 380ms var(--ease-liquid) both; }
.service-aside { animation-delay: 55ms; }
@keyframes service-detail-enter { from { opacity: 0; transform: translateY(9px) scale(.995); } to { opacity: 1; transform: translateY(0) scale(1); } }
.service-copy h3 { text-shadow: 0 1px 0 rgba(255,255,255,.15), 0 8px 20px rgba(0,0,0,.2); }
.service-outcome { padding: 20px 22px; border-color: rgba(245,245,235,.14); background: rgba(255,255,255,.035); transition: transform 380ms var(--ease-liquid), border-color 260ms ease, background-color 260ms ease, box-shadow 260ms ease; }
.service-case, .service-case-empty { overflow: hidden; border-radius: 22px; }
.service-case { border-color: rgba(245,245,235,.16); transition: transform 380ms var(--ease-liquid), border-color 280ms ease, box-shadow 320ms ease; }
.service-case-visual, .service-case-visual img { border-start-start-radius: inherit; border-start-end-radius: inherit; }
.service-case-open { box-shadow: 0 5px 18px rgba(227,198,114,.22); }
.related-block { display: grid; gap: 7px; }
.related-project { min-height: 44px; padding: 7px 14px; border: 1px solid rgba(245,245,235,.11); background: rgba(255,255,255,.025); }
.service-price { padding: 16px; border: 1px solid rgba(245,245,235,.11); background: rgba(255,255,255,.025); }
.service-media-link, .price-link, .text-link { min-height: 44px; padding: 0 15px; border: 1px solid rgba(227,198,114,.23); background: rgba(227,198,114,.035); }
.service-media-link { border-bottom: 1px solid rgba(212,246,115,.42); }
.price-link { margin-top: 14px; }
.price-disclaimer { max-width: 850px; margin: 20px 0 0 auto; padding: 12px 16px; border: 1px solid rgba(245,245,235,.08); border-radius: 17px; background: rgba(8,12,9,.2); }

.portfolio-filters { position: relative; gap: 6px; padding: 5px; border: 1px solid rgba(20,25,19,.1); border-radius: var(--radius-pill); background: rgba(255,255,255,.36); isolation: isolate; }
.filter-button { position: relative; z-index: 1; min-height: 44px; padding-inline: 15px; border: 1px solid transparent; color: #62685e; transition: transform var(--motion-tap) var(--ease-snap), color 200ms ease, border-color 200ms ease, background-color 200ms ease; }
.filter-button:hover, .filter-button:focus-visible { color: #35431b; border-color: rgba(120,143,49,.28); }
.filter-button.is-active { color: #263216; border-color: rgba(100,122,43,.28); background: transparent; }
.filter-button span { color: inherit; }
.filter-button.is-active span { display: inline-flex; min-width: 22px; min-height: 22px; align-items: center; justify-content: center; padding-inline: 5px; border-radius: var(--radius-pill); background: rgba(17,21,17,.1); }
.portfolio-grid { gap: 18px; }
.work-card { border: 1px solid rgba(255,255,255,.1); border-radius: 25px; box-shadow: 0 12px 30px rgba(12,16,12,.08); transition: transform 400ms var(--ease-liquid), border-color 260ms ease, box-shadow 320ms ease; }
.work-card img { border-radius: inherit; }
.work-copy { padding: 15px 17px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(8,12,9,.3); backdrop-filter: blur(8px); }
.work-open { box-shadow: 0 5px 18px rgba(227,198,114,.26); }
.work-tags i { border-radius: var(--radius-pill); }
.video-card { overflow: hidden; border: 1px solid rgba(245,245,235,.1); border-radius: 22px; background: rgba(8,12,9,.28); transition: transform 360ms var(--ease-liquid), border-color 240ms ease, box-shadow 300ms ease; }
.video-card-open { display: block; width: 100%; overflow: hidden; border-radius: inherit; background: transparent; text-align: inherit; }
.video-frame, .video-frame img { border-start-start-radius: inherit; border-start-end-radius: inherit; }
.video-card-copy { min-height: 72px; padding: 12px 15px 14px; border: 0; border-top: 1px solid rgba(245,245,235,.08); }
.video-filters { gap: 7px; padding: 5px; border: 1px solid rgba(245,245,235,.12); border-radius: var(--radius-pill); background: rgba(7,11,8,.42); isolation: isolate; }
.video-filter { position: relative; z-index: 1; min-height: 44px; padding: 0 15px; border: 1px solid transparent; color: #c1c8bb; background: transparent; transition: transform var(--motion-tap) var(--ease-snap), color 220ms ease, border-color 220ms ease, background-color 220ms ease; }
.video-filter:hover, .video-filter:focus-visible { color: var(--white); border-color: rgba(227,198,114,.32); }
.video-filter.is-active { color: var(--accent-ink); border-color: rgba(227,198,114,.62); background: transparent; box-shadow: inset 0 1px rgba(255,255,255,.35); }
.video-filter small { min-width: 22px; min-height: 22px; padding: 2px 6px; border-radius: var(--radius-pill); background: rgba(255,255,255,.1); line-height: 1.35; }
.video-filter.is-active small { background: rgba(17,21,17,.1); }
.video-play-mark { box-shadow: 0 0 0 6px rgba(227,198,114,.1), 0 8px 26px rgba(0,0,0,.28); }

.benchmark-table-wrap { padding: clamp(18px, 2.4vw, 30px); border: 1px solid rgba(20,25,19,.1); background: rgba(255,255,255,.26); }
.benchmark-select { align-items: center; padding: 0 0 16px; border: 0; }
.benchmark-select select { border-radius: var(--radius-pill); background: rgba(255,255,255,.4); transition: border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease; }
.benchmark-select select:focus { border-color: #718831; box-shadow: 0 0 0 4px rgba(120,143,49,.13); background-color: var(--paper-pure); }
.price-row { margin-top: 10px; padding: 15px 18px; border: 1px solid rgba(20,25,19,.09); border-radius: 19px; background: rgba(255,255,255,.58); transition: transform 300ms var(--ease-liquid), border-color 220ms ease, box-shadow 240ms ease; }
.price-row-mrstm { border-color: rgba(120,143,49,.25); background: rgba(227,198,114,.13); }
.price-source { padding: 3px 10px; border-radius: var(--radius-pill); background: rgba(120,143,49,.09); text-decoration: none; transition: background-color 180ms ease, color 180ms ease; }
.price-source:hover, .price-source:focus-visible { color: #263216; background: rgba(120,143,49,.2); }
.benchmark-caveat { padding: 10px 14px; border: 1px solid rgba(20,25,19,.07); border-radius: 16px; background: rgba(255,255,255,.32); }
.process-list { gap: 12px; border: 0; }
.process-step, .process-step:first-child, .process-step:last-child { min-width: 0; padding: 21px; border: 1px solid rgba(245,245,235,.12); border-radius: 22px; background: rgba(255,255,255,.025); transition: transform 360ms var(--ease-liquid), border-color 240ms ease, background-color 240ms ease, box-shadow 280ms ease; }
.process-step h3 { margin-top: 38px; }
.step-number { display: inline-flex; min-width: 38px; min-height: 38px; align-items: center; justify-content: center; padding: 0 9px; border: 1px solid rgba(227,198,114,.32); border-radius: var(--radius-pill); background: rgba(227,198,114,.06); }
.step-symbol { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(245,245,235,.12); border-radius: 50%; }
.step-symbol .ui-icon { width: 19px; height: 19px; }
.faq-block details { margin-top: 9px; padding: 0 17px; border: 1px solid rgba(245,245,235,.11); background: rgba(255,255,255,.025); transition: border-color 240ms ease, background-color 240ms ease; }
.faq-block summary { min-height: 58px; padding-inline: 0 42px; border-radius: inherit; }
.faq-block summary::after { left: 0; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(227,198,114,.33); border-radius: 50%; background: rgba(227,198,114,.06); transition: transform 260ms var(--ease-liquid), color 220ms ease, background-color 220ms ease; }
.faq-block details[open] summary::after { color: var(--accent-ink); background: var(--accent); }
.faq-block details[open] > p { padding: 12px 0 17px; border-top: 1px solid rgba(245,245,235,.08); }
.chapter-transition { min-height: 70px; margin-top: 28px; padding: 12px 18px; border: 1px solid var(--line); background: rgba(255,255,255,.18); transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease, transform 300ms var(--ease-liquid), box-shadow 260ms ease; }
.section-dark .chapter-transition { border: 1px solid rgba(245,245,235,.11); background: rgba(255,255,255,.025); }
.ai-credit { padding: 22px 24px; border: 1px solid rgba(17,21,17,.12); border-radius: var(--radius-card); background: rgba(255,255,255,.3); }

.site-header .main-nav a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 12px; transition: color 200ms ease, background-color 200ms ease, transform 240ms var(--ease-snap); }
.main-nav a::after { right: 11px; left: 11px; bottom: 3px; border-radius: var(--radius-pill); }
.site-header .main-nav a:hover, .site-header .main-nav a:focus-visible { color: var(--accent); background: rgba(227,198,114,.075); }
.header-cta, .account-trigger, .mobile-account-trigger { min-height: 46px; padding-inline: 18px; }
.header-cta { border: 1px solid rgba(227,198,114,.42); background: rgba(227,198,114,.07); transition: transform 260ms var(--ease-liquid), color 220ms ease, border-color 220ms ease, background-color 220ms ease, box-shadow 260ms ease; }
.mobile-menu a { display: flex; min-height: 44px; align-items: center; padding: 10px 14px; border: 1px solid transparent; transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease, transform 240ms var(--ease-snap); }
.back-to-top { padding-inline: 15px; border: 1px solid rgba(245,245,235,.12); transition: color 220ms ease, background-color 220ms ease, transform 240ms var(--ease-snap); }
.story-map-steps a { min-height: 44px; padding-inline: 10px; border-color: rgba(20,25,19,.08); transition: transform 260ms var(--ease-liquid), color 220ms ease, border-color 220ms ease, background-color 220ms ease, box-shadow 240ms ease; }
.story-map-steps a[aria-current="location"] { border-color: rgba(111,132,48,.35); box-shadow: 0 5px 18px rgba(111,132,48,.12); }
.chapter-transition > span:last-child, .header-cta > span:last-child, .back-to-top span, .service-media-link span, .price-link span, .text-link span { transition: transform 260ms var(--ease-liquid), color 220ms ease; }
.estm-links a, .support-links a { min-height: 44px; padding-inline: 14px; border: 1px solid rgba(17,21,17,.14); background: rgba(255,255,255,.24); text-decoration: none; }
.estm-links a { border-bottom: 1px solid rgba(17,21,17,.14); }
.contact-action { padding: 23px; border: 1px solid rgba(17,21,17,.13); border-radius: var(--radius-card); background: rgba(255,255,255,.13); }

.brief-form input, .brief-form select, .brief-form textarea, .brief-result textarea,
.account-form input, .account-form select, .account-form textarea, .admin-note-label textarea {
  padding-inline: 15px;
  border: 1px solid rgba(17,21,17,.18);
  border-radius: var(--radius-field);
  transition: border-color 220ms ease, box-shadow 260ms ease, background-color 220ms ease;
}
.brief-form input:focus, .brief-form select:focus, .brief-form textarea:focus, .brief-result textarea:focus,
.account-form input:focus, .account-form select:focus, .account-form textarea:focus, .admin-note-label textarea:focus {
  border-color: #758b37;
  outline: 2px solid rgba(117,139,55,.26);
  box-shadow: 0 0 0 5px rgba(117,139,55,.1), inset -3px 0 0 #849b3e;
  background-color: #fffef9;
}
.text-button, .copy-button { min-height: 44px; padding-inline: 15px; border: 1px solid rgba(17,21,17,.17); background: rgba(255,255,255,.18); }
.auth-dialog { width: min(540px, calc(100% - 24px)); border: 1px solid rgba(17,21,17,.16); border-radius: var(--radius-panel); box-shadow: 0 28px 100px rgba(0,0,0,.28); }
.project-dialog { width: min(900px, calc(100% - 24px)); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-panel); box-shadow: 0 30px 100px rgba(0,0,0,.36); }
.video-dialog { width: min(1440px, calc(100% - 24px)); height: min(100dvh - 24px, 1000px); border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-panel); box-shadow: 0 24px 80px rgba(0,0,0,.3); }
.video-viewer-stage { overflow: hidden; border-radius: 20px; }
.video-viewer-stage:fullscreen, .video-viewer-stage:-webkit-full-screen { border-radius: 0; }
.video-viewer-nav { width: 52px; height: 52px; border-radius: 50%; box-shadow: 0 6px 22px rgba(0,0,0,.23); }
.dialog-close, .video-dialog-close { width: 46px; height: 46px; border-radius: 50%; transition: transform 280ms var(--ease-liquid), color 200ms ease, background-color 200ms ease, box-shadow 240ms ease; }
.video-dialog-control { border-radius: var(--radius-pill); }
.video-fullscreen { min-width: 46px; min-height: 46px; }
.auth-tabs { position: relative; gap: 5px; padding: 5px; border: 0; border-radius: var(--radius-pill); background: rgba(17,21,17,.07); isolation: isolate; }
.auth-tab { position: relative; z-index: 1; flex: 1 1 0; min-height: 46px; padding-inline: 16px; border: 1px solid transparent; }
.auth-tab.is-active { color: var(--ink); border-color: rgba(120,143,49,.27); background: transparent; }
.admin-setup-entry { padding: 8px; border: 1px solid rgba(17,21,17,.1); border-radius: 20px; background: rgba(255,255,255,.22); }
.admin-setup-entry summary { display: inline-flex; min-height: 42px; align-items: center; padding-inline: 13px; border: 1px solid transparent; }
.notification-panel, .profile-setup, .order-composer, .order-history, .admin-workspace { padding: 22px; border: 1px solid rgba(17,21,17,.1); background: rgba(255,255,255,.28); }
.notification-panel { border-bottom: 1px solid rgba(17,21,17,.1); }
.dashboard-grid { gap: 20px; }
.order-item, .admin-order-item, .notification-item { padding: 17px; border: 1px solid rgba(17,21,17,.1); background: rgba(255,255,255,.46); transition: transform 300ms var(--ease-liquid), border-color 220ms ease, box-shadow 240ms ease; }
.notification-mark { width: 38px; height: 38px; }
.order-state { padding: 5px 12px; border: 1px solid rgba(17,21,17,.06); border-radius: var(--radius-pill); }
.admin-reply { border: 1px solid rgba(158,174,88,.2); border-inline-start: 3px solid #9eae58; background: rgba(255,255,255,.5); }
.admin-order-actions .button { min-height: 44px; }

@media (hover: hover) {
  .button-accent:hover:not(:disabled) { transform: translateY(-3px); box-shadow: 0 6px 0 #a2c43e, 0 16px 28px rgba(0,0,0,.22), 0 0 24px rgba(227,198,114,.12); }
  .button-dark:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 5px 0 #37443a, 0 13px 24px rgba(17,21,17,.2); }
  .button-quiet:hover:not(:disabled) { transform: translateY(-2px); box-shadow: inset 0 0 0 1px rgba(227,198,114,.4), 0 8px 24px rgba(227,198,114,.08); }
  .account-trigger:hover, .mobile-account-trigger:hover { transform: translateY(-2px) scale(1.025); border-color: var(--accent); box-shadow: 0 0 0 4px rgba(227,198,114,.1), 0 7px 18px rgba(0,0,0,.18); }
  .header-cta:hover { transform: translateY(-2px); color: var(--accent-ink); border-color: var(--accent); background: var(--accent); box-shadow: 0 8px 22px rgba(227,198,114,.2); }
  .category-tab:hover, .category-tab:focus-visible { box-shadow: inset 0 -2px var(--tab-accent), 0 7px 18px color-mix(in srgb, var(--tab-accent) 12%, transparent); }
  .subservice-tab:hover, .subservice-tab:focus-visible { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(227,198,114,.09); }
  .filter-button:hover { transform: translateY(-2px) scale(1.02); box-shadow: 0 5px 16px rgba(17,21,17,.1); }
  .video-filter:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(227,198,114,.12); }
  .video-card:hover { transform: translateY(-5px); border-color: rgba(227,198,114,.35); box-shadow: 0 20px 40px rgba(0,0,0,.22), 0 0 24px rgba(227,198,114,.07); }
  .service-case:hover, .service-case:focus-visible { transform: translateY(-5px) scale(1.008); border-color: rgba(227,198,114,.55); box-shadow: 0 20px 38px rgba(0,0,0,.28), 0 0 24px rgba(227,198,114,.11); }
  .service-outcome:hover { transform: translateY(-3px); border-color: rgba(227,198,114,.4); background: rgba(227,198,114,.055); box-shadow: 0 12px 26px rgba(0,0,0,.13); }
  .work-card:hover, .work-card:focus-visible { transform: translateY(-5px) scale(1.008); border-color: rgba(227,198,114,.48); box-shadow: 0 22px 42px rgba(0,0,0,.26), 0 0 28px rgba(227,198,114,.1); }
  .work-card-1:hover img { transform: scale(1.05); filter: saturate(1.12); }
  .work-card-2:hover img { transform: scale(1.07) translateX(-.5%); filter: brightness(1.06); }
  .work-card-3:hover img { transform: scale(1.055); filter: saturate(1.16) contrast(1.03); }
  .work-card-4:hover img { transform: scale(1.07) translateY(-.5%); filter: brightness(.88) saturate(1.08); }
  .process-step:hover, .process-step:focus-within { transform: translateY(-5px); border-color: rgba(227,198,114,.36); background: rgba(227,198,114,.045); box-shadow: 0 16px 32px rgba(0,0,0,.16); }
  .faq-block details:hover, .faq-block details:focus-within { border-color: rgba(227,198,114,.35); background: rgba(227,198,114,.035); }
  .story-map-steps a:hover, .story-map-steps a:focus-visible { transform: translateY(-2px); border-color: rgba(111,132,48,.33); box-shadow: 0 7px 20px rgba(111,132,48,.1); }
  .chapter-transition:hover { transform: translateY(-2px); border-color: rgba(120,143,49,.45); background: rgba(227,198,114,.09); box-shadow: 0 10px 25px rgba(17,21,17,.08); }
  .section-dark .chapter-transition:hover { border-color: rgba(227,198,114,.34); background: rgba(227,198,114,.055); box-shadow: 0 10px 25px rgba(0,0,0,.16); }
  .related-project:hover { transform: translateX(-3px); color: var(--accent); border-color: rgba(227,198,114,.28); background: rgba(227,198,114,.05); }
  .service-media-link:hover, .price-link:hover { transform: translateY(-2px); border-color: rgba(227,198,114,.65); background: rgba(227,198,114,.09); }
  .text-link:hover { transform: translateY(-2px); border-color: rgba(120,143,49,.45); background: rgba(120,143,49,.09); }
  .text-link:hover span, .service-media-link:hover span, .price-link:hover span, .chapter-transition:hover > span:last-child { transform: translate(-3px, 3px) rotate(-10deg); }
  .main-nav a:hover { transform: translateY(-1px); }
  .mobile-menu a:hover, .mobile-menu a:focus-visible { transform: translateX(-4px); color: var(--accent); border-color: rgba(227,198,114,.2); background: rgba(227,198,114,.055); }
  .skip-link:hover { transform: translateY(0) scale(1.02); }
  .back-to-top:hover { transform: translateY(-2px); color: var(--accent); background: rgba(227,198,114,.06); }
  .back-to-top:hover span, .header-cta:hover > span:last-child { transform: translate(-3px, 3px) rotate(-8deg); }
  .estm-links a:hover, .support-links a:hover { transform: translateY(-3px); border-color: rgba(120,143,49,.42); background: rgba(227,198,114,.11); box-shadow: 0 8px 20px rgba(17,21,17,.08); }
  .text-button:hover, .copy-button:hover { transform: translateY(-2px); border-color: rgba(120,143,49,.42); background: rgba(227,198,114,.12); box-shadow: 0 6px 18px rgba(17,21,17,.08); }
  .button-approve:hover, .button-reject:hover { transform: translateY(-2px) rotate(-.5deg); box-shadow: 0 7px 19px rgba(17,21,17,.15); }
  .auth-tab:hover { color: #465b20; }
  .video-dialog-control:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(227,198,114,.1); }
  .video-viewer-nav:hover { transform: translateY(calc(-50% - 3px)); box-shadow: 0 9px 24px rgba(0,0,0,.3), 0 0 18px rgba(227,198,114,.18); }
  .dialog-close:hover, .video-dialog-close:hover { transform: rotate(90deg) scale(1.06); box-shadow: 0 0 0 5px rgba(227,198,114,.12); }
  .benchmark-select select:hover { border-color: #879e3d; box-shadow: 0 5px 16px rgba(17,21,17,.08); }
  .price-row:hover { transform: translateY(-2px); border-color: rgba(120,143,49,.27); box-shadow: 0 10px 24px rgba(17,21,17,.07); }
  .notification-item:hover, .order-item:hover, .admin-order-item:hover { transform: translateY(-2px); border-color: rgba(120,143,49,.25); box-shadow: 0 10px 24px rgba(17,21,17,.08); }
}

button:active:not(:disabled), .button:active:not(:disabled), .category-tab:active, .subservice-tab:active, .filter-button:active,
.video-filter:active, .auth-tab:active, .story-map-steps a:active, .chapter-transition:active, .estm-links a:active, .support-links a:active {
  transform: translateY(1px) scale(.975);
  transition-duration: 100ms;
}
.video-viewer-nav:active { transform: translateY(-50%) scale(.94); }
.button-approve:active, .button-reject:active { transform: translateY(1px) scale(.97); }
.category-tab[aria-pressed="true"], .filter-button[aria-pressed="true"], .video-filter[aria-pressed="true"], .auth-tab[aria-selected="true"] { text-shadow: 0 1px 0 rgba(255,255,255,.18); }
.account-workspace [hidden], .video-orientation-group[hidden] { display: none !important; }

@media (max-width: 760px) {
  .service-explorer { padding: 12px; border-radius: 24px; }
  .category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding: 6px; border-radius: 22px; }
  .category-tab { min-height: 76px; padding: 8px 5px 6px; font-size: .7rem; }
  .category-icon { width: 33px; height: 33px; }
  .category-icon .ui-icon { width: 19px; height: 19px; }
  .category-number { inset-block-start: 8px; inset-inline-start: 9px; font-size: .53rem; }
  .service-selection-heading { gap: 12px; }
  .service-detail { gap: 22px; padding: 16px; border-radius: 23px; }
  .subservice-tabs { margin-inline: 0; padding: 7px; border-radius: 19px; }
  .portfolio-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding: 5px; border-radius: 22px; }
  .filter-button { min-height: 46px; justify-content: center; padding-inline: 9px; border-radius: var(--radius-pill); }
  .video-filters { width: max-content; max-width: 100%; padding: 4px; border-radius: 22px; }
  .video-filter { min-height: 44px; padding-inline: 12px; font-size: .67rem; }
  .content-video-showcase { --accent: var(--accent-bright); --accent-ink: #20190e; padding: 21px 15px; border-radius: 24px; }
  .video-card { border-radius: 18px; }
  .benchmark-table-wrap { padding: 16px; border-radius: 23px; }
  .price-row { grid-template-columns: 1fr; gap: 5px; padding: 13px 14px; border-radius: 17px; }
  .process-list { gap: 9px; }
  .process-step, .process-step:first-child, .process-step:last-child { min-height: 176px; padding: 14px; border-radius: 19px; }
  .process-step h3 { margin-top: 25px; }
  .faq-block details { padding-inline: 14px; border-radius: 18px; }
  .chapter-transition { grid-template-columns: auto minmax(0, 1fr) auto; gap: 9px; min-height: 62px; padding-inline: 12px; border-radius: 20px; }
  .story-map-steps { gap: 6px; }
  .story-map-steps a { min-height: 44px; padding-inline: 7px; border-radius: 16px; }
  .dialog-close, .video-dialog-close { width: 44px; height: 44px; }
  .auth-dialog, .project-dialog { max-height: min(92dvh, 900px); padding: 22px; border-radius: 25px; }
  .video-dialog { width: calc(100vw - 16px); height: calc(100dvh - 16px); padding: max(11px, env(safe-area-inset-top)) max(11px, env(safe-area-inset-right)) max(11px, env(safe-area-inset-bottom)) max(11px, env(safe-area-inset-left)); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; }
  .video-viewer-stage { border-radius: 17px; }
  .video-viewer-nav { width: 46px; height: 46px; }
  .dashboard-grid { gap: 14px; }
  .notification-panel, .profile-setup, .order-composer, .order-history, .admin-workspace { padding: 16px; border-radius: 22px; }
  .order-item, .admin-order-item, .notification-item { padding: 13px; border-radius: 17px; }
  .contact-action { padding: 17px; border-radius: 22px; }
  .ai-credit { padding: 17px; border-radius: 22px; }
  .section-intro, .hero-description, .hero-route-message, .service-category-intro, .service-copy .service-intro,
  .benchmark-copy > p:not(.eyebrow), .about-estm-copy .estm-intro, .contact-copy > p:not(.eyebrow) { padding: 11px 13px; border-radius: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .liquid-bead, .liquid-bead.is-positioned { transition: none !important; }
  .category-icon, .category-icon::after { transition: none !important; }
  .category-tab:hover .category-icon, .category-tab:focus-visible .category-icon, .category-tab:active .category-icon { transform: none !important; }
  .service-copy, .service-aside { animation: none !important; }
  .button-accent:hover:not(:disabled), .button-dark:hover:not(:disabled), .button-quiet:hover:not(:disabled),
  .account-trigger:hover, .mobile-account-trigger:hover, .header-cta:hover, .subservice-tab:hover, .subservice-tab:focus-visible,
  .filter-button:hover, .video-filter:hover, .video-card:hover, .service-case:hover, .service-case:focus-visible,
  .service-outcome:hover, .work-card:hover, .work-card:focus-visible, .process-step:hover, .process-step:focus-within,
  .story-map-steps a:hover, .story-map-steps a:focus-visible, .chapter-transition:hover, .section-dark .chapter-transition:hover,
  .related-project:hover, .service-media-link:hover, .price-link:hover, .text-link:hover, .main-nav a:hover,
  .mobile-menu a:hover, .mobile-menu a:focus-visible, .skip-link:hover, .back-to-top:hover, .estm-links a:hover,
  .support-links a:hover, .text-button:hover, .copy-button:hover, .button-approve:hover, .button-reject:hover,
  .video-dialog-control:hover, .video-viewer-nav:hover, .dialog-close:hover, .video-dialog-close:hover,
  .price-row:hover, .notification-item:hover, .order-item:hover, .admin-order-item:hover,
  button:active:not(:disabled), .button:active:not(:disabled), .category-tab:active, .subservice-tab:active,
  .filter-button:active, .video-filter:active, .auth-tab:active, .story-map-steps a:active, .chapter-transition:active,
  .estm-links a:active, .support-links a:active, .video-viewer-nav:active, .button-approve:active, .button-reject:active {
    transform: none !important;
  }
  .work-card-1:hover img, .work-card-2:hover img, .work-card-3:hover img, .work-card-4:hover img,
  .button-accent:hover:not(:disabled), .button-dark:hover:not(:disabled), .video-viewer-nav:hover { box-shadow: none !important; }
  .video-viewer-nav:hover, .video-viewer-nav:active { transform: translateY(-50%) !important; }
}

.brand { min-height: 44px; }
.price-source { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 12px; border-radius: var(--radius-pill); }
.footer-bottom a { display: inline-flex; min-height: 44px; align-items: center; padding-inline: 12px; }

/* Service choice carries its accent into the complete service workspace. */
.services-section {
  --category-accent: var(--accent);
  --tab-accent: var(--category-accent);
  position: relative;
  isolation: isolate;
  background-color: color-mix(in srgb, var(--category-accent) 1.1%, var(--ink));
  transition: background-color 460ms var(--ease-liquid);
}
.services-section > .page-shell { position: relative; z-index: 1; }
.services-section .section-kicker span,
.services-section .section-heading h2 em,
.services-section .selector-step,
.services-section .active-category-label,
.services-section .service-eyebrow,
.services-section .outcome-mark { color: var(--category-accent); transition: color 360ms ease; }
.services-section.section-dark .section-heading h2 em {
  color: var(--category-accent);
  text-shadow: 0 1px 0 color-mix(in srgb, var(--category-accent) 72%, white),
    0 2px 0 color-mix(in srgb, var(--category-accent) 62%, #777),
    0 4px 0 color-mix(in srgb, var(--category-accent) 48%, #343a30),
    0 10px 20px rgba(0,0,0,.28);
  transition: color 360ms ease, text-shadow 360ms ease;
}
.services-section .section-intro,
.services-section .service-category-intro { border-inline-start-color: color-mix(in srgb, var(--category-accent) 76%, transparent); }
.services-section .service-explorer {
  border-color: color-mix(in srgb, var(--category-accent) 22%, rgba(245,245,235,.14));
  background-color: color-mix(in srgb, var(--category-accent) 2%, rgba(255,255,255,.018));
  transition: background-color 420ms ease, border-color 360ms ease, box-shadow 420ms ease;
  box-shadow: inset 0 1px color-mix(in srgb, var(--category-accent) 10%, transparent);
}
.services-section .category-tabs {
  border-color: color-mix(in srgb, var(--category-accent) 24%, rgba(245,245,235,.11));
  background-color: color-mix(in srgb, var(--category-accent) 3%, rgba(7,11,8,.54));
  transition: background-color 360ms ease, border-color 360ms ease;
}
.category-tab[data-category="content"] { --tab-accent: var(--accent); }
.category-tab[data-category="development"] { --tab-accent: #91e3cf; }
.category-tab[data-category="automation"] { --tab-accent: #c5a8ff; }
.category-tab[data-category="advertising"] { --tab-accent: #ffb583; }
.category-tab:not(.is-active) .category-icon { color: #9aa395; }
.category-tab:not(.is-active):hover .category-icon,
.category-tab:not(.is-active):focus-visible .category-icon { color: var(--tab-accent); }
.category-tab.is-active { background: color-mix(in srgb, var(--tab-accent) 6%, transparent); }
.category-tab.is-active .category-icon {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.category-tab.is-active .category-icon::after { opacity: 0; }
.category-tabs > .liquid-bead {
  background: color-mix(in srgb, var(--bead-color, var(--category-accent)) 15%, #0e1410);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bead-color, var(--category-accent)) 78%, transparent),
    0 0 24px color-mix(in srgb, var(--bead-color, var(--category-accent)) 28%, transparent),
    0 8px 22px color-mix(in srgb, var(--bead-color, var(--category-accent)) 20%, transparent);
}
.services-section .active-category-label {
  border-color: color-mix(in srgb, var(--category-accent) 33%, transparent);
  background: color-mix(in srgb, var(--category-accent) 7%, transparent);
  transition: color 360ms ease, border-color 360ms ease, background-color 360ms ease;
}
.services-section .subservice-tabs {
  border-color: color-mix(in srgb, var(--category-accent) 22%, rgba(245,245,235,.1));
  background-color: color-mix(in srgb, var(--category-accent) 2%, rgba(7,11,8,.38));
  transition: background-color 360ms ease, border-color 360ms ease;
}
.subservice-tabs > .liquid-bead {
  background: color-mix(in srgb, var(--category-accent) 10%, #0e1410);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--category-accent) 55%, transparent),
    0 0 20px color-mix(in srgb, var(--category-accent) 17%, transparent);
}
.services-section .subservice-tab.is-active {
  color: var(--category-accent);
  border-color: transparent;
  background: transparent;
}
.services-section .subservice-tab.is-active .subservice-dot {
  background: var(--category-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--category-accent) 13%, transparent),
    0 0 15px color-mix(in srgb, var(--category-accent) 26%, transparent);
}
.services-section .rail-bottom .status-dot {
  background: var(--category-accent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--category-accent) 14%, transparent);
}
.services-section .service-detail {
  border-color: color-mix(in srgb, var(--category-accent) 20%, rgba(245,245,235,.09));
  background-color: color-mix(in srgb, var(--category-accent) 2%, rgba(8,12,9,.2));
  transition: background-color 420ms ease, border-color 360ms ease;
}
.services-section .deliverable-list li::before { background: var(--category-accent); }
.services-section .service-outcome,
.services-section .service-price,
.services-section .service-case-empty { border-color: color-mix(in srgb, var(--category-accent) 25%, rgba(245,245,235,.14)); }
.services-section .service-case-open { box-shadow: 0 5px 18px color-mix(in srgb, var(--category-accent) 24%, transparent); }
.services-section .service-media-link,
.services-section .price-link {
  border-color: color-mix(in srgb, var(--category-accent) 32%, transparent);
  background: color-mix(in srgb, var(--category-accent) 5%, transparent);
}
.services-section .service-media-link span,
.services-section .price-link span { color: var(--category-accent); }
.services-section .rail-label,
.services-section .aside-label { transition: color 360ms ease; }
.services-section .service-eyebrow { text-shadow: 0 0 18px color-mix(in srgb, var(--category-accent) 24%, transparent); }

/* Dimensional Cupiditas pictograms: keep the moving bead behind each glyph. */
.category-tabs > .category-tab { z-index: 1; }
.category-tabs > .liquid-bead { z-index: 0; }
.category-icon .ui-icon {
  width: 25px;
  height: 25px;
  overflow: visible;
  opacity: .86;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.28));
  transition: transform 420ms var(--ease-liquid), opacity 240ms ease, filter 280ms ease;
}
.category-tab.is-active .category-icon .ui-icon {
  opacity: 1;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.25)) drop-shadow(0 0 7px color-mix(in srgb, var(--tab-accent) 35%, transparent));
  transform: translateY(-1px) scale(1.08);
}
.category-tab:not(.is-active):hover .category-icon .ui-icon,
.category-tab:not(.is-active):focus-visible .category-icon .ui-icon { opacity: 1; }
.category-tabs > .liquid-bead {
  background: color-mix(in srgb, var(--bead-color, var(--category-accent)) 13%, #111711);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bead-color, var(--category-accent)) 78%, transparent),
    0 0 19px color-mix(in srgb, var(--bead-color, var(--category-accent)) 22%, transparent),
    0 7px 17px rgba(0,0,0,.2);
}

@media (prefers-reduced-motion: reduce) {
  .services-section,
  .services-section .service-explorer,
  .services-section .category-tabs,
  .services-section .active-category-label,
  .services-section .subservice-tabs,
  .services-section .service-detail { transition: none !important; }
  .category-icon .ui-icon, .category-tab.is-active .category-icon .ui-icon { transition: none !important; transform: none !important; }
}

.section-intro, .hero-description, .hero-route-message, .service-category-intro, .service-copy .service-intro,
.benchmark-copy > p:not(.eyebrow), .about-estm-copy .estm-intro, .contact-copy > p:not(.eyebrow) {
  transition: translate 300ms var(--ease-liquid), border-color 240ms ease, background-color 240ms ease, box-shadow 280ms ease;
}
@media (hover: hover) {
  .section-intro:hover, .benchmark-copy > p:not(.eyebrow):hover, .contact-copy > p:not(.eyebrow):hover {
    translate: 0 -2px;
    border-color: rgba(120,143,49,.35);
    box-shadow: 0 10px 24px rgba(17,21,17,.09);
  }
  .hero-description:hover, .hero-route-message:hover, .about-estm-copy .estm-intro:hover {
    translate: 0 -2px;
    border-color: rgba(227,198,114,.55);
    box-shadow: 0 10px 26px rgba(0,0,0,.18), 0 0 20px rgba(227,198,114,.07);
  }
  .service-category-intro:hover, .service-copy .service-intro:hover {
    translate: 3px 0;
    border-color: rgba(227,198,114,.48);
    box-shadow: 0 8px 22px rgba(0,0,0,.14);
  }
}
@media (prefers-reduced-motion: reduce) {
  .section-intro:hover, .hero-description:hover, .hero-route-message:hover, .service-category-intro:hover,
  .service-copy .service-intro:hover, .benchmark-copy > p:not(.eyebrow):hover,
  .about-estm-copy .estm-intro:hover, .contact-copy > p:not(.eyebrow):hover { translate: none !important; }
}

@media (hover: hover) {
  .services-section .section-intro:hover,
  .services-section .service-category-intro:hover,
  .services-section .service-copy .service-intro:hover {
    border-color: color-mix(in srgb, var(--category-accent) 42%, transparent);
    box-shadow: 0 8px 22px color-mix(in srgb, var(--category-accent) 9%, transparent);
  }
}

/* Cupiditas v2: dimensional type and a larger, role-colored icon language. */
body {
  text-shadow: 0 .45px 0 rgba(255,255,255,.13), 0 1.3px 1.2px rgba(0,0,0,.09);
}
:where(.hero h1, .section-heading h2, .intro-main h2, .benchmark-copy h2, .about-estm-copy h2,
  .contact-copy h2, .workspace-heading h2, .service-copy h3, .benchmark-heading h3,
  .dialog-content h2, .video-showcase-copy h3) {
  text-shadow: 0 1px 0 rgba(255,255,255,.16), 0 2px 0 rgba(7,11,8,.76),
    0 4px 0 rgba(7,11,8,.42), 0 12px 24px rgba(0,0,0,.23);
}
:where(.section-paper, .section-light, .about-estm, .contact-section, .account-workspace) :where(h1, h2, h3) {
  text-shadow: 0 1px 0 rgba(255,255,255,.84), 0 2px 0 rgba(18,24,18,.2),
    0 4px 0 rgba(18,24,18,.1), 0 11px 22px rgba(18,24,18,.1);
}
:where(h2, h3) em,
.hero h1 em,
.services-section .section-heading h2 em {
  text-shadow: 0 1px 0 color-mix(in srgb, currentColor 54%, white),
    0 2px 0 color-mix(in srgb, currentColor 55%, #66763c),
    0 4px 0 color-mix(in srgb, currentColor 38%, #394326),
    0 10px 18px rgba(0,0,0,.21);
}
.service-copy h3,
.work-copy strong,
.video-card-copy strong,
.video-showcase-copy h3,
.workspace-heading h2,
.dialog-content h2,
.benchmark-heading h3 { text-shadow: 0 1px 0 rgba(255,255,255,.18), 0 2px 0 rgba(0,0,0,.28), 0 5px 12px rgba(0,0,0,.14); }
.section-paper :is(.work-copy strong, .workspace-heading h2, .about-estm-copy h2, .benchmark-copy h2),
.section-light :is(.benchmark-copy h2, .benchmark-heading h3) {
  text-shadow: 0 1px 0 rgba(255,255,255,.82), 0 2px 0 rgba(17,21,17,.18), 0 5px 13px rgba(17,21,17,.12);
}
.dimensional-icon {
  display: block;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  fill: none;
  stroke: none;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.22));
  transition: transform 260ms var(--ease-liquid), filter 220ms ease, opacity 180ms ease;
}
.action-glyph {
  display: inline-grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  color: var(--action-accent, var(--accent));
  border: 1px solid color-mix(in srgb, var(--action-accent, var(--accent)) 35%, transparent);
  border-radius: 50%;
  background: color-mix(in srgb, var(--action-accent, var(--accent)) 11%, rgba(255,255,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.17), 0 5px 13px color-mix(in srgb, var(--action-accent, var(--accent)) 12%, transparent);
  transition: transform 260ms var(--ease-liquid), border-color 220ms ease, background-color 220ms ease, box-shadow 240ms ease;
}
.action-glyph .dimensional-icon { width: 29px; height: 29px; }
.has-action-icon { gap: 8px; }
.button.has-action-icon { min-height: 54px; padding-inline: 12px 18px; }
.button-dark.has-action-icon { border-color: color-mix(in srgb, var(--action-accent) 35%, transparent); }
.button-accent.has-action-icon .action-glyph { border-color: rgba(23,27,18,.2); background: rgba(255,255,255,.25); }
.account-trigger.has-action-icon { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 6px; padding-inline: 10px; border-radius: var(--radius-pill); }
.account-trigger .action-glyph { width: 30px; height: 30px; flex-basis: 30px; }
.account-trigger .action-glyph .dimensional-icon { width: 25px; height: 25px; }
.header-cta.has-action-icon { gap: 7px; border-radius: var(--radius-pill); padding-inline: 15px; }
.header-cta .action-glyph { width: 31px; height: 31px; flex-basis: 31px; }
.header-cta .action-glyph .dimensional-icon { width: 25px; height: 25px; }
.mobile-account-trigger.has-action-icon { display: flex; min-height: 50px; align-items: center; justify-content: center; gap: 8px; border-radius: var(--radius-pill); }
.menu-toggle.has-action-icon { width: 48px; height: 48px; align-content: center; justify-items: center; border-radius: 50%; }
.menu-toggle.has-action-icon .action-glyph { width: 38px; height: 38px; flex-basis: 38px; }
.menu-toggle.has-action-icon .action-glyph .dimensional-icon { width: 31px; height: 31px; }
.menu-toggle.has-action-icon[aria-expanded="true"] .action-glyph { transform: rotate(90deg); }
.category-tab { grid-template-rows: 46px auto; min-height: 98px; gap: 4px; }
.category-icon { width: 46px; height: 46px; }
.category-icon .ui-icon { width: 32px; height: 32px; }
.category-tab.is-active .category-icon .ui-icon { filter: drop-shadow(0 3px 4px color-mix(in srgb, var(--tab-accent) 40%, transparent)); }
.subservice-tabs { align-items: center; gap: 9px; padding: 9px; border-bottom: 0; border: 1px solid color-mix(in srgb, var(--category-accent) 25%, rgba(245,245,235,.1)); border-radius: 26px; background: color-mix(in srgb, var(--category-accent) 3%, rgba(7,11,8,.4)); }
.subservice-tab {
  min-height: 54px;
  gap: 8px;
  padding: 6px 13px 6px 8px;
  color: #c1c8bd;
  border: 1px solid color-mix(in srgb, var(--category-accent) 19%, transparent);
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--category-accent) 3%, rgba(255,255,255,.015));
  font-size: .76rem;
  font-weight: 600;
  transition: color 220ms ease, border-color 240ms ease, background-color 240ms ease, transform 300ms var(--ease-liquid), box-shadow 260ms ease;
}
.subservice-tab .action-glyph { width: 38px; height: 38px; flex-basis: 38px; background: color-mix(in srgb, var(--category-accent) 11%, #111511); }
.subservice-tab .action-glyph .dimensional-icon { width: 31px; height: 31px; }
.subservice-tab .subservice-dot { display: none; }
.services-section .subservice-tab.is-active {
  color: var(--white);
  border-color: color-mix(in srgb, var(--category-accent) 76%, white);
  background: color-mix(in srgb, var(--category-accent) 14%, #111511);
  box-shadow: inset 0 1px rgba(255,255,255,.11), 0 7px 18px color-mix(in srgb, var(--category-accent) 12%, transparent);
}
.subservice-tab.is-active .action-glyph {
  border-color: color-mix(in srgb, var(--category-accent) 75%, white);
  background: color-mix(in srgb, var(--category-accent) 20%, #111511);
  box-shadow: inset 0 1px rgba(255,255,255,.28), 0 0 20px color-mix(in srgb, var(--category-accent) 22%, transparent);
}
.subservice-tab.is-active .action-icon { transform: translateY(-1px) scale(1.04); }
.services-section .subservice-tab:hover, .services-section .subservice-tab:focus-visible {
  color: var(--white);
  border-color: color-mix(in srgb, var(--category-accent) 72%, transparent);
  background: color-mix(in srgb, var(--category-accent) 10%, #111511);
}
.filter-button.has-action-icon, .video-filter.has-action-icon { gap: 7px; border-radius: var(--radius-pill); }
.filter-button .action-glyph, .video-filter .action-glyph { width: 32px; height: 32px; flex-basis: 32px; }
.filter-button .dimensional-icon, .video-filter .dimensional-icon { width: 27px; height: 27px; }
.filter-button.is-active { border-radius: var(--radius-pill); background: color-mix(in srgb, var(--action-accent) 12%, white); box-shadow: inset 0 1px rgba(255,255,255,.8), 0 5px 15px color-mix(in srgb, var(--action-accent) 12%, transparent); }
.filter-button.is-active .action-glyph { background: color-mix(in srgb, var(--action-accent) 20%, white); }
.video-filter.is-active .action-glyph { border-color: rgba(17,21,17,.2); background: rgba(255,255,255,.28); }
.hero-challenge-option.has-action-icon { display: inline-flex; align-items: center; justify-content: flex-start; gap: 7px; min-height: 50px; padding-inline: 7px 9px; border-radius: var(--radius-pill); }
.hero-challenge-option .action-glyph { width: 32px; height: 32px; flex-basis: 32px; }
.hero-challenge-option .dimensional-icon { width: 26px; height: 26px; }
.hero-challenge-option[aria-pressed="true"] .action-glyph { border-color: rgba(17,21,17,.24); background: rgba(255,255,255,.28); }
.story-map-steps a { gap: 5px; border-radius: var(--radius-pill); }
.story-map-steps a .action-glyph { width: 28px; height: 28px; flex-basis: 28px; }
.story-map-steps a .dimensional-icon { width: 23px; height: 23px; }
.site-header .main-nav a, .mobile-menu a { gap: 6px; border-radius: var(--radius-pill); }
.main-nav .action-glyph, .mobile-menu .action-glyph { width: 28px; height: 28px; flex-basis: 28px; }
.main-nav .dimensional-icon, .mobile-menu .dimensional-icon { width: 23px; height: 23px; }
.chapter-transition > .action-glyph { width: 36px; height: 36px; }
.skip-link .action-glyph { width: 30px; height: 30px; flex-basis: 30px; }
.skip-link .dimensional-icon { width: 24px; height: 24px; }
.intro-note a .action-glyph { width: 30px; height: 30px; flex-basis: 30px; }
.intro-note a .dimensional-icon { width: 25px; height: 25px; }
.hero-caption b .action-glyph { width: 25px; height: 25px; flex-basis: 25px; border-color: transparent; background: transparent; box-shadow: none; }
.hero-caption b .dimensional-icon { width: 23px; height: 23px; }
.text-link .action-glyph, .back-to-top .action-glyph, .estm-links .action-glyph, .support-links .action-glyph,
.service-media-link .action-glyph, .price-link .action-glyph, .price-source .action-glyph,
.related-project .action-glyph, .dialog-links a .action-glyph { width: 32px; height: 32px; flex-basis: 32px; }
.text-link .dimensional-icon, .back-to-top .dimensional-icon, .estm-links .dimensional-icon, .support-links .dimensional-icon,
.service-media-link .dimensional-icon, .price-link .dimensional-icon, .price-source .dimensional-icon,
.related-project .dimensional-icon, .dialog-links a .dimensional-icon { width: 27px; height: 27px; }
.text-button.has-action-icon, .admin-order-actions .button { min-height: 48px; padding-inline: 9px 14px; border-radius: var(--radius-pill); }
.text-button .action-glyph { width: 30px; height: 30px; flex-basis: 30px; }
.text-button .dimensional-icon { width: 24px; height: 24px; }
.button-approve .action-glyph { background: color-mix(in srgb, #91e3cf 14%, #283222); }
.button-reject .action-glyph { background: color-mix(in srgb, #c5a8ff 13%, white); }
.dialog-close .action-glyph, .video-dialog-close .action-glyph { width: 38px; height: 38px; flex-basis: 38px; }
.dialog-close .dimensional-icon, .video-dialog-close .dimensional-icon { width: 32px; height: 32px; }
.video-dialog-control.has-action-icon { min-height: 46px; gap: 7px; padding-inline: 8px 13px; border-radius: var(--radius-pill); }
.video-fullscreen .action-glyph { width: 32px; height: 32px; flex-basis: 32px; }
.video-fullscreen .dimensional-icon { width: 27px; height: 27px; }
.video-viewer-nav .action-glyph { width: 42px; height: 42px; flex-basis: 42px; }
.video-viewer-nav .dimensional-icon { width: 35px; height: 35px; }
.video-play-mark { border-color: transparent; background: transparent; box-shadow: none; }
.video-play-mark .action-glyph { width: 58px; height: 58px; flex-basis: 58px; border-color: rgba(255,255,255,.64); background: rgba(17,21,17,.74); }
.video-play-mark .dimensional-icon { width: 48px; height: 48px; }
.work-open .action-glyph, .service-case-open .action-glyph, .notification-mark .action-glyph { width: 100%; height: 100%; flex-basis: 100%; border: 0; background: transparent; box-shadow: none; }
.work-open .dimensional-icon, .service-case-open .dimensional-icon, .notification-mark .dimensional-icon { width: 31px; height: 31px; }
.service-case-open { background: transparent; box-shadow: none; }
.work-open .action-glyph, .service-case-open .action-glyph { color: var(--action-accent); }
.faq-block summary.has-action-icon::after { content: none; }
.faq-block summary .action-glyph { width: 30px; height: 30px; flex-basis: 30px; margin-inline-start: auto; }
.admin-setup-entry summary .action-glyph { width: 30px; height: 30px; flex-basis: 30px; }
.admin-customer a { display: inline-flex; min-height: 44px; align-items: center; gap: 5px; }
.admin-customer a .action-glyph { width: 28px; height: 28px; flex-basis: 28px; }
.admin-customer a .dimensional-icon { width: 22px; height: 22px; }
.notification-mark { display: grid; place-items: center; border-radius: 50%; background: rgba(197,168,255,.12); }
.notification-mark .dimensional-icon { width: 33px; height: 33px; }
.outcome-mark .action-glyph, .hand-drawn-arrow .action-glyph { width: 40px; height: 40px; flex-basis: 40px; }
.outcome-mark .dimensional-icon, .hand-drawn-arrow .dimensional-icon { width: 33px; height: 33px; }

@media (hover: hover) {
  .has-action-icon:hover .action-glyph { border-color: color-mix(in srgb, var(--action-accent) 78%, white); background: color-mix(in srgb, var(--action-accent) 19%, rgba(255,255,255,.07)); box-shadow: inset 0 1px rgba(255,255,255,.28), 0 8px 19px color-mix(in srgb, var(--action-accent) 22%, transparent); }
  .action-family-order:hover .action-glyph { transform: translateY(-2px) scale(1.06); }
  .action-family-gallery:hover .action-glyph { transform: rotate(7deg) scale(1.06); }
  .action-family-account:hover .action-glyph { transform: translateY(-2px) rotate(-7deg); }
  .action-family-save:hover .action-glyph, .action-family-success:hover .action-glyph { transform: scale(1.09); }
  .action-family-close:hover .action-glyph, .action-family-reject:hover .action-glyph { transform: rotate(12deg) scale(1.04); }
  .action-family-media:hover .action-glyph { transform: scale(1.09); }
  .action-family-navigation:hover .action-glyph { transform: translateX(-3px); }
  .action-family-contact:hover .action-glyph { transform: rotate(-8deg) scale(1.06); }
  .action-family-pricing:hover .action-glyph { transform: translateY(-2px) rotate(-5deg); }
  .action-family-utility:hover .action-glyph { transform: rotate(7deg); }
  .action-glyph:hover .dimensional-icon, .has-action-icon:hover .action-icon { filter: drop-shadow(0 3px 4px color-mix(in srgb, var(--action-accent) 40%, transparent)); }
}
.has-action-icon:active .action-glyph { transform: scale(.91); transition-duration: 100ms; }
.has-action-icon:focus-visible .action-glyph { box-shadow: inset 0 1px rgba(255,255,255,.28), 0 0 0 3px color-mix(in srgb, var(--action-accent) 30%, transparent); }
.has-action-icon:disabled .action-glyph { opacity: .48; filter: grayscale(.55); }

@media (max-width: 760px) {
  .category-tab { grid-template-columns: 42px minmax(0, 1fr) 14px; grid-template-rows: auto; min-height: 74px; gap: 8px; }
  .category-icon { width: 42px; height: 42px; }
  .category-icon .ui-icon { width: 30px; height: 30px; }
  .subservice-tabs { gap: 7px; padding: 7px; border-radius: 21px; }
  .subservice-tab { min-height: 52px; padding-inline: 7px 11px; font-size: .71rem; }
  .subservice-tab .action-glyph { width: 36px; height: 36px; flex-basis: 36px; }
  .subservice-tab .action-glyph .dimensional-icon { width: 30px; height: 30px; }
  .story-map-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .story-map-steps a { min-height: 48px; padding-inline: 6px; }
  .story-map-steps a .action-glyph { width: 26px; height: 26px; flex-basis: 26px; }
  .story-map-steps a .dimensional-icon { width: 22px; height: 22px; }
  .hero-challenge-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-challenge-option { min-height: 48px; font-size: .68rem; }
  .filter-button.has-action-icon { min-height: 48px; gap: 5px; padding-inline: 6px; }
  .filter-button .action-glyph { width: 29px; height: 29px; flex-basis: 29px; }
  .filter-button .dimensional-icon { width: 25px; height: 25px; }
  .button.has-action-icon { min-height: 52px; padding-inline: 9px 13px; }
  .video-play-mark .action-glyph { width: 52px; height: 52px; flex-basis: 52px; }
}
@media (max-width: 430px) {
  .action-glyph { width: 32px; height: 32px; flex-basis: 32px; }
  .action-glyph .dimensional-icon { width: 26px; height: 26px; }
  .subservice-tabs { gap: 5px; padding: 5px; }
  .subservice-tab { gap: 5px; min-height: 50px; padding-inline: 5px 9px; font-size: .67rem; }
  .subservice-tab .action-glyph { width: 32px; height: 32px; flex-basis: 32px; }
  .subservice-tab .action-glyph .dimensional-icon { width: 27px; height: 27px; }
  .story-map-steps a { gap: 4px; }
  .story-map-steps a .action-glyph { width: 24px; height: 24px; flex-basis: 24px; }
  .story-map-steps a .dimensional-icon { width: 20px; height: 20px; }
}
@media (max-width: 760px) {
  .video-showcase-heading { grid-template-columns: minmax(0, 1fr); }
  .video-showcase-copy { width: 100%; min-width: 0; }
  .video-showcase-copy h3 { max-width: 100%; text-wrap: balance; }
  .video-showcase-copy > p:last-child { max-width: 100%; }
  .video-filters { min-width: 0; max-width: 100%; }
}
@media (max-width: 1050px) {
  .video-showcase-heading { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .video-showcase-copy { width: 100%; min-width: 0; }
  .video-showcase-copy h3 { max-width: 100%; text-wrap: balance; }
  .video-filters { min-width: 0; max-width: 100%; flex-wrap: wrap; }
}
@media (max-width: 760px) {
  .video-filters { flex-wrap: nowrap; }
}
.hero-challenge-option:hover, .hero-challenge-option:focus-visible { border-color: var(--action-accent); box-shadow: 0 7px 20px color-mix(in srgb, var(--action-accent) 14%, transparent); }
.hero-challenge-option.is-active, .hero-challenge-option[aria-pressed="true"] { border-color: var(--action-accent); background: color-mix(in srgb, var(--action-accent) 17%, #111511); }
.video-filter:hover, .video-filter:focus-visible { border-color: color-mix(in srgb, var(--action-accent) 75%, white); box-shadow: 0 6px 20px color-mix(in srgb, var(--action-accent) 13%, transparent); }
.video-filter.is-active { color: var(--white); border-color: color-mix(in srgb, var(--action-accent) 78%, white); background: color-mix(in srgb, var(--action-accent) 14%, #111511); box-shadow: inset 0 1px rgba(255,255,255,.24), 0 5px 16px color-mix(in srgb, var(--action-accent) 12%, transparent); }
.video-filter.is-active small { color: var(--action-accent); background: color-mix(in srgb, var(--action-accent) 13%, #111511); }
.auth-tab.has-action-icon { min-height: 46px; gap: 6px; padding-inline: 8px; border-radius: var(--radius-pill); }
.auth-tab .action-glyph { width: 31px; height: 31px; flex-basis: 31px; }
.auth-tab .action-glyph .dimensional-icon { width: 26px; height: 26px; }
.auth-tab.is-active { border-bottom-color: var(--action-accent); }
@media (prefers-reduced-motion: reduce) {
  .dimensional-icon, .action-glyph, .has-action-icon:hover .action-glyph,
  .has-action-icon:active .action-glyph { transition: none !important; transform: none !important; }
}

/* Cupiditas motion dock: the chosen service becomes a raised, colored medallion. */
.services-section .service-explorer { overflow: hidden; padding-top: 24px; }
.category-tabs { --dock-bead-size: 70px; --dock-bead-lift: 23px; overflow: visible; }
.category-tabs > .category-tab { z-index: 3; }
.category-tab { z-index: 3; grid-template-rows: 46px auto; min-height: 98px; padding: 9px 8px 7px; overflow: visible; }
.category-icon {
  z-index: 1;
  width: 46px;
  height: 46px;
  border-color: rgba(245,245,235,.13);
  background: radial-gradient(circle at 35% 28%, rgba(255,255,255,.07), rgba(255,255,255,.012) 60%);
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 4px 12px rgba(0,0,0,.17);
  transition: transform 440ms cubic-bezier(.22,1,.36,1), color 260ms ease, border-color 300ms ease, background-color 300ms ease, box-shadow 320ms ease;
}
.category-icon::after { display: none; }
.category-icon .ui-icon { width: 31px; height: 31px; }
.category-tab.is-active { color: var(--tab-accent); background: transparent; }
.category-tab.is-active .category-icon {
  transform: translateY(calc(-1 * var(--dock-bead-lift)));
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.category-tab.is-active .category-icon .ui-icon {
  transform: translateY(-1px) scale(1.08);
  filter: drop-shadow(0 3px 5px rgba(0,0,0,.28)) drop-shadow(0 0 7px color-mix(in srgb, var(--tab-accent) 48%, transparent));
}
.category-tab.is-active .category-label { color: var(--tab-accent); text-shadow: 0 1px 10px color-mix(in srgb, var(--tab-accent) 24%, transparent); }
.category-tab:not(.is-active):hover .category-icon,
.category-tab:not(.is-active):focus-visible .category-icon {
  color: var(--tab-accent);
  border-color: color-mix(in srgb, var(--tab-accent) 56%, transparent);
  background: color-mix(in srgb, var(--tab-accent) 9%, #101610);
  box-shadow: inset 0 1px rgba(255,255,255,.14), 0 0 0 4px color-mix(in srgb, var(--tab-accent) 7%, transparent), 0 8px 18px rgba(0,0,0,.2);
  transform: translateY(-3px);
}
.category-tab.is-active:hover .category-icon,
.category-tab.is-active:focus-visible .category-icon { transform: translateY(calc(-1 * var(--dock-bead-lift))); }
.category-tab:active:not(.is-active) .category-icon { transform: translateY(0) scale(.92); }
.category-tab.is-active:active .category-icon { transform: translateY(calc(-1 * var(--dock-bead-lift))) scale(.96); }
.category-tabs > .liquid-bead {
  z-index: 2;
  border: 1px solid color-mix(in srgb, var(--bead-color, var(--category-accent)) 82%, white);
  background: radial-gradient(circle at 33% 25%, color-mix(in srgb, var(--bead-color, var(--category-accent)) 83%, white) 0%, color-mix(in srgb, var(--bead-color, var(--category-accent)) 72%, #fff) 34%, color-mix(in srgb, var(--bead-color, var(--category-accent)) 88%, #111711) 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.58), inset 0 -7px 12px color-mix(in srgb, var(--bead-color, var(--category-accent)) 48%, #1a2117), 0 0 0 5px color-mix(in srgb, var(--bead-color, var(--category-accent)) 10%, transparent), 0 0 24px color-mix(in srgb, var(--bead-color, var(--category-accent)) 32%, transparent), 0 11px 23px rgba(0,0,0,.34);
  transition: transform 420ms cubic-bezier(.22,1,.36,1), width 360ms cubic-bezier(.22,1,.36,1), height 360ms cubic-bezier(.22,1,.36,1), background 360ms ease, border-color 360ms ease, box-shadow 360ms ease, opacity 180ms ease;
}
.category-tabs > .liquid-bead::after {
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}
.rail-bottom { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; }
.rail-note { min-width: 0; }
.selector-sound-toggle {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 4px 11px;
  color: #bbc5b6;
  border: 1px solid rgba(245,245,235,.14);
  border-radius: var(--radius-pill);
  background: rgba(7,11,8,.38);
  font: inherit;
  font-size: .62rem;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 220ms cubic-bezier(.22,1,.36,1), color 220ms ease, border-color 240ms ease, background-color 240ms ease, box-shadow 260ms ease;
}
.selector-sound-toggle .ui-icon { width: 20px; height: 20px; color: var(--category-accent); }
.selector-sound-toggle[aria-pressed="false"] { color: #8e978a; background: rgba(255,255,255,.025); }
.selector-sound-toggle[aria-pressed="false"] .sound-wave { opacity: .23; }
.selector-sound-toggle:focus-visible { outline: 2px solid color-mix(in srgb, var(--category-accent) 75%, white); outline-offset: 3px; }
.selector-sound-toggle:active { transform: translateY(1px) scale(.97); }
.services-section .service-explorer,
.services-section .category-tabs,
.services-section .active-category-label,
.services-section .service-detail,
.services-section .subservice-tabs { transition-timing-function: cubic-bezier(.22,1,.36,1); }

@media (hover: hover) {
  .selector-sound-toggle:hover { transform: translateY(-2px); color: var(--white); border-color: color-mix(in srgb, var(--category-accent) 62%, transparent); background: color-mix(in srgb, var(--category-accent) 9%, #101610); box-shadow: 0 5px 15px color-mix(in srgb, var(--category-accent) 12%, transparent); }
}
@media (max-width: 760px) {
  .services-section .service-explorer { padding-top: 20px; }
  .services-section .service-rail { grid-template-columns: minmax(0,1fr); width: 100%; }
  .services-section .service-rail > .rail-label,
  .services-section .service-rail > .category-tabs,
  .services-section .service-rail > .rail-bottom { grid-column: 1 / -1; width: 100%; }
  .category-tabs { --dock-bead-size: 58px; --dock-bead-lift: 17px; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 6px; padding: 7px; border-radius: 24px; }
  .category-tab { grid-template-columns: minmax(0,1fr); grid-template-rows: 44px auto; min-height: 92px; gap: 5px; padding: 8px 5px 6px; }
  .category-icon { width: 42px; height: 42px; }
  .category-icon .ui-icon { width: 29px; height: 29px; }
  .category-number { inset-block-start: 8px; inset-inline-start: 9px; font-size: .55rem; }
  .category-label { max-width: 100%; gap: 4px; font-size: .69rem; text-wrap: balance; }
  .rail-bottom { grid-template-columns: auto minmax(0,1fr); gap: 9px; }
  .selector-sound-toggle { grid-column: 2; justify-self: start; min-height: 40px; }
  .rail-note { line-height: 1.7; }
}
@media (max-width: 390px) {
  .category-tabs { gap: 4px; padding: 6px; }
  .category-tab { min-height: 88px; }
  .category-label { font-size: .65rem; }
  .selector-sound-toggle { padding-inline: 9px; font-size: .6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .category-icon, .category-tabs > .liquid-bead, .selector-sound-toggle,
  .category-tab.is-active .category-icon, .category-tab:not(.is-active):hover .category-icon,
  .category-tab:not(.is-active):focus-visible .category-icon { transition: none !important; }
  .category-tab.is-active .category-icon,
  .category-tab.is-active:hover .category-icon,
  .category-tab.is-active:focus-visible .category-icon,
  .category-tab.is-active:active .category-icon { transform: translateY(calc(-1 * var(--dock-bead-lift))) !important; }
}

/* Multi-plane hero light and dedicated concept-study labels. */
.hero::after { position: absolute; z-index: 0; inset: -3%; background: radial-gradient(ellipse at 27% 43%, rgba(227,198,114,.085), transparent 36%), radial-gradient(ellipse at 47% 67%, rgba(255,181,131,.07), transparent 31%); content: ""; mix-blend-mode: screen; pointer-events: none; animation: hero-depth-light 18s ease-in-out infinite alternate; }
@keyframes hero-depth-light { from { transform: translate3d(-.65%, .2%, 0) scale(1); opacity: .72; } to { transform: translate3d(.65%, -.2%, 0) scale(1.02); opacity: 1; } }
.service-case-concept .service-case-index { padding: 6px 10px; border: 1px solid rgba(255,255,255,.24); border-radius: var(--radius-pill); background: rgba(12,17,13,.48); backdrop-filter: blur(10px); }
.service-case-no-link { cursor: default; }
.service-case-no-link:hover .service-case-visual img { transform: none; opacity: .82; }
@media (prefers-reduced-motion: reduce) { .hero::after { animation: none; } }

/* Hero route selection: clear copy, coordinated color, and one on-demand visual. */
.hero { --hero-route-accent: var(--accent); }
.hero[data-route="content"] { --hero-route-accent: var(--accent); }
.hero[data-route="development"] { --hero-route-accent: #91e3cf; }
.hero[data-route="automation"] { --hero-route-accent: #c5a8ff; }
.hero[data-route="advertising"] { --hero-route-accent: #ffb583; }
.hero-route-image { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 28% center; opacity: 0; transition: opacity 420ms cubic-bezier(.22,1,.36,1); }
.hero.has-route-image .hero-route-image { opacity: 1; }
.hero.has-route-image .hero-image { opacity: 0; animation: none; transition: opacity 420ms cubic-bezier(.22,1,.36,1); }
.hero[data-route] .hero-shade {
  background:
    radial-gradient(ellipse at 30% 46%, color-mix(in srgb, var(--hero-route-accent) 17%, transparent), transparent 55%),
    linear-gradient(90deg, rgba(11,16,12,.12) 0%, rgba(11,16,12,.32) 31%, rgba(11,16,12,.82) 61%, #111511 88%),
    linear-gradient(0deg, rgba(8,12,8,.78), transparent 45%);
  transition: background 380ms ease;
}
.hero[data-route]::after {
  background: radial-gradient(ellipse at 28% 45%, color-mix(in srgb, var(--hero-route-accent) 22%, transparent), transparent 46%);
  transition: opacity 360ms ease, background 380ms ease;
}
.hero[data-route] h1 em { color: var(--hero-route-accent); }
.hero[data-route] .hero-proof-line { background: var(--hero-route-accent); }
.hero[data-route] .button-accent { border-color: var(--hero-route-accent); background: var(--hero-route-accent); }
.hero-challenge-option.is-active,
.hero-challenge-option[aria-pressed="true"] {
  color: #fff;
  border-color: color-mix(in srgb, var(--action-accent) 76%, #fff);
  background: color-mix(in srgb, var(--action-accent) 22%, #111511);
  box-shadow: inset 0 1px rgba(255,255,255,.16), 0 6px 18px color-mix(in srgb, var(--action-accent) 17%, transparent);
  text-shadow: 0 1px 2px rgba(0,0,0,.38);
}
.hero-challenge-option.is-active .action-glyph,
.hero-challenge-option[aria-pressed="true"] .action-glyph {
  color: #fff;
  border-color: color-mix(in srgb, var(--action-accent) 68%, white);
  background: color-mix(in srgb, var(--action-accent) 28%, #101510);
  box-shadow: inset 0 1px rgba(255,255,255,.24), 0 0 14px color-mix(in srgb, var(--action-accent) 24%, transparent);
}
.hero-route-message {
  padding: 10px 15px;
  color: #fff;
  border: 1px solid color-mix(in srgb, var(--hero-route-accent) 36%, rgba(255,255,255,.18));
  border-inline-start: 3px solid var(--hero-route-accent);
  border-radius: 16px;
  background: rgba(5,9,7,.84);
  box-shadow: inset 0 1px rgba(255,255,255,.07), 0 8px 20px rgba(0,0,0,.13);
  font-size: .72rem;
  font-weight: 500;
  line-height: 1.8;
  text-shadow: 0 1px 2px rgba(0,0,0,.38);
  transition: color 260ms ease, border-color 360ms ease, background-color 300ms ease, box-shadow 300ms ease;
  backdrop-filter: blur(10px);
}
@media (max-width: 760px) {
  .hero-route-image { object-position: 33% center; }
  .hero[data-route] .hero-shade {
    background:
      radial-gradient(ellipse at 28% 35%, color-mix(in srgb, var(--hero-route-accent) 15%, transparent), transparent 58%),
      linear-gradient(0deg, rgba(17,21,17,.62) 0%, rgba(17,21,17,.44) 34%, rgba(17,21,17,.24) 71%, rgba(17,21,17,.18) 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-route-image, .hero[data-route] .hero-shade, .hero-route-message { transition: none !important; }
}

/* Persistent day/night theme, adapted from the supplied switch reference. */
html { transition: color-scheme 420ms ease; }
body, .section-light, .section-paper, .section-dark, .story-map, .hero, .hero-shade { transition: background-color 460ms ease, color 460ms ease, background 460ms ease; }
html[data-theme="dark"] {
  --accent: var(--accent-bright);
  --accent-ink: #20190e;
  color-scheme: dark;
  --ink: #e9eee5;
  --paper: #111611;
  --paper-pure: #1a211b;
  --muted: #aab4a7;
  --line: rgba(235,242,230,.16);
  --line-dark: rgba(245,245,235,.18);
}
html[data-theme="dark"] body,
html[data-theme="dark"] .section-light,
html[data-theme="dark"] .section-paper { color: var(--ink); background-color: var(--paper); }
html[data-theme="dark"] .section-dark { --accent: var(--accent-bright); --accent-ink: #20190e; color: #f4f5ef; background-color: #0c110d; }
html[data-theme="dark"] .section-light :is(p, li, small, time, label, td, th),
html[data-theme="dark"] .section-paper :is(p, li, small, time, label, td, th) { color: #c4cdc0; }
html[data-theme="dark"] .section-light :is(h2, h3, h4),
html[data-theme="dark"] .section-paper :is(h2, h3, h4) { color: #edf1e8; }
html[data-theme="dark"] .section-light :is(.section-kicker, .section-intro, .work-heading .section-intro, .price-disclaimer, .portfolio-count, .ticker-track span, .ticker-track i, .workspace-kicker, .workspace-actions, .form-intro, .notification-item p, .notification-item time, .order-item > p, .admin-order-description, .order-meta, .admin-customer, .admin-count, .empty-state, .field-help, .account-form label, .admin-note-label),
html[data-theme="dark"] .section-paper :is(.section-kicker, .section-intro, .price-disclaimer, .ticker-track span, .ticker-track i) { color: #c2ccbd; }
html[data-theme="dark"] .section-light :is(.intro-main h2 em, .section-heading h2 em, .benchmark-copy h2 em, .section-kicker span, .price-label, .filter-button span, .workspace-kicker, .order-service-label, .admin-reply strong),
html[data-theme="dark"] .section-paper :is(.section-kicker span, .price-label) { color: var(--accent-bright); }
html[data-theme="dark"] .section-light .about-estm-copy h2 em { color: var(--accent-bright); }
html[data-theme="dark"] .section-paper .about-estm-copy h2 em { color: var(--accent-bright); }
html[data-theme="dark"] .section-paper .deihimi-origin strong { color: #edf1e8; }
html[data-theme="dark"] .section-paper .deihimi-origin > span:last-child > span { color: #c4cdc0; }
html[data-theme="dark"] .section-paper .about-estm-copy > p:not(.eyebrow) { color: #c4cdc0; }
html[data-theme="dark"] .section-paper .estm-links a,
html[data-theme="dark"] .section-paper .chapter-transition { color: #e2e9dc; }
html[data-theme="dark"] .section-light .filter-button,
html[data-theme="dark"] .section-light .filter-button:hover,
html[data-theme="dark"] .section-light .filter-button.is-active { color: #e9eee5; }
html[data-theme="dark"] .button-dark { color: #f5f6ef; background: #273127; }
html[data-theme="dark"] .button-dark:hover { background: #354336; }
html[data-theme="dark"] .section-light .contact-action > p:not(.contact-action-range) { color: #c4cdc0; }
html[data-theme="dark"] .section-light .story-map-head,
html[data-theme="dark"] .section-light .story-map-head span:first-child,
html[data-theme="dark"] .section-light .story-map-head span:last-child,
html[data-theme="dark"] .section-light .story-map-steps a { color: #d1d9cc; }
html[data-theme="dark"] .section-light .story-map-steps a span { color: #c4cdc0; border-color: rgba(235,242,230,.24); }
html[data-theme="dark"] .section-light .story-map-steps a[aria-current="location"] { color: #f4f5ef; }
html[data-theme="dark"] .section-light .support-links a,
html[data-theme="dark"] .section-light .text-link,
html[data-theme="dark"] .section-light .intro-note a { color: #e4ebdd; }
html[data-theme="dark"] .section-light .notification-panel,
html[data-theme="dark"] .section-light .profile-setup,
html[data-theme="dark"] .section-light .order-composer,
html[data-theme="dark"] .section-light .order-history,
html[data-theme="dark"] .section-light .admin-workspace,
html[data-theme="dark"] .section-light .order-item,
html[data-theme="dark"] .section-light .admin-order-item { border-color: rgba(235,242,230,.18); background: rgba(255,255,255,.035); }
html[data-theme="dark"] .section-light .account-form :is(input, select, textarea),
html[data-theme="dark"] .section-light .admin-note-label textarea { color: #edf1e8; border-color: rgba(235,242,230,.25); background: #111711; }
html[data-theme="dark"] .section-light .account-form :is(input, select, textarea)::placeholder,
html[data-theme="dark"] .section-light .field-help { color: #aeb9aa; }
html[data-theme="dark"] .section-light .form-status { color: #c4cdc0; }
html[data-theme="dark"] .section-light .form-status[data-kind="error"] { color: #ff9d91; }
html[data-theme="dark"] .section-light .form-status[data-kind="success"] { color: var(--accent-bright); }
html[data-theme="dark"] .section-light .admin-reply { background: rgba(255,255,255,.06); }
html[data-theme="dark"] .section-light .admin-reply p { color: #d1d9cc; }
html[data-theme="dark"] .section-light .order-state { color: #e9eee5; background: #283128; }
html[data-theme="dark"] .section-light .admin-setup-entry summary,
html[data-theme="dark"] .section-light .auth-intro,
html[data-theme="dark"] .section-light .auth-tab { color: #c4cdc0; }
html[data-theme="dark"] .section-light .auth-tab.is-active { color: #f4f5ef; }
html[data-theme="dark"] .auth-dialog { color: #e9eee5; border-color: rgba(235,242,230,.18); background: #1a211b; }
html[data-theme="dark"] .auth-dialog .auth-close { color: #e9eee5; background: #1a211b; }
html[data-theme="dark"] .auth-dialog .auth-intro,
html[data-theme="dark"] .auth-dialog .auth-tab,
html[data-theme="dark"] .auth-dialog .admin-setup-entry summary,
html[data-theme="dark"] .auth-dialog .account-form label,
html[data-theme="dark"] .auth-dialog .field-help { color: #c4cdc0; }
html[data-theme="dark"] .auth-dialog .account-form :is(input, select, textarea) { color: #edf1e8; border-color: rgba(235,242,230,.24); background: #111711; }
html[data-theme="dark"] .auth-dialog .form-status[data-kind="error"] { color: #ff9d91; }
html[data-theme="dark"] .auth-dialog .form-status[data-kind="success"] { color: var(--accent-bright); }
html[data-theme="dark"] .project-dialog { color: #f4f5ef; background: #151c16; }
html[data-theme="dark"] .portrait-caption { color: #f4f5ef; background: #111711; }
html[data-theme="dark"] .skip-link { color: #171b12; }
html[data-theme="dark"] .site-header { border-bottom-color: rgba(235,242,230,.16); }
html[data-theme="dark"] .theme-toggle { color: #eef0e7; }
html[data-theme="dark"] .contact-section { color: #e9eee5; background: #111711; }
html[data-theme="dark"] .contact-copy .eyebrow,
html[data-theme="dark"] .contact-copy > p:not(.eyebrow),
html[data-theme="dark"] .brief-form label,
html[data-theme="dark"] .brief-result label,
html[data-theme="dark"] .privacy-note { color: #c4cdc0; }
html[data-theme="dark"] .contact-copy .status-dot { background: var(--accent-bright); box-shadow: 0 0 0 4px rgba(227,198,114,.14); }
html[data-theme="dark"] .contact-copy h2 em,
html[data-theme="dark"] .contact-index { color: var(--accent-bright); }
html[data-theme="dark"] .brief-form :is(input, select, textarea),
html[data-theme="dark"] .brief-result textarea { color: #edf1e8; border-color: rgba(235,242,230,.24); background: #1a211b; }
html[data-theme="dark"] .brief-form :is(input, textarea)::placeholder { color: #9ca89a; }
html[data-theme="dark"] .brief-result { border-top-color: rgba(235,242,230,.2); }
html[data-theme="dark"] .copy-button { color: #e9eee5; border-color: rgba(235,242,230,.4); }
html[data-theme="dark"] .contact-section .form-status { color: #c4cdc0; }
html[data-theme="dark"] .contact-section .form-status[data-kind="error"] { color: #ff9d91; }
html[data-theme="dark"] .contact-section .form-status[data-kind="success"] { color: var(--accent-bright); }
html[data-theme="dark"] .ai-credit { border-top-color: rgba(235,242,230,.18); }
html[data-theme="dark"] .ai-credit-kicker,
html[data-theme="dark"] .ai-credit p { color: #c4cdc0; }
html[data-theme="dark"] .ai-credit > strong { color: var(--accent-bright); }

/* The warm day palette keeps Mr Deihimi's intentional dark showcase sections intact. */
html[data-theme="light"] { color-scheme: light; }
html[data-theme="light"] .hero { color: #171b14; background: #eef0e7; }
html[data-theme="light"] .hero-image { opacity: .18; }
html[data-theme="light"] .hero-shade { background: linear-gradient(90deg, rgba(242,244,235,.18) 0%, rgba(242,244,235,.66) 36%, rgba(242,244,235,.94) 64%, #eef0e7 90%), linear-gradient(0deg, rgba(238,240,231,.92), transparent 52%); }
html[data-theme="light"] .hero[data-route] .hero-shade { background: linear-gradient(90deg, rgba(242,244,235,.2) 0%, rgba(242,244,235,.68) 36%, rgba(242,244,235,.95) 64%, #eef0e7 90%), linear-gradient(0deg, rgba(238,240,231,.92), transparent 52%); }
html[data-theme="light"] .hero.has-route-image .hero-route-image { opacity: 1; }
html[data-theme="light"] .site-header { color: #171b14; border-bottom-color: rgba(17,21,17,.15); }
html[data-theme="light"] .main-nav a { color: rgba(23,27,20,.78); }
html[data-theme="light"] .brand-lockup small,
html[data-theme="light"] .hero-eyebrow,
html[data-theme="light"] .hero-description,
html[data-theme="light"] .hero-proof,
html[data-theme="light"] .hero-caption,
html[data-theme="light"] .caption-index,
html[data-theme="light"] .caption-meta,
html[data-theme="light"] .hero-bottom { color: rgba(23,27,20,.72); }
html[data-theme="light"] .hero h1 em,
html[data-theme="light"] .hero[data-route] h1 em { color: #61762e; }
html[data-theme="light"] .hero-challenge-title,
html[data-theme="light"] .hero-price-note,
html[data-theme="light"] .hero-price-note strong { color: #31392b; }
html[data-theme="light"] .button-quiet { color: #171b14; border-color: rgba(17,21,17,.38); background: rgba(255,255,255,.38); }
html[data-theme="light"] .play-mark { border-color: rgba(17,21,17,.4); }
html[data-theme="light"] .hero-challenge-option { color: #272e25; border-color: rgba(17,21,17,.3); background: rgba(255,255,255,.62); text-shadow: none; }
html[data-theme="light"] .hero-challenge-option.is-active,
html[data-theme="light"] .hero-challenge-option[aria-pressed="true"] { color: #172018; }
html[data-theme="light"] .hero-route-message { color: #fff; }
html[data-theme="light"] .mobile-menu:not([hidden]) { color: #f9f9f2; background: #171d17; }
html[data-theme="light"] .mobile-menu a { color: #f9f9f2; border-bottom-color: rgba(255,255,255,.12); }
html[data-theme="light"] .project-dialog { color: #1a2119; border-color: rgba(17,21,17,.16); background: #fbfaf4; }
html[data-theme="light"] .project-dialog :is(.dialog-details li, .dialog-media-group summary, .dialog-gallery-item figcaption) { color: #424b3e; }
html[data-theme="light"] .project-dialog .dialog-tags span { color: #424b3e; border-color: rgba(17,21,17,.2); }

/* One tactile switch controls the saved site palette. */
.theme-toggle { display: inline-flex; flex: 0 0 auto; width: 76px; height: 42px; align-items: center; justify-content: center; padding: 0; color: #f4f5ef; border: 1px solid rgba(255,255,255,.24); border-radius: var(--radius-pill); background: rgba(15,20,16,.42); cursor: pointer; transition: border-color 260ms ease, background-color 420ms ease, box-shadow 300ms ease; }
.theme-toggle-track { position: relative; display: block; width: 66px; height: 32px; border: 1px solid rgba(255,255,255,.09); border-radius: inherit; background: rgba(0,0,0,.22); }
.theme-toggle-symbol { position: absolute; top: 50%; z-index: 0; display: grid; width: 26px; height: 26px; place-items: center; color: rgba(245,245,235,.58); font: 500 1rem/1 Arial,sans-serif; transform: translateY(-50%); }
.theme-toggle-sun { left: 3px; }
.theme-toggle-moon { right: 3px; }
.theme-toggle-thumb { position: absolute; top: 2px; left: 2px; z-index: 1; display: grid; width: 26px; height: 26px; place-items: center; color: #302117; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: radial-gradient(circle at 32% 27%, #fff2d5, #ffbb79 44%, #f28a4d 75%, #dd6135); box-shadow: inset 0 1px 3px rgba(255,255,255,.75), 0 0 12px rgba(255,155,89,.48), 0 2px 5px rgba(0,0,0,.28); transition: transform 480ms var(--ease-liquid), box-shadow 320ms ease, scale 120ms ease; }
.theme-toggle-thumb span { font: 600 .95rem/1 Arial,sans-serif; }
html[data-theme="dark"] .theme-toggle { border-color: rgba(255,181,131,.42); background: rgba(17,21,17,.68); box-shadow: 0 0 18px rgba(255,150,90,.08); }
html[data-theme="light"] .theme-toggle { color: #1c211a; border-color: rgba(17,21,17,.2); background: rgba(255,255,255,.68); }
html[data-theme="light"] .theme-toggle-track { border-color: rgba(17,21,17,.08); background: rgba(17,21,17,.08); }
html[data-theme="light"] .theme-toggle-symbol { color: rgba(36,42,32,.6); }
html[data-theme="light"] .theme-toggle-thumb { transform: translateX(34px); box-shadow: inset 0 1px 3px rgba(255,255,255,.82), 0 0 13px rgba(255,155,89,.4), 0 2px 5px rgba(0,0,0,.18); }
.theme-toggle:hover { border-color: #ffb583; box-shadow: 0 0 16px rgba(255,155,89,.18); }
.theme-toggle:active .theme-toggle-thumb { scale: .9; }
.theme-toggle:focus-visible { outline-color: #ffb583; }

/* Async buttons contract to the same glowing status orb for send/order flows. */
.button-async { position: relative; justify-self: start; max-width: 320px; overflow: hidden; transform-origin: center; transition: max-width 360ms var(--ease-liquid), min-width 360ms var(--ease-liquid), padding 360ms var(--ease-liquid), gap 260ms ease, border-radius 360ms var(--ease-liquid), color 220ms ease, background-color 220ms ease, box-shadow 300ms ease, opacity 220ms ease; }
.button-async-label { display: inline-flex; align-items: center; justify-content: center; gap: inherit; white-space: nowrap; transition: opacity 180ms ease, transform 320ms var(--ease-liquid); }
.button-async-mark { position: absolute; top: 50%; left: 50%; display: grid; width: 20px; height: 20px; place-items: center; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; opacity: 0; transform: translate(-50%,-50%) scale(.35); transition: opacity 160ms ease, transform 300ms var(--ease-liquid); }
.button-async[data-async-state="loading"], .button-async[data-async-state="success"] { min-width: 52px; max-width: 52px; padding-inline: 0; gap: 0; border-radius: 50%; color: #fff; box-shadow: 0 0 0 5px color-mix(in srgb, var(--async-accent, var(--accent-bright)) 12%, transparent), 0 0 24px color-mix(in srgb, var(--async-accent, var(--accent-bright)) 44%, transparent); }
.button-async[data-async-state="loading"] .button-async-label, .button-async[data-async-state="success"] .button-async-label { opacity: 0; transform: scale(.72); }
.button-async[data-async-state="loading"] .button-async-mark { opacity: 1; transform: translate(-50%,-50%) scale(1); animation: async-button-spin .72s linear infinite; }
.button-async[data-async-state="success"] .button-async-mark { width: 26px; height: 26px; border: 0; opacity: 1; transform: translate(-50%,-50%) scale(1); animation: async-button-confirm 300ms var(--ease-snap) both; }
.button-async[data-async-state="success"] .button-async-mark::before { color: currentColor; content: "✓"; font: 700 1.25rem/1 Arial,sans-serif; }
.button-async:disabled, .account-form .button-async:disabled, .admin-order-actions .button-async:disabled { opacity: 1; cursor: wait; }
.button:disabled:hover { transform: none; }
@keyframes async-button-spin { to { rotate: 360deg; } }
@keyframes async-button-confirm { from { scale: .45; } to { scale: 1; } }

/* Keep mobile hero proof in the reading flow and give portfolio rails room to breathe. */
@media (max-width: 760px) {
  .hero-layout { flex-direction: column; align-items: stretch; padding-top: 112px; padding-bottom: 86px; }
  .hero-copy { flex: 0 0 auto; }
  .hero-caption { position: relative; inset: auto; align-self: stretch; width: 100%; max-width: none; margin-top: 18px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.2); }
  .caption-index, .caption-meta { font-size: .75rem; }
  .caption-title { text-align: right; }
  .hero-proof { font-size: .78rem; }
  .hero-challenge-title { font-size: .75rem; }
  .hero-challenge-option { font-size: .74rem; }
  .hero-route-message { font-size: .75rem; }
  .story-map-head { font-size: .72rem; }
  .story-map-head span:last-child { font-size: .7rem; }
  .story-map-steps a span { font-size: .68rem; }
  .story-map-steps a strong { font-size: .7rem; }
  .video-showcase-copy .eyebrow { font-size: .72rem; }
  .video-showcase-copy > p:last-child { font-size: .82rem; }
  .video-filter { font-size: .75rem; }
  .video-filter small { font-size: .7rem; }
  .video-group-heading span, .video-card-copy > span { font-size: .75rem; }
  .video-card-copy strong { font-size: .8rem; }
  .video-library-status { font-size: .75rem; }
  .work-index { font-size: .68rem; }
  .portfolio-count { font-size: .78rem; }
  .video-grid-vertical, .video-grid-horizontal {
    grid-auto-flow: column;
    grid-auto-columns: minmax(160px, calc((100% - 12px) / 2));
    grid-template-columns: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-bottom: 10px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  .video-card { scroll-snap-align: start; }
  .video-frame img { filter: saturate(.86); }
  .video-card-open:hover .video-frame img, .video-card-open:focus-visible .video-frame img { filter: saturate(.92) brightness(.77); }
  .intro { padding-top: 58px; }
  .intro-grid { padding-bottom: 58px; }
  .services-section, .work-section, .benchmark-section, .approach-section, .about-estm { padding-block: 64px; }
  .contact-section { padding-block: 64px; }
  .content-video-showcase { --accent: var(--accent-bright); --accent-ink: #20190e; margin-top: 44px; }
  .section-heading { margin-bottom: 38px; }
}
html[data-theme="light"] .hero-caption { border-top-color: rgba(17,21,17,.2); }
html[data-theme="light"] .hero-description {
  color: #242a22;
  border-color: rgba(17,21,17,.12);
  border-inline-start-color: #81983b;
  background: rgba(255,255,255,.76);
  text-shadow: none;
}
html[data-theme="light"] .hero-challenge-option[aria-pressed="true"],
html[data-theme="light"] .hero-challenge-option.is-active {
  color: #172018;
  border-color: var(--action-accent);
  background: color-mix(in srgb, var(--action-accent) 58%, white);
  text-shadow: none;
}
html[data-theme="light"] .hero[data-route] .hero-shade {
  background:
    radial-gradient(ellipse at 28% 35%, color-mix(in srgb, var(--hero-route-accent) 13%, transparent), transparent 58%),
    linear-gradient(90deg, rgba(242,244,235,.18) 0%, rgba(242,244,235,.66) 36%, rgba(242,244,235,.94) 64%, #eef0e7 90%),
    linear-gradient(0deg, rgba(238,240,231,.92), transparent 52%);
}

@media (max-width: 760px) {
  .theme-toggle { width: 64px; height: 38px; }
  .theme-toggle-track { width: 56px; height: 28px; }
  .theme-toggle-thumb { width: 22px; height: 22px; }
  html[data-theme="light"] .theme-toggle-thumb { transform: translateX(28px); }
  .theme-toggle-symbol { width: 22px; height: 22px; }
}
@media (max-width: 430px) {
  .video-grid-vertical, .video-grid-horizontal { grid-auto-columns: minmax(156px, calc((100% - 10px) / 2)); }
}

@media (max-width: 760px) {
.hero { padding-bottom: 100px; }
.contact-section { padding-bottom: max(250px, calc(env(safe-area-inset-bottom, 0px) + 238px)); }
.site-footer { --accent: var(--accent-bright); --accent-ink: #20190e; padding-bottom: 236px; }
.hero-bottom { bottom: 176px; }
.work-section, .contact-section { scroll-margin-bottom: 250px; }
}
.site-dock {
  position: fixed;
  z-index: 1100;
  right: 0;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
  left: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 9px;
  padding-inline: 20px;
  pointer-events: none;
}
.site-dock > nav { pointer-events: auto; }
.mobile-tab-dock { display: none; }
.mobile-tab-dock[hidden] { display: none !important; }
.mobile-tab-dock.is-visible {
  display: block;
  width: min(900px, 100%);
  padding: 6px;
  overflow: visible;
  border: 1px solid rgba(229,239,218,.22);
  border-radius: 25px;
  color: #f5f5ec;
  background: rgba(17,21,17,.94);
  box-shadow: 0 10px 28px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.1);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  backdrop-filter: blur(18px) saturate(1.15);
}
.mobile-dock-group { display: none; align-items: center; justify-content: center; gap: 7px; min-height: 54px; }
.mobile-tab-dock[data-context="hero"] .mobile-dock-group[data-dock-group="hero"],
.mobile-tab-dock[data-context="services"] .mobile-dock-group[data-dock-group="services"],
.mobile-tab-dock[data-context="work"] .mobile-dock-group[data-dock-group="work"],
.mobile-tab-dock[data-context="process"] .mobile-dock-group[data-dock-group="process"] { display: flex; }
.mobile-dock-item {
  position: relative;
  display: inline-flex;
  flex: 1 1 0;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 6px 12px;
  overflow: visible;
  color: #dce3d7;
  border: 1px solid rgba(239,246,232,.18);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.12));
  box-shadow: inset 0 1px rgba(255,255,255,.065), 0 3px 9px rgba(0,0,0,.14);
  font: 600 .72rem/1.3 var(--font);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color 220ms ease, border-color 240ms ease, background 240ms ease, box-shadow 260ms ease, transform 180ms var(--ease-liquid);
}
.mobile-dock-item .action-glyph,
.mobile-dock-item .category-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--dock-accent, #d6fa68) 37%, rgba(255,255,255,.18));
  border-radius: 50%;
  background: radial-gradient(circle at 32% 25%, rgba(255,255,255,.2), color-mix(in srgb, var(--dock-accent, #d6fa68) 11%, #171c17) 68%);
  box-shadow: inset 0 1px rgba(255,255,255,.22), 0 3px 9px rgba(0,0,0,.24);
  transition: transform 360ms var(--ease-liquid), border-color 220ms ease, box-shadow 260ms ease;
}
.mobile-dock-item .action-glyph .ui-icon,
.mobile-dock-item .category-icon .ui-icon { width: 27px; height: 27px; }
.mobile-dock-label { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.mobile-dock-item[aria-pressed="true"],
.mobile-dock-item[aria-current="location"],
.mobile-dock-item.is-active {
  color: var(--dock-accent, #d6fa68);
  border-color: color-mix(in srgb, var(--dock-accent, #d6fa68) 67%, white);
  background: color-mix(in srgb, var(--dock-accent, #d6fa68) 12%, rgba(16,21,17,.92));
  box-shadow: 0 0 16px color-mix(in srgb, var(--dock-accent, #d6fa68) 13%, transparent), inset 0 1px rgba(255,255,255,.14);
}
.mobile-dock-item[aria-pressed="true"] .action-glyph,
.mobile-dock-item[aria-pressed="true"] .category-icon,
.mobile-dock-item[aria-current="location"] .action-glyph,
.mobile-dock-item[aria-current="location"] .category-icon,
.mobile-dock-item.is-active .action-glyph,
.mobile-dock-item.is-active .category-icon {
  border-color: color-mix(in srgb, var(--dock-accent, #d6fa68) 88%, white);
  background: radial-gradient(circle at 31% 23%, color-mix(in srgb, var(--dock-accent, #d6fa68) 86%, white), color-mix(in srgb, var(--dock-accent, #d6fa68) 79%, #182018) 78%);
  box-shadow: inset 0 1px rgba(255,255,255,.66), inset 0 -5px 8px color-mix(in srgb, var(--dock-accent, #d6fa68) 31%, #111), 0 0 0 3px color-mix(in srgb, var(--dock-accent, #d6fa68) 12%, transparent), 0 6px 12px rgba(0,0,0,.28);
  transform: translateY(-2px);
}
.mobile-dock-item:focus-visible { outline: 2px solid #f8ffe4; outline-offset: 3px; }
.mobile-dock-item:active { transform: translateY(1px) scale(.97); }
html[data-mobile-dock="hero"] .hero-challenge-options,
html[data-mobile-dock="services"] .category-tabs,
html[data-mobile-dock="work"] .portfolio-filters { display: none !important; }
html[data-mobile-dock="services"] .services-section .service-explorer { padding-top: 12px; }
html[data-mobile-dock="services"] .services-section .service-rail { display: flex; align-items: center; justify-content: flex-end; gap: 0; margin: 0; padding: 0; border: 0; }
html[data-mobile-dock="services"] .services-section .service-rail > .rail-label,
html[data-mobile-dock="services"] .services-section .rail-bottom .status-dot,
html[data-mobile-dock="services"] .services-section .rail-note { display: none !important; }
html[data-theme="light"] .mobile-tab-dock.is-visible { border-color: rgba(27,34,25,.2); background: rgba(247,248,239,.95); color: #20261d; box-shadow: 0 12px 34px rgba(24,32,20,.2), inset 0 1px white; }
html[data-theme="light"] .mobile-dock-item { color: #394235; border-color: rgba(27,34,25,.19); background: linear-gradient(180deg, rgba(255,255,255,.7), rgba(228,233,220,.67)); }
html[data-theme="light"] .mobile-dock-item[aria-pressed="true"], html[data-theme="light"] .mobile-dock-item[aria-current="location"], html[data-theme="light"] .mobile-dock-item.is-active { color: #20261d; }
.chapter-primary-dock {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  width: min(760px, 100%);
  min-height: 94px;
  align-items: end;
  gap: 5px;
  padding: 18px 12px 8px;
  overflow: visible;
  border: 1px solid rgba(209,225,145,.34);
  border-radius: 999px;
  background: rgba(17,21,17,.94);
  box-shadow: 0 13px 34px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.12), inset 0 -9px 20px rgba(0,0,0,.15);
  color: #f5f5ec;
  -webkit-backdrop-filter: blur(20px) saturate(1.2);
  backdrop-filter: blur(20px) saturate(1.2);
}
.chapter-dock-link {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 66px;
  align-items: center;
  flex-direction: column;
  justify-content: flex-end;
  gap: 1px;
  padding: 0 4px 2px;
  color: rgba(239,244,231,.74);
  border-radius: 24px;
  text-decoration: none;
  transition: color 240ms ease, transform 220ms var(--ease-liquid);
}
.chapter-dock-icon {
  position: relative;
  z-index: 1;
  display: grid;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  place-items: center;
  margin-top: -15px;
  border-radius: 50%;
  transition: transform 420ms var(--ease-liquid), filter 300ms ease;
}
.chapter-dock-icon::before, .chapter-dock-icon::after { position: absolute; inset: 7px; border: 1px solid rgba(235,241,225,.18); border-radius: inherit; background: radial-gradient(circle at 32% 22%, rgba(255,255,255,.08), rgba(15,20,16,.8) 70%); box-shadow: inset 0 1px rgba(255,255,255,.09), 0 4px 10px rgba(0,0,0,.26); content: ""; transition: inset 380ms var(--ease-liquid), background 300ms ease, border-color 300ms ease, box-shadow 300ms ease; }
.chapter-dock-icon::after { inset: 10px; border-color: rgba(255,255,255,.06); background: transparent; box-shadow: none; }
.chapter-dock-icon .ui-icon { position: relative; z-index: 1; width: 29px; height: 29px; filter: drop-shadow(0 2px 3px rgba(0,0,0,.32)); transition: transform 360ms var(--ease-liquid), filter 260ms ease; }
.chapter-dock-label { position: relative; z-index: 1; max-width: 100%; overflow: hidden; font-size: .7rem; font-weight: 600; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.chapter-dock-number { position: absolute; top: -12px; inset-inline-start: 8px; color: rgba(218,232,190,.48); font-size: .48rem; direction: ltr; }
.chapter-dock-link.is-active, .chapter-dock-link:hover { color: var(--chapter-accent); }
.chapter-dock-link.is-active .chapter-dock-icon { transform: translateY(-7px); filter: drop-shadow(0 5px 7px color-mix(in srgb, var(--chapter-accent) 16%, transparent)); }
.chapter-dock-link.is-active .chapter-dock-icon::before { inset: 0; border: 1px solid color-mix(in srgb, var(--chapter-accent) 87%, white); background: radial-gradient(circle at 32% 22%, color-mix(in srgb, var(--chapter-accent) 91%, white), color-mix(in srgb, var(--chapter-accent) 75%, #101510) 78%); box-shadow: inset 0 1px rgba(255,255,255,.72), inset 0 -7px 11px color-mix(in srgb, var(--chapter-accent) 36%, #111), 0 0 0 4px color-mix(in srgb, var(--chapter-accent) 13%, transparent), 0 8px 15px rgba(0,0,0,.34); }
.chapter-dock-link.is-active .chapter-dock-icon::after { inset: 4px; border-color: rgba(255,255,255,.34); }
.chapter-dock-link.is-active .chapter-dock-icon .ui-icon { width: 35px; height: 35px; transform: translateY(-1px) scale(1.04); }
.chapter-dock-link.is-active .chapter-dock-label { text-shadow: 0 1px 10px color-mix(in srgb, var(--chapter-accent) 24%, transparent); }
.chapter-dock-link.is-active .chapter-dock-number { color: var(--chapter-accent); }
html[data-theme="light"] .chapter-primary-dock { border-color: rgba(27,34,25,.2); background: rgba(247,248,239,.95); color: #20261d; box-shadow: 0 12px 34px rgba(24,32,20,.2), inset 0 1px white; }
html[data-theme="light"] .chapter-dock-link { color: #465044; }
html[data-theme="light"] .chapter-dock-icon::before { border-color: rgba(27,34,25,.19); background: radial-gradient(circle at 32% 22%, #fff, rgba(227,233,218,.9) 75%); }
html[data-theme="light"] .chapter-dock-icon::after { border-color: rgba(27,34,25,.08); }
html[data-theme="light"] .chapter-dock-number { color: rgba(40,52,36,.5); }
@media (max-width: 760px) {
  .site-dock { bottom: calc(env(safe-area-inset-bottom, 0px) + 8px); gap: 7px; padding-inline: 10px; }
  .mobile-tab-dock.is-visible { width: 100%; padding: 5px; border-radius: 20px; }
  .mobile-dock-group { display: none; grid-template-columns: repeat(4, minmax(0,1fr)); min-height: 62px; gap: 3px; }
  .mobile-tab-dock[data-context="hero"] .mobile-dock-group[data-dock-group="hero"],
  .mobile-tab-dock[data-context="services"] .mobile-dock-group[data-dock-group="services"],
  .mobile-tab-dock[data-context="work"] .mobile-dock-group[data-dock-group="work"],
  .mobile-tab-dock[data-context="process"] .mobile-dock-group[data-dock-group="process"] { display: grid; }
  .mobile-dock-item { display: flex; width: 100%; min-height: 58px; flex-direction: column; gap: 1px; padding: 3px 2px; font-size: .53rem; white-space: normal; }
  .mobile-dock-item .action-glyph, .mobile-dock-item .category-icon { flex: 0 0 31px; width: 31px; height: 31px; }
  .mobile-dock-item .action-glyph .ui-icon, .mobile-dock-item .category-icon .ui-icon { width: 25px; height: 25px; }
  .mobile-dock-label { display: block; max-width: 100%; overflow: visible; font-size: .58rem; line-height: 1.2; text-align: center; text-wrap: balance; }
  .mobile-dock-item[aria-pressed="true"], .mobile-dock-item[aria-current="location"], .mobile-dock-item.is-active { min-width: 0; padding-inline: 2px; }
  .chapter-primary-dock { width: 100%; min-height: 82px; gap: 1px; padding: 14px 5px 5px; }
  .chapter-dock-link { min-height: 60px; gap: 0; padding-inline: 1px; }
  .chapter-dock-icon { flex-basis: 46px; width: 46px; height: 46px; margin-top: -10px; }
  .chapter-dock-icon::before { inset: 7px; }
  .chapter-dock-icon::after { inset: 10px; }
  .chapter-dock-icon .ui-icon { width: 25px; height: 25px; }
  .chapter-dock-link.is-active .chapter-dock-icon { transform: translateY(-4px); }
  .chapter-dock-link.is-active .chapter-dock-icon::before { inset: 0; }
  .chapter-dock-link.is-active .chapter-dock-icon::after { inset: 3px; }
  .chapter-dock-link.is-active .chapter-dock-icon .ui-icon { width: 29px; height: 29px; }
  .chapter-dock-label { max-width: 100%; font-size: .55rem; }
  .chapter-dock-number { top: -8px; inset-inline-start: 3px; font-size: .4rem; }
  .hero { padding-bottom: 198px; }
  .hero-bottom { bottom: 214px; }
  .hero-layout { padding-bottom: 184px; }
  .hero-caption { position: absolute; inset: auto; top: 78px; left: var(--page-gutter); width: 124px; max-width: 124px; margin: 0; padding: 6px 8px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(10,14,11,.48); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); }
  .caption-index, .caption-meta { display: none; }
  .caption-title { font-size: .83rem; }
  .story-map-steps { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media (max-width: 390px) {
  .site-dock { padding-inline: 7px; }
  .mobile-dock-item { padding-inline: 1px; font-size: .51rem; }
  .mobile-dock-item .action-glyph, .mobile-dock-item .category-icon { flex-basis: 29px; width: 29px; height: 29px; }
  .mobile-dock-item .action-glyph .ui-icon, .mobile-dock-item .category-icon .ui-icon { width: 23px; height: 23px; }
  .story-map-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .chapter-dock-label { font-size: .51rem; }
  .chapter-dock-number { inset-inline-start: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .chapter-dock-link, .chapter-dock-icon, .chapter-dock-icon::before, .chapter-dock-icon::after,
  .chapter-dock-icon .ui-icon { transition: none !important; animation: none !important; }
}

/* Contextual navigation lives at the start of its chapter; only the four chapter dock stays fixed. */
.services-section .section-heading { display: block; max-width: 860px; margin-bottom: 16px; }
.services-section .section-heading > div { max-width: 780px; }
.services-section .section-heading .section-intro { max-width: 550px; margin: 18px 0 0; }
.hero { padding-bottom: 128px; }
.services-section, .work-section, .benchmark-section, .approach-section, .intro, .about-estm { padding-bottom: max(126px, calc(env(safe-area-inset-bottom, 0px) + 112px)); }
.hero-bottom { bottom: 122px; }
.contact-section { padding-bottom: max(124px, calc(env(safe-area-inset-bottom, 0px) + 110px)); scroll-margin-bottom: 120px; }
.site-footer { --accent: var(--accent-bright); --accent-ink: #20190e; padding-bottom: 118px; }
.work-section { scroll-margin-bottom: 120px; }
@media (max-width: 760px) {
  .services-section .section-heading { margin-bottom: 14px; }
  .services-section .section-heading .section-intro { max-width: 500px; margin-top: 15px; }
  .services-section, .work-section, .benchmark-section, .approach-section, .intro, .about-estm { padding-bottom: max(196px, calc(env(safe-area-inset-bottom, 0px) + 184px)); }
  .hero { padding-bottom: 118px; }
  .hero-layout { padding-bottom: 116px; }
  .hero-bottom { display: none; }
  .contact-section { padding-bottom: max(250px, calc(env(safe-area-inset-bottom, 0px) + 238px)); scroll-margin-bottom: 250px; }
  .site-footer { --accent: var(--accent-bright); --accent-ink: #20190e; padding-bottom: 236px; }
  .work-section { scroll-margin-bottom: 250px; }
}
/* Review fixes: lead with the Step One selector on phones, keep the dock out of reading content, and restore dark-theme contrast. */
@media (max-width: 760px) {
  .services-section > .page-shell { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; }
  .services-section .service-explorer { display: contents; }
  .services-section .service-rail { grid-row: 1; align-self: start; margin: 0 0 22px; padding: 14px 12px 10px; border: 1px solid color-mix(in srgb, var(--category-accent, #91e3cf) 28%, rgba(245,245,235,.14)); border-radius: 24px; background: rgba(255,255,255,.025); }
  .services-section .service-rail > .rail-label { grid-column: 1 / -1; margin: 0; }
  .services-section .service-rail > .category-tabs { grid-column: 1 / -1; width: 100%; }
  .services-section .service-rail > .rail-bottom { display: flex; grid-column: 1 / -1; margin: 7px 0 0; }
  .services-section .section-heading { grid-row: 2; margin: 0 0 22px; }
  .services-section .service-workspace { grid-row: 3; padding: 16px 12px 20px; border: 1px solid color-mix(in srgb, var(--category-accent, #91e3cf) 24%, rgba(245,245,235,.16)); border-radius: 24px; background: rgba(255,255,255,.02); }
  .services-section .price-disclaimer { grid-row: 4; }
  .services-section .content-video-showcase { --accent: var(--accent-bright); --accent-ink: #20190e; grid-row: 5; }
  .services-section > .page-shell > .chapter-transition { grid-row: 6; }
}

html[data-theme="dark"] .benchmark-section .benchmark-table-wrap {
  border-color: rgba(235,242,230,.16);
  background: #141b15;
  color: #e9eee5;
}
html[data-theme="dark"] .benchmark-section .benchmark-select label { color: #d4ddcf; }
html[data-theme="dark"] .benchmark-section .benchmark-select select { color: #edf2e8; border-color: rgba(235,242,230,.24); background: #1b241c; }
html[data-theme="dark"] .benchmark-section .benchmark-select option { color: #edf2e8; background: #1b241c; }
html[data-theme="dark"] .benchmark-section .benchmark-heading { border-color: rgba(235,242,230,.17); }
html[data-theme="dark"] .benchmark-section .benchmark-heading .eyebrow { color: #bdc9b7; }
html[data-theme="dark"] .benchmark-section .price-row { border-color: rgba(235,242,230,.15); background: #1b241c; }
html[data-theme="dark"] .benchmark-section .price-row-mrstm { border-color: rgba(227,198,114,.28); background: rgba(227,198,114,.1); }
html[data-theme="dark"] .benchmark-section .price-label { color: var(--accent-bright); }
html[data-theme="dark"] .benchmark-section .price-main strong { color: #f0f4ec; }
html[data-theme="dark"] .benchmark-section .price-row-mrstm .price-main strong { color: var(--accent-bright); }
html[data-theme="dark"] .benchmark-section .price-main p { color: #c4cdc0; }
html[data-theme="dark"] .benchmark-section .price-source { color: var(--accent-bright); background: rgba(227,198,114,.1); }
html[data-theme="dark"] .benchmark-section .price-source:hover,
html[data-theme="dark"] .benchmark-section .price-source:focus-visible { color: #111711; background: var(--accent-bright); }
html[data-theme="dark"] .benchmark-section .source-date,
html[data-theme="dark"] .benchmark-section .price-source-muted { color: #aeb9aa; }
html[data-theme="dark"] .benchmark-section .benchmark-caveat { color: #c4cdc0; border-color: rgba(235,242,230,.13); background: rgba(255,255,255,.04); }

.site-dock { transition: transform 260ms var(--ease-snap), opacity 220ms ease; }
.site-dock.is-auto-hidden { opacity: 0; transform: translateY(calc(100% + 16px)); pointer-events: none; }
.site-dock.is-auto-hidden * { pointer-events: none !important; }
.hero-eyebrow { margin-bottom: 20px; }
.hero-description { margin-top: 22px; }
.hero-actions { gap: 9px; margin-top: 24px; }
.hero-challenge { margin-top: 16px; }
@media (max-width: 760px) {
  .hero-eyebrow { margin-bottom: 16px; }
  .hero-description { margin-top: 17px; }
  .hero-actions { margin-top: 20px; }
  .hero-challenge { margin-top: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-dock, .mobile-tab-dock, .mobile-dock-item, .mobile-dock-item .action-glyph, .mobile-dock-item .category-icon { transition: none !important; animation: none !important; }
}

/* Usability review: shorten the first-screen entrance, clarify pricing, and keep navigation recoverable. */
.hero-image { animation-duration: 620ms; }
.hero-copy { animation-duration: 520ms; animation-delay: 30ms; }
.hero h1 { animation-duration: 500ms; animation-delay: 35ms; }
.hero-caption { animation-duration: 540ms; animation-delay: 70ms; }

.video-archive { margin-top: clamp(26px, 4vw, 52px); overflow: hidden; border: 1px solid rgba(245,245,235,.17); border-radius: 24px; background: rgba(255,255,255,.025); }
.video-archive-summary { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 20px; color: var(--white); list-style: none; cursor: pointer; }
.video-archive-summary::-webkit-details-marker { display: none; }
.video-archive-summary > span:first-child { display: grid; gap: 4px; }
.video-archive-summary strong { font-size: .88rem; font-weight: 600; }
.video-archive-summary small { color: #aeb8a8; font-size: .76rem; }
.video-archive-toggle { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(235,242,230,.25); border-radius: 50%; color: var(--accent); font-size: 1.2rem; }
.video-archive-toggle { transition: color 180ms ease, border-color 180ms ease; }
.video-archive[open] .video-archive-toggle { font-size: 0; }
.video-archive[open] .video-archive-toggle::after { content: "−"; font-size: 1.2rem; }
.video-archive-summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -4px; }
.video-archive .content-video-showcase { --accent: var(--accent-bright); --accent-ink: #20190e; margin-top: 0; border-inline: 0; border-bottom: 0; border-radius: 0; }
html[data-theme="light"] .video-archive { border-color: rgba(20,25,19,.18); background: rgba(20,25,19,.04); }
html[data-theme="light"] .video-archive-summary { color: #20261d; }
html[data-theme="light"] .video-archive-summary small { color: #56604f; }
html[data-theme="light"] .video-archive-toggle { border-color: rgba(20,25,19,.24); }
@media (max-width: 760px) {
  .video-archive { margin-top: 24px; border-radius: 20px; }
  .video-archive-summary { min-height: 70px; padding: 13px 14px; }
}

.benchmark-copy > p:not(.eyebrow) { font-size: .92rem; }
.benchmark-date { font-size: .78rem; }
.price-label { font-size: .78rem; }
.price-main p { font-size: .78rem; }
.price-main strong bdi { unicode-bidi: isolate; }
.price-source { font-size: .76rem; }
.source-date { font-size: .74rem; }
.benchmark-caveat { font-size: .76rem; }
.benchmark-context-note { margin: 14px 0 0; padding: 11px 13px; border: 1px solid rgba(20,25,19,.12); border-inline-start: 3px solid #899f3b; border-radius: 14px; color: #424a3d; background: rgba(255,255,255,.45); font-size: .78rem; line-height: 1.85; }
html[data-theme="dark"] .benchmark-copy > p:not(.eyebrow) { color: #e7eee2; border-inline-start-color: #a9c853; background: rgba(255,255,255,.045); }
html[data-theme="dark"] .benchmark-date { color: #d0dacb; }
html[data-theme="dark"] .price-label { color: #d9e2d3; }
html[data-theme="dark"] .price-main p { color: #d2dbce; }
html[data-theme="dark"] .price-source { color: var(--accent-bright); }
html[data-theme="dark"] .source-date { color: #c0cbbb; }
html[data-theme="dark"] .benchmark-caveat { color: #d2dbce; }
html[data-theme="dark"] .benchmark-context-note { color: #e2e9dd; border-color: rgba(235,242,230,.16); border-inline-start-color: #b4d55b; background: rgba(255,255,255,.045); }
@media (max-width: 760px) {
  .benchmark-copy > p:not(.eyebrow) { font-size: .88rem; }
  .price-row { grid-template-columns: minmax(92px, .44fr) minmax(0, 1.56fr); gap: 12px; }
  .price-main p, .price-label, .source-date, .price-source, .benchmark-caveat, .benchmark-context-note { font-size: .75rem; }
}

.quick-inquiry-form { display: grid; width: 100%; gap: 12px; margin-top: 10px; }
.quick-inquiry-form label { display: grid; gap: 6px; color: #303a26; font-size: .78rem; font-weight: 600; }
.quick-inquiry-form :is(select, textarea) { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid rgba(17,21,17,.3); border-radius: 14px; color: #171b14; background: rgba(255,255,255,.35); font: 400 .86rem/1.75 var(--font); }
.quick-inquiry-form textarea { min-height: 86px; resize: vertical; }
.quick-inquiry-form :is(select, textarea):focus-visible { outline: 2px solid #334521; outline-offset: 2px; }
.quick-inquiry-note { margin: -3px 0 0; color: #45513a; font-size: .76rem; line-height: 1.7; }
.quick-inquiry-form .button { min-height: 46px; }
html[data-theme="dark"] .quick-inquiry-form label, html[data-theme="dark"] .quick-inquiry-note { color: #d2dbce; }
html[data-theme="dark"] .quick-inquiry-form :is(select, textarea) { color: #edf1e8; border-color: rgba(235,242,230,.25); background: #1a211b; }
html[data-theme="dark"] .quick-inquiry-form select option { color: #edf1e8; background: #1a211b; }
html[data-theme="dark"] .quick-inquiry-form :is(select, textarea):focus-visible { outline-color: var(--accent-bright); }
@media (max-width: 760px) {
  .quick-inquiry-form .button, .contact-action > .order-trigger { width: 100%; justify-content: center; }
}

.footer-ai-credit { display: block; margin-top: 7px; color: #899286; font-size: .7rem; font-weight: 400; line-height: 1.7; }
.site-dock-reveal { position: fixed; z-index: 1101; right: 50%; bottom: calc(env(safe-area-inset-bottom, 0px) + 14px); display: inline-flex; min-height: 46px; align-items: center; gap: 9px; padding: 0 16px; transform: translateX(50%); border: 1px solid rgba(209,225,145,.42); border-radius: 999px; color: #edf2e8; background: rgba(17,21,17,.96); box-shadow: 0 9px 24px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.11); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); font: 600 .78rem var(--font); cursor: pointer; }
.site-dock-reveal .ui-icon { width: 20px; height: 20px; color: var(--accent-bright); }
.site-dock-reveal[hidden] { display: none !important; }
html[data-theme="light"] .site-dock-reveal { border-color: rgba(27,34,25,.23); color: #20261d; background: rgba(247,248,239,.97); }
html[data-theme="light"] .site-dock-reveal .ui-icon { color: #61752d; }
.site-dock-reveal:focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 3px; }
@media (max-width: 760px) {
  .chapter-primary-dock { min-height: 92px; }
  .chapter-dock-link { min-height: 74px; justify-content: flex-end; }
  .chapter-dock-label { max-width: 100%; overflow: visible; font-size: .72rem; line-height: 1.25; text-align: center; text-overflow: clip; white-space: normal; text-wrap: balance; }
  .site-dock-reveal { right: calc(env(safe-area-inset-right, 0px) + 12px); bottom: calc(env(safe-area-inset-bottom, 0px) + 8px); width: 44px; height: 44px; min-height: 44px; justify-content: center; gap: 0; padding: 0; transform: none; }
  .site-dock-reveal > span { display: none; }
}
@media (max-width: 390px) {
  .chapter-dock-label { font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-image, .hero-copy, .hero h1, .hero-caption, .video-archive-toggle { animation: none !important; transition: none !important; }
  .hero-copy, .hero h1, .hero-caption { opacity: 1; transform: none; }
}

/* Route copy stays on the photograph; depth belongs to the type, not a text card. */
.hero-copy .hero-description,
.hero-copy .hero-route-message {
  padding: 0;
  color: rgba(255,255,255,.88);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-shadow: 0 1px 0 rgba(0,0,0,.28), 0 3px 8px rgba(0,0,0,.24);
  transition: color 260ms ease, text-shadow 260ms ease;
}
.hero-copy .hero-description { max-width: 580px; line-height: 1.9; }
.hero-copy .hero-route-message { max-width: 620px; font-size: .76rem; line-height: 1.8; }
.hero-title-second-line { display: block; }
.hero-title-lead, .hero-title-bridge, .hero-title-accent { display: inline-block; transform-style: preserve-3d; }
.hero-copy h1 { perspective: 900px; transform-style: preserve-3d; text-shadow: 0 1px 0 rgba(0,0,0,.3), 0 3px 0 rgba(0,0,0,.13), 0 9px 22px rgba(0,0,0,.3); }
.hero-copy h1 .hero-title-accent { text-shadow: 0 1px 0 color-mix(in srgb, var(--hero-route-accent) 62%, #101510), 0 2px 0 color-mix(in srgb, var(--hero-route-accent) 44%, #101510), 0 4px 0 color-mix(in srgb, var(--hero-route-accent) 28%, #101510), 0 9px 18px rgba(0,0,0,.34); }
.hero.is-route-transitioning .hero-eyebrow,
.hero.is-route-transitioning .hero-title-lead,
.hero.is-route-transitioning .hero-title-bridge,
.hero.is-route-transitioning .hero-title-accent,
.hero.is-route-transitioning .hero-description,
.hero.is-route-transitioning .hero-route-message,
.hero.is-route-transitioning .hero-caption { animation: hero-route-depth-in 680ms cubic-bezier(.2,.72,.2,1) both; }
.hero.is-route-transitioning .hero-eyebrow { animation-delay: 35ms; }
.hero.is-route-transitioning .hero-title-bridge { animation-delay: 25ms; }
.hero.is-route-transitioning .hero-title-accent { animation-delay: 55ms; }
.hero.is-route-transitioning .hero-description { animation-delay: 105ms; }
.hero.is-route-transitioning .hero-route-message { animation-delay: 155ms; }
.hero.is-route-transitioning .hero-caption { animation-delay: 95ms; }
@keyframes hero-route-depth-in {
  0% { opacity: .12; transform: perspective(900px) translate3d(0, 14px, -74px) rotateX(7deg) scale(.965); filter: blur(1.4px); }
  64% { opacity: 1; transform: perspective(900px) translate3d(0, -2px, 8px) rotateX(-.6deg) scale(1.012); filter: blur(0); }
  100% { opacity: 1; transform: perspective(900px) translate3d(0, 0, 0) rotateX(0) scale(1); filter: none; }
}
@media (hover: hover) {
  .hero-copy .hero-description:hover, .hero-copy .hero-route-message:hover { translate: none; border-color: transparent; background: transparent; box-shadow: none; }
}
html[data-theme="light"] .hero-copy .hero-description,
html[data-theme="light"] .hero-copy .hero-route-message { color: rgba(23,27,20,.9); text-shadow: 0 1px 0 rgba(255,255,255,.46), 0 2px 8px rgba(255,255,255,.3); }
@media (max-width: 760px) {
  .hero-copy .hero-description { max-width: 100%; }
  .hero-copy .hero-route-message { max-width: 100%; font-size: .75rem; }
  .hero-caption { padding: 0; border: 0; border-radius: 0; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero.is-route-transitioning .hero-eyebrow,
  .hero.is-route-transitioning .hero-title-lead,
  .hero.is-route-transitioning .hero-title-bridge,
  .hero.is-route-transitioning .hero-title-accent,
  .hero.is-route-transitioning .hero-description,
  .hero.is-route-transitioning .hero-route-message,
  .hero.is-route-transitioning .hero-caption { animation: none !important; }
}

.hero[data-route] .hero-copy h1 { font-size: clamp(2.9rem, 5.4vw, 5.8rem); }
@media (max-width: 760px) { .hero[data-route] .hero-copy h1 { font-size: clamp(2.4rem, 10.8vw, 4.2rem); } }

html[data-theme="light"] .hero-copy .hero-description,
html[data-theme="light"] .hero-copy .hero-route-message {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html[data-theme="light"] .hero[data-route] .hero-title-accent { color: color-mix(in srgb, var(--hero-route-accent) 72%, #172018); }

/* Keep contextual controls in their section; only the chapter dock stays fixed on mobile. */
@media (max-width: 760px) {
  #mobile-tab-dock.is-visible { display: none; }
}
