/* First Families landing page; shared navigation, forms and legal dialogs stay intact. */
.qr-annex-page .qr-page { min-height: 900px; background: #deded2; }
.qr-annex-page .qr-page__content { min-height: 900px; padding: 175px 24px 80px; }
.qr-annex-page .qr-page__image { object-position: center 58%; }
.qr-annex-page .qr-page::after { background: none; }
.qr-annex-page .qr-title { line-height: 1.04; margin-bottom: 28px; }
.qr-annex-page .qr-offer { font-size: 20px; max-width: 660px; }
.qr-annex-page .qr-signup { position: static; width: min(100%, 510px); margin: 26px auto 0; }
.qr-annex-page .qr-input { font-size: 14px; min-height: 54px; }
.qr-annex-page .qr-button { background: #119d69; flex-basis: 180px; min-height: 54px; font-size: 12px; }
.qr-annex-page .qr-button:hover { background: #087d51; }
.qr-annex-page .qr-owner { font-size: 16px; line-height: 1.5; margin: 17px 0 8px; }
.qr-annex-page .qr-terms { font-size: 14px; line-height: 1.5; max-width: 300px; margin: 0 auto; }
.qr-annex-page .qr-terms a { color: inherit; text-underline-offset: 3px; }
.qr-annex-page .qr-fineprint { left: 20px; bottom: 20px; width: calc(100% - 40px); max-width: 900px; font-size: 11px; line-height: 1.5; text-align: left; }
.annex-section-inner { width: min(1240px, calc(100% - 80px)); margin-inline: auto; }
.annex-location { padding: 100px 0; background: #294362; color: white; }
.annex-location__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 70px; align-items: stretch; }
.annex-map { display: block; width: 100%; height: 100%; min-height: 530px; border: 0; border-radius: 8px; }
.annex-location__copy { align-self: center; }
.annex-location h2, .annex-doctor h2, .annex-faq h2 { font-family: var(--font-headline); font-size: var(--main-title-size); font-weight: 400; line-height: 1.08; margin: 0 0 24px; color: inherit; }
.annex-location p, .annex-doctor p, .annex-faq p { font-size: 16px; line-height: 1.65; }
.annex-location__copy > p { color: #d6e3ef; }
.annex-status { display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; background: #ffffff20; padding: 8px 15px; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.annex-status::before { content: ''; width: 8px; height: 8px; background: #ffabe1; border-radius: 50%; }
.annex-location .annex-kicker { margin: 22px 0 12px; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.annex-facts { margin: 28px 0; border-top: 1px solid #ffffff22; }
.annex-facts > div { display: grid; grid-template-columns: 130px 1fr; gap: 22px; padding: 17px 0; border-bottom: 1px solid #ffffff22; }
.annex-facts dt { font-size: 11px; font-weight: 700; text-transform: uppercase; color: #d6e3ef; }
.annex-facts dd { margin: 0; font-size: 15px; line-height: 1.5; }
.annex-about-link { display: inline-block; padding: 17px 22px; border-radius: var(--radius-pill); background: #294362; border: 1px solid #fff; color: #fff; font-size: 13px; line-height: 1.4; font-weight: 700; text-decoration: none; }
.annex-about-link:hover { background: #355373; }
.annex-doctor { display: grid; grid-template-columns: 1.25fr 1fr; gap: 80px; align-items: center; padding-block: 100px; color: #294362; }
.annex-doctor h2 { margin-bottom: 10px; }
.annex-doctor .annex-doctor__role { font-size: 21px; margin: 0 0 30px; }
.annex-doctor__copy > p:not(.annex-doctor__role) { margin: 0 0 20px; }
.annex-doctor__image { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; }
.annex-faq { padding: 85px 0 100px; background: #f5f6f2; color: #294362; }
.annex-faq__inner { max-width: 940px; }
.annex-faq h2 { text-align: center; margin-bottom: 45px; }
.annex-faq details { border-top: 1px solid #29436233; }
.annex-faq details:last-child { border-bottom: 1px solid #29436233; }
.annex-faq summary { position: relative; padding: 24px 35px 24px 0; cursor: pointer; list-style: none; font-size: 18px; font-weight: 600; }
.annex-faq summary::-webkit-details-marker { display: none; }
.annex-faq summary::after { content: '+'; position: absolute; right: 4px; top: 20px; font-size: 26px; font-weight: 400; }
.annex-faq details[open] summary::after { content: '−'; }
.annex-faq details p { margin: 0 0 26px; max-width: 820px; }
.annex-faq a { color: inherit; text-underline-offset: 3px; }
@media (max-width: 900px) {
 .annex-location__grid, .annex-doctor { gap: 35px; }
 .annex-section-inner { width: calc(100% - 48px); }
}
@media (max-width: 700px) {
 .qr-annex-page .qr-page, .qr-annex-page .qr-page__content { min-height: 910px; }
 .qr-annex-page .qr-page__content { padding: 150px 24px 90px; }
 .qr-annex-page .qr-page__image { object-position: center bottom; }
 .qr-annex-page .qr-title { line-height: 1.08; margin-bottom: 22px; }
 .qr-annex-page .qr-offer { font-size: 17px; line-height: 1.5; max-width: 330px; }
 .qr-annex-page .qr-signup { margin-top: 22px; width: 100%; }
 .qr-annex-page .qr-form { display: flex; flex-direction: column; gap: 10px; }
 .qr-annex-page .qr-input, .qr-annex-page .qr-button { flex-basis: auto; min-height: 50px; height: 50px; border-radius: 999px; font-size: 14px; }
 .qr-annex-page .qr-owner { font-size: 14px; margin-top: 15px; }
 .qr-annex-page .qr-terms { font-size: 13px; max-width: 270px; }
 .qr-annex-page .qr-fineprint { left: 24px; bottom: 18px; width: calc(100% - 48px); font-size: 10px; }
 .annex-location { padding: 56px 0; }
 .annex-location__grid, .annex-doctor { grid-template-columns: 1fr; gap: 35px; }
 .annex-map { height: 340px; min-height: 0; border-radius: 16px; }
 .annex-facts > div { grid-template-columns: 110px 1fr; gap: 15px; }
 .annex-about-link { text-align: center; width: 100%; }
 .annex-doctor { padding-block: 60px; }
 .annex-doctor__image { max-width: 420px; margin-inline: auto; border-radius: 16px; }
 .annex-faq { padding: 55px 0 65px; }
 .annex-faq h2 { margin-bottom: 30px; }
 .annex-faq summary { font-size: 16px; line-height: 1.5; padding-block: 20px; }
}
.qr-annex-page #main-content { background: #fff; }
/* Reuse the homepage artwork, responsive crop and exact hero dimensions. */
.qr-annex-page #main-content { padding-top: var(--nav-height); }
.qr-annex-page .qr-page { min-height: var(--home-hero-height); }
.qr-annex-page .qr-page__content { width: 100%; min-height: var(--home-hero-height); padding-top: clamp(75px, 7vw, 105px); position: relative; z-index: 1; }
.qr-annex-page .qr-owner { width: min(680px, calc(100vw - 48px)); margin-left: 50%; transform: translateX(-50%); }
.qr-annex-page .qr-owner a, .annex-faq a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 820px) {
 .qr-annex-page .qr-page__content { padding-top: 36px; }
 .qr-annex-page .qr-title { margin-bottom: 16px; }
 .qr-annex-page .qr-signup { position: static; width: 100%; margin: 22px auto 0; }
 .qr-annex-page .qr-owner { margin-top: 10px; margin-bottom: 0; font-size: 13px; }
 .qr-annex-page .qr-status:empty { display: none; }
 .qr-annex-page .qr-fineprint { bottom: 12px; font-size: 9px; }
}

/* Give the mobile signup its own blue space above the joined paw and hand. */
@media(max-width:820px){
 .qr-annex-page .qr-page { --home-hero-height:740px; background:#d5e4fa; }
 .qr-annex-page .home-hero__media { top:150px; height:650px; mask-image:linear-gradient(to bottom,transparent,#000 120px); }
 .qr-annex-page .home-hero__image { top:0;height:100%;object-position:32% center;transform:none; }
 .qr-annex-page .qr-form { display:flex;flex-direction:column;gap:10px; }
 .qr-annex-page .qr-input,.qr-annex-page .qr-button { flex-basis:auto;min-height:50px;height:50px;border-radius:999px; }
}

@media(max-width:820px){.qr-annex-page .qr-owner a{display:block}}
@media(max-width:360px){.qr-annex-page .home-hero__media{top:170px}}
/* Lift the desktop signup group while preserving space below navigation. */
@media(min-width:821px){.qr-annex-page .qr-page__content{padding-top:clamp(55px,5.5vw,80px)}}
