/* A readable, scroll-led story with a simple horizontal slide transition. */
.smart-section[data-fact-section]{background:var(--cream);color:#0d0f0d}
.fact-story{position:relative}
.fact-sticky{width:min(88%,1370px);margin-inline:auto;padding:110px 0 70px}
.fact-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:42px}
.fact-kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0}
.fact-kicker::before{content:"";display:inline-block;width:8px;height:8px;background:var(--green);border-radius:50%;margin-right:12px}
.fact-count{font-size:12px;font-variant-numeric:tabular-nums;color:#526047}
.fact-slide{padding-bottom:55px;min-width:0}
.fact-slide+.fact-slide{padding-top:45px;border-top:1px solid #0d0f0d26}
.fact-slide-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(35px,7vw,110px);align-items:center;min-height:360px}
.fact-number{display:block;font-size:clamp(76px,11vw,170px);font-weight:600;letter-spacing:-.07em;line-height:1;margin:0 0 20px}
.fact-number small{font-size:.3em;letter-spacing:-.03em;margin-left:12px}
.fact-number-label{font-size:14px;color:#526047;margin:0;max-width:32ch;line-height:1.6}
.fact-slide h3{font-size:clamp(31px,3.5vw,52px);line-height:1.1;letter-spacing:-.045em;margin:0 0 24px;font-weight:600;max-width:19ch}
.fact-slide-copy>p{font-size:clamp(16px,1.4vw,20px);line-height:1.65;max-width:46ch;color:#526047;margin:0}
.fact-comparison{display:inline-flex;gap:10px;align-items:center;margin:22px 0 0;padding:12px 16px;border:1px solid #0d0f0d30;border-radius:10px;color:#0d0f0d;font-size:13px;line-height:1.5}
.fact-comparison strong{font-size:24px;white-space:nowrap}
.fact-structure{display:grid;gap:10px;max-width:390px}
.fact-structure span{padding:18px 24px;border:1px solid #0d0f0d30;border-radius:12px;font-size:clamp(22px,2.6vw,37px);letter-spacing:-.04em;font-weight:600}
.fact-structure span:nth-child(2){background:var(--green);border-color:var(--green);margin-left:22px}
.fact-structure span:nth-child(3){background:#030405;color:#f4f7ef;margin-left:44px}
.fact-link{display:inline-flex;align-items:center;gap:20px;margin-top:26px;min-height:44px;font-size:14px;font-weight:600;text-underline-offset:6px;color:#0d0f0d}
.fact-controls{display:none;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;border-top:1px solid #0d0f0d26;margin-top:30px}
.fact-hint{font-size:12px;color:#526047;margin:0}
.fact-buttons{display:flex;align-items:center;gap:10px}
.fact-buttons button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #0d0f0d50;border-radius:50%;background:transparent;color:#0d0f0d;cursor:pointer;font-size:20px}
.fact-buttons button:hover{background:var(--green)}
.fact-buttons button:disabled{opacity:.3;cursor:default;background:transparent}
.fact-dots{display:flex;align-items:center;gap:8px;margin-inline:10px}
.fact-dots button{width:28px;height:44px;border:0;border-radius:0;font-size:0;background:none}
.fact-dots button:hover{background:transparent}
.fact-dots button::after{content:"";width:7px;height:7px;border-radius:50%;background:#0d0f0d50}
.fact-dots button[aria-current=true]::after{background:#0d0f0d;box-shadow:0 0 0 5px var(--green)}
.fact-dots button:hover::after{box-shadow:0 0 0 5px var(--green)}
.fact-story.is-enhanced .fact-controls{display:flex}
.fact-story.is-enhanced .fact-stage{overflow:hidden}
.fact-story.is-enhanced .fact-track{display:flex;transition:transform .5s cubic-bezier(.22,.68,0,1);align-items:stretch}
.fact-story.is-enhanced .fact-slide{flex:0 0 100%;padding:0;border:0}
.fact-story.is-enhanced .fact-slide-layout{height:100%}
.fact-story.is-pinned{height:300svh}
.fact-story.is-pinned .fact-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--header-h) + 32px);padding-bottom:32px}
.fact-story.is-pinned .fact-stage{flex:none}

/* Two equal drawer fronts; the visitor chooses which service list to reveal. */
.service-choice{padding:90px 0;background:var(--cream);scroll-margin-top:95px}
.service-choice-heading{max-width:780px;margin-bottom:40px}
.service-choice-heading h2{font-size:clamp(35px,4.5vw,64px);letter-spacing:-.05em;line-height:1.06;margin:0 0 22px}
.service-choice-heading>p:last-child{font-size:18px;line-height:1.6;color:#526047;margin:0;max-width:54ch}
.service-choice-doors{display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;gap:2px;background:#fff5ed}
.service-choice-door{position:relative;text-align:left;border:0;padding:clamp(28px,4vw,55px);min-height:325px;display:flex;flex-direction:column;align-items:flex-start;background:var(--green);color:#0d0f0d;cursor:pointer;transition:background .25s}
.service-choice-door:nth-child(2){background:#030405;color:#f4f7ef}
.service-choice-door::after{content:"";position:absolute;width:240px;height:240px;right:-130px;top:-135px;border:1px solid currentColor;border-radius:50%;opacity:.22}
.service-choice-door .door-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:30px}
.service-choice-door strong{display:block;font-size:clamp(29px,3.7vw,54px);line-height:1.1;letter-spacing:-.04em;margin-bottom:18px;font-weight:600}
.service-choice-door .door-description{font-size:16px;line-height:1.6;max-width:32ch;margin-bottom:32px}
.service-choice-door .door-action{font-size:13px;font-weight:600;margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;padding-top:18px;border-top:1px solid #0d0f0d45}
.service-choice-door:nth-child(2) .door-action{border-color:#f4f7ef45}
.door-action i{font-style:normal;font-size:22px;transition:transform .3s}
.service-choice-door:hover .door-action i{transform:translateX(5px)}
.service-choice-door[aria-expanded=true] .door-action i{transform:rotate(90deg)}
.service-choice-door[aria-expanded=true]{box-shadow:inset 0 -5px 0 #0d0f0d}
.service-choice-door:nth-child(2)[aria-expanded=true]{box-shadow:inset 0 -5px 0 var(--green)}
.service-choice-door:focus-visible{outline:3px solid #fff;outline-offset:-8px;box-shadow:inset 0 0 0 4px #0d0f0d}
.service-choice-results[hidden]{display:none!important}
.service-choice-results{padding-top:65px;scroll-margin-top:105px;animation:service-choice-reveal .35s ease-out}
.service-choice-results .services-layout{width:100%}
.service-choice-results .services-intro h2{font-size:clamp(36px,4vw,60px)}
.service-choice-results .services-intro .lead{font-size:18px}
.service-choice-results .service-stack{min-width:0}
.service-choice-reset{display:inline-flex;margin-top:25px;padding:10px 0;border:0;border-bottom:1px solid #0d0f0d50;color:#0d0f0d;background:none;font-size:13px;cursor:pointer;min-height:44px}
.software-choice-list{display:grid;gap:16px;min-width:0}
.software-choice-card{padding:30px;border-radius:22px;border:1px solid #0d0f0d26;background:#fffaf5}
.software-choice-card>span{font-size:11px;font-weight:600;letter-spacing:.08em;color:#526047}
.software-choice-card h3{font-size:clamp(26px,2.7vw,37px);line-height:1.1;letter-spacing:-.04em;margin:20px 0 16px;font-weight:600}
.software-choice-card p{font-size:16px;line-height:1.65;color:#526047;margin:0;max-width:47ch}
.software-choice-card:first-child{background:#030405;color:#f4f7ef;border-color:#030405}
.software-choice-card:first-child>span{color:var(--green)}.software-choice-card:first-child p{color:#bbc8ba}
.service-choice-noscript{margin-top:28px;display:flex;gap:25px;flex-wrap:wrap}
@keyframes service-choice-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.fact-slide-layout{grid-template-columns:1fr;gap:28px;min-height:0;align-content:start}.fact-number{font-size:clamp(74px,16vw,125px);margin-bottom:8px}.fact-structure{display:flex;gap:8px;max-width:none}.fact-structure span{font-size:clamp(16px,3.4vw,28px);padding:12px 14px}.fact-structure span:nth-child(n){margin-left:0}.fact-slide h3{max-width:26ch;font-size:clamp(30px,5.5vw,44px);margin-bottom:15px}.fact-slide-copy>p{font-size:17px;max-width:60ch}.fact-heading{margin-bottom:30px}.fact-comparison{margin-top:15px}.fact-sticky{padding-block:95px 55px}.fact-controls{margin-top:25px}.service-choice-door{min-height:320px;padding:30px}.service-choice-door strong{font-size:34px}}
@media(max-width:600px){.fact-sticky{width:calc(100% - 40px)}.fact-kicker{font-size:10px}.fact-count{font-size:11px}.fact-number{font-size:clamp(70px,18vw,105px)}.fact-slide-copy>p{font-size:15px;line-height:1.6}.fact-slide h3{font-size:29px}.fact-number-label{font-size:12px}.fact-comparison{font-size:12px;padding:10px 12px;gap:12px}.fact-comparison strong{font-size:21px}.fact-link{font-size:13px;margin-top:16px;gap:15px}.fact-controls{gap:10px}.fact-hint{max-width:10ch;line-height:1.5}.fact-dots{margin-inline:0;gap:0}.fact-buttons{gap:4px}.fact-structure span{font-size:16px;padding:12px 9px}.service-choice{padding:60px 0}.service-choice-heading>p:last-child{font-size:16px}.service-choice-doors{grid-template-columns:1fr;border-radius:22px}.service-choice-door{min-height:270px;padding:28px}.service-choice-door .door-label{margin-bottom:20px}.service-choice-door .door-description{font-size:15px;margin-bottom:24px}.service-choice-results{padding-top:45px}.software-choice-card{padding:26px}}
@media(prefers-reduced-motion:reduce){.fact-story.is-enhanced .fact-track{transition:none}.service-choice-results{animation:none}.service-choice-door,.door-action i{transition:none}}
