:root { --home-card: #fffdf7; }
.home-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 7%; align-items: start; padding: 35px 0 70px; }
.home-story h1 { font-size: clamp(48px, 5.1vw, 70px); }
.home-story .intro { max-width: 490px; margin-bottom: 32px; }
.home-photos { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding-bottom: 24px; }
.home-photo { margin: 0; min-width: 0; }
.home-photo img { display: block; width: 100%; height: 310px; object-fit: cover; }
.home-photo-action img { border-radius: 90px 6px 6px 6px; object-position: center 42%; }
.home-photo-portrait { margin-top: 34px; }
.home-photo-portrait img { border-radius: 6px 6px 70px 6px; object-position: center 35%; }
.home-photo-caption { position: absolute; bottom: 0; left: 20px; display: flex; align-items: center; gap: 12px; max-width: calc(100% - 40px); padding: 18px 22px; background: var(--home-card); border-radius: 6px; box-shadow: 0 10px 35px #203b3212; font: 400 19px Georgia, serif; }
.home-login { scroll-margin-top: 24px; }
.home-login .eyebrow { margin-bottom: 20px; }
.home-login h2 { font-size: 34px; }
.home-login .form-intro { margin-bottom: 24px; }
.home input:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.remember-me { display: flex; align-items: center; gap: 9px; font-size: 12px; color: var(--muted); cursor: pointer; }
.remember-me input { width: 16px; height: 16px; margin: 0; accent-color: var(--ink); }
.home-register { border-top: 1px solid #d9ded1; margin-top: 28px; padding-top: 25px; }
.home-register h3 { margin: 0; font: 400 23px Georgia, serif; }
.home-register p { margin: 10px 0 20px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.home-register .button { display: flex; width: 100%; justify-content: space-between; gap: 12px; padding: 15px 18px; margin-top: 12px; text-align: left; line-height: 1.5; }
.button-outline { background: transparent; color: var(--ink); border: 1px solid #bbc4b5; }
.button-outline:hover { background: #e9ede2; }
.dashboard-button { width: 100%; }
.coach-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 19px; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 1000px) { .home-hero { gap: 4%; } .home-story h1 { font-size: 54px; } .home-photo img { height: 285px; } .home-photo-caption { left: 10px; padding: 16px; max-width: calc(100% - 20px); font-size: 17px; } }
@media (max-width: 800px) { .home-hero { grid-template-columns: 1fr; gap: 40px; padding-top: 20px; } .home-story .intro { max-width: 560px; } .home-photo img { height: 350px; } .home-login { max-width: 560px; width: 100%; justify-self: center; } .home .coach-nav { display: none; } }
@media (max-width: 500px) { .home-story h1 { font-size: 48px; } .home-photos { gap: 12px; } .home-photo img { height: 260px; } .home-photo-action img { border-top-left-radius: 65px; } .home-photo-caption { padding: 13px; gap: 8px; font-size: 16px; } .home-login h2 { font-size: 30px; } }
