@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--ink:#161315;--pink:#f3a4c0;--paper:#fff9fb;--muted:#bcb0b6;--line:#3c3036}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--pink);outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:var(--pink);color:var(--ink);padding:12px;z-index:10}.skip:focus{top:10px}header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 6%;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1;align-items:center}.brand>span{font:italic 49px/.9 'Playfair Display',Georgia,serif}.brand-dot{color:var(--pink)}.brand small{font-size:10px;letter-spacing:2.5px;margin-top:12px}nav{display:flex;gap:35px;font-size:14px}nav a:hover,.text-link:hover{color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;background:var(--pink);color:var(--ink);font-size:15px;font-weight:600;padding:16px 27px;border-radius:3px;transition:background .2s}.button:hover{background:#ffd4e4}.button.small{font-size:14px;min-height:46px;padding:12px 20px}.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:690px;padding:35px 3% 35px 6%;gap:50px}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding-top:38px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--pink);margin:0 0 24px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.13;letter-spacing:-2px;margin:0}h1{font-size:clamp(48px,5vw,78px)}em{font-weight:400;color:var(--pink)}.intro{max-width:415px;color:#d1c5cb;margin:27px 0 25px;line-height:1.75}.subtle{font-size:12px;color:var(--muted);margin-top:15px}.hero-bottom{width:100%;margin-top:auto;padding-top:42px;display:flex;gap:25px;justify-content:space-between;font-size:12px;color:var(--muted)}.hero-image{position:relative;min-height:620px;overflow:hidden;border-radius:180px 180px 5px 5px;background:#302027}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.image-caption{position:absolute;bottom:0;width:100%;padding:45px 24px 22px;background:linear-gradient(transparent,#161315aa);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.5px}.ribbon{display:flex;align-items:center;justify-content:space-around;gap:28px;padding:23px 5%;background:var(--pink);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:2px}.ribbon span{font-size:23px}.section{padding:95px 8%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:55px;margin-bottom:44px}h2{font-size:clamp(38px,4vw,56px)}.section-head>p{max-width:350px;color:var(--muted);margin:0}.service{display:grid;grid-template-columns:45px 1fr 120px;gap:24px;border-top:1px solid var(--line);padding:27px 4px;align-items:center;transition:background .2s}.service:last-child{border-bottom:1px solid var(--line)}.service:hover{background:#241b20}.num{font-size:12px;color:var(--pink)}h3{font-size:20px;font-weight:500;margin:0 0 5px}.service p{color:var(--muted);font-size:14px;margin:0}.price{text-align:right;font:30px 'Playfair Display',Georgia,serif}.price small{display:block;color:var(--muted);font:12px 'DM Sans',sans-serif;margin-top:10px}.service-extra{margin-top:28px;display:flex;gap:40px;align-items:center;justify-content:space-between}.service-extra p{color:var(--muted);font-size:14px;max-width:590px}.service-extra strong{color:var(--paper);font-weight:500}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid var(--pink);padding-bottom:3px}.atelier{background:#241b20;display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.atelier-text>p{color:var(--muted);margin:0 0 25px}.atelier-text .large{font-size:23px;color:var(--paper);line-height:1.55}.details{display:flex;flex-direction:column;margin:30px 0;font-size:14px;gap:12px}.details span{border-bottom:1px solid #49333d;padding-bottom:12px}.booking{text-align:center;background:#f7bed3;color:var(--ink)}.booking .eyebrow{color:#663448}.booking h2 em{color:#6b3049}.booking .button{background:var(--ink);color:var(--paper);margin-top:30px}.booking .button:hover{background:#49313c}.booking>p:last-child{font-size:14px;color:#663448;margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px;margin-top:55px}.contact h3{font-size:16px;margin-bottom:18px}.contact p,.contact address{font-size:14px;color:var(--muted);font-style:normal;margin:0 0 18px}.phone{font-size:22px;display:block;margin-bottom:16px}footer{display:flex;align-items:center;justify-content:space-between;padding:40px 8%;border-top:1px solid var(--line);gap:30px}footer p,footer>a:last-child{font-size:14px;color:var(--muted)}.mobile-book{display:none}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){header{padding:0 5%}nav{gap:20px}.hero{gap:25px;padding-left:5%;min-height:600px}.hero-image{min-height:580px}.hero-bottom{flex-direction:column;gap:5px}.section{padding:75px 6%}.atelier{gap:45px}.ribbon{font-size:10px;letter-spacing:1px}.contact-grid{gap:30px}}@media(max-width:700px){header{height:85px;padding:0 6%;gap:18px}.brand>span{font-size:39px}.brand small{font-size:9px;margin-top:9px}nav{display:none}.button.small{font-size:12px;padding:10px 14px}.hero{display:flex;flex-direction:column;padding:32px 6% 25px;gap:28px}.hero-copy{padding-top:0}.hero .eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:18px}h1{font-size:clamp(42px,10.6vw,65px);letter-spacing:-1.5px}.intro{margin:22px 0;max-width:100%}.hero-bottom{display:none}.hero-image{min-height:470px;border-radius:150px 150px 4px 4px}.image-caption{font-size:9px;padding:40px 18px 20px}.ribbon{font-size:10px;padding:18px;flex-wrap:wrap;gap:10px 20px}.ribbon span:last-child{display:none}.section{padding:60px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:25px;max-width:100%}h2{font-size:39px;letter-spacing:-1px}.service{grid-template-columns:24px 1fr 65px;gap:12px;padding:24px 0}.service h3{font-size:17px;line-height:1.4}.service p{font-size:14px}.price{font-size:25px}.service-extra{display:block}.service-extra .text-link{margin-top:12px}.atelier{display:block}.atelier-text{margin-top:30px}.atelier-text .large{font-size:21px}.contact-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}footer{align-items:flex-start;padding:30px 6% 110px;flex-wrap:wrap}footer p{max-width:180px}.mobile-book{display:block;position:fixed;bottom:0;background:#161315f5;padding:12px 6%;width:100%;border-top:1px solid var(--line);z-index:5}.mobile-book .button{width:100%;min-height:48px;padding:11px}html{scroll-padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.gallery{background:#1c1619}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.gallery figure{margin:0}.gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:3px;transition:filter .2s}.gallery a:hover img{filter:brightness(1.12)}figcaption{font-size:14px;color:var(--muted);margin-top:12px}dialog{border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:20px;max-width:min(92vw,1100px);max-height:94dvh;border-radius:6px}dialog::backdrop{background:#000d}dialog img{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:auto}dialog p{font-size:14px;margin-bottom:0}.close-photo{display:block;margin:0 0 16px auto;border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:10px 15px;cursor:pointer;font:14px 'DM Sans',sans-serif}.close-photo:focus-visible{outline:3px solid var(--pink)}@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.gallery figcaption{font-size:12px;line-height:1.5}}
.page-intro{padding-bottom:55px;max-width:1100px}.page-intro h1{font-size:clamp(42px,5vw,68px)}.page-intro>p:not(.eyebrow){color:var(--muted);max-width:660px}.source-note{font-size:14px;color:var(--muted)}.category-nav{display:flex;flex-wrap:wrap;gap:12px;padding:20px 8%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.category-nav a{border:1px solid #674854;border-radius:3px;padding:10px 16px;font-size:14px}.category-nav a:hover{background:#38242d}.catalog-section{padding-top:65px;padding-bottom:35px}.catalog-section h2{font-size:38px;letter-spacing:-1px}.category-description{max-width:800px;color:var(--muted);margin-bottom:35px}.catalog-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:35px;padding:26px 0;border-top:1px solid var(--line)}.catalog-row:last-child{border-bottom:1px solid var(--line)}.catalog-row h3{font-size:19px}.duration{color:var(--muted);font-size:14px;margin:5px 0 12px}.catalog-action{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.catalog-action strong{font:26px 'Playfair Display',Georgia,serif}.service-description summary{font-size:14px;color:var(--pink);cursor:pointer}.service-description p{color:var(--muted);font-size:16px;max-width:700px;line-height:1.65}.visit,.practical,.reviews{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px}.visit{background:#241b20}.visit p{color:var(--muted)}.visit img{width:100%;height:auto;object-fit:cover;border-radius:4px;align-self:center}.practical address{font-style:normal;font-size:20px;margin-top:25px}.practical p{color:var(--muted)}.hours{margin:25px 0}.hours div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.hours dd{margin:0}.faq-section{background:#241b20}.faq-list{margin-top:35px}.faq-list details{padding:20px 0;border-bottom:1px solid #523b46}.faq-list summary{font-size:18px;cursor:pointer;padding-right:20px}.faq-list p{color:var(--muted);max-width:900px}.rating{font:70px 'Playfair Display',Georgia,serif;color:var(--pink);margin:0}.rating span{font-size:24px;color:var(--muted)}.reviews>div>p:not(.rating){color:var(--muted)}summary:focus-visible{outline:3px solid var(--pink);outline-offset:6px}footer{flex-wrap:wrap}@media(max-width:700px){.category-nav{padding:18px 6%;gap:8px}.category-nav a{font-size:14px;padding:8px 12px}.catalog-section{padding-top:45px}.catalog-section h2{font-size:30px}.catalog-row{grid-template-columns:minmax(0,1fr);gap:15px}.catalog-action{align-items:flex-start;text-align:left;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.catalog-row h3{font-size:18px}.visit,.practical,.reviews{grid-template-columns:1fr;gap:35px}.faq-list summary{font-size:16px}}
