/* Isolated, unlinked maintenance-contract experiment. */
.contract-preview { --contract-ink:var(--ink); --contract-muted:#5d5d5d; --contract-line:#e1e1e1; --contract-accent:var(--brand); --contract-paper:#f9f9f9; color:var(--contract-ink); background:var(--contract-paper); }
.contract-preview [hidden] { display:none!important; }
.contract-preview main :is(h1,h2,h3,h4) { color:var(--contract-ink); }
.contract-preview .eyebrow { color:var(--contract-accent); }
.contract-preview :is(button,a) { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.contract-preview button { font:inherit; cursor:pointer; }
.contract-preview :is(a,button):focus-visible { outline:3px solid var(--brand-dark); outline-offset:5px; }
.contract-preview :is(section[id],article[id]) { scroll-margin-top:8rem; }
.contract-icon { display:block; flex-shrink:0; width:1.5rem; height:1.5rem; }
.contract-preview__notice { padding:.65rem 0; border-bottom:1px solid var(--contract-line); background:#fff; font-size:.75rem; }
.contract-preview__notice .container { display:flex; min-height:3.15rem; align-items:center; gap:.6rem 1rem; flex-wrap:wrap; }
.contract-preview__notice .container>span { color:var(--contract-accent); font-weight:800; }
.contract-preview__notice p { margin:0; color:var(--contract-muted); }
/* Reserve the actual control geometry before enhancement, including wrapped mobile rows. */
.contract-preview .contract-preview__notice [data-contract-style-controls][hidden],
.contract-preview .contract-preview__notice [data-contract-motion][hidden] { display:flex!important; visibility:hidden; }
.contract-motion-style { display:flex; align-items:center; gap:.2rem; margin-left:auto; padding:.2rem; background:#f2f2f2; border-radius:2rem; }
.contract-motion-style>span { margin-inline:.65rem .4rem; color:var(--contract-muted); }
.contract-preview .contract-motion-style button { border:0; border-radius:2rem; min-height:2.75rem; padding:.45rem .85rem; background:transparent; color:var(--contract-muted); font-size:.75rem; font-weight:700; }
.contract-preview .contract-motion-style button[aria-pressed="true"] { color:var(--contract-accent); background:#fff; box-shadow:0 2px 8px #47474710; }
.contract-preview .contract-motion-pause { min-height:2.75rem; padding:.45rem .8rem; border:1px solid #cecece; border-radius:2rem; background:#fff; color:#474747; font-size:.75rem; }
.contract-hero { padding:clamp(3rem,6vw,5.5rem) 0 0; overflow:clip; background:radial-gradient(ellipse at 84% 45%,#e7e7e7 0,transparent 48%),var(--contract-paper); }
.contract-hero__grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.contract-hero__copy { position:relative; z-index:1; }
.contract-preview .contract-hero h1 { max-width:18ch; margin:1.1rem 0 1.5rem; font-size:clamp(2.75rem,4.8vw,4.5rem); line-height:1.1; letter-spacing:-.055em; }
.contract-hero h1 span,.contract-digital h2 span,.contract-finale h2 span { color:var(--contract-accent); }
.contract-preview .contract-hero .lead { max-width:44ch; color:var(--contract-muted); font-size:clamp(1.0625rem,1.4vw,1.2rem); }
.contract-hero__actions { display:flex; align-items:flex-start; flex-direction:column; gap:1rem; margin-top:1.7rem; }
.contract-preview .contract-button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:3.25rem; padding:.95rem 1.3rem; border:1px solid var(--contract-accent); border-radius:.8rem; background:var(--contract-accent); color:#fff; font-size:.9375rem; font-weight:700; text-decoration:none; box-shadow:0 .35rem .8rem #40404014; transition:transform 200ms,background-color 200ms,box-shadow 200ms; }
.contract-preview .contract-button:hover { background:var(--brand-dark); border-color:var(--brand-dark); transform:translateY(-2px); box-shadow:0 .5rem 1.2rem #40404020; }
.contract-preview .contract-button span { font-size:1.3rem; line-height:1; transition:transform 200ms; }
.contract-preview .contract-button:hover span { transform:translate(2px,-2px); }
.contract-text-link { display:inline-flex; align-items:center; gap:.8rem; min-height:2.75rem; color:#4a4a4a; font-size:.875rem; font-weight:700; text-underline-offset:.3em; }
.contract-hero__signature { display:flex; align-items:center; gap:.75rem; margin:2rem 0 0; font-size:.75rem; color:var(--contract-muted); }
.contract-hero__signature .contract-icon { width:2rem; height:2rem; color:var(--contract-accent); }
.contract-hero__signature strong { display:block; margin-top:.15rem; font-size:.8125rem; color:#3b3b3b; }
.contract-wallet-scene { position:relative; display:grid; place-items:center; min-height:29rem; perspective:1000px; isolation:isolate; }
.contract-wallet-orbit { position:absolute; inset:6% -3%; border:1px solid #88888825; border-radius:50%; transform:rotate(-22deg); z-index:-1; }
.contract-wallet-orbit::after { content:""; position:absolute; inset:12% -8%; border:1px dashed #88888835; border-radius:50%; transform:rotate(45deg); }
.contract-wallet-orbit span { position:absolute; width:.8rem; height:.8rem; border-radius:50%; background:#7f7f7f; }
.contract-wallet-orbit span:nth-child(1) { top:3%; left:28%; }
.contract-wallet-orbit span:nth-child(2) { bottom:1%; right:30%; width:1.15rem; height:1.15rem; background:#b3b3b3; }
.contract-wallet-orbit span:nth-child(3) { top:55%; left:-1%; width:.55rem; height:.55rem; background:#929292; }
.contract-wallet { position:relative; width:min(100%,25rem); height:26rem; transform-style:preserve-3d; }
.contract-wallet__card { position:absolute; inset:1.7rem 2.8rem .9rem 3.3rem; padding:1.65rem; border:1px solid #d4d4d4; border-radius:1.3rem; color:#383838; background:linear-gradient(140deg,#eaeaea,#dddddd 66%,#c7c7c7); box-shadow:0 1.7rem 3rem -1rem #5555552b; rotate:-7deg; }
.contract-wallet::before,.contract-wallet::after { content:""; position:absolute; inset:1.7rem 2.8rem .9rem 3.3rem; border:1px solid #cbcbcb; border-radius:1.3rem; background:#f0f0f0; z-index:-1; transform:translate(10px,7px) rotate(-2deg); }
.contract-wallet::after { background:#ebebeb; transform:translate(19px,14px) rotate(2deg); z-index:-2; }
.contract-wallet__top { display:flex; justify-content:space-between; align-items:baseline; gap:.5rem; font-size:.625rem; }
.contract-wallet__top>span:first-child { font-size:.75rem; letter-spacing:.11em; font-weight:800; }
.contract-flower { display:block; width:3.8rem; height:3.8rem; margin:1.8rem 0 1.5rem auto; fill:var(--brand); transform-origin:center; }
.contract-wallet__eyebrow { font-size:.6875rem; }
.contract-wallet__card>strong { display:block; margin-top:.35rem; font-size:2.35rem; font-weight:700; line-height:1.1; letter-spacing:-.055em; }
.contract-wallet__bottom { display:flex; align-items:center; justify-content:space-between; margin-top:1.65rem; font-size:.6875rem; }
.contract-wallet__bottom .contract-icon { width:1.75rem; height:1.75rem; }
.contract-wallet-note { position:absolute; display:flex; align-items:center; gap:.65rem; padding:.9rem 1rem; border:1px solid #e6e6e6; border-radius:.85rem; color:var(--contract-muted); background:#fff; box-shadow:0 .65rem 1.5rem #4a4a4a12; font-size:.625rem; transform:translateZ(28px); }
.contract-wallet-note strong { display:block; margin-top:.18rem; color:#363636; font-size:.8125rem; }
.contract-wallet-note .contract-icon { width:1.9rem; height:1.9rem; padding:.3rem; box-sizing:content-box; border-radius:.65rem; background:#efefef; color:var(--brand); }
.contract-wallet-note--reminder { right:-1rem; top:1rem; rotate:5deg; }
.contract-note-dot { width:.4rem; height:.4rem; background:#6d6d6d; border-radius:50%; margin-left:.25rem; }
.contract-wallet-note--priority { left:-.65rem; top:6.5rem; rotate:-4deg; }
.contract-wallet-note--priority .contract-icon { color:#686868; background:#f1f1f1; }
.contract-wallet-note--parts { right:-1rem; bottom:.5rem; rotate:4deg; }
.contract-wallet-note--parts .contract-icon { color:#656565; background:#f0f0f0; }
.contract-wallet-hint { position:absolute; bottom:-1rem; font-size:.6875rem; color:#626262; }
.contract-hero__foot { display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem 2rem; margin-top:clamp(3.5rem,6vw,5.5rem); padding-block:1.5rem; border-top:1px solid #dcdcdc; color:#575757; font-size:.8125rem; }
.contract-hero__foot span::before { content:"+"; margin-right:.55rem; color:var(--contract-accent); }
.contract-benefits { padding:clamp(4rem,8vw,7rem) 0; background:#fff; }
.contract-section-heading { margin-bottom:2.5rem; }
.contract-preview .contract-section-heading h2,.contract-preview .contract-digital h2 { margin:.9rem 0 1.25rem; font-size:clamp(2rem,3.6vw,3.15rem); line-height:1.15; letter-spacing:-.045em; }
.contract-section-heading>p { max-width:52ch; margin:0; color:var(--contract-muted); font-size:1rem; }
.contract-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:start; }
.contract-benefit { --benefit-bg:#eeeeee; --benefit-ink:#454545; position:relative; padding:1.6rem; background:var(--benefit-bg); border:1px solid transparent; border-radius:1.15rem; transition:border-color 200ms,box-shadow 200ms; }
.contract-benefit--sand { --benefit-bg:#f0f0f0; --benefit-ink:#5c5c5c; }
.contract-benefit--sage { --benefit-bg:#f1f1f1; --benefit-ink:#616161; }
.contract-benefit--blue { --benefit-bg:#f2f2f2; --benefit-ink:#5c5c5c; }
.contract-benefit--lilac { --benefit-bg:#efefef; --benefit-ink:#595959; }
.contract-benefit--peach { --benefit-bg:#f0f0f0; --benefit-ink:#565656; }
.contract-benefit:hover,.contract-benefit:focus-within { border-color:var(--benefit-ink); box-shadow:0 .65rem 1.25rem #4444440b; }
.contract-benefit__top { display:flex; justify-content:space-between; align-items:center; gap:1rem; color:var(--benefit-ink); font-size:.75rem; font-weight:700; }
.contract-benefit__icon { display:grid; place-items:center; width:3.4rem; height:3.4rem; border-radius:1rem; background:#ffffffb3; color:var(--benefit-ink); transition:transform 300ms cubic-bezier(.2,.8,.2,1); }
.contract-benefit__icon .contract-icon { width:1.55rem; height:1.55rem; }
.contract-preview[data-motion-style="playful"] .contract-benefit:hover .contract-benefit__icon { transform:translateY(-3px) rotate(-9deg); }
.contract-preview .contract-benefit h3 { margin:1.5rem 0 .65rem; font-size:1.05rem; letter-spacing:-.02em; }
.contract-preview .contract-benefit h3 button { display:flex; align-items:center; justify-content:space-between; gap:.8rem; width:100%; min-height:2.75rem; padding:0; border:0; background:transparent; color:var(--contract-ink); font-size:inherit; line-height:1.35; font-weight:800; text-align:left; }
.contract-preview.is-enhanced .contract-benefit h3 button::after { content:""; position:absolute; inset:0; border-radius:1.15rem; }
.contract-preview .contract-benefit h3 button:focus-visible { outline:none; }
.contract-benefit:has(button:focus-visible) { outline:3px solid var(--benefit-ink); outline-offset:4px; }
.contract-benefit__plus { display:none; flex-shrink:0; place-items:center; width:2rem; height:2rem; border:1px solid currentColor; border-radius:50%; color:var(--benefit-ink); font-size:1.3rem; font-weight:400; line-height:1; transition:transform 220ms; }
.is-enhanced .contract-benefit__plus { display:grid; }
.contract-benefit [aria-expanded="true"] .contract-benefit__plus { transform:rotate(45deg); }
.contract-benefit__teaser { margin:0; min-height:3.4em; max-width:30ch; font-size:.875rem; line-height:1.65; color:#555555; }
.contract-benefit__detail { padding-top:1rem; }
.contract-benefit__detail p { margin:0; padding-top:1rem; border-top:1px solid #7c7c7c33; font-size:.875rem; line-height:1.65; color:#454545; }
.contract-benefits__note { max-width:88ch; margin:1.4rem 0 0; color:var(--contract-muted); font-size:.8125rem; line-height:1.65; }
.contract-digital { padding:clamp(4rem,8vw,7rem) 0; overflow:clip; background:#f3f3f3; }
.contract-digital__grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(3rem,7vw,6rem); }
.contract-digital__copy>p { max-width:48ch; color:var(--contract-muted); font-size:1rem; }
.contract-digital__features { display:grid; gap:1rem; margin:1.8rem 0; padding:0; list-style:none; }
.contract-digital__features li { display:flex; align-items:center; gap:.8rem; font-size:.875rem; color:#454545; }
.contract-digital__features .contract-icon { color:#575757; width:1.2rem; height:1.2rem; }
.contract-digital__try { margin-top:2rem; }
.contract-digital__try>span { display:block; margin-bottom:.6rem; font-size:.8125rem; color:var(--contract-accent); font-weight:700; }
.contract-digital__copy .contract-demo-note { max-width:48ch; margin-top:1rem; font-size:.75rem; line-height:1.65; color:#606060; }
.contract-phone-scene { position:relative; padding:1.5rem 1rem; isolation:isolate; }
.contract-phone-scene::before { content:""; position:absolute; inset:6% -2%; z-index:-1; background:#e7e7e7; border-radius:45% 55% 61% 39% / 45% 39% 61% 55%; rotate:-12deg; }
.contract-phone-sticker { position:absolute; top:4rem; right:-1.4rem; z-index:2; padding:1rem; border-radius:.2rem .2rem 1.25rem .2rem; background:#d9d9d9; color:#585858; font-size:.8125rem; font-weight:700; rotate:10deg; box-shadow:.25rem .4rem .6rem #67676710; }
.contract-phone { width:min(100%,20rem); margin-inline:auto; padding:.6rem; border:1px solid #c9c9c9; border-radius:2.25rem; background:#fff; box-shadow:0 1.75rem 2.5rem -1rem #53535328,inset 0 0 0 .3rem #e9e9e9; }
.contract-phone__bar { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.25rem 1.1rem .85rem; font-size:.6875rem; }
.contract-phone__bar>span:first-child { color:#3a3a3a; font-weight:800; }
.contract-phone__bar>span:last-child { padding:.2rem .5rem; border-radius:1rem; background:#eeeeee; color:#5d5d5d; font-size:.5625rem; }
.contract-phone__cover,.contract-book { padding:1.25rem 1.1rem 1.5rem; border-radius:0 0 1.7rem 1.7rem; background:#f9f9f9; }
.is-enhanced .contract-phone__cover,.is-enhanced .contract-book { min-height:27.5rem; }
.contract-phone__cover { text-align:center; }
.contract-phone__kicker { display:block; margin-bottom:.5rem; color:#656565; font-size:.625rem; }
.contract-preview .contract-phone h3 { margin:0; font-size:1.45rem; line-height:1.22; letter-spacing:-.04em; }
.contract-qr-symbol { position:relative; width:10.5rem; margin:1.75rem auto; padding:1rem; border:1px solid #dadada; border-radius:1.25rem; background:#fff; color:#404040; }
.contract-qr-symbol svg { display:block; width:100%; height:auto; }
.contract-qr-symbol__scanner { position:absolute; top:15%; left:7%; right:7%; height:2px; background:#585858; box-shadow:0 .25rem .7rem #58585838; opacity:0; }
.contract-phone__cover>p { margin:0 0 1.5rem; font-size:.6875rem; line-height:1.8; color:#585858; }
.contract-preview .contract-phone__open { min-height:2.75rem; padding:.6rem 1.1rem; border:1px solid #b5b5b5; border-radius:2rem; background:#ececec; color:#3e3e3e; font-size:.75rem; font-weight:700; }
.contract-phone__sample { display:block; margin-top:1.25rem; color:#6f6f6f; text-align:center; font-size:.5625rem; }
.contract-book__system { display:flex; align-items:center; gap:.75rem; margin-top:1rem; padding:.85rem; border:1px solid #dfdfdf; border-radius:.75rem; background:#fff; }
.contract-book__system>.contract-icon { width:1.9rem; height:1.9rem; color:#606060; }
.contract-book__system strong { display:block; font-size:.75rem; }
.contract-book__system span { display:block; margin-top:.15rem; font-size:.5625rem; color:#636363; }
.contract-book__tabs { display:flex; gap:.2rem; margin:1.1rem -.2rem 1rem; border-bottom:1px solid #d8d8d8; }
.contract-preview .contract-book__tabs button { flex:1 1 0; padding:.65rem .3rem; min-height:2.75rem; border:0; border-bottom:2px solid transparent; color:#5a5a5a; background:transparent; font-size:.6875rem; font-weight:600; }
.contract-preview .contract-book__tabs button[aria-pressed="true"] { border-color:var(--contract-accent); color:var(--contract-accent); }
.contract-preview .contract-book h4 { margin:1rem 0; font-size:.75rem; }
.contract-book [data-contract-book-panel] { min-height:10rem; }
.contract-book__timeline { display:grid; gap:1rem; margin:0; padding:0 0 0 .85rem; list-style:none; }
.contract-book__timeline li { position:relative; padding:0 0 0 .9rem; border-left:1px solid #cdcdcd; }
.contract-book__timeline li::before { content:""; position:absolute; top:.15rem; left:-.24rem; width:.4rem; height:.4rem; border-radius:50%; background:#7c7c7c; }
.contract-book__timeline strong { display:block; font-size:.6875rem; font-weight:600; }
.contract-book__timeline span { display:block; margin-top:.15rem; color:#696969; font-size:.625rem; }
.contract-book__document { display:flex; align-items:center; gap:.7rem; padding:.8rem; border:1px solid #dfdfdf; border-radius:.65rem; background:#fff; margin-bottom:.6rem; font-size:.75rem; }
.contract-book__document .contract-icon { width:1.2rem; height:1.2rem; color:#6f6f6f; }
.contract-book__document small { display:block; margin-top:.25rem; font-size:.5625rem; color:#696969; }
.contract-book__reminder { padding:.85rem 1rem; background:#eaeaea; color:#404040; border-radius:.75rem; }
.contract-book__reminder .contract-icon { width:1.4rem; height:1.4rem; margin-bottom:.5rem; }
.contract-book__reminder strong { display:block; font-size:.9375rem; line-height:1.35; }
.contract-book__reminder p { margin:.5rem 0 0; color:#545454; font-size:.6875rem; line-height:1.65; }
.contract-story { padding:clamp(4rem,8vw,7rem) 0; background:#fff; }
.contract-story__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,8vw,7rem); align-items:start; }
.contract-chapter { display:flex; flex-direction:column; justify-content:center; min-height:58svh; padding:3rem 0; border-top:1px solid var(--contract-line); }
.contract-chapter__number { margin-bottom:1.5rem; color:var(--contract-accent); font-size:.8125rem; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.1em; }
.contract-preview .contract-chapter h3 { max-width:21ch; margin-bottom:1.25rem; font-size:clamp(1.65rem,2.7vw,2.35rem); line-height:1.2; }
.contract-chapter p { color:var(--contract-muted); font-size:1rem; }
.contract-chapter ul { list-style:none; margin:1rem 0 0; padding:0; color:#4a4a4a; font-size:.875rem; }
.contract-chapter li { padding:.7rem 0; border-bottom:1px solid var(--contract-line); }
.contract-chapter li::before { content:"↗"; margin-right:.7rem; color:var(--contract-accent); }
.contract-story__visual { position:sticky; top:8rem; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid #dfdfdf; border-radius:1.3rem; background:#f0f0f0; box-shadow:0 1.2rem 2rem -1rem #4a4a4a14; }
.contract-story__visual-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; color:#474747; font-size:.8125rem; font-weight:700; }
.contract-story__visual-head .contract-icon { width:1.25rem; height:1.25rem; }
.contract-story__counter { display:flex; align-items:baseline; gap:.75rem; margin-top:1.5rem; color:#5a5a5a; }
.contract-story__counter>span:first-child { font-size:5rem; line-height:1.1; letter-spacing:-.05em; font-weight:600; font-variant-numeric:tabular-nums; }
.contract-story__counter>span:last-child { color:#686868; font-size:.875rem; }
.contract-story__visual-title { margin-top:.75rem; min-height:1.6em; color:#4d4d4d; font-size:.9375rem; }
.contract-stage-list { display:grid; gap:.5rem; margin-top:1.75rem; }
.contract-stage-list a { display:flex; align-items:center; gap:.8rem; min-height:2.75rem; border:1px solid #d4d4d4; border-radius:.6rem; padding:.85rem 1rem; color:#4c4c4c; background:#fdfdfd; font-size:.875rem; text-decoration:none; transition:color 180ms,background-color 180ms,border-color 180ms; }
.contract-stage-list a>span:first-child { font-variant-numeric:tabular-nums; font-size:.75rem; }
.contract-stage-list a[aria-current="step"] { border-color:var(--brand); color:#fff; background:var(--brand); }
.contract-stage-list a:hover { border-color:var(--brand); }
.contract-stage-list__mark { margin-left:auto; }
.contract-story__progress { height:.25rem; margin:1.5rem 0 .85rem; overflow:hidden; background:#d5d5d5; border-radius:1rem; }
.contract-story__progress span { display:block; height:100%; background:var(--brand); transform:scaleX(.25); transform-origin:left; transition:transform 320ms cubic-bezier(.2,.8,.2,1); }
.contract-story__visual>small { color:#5e5e5e; font-size:.75rem; }
.contract-systems { padding:clamp(4rem,8vw,7rem) 0; background:#f5f5f5; }
.contract-system-controls { display:inline-flex; flex-wrap:wrap; gap:.35rem; margin-bottom:1.5rem; padding:.35rem; border:1px solid #dbdbdb; border-radius:.85rem; background:#ebebeb; }
.contract-preview .contract-system-controls button { min-height:2.9rem; border:1px solid transparent; border-radius:.55rem; padding:.7rem 1.15rem; background:transparent; color:#565656; font-size:.875rem; font-weight:700; }
.contract-preview .contract-system-controls button[aria-pressed="true"] { border-color:#dadada; color:var(--brand-dark); background:#fff; box-shadow:0 .15rem .35rem #3f3f3f12; }
.contract-system-panel { display:grid; grid-template-columns:1.15fr .85fr; border:1px solid #dedede; border-radius:1.15rem; overflow:hidden; margin-bottom:1rem; background:#fff; }
.contract-system-panel>div { padding:clamp(1.5rem,3.5vw,3rem); }
.contract-system-panel__label { display:inline-block; margin-bottom:1rem; color:var(--contract-accent); font-size:.8125rem; font-weight:700; }
.contract-preview .contract-system-panel h3 { max-width:24ch; font-size:clamp(1.6rem,2.7vw,2.2rem); margin-bottom:1rem; }
.contract-system-panel p { color:var(--contract-muted); font-size:.9375rem; }
.contract-system-panel a { display:inline-block; min-height:2.75rem; margin-top:.75rem; font-weight:700; font-size:.875rem; text-underline-offset:.3em; }
.contract-system-panel__scope { background:#efefef; }
.contract-system-panel__scope>span { display:block; margin-bottom:.5rem; color:#565656; font-size:.8125rem; font-weight:800; }
.contract-system-panel__scope p { font-size:.875rem; }
.contract-system-panel__scope p:last-child { margin-bottom:0; }
.contract-finale { position:relative; overflow:clip; padding:clamp(4.5rem,9vw,8rem) 0; text-align:center; background:radial-gradient(ellipse at 50% 80%,#e6e6e6,transparent 70%),#f7f7f7; }
.contract-finale::before,.contract-finale::after { content:"+"; position:absolute; top:25%; left:9%; color:#8f8f8f46; font-size:7rem; font-weight:400; line-height:1; rotate:-20deg; pointer-events:none; }
.contract-finale::after { top:auto; left:auto; right:11%; bottom:14%; font-size:4rem; rotate:18deg; }
.contract-finale .container { position:relative; }
.contract-preview .contract-finale h2 { margin:1rem auto 1.5rem; font-size:clamp(2.5rem,4.5vw,4rem); line-height:1.1; letter-spacing:-.05em; }
.contract-finale p { max-width:50ch; margin:0 auto 1.5rem; color:var(--contract-muted); font-size:1rem; }
.contract-finale small { display:block; max-width:65ch; margin:1.25rem auto 0; color:#626262; font-size:.75rem; }
.contract-preview .footer-cta,.contract-preview .mobile-actionbar { display:none; }
/* Compositor-only decoration, visible on demand; no permanent JavaScript loop. */
@keyframes contract-flower-turn { to { transform:rotate(360deg); } }
@keyframes contract-card-float { 0%,100% { translate:0 0; } 50% { translate:0 -6px; } }
.contract-preview.is-enhanced[data-motion-style="playful"] .contract-flower { animation:contract-flower-turn 28s linear infinite; animation-play-state:paused; }
.contract-preview.is-enhanced[data-motion-style="playful"] .contract-wallet-note { animation:contract-card-float 5s ease-in-out infinite; animation-play-state:paused; }
.contract-preview .contract-wallet-note--priority { animation-delay:-1.5s!important; }
.contract-preview .contract-wallet-note--parts { animation-delay:-3s!important; }
.contract-preview.is-enhanced[data-motion-style="playful"] .is-in-view :is(.contract-flower,.contract-wallet-note) { animation-play-state:running; }
@media (max-width:1000px) {
    .contract-hero__grid { gap:2rem; }
    .contract-preview .contract-hero h1 { font-size:clamp(2.5rem,4.8vw,3.5rem); }
    .contract-wallet { width:21.5rem; height:25rem; }
    .contract-wallet::before,.contract-wallet::after { inset-inline:2.8rem 2rem; }
    .contract-wallet__card { inset-inline:2.8rem 2rem; padding:1.3rem; }
    .contract-wallet__card>strong { font-size:2.15rem; }
    .contract-wallet-note { padding:.7rem .8rem; }
    .contract-wallet-note--reminder,.contract-wallet-note--parts { right:-.3rem; }
    .contract-benefit { padding:1.25rem; }
    .contract-preview .contract-benefit h3 { font-size:1rem; }
    .contract-story__grid { gap:2rem; }
    .contract-story__visual { padding:1.5rem; }
    .contract-stage-list a { padding:.8rem .6rem; gap:.5rem; }
    .contract-digital__grid { gap:2.5rem; }
    .contract-phone-sticker { right:-1rem; top:2rem; }
}
@media (max-width:800px) {
    .contract-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .contract-motion-style>span { display:none; }
    .contract-preview__notice .container { gap:.5rem; }
}
@media (max-width:700px) {
    .contract-preview__notice .container { display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:6.1rem; }
    .contract-preview__notice .container>span { grid-row:1; grid-column:1; }
    .contract-preview__notice p { grid-row:1; grid-column:2; }
    .contract-motion-style { grid-row:2; grid-column:1; justify-self:start; }
    .contract-preview .contract-motion-style button { padding-inline:.7rem; font-size:.6875rem; }
    .contract-preview .contract-motion-pause { grid-row:2; grid-column:2; justify-self:end; }
    .contract-preview__notice .container>span { flex:1 1 auto; }
    .contract-preview__notice p { font-size:.6875rem; }
    .contract-motion-style { margin-left:0; }
    .contract-preview .contract-motion-pause { margin-left:auto; font-size:.6875rem; }
    .contract-hero { padding-top:2.75rem; }
    .contract-hero__grid,.contract-story__grid,.contract-system-panel,.contract-digital__grid { grid-template-columns:minmax(0,1fr); }
    .contract-hero__grid { gap:2rem; }
    .contract-preview .contract-hero h1 { font-size:clamp(2.35rem,8.8vw,3.7rem); max-width:18ch; }
    .contract-hero__signature { margin-top:1.5rem; }
    .contract-wallet-scene { width:100%; max-width:26rem; min-height:26rem; margin-inline:auto; }
    .contract-wallet { width:min(100%,22rem); height:25rem; }
    .contract-wallet-note--priority { left:0; }
    .contract-wallet-note--reminder,.contract-wallet-note--parts { right:0; }
    .contract-wallet-note .contract-icon { width:1.5rem; height:1.5rem; }
    .contract-wallet-orbit { inset:5% 0; }
    .contract-wallet-hint { display:none; }
    .contract-hero__foot { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; margin-top:2rem; padding-block:1.25rem; font-size:.6875rem; }
    .contract-preview .contract-section-heading h2,.contract-preview .contract-digital h2 { font-size:clamp(1.85rem,7vw,2.5rem); }
    .contract-section-heading { margin-bottom:1.75rem; }
    .contract-digital__grid { gap:2rem; }
    .contract-phone-scene { max-width:26rem; width:100%; margin-inline:auto; padding:1.5rem .5rem; }
    .contract-phone-sticker { top:1rem; right:0; padding:.7rem; font-size:.6875rem; }
    .contract-story__visual { position:static; grid-row:1; }
    .contract-story__counter,.contract-story__visual-title { display:none; }
    .contract-stage-list { grid-template-columns:1fr 1fr; gap:.5rem; margin-top:1rem; }
    .contract-stage-list a { min-height:3.5rem; font-size:.8125rem; }
    .contract-stage-list__mark { display:none; }
    .contract-chapter { min-height:0; padding-block:2.5rem; }
    .contract-chapter__number { margin-bottom:1rem; }
    .contract-system-controls { display:flex; }
    .contract-preview .contract-system-controls button { flex:1 1 auto; padding-inline:.6rem; font-size:.8125rem; }
    .contract-finale::before { top:12%; left:-1%; font-size:4rem; }
    .contract-finale::after { right:1%; bottom:7%; font-size:3rem; }
}
@media (max-width:480px) {
    .contract-benefit-grid { grid-template-columns:minmax(0,1fr); gap:.8rem; }
    .contract-benefit { padding:1.35rem; }
    .contract-benefit__top { margin-bottom:.75rem; }
    .contract-benefit__icon { width:2.8rem; height:2.8rem; border-radius:.85rem; }
    .contract-preview .contract-benefit h3 { margin-top:0; font-size:1.0625rem; }
    .contract-benefit__teaser { min-height:0; max-width:33ch; }
    .contract-hero__actions { align-items:stretch; }
    .contract-hero__actions .contract-text-link { align-self:flex-start; font-size:.8125rem; }
    .contract-preview .contract-button { font-size:.875rem; gap:.85rem; padding-inline:1rem; }
}
@media (max-height:750px) and (min-width:701px) {
    .contract-story__visual { top:7.5rem; padding:1.25rem; }
    .contract-story__counter>span:first-child { font-size:3rem; }
    .contract-story__counter,.contract-stage-list { margin-top:.75rem; }
    .contract-stage-list a { padding-block:.6rem; }
}
@media (prefers-reduced-motion:reduce) {
    .contract-preview *,.contract-preview *::before,.contract-preview *::after { animation:none!important; transition:none!important; }
    .contract-story__visual { position:static; }
    .contract-chapter { min-height:0; }
    html:has(.contract-preview) { scroll-behavior:auto; }
}
.contract-preview.is-motion-paused *,.contract-preview.is-background * { animation-play-state:paused!important; transition:none!important; }
html:has(.contract-preview.is-motion-paused) { scroll-behavior:auto; }

/* A preselected entry into the new inert site-wide preview. */
.contract-system-entry { display:flex; grid-column:1/-1; justify-content:space-between; align-items:center; gap:1rem; min-height:3.25rem; margin-top:.5rem; padding:1rem 1.2rem; border:1px solid var(--contract-line); border-radius:.8rem; color:var(--contract-accent); background:#fff; font-size:.85rem; font-weight:750; text-decoration:none; }
.contract-system-entry:hover { border-color:var(--contract-accent); }
