:root{--wine:#38151e;--deep:#260f16;--pink:#efb4c8;--paper:#f5e9eb;--ink:#38151e;--muted:#af9098;--line:rgba(239,180,200,.25);--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--wine);color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.6}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h2{font-family:var(--serif);font-size:clamp(48px,6vw,88px);line-height:1.05;letter-spacing:-.035em}p{max-width:65ch}::selection{background:var(--pink);color:var(--wine)}.skip{position:fixed;top:-100px;background:var(--paper);color:var(--wine);padding:12px;z-index:100}.skip:focus{top:0}.header{height:108px;padding:22px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--wine)}.wordmark{font-family:var(--serif);line-height:.86;width:180px}.wordmark>span{display:block;font-size:25px;letter-spacing:-.5px}.wordmark strong{font-size:42px;font-weight:400;letter-spacing:-2px}.brand-star{font:22px var(--sans);display:inline-block;vertical-align:top;margin:4px 0 0 7px;color:var(--pink)}nav{display:flex;gap:35px;align-items:center;font-size:14px}nav a:hover{color:var(--pink)}.nav-cta{border-bottom:1px solid var(--pink);padding:12px 0;margin-left:30px}.nav-cta span{margin-left:30px;font-size:22px}.menu-toggle{display:none;background:none;border:0}.hero{position:relative;min-height:760px;height:calc(100svh - 108px);max-height:1100px;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 46%;z-index:-2}.hero-photo img{object-position:center 36%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--wine) 0%,rgba(56,21,30,.42) 17%,transparent 45%),linear-gradient(0deg,rgba(38,15,22,.78),transparent 25%)}.photo-note{position:absolute;right:30px;top:46%;writing-mode:vertical-rl;font-size:13px;letter-spacing:1px;z-index:1}.hero-content{padding:64px 4.5% 100px;max-width:1100px}.location{font-size:13px;letter-spacing:.06em;margin-bottom:40px;color:#e0c4ce}.hero h1{font-family:var(--serif);font-size:clamp(85px,9.7vw,155px);line-height:.91;letter-spacing:-.055em;color:var(--pink);margin-bottom:30px}.hero h1 em{font-style:normal;display:block}.hero-description{font-size:17px;line-height:1.6;margin-bottom:28px;color:#f4e3e9}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 25px;font-size:14px;border:1px solid transparent;min-height:55px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.button.pink{background:var(--pink);color:var(--wine)}.button span{font-size:24px;line-height:1}.hero-explore{display:flex;align-items:center;gap:22px;width:fit-content;font-size:13px;padding-top:25px}.hero-bottom{position:absolute;bottom:23px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#f4dfe7}.hero-bottom span span{margin:0 12px}.ribbon{background:var(--pink);color:var(--wine);padding:22px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;font-family:var(--serif);font-size:34px;line-height:1.2}.ribbon [aria-hidden]{font-family:var(--sans);font-size:24px}@media(min-width:1500px){.hero-content{padding-top:90px}.hero h1{font-size:160px}}@media(max-width:1000px){nav{gap:22px}.nav-cta{margin-left:0}.hero{min-height:730px}.hero-content{padding-top:65px}.hero h1{font-size:110px}.ribbon-extra{display:none}}@media(max-width:700px){html{scroll-padding-top:25px}.header{height:88px;padding:16px 6%}.wordmark>span{font-size:21px}.wordmark strong{font-size:33px}.brand-star{font-size:18px}.menu-toggle{display:block;font-size:14px}.menu-toggle span{margin-left:18px;font-size:25px}nav{display:none;position:absolute;top:88px;left:0;right:0;padding:32px 6%;background:var(--wine);align-items:stretch;flex-direction:column;gap:20px;font-size:20px}nav.open{display:flex}.nav-cta{width:fit-content;font-size:16px}.hero{height:830px;min-height:0;max-height:none}.hero-photo{inset:0}.hero-photo img{object-position:58% 26%}.hero-photo:after{background:linear-gradient(90deg,rgba(38,15,22,.55),rgba(38,15,22,.04)),linear-gradient(0deg,var(--wine) 4%,rgba(56,21,30,.92) 24%,transparent 80%)}.hero-content{padding:280px 6% 65px}.hero h1{font-size:clamp(70px,15vw,106px);line-height:.95;margin-bottom:22px}.hero h1 em{display:inline}.hero-description{font-size:16px;max-width:280px;margin-bottom:20px}.location{position:absolute;top:24px;font-size:12px;margin:0}.photo-note{display:none}.hero-explore{padding-top:18px}.hero-bottom{left:6%;right:6%;bottom:18px;font-size:11px}.hero-bottom>span:last-child{display:none}.ribbon{padding:22px 6%;gap:14px;font-size:24px;flex-wrap:wrap;justify-content:center}.ribbon [aria-hidden]{font-size:15px}.ribbon [aria-hidden]:last-of-type{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.section-pad{padding:105px 7%}.section-label{font-size:13px;letter-spacing:.02em;margin-bottom:28px}.intro{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1.15fr 1fr;gap:9%;padding-top:120px;padding-bottom:120px}.intro h2{margin-bottom:0}.intro-copy{padding-top:8px}.large-star{display:block;font-size:48px;color:#9b3255;line-height:1;margin-bottom:26px}.lead{font-size:22px;line-height:1.45}.intro-copy>p:not(.lead),.about-copy>p:not(.lead){color:#694650;font-size:16px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid currentColor;padding:9px 0;margin-top:10px;font-size:14px}.text-link span{font-size:22px}.gallery-section{background:var(--deep);padding-right:0;padding-bottom:55px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-right:7.5%;margin-bottom:48px}.section-top h2{font-size:clamp(46px,5.5vw,76px);margin-bottom:0;color:var(--pink)}.section-top>p{font-size:14px;margin-bottom:4px;color:#dac3cb}.gallery-track{display:flex;align-items:start;gap:26px;overflow:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding:0 7% 10px 0}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{background:none;padding:0;border:0;flex:0 0 31%;min-width:240px;text-align:left;scroll-snap-align:start}.gallery-item:nth-child(even){margin-top:65px}.gallery-item img{aspect-ratio:3/4;object-fit:cover;object-position:center 30%;height:auto;transition:filter .3s}.gallery-item:hover img{filter:brightness(1.1)}.gallery-item>span{display:flex;justify-content:space-between;font-size:14px;padding-top:16px}.gallery-item>span>span{font-size:20px}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;padding-right:7.5%;margin-top:35px}.gallery-bottom p{margin:0;font-size:12px;color:#c9aeb8}.gallery-controls{display:flex;gap:12px}.gallery-controls button,.lightbox-controls button{background:transparent;border:1px solid #91727b;border-radius:50%;width:48px;height:48px;font-size:23px}.gallery-controls button:hover{background:var(--pink);color:var(--wine)}.gallery-controls button:disabled{opacity:.3;cursor:default}.day{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;background:var(--paper);color:var(--wine)}.day-title h2{margin-bottom:26px}.day-title>p:not(.section-label){color:#694650}.steps{padding-top:12px}details{border-top:1px solid rgba(56,21,30,.25)}details:last-child{border-bottom:1px solid rgba(56,21,30,.25)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.steps summary{display:flex;align-items:center;gap:22px;padding:26px 0}.step-number{font-size:12px;color:#875663}.steps h3{font-family:var(--serif);font-size:31px;line-height:1.15;letter-spacing:-.025em;margin:0}.expand{margin-left:auto;font-size:24px;transition:transform .2s}details[open] .expand{transform:rotate(45deg)}.step-content{padding:0 16px 32px 39px}.step-content p{color:#694650;font-size:15px}.step-content>span{font-size:12px;color:#8c4a60}.testimonial{padding:70px 15% 75px;background:var(--pink);color:var(--wine);text-align:center}.quote-mark{font-family:Georgia,serif;font-size:100px;line-height:.8;display:block}.testimonial blockquote{font-family:var(--serif);font-size:clamp(33px,4.5vw,65px);line-height:1.12;margin:0 auto 30px;max-width:960px;letter-spacing:-.025em}.testimonial p{margin:0 auto 12px;font-size:14px}.testimonial p span{margin:0 12px}.testimonial>a{font-size:12px;text-decoration:underline;text-underline-offset:4px}.about{background:var(--paper);color:var(--wine);display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.bri-photo{height:680px;position:relative;max-width:520px}.bri-photo img{object-position:center 38%;filter:saturate(.8)}.bri-signature{position:absolute;bottom:30px;left:0;right:-30px;text-align:right;font-family:var(--serif);font-size:53px;line-height:1;color:white;text-shadow:0 2px 16px #38151e}.about-copy h2{margin-bottom:25px}.investment{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:var(--wine)}.investment h2{color:var(--pink);margin-bottom:25px}.investment>div>p:not(.section-label){color:#dcc2cb}.price-content{padding-top:12px}.price-row{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px}.price-row strong{font:64px var(--serif);letter-spacing:-.03em}.price-content>p{font-size:14px;line-height:1.7}.collection-price{margin-top:32px}.collection-price strong{font-size:50px}.price-note{padding:10px 0}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;background:var(--paper);color:var(--wine)}.faq h2{margin-bottom:0}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:17px;line-height:1.4}.faq summary span{font-size:23px;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:15px;color:#694650;padding-right:25px;margin-bottom:25px}.faq details p a{text-decoration:underline}.inquire{text-align:center;position:relative;background:var(--wine);padding-top:115px;padding-bottom:80px}.inquire:before{content:'✳';font-size:90px;line-height:1;display:block;color:var(--pink);margin-bottom:38px}.inquire h2{font-size:clamp(55px,7.5vw,112px);color:var(--pink);margin-bottom:30px}.inquire h2 em{font-style:normal}.inquire>p{margin-left:auto;margin-right:auto;color:#e7cad5}.inquire>.button{margin-top:12px}.inquire .contact-alternative{font-size:13px;margin-top:24px}.contact-alternative a{border-bottom:1px solid #9f727f;padding-bottom:3px}.contact-address{margin-top:65px;font-size:13px;color:#d0b0bb}.contact-address>span{display:block;margin-bottom:8px}address{font-style:normal}footer{padding:40px 4.5% 24px;border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:45px}.footer-top>p{font-family:var(--serif);font-size:29px;margin:0;color:var(--pink)}.footer-top>a:last-child{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;font-size:12px;color:#c7a9b4;border-top:1px solid var(--line);padding-top:24px}.footer-bottom>div{display:flex;gap:30px}dialog{background:#1b0d12;color:var(--paper);padding:65px 25px 20px;width:min(96vw,1100px);height:94svh;max-height:100svh;border:1px solid #72505b;overflow:hidden}dialog::backdrop{background:rgba(20,7,12,.92);backdrop-filter:blur(8px)}#lightbox-image{height:calc(100% - 65px);object-fit:contain}.lightbox-close{position:absolute;right:25px;top:12px;background:none;border:0;display:flex;gap:20px;align-items:center;font-size:14px;padding:8px}.lightbox-close span{font-size:30px;line-height:1}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:15px;font-size:13px}.lightbox-controls button{width:40px;height:40px}.hero-content{animation:opening .9s ease-out both}@keyframes opening{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.section-pad{padding-left:max(7%,calc((100vw - 1440px)/2));padding-right:max(7%,calc((100vw - 1440px)/2))}.gallery-section{padding-right:0}}
@media(max-width:1000px){.section-pad{padding:80px 6%}.intro,.day,.about,.investment,.faq{gap:7%}.steps h3{font-size:26px}.bri-photo{height:570px}.gallery-section{padding-right:0}.gallery-item{flex-basis:38%}.footer-top>p{font-size:23px}.hero{min-height:760px}.about-copy .lead{font-size:20px}}
@media(max-width:700px){.section-pad{padding:65px 6%}.intro,.day,.about,.investment,.faq{grid-template-columns:1fr;gap:35px}.intro h2{font-size:55px}.intro-copy{padding:0}.large-star{font-size:36px;margin-bottom:20px}.lead{font-size:21px}.section-label{font-size:12px;margin-bottom:20px}.gallery-section{padding-right:0}.section-top{display:block;padding-right:6.4%;margin-bottom:30px}.section-top h2{font-size:45px}.section-top>p{margin-top:25px}.gallery-track{gap:18px}.gallery-item{flex-basis:77%;min-width:0}.gallery-item:nth-child(even){margin-top:35px}.gallery-bottom{padding-right:6.4%;margin-top:22px}.gallery-bottom p{max-width:160px}.gallery-controls button{width:42px;height:42px}.day-title h2{font-size:55px}.steps{padding-top:0}.steps h3{font-size:28px}.steps summary{padding:23px 0;gap:17px}.step-content{padding-left:31px}.testimonial{padding:60px 7%}.testimonial blockquote{font-size:38px}.quote-mark{font-size:80px}.about{gap:50px}.bri-photo{height:540px;width:88%;max-width:none;margin:0 auto}.bri-signature{font-size:46px;right:-22px}.about-copy h2{font-size:68px}.investment{gap:20px}.price-row strong{font-size:64px}.price-content .button{width:100%;gap:20px}.faq{gap:28px}.faq h2{font-size:55px}.faq summary{font-size:16px}.inquire{padding:70px 6% 55px}.inquire:before{font-size:68px;margin-bottom:28px}.inquire h2{font-size:clamp(45px,11vw,73px)}.inquire>p{font-size:15px}.inquire .contact-alternative{font-size:12px}.contact-address{margin-top:42px}.footer-top{flex-wrap:wrap;gap:30px;margin-bottom:30px}.footer-top>p{display:none}.footer-top>a:last-child{max-width:120px;font-size:12px}.footer-bottom{display:block;font-size:11px}.footer-bottom>div{margin-top:15px;justify-content:space-between;gap:20px}footer{padding:35px 6% 25px}.hero{min-height:0}dialog{padding-left:12px;padding-right:12px}.desktop-break{display:none}}
/* Shared navigation and distinct page layouts. */
.header nav{gap:25px;font-size:14px}.header .nav-cta{margin-left:8px;padding:12px 20px;background:var(--pink);color:var(--wine);border:0}.header [aria-current=page]:not(.nav-cta){color:var(--pink);text-decoration:underline;text-underline-offset:8px}.footer-navigation{display:flex;gap:28px;flex-wrap:wrap;position:static;padding:0 0 32px;background:none;font-size:13px}.footer-navigation .nav-cta{margin:0;padding:0;border:0}.page-masthead{padding:90px 7% 65px}.page-masthead h1,.about-copy h1,.contact-intro h1{font:clamp(68px,8.4vw,130px)/.98 var(--serif);letter-spacing:-.05em;margin:0 0 35px;color:var(--pink)}.page-masthead>.lead{max-width:560px;margin-bottom:0;color:#e3c8d1;font-size:20px}.page-cta{text-align:center;padding:95px 7%;border-top:1px solid var(--line)}.page-cta>p{margin:0 auto 25px;font-size:14px}.page-cta h2{max-width:1000px;margin:0 auto 38px;color:var(--pink)}.home-doors{background:var(--deep)}.home-doors .section-top{padding:0}.door-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.door{min-width:0}.door img{height:auto;aspect-ratio:3/4;object-fit:cover;transition:filter .2s}.door:hover img{filter:brightness(1.1)}.door>span{display:flex;justify-content:space-between;font:32px var(--serif);margin-top:22px}.door>p{font-size:14px;color:#dcc2cb;margin:10px 0 0}.experience-opening{display:grid;grid-template-columns:1.1fr 1fr;gap:4%;padding:0 7% 70px}.experience-opening .page-masthead{padding:85px 0 35px}.experience-opening h1{font-size:clamp(64px,7vw,106px)}.experience-opening figure{margin:50px 0 0;align-self:stretch;min-width:0;position:relative}.experience-opening img{height:640px;object-position:center 30%}.experience-opening figcaption{font-size:12px;padding-top:15px;color:#d7b7c3}.experience-pair{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.experience-pair img{height:580px}.experience-pair h2{color:var(--pink)}.experience-pair p:not(.lead){color:#dfc4cd}.portfolio-grid{padding:0 7% 85px;display:grid;grid-template-columns:1fr 1fr;gap:65px 8%;align-items:start}.portfolio-grid .gallery-item{width:100%;min-width:0;margin:0}.portfolio-grid .gallery-item img{aspect-ratio:3/4;height:auto}.portfolio-grid .gallery-item:nth-child(2){margin-top:150px}.portfolio-note{padding:50px 8%;align-self:center}.portfolio-note>span{font-size:72px;color:var(--pink)}.portfolio-note p{font:clamp(30px,3.4vw,53px)/1.15 var(--serif);color:var(--pink);margin:30px 0}.portfolio-end{padding:0 7% 70px;display:flex;justify-content:space-between;align-items:center;gap:30px}.portfolio-end p{font-size:14px;margin:0}.studio-panorama{position:relative;margin:0 7%;height:650px;overflow:hidden}.studio-panorama img{object-position:50% 53%}.studio-panorama>span{position:absolute;bottom:20px;left:22px;background:var(--wine);padding:9px 18px;font-size:13px}.studio-tour{background:var(--paper);color:var(--wine);margin-top:85px}.studio-room{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%;margin-bottom:110px}.studio-room img{height:650px;object-fit:cover}.studio-room>div>p:not(.section-label){color:#694650}.studio-room.reverse>img{order:2}.studio-room.reverse>div{order:1}.studio-diptych{display:grid;grid-template-columns:1fr 1fr;gap:30px}.studio-diptych figure{margin:0}.studio-diptych img{height:540px}.studio-diptych figcaption{font-size:14px;margin-top:16px}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.visit h2{color:var(--pink)}.visit address{font-size:25px;margin-bottom:22px}.visit p{color:#e0c4ce}.page-about .about{padding-top:70px;padding-bottom:85px}.about-copy h1{color:var(--wine);font-size:clamp(70px,8vw,120px)}.personal-note{background:var(--pink);color:var(--wine);text-align:center}.personal-note>p{margin-left:auto;margin-right:auto}.personal-note h2{font-size:clamp(42px,5.6vw,80px)}.note-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:960px;margin:35px auto;text-align:left}.signature{font:38px var(--serif)}.about-next{display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:center}.about-next img{height:600px}.about-next h2{color:var(--pink)}.about-next p:not(.section-label){color:#e0c4ce}.page-investment .page-masthead{background:var(--paper);color:var(--wine)}.page-investment .page-masthead h1,.page-investment .page-masthead .lead{color:var(--wine)}.page-investment .investment{padding-top:75px;padding-bottom:75px}.included{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--paper);color:var(--wine)}.included ul{list-style:none;padding:0;margin:0}.included li{padding:15px 0;border-bottom:1px solid #cdb4bc;font-size:16px}.included li:before{content:'✓';margin-right:15px;color:#863651}.pricing-note{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--pink);color:var(--wine)}.pricing-note h2{font-size:65px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.contact-intro h1{font-size:clamp(68px,7.5vw,110px)}.contact-intro>.lead{color:var(--pink)}.contact-intro>p:not(.lead):not(.section-label){color:#e0c4ce}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:35px;font-size:16px}.contact-direct a{border-bottom:1px solid var(--line);overflow-wrap:anywhere}.contact-panel{background:var(--paper);color:var(--wine);padding:38px}.contact-panel h2{font-size:42px;line-height:1.05;margin-bottom:20px}.contact-panel>p{font-size:14px;color:#694650}.contact-panel form{display:flex;flex-direction:column}.contact-panel label{font-size:14px;margin:20px 0 8px}.contact-panel label span{font-size:12px;color:#694650}.contact-panel input,.contact-panel textarea{background:transparent;border:1px solid #a4808e;border-radius:0;color:var(--wine);padding:12px;width:100%;font-size:16px;min-width:0}.contact-panel textarea{resize:vertical}.contact-panel input::placeholder,.contact-panel textarea::placeholder{color:#80616b;opacity:1}.button.wine{background:var(--wine);color:var(--paper);margin-top:25px}.form-note{font-size:12px;color:#694650;margin-top:17px;margin-bottom:0}.contact-panel [hidden]{display:none!important}#email-review h3{font:30px var(--serif);margin-top:30px}#email-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.edit-inquiry{background:none;border:0;text-decoration:underline;padding:14px 0;display:block;margin-top:10px;font-size:14px}.contact-location{display:grid;grid-template-columns:1fr 1fr;background:var(--pink);color:var(--wine)}.contact-location>div:first-child{height:620px}.contact-location>div:last-child{align-self:center;padding:65px 14%}.contact-location h2{font-size:clamp(45px,5vw,75px)}.contact-location address{font-size:20px;margin-bottom:25px}.contact-location p:not(.section-label){font-size:15px}
@media(max-width:1100px){.header{height:88px}.header .menu-toggle{display:block;background:none;border:0;font-size:15px}.menu-toggle span{margin-left:16px;font-size:25px}.header nav{display:none;position:absolute;top:88px;left:0;right:0;padding:28px 6%;background:var(--wine);flex-direction:column;align-items:stretch;gap:19px;font-size:18px;max-height:calc(100svh - 88px);overflow:auto}.header nav.open{display:flex}.header .nav-cta{width:fit-content;margin:0}.footer-navigation{display:flex}.experience-opening img{height:580px}.contact-panel{padding:28px}.contact-layout{gap:5%}.studio-room img{height:520px}.studio-diptych img{height:450px}}
@media(max-width:700px){.page-masthead{padding:60px 6% 45px}.page-masthead h1{font-size:clamp(55px,14vw,88px);margin-bottom:25px}.page-masthead>.lead{font-size:18px}.page-cta{padding:65px 6%}.page-cta h2{font-size:49px}.door-grid{grid-template-columns:1fr;gap:40px}.door img{aspect-ratio:4/5;max-height:520px}.door>span{font-size:34px}.home-doors .section-top h2{font-size:48px}.experience-opening{grid-template-columns:1fr;padding:0 6% 50px;gap:0}.experience-opening .page-masthead{padding:55px 0 28px}.experience-opening h1{font-size:clamp(55px,13vw,86px)}.experience-opening figure{margin-top:35px}.experience-opening img{height:470px}.experience-pair,.about-next,.included,.pricing-note,.visit{grid-template-columns:1fr;gap:35px}.experience-pair img{height:450px}.portfolio-grid{padding:0 6% 50px;gap:30px 16px}.portfolio-grid .gallery-item:nth-child(2){margin-top:70px}.portfolio-grid .gallery-item>span{font-size:12px;gap:10px}.portfolio-grid .gallery-item>span>span{font-size:18px}.portfolio-note{padding:0;grid-column:1/-1;text-align:center}.portfolio-note>span{font-size:42px}.portfolio-note p{font-size:36px;margin:20px 0}.portfolio-grid .gallery-item:last-child{grid-column:1/-1;width:78%;justify-self:center;margin-top:20px}.portfolio-end{display:block;padding:0 6% 45px}.portfolio-end p{margin-bottom:15px}.studio-panorama{margin:0 6%;height:440px}.studio-panorama>span{bottom:12px;left:12px;right:12px;font-size:11px;padding:10px}.studio-tour{margin-top:50px}.studio-room{grid-template-columns:1fr;gap:30px;margin-bottom:65px}.studio-room img{height:460px}.studio-room.reverse>img{order:0}.studio-room.reverse>div{order:0}.studio-room h2{margin-bottom:25px}.studio-diptych{gap:17px}.studio-diptych img{height:280px}.studio-diptych figcaption{font-size:12px}.visit h2{margin-bottom:0}.visit address{font-size:22px}.page-about .about{padding-top:45px;padding-bottom:60px}.note-columns{grid-template-columns:1fr;gap:8px;margin:25px 0}.personal-note h2{font-size:43px}.personal-note h2 br{display:none}.about-next img{height:470px}.included h2{margin-bottom:0}.pricing-note h2{font-size:50px;margin-bottom:0}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-intro h1{font-size:74px}.contact-panel{padding:27px 22px}.contact-panel h2{font-size:39px}.contact-direct{font-size:15px}.contact-location{grid-template-columns:1fr}.contact-location>div:first-child{height:440px}.contact-location>div:last-child{padding:50px 6%}.footer-navigation{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0 0 28px;font-size:14px}.footer-navigation .nav-cta{font-size:14px}.page-portfolio .gallery-item img{aspect-ratio:3/4}.contact-panel .button{gap:20px;max-width:100%}}
@media(max-width:700px){.contact-intro h1{font-size:clamp(49px,14.8vw,66px)}}

/* Portfolio chapters: dense three-column grids fed by content/portfolio.json */
.portfolio-chapter{padding:0 7% 95px}.chapter-top{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:end;border-top:1px solid var(--line);padding-top:40px;margin-bottom:50px}.chapter-top .section-label{grid-column:1/-1}.chapter-top h2{font-size:clamp(44px,5.2vw,76px);color:var(--pink);margin:0}.chapter-top>p:last-child{font-size:15px;color:#dcc2cb;margin:0 0 8px;max-width:380px;justify-self:end}.portfolio-grid.dense{padding:0;grid-template-columns:repeat(3,1fr);gap:34px 3.5%}.portfolio-grid.dense .gallery-item:nth-child(2){margin-top:0}.portfolio-grid.dense .gallery-item:nth-child(3n+2){margin-top:70px}.portfolio-grid .gallery-item img{width:100%;object-position:center}
@media(min-width:1600px){.portfolio-chapter{padding-left:max(7%,calc((100vw - 1440px)/2));padding-right:max(7%,calc((100vw - 1440px)/2))}}
@media(max-width:700px){.portfolio-chapter{padding:0 6% 60px}.chapter-top{grid-template-columns:1fr;padding-top:30px;margin-bottom:30px}.chapter-top h2{font-size:44px}.chapter-top>p:last-child{justify-self:start;margin-top:18px}.portfolio-grid.dense{grid-template-columns:1fr 1fr;gap:16px}.portfolio-grid.dense .gallery-item:nth-child(3n+2){margin-top:0}.portfolio-grid.dense .gallery-item:nth-child(even){margin-top:34px}.portfolio-grid.dense .gallery-item:last-child{grid-column:auto;width:100%;justify-self:stretch;margin-top:0}.portfolio-grid.dense .gallery-item:nth-child(even):last-child{margin-top:34px}.portfolio-grid:not(.dense) .gallery-item:last-of-type{grid-column:auto;width:100%;margin-top:70px}}
.portfolio-grid:not(.dense) .portfolio-note{grid-column:1/-1;text-align:center;padding:20px 8% 0}
/* Portfolio filters: tags, not fixed sections, so one photo can sit under several */
.filter-bar{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:45px}.filter{background:transparent;color:var(--paper);border:1px solid #91727b;border-radius:999px;padding:11px 20px;font-size:14px;cursor:pointer;transition:background .2s,color .2s}.filter sup{font-size:10px;margin-left:4px;opacity:.75}.filter:hover{border-color:var(--pink)}.filter[aria-pressed=true]{background:var(--pink);border-color:var(--pink);color:var(--wine)}.filter:focus-visible{outline:2px solid var(--pink);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:700px){.filter-bar{gap:8px;margin-bottom:30px}.filter{padding:10px 15px;font-size:13px}}

/* ==========================================================================
   V2 — shape, motion, mobile. Arched frames echo the studio's arched windows.
   ========================================================================== */
:root{--r-sm:14px;--r-md:22px;--r-lg:34px;--arch:999px 999px var(--r-md) var(--r-md);--ease:cubic-bezier(.22,1,.36,1);--gut:12px}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .22s ease both}::view-transition-new(root){animation:vt-in .5s var(--ease) both}
@keyframes vt-out{to{opacity:0}}@keyframes vt-in{from{opacity:0;transform:translateY(14px)}}
body{overflow-x:clip}
body:after{content:'';position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Icons (inline SVG, never emoji) */
.i{width:1em;height:1em;display:inline-block;vertical-align:-.14em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.i.star{stroke-width:1.9}.brand-star .i,.large-star .i,.portfolio-note>span .i,.m-star .i{animation:spin 14s linear infinite}
@keyframes spin{to{rotate:360deg}}
.included li:before{content:'';display:inline-block;width:9px;height:16px;margin:0 18px 2px 4px;border:solid #863651;border-width:0 2px 2px 0;rotate:45deg}
.inquire:before{content:'';width:80px;height:80px;margin:0 auto 38px;background:var(--pink);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5v19M2.5 12h19M5.3 5.3l13.4 13.4M18.7 5.3 5.3 18.7' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5v19M2.5 12h19M5.3 5.3l13.4 13.4M18.7 5.3 5.3 18.7' stroke='%23000' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}

/* Buttons: pills with a rotating arrow coin */
.button{border-radius:999px;padding:9px 9px 9px 28px;gap:26px;min-height:58px;font-weight:500;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.button>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:var(--wine);color:var(--pink);transition:rotate .5s var(--ease),scale .5s var(--ease)}
.button.wine>span{background:var(--pink);color:var(--wine)}
.button:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}.button:hover>span{rotate:45deg;scale:1.08}.button:active{transform:scale(.97)}
.text-link{transition:gap .4s var(--ease)}.text-link:hover{gap:40px}.text-link span{font-size:18px}
.hero-explore span,.nav-cta span{font-size:16px}
.gallery-controls button,.lightbox-controls button{display:grid;place-items:center;font-size:18px;transition:background .3s,color .3s,scale .3s var(--ease)}.gallery-controls button:active,.lightbox-controls button:active{scale:.9}
.lightbox-controls button:hover{background:var(--pink);color:var(--wine)}.lightbox-close span{font-size:20px;display:grid}

/* Header: sticky glass, always visible, compacts once scrolled */
.header{position:sticky;top:0;background:transparent;border-bottom-color:transparent;transition:transform .5s var(--ease)}
.header:before{content:'';position:absolute;inset:0;z-index:-2;background:rgba(56,21,30,.82);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--line)}
.header{transition:height .45s var(--ease),padding .45s var(--ease)}body .header.is-compact{height:78px;padding-top:12px;padding-bottom:12px}.header.is-compact .wordmark .emblem{width:44px;height:44px}.header.is-compact .wm-text>span{font-size:20px}.header.is-compact .wm-text strong{font-size:32px}.wm-text strong,.wordmark .emblem,.wm-text>span{transition:font-size .45s var(--ease),width .45s var(--ease),height .45s var(--ease)}
.header .nav-cta{border-radius:999px;transition:transform .4s var(--ease)}.header .nav-cta:hover{transform:translateY(-2px);color:var(--wine)}
.header nav a:not(.nav-cta){position:relative}.header nav a:not(.nav-cta):after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--pink);scale:0 1;transform-origin:left;transition:scale .4s var(--ease)}.header nav a:not(.nav-cta):hover:after{scale:1 1}
.header [aria-current=page]:not(.nav-cta){text-decoration:none}.header [aria-current=page]:not(.nav-cta):after{scale:1 1}
.nav-extra{display:none}
.menu-toggle span{display:inline-block;transition:rotate .5s var(--ease)}.menu-toggle[aria-expanded=true] span{rotate:135deg}

/* Hero: inset rounded stage, crossfading slides, Ken Burns, spinning badge */
.hero{margin:0 var(--gut);border-radius:var(--r-lg);background:var(--deep);height:calc(100svh - 108px - var(--gut))}
.hero-photo{overflow:hidden}.slide{position:absolute;inset:-6% 0;opacity:0;transition:opacity 1.4s ease;will-change:opacity}.slide.is-active{opacity:1;z-index:1}
.slide img{object-position:center 30%;scale:1.14}.slide.is-active img{animation:kenburns 8s var(--ease) forwards}
@keyframes kenburns{from{scale:1.14}to{scale:1.02}}
.hero-photo:after{z-index:2}.photo-note{z-index:3;transition:opacity .5s}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.hero h1 .ln>span{display:block}.hero h1 em{display:inline}
.js .hero h1 .ln>span{animation:line-up 1.1s var(--ease) both}.js .hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
.js .hero .location,.js .hero-description,.js .hero .button,.js .hero-explore{animation:rise .9s var(--ease) both}.js .hero-description{animation-delay:.35s}.js .hero .button{animation-delay:.45s}.js .hero-explore{animation-delay:.55s}
.hero-content{animation:none}
@keyframes line-up{from{transform:translateY(105%) rotate(4deg)}}@keyframes rise{from{opacity:0;transform:translateY(22px)}}
.hero-badge{position:absolute;left:calc(46% - 74px);bottom:84px;width:148px;height:148px;z-index:4;animation:spin 22s linear infinite;filter:drop-shadow(0 12px 30px rgba(0,0,0,.45))}
.badge-disc{fill:var(--pink)}.badge-text{font:600 13px var(--sans);letter-spacing:.14em;fill:var(--wine)}.badge-star path{stroke:var(--wine);stroke-width:4;stroke-linecap:round;fill:none}
.hero-bottom{align-items:center;z-index:4}.hero-ui{display:flex;align-items:center;gap:16px}.hero-count{font-variant-numeric:tabular-nums;letter-spacing:.08em}
.hero-dots{display:flex;gap:6px}.hero-dots button{width:34px;height:22px;padding:0;border:0;background:none;position:relative}.hero-dots button:before,.hero-dots button i{content:'';position:absolute;left:0;right:0;top:10px;height:2px;border-radius:2px;background:rgba(245,233,235,.35)}
.hero-dots button i{background:var(--pink);scale:0 1;transform-origin:left}.hero-dots button.is-active i{animation:dot-fill var(--slide-ms,6500ms) linear forwards}.hero.is-paused .hero-dots button.is-active i{animation-play-state:paused}.hero-dots button.is-done i{scale:1 1}
@keyframes dot-fill{to{scale:1 1}}
.hero-pause{width:34px;height:34px;border-radius:50%;border:1px solid rgba(245,233,235,.45);background:none;display:grid;place-items:center;padding:0}.hero-pause span{width:9px;height:11px;border:solid currentColor;border-width:0 3px}.hero-pause[aria-pressed=true] span{width:0;height:0;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor;margin-left:3px}

/* Marquee */
.marquee{overflow:hidden;background:var(--pink);color:var(--wine);margin:var(--gut);border-radius:var(--r-lg);padding:20px 0}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.marquee-track>div{display:flex;align-items:center;flex:none}
.marquee span{font:clamp(30px,3.6vw,52px)/1 var(--serif);letter-spacing:-.02em;padding:0 26px;white-space:nowrap}.marquee .m-star{font-size:clamp(20px,2vw,28px);padding:0}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Coloured sections become inset rounded cards */
.intro,.day,.faq,.testimonial,.personal-note,.included,.pricing-note,.studio-tour,.contact-location,.page-about .about,.page-investment .page-masthead,.stats{margin:var(--gut);border-radius:var(--r-lg)}
.contact-location{overflow:hidden}.page-cta{border-top:0}.page-cta:before{content:'';display:block;width:1px;height:70px;margin:0 auto 40px;background:linear-gradient(var(--line),var(--pink))}

/* Photo frames: soft corners everywhere, arches where it counts */
.gallery-item img,.experience-pair img,.studio-room img,.studio-diptych img,.contact-panel,.portfolio-grid .gallery-item img{border-radius:var(--r-md)}
.door img,.about-next img,.experience-opening img{border-radius:var(--arch)}
.bri-photo{border-radius:var(--arch);overflow:hidden}.bri-photo img{scale:1.12}
.studio-panorama{border-radius:var(--r-lg)}.studio-panorama img{scale:1.16}.studio-panorama>span{border-radius:999px}
.contact-location>div:first-child{overflow:hidden}.contact-location>div:first-child img{scale:1.14}
.contact-panel{border-radius:var(--r-lg)}.contact-panel input,.contact-panel textarea{border-radius:var(--r-sm);transition:border-color .3s,box-shadow .3s}.contact-panel input:focus,.contact-panel textarea:focus{border-color:var(--wine);box-shadow:0 0 0 4px rgba(134,54,81,.16);outline:0}
dialog{border-radius:var(--r-lg)}#lightbox-image{border-radius:var(--r-sm)}dialog[open]{animation:dialog-in .5s var(--ease)}@keyframes dialog-in{from{opacity:0;transform:scale(.96) translateY(14px)}}
.gallery-item{border-radius:var(--r-md);overflow:hidden;position:relative}.gallery-item img{transition:scale .9s var(--ease),filter .4s}.gallery-item:hover img{scale:1.05}
.portfolio-grid .gallery-item>span,.gallery-item>span{padding:16px 4px 0}.gallery-item:has(>span){overflow:visible}.gallery-item:has(>span) img{border-radius:var(--r-md)}
.door{display:block}.door img{transition:scale .9s var(--ease),filter .3s}.door:hover img{scale:1.03}.door>span .i{transition:translate .4s var(--ease)}.door:hover>span .i{translate:4px -4px}
details{transition:background .3s}.steps summary:hover h3,.faq summary:hover{color:#863651}
.price-row,.included li{transition:padding .4s var(--ease)}.included li:hover{padding-left:10px}

/* Home reel: swipeable, arch frames, progress bar */
.reel .gallery-track{cursor:grab;scroll-padding-left:0;padding-bottom:20px;-webkit-overflow-scrolling:touch}.reel .gallery-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.reel .gallery-track.is-dragging *{pointer-events:none}
.reel .gallery-item{flex:0 0 24%;min-width:230px;border-radius:var(--arch)}.reel .gallery-item img{border-radius:0;aspect-ratio:3/4.2;user-select:none;-webkit-user-drag:none}
.reel .gallery-item:nth-child(even){margin-top:70px}
.reel-more{flex:0 0 24%;min-width:230px;aspect-ratio:3/4.2;border-radius:var(--arch);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;font:30px/1.15 var(--serif);color:var(--pink);scroll-snap-align:start;transition:background .4s,color .4s}.reel-more:hover{background:var(--pink);color:var(--wine)}.reel-more>span:last-child{font-size:26px}
.reel-progress{flex:1;max-width:340px;height:2px;border-radius:2px;background:rgba(239,180,200,.22);overflow:hidden}.reel-progress span{display:block;height:100%;width:100%;background:var(--pink);transform-origin:left;scale:.08 1;transition:scale .15s linear}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--deep);border:1px solid var(--line);padding:56px 5%}
.stat{padding:0 8%;border-left:1px solid var(--line)}.stat:first-child{border-left:0}.stat strong{display:block;font:clamp(54px,6.4vw,100px)/1 var(--serif);letter-spacing:-.04em;color:var(--pink);font-variant-numeric:tabular-nums;white-space:nowrap}.stat strong em{font:.3em var(--sans);font-style:normal;letter-spacing:.08em;text-transform:uppercase;margin:0 .35em;vertical-align:.9em}.stat p{font-size:14px;color:#dcc2cb;margin:14px 0 0}

/* Sticky mobile CTA */
.sticky-cta{display:none}

/* Scroll reveals (only when JS is on; content is never hidden without it) */
.js .rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0ms)}.js .rv.in{opacity:1;transform:none}
.js .rv-img{clip-path:inset(12% 8% 12% 8% round var(--r-lg));opacity:0;transition:clip-path 1.3s var(--ease),opacity .8s ease;transition-delay:var(--d,0ms)}.js .rv-img.in{clip-path:inset(0 round 0);opacity:1}
.js .rv-lines .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.js .rv-lines .ln>span{display:block;transform:translateY(108%) rotate(3deg);transform-origin:left;transition:transform 1.1s var(--ease);transition-delay:calc(var(--d,0ms) + var(--l,0)*110ms)}.js .rv-lines.in .ln>span{transform:none}
[data-px]{will-change:translate}

