.diagnostic-section { position:relative; overflow:hidden; padding:clamp(5.75rem,9vw,9rem) 0 clamp(6rem,10vw,9.5rem); color:#f4f6f3; background:linear-gradient(145deg,#102c3b,#071725 72%); scroll-margin-top:5.2rem; }
.diagnostic-section::before { content:""; position:absolute; inset:0; opacity:.2; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px); background-size:clamp(4.5rem,7vw,7rem) clamp(4.5rem,7vw,7rem); mask-image:linear-gradient(90deg,#000,transparent 84%); }
.diagnostic-section .container { position:relative; z-index:1; }
.diagnostic-section__head { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(19rem,.72fr); gap:2rem clamp(3rem,8vw,9rem); align-items:end; margin-bottom:clamp(3rem,6vw,5.5rem); }
.diagnostic-section__head .micro-label { color:#89d5ca; }
.diagnostic-section__head h2 { max-width:11ch; margin-top:1.4rem; color:#f4f6f3; font-size:clamp(2.7rem,4.7vw,4.6rem); font-weight:500; line-height:1; letter-spacing:-.055em; }
.diagnostic-section__head > p { max-width:35rem; margin:0; color:rgba(244,246,243,.7); font-size:var(--text-body-lg); line-height:1.72; }

.bottleneck-tool { display:grid; grid-template-columns:minmax(20rem,.9fr) minmax(0,1.1fr); min-height:43rem; border:1px solid rgba(255,255,255,.17); background:rgba(5,19,31,.38); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.bottleneck-selector { min-width:0; border-right:1px solid rgba(255,255,255,.14); }
.bottleneck-selector__head { min-height:5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem clamp(1.15rem,2.5vw,2rem); border-bottom:1px solid rgba(255,255,255,.14); }
.bottleneck-selector__head div { display:grid; gap:.24rem; }
.bottleneck-selector__head span { color:#89d5ca; font-size:.56rem; font-weight:600; letter-spacing:.07em; }
.bottleneck-selector__head p { margin:0; color:rgba(244,246,243,.5); font-size:.64rem; }
.bottleneck-selector__head > strong { color:#f4f6f3; font:600 .72rem/1 var(--font-display); letter-spacing:.02em; }
.bottleneck-symptoms { margin:0; padding:0; list-style:none; }
.bottleneck-symptoms li { margin:0; }
.bottleneck-symptoms button { position:relative; width:100%; min-height:5.25rem; display:grid; grid-template-columns:2rem minmax(0,1fr) 1.2rem; gap:.85rem; align-items:center; padding:.9rem clamp(1.15rem,2.5vw,2rem); color:#f4f6f3; text-align:left; background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.11); cursor:pointer; transition:background var(--duration-medium),padding var(--duration-fast) var(--ease-out); }
.bottleneck-symptoms button::after { content:""; position:absolute; right:-1px; top:50%; width:0; height:1px; background:#79cbbf; transition:width var(--duration-medium) var(--ease-out); }
.bottleneck-symptoms button > span { color:rgba(137,213,202,.62); font-size:.57rem; font-weight:600; letter-spacing:.07em; }
.bottleneck-symptoms button > strong { max-width:38ch; color:rgba(244,246,243,.76); font:500 clamp(.78rem,1.05vw,.9rem)/1.5 var(--font-display); letter-spacing:-.015em; }
.bottleneck-symptoms button > i { width:.62rem; aspect-ratio:1; justify-self:end; border:1px solid rgba(137,213,202,.66); transform:rotate(45deg); transition:background var(--duration-fast),box-shadow var(--duration-medium),transform var(--duration-medium) var(--ease-out); }
.bottleneck-symptoms button:hover,.bottleneck-symptoms button:focus-visible,.bottleneck-symptoms button.is-selected { padding-left:clamp(1.4rem,2.8vw,2.3rem); background:rgba(121,203,191,.065); }
.bottleneck-symptoms button:hover > strong,.bottleneck-symptoms button:focus-visible > strong,.bottleneck-symptoms button.is-selected > strong { color:#fff; }
.bottleneck-symptoms button.is-selected::after { width:clamp(1rem,2.5vw,2rem); }
.bottleneck-symptoms button.is-selected > i { background:#79cbbf; box-shadow:0 0 0 .28rem rgba(121,203,191,.1); transform:rotate(45deg) scale(1.05); }
.bottleneck-symptoms button:focus-visible { z-index:2; outline:3px solid #79cbbf; outline-offset:-3px; }
.bottleneck-selector__status { min-height:3rem; display:flex; align-items:center; margin:0; padding:.75rem clamp(1.15rem,2.5vw,2rem); color:rgba(244,246,243,.52); font-size:.62rem; line-height:1.45; }
.bottleneck-selector__status.is-limit { color:#bfe9e2; }

.bottleneck-result { position:relative; min-width:0; display:flex; flex-direction:column; padding:clamp(1.5rem,3.5vw,3.25rem); overflow:hidden; background:radial-gradient(circle at 82% 16%,rgba(59,159,145,.16),transparent 19rem),rgba(7,23,37,.62); }
.bottleneck-result::before { content:""; position:absolute; left:0; top:0; width:2px; height:0; background:#79cbbf; transition:height 420ms var(--ease-out); }
.bottleneck-tool[data-has-result="true"] .bottleneck-result::before { height:100%; }
.bottleneck-result__map { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid rgba(255,255,255,.12); }
.bottleneck-result__map span { min-height:2.55rem; display:flex; align-items:center; padding:.6rem .75rem; color:rgba(244,246,243,.38); border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); font-size:.52rem; font-weight:600; letter-spacing:.055em; transition:color var(--duration-fast),background var(--duration-medium); }
.bottleneck-result__map span:nth-child(even) { border-right:0; }
.bottleneck-result__map span:nth-last-child(-n+2) { border-bottom:0; }
.bottleneck-result__map span.is-related { color:rgba(137,213,202,.78); background:rgba(121,203,191,.05); }
.bottleneck-result__map span.is-primary { color:#d9f3ef; background:rgba(121,203,191,.13); }
.bottleneck-result__empty { position:relative; z-index:1; max-width:29rem; margin:auto 0; }
.bottleneck-result__empty > span,.bottleneck-result__eyebrow { color:#89d5ca; font-size:.56rem; font-weight:600; letter-spacing:.075em; }
.bottleneck-result__empty h3,.bottleneck-result__content h3 { margin:.9rem 0 0; color:#f4f6f3; font-size:clamp(2.35rem,4.2vw,4.2rem); font-weight:500; line-height:.98; letter-spacing:-.055em; }
.bottleneck-result__empty p { max-width:38ch; margin:1rem 0 0; color:rgba(244,246,243,.62); font-size:.88rem; line-height:1.65; }
.bottleneck-result__content { position:relative; z-index:1; display:none; margin-top:clamp(2.2rem,5vh,4rem); }
.bottleneck-tool[data-has-result="true"] .bottleneck-result__empty { display:none; }
.bottleneck-tool[data-has-result="true"] .bottleneck-result__content { display:block; animation:diagnostic-result-in 360ms var(--ease-out) both; }
.bottleneck-result__content h3 { max-width:13ch; }
.bottleneck-result__item { display:grid; grid-template-columns:minmax(7.5rem,.32fr) minmax(0,1fr); gap:1.1rem; margin-top:1.35rem; padding-top:1.15rem; border-top:1px solid rgba(255,255,255,.13); }
.bottleneck-result__item span,.bottleneck-result__related span { color:rgba(244,246,243,.43); font-size:.53rem; font-weight:600; letter-spacing:.07em; }
.bottleneck-result__item p { margin:0; color:rgba(244,246,243,.72); font-size:.78rem; line-height:1.58; }
.bottleneck-result__related { display:grid; grid-template-columns:minmax(7.5rem,.32fr) minmax(0,1fr); gap:1.1rem; margin-top:1.35rem; padding:1.15rem 0 0 1rem; border-top:1px solid rgba(255,255,255,.13); border-left:2px solid #79cbbf; }
.bottleneck-result__related[hidden] { display:none; }
.bottleneck-result__related strong { color:#c9eee8; font:600 .9rem/1.4 var(--font-display); letter-spacing:-.02em; }

.diagnostic-section__footer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:start; margin-top:1.5rem; }
.diagnostic-section__footer details { max-width:52rem; border-top:1px solid rgba(255,255,255,.14); }
.diagnostic-section__footer summary { min-height:3.2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; color:#89d5ca; font-size:.57rem; font-weight:600; letter-spacing:.07em; cursor:pointer; list-style:none; }
.diagnostic-section__footer summary::-webkit-details-marker { display:none; }
.diagnostic-section__footer summary span { font-size:.9rem; transition:transform var(--duration-fast); }
.diagnostic-section__footer details[open] summary span { transform:rotate(45deg); }
.diagnostic-section__footer details p { max-width:76ch; margin:0 0 1rem; color:rgba(244,246,243,.58); font-size:.72rem; line-height:1.6; }
.diagnostic-reset { display:inline-flex; align-items:center; gap:.5rem; min-height:3.2rem; padding:.5rem 0; color:rgba(244,246,243,.6); background:transparent; border:0; border-bottom:1px solid rgba(137,213,202,.38); font-size:.56rem; font-weight:600; letter-spacing:.07em; cursor:pointer; transition:color var(--duration-fast),border-color var(--duration-fast); }
.diagnostic-reset:hover,.diagnostic-reset:focus-visible { color:#fff; border-color:#79cbbf; }
.diagnostic-section__exit { position:absolute; left:50%; bottom:0; width:min(100% - (var(--gutter) * 2),var(--container-main)); height:1px; background:linear-gradient(90deg,transparent,rgba(121,203,191,.48),rgba(255,255,255,.12),transparent); transform:translateX(-50%); }
.diagnostic-section__exit i { position:absolute; left:58%; top:-2px; width:5px; aspect-ratio:1; background:#79cbbf; }
@keyframes diagnostic-result-in { from { opacity:.9; transform:translateY(8px); } to { opacity:1; transform:none; } }

@media (max-width:900px) { .diagnostic-section__head { grid-template-columns:1fr; }.diagnostic-section__head > p { max-width:44rem; }.bottleneck-tool { grid-template-columns:minmax(17rem,.88fr) minmax(0,1.12fr); }.bottleneck-result__item,.bottleneck-result__related { grid-template-columns:1fr; gap:.45rem; } }
@media (max-width:760px) { .diagnostic-section { padding-block:4.5rem 5rem; }.diagnostic-section::before { opacity:.11; background-size:4rem 4rem; }.diagnostic-section__head { margin-bottom:2.35rem; }.diagnostic-section__head h2 { max-width:12ch; font-size:clamp(2.45rem,10vw,2.9rem); }.diagnostic-section__head > p { font-size:.97rem; line-height:1.67; }.bottleneck-tool { display:flex; flex-direction:column; min-height:0; }.bottleneck-selector { border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }.bottleneck-selector__head { min-height:4.5rem; }.bottleneck-symptoms button { min-height:4.35rem; grid-template-columns:1.5rem minmax(0,1fr) 1rem; gap:.65rem; padding:.75rem 1rem; }.bottleneck-symptoms button:hover,.bottleneck-symptoms button:focus-visible,.bottleneck-symptoms button.is-selected { padding-left:1.25rem; }.bottleneck-symptoms button > strong { font-size:.8rem; }.bottleneck-result { min-height:26rem; padding:1.1rem; }.bottleneck-result__map span { padding:.55rem; font-size:.47rem; }.bottleneck-result__empty { margin:auto 0; }.bottleneck-result__content { margin-top:1.65rem; }.bottleneck-result__empty h3,.bottleneck-result__content h3 { font-size:clamp(2.1rem,10vw,2.8rem); }.bottleneck-result__item,.bottleneck-result__related { margin-top:1rem; padding-top:.8rem; }.bottleneck-result__item p { font-size:.77rem; }.diagnostic-section__footer { grid-template-columns:1fr; gap:.5rem; margin-top:1.1rem; }.diagnostic-reset { justify-self:start; order:2; } }
@media (prefers-reduced-motion:reduce) { .bottleneck-symptoms button,.bottleneck-symptoms button::after,.bottleneck-symptoms button > i,.bottleneck-result::before,.bottleneck-result__map span,.diagnostic-section__footer summary span { transition:none; }.bottleneck-tool[data-has-result="true"] .bottleneck-result__content { animation:none; } }
