:root{--accent:#f2c46d;--sage:#eef3ef;--card-radius:24px;--soft-shadow:0 22px 60px rgba(7,30,22,.13)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
main>.design-section{position:relative;isolation:isolate;overflow:clip;padding-block:var(--section-space)}
main>.design-section.tone-dark{background:#163b2f;color:#fff;--grid-line:rgba(255,255,255,.07);--curve-line:rgba(255,255,255,.12)}
main>.design-section.tone-light{background:#fff;--grid-line:rgba(22,59,47,.045);--curve-line:rgba(22,59,47,.1)}
main>.design-section.tone-sage{background:#eef3ef;--grid-line:rgba(22,59,47,.045);--curve-line:rgba(22,59,47,.1)}
.design-section>.ambient{position:absolute;inset:0;z-index:0;pointer-events:none;mask-image:radial-gradient(ellipse at 50% 46%,#000 12%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at 50% 46%,#000 12%,transparent 76%)}
.ambient::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:48px 48px}
.ambient svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.flow-track{stroke:var(--curve-line);stroke-width:1;vector-effect:non-scaling-stroke}
.flow-glow{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 997;vector-effect:non-scaling-stroke;opacity:.6;animation:line-travel 12s linear infinite}
.flow-1{animation-duration:14s;animation-delay:-6s;stroke-dasharray:1 999}.flow-2{animation-duration:10s;animation-delay:-3s}
@keyframes line-travel{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
.design-section>:not(.ambient){position:relative;z-index:1}
.tone-dark h1,.tone-dark h2,.tone-dark .lead,.tone-dark .client-intro-note,.tone-dark .learning-copy>p{color:#fff}
.tone-dark .eyebrow{color:rgba(255,255,255,.8)}
.tone-dark em{color:var(--accent)}
.tone-dark .lead,.tone-dark .client-intro-note{opacity:.82}
.button,.menu-toggle,.tour-guide-actions button{border-radius:999px;justify-content:center;transition:translate .22s ease,box-shadow .22s ease}
.button:hover{translate:0 -2px;box-shadow:0 8px 20px rgba(22,59,47,.12)}
.tone-dark .hero-actions .button{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.tone-dark .hero-actions .button.secondary{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.tone-dark a:focus-visible,.tone-dark button:focus-visible,.footer a:focus-visible{outline-color:var(--accent)}
.page-home .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;min-height:490px}
.hero-copy h1{font-size:clamp(3.3rem,5.2vw,5.3rem);line-height:1.07;letter-spacing:-.05em}
.rotating-word{display:block;height:2.18em;max-width:100%;font-style:italic;color:var(--accent);overflow-wrap:normal;text-wrap:balance;transition:opacity .18s ease,translate .18s ease}
.rotating-word.word-exit{opacity:0;translate:0 6px}
.hero-subline{font:400 clamp(1.4rem,2.2vw,2rem)/1.3 var(--serif);color:#fff;margin-top:12px;letter-spacing:-.02em}
.hero-copy .lead{max-width:455px;margin-top:22px}
.page-home .hero-visual{padding:28px 0 35px;min-width:0;margin:0}
.hero-visual .hero-window{transform:rotate(0deg);transform-origin:center;margin:0;border-radius:24px;border:1px solid rgba(22,59,47,.1);box-shadow:0 28px 65px rgba(0,0,0,.22);overflow:hidden;color:var(--ink)}
.hero-window .hero-window-top{background:var(--sage);color:var(--ink);border-bottom:1px solid var(--line);padding:18px 22px}
.hero-window-top>strong{color:var(--ink)}
.hero-window .mini-avatar{background:var(--ink);color:#fff;border-radius:50%;padding:5px 7px}
.hero-window .hero-stats>div{border-radius:16px;background:var(--sage);border:0}
.hero-window .pill.amber{background:var(--accent);color:var(--ink)}
.floating-notice{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;max-width:calc(100% + 10px);padding:15px 18px;border-radius:24px;font-size:.8125rem;font-weight:500;color:var(--ink);white-space:nowrap;border:1px solid rgba(22,59,47,.1);box-shadow:0 12px 35px rgba(0,0,0,.16)}
.notice-approved{top:4px;right:-18px;background:var(--accent)}
.notice-approved>span{width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(22,59,47,.2);border-radius:50%}
.notice-deadline{bottom:6px;left:-30px;background:#fff}.notice-deadline svg{width:20px;height:20px;flex-shrink:0}
/* Unequal cards give the compact introduction its own rhythm. */
.principles{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:20px}
.principles article{display:flex;flex-direction:column;align-items:flex-start;padding:32px;border-radius:24px;min-width:0;border:1px solid var(--line);transition:translate .25s ease,box-shadow .25s ease}
.principles article:nth-of-type(1){grid-row:span 2;background:var(--sage);justify-content:center;min-height:390px}
.principles article:nth-of-type(2){background:var(--sage);color:var(--ink)}
.principles article:nth-of-type(3){background:var(--ink);color:#fff}
.principles article:nth-of-type(3) h2,.principles article:nth-of-type(3) p{color:#fff}.principles article:nth-of-type(3) .eyebrow{color:rgba(255,255,255,.8)}
.principles article h2{font-size:2rem}.principles article p{margin-top:8px}.principles article .eyebrow{margin-bottom:16px}
.principles article:nth-of-type(2) p{color:var(--ink)}
.principles-link{margin-top:12px}
.bento-art{color:var(--ink);position:relative;flex-shrink:0;margin-bottom:25px}
.overview-art{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(180px,100%);height:96px;margin-block:0 18px;transform:rotate(0deg)}
.overview-art span{background:#fff;border:1px solid var(--line);border-radius:14px}.overview-art span:first-child{grid-row:span 2}.overview-art span:last-of-type{background:var(--ink)}
.overview-art i{position:absolute;left:20px;top:26px;width:44px;height:44px;border-radius:50%;border:8px solid var(--ink);border-right-color:var(--sage)}
.sliders-art{display:flex;gap:16px;height:46px}.sliders-art span{position:relative;width:2px;height:46px;background:var(--ink)}.sliders-art span::after{content:"";position:absolute;width:12px;height:12px;top:10px;left:-5px;background:var(--sage);border:2px solid var(--ink);border-radius:50%}.sliders-art span:nth-child(2)::after{top:26px}
.bars-art{display:flex;gap:7px;height:42px;align-items:flex-end;color:var(--sage)}.bars-art span{width:13px;height:45%;border-radius:4px 4px 0 0;background:currentColor}.bars-art span:nth-child(2){height:70%}.bars-art span:nth-child(3){height:55%}.bars-art span:nth-child(4){height:100%}
/* Product tour stays compact and independent of the decorative background. */
.tour-frame{border-radius:24px;box-shadow:var(--soft-shadow)}
.tour-tabs{padding:0;border:0;background:transparent;gap:8px;margin-bottom:20px}
.tour-tabs button{border-radius:999px;background:#fff;border:1px solid var(--line);padding:11px 15px}
.tour-tabs button[aria-selected=true],.tour-tabs button[aria-selected=true]:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.demo-card,.demo-metric{border-radius:24px}.demo-tag.amber{background:var(--accent);color:var(--ink)}
.tour-guide-actions .tour-next{background:var(--ink)}
.contract-learning .learning-grid{gap:86px}
.dossier-stack{position:relative;isolation:isolate;padding:8px;min-width:0}
.dossier-stack::before{content:"";position:absolute;inset:8px 0;background:var(--sage);border-radius:24px;transform:translate(8px,8px) rotate(0deg);z-index:-1}
.dossier-stack .dossier-main{background:#fff;border-radius:24px;transform:rotate(0deg);box-shadow:0 20px 50px rgba(0,0,0,.18);padding:32px;color:var(--ink)}
.dossier-main h3{color:var(--ink)}
.design-section .closing-card{background:var(--ink);color:#fff;border-radius:32px;box-shadow:none;border:1px solid rgba(255,255,255,.1);margin-inline:0}
.closing .closing-card>div{padding:48px}
.closing-card h2,.closing-card p,.closing-card a{color:#fff}
.closing-card .closing-explore{background:transparent;border-color:rgba(255,255,255,.16)}
.closing-card .button{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.closing-card h2{font-size:clamp(2rem,3.8vw,3.5rem)}
/* The same bento vocabulary across the informational pages. */
.workflow ol,.privacy-measures ol,.client-stories{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.workflow li,.privacy-measures li,.client-stories article{grid-column:span 6;display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:24px;background:var(--sage);padding:32px;min-width:0;transition:translate .25s ease,box-shadow .25s ease}
.workflow li:nth-child(1),.workflow li:nth-child(4){grid-column:span 7}.workflow li:nth-child(2),.workflow li:nth-child(3){grid-column:span 5}
.workflow li:nth-child(2),.privacy-measures li:nth-child(2),.client-stories article:nth-of-type(2){background:var(--sage)}
.workflow li:nth-child(3),.privacy-measures li:nth-child(3),.client-stories article:nth-of-type(3){background:var(--ink);color:#fff}
.workflow li:nth-child(3) :is(h2,p,.step-index),.privacy-measures li:nth-child(3) :is(h2,p,.step-index),.client-stories article:nth-of-type(3) :is(h2,p,.step-index){color:#fff}
.workflow li h2,.privacy-measures li h2,.client-stories article h2{margin:22px 0 12px;font-size:1.8rem}
.workflow li p,.privacy-measures li p,.client-stories article p{margin:0}
.privacy-measures li:first-child,.client-stories article:first-child{grid-column:span 7;grid-row:span 2;justify-content:center}
.privacy-measures li:not(:first-child),.client-stories article:not(:first-child){grid-column:span 5}
.step-index{padding:0;display:grid;place-items:center;width:40px;height:40px;border:1px solid currentColor;border-radius:50%;font-size:.75rem}
.page-intro h1{max-width:1000px}.page-intro em{font-style:italic}
.contact-heading .wrap{max-width:1240px}.contact-callout{max-width:850px;padding:48px;background:var(--sage);border-radius:32px;color:var(--ink)}
.contact-callout .lead{margin:0 0 28px;color:var(--ink);font-size:1.3rem}.contact-callout .form-note{color:var(--ink);margin-top:20px}
.privacy-statement{padding-top:48px}
/* Scroll motion is opt-in after the observer is attached; no JS leaves all content visible. */
.reveal-ready{opacity:0;translate:0 18px;transition:opacity .65s ease,translate .65s ease}
.reveal-ready.is-visible{opacity:1;translate:0 0}
@media(hover:hover){.principles article:hover,.workflow li:hover,.privacy-measures li:hover,.client-stories article:hover{translate:0 -4px;box-shadow:0 14px 32px rgba(22,59,47,.09)}}
@media(min-width:1150px){.rotating-word{height:1.14em;font-size:.88em;white-space:nowrap}}
@media(max-width:1100px){.page-home .hero-grid{gap:40px}.floating-notice{font-size:.75rem;padding:12px 14px}.notice-approved{right:-8px}.notice-deadline{left:-8px}.contract-learning .learning-grid{gap:42px}}
@media(max-width:900px){.page-home .hero-grid{grid-template-columns:1fr;gap:40px;min-height:0}.hero-copy{max-width:690px}.hero-copy h1{font-size:clamp(3.2rem,7vw,4.5rem)}.rotating-word{height:1.15em}.page-home .hero-visual{width:100%;max-width:560px;margin-inline:auto}.hero-copy .lead{max-width:530px}.closing .closing-card>div{padding:34px}}
@media(max-width:700px){
 .hero-copy h1{font-size:clamp(2.8rem,9.5vw,4rem)}.rotating-word{height:2.15em;max-width:100%;font-size:.94em}.hero-subline{margin-top:0}
 .page-home .hero-visual{padding:30px 10px 34px;max-width:480px}.hero-window-body{padding:22px 16px}.hero-window .hero-stats{gap:7px}.hero-window .hero-stats>div{padding:11px 7px}
 .floating-notice{font-size:.6875rem;padding:10px 12px;border-radius:24px}.notice-approved{right:0;top:6px}.notice-deadline{left:0;bottom:6px}
 .principles{grid-template-columns:1fr;gap:16px}.principles article{padding:28px}.principles article:nth-of-type(1){grid-row:auto;min-height:300px}.overview-art{height:84px;margin-block:0 16px;width:168px}.principles article h2{font-size:1.8rem}.principles-link{font-size:.875rem}
 .contract-learning .learning-grid{grid-template-columns:1fr;gap:40px}.dossier-stack{margin:0 4px}.dossier-stack .dossier-main{padding:24px}.dossier-row{font-size:.75rem}
 .closing .closing-card{grid-template-columns:1fr}.closing .closing-card>div{padding:28px}.closing-explore{border-left:0;border-top:1px solid rgba(255,255,255,.16)}
 .workflow ol,.privacy-measures ol,.client-stories{grid-template-columns:1fr;gap:16px}.workflow li:nth-child(n),.privacy-measures li:nth-child(n),.client-stories article:nth-of-type(n){grid-column:1;grid-row:auto;padding:28px}
 .workflow li h2,.privacy-measures li h2,.client-stories article h2{font-size:1.7rem}
 .contact-callout{padding:30px}.contact-callout .lead{font-size:1.125rem}.tour-tabs{gap:6px}.tour-tabs button{font-size:.8125rem;padding:10px 14px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.flow-glow{animation:none;stroke-dashoffset:360}.flow-1{stroke-dashoffset:660}.flow-2{stroke-dashoffset:840}
 .rotating-word,.reveal-ready,.button,.principles article,.workflow li,.privacy-measures li,.client-stories article{transition:none;animation:none}
 .rotating-word.word-exit,.reveal-ready{opacity:1;translate:none}.button:hover,.principles article:hover,.workflow li:hover,.privacy-measures li:hover,.client-stories article:hover{translate:none}
}

.contract-learning.tone-dark .learning-grid .learning-copy>p{color:rgba(255,255,255,.8);opacity:1}
/* Bounded refinements to the hero notice and the three introduction cards. */
.page-home .hero-visual .notice-approved{top:auto;right:18px;bottom:35px;transform:translateY(50%);max-width:calc(100% - 36px)}
.page-home .hero-visual .hero-window-body{padding-bottom:34px}
.page-home .principles article:first-of-type{min-height:0;justify-content:flex-start}
.page-home .mini-contract-list{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;width:100%;flex:1;list-style:none;padding:0;margin:0 0 24px}
.page-home .mini-contract{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;padding:16px;background:#fff;border:1px solid rgba(22,59,47,.1);border-radius:14px;color:var(--ink)}
.page-home .mini-contract-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;font-size:.8125rem;line-height:1.4}
.page-home .mini-contract-heading strong{font-weight:500;min-width:0}.page-home .mini-contract-heading>span{font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0}
.page-home .mini-contract-status{display:inline-block;border-radius:999px;font-size:.6875rem;line-height:1.4;padding:4px 8px;color:var(--ink)}
.page-home .mini-contract-status.attention{background:var(--accent)}.page-home .mini-contract-status.on-track{background:var(--sage)}
.page-home .mini-contract-progress{width:100%;height:4px;border-radius:999px;background:var(--sage);overflow:hidden}
.page-home .mini-contract-progress>span{display:block;height:100%;border-radius:inherit;background:var(--ink)}
.page-home .bento-options{display:flex;align-items:center;gap:6px;width:100%;list-style:none;padding:0;margin:0 0 22px}
.page-home .bento-options li{border:1px solid rgba(22,59,47,.15);border-radius:999px;background:#fff;padding:7px 10px;font-size:.75rem;line-height:1.4;white-space:nowrap;color:var(--ink)}
.page-home .bento-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:0 0 20px;color:#fff}
.page-home .bento-outcomes>div{display:flex;flex-direction:column;gap:6px}.page-home .bento-outcomes dt{font-size:.75rem;line-height:1.4;order:2}.page-home .bento-outcomes dd{font-size:2rem;line-height:1.1;font-weight:500;font-variant-numeric:tabular-nums;color:var(--accent);margin:0;order:1}
.page-home .principles-caption{grid-column:1/-1;font-size:.75rem;color:var(--muted);margin:0}
.page-home .principles-link{margin-top:0}
@media(min-width:701px) and (max-width:1100px){.page-home .principles article{padding:24px}.page-home .bento-options{gap:4px}.page-home .bento-options li{font-size:.6875rem;padding:7px 8px}}
@media(max-width:700px){.page-home .hero-visual .notice-approved{bottom:34px;right:22px}.page-home .mini-contract-list{flex:none;grid-template-rows:none}.page-home .mini-contract{padding:14px}.page-home .bento-options{gap:5px}.page-home .bento-options li{font-size:.6875rem;padding:7px 8px}}
@media(max-width:380px){.page-home .principles article{padding:22px}.page-home .bento-options{gap:4px}.page-home .bento-options li{padding-inline:6px}}

/* In-app notification: use the existing body padding budget, without resizing the frame. */
.page-home .hero-visual .hero-window-body{position:relative;padding-top:46px;padding-bottom:16px}
.page-home .hero-app-notice{position:absolute;top:4px;left:24px;right:24px;display:flex;align-items:center;gap:7px;background:var(--sage);color:var(--ink);border-radius:7px;padding:4px 8px;font-size:.6875rem;line-height:1.4;animation:app-notice-in .4s ease-out 2s both}
.page-home .hero-app-notice>span:first-child{color:var(--green);flex-shrink:0;font-weight:600}
.page-home .dossier-main .dossier-row-secondary :is(span,strong){color:var(--muted)}
@keyframes app-notice-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.page-home .hero-visual .hero-window-body{padding-top:40px}.page-home .hero-app-notice{left:16px;right:16px;font-size:.625rem;line-height:1.3}}
@media(prefers-reduced-motion:reduce){.page-home .hero-app-notice{animation:none;opacity:1;transform:none}}

/* One shared section interval between the tour and the closing card. */
.page-home main>.product-tour{padding-bottom:calc(var(--section-space) / 2)}
.page-home main>.product-tour+.closing{padding-top:calc(var(--section-space) / 2)}
.page-home .bento-options{flex-wrap:wrap}
