/* One token system for accents, control geometry, and motion. Module hues only identify tracks. */
:root{
 --accent:#006dc9;--accent-strong:#0063b7;--accent-soft:#e0edf9;--accent-panel:#edf5fb;
 --accent-glow:#006dc91f;--accent-shadow:#006dc91f;
 --blob-one:#89bff12b;--blob-two:#bad9fa30;--blob-three:#9acbe828;
 --duration-fast:150ms;--duration-base:250ms;--duration-slow:400ms;--ease:cubic-bezier(.2,.65,.3,1);
 --radius-control:8px;--radius-panel:16px;--control-height:44px;--control-height-large:52px;
 --module-business:#6273ce;--module-farming:#38884b;--module-health:#cd5962;--module-energy:#aa7900;--module-verification:#a06ac4;--module-industry:#738796;
 --green:var(--accent-strong);--button:var(--accent-strong);--pale:var(--accent-soft);--canvas:#f4f9fb;--product-bg:var(--accent-panel);
}
:root[data-accent=forest]{
 --accent:#17553a;--accent-strong:#17553a;--accent-soft:#e3eee7;--accent-panel:#eef5f0;
 --accent-glow:#17553a1f;--accent-shadow:#17553a18;--blob-one:#a4cfb42b;--blob-two:#c6dec930;--blob-three:#a0c7ad28;--canvas:#f6f9f6;
}
:root[data-theme=dark]{
 --accent:#8ec3f5;--accent-strong:#8ec3f5;--accent-soft:#202a33;--accent-panel:#14191d;
 --accent-glow:#8ec3f518;--accent-shadow:#0005;--blob-one:#4e82ad10;--blob-two:#77a6d00b;--blob-three:#386c8e0d;
 --canvas:#0f1214;--surface:#171b1e;--product-bg:var(--accent-panel);--button:#20252a;--pale:#20252a;--green:var(--accent);
}
:root[data-theme=dark][data-accent=forest]{
 --accent:#a2e4b8;--accent-strong:#a2e4b8;--accent-soft:#243028;--accent-panel:#14191d;
 --accent-glow:#a2e4b815;--blob-one:#5689690e;--blob-two:#6f9f810a;--blob-three:#427b540b;
}
body{background:var(--canvas)}
main{background-image:radial-gradient(ellipse 680px 480px at 90% 2%,var(--blob-one),transparent 75%),radial-gradient(ellipse 600px 550px at 100% 38%,var(--blob-two),transparent 75%),radial-gradient(ellipse 620px 480px at 0% 76%,var(--blob-three),transparent 75%)}
.hero,.feature-section,.solutions-section,.roles-section{background:transparent!important}
.hero-art{background:none!important;overflow:hidden}
.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:center}
[data-theme=dark] .hero-art{opacity:1}
.hero-copy{color:var(--ink)!important}
.hero .outline{color:var(--ink);border-color:var(--muted)}
.hero .primary{background:var(--button);border-color:var(--accent-strong);color:var(--on)}
[data-theme=dark] .hero .primary{background:var(--button);border-color:var(--accent);color:var(--ink);box-shadow:0 0 12px var(--accent-glow)}
.product-feature{position:relative;background:var(--surface);border:1px solid var(--line);isolation:isolate}
.feature-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% center;z-index:-1}
.product-feature>div{background:linear-gradient(0deg,#10202e,#10202ee6);position:relative;color:#fff}
.news-card,.product-card,.product-feature,.simple-card,.preview-window,.role-showcase,dialog,.role-tabs{border-radius:var(--radius-panel)}
.news-card>img{border-radius:var(--radius-control);height:auto;aspect-ratio:1000/428;object-fit:cover;background:var(--surface)}
.button,.small,.icon-button,.pills button,.arrow-link>span,.product-icon,.palette-switch,.marks-switch,input{border-radius:var(--radius-control)!important}
.button,.small,button,a.arrow-link,.review-link{min-height:var(--control-height)!important}
.hero-actions .button{min-height:var(--control-height-large)!important}
.button,button:has(>svg),.arrow-link,.review-link,.palette-switch,.marks-switch{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.button,.small{padding:10px 16px}
button,a,input,summary{transition:transform var(--duration-fast) var(--ease),opacity var(--duration-fast) var(--ease)}
button:hover:not(:disabled),a:hover{opacity:.88}
button:active:not(:disabled),a:active{transform:translateY(1px);opacity:.74}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.news-card,.product-card,.simple-card{transition:transform var(--duration-base) var(--ease)}
@media(hover:hover){.news-card:hover,.product-card:hover,.simple-card:hover{transform:translateY(-2px)}}
.arrow-link{align-self:flex-start;text-align:center;padding:0;gap:8px}
.card-content .arrow-link,.simple-card .arrow-link{padding-top:32px}
.arrow-link>span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px}
.arrow-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--duration-fast) var(--ease)}
.arrow-link:hover .arrow-icon svg,.arrow-link:focus-visible .arrow-icon svg{transform:translateX(2px)}
.product-card>button{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 0 0;text-align:center}
.global-inner nav>a,.global-inner nav>button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none!important}
.global-inner nav>a:after,.global-inner nav>button:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;border-radius:2px;background:var(--accent-strong);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-fast) var(--ease)}
.global-inner nav>a:hover:after,.global-inner nav>button:hover:after,.global-inner nav>a:focus-visible:after,.global-inner nav>button:focus-visible:after,.global-inner nav>button[aria-expanded=true]:after{transform:scaleX(1)}
.caret{width:14px!important;height:14px!important;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform var(--duration-fast) var(--ease)}
[aria-expanded=true]>.caret{transform:rotate(180deg)}
.global-inner nav>button{font-size:13px}
.dropdown{right:auto;width:min(960px,calc(100% - 32px));left:16px;border-radius:0 0 var(--radius-panel) var(--radius-panel);padding:24px;animation:panel-enter var(--duration-fast) var(--ease)}
.dropdown-inner{gap:16px}
.dropdown-inner>button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;border-radius:var(--radius-control);min-height:96px!important}
.dropdown-inner .menu-copy{flex:1;min-width:0;display:block}
.dropdown-inner small{line-height:1.5}
.dropdown-inner>a{border-radius:var(--radius-control);justify-content:center}
.dropdown-inner>button:hover,.dropdown-inner>a:hover{background:var(--pale);opacity:1}
.module-logo{width:20px;height:20px;object-fit:contain;flex:none;display:inline-block;vertical-align:middle}
.product-icon .module-logo{width:32px;height:32px}
.module-label{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.module-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:3px;background:var(--track-hue)}
[data-module=business]{--track-hue:var(--module-business)}
[data-module=farming]{--track-hue:var(--module-farming)}
[data-module=health]{--track-hue:var(--module-health)}
[data-module=energy]{--track-hue:var(--module-energy)}
[data-module=verification]{--track-hue:var(--module-verification)}
[data-module=industry]{--track-hue:var(--module-industry)}
[data-logo-mode=mono] .module-logo{filter:grayscale(1)}
.window-top .window-brand{gap:8px}
.window-top .window-brand .module-logo{width:24px;height:24px}
.window-label{align-items:center}
.pills button,.role-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px}
.role-tabs button{min-height:var(--control-height-large)}
.section-toggle{display:flex;align-items:center;justify-content:space-between}
@media(min-width:651px){.section-toggle{display:none}}
.review-controls{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin:32px 0;padding:24px 0;border-top:1px solid var(--line)}
.review-controls strong{font-size:15px;color:var(--ink);font-weight:600}
.review-controls p{font-size:13px;margin-top:8px}
.review-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;justify-content:flex-end}
.palette-switch,.marks-switch{padding:8px 12px;border:1px solid var(--line);color:var(--ink);font-size:13px;gap:8px}
.switch-track{width:36px;height:20px;flex:none;border-radius:12px;border:1px solid var(--muted);display:block;background:var(--surface);padding:3px}
.switch-track i{display:block;width:12px;height:12px;border-radius:50%;background:var(--accent-strong);transition:transform var(--duration-fast) var(--ease)}
[aria-checked=true] .switch-track i{transform:translateX(15px)}
.review-link{font-size:13px;text-decoration:underline;text-underline-offset:4px}
dialog[open]{animation:panel-enter var(--duration-fast) var(--ease)}
@keyframes panel-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes content-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .hero-copy>*{animation:content-enter var(--duration-slow) var(--ease) both;animation-delay:calc(var(--entrance-index,0)*40ms)}
.reveal-pending{opacity:0;transform:translateY(8px)}
.reveal-done{opacity:1;transform:translateY(0);transition:opacity var(--duration-base) var(--ease),transform var(--duration-base) var(--ease)}
@media(max-width:1150px){.global-inner{gap:16px}.global-inner nav{gap:16px}.button.small{padding:8px}}
@media(max-width:650px){
 .hero-art>img{object-position:55% center}
 .hero-art{background:none!important}
 .dropdown{left:16px;right:16px;width:auto;padding:16px}
 .dropdown-inner>button{min-height:88px!important}
 .global-inner nav>a,.global-inner nav>button{justify-content:space-between}
 .global-inner nav>a:after,.global-inner nav>button:after{right:auto;width:64px;bottom:4px}
 .review-controls{flex-direction:column;gap:16px}
 .review-options{justify-content:flex-start;gap:12px}
 .palette-switch,.marks-switch{font-size:12px}
 .role-tabs button{flex-basis:184px}
 .footer-columns a,.footer-columns button{display:flex;align-items:center;justify-content:flex-start;gap:8px}
 .announcement>.icon-button{top:8px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .reveal-pending,.reveal-done{opacity:1!important;transform:none!important}
 .news-card:hover,.product-card:hover,.simple-card:hover{transform:none}
}
/* Spacing belongs outside the button hit area; icon/label groups remain centred. */
.card-content p,.simple-card p{margin-bottom:32px}
.card-content .arrow-link,.simple-card .arrow-link{padding:0;margin-top:auto}
.product-card p{margin-bottom:24px}
.product-card>button{padding:10px 0}
.arrow-link>.module-icon-box{background:var(--surface);border-color:var(--line);color:var(--ink)}
button:hover:not(:disabled),a:hover{opacity:1;background-color:var(--pale)}
.button.primary:hover,.primary:hover{background:var(--button);opacity:1;box-shadow:0 0 0 1px var(--accent)}
.global-inner nav>a:hover,.global-inner nav>button:hover{background:transparent}
button:active:not(:disabled),a:active{opacity:1;transform:translateY(1px)}
input:hover{border-color:var(--accent-strong)}
input:active{opacity:.9}
summary:hover{background:var(--pale)}
summary:active{transform:translateY(1px)}
.load-enter{animation:content-enter var(--duration-slow) var(--ease) 80ms both}
@media(prefers-reduced-motion:reduce){.load-enter{animation:none!important}}
button:has(>.module-logo),a:has(>.module-logo){display:inline-flex;align-items:center;justify-content:center;gap:8px}
.global-inner nav>button:has(>.caret),.solution-option>button:has(>.caret){display:inline-flex;align-items:center;justify-content:center;gap:8px}
.company{gap:8px}
.dropdown-inner .menu-copy strong,.dropdown-inner .menu-copy small{display:block}
.dropdown-inner .menu-copy small{margin-top:8px}
@media(max-width:650px){
 .global-inner nav>a,.global-inner nav>button{justify-content:center}
 .global-inner nav>a:after,.global-inner nav>button:after{left:calc(50% - 40px);right:auto;width:80px;bottom:5px}
}
.footer-columns>div{display:flex;flex-direction:column;align-items:flex-start}
.light-button:hover{background:#fff;color:#13252d;box-shadow:inset 0 0 0 2px var(--accent-strong)}
.announcement a:hover{background:#ffffff18;color:inherit}
.pills button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent-strong)}
.pills button[aria-selected=true]:hover:not(:disabled){background:var(--pale);color:var(--ink);box-shadow:inset 0 0 0 2px var(--accent-strong)}
:root[data-theme=dark] .pills button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}
:root[data-theme=dark] .pills button[aria-selected=true]:hover:not(:disabled){background:var(--pale);box-shadow:inset 0 0 0 2px var(--accent)}
