:root{--wine:#3d1118;--rose:#cf969d;--blush:#eed6d3;--paper:#fffdf6;--ink:#42232a;--line:#ddc9c6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:6px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5vw;border-bottom:1px solid var(--line);gap:25px}.brand{font-family:Georgia,serif;font-size:36px;line-height:1;letter-spacing:-1.5px}.brand span{display:block;font:8px Arial,sans-serif;letter-spacing:3px;margin-top:10px}nav{display:flex;gap:28px;font-size:12px}.header-actions{display:flex;align-items:center;gap:22px}.languages{display:flex;gap:8px}.languages button{border:0;background:none;font-size:11px;cursor:pointer;padding:6px 2px;color:var(--ink);opacity:.5}.languages button[aria-pressed=true]{opacity:1;border-bottom:1px solid var(--wine)}.button{background:var(--wine);color:var(--paper);display:inline-flex;padding:16px 25px;font-size:12px;letter-spacing:.2px;align-items:center;justify-content:center;border:1px solid var(--wine);transition:background .2s,transform .2s}.button:hover{background:#65232f;transform:translateY(-2px)}.button.small{padding:12px 17px;font-size:11px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:680px;padding:65px 5vw 55px;gap:40px;align-items:center;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:600;margin:0 0 26px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.07;margin:0}h1{font-size:clamp(48px,5.1vw,82px);letter-spacing:-3px}em{font-weight:400;color:#9b5964}h2{font-size:clamp(35px,4vw,59px);letter-spacing:-1.8px}.intro{max-width:460px;margin:30px 0;color:#785a60;font-size:15px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.text-link{font-size:12px;border-bottom:1px solid var(--rose);padding-bottom:5px}.location{margin-top:58px;font-size:9px;letter-spacing:2px}.hero-art{position:relative;padding:0 32px 0 12px}.image-frame{background:var(--wine);border-radius:48% 48% 0 0;padding:38px 18px 28px;aspect-ratio: .88;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:15px 15px 0 var(--blush)}.image-frame img{display:block;width:100%;height:auto;border-radius:12px}.art-caption{display:block;text-align:center;font-family:Georgia,serif;font-style:italic;font-size:18px;margin-top:32px;color:#9b5964}.vertical{position:absolute;right:0;top:40%;writing-mode:vertical-rl;font-size:8px;letter-spacing:3px}.ribbon{background:var(--blush);display:flex;justify-content:space-around;align-items:center;padding:23px 5vw;font-size:11px;letter-spacing:3px}.ribbon i{font-size:22px;font-style:normal;color:#9b5964}.section{padding:95px 8vw}.section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;align-items:end;margin-bottom:52px}.section-heading>p{color:#785a60;max-width:360px;margin:0}.service-list article{display:grid;grid-template-columns:65px 1fr 70px;align-items:center;border-top:1px solid var(--line);padding:30px 0;gap:25px}.service-list article:last-child{border-bottom:1px solid var(--line)}.number{font:italic 21px Georgia;color:#ac7a81}.category{font-size:8px;letter-spacing:2px;color:#a26b75}h3{font-size:32px;margin:7px 0 12px}.service-list p{max-width:650px;color:#785a60;font-size:13px;margin:0}.service-list article>a{width:50px;height:50px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:24px;transition:background .2s}.service-list article>a:hover{background:var(--blush)}.about{background:var(--blush);display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:center}.about-mark{background:var(--wine);padding:25px;border-radius:48% 48% 0 0}.about-mark img{width:100%;height:auto;display:block;border-radius:20px}.about p:not(.eyebrow){color:#785a60;font-size:14px;max-width:500px;margin:26px 0}.steps{padding-top:70px;padding-bottom:70px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.steps-grid span{font:italic 22px Georgia;color:#b4808b}.steps-grid h3{font-size:25px;margin-top:22px}.steps-grid p{font-size:13px;color:#785a60;max-width:280px}.contact{background:var(--wine);color:var(--paper);display:grid;grid-template-columns:1.25fr 1fr;gap:15%}.contact em{color:var(--rose)}.contact .eyebrow{color:var(--rose)}.pale{margin-top:35px;background:var(--blush);color:var(--wine);border-color:var(--blush)}.pale:hover{background:white}.contact-details{display:grid;gap:28px}.contact-details span{font-size:8px;letter-spacing:2px;color:var(--rose);display:block}.contact-details p{margin:12px 0;font-family:Georgia,serif;font-size:21px}.contact-details a{font-size:12px}.contact-details .phone{font-family:Georgia,serif;font-size:25px;display:block;margin-top:10px}.social{display:flex;gap:24px;margin-top:12px}.faq{padding-top:65px;padding-bottom:65px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-family:Georgia,serif;font-size:21px}.faq p{max-width:750px;color:#785a60;font-size:14px}footer{padding:35px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>span{font-size:9px;letter-spacing:1px}.floating{position:fixed;bottom:25px;right:25px;width:55px;height:55px;border-radius:50%;background:var(--wine);color:var(--blush);display:grid;place-items:center;box-shadow:0 5px 20px #3d111833;border:1px solid var(--rose);z-index:5}.floating svg{width:29px;height:29px}@media(min-width:1500px){header,.hero,.section,footer{padding-left:max(8vw,calc((100vw - 1280px)/2));padding-right:max(8vw,calc((100vw - 1280px)/2))}}@media(max-width:950px){nav{display:none}.hero{gap:20px;padding-top:50px;min-height:auto}.hero-art{padding-left:0}.hero-actions{gap:16px}.section{padding:70px 6vw}.header-actions{gap:15px}.section-heading{gap:6%}.about{gap:7%}.contact{gap:9%}}@media(max-width:640px){header{padding:20px 6vw}.brand{font-size:30px}.brand span{font-size:7px;letter-spacing:2px}.header-actions .small{display:none}.hero{grid-template-columns:1fr;padding:48px 6vw 42px;gap:35px}h1{font-size:52px;letter-spacing:-2px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:20px}.intro{font-size:14px;margin:24px 0}.hero-actions{align-items:flex-start;flex-direction:column}.location{margin-top:30px}.hero-art{max-width:390px;width:100%;margin:auto;padding-right:25px}.image-frame{aspect-ratio:1.05;padding:26px 15px 15px}.art-caption{font-size:16px}.ribbon{padding:18px 4vw;font-size:8px;letter-spacing:1px}.ribbon i{font-size:15px}.section{padding:55px 6vw}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.section-heading>p{font-size:13px}h2{font-size:39px;letter-spacing:-1.5px}.service-list article{grid-template-columns:30px 1fr 36px;gap:10px;padding:25px 0}.number{font-size:17px}.service-list h3{font-size:26px}.service-list p{font-size:12px}.service-list article>a{width:34px;height:34px;font-size:20px}.about{grid-template-columns:1fr;gap:35px}.about-mark{max-width:280px;margin:auto}.steps-grid{grid-template-columns:1fr;gap:24px}.steps-grid>div{border-top:1px solid var(--line);padding-top:20px}.steps-grid h3{margin-top:12px}.steps-grid p{max-width:none}.contact{grid-template-columns:1fr;gap:45px}.contact .button{padding:15px 18px}.faq summary{font-size:18px}footer{flex-wrap:wrap;padding:28px 6vw}footer>span{display:none}.floating{width:50px;height:50px;right:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Gentle motion follows the visitor's scroll and accessibility settings. */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--rose);z-index:30;transform:scaleX(0);transform-origin:left;pointer-events:none}header{position:sticky;top:0;z-index:20;background:rgba(255,253,246,.95);backdrop-filter:blur(14px);transition:box-shadow .35s,border-color .35s}header.scrolled{box-shadow:0 6px 24px #3d11180d;border-color:transparent}.hero-art{transform:translate3d(0,var(--scroll-offset,0px),0)}.hero-copy{animation:hero-enter .9s both}.hero-art .image-frame{animation:art-enter 1.2s both}.art-caption{animation:hero-enter 1.2s .2s both}.image-frame:after{content:'';position:absolute;inset:14px;border:1px solid #cf969d55;border-radius:inherit;pointer-events:none}.image-frame img{animation:logo-breathe 9s 1.2s ease-in-out infinite}.reveal{transition:opacity .75s var(--reveal-delay,0ms),transform .75s var(--reveal-delay,0ms)}.reveal:not(.visible){opacity:0;transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}.service-list article{transition:opacity .75s var(--reveal-delay,0ms),transform .75s var(--reveal-delay,0ms),background .25s}.service-list article:hover{background:#eed6d333}.service-list article>a:hover{transform:rotate(8deg)}.service-list article>a{transition:background .25s,transform .25s}nav a{position:relative}nav a:after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:var(--rose);transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after{transform:scaleX(1)}.languages{gap:9px}.languages button{min-width:25px}.floating{transition:transform .25s,box-shadow .25s}.floating:hover{transform:translateY(-4px);box-shadow:0 8px 26px #3d111833}@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes art-enter{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}@keyframes logo-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}@media(min-width:641px) and (max-width:1100px){nav{display:none}}@media(max-width:640px){header{gap:12px}.header-actions{gap:0}.languages{gap:5px}.languages button{min-width:23px;padding:9px 2px}.hero-art{transform:none}.image-frame img{animation:none}h1{font-size:clamp(40px,11.8vw,52px)}.hero{overflow:hidden}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal:not(.visible){opacity:1;transform:none}.hero-art{transform:none!important}}
.service-list article{grid-template-columns:65px 1fr}.business-name{font-size:30px;margin:14px 0 8px}.contact-details .location-map{width:100%;height:230px;border:1px solid #cf969d66;border-radius:3px;display:block;background:var(--blush);margin:20px 0 14px}.map-links{display:flex;flex-wrap:wrap;gap:12px 20px}.map-links a{border-bottom:1px solid #cf969d66;padding-bottom:3px}.contact{gap:9%;grid-template-columns:1.1fr 1fr}@media(max-width:640px){.service-list article{grid-template-columns:30px 1fr}.contact{grid-template-columns:1fr;gap:45px}.contact-details .location-map{height:240px}}

.footer-credit{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.footer-credit a{border-bottom:1px solid var(--rose);font-weight:600}.footer-credit a:hover{color:#9b5964}@media(max-width:640px){.footer-credit{padding-right:48px}}
.floating{background:#25d366;color:#fff;border-color:#25d366;box-shadow:0 5px 20px #128c7e33}.floating:hover{background:#1da851;border-color:#1da851;box-shadow:0 8px 26px #128c7e40}
body{background-color:#fffdf6;background-image:linear-gradient(#fffdf624,#fffdf624),url('ivory-plaster-texture.png');background-size:auto,900px 900px;background-repeat:repeat}header{background-color:#fffdf6;background-image:linear-gradient(#fffdf66b,#fffdf66b),url('ivory-plaster-texture.png');background-size:auto,900px 900px}

