.first-visit-page { --fv-pad:clamp(28px,3.15vw,48px); }
.first-visit-page h1,.first-visit-page h2,.first-visit-page h3 { font-weight:500; letter-spacing:-.045em; }
.first-visit-page p { line-height:1.46; }
.first-visit-page h2>span,.fv-opening-copy h1>span { color:#7892a8; }
.fv-opening { display:grid; grid-template-columns:1.25fr 1fr; grid-template-rows:auto auto; gap:5px; }
.fv-opening-copy { background:white; border-radius:24px; padding:var(--fv-pad); }
.fv-opening-copy h1 { font-size:clamp(35px,3.75vw,58px); line-height:1.24; margin:34px 0 28px; }
.fv-opening-copy>p:not(.section-label) { font-size:17px; color:var(--slate); }
.fv-opening-copy>.pill { margin-top:30px; }
.fv-mobile-break { display:none; }
.fv-opening-image { grid-column:2; grid-row:1/3; position:relative; isolation:isolate; overflow:hidden; min-height:630px; border-radius:24px; background:#6896bd; color:white; }
.fv-opening-image>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:63% 50%; z-index:-2; }
.fv-opening-image:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#12395855,transparent 50%,#12395888); z-index:-1; }
.fv-opening-image>span { display:block; padding:32px; font-size:clamp(52px,6.1vw,92px); line-height:.96; letter-spacing:-.06em; }
.fv-opening-image>p { position:absolute; bottom:32px; left:32px; font-size:16px; }
.fv-opening-link { background:#173f63; color:white; border-radius:24px; padding:28px var(--fv-pad); display:grid; grid-template-columns:1fr auto; align-items:end; gap:22px; }
.fv-opening-link>span { grid-column:1/-1; font-size:14px; color:#c9dced; }
.fv-opening-link h2 { font-size:26px; line-height:1.3; }
.fv-opening-link>div { display:flex; align-items:center; gap:24px; font-size:14px; }
.first-visit-page .fv-process,.first-visit-page .fv-preparation,.first-visit-page .fv-check,.first-visit-page .fv-faq { padding-bottom:0; }
.fv-section-heading { display:grid; grid-template-columns:1fr 2fr 1fr; align-items:start; gap:24px; margin-bottom:38px; }
.fv-section-heading h2,.fv-check-heading h2 { font-size:clamp(32px,3.1vw,47px); line-height:1.27; }
.fv-section-heading>p:not(.section-label) { font-size:16px; color:var(--slate); }
.fv-step-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.fv-step-grid>li { min-width:0; background:white; border-radius:24px; padding:30px 26px; }
.fv-step-grid>li:nth-child(even) { background:#e1ebf4; }
.fv-step-meta { display:flex; justify-content:space-between; gap:16px; font-size:14px; color:var(--slate); }
.fv-step-meta>span:last-child { font-variant-numeric:tabular-nums; }
.fv-step-grid h3 { font-size:clamp(23px,1.9vw,29px); line-height:1.32; margin:42px 0 26px; }
.fv-step-grid p { font-size:16px; color:var(--slate); }
.fv-prepare-panel { display:grid; grid-template-columns:1fr 2fr; gap:5px; }
.fv-prepare-intro { border-radius:24px; background:#173f63; color:white; padding:var(--fv-pad); display:flex; flex-direction:column; }
.fv-prepare-intro h2 { font-size:clamp(28px,2.5vw,38px); line-height:1.3; margin:38px 0 26px; }
.fv-prepare-intro>p:not(.section-label),.fv-no-records p { font-size:16px; color:#c9dced; }
.fv-no-records { padding-top:60px; margin-top:auto; }
.fv-no-records h3 { font-size:24px; line-height:1.3; margin:22px 0; }
.fv-prepare-grid { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
.fv-prepare-grid article { background:white; border-radius:24px; padding:34px; }
.fv-prepare-grid svg { color:#356387; }
.fv-prepare-grid h3 { font-size:27px; line-height:1.3; margin:35px 0 24px; }
.fv-prepare-grid p { font-size:17px; color:var(--slate); }
.fv-check-heading { display:grid; grid-template-columns:1fr 3fr; gap:24px; align-items:start; margin-bottom:38px; }
.fv-check-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:5px; }
.fv-day-plan,.fv-companion { border-radius:24px; padding:var(--fv-pad); }
.fv-day-plan { background:#e1ebf4; }
.fv-day-plan>span { font-size:14px; color:var(--slate); }
.fv-day-plan h3 { font-size:35px; margin:35px 0 26px; line-height:1.3; }
.fv-day-plan>p { font-size:17px; max-width:550px; color:var(--slate); }
.fv-day-details { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:45px; }
.fv-day-details h4 { font-size:19px; font-weight:500; margin:0 0 20px; }
.fv-day-details p { font-size:16px; color:var(--slate); }
.fv-companion { background:white; }
.fv-companion h3 { font-size:34px; line-height:1.3; margin:35px 0 26px; }
.fv-companion p { font-size:17px; color:var(--slate); }
.fv-companion p+p { margin-top:24px; }
.fv-next { display:grid; grid-template-columns:1fr 1.5fr 1.5fr; gap:5px; align-items:stretch; }
.fv-next-intro { padding:25px 30px 25px 0; }
.fv-next-intro h2 { font-size:clamp(30px,3vw,46px); line-height:1.3; margin-top:38px; }
.fv-next-intro>.pill { margin-top:30px; }
.fv-next>a { padding:34px; background:#e1ebf4; border-radius:24px; }
.fv-next>a:last-child { background:#173f63; color:white; }
.fv-next>a>span { font-size:14px; }
.fv-next h3 { font-size:30px; line-height:1.3; margin:38px 0 26px; }
.fv-next>a>div { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.fv-next p { font-size:16px; }
.fv-next svg,.fv-opening-link svg { flex-shrink:0; }
.fv-next a:hover h3,.fv-opening-link:hover h2 { text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
@media(max-width:1100px) {
 .fv-opening { grid-template-columns:1.2fr 1fr; }
 .fv-opening-image { min-height:600px; }
 .fv-opening-link { display:block; }
 .fv-opening-link h2 { margin:22px 0; }
 .fv-opening-link>div { justify-content:space-between; }
 .fv-desktop-break { display:none; }
 .fv-step-grid { grid-template-columns:1fr 1fr; }
 .fv-step-grid h3 { font-size:28px; }
 .fv-section-heading { grid-template-columns:1fr 2fr; }
 .fv-section-heading>p:not(.section-label) { grid-column:2; }
 .fv-prepare-panel { grid-template-columns:1fr 1.5fr; }
 .fv-prepare-grid article { padding:28px; }
 .fv-prepare-grid h3 { font-size:24px; }
 .fv-check-grid { grid-template-columns:1.2fr 1fr; }
 .fv-day-details { grid-template-columns:1fr; }
 .fv-next { grid-template-columns:1fr 1fr; }
 .fv-next-intro { grid-column:1/-1; padding:0 0 28px; }
 .fv-next-intro h2 br { display:none; }
}
@media(max-width:700px) {
 .fv-opening { display:flex; flex-direction:column; }
 .fv-opening-copy { padding:30px 26px 34px; }
 .fv-opening-copy h1 { font-size:clamp(32px,9.5vw,44px); margin:30px 0 26px; }
 .fv-mobile-break { display:block; }
 .fv-opening-copy>p:not(.section-label) { font-size:16px; }
 .fv-opening-image { min-height:310px; }
 .fv-opening-image>span { padding:26px; font-size:58px; }
 .fv-opening-image>p { left:26px; bottom:26px; }
 .fv-opening-link { padding:26px; }
 .fv-section-heading,.fv-check-heading { display:block; margin-bottom:28px; }
 .fv-section-heading h2,.fv-check-heading h2 { font-size:32px; margin:28px 0 24px; }
 .fv-step-grid,.fv-prepare-panel,.fv-prepare-grid,.fv-check-grid,.fv-next { grid-template-columns:1fr; }
 .fv-step-grid>li { padding:28px; }
 .fv-step-grid h3 { font-size:27px; margin-top:30px; }
 .fv-prepare-intro,.fv-prepare-grid article,.fv-day-plan,.fv-companion,.fv-next>a { padding:30px 26px; }
 .fv-prepare-intro h2 { font-size:30px; margin-top:30px; }
 .fv-no-records { padding-top:38px; }
 .fv-prepare-grid h3 { font-size:26px; margin-top:28px; }
 .fv-prepare-grid p,.fv-day-plan>p,.fv-companion p { font-size:16px; }
 .fv-day-plan h3 { font-size:29px; }
 .fv-companion h3 { font-size:30px; }
 .fv-day-details { margin-top:32px; }
 .fv-next-intro h2 { font-size:32px; margin-top:28px; }
 .fv-next h3 { font-size:28px; margin-top:30px; }
}
