/* Consolidated care and responsive layout refinements. */
.insurance .insurance-panel{grid-template-columns:1.1fr .8fr 1fr;gap:28px;padding:48px;grid-template-areas:'heading art info'}.insurance-heading{grid-area:heading}.insurance-art{grid-area:art;width:100%;max-width:280px;justify-self:center}.insurance-art img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;mask-image:radial-gradient(ellipse closest-side,#000 70%,transparent 100%)}.insurance-info{grid-area:info}.insurance .insurance-heading h2{font-size:clamp(34px,3vw,44px)}.insurance .insurance-info .button{gap:14px;padding-left:18px;font-size:14px}@media(max-width:1100px){.insurance .insurance-panel{grid-template-columns:1.3fr .7fr;grid-template-areas:'heading art' 'info info';gap:24px;padding:36px}.insurance-info{border-top:1px solid #ffffff30;padding-top:24px}.insurance-art{max-width:250px}.insurance-info>p{max-width:560px}.insurance-info small{margin-top:16px}}@media(max-width:580px){.insurance .insurance-panel{grid-template-columns:1fr;grid-template-areas:'art' 'heading' 'info';padding:28px;gap:18px}.insurance-art{max-width:190px}.insurance .insurance-heading h2{font-size:35px}.insurance-heading>p:last-child{margin-top:18px}.insurance-info{padding-top:20px}}
.specialist-care .implants img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center}.specialist-care .implants:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#58504f 0%,#58504ff2 30%,#58504f55 58%,transparent 76%);pointer-events:none}.specialist-care .implants>div{position:relative;z-index:1;max-width:62%}.specialist-care .implants .round-arrow{z-index:2}.specialist-care .implants h3{max-width:240px}.specialist-care .implants>div p{max-width:215px}@media(max-width:580px){.specialist-care .implants>div{max-width:61%}.specialist-care .implants h3{font-size:28px}.specialist-care .implants>div p{font-size:13px}}
h1,h2,h3{font-family:Outfit,sans-serif;letter-spacing:-.025em;font-weight:500}.button{font-family:Outfit,sans-serif;font-weight:600}.booking-option strong{font-family:Outfit,sans-serif;font-weight:600}
.hero-copy,.hero-media,.team-grid>*,.section-heading>*,.branch-card,.insurance-panel>*{min-width:0}
.section-heading h2{max-width:760px;text-wrap:balance}.section-heading>.button{flex-shrink:0}
.featured-services{padding-top:0}.service-film:first-child{min-height:410px}.service-film{min-height:330px}
.specialist-care{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-top:20px}.specialist-care .care-card{grid-column:auto;grid-row:auto;min-height:265px;padding:32px}.specialist-care .aesthetic img{object-position:70% 68%}.specialist-care .aesthetic:after{background:linear-gradient(90deg,#f4eee8f5 0%,#f4eee8bd 38%,transparent 75%)}.specialist-care .aesthetic>div{max-width:65%}.specialist-care .aesthetic .tag{background:#fff9}.specialist-care .implants{background:var(--ink)}.specialist-care .implants h3{font-size:32px}.specialist-care .implants p{max-width:290px}.specialist-care .implants .round-arrow{background:#ffffff20;color:white}
.service-film video{z-index:0}.service-film:after{z-index:1}.film-tag{z-index:2;pointer-events:none}.film-link{z-index:2}.film-play{z-index:3}.film-link:focus-visible{outline-offset:-5px;border-radius:28px}.film-link p{max-width:340px}
.team figure{height:auto}.team figure img{height:365px}.team figcaption{line-height:1.5;margin-top:12px;text-align:left}.team-info{min-height:95px}
.testimonial-track{position:relative;scroll-padding:2px}.testimonial-card{min-height:285px;padding:30px}.testimonial-card blockquote{margin-bottom:26px}.testimonial-controls{grid-template-columns:56px auto 56px;justify-content:end;gap:15px}.testimonial-controls button{height:46px}.reviews-summary{margin-bottom:24px}.review-source-note{max-width:650px;font-size:11px;line-height:1.6}
.site-footer{background:#58504f;color:#fff;padding:0}.footer-invitation{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:58px 0;border-bottom:1px solid #ffffff26}.footer-invitation h2{font-size:clamp(38px,4vw,58px);line-height:1.15}.footer-invitation .eyebrow{color:#dbd4ce;margin-bottom:16px}.footer-invitation>.button{flex-shrink:0}.footer-columns{display:grid;grid-template-columns:.95fr 1fr .85fr 1.3fr;gap:36px;padding:48px 0}.footer-identity img{width:115px;height:95px;object-fit:contain;object-position:left center}.footer-identity p{color:#e2dcd7;font-size:14px;margin-top:15px}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.footer-column h3{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.03em;line-height:1.5;color:#dbd4ce;margin-bottom:9px}.footer-column>a,.footer-column>button{font-size:14px;text-align:left;padding:0;background:none;border:0;color:white;line-height:1.5}.footer-column>button span{display:block;font-size:11px;color:#dbd4ce;margin-top:3px}.footer-column a:hover,.footer-column button:hover{color:#e6c5b5;text-decoration:underline;text-underline-offset:4px}.footer-contact .footer-phone{font-size:20px;letter-spacing:-.03em;white-space:nowrap}.footer-contact>a{overflow-wrap:anywhere}.footer-contact p{font-size:13px;line-height:1.8;color:#e2dcd7;margin-top:3px}.footer-contact .footer-map{font-size:12px}.footer-base{border-top:1px solid #ffffff26;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-size:11px;color:#dbd4ce}.footer-base>a{white-space:nowrap}dialog{overscroll-behavior:contain}.booking-option{gap:16px}.booking-option>span:last-child{flex-shrink:0}img{max-width:100%}
@media(min-width:721px) and (max-width:1100px){header nav{gap:15px}header{gap:12px}.hero h1{font-size:clamp(39px,5vw,53px)}.hero{grid-template-columns:1fr 1fr}.hero-media{height:455px}.section-heading h2{font-size:36px}.footer-columns{grid-template-columns:1fr 1fr;gap:35px 55px}.branch-body{padding:20px 15px}.branch-body .button{font-size:12px;padding:10px;gap:7px}.insurance-panel{gap:30px;padding:40px}.team-grid{gap:30px}.team figure img{height:320px}}
@media(max-width:720px){.hero-media{height:400px}.branches{padding-bottom:52px}.service-film:first-child,.service-film{min-height:345px}.specialist-care{grid-template-columns:1fr;gap:16px;margin-top:16px}.specialist-care .care-card{min-height:245px;padding:26px}.specialist-care .aesthetic h3{font-size:31px}.specialist-care .implants p:not(.eyebrow){display:block}.specialist-care .care-card .eyebrow{font-size:10px}.specialist-care .care-card .round-arrow{width:38px;height:38px;right:22px;bottom:22px}.insurance-panel{grid-template-columns:1fr;padding:30px;gap:25px}.insurance-heading h2{font-size:38px}.team figure img{height:290px}.team figure{height:auto}.reviews .section-heading{gap:20px}.reviews .section-heading h2{font-size:34px}.footer-invitation{align-items:start;flex-direction:column;padding:42px 0;gap:26px}.footer-columns{grid-template-columns:1fr 1fr;gap:32px 24px;padding:32px 0}.footer-identity{grid-column:1/-1;display:flex;align-items:center;gap:30px}.footer-identity img{width:90px;height:72px}.footer-identity p{margin:0;font-size:13px}.footer-contact{grid-column:1/-1}.footer-base{align-items:start;flex-wrap:wrap;gap:13px}.footer-base>span:nth-child(2){order:3;width:100%;font-size:10px}.footer-base>a{margin-left:auto}.faq{padding-bottom:50px}.testimonial-card{min-height:285px}.testimonial-person strong{font-size:15px}}
@media(max-width:400px){.branch-card{grid-template-columns:1fr}.branch-photo{height:165px;min-height:0}.branch-body{padding:22px}.branch-body .button{font-size:14px}.branch-details{font-size:12px}.hero-media{height:340px}.film-link{padding:23px}.film-link h3{font-size:28px}.film-link p{font-size:12px}.testimonial-card{padding:23px}.testimonial-person{gap:12px}.insurance-panel{padding:25px}.insurance-heading h2{font-size:34px}.insurance-info .button{padding:12px 14px;font-size:13px;gap:12px}.footer-columns{gap:30px 18px}.footer-column>a,.footer-column>button{font-size:13px}}
/* Compact insurance section: fewer rows and consistent spacing. */
.insurance{padding-bottom:56px}.insurance .insurance-panel{padding:36px;gap:22px}.insurance-heading .eyebrow{margin-bottom:14px}.insurance-heading>p:last-child{margin-top:18px}.insurance .insurance-info>p{margin:0 0 20px}.insurance .insurance-info small{margin-top:16px}.insurance-art{max-width:225px}
@media(min-width:581px) and (max-width:1100px){.insurance .insurance-panel{grid-template-columns:minmax(0,1fr) 190px;gap:20px 26px;padding:30px}.insurance-art{max-width:190px}.insurance-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;align-items:center;padding-top:20px}.insurance .insurance-info>p{margin:0;max-width:430px;font-size:14px}.insurance .insurance-info .button{white-space:nowrap}.insurance .insurance-info small{grid-column:1/-1;margin:0;font-size:11px}.insurance-heading>p:last-child{font-size:15px;max-width:440px}.insurance .insurance-heading h2{font-size:36px}}
@media(max-width:580px){.insurance{padding-bottom:40px}.insurance .insurance-panel{position:relative;padding:25px;gap:20px;grid-template-areas:'heading' 'info';grid-template-columns:minmax(0,1fr)}.insurance-art{position:absolute;top:14px;right:12px;width:85px;max-width:85px}.insurance-heading .eyebrow{padding-right:72px;font-size:9px;letter-spacing:.1em;min-height:36px;margin-bottom:12px}.insurance .insurance-heading h2{font-size:32px;max-width:270px}.insurance-heading>p:last-child{font-size:14px;margin-top:15px}.insurance-info{padding-top:18px}.insurance .insurance-info>p{font-size:13px;margin-bottom:16px}.insurance .insurance-info small{font-size:11px;margin-top:14px}}
/* Brand motion stays brief, with the original logo intact. */
header .brand{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease}
header .brand img{transform-origin:50% 65%;animation:brand-welcome 1s cubic-bezier(.22,1,.36,1) .1s backwards;transition:transform .35s cubic-bezier(.22,1,.36,1)}
header .brand:after{content:'';position:absolute;inset:-35%;background:linear-gradient(110deg,transparent 38%,#ffffff25 49%,transparent 60%);transform:translateX(-115%);pointer-events:none;animation:brand-shine .9s ease-out .55s both}
header .brand:hover,header .brand:focus-visible{transform:translateY(-2px);box-shadow:0 6px 15px #8e4c4c25}
header .brand:hover img,header .brand:focus-visible img{transform:scale(1.065) rotate(-3deg)}
header .brand:hover:after,header .brand:focus-visible:after{animation:brand-shine-hover .7s ease-out both}
header .brand:active{transform:translateY(0) scale(.97)}
@keyframes brand-welcome{0%{opacity:0;transform:translateY(8px) scale(.88) rotate(-5deg)}65%{opacity:1;transform:translateY(-2px) scale(1.035) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes brand-shine{from{transform:translateX(-115%)}to{transform:translateX(115%)}}
@keyframes brand-shine-hover{from{transform:translateX(-115%)}to{transform:translateX(115%)}}
@media(prefers-reduced-motion:reduce){header .brand,header .brand img,header .brand:after{animation:none!important;transition:none!important}header .brand:after{display:none}header .brand:hover,header .brand:focus-visible,header .brand:hover img,header .brand:focus-visible img,header .brand:active{transform:none}}
/* Compact footer, keeping contact and navigation easy to scan. */
.site-footer .footer-invitation{padding:28px 0;gap:24px}.site-footer .footer-invitation h2{font-size:32px;line-height:1.2}.site-footer .footer-invitation h2 br{display:none}.site-footer .footer-invitation .eyebrow{font-size:10px;margin-bottom:9px}.site-footer .footer-invitation>.button{padding:11px 14px 11px 20px;font-size:14px}.site-footer .footer-columns{grid-template-columns:.7fr 1fr .9fr 1.3fr;padding:28px 0;gap:26px}.site-footer .footer-identity img{width:82px;height:68px}.site-footer .footer-identity p{font-size:12px;margin-top:10px}.site-footer .footer-column{gap:9px}.site-footer .footer-column h3{font-size:12px;margin-bottom:5px}.site-footer .footer-column>a,.site-footer .footer-column>button{font-size:13px}.site-footer .footer-column>button span{font-size:10px}.site-footer .footer-contact .footer-phone{font-size:18px}.site-footer .footer-contact p{font-size:12px;line-height:1.6}.site-footer .footer-base{padding:16px 0;gap:16px;font-size:10px}
@media(min-width:721px) and (max-width:1000px){.site-footer .footer-columns{grid-template-columns:.6fr 1fr .9fr 1.25fr;gap:18px}.site-footer .footer-invitation h2{font-size:29px}.site-footer .footer-contact .footer-phone{font-size:17px}.site-footer .footer-column>a,.site-footer .footer-column>button{font-size:12px}.site-footer .footer-identity p{font-size:11px}}
@media(max-width:720px){.site-footer .footer-invitation{padding:26px 0;gap:18px}.site-footer .footer-invitation h2{font-size:29px}.site-footer .footer-columns{grid-template-columns:1fr 1fr;padding:24px 0;gap:22px}.site-footer .footer-identity{grid-column:1/-1;gap:20px}.site-footer .footer-identity img{width:64px;height:54px}.site-footer .footer-identity p{margin:0}.site-footer .footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.site-footer .footer-contact h3{grid-column:1/-1;margin:0}.site-footer .footer-contact .footer-phone{grid-column:1;font-size:16px}.site-footer .footer-contact>a[href^="mailto:"]{grid-column:1;font-size:11px}.site-footer .footer-contact p{grid-column:2;grid-row:2/4;margin:0}.site-footer .footer-contact .footer-map{grid-column:1/-1}.site-footer .footer-base{padding:16px 0;gap:10px}.site-footer .footer-base>span:nth-child(2){font-size:9px}}
/* Shared hover rhythm for cards and panels; motion only on precise pointers. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .branch-card,.service-film,.care-card,.insurance-panel,.testimonial-card{transition:translate .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease,border-color .3s ease;}
 .branch-card:hover,.service-film:hover,.care-card:hover{translate:0 -4px;box-shadow:0 12px 28px #58504f18;}
 .branch-card:hover,.care-card:hover{transform:none;}
 .branch-photo img,.service-film video,.specialist-care .care-card img{transition:scale .65s cubic-bezier(.22,1,.36,1);}
 .branch-card:hover .branch-photo img,.service-film:hover video{scale:1.035;}
 .specialist-care .care-card:hover img{scale:1.035;}
 .round-arrow,.film-arrow,.button>span{transition:translate .3s ease,rotate .3s ease,background .3s ease;}
 .care-card:hover .round-arrow,.service-film:hover .film-arrow,.branch-card:hover .button>span{translate:2px -2px;}
 .service-film:hover .film-arrow{transform:none;background:#733e3e;}
 .insurance-panel:hover{translate:0 -3px;box-shadow:0 14px 30px #8e4c4c20;}
 .insurance-art img{transition:translate .55s ease,rotate .55s ease;}
 .insurance-panel:hover .insurance-art img{translate:0 -5px;rotate:-2deg;}
 .testimonial-card:hover{translate:0 -2px;border-color:var(--taupe);box-shadow:0 7px 16px #58504f0c;}
 .testimonial-avatar{transition:scale .3s ease;}.testimonial-card:hover .testimonial-avatar{scale:1.06;}
 .team figure img{transition:filter .4s ease;}.team figure:hover img{filter:brightness(1.045);}
 .faq summary{transition:color .2s ease;}.faq summary:hover{color:var(--wine);}.faq summary:after{transition:rotate .25s ease;}.faq details:not([open]) summary:hover:after{rotate:90deg;}
 .footer-column>a,.footer-column>button{transition:translate .25s ease,color .25s ease;}.footer-column>a:hover,.footer-column>button:hover{translate:3px 0;}
 .footer-invitation:hover .button>span{translate:2px -2px;}
}
@media(prefers-reduced-motion:reduce){.branch-card:hover,.care-card:hover,.branch-card:hover img,.film-link:hover .film-arrow{transform:none!important}.branch-card,.service-film,.care-card,.insurance-panel,.testimonial-card,.insurance-art img,.round-arrow,.film-arrow{translate:none!important;scale:none!important;rotate:none!important;}}
/* Service copy and CTA move together on hover or keyboard focus. */
@media(prefers-reduced-motion:no-preference){
 .film-link>span:first-child{transition:translate .4s cubic-bezier(.22,1,.36,1);}
 .film-link>span:first-child p{transition:translate .45s cubic-bezier(.22,1,.36,1);}
 .film-link .film-arrow{transition:translate .35s cubic-bezier(.22,1,.36,1),scale .35s ease,rotate .35s ease,background .25s ease,box-shadow .35s ease;}
 .film-link:focus-visible>span:first-child{translate:0 -7px;}
 .film-link:focus-visible>span:first-child p{translate:0 -2px;}
 .film-link:focus-visible .film-arrow{translate:3px -5px;scale:1.1;rotate:45deg;background:#733e3e;box-shadow:0 5px 16px #20171930;transform:none;}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .film-link:hover>span:first-child{translate:0 -7px;}
 .film-link:hover>span:first-child p{translate:0 -2px;}
 .service-film .film-link:hover .film-arrow{translate:3px -5px;scale:1.1;rotate:45deg;background:#733e3e;box-shadow:0 5px 16px #20171930;transform:none;}
}
@media(prefers-reduced-motion:reduce){.film-link>span:first-child,.film-link>span:first-child p,.film-link .film-arrow{translate:none!important;scale:none!important;rotate:none!important;transition:none!important;}}
.branch-card a.branch-photo{display:block}.branch-body h3 a:hover{color:var(--wine)}

/* Contracted insurers for Praha 6 and Zirovnice. */
.insurance .insurance-panel.insurance-companies{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:38px}
.insurance-companies .insurance-heading>p:last-child{max-width:none;font-size:16px;margin-top:14px}
.insurance-companies .insurance-heading .eyebrow{padding:0;min-height:0;font-size:14px}
.insurance-companies .insurance-heading h2{max-width:none;font-size:clamp(28px,3.5vw,42px)}
.insurer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.insurer-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;padding:20px 12px;border:1px solid #ffffff40;border-radius:18px}
.insurer-logo img{width:100%;height:76px;object-fit:contain;max-width:140px}
.insurer-logo span{font-size:14px;font-weight:600;color:white}
.insurance-footnote{padding-top:20px;border-top:1px solid #ffffff40}
.insurance-footnote p{font-size:14px;line-height:1.6;margin:0;color:#fff}
.insurance-footnote p+p{margin-top:8px;color:#f1dfd9}
@media(max-width:580px){.insurance .insurance-panel.insurance-companies{padding:25px;gap:22px}.insurer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.insurer-logo:last-child{grid-column:1/-1}.insurer-logo img{height:62px}.insurance-companies .insurance-heading .eyebrow{font-size:14px}}

/* Restore the original tooth-and-shield artwork alongside the heading. */
.insurance .insurance-companies{position:relative;overflow:hidden}
.insurance-companies .insurance-restored-art{position:absolute;top:16px;right:24px;width:180px;height:170px;object-fit:contain;pointer-events:none}
.insurance-companies .insurance-heading{padding-right:190px;min-height:145px}
@media(max-width:580px){.insurance-companies .insurance-restored-art{top:16px;right:12px;width:95px;height:100px}.insurance-companies .insurance-heading{padding-right:0;min-height:0}.insurance-companies .insurance-heading .eyebrow{padding-right:90px;min-height:75px}}

/* Feather the artwork into the panel and animate individual insurer tiles. */
.insurance-companies .insurance-restored-art{mask-image:radial-gradient(ellipse at center,#000 38%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 38%,transparent 72%);width:210px;height:190px;top:8px;right:12px}
.insurance-companies .insurer-logo{transition:transform .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease}
.insurance-companies .insurer-logo img{transition:transform .22s ease}
@media(hover:hover){.insurance-companies .insurer-logo:hover{transform:translateY(-5px);background:#ffffff12;border-color:#ffffffa0;box-shadow:0 10px 22px #48252a25}.insurance-companies .insurer-logo:hover img{transform:scale(1.07)}}
@media(max-width:580px){.insurance-companies .insurance-restored-art{width:115px;height:115px;top:8px;right:6px}}
@media(prefers-reduced-motion:reduce){.insurance-companies .insurer-logo,.insurance-companies .insurer-logo img{transition:none}.insurance-companies .insurer-logo:hover,.insurance-companies .insurer-logo:hover img{transform:none}}

.specialist-care .aesthetic{background:#e5dfd8}
.specialist-care .aesthetic img{inset:0 0 0 auto;width:60%;height:100%;object-fit:cover;object-position:center bottom;opacity:1;mask-image:linear-gradient(90deg,transparent,#000 24%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%)}
.specialist-care .aesthetic:hover img{transform:none;scale:1}
.specialist-care .aesthetic:after{background:linear-gradient(90deg,#f4eee8cc,transparent 65%)}
