/* Register to Visit — "the invitation". Charcoal hero, warm cream facts band, white form card.
   Scoped under .fc-visit by the build. Colors: brand red #ed0029, ink #16171c, muted #596271,
   cream #fff8e7, charcoal #171311. 8px spacing scale. Arial to match the rest of the site. */
.fc-visit{--red:#ed0029;--red-dark:#c50023;--ink:#16171c;--muted:#596271;--cream:#fff8e7;--charcoal:#171311;--line:#e3e6ea;--max:1140px}
.fc-visit *{box-sizing:border-box}
.fc-visit{margin:0;background:#fff;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
.fc-visit h1,.fc-visit h2,.fc-visit h3,.fc-visit p,.fc-visit ul,.fc-visit ol,.fc-visit figure{margin:0}
.fc-visit a{color:inherit}
.fc-visit a:focus-visible,.fc-visit button:focus-visible,.fc-visit input:focus-visible,.fc-visit textarea:focus-visible,.fc-visit summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.fc-visit .v-wrap{max-width:var(--max);margin-inline:auto;padding-inline:24px}
.fc-visit .v-eyebrow{color:var(--red);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.fc-visit .v-center{text-align:center}
.fc-visit .v-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:14px 26px;border:1px solid var(--red);border-radius:3px;background:var(--red);color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.fc-visit .v-btn span{font-size:22px;line-height:.5;font-weight:400}
.fc-visit .v-btn:hover{background:var(--red-dark);border-color:var(--red-dark)}
.fc-visit .v-btn:active{transform:translateY(1px)}
.fc-visit .v-btn-ghost{background:transparent;border-color:#fff;color:#fff}
.fc-visit .v-btn-ghost:hover{background:#ffffff1f;border-color:#fff}
.fc-visit .v-btn-block{width:100%;margin-top:6px}
.fc-visit .v-btn[disabled]{opacity:.65;cursor:wait}

/* hero */
.fc-visit .v-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--charcoal);color:#fff;min-height:520px;display:flex;align-items:center}
.fc-visit .v-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 40%;z-index:-2}
.fc-visit .v-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#171311 0%,#171311f0 30%,#171311b3 48%,#1713114d 66%,#17131126 100%)}
.fc-visit .v-hero-inner{padding-block:72px 64px;max-width:calc(var(--max) + 48px)}
.fc-visit .v-hero .v-eyebrow{color:#ff2749}
.fc-visit .v-hero h1{font-size:clamp(44px,6vw,76px);line-height:1;letter-spacing:-.035em;font-weight:700;margin-bottom:20px}
.fc-visit .v-lede{max-width:600px;font-size:19px;line-height:1.5;color:#f2eeeb;margin-bottom:30px}
.fc-visit .v-actions{display:flex;gap:12px;flex-wrap:wrap}

/* facts */
.fc-visit .v-facts{background:var(--cream);border-bottom:1px solid #f0e6cf}
.fc-visit .v-facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-block:38px}
.fc-visit .v-fact{padding:4px 32px 4px 0;display:grid;grid-template-columns:40px 1fr;column-gap:14px;row-gap:4px}
.fc-visit .v-fact+.v-fact{padding-left:32px;border-left:1px solid #ead9b3}
.fc-visit .v-icon{width:40px;height:40px;fill:none;stroke:var(--red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;grid-row:span 3}
.fc-visit .v-fact h3{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--red-dark);font-weight:700}
.fc-visit .v-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fc-visit .v-fact p{font-size:16px;line-height:1.45}
.fc-visit .v-fact small{display:block;font-size:14px;line-height:1.45;color:var(--muted)}
.fc-visit .v-fact small a{color:var(--red-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.fc-visit .v-fact small a:hover{text-decoration:underline}

/* register */
.fc-visit .v-register{padding-block:72px 80px}
.fc-visit .v-register-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start}
.fc-visit .v-register-copy h2{font-size:clamp(32px,3.6vw,46px);line-height:1.08;letter-spacing:-.03em;margin-bottom:16px}
.fc-visit .v-register-copy>p{font-size:17px;line-height:1.55;color:#2d333c;max-width:52ch}
.fc-visit .v-promises{list-style:none;padding:0;margin:26px 0 30px;display:grid;gap:12px}
.fc-visit .v-promises li{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.4}
.fc-visit .v-check{flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--red);padding:4px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.fc-visit .v-figure img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px}
.fc-visit .v-figure figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.fc-visit .v-card{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 18px 50px -24px #0006;padding:34px 34px 28px;position:sticky;top:24px}
.fc-visit .v-card h3{font-size:24px;letter-spacing:-.02em;margin-bottom:6px}
.fc-visit .v-form-intro{font-size:14px;color:var(--muted);margin-bottom:22px}
.fc-visit .v-card form{display:grid;gap:16px}
.fc-visit .v-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fc-visit .v-card label{display:block;font-size:14px;font-weight:700;line-height:1.3}
.fc-visit .v-card label span{color:var(--red)}
.fc-visit .v-card label em{font-style:normal;font-weight:400;color:var(--muted)}
.fc-visit .v-card input,.fc-visit .v-card textarea{display:block;width:100%;margin-top:6px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #bbc3ce;border-radius:3px;padding:12px 12px;min-height:46px}
.fc-visit .v-card textarea{resize:vertical}
.fc-visit .v-card input:focus,.fc-visit .v-card textarea:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
.fc-visit .v-card input::placeholder,.fc-visit .v-card textarea::placeholder{color:#8a93a1}
.fc-visit .v-card small{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:6px;line-height:1.4}
.fc-visit .v-card small.v-warn{color:var(--red)}
.fc-visit .v-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fc-visit .v-status{font-size:14px;line-height:1.45;min-height:1em}
.fc-visit .v-status.error{color:var(--red);font-weight:700}
.fc-visit .v-status:empty{display:none}
.fc-visit .v-fine{font-size:14px;color:var(--muted);text-align:center}
.fc-visit .v-fine a{color:var(--muted)}
.fc-visit .v-success{text-align:center;padding:24px 8px 12px}
.fc-visit .v-success-icon{width:72px;height:72px;margin:0 auto 18px;fill:none;stroke:var(--red);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;display:block}
.fc-visit .v-success h3{font-size:28px;margin-bottom:10px}
.fc-visit .v-success p{font-size:16px;line-height:1.55;color:#2d333c}
.fc-visit .v-success-next{margin-top:18px;font-size:15px}
.fc-visit .v-success-next a{color:var(--red);font-weight:700}

/* expect */
.fc-visit .v-expect{background:var(--charcoal);color:#fff;padding-block:72px 80px}
.fc-visit .v-expect .v-eyebrow{color:#ff2749}
.fc-visit .v-expect h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-.03em;line-height:1.1;margin-bottom:48px}
.fc-visit .v-timeline{list-style:none;padding:0;margin:0 auto;max-width:860px;display:grid;gap:0;position:relative}
.fc-visit .v-timeline:before{content:'';position:absolute;left:97px;top:10px;bottom:10px;border-left:1px solid #ffffff33}
.fc-visit .v-timeline li{display:grid;grid-template-columns:72px 50px 1fr;grid-template-areas:'time dot title' 'time dot body';align-items:start;padding:18px 0}
.fc-visit .v-timeline time{grid-area:time;font-size:22px;font-weight:700;letter-spacing:-.02em;color:#ff2749;line-height:1.1;padding-top:2px}
.fc-visit .v-timeline li:before{grid-area:dot;content:'';width:14px;height:14px;border-radius:50%;background:var(--red);border:3px solid var(--charcoal);box-shadow:0 0 0 1px #ffffff55;margin:7px 0 0 18px}
.fc-visit .v-timeline h3{grid-area:title;font-size:20px;letter-spacing:-.01em;margin-bottom:6px}
.fc-visit .v-timeline p{grid-area:body;font-size:16px;line-height:1.5;color:#d9d4d0;max-width:60ch}

/* faq */
.fc-visit .v-faq{padding-block:72px 84px;background:#fff}
.fc-visit .v-faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;align-items:start}
.fc-visit .v-faq h2{font-size:clamp(28px,3.2vw,40px);letter-spacing:-.03em;line-height:1.1;margin-bottom:14px}
.fc-visit .v-faq-lede{font-size:16px;color:#2d333c;line-height:1.5}
.fc-visit .v-faq-lede a{color:var(--red);font-weight:700}
.fc-visit .v-faq-list{display:grid;gap:10px}
.fc-visit .v-faq details{border:1px solid var(--line);border-radius:4px;background:#fff}
.fc-visit .v-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font-weight:700;font-size:16px;cursor:pointer}
.fc-visit .v-faq summary::-webkit-details-marker{display:none}
.fc-visit .v-faq summary:after{content:'+';color:var(--red);font-size:24px;line-height:1;font-weight:400}
.fc-visit .v-faq details[open] summary:after{content:'−'}
.fc-visit .v-faq summary:hover{background:#fafafa}
.fc-visit .v-faq details p{padding:0 18px 18px;font-size:15px;line-height:1.55;color:#2d333c}
.fc-visit .v-faq details p a{color:var(--red);font-weight:700}

@media(max-width:960px){
.fc-visit .v-facts-grid{grid-template-columns:1fr;gap:22px;padding-block:30px}
.fc-visit .v-fact,.fc-visit .v-fact+.v-fact{padding:0;border:0}
.fc-visit .v-register-grid{grid-template-columns:1fr;gap:36px}
.fc-visit .v-card{position:static;padding:26px 22px 22px}
.fc-visit .v-faq-grid{grid-template-columns:1fr;gap:26px}
}
@media(max-width:600px){
.fc-visit .v-wrap{padding-inline:18px}
.fc-visit .v-hero{min-height:0}
.fc-visit .v-hero-inner{padding-block:52px 48px}
.fc-visit .v-hero:after{background:linear-gradient(180deg,#171311f2 0%,#171311d9 60%,#171311a6 100%)}
.fc-visit .v-hero-photo{object-position:60% 30%}
.fc-visit .v-lede{font-size:17px}
.fc-visit .v-btn{width:100%}
.fc-visit .v-row{grid-template-columns:1fr}
.fc-visit .v-register,.fc-visit .v-expect,.fc-visit .v-faq{padding-block:52px 56px}
.fc-visit .v-expect h2{margin-bottom:28px}
.fc-visit .v-timeline:before{left:7px}
.fc-visit .v-timeline li{grid-template-columns:30px 1fr;grid-template-areas:'dot time' 'dot title' 'dot body';padding:14px 0}
.fc-visit .v-timeline li:before{margin:6px 0 0 0}
.fc-visit .v-timeline time{font-size:15px;padding-top:0;margin-bottom:4px}
}
@media(prefers-reduced-motion:reduce){.fc-visit .v-btn{transition:none}}
