/* Shared service comparison. All plans remain readable without JavaScript. */
.service-plans :is(.plans-intro,.plan-card-heading p,.plan-fact dt,.plan-fact dd,.plan-occasion p,.plans-note,.plans-contact p){font-weight:500}
.service-plans{padding:clamp(64px,7vw,104px) 0;background:var(--blue-mist);color:var(--blue-deep)}
.service-plans-heading{text-align:center;margin-bottom:44px}
.service-plans-heading .service-kicker{margin-bottom:20px}
.service-plans .service-plans-heading .display-h2{margin:0;font-size:var(--heading-size);font-weight:400;line-height:1.35;letter-spacing:.02em;color:var(--blue-deep);background:none;-webkit-text-fill-color:currentColor}
.plan-title-stack{position:relative;display:inline-block;max-width:100%;vertical-align:top}
.plan-title-gradient{display:none}
.service-plans .plans-intro{margin:20px 0 0;color:var(--muted);font-size:16px;line-height:1.8}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.plan-card{min-width:0;background:#fff;border:0;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(25,50,77,.08)}
.plan-card-heading{display:flex;flex-direction:column;justify-content:center;margin:16px 16px 0;border-radius:16px;padding:16px 20px;background:#e9f0f8;min-height:156px;box-shadow:0 7px 12px rgba(15,28,43,.24),0 2px 4px rgba(15,28,43,.14)}
.plan-card-name{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px;text-align:center}
.service-plans .plan-card h3{font-size:32px;font-weight:500;line-height:1.25;letter-spacing:.08em;margin:0;color:var(--blue-deep)}
.service-plans .plan-card-heading p{font-size:16px;line-height:1.8;margin:0;color:#465b73}
.plan-recommendation{font-size:12px;font-weight:500;letter-spacing:.06em;border:1px solid rgba(255,255,255,.55);padding:5px 10px;border-radius:99px;white-space:nowrap;color:#fff}
.plan-card--recommended{box-shadow:0 12px 32px rgba(25,50,77,.16)}
.plan-card--recommended .plan-card-heading{background:var(--blue)}
.service-plans .plan-card--recommended h3,.service-plans .plan-card--recommended .plan-card-heading p{color:#fff}
.plan-card-body{padding:30px 28px;flex:1;display:flex;flex-direction:column}
.plan-card dl{margin:0;display:grid;gap:26px}
.plan-fact{display:grid;grid-template-columns:25px minmax(0,1fr);gap:14px;align-items:start}
.plan-icon{width:24px;height:24px;color:var(--blue);margin-top:2px}
.plan-fact dt{font-size:13px;letter-spacing:.08em;color:#61758c;margin-bottom:6px}
.plan-fact dd{margin:0;font-size:16px;line-height:1.85;color:var(--blue-deep)}
.plan-occasion{border-top:1px solid #e2eaf3;margin-top:28px;padding-top:22px}
.service-plans .plan-occasion h4{font-size:13px;font-weight:400;letter-spacing:.08em;margin:0 0 8px;color:#61758c}
.service-plans .plan-occasion p{font-size:15px;line-height:1.85;margin:0;color:#465b73}
.service-plans .plans-note{max-width:860px;margin:28px auto 0;font-size:14px;line-height:1.9;color:#61758c;text-align:center}
.plans-contact{text-align:center;margin-top:38px}
.service-plans .plans-contact p{margin:0 0 24px;font-size:16px;line-height:1.9;color:#465b73}
.plan-tabs[hidden],.plan-card[hidden]{display:none!important}
.plan-tabs{display:none}
.service-plans :is(button,a):focus-visible{outline:3px solid var(--blue-deep);outline-offset:4px}
@media(max-width:980px) and (min-width:768px){.plan-grid{gap:14px}.plan-card-body{padding:24px 18px}.plan-card-heading{padding:16px 14px;min-height:190px}.plan-card-name{gap:6px}.plan-recommendation{font-size:11px;padding:4px 7px}}
@media(max-width:767px){
.service-plans{padding:64px 0 32px}
.service-plans-heading{margin-bottom:28px}
.service-plans .service-plans-heading .display-h2{font-size:var(--heading-mobile-size);text-wrap:balance}
.service-plans .plans-intro{font-size:15px;margin-top:16px}
.plan-grid{grid-template-columns:1fr;gap:20px;width:calc(100% - 16px);max-width:420px;margin-inline:auto}
.plan-tabs{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:fit-content;max-width:100%;border-radius:99px;background:#e3eaf2;padding:5px;margin:0 auto 22px}
.plan-tabs::before{content:"";position:absolute;z-index:-1;top:5px;bottom:5px;left:5px;width:calc((100% - 10px)/3);border-radius:99px;background:var(--blue);transform:translate3d(calc(var(--plan-selected,1)*100%),0,0);transition:transform .38s cubic-bezier(.4,0,.2,1),background-color .38s ease}
.plan-tabs--deep::before{background:#173653}
.plan-tabs button{border:0;background:transparent;box-shadow:none;color:#465b73;border-radius:99px;padding:10px 25px;min-height:44px;font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:color .2s}
.plan-tabs button[aria-selected="true"]{background:transparent;color:#fff}
.plan-card{border-radius:22px}
.plan-card[role="tabpanel"]{grid-area:1 / 1}
.plan-card[role="tabpanel"][hidden]{display:flex!important;visibility:hidden;pointer-events:none}
.plan-card-heading{box-sizing:border-box;height:174px;min-height:174px;flex-shrink:0;margin:12px 12px 0;border-radius:14px;padding:14px 20px}
.plan-card-body{padding:28px 26px}
.service-plans .plan-card h3{font-size:30px}
.service-plans .plans-note{text-align:left;margin-top:22px;width:calc(100% - 16px);max-width:420px}
.plans-contact{margin-top:30px}
.service-plans .plans-contact p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.plan-tabs button,.plan-tabs::before{transition:none}}
@media(min-width:768px){.plan-fact:nth-child(2) dd{min-height:3.7em}}

/* Deep blue distinguishes the magic upgrade. */
.plan-card--upgrade .plan-card-heading{background:#173653}
.service-plans .plan-card--upgrade h3,.service-plans .plan-card--upgrade .plan-card-heading p{color:#fff}
@media(max-width:360px){.plan-card-heading{height:210px;min-height:210px}}

/* Color groups are independent of the standard plan's emphasis border. */
.plan-card--brand .plan-card-heading{background:var(--blue)}
.service-plans .plan-card--brand h3,.service-plans .plan-card--brand .plan-card-heading p{color:#fff}
@media(max-width:767px){
.plan-tabs--light::before{background:#fff}
.plan-tabs--light button[aria-selected="true"]{color:var(--blue-deep)}
}

/* Share row heights across the three cards, including wrapped copy. */
@media(min-width:768px){
 .plan-grid{row-gap:0;max-width:1080px;margin-inline:auto}
 .plan-card{display:grid;grid-row:span 3;grid-template-rows:subgrid}
 .plan-card-body{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
 .plan-card dl{align-content:start}
 .plan-occasion{margin-top:28px}
}

/* The real title stays opaque when gradient text cannot be painted. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .plan-title-gradient{position:absolute;inset:0;display:block;pointer-events:none;background-image:var(--brand-heading-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
@media(forced-colors:active){
 .service-plans .service-plans-heading .display-h2{color:CanvasText;-webkit-text-fill-color:currentColor}
 .plan-title-gradient{display:none}
}
