:root{--plum:#3d2438;--plum-deep:#2a1826;--plum-soft:#5b3752;--beige:#f8f5f2;--beige-card:#fff;--neon:#ff2e93;--neon-dim:#e0247f;--ink:#2a1826;--ink-soft:#5c4755;--font-display:"Fraunces", serif;--font-ui:"Montserrat", sans-serif;--radius-lg:32px;--radius-md:20px;--radius-sm:12px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);background:var(--beige);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}section{padding:96px 0;position:relative}h1,h2,h3{font-family:var(--font-display);color:inherit;font-weight:500;line-height:1.15}a:focus-visible,button:focus-visible{outline:2px solid var(--neon);outline-offset:3px;border-radius:6px}.btn{font-family:var(--font-ui);letter-spacing:.8px;text-transform:uppercase;cursor:pointer;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:14px 32px;font-size:13.5px;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{background:var(--neon);color:#fff;box-shadow:0 0 20px #ff2e9340}.btn-primary:hover{background:var(--neon-dim);transform:translateY(-2px);box-shadow:0 0 25px #ff2e9373}.nav-cta.btn-primary:hover{transform:none}.btn-secondary{color:var(--beige);background:0 0;border-color:#f3e9dc4d}.btn-secondary:hover{border-color:var(--beige);color:var(--beige);background:#f3e9dc1a;transform:translateY(-2px)}header{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3d2438eb;position:sticky;top:0}nav.wrap{justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.logo{font-family:var(--font-display);color:var(--beige);font-size:24px;font-weight:500}.logo span{color:var(--neon)}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--beige);opacity:.85;font-size:14.5px;font-weight:600}.nav-links a:hover{opacity:1;color:var(--neon)}.nav-cta{display:none}@media (min-width:720px){.nav-cta{display:inline-flex}}@media (max-width:719px){.nav-links{display:none}}.hero{background:var(--plum);color:var(--beige);padding:80px 0 120px;position:relative;overflow:hidden}.hero-container{flex-direction:column;align-items:center;gap:48px;display:flex}.hero-copy{text-align:center;flex-direction:column;align-items:center;max-width:540px;display:flex}.hero-eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--neon);margin-bottom:20px;font-size:13px;font-weight:700;display:block}.hero-title{margin-bottom:28px}.hero h1{font-size:clamp(44px,8vw,76px);line-height:1.05}.hero p.lead{color:var(--beige);opacity:.85;margin-bottom:36px;font-size:18px;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.hero-visual{opacity:0;border-radius:62% 38% 55% 45%/48% 42% 58% 52%;flex-shrink:0;width:300px;height:360px;animation:1.1s cubic-bezier(.16,1,.3,1) 1.3s forwards arch-enter;overflow:hidden;transform:translate(90px)rotate(3deg);box-shadow:0 30px 60px #14081066}.hero-visual-inner{width:130%;height:130%;transform:translate(var(--tilt-x,0px), var(--tilt-y,0px));margin:-15%;transition:transform .2s ease-out}.hero-visual-inner img{object-fit:cover;width:100%;height:100%;display:block}@keyframes arch-enter{to{opacity:1;transform:translate(0)rotate(-4deg)}}@media (min-width:960px){.hero-container{flex-direction:row;justify-content:space-between;align-items:center;gap:40px}.hero-copy{text-align:center;align-items:center}.hero-actions{justify-content:center}.hero-visual{border-radius:58% 42% 50% 50%/45% 48% 52% 55%;width:340px;height:420px}}.hero-paint{z-index:5;filter:drop-shadow(0 10px 26px #b3105f59);clip-path:polygon(0% 0%,5.8% 5%,7.2% 10%,7.9% 15%,7.8% 20%,6.8% 25%,5.2% 30%,2.8% 35%,1.2% 40%,.2% 45%,0% 50%,.2% 55%,1.2% 60%,2.8% 65%,5.2% 70%,6.8% 75%,7.8% 80%,7.9% 85%,7.2% 90%,5.8% 95%,4% 100%,100% 100%,100% 0%);pointer-events:none;background:linear-gradient(115deg,#b3105f 0%,#ff2e93 20%,#5c4c54 34%,#ff2e93 48%,#c41368 66%,#ff2e93 82%,#ff7ec0 100%);animation:1.7s cubic-bezier(.65,0,.35,1) forwards paint-sweep;position:absolute;inset:0}@keyframes paint-sweep{to{transform:translate(106%)}}.hero-fade{opacity:0;animation:.6s forwards fade-up;transform:translateY(16px)}.hero-eyebrow.hero-fade{animation-delay:.9s}.hero-title.hero-fade{animation-delay:1.05s}.hero p.lead.hero-fade{animation-delay:1.25s}.hero-actions .btn.hero-fade{animation-delay:1.4s}.hero-actions .btn.hero-fade:nth-child(2){animation-delay:1.48s}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-paint{display:none}.brush-stroke path{stroke-dashoffset:0;animation:none}.hero-fade{opacity:1;animation:none;transform:none}}.proof{background:var(--beige-card);border-top:1px solid #3d243814;border-bottom:1px solid #3d243814;padding:34px 0}.proof .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;display:flex}.proof-stat{align-items:baseline;gap:8px;display:flex}.proof-stat strong{font-family:var(--font-display);color:var(--plum);font-size:22px}.proof-stat span{color:var(--ink-soft);font-size:14px;font-weight:600}.proof-live{color:var(--plum);align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.dot{background:var(--neon);border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){.dot{animation:none}}.sec-head{max-width:800px;margin-bottom:52px}.reveal{opacity:0;transition:opacity 1s,transform 1s;transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.eyebrow-brush{display:inline-block;position:relative}.section-brush{pointer-events:none;width:116%;height:8px;position:absolute;bottom:-5px;left:-8%;right:-8%}.section-brush path{fill:none;stroke:var(--neon-dim);stroke-width:6px;stroke-linecap:round;stroke-dasharray:300;stroke-dashoffset:300px;opacity:.8;transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1) .3s}.reveal.is-visible .section-brush path{stroke-dashoffset:0}.sec-eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--neon-dim);margin-bottom:14px;font-size:13px;font-weight:800;display:block}.sec-eyebrow.eyebrow-brush{display:inline-block}.sec-head h2{color:var(--plum);margin-bottom:14px;font-size:clamp(30px,4vw,42px);line-height:1.15}.sec-head p{color:var(--ink-soft);font-size:16.5px}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.section-brush path{stroke-dashoffset:0;transition:none}}.services{background:var(--beige)}.service-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.service-card{background:var(--beige-card);border-radius:var(--radius-md);border:none;border-left:4px solid #ff2e9333;padding:36px 30px 36px 32px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-left-color .3s;position:relative;box-shadow:0 14px 34px #3d243817}.service-card:hover{border-left-color:var(--neon);transform:translateY(-8px);box-shadow:0 26px 50px #3d243824}.service-card .price{font-family:var(--font-display);color:var(--neon-dim);margin-bottom:10px;font-size:15px;font-weight:600}.service-card h3{color:var(--plum);margin-bottom:10px;font-size:21px}.service-card p{color:var(--ink-soft);font-size:14.5px}.team{background:var(--plum);color:var(--beige)}.team .sec-head h2,.team .sec-head p{color:var(--beige)}.team .sec-head p{opacity:.78}.team-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;display:grid}.team-card{background:var(--plum-soft);border-radius:var(--radius-lg);border:1px solid #f3e9dc1f;overflow:hidden}.avatar-block{height:210px;position:relative;overflow:hidden}.avatar-block img{object-fit:cover;width:100%;height:100%;display:block}.photo-tag{letter-spacing:.4px;color:#f3e9dc99;background:#2a182673;border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:700;position:absolute;bottom:10px;right:12px}.avatar-dots{z-index:2;gap:6px;display:flex;position:absolute;bottom:10px;left:12px}.avatar-dot{background:#f3e9dc66;border-radius:50%;width:6px;height:6px;transition:background .25s,transform .25s}.avatar-dot.active{background:var(--neon);transform:scale(1.3)}.team-body{padding:24px 24px 26px}.team-body .tag{letter-spacing:1px;text-transform:uppercase;color:var(--neon);margin-bottom:8px;font-size:12.5px;font-weight:700;display:block}.team-body h3{margin-bottom:8px;font-size:30px}.team-body p{color:#f3e9dcbf;margin-bottom:18px;font-size:14.5px}.mini-gallery{gap:8px;margin-bottom:18px;display:flex}.mini-thumb{cursor:pointer;opacity:.68;background:linear-gradient(160deg,#86546f,#3d2438);border:2px solid #0000;border-radius:10px;flex:1;height:64px;padding:0;transition:border-color .2s,transform .15s,opacity .2s;overflow:hidden}.mini-thumb img{object-fit:cover;width:100%;height:100%;display:block}.mini-thumb:hover{opacity:1;transform:translateY(-2px)}.mini-thumb.active{border-color:var(--neon);opacity:1}.team-card .btn{justify-content:center;width:100%;border-color:var(--neon)!important;color:var(--neon)!important;background:0 0!important}.team-card .btn:hover{background:var(--neon)!important;color:var(--plum-deep)!important}.booking{background:var(--beige)}.booking-panel{background:var(--beige-card);border-radius:var(--radius-lg);border:1px solid #3d243814;padding:44px}.steps{flex-wrap:wrap;gap:10px;margin-bottom:34px;display:flex}.step-pill{border-radius:var(--radius-sm);min-width:140px;color:var(--ink-soft);cursor:pointer;background:#3d24380d;border:1.5px solid #0000;flex:1;align-items:center;gap:10px;padding:14px 16px;font-size:13.5px;font-weight:700;transition:all .2s;display:flex}.step-pill .num{background:var(--plum);width:22px;height:22px;color:var(--beige);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.step-pill.active{background:var(--plum);color:var(--beige);border-color:var(--plum)}.step-pill.active .num{background:var(--neon);color:var(--plum-deep)}.option-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:28px;display:grid}.option-card{border-radius:var(--radius-sm);background:var(--beige);cursor:pointer;color:var(--plum);border:1.5px solid #3d24381f;padding:16px 18px;font-size:14.5px;font-weight:700;transition:all .2s}.option-card:hover{border-color:var(--neon)}.option-card.selected{border-color:var(--neon);background:#ff2e9314}.option-card small{color:var(--ink-soft);margin-top:4px;font-size:12.5px;font-weight:500;display:block}.booking-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.booksy-badge{color:var(--ink-soft);opacity:.75;align-items:center;gap:8px;font-size:12px;display:flex}.booksy-badge img{width:auto;height:16px}.booking-hint{color:var(--ink-soft);font-size:13.5px}.reviews{background:var(--beige)}.review-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.review-card{background:var(--beige-card);border-radius:var(--radius-md);border:none;padding:32px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;box-shadow:0 14px 34px #3d243817}.review-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px #3d243821}.stars{color:var(--neon-dim);letter-spacing:2px;margin-bottom:12px;font-size:14px}.review-card p.quote{color:var(--ink);margin-bottom:16px;font-size:15px}.review-author{color:var(--ink-soft);font-size:13.5px;font-weight:700}.review-author span{color:var(--neon-dim)}.location{background:var(--plum);color:var(--beige)}.loc-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:40px;display:grid}@media (max-width:800px){.loc-grid{grid-template-columns:1fr}}.loc-map{border-radius:var(--radius-lg);border:1px solid #f3e9dc1f;height:320px;overflow:hidden}.loc-map iframe{filter:grayscale(.15)contrast(1.05);border:0;width:100%;height:100%;display:block}.loc-pin{width:40px;height:40px;color:var(--neon)}.loc-info h3{margin-bottom:18px;font-size:24px}.loc-row{gap:14px;margin-bottom:16px;font-size:15px;display:flex}.loc-row .icon{width:20px;height:20px;color:var(--neon);flex-shrink:0;margin-top:2px}.loc-row div{color:#f3e9dcd9}.loc-row strong{color:var(--beige);margin-bottom:2px;display:block}footer{background:var(--plum-deep);color:#f3e9dc99;padding:34px 0}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}footer p{font-size:12.5px}.concept-note{color:#f3e9dc73;max-width:480px;font-size:12px}html{scroll-behavior:smooth}.team-card{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;transition:transform .3s;overflow:hidden}.team-card:hover{transform:translateY(-4px)}.mini-thumb{cursor:pointer;border:2px solid #0000;transition:all .2s}.mini-thumb.active{border-color:var(--neon-dim)}.nav-container{justify-content:space-between;align-items:center;display:flex;position:relative}.hamburger{cursor:pointer;z-index:999;background:0 0;border:none;flex-direction:column;gap:6px;display:none}.hamburger span{background-color:var(--beige,#fff);width:30px;height:2px;transition:all .3s ease-in-out}.mobile-only{display:none}@media (max-width:768px){.hamburger{display:flex}.desktop-only{display:none}.mobile-only{margin-top:10px;display:block}.nav-links{background-color:var(--plum,#2a2a2a);z-index:998;opacity:0;visibility:hidden;flex-direction:column;padding:30px 20px;transition:all .3s ease-in-out;display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-15px);box-shadow:0 10px 20px #0000004d}.nav-links.active{opacity:1;visibility:visible;transform:translateY(0)}.nav-links li{text-align:center;width:100%;margin:15px 0}.nav-links li a{color:var(--beige,#fff);font-size:18px;font-weight:500}.hamburger.open span:first-child{transform:translateY(8px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}}.footer-container{text-align:center;flex-direction:column;align-items:center;gap:24px;padding:40px 0;display:flex}.footer-brand .logo{margin-bottom:4px;font-size:20px}.footer-socials{gap:16px;display:flex}.social-link{color:var(--beige,#fff);opacity:.7;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:inline-flex}.social-link .icon{width:20px;height:20px}.social-link:hover{opacity:1;color:var(--neon-dim,#f05);border-color:var(--neon-dim,#f05);transform:translateY(-2px)}.concept-note{opacity:.5;max-width:600px;font-size:12px;line-height:1.5}@media (min-width:768px){.footer-container{text-align:left;flex-flow:wrap;justify-content:space-between}.concept-note{text-align:center;width:100%;margin-top:16px}}
