@font-face{font-family:Manrope;src:url("assets/manrope.woff2") format("woff2"), url("assets/manrope.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url("assets/manrope-medium.woff2") format("woff2"), url("assets/manrope-medium.ttf") format("truetype");font-style:normal;font-weight:500 800;font-display:swap}@font-face{font-family:Cormorant;src:url("assets/cormorant.woff2") format("woff2"), url("assets/cormorant.ttf") format("truetype");font-style:normal;font-weight:300 700;font-display:swap}@font-face{font-family:Cormorant;src:url("assets/cormorant-italic.woff2") format("woff2"), url("assets/cormorant-italic.ttf") format("truetype");font-style:italic;font-weight:300 700;font-display:swap}
:root{--paper:#f7f3ed;--paper-deep:#eee6dc;--ink:#352a26;--muted:#746960;--wine:#673c45;--terracotta:#a85842;--line:#d8ccc0;--radius:4px;--serif:Cormorant,Georgia,'Times New Roman',serif;--sans:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.01;letter-spacing:-.025em}em{font-weight:400;color:var(--wine)}h2{font-size:clamp(44px,5vw,68px)}h3{font-size:38px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:6px}.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--wine);color:white;padding:12px}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:23px 5.6%}.brand{display:flex;flex-direction:column;align-items:center;line-height:1}.brand-name{font-family:var(--serif);font-size:36px;letter-spacing:-.03em}.brand-caption{font-size:12px;letter-spacing:.25em;margin-top:8px}.site-header nav{display:flex;gap:30px;font-size:14px}.site-header nav a{padding:10px 0}.site-header nav a:hover{color:var(--wine)}.button{min-height:56px;display:inline-flex;align-items:center;justify-content:center;text-align:center;background:var(--wine);border:1px solid var(--wine);color:#fffaf5;padding:16px 26px;font-size:14px;font-weight:550;letter-spacing:.02em;border-radius:2px;transition:background .2s,border-color .2s}.button:hover{background:#4b2b32;border-color:#4b2b32}.button.small{min-height:45px;padding:10px 23px}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding:9px 0;display:inline-block}.text-link:hover{color:var(--wine);border-color:var(--wine)}.eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.6;font-weight:550;color:var(--muted)}.rule{width:32px;height:1px;background:var(--wine);display:inline-block;vertical-align:middle;margin-right:12px}.hero{display:grid;grid-template-columns:1.1fr 1fr;max-width:1440px;margin:auto;min-height:740px;padding:48px 5.6% 58px;gap:36px;align-items:center}.hero-copy{padding:22px 0}.hero h1{font-size:clamp(48px,5.6vw,78px);line-height:.99;margin:30px 0 26px}.hero-service{display:block;font-family:var(--sans);font-size:16px;line-height:1.4;letter-spacing:0;font-weight:450;margin-bottom:18px}.hero-text{font-size:15px;color:var(--muted);line-height:1.9}.hero-actions{display:flex;align-items:center;gap:30px;margin:32px 0 36px}.rating{display:inline-flex;align-items:center;gap:18px}.rating-score{font-family:var(--serif);font-size:39px;line-height:1;border-right:1px solid var(--line);padding-right:17px;white-space:nowrap}.star{font:16px/1 var(--sans);color:#a17c4f;margin-left:5px;vertical-align:middle}.rating strong{font-size:12px;font-weight:550;display:block}.rating small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.hero-visual{min-height:570px;background:var(--paper-deep);position:relative;display:flex;justify-content:center;align-items:center;border-radius:180px 180px 1px 1px;overflow:hidden}.hero-wordmark{font-family:var(--serif);font-size:150px;font-style:italic;font-weight:300;color:var(--wine)}.hero-note{position:absolute;bottom:25px;font:italic 25px var(--serif);color:var(--wine)}.intro{max-width:1280px;margin:auto;padding:80px 5%;border-top:1px solid var(--line);text-align:center}.intro h2{margin:22px 0 45px}.intro-services{display:grid;grid-template-columns:repeat(3,1fr)}.intro-services p{padding:0 20px;border-right:1px solid var(--line)}.intro-services p:last-child{border:0}.intro-services span{font:38px var(--serif);display:block}.intro-services small{font-size:14px;color:var(--muted)}.contact-section{text-align:center;background:var(--paper-deep);padding:80px 24px}.contact-section h2{margin:20px 0 30px}.contact-section p:not(.eyebrow){color:var(--muted);margin-bottom:30px}.contact-phone{display:block;margin-top:20px;font-size:20px}footer{display:flex;justify-content:space-between;gap:20px;max-width:1280px;margin:auto;padding:30px 5%;color:var(--muted);font-size:12px}@media(max-width:1000px){.site-header nav{gap:18px}.hero{min-height:620px;gap:25px}.hero h1{font-size:58px}.hero-visual{min-height:490px}.hero-actions{gap:20px}.header-inner{gap:20px}.brand-name{font-size:31px}.hero-text{font-size:14px}}@media(max-width:760px){html{scroll-padding-top:30px}.header-inner{padding:18px 6%}.site-header nav{display:none}.site-header .button{display:none}.brand-name{font-size:29px}.brand-caption{font-size:12px}.button.small{min-height:42px;padding:8px 18px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:36px 6% 45px;gap:32px}.hero-copy{padding:0}.hero .eyebrow{font-size:12px;letter-spacing:.12em}.hero h1{font-size:clamp(46px,11.5vw,76px);margin:23px 0}.hero-service{font-size:14px;margin-bottom:15px}.hero-text{font-size:14px;line-height:1.8}.hero-actions{margin:25px 0;gap:24px}.hero-actions .button{padding:15px 20px;font-size:13px}.hero-actions .text-link{font-size:12px}.hero-visual{min-height:0;height:480px;border-radius:180px 180px 0 0}.rating-score{font-size:34px}.intro{padding:56px 6%}.intro-services{grid-template-columns:1fr;gap:22px}.intro-services p{border-right:0;border-bottom:1px solid var(--line);padding-bottom:24px}.intro-services p:last-child{padding-bottom:0}.contact-section{padding:60px 6%}footer{font-size:12px;padding:25px 6%;flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* The remaining sections share the same quiet editorial rhythm. */
.section{max-width:1280px;margin:0 auto;padding-left:5%;padding-right:5%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2{margin-top:18px}.section-aside{font-size:14px;line-height:1.85;color:var(--muted);padding-bottom:5px;max-width:320px}.hero{position:relative;padding-bottom:92px}.hero-bottom{position:absolute;left:5.6%;right:5.6%;bottom:27px;display:flex;align-items:center;gap:21px;font-size:12px;letter-spacing:.18em;color:var(--muted)}.hero-bottom i{height:1px;width:22px;background:var(--line)}.hero-bottom-right{margin-left:auto;font-family:var(--serif);font-style:italic;font-size:20px;letter-spacing:0}.hero-visual{height:580px;min-height:0;border-radius:200px 200px 2px 2px;isolation:isolate}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 40%}.hero-image-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(37,23,19,.68));padding:70px 30px 27px;color:#fffaf4;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.hero-image-label>span{font-family:var(--serif);font-size:33px;line-height:1.05}.hero-image-label em{color:inherit}.hero-image-label small{font-size:12px;letter-spacing:.13em;writing-mode:vertical-rl}.intro-description{color:var(--muted);font-size:16px;margin:0 auto 40px;max-width:72ch}.works-section{padding-top:82px;padding-bottom:84px;background:#fdfbf7}.filters{display:flex;gap:10px;margin:0 0 28px;flex-wrap:wrap}.filter{background:none;color:var(--muted);border:1px solid var(--line);border-radius:100px;padding:10px 21px;font-size:13px;min-height:44px;transition:all .2s}.filter.active,.filter:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.gallery-item[hidden]{display:none}.gallery-photo{padding:0;border:0;background:var(--paper-deep);width:100%;display:block;overflow:hidden;position:relative;aspect-ratio:1/1.09}.gallery-photo img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.gallery-photo:hover img{transform:scale(1.035)}.photo-view{position:absolute;bottom:15px;right:15px;width:35px;height:35px;background:rgba(255,252,246,.9);border-radius:100%;display:grid;place-items:center;font:23px var(--serif);color:var(--ink)}.gallery-caption{display:flex;align-items:baseline;justify-content:space-between;margin-top:13px;gap:10px}.gallery-caption h3{font-size:27px}.gallery-caption small{font-size:12px;color:var(--muted);letter-spacing:.04em;white-space:nowrap}.gallery-footer{display:flex;justify-content:space-between;gap:20px;margin-top:35px;align-items:center;color:var(--muted);font-size:13px}.services-section{padding:80px 0 35px;background:var(--paper-deep)}.service-layout{display:grid;grid-template-columns:.8fr 1.7fr;gap:60px;margin-top:45px}.service-selector{display:flex;flex-direction:column;align-items:stretch}.service-tab{display:grid;grid-template-columns:30px 1fr;gap:5px 12px;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--muted);padding:20px 4px;transition:color .2s}.service-tab:first-child{padding-top:0}.service-tab>span:not(.service-index){font-family:var(--serif);font-size:37px;line-height:1.05}.service-index{font-size:12px;padding-top:8px}.service-tab small{grid-column:2;font-size:12px}.service-tab.active{color:var(--wine);border-color:var(--wine)}.service-tab.active>span:not(.service-index){font-style:italic}.price-panel[hidden]{display:none}.price-panel{padding:34px 40px 38px;background:var(--paper);min-height:465px;animation:panelIn .3s ease}.price-panel+.price-panel{margin-top:20px}.js .price-panel+.price-panel{margin-top:0}.price-panel h3{font-size:41px;line-height:1.1;margin-bottom:16px}.panel-description{color:var(--muted);font-size:14px;line-height:1.8}.price-list{margin:25px 0 30px}.price-list>div{display:flex;gap:18px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:17px 0}.price-list dt{font-size:15px;line-height:1.5}.price-list dt small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.price-list dd{font-family:var(--serif);font-size:31px;white-space:nowrap;margin:0}.price-list dd span{font-size:22px}.price-list .correction-price dt{font-size:13px}.price-list .correction-price dd{font-size:26px;color:var(--muted)}.outline{background:transparent;color:var(--wine)}.outline:hover{background:var(--wine);color:var(--paper)}.service-footnote{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:33px;font-size:12px;line-height:1.6;color:var(--muted)}.service-footnote .text-link{font-size:12px}.about-section{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.about-image{position:relative;aspect-ratio:4/5;background:var(--paper-deep);padding:18px;border:1px solid var(--line)}.about-image img{width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;bottom:32px;left:32px;right:32px;text-align:center;background:rgba(247,243,237,.92);padding:10px;font-size:12px;letter-spacing:.1em}.about-copy h2{margin:21px 0 30px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:14px;line-height:1.9;color:var(--muted);margin:19px 0}.about-lead{font-family:var(--serif);font-size:33px;line-height:1.15}.about-signature{display:flex;flex-direction:column;margin:25px 0}.about-signature>span{font:italic 38px var(--serif);color:var(--wine)}.about-signature small{font-size:12px;letter-spacing:.05em;color:var(--muted);margin-top:9px}.process-section{padding:77px 0 85px;background:#efe7e1}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px}.steps article{border-top:1px solid #cabbaf;padding-top:23px}.step-number{font:italic 35px var(--serif);color:#9e8573;display:block;margin-bottom:28px}.steps h3{font-size:27px;line-height:1.1;margin-bottom:15px}.steps p{font-size:13px;line-height:1.85;color:var(--muted)}.correction-section{padding-top:83px;padding-bottom:87px}.correction-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;margin-top:22px}.correction-grid h2{font-size:76px}.correction-grid p{font-size:16px;line-height:1.85;margin:0 0 18px}.correction-grid p.muted{font-size:13px;color:var(--muted)}.correction-grid .button{margin-top:8px}.reviews-section{background:var(--wine);color:var(--paper);padding:80px 0}.reviews-section em{color:#dbc5bc}.reviews-section .eyebrow{color:#dbc5bc}.review-summary{min-width:250px}.review-summary>strong{font-family:var(--serif);font-size:48px;font-weight:400;line-height:1.2}.review-summary>strong span{font-size:14px;letter-spacing:3px;vertical-align:middle;color:#e1c5a5;margin-left:15px}.review-summary p{font-size:12px;line-height:1.8;color:#e1d0ca}.review-summary small{font-size:12px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.review-card{border-top:1px solid #986a74;padding-top:26px;display:flex;flex-direction:column;align-items:flex-start}.review-topic{font-size:12px;letter-spacing:.12em;color:#e2cfc9}.quote-mark{font-family:var(--serif);font-size:67px;line-height:1;height:57px;color:#bd9299;margin-top:18px}.review-card blockquote{font-family:var(--serif);font-size:30px;line-height:1.15;margin:0 0 20px;min-height:105px}.review-explanation{font-size:12px;line-height:1.7;color:#e1d0ca;max-width:230px;min-height:43px;margin-bottom:30px}.review-author{margin-top:auto;display:flex;flex-direction:column;gap:7px}.review-author strong{font-size:12px;font-weight:550}.review-author span{font-size:12px;color:#e1d0ca}.review-card .text-link{font-size:12px;border-color:#ae8890;color:#f0dfd8;margin-top:18px}.reviews-section a:focus-visible{outline-color:var(--paper)}.all-reviews{margin-top:35px;text-align:center}.all-reviews .text-link{color:var(--paper);border-color:#ae8890;font-size:12px}.faq-section{padding-top:95px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1.1fr;gap:65px}.faq-intro h2{margin:22px 0 30px;font-size:57px}.faq-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:15px}.faq-intro .text-link{font-size:13px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;padding:22px 31px 22px 0;font-size:14px;line-height:1.6;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:3px;top:21px;font-family:var(--serif);font-size:25px;line-height:1;color:var(--wine)}.faq-list details[open] summary::after{content:'−'}.faq-answer{padding:0 26px 23px 0;font-size:13px;line-height:1.9;color:var(--muted)}.contact-section{padding:68px 5% 50px;position:relative;overflow:hidden}.contact-ornament{font:italic 50px var(--serif);color:#bda99a;letter-spacing:-.14em;margin-bottom:20px}.contact-section h2{font-size:72px;margin-top:20px;line-height:1.02}.contact-section p.contact-intro{font-size:14px;margin:25px 0}.contact-actions{display:flex;justify-content:center;gap:14px}.contact-phone{font-family:var(--serif);font-size:30px;margin-top:23px}.contact-details{max-width:1050px;margin:48px auto 0;border-top:1px solid #cbbbac;padding-top:32px;display:grid;grid-template-columns:repeat(3,1fr);text-align:left;gap:50px}.contact-details .eyebrow{font-size:12px}.contact-details p:not(.eyebrow){font-size:14px;color:var(--ink);line-height:1.8;margin:10px 0 0}.contact-details .text-link{font-size:13px;padding:0}.footer-links{display:flex;align-items:center;gap:25px;font-size:12px}footer{align-items:center;padding-top:28px;padding-bottom:28px}footer .brand-name{font-size:28px;color:var(--ink)}footer .brand-caption{font-size:12px}footer>span{font-size:12px}.mobile-booking{display:none}.js-only{display:none}.js .filters{display:flex}.js .service-selector{display:flex}html:not(.js) .service-layout{grid-template-columns:1fr}dialog{border:0;padding:0;border-radius:2px;width:min(940px,92vw);max-height:90dvh;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:rgba(35,23,25,.78);backdrop-filter:blur(5px)}.dialog-content{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:35px;padding:40px}.dialog-content>img{max-height:75dvh;width:100%;object-fit:contain}.dialog-content h2{font-size:39px;line-height:1.1}.dialog-content p{font-size:14px;color:var(--muted);margin:22px 0}.dialog-content .text-link{font-size:12px}.dialog-close{position:absolute;right:10px;top:8px;z-index:2;width:44px;height:44px;background:var(--paper);border:1px solid var(--line);border-radius:100%;font-size:28px;color:var(--wine)}body.modal-open{overflow:hidden}@keyframes panelIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:761px) and (max-width:1100px){.section{padding-left:5.6%;padding-right:5.6%}.hero h1{font-size:61px}.hero-visual{height:530px}.about-section{gap:50px}.service-layout{gap:35px}.price-panel{padding:27px}.price-panel h3{font-size:34px}.service-tab>span:not(.service-index){font-size:30px}.correction-grid{gap:50px}.faq-section{gap:35px}.faq-intro h2{font-size:48px}.reviews-grid{gap:22px}.review-card blockquote{font-size:27px}.steps{gap:20px}.steps h3{font-size:24px}}
@media(max-width:760px){body{padding-bottom:82px}.section{padding-left:6%;padding-right:6%}.hero{padding-bottom:75px}.hero-visual{height:470px}.hero-bottom{left:6%;right:6%;bottom:26px;justify-content:center;font-size:12px;gap:16px}.hero-bottom-right{display:none}.hero-image-label{padding:70px 25px 24px}.hero-image-label>span{font-size:31px}.intro h2{font-size:49px}.intro-description{font-size:14px;line-height:1.9}.intro-services{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.intro-services p{border-bottom:0;border-right:1px solid var(--line);padding:0 10px}.intro-services span{font-size:29px}.intro-services small{display:block;font-size:12px;line-height:1.7;margin-top:7px}.works-section{padding-top:53px;padding-bottom:54px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:47px}.section-aside{font-size:13px;line-height:1.8;margin-top:20px}.filters{gap:7px;margin-bottom:24px}.filter{padding:9px 15px;font-size:12px;min-height:42px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.gallery-photo{aspect-ratio:.84}.gallery-caption{display:block;margin-top:11px}.gallery-caption h3{font-size:23px}.gallery-caption small{font-size:12px;margin-top:4px;display:block}.photo-view{width:29px;height:29px;bottom:10px;right:10px;font-size:22px}.gallery-footer{display:block;font-size:12px;margin-top:25px}.gallery-footer .text-link{font-size:12px;margin-top:7px}.services-section{padding:54px 0 30px}.service-layout{grid-template-columns:1fr;gap:25px;margin-top:25px}.js .service-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible}.service-tab{display:flex;flex-direction:column;gap:7px;padding:10px 6px 13px;text-align:left;min-height:70px}.service-tab:first-child{padding-top:10px}.service-tab>span:not(.service-index){font-size:22px}.service-index{font-size:12px;padding-top:0}.service-tab small{display:none}.price-panel{padding:26px 22px 30px;min-height:0}.price-panel h3{font-size:33px}.panel-description{font-size:13px}.price-list dt{font-size:13px}.price-list dt small{font-size:12px}.price-list dd{font-size:27px}.price-list .correction-price dt{font-size:12px}.price-list .correction-price dd{font-size:24px}.price-panel .button{min-height:49px;font-size:12px}.service-footnote{display:block;margin-top:23px;font-size:12px}.service-footnote .text-link{margin-top:9px;font-size:12px}.about-section{padding-top:65px;padding-bottom:60px;display:flex;flex-direction:column-reverse;gap:35px;align-items:stretch}.about-copy h2{font-size:58px;margin:15px 0 25px}.about-lead{font-size:31px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:14px}.about-signature small{font-size:12px}.about-image{width:100%;aspect-ratio:1.05;padding:12px}.about-image img{object-position:50% 60%}.image-caption{bottom:24px;left:24px;right:24px;font-size:12px}.process-section{padding:54px 0}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px;margin-top:30px}.step-number{font-size:30px;margin-bottom:18px}.steps h3{font-size:25px;line-height:1.15}.steps p{font-size:12px}.correction-section{padding-top:57px;padding-bottom:60px}.correction-grid{grid-template-columns:1fr;gap:25px;margin-top:18px}.correction-grid h2{font-size:64px}.correction-grid p{font-size:14px}.correction-grid p.muted{font-size:12px}.correction-grid .button{font-size:12px}.reviews-section{padding:55px 0}.review-summary{margin-top:25px}.review-summary>strong{font-size:43px}.review-summary p{font-size:12px}.reviews-grid{grid-template-columns:1fr;gap:30px}.review-card{padding-top:22px}.quote-mark{margin-top:7px;height:50px}.review-card blockquote{min-height:0;max-width:340px;font-size:31px;margin-bottom:13px}.review-explanation{min-height:0;margin-bottom:22px;max-width:none;font-size:12px}.review-author strong{font-size:13px}.review-author span{font-size:12px}.review-card .text-link{font-size:12px;margin-top:12px}.review-topic{font-size:12px}.all-reviews{margin-top:28px}.faq-section{padding-top:60px;padding-bottom:60px;grid-template-columns:1fr;gap:35px}.faq-intro h2{font-size:49px}.faq-list summary{font-size:14px;padding-top:19px;padding-bottom:19px}.faq-answer{font-size:13px}.contact-section{padding:50px 6% 40px}.contact-section h2{font-size:52px}.contact-section p.contact-intro{font-size:13px;margin:23px auto;max-width:300px}.contact-actions{flex-direction:column;align-items:center;gap:10px}.contact-actions .button{width:100%;max-width:340px;min-height:52px;font-size:13px}.contact-phone{font-size:31px}.contact-details{grid-template-columns:1fr;gap:25px;text-align:center;margin-top:32px;padding-top:27px}.contact-details p:not(.eyebrow){font-size:14px}.contact-details .eyebrow{font-size:12px}.footer-links{font-size:12px;gap:20px}footer{gap:22px;padding:30px 6%;text-align:center}.mobile-booking{display:flex;align-items:center;justify-content:space-between;gap:15px;position:fixed;left:0;right:0;bottom:0;background:rgba(247,243,237,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:13px 6% max(13px,env(safe-area-inset-bottom));z-index:30;transition:transform .2s}.mobile-booking>span{font:23px var(--serif);line-height:1}.mobile-booking small{display:block;font:12px var(--sans);margin-top:7px;color:var(--muted)}.mobile-booking .button{font-size:12px;min-height:43px;padding:11px 18px}.mobile-booking.contact-visible, .mobile-booking.hidden-by-observer{transform:translateY(120%)}body.modal-open .mobile-booking{display:none}.dialog-content{grid-template-columns:1fr;padding:55px 20px 25px;gap:23px}.dialog-content>img{max-height:55dvh}.dialog-content h2{font-size:33px}.dialog-content p{margin:15px 0;font-size:12px}.dialog-content .text-link{font-size:12px}}

/* Preserve the full frame of before/after comparisons. */
.gallery-photo-contain img{object-fit:contain}.gallery-caption{align-items:flex-start;flex-direction:column;gap:3px}.hero-text,.section-aside,.panel-description,.about-copy>p:not(.eyebrow):not(.about-lead),.steps p,.faq-answer{font-size:16px}.hero-image-label small{font-size:12px}.brand-caption{font-size:12px;letter-spacing:.16em}.mobile-booking small{font-size:10px}@media(max-width:760px){.hero-text,.panel-description,.about-copy>p:not(.eyebrow):not(.about-lead),.steps p,.faq-answer{font-size:15px}.brand-caption{font-size:10px}.gallery-caption h3{font-size:25px}.gallery-caption small{font-size:12px}.hero .eyebrow{font-size:12px}.hero-bottom{font-size:12px;letter-spacing:.1em}.hero-service{font-size:14px}.review-explanation{font-size:14px}.review-topic{font-size:12px}.mobile-booking>span{font-size:22px}.mobile-booking .button{font-size:14px}}

/* Keep decorative italic overhang from creating a horizontal scroll area. */
html{scroll-behavior:auto}body{overflow-x:clip}.price-panel:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
@media(max-width:760px){.service-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.service-tab{display:grid;grid-template-columns:20px 1fr;align-items:center;min-height:58px;padding:10px 0}.service-tab>span:not(.service-index){font-size:28px}.service-index{padding:0}.gallery-caption h3{overflow-wrap:anywhere}.gallery-caption small{white-space:normal}}
@media(max-width:360px){.brand-name{font-size:25px}.brand-caption{font-size:9px}.header-inner{gap:12px}.button.small{padding:8px 14px}.hero-actions{gap:15px}.hero-actions .button{padding:14px 15px}.hero-actions .text-link{font-size:12px}.service-tab>span:not(.service-index){font-size:25px}.gallery-caption h3{font-size:23px}.mobile-booking small{font-size:9px}.mobile-booking .button{padding:10px 13px}.hero .eyebrow{font-size:11px}}
@media(max-width:760px){.js .service-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.price-list dt{font-size:14px}.price-list .correction-price dt{font-size:13px}}

/* Portraits from the supplied VK archive; client comparisons remain uncropped. */
.hero-image{object-position:50% 30%}.hero-image-label>span{font-size:43px}.hero-image-label{padding-top:85px}.about-image{aspect-ratio:3/4;max-height:660px}.about-image img{object-fit:cover;object-position:center 18%;max-height:520px;width:100%}.image-caption{bottom:27px;left:27px;right:27px}.gallery-photo-contain:hover img{transform:none}
@media(max-width:760px){.hero-visual{height:auto;aspect-ratio:3/4}.hero-image-label>span{font-size:38px}.about-image{aspect-ratio:3/4;max-height:570px}.about-image img{object-position:center}.image-caption{bottom:22px;left:22px;right:22px}.gallery-footer .text-link{line-height:1.6}}

/* Additional directions use the established service panel design. */
.service-details{display:grid;gap:20px;margin:26px 0 30px}.service-details article{border-top:1px solid var(--line);padding-top:18px}.service-details h4{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2;margin:0 0 9px}.service-details p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.service-details .text-link{font-size:13px;margin-top:12px}.all-reviews{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px 28px}.review-source-note{flex-basis:100%;font-size:12px;line-height:1.8;color:#e1d0ca;margin:0}.service-tab>span:not(.service-index){overflow-wrap:anywhere}
@media(max-width:760px){.service-details{gap:18px;margin:24px 0}.service-details h4{font-size:25px}.service-details p{font-size:15px}.service-tab>span:not(.service-index){font-size:25px}.all-reviews{gap:16px 22px}}
@media(max-width:360px){.service-tab>span:not(.service-index){font-size:23px}}

.review-card{min-width:0}.review-card blockquote,.review-author strong{overflow-wrap:anywhere}

/* Owner-supplied portrait; CSS framing preserves the original image bytes. */
.hero-image-current{object-position:left 6%;transform:translateX(-14.4%) scale(1.45);transform-origin:left top}
.hero-experience{margin-top:18px;font-size:14px;color:var(--wine);letter-spacing:.02em}
.about-specialties{margin:26px 0}.about-specialties h3{font-size:32px;line-height:1.1;margin-bottom:14px}.about-specialties>p,.about-specialties dd{font-size:15px;line-height:1.8;color:var(--muted)}.about-specialties dl{margin:20px 0 0}.about-specialties dl>div{padding:15px 0;border-top:1px solid var(--line)}.about-specialties dt{font-size:15px;font-weight:600;line-height:1.5}.about-specialties dd{margin:6px 0 0}.about-section{align-items:start}.about-image{position:sticky;top:30px}
@media(max-width:760px){.about-image{position:relative}.hero-experience{font-size:13px}.about-specialties h3{font-size:30px}}

/* 10 October: clearer reading order, direct service links and concise expertise. */
.intro-services a{display:flex;flex-direction:column;align-items:center;min-height:110px;padding:8px 0}
.intro-services a:hover span{color:var(--wine)}
.intro-link-label{font:500 12px/1.5 var(--sans);margin-top:13px;color:var(--wine)}
.price-panel{scroll-margin-top:280px}
.faq-related{margin-top:12px}
.faq-related .text-link{font-size:13px;padding:3px 0}
.about-section{display:grid;grid-template-columns:1fr 1.1fr;grid-template-rows:auto 1fr;gap:22px 74px;padding-top:90px;padding-bottom:90px}
.about-heading{grid-column:2;grid-row:1}
.about-heading h2{margin:18px 0 22px}
.about-heading .about-lead{font:34px/1.18 var(--serif);margin:0}
.about-image{grid-column:1;grid-row:1 / span 2;align-self:start;margin-top:12px}
.about-copy{grid-column:2;grid-row:2;min-width:0}
.about-copy>p{margin-bottom:22px}
.about-signature{margin:27px 0 22px}
.expertise-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:27px 0;color:var(--ink)}
.expertise-details>summary{cursor:pointer;position:relative;list-style:none;padding:20px 30px 20px 0;font-size:15px;line-height:1.6;font-weight:600;min-height:56px}
.expertise-details>summary::-webkit-details-marker{display:none}
.expertise-details>summary::after{content:'+';position:absolute;right:3px;top:20px;font:25px/1 var(--serif);color:var(--wine)}
.expertise-details[open]>summary::after{content:'−'}
.expertise-details .about-specialties{margin:0 0 20px}
@media(min-width:761px) and (max-width:1100px){.about-section{gap:22px 44px}.about-heading h2{font-size:58px}}
@media(max-width:760px){
  .hero{gap:0;padding-top:25px;padding-bottom:35px}
  .hero-copy{display:contents}
  .hero-copy>.eyebrow{order:0;font-size:11px;letter-spacing:.1em}
  .hero h1{order:1;margin:17px 0 18px;font-size:clamp(43px,11.5vw,69px)}
  .hero-service{margin-bottom:13px}
  .hero-text{order:2;line-height:1.8}
  .hero-experience{order:3;margin-top:12px;line-height:1.6}
  .hero-actions{order:4;margin:21px 0 0;gap:22px}
  .hero-visual{order:6;margin-top:27px;width:100%;aspect-ratio:4/4.7}
  .hero-image-current{object-position:34% 14%;transform:scale(1.18);transform-origin:30% 18%}
  .hero .rating{order:5;margin-top:24px;align-self:center}
  .hero-bottom{order:7;position:static;margin-top:28px;flex-wrap:wrap;gap:16px}
  .intro{padding-top:42px;padding-bottom:43px}
  .intro-services a{padding:4px 0;min-height:112px}
  .intro-link-label{font-size:11px;margin-top:10px}
  .intro-services small{font-size:12px}
  .about-section{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:26px;padding-top:58px;padding-bottom:58px}
  .about-section>*{order:0}
  .about-heading{grid-column:1;grid-row:1}
  .about-heading h2{margin:15px 0 18px;font-size:53px}
  .about-heading .about-lead{font-size:30px}
  .about-image{grid-column:1;grid-row:2;position:relative;top:auto;margin:0;max-height:400px;aspect-ratio:4/4.6}
  .about-copy{grid-column:1;grid-row:3}
  .about-copy>p{margin-bottom:20px;font-size:15px;line-height:1.85}
  .about-signature{margin-top:22px}
  .expertise-details{margin:23px 0}
  .price-panel{scroll-margin-top:24px}
}
@media(max-width:360px){.hero h1{font-size:43px}.hero-actions{gap:16px}.intro-services span{font-size:26px}.intro-link-label{font-size:10px}}
.contact-phones{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:12px 34px;margin-top:23px}
.contact-phones .contact-phone{margin-top:0}
.contact-phone-secondary{font-size:26px}


/* UX Designer CTA Hierarchy Adjustments (10.10.2026) */
@media(min-width: 761px) {
  .site-header .button {
    background: transparent;
    color: var(--ink);
    border: 1px solid var(--line);
  }
  .site-header .button:hover {
    border-color: var(--wine);
    color: var(--wine);
    background: transparent;
  }
}

.mobile-booking .button {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.mobile-booking .button:hover {
  background: #251d19;
  border-color: #251d19;
}

.hero-actions .text-link {
  color: var(--muted);
  border-color: var(--line);
}
.hero-actions .text-link:hover {
  color: var(--wine);
  border-color: var(--wine);
}


/* A6. Кнопка «Позвонить» в нижнем мобильном баре */
.mobile-booking-actions {
  display: flex;
  gap: 8px;
}
.mobile-booking .button {
  min-height: 44px; /* Touch target size */
}
.mobile-booking .button.outline {
  background: transparent;
  color: var(--wine);
  border-color: var(--wine);
}
.mobile-booking .button.outline:hover {
  background: var(--wine);
  color: var(--paper);
}
@media (max-width: 385px) {
  .mobile-booking > span {
    display: none;
  }
  .mobile-booking-actions {
    width: 100%;
  }
  .mobile-booking-actions .button {
    flex: 1;
    justify-content: center;
    text-align: center;
  }
}


/* A8. Фото «Татьяна за работой» */
@media(max-width: 760px) {
  img[src*="tatyana-bakh-at-work"] {
    object-fit: cover;
    object-position: center 18%;
  }
}


/* A9. Портрет на первом экране — маскировка надписи справа */
.hero-visual {
  position: relative;
}
.hero-visual::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 38%;
  background: linear-gradient(to left, #dfd4c7 0%, rgba(223, 212, 199, 0.96) 50%, rgba(223, 212, 199, 0) 100%);
  pointer-events: none;
}
@media(max-width: 760px) {
  .hero-visual::after {
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 38%;
    height: auto;
    background: linear-gradient(to left, #dfd4c7 0%, rgba(223, 212, 199, 0.96) 50%, rgba(223, 212, 199, 0) 100%);
  }
  .hero-frame-note,
  .hero-image-label small {
    display: none !important;
  }
}


/* A11. Читаемость мелкого серого текста */
@media(max-width: 760px) {
  .process-card .muted,
  .about-copy > p,
  .correction-section .muted {
    font-size: 15px !important;
    line-height: 1.6;
  }
}

/* Сетка секции #ispravlenie и карточка светлого отзыва */
.works-grid,
.correction-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 36px;
}
@media (max-width: 1080px) {
  .works-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .works-grid,
  .correction-gallery {
    grid-template-columns: 1fr;
  }
}

#ispravlenie.correction-section {
  padding-top: 96px;
  padding-bottom: 96px;
}
#ispravlenie .section-heading {
  margin-bottom: 36px;
}
/* Теги-плашки частых проблем без спорящих горизонтальных линий */
#ispravlenie .correction-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  list-style: none;
  padding: 0;
  margin: 0 0 52px;
}
#ispravlenie .correction-list li {
  background: rgba(103, 60, 69, 0.05);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 0.94rem;
  line-height: 1.4;
  color: var(--ink);
}
/* 3 колонки шагов 01-03 ровно по сетке 3 фотографий под ними */
#ispravlenie .steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
  max-width: none;
  margin: 0 0 56px;
}
#ispravlenie .steps article {
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
#ispravlenie .step-number {
  display: block;
  margin-bottom: 12px;
}
#ispravlenie .steps h3 {
  margin: 0 0 10px;
}
#ispravlenie .steps p {
  margin: 0;
  color: var(--muted);
  line-height: 1.68;
}
#ispravlenie .correction-gallery {
  margin-bottom: 56px;
}
/* Выравнивание отзыва, сноски и кнопок по единой центральной оси */
#ispravlenie .review-card-light {
  max-width: 720px;
  margin: 0 auto 32px !important;
  padding: 32px 36px;
}
#ispravlenie .fine-print {
  max-width: 680px;
  margin: 0 auto 24px !important;
  text-align: center;
  font-size: 0.92rem;
  line-height: 1.6;
}
#ispravlenie .correction-cta .button-row {
  justify-content: center;
  gap: 12px;
  margin-top: 0;
}
@media (max-width: 760px) {
  #ispravlenie.correction-section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  #ispravlenie .correction-list {
    gap: 8px;
    margin-bottom: 36px;
  }
  #ispravlenie .correction-list li {
    padding: 8px 14px;
    font-size: 0.88rem;
  }
  #ispravlenie .steps {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 40px;
  }
  #ispravlenie .correction-gallery {
    margin-bottom: 40px;
  }
  #ispravlenie .review-card-light {
    padding: 24px 22px;
  }
  #ispravlenie .fine-print {
    text-align: left;
  }
  #ispravlenie .correction-cta .button-row {
    justify-content: stretch;
  }
}

