@font-face{font-family:StudioSerif;src:url(DejaVuSerif.woff) format('woff');font-display:swap}@font-face{font-family:StudioSans;src:url(DejaVuSans.woff) format('woff');font-display:swap}:root{--ink:#3d3028;--muted:#74675d;--cream:#faf6ef;--sand:#eee3d4;--accent:#885a40;--line:#d9c9b7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.8 StudioSans,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b16c40;outline-offset:5px}img{max-width:100%;display:block}header{position:sticky;top:0;z-index:20;background:#faf6eff5;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 4%}.brand{display:flex;align-items:center;gap:12px;line-height:1.4;font-family:StudioSerif,serif;font-size:17px}.brand small{font:8px/2.4 StudioSans,sans-serif;display:block;letter-spacing:1.6px}nav{display:flex;gap:24px;font-size:13px}.headcontacts{display:flex;align-items:center;gap:18px}.phone{white-space:nowrap;font-size:13px}.wrap{width:min(1180px,90%);margin:auto}section.wrap{padding-block:100px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center;padding-block:65px!important;min-height:780px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--accent);text-transform:uppercase;margin:0 0 25px}h1,h2,h3{font-family:StudioSerif,Georgia,serif;font-weight:400;line-height:1.2;letter-spacing:-1.3px;margin:0 0 25px;overflow-wrap:normal;word-break:normal}h1{font-size:clamp(38px,4.1vw,61px)}h2{font-size:clamp(33px,3.7vw,49px)}h3{font-size:clamp(28px,3vw,40px)}em,i{font-weight:400;color:var(--accent)}p{margin:0 0 22px}.intro{font-size:17px;max-width:490px}.hero-copy>p:not(.eyebrow){color:var(--muted)}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:30px 0}.btn,button:not(.plain){display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 24px;background:var(--accent);border:1px solid var(--accent);border-radius:3px;color:#fff;font-size:12px;letter-spacing:.2px;line-height:1.6;transition:background .25s,transform .25s}.btn:hover,button:not(.plain):hover{background:#69432e;transform:translateY(-2px)}.btn.outline{background:transparent;color:var(--accent)}.small{min-height:40px;padding:8px 20px}.textlink{display:inline-block;font-size:12px;border-bottom:1px solid var(--accent);padding:7px 0;color:var(--accent)}.hero-note{margin-top:45px;border-left:1px solid var(--line);padding-left:18px;color:var(--muted);font-size:11px;line-height:1.8}.hero-photo{position:relative;align-self:stretch;min-height:550px;padding-bottom:30px}.hero-photo img{width:100%;height:100%;object-fit:cover;border-radius:240px 240px 5px 5px}.photo-label{position:absolute;bottom:0;left:-35px;background:#efe1d0;padding:25px 35px;font-family:StudioSerif;font-size:20px;line-height:1.6;box-shadow:0 12px 35px #6d4f3512}.ribbon{background:var(--sand);display:flex;justify-content:center;align-items:center;gap:55px;padding:25px;font-size:10px;letter-spacing:2px}.ribbon b{font-size:20px;color:var(--accent);font-weight:400}.service{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;margin-top:80px}.service:nth-of-type(even) .service-photo{order:2}.service-photo img{width:100%;height:420px;object-fit:cover;border-radius:4px}.service-copy p{color:var(--muted)}.service-copy .detail{font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin-top:28px}.care{background:#e9dfd1;padding:75px 0}.caregrid{display:grid;grid-template-columns:1fr 1fr;gap:0 10%}.caregrid>.eyebrow{grid-column:1/-1}.caregrid>div{color:var(--muted)}.sectiondesc{color:var(--muted)}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin:35px 0}.tabs button{background:transparent!important;color:var(--ink)!important;border-color:var(--line)!important}.tabs button[aria-pressed=true]{background:var(--accent)!important;color:white!important;border-color:var(--accent)!important}.pricebox{border-top:1px solid var(--line)}.price-row{display:flex;justify-content:space-between;align-items:baseline;gap:25px;border-bottom:1px solid var(--line);padding:15px 5px}.price-row>span:first-child{min-width:0}.price-row .value{white-space:nowrap;font-family:StudioSerif;font-size:21px}.pricenote{font-size:12px;color:var(--muted);max-width:900px;margin-top:25px}.review-section{padding:90px 0;background:#efe6da}.review-title{font-size:21px;letter-spacing:0;margin:45px 0 22px}.reviewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review{margin:0;background:#faf6ef;padding:25px 28px;border-top:1px solid #ccb194}.review>span{font-family:StudioSerif;color:#b99273;font-size:50px;line-height:1}.review blockquote{margin:0 0 25px;font-size:12px;line-height:1.9}.review figcaption{font-size:9px;letter-spacing:.7px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;padding-right:24px}details p{margin:18px 0 0;color:var(--muted);max-width:800px}.contacts{background:#e6d6c1;padding:85px 0}.contactgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.contactphone{font-family:StudioSerif;font-size:26px;display:block}.address-card{border:1px solid #c8ae90;padding:45px;background:#f3eadc}.address-card h3{font-size:35px}.address-card .textlink{display:table;margin-top:16px}.map-pin{float:right;font-size:40px;color:var(--accent)}footer{padding-block:35px;font-size:10px;color:var(--muted)}footer>div{display:flex;flex-wrap:wrap;gap:20px}.plain{border:0;background:none;color:inherit;padding:0;font-size:inherit;text-decoration:underline}.mobilebar{display:none}#cookie-banner{position:fixed;bottom:20px;left:20px;z-index:50;max-width:480px;background:#fffaf4;border:1px solid var(--line);padding:22px;box-shadow:0 12px 80px #3d302833}#cookie-banner p{font-size:11px;line-height:1.8;margin-bottom:14px}#cookie-banner a{text-decoration:underline}#cookie-banner>div{display:flex;gap:10px;flex-wrap:wrap}#cookie-banner button{font-size:10px;padding:10px 14px;min-height:42px}.reveal{animation:softin 1s both}@keyframes softin{from{opacity:.4;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.legal{max-width:850px;padding:65px 0!important}.legal h1{font-size:36px}.legal h2{font-size:25px;margin-top:35px}.legal a{text-decoration:underline}.legal p{overflow-wrap:anywhere}@media(min-width:1600px){.hero{min-height:850px}}@media(max-width:1100px){header{gap:14px}.brand{font-size:14px}nav{gap:14px}.phone{font-size:11px}.headcontacts{gap:10px}.hero{gap:5%}.hero-photo{min-height:500px}.actions{gap:15px}}@media(max-width:850px){header{flex-wrap:wrap;padding:10px 5%;gap:8px}.brand{flex:1}nav{order:3;flex-basis:100%;justify-content:center;padding-top:6px;font-size:11px;gap:25px}.hero{grid-template-columns:1fr;min-height:0;padding-top:45px!important;gap:35px}.hero-copy{max-width:620px}.hero-photo{height:480px;min-height:0;max-width:600px;width:100%;margin:auto}.hero-photo img{border-radius:160px 160px 5px 5px}.photo-label{left:15px}.hero-note{margin-top:25px}.service{gap:5%}.service-photo img{height:360px}.reviewgrid{grid-template-columns:1fr}.review{padding:25px}.review blockquote{font-size:14px}.ribbon{gap:20px;font-size:8px;letter-spacing:1px}.caregrid{gap:0 6%}.contactgrid{gap:5%}.address-card{padding:25px}.contactphone{font-size:23px}.caregrid h2{font-size:35px}}@media(max-width:600px){body{font-size:14px}html{scroll-padding-top:115px}.wrap{width:88%}section.wrap{padding-block:65px}.brand{font-size:12px}.brand small{font-size:6px;letter-spacing:1.1px}.headcontacts .phone{font-size:10px}.headcontacts .btn{padding:7px 12px;min-height:35px;font-size:10px}.hero h1{font-size:38px;letter-spacing:-1.3px}.eyebrow{font-size:8px;letter-spacing:1.7px}.intro{font-size:15px}.hero-photo{height:400px}.photo-label{font-size:17px;padding:20px 25px}.ribbon{gap:15px;flex-wrap:wrap;padding:18px}.ribbon span:last-child,.ribbon b:last-of-type{display:none}.service{grid-template-columns:1fr;gap:30px;margin-top:50px}.service:nth-of-type(even) .service-photo{order:0}.service-photo img{height:310px}.service-copy h3{font-size:31px}.care{padding:55px 0}.caregrid{grid-template-columns:1fr}.caregrid h2{font-size:33px}.tabs{gap:8px}.tabs button{font-size:10px;padding:10px 12px;min-height:44px;flex:1 1 45%}.price-row{font-size:12px;gap:15px}.price-row .value{font-size:17px}.review-section{padding:60px 0}.contactgrid{grid-template-columns:1fr;gap:35px}.contacts{padding:60px 0}.address-card{padding:30px}.contactphone{font-size:25px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;padding:8px 5%;gap:8px;background:#faf6effa;border-top:1px solid var(--line)}.mobilebar .btn{flex:1;padding:10px 8px;min-height:43px;font-size:10px}footer{padding-bottom:100px}#cookie-banner{bottom:76px;left:4%;right:4%;max-width:none;padding:17px}.legal h1{font-size:28px}h2{font-size:33px}header nav a{padding:5px 0}footer>div{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:600px){.headcontacts .phone{font-size:0}.headcontacts .phone::after{content:"Позвонить";font-size:10px}}@media(max-width:360px){.brand{font-size:11px;gap:8px}.headcontacts{gap:8px}.headcontacts .btn{padding:7px 10px}.hero h1{font-size:34px;letter-spacing:-.6px}}





@media(max-width:600px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:8px 5%}
 header .brand{min-width:0;gap:10px;font-size:14px;line-height:1.5}
 header .brand>span{min-width:0;overflow-wrap:normal;word-break:normal}
 
 header .brand small{font-size:6px;letter-spacing:.5px;line-height:1.8;margin-top:6px}
 header .headcontacts{display:flex;flex-direction:column;align-items:stretch;gap:8px}
 header .headcontacts .phone{font-size:0;text-align:center;padding:4px 0}
 header .headcontacts .phone::after{font-size:10px}
 header .headcontacts .btn{min-width:64px;min-height:38px;padding:7px 12px}
 header nav{grid-column:1/-1;order:initial;flex-basis:auto;padding-top:0;gap:22px}
 html{scroll-padding-top:160px}
}
@media(max-width:360px){header{column-gap:8px}header .brand{font-size:12px;gap:8px}header nav{gap:19px}}

