@font-face{font-family:"ITP Font Awesome Solid";src:url("assets/fonts/fa-solid-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
.appointment-page{overflow:hidden}
.appointment-provider .wrap,.appointment-insurance .wrap,.appointment-testimonials .wrap{width:min(1420px,calc(100% - 48px));max-width:none}
.appointment-hero{position:relative;isolation:isolate;min-height:350px;display:grid;place-items:center;overflow:hidden;background:#c83472}
.appointment-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(179,31,91,.81),rgba(202,55,117,.84)),url('assets/provider-pattern.png') center/cover;z-index:-2}
.appointment-hero-script{position:absolute;inset:auto 0 25%;text-align:center;color:rgba(105,18,62,.34);font-family:cursive;font-size:clamp(7rem,17vw,18rem);font-weight:700;line-height:.6;transform:rotate(-4deg);white-space:nowrap;z-index:-1}
.appointment-hero-content{text-align:center;color:#fff;text-shadow:0 3px 6px rgba(50,0,27,.35);padding:54px 20px}
.appointment-hero h1{margin:0 0 15px;color:#fff;font-size:clamp(2.35rem,3.6vw,3.45rem);line-height:1;font-weight:800}
.appointment-hero p{margin:0;font-size:.95rem;font-weight:700}.appointment-hero p a{color:#fff;text-decoration:none}.appointment-hero p span{padding:0 .35rem}
.appointment-provider{padding:64px 0 0;background:#fff url('assets/provider-pattern.png') center/cover}
.appointment-provider-grid{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(350px,1fr) minmax(320px,.92fr);align-items:center;gap:48px}
.appointment-provider-photo{align-self:end;text-align:center;min-height:480px;display:flex;align-items:end;justify-content:center}
.appointment-provider-photo img{display:block;max-width:100%;max-height:545px;object-fit:contain;object-position:bottom}
.appointment-provider-copy h2{font-size:clamp(2rem,2.6vw,2.8rem);line-height:1.08;margin:0 0 18px;color:#102b43}
.appointment-provider-copy p{font-size:.97rem;line-height:1.72;color:#58708b;margin:0}
.appointment-provider-copy .appointment-signature{margin-top:22px;color:#cf3575;font:2.08rem/1.1 cursive}
.appointment-actions{display:grid;gap:18px}
.appointment-actions a{display:flex;align-items:center;gap:20px;min-height:76px;border-radius:18px;background:#c73572;color:#fff;padding:16px 25px;text-decoration:none;font-size:1.16rem;font-weight:800;box-shadow:0 12px 21px rgba(178,34,97,.16);transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.appointment-actions a:hover,.appointment-actions a:focus-visible{transform:translateY(-4px);background:#aa215d;box-shadow:0 17px 27px rgba(178,34,97,.3)}
.appointment-actions i{font-family:"ITP Font Awesome Solid"!important;font-weight:900;font-style:normal;font-size:1.7rem;width:30px;text-align:center}.appointment-actions .fa-calendar-check:before{content:"\f274"}.appointment-actions .fa-user:before{content:"\f007"}.appointment-actions .fa-calendar-alt:before{content:"\f073"}.appointment-actions .fa-dollar-sign:before{content:"\f155"}
.appointment-insurance{background:#fdf6f9;padding:76px 0}.appointment-heading{position:relative;text-align:center;margin:0 auto 42px}.appointment-heading img{position:absolute;width:102px;height:102px;object-fit:contain;opacity:.11;left:50%;top:-50px;transform:translateX(-50%)}.appointment-heading p{position:relative;margin:0 0 12px;color:#637b95;font-size:.94rem;font-weight:700}.appointment-heading h2{position:relative;margin:0;color:#102b43;font-size:clamp(2.2rem,3.4vw,3.4rem);line-height:1.1}.appointment-heading>span{display:block;width:132px;height:4px;margin:20px auto 0;background:linear-gradient(90deg,#df2c70 0 28%,transparent 28% 36%,#df2c70 36% 92%,transparent 92%)}
.appointment-logo-row{display:flex;gap:30px;align-items:center;justify-content:space-between}.appointment-logo-row img{width:17%;max-width:205px;min-height:50px;max-height:82px;object-fit:contain;filter:saturate(.95);transition:transform .25s ease}.appointment-logo-row img:hover{transform:translateY(-5px) scale(1.035)}
.appointment-center{text-align:center;margin:42px 0 0}.appointment-view-more{display:inline-flex;align-items:center;gap:15px;border-radius:999px;padding:9px 23px 9px 9px;background:#c73572;color:#fff;text-decoration:none;text-transform:uppercase;font-size:.84rem;font-weight:800;letter-spacing:.04em;transition:transform .25s,background .25s}.appointment-view-more:hover{background:#a82059;transform:translateY(-3px)}.appointment-view-more b{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#fff;color:#263b50;font-size:1.2rem}
.appointment-testimonials{padding:82px 0 92px;background:#fff}.appointment-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}.appointment-review-grid article>div{display:flex;justify-content:space-between;align-items:start;margin-bottom:25px}.appointment-review-grid b{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#c73572;color:#fff;font:3.65rem/1 Georgia,serif}.appointment-review-grid span{color:#f7a500;font-size:1.1rem;letter-spacing:2px}.appointment-review-grid h3{font-size:1.25rem;line-height:1.3;color:#18334b;margin:0 0 17px}.appointment-review-grid p{font-size:.95rem;color:#607993;line-height:1.7;margin:0 0 36px}.appointment-review-grid strong{color:#18334b;font-size:1rem}
@media(max-width:1100px){.appointment-provider-grid{grid-template-columns:minmax(230px,.8fr) minmax(300px,1fr);gap:36px}.appointment-provider-photo{min-height:380px}.appointment-actions{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.appointment-provider .wrap,.appointment-insurance .wrap,.appointment-testimonials .wrap{width:min(100% - 36px,600px)}.appointment-hero{min-height:260px}.appointment-provider{padding:48px 0 0}.appointment-provider-grid,.appointment-review-grid{grid-template-columns:1fr}.appointment-provider-photo{min-height:310px}.appointment-provider-photo img{max-height:400px}.appointment-provider-copy{text-align:center}.appointment-actions{grid-template-columns:1fr;gap:13px}.appointment-actions a{min-height:66px;padding:14px 19px;font-size:1.05rem}.appointment-logo-row{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.appointment-logo-row img{width:100%;max-width:none}.appointment-logo-row img:last-child{grid-column:1/-1;justify-self:center;width:48%}.appointment-testimonials,.appointment-insurance{padding:60px 0}.appointment-heading img{width:102px;height:102px;top:-44px}.appointment-review-grid{gap:45px}}
