/* Factoral boutique assignments. Official DADS source remains in dads.css. */
:root {
  --font-family-sans: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,"Noto Sans JP",system-ui,sans-serif;
  --page-bg:#fff; --surface:#f7f5f0; --ink:#20201e; --muted:#575750; --line:#d7d5ce;
  --control-line:#85857d; --accent:var(--color-key-900); --container-max:75rem; --anchor-gap:8rem;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--anchor-gap); }
html.menu-open { overflow:hidden; }
body { margin:0; background:var(--page-bg); color:var(--ink); font-size:1.0625rem; line-height:1.8; }
[hidden] { display:none !important; }
button { cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
svg { flex-shrink:0; }
h1,h2,h3,p,a,dt,dd,figcaption,strong,span { overflow-wrap:anywhere; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-weight:700; }
h1 { line-height:1.35; letter-spacing:-.045em; }
h2 { font-size:clamp(1.75rem,3.1vw,2.75rem); line-height:1.5; letter-spacing:-.035em; }
h3 { font-size:1.5rem; line-height:1.5; letter-spacing:-.02em; }
:where(a),:where(a):visited { color:var(--accent); }
:where(a):hover { color:var(--color-key-1000); }
:where(a):active { color:var(--color-key-1200); }
:where(a):focus-visible { background:var(--color-primitive-yellow-300); color:var(--ink); }
:where(h1,h2,h3,main):focus-visible { outline-offset:.375rem; }
.container { width:min(calc(100% - 4rem),var(--container-max)); margin-inline:auto; }
.skip-link { position:fixed; top:-10rem; left:1rem; z-index:100; padding:.75rem 1rem; background:#fff; }
.skip-link:focus { top:1rem; }
.eyebrow { display:flex; align-items:center; gap:.75rem; margin-bottom:1.5rem; color:var(--muted); font-size:1rem; font-weight:400; }
.eyebrow::before { content:""; flex:0 0 1.5rem; height:1px; background:currentColor; }
.inline-link { display:inline-flex; align-items:center; gap:1rem; min-height:2.75rem; font-size:1rem; font-weight:700; text-underline-offset:.4em; text-decoration-thickness:1px; }
.dads-button { gap:1.5rem; line-height:1.5; border-radius:.25rem; text-align:center; }
.dads-button > span[aria-hidden] { flex-shrink:0; }
.booking-action { max-width:100%; }
.dads-hamburger-menu-button { min-height:2.75rem; }

/* Ordinary navigation is the no-JavaScript baseline. */
.site-header { position:sticky; top:0; z-index:20; background:#fff; border-bottom:1px solid var(--line); }
.nav-shell { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:1rem; }
.brand,.brand:visited { display:inline-flex; align-items:center; gap:.65rem; min-height:2.75rem; color:var(--ink); font-size:1.75rem; font-weight:700; letter-spacing:-.055em; text-decoration:none; }
.brand-mark { width:.65rem; height:.65rem; flex:0 0 auto; background:var(--accent); transform:rotate(45deg); }
.desktop-nav { display:flex; flex-wrap:wrap; gap:.25rem 1.75rem; justify-content:center; }
.desktop-nav a { display:inline-flex; align-items:center; min-height:2.75rem; font-size:1rem; color:var(--ink); text-decoration:none; }
.desktop-nav a:hover { color:var(--accent); text-decoration:underline; text-underline-offset:.4em; }
.language-switch { display:flex; align-items:center; flex-shrink:0; gap:.125rem; font-size:1rem; }
.language-switch a { display:inline-flex; align-items:center; justify-content:center; min-width:2rem; min-height:2.75rem; color:var(--muted); text-decoration:none; }
.language-switch a[aria-current="page"] { color:var(--accent); font-weight:700; text-decoration:underline; text-underline-offset:.4em; }
.language-switch a:hover { color:var(--accent); text-decoration:underline; text-underline-offset:.4em; }
.language-switch a:focus-visible { color:var(--ink); }
.language-switch > span { color:var(--muted); }
.menu-toggle { display:none; }
.dads-drawer { width:min(24rem,100%); }
.dads-drawer__header { border-bottom:1px solid var(--line); }
.mobile-nav { display:flex; flex-direction:column; padding:1rem 1.5rem 2rem; }
.mobile-nav a { padding:1rem .5rem; border-bottom:1px solid var(--line); font-size:1.0625rem; }

/* The proposition is the hero, not a simulated application. */
.hero { padding-block:6rem 0; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 11rem; column-gap:4rem; }
.hero h1 { font-size:clamp(3rem,5.3vw,4.5rem); }
.hero h1 > span { display:block; }
.hero .eyebrow { margin-bottom:2rem; }
.hero .eyebrow::before { background:var(--accent); height:2px; flex-basis:2rem; }
.hero-lead { max-width:33em; margin-top:2rem; color:var(--muted); font-size:1.125rem; }
.hero-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:1.25rem 2.5rem; margin-top:2rem; }
.hero-secondary { margin-top:.5rem; }
.hero-margin { display:flex; flex-direction:column; align-self:center; font-size:.875rem; line-height:2; letter-spacing:.05em; color:var(--muted); }
.hero-rule { width:100%; height:1px; background:var(--line); margin-block:1.5rem; }
.hero-bottom { grid-column:1/-1; display:flex; justify-content:flex-end; align-items:center; margin-top:4rem; padding-block:1.5rem; border-top:1px solid var(--line); }

/* Person: warm photography and an editorial 5:7 relationship. */
.section { padding-block:7rem; }
.section-tinted { background:var(--surface); }
.section-head { margin-bottom:3.5rem; }
.profile-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:5rem; align-items:center; }
.portrait { margin:0; }
.portrait img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:.25rem; }
.portrait figcaption { display:flex; flex-wrap:wrap; gap:.25rem 1rem; align-items:baseline; margin-top:1.5rem; font-size:.875rem; color:var(--muted); }
.portrait-name { color:var(--ink); font-size:1.75rem; font-weight:700; letter-spacing:.04em; }
.profile-copy h2 > span { display:block; }
.profile-copy h2 { font-size:clamp(1.75rem,2.5vw,2.375rem); }
.profile-lead { margin-top:1.75rem; color:var(--muted); }
.credentials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 2rem; margin-block:2rem; }
.credentials > div { padding-top:.75rem; border-top:1px solid var(--line); }
.credentials h3 { font-size:1rem; }
.credentials p { font-size:1rem; color:var(--muted); margin-top:.25rem; }

