/* Shared Brand-led hierarchy. Photo heroes use white type with a lighter
   charcoal overlay; actions and compact functional titles retain the coral token. */
.r7-finish { --fr-hero-surface:#0e232d; --fr-hero-subtext:#f4f6f4; }
.r7-finish .r7-home .r7-home-company,
.r7-finish .r7-page-hero h1,
.r7-finish.fr-library .fr-main>h1,
.r7-finish.fr-lesson .fr-heading h1,
.r7-finish.page-id-3398 .title-head,
.r7-finish .board-header .board-title {
 font:600 clamp(32px,3.6vw,48px)/1.15 R7Playfair,Georgia,serif!important;
 color:var(--r7-coral)!important; letter-spacing:-.02em;
 text-transform:none; font-variant-numeric:lining-nums;
 overflow-wrap:break-word;
}
.r7-finish .r7-home .r7-home-company { margin-bottom:18px; }
.r7-finish .r7-home .r7-hero h1 { font-size:clamp(30px,2.6vw,36px); font-weight:400; color:#fff; }
.r7-finish .r7-home .r7-hero p,
.r7-finish .r7-page-hero p { color:var(--fr-hero-subtext); font:400 21px/1.7 R7Inter,Arial,sans-serif; max-width:650px; }
.r7-finish .r7-page-hero h1 { max-width:1100px; margin-bottom:24px; }
.r7-finish .r7-home .r7-hero { background-image:linear-gradient(90deg,rgba(8,20,24,.72),rgba(8,20,24,.58) 72%,rgba(8,20,24,.12)),url("revision/miami-waterfront-preview-3200.jpg"); }
.r7-finish .r7-page-hero { background-image:linear-gradient(90deg,rgba(8,20,24,.72),rgba(8,20,24,.58) 72%,rgba(8,20,24,.12)),var(--r7-page-photo); }
.r7-finish :is(.r7-hero,.r7-page-hero) .r7-button { font-weight:600; }
.r7-finish :is(.r7-hero,.r7-page-hero) .r7-button-coral { background:var(--r7-coral); border-color:var(--r7-coral); color:var(--r7-ink)!important; }
.r7-finish :is(.r7-hero,.r7-page-hero) .r7-button-outline { background:transparent; color:#fff!important; border-color:#fff; }
.r7-finish :is(.r7-hero,.r7-page-hero) .r7-button-outline:hover { background:#fff; color:#123f4b!important; }
.r7-finish :is(.r7-hero,.r7-page-hero) .r7-button:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.r7-finish :is(.r7-hero,.r7-page-hero,.fr-heading) ::selection { background:var(--r7-coral); color:var(--r7-ink); }
/* Compact dark headers keep the same accent readable on functional pages. */
.r7-finish.fr-library .fr-main>h1 { background:var(--fr-hero-surface); padding:32px 32px 14px; margin:0; }
.r7-finish.fr-library .fr-main>.fr-intro { background:var(--fr-hero-surface); color:var(--fr-hero-subtext); font:400 21px/1.7 R7Inter,Arial,sans-serif; padding:0 32px 32px; margin:0 0 28px; }
.r7-finish.fr-lesson .fr-heading { padding:28px; margin-bottom:24px; background:var(--fr-hero-surface); }
.r7-finish.fr-lesson .fr-heading :is(.fr-topic-label,.fr-meta) { color:var(--fr-hero-subtext); font-family:R7Inter,Arial,sans-serif; }
.r7-finish.fr-lesson .fr-heading h1 { margin:12px 0; }
.r7-finish.page-id-3398 .page-title,
.r7-finish .board-header { background:var(--fr-hero-surface); padding:32px; }
.r7-finish.page-id-3398 .page-title .breadcrumb :is(a,li,span),
.r7-finish .board-header .breadcrumb :is(a,li,span) { color:var(--fr-hero-subtext); }
.r7-finish.page-id-3398 .page-title .title-head { margin:16px 0 0; }
@media(max-width:700px) {
 .r7-finish .r7-home .r7-home-company,
 .r7-finish .r7-page-hero h1,
 .r7-finish.fr-library .fr-main>h1,
 .r7-finish.fr-lesson .fr-heading h1,
 .r7-finish.page-id-3398 .title-head,
 .r7-finish .board-header .board-title { font-size:32px!important; }
 .r7-finish .r7-home .r7-hero h1 { font-size:30px; }
 .r7-finish .r7-home .r7-hero p,
 .r7-finish .r7-page-hero p,
 .r7-finish.fr-library .fr-main>.fr-intro { font-size:18px; }
 .r7-finish.fr-library .fr-main>h1 { padding:24px 20px 14px; }
 .r7-finish.fr-library .fr-main>.fr-intro { padding:0 20px 24px; }
 .r7-finish.fr-lesson .fr-heading { padding:24px 20px; margin:0; order:-1; }
 .r7-finish.page-id-3398 .page-title,
 .r7-finish .board-header { padding:24px 20px; }
}
@media(max-width:600px) {
 .r7-finish .r7-home .r7-hero { background-image:linear-gradient(180deg,rgba(8,20,24,.68),rgba(8,20,24,.58)),url("revision/miami-waterfront-preview-3200.jpg"); }
 .r7-finish .r7-page-hero { background-image:linear-gradient(180deg,rgba(8,20,24,.68),rgba(8,20,24,.58)),var(--r7-page-photo); }
}

/* Keep the photo visible without requiring an opaque wash for coral lettering. */
.r7-finish .r7-home .r7-hero .r7-home-company { color:#ffb193!important; }
.r7-finish .r7-page-hero h1 { color:#fff!important; }
.r7-finish .r7-home .r7-hero p,
.r7-finish .r7-page-hero p { color:#fff; }
.r7-finish .r7-page-hero h1 { text-shadow:0 2px 5px rgba(0,0,0,.45); }

/* Native password prompts share the agent-resource layout, with no content behind the gate. */
.r7-finish .r7-password-gate { background:#f5f7f8; min-height:520px; }
.r7-finish .r7-password-width { width:min(1200px,calc(100% - 48px)); margin-inline:auto; }
.r7-finish .r7-password-heading { background:var(--fr-hero-surface); padding:48px 0; }
.r7-finish .r7-password-heading h1 { font:600 clamp(32px,3.6vw,48px)/1.15 R7Playfair,Georgia,serif; color:var(--r7-coral); letter-spacing:-.02em; margin:12px 0 20px; overflow-wrap:break-word; }
.r7-finish .r7-password-heading p { color:#fff; font:400 20px/1.6 R7Inter,Arial,sans-serif; margin:0; }
.r7-finish .r7-password-heading .r7-password-eyebrow { font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.r7-finish .r7-password-content { padding-block:48px 64px; }
.r7-finish .r7-password-card { max-width:680px; padding:36px; background:#fff; border:1px solid #dbe3e7; border-radius:14px; box-shadow:0 8px 28px rgba(18,47,61,.04); }
.r7-finish .r7-password-card h2 { font:600 30px/1.25 R7Playfair,Georgia,serif; color:var(--r7-ink); margin:0 0 18px; }
.r7-finish .r7-password-card .post-password-form { margin:0; padding:0; background:none; border:0; color:var(--r7-ink); font:400 16px/1.7 R7Inter,Arial,sans-serif; }
.r7-finish .r7-password-card .post-password-form p { margin:0 0 24px; }
.r7-finish .r7-password-card .post-password-form p:last-child { margin-bottom:0; display:flex; align-items:flex-end; gap:12px; flex-wrap:wrap; }
.r7-finish .r7-password-card label { display:block; flex:1 1 300px; font-weight:600; margin:0; }
.r7-finish .r7-password-card input[type=password] { display:block; width:100%; height:52px; margin:8px 0 0; padding:12px 14px; border:1px solid #8da3ad; border-radius:8px; background:#fff; color:var(--r7-ink); font:400 18px/1.4 R7Inter,Arial,sans-serif; }
.r7-finish .r7-password-card input[type=submit] { min-height:52px; padding:12px 28px; margin:0; background:var(--r7-coral); border:1px solid var(--r7-coral); border-radius:10px; color:var(--r7-ink); font:600 16px/1.4 R7Inter,Arial,sans-serif; cursor:pointer; }
.r7-finish .r7-password-card input[type=submit]:hover { background:#f88968; border-color:#f88968; }
.r7-finish .r7-password-card input:focus-visible { outline:3px solid #0e6a7a; outline-offset:3px; }
@media(max-width:700px) {
 .r7-finish .r7-password-width { width:calc(100% - 40px); }
 .r7-finish .r7-password-heading { padding:32px 0; }
 .r7-finish .r7-password-heading p { font-size:18px; }
 .r7-finish .r7-password-content { padding-block:28px 40px; }
 .r7-finish .r7-password-card { padding:24px; }
 .r7-finish .r7-password-card h2 { font-size:26px; }
 .r7-finish .r7-password-card input[type=submit] { width:100%; }
}
