/* MyEquiLife: an editorial, quiet-motion front page. All rules stay outside the questionnaire. */
.test-hub #page .front-home{max-width:1320px;margin:0 auto;color:#183e31}
.test-hub #page .front-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;padding:14px;border-radius:34px;background:#e9efdf;border:1px solid #d6dfcd;box-shadow:0 24px 80px #193e3110;overflow:hidden;isolation:isolate}
.test-hub #page .front-hero .life-hero-copy{padding:clamp(24px,4.8vw,70px);border-radius:24px;background:radial-gradient(ellipse at 0 0,#f9fbf1 0,transparent 70%),#e9efdf;position:relative;z-index:1}
.test-hub #page .front-hero .eyebrow{color:#486341;font-weight:700;letter-spacing:.14em;font-size:.68rem}
.test-hub #page .front-hero h1{font-size:clamp(2.8rem,4.7vw,5.1rem);font-weight:670;letter-spacing:-.065em;line-height:1.035;color:#193c30;max-width:none;margin:27px 0 24px;text-wrap:balance}
.test-hub #page .front-hero h1 em{display:block;font-style:normal;color:inherit!important}
.test-hub #page .front-hero .life-hero-copy>p{max-width:37ch;font-size:clamp(.98rem,1.25vw,1.12rem);line-height:1.7;color:#52624d;margin:0 0 28px}
#page .front-home .front-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;width:100%}
#page .front-home .front-actions .button{padding:15px 21px;min-height:52px;border-radius:50px;font-size:.9rem;line-height:1.35;font-weight:650;white-space:normal;text-align:center;transition:transform .25s,background .25s,box-shadow .25s}
#page .front-home .front-actions .button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #183e3117}
#page .front-home .front-actions .button.secondary{background:transparent;border-color:#aebeaa}
#page .front-home .hero-small{font-size:.74rem;line-height:1.6;max-width:35ch;color:#66745b;margin-top:19px}
.test-hub #page .front-hero .front-art{min-height:580px;padding:32px;position:relative;border-radius:24px;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;justify-content:flex-start;background:#1d3d2e;transform:perspective(1600px) rotateX(var(--scene-x,0deg)) rotateY(var(--scene-y,0deg));transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.test-hub #page .front-hero .front-art::before{content:'';display:block;position:absolute;inset:-3%;z-index:-2;border:0;border-radius:0;background:linear-gradient(180deg,#17372909 10%,#0d261b08 48%,#0b241dea 100%),var(--me-horse-photo) 51% 35%/cover no-repeat;box-shadow:none;animation:equilife-photo-breathe 14s ease-in-out infinite alternate}
.test-hub #page .front-hero .front-art::after{content:'';display:block;position:absolute;inset:15px;z-index:-1;width:auto;height:auto;bottom:15px;border:1px solid #f2f5df35;border-radius:15px;box-shadow:none;filter:none;transform:none;background:none;opacity:1}
#page .front-home .front-art-note{position:absolute;top:30px;left:30px;right:30px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;z-index:1}
#page .front-home .front-art-note span{font-size:.67rem;font-weight:600;letter-spacing:.02em;padding:7px 12px;border:1px solid #ffffff55;border-radius:30px;color:#fbffef;background:#163e2a5e;backdrop-filter:blur(8px)}
#page .front-home .front-photo-caption{position:relative;z-index:1;color:#f8f9e9;max-width:12ch;font-size:clamp(1.7rem,2.8vw,3rem);line-height:1.1;letter-spacing:-.045em;font-weight:500;padding:0;margin:0 0 4px;text-shadow:0 2px 16px #0b241d30}
#page .front-home .front-story{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,7vw,100px);padding:clamp(35px,7vw,100px) clamp(8px,3vw,40px);align-items:start}
#page .front-home .front-story-copy{position:relative;padding-top:15px}
#page .front-home .front-story h2{font-size:clamp(2rem,4.1vw,4.15rem);font-weight:600;line-height:1.05;letter-spacing:-.055em;max-width:13ch;margin:22px 0;color:#193c30;text-wrap:balance}
#page .front-home .front-story-copy>p{font-size:1rem;max-width:36ch;line-height:1.75;color:#62715c}
#page .front-home .front-topics{border-top:1px solid #c8d4be}
#page .front-home .front-topics details{border-bottom:1px solid #c8d4be;margin:0;padding:0}
#page .front-home .front-topics summary{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:23px 0;color:#234632;font-size:clamp(1.02rem,1.5vw,1.25rem);font-weight:570;line-height:1.4;min-height:64px}
#page .front-home .front-topics summary::-webkit-details-marker{display:none}
#page .front-home .front-topics summary>span:first-child{font-size:.68rem;color:#7a8b6c;font-weight:500;font-variant-numeric:tabular-nums}
#page .front-home .front-topics summary>span:last-child{display:grid;place-items:center;border:1px solid #c4d0b7;border-radius:50%;height:24px;font-size:18px;line-height:1;transition:transform .25s}
#page .front-home .front-topics details[open] summary>span:last-child{transform:rotate(45deg)}
#page .front-home .front-topics details[open]{background:linear-gradient(90deg,transparent,#eaf0df,transparent)}
#page .front-home .front-topics details>p{margin:0;padding:0 36px 24px 42px;color:#617359;font-size:.92rem;line-height:1.7;max-width:47ch}
#page .front-home .how-section{margin:0;padding:clamp(30px,4vw,55px);background:#e7eddb;border:1px solid #d5dfc8;border-radius:28px;scroll-margin-top:95px}
#page .front-home .how-section .section-heading{display:flex;gap:30px;justify-content:space-between;align-items:start;margin-bottom:35px}
#page .front-home .how-section .section-heading>.eyebrow{flex:0 0 25%;padding-top:9px}
#page .front-home .how-section h2{font-weight:600;font-size:clamp(1.8rem,3.2vw,3.1rem);line-height:1.1;letter-spacing:-.045em;max-width:18ch;margin:0;flex:1}
#page .front-home .how-grid{gap:0;align-items:stretch}
#page .front-home .how-grid article{background:transparent;border:0;border-radius:0;box-shadow:none;padding:24px 27px 12px;border-top:1px solid #b7c8a5;margin:0;min-width:0}
#page .front-home .how-grid article:first-child{padding-left:0}
#page .front-home .how-grid article+article{border-left:1px solid #c8d5b9}
#page .front-home .how-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
#page .front-home .how-number{padding:0;background:none;border:0;border-radius:0;box-shadow:none;font-size:.8rem;color:#5f7850;font-weight:500;min-width:0;min-height:0;width:auto;height:auto}
#page .front-home .how-icon{width:28px;height:28px;color:#486440}
#page .front-home .how-grid h3{font-size:1.08rem;letter-spacing:-.02em;margin:0 0 12px;font-weight:650;color:#254b35}
#page .front-home .how-grid p{font-size:.87rem;line-height:1.65;color:#65765b;max-width:30ch}
#page .front-home .front-closing{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:30px;margin:clamp(30px,5vw,65px) 0 0;padding:clamp(30px,5vw,65px);border:1px solid #426d4d;border-radius:28px;background:radial-gradient(ellipse at 83% -10%,#5d8255 0,transparent 58%),#173d2b;color:#f0f5e5;isolation:isolate}
#page .front-home .front-closing::after{content:'M';position:absolute;z-index:-1;right:17%;top:-.17em;font-family:Georgia,serif;line-height:1;font-size:24rem;color:#cee8a908;transform:rotate(-12deg);pointer-events:none}
#page .front-home .front-closing h2{color:#f0f5e5;font-weight:500;letter-spacing:-.05em;line-height:1.1;font-size:clamp(1.9rem,3.6vw,3.7rem);max-width:15ch;margin:0}
#page .front-home .front-closing .button{flex:none;min-height:52px;border-radius:40px;background:#e8f0d2;border-color:#e8f0d2;color:#173d2b;padding:14px 23px;font-weight:650;white-space:normal;text-align:center;max-width:100%}
#page .front-home .front-closing .button:hover{background:#f4f8e8;border-color:#f4f8e8}
#page .front-home .front-footer{padding:25px 7px 8px;margin-top:28px;border:0;color:#78856e;font-size:.75rem;gap:20px}
#page .front-home .front-footer strong{font-size:1rem;letter-spacing:-.04em;color:#385940}
#page .front-home .home-requests{border-radius:22px;background:#f3f6ed;padding:22px;border-color:#d5dfcc;margin-top:28px}
/* Sign-in uses the same visual family while keeping authentication unchanged. */
#page .login-layout{max-width:1200px;margin-inline:auto;border-radius:30px;background:#edf1e5;padding:12px;gap:12px;border:1px solid #d3ddc8;box-shadow:0 24px 65px #1c3c2b0b}
#page .login-layout .front-login-brand{border-radius:22px;min-height:620px;padding:clamp(28px,5vw,65px);position:relative;overflow:hidden;background:linear-gradient(0deg,#102f23f5,transparent 85%),var(--me-horse-photo) 50% 35%/cover no-repeat,#173c2b;justify-content:flex-end}
#page .login-layout .front-login-brand>span{font-size:.7rem;letter-spacing:.18em;font-weight:550}
#page .login-layout .front-login-brand h1{font-size:clamp(2.5rem,4.8vw,4.8rem);font-weight:560;letter-spacing:-.055em;line-height:1.04;max-width:11ch;color:#fbfbed}
#page .login-layout .front-login-brand p{font-size:.94rem;line-height:1.6;max-width:32ch}
#page .login-layout .login-form-panel{border-radius:22px;background:#fafcf5;padding:clamp(25px,4.7vw,65px)}
#page .login-layout .login-form-panel h2{font-size:clamp(1.8rem,2.8vw,2.65rem);font-weight:580;letter-spacing:-.045em;line-height:1.1}
#page .login-layout .login-form-panel>p{font-size:.92rem;line-height:1.7;color:#65735d}
#page .login-layout .login-form-panel .button{border-radius:30px;min-height:52px}
@keyframes equilife-photo-breathe{from{transform:scale(1) translateY(0)}to{transform:scale(1.045) translateY(-.6%)}}
@keyframes equilife-arrive{from{transform:translateY(15px);opacity:.55}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:no-preference){#page .front-home .life-hero-copy{animation:equilife-arrive .8s ease-out both}#page .front-home .front-story.is-seen .front-story-copy,#page .front-home .front-closing.is-seen h2{animation:equilife-arrive .7s ease-out both}}
@media(max-width:900px){.test-hub #page .front-hero{gap:10px;padding:10px;border-radius:27px;grid-template-columns:1fr 1fr}.test-hub #page .front-hero .life-hero-copy{padding:28px 20px}.test-hub #page .front-hero h1{font-size:clamp(2.4rem,5.3vw,4rem)}.test-hub #page .front-hero .front-art{min-height:500px;padding:24px}.test-hub #page .front-hero .hero-small{max-width:30ch}#page .front-home .front-story{gap:35px}#page .login-layout .front-login-brand{min-height:530px}}
@media(max-width:680px){.test-hub #page .front-home{width:100%;min-width:0}.test-hub #page .front-hero{grid-template-columns:1fr;gap:10px;border-radius:24px;padding:8px}.test-hub #page .front-hero .life-hero-copy{align-items:center;text-align:center;padding:31px 18px 24px;border-radius:18px}.test-hub #page .front-hero h1{font-size:clamp(2.65rem,10.5vw,4.7rem);line-height:1.05;max-width:100%;margin:20px auto}.test-hub #page .front-hero .life-hero-copy>p{font-size:.92rem;line-height:1.65;max-width:34ch;margin-bottom:23px}#page .front-home .front-actions{justify-content:center;gap:8px}#page .front-home .front-actions .button{font-size:.83rem;padding:12px 17px;min-height:48px}.test-hub #page .front-hero .hero-small{margin-top:15px;max-width:31ch;font-size:.72rem}.test-hub #page .front-hero .front-art{min-height:345px;height:auto;aspect-ratio:1.17;padding:26px;border-radius:18px;transform:none}#page .front-home .front-art-note{top:23px;left:23px;right:23px;gap:5px}#page .front-home .front-art-note span{font-size:.61rem;padding:6px 9px}#page .front-home .front-photo-caption{font-size:2rem;max-width:13ch}#page .front-home .front-story{grid-template-columns:1fr;padding:40px 12px;gap:15px}#page .front-home .front-story-copy{padding-top:0}#page .front-home .front-story h2{font-size:2.5rem;max-width:13ch;margin:17px 0}#page .front-home .front-story-copy>p{font-size:.9rem;margin-bottom:15px}#page .front-home .front-topics summary{padding:19px 0;font-size:1.01rem;gap:8px;grid-template-columns:26px minmax(0,1fr) 24px}#page .front-home .front-topics details>p{padding-left:34px;font-size:.86rem}#page .front-home .how-section{padding:27px 22px;border-radius:22px}#page .front-home .how-section .section-heading{display:block;margin-bottom:25px}#page .front-home .how-section h2{font-size:2rem;margin:17px 0 0}#page .front-home .how-grid{display:block}#page .front-home .how-grid article{padding:20px 0!important;border-left:0!important;display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px 15px}#page .front-home .how-card-top{grid-row:1/3;display:block;margin:0;padding-top:3px}#page .front-home .how-icon{display:none}#page .front-home .how-number{font-size:.78rem}#page .front-home .how-grid h3{margin:0;font-size:1rem}#page .front-home .how-grid p{margin:0;max-width:none;font-size:.85rem}#page .front-home .front-closing{padding:32px 25px;display:block;border-radius:22px;margin-top:26px}#page .front-home .front-closing h2{font-size:2.5rem;max-width:14ch}#page .front-home .front-closing .button{margin-top:25px;font-size:.87rem}#page .front-home .front-footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:22px 8px}#page .front-home .home-requests{padding:16px;border-radius:20px}#page .login-layout{padding:8px;gap:8px;border-radius:22px}#page .login-layout .front-login-brand{min-height:300px;padding:28px 25px;border-radius:16px;background-position:50% 30%}#page .login-layout .front-login-brand h1{font-size:2.5rem;max-width:12ch}#page .login-layout .front-login-brand p{font-size:.82rem;max-width:30ch}#page .login-layout .login-form-panel{padding:28px 22px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.test-hub #page .front-hero .front-art,.test-hub #page .front-hero .front-art::before,#page .front-home *{animation:none!important;transition:none!important;transform:none!important}}

#page .front-home .front-action-arrow{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
