
/* NECESSO — 7-step editorial homepage scrollytelling. */
.nc-assistant-home{--nca-paper:#f5f3ee;--nca-ink:#161814;--nca-green:#3f6e47;--nca-green-dark:#2f5938;--nca-muted:#666c65;--nca-border:#dfddd5;position:relative;isolation:isolate;height:calc(100svh + 170svh);background:var(--nca-paper);color:var(--nca-ink)}
.nc-assistant-home *{box-sizing:border-box}
.nc-assistant-home .nca__sticky{position:sticky;top:90px;height:calc(100svh - 90px);min-height:560px;max-height:980px;width:min(calc(100% - 2 * var(--gutter, 28px)),var(--width,1480px));margin-inline:auto;display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,1.8vh,20px);padding:clamp(10px,1.8vh,24px) 0 10px}
.nc-assistant-home .nca__main{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(28px,4vw,68px);flex:1;min-height:0}
.nc-assistant-home .nca__text{position:relative;display:flex;align-items:center;min-height:0;height:100%}
.nc-assistant-home .nca__panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
.nc-assistant-home .nca__panel.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.nc-assistant-home .nca__eyebrow{display:block;color:#6c736c;font-size:clamp(10px,.94vw,13px);font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 clamp(14px,1.9vh,22px)}
.nc-assistant-home .nca__panel h1,.nc-assistant-home .nca__panel h2{font-family:inherit;font-weight:700;font-size:clamp(40px,4.95vw,78px);line-height:1.02;letter-spacing:-.06em;margin:0 0 clamp(16px,2.1vh,24px);max-width:12ch;color:var(--nca-ink)}
.nc-assistant-home .nca__panel h2{font-size:clamp(36px,4.15vw,64px)}
.nc-assistant-home .nca__description{max-width:42ch;color:#5b605a;font-size:clamp(15px,1.22vw,19px);line-height:1.56;margin:0 0 clamp(18px,2.4vh,28px)}
.nc-assistant-home .nca__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.nc-assistant-home .nca__cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;border:1px solid var(--nca-green);border-radius:9px;font-size:14px;font-weight:650;line-height:1.3;text-decoration:none;white-space:nowrap;gap:10px;background:var(--nca-green);color:#fff;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.nc-assistant-home .nca__cta:hover,.nc-assistant-home .nca__cta:focus-visible{background:var(--nca-green-dark);border-color:var(--nca-green-dark);transform:translateY(-1px)}
.nc-assistant-home a:focus-visible,.nc-assistant-home button:focus-visible{outline:3px solid #2e6e32;outline-offset:3px}
.nc-assistant-home .nca__visual{position:relative;min-height:340px;height:min(67vh,740px);overflow:hidden;border-radius:22px;background:#e6e0d5;border:1px solid rgba(0,0,0,.04);box-shadow:0 18px 40px rgba(36,38,31,.08)}
.nc-assistant-home .nca__photos{position:absolute;inset:0}
.nc-assistant-home .nca__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transition:none;will-change:opacity}
.nc-assistant-home .nca__photo.is-visible{opacity:1}
.nc-assistant-home .nca__photo[data-nca-image="0"]{object-position:54% center}
.nc-assistant-home .nca__photo[data-nca-image="1"]{object-position:58% center}
.nc-assistant-home .nca__photo[data-nca-image="2"]{object-position:center center}
.nc-assistant-home .nca__photo[data-nca-image="3"]{object-position:56% center}
.nc-assistant-home .nca__photo[data-nca-image="4"]{object-position:56% center}
.nc-assistant-home .nca__photo[data-nca-image="5"]{object-position:center center}
.nc-assistant-home .nca__photo[data-nca-image="6"]{object-position:center center}
.nc-assistant-home .nca__frame-labels{position:absolute;left:20px;bottom:20px;z-index:2;pointer-events:none}
.nc-assistant-home .nca__frame-label{display:none;align-items:center;gap:10px;padding:11px 15px;border-radius:999px;background:rgba(245,243,238,.92);color:#2e4333;font-size:13px;font-weight:650;border:1px solid rgba(255,255,255,.7);box-shadow:0 8px 22px rgba(0,0,0,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nc-assistant-home .nca__frame-label.is-active{display:flex}
.nc-assistant-home .nca__frame-dot{width:8px;height:8px;border-radius:50%;background:var(--nca-green)}
.nc-assistant-home .nca__status-card{position:absolute;top:30px;left:30px;max-width:min(330px,calc(100% - 60px));z-index:2;background:rgba(245,243,238,.94);border:1px solid rgba(255,255,255,.65);border-radius:22px;padding:18px 18px 14px;box-shadow:0 12px 28px rgba(16,18,15,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nc-assistant-home .nca__status-state{display:none}
.nc-assistant-home .nca__status-state.is-active{display:block}
.nc-assistant-home .nca__status-title{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;color:#74756f;text-transform:uppercase;margin:0 0 10px}
.nc-assistant-home .nca__status-state ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.nc-assistant-home .nca__status-state li{display:grid;grid-template-columns:18px 1fr;gap:11px;align-items:start;color:#2a302b;font-size:15px;line-height:1.35}
.nc-assistant-home .nca__check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#dce9db;color:#2d6736;font-size:12px;font-weight:700;margin-top:1px}
.nc-assistant-home .nca__status-disclaimer{display:block;margin-top:14px;font-size:11px;font-weight:700;letter-spacing:.16em;color:#878983;text-transform:uppercase}
.nc-assistant-home .nca__rail{width:100%;border-top:1px solid var(--nca-border);padding-top:14px}
.nc-assistant-home .nca__steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:stretch}
.nc-assistant-home .nca__step{appearance:none;border:0;border-radius:16px;background:transparent;cursor:pointer;display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:10px 10px;color:#626860;text-align:left;transition:background .2s ease,color .2s ease,transform .2s ease;font-family:inherit;min-width:0}
.nc-assistant-home .nca__step:hover,.nc-assistant-home .nca__step.is-current{background:#e7ece3;color:#26482b}
.nc-assistant-home .nca__step.is-current{box-shadow:inset 0 0 0 1px rgba(63,110,71,.12)}
.nc-assistant-home .nca__step-badge{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:11px;background:#eeeae0;color:#44684a;font-size:12px;font-weight:800;letter-spacing:.06em}
.nc-assistant-home .nca__step.is-current .nca__step-badge{background:#d8e7d7;color:#214b28}
.nc-assistant-home .nca__step-label-wrap{min-width:0}
.nc-assistant-home .nca__step-label{display:block;font-size:13px;font-weight:650;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nc-assistant-home .nca__rail-progress{height:2px;background:#e5e3dc;margin-top:10px;overflow:hidden;border-radius:999px}
.nc-assistant-home .nca__rail-progress>span{display:block;height:100%;width:100%;background:#5a865f;transform-origin:0 50%;transform:scaleX(var(--nca-progress,0));transition:transform .12s linear}
.nc-assistant-home .nca__scrollhint{display:flex;align-items:center;justify-content:center;gap:10px;min-height:18px;font-size:10px;font-weight:700;color:#8b8d86;letter-spacing:.17em}
.nc-assistant-home .nca__scrollhint span:last-child{font-size:16px;line-height:1}
.nc-assistant-home .nca__mobile-sequence{display:none}
.home-page:has(.nc-assistant-home){background:#f5f3ee}.home-page:has(.nc-assistant-home)>main{background:#f5f3ee}
.home-page:has(.nc-assistant-home) .home-lead,.home-page:has(.nc-assistant-home) .home-bridge,.home-page:has(.nc-assistant-home) .process-overview,.home-page:has(.nc-assistant-home) .focus-faq{background:#f5f3ee;box-shadow:none;backdrop-filter:none}
.home-page:has(.nc-assistant-home) .home-media{width:min(calc(100% - 2 * var(--gutter)),var(--width));margin:42px auto;overflow:hidden;border-radius:14px;max-height:470px}
.home-page:has(.nc-assistant-home) .home-media img,.home-page:has(.nc-assistant-home) .home-media picture{max-height:470px}
@media(max-width:1200px) and (min-width:861px){.nc-assistant-home .nca__main{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:28px}.nc-assistant-home .nca__panel h1,.nc-assistant-home .nca__panel h2{font-size:clamp(34px,4.5vw,58px)}.nc-assistant-home .nca__description{font-size:16px}.nc-assistant-home .nca__steps{gap:6px}.nc-assistant-home .nca__step{padding:9px 8px}}
@media(max-width:980px) and (min-width:861px){.nc-assistant-home .nca__step{flex-direction:column;align-items:flex-start;gap:6px}.nc-assistant-home .nca__step-label{white-space:normal}}
@media(max-width:860px){.nc-assistant-home{height:auto;padding:24px 0 36px}.nc-assistant-home .nca__sticky{position:relative;top:auto;width:calc(100% - 32px);min-height:0;height:auto;max-height:none;padding:0;gap:18px}.nc-assistant-home .nca__main{display:flex;flex-direction:column-reverse;align-items:stretch;gap:18px}.nc-assistant-home .nca__visual{width:100%;flex:none;height:clamp(280px,58vw,520px);min-height:0;border-radius:18px}.nc-assistant-home .nca__text{display:block;min-height:0}.nc-assistant-home .nca__panel{position:relative;display:none;opacity:1;visibility:visible;pointer-events:auto}.nc-assistant-home .nca__panel:first-child{display:flex}.nc-assistant-home .nca__panel h1,.nc-assistant-home .nca__panel h2{font-size:clamp(34px,9vw,58px);max-width:13ch;margin-bottom:14px}.nc-assistant-home .nca__description{font-size:16px;margin-bottom:18px}.nc-assistant-home .nca__status-card{top:16px;left:16px;right:16px;max-width:unset;padding:16px 16px 12px}.nc-assistant-home .nca__status-state li{font-size:14px}.nc-assistant-home .nca__frame-labels{left:16px;bottom:16px}.nc-assistant-home .nca__rail{padding-top:12px}.nc-assistant-home .nca__steps{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding-bottom:7px}.nc-assistant-home .nca__step{flex:0 0 auto;min-width:118px;scroll-snap-align:center}.nc-assistant-home .nca__scrollhint{display:none}.nc-assistant-home .nca__mobile-sequence{display:grid;gap:26px;width:calc(100% - 32px);margin:28px auto 0}.nc-assistant-home .nca__mobile-item{display:flex;flex-direction:column-reverse;gap:14px;padding-bottom:18px;border-bottom:1px solid #e5e1d9}.nc-assistant-home .nca__mobile-item:first-child{display:none}.nc-assistant-home .nca__mobile-item img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px}.nc-assistant-home .nca__mobile-copy h2{font-family:inherit;font-size:clamp(28px,7vw,44px);line-height:1.08;letter-spacing:-.04em;margin:0 0 10px}.nc-assistant-home .nca__mobile-copy p:not(.nca__eyebrow){font-size:15px;line-height:1.55;color:#5a6059;margin:0}.home-page:has(.nc-assistant-home) .home-media{margin:22px auto;max-height:320px}.home-page:has(.nc-assistant-home) .home-media img{max-height:320px}}
@media(prefers-reduced-motion:reduce){.nc-assistant-home .nca__panel,.nc-assistant-home .nca__step,.nc-assistant-home .nca__rail-progress>span{transition:none!important}.nc-assistant-home .nca__photo{will-change:auto}}
