.appointment-page { --apt-night:#061827; --apt-cyan:#009ee0; --apt-paper:#eef2f3; --apt-line:#b8c8d0; min-width:0; overflow:clip; color:var(--apt-night); background:var(--apt-paper); }
.appointment-hero { min-height:460px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.7fr); gap:clamp(48px,8vw,150px); align-items:end; padding:clamp(70px,9vw,140px) clamp(28px,6vw,110px) 72px; border-bottom:1px solid var(--apt-night); background:linear-gradient(120deg,#f7f9f9 0 64%,#e5edf1 64%); }
.appointment-kicker,.appointment-section-head>p { margin:0 0 14px; color:#007eb3; font:800 .72rem/1.2 Manrope,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.appointment-hero h1 { max-width:9ch; margin:0; font:700 clamp(3.8rem,7.5vw,7rem)/.88 Manrope,Arial,sans-serif; letter-spacing:-.05em; text-wrap:balance; }
.appointment-hero h1 em { color:var(--apt-cyan); font-style:normal; font-weight:800; }
.appointment-hero-copy { padding-bottom:8px; }
.appointment-hero-copy>p:first-child { max-width:650px; margin:0; font:600 clamp(1.18rem,2vw,1.65rem)/1.45 Manrope,sans-serif; }
.appointment-priority { display:flex; gap:14px; align-items:flex-start; margin:34px 0 0; padding-top:22px; border-top:1px solid var(--apt-line); color:#49616f; font:600 .9rem/1.5 Manrope,sans-serif; }
.appointment-priority img { width:15px; height:21px; object-fit:contain; flex:0 0 auto; }
.appointment-layout { display:grid; grid-template-columns:minmax(260px,.36fr) minmax(0,1fr); }
.appointment-process { padding:clamp(40px,6vw,86px) clamp(28px,4.5vw,72px); border-right:1px solid var(--apt-night); background:var(--apt-night); color:#fff; }
.appointment-process h2 { margin:0 0 42px; font:700 1.15rem/1.2 Manrope,sans-serif; }
.appointment-process ol { margin:0; padding:0; list-style:none; }
.appointment-process li { display:grid; grid-template-columns:38px 1fr; gap:16px; padding:22px 0; border-top:1px solid rgba(255,255,255,.2); }
.appointment-process li>span { color:var(--apt-cyan); font:800 .7rem Manrope,sans-serif; }
.appointment-process p { margin:0; color:#b8ccd7; font:500 .88rem/1.6 Manrope,sans-serif; }
.appointment-process strong { color:#fff; font-weight:750; }
.appointment-request { min-width:0; padding:clamp(40px,6vw,86px) clamp(28px,6vw,110px) 100px; }
.appointment-section-head { display:flex; justify-content:space-between; gap:24px; align-items:baseline; padding-bottom:26px; border-bottom:2px solid var(--apt-night); }
.appointment-section-head h2 { max-width:18ch; margin:0; font:750 clamp(2rem,3.3vw,3.25rem)/1 Manrope,Arial,sans-serif; letter-spacing:-.035em; text-wrap:balance; }
.appointment-empty { margin-top:34px; padding:24px 26px; border-left:4px solid var(--apt-cyan); background:#fff; }
.appointment-empty p { margin:0; color:#526a78; font:550 .88rem/1.6 Manrope,sans-serif; }
.appointment-empty p:first-child { color:var(--apt-night); font-weight:800; }
.appointment-empty p+p { margin-top:5px; }
.appointment-request form { display:grid; grid-template-columns:1fr 1fr; gap:26px 22px; margin-top:34px; }
.appointment-field { min-width:0; }
.appointment-field-wide { grid-column:1/-1; }
.appointment-field label { display:block; margin-bottom:9px; font:760 .78rem/1.3 Manrope,sans-serif; }
.appointment-field input,.appointment-field select,.appointment-field textarea { box-sizing:border-box; width:100%; max-width:100%; min-height:54px; padding:13px 14px; border:1px solid var(--apt-line); border-radius:0; background:#fff; color:var(--apt-night); font:550 1rem/1.45 Manrope,sans-serif; }
.appointment-field select { padding-right:42px; text-overflow:ellipsis; }
.appointment-field textarea { min-height:150px; resize:vertical; }
.appointment-field input:focus,.appointment-field select:focus,.appointment-field textarea:focus { border-color:var(--apt-cyan); outline:3px solid rgba(0,158,224,.18); outline-offset:1px; }
.appointment-field-note { margin:8px 0 0; color:#617783; font:500 .74rem/1.45 Manrope,sans-serif; }
.appointment-consent { display:grid; grid-template-columns:22px 1fr; gap:12px; align-items:start; padding:20px 0; border-top:1px solid var(--apt-line); }
.appointment-consent input { width:24px; height:24px; margin:0; accent-color:var(--apt-cyan); }
.appointment-consent label { color:#425967; font:550 .78rem/1.55 Manrope,sans-serif; }
.appointment-consent a { color:#006e9e; text-underline-offset:3px; }
.appointment-submit { display:flex; gap:24px; align-items:center; }
.appointment-submit button { min-height:56px; padding:0 22px; border:1px solid var(--apt-night); border-radius:0; background:var(--apt-night); color:#fff; font:800 .8rem Manrope,sans-serif; cursor:pointer; touch-action:manipulation; transition:transform .2s cubic-bezier(.22,1,.36,1),background .2s,color .2s; }
.appointment-submit button:hover { transform:translateY(-2px); background:var(--apt-cyan); color:var(--apt-night); }
.appointment-submit button:disabled { opacity:.6; cursor:wait; }
.appointment-submit p { max-width:430px; margin:0; color:#617783; font:500 .7rem/1.5 Manrope,sans-serif; }
.appointment-status { scroll-margin-top:120px; margin-top:24px; padding:16px 18px; border:1px solid currentColor; font:700 .8rem/1.5 Manrope,sans-serif; }
.appointment-status:focus:not(:focus-visible) { outline:none; }
.appointment-status.is-success { color:#17673e; background:#e4f6eb; }
.appointment-status.is-error { color:#8c2431; background:#fff0f1; }
.appointment-status.is-info { color:#075d82; background:#e4f6fd; }
.appointment-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@media(max-width:900px){.appointment-hero{grid-template-columns:1fr;min-height:0;gap:34px;background:#f5f7f8}.appointment-layout{grid-template-columns:1fr}.appointment-request{order:1}.appointment-process{order:2;border-top:1px solid #244154;border-right:0}.appointment-process ol{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.appointment-process li{display:block}.appointment-process li>span{display:block;margin-bottom:10px}.appointment-request form{grid-template-columns:1fr}.appointment-field{grid-column:1/-1}.appointment-section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){
    .is-appointments .editorial-main-nav{justify-content:flex-start;gap:18px;overflow:visible}
    .is-appointments .editorial-main-nav a{display:none;padding-inline:0}
    .is-appointments .editorial-main-nav a:first-child,.is-appointments .editorial-main-nav a:nth-child(4){display:inline-flex}
    .appointment-hero{gap:26px;padding:44px max(18px,env(safe-area-inset-left)) 36px max(18px,env(safe-area-inset-right))}
    .appointment-kicker{margin-bottom:10px;font-size:.67rem}
    .appointment-hero h1{font-size:clamp(3rem,14.5vw,3.8rem);line-height:.9;letter-spacing:-.045em}
    .appointment-hero-copy>p:first-child{font-size:1rem;line-height:1.55}
    .appointment-priority{gap:11px;margin-top:22px;padding-top:18px;font-size:.79rem;line-height:1.5}
    .appointment-request{padding:34px max(18px,env(safe-area-inset-left)) 52px max(18px,env(safe-area-inset-right))}
    .appointment-section-head{gap:4px;padding-bottom:18px}
    .appointment-section-head>p{margin-bottom:8px;font-size:.65rem}
    .appointment-section-head h2{font-size:clamp(2rem,10vw,2.7rem);line-height:1}
    .appointment-empty{margin-top:24px;padding:20px 18px}
    .appointment-empty p{font-size:.79rem}
    .appointment-request form{gap:22px;margin-top:26px}
    .appointment-field label{margin-bottom:8px;font-size:.8rem}
    .appointment-field input,.appointment-field select,.appointment-field textarea{min-height:56px;padding:14px 13px;font-size:16px}
    .appointment-field textarea{min-height:138px}
    .appointment-field-note{font-size:.72rem;line-height:1.5}
    .appointment-consent{grid-template-columns:26px 1fr;gap:11px;padding:18px 0}
    .appointment-consent label{font-size:.76rem;line-height:1.55}
    .appointment-submit{align-items:stretch;flex-direction:column;gap:14px}
    .appointment-submit button{width:100%;min-height:58px;padding-inline:18px;font-size:.82rem}
    .appointment-submit p{font-size:.69rem}
    .appointment-status{scroll-margin-top:112px;margin-top:18px;padding:14px;font-size:.78rem}
    .appointment-process{padding:38px max(18px,env(safe-area-inset-left)) calc(46px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right))}
    .appointment-process h2{margin-bottom:20px;font-size:1rem}
    .appointment-process ol{grid-template-columns:1fr;gap:0}
    .appointment-process li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:17px 0}
    .appointment-process li>span{margin:3px 0 0}
    .appointment-process p{font-size:.79rem;line-height:1.55}
}
@media(max-width:360px){.is-appointments .editorial-brand::before{display:none}.appointment-hero,.appointment-request,.appointment-process{padding-left:16px;padding-right:16px}.appointment-hero h1{font-size:3.18rem}.appointment-section-head h2{font-size:1.9rem}}
@media(hover:none){.appointment-submit button:hover{transform:none;background:var(--apt-night);color:#fff}}
@media(prefers-reduced-motion:reduce){.appointment-submit button{transition:none}.appointment-submit button:hover{transform:none}}