/* Inquiry themes form a readable index rather than cards. */
#challenges { padding-bottom:5rem; }
.challenge-grid { border-top:1px solid var(--ink); }
.challenge-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto; gap:1rem 2rem; align-items:center; padding-block:2rem; border-bottom:1px solid var(--line); }
.challenge-row > p { color:var(--muted); }
.challenge-row .inline-link { justify-self:start; }

/* Service diagrams show the support relationship, not specimen documents. */
#deliverables { padding-top:3rem; }
#deliverables .section-head { max-width:48rem; margin-bottom:4rem; }
.deliverables-grid { display:flex; flex-direction:column; gap:5rem; }
.deliverable { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:center; gap:4rem; min-width:0; }
.deliverable:nth-child(even) { grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
.deliverable:nth-child(even) .service-copy { order:2; }
.service-index { color:var(--muted); font-size:.875rem; letter-spacing:.1em; margin-bottom:1.25rem; }
.service-copy h3 { font-size:clamp(1.75rem,2.6vw,2.25rem); }
.service-summary { display:flex; flex-wrap:wrap; gap:.25rem 1rem; max-width:24em; margin:1.5rem 0 0; padding:0; list-style:none; color:var(--muted); }
.service-summary li { min-width:0; overflow-wrap:anywhere; }
.support-diagram { --diagram-line:#b8c9ff; position:relative; margin:0; padding:2rem; border-radius:.75rem; overflow:hidden; isolation:isolate; container: support / inline-size; }
.support-diagram::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:radial-gradient(currentColor .6px,transparent .6px); background-size:20px 20px; opacity:.1; }
.diagram-strategy { color:#fff; background:radial-gradient(ellipse at 100% 0,#263b7d,transparent 65%),#141c37; }
.map-inputs,.map-outputs { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; list-style:none; padding:0; margin:0; text-align:center; }
.map-inputs li { flex:1 1 5rem; border:1px solid #94a6d4; border-radius:.25rem; padding:.75rem .25rem; font-size:1rem; background:#202e55; }
.map-converge { height:2.25rem; width:70%; margin:auto; display:flex; justify-content:space-between; border-bottom:1px solid var(--diagram-line); }
.map-converge i { display:block; width:1px; background:var(--diagram-line); }
.strategy-hub { position:relative; margin:1.75rem auto 0; padding:1.5rem; max-width:22rem; background:#fff; color:var(--ink); border-radius:.375rem; text-align:center; box-shadow:0 1rem 2.5rem #0003; }
.strategy-hub::before { content:""; position:absolute; height:1.75rem; width:1px; background:var(--diagram-line); left:50%; top:-1.75rem; }
.strategy-hub > span { display:block; font-size:.875rem; color:var(--accent); margin-bottom:.5rem; }
.strategy-hub strong { font-size:1.25rem; line-height:1.6; }
.map-split { height:1.75rem; width:1px; background:var(--diagram-line); margin:auto; }
.map-outputs li { flex:1 1 8rem; padding:.75rem .5rem; background:#344a86; color:#fff; border-top:2px solid #b8c9ff; font-size:1rem; }

.diagram-market { background:#eef2fc; color:#162952; }
.market-map { position:relative; padding:.5rem 0; }
.market-center { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; pointer-events:none; }
.market-center span { font-size:.875rem; letter-spacing:.18em; color:#43567e; }
.market-center strong { font-size:1.125rem; }
.market-cycle { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6.5rem 3rem; padding:0; margin:0; list-style:none; }
.market-cycle li { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid #7184ad; border-radius:.375rem; padding:1rem; box-shadow:0 .5rem 1.5rem #1c367309; }
.market-cycle li:nth-child(3) { grid-column:2; grid-row:2; }
.market-cycle li:nth-child(4) { grid-column:1; grid-row:2; }
.market-cycle strong { font-size:1rem; }
.market-cycle li > span:not(.node-step) { font-size:.875rem; color:#43567e; }
.node-step { color:var(--accent); font-size:.875rem; margin-bottom:.5rem; }
.market-cycle i { position:absolute; font-style:normal; font-size:1.5rem; color:var(--accent); }
.market-cycle li:nth-child(1) i { right:-2rem; top:calc(50% - 1rem); }
.market-cycle li:nth-child(2) i { bottom:-4.25rem; left:calc(50% - .75rem); }
.market-cycle li:nth-child(3) i { left:-2rem; top:calc(50% - 1rem); }
.market-cycle li:nth-child(4) i { top:-4.25rem; left:calc(50% - .75rem); }

.diagram-product { color:#fff; background:linear-gradient(145deg,#0017c1,#182c78); }
.build-stack { list-style:none; margin:0; padding:0; }
.build-stack li { display:flex; align-items:center; gap:1rem; padding:1.125rem; background:#fff; color:var(--ink); border-radius:.375rem; box-shadow:0 .75rem 1.5rem #0002; margin-bottom:1rem; width:calc(100% - 2rem); position:relative; }
.build-stack li:nth-child(2) { margin-left:1rem; background:#edf1ff; }
.build-stack li:nth-child(3) { margin-left:2rem; background:#dfe7ff; margin-bottom:0; }
.build-stack li:not(:last-child)::after { content:"↓"; position:absolute; right:1.25rem; bottom:-1.4rem; color:#fff; font-size:1.25rem; z-index:1; }
.build-index { align-self:flex-start; color:#43527a; font-size:.875rem; }
.build-stack li > div { min-width:0; flex:1; }
.build-stack li > div > span { display:block; font-size:.875rem; color:#43527a; letter-spacing:.08em; }
.build-stack strong { display:block; font-size:1.125rem; }
.build-stack p { font-size:.875rem; color:#43527a; }
.build-mark { font-size:1.75rem; color:var(--accent); }

.diagram-operations { background:#e9eeea; color:#20392d; --diagram-line:#647b6c; }
.ops-source,.ops-result { position:relative; padding:1.125rem; background:#fff; border:1px solid #647b6c; text-align:center; border-radius:.375rem; }
.ops-source > span,.ops-result > span { display:block; color:#425b4c; font-size:.875rem; }
.ops-source strong,.ops-result strong { font-size:1.125rem; }
.ops-branch,.ops-merge { position:relative; width:calc(50% + .5rem); height:1.75rem; margin:auto; }
.ops-branch { border-bottom:1px solid var(--diagram-line); }
.ops-merge { border-top:1px solid var(--diagram-line); }
.ops-branch::before,.ops-merge::before { content:""; position:absolute; width:1px; height:100%; background:var(--diagram-line); left:50%; }
.ops-lanes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; position:relative; }
.ops-lane { padding:1.25rem .75rem; background:#d4ded6; border-top:2px solid #647b6c; text-align:center; }
.ops-lane:last-child { background:#f8f9f6; }
.ops-lane strong { display:block; font-size:1rem; }
.ops-lane p { font-size:.875rem; color:#425b4c; }
.lane-symbol { display:block; color:#315c43; font-size:1.75rem; line-height:1.4; margin-bottom:.5rem; }
.ops-result { background:#263e30; color:#fff; }
.ops-result > span { color:#d8e6dc; }
.dads-description-list { margin:1.25rem 0 0; gap:.25rem; }
.dads-description-list dt { font-size:1rem; }
.dads-description-list dd { margin:0 0 1rem; color:var(--muted); }
.dads-description-list dd:last-child { margin-bottom:0; }

/* A connected process, then comparable engagement options. */
#process { border-top:1px solid var(--line); padding-block:6rem 8rem; }
.process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; margin:0; padding:0; list-style:none; }
.process-card { border-top:1px solid var(--control-line); position:relative; padding-top:1.5rem; }
.process-card:not(:last-child)::after { content:"→"; position:absolute; right:-1.75rem; top:-.95rem; background:#fff; color:var(--muted); }
.step-number { font-size:.875rem; color:var(--muted); margin-bottom:1.5rem; }
.process-card h3 { font-size:1.75rem; margin-bottom:1rem; }
.process-card > p { color:var(--muted); }
.plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.content-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--control-line); background:#fff; padding:2.5rem; }
.plan-label { font-size:1rem; color:var(--muted); margin-bottom:.75rem; }
.plan h3 { font-size:1.75rem; }
.plan .dads-description-list { padding-top:1.5rem; margin-block:1.5rem; border-top:1px solid var(--line); }
.plan-link { align-self:flex-start; margin-top:auto; }
.plans-consultation { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding-top:3rem; }
.plans-consultation h3 { font-size:1.375rem; }
.plans-consultation .booking-action { flex-shrink:0; }
.faq-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:4rem; }
.faq-list { border-top:1px solid var(--control-line); }
.dads-accordion__summary { min-height:3rem; cursor:pointer; }
.dads-accordion__summary h3 { font-size:1.125rem; letter-spacing:0; }

/* Contrasting closing chapter; same booking destination. */
.contact-section { padding-block:7rem; background:var(--ink); color:#fff; }
.contact-panel { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3rem; align-items:center; }
.contact-panel h2 { font-size:clamp(2rem,4.5vw,4rem); }
.contact-panel h2 > span { display:block; }
.contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:1.5rem; }
.contact-section .dads-button[data-type="solid-fill"] { background:#fff; color:var(--accent); border-color:#fff; }
.contact-section .dads-button[data-type="solid-fill"]:hover { background:#e8f1fe; color:var(--color-key-1000); border-color:#e8f1fe; }
.contact-section .dads-button[data-type="solid-fill"]:active { background:#d9e6ff; color:var(--color-key-1200); border-color:#d9e6ff; }
.contact-section .inline-link { color:#fff; }
.contact-section a:focus-visible { background:var(--color-primitive-yellow-300); color:var(--ink); }
.footer { padding-block:2rem; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.footer-brand { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; font-size:.875rem; color:var(--muted); }
.footer-logo { width:7.5rem; height:auto; }
.footer-links { display:flex; flex-wrap:wrap; gap:.5rem 1.25rem; }
.footer-links a { display:inline-flex; align-items:center; min-height:2.75rem; font-size:.875rem; }

@media (max-width:79.999rem) {
  .nav-shell { gap:1rem; }
  .desktop-nav { column-gap:1rem; }
  .brand { font-size:1.5rem; }
  .profile-grid { gap:3rem; }
}
@media (max-width:63.999rem) {
  :root { --anchor-gap:6rem; }
  .nav-shell { flex-wrap:wrap; }
  .desktop-nav { order:3; flex-basis:100%; justify-content:flex-start; }
  .header-booking { margin-left:auto; }
  .language-switch { margin-left:auto; }
  .menu-ready .desktop-nav,.menu-ready .header-booking { display:none; }
  .menu-ready .menu-toggle { display:flex; }
  html:not(.menu-ready) .site-header { position:static; }
  .hero { padding-top:4.5rem; }
  .hero-grid { grid-template-columns:minmax(0,1fr); }
  .hero-margin { display:none; }
  .hero h1 { font-size:clamp(2.5rem,6.5vw,4rem); }
  .section { padding-block:6rem; }
  .profile-grid { gap:2rem; }
  .challenge-row { grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); }
  .challenge-row h3 { grid-row:span 2; }
  .challenge-row .inline-link { grid-column:2; }
  .content-card { padding:2rem; }
  .plans-consultation,.footer-inner { flex-direction:column; align-items:flex-start; }
  .faq-grid { gap:2rem; }
  .contact-panel { grid-template-columns:1fr; }
}
@media (max-width:47.999rem) {
  .container { width:calc(100% - 2rem); }
  .nav-shell { padding-block:.75rem; }
  .eyebrow { margin-bottom:1.25rem; }
  .hero { padding-top:3.5rem; }
  .hero .eyebrow { font-size:.875rem; gap:.5rem; margin-bottom:1.5rem; }
  .hero .eyebrow::before { flex-basis:1rem; }
  .hero h1 { font-size:clamp(2rem,9.4vw,2.5rem); line-height:1.5; }
  .hero-lead { font-size:1.0625rem; margin-top:1.5rem; }
  .hero-actions { flex-direction:column; align-items:stretch; gap:.75rem; }
  .hero-actions .dads-button,.hero-actions .booking-action { width:100%; }
  .hero-secondary { align-self:flex-start; margin-top:0; }
  .hero-bottom { margin-top:2rem; padding-block:1.25rem; }
  .section { padding-block:4.5rem; }
  .section-head { margin-bottom:2.5rem; }
  .profile-grid,.plans,.process-grid,.faq-grid { grid-template-columns:1fr; }
  .profile-grid { gap:2.5rem; }
  .portrait { max-width:28rem; }
  .portrait figcaption { margin-top:1rem; }
  .profile-copy h2 { font-size:1.75rem; }
  .credentials { gap:1rem; }
  #challenges { padding-bottom:3.5rem; }
  .challenge-row { grid-template-columns:1fr; gap:1rem; padding-block:1.75rem; }
  .challenge-row h3 { grid-row:auto; }
  .challenge-row .inline-link { grid-column:auto; }
  #deliverables { padding-top:1rem; }
  .deliverables-grid { gap:3rem; }
  #process { padding-block:3.5rem 4.5rem; }
  .process-grid { gap:2.5rem; }
  .process-card { border-top:0; border-left:1px solid var(--control-line); padding:0 0 0 1.5rem; }
  .process-card:not(:last-child)::after { content:"↓"; top:auto; bottom:-1.75rem; left:-.45rem; right:auto; padding-block:.125rem; }
  .step-number { margin-bottom:.5rem; }
  .content-card { padding:1.5rem; }
  .plans-consultation .booking-action { flex-shrink:1; width:100%; }
  .plans-consultation .dads-button { width:100%; }
  .faq-grid { gap:0; }
  .contact-section { padding-block:4.5rem; }
  .contact-actions,.contact-actions .booking-action,.contact-actions .dads-button { width:100%; }
  .contact-panel h2 { font-size:2rem; }
}
@media (prefers-reduced-motion:no-preference) {
  a,button { transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease; }
}
@media (max-width:24rem) {
  .nav-shell { gap:.5rem; }
  .nav-shell .brand { font-size:1.375rem; }
  .menu-toggle { padding-inline:.375rem; gap:.25rem; }
  .menu-toggle svg { width:1.25rem; }
}
/* English uses the same hierarchy, with natural word wrapping. */
html:lang(en) { hyphens:none; }
html:lang(en) .hero h1 { font-size:clamp(2rem,5vw,4.5rem); line-height:1.15; letter-spacing:-.045em; }
html:lang(en) .hero h1 > span + span { margin-top:.1em; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}
@media (forced-colors:active) {
  .contact-section .dads-button[data-type="solid-fill"] { border-color:ButtonText; }
}

/* Diagram reflow keeps real text readable, including at 200% text size. */
@container support (max-width:15rem) {
  .market-center { display:none; }
  .market-cycle { grid-template-columns:1fr; gap:2.5rem; }
  .market-cycle li:nth-child(n) { grid-column:auto; grid-row:auto; }
  .support-diagram .market-cycle li:nth-child(n) i { top:auto; left:auto; right:1rem; bottom:-2rem; font-size:0; }
  .market-cycle li i::after { content:"↓"; font-size:1.5rem; }
  .market-cycle li:last-child i { display:none; }
  .map-converge { width:1px; background:var(--diagram-line); }
  .map-converge i { display:none; }
  .ops-lanes { grid-template-columns:1fr; }
  .ops-branch,.ops-merge { width:1px; border:0; }
  .support-diagram .build-stack li:nth-child(n) { width:100%; margin-left:0; }
}
@media (max-width:63.999rem) {
  .deliverable,.deliverable:nth-child(even) { grid-template-columns:1fr; gap:2rem; }
  .deliverable:nth-child(even) .service-copy { order:0; }
  .support-diagram { width:100%; max-width:42rem; }
  .service-copy { max-width:42rem; }
}
@media (max-width:47.999rem) {
  #deliverables .section-head { margin-bottom:2.5rem; }
  .deliverables-grid { gap:4rem; }
  .support-diagram { padding:1.25rem; border-radius:.5rem; }
  .market-cycle { column-gap:1.5rem; }
  .market-cycle li { padding:.75rem .5rem; }
  .market-cycle li:nth-child(1) i { right:-1.3rem; }
  .market-cycle li:nth-child(3) i { left:-1.3rem; }
  .market-center strong { font-size:1rem; }
  .build-stack li { gap:.5rem; padding:1rem .75rem; width:calc(100% - 1rem); }
  .build-stack li:nth-child(2) { margin-left:.5rem; }
  .build-stack li:nth-child(3) { margin-left:1rem; }
  .build-mark { display:none; }
  .ops-lanes { gap:.75rem; }
  .ops-lane { padding:1rem .5rem; }
}
@media (forced-colors:active) {
  .brand-mark { background:CanvasText; }
  .support-diagram,.strategy-hub,.build-stack li,.ops-source,.ops-result,.ops-lane,.map-inputs li,.map-outputs li { border:1px solid CanvasText; }
  .support-diagram::before { display:none; }
}
