:root{--smile-below:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q720 120 1440 0V60H0Z' fill='black'/%3E%3C/svg%3E");--smile-above:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q720 120 1440 0Z' fill='black'/%3E%3C/svg%3E");--wave-mask:var(--smile-below)}
.photo-hero::after{left:0;width:100%;border-radius:0;mask:var(--smile-below) center / 100% 100% no-repeat}
.team-section:has(+.feedback)::after{mask-image:var(--smile-above);transform:none}
.photo-hero .hero-image[src$="hero-etusivu-retusoitu-20261005.webp"]{object-position:60% 45%}
.photo-hero .hero-image[src$="hero-palvelut-tiimi-20261005.webp"]{object-position:38% 45%}
.monitoring-heading{position:relative;background:var(--sage);padding:clamp(3rem,6vw,6rem) 0 calc(clamp(3rem,6vw,6rem) + 60px)}
.monitoring-heading::after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:60px;background:var(--paper);mask:var(--smile-below) center / 100% 100% no-repeat;pointer-events:none}
.monitoring-heading h1{font-size:clamp(2.2rem,5vw,4.8rem);max-width:100%;overflow-wrap:anywhere;margin:.7rem 0 1.4rem}
.monitoring-heading .lead{max-width:48rem;margin:0}
.monitoring-layout{display:grid;grid-template-columns:minmax(190px,1fr) minmax(0,2.7fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.monitoring-nav{display:grid;gap:.8rem;border-left:3px solid var(--forest);padding-left:1.4rem}
.monitoring-nav a{font-size:.92rem;text-underline-offset:5px}
.monitoring-content{min-width:0}
.monitoring-content section{scroll-margin-top:130px;margin-bottom:3rem}
.monitoring-content h2{font-size:clamp(1.6rem,2.8vw,2.5rem);margin-top:0}
.monitoring-documents{padding:clamp(1.2rem,3vw,2.4rem);border:1px solid var(--line);border-radius:12px;background:#e0eaf5}
.monitoring-documents .document-download{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-block:1px solid var(--line);font-weight:600;line-height:1.6;text-underline-offset:5px}
.monitoring-documents small{font-size:.8rem}
.monitoring-content a:focus-visible{outline:3px solid var(--forest);outline-offset:5px}
@media(max-width:750px){.monitoring-layout{grid-template-columns:1fr}.monitoring-nav{padding-bottom:1rem}.monitoring-heading h1{font-size:clamp(2rem,7.6vw,3.2rem)}.monitoring-content section{scroll-margin-top:110px}}
.portrait.portrait-photo{border:0;border-radius:50%;background:#fff}
.portrait.portrait-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Ccircle cx='500' cy='500' r='495' fill='none' stroke='%23064E9A' stroke-width='10'/%3E%3C/svg%3E") center / 100% 100% no-repeat}
.portrait.portrait-photo img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center 35%;transform:none;border-radius:50%}
.editorial-intro{align-items:center}
.full-team{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.full-team .portrait,.full-team .portrait:not(.placeholder-portrait){height:auto;aspect-ratio:1;width:calc(100% - 2.5rem);max-width:260px;margin:1.25rem auto 0}
.full-team .person-body{padding:1.25rem}
.full-team .person h3{font-size:1.35rem}
.full-team .person-role{font-size:.8rem}
.full-team .person-languages{font-size:.75rem}
.full-team summary,.full-team .biography{font-size:.9rem}
.photo-hero{background:#d8e4ec;align-items:center}
.photo-hero .hero-copy{min-height:640px;padding:5rem 48% calc(var(--hero-wave-height) + 3rem) 0;justify-content:center;align-items:flex-start;text-align:left}
.photo-hero .hero-copy{container-type:inline-size}
.photo-hero .hero-copy h1{font-family:'Poppins',Arial,sans-serif;font-size:clamp(1.5rem,8.5cqw,4rem);font-weight:700;line-height:1.18;max-width:100%;color:#123561;text-shadow:none;hyphens:manual;overflow-wrap:normal;word-break:normal;text-wrap:balance}
.photo-hero .hero-intro{hyphens:none;overflow-wrap:normal;word-break:normal;text-wrap:pretty}
.photo-hero .hero-intro,.photo-hero .eyebrow,.photo-hero .hero-scroll{color:#123561;text-shadow:none}
.photo-hero .hero-shade{background:linear-gradient(90deg,#d8e4ec 0%,#d8e4ecf5 34%,#d8e4ecb8 49%,#d8e4ec00 72%)}
.photo-hero .hero-actions{justify-content:flex-start;flex-wrap:wrap}
.photo-hero .button{border-color:#153b6a}
.photo-hero .hero-image[src$="hero-palvelut-tiimi-20261005.webp"]{transform:scaleX(-1)}
.home-hero .hero-copy{min-height:calc(100svh - 100px)}
.monitoring-heading h1{font-family:'Poppins',Arial,sans-serif;font-size:clamp(2.4rem,4.7vw,4.8rem);font-weight:700;line-height:1.18;color:#123561}
.price-table caption,.price-table .mobile-cell-label{font-family:inherit;color:var(--ink)}
@media(max-width:1000px){.full-team{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-hero .hero-copy{padding-right:40%}}
@media(max-width:600px){
  .full-team{grid-template-columns:1fr;max-width:380px;margin-inline:auto}
  .photo-hero{min-height:0}
  .photo-hero .hero-image{width:100%;height:340px;object-position:center 30%}
  .photo-hero .hero-shade{background:linear-gradient(180deg,transparent 180px,#d8e4ec 330px)}
  .photo-hero .hero-copy{min-height:0;padding:310px 0 calc(var(--hero-wave-height) + 2.5rem);justify-content:flex-end}
  .photo-hero .hero-copy h1{font-size:clamp(1.5rem,8.5cqw,3rem)}
  .home-hero .hero-copy{min-height:calc(100svh - 100px)}
  .photo-hero .hero-intro{max-width:100%}
  .monitoring-heading h1{font-size:clamp(2rem,8vw,3rem)}
}
.photo-hero .hero-image[src$="hero-medniemi-nykyinen-20261016.jpg"]{object-position:72% 38%}
.hero-long-title .hero-copy h1{font-size:clamp(1.25rem,7cqw,4rem)}
.hero-whitening .hero-image-crop{position:absolute;z-index:-3;inset:0 0 0 48%;overflow:hidden}
.hero-whitening .hero-image-crop .hero-image{inset:auto 0 auto auto;top:50%;width:300%;max-width:none;height:auto;object-fit:contain;transform:translateY(-50%) scaleX(-1);filter:none}
.hero-whitening .hero-shade{background:linear-gradient(90deg,#d8e4ec 50%,#d8e4ec00 70%)}
@media(max-width:600px){.hero-whitening .hero-image-crop{inset:0 0 auto;height:340px}.hero-whitening .hero-shade{background:linear-gradient(180deg,transparent 240px,#d8e4ec 340px)}}
/* Patient case images retain their original square proportions and resolution. */
.aligner-results h2 {max-width: 28ch;}
.aligner-results-grid {display:grid;grid-template-columns:repeat(2,minmax(0,330px));gap:clamp(1rem,4vw,3rem);margin-top:2rem;}
.aligner-results-grid figure {margin:0;}
.aligner-results-grid img {display:block;width:100%;height:auto;border-radius:12px;}
.aligner-results-grid figcaption {margin-top:.75rem;font-weight:600;}
.contact-phones {display:flex;flex-direction:column;gap:.5rem;}
.contact-phones span {font-size:.9rem;}
@media(max-width:480px){.aligner-results-grid {grid-template-columns:minmax(0,330px);}}

/* Frame Aleksandra’s supplied portrait consistently with the existing team photos. */
#aleksandra .portrait-photo img{object-position:center 30%;transform:none}

.whitening-detail + .whitening-detail{margin-top:2.5rem}.whitening-detail h2{font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.3;margin-bottom:1rem}

/* Keep the restored aesthetic hero, but reveal the patient rather than an extreme mouth crop. */
.hero-aesthetic .hero-image-crop .hero-image{top:0;width:240%;transform:scaleX(-1)}
