body{font-family:"Trebuchet MS","Segoe UI",sans-serif}
h1,h2,.lead{font-family:"Palatino Linotype","Book Antiqua",Georgia,serif}
h1{font-size:clamp(35px,4vw,61px);font-weight:400;letter-spacing:-.025em;line-height:1.16}
h2{letter-spacing:-.025em}.lead{font-size:33px}.experience{flex-wrap:wrap}.experience strong{font-size:28px;font-family:Georgia,serif}
.button{transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-2px);box-shadow:0 7px 18px #25272520}
nav a{transition:color .25s ease}.directions summary span{transition:transform .3s ease}.directions details[open] p{animation:detail-enter .35s ease both}
.hero-copy{animation:hero-enter .85s ease both}.hero-photo{animation:photo-enter 1.1s ease both}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.revealed{opacity:1;transform:none}
.certificate-real{font:inherit;color:inherit;cursor:pointer;width:100%;transition:background .3s ease,border-color .3s ease;padding:18px}.certificate-real:hover{background:#e3e6dd;border-color:#909888}.certificate-real:focus-visible,dialog button:focus-visible{outline:3px solid #797e70;outline-offset:4px}
.certificate-image{position:relative;aspect-ratio:4/3;width:100%;overflow:hidden;background:#dfdfd7}.certificate-image img{position:absolute;width:75%;height:133.333%;left:12.5%;top:-16.667%;object-fit:contain;transform:rotate(90deg)}
.certificate-real h3{margin-top:20px}.view-certificate{font-size:14px;margin-top:15px;text-decoration:underline;text-underline-offset:4px}
dialog{border:0;border-radius:6px;padding:22px;background:var(--paper);color:var(--ink);width:min(1000px,94vw);max-height:94dvh;box-shadow:0 20px 90px #0005}dialog[open]{animation:detail-enter .3s ease both}dialog::backdrop{background:#141714bb;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-top h2{font-size:27px}.dialog-top button{font:inherit;border:1px solid var(--line);border-radius:3px;padding:8px 14px;background:transparent;cursor:pointer}body:has(dialog[open]){overflow:hidden}
@keyframes hero-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes photo-enter{from{opacity:0}to{opacity:1}}@keyframes detail-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:650px){h1{font-size:clamp(34px,9.6vw,58px)}.lead{font-size:29px}dialog{padding:14px}.dialog-top h2{font-size:23px}.experience strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-photo,.directions details[open] p,dialog[open]{animation:none}.reveal{opacity:1;transform:none;transition:none}.button,.certificate-real,.directions summary span,nav a{transition:none}.button:hover{transform:none}}
h1,h2,.lead{text-shadow:0 2px 3px rgba(37,39,37,.14)}
.specialization-copy h2{font-size:clamp(28px,2.8vw,42px);line-height:1.25}
.coaching-subtitle{display:block;font-size:.78em;margin-top:8px}
.coaching-list{padding-left:22px;margin:30px 0;color:#343831;line-height:1.65}
.coaching-list li{padding-left:6px;margin-bottom:17px}
.coaching-list li::marker{color:#636c5c}
.coaching-price{border-top:1px solid #babeb4;padding-top:25px;margin-top:30px}
.price-value{font-family:Georgia,serif;font-size:38px;line-height:1.3;margin:0 0 12px;text-shadow:0 2px 3px rgba(37,39,37,.12)}
.price-value span{font-family:"Trebuchet MS","Segoe UI",sans-serif;font-size:16px;margin-left:8px;text-shadow:none;color:#53574f}
.price-terms{font-size:16px;color:#454b40;max-width:390px;margin:0}
@media(max-width:650px){.specialization-copy h2{font-size:30px}.coaching-list{margin-top:25px}.price-value{font-size:35px}}
.service-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;border-bottom:1px solid var(--line)}
.service-heading h2{font-size:clamp(27px,2.7vw,40px);line-height:1.3;overflow-wrap:anywhere}
.service-summary{margin:28px 0 0;color:var(--muted);font-size:18px;line-height:1.7}
.service-content .coaching-list{margin-top:0}
.reconstruction{background:#e8ebe3}
.header{gap:25px}nav{gap:20px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1000px){.header{align-items:flex-start}nav{max-width:450px;gap:12px 20px}}
@media(max-width:650px){.service-section{grid-template-columns:1fr;gap:30px}.service-heading h2{font-size:29px}.service-summary{margin-top:20px}.header nav{justify-content:flex-start;max-width:none}}
.case-gallery{grid-column:1/-1;margin-top:45px;min-width:0}
.case-gallery h3{font-family:"Palatino Linotype",Georgia,serif;font-size:28px;font-weight:400;margin:0 0 25px;text-shadow:0 2px 3px rgba(37,39,37,.12)}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.case-grid figure{margin:0;min-width:0}
.case-grid a{display:block;background:#dfe2da;border-radius:5px;overflow:hidden;transition:box-shadow .3s ease}
.case-grid a:hover{box-shadow:0 8px 28px #25272520}
.case-grid img{display:block;width:100%;height:auto}
@media(max-width:650px){.case-gallery{margin-top:12px}.case-gallery h3{font-size:25px}.case-grid{grid-template-columns:1fr;gap:22px}}
@media(prefers-reduced-motion:reduce){.case-grid a{transition:none}}
/* Consistent reconstruction comparisons without the second image's outer bands. */
#reconstruction .case-grid{align-items:stretch}
#reconstruction .case-grid a{aspect-ratio:1 / 1}
#reconstruction .case-grid img{width:100%;height:100%;object-fit:cover;object-position:center}
#reconstruction .case-grid figure:nth-child(2) img{object-position:50% 47%}
.maternity-gallery{padding:0 5% 60px;margin-top:0}
.maternity-gallery .case-grid a{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:#e9ebe5}
.maternity-gallery .case-grid img{width:100%;height:100%;object-fit:contain}
.case-grid figcaption{margin-top:14px;font-size:17px;color:var(--ink)}
@media(max-width:650px){.maternity-gallery{padding:0 5% 45px}.maternity-gallery h3{font-size:25px}}
/* Space between coaching photograph and the recovery gallery. */
#specialization .maternity-gallery{margin-top:55px;padding-top:0;scroll-margin-top:35px}
.maternity-gallery .case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.maternity-gallery .case-grid a{aspect-ratio:1 / 1;background:#eceee8}
.maternity-gallery .case-grid img{object-fit:contain;width:100%;height:100%}
@media(max-width:900px){.maternity-gallery .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#specialization .maternity-gallery{margin-top:35px}.maternity-gallery .case-grid{grid-template-columns:1fr}}
section.maternity-gallery.section{margin:0 auto;padding:70px 5%;background:var(--stone)}
@media(max-width:650px){section.maternity-gallery.section{padding:50px 5%}}
/* More legible primary navigation. */
.header nav{font-size:16px;gap:16px 22px}
.header nav a{font-weight:600;color:#171b16;line-height:1.5;padding:5px 0;text-shadow:0 1px 2px rgba(23,27,22,.08)}
.header nav a:hover{color:#424d38;text-decoration:underline;text-underline-offset:6px}
@media(max-width:1000px){.header nav{gap:12px 18px}}
@media(max-width:650px){.header nav{font-size:16px;gap:10px 20px}}
/* A single recovery case with matching, edge-to-edge square photographs. */
.maternity-case{padding:20px;background:#dce1d5;border-radius:8px}
.maternity-case .case-grid{gap:18px}
.maternity-case .case-grid a{aspect-ratio:1 / 1;background:transparent;border-radius:4px}
.maternity-case .case-grid img{object-fit:cover;object-position:50% 50%;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.maternity-case-caption{font-size:18px;font-weight:600;margin:22px 0 2px;color:#30382b}
@media(hover:hover){.maternity-case .case-grid a:hover img{transform:scale(1.035)}}
.maternity-gallery.revealed .maternity-case{animation:case-arrive .8s ease both}
.header nav a{position:relative;text-decoration:none}
.header nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#59654d;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
@keyframes case-arrive{from{opacity:.2;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:650px){.maternity-case{padding:12px}.maternity-case-caption{font-size:16px;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.maternity-gallery.revealed .maternity-case{animation:none}.maternity-case .case-grid img,.header nav a::after{transition:none}.maternity-case .case-grid a:hover img{transform:none}}
.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.certificate-real{justify-content:flex-start;padding:24px}
.certificate-image.document-landscape img,.certificate-image.document-portrait img{position:static;width:100%;height:100%;transform:none;object-fit:contain}
.certificate-image.document-portrait{aspect-ratio:3 / 4}
.certificate-real .diploma-details{font-size:16px;line-height:1.6;color:#454b40;margin-top:16px}
.certificate-real .view-certificate{margin-top:auto;padding-top:20px}
@media(max-width:650px){.certificate-grid{grid-template-columns:1fr}.certificate-real{padding:18px}}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:#293127;color:#f4f5ef;border-radius:14px 14px 0 0;position:relative;margin-top:25px}
.contact-copy .section-note{color:#c4cebb;margin-bottom:22px}
.contact-copy h2{font-size:clamp(32px,3.4vw,48px);max-width:460px;text-shadow:none}
.contact-copy>p:last-child{color:#d9ded4;margin:25px 0 0;max-width:410px;line-height:1.75}
.contact-links{display:flex;flex-direction:column;justify-content:center;gap:18px;min-width:0}
.telegram-link{display:flex;align-items:center;gap:18px;padding:25px 22px;border-radius:8px;transition:background .3s ease,transform .3s ease,box-shadow .3s ease}
.telegram-personal{background:#e1e8d8;color:#243021}.telegram-channel{background:#374333;border:1px solid #69765f;color:#f4f5ef}
.telegram-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#24302112;flex-shrink:0}.telegram-channel .telegram-symbol{background:#ffffff0d}.telegram-symbol svg{width:24px;height:24px}
.telegram-text{min-width:0}.telegram-text strong{display:block;font-size:21px;font-weight:600;line-height:1.35}.telegram-text>span{display:block;font-size:14px;opacity:.8;margin-top:5px}
.telegram-handle{margin-left:auto;font-size:14px;white-space:nowrap}
@media(hover:hover){.telegram-link:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0002}.telegram-personal:hover{background:#eef2e8}.telegram-channel:hover{background:#45533f}}
@media(max-width:1000px){.telegram-link{flex-wrap:wrap}.telegram-handle{margin-left:66px}}
@media(max-width:650px){.contact-section{grid-template-columns:1fr;gap:32px;margin-top:0}.telegram-link{padding:22px 18px;gap:15px}.telegram-text strong{font-size:19px}.telegram-handle{margin-left:63px}}
@media(prefers-reduced-motion:reduce){.telegram-link{transition:none}.telegram-link:hover{transform:none}}