.section-accent .review-card,
.review-card-light {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius, 4px);
  padding: 28px 32px;
  margin: 40px auto 36px !important;
  color: var(--ink);
}
.section-accent .review-card .review-meta span,
.review-card-light .review-meta span {
  color: var(--muted);
}
.section-accent .review-card .text-link,
.review-card-light .text-link {
  color: var(--terracotta);
}

.button-row,
.correction-cta .button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
}

/* Кнопки и дополнительные элементы прайса/контактов */
.button.button-secondary {
  background: transparent;
  color: var(--wine);
}
.button.button-secondary:hover {
  background: var(--wine);
  color: var(--paper);
}

.intro-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.intro h2 {
  margin: 16px 0 0;
}
.intro-lead {
  margin: 0 auto;
  max-width: 68ch;
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.65;
}
.intro-description {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
  margin: 0 auto 40px;
  max-width: 72ch;
}
@media (max-width: 760px) {
  .intro-head {
    gap: 16px;
    margin-bottom: 16px;
  }
  .intro h2 {
    margin: 14px 0 0;
  }
  .intro-lead {
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.75;
  }
  .intro-description {
    font-size: 14px;
    line-height: 1.8;
    margin: 0 auto 32px;
  }
}

.price-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 24px;
}

/* Финальная полировка: стыки секций и интерлиньяж */
.section h2,
.services-section h2,
.reviews-head h2 {
  line-height: 1.06;
}
.works-section {
  padding-bottom: 68px;
}
#ispravlenie.correction-section {
  border-top: 1px solid var(--line);
  padding-top: 84px;
  padding-bottom: 84px;
}
.services-section {
  padding-top: 88px;
}
.services-section > .section-heading {
  padding-top: 0;
}

