/* The home experience is isolated from service pages and case studies. */
.home-crafted {
  --home-accent: #93b9ff;
  --home-glow: rgb(105 147 233 / .14);
  --home-paper: color-mix(in srgb, var(--surface) 95%, #587ab5);
  position: relative;
  isolation: isolate;
  background: radial-gradient(ellipse at 12% 5%, var(--home-glow), transparent 32%), var(--bg);
}
:root[data-theme="light"] .home-crafted { --home-accent: #4267a2; --home-glow: rgb(91 126 187 / .12); }
.home-crafted .home-magic {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: clamp(2rem, 4vw, 3.8rem) 0 2.25rem;
  background: radial-gradient(ellipse at 25% 30%, var(--home-glow), transparent 57%);
}
.home-atmosphere { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.home-atmosphere::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(color-mix(in srgb, var(--home-accent) 7%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--home-accent) 7%, transparent) 1px, transparent 1px);
  background-size: 62px 62px; mask-image: radial-gradient(ellipse at 27% 25%, #000, transparent 68%);
}
.home-orbit { position: absolute; inset-inline-end: 4%; top: 8%; width: min(49vw, 650px); aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--home-accent) 15%, transparent); border-radius: 50%; }
.home-orbit::after { content: ""; position: absolute; width: 9px; height: 9px; top: 14%; left: 15%; border-radius: 50%; background: var(--home-accent); box-shadow: 0 0 24px var(--home-accent); }
.home-orbit-two { inset-inline-end: -3%; top: 2%; width: min(58vw, 760px); border-style: dashed; opacity: .5; }
.home-orbit-two::after { width: 5px; height: 5px; top: 85%; left: 12%; }
.home-orbit-point { position: absolute; width: 5px; height: 5px; inset-inline-start: 15%; top: 19%; border-radius: 50%; background: var(--home-accent); opacity: .55; box-shadow: 0 0 18px var(--home-accent); }
.home-crafted .hero.home-opening .hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); grid-template-areas: "copy visual" "ticker ticker"; align-items: center; gap: 2.2rem clamp(2rem, 5vw, 5rem); }
.home-crafted .hero-copy { grid-area: copy; min-width: 0; }
.home-crafted .home-hero-kicker { color: var(--home-accent); font-size: .72rem; letter-spacing: .015em; }
.home-crafted .home-hero-kicker>span { width: 27px; height: 1px; border-radius: 0; background: var(--home-accent); }
.home-crafted .hero.home-opening .hero-copy h1 { font-size: clamp(2.3rem, 4.1vw, 3.65rem); line-height: 1.5; margin: 1.1rem 0 1.25rem; letter-spacing: -.035em; }
.home-crafted .hero.home-opening .hero-copy h1 span.home-hero-name { font-size: .43em; margin-bottom: .7rem; font-weight: 650; color: var(--text-soft); letter-spacing: 0; }
.home-crafted .hero.home-opening .home-hero-promise { color: var(--text); }
.home-crafted .hero.home-opening .home-hero-promise em { color: var(--home-accent); font-style: normal; background: linear-gradient(110deg, var(--home-accent), color-mix(in srgb, var(--home-accent) 70%, var(--text))); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.home-crafted .hero.home-opening .hero-lead { font-size: 1rem; line-height: 2; max-width: 53ch; margin: 0; color: var(--text-soft); }
.home-crafted .hero.home-opening .hero-support { font-size: .8rem; line-height: 1.9; max-width: 57ch; margin-top: .85rem; }
.home-crafted .hero-actions { margin-top: 1.4rem; gap: .7rem; }
.home-crafted .hero-actions .button { min-height: 50px; border-radius: 999px; font-size: .86rem; }
.home-crafted .home-trial-link { display: flex; gap: .8rem; padding: .8rem .2rem; margin-top: .75rem; border-bottom: 1px solid var(--line); }
.home-crafted .home-trial-link strong { font-size: .82rem; }
.home-crafted .home-trial-link small { font-size: .68rem; }
.home-crafted .hero-trust { margin-top: .8rem; gap: 1rem; font-size: .65rem; }
.home-crafted .hero.home-opening .home-signature { grid-area: visual; position: relative; max-width: 480px; min-width: 0; }
.home-crafted .home-signature::before { content: ""; position: absolute; inset: -10px 12px 18px -10px; border: 1px solid color-mix(in srgb, var(--home-accent) 22%, transparent); border-radius: 2rem; transform: rotate(-3deg); pointer-events: none; }
.home-crafted .signature-card { padding: 1.2rem; border-radius: 1.65rem; border-color: color-mix(in srgb, var(--home-accent) 30%, var(--line)); background: linear-gradient(145deg, var(--surface-3), var(--home-paper) 50%, var(--surface)); box-shadow: 0 28px 80px rgb(0 0 0 / .19), inset 0 1px 0 color-mix(in srgb, var(--text) 10%, transparent); }
:root[data-theme="light"] .home-crafted .signature-card { background: linear-gradient(145deg, #edf1f8, #fcfdff 55%, #e8eef7); box-shadow: 0 25px 70px rgb(40 60 93 / .12), inset 0 1px 0 #fff; }
.home-crafted .signature-owner { margin: .85rem 0; gap: .8rem; }
.home-crafted .signature-portrait { width: 68px; height: 68px; }
.home-crafted .signature-portrait::after { border-inline-start-color: var(--home-accent); }
.home-crafted .signature-owner strong { font-size: 1.15rem; }
.home-crafted .signature-monogram { font-size: 3.8rem; color: var(--home-accent); opacity: .13; }
.home-crafted .signature-heading { margin-bottom: .6rem; }
.home-crafted .signature-preview img { height: clamp(180px, 17vw, 230px); transition: transform .4s ease; }
.home-crafted .signature-preview>a:hover img { transform: scale(1.025); }
.home-crafted .signature-project-copy>p { font-size: .74rem; line-height: 1.85; }
.home-crafted .signature-project-copy>small { font-size: .6rem; }
.home-crafted .signature-footer { font-size: .6rem; }
.home-crafted .signature-caption { font-size: .65rem; }

/* LTR viewport anchors the oversized track at its left edge in both languages.
   Three equal groups move one group width; two always remain to fill the view. */
.home-ticker { grid-area: ticker; display: flex; direction: ltr; align-items: center; gap: 6px; min-width: 0; overflow: hidden; padding: 6px; border: 1px solid var(--line-strong); border-radius: 999px; background: linear-gradient(110deg, var(--home-paper), var(--surface)); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--text) 5%, transparent), 0 6px 20px rgb(0 0 0 / .025); }
.home-ticker-toggle { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--home-accent); cursor: pointer; transition: background .2s, border-color .2s; }
.home-ticker-toggle:hover { background: var(--surface-3); border-color: var(--line-strong); }
.home-ticker-toggle svg { display: block; width: 16px; height: 16px; }
.home-ticker-toggle[hidden] { display: none; }
.ticker-play { display: none; }
.home-ticker-toggle[aria-pressed="true"] .ticker-pause { display: none; }
.home-ticker-toggle[aria-pressed="true"] .ticker-play { display: inline; }
.home-ticker-window { direction: ltr; flex: 1; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 22px, #000 calc(100% - 22px), transparent); }
.home-ticker-track { width: 100%; }
.home-ticker-group { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .3rem 0; padding: 0 .5rem; }
.home-ticker-group[aria-hidden="true"] { display: none; }
.home-ticker-group>a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding-inline: .5rem; white-space: nowrap; color: var(--text-soft); font-size: .91rem; font-weight: 600; line-height: 1.5; }
.home-ticker-group>a>.icon { width: 1rem; height: 1rem; color: var(--home-accent); flex-shrink: 0; }
.home-ticker-group>a:hover { color: var(--home-accent); }
.home-ticker-divider { width: 1px; height: 16px; flex-shrink: 0; background: var(--line-strong); margin-inline-start: .9rem; }
.home-ticker.is-ready .home-ticker-track { display: flex; direction: ltr; gap: 0; width: max-content; animation: homeTicker 28s linear infinite; }
.home-ticker.is-ready .home-ticker-group { display: flex; flex-wrap: nowrap; flex: 0 0 auto; min-width: 0; gap: 0; }
.home-ticker:is(.is-paused,.is-offscreen) .home-ticker-track,
.home-ticker:has(.home-ticker-group>a:focus-visible) .home-ticker-track,
.home-document-hidden .home-ticker-track { animation-play-state: paused; }
@media (hover: hover) and (pointer: fine) { .home-ticker-window:hover .home-ticker-track { animation-play-state: paused; } }
@keyframes homeTicker { to { transform: translateX(-33.3333333333%); } }

