@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";
@font-face{font-family:Vetrino;src:url(/fonts/Vetrino.otf)format("opentype");font-display:swap;font-style:normal;font-weight:400}:root{--color-bg:#efe5d8;--color-ink:#2e2a27;--color-accent:#93373c;--color-white:var(--color-bg);--color-offwhite:var(--color-bg);--container:1232px;--section-gutter:clamp(32px, 5vw, 64px);--section-left:var(--section-gutter);--section-right:calc(100vw - var(--section-gutter));--section-width:min(calc(var(--section-right) - var(--section-left)), var(--container));--radius-card:18px;--font-display:"Vetrino", "Times New Roman", Georgia, serif;--font-body:"Montserrat", Arial, Helvetica, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}html,body{margin:0;padding:0}body{background:var(--color-bg);min-height:100vh;color:var(--color-ink);font-family:var(--font-body);line-height:1.5;overflow-x:clip}.wordmark,.brand-logo,.site-header a,.site-footer a,.button-cta{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.container{width:min(calc(100% - 48px), var(--container));margin-inline:auto}.display-heading,h1,h2,h3,h4,h5,h6,.section-copy h2,.section-title,.reviews-section h2,.location-section h2,.service-card h3,.profile-card h3,.simple-page h1,.simple-page h2,.wordmark{font-family:var(--font-display)}.brand-logo{flex:none;align-items:center;display:inline-flex}.brand-logo img{width:clamp(130px,12vw,184px);height:auto;display:block}.wordmark{color:var(--color-accent);letter-spacing:.08em;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1}.button-cta{border:1px solid var(--color-accent);letter-spacing:.1em;text-align:center;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:10px 22px;font-size:.75rem;font-weight:700;line-height:1;transition:background-color .18s,color .18s;display:inline-flex}.button-cta--solid{background:var(--color-accent);color:var(--color-white)}.button-cta--outline{color:var(--color-accent);background:0 0}.button-cta:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}img{max-width:100%;height:auto}.site-header{z-index:20;color:var(--color-offwhite);background:0 0;border-bottom:0;position:absolute;inset:0 0 auto}.site-header .wordmark{color:var(--color-offwhite)}.site-header__inner{width:var(--section-width);grid-template-columns:184px minmax(32px,1fr) 445px minmax(32px,1fr) 114px;align-items:center;column-gap:0;min-height:84px;margin-inline:auto;display:grid}.site-header__navigation{letter-spacing:0;grid-column:3;justify-content:space-between;align-items:center;width:445px;margin-left:0;font-size:.72rem;font-weight:500;display:flex}.site-header__navigation a:hover,.site-footer a:hover{color:var(--color-accent)}.site-header__cta{letter-spacing:0;flex:none;grid-column:5;min-width:114px;min-height:31px;margin-left:0;padding:7px 13px;font-size:.72rem}.site-header .button-cta{border-color:var(--color-bg);color:var(--color-bg);background:0 0}.site-header .button-cta:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg)}.site-footer{background:var(--color-ink);color:var(--color-offwhite);padding-block:46px}.site-footer__inner{grid-template-columns:minmax(220px,1.35fr) minmax(260px,1fr) auto;place-items:start;gap:clamp(36px,8vw,120px);display:grid}.site-footer__brand{align-content:start;justify-items:start;gap:20px;display:grid}.site-footer__wordmark{width:fit-content}.site-footer__wordmark img{width:clamp(150px,14vw,190px)}.site-footer__contacts{letter-spacing:.015em;gap:14px;padding-left:11px;font-size:clamp(.95rem,1.3vw,1.15rem);font-weight:500;line-height:1.2;display:grid}.site-footer__legal{align-content:start;gap:10px;padding-top:4px;font-size:.78rem;line-height:1.2;display:grid}.site-footer__socials{align-content:start;justify-items:start;gap:18px;padding-top:4px;display:grid}.site-footer__socials a{width:32px;height:32px;color:var(--color-bg);justify-content:center;align-items:center;display:inline-flex}.site-footer__socials svg,.site-footer__socials img{object-fit:contain;width:100%;height:100%;display:block}.site-footer__socials svg{fill:currentColor}.site-footer__legal{grid-column:span 1}.site-footer__social-placeholder{color:#efe5d88c}.hero-section{background:var(--color-ink);min-height:517px;color:var(--color-offwhite);border-bottom:1px solid #efe5d894;position:relative;overflow:hidden}.hero-section:before{z-index:1;content:"";pointer-events:none;background:linear-gradient(90deg,#000000fa 0%,#000000f0 38%,#000000ad 52%,#00000024 72%,#0000 100%);position:absolute;inset:0}.hero-section__inner{z-index:2;width:var(--section-width);align-items:start;min-height:517px;margin-inline:auto;padding-block:116px 44px;display:flex;position:relative}.hero-section__copy{gap:17px;width:min(100%,500px);display:grid;position:relative}.hero-section h1{letter-spacing:.035em;text-transform:uppercase;margin:0;font-size:2.72rem;font-weight:400;line-height:1.02}.hero-section p{max-width:490px;margin:0;font-size:1.13rem;line-height:1.28}.hero-section__facts{width:var(--section-width);color:#efe5d8eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:40px;font-size:1rem;font-weight:400;display:flex}.hero-section__facts a{color:inherit}.hero-section__fact{white-space:nowrap;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.hero-section__fact>svg,.hero-section__fact>img{width:22px;height:22px;color:var(--color-bg);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;flex:none;display:block}.hero-section__media{z-index:0;pointer-events:none;width:100%;position:absolute;inset:0}.hero-section__media img{object-position:center center;object-fit:cover;width:100%;height:100%}.studio-section,.services-section,.gift-section,.team-section,.interior-section,.location-section,.booking-section{background:var(--color-bg);padding-block:clamp(80px,9vw,140px)}.studio-section{min-height:800px;padding-block:100px}.studio-section>.container,.services-section>.container,.gift-section>.container,.team-section>.container,.reviews-section>.container,.interior-section>.container,.location-section>.container,.booking-section>.container,.site-footer>.container{width:var(--section-width);margin-inline:auto}.studio-section .split-section{grid-template-columns:minmax(0,44%) minmax(0,56%);justify-content:space-between;align-items:center;gap:0}.studio-section .section-copy{align-content:center;gap:34px;min-width:0}.studio-section .section-copy h2{max-width:620px;font-size:3rem;line-height:1.02}.studio-section .section-copy p{max-width:540px;font-size:1.7rem;line-height:1.34}.studio-section__gallery{aspect-ratio:1.25;width:100%;min-width:0;height:auto;position:relative}.studio-section__photo{filter:drop-shadow(7px 10px 10px #2e2a273d);height:auto;display:block;position:absolute}.studio-section__photo--top{z-index:2;width:41%;top:0;left:14%}.studio-section__photo--bottom{z-index:1;width:54.5%;top:56%;bottom:auto;left:0}.studio-section__photo--right{z-index:3;width:43.5%;top:17.5%;right:0}.split-section{grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);align-items:center;gap:clamp(36px,6vw,96px);display:grid}.section-copy{gap:22px;display:grid}.section-copy h2,.section-title,.reviews-section h2,.location-section h2{letter-spacing:.03em;text-transform:uppercase;max-width:780px;margin:0;font-size:clamp(2.65rem,3vw,3.6rem);font-weight:400;line-height:1.02}.services-section .section-title,.team-section .section-title{white-space:nowrap;max-width:100%}.services-section .section-title{font-size:clamp(2.9rem,4.06vw - 2.3px,3.31rem)}.team-section .section-title{font-size:clamp(3rem,3.97vw + .36px,3.41rem)}.gift-section .section-copy h2{max-width:620px}.reviews-section h2{max-width:720px}.booking-section .section-copy h2{max-width:650px}.desktop-line{width:max-content;max-width:none;color:inherit;white-space:nowrap;display:block}.section-copy p,.location-section p,.reviews-section p{max-width:580px;margin:0;font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.25}.section-title{margin-bottom:48px}.section-lead{max-width:760px;margin:-34px 0 44px;font-size:clamp(1rem,1.6vw,1.35rem)}.section-title span,.booking-section h2 span{color:var(--color-accent)}.service-card,.location-section__map{border-radius:var(--radius-card)}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.service-card{background:var(--color-ink);color:var(--color-offwhite);overflow:hidden}.service-card img{aspect-ratio:1.65;object-fit:cover;width:100%;display:block}.service-card__body{text-align:center;justify-items:center;gap:14px;padding:24px 28px 28px;display:grid}.service-card h3{margin:0;font-size:clamp(2rem,3vw,3rem);font-weight:400;line-height:1}.service-card p{min-height:3.3em;margin:0;font-size:1rem;line-height:1.2}.gift-section__image{justify-self:center;width:min(520px,100%)}.horizontal-slider{--slider-control-offset:max(-80px, calc((var(--section-width) - 100vw) / 2 + 8px));grid-template-columns:minmax(0,1fr);align-items:center;display:grid;position:relative}.horizontal-slider__rail{scrollbar-width:none;gap:28px;padding:4px 2px 18px;display:flex;overflow-x:auto}.horizontal-slider__rail::-webkit-scrollbar{display:none}.horizontal-slider__control{left:var(--slider-control-offset);z-index:3;border:2px solid var(--color-accent);width:56px;height:56px;color:var(--color-accent);pointer-events:auto;touch-action:manipulation;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .18s,color .18s,transform .18s;display:inline-flex;position:absolute}.horizontal-slider__control--next{right:var(--slider-control-offset);left:auto}.horizontal-slider__control svg{fill:none;pointer-events:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;width:56px;height:56px;display:block}.horizontal-slider__control:hover{background:var(--color-accent);color:var(--color-bg);transform:scale(1.04)}.profile-card{border-radius:var(--radius-card);background:var(--color-ink);min-width:0;color:var(--color-offwhite);scroll-snap-align:start;flex:0 0 calc(33.3333% - 18.6667px);overflow:hidden}.profile-card img{object-fit:contain;width:100%;height:auto;display:block}.profile-card__body{text-align:center;justify-items:center;gap:12px;padding:24px 28px 30px;display:grid}.profile-card h3{margin:0;font-size:clamp(2rem,3vw,3rem);font-weight:400;line-height:1}.profile-card p{min-height:3.3em;margin:0}.interior-card{aspect-ratio:1;border-radius:var(--radius-card);scroll-snap-align:start;flex:0 0 calc(33.3333% - 18.6667px);min-width:0;margin:0;overflow:hidden}.interior-card img{object-fit:cover;width:100%;height:100%;display:block}.interior-card--crop-frame img{transform:scale(1.16)}.reviews-section{background:var(--color-ink);color:var(--color-offwhite);padding-block:86px}.reviews-section__inner{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:60px;display:grid}.reviews-section__links{flex-wrap:wrap;gap:12px 20px;margin-top:18px;display:flex}.reviews-section__links a{color:var(--color-offwhite);text-underline-offset:4px;text-decoration:underline}.reviews-section__links span{color:#efe5d89e}.reviews-section img{justify-self:center;width:min(460px,100%)}.location-section .container{gap:24px;display:grid}.location-section__map{border:0;width:100%;height:clamp(360px,42vw,520px);display:block}.location-section__route{letter-spacing:.01em;width:min(100%,410px);min-height:60px;padding:12px 30px;font-size:clamp(1rem,1.55vw,1.45rem)}.booking-section__cta{letter-spacing:.025em;width:min(100%,310px);min-height:50px;padding:10px 24px;font-size:1rem}.booking-section__image{justify-self:center;width:min(560px,100%)}.simple-page{background:var(--color-bg);min-height:100vh}.simple-page__hero{grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);align-items:center;gap:clamp(36px,6vw,84px);min-height:72vh;padding-block:clamp(70px,10vw,130px);display:grid}.simple-page__hero--single{grid-template-columns:minmax(0,760px)}.simple-page__hero h1{text-transform:uppercase;margin:0;font-size:clamp(3rem,5vw,5.2rem);font-weight:400;line-height:.98}.simple-page__image{border-radius:var(--radius-card);object-fit:cover;width:100%}.simple-page__back{width:fit-content;color:var(--color-accent);text-transform:uppercase;font-weight:700;text-decoration:none}.simple-page__details{gap:12px;padding-bottom:80px;display:grid}.simple-page__details h2{margin:0;font-size:clamp(2.2rem,4vw,4rem);font-weight:400}.booking-page{background:var(--color-bg);min-height:100vh;padding-block:clamp(48px,7vw,96px)}.booking-page__inner{gap:28px;display:grid}.booking-page__header{gap:18px;max-width:820px;display:grid}.booking-page__header h1{text-transform:uppercase;margin:0;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.98}.booking-page__header p{max-width:720px;margin:0;font-size:clamp(1rem,1.7vw,1.35rem)}.booking-embed{border-radius:var(--radius-card);background:#fff;border:1px solid #2e2a271f;min-height:760px;position:relative;overflow:hidden;box-shadow:0 18px 50px #2e2a271f}.booking-embed__loading{z-index:1;background:var(--color-bg);color:var(--color-ink);place-items:center;margin:0;font-weight:600;display:grid;position:absolute;inset:0}.booking-embed__frame{background:#fff;border:0;width:100%;min-height:760px;display:block}.booking-page__actions{flex-wrap:wrap;gap:12px;display:flex}.booking-page__actions .button-cta{letter-spacing:.04em;min-height:50px;padding-inline:26px;font-size:.85rem}.booking-page__address{color:#2e2a27b8;margin:0}@media (max-width:860px){:root{--section-gutter:16px}.container{width:min(calc(100% - 32px), var(--container))}.site-header__inner{width:min(calc(100% - 32px), var(--container));grid-template-columns:auto minmax(16px,1fr) auto;row-gap:10px;min-height:72px;margin-inline:auto;display:grid}.site-header__navigation{grid-area:2/1/auto/-1;justify-content:space-between;width:100%;font-size:.64rem}.site-header__cta{grid-column:3;justify-self:end;min-width:104px;font-size:.62rem}.site-footer__inner{grid-template-columns:1fr 1fr}.split-section,.reviews-section__inner{grid-template-columns:1fr}.studio-section{min-height:0;padding-block:72px}.studio-section .split-section{grid-template-columns:1fr;gap:48px}.studio-section>.container,.services-section>.container,.gift-section>.container,.team-section>.container,.reviews-section>.container,.interior-section>.container,.location-section>.container,.booking-section>.container,.site-footer>.container{width:min(calc(100% - 32px), var(--container));margin-inline:auto}.services-section .section-title,.team-section .section-title{white-space:normal}.team-section .section-title,.team-section .section-lead,.interior-section .section-title{margin-left:0}.desktop-line{white-space:normal;width:auto;display:inline}.desktop-line+.desktop-line:before{content:" "}.studio-section .section-copy{gap:22px}.studio-section .section-copy h2{font-size:clamp(2.2rem,10vw,3rem)}.studio-section .section-copy p{font-size:1.12rem}.studio-section__gallery{width:100%;height:auto}.hero-section__inner{align-items:start;min-height:730px;padding-block:105px 48px}.hero-section h1{font-size:clamp(2.45rem,11vw,3rem)}.hero-section__media{border-radius:0;width:100%;height:100%;inset:0}.hero-section__media img{object-position:64% center;border-radius:0;min-height:100%}.hero-section__facts{gap:12px;width:auto;margin-top:10px;font-size:.7rem;display:grid}.services-grid{scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;display:flex;overflow-x:auto}.service-card{scroll-snap-align:start;min-width:min(82vw,360px)}.horizontal-slider{grid-template-columns:1fr}.horizontal-slider__control{display:none}.horizontal-slider__rail{scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px}.profile-card,.interior-card{flex-basis:min(82vw,360px);min-width:min(82vw,360px)}.reviews-section__inner{gap:32px}.simple-page__hero{grid-template-columns:1fr}.booking-embed,.booking-embed__frame{min-height:max(680px,82vh)}}@media (max-width:1199px){.services-section .section-title,.team-section .section-title{white-space:normal;font-size:clamp(2.3rem,2.55vw,3.05rem)}}@media (max-width:560px){.hero-section h1{font-size:clamp(2.2rem,10vw,2.65rem)}.site-footer{padding-block:40px}.site-footer__inner{grid-template-columns:minmax(0,1fr) auto;gap:22px}.site-footer__brand{grid-column:1/-1}.site-footer__legal{grid-column:1}.site-footer__socials{grid-column:2;justify-self:end}.booking-page{padding-block:28px 48px}.booking-page__inner{gap:20px}.booking-page__actions{display:grid}.booking-page__actions .button-cta{width:100%}}@media (max-width:360px){.section-copy h2,.section-title,.reviews-section h2,.location-section h2{font-size:clamp(1.9rem,10vw,2.15rem)}.studio-section .section-copy h2{font-size:clamp(1.8rem,9.5vw,2rem)}}
