:root{--plum:#633b56;--ink:#292329;--muted:#655b63;--paper:#fff;--wash:#f4f0f3;--line:#d9cfd6;--gold:#aa8259;--radius:10px;--shell:1440px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--plum);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08;text-wrap:balance;letter-spacing:-.035em}h1{font-size:clamp(42px,5.3vw,80px)}h2{font-size:clamp(30px,3.5vw,51px)}h3{font-size:22px;line-height:1.25;font-weight:600}p{max-width:70ch}p+p{margin-top:1em}li{max-width:70ch}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;background:var(--plum);color:white;z-index:200;padding:12px}.skip-link:focus{top:8px}.header{background:white;border-bottom:1px solid var(--line)}.header-inner{max-width:var(--shell);margin:auto;padding:25px 40px;display:flex;align-items:center;gap:32px}.brand{text-decoration:none;display:flex;gap:11px;align-items:center;line-height:1.2;font-size:12px;font-weight:600}.brand-mark{font:italic 38px Georgia,serif;letter-spacing:-.08em;color:var(--plum);padding-right:3px}.header-city{font-size:16px;font-weight:600;border-left:1px solid var(--line);padding-left:25px;line-height:1.4}.header-city small,.header-phone small{display:block;font-size:11px;font-weight:400;color:var(--muted)}#navigation{display:flex;gap:24px;margin-left:auto;align-items:center}#navigation a{text-decoration:none;padding:9px 0;font-size:14px}#navigation a:hover,#navigation a[aria-current]{text-decoration:underline}.header-phone{font-size:16px;font-weight:600;text-decoration:none;white-space:nowrap}.menu-toggle{display:none}.section{max-width:var(--shell);margin:auto;padding:88px 40px}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:46% 54%;min-height:640px}.hero-copy{padding:70px 48px 55px max(40px,calc((100vw - 1360px)/2));align-self:center}.section-note{font-size:14px;color:var(--plum);margin-bottom:22px}.hero-text{font-size:22px;line-height:1.5;margin:25px 0 18px;max-width:39ch}.hero-copy>p:not(.section-note):not(.hero-text):not(.hero-contact){color:var(--muted);max-width:45ch}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo img{height:100%;width:100%;object-fit:cover;min-height:540px;max-height:820px}.hero-photo figcaption{position:absolute;bottom:18px;left:24px;color:white;background:#292329d9;padding:7px 13px;font-size:11px;border-radius:4px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;min-height:48px;padding:13px 22px;align-items:center;justify-content:center;border-radius:var(--radius);font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--plum);text-align:center;line-height:1.4}.primary{background:var(--plum);color:white}.primary:hover{background:#4d2b42}.outline{color:var(--plum);background:transparent}.outline:hover{background:var(--wash)}.hero-contact{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:14px}.hero-contact a{font-weight:600}.hero-contact span{font-size:12px;color:var(--muted)}.service-strip{display:flex;justify-content:center;gap:60px;padding:22px 28px;font-size:13px;background:var(--wash);border-block:1px solid #e7dfe4}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:45px}.section-heading>p{max-width:38ch;color:var(--muted)}.service-list{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.service-item{padding:35px 27px 35px 0;text-decoration:none;border-right:1px solid var(--line);margin-right:25px;display:flex;flex-direction:column;gap:18px}.service-item:last-child{border:0;margin:0}.service-item h3{font-family:Georgia,serif;font-size:30px;font-weight:400;color:var(--plum)}.service-item p{font-size:14px;color:var(--muted)}.text-link{font-size:14px;font-weight:600;color:var(--plum);text-decoration:underline;text-underline-offset:5px}.service-item .text-link{margin-top:auto}.local-info{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;background:var(--wash);max-width:none;padding-inline:max(40px,calc((100vw - 1360px)/2))}.lead{font-size:20px;line-height:1.6}.local-note{font-weight:600;color:var(--plum);padding-left:18px;border-left:3px solid var(--gold);margin:25px 0!important}.local-info>div>p:not(.lead):not(.local-note){font-size:14px;color:var(--muted);margin-bottom:20px}.portfolio-preview{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.portfolio-preview figure{max-height:620px;overflow:hidden;border-radius:140px 10px 10px 10px}.portfolio-preview img{width:100%;height:600px;object-fit:cover}.portfolio-preview h2{margin-bottom:25px}.portfolio-preview .button{margin-top:30px}.process{border-top:1px solid var(--line)}.process ol{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:55px;padding:40px 0 0;margin:0}.process li{counter-increment:step}.process li:before{content:counter(step);display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;font-family:Georgia,serif;color:var(--plum);margin-bottom:20px}.process h3{font-size:20px;margin-bottom:12px}.process p{font-size:15px;color:var(--muted)}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding-top:30px}.faq h2{max-width:13ch}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600;line-height:1.45;padding-right:10px}details p{padding-top:15px;color:var(--muted);font-size:15px}.request{background:var(--wash);max-width:none;padding-inline:max(40px,calc((100vw - 1360px)/2));display:grid;grid-template-columns:1fr 1fr;gap:100px;scroll-margin-top:20px}.request-intro>p:not(.section-note):not(.muted){margin:25px 0;color:var(--muted);max-width:40ch}.large-phone{display:block;font-size:clamp(24px,2.7vw,38px);color:var(--plum);text-decoration:none;letter-spacing:-.025em}.muted{color:var(--muted);font-size:13px}.request-form{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.request-form label,.menu-filters label{display:flex;flex-direction:column;font-size:13px;gap:6px;color:var(--ink)}input,select,textarea{padding:12px 13px;border:1px solid #b9aab5;background:white;border-radius:7px;min-height:48px;max-width:100%;width:100%;font-size:16px;color:var(--ink)}textarea{resize:vertical}.checkbox{flex-direction:row!important;align-items:flex-start;gap:10px!important;line-height:1.55;font-size:12px!important}.checkbox input{min-height:24px;flex-shrink:0;width:22px;margin:0}.checkbox span{max-width:60ch}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.form-status{font-size:14px;min-height:1.6em;color:var(--plum)}.cart-note{font-size:13px;color:var(--plum)}.footer{padding:65px max(40px,calc((100vw - 1360px)/2)) 35px}.footer-main{display:grid;grid-template-columns:1.05fr 1.2fr 1fr 1.2fr;gap:35px}.footer-main p{font-size:12px;color:var(--muted);margin-top:20px}.footer-main nav,.footer-main>div{display:flex;flex-direction:column;align-items:flex-start}.footer-main h2{font-family:inherit;font-size:14px;letter-spacing:0;font-weight:600;margin-bottom:17px}.footer-main a:not(.brand){font-size:13px;margin-bottom:8px}.footer-main .footer-phone{font-size:19px!important;text-decoration:none;font-weight:600;color:var(--plum)}.footer-legal{display:flex;gap:25px;flex-wrap:wrap;margin-top:45px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.footer-legal button{font-size:11px;background:none;border:0;text-decoration:underline;color:inherit;padding:0}.fineprint{font-size:11px;color:var(--muted);max-width:110ch;margin-top:22px}.mobile-actions{display:none}.consent-banner{position:fixed;z-index:100;background:white;box-shadow:0 6px 40px #29232930;border:1px solid var(--line);border-radius:12px}.consent-banner h2{font-family:inherit;font-size:17px;letter-spacing:0;font-weight:600}.consent-banner p{font-size:12px;margin:12px 0}.consent-banner>div{display:flex;gap:10px}.consent-banner button{padding:10px;min-height:44px;background:var(--plum);border:1px solid var(--plum);color:white;border-radius:6px;font-size:12px}.consent-banner button:first-child{background:white;color:var(--plum)}.consent-banner>a{font-size:11px;display:inline-block;margin-top:10px}.no-script{padding:20px}.page-intro{max-width:var(--shell);margin:auto;padding:60px 40px 20px}.page-intro .lead{margin-top:25px;max-width:65ch}.back-link{display:block;color:var(--muted);font-size:13px;margin-bottom:30px}.compact{min-height:570px}.compact h1{font-size:clamp(40px,4.7vw,68px)}.compact .hero-text{font-size:18px}.compact .hero-photo img{max-height:650px}.service-details{display:grid;grid-template-columns:1fr 1fr;gap:100px}.check-list{padding-left:22px;margin:28px 0}.check-list li{margin-bottom:15px}.answer{background:var(--wash);padding:35px;border-radius:16px}.answer h2{font-size:30px;margin-bottom:20px}.answer p{font-size:15px}.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:35px;padding-top:35px}.menu-filters{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin-bottom:15px}.menu-layout [role=status]{font-size:13px;margin-bottom:25px}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.product{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.product img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff}.product-copy{padding:16px;display:flex;flex-direction:column;flex:1;align-items:flex-start}.product small{color:var(--muted);font-size:11px}.product h2{font-family:inherit;letter-spacing:0;line-height:1.4;font-size:17px;font-weight:600;margin:8px 0}.product p{font-size:12px;color:var(--muted);line-height:1.55}.product .price-note{font-size:11px;margin:15px 0}.quantity{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;gap:10px}.quantity button{width:44px;height:44px;border:1px solid var(--plum);background:white;border-radius:7px;font-size:22px;color:var(--plum)}.quantity output{font-size:15px}.selection{align-self:start;position:sticky;top:25px;background:var(--wash);padding:25px;border-radius:12px}.selection h2{font-size:29px;margin-bottom:20px}.selection h2 span{font-family:inherit;font-size:18px;color:var(--plum)}.selection p{font-size:12px;color:var(--muted);margin:20px 0}.selection .button{width:100%;margin-top:12px}.selection-line{display:flex;gap:14px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.selection-line strong{white-space:nowrap}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:35px;align-items:start}.gallery .wide{grid-column:1/-1}.gallery figure img{width:100%;border-radius:10px;object-fit:cover}.gallery .wide img{max-height:750px}.gallery figure:not(.wide) img{height:650px}.gallery .detail-photo{max-width:500px}.gallery figcaption{font-size:13px;color:var(--muted);margin-top:12px}.callout{background:var(--wash);text-align:center;max-width:none}.callout p{margin:25px auto}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-block{padding:40px;background:var(--wash);border-radius:12px;align-self:start}.contact-block h2{font-size:32px;margin-bottom:30px}.contact-email{display:block;margin:15px 0 30px;color:var(--plum)}.contact-block p{font-size:14px;color:var(--muted)}.contact-layout>div>h2{font-size:32px}section.legal-page{max-width:940px;margin:30px auto 70px;padding:20px 30px}section.legal-page h1{font-size:42px}section.legal-page h2{font-size:25px;margin:30px 0 15px}section.legal-page p,section.legal-page li{font-size:15px}.legal-nav{display:flex;gap:20px;margin:30px 0}.print-only{display:none}
@media(min-width:1600px){.hero-copy{padding-left:100px}.hero{border-inline:1px solid var(--line)}}
@media(max-width:1150px){.header-inner{gap:20px;padding:20px 25px}.header-city{padding-left:18px}#navigation{gap:18px}.header-phone{font-size:14px}.header-phone small{max-width:160px;white-space:normal}.hero-copy{padding:50px 30px}.hero{min-height:580px}.hero-photo img{min-height:580px}.hero-actions{flex-direction:column;align-items:flex-start}.section,.page-intro{padding-left:30px;padding-right:30px}.section{padding-block:65px}.local-info,.request{padding-inline:30px;gap:50px}.service-strip{gap:25px}.service-item{padding-right:15px;margin-right:15px}.portfolio-preview{gap:50px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-layout{grid-template-columns:minmax(0,1fr) 270px}.footer{padding-inline:30px}.footer-main{gap:25px}.brand{font-size:11px}.brand-mark{font-size:32px}}
@media(max-width:900px){.header-phone{display:none}#navigation{margin-left:auto}.hero{grid-template-columns:48% 52%}.hero h1{font-size:54px}.hero-text{font-size:20px}.service-list{grid-template-columns:1fr 1fr}.service-item{border-bottom:1px solid var(--line);min-height:200px}.service-item:nth-child(2){border-right:0;margin:0}.service-item:nth-child(3),.service-item:nth-child(4){border-bottom:0}.portfolio-preview img{height:500px}.request{gap:40px}.form-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr;gap:30px 50px}.faq{gap:40px}.process ol{gap:30px}.contact-layout{gap:35px}.menu-layout{display:flex;flex-direction:column}.selection{position:static;order:-1;width:100%}.selection>div{max-height:200px;overflow:auto}.products{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery figure:not(.wide) img{height:500px}}
@media(max-width:760px){body{padding-bottom:78px}.header-inner{padding:17px 20px;gap:18px;position:relative;flex-wrap:wrap}.brand{font-size:10px}.brand-mark{font-size:32px}.header-city{font-size:14px;max-width:42%;line-height:1.3;padding-left:15px}.header-city small{font-size:10px;margin-top:3px}.menu-toggle{display:block;margin-left:auto;background:white;border:1px solid var(--line);border-radius:7px;min-height:44px;padding:8px 12px;color:var(--plum);font-size:13px}#navigation{display:none;order:5;flex-basis:100%;margin:0;border-top:1px solid var(--line);padding-top:12px;gap:15px;flex-wrap:wrap}#navigation.open{display:flex}#navigation a{padding:10px 8px;font-size:15px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:37px 24px 32px}.hero h1{font-size:clamp(42px,9.7vw,62px)}.section-note{font-size:12px;margin-bottom:16px}.hero-text{font-size:20px;margin:20px 0 13px}.hero-copy>p:not(.section-note):not(.hero-text){font-size:14px}.hero-actions{flex-direction:row;gap:10px;margin-top:24px}.hero-actions .button{padding:13px 16px;font-size:13px;flex-grow:1}.hero-contact{margin-top:22px;gap:5px 15px}.hero-contact span{font-size:11px}.hero-photo{width:100%;height:360px}.hero-photo img{width:100%;height:100%;min-height:0;max-height:none;object-position:50% 53%}.hero-photo figcaption{left:20px;bottom:15px;font-size:10px}.service-strip{justify-content:flex-start;gap:12px 24px;flex-wrap:wrap;font-size:11px;padding:17px 24px}.section{padding:50px 24px}h2{font-size:37px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:20px;font-size:14px;max-width:none}.service-item{gap:12px;padding:25px 15px 25px 0;margin-right:15px;min-height:240px}.service-item h3{font-size:25px}.service-item p{font-size:12px}.text-link{font-size:12px}.local-info{display:block}.local-info h2{margin-bottom:25px}.local-info .lead{font-size:17px}.local-info>div>p:not(.lead){font-size:13px}.portfolio-preview{display:flex;flex-direction:column;gap:30px;align-items:stretch}.portfolio-preview figure{max-height:450px;border-top-left-radius:90px}.portfolio-preview img{height:450px;object-position:50% 48%}.portfolio-preview h2{margin-bottom:20px}.portfolio-preview p{font-size:14px}.portfolio-preview .button{margin-top:22px}.process ol{grid-template-columns:1fr;gap:25px;padding-top:30px}.process li{position:relative;padding-left:58px}.process li:before{position:absolute;left:0;top:0}.process h3{font-size:19px}.process p{font-size:14px}.faq{display:block;padding-top:25px}.faq h2{margin-bottom:28px;max-width:none}.faq-list details{padding:18px 0}summary{font-size:15px}details p{font-size:14px}.request{display:block}.request-intro{margin-bottom:30px}.request-intro>p:not(.section-note){font-size:14px}.large-phone{font-size:29px}.form-grid{grid-template-columns:1fr 1fr;gap:12px}.request-form{gap:15px}.request-form label{font-size:12px}.request-form input,.request-form select,.request-form textarea{font-size:16px;padding-inline:10px}.footer{padding:45px 24px 30px}.footer-main{gap:35px 24px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:nth-child(2){grid-column:1/-1}.footer-main p{margin-top:12px}.footer-legal{gap:17px;margin-top:30px}.fineprint{margin-top:20px;font-size:10px}.mobile-actions{display:grid;grid-template-columns:.8fr 1.2fr;position:fixed;bottom:0;left:0;right:0;z-index:90;background:white;border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:10px}.mobile-actions a{min-height:44px;display:flex;justify-content:center;align-items:center;text-decoration:none;font-size:13px;font-weight:600;border:1px solid var(--plum);border-radius:8px;color:var(--plum)}.mobile-actions a:last-child{background:var(--plum);color:white}.page-intro{padding:35px 24px 10px}.page-intro h1{font-size:43px}.page-intro .lead{font-size:16px;margin-top:20px}.back-link{font-size:12px;margin-bottom:25px}.compact .hero-photo{height:330px}.compact h1{font-size:43px}.compact .hero-text{font-size:17px}.service-details{display:block}.answer{margin-top:30px;padding:25px}.answer h2{font-size:27px}.check-list{font-size:14px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.menu-filters{grid-template-columns:1fr;gap:14px}.menu-layout{padding-top:25px;gap:25px}.product-copy{padding:12px}.product h2{font-size:14px}.product p{font-size:11px}.product small{font-size:10px}.quantity{gap:7px}.quantity button{min-width:42px;width:42px;height:44px}.selection{padding:22px}.selection h2{font-size:29px}.gallery{gap:25px 15px;padding-top:25px}.gallery figure:not(.wide) img{height:310px}.gallery .wide img{height:300px}.gallery .detail-photo{grid-column:1/-1;max-width:100%;width:100%}.gallery .detail-photo img{height:420px!important;object-fit:contain;background:var(--wash)}.gallery figcaption{font-size:11px}.callout{text-align:left}.callout p{font-size:14px}.contact-layout{display:block;padding-top:25px}.contact-block{padding:25px;margin-bottom:35px}.contact-block h2{font-size:27px}.contact-layout>div>h2{font-size:30px}section.legal-page{padding:25px 24px;margin:0}section.legal-page h1{font-size:36px;overflow-wrap:anywhere}.legal-page a{overflow-wrap:anywhere}}
@media(max-width:370px){.header-city{max-width:40%;font-size:12px}.header-inner{padding-inline:15px;gap:11px}.brand{font-size:9px}.brand-mark{font-size:28px}.menu-toggle{font-size:12px;padding-inline:9px}.hero-copy{padding-inline:20px}.hero h1{font-size:40px}.form-grid{grid-template-columns:1fr}.products{gap:10px}.product-copy{padding:10px}.quantity button{min-width:38px;width:38px}.product h2{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{body{padding:0}body>*:not(.print-only){display:none!important}.print-only{display:block;padding:25px}.print-only h1{font:28px Georgia,serif;margin-bottom:25px}.print-only p{padding:8px 0;border-bottom:1px solid #ddd}}

@media(max-width:760px){.header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:17px 20px}.header-inner .brand{font-size:9px;gap:8px}.header-inner .brand-mark{font-size:30px}.header-city{max-width:none;padding-left:12px;font-size:13px}.header-city small{font-size:9px}#navigation{grid-column:1/-1}.menu-toggle{margin:0}}