/* Контраст дат и подзаголовков в тёмном блоке #reviews (WCAG AA) */
.review-card .review-meta span,
.review-author span {
  color: rgba(247, 243, 237, 0.8);
}
.review-card-light .review-meta span {
  color: var(--muted);
}

/* Центровка .contact-details и ссылок на карты в #contacts */
.contact-details {
  text-align: center;
  max-width: 64ch;
  margin: 20px auto 0;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.65;
}
.contact-details p {
  margin: 0 0 6px;
}
.contact-map-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 28px;
  margin-top: 16px;
}

.gallery-caption {
  gap: 6px;
}

.site-header nav a {
  white-space: nowrap;
}

/* Планшетный брейкпоинт @media (max-width: 860px) */
@media (max-width: 860px) {
  .site-header nav {
    display: none;
  }
  .hero {
    grid-template-columns: 1fr;
  }
  .hero-copy {
    padding: 48px 0 32px;
  }
  .hero-visual {
    min-height: 460px;
  }
  .hero-bottom {
    display: none;
  }
  .hero-image-current {
    object-position: 34% 14%;
    transform: scale(1.16);
    transform-origin: 30% 18%;
  }
  .hero-visual::after {
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 38%;
    height: auto;
    background: linear-gradient(to left, #dfd4c7 0%, rgba(223, 212, 199, 0.96) 50%, rgba(223, 212, 199, 0) 100%);
  }
  .hero-frame-note,
  .hero-image-label small {
    display: none !important;
  }
  #ispravlenie .steps {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .reviews-grid,
  .footer-inner,
  .contacts-grid {
    grid-template-columns: 1fr;
  }
}