.home-crafted .home-starting-points { margin-top: 1.4rem; border-radius: 1.05rem; border-color: var(--line-strong); background: color-mix(in srgb, var(--surface) 84%, transparent); }
.home-crafted .home-starting-points>a { min-height: 110px; transition: background .2s, color .2s; }
.home-crafted .home-starting-points>a:hover { background: var(--home-glow); }
.home-crafted .home-route-copy strong { font-size: .91rem; }
.home-crafted .home-route-copy small { font-size: .7rem; }
.home-crafted .home-route-intro p { font-size: .95rem; }
.home-crafted .hero.home-opening .stats-bar { margin-top: 1.35rem; background: transparent; border: 0; box-shadow: none; }
.home-crafted .hero.home-opening .stats-bar>div { padding: .7rem 1rem; }
.home-crafted .hero.home-opening .stats-bar strong { color: var(--text); font-size: 2.25rem; line-height: 1.3; }
.home-crafted .hero.home-opening .stats-bar span { font-size: .65rem; }
.home-crafted .stats-note { margin-top: .65rem; font-size: .64rem; }

.home-journey-nav { position: sticky; top: calc(var(--header-height) + 15px); z-index: 25; padding: .55rem 0; border-block: 1px solid var(--line); background: var(--surface-glass); backdrop-filter: blur(16px); }
.home-journey-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.home-journey-home { display: grid; place-items: center; flex-shrink: 0; min-width: 44px; min-height: 44px; color: var(--home-accent); font: 700 1.5rem/1 "Segoe UI", sans-serif; letter-spacing: -.1em; }
.home-journey-links { display: flex; align-items: center; justify-content: center; gap: .35rem; min-width: 0; }
.home-journey-links>a { position: relative; display: flex; align-items: center; gap: .4rem; min-height: 44px; padding: .6rem .95rem; border: 1px solid transparent; border-radius: 999px; font-size: .75rem; font-weight: 600; color: var(--muted); white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
.home-journey-links>a>.icon { width: 1rem; height: 1rem; }
.home-journey-number { color: var(--muted-2); font: 500 .55rem/1 "Segoe UI", sans-serif; }
.home-journey-links>a:is(:hover,[aria-current="location"]) { color: var(--text); background: var(--surface-3); border-color: var(--line-strong); }
.home-journey-links>a[aria-current="location"]>.icon { color: var(--home-accent); }
.home-journey-book { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; font-size: .7rem; color: var(--home-accent); white-space: nowrap; }
.home-journey-book>.icon { width: 1rem; height: 1rem; }
.home-crafted :is(#home-work,#services,#home-method,#home-faq,#home-contact,#work,#about,#faq,#contact,#home-opening) { scroll-margin-top: 82px; }
.home-crafted>.section-pad { padding-block: clamp(3.5rem, 6vw, 6rem); }
.home-crafted>.section-pad:not(.home-magic) { position: relative; }
.home-crafted .section-heading h2, .home-crafted .promise-copy h2 { font-size: clamp(1.75rem, 2.5vw, 2.6rem); line-height: 1.6; text-wrap: balance; }
.home-crafted .section-heading>p { max-width: 65ch; margin-inline: auto; }
.home-crafted .portfolio-featured, .home-crafted .portfolio-project, .home-crafted .evidence-work-card, .home-crafted .principle, .home-crafted .result-card, .home-crafted .post-card { border-color: var(--line-strong); background: linear-gradient(135deg, var(--home-paper), var(--surface)); box-shadow: 0 20px 45px rgb(0 0 0 / .035); }
.home-crafted .portfolio-featured { border-radius: 2rem; }
.home-crafted .portfolio-project, .home-crafted .evidence-work-card, .home-crafted .post-card { border-radius: 1.4rem; overflow: hidden; }
.home-crafted .portfolio-stage { background: radial-gradient(ellipse at 50% 50%, var(--home-glow), transparent 70%); }
.home-crafted .portfolio-project, .home-crafted .evidence-work-card, .home-crafted .post-card { transition: transform .25s, border-color .25s, box-shadow .25s; }
.home-crafted :is(.portfolio-project,.evidence-work-card,.post-card):hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--home-accent) 45%, var(--line)); box-shadow: 0 22px 50px rgb(0 0 0 / .09); }
.home-crafted .principle { position: relative; overflow: hidden; border-radius: 1.25rem; }
.home-crafted .principle::after { content: ""; position: absolute; inset-inline: 20%; bottom: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--home-accent), transparent); opacity: .65; }
.home-crafted .process-list>li { padding: 1.6rem; border: 1px solid var(--line-strong); border-radius: 1.25rem; background: var(--home-paper); }
.home-crafted .process-list>li>span { color: var(--home-accent); }
.home-crafted .accordion>details { border-radius: 1rem; border-color: var(--line-strong); background: var(--home-paper); }
.home-crafted .cta-panel { position: relative; overflow: hidden; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid var(--line-strong); border-radius: 2rem; background: radial-gradient(ellipse at 0% 0%, var(--home-glow), transparent 65%), linear-gradient(130deg, var(--surface-3), var(--surface)); }
.home-crafted :is(.home-ticker a,.home-ticker-toggle,.home-journey-nav a):focus-visible { outline: 2px solid var(--home-accent); outline-offset: 4px; }

