/* SaaS expansion: scoped to new surfaces; the approved studio motion stays intact. */
.top__account { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: inherit; opacity: .8; transition: opacity 180ms ease; }
.top__account:hover { opacity: 1; }
.product-directions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 25px; margin-top: 35px; min-height:20px; }
.product-directions a { display: inline-flex; gap: 8px; align-items: center; color: inherit; font-size: 11px; letter-spacing: .015em; opacity: .72; transition: opacity 180ms; }
.product-directions a:hover, .product-directions a:focus-visible { opacity: 1; }
.product-directions a span { font-size: 13px; }
.product-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.svc__groups { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px 26px; margin: 0 0 38px -32px; border-bottom: 1px solid var(--line); }
.svc__groups button, .svc__groups a { padding: 0 0 15px; background: transparent; border: 0; color: var(--ink2); font: inherit; font-size: 14px; cursor: pointer; border-bottom: 1px solid transparent; margin-bottom: -1px; }
.svc__groups [aria-pressed="true"] { color: var(--ink); border-color: var(--ink); }
.svc__groups a { margin-left: auto; }
.svc__next { margin-top: 24px; }
.product-teaser-section { padding: 95px 0 115px; border-top: 1px solid var(--line); background: var(--bg0); }
.product-teaser { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 64px; align-items: center; }
.product-teaser__copy > .eyebrow { margin-bottom: 22px; }
.product-teaser h2 { font-size: clamp(30px,2.7vw,44px); font-weight: 450; line-height: 1.12; letter-spacing: -.045em; margin: 25px 0 22px; }
.product-teaser__copy .p { max-width: 37ch; font-size: 16px; line-height: 1.65; }
.product-teaser__copy .btn { margin: 27px 0 14px; }
.product-teaser .product-teaser__copy .btn {
  min-height: 36px; padding: 7px 0; gap: 14px; border: 0; border-radius: 0;
  background: transparent; box-shadow: none; color: var(--ink2);
  font-size: 12px; font-weight: 400; line-height: 22px; letter-spacing: .01em;
  translate: none; transition: color 450ms ease;
}
.product-teaser .product-teaser__copy .btn:is(:hover,:focus-visible) {
  color: var(--ink); background: transparent; box-shadow: none; translate: none;
}
.product-teaser .product-teaser__copy .btn svg {
  width: 14px; height: 14px; transition: transform 650ms cubic-bezier(.45,0,.25,1);
}
.product-note { font-size: 12px; line-height: 1.65; color: var(--ink3); max-width: 54ch; }
.product-status { display: inline-flex; align-items: center; gap: 9px; font: 11px/1.5 var(--mono); color: var(--ink2); }
/* Optical alignment with the mono glyphs, not just their line box. */
.product-status i { position: relative; width: 12px; height: 12px; border: 1px solid var(--warn); border-radius: 4px; background: color-mix(in srgb,var(--warn) 8%,transparent); flex: 0 0 auto; transform: translateY(-1px); }
.product-status i::after { content: ''; position: absolute; inset: 3px; border-radius: 1px; background: var(--warn); }
.product-page { padding-top: calc(var(--top-h) + 40px); padding-bottom: 110px; }
.product-back { display: inline-block; color: var(--ink2); font-size: 13px; padding: 12px 0; text-decoration: none; transition: color 180ms ease; }
.product-back:hover { color: var(--ink); }
.product-hero { display: grid; grid-template-columns: 1fr 230px; gap: 50px; padding: 55px 0 65px; align-items: end; }
.product-hero h1 { font-size: clamp(46px,4.1vw,62px); font-weight: 450; letter-spacing: -.04em; line-height: 1.1; margin: 27px 0 24px; text-wrap: balance; }
.product-hero .lead { max-width: 58ch; line-height: 1.65; }
.product-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.product-page .btn, .product-teaser .btn { display: inline-flex; align-items: center; justify-content: center; gap: 28px; }
.product-page .btn svg, .product-teaser .btn svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1; transition: transform 480ms var(--ease-geo); }
.product-page .btn:hover svg, .product-teaser .btn:hover svg { transform: translateX(4px); }
.product-hero__aside { display: flex; flex-direction: column; align-items: flex-start; gap: 19px; border-left: 1px solid var(--line); padding-left: 27px; padding-bottom: 4px; }
.product-hero__aside > svg { width: 42px; height: 42px; margin-bottom: 14px; opacity: .7; }
.product-hero__aside p { font-size: 12px; line-height: 1.7; color: var(--ink3); }
/* Desktop companion: the existing neutral surface, no implied download/progress. */
.product-desktop { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin: 0 0 36px; padding: 25px 28px; border: 1px solid var(--line); border-radius: var(--r-stage); background: var(--bg1); }
.product-desktop__symbol { width: 62px; height: 62px; flex: 0 0 auto; display: grid; place-items: center; color: var(--ink2); border: 1px solid var(--line); border-radius: 14px; }
.product-desktop__symbol svg { width: 39px; height: 39px; fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; }
.product-desktop__copy { flex: 1 1 360px; min-width: 0; }
.product-desktop .product-desktop__status { display: flex; align-items: center; gap: 8px; margin: 0 0 9px; color: var(--ink2); font: 10px/1.4 var(--mono); }
.product-desktop__copy h2 { margin: 0 0 7px; color: var(--ink); font-size: 19px; line-height: 1.35; font-weight: 450; letter-spacing: -.025em; }
.product-desktop__copy > p:last-child { margin: 0; color: var(--ink2); font-size: 12px; line-height: 1.65; max-width: 66ch; }
.product-desktop__availability { display: grid; gap: 13px; flex: 0 1 auto; }
.product-desktop__platforms { display: flex; flex-wrap: wrap; gap: 8px; }
.product-desktop__platform { display: inline-grid; place-items: center; box-sizing: border-box; inline-size: 85px; min-inline-size: 85px; max-inline-size: 85px; block-size: 30px; flex: 0 0 85px; border: 1px solid var(--line); border-radius: 6px; padding: 7px 12px; background: transparent; color: var(--ink2); font: 11px/1.2 var(--mono); cursor: default; transition: color 650ms cubic-bezier(.45,0,.25,1), background-color 650ms cubic-bezier(.45,0,.25,1), border-color 650ms cubic-bezier(.45,0,.25,1), border-radius 800ms cubic-bezier(.45,0,.25,1); }
.product-desktop__platform > span { grid-area: 1 / 1; white-space: nowrap; transition: opacity 450ms ease, transform 650ms cubic-bezier(.45,0,.25,1); }
.product-desktop__platform-loading { font-size: 10px; font-weight: 400; letter-spacing: 0; opacity: 0; transform: translateY(2px); }
.product-desktop__platform:is(:hover,:focus-visible) { background: var(--btn-bg); color: var(--btn-fg); border-color: var(--btn-bg); border-radius: 10px; }
.product-desktop__platform:is(:hover,:focus-visible) .product-desktop__platform-name { opacity: 0; transform: translateY(-2px); }
.product-desktop__platform:is(:hover,:focus-visible) .product-desktop__platform-loading { opacity: 1; transform: translateY(0); }
.product-desktop__platform:focus-visible { outline: 1px solid var(--ink); outline-offset: 3px; }
.product-desktop__availability p { margin: 0; color: var(--ink3); font: 10px/1.5 var(--mono); }
/* Home companion: one quiet continuation of the teaser, not a second main CTA. */
.product-desktop--teaser { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px 16px; margin: 28px 0 0; padding: 22px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.product-desktop--teaser .product-desktop__symbol { width: 42px; height: 42px; border-radius: 10px; }
.product-desktop--teaser .product-desktop__symbol svg { width: 28px; height: 28px; }
.product-desktop--teaser .product-desktop__status { margin-bottom: 5px; }
.product-desktop--teaser h3 { margin: 0; color: var(--ink); font-size: 16px; font-weight: 450; line-height: 1.35; letter-spacing: -.025em; }
.product-desktop--teaser .product-desktop__availability { grid-column: 2; gap: 10px; }
/* Align the signal to the mono glyphs, not just their line box. */
.product-desktop__signal { display: flex; align-items: center; gap: 2px; height: 10px; position: relative; top: -1px; }
.product-desktop__signal i { width: 2px; height: 7px; border-radius: 1px; background: currentColor; opacity: .35; animation: desktop-signal 2.8s ease-in-out infinite; animation-play-state: paused; }
.product-desktop__signal i:nth-child(2) { animation-delay: .14s; }
.product-desktop__signal i:nth-child(3) { animation-delay: .28s; }
.product-desktop[data-running="true"] .product-desktop__signal i { animation-play-state: running; }
@keyframes desktop-signal { 0%,70%,100% { opacity: .35; transform: scaleY(.7); } 25% { opacity: .9; transform: scaleY(1); } }
.product-scene { --scene-ink: #efefef; --scene-muted: #a5a6a8; position: relative; min-height: 552px; border: 1px solid #373738; border-radius: 18px; background: #111213; color: var(--scene-ink); overflow: hidden; isolation: isolate; }
.product-scene__chrome { height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 0 28px; font: 10px/1.6 var(--mono); letter-spacing: .09em; color: #a5a6a8; border-bottom: 1px solid #2b2c2e; }
.product-scene__chrome span:last-child { letter-spacing: 0; font-size: 10px; }
.product-scene__field { position: absolute; inset: 58px 0 105px; z-index: -1; overflow: hidden; background: radial-gradient(ellipse at 72% 40%,#34363955,transparent 67%); }
.product-scene__field > span { position: absolute; top: 27px; right: 28px; color: #75787c; font: 9px var(--mono); letter-spacing: .12em; }
.product-scene__orbit { position: absolute; height: 380px; width: 550px; border: 1px solid #73767b30; border-radius: 50%; right: -180px; top: -65px; transform: rotate(-35deg); }
.product-scene__orbit:nth-child(2) { height: 480px; width: 690px; top: -115px; right: -250px; }
.product-scene__orbit:nth-child(3) { height: 580px; width: 840px; top: -165px; right: -325px; }
.product-record { position: relative; width: min(48%,490px); margin: 42px 0 25px 55px; background: linear-gradient(128deg,#27292c,#1b1d20 85%); border: 1px solid #60636788; border-radius: 13px; box-shadow: 0 16px 45px #0004, inset 0 1px 0 #ffffff0d; transition: transform 850ms var(--ease-geo), border-color 600ms; transform: translateX(0); }
.product-record__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 48px; padding: 12px 20px; border-bottom: 1px solid #ffffff13; font: 10px/1.5 var(--mono); }
.product-record__id { color: #bfc2c6; letter-spacing: .08em; }
.product-record__state { color: #d0a179; }
.product-record__quote { font-size: 15px; line-height: 1.65; margin: 0; padding: 21px 20px; color: #e1e2e3; min-height: 126px; transition: opacity 550ms; }
.product-record__fields { margin: 0 20px; display: grid; grid-template-rows: repeat(3,1fr); }
.product-record__fields > div { display: grid; grid-template-columns: 105px 1fr; gap: 16px; border-top: 1px solid #ffffff16; padding: 12px 0; opacity: .18; transform: translateY(5px); transition: opacity 650ms, transform 800ms var(--ease-geo); }
.product-record__fields dt { font: 10px/1.65 var(--mono); color: #a4a8ac; }
.product-record__fields dd { font-size: 12px; line-height: 1.5; color: #e3e4e6; margin: 0; }
.product-record__footer { display: flex; align-items: center; gap: 8px; padding: 16px 20px; font: 10px var(--mono); color: #a4a8ac; border-top: 1px solid #ffffff13; }
.product-record__footer svg { width: 17px; height: 17px; }
.product-record__footer span:last-child { margin-left: auto; }
.product-scene[data-step="1"] .product-record { transform: translateX(20px); }
.product-scene[data-step="2"] .product-record { transform: translateX(40px); border-color: #80848b; }
.product-scene[data-step="3"] .product-record { transform: translateX(60px); border-color: #80848b; }
.product-scene[data-step="1"] [data-field-step="1"], .product-scene[data-step="2"] [data-field-step="1"], .product-scene[data-step="2"] [data-field-step="2"], .product-scene[data-step="3"] .product-record__fields > div { opacity: 1; transform: none; }
.product-scene__log { position: absolute; right: 45px; top: 177px; width: 29%; margin: 0; padding: 0; list-style: none; }
.product-scene__log li { display: flex; align-items: center; gap: 11px; min-height: 44px; color: #828589; font: 11px/1.6 var(--mono); border-bottom: 1px solid #ffffff0c; transition: color 400ms; }
.product-scene__log i { width: 5px; height: 5px; border: 1px solid #5a5c60; border-radius: 50%; flex: 0 0 auto; }
.product-scene__log [data-status="current"] { color: #e4e4e5; }
.product-scene__log [data-status="current"] i { background: #c1946b; border-color: #c1946b; }
.product-scene__log [data-status="done"] { color: #a3b4a9; }
.product-scene__log [data-status="done"] i { background: #71917b; border-color: #71917b; }
.product-scene__bottom { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 28px; min-height: 70px; border-top: 1px solid #2b2c2e; }
.product-scene__bottom p { margin: 0; color: #bdc0c3; font-size: 12px; line-height: 1.6; }
.product-scene__bottom > div { display: flex; gap: 6px; }
.product-scene__bottom button { width: 33px; height: 33px; background: transparent; border: 1px solid #56585c; border-radius: 50%; color: #ededed; cursor: pointer; }
.product-scene__bottom button:hover { background: #ffffff15; }
.product-scene__bottom button:disabled { opacity: .25; cursor: default; }
.product-scene__steps { display: flex; border-top: 1px solid #2b2c2e; }
.product-scene__steps button { position: relative; flex: 1; display: flex; justify-content: center; align-items: center; gap: 13px; padding: 20px 8px; color: #989b9f; background: none; border: 0; cursor: pointer; font-size: 12px; transition: color 300ms, background 300ms; }
.product-scene__steps button + button { border-left: 1px solid #2b2c2e; }
.product-scene__steps button span { font: 10px var(--mono); opacity: .5; }
.product-scene__steps [aria-pressed="true"] { color: #ededed; background: #ffffff08; }
.product-scene__steps button::before { content: ''; position: absolute; top: -1px; height: 1px; left: 0; right: 0; background: #c4c7cd; transform: scaleX(0); transform-origin: left; transition: transform 650ms var(--ease-geo); }
.product-scene__steps [aria-pressed="true"]::before { transform: scaleX(1); }
.product-scene--compact { min-height: 460px; }
.product-scene--compact .product-scene__chrome { padding: 0 20px; font-size: 8px; }
.product-scene--compact .product-scene__chrome span:last-child { font-size: 9px; }
.product-scene--compact .product-record { width: calc(100% - 100px); margin: 26px 0 24px 26px; }
.product-scene--compact .product-record__quote { font-size: 12px; padding: 16px; min-height: 85px; }
.product-scene--compact .product-record__head { padding: 12px 16px; font-size: 9px; }
.product-scene--compact .product-record__fields { margin: 0 16px; }
.product-scene--compact .product-record__fields > div { grid-template-columns: 90px 1fr; padding: 8px 0; }
.product-scene--compact .product-record__fields dd { font-size: 11px; }
.product-scene--compact .product-record__footer { padding: 12px 16px; font-size: 9px; }
.product-scene--compact .product-scene__log { display: none; }
.product-scene--compact .product-scene__bottom { padding: 14px 20px; min-height: 66px; }
.product-scene--compact .product-scene__bottom p { font-size: 11px; max-width: 31ch; }
.product-scene--compact .product-scene__steps button { font-size: 10px; gap: 6px; padding: 16px 5px; }
/* The workflow changes its structure, not only the position of one card. */
.product-scene__art { position: absolute; top: 75px; right: 24px; width: 44%; height: 265px; overflow: hidden; border-radius: 8px; }
.product-scene__art img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 65%; opacity: .88; }
.workflow-wire { display: block; width: 100%; height: 100%; stroke-width: .8; stroke-linejoin: round; }
.workflow-wire__floor { stroke: #ffffff18; }
.workflow-wire__base { stroke: #ffffff30; fill: #111213; }
.workflow-wire__sheet { stroke: #a9adae; fill: #111213; transition: transform 700ms var(--ease-geo); }
.workflow-wire__sheet g { fill: none; stroke: #ffffff40; }
.workflow-wire__sheet circle { fill: var(--ok); stroke: none; }
.workflow-wire__route { stroke: #ffffff40; stroke-dasharray: 2 5; }
.product-scene[data-step="1"] .workflow-wire__sheet { transform: translate(0,-5px); }
.product-scene[data-step="2"] .workflow-wire__sheet { transform: translate(4px,-10px); }
.product-scene[data-step="3"] .workflow-wire__sheet { transform: translate(8px,-16px); }
.product-scene__cursor { display: none; }
.product-scene[data-step="1"] .product-scene__cursor { left: 36%; }
.product-scene[data-step="2"] .product-scene__cursor { left: 61%; }
.product-scene[data-step="3"] .product-scene__cursor { left: 85%; background: #91b39f; }
.product-scene__field { opacity: .22; }
.product-record { width: min(49%,540px); margin: 28px 0 25px 28px; }
.product-scene[data-step] .product-record { transform: none; }
.product-record__body { display: grid; min-height: 245px; }
.product-panel { grid-area: 1 / 1; padding: 22px 20px; opacity: 0; visibility: hidden; transform: translateY(9px) scale(.987); transition: opacity 450ms ease,transform 650ms var(--ease-geo),visibility 450ms; }
.product-panel__label { display: block; color: #aeb2b7; font: 9px/1.6 var(--mono); letter-spacing: .055em; }
.product-panel .product-record__quote { padding: 16px 0 18px; min-height: 0; font-size: 14px; }
.product-panel__source { display: flex; align-items: center; gap: 8px; padding-top: 12px; border-top: 1px solid #ffffff12; color: #a4afa8; font: 9px/1.5 var(--mono); }
.product-panel__source i { width: 4px; height: 4px; background: #93ac9c; border-radius: 50%; }
.product-context-chips { display: grid; gap: 7px; margin: 14px 0 20px; }
.product-context-chips span { padding: 9px 12px; border: 1px solid #ffffff23; background: #ffffff05; border-radius: 4px; font-size: 12px; }
.product-question { padding: 12px 14px; border-left: 2px solid #bb9878; background: #bd98750b; }
.product-question b { font: 9px var(--mono); font-weight: 400; color: #c6a283; }
.product-question p { font-size: 12px; line-height: 1.6; margin-top: 8px; color: #d5d7da; }
.product-panel .product-record__fields { margin: 13px 0 0; }
.product-panel .product-record__fields > div { opacity: 1; transform: none; padding: 13px 0; }
.product-handoff-title { display: flex; gap: 14px; align-items: center; }
.product-handoff-title > span { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #91b39f55; border-radius: 50%; color: #9bbbA7; font-size: 16px; }
.product-handoff-title b { font-size: 16px; font-weight: 450; }
.product-handoff-title p { font: 9px/1.5 var(--mono); color: #a5a9ad; margin-top: 5px; }
.product-handoff-action { margin: 18px 0; font-size: 12px; line-height: 1.6; }
.product-panel--handoff ul { display: flex; flex-wrap: wrap; list-style: none; padding: 14px 0 0; gap: 9px 16px; border-top: 1px solid #ffffff16; }
.product-panel--handoff li { font: 9px/1.5 var(--mono); color: #a6b9ae; }
.product-panel--handoff li::before { content: '✓'; margin-right: 6px; }
.product-scene[data-step="0"] [data-scene-panel="0"],.product-scene[data-step="1"] [data-scene-panel="1"],.product-scene[data-step="2"] [data-scene-panel="2"],.product-scene[data-step="3"] [data-scene-panel="3"] { opacity: 1; visibility: visible; transform: none; transition-delay: 100ms; }
.product-scene__log { top: 350px; right: 28px; width: 40%; }
.product-scene__log li { min-height: 27px; font-size: 10px; }
.product-scene--compact .product-scene__art { position: relative; top: auto; right: auto; width: 100%; height: 122px; border-radius: 0; }
.product-scene--compact .product-scene__art img { object-position: 50% 60%; }
.product-scene--compact .product-scene__cursor { bottom: 12px; }
.product-scene--compact .product-record { margin: 0 22px 22px; width: calc(100% - 44px); }
.product-scene--compact .product-record__body { min-height: 213px; }
.product-scene--compact .product-panel { padding: 16px; }
.product-scene--compact .product-panel .product-record__quote { padding: 13px 0 16px; min-height: 0; font-size: 12px; }
.product-scene--compact .product-panel .product-record__fields { margin: 12px 0 0; }
.product-scene--compact .product-panel .product-record__fields > div { padding: 9px 0; }
/* c10: one outer enclosure and a flat, readable record. The line drawing
   continues our own approved queue; no imported image or new visual system. */
@media (min-width: 961px) {
 .product-scene { background: #0e0f10; border-color: #ffffff26; }
 .product-scene__field { display: none; }
 .product-scene .product-record { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
 .product-scene .product-record__head { padding-inline: 0; border-color: #ffffff26; }
 .product-scene .product-record__footer { padding: 18px 0; border-color: #ffffff18; }
 .product-scene .product-panel { padding: 24px 0; }
 .product-scene .product-panel--handoff { display: flex; flex-direction: column; justify-content: center; }
 .product-scene .product-handoff-title b { font-size: 20px; font-weight: 400; letter-spacing: -.02em; }
 .product-scene .product-handoff-action { font-size: 14px; margin: 22px 0; }
 .product-scene .product-panel--handoff ul { padding-top: 18px; }
 .product-scene .product-record__body { min-height: 250px; }
 .product-scene--compact .product-scene__art { height: 110px; border-bottom: 1px solid #ffffff12; }
 .product-scene--compact .workflow-wire { width: 65%; margin-left: auto; }
 .product-scene--compact .product-record { margin: 0 30px 12px; width: calc(100% - 60px); }
 .product-scene--compact .product-record__body { min-height: 226px; }
 .product-scene--compact .product-record__head { min-height: 48px; }
 .product-scene--compact .product-panel .product-record__quote { font-size: 14px; line-height: 1.65; }
 .product-scene--compact .product-handoff-title b { font-size: 19px; }
 .product-scene--compact .product-handoff-action { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .product-panel,.product-scene__cursor { transition: none; transform: none; } }
html[data-motion="reduced"] :is(.product-panel,.product-scene__cursor) { transition: none; transform: none; }
.product-section { margin-top: 95px; padding-top: 45px; border-top: 1px solid var(--line); }
.product-section h2 { font-size: clamp(28px,3.2vw,46px); line-height: 1.1; letter-spacing: -.04em; font-weight: 450; }
.product-section__heading { display: flex; justify-content: space-between; gap: 40px; align-items: flex-start; }
.product-section__heading h2 { width: 59%; }
.product-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 50px; margin-top: 50px; }
.product-benefits h3, .product-how h3 { font-size: 18px; font-weight: 450; }
.product-benefits p, .product-how p, .product-partners p { font-size: 15px; line-height: 1.7; color: var(--ink2); margin-top: 14px; }
.product-how { display: grid; grid-template-columns: repeat(4,1fr); gap: 30px; margin-top: 50px; list-style: none; padding: 0; }
.product-how > li { padding: 0 20px 0 0; border-right: 1px solid var(--line); }
.product-how > li:last-child { border: 0; }
.product-how > li > span { display: block; font: 11px var(--mono); color: var(--ink3); margin-bottom: 27px; }
.product-plan { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; }
.product-plan h2 { margin: 25px 0; }
.product-plan .p { max-width: 36ch; }
.product-plan__offer { border: 1px solid var(--line2); padding: 30px; border-radius: var(--r-stage); background: var(--bg1); }
.product-plan__offer h3 { font-size: 25px; line-height: 1.2; letter-spacing: -.025em; font-weight: 450; margin: 25px 0 30px; }
.product-plan__offer ul { padding: 0; list-style: none; margin: 0 0 30px; }
.product-plan__offer li { padding: 10px 0; font-size: 14px; border-bottom: 1px solid var(--line); color: var(--ink2); display: flex; gap: 12px; }
.product-plan__offer .btn { width: 100%; }
.product-plan__offer .product-note { margin-top: 18px; }
/* Commercial delta: existing grid, surfaces and type; no global motion changes. */
.product-value__note { max-width: 64ch; color: var(--ink2); font-size: 13px; line-height: 1.7; margin-top: 25px; }
.product-value .product-benefits { gap: 36px 50px; }
.product-value .product-benefits article { min-width: 0; border-top: 1px solid var(--line); padding-top: 20px; }
.product-value .product-benefits .product-value__state { display: flex; align-items: center; gap: 10px; font: 10px/1.5 var(--mono); color: var(--ink2); margin: 0 0 18px; }
.product-value__state svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; }
.product-commercial { align-items: start; }
.product-commercial > div { min-width: 0; }
.product-commercial__label { color: var(--ink2); font: 12px/1.6 var(--mono); }
.product-commercial__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 12px 0; font-variant-numeric: tabular-nums; }
.product-commercial__price strong { color: var(--ink); font: 450 clamp(32px,3.1vw,44px)/1.1 var(--sans); letter-spacing: -.04em; white-space: nowrap; }
.product-commercial__price span { color: var(--ink2); font-size: 14px; }
.product-commercial__anchor .p { margin-top: 22px; }
.product-commercial__scope { margin-top: 28px; color: var(--ink2); font-size: 14px; line-height: 1.7; max-width: 40ch; }
.product-commercial .product-plan__offer h3 { margin: 16px 0 26px; font-size: 20px; }
.product-commercial__schedule { margin: 0; }
.product-commercial__schedule > div + div { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.product-commercial__schedule dt { font: 12px/1.6 var(--mono); color: var(--ink); }
.product-commercial__schedule dd { margin-left: 0; }
.product-commercial__terms, .product-commercial__availability { color: var(--ink2); font-size: 13px; line-height: 1.7; }
.product-commercial__setup { margin: 24px 0; padding: 22px 0; border-block: 1px solid var(--line2); }
.product-commercial__setup p + p { margin-top: 10px; }
.product-commercial__setup strong { font: 450 23px/1.3 var(--sans); color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.product-commercial__setup span { display: block; margin-top: 5px; font: 11px/1.5 var(--mono); color: var(--ink2); }
.product-commercial__setup p:last-child { color: var(--ink2); font-size: 13px; line-height: 1.7; }
.product-commercial__availability { margin-bottom: 22px; }
.product-commercial a:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.product-faq { display: grid; grid-template-columns: 1fr 1.3fr; gap: 65px; }
.product-faq details { border-bottom: 1px solid var(--line); }
.product-faq summary { display: flex; justify-content: space-between; gap: 25px; cursor: pointer; padding: 22px 0; font-size: 16px; list-style: none; }
.product-faq summary::-webkit-details-marker, .service-detail summary::-webkit-details-marker { display: none; }
.product-faq summary span { color: var(--ink3); transition: transform 350ms; }
.product-faq details[open] summary span { transform: rotate(45deg); }
.product-faq details p { color: var(--ink2); font-size: 15px; line-height: 1.75; margin: 0 35px 24px 0; }
.product-footer { margin-top: 90px; padding-top: 27px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 25px; font-size: 13px; color: var(--ink2); }
.product-footer a:first-child { font: 10px var(--mono); letter-spacing: .25em; padding-top: 4px; }
/* The root already reserves the fixed header with scroll-padding-top. */
#product-demo, #product-plans { scroll-margin-top: 20px; }
.product-subnav { display: flex; flex-wrap: wrap; gap: 28px; padding: 16px 0 19px; border-bottom: 1px solid var(--line); }
.product-subnav a { color: var(--ink2); font-size: 14px; position: relative; text-decoration: none; transition: color 180ms ease; }
.product-subnav a:hover { color: var(--ink); }
.product-subnav a[aria-current] { color: var(--ink); }
.product-subnav a[aria-current]::after { content: ''; height: 1px; position: absolute; left: 0; right: 0; bottom: -20px; background: var(--ink); }
.service-family { display: grid; grid-template-columns: .7fr 1.7fr; gap: 55px; margin-top: 60px; }
.service-family > header { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-top: 25px; }
.service-family h2 { font-size: 25px; font-weight: 450; line-height: 1.3; letter-spacing: -.025em; }
.service-family header > span { color: var(--ink3); font: 11px var(--mono); }
.service-detail { border-bottom: 1px solid var(--line); }
.service-detail:first-child { border-top: 1px solid var(--line); }
.service-detail summary { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 25px 0; font-size: 19px; cursor: pointer; list-style: none; }
.service-detail summary i { font-style: normal; font-size: 20px; color: var(--ink3); transition: transform 350ms; }
.service-detail[open] summary i { transform: rotate(45deg); }
.service-detail__body { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; padding-bottom: 30px; }
.service-detail__body p, .service-detail__body li { font-size: 14px; line-height: 1.7; color: var(--ink2); }
.service-detail__body .service-detail__thesis { color: var(--ink); font-size: 17px; margin-bottom: 16px; }
.service-detail__body h3 { font: 10px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .1em; margin: 22px 0 9px; color: var(--ink3); }
.service-detail__body h3:first-child { margin-top: 0; }
.service-detail__body ul { padding-left: 14px; }
.service-detail__body .btn { margin-top: 25px; font-size: 13px; padding: 13px 16px; gap: 15px; }
/* c134: quiet interior actions; pricing and the approved home stay untouched. */
.product-hero .product-actions { align-items: center; gap: 12px 24px; }
.product-hero .product-actions .btn,
.service-detail__body .btn {
  min-height: 36px; padding: 7px 14px; gap: 12px; border-radius: 999px;
  font-size: 12px; font-weight: 400; line-height: 20px; letter-spacing: .01em;
  background-image: none; box-shadow: none; translate: none;
  transition: color 420ms ease, background-color 420ms ease, border-color 420ms ease;
}
.product-hero .product-actions .btn--line,
.service-detail__body .btn--line {
  padding-inline: 0; border-color: transparent; background: transparent; color: var(--ink2);
}
.product-hero .product-actions .btn--line:is(:hover,:focus-visible),
.service-detail__body .btn--line:is(:hover,:focus-visible) {
  background: transparent; border-color: transparent; color: var(--ink); box-shadow: none; translate: none;
}
.product-hero .product-actions .btn svg,
.service-detail__body .btn svg { width: 14px; height: 14px; transition: transform 650ms cubic-bezier(.45,0,.25,1); }
.service-detail .disclosure-panel { transition-timing-function: var(--disclosure-ease, var(--ease-geo)); }
.product-partners { display: grid; grid-template-columns: .9fr 1fr 1fr; gap: 45px; }
.product-partners h2 { font-size: 27px; }
.product-partners h3 { font-size: 17px; font-weight: 450; }
.product-partners .link { margin-top: 18px; display: inline-block; }
.work-card-wrap, .saved-grid article { position: relative; }
.enquiry-queue { border-top: 1px solid var(--line); padding-top: 42px; }
.enquiry-queue__intro { max-width: 650px; }
.enquiry-queue__intro h2 { margin-top: 18px; margin-bottom: 18px; }
.enquiry-queue__content { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: clamp(28px,5vw,80px); align-items: center; margin-top: 44px; }
.enquiry-queue__scene { position: relative; height: 350px; isolation: isolate; }
.enquiry-queue__floor { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: var(--line); stroke-width: .6; opacity: .5; overflow: hidden; }
.enquiry-queue__card { position: absolute; left: calc(var(--queue-i) * 28%); top: calc(68px - var(--queue-i) * 23px); width: 44%; padding: 0; border: 0; background: none; color: var(--ink3); cursor: pointer; text-align: left; z-index: calc(3 - var(--queue-i)); outline-offset: 8px; transition: transform 650ms var(--ease-geo), color 400ms; }
.enquiry-queue__card > svg { width: 100%; display: block; overflow: visible; stroke-width: .75; stroke-linejoin: round; }
.enquiry-queue__card { pointer-events: none; }
.enquiry-queue__card path, .enquiry-queue__card-label { pointer-events: auto; }
.enquiry-queue__plate { fill: var(--bg1); stroke: var(--line2); }
.enquiry-queue__plate--back { opacity: .38; }
.enquiry-queue__plate--middle { opacity: .65; }
.enquiry-queue__face { fill: var(--bg1); stroke: var(--ink3); transition: stroke 400ms, fill 400ms, transform 600ms var(--ease-geo); }
.enquiry-queue__face g { fill: none; stroke: var(--line2); }
.enquiry-queue__seam { fill: none; opacity: .45; }
.enquiry-queue__dot { fill: var(--ink3); stroke: none; }
.enquiry-queue__card.is-active { transform: translate(7px,-26px); color: var(--ink); z-index: 5; }
.enquiry-queue__card.is-active .enquiry-queue__face { stroke: var(--ink2); fill: var(--bg2); }
.enquiry-queue__card.is-active .enquiry-queue__dot { fill: var(--ok); }
.enquiry-queue__card[data-queue-card="1"].is-active .enquiry-queue__dot { fill: var(--warn); }
.enquiry-queue__flap, .enquiry-queue__question-mark { transition: transform 600ms var(--ease-geo), stroke 240ms; }
.enquiry-queue__detail { stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 560ms var(--ease-geo), stroke 240ms; }
.enquiry-queue__card.is-active .enquiry-queue__face { transform: translateY(-5px); }
.enquiry-queue__card.is-active .enquiry-queue__flap { transform: translateY(-6px); }
.enquiry-queue__card.is-active .enquiry-queue__question-mark { transform: translate(3px,-8px); stroke: var(--warn); }
.enquiry-queue__card.is-active .enquiry-queue__detail { stroke-dashoffset: 0; stroke: var(--ink2); }
.enquiry-queue__card.is-active .enquiry-queue__glyph--handoff .enquiry-queue__detail { stroke: var(--ok); }
html[data-motion="reduced"] .enquiry-queue__card :is(.enquiry-queue__face,.enquiry-queue__flap,.enquiry-queue__question-mark) { transform: none; }
@media(prefers-reduced-motion:reduce) { .enquiry-queue__card :is(.enquiry-queue__face,.enquiry-queue__flap,.enquiry-queue__question-mark) { transform: none !important; } }
.enquiry-queue__card-label { display: flex; gap: 10px; align-items: baseline; padding-left: 9%; margin-top: -18px; font-size: 12px; white-space: nowrap; }
.enquiry-queue__card-label i { font: 10px var(--mono); opacity: .65; }
.enquiry-queue__hint { font-size: 11px; line-height: 1.5; color: var(--ink3); margin-bottom: 26px; }
.enquiry-queue__explanation { min-width: 0; }
.enquiry-queue__explanation ol { list-style: none; padding: 0; margin: 0; }
.enquiry-queue__explanation li { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 14px; border-top: 1px solid var(--line); padding: 20px 0; color: var(--ink3); transition: color 400ms; }
.enquiry-queue__explanation li > span { font: 10px var(--mono); padding-top: 5px; }
.enquiry-queue__explanation h3 { font-size: 15px; font-weight: 400; margin: 0 0 8px; }
.enquiry-queue__explanation li p { font-size: 13px; line-height: 1.55; color: var(--ink2); margin: 0; }
.enquiry-queue__explanation li.is-active { color: var(--ink); }
.enquiry-queue__explanation li { cursor: pointer; }
.enquiry-queue__explanation h3 button { font: inherit; color: inherit; background: none; border: 0; padding: 0; text-align: left; cursor: pointer; }
.enquiry-queue__explanation h3 button:focus-visible { outline: 1px solid var(--ink2); outline-offset: 5px; }
html[data-motion="reduced"] .enquiry-queue__card { transform: none; transition: none; }
.works__gallery { align-content: start; }
/* Catalogue attention belongs to the artwork, never to labels or save controls.
   Actual card hover (not gallery hover/focus) keeps gaps and exits fully neutral. */
#works-gallery > .work-card-wrap .work-card__media {
 filter: grayscale(0) brightness(1);
 transition: filter 360ms var(--ease-state);
}
@media (hover: hover) and (pointer: fine) {
 #works-gallery:has(> .work-card-wrap:hover) > .work-card-wrap:not(:hover) .work-card__media {
  filter: grayscale(1) brightness(.84);
 }
}
html[data-motion="reduced"] #works-gallery .work-card__media { transition: none; }
@media (prefers-reduced-motion: reduce) {
 #works-gallery .work-card__media { transition: none; }
}
.work-card-wrap { transform-origin: top left; transition: transform 560ms var(--ease-geo); }
.work-card-wrap:is(:hover,:focus-within) { transform: translateY(-3px) scale(1.012); z-index: 3; }
html[data-motion="reduced"] .work-card-wrap { transform: none; }
.product-save { position: absolute; top: 18px; right: 18px; width: 36px; height: 36px; display: inline-flex; justify-content: center; align-items: center; color: #f0f0f0; background: #151719eb; border: 1px solid #ffffff45; border-radius: 50%; cursor: pointer; transition: color 180ms,background 180ms,border-color 180ms,transform 450ms var(--ease-geo); z-index: 2; }
.product-save svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.1; fill: transparent; }
.product-save[aria-pressed="true"] svg { fill: currentColor; }
.product-save[aria-pressed="true"] { color: #2fcb70; border-color: #2fcb7066; }
.product-save:hover { background: #34373cf5; transform: translateY(-2px); }
.product-save--label { position: static; border-radius: var(--r-ui); width: 100%; height: auto; padding: 13px 17px; font-size: 13px; gap: 10px; background: var(--bg1); color: var(--ink); border-color: var(--line2); }
.product-save--label:hover { background: var(--bg2); transform: none; }
.product-save--label[aria-pressed="true"] { color: var(--ink); border-color: color-mix(in srgb,var(--favorite) 45%,var(--line)); background: color-mix(in srgb,var(--favorite) 7%,var(--bg1)); }
.product-save--label[aria-pressed="true"] svg { color: var(--favorite); }
.account-head { padding-top: 38px; padding-bottom: 28px; }
.account-head h1 { font-size: clamp(40px,3.2vw,50px); letter-spacing: -.03em; margin: 22px 0 18px; }
.account-preview-note { display: flex; gap: 30px; padding: 18px 22px; border: 1px solid var(--line); border-radius: var(--r-ui); align-items: baseline; background: var(--bg1); }
.account-preview-note span { white-space: nowrap; font: 10px var(--mono); color: var(--ink); }
.account-preview-note p { font-size: 12px; line-height: 1.6; color: var(--ink2); max-width: 90ch; }
.account-layout { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 55px; margin-top: 44px; }
.account-layout > nav { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.account-layout > nav a { padding: 13px 14px; color: var(--ink2); display: flex; align-items: center; gap: 11px; font-size: 14px; border: 0; border-radius: 7px; text-decoration: none; transition: color 180ms ease,background-color 180ms ease; }
.account-layout > nav a[aria-current] { color: var(--ink); background: var(--bg2); }
.account-layout > nav a:hover { color: var(--ink); background: var(--acc-soft); }
.account-layout > nav .account-nav__label { font: inherit; }
.account-nav__count { margin-left: auto; min-width: 20px; padding: 3px 5px; border-radius: 4px; background: var(--acc-soft); font: 11px var(--mono); text-align: center; color: var(--ink2); font-variant-numeric: tabular-nums; }
.account-nav__icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.account-layout > nav a[aria-current] .account-nav__icon--saved { color: var(--favorite); }
.account-body { min-height: 320px; padding-bottom: 60px; }
.account-product { padding: 35px; border: 1px solid var(--line); border-radius: 15px; background: var(--bg1); }
.account-product h2 { margin: 23px 0 15px; font-size: 29px; letter-spacing: -.035em; font-weight: 450; }
.account-product > p { font-size: 15px; line-height: 1.7; max-width: 57ch; color: var(--ink2); }
.account-product .btn { margin: 26px 8px 20px 0; }
.account-product .product-note { font-size: 12px; }
.account-empty { min-height: 310px; border: 1px solid var(--line); border-radius: 15px; padding: 45px; }
.account-empty > svg { width: 32px; height: 32px; color: var(--ink3); margin-bottom: 20px; }
.account-empty h2, .account-empty h3 { font-size: 25px; font-weight: 450; max-width: 30ch; letter-spacing: -.025em; }
.account-empty p { font-size: 15px; color: var(--ink2); line-height: 1.7; margin: 15px 0 25px; max-width: 56ch; }
.account-section-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 25px; }
.account-section-head h2 { font-size: 27px; letter-spacing: -.03em; font-weight: 450; }
.saved-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.saved-grid article { padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.saved-grid img { width: 100%; height: auto; aspect-ratio: 1.6; object-fit: cover; border-radius: 12px; }
.saved-grid h3 { font-size: 19px; letter-spacing: -.02em; font-weight: 450; margin-top: 17px; }
.saved-grid p { font-size: 12px; color: var(--ink2); margin-top: 6px; }
.saved-grid article > a { text-decoration: none; color: var(--ink); }
.saved-grid article > a img { transition: filter 350ms ease; }
.saved-grid article > a:hover img { filter: brightness(1.05); }
.saved-grid .product-save { top: 12px; right: 12px; }
.product-connect-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 85px; padding-top: 15px; }
.product-connect-steps { list-style: none; padding: 0; margin: 0; }
.product-connect-steps li { display: grid; grid-template-columns: 45px 1fr; gap: 20px; border-top: 1px solid var(--line); padding: 26px 0; }
.product-connect-steps li > span { font: 11px var(--mono); color: var(--ink3); padding-top: 6px; }
.product-connect-steps h2 { font-size: 21px; font-weight: 450; }
.product-connect-steps p { font-size: 15px; line-height: 1.7; color: var(--ink2); margin-top: 12px; max-width: 43ch; }
.product-connect-summary { border: 1px solid var(--line2); border-radius: 16px; padding: 32px; background: var(--bg1); }
.product-connect-summary h2 { font-size: 26px; font-weight: 450; letter-spacing: -.03em; margin: 25px 0 10px; }
.product-connect-summary > p { font-size: 13px; color: var(--ink2); }
.product-connect-summary ul { list-style: none; padding: 20px 0; margin: 0; }
.product-connect-summary li { font-size: 14px; color: var(--ink2); padding: 9px 0; }
.product-connect-summary .btn { width: 100%; }
.product-connect-summary .btn--fill, .product-plan__offer .btn--fill { background: #2fcb70; color: #072514; border-color: transparent; }
.product-connect-summary .btn--fill:is(:hover,:focus-visible), .product-plan__offer .btn--fill:is(:hover,:focus-visible) { background: #39d67b; color: #072514; border-color: transparent; box-shadow: inset 0 1px 0 #ffffff30, 0 5px 18px #00000018; }
.product-plan__offer .btn--fill:focus-visible svg { transform: translateX(4px); }
.product-connect-summary .btn--fill:active, .product-plan__offer .btn--fill:active { translate: 0 1px; box-shadow: inset 0 1px 3px #07251422; }
.product-connect-summary .product-note { margin: 18px 0; font-size: 12px; }
/* Details, status and type refinement. A color is never the only state label. */
.product-footer a { text-decoration: none; color: var(--ink2); transition: color 180ms ease; }
.product-footer a:hover { color: var(--ink); }
.product-feedback { display: flex; justify-content: flex-end; padding: 20px 0 4px; }
.product-feedback .link { display: inline-flex; align-items: center; gap: 14px; color: var(--ink2); font-size: 12px; }
.product-feedback .link:hover { color: var(--ink); }
.account-body .product-feedback { border-top: 1px solid var(--line); margin-top: 28px; justify-content: flex-start; }
.account-preview-note { border-radius: 10px; }
.account-empty,.account-product,.pilot-panel { background: color-mix(in srgb,var(--bg2) 36%,var(--bg0)); }
:is(.product-record,.product-scene,.product-how,.product-connect-steps,.service-family,.pilot-usage) { font-variant-numeric: tabular-nums; }
.product-scene { --scene-ok: #2fcb70; --scene-warn: #f5cc27; }
.product-record__state { color: #c5c7cb; display: inline-flex; align-items: center; gap: 8px; }
.product-record__state::before { content: ''; width: 8px; height: 8px; border: 1.25px solid var(--scene-warn); border-radius: 50%; flex: 0 0 auto; }
.product-scene[data-step="2"] .product-record__state::before { border-color: var(--scene-ok); background: radial-gradient(circle,var(--scene-ok) 0 1.5px,transparent 2px); }
.product-scene__log [data-status="current"] i { width: 8px; height: 8px; border-color: var(--scene-warn); background: none; }
.product-scene__log [data-status="done"] { color: #bcc6c0; }
.product-scene__log [data-status="done"] i { width: 8px; height: 8px; border-color: var(--scene-ok); background: radial-gradient(circle,var(--scene-ok) 0 1.5px,transparent 2px); }
.product-panel__source { color: #b5bdb8; font-size: 10px; }
.product-panel__source i { width: 6px; height: 6px; background: var(--scene-ok); }
.product-panel__label,.product-question b,.product-handoff-title p,.product-panel--handoff li { font-size: 10px; }
.product-question { border-left-color: var(--scene-warn); }
.product-question b { color: var(--scene-warn); }
.product-handoff-title > span { color: var(--scene-ok); border-color: #2fcb7066; }
.product-scene--compact .product-scene__chrome,.product-scene--compact .product-record__head,.product-scene--compact .product-record__footer { font-size: 10px; }
.product-scene__steps button span { opacity: .85; }
.product-scene__steps button:is(:hover,:focus-visible) { color: #f1f1f2; background: #ffffff0c; }
.product-scene__bottom button { transition: background-color 180ms ease,border-color 180ms ease; }
.product-scene__bottom button:disabled:hover { background: none; }
.service-detail summary,.product-faq summary { transition: color 180ms ease; }
.service-detail summary:hover,.product-faq summary:hover { color: var(--ink); }
.service-detail summary i,.product-faq summary span { position: relative; width: 16px; height: 16px; flex: 0 0 16px; font-size: 0; }
.service-detail summary i::before,.service-detail summary i::after,.product-faq summary span::before,.product-faq summary span::after { content: ''; position: absolute; left: 2px; right: 2px; top: 7px; height: 1px; background: currentColor; }
.service-detail summary i::after,.product-faq summary span::after { transform: rotate(90deg); }
.service-detail[open] summary i,.product-faq details[open] summary span { color: var(--ink); }
@supports (interpolate-size: allow-keywords) {
 .service-detail,.product-faq details { interpolate-size: allow-keywords; }
 .service-detail::details-content,.product-faq details::details-content { block-size: 0; opacity: 0; overflow: clip; transition: block-size 480ms var(--ease-geo),opacity 300ms ease,content-visibility 480ms allow-discrete; }
 .service-detail[open]::details-content,.product-faq details[open]::details-content { block-size: auto; opacity: 1; }
}
/* Content resolves on explicit disclosure; the summary/CTA never blurs. */
.service-detail[open] .service-detail__body > div > :is(p,h3,ul),
.product-faq details[open] > p { animation: product-copy-resolve 700ms var(--ease-geo) both; }
@keyframes product-copy-resolve {
 from { opacity: .2; filter: blur(3px); transform: translateY(5px); }
 to { opacity: 1; filter: none; transform: none; }
}
html[data-motion="reduced"] :is(.service-detail[open] .service-detail__body > div > :is(p,h3,ul),.product-faq details[open] > p) { animation: none; }
@media(prefers-reduced-motion:reduce) { :is(.service-detail[open] .service-detail__body > div > :is(p,h3,ul),.product-faq details[open] > p) { animation: none; } }
html[data-motion="reduced"] :is(.service-detail,.product-faq details)::details-content { transition: none; }
@media(prefers-reduced-motion:reduce) { :is(.service-detail,.product-faq details)::details-content { transition: none; } }
.product-page button:focus-visible, .product-scene button:focus-visible, .svc__groups button:focus-visible, .product-save:focus-visible, .product-page summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
html[data-motion="reduced"] .product-scene *, html[data-motion="reduced"] .product-page *, html[data-motion="reduced"] .product-desktop--teaser *, html[data-motion="reduced"] .product-save { transition-duration: .01ms !important; animation: none !important; scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) { .product-scene *, .product-page *, .product-desktop--teaser *, .product-save { transition-duration: .01ms !important; animation: none !important; scroll-behavior: auto !important; } }
/* Layout containment only. A mobile design pass remains gated by desktop approval. */
@media (max-width: 1000px) {
  .top__account { display: none; }
  .product-teaser { gap: 30px; }
  .product-hero { grid-template-columns: 1fr; gap: 25px; }
  .product-hero__aside { flex-direction: row; border: 0; padding: 0; align-items: center; }
  .product-hero__aside > svg { margin: 0; flex: 0 0 auto; }
  .product-scene__log { right: 25px; width: 27%; }
  .product-scene__log li { font-size: 9px; }
  .product-plan { gap: 35px; }
  .product-connect-layout { gap: 35px; }
}
@media (max-width: 760px) {
  .product-teaser, .product-plan, .product-faq, .service-family, .service-detail__body, .product-connect-layout { grid-template-columns: 1fr; }
  .product-page { padding-top: calc(var(--top-h) + 20px); }
  .product-hero { padding-top: 25px; }
  .product-hero h1 { font-size: 42px; }
  .product-hero__aside { display: none; }
  .product-section__heading { display: block; }
  .product-section__heading h2 { width: auto; margin-top: 20px; }
  .product-benefits, .product-how, .product-partners { grid-template-columns: 1fr; gap: 25px; }
  .product-record { width: calc(100% - 90px); margin-left: 20px; }
  .product-record__quote { font-size: 12px; }
  .product-record__fields > div { grid-template-columns: 75px 1fr; gap: 8px; }
  .product-scene__log { display: none; }
  .product-scene__steps button { font-size: 10px; gap: 6px; }
  .product-scene__chrome { padding: 0 16px; font-size: 8px; }
  .product-scene__chrome span:last-child { font-size: 8px; }
  .account-layout { grid-template-columns: 1fr; gap: 20px; }
  .account-layout > nav { flex-direction: row; flex-wrap: wrap; }
  .account-preview-note { display: block; }
  .account-preview-note p { margin-top: 8px; }
  .account-empty { padding: 25px; }
  .saved-grid { grid-template-columns: 1fr; }
  .product-footer { flex-wrap: wrap; }
}
