/* One editorial rhythm: a firm anchor, then an exceptionally light continuation. */
.services .section-heading h2{font-size:clamp(45px,5.45vw,90px);line-height:1.09;letter-spacing:-.055em}
.section-heading h2 .heading-lead{font-weight:520;font-variation-settings:'SHRP' 28;letter-spacing:-.055em}
.section-heading h2 .heading-follow,.section-heading h2 .heading-accent{font-weight:180;font-variation-settings:'SHRP' 95;letter-spacing:-.045em}
.section-heading h2 .heading-accent{color:#406c48}
.clinic-content h2{font-weight:185;font-variation-settings:'SHRP' 90;line-height:1.1;letter-spacing:-.047em}
.clinic-content h2 .clinic-title-anchor{font-weight:540;font-variation-settings:'SHRP' 20;font-size:1.13em;letter-spacing:-.065em}
.questions h2{font-weight:190;font-variation-settings:'SHRP' 95;line-height:1.1;letter-spacing:-.05em}
.questions h2 .heading-anchor{font-weight:520;font-variation-settings:'SHRP' 28}
.section-intro .intro-lead{font-weight:460;font-size:1.12em;line-height:1.5;letter-spacing:-.02em}
.section-intro .intro-detail{font-weight:360;max-width:38ch}

/* The catalogue is one large destination, with an opening leaf in relief. */
.home-stage2 .prices-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:38px;isolation:isolate;position:relative;overflow:hidden;min-height:250px;margin:44px 0 40px;padding:38px 46px;border-radius:22px;background:#dce9ce;color:#173f35;box-shadow:inset 0 0 0 1px #a5bd9340;transition:background .5s ease,box-shadow .5s ease}
.prices-entry::before{content:'';position:absolute;z-index:-1;width:240px;height:310px;right:16%;top:-98px;border-radius:100% 0 100% 0;transform:rotate(23deg);background:linear-gradient(145deg,#f5f9e9b0,#97b77c55);box-shadow:inset 1px 1px 1px #fff8,0 25px 55px #5b7f4714;transition:transform .75s cubic-bezier(.2,.7,.2,1),opacity .5s;opacity:.8}
.prices-entry::after{content:'';position:absolute;z-index:-1;width:180px;height:260px;right:7%;bottom:-170px;border-radius:0 100% 0 100%;background:#b1cb9955;transform:rotate(22deg);transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.prices-entry .prices-title,.prices-entry .prices-description{display:grid;align-items:center}
.prices-entry .prices-title{font-family:GeologicaClinic,sans-serif;font-size:clamp(32px,3.25vw,54px);font-weight:330;line-height:1.11;letter-spacing:-.05em;max-width:780px}
.prices-entry .prices-title>span,.prices-entry .prices-description>span{grid-area:1/1;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .35s;transform-origin:left center}
.prices-entry .prices-description{font-size:18px;line-height:1.55;max-width:590px;margin-top:18px;color:#466342}
.prices-entry .prices-hover{opacity:0;transform:translateY(13px)}
.prices-entry .prices-arrow{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#173f35;color:#f1f5e9;transition:transform .5s cubic-bezier(.2,.7,.2,1),background .4s;flex-shrink:0}
.prices-entry .prices-arrow svg{width:26px;height:26px;transition:transform .45s}
@media(hover:hover) and (pointer:fine){.home-stage2 .prices-entry:hover{background:#cfe2bc;box-shadow:inset 0 0 0 1px #7fa16588}.prices-entry:hover::before{transform:translate(-28px,20px) rotate(8deg)}.prices-entry:hover::after{transform:translate(-10px,-30px) rotate(-2deg)}.prices-entry:hover .prices-rest{opacity:0;transform:translateY(-12px)}.prices-entry:hover .prices-hover{opacity:1;transform:none}.prices-entry:hover .prices-arrow{transform:rotate(45deg);background:#315d3d}.prices-entry:hover .prices-arrow svg{transform:rotate(-45deg) translate(2px,-2px)}}
.prices-entry:focus-visible{outline:3px solid #49793d;outline-offset:6px;background:#cfe2bc}.prices-entry:focus-visible .prices-rest{opacity:0;transform:translateY(-12px)}.prices-entry:focus-visible .prices-hover{opacity:1;transform:none}

/* The green ground encloses the whole reading area, with a real inner margin. */
.services .service-cell,.services .service-cell+.service-cell{padding:30px 30px 32px;isolation:isolate;background:transparent}
.services .service-cell::before{content:'';position:absolute;inset:9px;z-index:-1;border-radius:14px;background:#e0ecd6;opacity:0;transform:scale(.98);transition:opacity .35s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.services .service-cell:is(:hover,:focus-visible,:focus-within)::before{opacity:1;transform:none}
.services .service-cell.service-analysis:is(:hover,:focus-visible),.services .service-cell.service-uzi:is(:hover,:focus-visible){background:transparent}
.services .service-top{font-size:15px;line-height:1.5;gap:18px}
.services .service-desc{font-size:17px;line-height:1.6}
.services .specialties button{min-height:48px}.services .service-cell:focus-visible{outline:2px solid #527b46;outline-offset:-3px}
.contacts footer{display:block}.footer-art canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.footer-art.has-footer-model img{visibility:hidden}
.subpage .contacts{position:relative;z-index:1;background:#173f35;color:#f5f7ef}.contacts .contact-heading .kicker{color:#c2d2b6}.subpage .contacts .home-footer-links{font-size:15px}.subpage .contacts .line-link{font-size:15px}
@media(max-width:1100px){.services .service-cell,.services .service-cell+.service-cell{padding:26px 23px 28px}.home-stage2 .prices-entry{padding:32px;gap:25px}.prices-entry .prices-description{font-size:17px}.prices-entry .prices-arrow{width:62px;height:62px}}
@media(max-width:780px){.services .section-heading h2{font-size:clamp(43px,7.5vw,64px)}.home-stage2 .prices-entry{min-height:230px;gap:20px}.prices-entry .prices-title{font-size:36px}.prices-entry .prices-arrow{width:54px;height:54px}.services .service-cell.service-doctor{padding:29px 24px}.section-heading h2 .heading-follow,.section-heading h2 .heading-accent,.clinic-content h2,.questions h2{font-weight:220}}
@media(max-width:600px){.services .section-heading h2{font-size:clamp(36px,10.2vw,51px)}.questions h2{font-size:clamp(37px,10.6vw,49px)}.home-stage2 .prices-entry{grid-template-columns:minmax(0,1fr) 46px;min-height:245px;margin:32px 0;padding:26px 22px;gap:12px;border-radius:17px}.prices-entry .prices-title{font-size:30px;line-height:1.14}.prices-entry .prices-description{font-size:16px;line-height:1.5;margin-top:17px}.prices-entry .prices-arrow{width:46px;height:46px;align-self:end;margin-bottom:6px}.prices-entry .prices-arrow svg{width:23px;height:23px}.prices-entry::before{right:-12%;top:-120px}.prices-entry::after{right:-15%;opacity:.6}.services .service-cell,.services .service-cell+.service-cell,.services .service-cell.service-doctor{padding:28px 21px}.services .service-cell::before{inset:6px}.services .service-cell{min-height:390px}.services .service-desc{font-size:16px}.services .service-top{font-size:14px}.services .service-cell.service-doctor{min-height:340px}.subpage .contacts .home-footer-links{gap:16px 22px}}
@media(hover:none),(pointer:coarse){.prices-entry .prices-rest{opacity:0}.prices-entry .prices-hover{opacity:1;transform:none}.prices-entry .prices-description .prices-rest{opacity:1}.prices-entry .prices-description .prices-hover{opacity:0}.services .service-cell::before{opacity:.28;transform:none}}
/* The same compact footer composition also applies outside the home page. */
@media(max-width:780px){.contacts.section{padding-top:64px;padding-bottom:0}.contacts .contact-finale{gap:30px}.contacts .contact-heading .kicker{margin-bottom:18px}.contacts .contact-heading .button{margin-top:24px}.contacts .contact-details{gap:25px}.contacts .brand-lockup{margin-top:38px;min-height:225px;padding-top:14px;padding-bottom:16px}.contacts .footer-art{height:215px}}
@media(max-width:600px){.contacts.section{padding-top:55px;padding-bottom:0}.contacts .contact-finale{gap:28px}.contacts .contact-details{gap:27px;padding:0;align-items:stretch}.contacts .address{margin-top:11px}.contacts .brand-lockup{grid-template-columns:minmax(72px,.35fr) minmax(0,1fr);gap:10px;min-height:0;margin-top:33px;padding:13px 0 17px;text-align:left}.contacts .footer-art{width:100%;max-width:none;height:145px;justify-self:stretch}.contacts .finale-signature{min-width:0;padding:0}.contacts .finale-wordmark{font-size:clamp(30px,9.1vw,50px);line-height:1.14;margin:0}.contacts .finale-tagline{margin-top:9px;font-size:clamp(13px,3.5vw,17px);gap:7px;line-height:1.4}.contacts .finale-tagline::before{width:13px}.contacts footer{gap:18px;padding:22px 0 78px}.contacts footer>span{order:initial;width:auto;max-width:none;font-size:13px;line-height:1.55}}
@media(prefers-reduced-motion:reduce){.prices-entry,.prices-entry::before,.prices-entry::after,.prices-entry span,.prices-entry svg,.services .service-cell::before{transition:none!important}}
