/* index.html — hero, features teaser, how-it-works, video modal */
.hero{position:relative;padding:4rem 0 5rem;overflow:hidden;}
.hero-floating-icons{position:absolute;top:10%;bottom:28%;width:6rem;pointer-events:none;z-index:0;}
.hero-floating-icons--left{left:max(0.5rem,calc(50% - 620px));}
.hero-floating-icons--right{right:max(0.5rem,calc(50% - 620px));left:auto;}
.hero-floating-icons .hero-icon-wrap{position:absolute;left:0;}
.hero-floating-icons--right .hero-icon-wrap{left:auto;right:0;}
.hero-floating-icons--left .hero-icon-wrap--ai{top:0;left:0;}
.hero-floating-icons--left .hero-icon-wrap--leave{top:38%;left:2rem;}
.hero-floating-icons--left .hero-icon-wrap--security{top:54%;left:0;}
.hero-floating-icons--right .hero-icon-wrap--approval{top:5%;right:0;}
.hero-floating-icons--right .hero-icon-wrap--compliance{top:48%;right:1.75rem;}
.hero-icon-wrap{display:flex;align-items:center;justify-content:center;width:5.25rem;height:5.25rem;border-radius:1rem;background:var(--color-accent-soft);color:var(--color-accent);box-shadow:0 6px 24px rgba(37,99,235,0.18);animation:hero-float 5s ease-in-out infinite;}
.hero-icon-wrap--leave{animation-delay:1.2s;}
.hero-icon-wrap--security{animation-delay:2s;}
.hero-icon-wrap--approval{animation-delay:0.6s;}
.hero-icon-wrap--compliance{animation-delay:1.5s;}
@keyframes hero-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.hero-icon{width:2.75rem;height:2.75rem;}
.hero-inner{position:relative;z-index:1;text-align:center;}
.hero-badge{display:inline-block;padding:0.35rem 0.85rem;font-size:0.8125rem;font-weight:600;color:var(--color-badge);background:var(--color-accent-soft);border-radius:var(--radius-full);margin-bottom:1.25rem;}
.hero-title{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:700;line-height:1.2;color:var(--color-text);margin:1rem 0 1.5rem;padding:0 0.5rem;overflow:visible;}
.hero-title em{font-style:italic;background:linear-gradient(135deg,var(--color-accent) 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding-right:0.15em;}
.hero-lead{font-size:1.125rem;color:var(--color-text-muted);max-width:32rem;margin:0 auto 2rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem;}
@media (max-width:900px){.hero-floating-icons{display:none;}}
.hero-mock-wrap{margin-top:clamp(4rem,8vw,5.5rem);display:flex;justify-content:center;padding:0 1.5rem;perspective:1200px;}
.hero-mock{width:100%;max-width:56rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;box-shadow:0 25px 50px -12px rgba(0,0,0,0.1),0 0 0 1px rgba(0,0,0,0.04);overflow:hidden;transform:rotateX(6deg) rotateZ(-0.5deg);transform-style:preserve-3d;}
.hero-mock-bar{height:2.75rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 1.25rem;gap:0.5rem;}
.hero-mock-bar span:not(.title){width:0.5rem;height:0.5rem;border-radius:50%;background:var(--color-text-muted);}
.hero-mock-bar .title{font-size:0.75rem;font-weight:600;color:var(--color-text-muted);margin-left:auto;line-height:1;display:flex;align-items:center;}
.hero-mock-body{display:grid;grid-template-columns:12rem 1fr;gap:0;min-height:22rem;}
.hero-mock-side{background:var(--color-bg);border-right:1px solid var(--color-border);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;}
.hero-mock-side .label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted);}
.hero-mock-side .row{height:0.5rem;background:var(--color-border);border-radius:0.25rem;}
.hero-mock-side .row:nth-child(2){width:70%;}
.hero-mock-side .row:nth-child(4){width:90%;}
.hero-mock-side .row:nth-child(6){width:55%;}
.hero-mock-main{background:var(--color-surface);padding:1.5rem 1.5rem 1.75rem;position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:0.5rem;align-content:start;}
.hero-mock-main .section-label{position:absolute;top:1rem;left:1.5rem;font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted);}
.hero-mock-main .cell{aspect-ratio:1;border-radius:0.5rem;border:1px solid var(--color-border);font-size:0.625rem;font-weight:600;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;background:var(--color-surface);}
.hero-mock-main .cell.filled{background:var(--color-accent-soft);border-color:rgba(37,99,235,0.25);color:var(--color-accent);}
.hero-mock-main .cell.trend{background:rgba(14,165,233,0.12);border-color:rgba(14,165,233,0.2);}
.smart-suggestion{position:absolute;right:1.25rem;bottom:1.5rem;max-width:18rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0.75rem;box-shadow:0 12px 40px rgba(0,0,0,0.1);padding:1.25rem 1.5rem;}
.smart-suggestion::before{content:"";position:absolute;right:1.75rem;bottom:-0.375rem;width:0.75rem;height:0.75rem;background:var(--color-surface);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transform:rotate(45deg);}
.smart-suggestion .badge{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:#0ea5e9;margin-bottom:0.5rem;}
.smart-suggestion .title{font-size:0.9375rem;font-weight:700;color:var(--color-text);margin:0 0 0.375rem;}
.smart-suggestion .text{font-size:0.8125rem;color:var(--color-text-muted);margin:0;line-height:1.5;}
.smart-suggestion .tag{display:inline-block;margin-top:0.75rem;padding:0.3125rem 0.625rem;background:var(--color-accent-soft);color:var(--color-accent);border-radius:0.375rem;font-size:0.75rem;font-weight:600;}
@media (max-width:640px){.hero-mock-body{grid-template-columns:1fr;min-height:20rem;}.hero-mock{transform:none;}}
.hero-ai-section{padding:4rem 0;background:var(--color-bg);border-top:1px solid var(--color-border);}
.hero-ai-inner{display:grid;grid-template-columns:1.25fr 0.75fr;gap:3rem;align-items:center;max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.hero-ai-visual img{width:100%;min-width:280px;height:auto;max-height:min(75vh,400px);object-fit:contain;}
.hero-ai-placeholder{width:100%;min-height:280px;background:var(--color-border);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:0.9375rem;}
.hero-ai-content{padding:0 1rem;}
.hero-ai-text{font-family:var(--font-display);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;line-height:1.35;color:var(--color-text);margin:0;}
@media (max-width:768px){.hero-ai-inner{grid-template-columns:1fr;}.hero-ai-content{order:-1;text-align:center;}}
.features{padding:4rem 0;}
.features .container{max-width:1280px;}
.section-title{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;color:var(--color-text);margin:0 0 0.5rem;text-align:center;}
.section-lead{text-align:center;color:var(--color-text-muted);max-width:28rem;margin:0 auto 2.5rem;}
.feature-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.75rem;}
.feature-card{background:var(--color-surface);padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--transition-smooth);}
.feature-card:hover{box-shadow:0 8px 24px rgba(37,99,235,0.1);transform:translateY(-4px);}
.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-md);font-size:1.25rem;margin-bottom:1rem;}
.feature-card h3{font-size:1.125rem;font-weight:600;margin:0 0 0.5rem;color:var(--color-text);}
.feature-card p{margin:0;font-size:0.9375rem;color:var(--color-text-muted);line-height:1.55;}
.feature-explore-wrap{text-align:center;margin:2.5rem 0 0;}
.feature-explore-link{display:inline-block;font-size:1.0625rem;font-weight:600;color:var(--color-accent);padding:0.6rem 1.5rem;border-radius:var(--radius-md);}
.feature-explore-link:hover{color:var(--color-accent-hover);background:var(--color-accent-soft);}
.how-it-works{padding:4rem 0;background:var(--color-surface);border-top:1px solid var(--color-border);}
.how-it-works .container{max-width:100%;padding:0 2rem;}
.steps-row{display:grid;grid-template-columns:1fr minmax(90px,140px) 1fr minmax(90px,140px) 1fr;align-items:stretch;gap:0;}
.step-item{padding:1.5rem 1rem;}
.step-num{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;background:var(--color-accent);color:#fff;font-weight:700;font-size:1.1rem;border-radius:var(--radius-md);}
.steps-row .step-item h3{font-size:1.125rem;font-weight:600;margin:0 0 0.5rem;}
.steps-row .step-item p{margin:0;font-size:0.9375rem;color:var(--color-text-muted);line-height:1.55;}
.step-arrow{flex:0 0 100px;display:flex;align-items:center;justify-content:center;min-height:120px;}
.step-arrow-line{stroke:var(--color-accent);stroke-dashoffset:100;transition:stroke-dashoffset 0.6s ease-out;}
.steps-row:hover .step-arrow-line{stroke-dashoffset:0;}
@media (max-width:768px){.steps-row{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto;justify-items:center;}.step-item{text-align:center;}.step-arrow{transform:rotate(90deg);}}
/* Video modal — classic, clean */
.video-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity 0.25s ease,visibility 0.25s ease;}
.video-modal.is-open{opacity:1;visibility:visible;}
.video-modal-backdrop{position:absolute;inset:0;background:rgba(26,26,26,0.5);cursor:pointer;backdrop-filter:blur(4px);}
.video-modal-box{position:relative;width:100%;max-width:960px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,0.08),0 2px 8px rgba(0,0,0,0.04);overflow:hidden;}
.video-modal-close{position:absolute;top:0.75rem;right:0.75rem;z-index:2;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;color:#fff;background:rgba(0,0,0,0.5);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color 0.2s ease,background 0.2s ease;}
.video-modal-close:hover{background:rgba(0,0,0,0.75);color:#fff;}
.video-modal-player{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;background:#0f0f0f;}
.video-modal-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;}
