/* Orista Treatment Category: shares the Single Treatment palette and hero geometry. */
.orista-tcat{--c-primary:#073e50;--c-accent:#c2456e;--c-muted:#526170;--c-soft:#f7fbfc;--c-border:#dce8eb;position:relative;left:50%;width:100vw;max-width:100vw;margin-left:-50vw;background:#fff;color:var(--c-primary)}
.orista-tcat *{box-sizing:border-box;min-width:0}
.orista-tcat a{text-decoration:none}

/* Hero */
.orista-tcat__hero{overflow:hidden;background:linear-gradient(135deg,#f8fbfc 0%,#eef7f8 100%)}
.orista-tcat__hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:stretch;min-height:540px;width:100%;max-width:1440px;margin:auto;padding:0 28px}
.orista-tcat__hero-copy{align-self:center;padding:72px 56px 72px 0}
.orista-tcat__eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 18px;color:var(--c-accent);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.orista-tcat__eyebrow:after{content:'';width:48px;height:1px;background:currentColor}
.orista-tcat__eyebrow--center{justify-content:center}
.orista-tcat__eyebrow--center:before{content:'';width:42px;height:1px;background:currentColor}
.orista-tcat__eyebrow--center:after{width:42px}
.orista-tcat__hero h1{max-width:700px;margin:0 0 22px;color:var(--c-primary);font-size:58px;font-weight:650;line-height:1.06;letter-spacing:-.05em}
.orista-tcat__summary{max-width:620px;margin:0 0 30px;color:var(--c-muted);font-size:17px;line-height:1.65}
.orista-tcat__actions{display:flex;flex-wrap:wrap;gap:12px}
.orista-tcat__button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:0 28px;border:1px solid var(--c-primary);border-radius:999px;font-size:14px;font-weight:700;line-height:1;transition:background .2s,border-color .2s,color .2s}
.orista-tcat__button--primary{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.orista-tcat__button--secondary{background:#fff;color:var(--c-primary)}
.orista-tcat__button:hover,.orista-tcat__button:focus-visible{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.orista-tcat__button:focus-visible,.orista-tcat__card:focus-visible{outline:3px solid rgba(206,78,121,.28);outline-offset:3px}
.orista-tcat__count{display:flex;align-items:center;gap:12px;margin:34px 0 0;padding-top:24px;border-top:1px solid var(--c-border);color:var(--c-muted);font-size:13px}
.orista-tcat__count strong{color:var(--c-primary);font-size:34px;font-weight:650;line-height:1;letter-spacing:-.04em}
.orista-tcat__hero-media{position:relative;min-height:540px;overflow:hidden;border-radius:0 0 0 120px;background:#dcecee}
.orista-tcat__hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,247,248,.45),transparent 25%);pointer-events:none}
.orista-tcat__hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.orista-tcat__hero-media>span{display:flex;align-items:center;justify-content:center;height:100%;color:rgba(7,62,80,.25);font-size:90px}

/* Treatment grid */
.orista-tcat__list{background:var(--c-soft);scroll-margin-top:110px}
.orista-tcat__list-inner{width:100%;max-width:1440px;margin:auto;padding:84px 28px 92px}
.orista-tcat__list-header{max-width:780px;margin:0 auto 42px;text-align:center}
.orista-tcat__list-header h2{margin:0 0 14px;color:var(--c-primary);font-size:44px;font-weight:650;line-height:1.1;letter-spacing:-.045em}
.orista-tcat__list-header>p:not(.orista-tcat__eyebrow){margin:0;color:var(--c-muted);font-size:16px;line-height:1.65}
.orista-tcat__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none}
.orista-tcat__grid>li{margin:0;padding:0}
.orista-tcat__card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:400px;overflow:hidden;border-radius:24px;background:var(--c-primary);color:#fff;isolation:isolate;box-shadow:0 14px 34px rgba(7,62,80,.08);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.orista-tcat__card-media{position:absolute;inset:0;z-index:-2}
.orista-tcat__card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.orista-tcat__card:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,62,80,0) 30%,rgba(7,62,80,.55) 62%,rgba(5,38,50,.92) 100%)}
.orista-tcat__card-media--empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a5468,#073e50);color:rgba(255,255,255,.12);font-size:160px;font-weight:700}
.orista-tcat__card-body{display:grid;gap:10px;padding:28px 28px 26px}
.orista-tcat__card h3{margin:0;color:#fff;font-size:24px;font-weight:650;line-height:1.18;letter-spacing:-.025em}
.orista-tcat__card-text{color:rgba(255,255,255,.82);font-size:14px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.orista-tcat__card-link{display:inline-flex;align-items:center;gap:10px;margin-top:6px;color:#fff;font-size:13px;font-weight:700}
.orista-tcat__card-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--c-accent);font-size:12px;transition:transform .3s}
.orista-tcat__button-icon{display:inline-flex;align-items:center;font-size:14px}
.orista-tcat__card-icon svg,.orista-tcat__button-icon svg{width:1em;height:1em;fill:currentColor}
.orista-tcat__card-icon i,.orista-tcat__button-icon i{line-height:1}
a.orista-tcat__card:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(7,62,80,.16)}
a.orista-tcat__card:hover .orista-tcat__card-media img{transform:scale(1.05)}
a.orista-tcat__card:hover .orista-tcat__card-icon{transform:translateX(3px)}
.orista-tcat__empty{max-width:560px;margin:0 auto;padding:36px;border:1px dashed var(--c-border);border-radius:20px;background:#fff;color:var(--c-muted);text-align:center}

/* Consultation band */
.orista-tcat__cta{background:#fff}
.orista-tcat__cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;width:calc(100% - 56px);max-width:1384px;margin:72px auto 88px;padding:52px 56px;border-radius:32px;background:var(--c-primary);color:#fff}
.orista-tcat__cta h2{margin:0 0 12px;color:#fff;font-size:34px;font-weight:650;line-height:1.15;letter-spacing:-.035em}
.orista-tcat__cta p{max-width:700px;margin:0;color:#c9dde2;font-size:16px;line-height:1.65}
.orista-tcat__cta .orista-tcat__button{flex-shrink:0}
.orista-tcat__cta-copy{flex:1}
.orista-tcat__cta-inner--image{padding:20px 56px 20px 20px}
.orista-tcat__cta-media{flex:0 0 340px;align-self:stretch;min-height:240px;overflow:hidden;border-radius:22px}
.orista-tcat__cta-media img{width:100%;height:100%;object-fit:cover}
.orista-tcat__cta .orista-tcat__button:hover{background:#fff;border-color:#fff;color:var(--c-primary)}

@media (prefers-reduced-motion:reduce){.orista-tcat__card,.orista-tcat__card-media img,.orista-tcat__card-icon{transition:none}a.orista-tcat__card:hover{transform:none}a.orista-tcat__card:hover .orista-tcat__card-media img{transform:none}}

@media (max-width:1024px){
	.orista-tcat__hero-inner{grid-template-columns:minmax(0,1fr) minmax(320px,.85fr)}
	.orista-tcat__hero-copy{padding-right:36px}
	.orista-tcat__hero h1{font-size:46px}
	.orista-tcat__hero-media{min-height:480px}
	.orista-tcat__list-header h2{font-size:38px}
	.orista-tcat__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.orista-tcat__card{min-height:360px}
	.orista-tcat__cta-inner,.orista-tcat__cta-inner--image{flex-direction:column;align-items:flex-start;padding:44px}
	.orista-tcat__cta-inner--image{padding-top:20px}
	.orista-tcat__cta-media{flex-basis:auto;width:100%;height:300px;min-height:0}
}
@media (max-width:767px){
	.orista-tcat__hero-inner{display:flex;flex-direction:column;min-height:0;padding:0 24px}
	.orista-tcat__hero-copy{padding:48px 0 34px}
	.orista-tcat__hero h1{font-size:39px}
	.orista-tcat__summary{font-size:15px}
	.orista-tcat__actions{flex-direction:column}
	.orista-tcat__button{width:100%}
	.orista-tcat__count{margin-top:26px;padding-top:20px}
	.orista-tcat__hero-media{min-height:300px;margin:0 -24px;border-radius:38px 38px 0 0}
	.orista-tcat__list-inner{padding:60px 24px 64px}
	.orista-tcat__list-header{margin-bottom:30px}
	.orista-tcat__list-header h2{font-size:31px}
	.orista-tcat__grid{grid-template-columns:minmax(0,1fr);gap:16px}
	.orista-tcat__card{min-height:320px;border-radius:20px}
	.orista-tcat__card-body{padding:24px 22px 22px}
	.orista-tcat__card h3{font-size:22px}
	.orista-tcat__cta-inner,.orista-tcat__cta-inner--image{width:calc(100% - 48px);margin:48px auto 60px;padding:34px 26px;border-radius:26px}
	.orista-tcat__cta-inner--image{padding-top:14px}
	.orista-tcat__cta-media{height:210px;border-radius:18px}
	.orista-tcat__cta h2{font-size:27px}
}

/* Patient Services: introduction, service grid and journey steps. */
.orista-psv__intro{background:#fff}
.orista-psv__intro-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px;width:100%;max-width:1440px;margin:auto;padding:92px 28px}
.orista-psv__intro-media{position:relative;min-height:440px;overflow:hidden;border-radius:28px 28px 28px 110px;background:#dcecee}
.orista-psv__intro-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.orista-psv__intro-copy h2{margin:0 0 18px;color:var(--c-primary);font-size:42px;font-weight:650;line-height:1.12;letter-spacing:-.04em}
.orista-psv__lead{margin:0 0 28px;color:var(--c-muted);font-size:17px;line-height:1.75}
.orista-psv__points{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.orista-psv__points li{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--c-border);border-radius:16px;background:var(--c-soft);color:var(--c-primary);font-size:15px;font-weight:650}
.orista-psv__point-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:var(--c-primary);color:#fff}
.orista-psv__point-icon svg{width:16px;height:16px;fill:currentColor}
.orista-psv__point-icon i{font-size:16px}

.orista-psv__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0;list-style:none}
.orista-psv__card{display:flex;flex-direction:column;gap:12px;margin:0;padding:30px 28px;border:1px solid var(--c-border);border-radius:24px;background:#fff;box-shadow:0 12px 30px rgba(7,62,80,.05);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.orista-psv__card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(7,62,80,.1)}
.orista-psv__card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.orista-psv__card-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;background:#fbe9ef;color:var(--c-accent)}
.orista-psv__card-icon svg{width:24px;height:24px;fill:currentColor}
.orista-psv__card-icon i{font-size:24px}
.orista-psv__card-number{color:#c5d7dc;font-size:28px;font-weight:700;letter-spacing:-.03em}
.orista-psv__card h3{margin:0;color:var(--c-primary);font-size:21px;font-weight:650;line-height:1.25;letter-spacing:-.02em}
.orista-psv__card p{margin:0;color:var(--c-muted);font-size:15px;line-height:1.65}

.orista-psv__steps{background:#fff}
.orista-psv__steps-inner{width:100%;max-width:1440px;margin:auto;padding:88px 28px 24px}
.orista-psv__step-list{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;counter-reset:none}
.orista-psv__step-list:before{content:'';position:absolute;top:27px;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--c-border),var(--c-accent),var(--c-border))}
.orista-psv__step-list li{position:relative;margin:0;text-align:center}
.orista-psv__step-number{position:relative;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:20px;border:6px solid #fff;border-radius:50%;background:var(--c-primary);color:#fff;font-size:18px;font-weight:700;box-shadow:0 8px 22px rgba(7,62,80,.15)}
.orista-psv__step-list h3{margin:0 0 8px;color:var(--c-primary);font-size:19px;font-weight:650}
.orista-psv__step-list p{max-width:280px;margin:0 auto;color:var(--c-muted);font-size:15px;line-height:1.6}

@media(prefers-reduced-motion:reduce){.orista-psv__card{transition:none}.orista-psv__card:hover{transform:none}}
@media (max-width:1024px){
	.orista-psv__intro-inner{gap:40px;padding:72px 28px}
	.orista-psv__intro-copy h2{font-size:36px}
	.orista-psv__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.orista-psv__step-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
	.orista-psv__step-list:before{display:none}
}
@media (max-width:767px){
	.orista-psv__intro-inner{grid-template-columns:minmax(0,1fr);gap:30px;padding:56px 24px}
	.orista-psv__intro-media{min-height:280px;border-radius:24px 24px 24px 70px}
	.orista-psv__intro-copy h2{font-size:30px}
	.orista-psv__lead{font-size:15px}
	.orista-psv__grid{grid-template-columns:minmax(0,1fr);gap:16px}
	.orista-psv__card{padding:26px 22px}
	.orista-psv__steps-inner{padding:60px 24px 12px}
	.orista-psv__step-list{grid-template-columns:minmax(0,1fr);row-gap:32px}
}

/* Patient services: card image */
.orista-psv__card{--psv-pad-x:28px}
.orista-psv__card--media{padding-top:0;overflow:hidden}
.orista-psv__card-media{position:relative;aspect-ratio:16/10;margin:0 calc(var(--psv-pad-x) * -1) 0;overflow:hidden;background:#eef4f6}
.orista-psv__card-media:after{content:'';position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(to top,rgba(7,62,80,.18),transparent);pointer-events:none}
.orista-psv__card-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.orista-psv__card--media:hover .orista-psv__card-img{transform:scale(1.04)}
.orista-psv__card--media .orista-psv__card-top{position:relative;z-index:1;align-items:flex-end;margin-top:-40px}
.orista-psv__card--media .orista-psv__card-icon{box-shadow:0 0 0 5px #fff,0 10px 22px rgba(7,62,80,.12)}
.orista-psv__card--media .orista-psv__card-number{line-height:1}
@media(prefers-reduced-motion:reduce){.orista-psv__card-img{transition:none}.orista-psv__card--media:hover .orista-psv__card-img{transform:none}}
@media (max-width:767px){.orista-psv__card{--psv-pad-x:22px}}
