:root{--paper:#f8f4eb;--ink:#39242a;--wine:#54252f;--gold:#9d793d;--line:#dcd2c3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #b18041;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1}.hero-title{font-family:Georgia,serif;line-height:1.1;font-size:clamp(50px,5.2vw,78px);letter-spacing:-3px}h2{font-size:clamp(35px,3.5vw,51px);letter-spacing:-1.5px}h3{font-size:27px}em{color:#98623e;font-weight:400}p{max-width:65ch}.skip{position:absolute;left:12px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.topline{background:var(--wine);color:#f9f0dd;display:flex;justify-content:space-between;padding:9px 6%;font-size:10px;letter-spacing:2px}.header{padding:28px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;text-align:center;line-height:1.15}.brand-name{font-family:Georgia,serif;font-size:36px;letter-spacing:-1px}.brand-small{font-size:9px;letter-spacing:3.5px;margin-top:5px}.header nav{display:flex;gap:32px;align-items:center;font-size:13px}.nav-call{border:1px solid var(--wine);padding:11px 19px}.nav-call span{padding-left:20px}.hero{display:grid;grid-template-columns:1.05fr 1fr;max-width:1600px;margin:auto;padding:45px 6% 62px;gap:55px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;margin-bottom:25px}.intro{margin:27px 0;max-width:410px;color:#67545a;font-size:16px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{background:var(--wine);color:var(--paper);padding:17px 23px;display:inline-flex;align-items:center;gap:27px;font-size:12px;transition:background .2s}.button:hover{background:#743b46}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:5px;display:inline-flex;align-items:center;gap:20px}.hero-note{margin-top:42px;display:flex;gap:15px;font-size:11px;line-height:1.7;color:#776268}.small-star{color:var(--gold);font-size:25px}.hero-art{position:relative;max-height:560px}.hero-art img{width:100%;max-height:560px;object-fit:cover;display:block;border-radius:200px 200px 0 0}.art-label{position:absolute;bottom:24px;left:30px;color:#ead6ae;font-size:9px;letter-spacing:2.5px}.roundel{position:absolute;right:-22px;top:27px;border-radius:50%;width:100px;height:100px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e6d6b7;border:6px solid var(--paper);font-family:Georgia,serif;font-size:43px;color:var(--wine);line-height:1}.roundel span{font-family:Arial,sans-serif;font-size:8px;letter-spacing:2px;margin-top:6px}.ribbon{display:flex;justify-content:space-around;gap:25px;padding:25px 6%;background:#ece4d5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:2px;flex-wrap:wrap}.ribbon i{color:var(--gold);font-size:18px;line-height:1}.section{padding:90px 6%;max-width:1600px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:43px}.section-head>p{max-width:360px;font-size:14px;color:#756169}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-art{height:260px;position:relative;display:grid;place-items:center;margin-bottom:25px}.service-art>span{position:absolute;top:14px;left:18px;font-size:10px;letter-spacing:1px;color:#775e4e}.service-art svg{height:220px;width:90%;fill:none;stroke:#b89458;stroke-width:1.6}.bridal{background:#532c35}.bridal>span{color:#dabf92}.festive{background:#dbceb8}.festive svg{stroke:#7f6042}.tailoring{background:#6c7263}.tailoring>span{color:#efe3c8}.tailoring svg{stroke:#ead4a7}.service-grid .eyebrow{font-size:9px;margin-bottom:12px}.service-grid h3{margin-bottom:17px}.service-grid p:not(.eyebrow){font-size:14px;color:#756169}.service-grid a{font-size:11px;border-bottom:1px solid #bda790;padding-bottom:6px;display:flex;justify-content:space-between;margin-top:25px}.illustration-note{font-size:10px;color:#756169;margin-top:25px}.craft{display:grid;grid-template-columns:.8fr 1fr;gap:11%;background:#ede6d9;max-width:none;align-items:center}.craft-mark{padding:45px;border:1px solid #baa17c;text-align:center;max-width:480px;aspect-ratio:1;display:flex;justify-content:center;align-items:center;flex-direction:column;position:relative}.craft-mark:before{content:'';position:absolute;inset:13px;border:1px solid #baa17c}.craft-mark div{font-family:Georgia,serif;font-size:170px;color:var(--wine);line-height:1.2}.craft-mark p{font-size:9px;letter-spacing:2px;margin-top:20px}.craft h2{margin-bottom:30px}.craft p:not(.eyebrow){font-size:14px;color:#756169;margin-bottom:18px}.craft-tags{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}.craft-tags span{font-size:10px;padding:7px 13px;border:1px solid #c8bca7}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:30px;gap:45px}.steps span{font-size:9px;letter-spacing:2px;color:#876843}.steps h3{font-size:24px;margin:18px 0}.steps p{font-size:14px;color:#756169}.visit{display:grid;grid-template-columns:1fr 1fr;background:var(--wine);color:var(--paper);padding:70px 6%;gap:80px}.visit em{color:#d6bc8e}.visit .eyebrow{color:#d7bd94}.visit h2{font-size:54px}.address{font-size:16px;margin:28px 0}.visit dl{font-size:12px;max-width:340px}.visit dl div{display:flex;justify-content:space-between;border-bottom:1px solid #865764;padding:10px 0}.visit dt{font-size:9px;letter-spacing:1px}.visit dd{margin:0}.visit-copy>p:not(.address):not(.eyebrow){font-size:11px;color:#d5c1c1;margin:20px 0 25px}.button.light{background:#f1e4cb;color:var(--wine)}.map-card{min-height:470px;background:#e6dcc8;color:var(--wine);position:relative;display:flex;justify-content:center;align-items:center;flex-direction:column;overflow:hidden}.map-lines{position:absolute;inset:-90px;background:repeating-linear-gradient(25deg,transparent 0 95px,#f8f4eb 96px 101px,transparent 102px 106px,#b7ac971f 107px 108px),repeating-linear-gradient(110deg,transparent 0 105px,#f8f4eb 106px 111px);transform:rotate(-4deg)}.map-city{position:absolute;top:30px;left:30px;font-size:10px;letter-spacing:3px}.map-location{z-index:1;background:#f8f4eb;padding:28px 25px;text-align:center;box-shadow:0 5px 20px #39242a10;display:flex;align-items:center;flex-direction:column}.map-location>span{font-size:30px;color:#916b32}.map-location strong{font-family:Georgia,serif;font-size:23px;font-weight:400}.map-location small{font-size:9px;letter-spacing:2px;margin-top:8px}.map-card>a{position:absolute;bottom:45px;background:var(--wine);color:var(--paper);padding:15px 22px;font-size:11px}.map-caption{position:absolute;bottom:15px;font-size:9px;color:#64564e}.faq{display:grid;grid-template-columns:.75fr 1fr;gap:10%}.questions details{border-bottom:1px solid var(--line);padding:19px 0}.questions summary{cursor:pointer;font-size:14px;list-style:none;position:relative;padding-right:25px}.questions summary:after{content:'+';position:absolute;right:0;font-size:21px;line-height:1}.questions details[open] summary:after{content:'−'}.questions details p{font-size:13px;color:#756169;margin-top:16px}.questions details a{text-decoration:underline}footer{padding:40px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer a:not(.brand),footer>span{font-size:10px}footer>span{color:#756169}.mobile-contact{display:none}@media(min-width:1500px){.hero-art{max-height:650px}.hero-art img{max-height:650px}}@media(max-width:1000px){.hero{gap:30px}.header nav{gap:20px}.hero-title{font-family:Georgia,serif;line-height:1.1;font-size:56px}.hero .actions{gap:16px}.hero-note{margin-top:28px}.section{padding:65px 6%}.visit{gap:35px}.craft{gap:7%}.service-art{height:210px}.service-art svg{height:180px}.craft-mark div{font-size:125px}footer{flex-wrap:wrap}}@media(max-width:700px){.topline span{display:none}.topline{justify-content:center;font-size:9px}.header{padding:20px 6%}.brand-name{font-size:30px}.brand-small{font-size:8px}.header nav>a:not(.nav-call){display:none}.header .nav-call{font-size:11px;padding:9px 13px}.hero{grid-template-columns:1fr;padding-top:37px;gap:37px}.hero .hero-title{font-family:Georgia,serif;line-height:1.1;font-size:57px;letter-spacing:-2.5px}.eyebrow{font-size:9px;margin-bottom:21px}.intro{font-size:15px}.hero-note{margin-top:26px}.hero-art img{height:430px;border-radius:180px 180px 0 0}.roundel{width:85px;height:85px;right:-9px;font-size:34px}.ribbon{gap:17px;padding:21px 6%;font-size:8px}.ribbon i{display:none}.section{padding:55px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:22px}.service-grid{grid-template-columns:1fr;gap:40px}.service-art{height:240px}.service-art svg{height:220px}.service-grid h3{font-size:29px}.craft{grid-template-columns:1fr;gap:35px}.craft-mark{width:100%;max-width:330px;margin:auto}.craft-mark div{font-size:130px}.steps{grid-template-columns:1fr;gap:30px}.steps h3{margin:12px 0}.visit{grid-template-columns:1fr;padding:50px 6%;gap:35px}.visit h2{font-size:48px}.map-card{min-height:350px}.faq{grid-template-columns:1fr;gap:30px}footer{padding:32px 6% 95px;align-items:flex-start;display:grid;grid-template-columns:1fr 1fr}footer .brand{align-items:flex-start}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);z-index:5;padding:10px;gap:10px}.mobile-contact a{width:50%;text-align:center;font-size:12px;padding:9px;background:var(--wine);color:var(--paper)}.mobile-contact a:last-child{background:#e5dac8;color:var(--wine)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-art img{height:560px;object-position:46% center}.art-label{background:#54252fd9;padding:10px 14px;bottom:22px;left:22px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.photo-grid figure{margin:0}.photo-grid img{width:100%;height:290px;object-fit:cover;display:block}.photo-grid figure:first-child img{object-position:35% center}.photo-grid figcaption{font-size:11px;margin-top:12px;color:#756169}.gallery{padding-top:0}.gallery .illustration-note a{border-bottom:1px solid}.hero h1.eyebrow{font-family:Arial,sans-serif;line-height:1.65;font-size:10px;letter-spacing:2.1px;font-weight:600}@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.hero-art img{height:430px}.photo-grid{gap:14px}.photo-grid img{height:230px}.hero h1.eyebrow{font-size:9px}}

.inspiration{padding-bottom:20px}.inspiration-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.inspiration figure{margin:0}.inspiration img{width:100%;height:390px;object-fit:cover;display:block}.inspiration figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:14px;font-family:Georgia,serif;font-size:22px}.inspiration figcaption span{font:10px/1.6 Arial,sans-serif;color:#756169;max-width:180px}.inspiration figcaption a{text-decoration:underline}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-links a{text-decoration:underline}.booking-intro{padding-bottom:40px;max-width:950px;text-align:center}.booking-intro h1{font-size:clamp(42px,5vw,66px);letter-spacing:-2px;margin-bottom:25px}.booking-intro>p:last-child{margin:auto;max-width:580px;color:#756169;font-size:15px}.booking-layout{display:grid;grid-template-columns:.75fr 1.2fr;gap:7%;padding-top:20px;align-items:start}.booking-aside>img{width:100%;height:300px;object-fit:cover;object-position:35% center;display:block;border-radius:140px 140px 0 0}.booking-aside>div{padding:30px;background:#ede6d9}.booking-aside h2{font-size:34px;margin-bottom:22px}.booking-aside p:not(.eyebrow){font-size:14px;color:#756169}.booking-aside dl{font-size:13px;margin:25px 0}.booking-aside dl>div{border-top:1px solid #c8bca7;padding:16px 0}.booking-aside dt{font-size:9px;letter-spacing:1.5px;margin-bottom:8px}.booking-aside dd{margin:0}.booking-panel{border:1px solid var(--line);padding:35px;background:#fffcf5}.booking-panel h2{font-size:34px}.form-intro{font-size:13px;color:#756169;margin:17px 0 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}.form-grid label{display:block;font-size:12px;margin-bottom:7px;font-weight:600}.form-grid label span{font-weight:400;color:#756169}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #c7b9a8;border-radius:0;background:#fffefb;color:var(--ink);font:16px/1.5 Arial,sans-serif;min-height:46px;padding:10px 12px;width:100%;max-width:100%}.form-grid textarea{resize:vertical}.form-grid small{font-size:10px;display:block;line-height:1.5;margin-top:7px;color:#756169}.full-width{grid-column:1/-1}.honeypot{display:none}.consent{display:flex;align-items:flex-start;gap:11px;margin:25px 0;font-size:12px;line-height:1.6}.consent input{width:18px;height:18px;flex-shrink:0;margin:2px 0;accent-color:var(--wine)}.consent a,.policy a:not(.button){text-decoration:underline}.submit-button{border:0;cursor:pointer;width:100%;justify-content:space-between;font-family:Arial,sans-serif;min-height:50px}.submit-button:disabled{opacity:.65;cursor:wait}.form-footnote{font-size:11px;color:#756169;margin-top:20px}.form-status:empty{display:none}.form-status{margin-top:20px;padding:16px;background:#ede6d9;font-size:13px}.form-status.success{background:#e6eddf;color:#34442d;border-left:3px solid #52673f}.form-status.error{background:#f8e9df;border-left:3px solid #9e442c}.form-status .text-link{margin-top:15px}.policy{max-width:880px;min-height:60vh}.policy h1{font-size:52px;margin-bottom:24px}.policy h2{font-size:25px;margin:34px 0 17px}.policy p{margin-bottom:22px;font-size:15px;color:#67545a}.policy .button{margin-top:18px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid #98623e;outline-offset:3px}@media(max-width:1000px){.header nav{gap:15px}.booking-layout{gap:30px;grid-template-columns:.8fr 1.2fr}.booking-panel{padding:25px}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.inspiration figcaption{display:block}.inspiration figcaption span{display:block;margin-top:8px}}@media(max-width:700px){.booking-intro{padding-top:40px;padding-bottom:28px}.booking-layout{grid-template-columns:1fr;padding-top:0;gap:35px}.booking-aside>img{height:210px;max-width:100%;border-radius:0}.booking-aside h2{font-size:30px}.booking-aside>div{padding:25px}.booking-panel{padding:25px 20px}.booking-intro h1{font-size:44px;letter-spacing:-1.5px}.inspiration-grid{grid-template-columns:1fr;gap:28px}.inspiration img{height:270px}.inspiration{padding-bottom:0}.policy h1{font-size:42px}.form-grid{gap:20px}.inspiration figcaption{font-size:22px}}

/* The studio logo is the main brand image. */
.hero-art.brand-hero{max-height:none;max-width:560px;width:100%;justify-self:center;background:#54252f;padding:18px 18px 0;border:1px solid #b59a67}
.hero-art.brand-hero img{height:auto;max-height:none;width:100%;aspect-ratio:1;object-fit:contain;object-position:center;border-radius:0}
.brand-hero-caption{margin:0;text-align:center;font-size:8px;letter-spacing:1.8px;color:#ead6ae;padding:17px 8px 20px;max-width:none;border-top:1px solid #92704b}
@media(max-width:700px){.hero-art.brand-hero{max-width:430px;padding:12px 12px 0}.brand-hero-caption{font-size:7px;letter-spacing:1.1px;padding:14px 5px 16px}}

/* A warm, direct invitation to share an honest Google review. */
.customer-reviews{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;align-items:center;background:#eee5d6;border-bottom:1px solid #d4c4ac;max-width:none;padding-top:85px;padding-bottom:85px}
.review-message h2{font-size:clamp(38px,4vw,58px);margin-bottom:27px}
.review-message>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#6a5559;max-width:48ch}
.review-studio{display:flex;gap:17px;align-items:center;margin-top:32px}
.review-studio img{width:64px;height:64px;display:block;object-fit:contain;border-radius:50%}
.review-studio strong{display:block;font:23px/1.3 Georgia,serif;font-weight:400}
.review-studio span{display:block;font-size:8px;letter-spacing:2px;margin-top:7px;color:#785c3c}
.review-invitation{max-width:500px;width:100%;justify-self:center;text-align:center;background:#fffcf5;border:1px solid #b79a6b;padding:35px 36px 29px;position:relative;box-shadow:9px 9px 0 #ded0b5}
.review-invitation:before{content:'';position:absolute;inset:8px;border:1px solid #e8deca;pointer-events:none}
.review-spark{display:block;font-family:Georgia,serif;font-size:46px;line-height:1;color:#9d793d;margin-bottom:18px}
.review-invitation .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:17px}
.review-invitation h3{font-size:39px;line-height:1.15;margin-bottom:19px}
.review-invitation>p:not(.eyebrow):not(.review-opening-note){font-size:12px;color:#756169;max-width:29ch;margin:0 auto 25px;line-height:1.8}
.google-review-button{position:relative;display:flex;justify-content:space-between;gap:14px;width:100%;min-height:56px;padding:14px 20px;font-size:13px;transition:background .2s,transform .2s}
.google-review-button:hover{transform:translateY(-2px)}
.review-google-letter{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#4285f4;font-family:Arial,sans-serif;font-size:18px;font-weight:700;line-height:1;flex-shrink:0}
.review-invitation .review-opening-note{font-size:9px;letter-spacing:.3px;color:#756169;margin:11px auto 19px}
.review-read-link{position:relative;display:inline-flex;align-items:center;gap:15px;font-size:11px;border-bottom:1px solid #c7b395;padding-bottom:4px}
.footer-links .footer-review{color:var(--wine);font-weight:600}
@media(max-width:1000px){.customer-reviews{gap:6%;padding-top:65px;padding-bottom:65px}.review-invitation{padding:29px 25px 25px}.review-invitation h3{font-size:34px}.review-studio strong{font-size:21px}.google-review-button{padding:13px 15px;font-size:12px;gap:10px}}
@media(max-width:700px){.customer-reviews{grid-template-columns:1fr;gap:38px;padding:50px 6% 60px}.review-message h2{font-size:43px;letter-spacing:-1.7px}.review-message>p:not(.eyebrow){font-size:14px}.review-studio{margin-top:26px}.review-studio img{width:56px;height:56px}.review-invitation{max-width:430px;padding:28px 25px 24px;box-shadow:6px 6px 0 #ded0b5}.review-invitation h3{font-size:35px}.review-spark{font-size:40px}.google-review-button{min-height:56px;font-size:12px}.review-studio strong{font-size:22px}.review-invitation .eyebrow{font-size:7px;letter-spacing:1.4px}}
