:root{--ink:#201819;--black:#171313;--cream:#fffaf7;--rose:#d59aa7;--soft:#f5e7e6;--line:#dbc6c6}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}::selection{background:#e9b8c3;color:#211619}
    .shell{width:min(1220px,calc(100% - 48px));margin:auto}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.serif{font-family:Italiana,Georgia,serif;font-weight:400}.sparkle{font-size:1.2em;color:var(--rose)}
    header{position:absolute;z-index:20;top:0;left:0;right:0;color:white;border-bottom:1px solid #ffffff40}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Italiana,Georgia,serif;font-size:29px;line-height:.85;letter-spacing:.03em}.brand small{font-family:'DM Sans',sans-serif;display:block;text-align:center;font-size:7px;letter-spacing:.53em;margin-top:8px}.navlinks{display:flex;gap:35px;align-items:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.navlinks a:hover{color:#f0bccc}.navcta{border:1px solid #ffe9ed;padding:13px 21px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.25s}.navcta:hover{background:#fff;color:var(--ink)}.menu{display:none;background:none;border:0;color:white;font-size:25px}
    .hero{min-height:760px;height:100svh;max-height:950px;position:relative;overflow:hidden;background:#1b1619;color:white;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#171313 3%,#171313e6 38%,#17131316 100%),linear-gradient(0deg,#171313a8,transparent 30%);z-index:1}.hero-photo{position:absolute;inset:0 0 0 41%;background:url('work-2.jpg') center 44%/cover no-repeat;filter:saturate(.78) contrast(1.05);animation:heroZoom 12s ease-out both}.hero-glow{position:absolute;z-index:2;width:450px;height:450px;border-radius:50%;background:#dc88a643;filter:blur(110px);top:8%;left:-12%;pointer-events:none}.hero-content{position:relative;z-index:3;padding-top:110px}.hero .eyebrow{color:#f3bac8;display:flex;align-items:center;gap:15px}.hero .eyebrow:before{content:"";width:32px;height:1px;background:currentColor}.hero h1{font-family:Italiana,Georgia,serif;font-weight:400;font-size:clamp(76px,10vw,148px);line-height:.82;letter-spacing:-.035em;margin:35px 0 26px;max-width:720px}.hero h1 em{font-style:normal;color:#efb6c4}.hero p{font-size:16px;line-height:1.8;color:#f5e9e9;max-width:480px;margin:0 0 36px}.buttons{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:0 25px;border-radius:100px;background:#e9b3c1;color:#261c1f;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:transform .25s,background .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px);background:#f4c8d2;box-shadow:0 12px 35px #0003}.btn-outline{background:transparent;color:white;border:1px solid #ffffff8c}.btn-outline:hover{background:#ffffff19;color:white}.hero-side{position:absolute;z-index:3;right:29px;bottom:70px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#f9dce3}.scroll{position:absolute;z-index:3;left:calc((100% - min(1220px,100% - 48px))/2);bottom:38px;display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#f2d0d8}.scroll:before{content:"";height:36px;width:1px;background:#f2d0d8}
    .ticker{background:#e9b3c1;overflow:hidden;white-space:nowrap;padding:14px 0}.ticker-track{display:inline-block;min-width:200%;animation:marquee 27s linear infinite;font-family:Italiana,Georgia,serif;font-size:22px;letter-spacing:.06em}.ticker span{padding:0 28px}.ticker b{font-weight:400;color:#fff5f5}
    section{padding:120px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}.section-head h2{font-size:clamp(48px,6vw,82px);line-height:.95;margin:16px 0 0}.section-head p{max-width:360px;line-height:1.75;color:#6d5b5e;font-size:14px;margin:0}.pink{color:#bd7b8d}
    .services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{position:relative;min-height:340px;padding:32px;border:1px solid var(--line);background:#fffdfb;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}.service:hover{transform:translateY(-8px);box-shadow:0 24px 50px #6a354014;border-color:#d6a1ac}.service:after{content:"";position:absolute;width:230px;height:230px;right:-90px;bottom:-100px;border-radius:50%;border:1px solid #dfb1bc;box-shadow:0 0 0 30px #eecbd340,0 0 0 62px #eecbd328;transition:transform .5s}.service:hover:after{transform:scale(1.25)}.service .num{font-family:Italiana,Georgia,serif;font-size:42px;color:#ce9ca8}.service h3{font-family:Italiana,Georgia,serif;font-size:39px;font-weight:400;margin:43px 0 15px;line-height:1}.service p{font-size:14px;color:#756365;line-height:1.7;max-width:275px}.service .arrow{position:absolute;bottom:30px;left:32px;font-size:22px}
    .gallery{background:#21191b;color:#fff;padding-bottom:130px}.gallery .section-head p{color:#d7c5c8}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:310px 310px;gap:15px}.gallery-card{position:relative;overflow:hidden;background:#34282b;cursor:pointer;border:0;padding:0;text-align:left;color:white}.gallery-card:first-child{grid-row:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .5s;filter:saturate(.86)}.gallery-card:hover img{transform:scale(1.07);filter:saturate(1.1)}.gallery-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#171112a8);pointer-events:none}.gallery-card span{position:absolute;z-index:1;left:23px;bottom:22px;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.gallery-link{display:inline-flex;gap:12px;align-items:center;margin-top:30px;border-bottom:1px solid #e9b3c1;padding-bottom:8px;color:#f2c6d1;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
    .about{background:#f2e4e3;overflow:hidden}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}.about-image{position:relative}.about-image img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;filter:saturate(.8)}.about-image:before{content:"";position:absolute;z-index:1;inset:22px -22px -22px 22px;border:1px solid #b87e8b;pointer-events:none}.about-image .seal{position:absolute;z-index:2;right:-45px;top:-45px;width:125px;height:125px;border-radius:50%;background:#21191b;color:#f9dce3;display:grid;place-items:center;text-align:center;font-family:Italiana,serif;font-size:23px;line-height:1.05;transform:rotate(13deg)}.about h2{font-size:clamp(52px,6vw,88px);line-height:.96;margin:17px 0 28px}.about-copy{font-size:17px;line-height:1.85;color:#59484c;max-width:560px}.about-sign{font-family:Italiana,serif;font-size:40px;margin:28px 0 0;color:#a66b7c}
    .booking{background:#fffaf7;text-align:center;padding:125px 0}.booking-inner{border:1px solid #d7b8bd;padding:76px 30px;position:relative;background:radial-gradient(circle at 12% 18%,#f8e5e9 0,transparent 34%),radial-gradient(circle at 88% 80%,#f8e5e9 0,transparent 32%)}.booking-inner:before,.booking-inner:after{content:"✦";position:absolute;color:#d8a1ae;font-size:30px}.booking-inner:before{top:25px;left:35px}.booking-inner:after{right:35px;bottom:20px}.booking h2{font-size:clamp(55px,7vw,100px);line-height:.9;margin:17px auto 28px;max-width:780px}.booking p{max-width:580px;margin:0 auto 29px;color:#715f63;line-height:1.75}.booking .btn{margin:auto}.booking-note{font-size:11px!important;margin-top:18px!important}
    footer{background:#171313;color:#f9e7e9;padding:50px 0 30px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-bottom:50px;border-bottom:1px solid #ffffff35}.footer-top .brand{font-size:38px}.footer-top p{color:#cdb9bc;max-width:400px;line-height:1.7;font-size:13px}.footer-links{display:flex;gap:28px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:25px;font-size:11px;color:#a99296}.footer-bottom a{text-decoration:underline}
    .lightbox{position:fixed;z-index:100;inset:0;background:#130e0eeb;display:none;align-items:center;justify-content:center;padding:40px}.lightbox.open{display:flex}.lightbox img{max-height:90vh;max-width:min(90vw,900px);object-fit:contain}.lightbox button{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font-size:35px;cursor:pointer}.lightbox a{position:absolute;bottom:14px;color:#f6c6d1;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
    .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1.12)}to{transform:scale(1)}}@keyframes marquee{to{transform:translateX(-50%)}}
    @media(max-width:900px){.navlinks{gap:17px}.service-grid{grid-template-columns:1fr 1fr}.service:last-child{grid-column:span 2;min-height:260px}.about-grid{gap:6%}.gallery-grid{grid-template-rows:240px 240px}}
    @media(max-width:650px){.shell{width:min(100% - 34px,560px)}.nav{height:72px}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:#21191b;padding:25px;flex-direction:column;align-items:start}.navlinks.open{display:flex}.navcta{margin-left:auto;padding:11px 15px}.menu{display:block}.hero{min-height:730px;max-height:none;height:96svh;align-items:end;padding-bottom:120px}.hero:before{background:linear-gradient(0deg,#171313 3%,#171313dc 28%,#17131338 82%)}.hero-photo{inset:0;background-position:center 20%}.hero-content{padding-top:0}.hero h1{font-size:clamp(73px,20vw,105px);margin:24px 0 18px}.hero p{font-size:14px;max-width:360px}.hero-side{display:none}.scroll{bottom:25px}.btn{min-height:50px}.section-head{display:block}.section-head p{margin-top:24px}section{padding:75px 0}.service-grid{grid-template-columns:1fr}.service,.service:last-child{grid-column:auto;min-height:275px}.service h3{margin-top:24px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 200px 200px;gap:8px}.gallery-card:first-child{grid-column:span 2;grid-row:auto}.gallery-card:last-child{display:none}.about-grid{grid-template-columns:1fr;gap:65px}.about-image{max-width:420px;width:85%}.about-image .seal{right:-47px}.about h2{font-size:62px}.booking-inner{padding:70px 20px}.booking h2{font-size:58px}.footer-top,.footer-bottom{display:block}.footer-links{margin-top:30px;flex-wrap:wrap}.footer-bottom span{display:block;margin:10px 0}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
    .tips{background:#fffaf7}.tips-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tips-panel{border:1px solid var(--line);padding:35px;background:#fffdfb}.tips-panel.dark{background:#241b1e;color:#fff0f3;border-color:#241b1e}.tips-panel h3{font-family:Italiana,Georgia,serif;font-size:45px;font-weight:400;margin:12px 0 30px}.tips-panel .eyebrow{color:#b67d8d}.tips-panel.dark .eyebrow{color:#efb6c4}.tips-panel details{border-top:1px solid #dbc6c6;padding:0}.tips-panel.dark details{border-color:#ffffff30}.tips-panel summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:15px;padding:19px 0;font-size:14px;font-weight:600;line-height:1.5}.tips-panel summary::-webkit-details-marker{display:none}.tips-panel summary .tip-number{font-family:Italiana,Georgia,serif;font-size:24px;color:#b67d8d;min-width:26px}.tips-panel summary:after{content:'+';margin-left:auto;font-size:22px;font-weight:400;color:#b67d8d}.tips-panel details[open] summary:after{content:'−'}.tips-panel details p{font-size:13px;line-height:1.8;margin:0 0 22px 41px;color:#756365}.tips-panel.dark details p{color:#dbc4cc}.tips-panel details[open] p{animation:tipReveal .3s ease}.tip-source{display:inline-block;margin-top:24px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #bd8796;padding-bottom:6px;color:#a66b7c}.dark .tip-source{color:#efb6c4}@keyframes tipReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media(max-width:650px){.tips-grid{grid-template-columns:1fr}.tips-panel{padding:26px}.tips-panel h3{font-size:40px}.navlinks{gap:20px}}
  
/* Finishing details and accessible interactions */
:focus-visible{outline:3px solid #b35f78;outline-offset:5px}button,a,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}section{scroll-margin-top:105px}.skip-link{position:fixed;z-index:200;top:12px;left:12px;background:white;color:var(--ink);padding:12px 20px;border-radius:6px;transform:translateY(-150%)}.skip-link:focus{transform:none}
header{position:fixed;transition:background .3s,box-shadow .3s,backdrop-filter .3s}header.scrolled,header.menu-open{background:#21191bf5;backdrop-filter:blur(16px);box-shadow:0 3px 25px #0002}.navlinks{gap:25px}.navlinks a{white-space:nowrap}.navcta{white-space:nowrap}.menu{min-width:44px;min-height:44px}.hero{isolation:isolate}.hero-photo{background-position:center 44%}.hero h1{line-height:.93}.hero p{max-width:430px}.hero .eyebrow{line-height:1.7}.ticker{position:relative;padding-right:55px}.ticker-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:34px;height:34px;background:#e9b3c1;border:1px solid #54303b66;border-radius:50%;color:#44242f;z-index:2}.ticker.paused .ticker-track,.ticker:hover .ticker-track{animation-play-state:paused}
.service{padding-bottom:68px;min-height:375px}.service h3{margin-top:28px}.service p{max-width:100%;padding-right:8px}.service:after{pointer-events:none}.service .arrow{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;bottom:27px}.gallery-card:focus-visible{outline-offset:-6px;outline-color:#ffd3e0}.gallery-card img{filter:none}.gallery-card:hover img{filter:none}.gallery-card:before{content:'↗';position:absolute;top:17px;right:18px;z-index:2;background:#21191b80;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:19px}.about-image img{aspect-ratio:1;object-fit:contain;object-position:center}.about-image .seal{width:100px;height:100px;right:-30px;top:-30px;font-size:20px}.about-copy{font-size:16px}.about h2{font-size:clamp(52px,6vw,78px)}
.booking{padding:90px 0 110px}.booking-inner{padding:65px 45px;text-align:left}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.booking h2{font-size:clamp(50px,5vw,73px);margin:20px 0 25px}.booking p{margin:0 0 24px}.booking-location{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#996272;margin-top:30px}.request-card{padding:28px;background:#fffaf7;border:1px solid #dec3ca;border-radius:3px}.request-card label{display:block;font-size:12px;font-weight:600;line-height:1.5;margin-bottom:9px}.request-card select,.request-card textarea{width:100%;font:inherit;font-size:14px;border:1px solid #cfb5bd;background:white;color:var(--ink);border-radius:5px;padding:13px;line-height:1.7}.request-card select{margin-bottom:22px}.request-card textarea{resize:vertical;min-height:135px}.request-card .btn{width:100%;margin-top:14px;border:0;min-height:50px;font-size:10px}.request-card .btn-secondary{background:transparent;border:1px solid #bb8393;box-shadow:none}.request-card .request-help{font-size:12px;line-height:1.8;color:#756365;margin:15px 0 0}.request-status{font-size:12px;line-height:1.6;color:#764353;min-height:20px;margin-top:10px}.booking-steps{padding:0;margin:25px 0;list-style:none;counter-reset:steps}.booking-steps li{counter-increment:steps;display:flex;gap:14px;align-items:start;font-size:13px;line-height:1.8;margin:16px 0;color:#715f63}.booking-steps li:before{content:'0' counter(steps);font-family:Italiana,Georgia,serif;font-size:24px;line-height:1;color:#b67d8d;padding-top:3px}.booking-note{margin-top:20px!important}.footer-links{flex-wrap:wrap;justify-content:flex-end}.footer-bottom{font-size:11px}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(20px)}.js .reveal.visible{opacity:1;transform:none}
dialog.lightbox{inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;background:#130e0ef5;color:white;padding:65px 75px 85px;overflow:hidden}dialog.lightbox[open]{display:flex}dialog.lightbox::backdrop{background:#130e0e}.lightbox img{max-height:calc(100svh - 160px);max-width:min(82vw,900px);width:auto;height:auto;object-fit:contain}.lightbox button{position:static;width:46px;height:46px;display:grid;place-items:center;background:#ffffff13;border:1px solid #ffffff40;border-radius:50%;color:white;font-size:26px;flex-shrink:0}.lightbox button:hover{background:#ffffff28}.lightbox .lightbox-close{position:absolute;right:22px;top:18px}.lightbox .lightbox-prev{position:absolute;left:18px;top:calc(50% - 23px)}.lightbox .lightbox-next{position:absolute;right:18px;top:calc(50% - 23px)}.lightbox-meta{position:absolute;bottom:25px;left:20px;right:20px;text-align:center}.lightbox-counter{font-size:12px;color:#e6bdc9;margin:0 0 12px}.lightbox .lightbox-meta a{position:static;font-size:10px;line-height:1.8;text-decoration:underline;text-underline-offset:5px}.lightbox-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:651px) and (max-width:1000px){.navlinks{gap:12px;font-size:9px}.nav{gap:14px}.navcta{padding:12px;font-size:9px}.brand{font-size:25px}.booking-layout{gap:30px}.booking-inner{padding:50px 28px}}
@media(max-width:650px){section{scroll-margin-top:90px}.nav{gap:8px;height:72px}.brand{font-size:25px}.brand small{font-size:6px}.navcta{font-size:9px;letter-spacing:.08em;padding:12px 13px;white-space:nowrap}.menu{font-size:24px;flex-shrink:0}.navlinks{box-shadow:0 12px 24px #0004;gap:0;padding:14px 22px 22px}.navlinks a{display:block;width:100%;padding:14px 0;font-size:12px}.hero{height:auto;min-height:max(720px,96svh);padding:135px 0 115px;align-items:center}.hero-content{padding:0}.hero h1{font-size:clamp(49px,15.2vw,90px);line-height:.97;letter-spacing:-.035em}.hero p{font-size:14px;line-height:1.8;max-width:340px;margin-bottom:28px}.hero .eyebrow{font-size:9px;letter-spacing:.2em}.hero-photo{background-position:62% 25%}.hero .buttons{gap:12px}.hero .btn{font-size:10px;min-height:49px;padding:0 20px}.scroll{bottom:25px;font-size:9px}.scroll:before{height:24px}.ticker-track{font-size:18px}.ticker span{padding:0 18px}.section-head h2{font-size:51px;line-height:1.02}.section-head{margin-bottom:34px}.service,.service:last-child{min-height:285px;padding:26px 26px 63px}.service h3{font-size:36px;margin:20px 0 12px}.service .num{font-size:32px}.service .arrow{left:26px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 210px 210px}.gallery-card:last-child{display:block}.gallery-card:first-child{grid-column:span 2}.gallery-card span{font-size:9px;letter-spacing:.06em;left:12px;bottom:15px;right:8px;line-height:1.6}.gallery-card:before{width:27px;height:27px;right:10px;top:10px;font-size:16px}.gallery{padding-bottom:75px}.about-image{width:calc(100% - 20px);max-width:420px}.about-image:before{inset:14px -14px -14px 14px}.about-image .seal{width:85px;height:85px;right:-17px;top:-25px;font-size:18px}.about h2{font-size:55px;line-height:1.05}.about-grid{gap:50px}.about-copy{font-size:15px;line-height:1.85}.tips-panel h3{font-size:35px}.tips-panel{padding:23px}.tips-panel summary{font-size:13px;gap:9px}.tips-panel details p{margin-left:35px}.booking{padding:70px 0}.booking-inner{padding:55px 20px 30px}.booking-layout{grid-template-columns:1fr;gap:24px}.booking h2{font-size:52px}.booking-inner:before{left:20px;top:13px;font-size:22px}.booking-inner:after{display:none}.request-card{padding:18px}.booking p{font-size:14px}.footer-top{padding-bottom:30px}.footer-links{gap:20px;justify-content:flex-start;line-height:1.7;font-size:10px}.footer-bottom{line-height:1.8}dialog.lightbox{padding:65px 14px 100px}.lightbox img{max-width:100%;max-height:calc(100svh - 190px)}.lightbox .lightbox-prev{left:15px;top:auto;bottom:29px}.lightbox .lightbox-next{right:15px;top:auto;bottom:29px}.lightbox-meta{left:70px;right:70px;bottom:20px}.lightbox button{width:42px;height:42px}.lightbox .lightbox-close{top:14px;right:14px}}
@media(min-width:651px) and (max-width:900px){.nav{height:72px;gap:15px}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:#21191b;padding:14px 25px 22px;flex-direction:column;align-items:start;gap:0;box-shadow:0 12px 24px #0004}.navlinks.open{display:flex}.navlinks a{font-size:12px;padding:14px 0;width:100%}.menu{display:block}.navcta{margin-left:auto;font-size:11px;padding:13px 20px}}
@media(max-width:650px){.request-card select,.request-card textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}.ticker-track{animation:none!important}.ticker-toggle{display:none}}
