@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@400..700&display=swap');

:root{--head:'League Spartan','Avenir Next',sans-serif;--paper:#f1eee8;--deep:#171d20;--ink:#22282b;--accent:#b99d92}
.display,.section-title,.feature-quote,.service-block h3,.process-item h3,.duality-card h3,.contact-form h2,.contact-method a{font-family:var(--head);font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:-.017em}
.display{font-size:clamp(5.2rem,9.6vw,10.8rem);line-height:.78;letter-spacing:-.025em}
.section-title{font-size:clamp(3.8rem,6.6vw,7.6rem);line-height:.86;letter-spacing:-.02em;margin:.25em 0}
.display em,.section-title em,.feature-quote em{font-style:normal;color:#b6bfc0}
.eyebrow{font-size:.73rem;letter-spacing:.23em}
.body-lead{font-size:1rem;line-height:1.75}
.hero h1{max-width:1000px}.hero-content{padding-top:125px}.hero-copy{font-size:1.08rem;max-width:540px;margin:2.6rem 0 2.2rem}
.btn{font-size:.77rem;letter-spacing:.13em}

.photo-story{display:grid;grid-template-columns:53% 47%;padding:0;min-height:650px;background:#20282b;color:white}
.story-image{position:relative;min-height:650px;overflow:hidden}
.story-image img,.photo-card img,.editorial-photo img,.space-banner>img,.service-visual img,.about-photo-grid img,.contact-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.15s cubic-bezier(.22,1,.36,1)}
.story-image:hover img,.photo-card:hover img,.editorial-photo:hover img,.about-photo-grid figure:hover img{transform:scale(1.045)}
.story-image img{object-position:56% center}.image-label{position:absolute;left:2.2rem;bottom:2rem;background:#f1eee8;color:#283135;padding:.8rem 1rem;font-size:.7rem;font-weight:700;letter-spacing:.17em}
.story-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(3rem,6vw,8rem);background:#20282b}
.story-copy .section-title{font-size:clamp(4.3rem,6.4vw,8rem);margin:2rem 0 1.7rem}
.story-copy .section-kicker{color:#c2c9ca}.story-copy .body-lead{color:#d7dede;max-width:430px;margin:0 0 2.4rem}

.duality{background:#f1eee8;padding:clamp(5rem,9vw,9rem) 0}
.duality-top{margin-bottom:3rem;align-items:end}.duality-top .section-title{max-width:900px}.duality-top .body-lead{max-width:220px;text-align:right;margin:0 0 .5rem}
.duality-grid{grid-template-columns:1fr 1.14fr;gap:1rem}
.photo-card{position:relative;display:block;height:clamp(490px,46vw,680px);overflow:hidden;color:#fff;background:#252e31}
.photo-card-ordinacija img{object-position:70% center}.photo-card-laboratorij img{object-position:58% center}
.photo-card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,17,19,.82),rgba(10,17,19,.08) 62%);transition:background .4s}
.photo-card-content{position:absolute;left:clamp(1.8rem,3.5vw,4rem);right:2rem;bottom:clamp(1.8rem,3.5vw,4rem)}
.photo-card h3{font:700 clamp(4.5rem,7.4vw,9rem)/.82 var(--head);letter-spacing:-.02em;margin:1rem 0 1.6rem}
.photo-card-link{display:inline-flex;align-items:center;gap:1rem;border-bottom:1px solid currentColor;padding-bottom:.55rem;font-size:.74rem;font-weight:700;letter-spacing:.17em}
.photo-card-link svg{width:18px;height:18px}.photo-card:hover .photo-card-link svg{transform:translate(3px,-3px)}

.work-gallery{background:#20282b;color:#fff;padding:clamp(6rem,10vw,10rem) 0}
.gallery-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2vw;align-items:end;margin-bottom:3rem}
.gallery-head .section-kicker{align-self:start;color:#bdc8c8}.gallery-head .section-title{margin:0}.gallery-head .body-lead{color:#bec7c7;margin:0 0 .25rem}
.editorial-grid{display:grid;grid-template-columns:1.18fr .82fr;grid-template-rows:repeat(2,320px);gap:1rem}
.editorial-photo{position:relative;margin:0;overflow:hidden;background:#333}.editorial-photo.tall{grid-row:span 2}.editorial-photo img{object-position:center}
.editorial-photo figcaption,.about-photo-grid figcaption{position:absolute;left:1.2rem;bottom:1.2rem;background:#f1eee8;color:#232b2d;padding:.7rem .85rem;font-size:.69rem;letter-spacing:.19em;font-weight:700}
.editorial-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.2),transparent 40%);pointer-events:none}
.editorial-photo figcaption{z-index:1}

.space-banner{position:relative;min-height:650px;display:flex;align-items:end;overflow:hidden;color:#fff;background:#20282b}
.space-banner>img{position:absolute;inset:0;object-position:center 47%}.space-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,16,18,.79),rgba(10,16,18,.16)),linear-gradient(0deg,rgba(10,16,18,.5),transparent 50%)}
.space-content{position:relative;z-index:1;padding:7rem 0}.space-content .section-title{font-size:clamp(5rem,8.5vw,10rem);max-width:800px;margin:1.8rem 0 2.2rem}.space-content .section-kicker{color:#fff}
.cta-panel{background:#ded7cf}.cta-panel .section-title{font-size:clamp(4.8rem,7.6vw,9rem)}

.subhero{min-height:630px}.subhero:before{background-size:cover;background-position:center}.subhero:after{display:none}.subhero-inner{padding-bottom:6.5rem}.subhero h1{font-size:clamp(5rem,9vw,10rem);max-width:1050px}.subhero p{font-size:1.05rem;max-width:600px}
.page-services .subhero:before{background-image:linear-gradient(90deg,rgba(17,24,27,.83),rgba(17,24,27,.42)),url('../media/keramicki-rad.jpg')}
.page-about .subhero:before{background-image:linear-gradient(90deg,rgba(17,24,27,.84),rgba(17,24,27,.33)),url('../media/stvarni-prostor.jpg')}
.page-contact .subhero:before{background-image:linear-gradient(90deg,rgba(17,24,27,.86),rgba(17,24,27,.35)),url('../media/osmijeh-nijansa.jpg')}
.page-section{padding:clamp(5rem,8vw,8rem) 0}.page-section.alt{background:#e6e1da}
.service-visual{width:100%;height:clamp(280px,32vw,440px);margin:0 0 2rem;overflow:hidden}
.service-block{padding:1.5rem 0;grid-template-columns:48px 1fr;gap:1.25rem}.service-block h3{font-size:clamp(1.8rem,2.6vw,2.8rem);line-height:.95;letter-spacing:-.005em}.service-block p{font-size:.9rem;line-height:1.65}
.page-services .split .section-title{font-size:clamp(4rem,6vw,7rem)}
.page-about .page-section:first-of-type .split{align-items:center}
.about-film .section-title{font-size:clamp(4.5rem,7vw,8rem)}
.about-photos{padding:1rem 0 7rem;background:#f1eee8}.about-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.about-photo-grid figure{height:440px;position:relative;overflow:hidden;margin:0}
.feature-quote{font-size:clamp(2.6rem,5vw,5.8rem);line-height:.94;max-width:1120px}
.contact-photo{height:360px;margin:2.2rem 0 0;overflow:hidden}.contact-photo img{object-position:center 45%}
.contact-form h2{font-size:3.2rem;letter-spacing:-.01em}
.contact-method a{font-size:clamp(1.7rem,2.5vw,2.6rem);letter-spacing:0}
.duality .section-title em,.page-section .section-title em,.cta-panel .section-title em,.feature-quote em{color:#718083}
.contact-form{align-self:start}

@media(max-width:1050px){.photo-story{grid-template-columns:50% 50%}.story-copy{padding:3rem}.gallery-head{grid-template-columns:1fr 2fr}.gallery-head .body-lead{grid-column:2}.duality-top .body-lead{display:none}}
@media(max-width:760px){.display{font-size:clamp(4.5rem,14vw,7rem);line-height:.82}.hero h1{font-size:clamp(4.2rem,13.5vw,7rem)}.hero-content{padding-top:70px}.hero-copy{font-size:.95rem;margin:1.7rem 0 1.8rem}.section-title{font-size:clamp(3.8rem,12vw,6rem)}.photo-story{grid-template-columns:1fr}.story-image{min-height:440px;height:56vw}.story-copy{padding:4rem 1.3rem}.story-copy .section-title{font-size:clamp(4rem,12vw,6rem)}.duality-grid{grid-template-columns:1fr}.photo-card{height:490px}.photo-card h3{font-size:clamp(5.5rem,15vw,8rem)}.gallery-head{grid-template-columns:1fr;gap:1.4rem}.gallery-head .body-lead{grid-column:1}.editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:310px 250px}.editorial-photo.tall{grid-column:span 2;grid-row:auto}.editorial-photo:nth-child(2),.editorial-photo:nth-child(3){height:250px}.space-banner{min-height:560px}.space-content .section-title{font-size:clamp(5rem,13vw,8rem)}.subhero{min-height:560px}.subhero-inner{padding:10rem 0 4rem}.subhero h1{font-size:clamp(4.6rem,13vw,7.5rem)}.service-visual{height:330px}.about-photo-grid figure{height:280px}.contact-photo{height:290px}}
@media(max-width:520px){.hero h1{font-size:clamp(3.55rem,15vw,5rem)}.hero-copy{font-size:.9rem}.story-image{height:440px}.photo-card{height:430px}.photo-card h3{font-size:clamp(3.65rem,14vw,5.2rem)}.space-content .section-title{font-size:clamp(3.75rem,12vw,5.5rem)}.editorial-grid{grid-template-columns:1fr;grid-template-rows:350px 270px 270px}.editorial-photo.tall{grid-column:auto}.editorial-photo:nth-child(2),.editorial-photo:nth-child(3){height:270px}.about-photo-grid{grid-template-columns:1fr}.about-photo-grid figure{height:310px}.subhero h1{font-size:clamp(4rem,15vw,6rem)}}

/* The logo lettering is outlined in the supplied PDF. Use its closest geometric family for headings. */
.header-inner{height:88px;gap:clamp(.7rem,1.4vw,1.5rem)}
.brand{min-width:188px}.brand-tooth{width:30px;height:38px}.brand-wordmark{width:145px}
.desktop-nav{gap:clamp(.85rem,1.6vw,1.9rem)}
.header-contact{font-size:17px;line-height:1.16;letter-spacing:0;gap:.14rem}
.display,.section-title,.photo-card h3,.service-block h3,.feature-quote,.contact-form h2,.contact-method a{font-weight:700;letter-spacing:-.045em}
.display em,.section-title em{font-weight:700}
.display{font-size:clamp(4.6rem,7.4vw,8.3rem);line-height:.94}
.section-title{font-size:clamp(3.2rem,5.1vw,6rem);line-height:1.02}
.hero h1{font-size:clamp(4.6rem,7.4vw,8.3rem)}.hero-content{padding-top:100px}
.story-copy .section-title{font-size:clamp(3rem,4.5vw,5.2rem)}
.photo-card h3{font-size:clamp(3.7rem,5.3vw,6.5rem);line-height:.96}
.space-content .section-title{font-size:clamp(4rem,6.2vw,7rem)}
.subhero h1{font-size:clamp(4.1rem,6.6vw,7.2rem)}
.page-services .split .section-title{font-size:clamp(3rem,4.4vw,5.2rem)}
.service-block h3{font-size:clamp(1.4rem,2vw,2.1rem);line-height:1.08}
.contact-form h2{font-size:2.7rem}.contact-method a{font-size:clamp(1.3rem,2vw,2rem)}
.cta-panel .section-title{font-size:clamp(4rem,6.4vw,7rem)}
@media(max-width:1100px) and (min-width:961px){.header-inner{width:min(96%,1440px)}.desktop-nav a{font-size:.69rem}.header-cta{padding:.88rem .75rem}}
@media(max-width:960px){.header-inner{height:78px}.brand{min-width:0}}
@media(max-width:760px){.display,.hero h1{font-size:clamp(2.55rem,10vw,5.2rem)}.hero-content{padding-top:65px}.section-title{font-size:clamp(2.65rem,8.3vw,4.9rem)}.story-copy .section-title{font-size:clamp(2.55rem,8.1vw,4.6rem)}.photo-card h3{font-size:clamp(2.9rem,8vw,5rem)}.space-content .section-title{font-size:clamp(3rem,9.2vw,5.3rem)}.subhero h1{font-size:clamp(3rem,9.5vw,5.3rem)}.page-services .split .section-title{font-size:clamp(2.7rem,8vw,4.8rem)}.cta-panel .section-title{font-size:clamp(3rem,9vw,5.3rem)}}
@media(max-width:520px){.brand-wordmark{width:136px}.hero h1{font-size:clamp(2.4rem,9.8vw,3.8rem)}.photo-card h3{font-size:clamp(2.45rem,9.2vw,3.5rem)}.space-content .section-title{font-size:clamp(2.65rem,8.8vw,4.1rem)}.subhero h1{font-size:clamp(2.75rem,9.1vw,4.2rem)}}

/* Refined type scale and contained page content. */
.container{width:min(calc(100% - 8vw),1560px)}
.display,.section-title,.photo-card h3,.service-block h3,.feature-quote,.contact-form h2,.contact-method a,.duality-card h3,.process-item h3{font-weight:500}
.display em,.section-title em{font-weight:500}
.display{font-size:clamp(2.9rem,5vw,5.6rem);line-height:1.02}
.section-title{font-size:clamp(2.35rem,3.5vw,4.1rem);line-height:1.08}
.hero h1{font-size:clamp(2.3rem,3.7vw,4.15rem);max-width:760px}
.hero-content{padding-top:88px}
.story-copy .section-title,.page-services .split .section-title{font-size:clamp(2.25rem,3.4vw,4rem)}
.photo-card h3{font-size:clamp(2.75rem,3.8vw,4.7rem);line-height:1.04;font-weight:500}
.space-content .section-title,.subhero h1,.cta-panel .section-title{font-size:clamp(2.8rem,4.5vw,5.3rem)}
.about-film .section-title{font-size:clamp(2.7rem,4vw,4.8rem)}
.service-block h3{font-size:clamp(1.25rem,1.6vw,1.7rem)}
.feature-quote{font-size:clamp(2.2rem,3.5vw,4.2rem)}
.contact-form h2{font-size:2.25rem}
.intro-bridge{background:#f1eee8;padding:clamp(4.5rem,7vw,7rem) 0}
.intro-bridge-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(3rem,8vw,9rem);align-items:center}
.intro-bridge .section-title{max-width:650px;margin:.55em 0 0}
.intro-bridge .body-lead{max-width:650px;margin:0;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.8}
.photo-story{display:block}
.photo-story-inner{display:grid;grid-template-columns:53% 47%;max-width:1560px;margin-inline:auto}
.gallery-head{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,8rem);align-items:center;margin-bottom:2.4rem}
.gallery-head .section-kicker{display:flex}
.gallery-head .section-title{margin:.55em 0 0;max-width:670px}
.gallery-head .body-lead{grid-column:auto;max-width:650px;margin:0;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.8}
.work-gallery{padding:clamp(3.5rem,5vw,5rem) 0}
.duality{padding-bottom:clamp(3rem,5vw,5rem)}
.space-banner{min-height:540px}
.space-content{padding:5.5rem 0}
@media(max-width:1050px){.photo-story-inner{grid-template-columns:50% 50%}.gallery-head{grid-template-columns:1fr 1fr}.gallery-head .body-lead{grid-column:auto}}
@media(max-width:760px){.container{width:min(calc(100% - 2.6rem),1560px)}.hero h1{font-size:clamp(2rem,6.2vw,2.9rem)}.hero-content{padding-top:65px}.display{font-size:clamp(2.6rem,7.5vw,4rem)}.section-title{font-size:clamp(2.2rem,6.6vw,3.6rem)}.story-copy .section-title,.page-services .split .section-title{font-size:clamp(2.15rem,6.3vw,3.4rem)}.photo-card h3{font-size:clamp(2.6rem,7.5vw,4.2rem)}.space-content .section-title,.subhero h1,.cta-panel .section-title{font-size:clamp(2.6rem,7.4vw,4.4rem)}.intro-bridge-inner,.gallery-head{grid-template-columns:1fr;gap:1.6rem}.intro-bridge{padding:4rem 0}.photo-story-inner{grid-template-columns:1fr}.work-gallery{padding:4.5rem 0}}
@media(max-width:520px){.hero h1{font-size:clamp(1.9rem,6.9vw,2.4rem)}.photo-card h3{font-size:clamp(2.35rem,8.2vw,3.5rem)}.space-content .section-title,.subhero h1,.cta-panel .section-title{font-size:clamp(2.3rem,8vw,3.4rem)}}

/* Header stays over the hero and becomes solid as the page moves. */
.site-header{position:fixed;transition:background-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;-webkit-backdrop-filter:blur(0)}
.site-header.is-scrolled{background:rgba(18,25,28,.94);box-shadow:0 10px 32px rgba(0,0,0,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.site-header.is-scrolled .header-inner{border-bottom-color:transparent}
.desktop-nav a{font-size:17px;letter-spacing:.025em}
.header-contact{gap:.3rem}
.header-contact a{display:flex;align-items:center;gap:.55rem}
.header-contact svg{width:17px;height:17px;stroke-width:1.8;flex:none}
.header-cta{margin-left:15px}
@media(max-width:1100px) and (min-width:961px){.header-inner{width:min(calc(100% - 2rem),1560px);gap:.6rem}.brand{min-width:155px}.brand-wordmark{width:128px}.desktop-nav{gap:.65rem}.desktop-nav a{font-size:17px}.header-contact{font-size:17px}.header-cta{margin-left:15px;padding:.8rem .6rem}}
@media(max-width:960px){.header-cta{margin-left:0}}

/* The closed curtain conceals the page, then fades while its halves separate. */
.intro-panel.left::before{background:linear-gradient(90deg,rgba(5,10,12,.99) 0%,rgba(5,10,12,.97) 45%,rgba(5,10,12,.91) 82%,rgba(5,10,12,.86) 100%)}
.intro-panel.right::before{background:linear-gradient(270deg,rgba(5,10,12,.99) 0%,rgba(5,10,12,.97) 45%,rgba(5,10,12,.91) 82%,rgba(5,10,12,.86) 100%)}

/* Four concise points under the introduction. */
.hero h1{font-size:6rem;max-width:940px}
.intro-bridge-inner{row-gap:clamp(2.5rem,4vw,4rem)}
.intro-features{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.intro-feature{border:1px solid rgba(38,48,54,.22);background:rgba(255,255,255,.4);padding:clamp(1.25rem,2vw,2rem);min-height:240px;display:flex;flex-direction:column;align-items:flex-start;transition:background-color .3s,border-color .3s,transform .3s}
.intro-feature:hover{background:#fff;border-color:rgba(38,48,54,.4);transform:translateY(-4px)}
.intro-feature svg{width:29px;height:29px;stroke-width:1.5;color:#718083;margin-bottom:auto}
.intro-feature h3{font:500 clamp(1.15rem,1.45vw,1.45rem)/1.15 var(--head);text-transform:uppercase;letter-spacing:-.025em;margin:1.5rem 0 .55rem}
.intro-feature p{color:#687177;font-size:.88rem;line-height:1.6;margin:0}
@media(max-width:1100px){.hero h1{font-size:clamp(3.6rem,7vw,6rem)}.intro-features{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-feature{min-height:210px}}
@media(max-width:760px){.hero h1{font-size:clamp(2rem,6.2vw,2.9rem)}.intro-bridge-inner{row-gap:2rem}}
@media(max-width:520px){.hero h1{font-size:clamp(1.9rem,6.9vw,2.4rem)}.intro-features{grid-template-columns:1fr}.intro-feature{min-height:175px}}
@media(prefers-reduced-motion:reduce){.intro-feature{transition:none}.intro-feature:hover{transform:none}}

/* Final typography and entrance timing. */
.header-inner{border-bottom:0}
.display,.section-title,.photo-card h3,.service-block h3,.feature-quote,.contact-form h2,.contact-method a,.duality-card h3,.process-item h3,.intro-feature h3{font-weight:550}
.display em,.section-title em{font-weight:550}
.hero-copy{max-width:650px;line-height:1.75}
.intro-feature svg{width:38px;height:38px;stroke-width:1.7}
.js .reveal{opacity:0;transform:translateY(44px);filter:blur(7px);transition:opacity 1.6s ease,transform 1.6s cubic-bezier(.16,1,.3,1),filter 1.6s ease}
.js .reveal.is-visible{opacity:1;transform:none;filter:none}
.hero-content>*{animation-duration:1.5s;animation-timing-function:cubic-bezier(.16,1,.3,1)}
.hero-content>*:nth-child(1){animation-delay:.25s}
.hero-content>*:nth-child(2){animation-delay:.45s}
.hero-content>*:nth-child(3){animation-delay:.7s}
.hero-content>*:nth-child(4){animation-delay:.95s}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;filter:none}.hero-content>*{animation:none}}

/* Confirmed services: ordinance, imaging and laboratory. */
.duality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.duality-grid .photo-card{height:clamp(430px,39vw,590px)}
.duality-grid .photo-card h3{font-size:clamp(2.15rem,2.9vw,3.55rem);overflow-wrap:anywhere}
.duality-grid .photo-card-content{left:clamp(1.35rem,2.4vw,2.8rem);right:1.25rem;bottom:clamp(1.35rem,2.4vw,2.8rem)}
.photo-card-dijagnostika img{object-position:65% center}
.photo-card-disclosure{position:absolute;z-index:2;top:1rem;right:1rem;padding:.45rem .65rem;background:rgba(18,25,28,.75);color:#fff;font-size:.65rem;letter-spacing:.08em}
.services-jump{background:#f1eee8;border-bottom:1px solid rgba(38,48,54,.16)}
.services-jump-inner{display:flex;flex-wrap:wrap;gap:clamp(1.5rem,4vw,5rem);padding:1.25rem 0}
.services-jump a{display:inline-flex;align-items:center;gap:.55rem;font-size:.86rem;font-weight:700;transition:color .25s}
.js .services-jump a.reveal:nth-child(2){transition-delay:.14s}
.js .services-jump a.reveal:nth-child(3){transition-delay:.28s}
.services-jump a:hover{color:#718083}
.services-jump svg{width:17px;height:17px}
#ordinacija,#dijagnostika,#laboratorij,#upit{scroll-margin-top:88px}
.service-category{padding:clamp(5rem,7vw,8rem) 0;background:#f1eee8}
.service-category-head{display:grid;grid-template-columns:1fr .72fr;gap:clamp(3rem,8vw,10rem);align-items:end;margin-bottom:3rem}
.service-category-head .section-title{max-width:850px;margin:.5em 0 0}
.service-category-head .body-lead{max-width:600px;margin:0 0 .35rem}
.service-category-image{position:relative;height:clamp(340px,42vw,560px);margin:0;overflow:hidden;background:#273035}
.service-category-image img,.diagnostic-visual img,.laboratory-visual img{width:100%;height:100%;object-fit:cover;display:block}
.service-category-image img{object-position:65% 55%}
.service-category-image figcaption,.diagnostic-visual figcaption,.laboratory-visual figcaption{position:absolute;left:1.25rem;bottom:1.25rem;padding:.6rem .8rem;background:#f1eee8;color:#263036;font-size:.68rem;font-weight:700;letter-spacing:.07em}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.service-tile{padding:clamp(1.5rem,2.5vw,2.6rem);background:#faf9f6;border:1px solid rgba(38,48,54,.15);min-height:220px;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem}
.service-tile h3{font:550 clamp(1.35rem,1.8vw,1.9rem)/1.13 var(--head);text-transform:uppercase;letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.service-tile p{font-size:.95rem;line-height:1.72;color:#687177;margin:0}
.diagnostic-category{background:#20282b;color:#fff}
.diagnostic-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3rem,7vw,8rem);align-items:stretch}
.diagnostic-copy{padding:clamp(1rem,3vw,3rem) 0}
.diagnostic-copy .section-kicker{color:#b7c5c5}
.diagnostic-copy .section-title{margin:.5em 0 .6em}
.diagnostic-copy .body-lead{color:#d5dede;max-width:620px}
.diagnostic-services{margin:3rem 0 2rem}
.diagnostic-services article{border-top:1px solid rgba(255,255,255,.27);padding:1.35rem 0}
.diagnostic-services strong{font:550 clamp(1.3rem,1.7vw,1.8rem)/1.2 var(--head);text-transform:uppercase}
.diagnostic-services p{color:#ccd4d4;font-size:.95rem;line-height:1.7;max-width:560px;margin:.6rem 0 0}
.diagnostic-visual{position:relative;min-height:590px;margin:0;overflow:hidden;background:#c9c1b7}
.diagnostic-visual img{object-position:58% center}
.laboratory-category{background:#e8e5df}
.laboratory-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1rem,4vw,4rem);align-items:stretch}
.laboratory-visual{position:relative;margin:0;min-height:510px;overflow:hidden;background:#34383a}
.laboratory-list{display:flex;flex-direction:column;gap:1rem}
.laboratory-list .service-tile{flex:1;min-height:0}
.laboratory-list .text-link{align-self:flex-start;margin-top:1.2rem}
.about-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:4rem}
.about-path a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;align-items:start;min-height:190px;padding:1.5rem;border:1px solid rgba(38,48,54,.18);background:#faf9f6;transition:background .3s,transform .3s}
.about-path a:hover{background:#fff;transform:translateY(-4px)}
.about-path span{font-size:.73rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#718083}
.about-path strong{grid-column:1/-1;grid-row:2;align-self:end;font:550 clamp(1.15rem,1.5vw,1.55rem)/1.22 var(--head);text-transform:uppercase;margin:2rem 0 0}
.about-path svg{grid-column:2;grid-row:1;width:18px;height:18px;margin-left:1rem}
.field select{width:100%;border:0;border-bottom:1px solid #c9cecd;background:transparent;padding:1rem 0;border-radius:0;outline:none;color:var(--ink);font:inherit}
.field select:focus{border-bottom-color:var(--ink)}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duality-grid .photo-card h3{font-size:clamp(2rem,3.3vw,3rem)}}
@media(max-width:960px){.duality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-card-dijagnostika{grid-column:span 2}.duality-grid .photo-card{height:470px}.diagnostic-layout{grid-template-columns:1fr}.diagnostic-visual{min-height:440px}.about-path{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.service-category-head{grid-template-columns:1fr;gap:1.4rem}.services-grid{grid-template-columns:1fr}.service-tile{min-height:180px}.duality-grid{grid-template-columns:1fr}.photo-card-dijagnostika{grid-column:auto}.diagnostic-visual{min-height:340px}.laboratory-layout{grid-template-columns:1fr}.laboratory-visual{min-height:360px}.about-path{grid-template-columns:1fr}.services-jump-inner{gap:.8rem 1.5rem}.services-jump a{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.about-path a{transition:none}.about-path a:hover{transform:none}}
.home-contact-cta{padding:clamp(4.5rem,7vw,7.5rem) 0;background:#e5dfd7}
.home-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.88fr);gap:clamp(3rem,7vw,8rem);align-items:stretch}
.home-contact-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(1rem,2vw,2rem) 0}
.home-contact-intro .section-title{margin:.35em 0 .35em;line-height:.95}
.home-contact-intro>p{max-width:620px;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75;color:#3d474b;margin:0}
.home-contact-topics{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}
.home-contact-topics span{border:1px solid #aeb5b3;padding:.6rem .85rem;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#354044}
.home-contact-card{background:#192226;color:#fff;padding:clamp(2rem,3.4vw,4rem);display:flex;flex-direction:column;min-height:475px}
.home-contact-card-label{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#aebbbb}
.home-contact-card h3{font:550 clamp(2.5rem,3.4vw,4rem)/1.03 var(--head);letter-spacing:-.025em;margin:1.5rem 0 2.2rem}
.home-contact-methods{border-top:1px solid rgba(255,255,255,.28);margin-top:auto}
.home-contact-methods a{display:flex;align-items:center;gap:1rem;padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none}
.home-contact-methods a>svg:first-child{width:21px;height:21px;flex:none;color:#c6d0ce}
.home-contact-methods a>svg:last-child{width:18px;height:18px;margin-left:auto;flex:none;transition:transform .3s}
.home-contact-methods a:hover>svg:last-child{transform:translate(3px,-3px)}
.home-contact-methods a span{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.home-contact-methods small{font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:#b6c1c0}
.home-contact-methods strong{font:550 clamp(1.05rem,1.4vw,1.4rem)/1.2 var(--head);overflow-wrap:anywhere}
.home-contact-button{width:100%;justify-content:space-between;margin-top:2rem}
@media(max-width:900px){.home-contact-layout{grid-template-columns:1fr;gap:2.6rem}.home-contact-card{min-height:0}.home-contact-topics{margin-top:1.8rem}}
@media(max-width:520px){.home-contact-cta{padding:4rem 0}.home-contact-card{padding:1.65rem}.home-contact-card h3{font-size:2.55rem}.home-contact-topics span{font-size:.67rem}}
@media(prefers-reduced-motion:reduce){.home-contact-methods a>svg:last-child{transition:none}}
.site-footer{padding:clamp(4rem,7vw,7rem) 0 2rem;background:#151d21}
.footer-heading{display:grid;grid-template-columns:1fr minmax(280px,.46fr);gap:3rem;align-items:end;padding-bottom:clamp(3rem,5vw,5rem);border-bottom:1px solid rgba(255,255,255,.18)}
.footer-eyebrow{font-size:.7rem;letter-spacing:.19em;font-weight:700;color:#b4c1c1}
.footer-heading h2{font:550 clamp(3.5rem,6vw,7rem)/.96 var(--head);letter-spacing:-.025em;margin:1.3rem 0 0;text-transform:uppercase}
.footer-heading h2 em{font-style:normal;color:#8e9d9e}
.footer-heading p{color:#b9c4c4;line-height:1.8;font-size:clamp(.95rem,1.1vw,1.12rem);margin:0 0 .3rem;max-width:460px}
.footer-main{grid-template-columns:minmax(240px,1.35fr) minmax(225px,1.2fr) minmax(220px,1.1fr) minmax(105px,.55fr);gap:clamp(2rem,3.3vw,4rem);padding:clamp(3rem,5vw,5rem) 0}
.footer-main .brand{margin-bottom:1.6rem}
.footer-brand-block p{max-width:280px}
.footer-col h3{margin-bottom:1.5rem}
.footer-col strong{display:block;font-size:.92rem;line-height:1.55;font-weight:600;max-width:245px}
.footer-col address{font-style:normal;font-size:.9rem;line-height:1.65;color:#b9c4c4;margin:1rem 0}
.footer-col .footer-detail-link{display:inline-flex;align-items:center;gap:.5rem;width:auto;margin-top:.9rem;padding-bottom:.3rem;border-bottom:1px solid rgba(255,255,255,.45);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.footer-col .footer-detail-link svg{width:16px;height:16px}
.footer-col .footer-contact-link{display:flex;align-items:center;gap:.75rem;width:auto;overflow-wrap:anywhere;font-weight:600}
.footer-col .footer-contact-link svg{width:17px;height:17px;flex:none;color:#aab9b9}
.footer-bottom{align-items:center}
@media(max-width:1150px){.footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:3rem}.footer-brand-block{grid-column:1/-1}}
@media(max-width:760px){.footer-heading{grid-template-columns:1fr;gap:1.5rem}.footer-heading p{max-width:600px}.footer-main{grid-template-columns:1fr 1fr;gap:3rem 2rem}.footer-brand-block{grid-column:1/-1}}
@media(max-width:520px){.footer-heading h2{font-size:clamp(3rem,12vw,4.6rem)}.footer-main{grid-template-columns:1fr;gap:2.4rem}.footer-brand-block{grid-column:auto}.footer-bottom{align-items:flex-start}}
.contact-method address{font:550 clamp(1.25rem,2vw,1.8rem)/1.3 var(--head);font-style:normal;text-transform:uppercase}
.contact-method .contact-map-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;padding-bottom:.2rem;border-bottom:1px solid currentColor;font:700 .72rem/1.4 var(--body);letter-spacing:.08em;text-transform:uppercase}
.contact-method .contact-map-link svg{width:15px;height:15px;margin:0;color:currentColor}
/* Six photographic service links beneath the three category cards. */
.service-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.service-shortcuts-head{margin-top:clamp(4.5rem,7vw,7rem);margin-bottom:2.5rem}
.duality-top.service-shortcuts-head .body-lead{display:block;max-width:410px;text-align:right;font-size:clamp(1rem,1.15vw,1.14rem);line-height:1.7}
@media(max-width:1050px){.service-shortcuts-head{display:grid;gap:1.35rem}.duality-top.service-shortcuts-head .body-lead{max-width:620px;text-align:left;margin:0}}
.service-shortcuts .service-shortcut{position:relative;height:clamp(235px,20vw,315px);min-height:0;display:block;overflow:hidden;background:#252e31;color:#fff;border:0;transition:none}
.service-shortcut>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.15s cubic-bezier(.22,1,.36,1)}
.service-shortcut .photo-card-shade{background:linear-gradient(0deg,rgba(10,17,19,.88),rgba(10,17,19,.2) 75%)}
.service-shortcut .photo-card-content{left:clamp(1.25rem,2vw,2rem);right:1.2rem;bottom:clamp(1.25rem,2vw,2rem)}
.service-shortcut h3{font:550 clamp(1.55rem,2.05vw,2.45rem)/1.06 var(--head);text-transform:uppercase;letter-spacing:-.025em;max-width:340px;margin:0 0 1.2rem;overflow-wrap:anywhere}
.service-shortcut .photo-card-link{font-size:.74rem}
.service-shortcut:hover>img{transform:scale(1.06)}
.service-shortcut:focus-visible{outline:2px solid #fff;outline-offset:-5px}
.service-tile[id]{scroll-margin-top:115px}
.service-tile:target{border-color:#718083;box-shadow:0 0 0 2px rgba(113,128,131,.16)}
@media(max-width:960px){.service-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.service-shortcuts .service-shortcut{height:270px}}
@media(max-width:600px){.service-shortcuts{grid-template-columns:1fr}.service-shortcuts .service-shortcut{height:270px}.service-shortcut h3{font-size:clamp(1.75rem,7vw,2.3rem)}}
@media(prefers-reduced-motion:reduce){.service-shortcut>img{transition:none}.service-shortcut:hover>img{transform:none}}

/* Services navigation shares the existing home dropdown behavior. */
.nav-services-versions{position:relative;flex:none}
.nav-services-versions summary{display:flex;align-items:center;gap:.35rem;list-style:none;cursor:pointer;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;opacity:.75;transition:opacity .25s}
.nav-services-versions summary::-webkit-details-marker,.mobile-services-versions summary::-webkit-details-marker{display:none}
.nav-services-versions summary:hover,.nav-services-versions[open] summary,.nav-services-versions summary[aria-current]{opacity:1}
.nav-services-versions summary svg{width:16px;height:16px;transition:transform .3s}
.nav-services-versions[open] summary svg,.mobile-services-versions[open] summary svg{transform:rotate(180deg)}
.nav-services-options{position:absolute;top:calc(100% + 1.4rem);left:-1.1rem;min-width:205px;background:#f4f2ee;color:#263036;padding:.55rem;box-shadow:0 16px 45px rgba(0,0,0,.18);z-index:35}
.nav-services-options:before{content:"";position:absolute;left:0;right:0;height:1.5rem;bottom:100%}
.desktop-nav .nav-services-options a{display:block;padding:.85rem .75rem;font-size:.88rem;letter-spacing:.03em;opacity:1}
.desktop-nav .nav-services-options a:hover,.desktop-nav .nav-services-options a[aria-current]{background:#dfe4e2}
.mobile-services-versions summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font-family:var(--head);font-size:clamp(2.4rem,7vw,3.7rem);letter-spacing:-.04em;padding:.2rem 0}
.mobile-services-versions summary svg{width:25px;height:25px;transition:transform .3s}
.mobile-services-versions>div{display:grid;gap:.15rem;padding:.25rem 0 1rem 1rem;border-left:1px solid var(--line);margin-left:.3rem}
.mobile-nav .mobile-services-versions a{font-family:var(--body);font-size:1.05rem;font-weight:700;letter-spacing:0;padding:.55rem 0 .55rem 1rem}
.mobile-nav .mobile-services-versions a[aria-current]{color:#647579}
@media(prefers-reduced-motion:reduce){.nav-services-versions summary svg,.mobile-services-versions summary svg{transition:none}}

/* Homepage preload previews in desktop and mobile navigation. */
.nav-home-versions{position:relative;flex:none}
.nav-home-versions summary{display:flex;align-items:center;gap:.35rem;list-style:none;cursor:pointer;font-size:17px;font-weight:700;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;opacity:.75;transition:opacity .25s}
.nav-home-versions summary::-webkit-details-marker,.mobile-home-versions summary::-webkit-details-marker{display:none}
.nav-home-versions summary:hover,.nav-home-versions[open] summary,.nav-home-versions summary[aria-current]{opacity:1}
.nav-home-versions summary svg{width:16px;height:16px;transition:transform .3s}
.nav-home-versions[open] summary svg,.mobile-home-versions[open] summary svg{transform:rotate(180deg)}
.nav-home-options{position:absolute;top:calc(100% + 1.4rem);left:-1.1rem;min-width:205px;background:#f4f2ee;color:#263036;padding:.55rem;box-shadow:0 16px 45px rgba(0,0,0,.18);z-index:35}
.nav-home-options::before{content:"";position:absolute;left:0;right:0;height:1.5rem;bottom:100%}
.desktop-nav .nav-home-options a{display:block;padding:.85rem .75rem;font-size:.88rem;letter-spacing:.03em;opacity:1}
.desktop-nav .nav-home-options a:hover,.desktop-nav .nav-home-options a[aria-current]{background:#dfe4e2}
.mobile-home-versions summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font-family:var(--head);font-size:clamp(2.4rem,7vw,3.7rem);letter-spacing:-.04em;padding:.2rem 0}
.mobile-home-versions summary svg{width:25px;height:25px;transition:transform .3s}
.mobile-home-versions>div{display:grid;gap:.15rem;padding:.25rem 0 1rem 1rem;border-left:1px solid var(--line);margin-left:.3rem}
.mobile-nav .mobile-home-versions a{font-family:var(--body);font-size:1.05rem;font-weight:700;letter-spacing:0;padding:.55rem 0 .55rem 1rem}
.mobile-nav .mobile-home-versions a[aria-current]{color:#647579}
@media(prefers-reduced-motion:reduce){.nav-home-versions summary svg,.mobile-home-versions summary svg{transition:none}}

/* Logo contour belongs to the footer on every page. */
.site-footer{position:relative;isolation:isolate;overflow:hidden}
.site-footer::before{content:"";position:absolute;z-index:0;top:-9rem;right:max(-8rem,calc((100vw - 1560px)/2));width:clamp(390px,50vw,760px);aspect-ratio:510/630;background:url('../media/logo-kontura.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.075;transform:translate3d(0,0,0) rotate(-12deg);animation:footerContourDrift 6.5s ease-in-out infinite alternate;pointer-events:none}
.site-footer>.container{position:relative;z-index:1}
@keyframes footerContourDrift{to{transform:translate3d(-65px,34px,0) rotate(-3deg)}}
@media(max-width:760px){.site-footer::before{right:-12rem;top:-3rem;width:500px;opacity:.06}}
@media(prefers-reduced-motion:reduce){.site-footer::before{animation:none}}

/* Consistent, high-contrast hover treatment for call-to-action buttons. */
.btn{transition:background-color .38s ease,color .38s ease,border-color .38s ease,box-shadow .38s ease,transform .38s ease}
.btn-light:is(:hover,:focus-visible){background:#263e45;color:#fff;border-color:#263e45;box-shadow:0 12px 28px rgba(12,31,38,.2)}
.btn-dark:is(:hover,:focus-visible){background:#dce8e6;color:#15252a;border-color:#dce8e6;box-shadow:0 12px 28px rgba(12,31,38,.13)}
.btn-outline:is(:hover,:focus-visible){background:#f4f2ee;color:#17252a;border-color:#f4f2ee;box-shadow:0 12px 28px rgba(0,0,0,.2)}
.btn svg{transition:transform .38s ease}
.btn:is(:hover,:focus-visible) svg{transform:translate(3px,-3px)}

/* Text calls to action also change both surface and type color on interaction. */
.text-link,.detail-service-card a{padding:.7rem .85rem;transition:background-color .35s ease,color .35s ease,border-color .35s ease}
.text-link:is(:hover,:focus-visible),.detail-service-card a:is(:hover,:focus-visible){background:#263e45;color:#fff;border-color:transparent}
.v2-diagnostics .text-link:is(:hover,:focus-visible),.diagnostic-category .text-link:is(:hover,:focus-visible){background:#f4f2ee;color:#17252a;border-color:transparent}
.detail-service-card a{align-self:flex-start}
.form-note a{font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.footer-bottom{gap:1.25rem 2rem;flex-wrap:wrap}
.footer-legal-links{display:inline-flex;align-items:center;gap:.7rem 1.25rem;flex-wrap:wrap}
.footer-legal-links a{color:#d3dddd;text-decoration:underline;text-decoration-color:rgba(211,221,221,.45);text-underline-offset:.25em;transition:color .25s,text-decoration-color .25s}
.footer-legal-links a:is(:hover,:focus-visible){color:#fff;text-decoration-color:#fff}
