.navorum-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.proposal-note{width:100%;font-size:12px;color:#b8c5df;margin:0 0 18px}.quick-start{flex-wrap:wrap}
.reception-entry{max-width:1344px;margin:0 auto 64px;padding:48px 0 36px;border-top:1px solid #8ba9dc40;border-bottom:1px solid #8ba9dc40;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:52px}
.reception-entry h3{font-weight:300;font-size:clamp(36px,4.3vw,58px);letter-spacing:-.04em;line-height:1.08;margin:0 0 24px}.reception-entry p{max-width:33ch;color:#d4def0;font-size:17px;line-height:1.65;margin:0 0 24px}.reception-entry small{display:block;color:#c9d6ed;font-size:14px;line-height:1.6}.reception-intro{padding-bottom:36px}
.reception-entry iframe{display:block;width:100%;height:620px;border:0;background:transparent;min-width:0;color-scheme:dark}
.precise-units{margin:24px 0 8px;border-top:1px solid #839bca42;padding-top:18px}.precise-units summary{cursor:pointer;font-size:16px;min-height:44px;display:flex;align-items:center;gap:10px}.precise-units summary::before{content:'+';font-size:22px;color:#adc8ff}.precise-units[open] summary::before{content:'−'}.precise-units>p{font-size:15px;line-height:1.6;color:#d4def0;margin:4px 0 20px;max-width:58ch}
.unit-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid #718db940}.unit-copy{min-width:0}.unit-row strong{display:block;font-size:16px;line-height:1.4;font-weight:600;color:#f7faff}.unit-description{display:block;font-size:15px;line-height:1.65;font-weight:400;color:#d4def0;margin-top:8px;max-width:60ch;text-wrap:pretty}.unit-price{display:block;font-size:15px;line-height:1.5;font-weight:600;color:#f7faff;margin-top:10px;font-variant-numeric:tabular-nums}.unit-row input{width:72px;height:44px;border:1px solid #8aa7da70;border-radius:8px;background:#102143;color:white;padding:8px;text-align:center;caret-color:#c8dbff;font-variant-numeric:tabular-nums}.unit-row.unit-unavailable{opacity:.6}
.effort-breakdown{grid-column:1/-1;margin:8px 0 10px;padding:10px 0 0;border-top:1px solid #708db52b;font-size:12px;color:#c1d1eb}.effort-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:20px;padding:5px 0}.effort-breakdown dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.effort-breakdown dt{max-width:40ch}
.line-item:has(.effort-breakdown){flex-wrap:wrap;display:grid;grid-template-columns:minmax(0,1fr) auto}
.service-preview .preview-images{height:270px;overflow:hidden;background:#0b1630}.service-preview #hover-view{height:270px;width:100%;position:relative}.service-preview .glb-canvas{width:100%;height:100%;display:block}.preview-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#c0d4f2}.service-preview #hover-view.is-ready .preview-loading{display:none}.preview-copy{padding:18px 22px}
.composition{background:radial-gradient(ellipse at 50% 40%,#25499c44,transparent 70%)}
.investment output,.line-item strong,.motion-cost{font-variant-numeric:tabular-nums}.unit-row input:focus-visible{outline:2px solid #a7c8ff;outline-offset:4px}.precise-units summary:focus-visible{outline:2px solid #a7c8ff;outline-offset:4px}
@media(max-width:1440px){.reception-entry{margin-left:48px;margin-right:48px}}
@media(max-width:760px){.reception-entry{grid-template-columns:1fr;margin:0 22px 40px;padding:32px 0 24px;gap:0}.reception-intro{padding:0}.reception-entry iframe{height:600px}.reception-entry h3{font-size:40px;margin-bottom:18px}.reception-entry p{font-size:16px;max-width:35ch;margin-bottom:14px}.reception-entry small{font-size:13px;margin-bottom:20px}.effort-breakdown>div{grid-template-columns:1fr;gap:3px}.effort-breakdown dd{text-align:left}.unit-row{gap:14px}.service-preview{display:none!important}}
@media(prefers-reduced-motion:reduce){.reception-entry iframe{scroll-behavior:auto}}

.reception-touch-shield{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:30px;border:0;background:#050609;color:#edf3ff;touch-action:none;overscroll-behavior:none}.reception-touch-shield::backdrop{background:#050609}.reception-touch-shield>div{max-width:420px;height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:18px}.reception-touch-shield h2{font-size:28px;font-weight:400}.reception-touch-shield p{color:#bdcbe1;line-height:1.7}.reception-touch-shield button{min-height:60px;padding:15px 22px;color:white;background:#141e30;border:1px solid #6c7e9d;border-radius:10px}

@media(min-width:1101px) and (max-height:800px){#summary .summary-content{padding:14px 18px}#summary .summary-top h2{font-size:19px}#summary .investment{margin-top:7px}#summary .budget-running{margin-top:10px;padding-top:9px;gap:10px}#summary #budget-breakdown{margin:9px 0 8px;padding:7px 0;min-height:44px}#summary .summary-footnote{font-size:11px;line-height:1.45;margin-top:7px}#summary .tax-note{margin-top:6px}#summary .investment>output{font-size:32px;margin-top:4px}}

@media(max-width:760px){.summary-content .summary-top button{min-height:44px}}

#copy-status a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-underline-offset:4px}

#budget-detail .effort-breakdown{color:#344867;border-top-color:#c5cfdf}#budget-detail .effort-breakdown dt,#budget-detail .effort-breakdown dd{color:inherit}#budget-detail .effort-breakdown dd{font-weight:600}
.story-close,.budget-close,.story-expand,.mobile-story-open{display:inline-flex;align-items:center;justify-content:center;gap:8px}

/* A distinct secondary action opens the exhibit; cobalt stays with the brief. */
.story-controls .preview-cta,.mobile-budget .preview-cta{min-height:48px;padding:12px 16px;border:1px solid #dce7ff;border-radius:9px;background:#eaf0ff;color:#10245c;font:600 14px/1.35 Mulish,sans-serif;gap:12px;cursor:pointer;flex-shrink:0;transition:background-color 160ms,border-color 160ms}
.story-controls .preview-cta .navorum-icon,.mobile-budget .preview-cta .navorum-icon{width:20px;height:20px}
#summary .story-controls .preview-cta{min-height:48px;font-size:14px}
.story-controls .preview-cta:focus-visible,.mobile-budget .preview-cta:focus-visible{outline:2px solid #fff;outline-offset:4px}
.story-controls .preview-cta:active,.mobile-budget .preview-cta:active{background:#cbdcff;border-color:#cbdcff}
.story-controls .preview-cta:disabled,.mobile-budget .preview-cta:disabled{background:#152544;border-color:#526787;color:#afbed7;cursor:default}
#story-detail .story-expand{display:none}
@media(hover:hover) and (pointer:fine){.story-controls .preview-cta:not(:disabled):hover,.mobile-budget .preview-cta:not(:disabled):hover{background:#fff;border-color:#fff}}
@media(min-width:761px) and (max-width:1100px){#summary .live-context{flex-wrap:wrap}#summary .story-controls{width:100%}#summary .story-controls .preview-cta{width:100%;justify-content:space-between}}
@media(max-width:760px){.story-controls .preview-cta{flex:1;justify-content:space-between}.mobile-budget .preview-cta{padding:10px 12px;gap:8px;font-size:14px}.unit-row{padding:20px 0}}
@media(prefers-reduced-motion:reduce){.story-controls .preview-cta,.mobile-budget .preview-cta{transition:none}}

/* Category lettering: stable layout and accessible copy, independent ink motion. */
.service-option > span > strong.wave-heading,.scope-summary .block-title h3.wave-heading{color:#f7faff;font-weight:600;letter-spacing:0}
.wave-heading{position:relative;overflow:visible}
.wave-visual{display:inline-block;position:relative;max-width:100%;vertical-align:baseline;text-wrap:pretty}
.wave-word{display:inline-block;position:relative;white-space:nowrap}
.wave-glyph{display:inline-block;transform-origin:50% 65%;backface-visibility:hidden}
.wave-readable{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.wave-glyph{transform:none!important}}
@media print{.wave-glyph{transform:none!important}}

/* Metal controls share the reception's navy/chrome material, not its call logic. */
:root,:host{
 --calc-metal-ink:#10245c;
 --calc-metal-text:#edf4ff;
 --calc-metal-dark:radial-gradient(ellipse at 18% 0%,#bed8ff16,transparent 62%),linear-gradient(174deg,#2b4160 0%,#1b2d49 29%,#101e34 48%,#263b59 51%,#182941 77%,#0e1b30 100%);
 --calc-metal-silver:radial-gradient(ellipse at 16% 0%,#ffffffb8,transparent 56%),linear-gradient(173deg,#f7fbff 0%,#d5e1f1 29%,#b7c9e2 47%,#e8f0fb 51%,#c5d6ec 77%,#a3b9d8 100%);
 --calc-metal-edge:#6883a8;
 --calc-metal-ease:cubic-bezier(.23,1,.32,1);
}
.preset-list button,.secondary-button,.text-button,#reset,#replay-assembly,#replay-result,#skip-launch,#motion-toggle,.story-controls .story-play,.story-close,.budget-close,.scene-tabs button,.story-choices button{
 position:relative;isolation:isolate;box-sizing:border-box;
 min-height:44px;max-width:100%;padding:10px 14px;
 border:1px solid var(--calc-metal-edge);border-radius:10px;
 background-color:#182941;background-image:var(--calc-metal-dark);
 box-shadow:inset 0 1px 0 #d9e8ff33,inset 0 -1px 1px #030a1799,0 4px 10px #02081724;
 color:var(--calc-metal-text);font-family:Mulish,sans-serif;font-weight:600;line-height:1.4;text-decoration:none;
 touch-action:manipulation;-webkit-tap-highlight-color:transparent;
 transition:transform 150ms var(--calc-metal-ease),opacity 150ms var(--calc-metal-ease);
}
.preset-list{gap:10px}
.preset-list button{min-height:48px;padding:12px 17px;font-size:15px;letter-spacing:0;text-align:left}
.primary-button,.story-controls .preview-cta,.mobile-budget .preview-cta{
 position:relative;isolation:isolate;box-sizing:border-box;min-height:48px;
 border:1px solid #d1dff2;border-radius:12px!important;
 background-color:#bfd0e7;background-image:var(--calc-metal-silver);color:var(--calc-metal-ink);
 box-shadow:inset 0 1px 0 #fff,inset 0 -2px 3px #5674a247,0 6px 16px #020a2029;
 font-weight:600;line-height:1.4;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
 transition:transform 160ms var(--calc-metal-ease),opacity 160ms var(--calc-metal-ease);
}
.primary-button::before{display:none}
.primary-button>span{border-left-color:#314e7c40}
.primary-button:hover>span{transform:none}
.primary-button:hover,.secondary-button:hover{transform:none}
.primary-button:hover{background-color:#bfd0e7;background-image:var(--calc-metal-silver)}
.preset-list button:hover{background-color:#182941;background-image:var(--calc-metal-dark)}
.secondary-button:hover,.scene-tabs button:hover,#replay-assembly:hover{background-color:#182941;background-image:var(--calc-metal-dark)}
.story-controls .preview-cta:not(:disabled):hover,.mobile-budget .preview-cta:not(:disabled):hover{background-color:#bfd0e7;background-image:var(--calc-metal-silver)}
.preset-list button[aria-pressed=true],.scene-tabs button[aria-pressed=true],.story-choices button[aria-pressed=true]{
 color:var(--calc-metal-ink);background-color:#bfd0e7;background-image:var(--calc-metal-silver);border-color:#d1dff2;
 box-shadow:inset 0 1px 0 #fff,inset 0 -1px 2px #5674a247;
}
#reset,#replay-result,#skip-launch,#motion-toggle,.story-close,.budget-close,.story-controls .story-play{font-size:14px}
#summary .summary-top #reset{padding:10px 12px;text-decoration:none;flex:none}
#summary .story-controls .story-play{min-height:44px;padding:10px 12px}
#summary #budget-breakdown{
 min-height:48px;padding:11px 14px;border:1px solid var(--calc-metal-edge);border-radius:10px;
 background-color:#182941;background-image:var(--calc-metal-dark);color:var(--calc-metal-text);
 box-shadow:inset 0 1px 0 #d9e8ff33,inset 0 -1px 1px #030a1799;
}
#summary #budget-breakdown span{color:#d5e2f5}
.scene-tabs button,.story-choices button{min-height:44px;padding:9px 12px}
.story-steps button,#story-detail .story-steps button{min-height:44px}
.nv-select-icon{padding-left:0;border:1px solid #6883a870;border-radius:8px;background-image:var(--calc-metal-dark);box-shadow:inset 0 1px 0 #d9e8ff26;color:var(--calc-metal-text)}
:is(.preset-list button,.primary-button,.secondary-button,.text-button,#reset,#replay-assembly,#replay-result,#skip-launch,#motion-toggle,#budget-breakdown,.story-controls button,.story-close,.budget-close,.scene-tabs button,.story-choices button):focus-visible{
 outline:3px solid #4f7fd6;outline-offset:4px;
}
:is(.preset-list button,.primary-button,.secondary-button,.text-button,#reset,#replay-assembly,#replay-result,#skip-launch,#motion-toggle,#budget-breakdown,.story-controls button,.story-close,.budget-close,.scene-tabs button,.story-choices button):not(:disabled):not([aria-disabled=true]):active{transform:translateY(1px) scale(.99)}
:is(.preset-list button,.primary-button,.secondary-button,.text-button,#reset,#replay-assembly,#replay-result,#skip-launch,#motion-toggle,.story-controls button,.story-close,.budget-close,.scene-tabs button,.story-choices button):is(:disabled,[aria-disabled=true]){
 background-color:#1b2a40;background-image:none;border-color:#536781;color:#b7c7df;box-shadow:inset 0 1px 0 #d9e8ff14;opacity:.65;transform:none;cursor:default;
}
@media(hover:hover) and (pointer:fine){
 :is(.preset-list button,.primary-button,.secondary-button,.text-button,#reset,#replay-assembly,#replay-result,#skip-launch,#motion-toggle,#budget-breakdown,.story-controls button,.story-close,.budget-close,.scene-tabs button,.story-choices button):not(:disabled):not([aria-disabled=true]):hover:not(:active){transform:translateY(-1px);opacity:.96}
}
@media(max-width:760px){.preset-list{gap:9px}.preset-list button{padding:12px 14px}.story-controls .story-play{padding:10px 12px}.text-button{padding:11px 14px;gap:16px}}
@media(prefers-reduced-motion:reduce){
 :is(.preset-list button,.primary-button,.secondary-button,.text-button,#reset,#replay-assembly,#replay-result,#skip-launch,#motion-toggle,#budget-breakdown,.story-controls button,.story-close,.budget-close,.scene-tabs button,.story-choices button){transition:none;transform:none!important}
}

/* Small disclosure handles use the same metal; native summary owns the action. */
.scope-summary>.scope-glyph,
.technical-detail>summary::after,
.precise-units>summary::before,
.result-assumptions>summary>span[aria-hidden=true]{
 --disclosure-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14' fill='none' stroke='%23edf4ff' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
 --disclosure-surface:var(--calc-metal-dark);
 box-sizing:border-box;display:inline-block;flex:0 0 36px;align-self:center;
 width:36px;min-width:36px;height:36px;min-height:36px;margin:0;padding:0;
 border:1px solid #7d96b9;border-radius:11px;
 background-color:#182941;background-image:var(--disclosure-mark),var(--disclosure-surface);
 background-size:16px 16px,100% 100%,100% 100%;background-position:center;background-repeat:no-repeat;
 box-shadow:inset 0 1px 0 #dfedff47,inset 0 -1px 1px #030a1799,0 3px 8px #02081726;
 font-size:0;line-height:1;color:transparent;transform:none;
 transition:transform 150ms var(--calc-metal-ease);pointer-events:none;
}
.technical-detail>summary::after,.technical-detail[open]>summary::after,
.precise-units>summary::before,.precise-units[open]>summary::before{content:''}
.scope-disclosure[open]>.scope-summary>.scope-glyph,
.technical-detail[open]>summary::after,
.precise-units[open]>summary::before,
.result-assumptions[open]>summary>span[aria-hidden=true]{
 --disclosure-mark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14' fill='none' stroke='%2310245c' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
 --disclosure-surface:var(--calc-metal-silver);
 background-color:#bfd0e7;border-color:#d1dff2;transform:none;
 box-shadow:inset 0 1px 0 #fff,inset 0 -1px 2px #5674a247,0 3px 8px #02081726;
}
.technical-detail>summary,.precise-units>summary{min-height:48px;gap:14px}
:is(.scope-summary,.technical-detail>summary,.precise-units>summary,.result-assumptions>summary):focus-visible{
 outline:3px solid #4f7fd6;outline-offset:4px;border-radius:9px;
}
/* Override the older hover shorthand without rotating the metal housing. */
.scope-summary:hover>.scope-glyph{background-image:var(--disclosure-mark),var(--disclosure-surface);background-color:#182941;background-size:16px 16px,100% 100%,100% 100%;background-position:center;background-repeat:no-repeat}
.scope-disclosure[open]>.scope-summary:hover>.scope-glyph{background-color:#bfd0e7}
@media(hover:hover) and (pointer:fine){
 .scope-summary:hover>.scope-glyph,
 .technical-detail>summary:hover::after,
 .precise-units>summary:hover::before,
 .result-assumptions>summary:hover>span[aria-hidden=true]{border-color:#d7e6fb;transform:translateY(-1px)}
}
@media(prefers-reduced-motion:reduce){
 .scope-summary>.scope-glyph,
 .technical-detail>summary::after,
 .precise-units>summary::before,
 .result-assumptions>summary>span[aria-hidden=true]{transition:none;transform:none!important}
}