.brand{gap:0}.brand>span{display:block}@media(max-width:600px){header .brand{gap:0;min-height:52px;align-items:center}header .brand small{margin-top:3px}html{scroll-padding-top:110px}}

/* Preserve the portrait composition of the supplied studio photographs. */
.service-photo{width:min(100%,420px);margin-inline:auto}
.service-photo img{height:auto;aspect-ratio:auto;object-fit:contain}
.hero-photo img{object-position:center center}

/* Mobile header: studio name and contact actions share the top row. */
@media(max-width:600px){
 header{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:4px 10px;padding:8px 5%}
 header .brand{grid-column:1;grid-row:1;min-width:0;min-height:42px;line-height:1.4;font-size:14px}
 header .brand>span{display:block;min-width:0}
 header .brand small{font-size:6px;letter-spacing:.35px;line-height:1.5;margin-top:3px}
 header .headcontacts{grid-column:2;grid-row:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px;min-width:0}
 header .headcontacts .phone{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 8px;border:1px solid var(--accent);border-radius:3px;color:var(--accent);font-size:0;line-height:1.5;white-space:nowrap}
 header .headcontacts .phone::after{font-size:10px;letter-spacing:0}
 header .headcontacts .btn{min-width:45px;min-height:38px;padding:7px 9px;font-size:10px;white-space:nowrap}
 header nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;flex-wrap:nowrap;gap:12px;padding:0;font-size:11px;line-height:1.5}
 header nav a{padding:6px 0;white-space:nowrap}
 html{scroll-padding-top:105px}
}
@media(max-width:360px){header{column-gap:8px}header .brand{font-size:12px}header .brand small{font-size:5.5px;letter-spacing:.2px}header nav{gap:10px}}

@media(min-width:601px){header .brand{order:0}header nav{order:1}header .headcontacts{order:2}}@media(min-width:601px) and (max-width:850px){header nav{order:3}}