@media (prefers-reduced-motion: no-preference) {
  .home-orbit-one { animation: homeOrbit 38s linear infinite; }
  .home-orbit-two { animation: homeOrbit 58s linear infinite reverse; }
  .home-opening.is-offscreen .home-orbit, .home-document-hidden .home-orbit { animation-play-state: paused; }
  @keyframes homeOrbit { to { transform: rotate(360deg); } }
}
@media (min-width: 901px) {
  .home-crafted .hero.home-opening.hero-en .hero-copy h1 { font-size: clamp(2.1rem, 3.25vw, 3rem); line-height: 1.28; }
  .home-crafted .hero-en .hero-lead { line-height: 1.85; }
}
@media (max-width: 1100px) {
  .home-crafted .hero.home-opening .hero-grid { gap: 1.8rem 2rem; }
  .home-crafted .signature-monogram { display: none; }
  .home-journey-links>a { padding-inline: .65rem; }
  .home-journey-book>span { display: none; }
  .home-journey-book { justify-content: center; min-width: 44px; }
}
@media (max-width: 900px) {
  .home-crafted .hero.home-opening .hero-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "ticker" "visual"; gap: 1.7rem; }
  .home-crafted .hero-copy { max-width: 740px; }
  .home-crafted .hero.home-opening .hero-copy h1 { font-size: clamp(2.2rem, 5.2vw, 3.2rem); }
  .home-crafted .hero.home-opening .home-signature { max-width: 590px; }
  .home-crafted .signature-preview img { height: 245px; }
  .home-crafted .signature-monogram { display: block; }
  .home-orbit { top: 38%; width: 620px; inset-inline-end: -10%; }
  .home-orbit-two { top: 34%; width: 720px; }
  .home-journey-inner { gap: .35rem; }
  .home-journey-number { display: none; }
}
@media (max-width: 700px) {
  .home-journey-nav { padding-block: .4rem; top: calc(var(--header-height) + 8px); }
  .home-journey-links { flex: 1; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; padding: 3px; overscroll-behavior-inline: contain; }
  .home-journey-links::-webkit-scrollbar { display: none; }
  .home-journey-links>a { flex-shrink: 0; padding: .55rem .7rem; font-size: .69rem; }
  .home-journey-links>a>.icon { display: none; }
  .home-journey-home { font-size: 1.2rem; min-width: 32px; }
  .home-journey-book { display: none; }
}
@media (max-width: 620px) {
  .home-crafted .home-magic { padding-top: 2rem; }
  .home-crafted .hero.home-opening .hero-copy h1 { margin: .9rem 0 1rem; font-size: clamp(1.75rem, 6.3vw, 2.6rem); line-height: 1.55; }
  .home-crafted .hero.home-opening .hero-copy h1 span.home-hero-name { font-size: .52em; }
  .home-crafted .hero.home-opening .hero-lead { font-size: .88rem; line-height: 1.95; }
  .home-crafted .hero.home-opening .hero-support { font-size: .74rem; line-height: 1.85; }
  .home-crafted .hero-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
  .home-crafted .hero-actions .button { flex: 1 1 auto; padding-inline: .8rem; font-size: .75rem; }
  .home-crafted .home-trial-link strong { font-size: .78rem; }
  .home-crafted .hero-trust { flex-wrap: wrap; gap: .2rem 1rem; font-size: .61rem; }
  .home-crafted .signature-card { padding: 1rem; border-radius: 1.35rem; }
  .home-crafted .signature-preview img { height: 200px; }
  .home-crafted .signature-monogram { font-size: 3rem; }
  .home-crafted .signature-owner strong { font-size: 1.1rem; }
  .home-ticker-group>a { font-size: .85rem; padding-inline: .4rem; }
  .home-ticker-divider { margin-inline-start: .7rem; }
  .home-crafted .home-starting-points { margin-top: 1.5rem; }
  .home-crafted .home-starting-points>a { min-height: 88px; }
  .home-crafted .hero.home-opening .stats-bar strong { font-size: 1.9rem; }
  .home-crafted .hero.home-opening .stats-bar span { font-size: .6rem; }
  .home-crafted .hero.home-opening .stats-bar>div { padding: .8rem .6rem; }
  .home-crafted .portfolio-featured, .home-crafted .cta-panel { border-radius: 1.35rem; }
}
@media (max-width: 360px) {
  .home-crafted .signature-monogram { display: none; }
  .home-crafted .hero.home-opening .hero-copy h1 { font-size: 1.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home-ticker.is-ready .home-ticker-track { width: 100%; display: block; animation: none; transform: none; }
  .home-ticker.is-ready .home-ticker-group { min-width: 0; flex-wrap: wrap; justify-content: center; gap: .3rem 0; }
  .home-ticker.is-ready .home-ticker-group[aria-hidden="true"], .home-ticker-toggle { display: none; }
  .home-ticker-window { mask-image: none; }
  .home-crafted .home-orbit { animation: none; }
  .home-crafted :is(.portfolio-project,.evidence-work-card,.post-card,.signature-preview img,.home-journey-links>a) { transition: none; }
  .home-crafted :is(.portfolio-project,.evidence-work-card,.post-card):hover, .home-crafted .signature-preview>a:hover img { transform: none; }
}
@media print {
  .home-journey-nav, .home-atmosphere, .home-ticker-toggle, .home-ticker-group[aria-hidden="true"] { display: none !important; }
  .home-ticker.is-ready .home-ticker-track { animation: none; transform: none; display: block; width: 100%; }
  .home-ticker.is-ready .home-ticker-group { min-width: 0; flex-wrap: wrap; }
  .home-ticker-window { mask-image: none; }
}

/* A single visual language, from the opening to the handover. */
:root:has([data-home-crafted]) { --primary: #a4c3ff; --primary-strong: #7fa9f8; --secondary: #a4c3ff; }
:root:not([data-theme="light"]):has([data-home-crafted]) {
  --bg: #090d14; --bg-elevated: #10151f; --surface: #111824;
  --surface-2: #151e2c; --surface-3: #1b2739; --surface-glass: rgb(17 24 36 / .88);
  --text: #f3f6fc; --text-soft: #d2dbea; --muted: #a3b1c8; --muted-2: #8494af;
  --line: rgb(180 198 229 / .13); --line-strong: rgb(180 198 229 / .23);
}
:root[data-theme="light"]:has([data-home-crafted]) {
  --bg: #f3f5f9; --bg-elevated: #ebeff6; --surface-2: #f0f3f8; --surface-3: #e6ebf4;
  --text: #182436; --text-soft: #3e4e65; --muted: #5c6b80; --muted-2: #64748b;
  --primary: #29496f; --primary-strong: #203c60; --secondary: #416aab;
  --line: rgb(43 65 97 / .12); --line-strong: rgb(43 65 97 / .21);
}
.home-crafted { --home-paper: color-mix(in srgb, var(--surface) 97%, #7192c7); --home-round: 1.6rem; }
.home-crafted .button { border-radius: 999px; box-shadow: none; }
.home-crafted .button:not(.button-ghost) { color: var(--bg); background: var(--primary); border-color: var(--primary); }
:root[data-theme="light"] .home-crafted .button:not(.button-ghost) { color: #fff; }
.home-crafted .button:hover { box-shadow: 0 8px 24px var(--home-glow); }
.home-crafted .button-ghost:hover { border-color: var(--home-accent); background: var(--home-glow); }
.home-crafted .hero.home-opening .stats-bar { border-radius: var(--home-round); background: linear-gradient(120deg, var(--home-paper), var(--surface-2)); }
.home-crafted .hero.home-opening .stats-bar>a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; padding: 1.2rem .8rem; min-width: 0; text-align: center; transition: background .2s; }
.home-crafted .hero.home-opening .stats-bar>a+a { border-inline-start: 1px solid var(--line); }
.home-crafted .hero.home-opening .stats-bar>a:hover { background: var(--home-glow); }
.home-crafted .hero.home-opening .stats-bar>a>strong { color: var(--text); font-variant-numeric: tabular-nums; }
.home-crafted .hero.home-opening .stats-bar>a>span { max-width: 25ch; }
.home-crafted .home-starting-points>a { box-shadow: none; }
.home-journey-nav::after { content: ""; position: absolute; inset-inline-start: 0; bottom: -1px; width: var(--home-progress, 0%); height: 2px; background: linear-gradient(90deg, transparent, var(--home-accent)); pointer-events: none; }
.home-crafted>.section-pad:not(.home-magic) { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.home-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.home-section-heading>div { max-width: 820px; min-width: 0; }
.home-chapter { display: flex; align-items: center; gap: .8rem; margin: 0 0 .95rem; font-size: .65rem; font-weight: 600; letter-spacing: .035em; color: var(--muted); }
.home-chapter>span { display: inline-flex; align-items: center; gap: .8rem; color: var(--home-accent); font: 500 .65rem/1.2 "Segoe UI", sans-serif; }
.home-chapter>span::after { content: ""; display: block; width: 26px; height: 1px; background: var(--line-strong); }
.home-crafted :is(.home-section-heading,.home-local-copy,.home-faq-intro,.home-contact-copy) h2 { margin: 0; font-size: clamp(1.75rem, 3.25vw, 3rem); line-height: 1.55; letter-spacing: -.035em; text-wrap: balance; }
.home-crafted :is(.home-section-heading,.home-local-copy,.home-faq-intro,.home-contact-copy) h2 em { color: var(--home-accent); font-style: normal; }
.home-section-lead { max-width: 66ch; margin: .95rem 0 0; font-size: .88rem; color: var(--muted); line-height: 1.95; }
.home-text-link { display: inline-flex; align-items: center; justify-content: flex-start; gap: .55rem; min-height: 44px; color: var(--home-accent); font-size: .76rem; font-weight: 600; }
.home-text-link>.icon, .home-secondary-link>.icon { width: 1rem; height: 1rem; transition: transform .2s; }
.home-text-link:hover>.icon { transform: translateX(-3px); }
[dir="ltr"] .home-text-link:hover>.icon { transform: translateX(3px); }
.home-section-heading>.home-text-link { flex-shrink: 0; border-bottom: 1px solid var(--line-strong); }
.home-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0 0 1.5rem; }
.home-tabs[hidden] { display: none; }
.home-tabs>button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 46px; padding: .65rem 1.1rem; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--muted); font: inherit; font-size: .78rem; font-weight: 600; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.home-tabs>button>.icon { width: 1.1rem; height: 1.1rem; }
.home-tabs>button:hover { color: var(--text); border-color: var(--line-strong); background: var(--home-glow); }
.home-tabs>button[aria-selected="true"] { background: var(--primary); border-color: var(--primary); color: var(--bg); }
:root[data-theme="light"] .home-tabs>button[aria-selected="true"] { color: #fff; }
.home-crafted [data-home-panel][hidden] { display: none; }
.home-crafted :is(.home-tabs>button,.home-text-link,.home-secondary-link,.home-work-art,.home-work-copy h3 a,.home-service-card h4 a,.home-map-tile,.home-trial-banner,.home-audit-link,.stats-bar>a,.home-contact-bottom>a):focus-visible { outline: 2px solid var(--home-accent); outline-offset: 4px; }
.home-work-panels>[data-home-panel]+[data-home-panel], .home-service-panels>[data-home-panel]+[data-home-panel], .home-stage-panels>[data-home-panel]+[data-home-panel] { margin-top: 2rem; }
.home-tabs-ready :is(.home-work-panels,.home-service-panels,.home-stage-panels)>[data-home-panel]+[data-home-panel] { margin-top: 0; }
.home-work-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1.2rem; }
.home-work-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); min-width: 0; border: 1px solid var(--line-strong); border-radius: var(--home-round); overflow: hidden; background: var(--home-paper); transition: border-color .2s, box-shadow .2s; }
.home-work-card:hover { border-color: color-mix(in srgb, var(--home-accent) 45%, var(--line)); box-shadow: 0 16px 40px rgb(0 0 0 / .06); }
.home-work-featured { grid-row: span 2; display: flex; flex-direction: column; }
.home-work-art { position: relative; display: block; min-width: 0; min-height: 200px; overflow: hidden; background: var(--surface-2); }
.home-work-art::after { content: ""; position: absolute; inset: 0; border: 1px solid rgb(255 255 255 / .07); pointer-events: none; }
.home-work-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .5s ease; }
.home-work-featured .home-work-art { aspect-ratio: 16 / 10; flex: 1; }
.home-work-featured .home-work-art img { position: absolute; inset: 0; }
.home-work-art:hover img { transform: scale(1.025); }
.home-work-open { position: absolute; inset-inline-end: 1rem; bottom: 1rem; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgb(255 255 255 / .5); border-radius: 50%; color: #17283e; background: rgb(248 251 255 / .92); box-shadow: 0 8px 24px rgb(0 0 0 / .1); }
.home-work-open>.icon { width: 1.25rem; height: 1.25rem; }
.home-work-index { position: absolute; inset-inline-start: 1rem; top: 1rem; padding: .3rem .5rem; border-radius: .4rem; background: rgb(18 31 51 / .85); color: #fff; font: 500 .65rem/1 "Segoe UI", sans-serif; }
.home-work-copy { min-width: 0; padding: 1.25rem; }
.home-work-category { margin: 0 0 .4rem; color: var(--home-accent); font-size: .6rem; font-weight: 600; }
.home-work-copy h3 { margin: 0; font-size: 1.1rem; line-height: 1.6; }
.home-work-featured h3 { font-size: 1.55rem; }
.home-work-copy>p:not(.home-work-category) { margin: .5rem 0 .75rem; font-size: .72rem; line-height: 1.95; color: var(--muted); }
.home-work-featured .home-work-copy { padding: 1.5rem; }
.home-work-featured .home-work-copy>p:not(.home-work-category) { font-size: .83rem; }
.home-chips { display: flex; flex-wrap: wrap; gap: .35rem .7rem; list-style: none; padding: 0; margin: .8rem 0; }
.home-chips>li { display: inline-flex; align-items: center; gap: .4rem; color: var(--muted); font-size: .58rem; }
.home-chips>li::before { content: ""; width: 3px; height: 3px; border-radius: 50%; background: var(--home-accent); }
.home-work-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: .3rem .75rem; margin-top: .7rem; padding-top: .45rem; border-top: 1px solid var(--line); }
.home-secondary-link { display: inline-flex; align-items: center; gap: .3rem; min-height: 44px; color: var(--muted); font-size: .65rem; }
.home-section-foot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.2rem; padding-top: .8rem; border-top: 1px solid var(--line); }
.home-section-foot>span { display: flex; align-items: center; gap: .5rem; font-size: .64rem; color: var(--muted); }
.home-section-foot>span>.icon { width: 1rem; height: 1rem; flex-shrink: 0; color: var(--home-accent); }
.home-results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.home-result-case { padding: 1.5rem; border: 1px solid var(--line-strong); border-radius: var(--home-round); background: radial-gradient(ellipse at 100% 0%, var(--home-glow), transparent 70%), var(--home-paper); }
.home-result-top { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; color: var(--muted); font-size: .58rem; }
.home-result-top>.icon { width: 1rem; height: 1rem; color: var(--home-accent); }
.home-result-period { margin-inline-start: auto; border: 1px solid var(--line); border-radius: 999px; padding: .3rem .55rem; }
.home-result-case h3 { font-size: 1.4rem; margin: 1rem 0 .75rem; }
.home-result-dates { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; font-size: .62rem; line-height: 1.85; color: var(--muted); }
.home-result-dates .icon { width: .9rem; height: .9rem; color: var(--home-accent); }
.home-result-table { width: 100%; border-collapse: collapse; margin: 1.1rem 0; }
.home-result-table :is(th,td) { padding: .8rem .35rem; border-bottom: 1px solid var(--line); text-align: start; font-size: .73rem; }
.home-result-table thead th { font-size: .6rem; color: var(--muted); font-weight: 500; }
.home-result-table tbody th { color: var(--text-soft); font-weight: 500; }
.home-result-table td { font-family: "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
.home-result-table td:last-child { color: var(--home-accent); font-weight: 700; font-size: .97rem; }
.home-evidence-note { font-size: .65rem; line-height: 1.9; color: var(--muted); }
.home-services-section { border-block: 1px solid var(--line); background: color-mix(in srgb, var(--surface-2) 48%, transparent); }
.home-service-paths { border: 1px solid var(--line-strong); border-radius: var(--home-round); overflow: hidden; background: var(--home-paper); }
.home-goal-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; border-bottom: 1px solid var(--line); }
.home-goal-tabs>button { position: relative; min-height: 76px; border: 0; border-radius: 0; font-size: .9rem; }
.home-goal-tabs>button+button { border-inline-start: 1px solid var(--line); }
.home-goal-tabs>button[aria-selected="true"] { color: var(--home-accent); background: var(--home-glow); }
:root[data-theme="light"] .home-goal-tabs>button[aria-selected="true"] { color: var(--home-accent); }
.home-goal-tabs>button[aria-selected="true"]::after { content: ""; position: absolute; inset-inline: 18%; bottom: -1px; height: 2px; background: var(--home-accent); }
.home-service-path { padding: 1.6rem; }
.home-path-intro { display: flex; gap: .9rem; align-items: center; padding: .5rem .25rem 1.4rem; }
.home-path-line { display: block; width: 3px; height: 48px; border-radius: 9px; background: linear-gradient(var(--home-accent), transparent); flex-shrink: 0; }
.home-path-intro h3 { font-size: 1.15rem; line-height: 1.7; margin: 0 0 .4rem; }
.home-path-intro p { color: var(--muted); font-size: .76rem; line-height: 1.9; margin: 0; max-width: 83ch; }
.home-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.home-service-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: 1.1rem; background: linear-gradient(130deg, var(--surface-2), var(--home-paper)); transition: border-color .2s; }
.home-service-card:hover { border-color: var(--home-accent); }
.home-service-symbol { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 1.1rem; border: 1px solid var(--line-strong); border-radius: 1.05rem; background: linear-gradient(145deg, color-mix(in srgb, var(--home-accent) 18%, var(--surface)), var(--surface)); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--text) 12%, transparent), 0 12px 25px var(--home-glow); color: var(--home-accent); }
.home-service-symbol>.icon { width: 1.6rem; height: 1.6rem; }
.home-service-card h4 { margin: 0; font-size: 1.2rem; line-height: 1.7; }
.home-service-card>p { margin: .55rem 0; color: var(--muted); font-size: .8rem; line-height: 1.95; }
.home-service-card>.home-text-link { margin-top: auto; padding-top: .6rem; }
.home-service-more { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1.4rem; border-top: 1px solid var(--line); padding: .85rem 1.75rem; }
.home-service-more>span { color: var(--muted); font-size: .63rem; margin-inline-end: auto; }
.home-service-more .home-text-link { font-size: .68rem; }
.home-service-directory { border-bottom: 1px solid var(--line-strong); }
.home-service-directory>summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 56px; padding: .8rem .2rem; color: var(--muted); font-size: .7rem; cursor: pointer; list-style: none; }
.home-service-directory>summary::-webkit-details-marker { display: none; }
.home-service-directory>summary::after { content: "+"; display: grid; place-items: center; flex-shrink: 0; width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; color: var(--home-accent); font: 400 1.1rem/1 "Segoe UI", sans-serif; }
.home-service-directory[open]>summary::after { content: "−"; }
.home-service-directory>summary:focus-visible { outline: 2px solid var(--home-accent); outline-offset: 3px; }
.home-service-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1.5rem; padding-bottom: 1rem; }
.home-service-catalog>a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 48px; padding: .6rem .5rem; color: var(--text-soft); font-size: .72rem; border-bottom: 1px solid var(--line); }
.home-service-catalog>a:hover { color: var(--home-accent); }
.home-service-catalog>a:focus-visible { outline: 2px solid var(--home-accent); outline-offset: 2px; }
.home-service-catalog>a>.icon { width: 1rem; height: 1rem; flex-shrink: 0; color: var(--home-accent); }
.home-trial-banner { display: flex; align-items: center; gap: 1rem; margin-top: 1rem; padding: 1.15rem 1.5rem; border: 1px solid var(--line-strong); border-radius: 1.1rem; background: linear-gradient(100deg, var(--home-glow), var(--home-paper)); transition: border-color .2s; }
.home-trial-banner:hover { border-color: var(--home-accent); }
.home-trial-banner-icon { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; color: var(--home-accent); }
.home-trial-banner-icon>.icon { width: 1.7rem; height: 1.7rem; }
.home-trial-banner strong { display: block; color: var(--text); font-size: .85rem; font-weight: 600; }
.home-trial-banner small { display: block; margin-top: .4rem; color: var(--muted); font-size: .64rem; line-height: 1.9; }
.home-trial-banner-action { display: inline-flex; gap: .6rem; align-items: center; flex-shrink: 0; margin-inline-start: auto; color: var(--home-accent); font-size: .7rem; }
.home-trial-banner-action>.icon { width: 1.2rem; height: 1.2rem; }
.home-method-frame { --home-accent: #a8c8ff; --text: #f2f6ff; --text-soft: #d0dcf0; --muted: #a9b9d1; --line: rgb(185 209 245 / .15); --line-strong: rgb(185 209 245 / .25); position: relative; overflow: hidden; color: var(--text); border: 1px solid #30425f; border-radius: 2rem; background: radial-gradient(ellipse at 0% 0%, rgb(89 134 213 / .16), transparent 60%), #101927; box-shadow: 0 25px 60px rgb(9 16 29 / .1); }
.home-method-top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding: 1.35rem 2rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .58rem; }
.home-method-top>span { display: inline-flex; align-items: center; gap: .4rem; }
.home-method-top .icon { width: .85rem; height: .85rem; }
.home-stage-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 1.4rem 2rem 0; }
.home-stage-tabs>button { justify-content: flex-start; min-height: 64px; padding: .8rem 1rem; border-radius: .85rem; font-size: .8rem; border-color: var(--line); color: var(--muted); }
.home-stage-tabs>button>small { margin-inline-start: auto; font: 500 .6rem/1 "Segoe UI", sans-serif; }
.home-stage-tabs>button[aria-selected="true"] { background: #dce8ff; color: #162b49; border-color: #dce8ff; }
:root[data-theme="light"] .home-stage-tabs>button[aria-selected="true"] { color: #162b49; }
.home-stage-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3rem; padding: 2.2rem 2rem 2.5rem; }
.home-stage-copy { position: relative; min-width: 0; padding-top: .6rem; }
.home-stage-number { display: block; margin-bottom: 1rem; color: #8cb1ed; font: 300 3.5rem/1 "Segoe UI", sans-serif; letter-spacing: -.07em; }
.home-stage-copy h3 { margin: .5rem 0 .75rem; font-size: clamp(1.3rem, 2vw, 1.9rem); line-height: 1.65; color: #f2f6ff; }
.home-stage-copy>p { margin: 0; font-size: .83rem; color: #acbed8; line-height: 2; max-width: 52ch; }
.home-stage-output { align-self: center; min-width: 0; border: 1px solid var(--line-strong); border-radius: 1.1rem; padding: 1.5rem; background: linear-gradient(135deg, rgb(162 194 247 / .08), rgb(162 194 247 / .025)); box-shadow: inset 0 1px 0 rgb(255 255 255 / .035); }
.home-stage-output>p { margin: 0 0 .8rem; color: #a4c2ef; font-size: .6rem; letter-spacing: .04em; }
.home-stage-output h4 { font-size: .98rem; color: #e7eefc; margin: 0 0 1.3rem; line-height: 1.8; }
.home-stage-output ol { list-style: none; margin: 0; padding: 0; }
.home-stage-output li { display: flex; align-items: center; gap: .7rem; min-height: 48px; padding: .7rem 0; border-top: 1px solid var(--line); color: #d0ddf1; font-size: .72rem; }
.home-stage-output li>span { color: #8a9ebc; font: 500 .6rem/1 "Segoe UI", sans-serif; }
.home-stage-output li>.icon { margin-inline-start: auto; color: #abcaff; width: .9rem; height: .9rem; flex-shrink: 0; }
.home-method-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); padding: .8rem 2rem; }
.home-method-foot>span { display: flex; gap: .55rem; align-items: center; color: #a9bbd6; font-size: .62rem; }
.home-method-foot>span>.icon { width: 1rem; height: 1rem; flex-shrink: 0; color: #b5cefb; }
.home-method-foot .home-text-link { color: #b5cefb; flex-shrink: 0; }
.home-local-section { border-block: 1px solid var(--line); background: radial-gradient(ellipse at 0% 40%, var(--home-glow), transparent 65%); }
.home-local-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.home-local-copy>p:not(.home-chapter) { max-width: 53ch; margin: 1rem 0 1.3rem; color: var(--muted); font-size: .86rem; line-height: 2; }
.home-local-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.home-local-actions>.button { font-size: .76rem; }
.home-local-actions>.home-text-link { font-size: .68rem; }
.home-audit-link { display: flex; align-items: center; gap: .75rem; margin-top: 1.2rem; padding: 1rem 0; border-top: 1px solid var(--line-strong); font-size: .8rem; color: var(--text-soft); }
.home-audit-link small { display: block; margin-top: .3rem; font-size: .65rem; color: var(--muted); }
.home-audit-link>.icon { color: var(--home-accent); width: 1.2rem; height: 1.2rem; flex-shrink: 0; }
.home-audit-link>.icon:last-child { margin-inline-start: auto; }
.home-map-gallery { min-width: 0; padding: 1rem; border: 1px solid var(--line-strong); border-radius: var(--home-round); background: var(--home-paper); box-shadow: 0 18px 40px rgb(0 0 0 / .04); }
.home-map-gallery-head { display: flex; justify-content: space-between; align-items: center; gap: .6rem; margin: .2rem .2rem 1rem; font-size: .62rem; color: var(--muted); }
.home-map-gallery-head>span:first-child { display: inline-flex; align-items: center; gap: .35rem; }
.home-map-gallery-head .icon { width: .9rem; height: .9rem; color: var(--home-accent); }
.home-map-gallery-head>span:last-child { font: 500 .56rem/1 "Segoe UI", sans-serif; }
.home-map-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.home-map-tile { position: relative; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-radius: .85rem; overflow: hidden; background: var(--surface-2); transition: border-color .2s; }
.home-map-tile:hover { border-color: var(--home-accent); }
.home-map-tile img { display: block; width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; }
.home-map-tile>span { padding: .7rem; padding-inline-end: 1.8rem; }
.home-map-tile strong { display: block; font-size: .66rem; font-weight: 600; line-height: 1.85; }
.home-map-tile small { display: block; margin-top: .15rem; font-size: .53rem; color: var(--muted); }
.home-map-tile>.icon { position: absolute; bottom: 1.15rem; inset-inline-end: .5rem; color: var(--home-accent); width: .9rem; height: .9rem; }
.home-map-gallery>p { margin: .85rem .2rem .1rem; font-size: .56rem; line-height: 1.9; color: var(--muted); }
.home-insight-grid .post-card { border-radius: var(--home-round); background: var(--home-paper); box-shadow: none; }
.home-insight-grid .post-card h3 { font-size: 1.1rem; line-height: 1.75; }
.home-insight-grid .post-card-content>p { font-size: .76rem; line-height: 1.95; }
.home-insight-grid .post-cover-category { background: var(--surface-glass); color: var(--text); border-color: var(--line-strong); }
.home-insight-grid .keyword-row { display: none; }
.home-insight-grid .post-meta { color: var(--muted); }
.home-insight-grid .text-link { color: var(--home-accent); min-height: 44px; font-size: .73rem; }
.home-faq-section { border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface-2) 50%, transparent); }
.home-faq-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 4rem; align-items: start; }
.home-faq-intro { position: relative; min-width: 0; }
.home-faq-intro>p:not(.home-chapter) { color: var(--muted); font-size: .84rem; line-height: 2; margin: 1rem 0; max-width: 49ch; }
.home-faq-mark { margin-top: 1rem; font: 300 8rem/1 "Segoe UI", sans-serif; color: var(--home-accent); opacity: .15; }
.home-faq-list { min-width: 0; }
.home-faq-list .accordion>details { margin: 0; border: 0; border-top: 1px solid var(--line-strong); border-radius: 0; background: transparent; }
.home-faq-list .accordion>details:last-child { border-bottom: 1px solid var(--line-strong); }
.home-faq-list .accordion summary { min-height: 64px; padding: 1.15rem 0; font-size: .87rem; font-weight: 600; line-height: 1.85; }
.home-faq-list .accordion details>p { padding: 0 0 1.2rem; margin: 0; font-size: .78rem; line-height: 2; color: var(--muted); }
.home-faq-list .accordion details[open] summary { color: var(--home-accent); }
.home-contact-panel { position: relative; isolation: isolate; overflow: hidden; min-height: 380px; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); border: 1px solid var(--line-strong); border-radius: 2rem; padding: clamp(1.5rem, 4vw, 3.5rem); background: radial-gradient(ellipse at 5% 30%, var(--home-glow), transparent 60%), linear-gradient(120deg, var(--home-paper), var(--surface-3)); }
.home-contact-copy { grid-column: 1; grid-row: 1; min-width: 0; }
.home-contact-copy>p:not(.home-chapter) { color: var(--muted); font-size: .86rem; line-height: 2; margin: 1rem 0 1.4rem; max-width: 60ch; }
.home-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; }
.home-contact-actions>.button { min-height: 50px; font-size: .8rem; }
.home-contact-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.3rem; border-top: 1px solid var(--line-strong); margin-top: 1.6rem; padding-top: .9rem; color: var(--muted); font-size: .6rem; }
.home-contact-bottom>span, .home-contact-bottom>a { display: flex; align-items: center; gap: .4rem; }
.home-contact-bottom>a { min-height: 44px; color: var(--home-accent); }
.home-contact-bottom .icon { width: .95rem; height: .95rem; }
.home-contact-orbit { grid-column: 2; grid-row: 1; display: grid; place-items: center; position: relative; min-width: 0; align-self: center; aspect-ratio: 1; color: var(--home-accent); pointer-events: none; }
.home-contact-orbit>strong { font: 500 clamp(4rem, 9vw, 8rem)/1 "Segoe UI", sans-serif; letter-spacing: -.1em; opacity: .48; text-shadow: 0 8px 40px var(--home-glow); }
.home-contact-orbit>span { position: absolute; inset: 6%; border: 1px solid color-mix(in srgb, var(--home-accent) 28%, transparent); border-radius: 50%; transform: rotate(-32deg) scaleY(.68); }
.home-contact-orbit>span:last-of-type { transform: rotate(32deg) scaleY(.68); border-style: dashed; }
.home-contact-orbit>span::after { content: ""; position: absolute; top: 50%; left: -4px; width: 7px; height: 7px; border-radius: 50%; background: var(--home-accent); box-shadow: 0 0 18px var(--home-accent); }
body:has([data-home-crafted]) .business-map-section { background: var(--bg); border-top-color: var(--line); }
body:has([data-home-crafted]) .business-map-heading h2 { font-size: clamp(1.4rem, 2.1vw, 1.9rem); line-height: 1.7; }
body:has([data-home-crafted]) .business-map-bar { box-shadow: none; background: var(--surface); }
body:has([data-home-crafted]) .site-footer { border-top: 1px solid var(--line-strong); background: var(--surface); }
@media (prefers-reduced-motion: no-preference) {
 .home-tabs-ready [data-home-panel]:not([hidden]) { animation: homePanelIn .3s ease both; }
 @keyframes homePanelIn { from { opacity: .4; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 1100px) {
 .home-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .home-work-card:not(.home-work-featured) { display: flex; flex-direction: column; }
 .home-work-card:not(.home-work-featured) .home-work-art { min-height: 0; height: 170px; }
 .home-work-featured .home-work-art { flex: 1; aspect-ratio: auto; min-height: 310px; }
 .home-stage-panel { gap: 1.5rem; }
 .home-stage-tabs>button { gap: .35rem; padding-inline: .65rem; font-size: .75rem; }
 .home-stage-tabs>button>.icon { display: none; }
 .home-faq-grid { gap: 2rem; }
}
@media (max-width: 800px) {
 .home-local-grid, .home-faq-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
 .home-map-gallery { max-width: 680px; width: 100%; }
 .home-faq-mark { display: none; }
 .home-stage-panel { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
 .home-stage-number { font-size: 2.5rem; margin-bottom: .6rem; }
 .home-contact-panel { grid-template-columns: minmax(0, 1fr); }
 .home-contact-orbit { position: absolute; width: 250px; inset-inline-end: -70px; top: -60px; z-index: -1; opacity: .22; }
}
@media (max-width: 620px) {
 .home-crafted { --home-round: 1.2rem; }
 .home-section-heading { display: block; margin-bottom: 1.5rem; }
 .home-section-heading>.home-text-link { margin-top: .5rem; }
 .home-crafted :is(.home-section-heading,.home-local-copy,.home-faq-intro,.home-contact-copy) h2 { font-size: clamp(1.55rem, 5.9vw, 2.1rem); line-height: 1.65; }
 .home-chapter { font-size: .59rem; margin-bottom: .75rem; }
 .home-section-lead { font-size: .79rem; line-height: 2; }
 .home-tabs { gap: .35rem; }
 .home-tabs>button { flex: 1 1 auto; padding: .6rem .75rem; font-size: .67rem; }
 .home-tabs>button>.icon { width: .95rem; height: .95rem; }
 .home-work-explorer>.home-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .home-work-explorer>.home-tabs>button { padding-inline: .35rem; }
 .home-work-explorer>.home-tabs>button>.icon { display: none; }
 .home-work-grid, .home-results-grid, .home-service-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
 .home-work-featured { grid-row: auto; }
 .home-work-featured .home-work-art, .home-work-card:not(.home-work-featured) .home-work-art { flex: none; min-height: 0; aspect-ratio: 16 / 10; height: auto; }
 .home-work-art img, .home-work-featured .home-work-art img { position: absolute; inset: 0; }
 .home-work-card, .home-work-card:not(.home-work-featured) { display: flex; flex-direction: column; }
 .home-work-copy, .home-work-featured .home-work-copy { padding: 1.15rem; }
 .home-work-copy h3, .home-work-featured h3 { font-size: 1.2rem; }
 .home-work-copy>p:not(.home-work-category), .home-work-featured .home-work-copy>p:not(.home-work-category) { font-size: .77rem; }
 .home-section-foot { flex-wrap: wrap; align-items: flex-start; gap: .2rem; }
 .home-section-foot>span { font-size: .61rem; line-height: 1.9; }
 .home-result-case { padding: 1.1rem; }
 .home-result-table :is(th,td) { font-size: .69rem; }
 .home-result-table td:last-child { font-size: .9rem; }
 .home-goal-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
 .home-goal-tabs>button { flex-direction: column; min-height: 78px; gap: .45rem; padding-inline: .3rem; font-size: .7rem; }
 .home-service-path { padding: 1rem; }
 .home-path-intro { gap: .65rem; padding: .35rem 0 1.1rem; }
 .home-path-intro h3 { font-size: 1rem; }
 .home-path-intro p { font-size: .73rem; }
 .home-service-card { padding: 1.2rem; }
 .home-service-card h4 { font-size: 1.1rem; }
 .home-service-card>p { font-size: .76rem; }
 .home-service-symbol { width: 54px; height: 54px; margin-bottom: .9rem; }
 .home-service-more { gap: .2rem 1rem; padding: .8rem 1rem; }
 .home-service-more>span { flex-basis: 100%; }
 .home-service-catalog { grid-template-columns: minmax(0, 1fr); }
 .home-trial-banner { padding: 1rem; gap: .6rem; }
 .home-trial-banner-icon { width: 28px; }
 .home-trial-banner strong { font-size: .74rem; line-height: 1.9; }
 .home-trial-banner small { font-size: .61rem; }
 .home-trial-banner-action { font-size: 0; gap: 0; }
 .home-trial-banner-action>.icon { width: 1.1rem; height: 1.1rem; }
 .home-method-frame { border-radius: 1.3rem; }
 .home-method-top { padding: 1rem; font-size: .5rem; }
 .home-stage-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1rem 1rem 0; gap: .5rem; }
 .home-stage-tabs>button { min-height: 52px; justify-content: flex-start; padding: .7rem .8rem; font-size: .74rem; }
 .home-stage-panel { padding: 1.4rem 1rem; }
 .home-stage-copy h3 { font-size: 1.25rem; }
 .home-stage-copy>p { font-size: .78rem; }
 .home-stage-output { padding: 1.1rem; }
 .home-stage-output li { font-size: .7rem; }
 .home-method-foot { padding: .75rem 1rem; flex-wrap: wrap; gap: .3rem; }
 .home-method-foot>span { font-size: .6rem; line-height: 1.9; }
 .home-local-copy>p:not(.home-chapter), .home-faq-intro>p:not(.home-chapter) { font-size: .79rem; }
 .home-map-gallery { padding: .8rem; }
 .home-map-gallery-head { font-size: .57rem; }
 .home-map-tile strong { font-size: .61rem; }
 .home-map-tile small { font-size: .5rem; }
 .home-faq-list .accordion summary { font-size: .8rem; min-height: 60px; }
 .home-faq-list .accordion details>p { font-size: .75rem; }
 .home-contact-panel { border-radius: 1.3rem; }
 .home-contact-copy>p:not(.home-chapter) { font-size: .79rem; }
 .home-contact-actions>.button { flex: 1 1 auto; font-size: .75rem; }
 .home-contact-bottom { font-size: .57rem; }
 .home-crafted .hero.home-opening .stats-bar>a { padding: 1rem .7rem; }
 .home-crafted .hero.home-opening .stats-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .home-crafted .hero.home-opening .stats-bar>a:nth-child(3) { border-inline-start: 0; }
 .home-crafted .hero.home-opening .stats-bar>a:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (prefers-reduced-motion: reduce) {
 .home-crafted :is(.home-tabs>button,.home-work-card,.home-work-art img,.home-text-link>.icon,.home-map-tile,.home-service-card,.home-trial-banner,.stats-bar>a) { animation: none; transition: none; }
 .home-work-art:hover img, .home-text-link:hover>.icon, [dir="ltr"] .home-text-link:hover>.icon { transform: none; }
}
@media print {
 .home-tabs { display: none !important; }
 .home-crafted [data-home-panel][hidden] { display: block !important; margin-block: 1rem; }
 .home-work-grid, .home-service-grid, .home-stage-panel, .home-results-grid { display: block; }
 .home-work-card, .home-result-case, .home-service-card { break-inside: avoid; margin-block: 1rem; }
}