@media(max-width:1100px){
  .header nav{display:flex;position:fixed;inset:0;top:0;height:100dvh;max-height:none;padding:112px 7% calc(34px + env(safe-area-inset-bottom));background:var(--deep);z-index:-1;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;font:clamp(40px,10.5vw,62px)/1.12 var(--serif);letter-spacing:-.03em;overflow:auto;visibility:hidden;clip-path:circle(0 at calc(100% - 56px) 44px);transition:clip-path .7s var(--ease),visibility 0s .7s}
  .header nav.open{visibility:visible;clip-path:circle(160% at calc(100% - 56px) 44px);transition:clip-path .9s var(--ease)}
  .header nav>a{opacity:0;transform:translateY(34px);transition:opacity .5s,transform .8s var(--ease),color .3s}.header nav.open>a{opacity:1;transform:none}
  .header nav.open>a:nth-child(1){transition-delay:.16s}.header nav.open>a:nth-child(2){transition-delay:.21s}.header nav.open>a:nth-child(3){transition-delay:.26s}.header nav.open>a:nth-child(4){transition-delay:.31s}.header nav.open>a:nth-child(5){transition-delay:.36s}.header nav.open>a:nth-child(6){transition-delay:.41s}
  .header nav a:not(.nav-cta):after{display:none}.header nav [aria-current=page]{color:var(--pink)}
  .header nav .nav-cta{font:500 16px var(--sans);letter-spacing:0;margin-top:26px;padding:17px 30px}
  .nav-extra{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:34px;font:14px/1.5 var(--sans);letter-spacing:0;color:#dcc2cb;opacity:0;transition:opacity .6s .5s}.header nav.open .nav-extra{opacity:1}.nav-extra a{color:var(--paper);width:fit-content}
  .header:has(nav.open):before{opacity:0}
  .hero-badge{left:calc(46% - 60px);width:120px;height:120px}
  .stats{grid-template-columns:1fr 1fr;row-gap:44px}.stat:nth-child(3){border-left:0}
}
@media(max-width:700px){
  :root{--gut:8px;--r-lg:28px;--r-md:18px}
  .hero{height:calc(100svh - 88px - var(--gut));min-height:620px;max-height:860px}.hero-content{padding:0 6% 86px;position:absolute;left:0;right:0;bottom:0}.hero h1{font-size:clamp(64px,17.5vw,104px)}.location{top:22px;left:6%}
  .slide img{object-position:center 22%}
  .hero-badge{left:auto;right:16px;top:16px;bottom:auto;width:96px;height:96px}
  .hero-bottom>span:first-child{display:none}.hero-bottom{justify-content:flex-start;bottom:22px}.hero-ui{width:100%;justify-content:space-between}.hero-dots{flex:1;justify-content:center}.hero-dots button{flex:1;max-width:44px}
  .hero .button{width:100%}
  .marquee{padding:15px 0}.marquee span{padding:0 18px}
  .reel .gallery-item,.reel-more{flex-basis:70%;min-width:0}.reel .gallery-item:nth-child(even){margin-top:38px}.reel-more{font-size:26px}.reel-progress{max-width:none;margin-right:20px}
  .stats{padding:40px 3%;row-gap:36px}.stat{padding:0 9%}.stat strong{font-size:clamp(46px,13vw,64px)}.stat p{font-size:13px}
  .page-cta:before{height:50px;margin-bottom:30px}.page-cta .button,.price-content .button{width:100%}
  .sticky-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;min-height:58px;padding:8px 8px 8px 26px;border-radius:999px;background:var(--pink);color:var(--wine);font-weight:500;font-size:15px;box-shadow:0 18px 40px -12px rgba(0,0,0,.65);transform:translateY(140%);transition:transform .6s var(--ease)}
  .sticky-cta.is-on{transform:none}.sticky-cta>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:var(--pink);font-size:17px}
  footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .js .rv{transform:translateY(24px)}
}
@media(prefers-reduced-motion:reduce){.js .rv,.js .rv-img,.js .rv-lines .ln>span{opacity:1!important;transform:none!important;clip-path:none!important}.slide img{scale:1.02}.marquee-track{animation:none!important}}
@media(max-width:700px){.hero .location{position:static;margin:0 0 14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f1d9e1}.hero-badge{right:auto;left:14px;top:14px}}

