/* DONEO V28: homepage brand entrance and shared motion language. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1)}
@keyframes wordEntrance{from{opacity:0;transform:translateY(45px) rotate(2deg);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes productEntrance{from{opacity:0;transform:perspective(1000px) rotateY(-15deg) translateY(70px) scale(.92)}to{opacity:1;transform:perspective(1000px) rotateY(0) translateY(0) scale(1)}}
@keyframes badgeEntrance{from{opacity:0;transform:translateX(-22px) scale(.85)}to{opacity:1;transform:none}}
@keyframes progressEntrance{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes gentleDrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes orbitTurn{to{transform:rotate(360deg)}}
@keyframes pageEntrance{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes cardEntrance{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.main-nav{gap:20px}.main-nav a{white-space:nowrap;font-size:.875rem}.nav-wrap{gap:18px}.brand img{width:176px}.nav-cta{font-size:.875rem;padding:10px 16px}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .3s var(--motion-ease),box-shadow .3s,background .3s,color .3s}
.button::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff40 50%,transparent 80%);transform:translateX(-140%);pointer-events:none;transition:transform .65s ease;z-index:-1}
.button:hover::after,.button:focus-visible::after{transform:translateX(140%)}.button:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0b474522}.button:active{transform:translateY(0) scale(.98)}
.feature-card,.service-card,.contact-card,.price-card{transition:transform .45s var(--motion-ease),box-shadow .45s,border-color .3s,background .3s,color .3s}
.feature-card:hover,.service-card:hover,.contact-card:hover{transform:translateY(-7px);box-shadow:0 20px 42px #0b474512}
.feature-icon,.service-card>span,.contact-card>span{transition:transform .45s var(--motion-ease),background .3s}.service-card:hover>span,.contact-card:hover>span,.feature-card:hover .feature-icon{transform:rotate(-6deg) scale(1.07);background:#ffe8d6}
.faq details[open] p{animation:pageEntrance .4s var(--motion-ease)}.footer-grid a{transition:color .2s,transform .3s}.footer-grid a:hover{color:#fff;transform:translateX(3px)}
.page-hero .container{animation:pageEntrance .75s var(--motion-ease) both}
.motion-enter{animation:cardEntrance .75s var(--motion-ease) both;animation-delay:var(--reveal-delay,0ms)}
body[data-page="index"] .hero{background:#083b38;color:#fff;isolation:isolate;min-height:calc(100svh - 88px);display:flex;align-items:center;overflow:hidden}
body[data-page="index"] .hero-grid{grid-template-columns:1.08fr .92fr;gap:64px;padding:76px 0 90px;width:min(1180px,calc(100% - 40px))}
.home-grid-lines{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(#b7e8d533 1px,transparent 1px),linear-gradient(90deg,#b7e8d533 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none;z-index:-1}
.home-orbit{display:block;position:absolute;width:820px;height:820px;right:-190px;top:calc(50% - 410px);border:1px solid #80b39c30;border-radius:50%;pointer-events:none;z-index:-1;animation:orbitTurn 50s linear infinite}
.home-orbit::before,.home-orbit::after{content:"";position:absolute;border:1px solid #80b39c24;border-radius:50%;inset:65px}.home-orbit::after{inset:140px;border-top-color:#ff9c5970}
body[data-page="index"] .hero-copy>.eyebrow{background:#ffffff08;border:1px solid #87b9a348;color:#c3ddcf;border-radius:999px;padding:9px 14px;font-size:.75rem;letter-spacing:.08em}
body[data-page="index"] .hero h1{font-size:clamp(4rem,8.5vw,7.9rem);line-height:.98;letter-spacing:-.07em;margin:16px 0 0}
body[data-page="index"] .hero h1 span{color:#fff;display:inline-block;animation:wordEntrance 1.05s var(--motion-ease) both}
body[data-page="index"] .hero h1 .hero-answer{color:#ffa361;animation-delay:.16s}
body[data-page="index"] .lead{color:#c1d8cc;font-size:1.125rem;line-height:1.7;max-width:440px;margin-top:30px;animation:pageEntrance .85s var(--motion-ease) .3s both}
body[data-page="index"] .hero-actions{animation:pageEntrance .85s var(--motion-ease) .4s both}
body[data-page="index"] .hero-actions .button-white{background:transparent;color:#fff;border-color:#9dc6b360}
body[data-page="index"] .hero-actions .button-white:hover{background:#ffffff12}
body[data-page="index"] .trust-grid{border-color:#ffffff20;max-width:480px;animation:pageEntrance .85s var(--motion-ease) .5s both}
body[data-page="index"] .trust-card strong{color:#f5faf7}body[data-page="index"] .trust-card small{color:#aecbbc}body[data-page="index"] .trust-icon{color:#ffaf75}
.home-product{color:#173735;position:relative;animation:productEntrance 1.35s var(--motion-ease) .15s both;padding-bottom:18px}
.home-product .preview-caption{color:#c0d8cb;font-size:.75rem;letter-spacing:.09em;margin-bottom:6px}
.home-product .app-window{width:100%;max-width:440px;box-shadow:0 40px 90px #001b2966;border:1px solid #c0d1c8;transform:perspective(1100px) rotateY(-4deg);transition:transform .6s var(--motion-ease)}
.home-product .app-window:hover{transform:perspective(1100px) rotateY(0) translateY(-5px)}
.home-product .status-bar span{transform-origin:left;animation:progressEntrance 1.6s var(--motion-ease) .8s both}
.home-product .next-card{animation:pageEntrance .85s var(--motion-ease) 1s both}
.home-product .verified-card{animation:pageEntrance .85s var(--motion-ease) 1.2s both}.home-product .verified-card:nth-child(2){animation-delay:1.35s}
.home-product-badge{position:absolute;left:-30px;bottom:-8px;z-index:5;display:flex;align-items:center;gap:12px;background:#ffab6c;color:#173735;padding:15px 20px;border-radius:14px;box-shadow:0 15px 35px #001a2344;font-size:.8125rem;line-height:1.45;animation:badgeEntrance .85s var(--motion-ease) 1.5s both,gentleDrift 5s ease-in-out 2.4s infinite}
.home-product-badge>span{display:grid;place-items:center;background:#0b4745;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1rem}
.journey-heading h1{font-size:clamp(2.6rem,5.5vw,4.5rem);line-height:1.1;letter-spacing:-.05em;margin:0 0 18px;animation:wordEntrance .85s var(--motion-ease) both}
.tutorial-outro{background:#f1f6f3}.tutorial-outro h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;letter-spacing:-.04em;margin:12px 0 26px}
@media(max-width:1160px) and (min-width:901px){.nav-cta{display:none}.main-nav{gap:18px}.nav-wrap{gap:12px}}
@media(max-width:900px){
 body[data-page="index"] .hero-grid{grid-template-columns:1fr;gap:42px;padding:48px 0 72px}.home-product{width:min(480px,100%);margin:auto}
 body[data-page="index"] .hero-copy{max-width:650px;margin:auto;width:100%}body[data-page="index"] .hero h1{font-size:clamp(4.5rem,12vw,6.5rem)}
 .main-nav{gap:6px}.main-nav a{font-size:1rem}.brand img{width:170px}.home-orbit{right:-450px}
}
@media(max-width:620px){
 body[data-page="index"] .hero-grid{width:calc(100% - 36px);padding:34px 0 60px;gap:36px}
 body[data-page="index"] .hero h1{font-size:clamp(3.8rem,17vw,6rem);line-height:1;letter-spacing:-.065em}
 body[data-page="index"] .hero-copy>.eyebrow{font-size:.6875rem;padding:8px 11px;letter-spacing:.07em}
 body[data-page="index"] .lead{font-size:1rem;margin-top:22px}.home-product .app-window{transform:none}.home-product-badge{left:12px;bottom:-12px;padding:12px 15px;font-size:.75rem;max-width:calc(100% - 24px)}
 .home-product .preview-caption{font-size:.6875rem;letter-spacing:.04em}.home-product .app-window-top{gap:10px}.home-product .tax-year{font-size:.6875rem}
 .main-nav a{white-space:normal}.home-orbit{opacity:.6;right:-540px}.journey-heading h1{font-size:2.5rem}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .reveal,.reveal-pending{opacity:1;transform:none}.home-product,.home-product .app-window,.hero-line{transform:none!important;filter:none!important;opacity:1!important}
}