/* Service areas, city pages, legal pages */
.footer-areas{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:0 0 30px;font-size:13px;color:#c7a9b4;position:static;background:none}.footer-areas span{color:#dcc2cb}.footer-areas a{border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .3s,border-color .3s}.footer-areas a:hover{color:var(--pink);border-color:var(--pink)}
.visit-areas{font-size:14px}.visit-areas a{border-bottom:1px solid var(--line)}.visit-areas a:hover{color:var(--pink)}
.page-city .page-masthead h1{font-size:clamp(54px,7.4vw,112px)}
.city-intro img{height:620px}.city-intro h2{color:var(--pink)}
.city-gallery .chapter-top>p:last-child{align-self:end}.city-gallery{padding-top:20px}
.included>div>p{margin-top:26px}
.areas{text-align:center;padding-top:80px;padding-bottom:30px}.areas .section-label{margin-left:auto;margin-right:auto}.area-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.area-links a{display:inline-flex;align-items:center;gap:14px;border:1px solid #91727b;border-radius:999px;padding:13px 24px;font:26px/1 var(--serif);color:var(--pink);transition:background .35s,color .35s,transform .5s var(--ease)}.area-links a .i{font-size:16px}.area-links a:hover{background:var(--pink);color:var(--wine);transform:translateY(-3px)}
.legal{background:var(--paper);color:var(--wine);margin:var(--gut);border-radius:var(--r-lg)}.legal-body{max-width:760px;margin:0 auto}.legal-body h2{font-size:clamp(30px,3.4vw,44px);margin:52px 0 16px;letter-spacing:-.02em}.legal-body h2:first-child{margin-top:0}.legal-body h3{font:600 17px var(--sans);margin:30px 0 10px}.legal-body p,.legal-body li{font-size:16px;color:#55343e}.legal-body ul{padding-left:22px;margin:0 0 18px}.legal-body li{margin-bottom:8px}.legal-body a{text-decoration:underline;text-underline-offset:3px}
.page-privacy-policy .page-masthead h1,.page-terms-and-conditions .page-masthead h1{font-size:clamp(50px,6.6vw,96px)}
@media(max-width:700px){.footer-areas{gap:8px 16px;padding-bottom:24px}.city-intro img{height:440px}.area-links a{font-size:22px;padding:11px 20px}.areas{padding-top:55px}.page-city .page-masthead h1{font-size:clamp(44px,12vw,70px)}}

/* Brand mark: traced emblem + lockup (assets/brand/*.svg), coloured by `color` */
.wordmark{display:flex;align-items:center;gap:13px;width:auto}.wordmark .emblem{width:58px;height:58px;color:var(--pink);flex:none;transition:rotate .7s var(--ease)}.wordmark:hover .emblem{rotate:-6deg}
.wm-text{display:block;line-height:.86}.wm-text>span{display:block;font-size:25px;letter-spacing:-.5px}
.footer-lockup{display:block;width:170px;height:170px;color:var(--pink);flex:none}.footer-lockup svg{width:100%;height:100%;display:block}
.hero-badge{animation:none;color:var(--wine);overflow:visible}.badge-spin{transform-box:fill-box;transform-origin:50% 50%;animation:badge-spin 24s linear infinite}@keyframes badge-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.wordmark .emblem{width:50px;height:50px}}
@media(max-width:700px){.wordmark{gap:10px}.wordmark .emblem{width:44px;height:44px}.wm-text>span{font-size:21px}.footer-lockup{width:132px;height:132px}}
@media(prefers-reduced-motion:reduce){.badge-spin{animation:none}}
@media(max-width:700px){body .header.is-compact{height:66px}.header.is-compact .wordmark .emblem{width:36px;height:36px}.header.is-compact .wm-text>span{font-size:17px}.header.is-compact .wm-text strong{font-size:27px}}
@media(max-width:1100px){body .header.is-compact nav{padding-top:96px}}

/* Bri's picks (September 2026): headshot, contact photo, portfolio batches, studio sets, client closet */
.bri-photo img{object-position:center 12%}
.contact-location .contact-photo{object-position:64% 55%}
.show-more-wrap{display:flex;justify-content:center;margin-top:55px}.show-more{background:transparent;color:var(--pink);border:1px solid #91727b}.show-more>span{background:var(--pink);color:var(--wine)}.show-more:hover{border-color:var(--pink)}
.sets{padding-right:7%}.sets .section-top{padding-right:0}.sets .section-top h2{color:var(--pink)}
.set-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 3.5%}
.set-card{min-width:0}.set-card:nth-child(3n+2){margin-top:60px}
.set-card .set-photo{display:block;width:100%;position:relative;border-radius:var(--arch);overflow:hidden;aspect-ratio:3/4}
.set-card .set-photo img{position:absolute;inset:0;border-radius:0;aspect-ratio:auto}
.set-swap{opacity:0;transition:opacity .6s ease,scale .9s var(--ease)}.set-photo:hover .set-swap,.set-photo:focus-visible .set-swap{opacity:1}
.set-count{position:absolute;left:50%;bottom:16px;translate:-50% 0;z-index:2;padding:7px 14px;border-radius:999px;background:rgba(38,15,22,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px;letter-spacing:.04em;white-space:nowrap}
.set-card h3{font:clamp(30px,2.6vw,40px)/1.05 var(--serif);letter-spacing:-.02em;color:var(--pink);margin:22px 0 8px}
.set-card>p{font-size:15px;color:#dcc2cb;margin:0}
.closet{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:center;background:var(--paper);color:var(--wine);margin:var(--gut);border-radius:var(--r-lg)}
.closet h2{color:var(--wine)}.closet-copy>p:not(.section-label):not(.lead){color:#694650}
.closet-media{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:end}
.closet-video,.closet-photo{margin:0;position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:9/16;background:#1b0d12}
.closet-video:nth-child(2){margin-bottom:60px}
.closet-video video,.closet-photo img{width:100%;height:100%;object-fit:cover;display:block}
.video-toggle{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(38,15,22,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--paper);display:grid;place-items:center;padding:0}
.video-toggle span{width:0;height:0;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent currentColor;margin-left:3px}
.closet-video.is-playing .video-toggle span{width:10px;height:13px;border-width:0 3px;border-color:currentColor;margin:0}
@media(max-width:1000px){.set-grid{grid-template-columns:1fr 1fr}.set-card:nth-child(3n+2){margin-top:0}.set-card:nth-child(even){margin-top:50px}.closet{grid-template-columns:1fr}}
@media(max-width:700px){.sets{padding-right:6%}.set-grid{gap:34px 16px}.set-card:nth-child(even){margin-top:34px}.set-card h3{font-size:26px;margin-top:16px}.set-card>p{font-size:13px}.set-count{font-size:11px;bottom:10px;padding:6px 11px}
  .closet-media{grid-template-columns:1fr 1fr;gap:12px}.closet-video:nth-child(2){margin-bottom:0}.closet-photo{grid-column:1/-1;aspect-ratio:4/3}.show-more{width:100%}}
.closet h2{font-size:clamp(44px,4.6vw,72px)}.closet{grid-template-columns:.75fr 1.25fr}
@media(max-width:1000px){.closet{grid-template-columns:1fr}}
.bri-photo .bri-signature{left:0;right:0;bottom:26px;text-align:center;font-size:clamp(34px,4vw,50px);white-space:nowrap}
@media(max-width:700px){.bri-photo .bri-signature{font-size:36px;bottom:18px}}
