:root{--bg:#f8efe7;--bg-soft:#fff9f5;--surface:#fff8f4c7;--surface-strong:#fffbf9f5;--stroke:#6a315424;--text:#43313f;--text-strong:#2e1f2d;--muted:#755b6c;--accent:#b93d84;--accent-deep:#7f2e63;--accent-soft:#f6d4df;--gold:#e3bf74;--shadow:0 24px 80px #58224021;--radius-xl:34px;--radius-lg:24px;--radius-md:18px;--content-width:1180px;--serif:"Playfair Display", "Georgia", serif;--sans:"Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;color:var(--text);font:17px/1.65 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#f1cd7173,#0000 28%),radial-gradient(circle at 85% 18%,#d05e9c47,#0000 24%),linear-gradient(#f8efe7 0%,#f8f1eb 42%,#fcf8f4 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{min-width:320px;margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.8;background:linear-gradient(135deg,#ffffff6b,#0000 40%),radial-gradient(circle,#ffffff2e,#0000 55%);position:fixed;inset:0}a{color:inherit}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeUp}section{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(30px)}section.visible{opacity:1;transform:translateY(0)}.button:active,.service-card:active,.panel.mobile-expandable:active{transform:scale(.98)}#app{width:100%}.page-shell{width:min(calc(100% - 32px), var(--content-width));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow);background:#fffaf785;border:1px solid #ffffff73;border-radius:40px;margin:20px auto;padding:16px}body.has-cookie-banner .page-shell{margin-top:0}.site-header,.site-footer,.hero,.intro-grid,.services-section,.journey-section,.booking-section{z-index:1;position:relative}.site-header{z-index:100;-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #fff6;border-radius:24px;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 16px 24px;padding:16px 28px;display:flex;position:sticky;top:12px;box-shadow:0 4px 24px #7b2e600f}.site-footer{justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px;display:flex}.brand{align-items:flex-start;gap:18px;text-decoration:none;display:inline-flex}.brand-mark{object-fit:contain;filter:drop-shadow(0 8px 18px #6e146f1f);width:56px;height:112px}.brand-name,.brand-role,.eyebrow,.section-label,.quick-facts dt,.info-row span,.site-nav a,.footer-links a{letter-spacing:.06em;text-transform:uppercase}.brand-name{color:var(--text-strong);padding-top:10px;font-size:.98rem;font-weight:700;display:block}.brand-role{color:var(--muted);margin-top:2px;font-size:.82rem;display:block}.site-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:24px;margin-top:7px;display:inline-flex}.menu-toggle{width:52px;height:52px;color:var(--text-strong);cursor:pointer;z-index:12;background:#ffffff9e;border:1px solid #7b2e601f;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:none}.menu-toggle span{background:currentColor;border-radius:999px;width:18px;height:1.5px;transition:transform .18s,opacity .18s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.site-nav a,.footer-links a{color:var(--muted);font-size:.84rem;font-weight:600;text-decoration:none}.site-nav a{padding-bottom:6px;position:relative}.site-nav a:after{content:"";transform-origin:0;background:#7f2e6347;width:100%;height:1px;transition:transform .18s;position:absolute;bottom:0;left:0;transform:scaleX(.35)}.site-nav a:hover:after,.site-nav a.is-active:after{transform:scaleX(1)}.site-nav a.is-active{color:var(--accent-deep)}.hero,.intro-grid,.journey-section,.booking-layout{gap:24px;display:grid}.hero{grid-template-columns:minmax(0,1.35fr) minmax(320px,.9fr);align-items:center;padding:42px 22px 34px}.eyebrow,.section-label{color:var(--accent-deep);margin:0 0 12px;font-size:.82rem;font-weight:600}h1,h2,h3{color:var(--text-strong);font-family:var(--serif);margin:0;font-weight:500;line-height:1.05}h1{max-width:12ch;font-size:clamp(2.9rem,4.8vw,4.9rem);line-height:.98}h2{font-size:clamp(2rem,2.7vw,2.8rem);line-height:1.08}h3{font-size:1.34rem;line-height:1.16}p{margin:0}.hero-copy,.hero-card,.panel,.service-card,.booking-form,.booking-panel{border:1px solid var(--stroke);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px #fff6}.hero-copy{border-radius:var(--radius-xl);padding:34px}.hero-text,.section-heading p,.panel p,.service-card p,.booking-panel p,.slot-summary,.summary-list span{color:var(--muted)}.hero-text{max-width:58ch;margin-top:18px;font-size:1.08rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 22px;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.button svg{width:18px;height:18px}.button:hover{transform:translateY(-1px)}@keyframes ctaPulse{0%,to{box-shadow:0 14px 28px #93316940}50%{box-shadow:0 14px 40px #9331697a,0 0 0 8px #b93d841a}}.button-primary{color:#fff9fb;background:linear-gradient(135deg, var(--accent), var(--accent-deep));border:0;box-shadow:0 14px 28px #93316940}.hero-actions .button-primary{animation:2.8s ease-in-out infinite ctaPulse}.hero-actions .button-primary:hover{animation:none;box-shadow:0 18px 36px #93316961}.button-secondary{color:var(--text-strong);background:#ffffff8a;border:1px solid #7b2e601f}.hero-card{border-radius:var(--radius-xl);padding:28px;overflow:hidden}.hero-card:before{content:"";background:radial-gradient(circle,#b93d842e,#0000 66%);border-radius:50%;width:280px;height:280px;position:absolute;inset:auto -10% -30% auto}.hero-card-top{color:var(--muted);background:#ffffff94;border-radius:999px;align-items:center;gap:10px;padding:8px 14px;font-size:.92rem;display:inline-flex}.status-dot{background:linear-gradient(#8dcd8d,#4ea44e);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 6px #64b1641f}.hero-card-bio{color:var(--text-strong);text-align:center;margin-top:16px;font-size:.95rem;line-height:1.4}.portrait-wrap{place-items:center;min-height:270px;margin:28px 0;display:grid;position:relative}.portrait-ring,.portrait-core{border-radius:50%}.portrait-ring{filter:blur(1px);background:linear-gradient(#e3bf7457,#b93d8424),#fff6;width:270px;height:270px;position:absolute}.portrait-core{background:linear-gradient(#fffcfcf5,#fceee5eb);place-items:center;width:196px;height:196px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #7b2e601a,0 24px 50px #6e2d5624}.portrait-photo-shell{overflow:hidden}.portrait-photo{object-fit:cover;object-position:center 28%;width:100%;height:100%}.quick-facts{gap:16px;margin:0;display:grid}.quick-facts div{border-top:1px solid #7b2e601f;justify-content:space-between;align-items:baseline;gap:14px;padding-top:16px;display:flex}.quick-facts .expandable-content-wrapper{display:block}.quick-facts .expandable-content{padding-top:0}.quick-facts dt{color:var(--muted);font-size:.78rem}.quick-facts dd{color:var(--text-strong);overflow-wrap:break-word;word-break:break-word;text-align:right;min-width:0;margin:0;font-size:1rem}.quick-facts .expandable-content-wrapper{min-width:0}.quick-facts .expandable-content span{overflow-wrap:break-word;word-break:break-word;display:block}.intro-grid,.journey-section{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);margin-top:8px;padding:0 22px}.panel{border-radius:var(--radius-lg);padding:30px}.panel-large{min-height:280px}.panel-accent{background:linear-gradient(145deg, #fff1f4e6, #f6d4dfc7), var(--surface)}.bullet-list{color:var(--muted);margin:0;padding-left:20px}.bullet-list li+li{margin-top:12px}.services-section,.booking-section,.studio-section,.reviews-section{padding:56px 22px 0}.section-heading{gap:10px;max-width:760px;margin-bottom:28px;display:grid}.section-heading p,.panel p,.service-card p,.booking-panel p,.summary-list span,.slot-summary,.booking-form label,.site-footer p{font-size:1rem}.section-heading.narrow{max-width:640px}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.service-card{border-radius:var(--radius-lg);gap:16px;padding:24px;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid;position:relative}@media (hover:hover){.service-card:hover{border-color:#b93d8459;transform:translateY(-4px);box-shadow:0 20px 44px #93316924}}.service-card-hit{cursor:pointer;border-radius:inherit;background:0 0;border:0;position:absolute;inset:0}.service-card-hit:focus-visible{outline-offset:3px;outline:2px solid #b93d8457}.service-card>:not(.service-card-hit){z-index:1;position:relative}.service-icon{width:42px;height:42px;color:var(--accent-deep);background:linear-gradient(#f6d4dfe6,#ffffffbf);border-radius:14px;place-items:center;font-size:1.5rem;display:inline-grid}.service-card span{color:var(--text-strong);font-size:1rem}.price-tag{font-family:var(--serif);color:var(--accent-deep);font-size:1.5rem;font-weight:500}.info-stack{gap:14px;display:grid}.info-row{border-bottom:1px solid var(--stroke);align-items:flex-start;gap:12px;min-width:0;padding-bottom:14px;display:flex}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row-icon{background:linear-gradient(135deg,#f6d4dfe6,#ffffffbf);border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;display:flex}.info-row-icon svg{width:14px;height:14px;color:var(--accent-deep)}.info-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.info-row span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.75rem}.info-row strong{color:var(--text-strong);overflow-wrap:break-word;word-break:break-word;font-size:.95rem;line-height:1.45}.booking-layout{grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);align-items:start}.studio-grid,.reviews-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:24px;display:grid}.reviews-layout-full{grid-template-columns:minmax(260px,.48fr) minmax(0,1.52fr)}.map-card{border:1px solid var(--stroke);border-radius:var(--radius-lg);background:var(--surface);min-height:420px;overflow:hidden;box-shadow:inset 0 1px #fff6}.map-card iframe{filter:saturate(.88)contrast(1.02);border:0;width:100%;height:100%;min-height:420px}.studio-panel{align-content:start;gap:18px;display:grid}.studio-actions{flex-wrap:wrap;gap:14px;display:flex}.reviews-summary-content{flex-direction:column;gap:6px;display:flex}.reviews-summary-content strong{font-family:var(--serif);color:var(--text-strong);font-size:2.4rem;font-weight:500;line-height:1;display:block}.reviews-stars-row{align-items:center;gap:3px;display:flex}.reviews-stars-row .star{color:#f5a623;filter:drop-shadow(0 1px 2px #c882004d);font-size:1.3rem;line-height:1}.reviews-count{color:var(--muted);margin-top:2px;font-size:.82rem}.google-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:.78rem;font-weight:600;display:inline-flex}.google-badge svg{flex:none;width:18px;height:18px}.reviews-summary{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.reviews-summary .button{align-self:flex-start;gap:8px;width:auto}.reviews-summary .button svg{flex:0 0 18px;width:18px;height:18px}.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.reviews-carousel .review-card.carousel-slide{border:1px solid var(--stroke);border-radius:var(--radius-lg);background:#fff;padding:24px;box-shadow:0 2px 4px #00000005,0 6px 12px #93316908,0 12px 24px #9331690a}.review-card{border:1px solid var(--stroke);border-radius:var(--radius-lg);background:var(--surface);gap:12px;padding:24px;display:grid;box-shadow:inset 0 1px #fff6}.panel{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:38px 42px;box-shadow:0 2px 4px #00000005,0 8px 16px #9331690a,0 16px 32px #9331690a}.review-card-placeholder{grid-column:1/-1}.review-meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.review-meta strong{color:var(--text-strong);font-size:1rem}.review-meta span{color:var(--muted);font-size:.88rem}.review-source{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.82rem}.icon-links{gap:12px}.contact-link,.footer-link-rich{color:var(--text-strong);align-items:center;gap:10px;min-width:0;font-size:clamp(.78rem,2.5vw,1rem);text-decoration:none;display:inline-flex}.contact-link span:last-child,.footer-link-rich span:last-child{overflow-wrap:anywhere;min-width:0}.contact-icon{width:36px;height:36px;color:var(--accent-deep);background:linear-gradient(#f6d4dfb8,#ffffffe6);border-radius:999px;flex:none;place-items:center;display:inline-grid}.contact-icon svg{width:18px;height:18px}.footer-links-rich{gap:14px}.footer-link-rich{background:#ffffff8a;border-radius:999px;padding:8px 12px}.footer-main{border-radius:var(--radius-lg);background:linear-gradient(135deg,#ede0f5,#e6daee);border:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;margin-bottom:20px;padding:40px 36px;display:flex}.footer-brand{flex:auto;align-items:center;gap:20px;display:flex}.footer-logo{flex:none;width:80px;height:auto}.footer-name{font-family:var(--serif);color:#5c205e;margin-bottom:2px;font-size:1.6rem;line-height:1.15;display:block}.footer-role{font-family:var(--serif);color:#875b8c;font-size:1.1rem;font-style:italic;display:block}.footer-contacts{flex-direction:column;flex:none;gap:14px;display:flex}.footer-contact-link{color:#5c205e;align-items:center;gap:12px;min-width:0;font-size:clamp(.78rem,2.5vw,1rem);text-decoration:none;transition:opacity .2s;display:flex}.footer-contact-link:hover{opacity:.75}.footer-contact-icon{background:#ffffff80;border:1.5px solid #5c205e59;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.footer-contact-icon svg{width:16px;height:16px}.footer-contact-text{overflow-wrap:anywhere;min-width:0}.footer-legal{color:#875b8c;border-top:1px solid #5c205e2e;flex-wrap:wrap;align-items:center;gap:8px 14px;width:100%;margin-top:8px;padding-top:18px;font-size:.8rem;display:flex}.footer-legal a{color:#5c205e;text-underline-offset:2px;text-decoration:underline;transition:opacity .2s}.footer-legal a:hover{opacity:.7}.footer-legal-sep{opacity:.45}.review-stars{letter-spacing:.15em;color:var(--accent)}.booking-form,.booking-panel{border-radius:var(--radius-lg);padding:28px}.booking-form{gap:16px;display:grid}.floating-label-group{flex-direction:column;display:flex;position:relative}.floating-label-group input,.floating-label-group select,.floating-label-group textarea{width:100%;color:var(--text-strong);background:#ffffffd9;border:1px solid #7b2e6029;border-radius:16px;padding:24px 16px 8px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #00000003}.floating-label-group textarea{resize:vertical;min-height:120px}.floating-label-group label{color:var(--muted);pointer-events:none;transform-origin:0 0;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:18px;left:16px}.floating-label-group input:focus~label,.floating-label-group input:not(:placeholder-shown)~label,.floating-label-group textarea:focus~label,.floating-label-group textarea:not(:placeholder-shown)~label,.floating-label-group.is-select select:focus~label,.floating-label-group.is-select select:valid~label,.floating-label-group.is-date input:focus~label,.floating-label-group.is-date input:valid~label{color:var(--accent);font-size:.72rem;font-weight:600;top:8px}.floating-label-group input:focus,.floating-label-group select:focus,.floating-label-group textarea:focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 4px #b93d8426,inset 0 2px 4px #00000003}.time-label{color:var(--text-strong);gap:10px;font-weight:600;display:grid}.button-submit{cursor:pointer;width:100%}.form-feedback{min-height:1.6em;color:var(--accent-deep);font-size:.95rem}.booking-panel{gap:20px;display:grid}.booking-panel-refined{align-content:start}.booking-panel-block{gap:10px;display:grid}.booking-panel-block a{color:var(--text-strong);text-decoration:none}.booking-panel-block.subtle{background:#ffffff94;border-radius:18px;padding:18px}.summary-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.summary-list li{border-bottom:1px solid #7b2e601f;gap:4px;padding-bottom:14px;display:grid}.site-footer{border-top:1px solid #7b2e601f;margin-top:40px;padding-top:32px}.site-footer p{color:var(--muted)}.footer-links{flex-wrap:wrap;gap:18px;display:flex}@media (width<=1080px){.hero,.intro-grid,.journey-section,.booking-layout,.services-grid,.studio-grid,.reviews-layout{grid-template-columns:1fr}h1{max-width:100%}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-grid{grid-template-columns:1fr 1fr}}@media (width<=760px){:root{font-size:16px}.page-shell{width:min(calc(100% - 18px), var(--content-width));border-radius:24px;margin:8px auto;padding:8px}.site-header,.site-footer,.hero,.intro-grid,.services-section,.studio-section,.reviews-section,.journey-section,.booking-section{padding-left:16px;padding-right:16px}.site-header,.site-footer{flex-direction:column;align-items:flex-start;padding:10px 10px 8px}.site-footer{text-align:center;align-items:center;gap:20px}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffaf7bd;border-radius:18px;position:sticky;top:8px}.menu-toggle{border-radius:14px;width:44px;height:44px;display:inline-flex;position:absolute;top:10px;right:10px}.site-nav{background:#ffffffd6;border:1px solid #7b2e601f;border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;width:100%;margin-top:6px;padding:10px;display:none;box-shadow:inset 0 1px #fff6,0 12px 28px #58224014}.site-nav.is-open{display:flex}.site-nav a,.footer-links a{font-size:.78rem}.site-nav a{background:#fff9;border-radius:12px;align-items:center;min-height:48px;padding:10px 12px;display:flex}.site-nav a:after{display:none}.site-nav a.is-active{color:var(--accent-deep);background:#b93d841a;font-weight:700}.brand-mark{width:34px;height:70px}.brand-name{padding-top:0;font-size:.9rem}.brand-role{font-size:.72rem}.hero{gap:18px;padding-top:18px;padding-bottom:18px}h1{font-size:clamp(2.35rem,12vw,3.4rem);line-height:.98}h2{font-size:clamp(1.7rem,8vw,2.2rem)}h3{font-size:1.18rem}.eyebrow,.section-label{margin-bottom:10px;font-size:.74rem}.hero-text,.section-heading p,.panel p,.service-card p,.booking-panel p,.booking-form label,.site-footer p{font-size:.95rem}.hero-copy,.hero-card,.panel,.booking-form,.booking-panel,.service-card{border-radius:20px;padding:18px;box-shadow:0 4px 12px #7b2e600a}.hero-actions,.studio-actions{flex-direction:column;align-items:stretch}.floating-label-group{flex-direction:column;gap:6px;display:flex}.floating-label-group label{pointer-events:auto;position:static;color:var(--text-strong)!important;font-size:.9rem!important;transform:none!important}.floating-label-group input,.floating-label-group select,.floating-label-group textarea{padding:14px 16px}.button{width:100%;min-height:50px;padding:0 18px}.reviews-summary .button,.studio-actions .button,.booking-panel .button,.service-book-btn{width:auto}.portrait-wrap{min-height:218px;margin:20px 0}.portrait-ring{width:220px;height:220px}.portrait-core{width:164px;height:164px}.quick-facts{gap:12px}.services-grid{grid-template-columns:1fr;gap:14px}.quick-facts div{flex-direction:column;align-items:stretch;gap:6px}.quick-facts .expandable-content-wrapper{display:grid;text-align:left!important}.booking-layout,.studio-grid,.intro-grid,.journey-section{grid-template-columns:1fr;gap:16px}.booking-form{gap:14px}.booking-form input,.booking-form select,.booking-form textarea{border-radius:14px;padding:13px 14px}.review-card{padding:18px}.review-meta{flex-direction:column;align-items:flex-start;gap:4px}.map-card,.map-card iframe{min-height:300px}.footer-links-rich{gap:10px;width:100%}.footer-link-rich{justify-content:center}.service-icon{display:none}.booking-panel-refined{border-top:1px solid var(--stroke);padding-top:16px}.services-section,.studio-section,.reviews-section,.booking-section{padding-top:36px}.section-heading{margin-bottom:16px}.hero{grid-template-columns:1fr}.hero-card{flex-direction:row;align-items:center;gap:16px;padding:16px 18px;display:flex}.hero-card .hero-card-top{display:none}.hero-card .portrait-wrap{min-height:unset;flex:none;margin:0}.hero-card .portrait-ring{width:80px;height:80px}.hero-card .portrait-core{width:70px;height:70px}.hero-card-bio{text-align:left;flex:1;margin-top:0;font-size:.85rem}.hero-copy{padding:24px 20px}.footer-main{text-align:center;flex-direction:column;align-items:center;gap:24px;padding:28px 20px}.footer-brand{text-align:center;flex-direction:column;align-items:center;gap:12px}.footer-contacts{align-items:flex-start;width:100%}.footer-contact-link{font-size:.95rem}}@media (width<=420px){.page-shell{border-radius:20px;width:calc(100% - 10px)}.site-header,.site-footer,.hero,.intro-grid,.services-section,.journey-section,.booking-section,.studio-section,.reviews-section{padding-left:12px;padding-right:12px}.site-nav{padding:10px}.site-nav a{font-size:.74rem}h1{font-size:clamp(2rem,11vw,2.8rem)}.hero-copy,.hero-card,.panel,.booking-form,.booking-panel,.service-card,.review-card{padding:16px}.contact-link,.footer-link-rich{font-size:.92rem}.contact-icon{width:32px;height:32px}.contact-icon svg,.button svg{width:16px;height:16px}}.time-slots-container{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin-top:8px;display:grid}.time-slot-btn{border:1px solid var(--stroke);border-radius:var(--radius-md);min-height:48px;color:var(--text);cursor:pointer;text-align:center;background:#fff;padding:0;font-size:.92rem;font-weight:500;transition:all .2s}.time-slot-btn:hover:not(:disabled){background:var(--bg-soft);border-color:var(--accent)}.time-slot-btn.is-selected{background:var(--accent);color:#fff;border-color:var(--accent)}.time-slot-btn:disabled{color:#a0a0a0;cursor:not-allowed;background:#f0f0f0;border-color:#e0e0e0;text-decoration:line-through}.booking-form-group{flex-direction:column;gap:8px;display:flex}.segmented-control{border:1px solid var(--stroke);background:#fff9;border-radius:14px;gap:6px;padding:6px;display:flex}.segmented-control label{text-align:center;cursor:pointer;text-transform:none;letter-spacing:normal;color:var(--text);border:1px solid #0000;border-radius:10px;flex:1;margin:0;padding:12px 6px;font-size:.9rem;font-weight:500;transition:all .2s}.segmented-control input[type=radio]{display:none}.segmented-control input[type=radio]:checked+label{border-color:var(--accent-soft);color:var(--accent-deep);background:#fff;font-weight:600;box-shadow:0 4px 12px #b93d8414}.carousel-container{display:block;position:relative}.carousel-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;box-sizing:border-box;gap:20px;width:100%;padding:10px 16px;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{scroll-snap-align:start;flex-direction:column;flex:0 0 85%;max-width:400px;height:auto;display:flex}.projects-section .carousel-slide{border-radius:var(--radius-lg);border:1px solid var(--stroke);background:var(--surface);padding:0;overflow:hidden;box-shadow:0 2px 4px #00000005,0 6px 12px #93316908,0 12px 24px #9331690a}.carousel-slide img{object-fit:cover;border-bottom:1px solid var(--stroke);width:100%;height:250px}.slide-content{flex-grow:1;justify-content:center;align-items:center;padding:20px;display:flex}.slide-content p{color:var(--text-strong);margin:0;font-size:1.05rem;line-height:1.5}.carousel-btn{border:1px solid var(--stroke);color:var(--accent-deep);cursor:pointer;z-index:2;background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;transition:transform .2s,background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #0000000d}.carousel-btn:hover{background:#fcfcfc;transform:translateY(-50%)scale(1.05)}.carousel-btn.prev{left:0}.carousel-btn.next{right:0}@media (width<=760px){.carousel-btn{display:none}.carousel-track{gap:16px;margin:0 -20px;padding:8px 20px;scroll-padding-left:20px}.carousel-slide{flex:0 0 calc(100% - 40px);max-width:none;height:auto}.reviews-carousel .review-card.carousel-slide{flex:0 0 calc(100% - 40px);max-width:none;padding:16px}.reviews-layout{flex-direction:column;gap:16px;display:flex}.reviews-summary{width:100%}.reviews-carousel{width:100%;min-width:0}.service-card-hit{display:none}.service-book-btn{color:var(--accent-deep);background:#b93d8414;border:none;display:inline-flex!important}}.expandable-content-wrapper{grid-template-rows:1fr;transition:grid-template-rows .3s;display:grid}.expandable-content{min-height:0;padding-top:10px;overflow:hidden}@media (width<=760px){.mobile-expandable .expand-icon{display:block!important}.mobile-expandable h3.expandable-header{cursor:pointer;padding-bottom:5px;margin-bottom:0!important}.mobile-expandable:not(.is-open) .expandable-content-wrapper{grid-template-rows:0fr}.mobile-expandable.is-open .expand-icon{transform:rotate(180deg)}.mobile-expandable.is-open h3.expandable-header{margin-bottom:5px!important}}.cookie-banner{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f0e6e9;background:#2e1f2df5;border-top:none;border-bottom:1px solid #b93d844d;justify-content:space-between;align-items:center;gap:20px;padding:18px 32px;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0 0 auto;transform:translateY(0);box-shadow:0 8px 40px #00000040}.cookie-banner.is-hidden{transform:translateY(-110%)}.cookie-banner p{color:#e8d8e3;flex:1;margin:0;font-size:.88rem;line-height:1.55}.cookie-banner a{color:#e89ccf;text-underline-offset:2px;text-decoration:underline}.cookie-banner-actions{flex-shrink:0;gap:10px;display:flex}.cookie-accept-btn{background:var(--accent,#b93d84);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:10px 22px;font-size:.88rem;font-weight:600;transition:background .2s,transform .15s}.cookie-accept-btn:hover{background:#9e2f6f;transform:translateY(-1px)}@media (width<=600px){.cookie-banner{flex-direction:column;align-items:flex-start;gap:14px;padding:20px}.cookie-banner-actions{width:100%}.cookie-accept-btn{text-align:center;flex:1}}.privacy-consent-label{cursor:pointer;color:var(--text);background:#b93d840d;border:1px solid #b93d8433;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 18px;font-size:.88rem;line-height:1.55;transition:border-color .2s,background .2s;display:flex}.privacy-consent-label:hover{border-color:var(--accent);background:#b93d8414}.privacy-consent-label input[type=checkbox]{appearance:none;cursor:pointer;background:#fff;border:2px solid #b93d8466;border-radius:5px;width:20px;min-width:20px;height:20px;margin-top:1px;transition:border-color .2s,background .2s;position:relative}.privacy-consent-label input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.privacy-consent-label input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:8px;height:12px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.privacy-consent-label a{color:var(--accent);text-underline-offset:2px}.privacy-consent-label .required-star{color:var(--accent);font-weight:700}.booking-form-group{gap:10px;display:grid}.segmented-control{background:#fff9;border:1px solid #7b2e6024;border-radius:999px;gap:4px;padding:4px;display:flex}.segmented-control input[type=radio]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.segmented-control label{text-align:center;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;gap:unset;border-radius:999px;flex:1;padding:9px 12px;font-size:.85rem;font-weight:500;transition:background .2s,color .2s,box-shadow .2s;display:block}.segmented-control input[type=radio]:checked+label{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;font-weight:600;box-shadow:0 4px 12px #93316947}.segmented-control label:hover{color:var(--accent-deep);background:#b93d8412}.segmented-control input[type=radio]:checked+label:hover{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff}.carousel-dots{justify-content:center;align-items:center;gap:7px;margin-top:14px;display:flex}.carousel-dot{cursor:pointer;background:#b93d8438;border:none;border-radius:999px;flex:none;width:7px;height:7px;padding:0;transition:background .25s,width .25s}.carousel-dot.is-active{background:var(--accent);width:22px}.back-to-top{z-index:500;background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:opacity .3s,transform .3s;display:flex;position:fixed;bottom:28px;right:24px;transform:translateY(12px)scale(.88);box-shadow:0 8px 24px #93316959}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.back-to-top:hover{transform:translateY(-2px)scale(1.06);box-shadow:0 12px 30px #93316973}.back-to-top svg{width:20px;height:20px}@media (width<=760px){.back-to-top{width:44px;height:44px;bottom:20px;right:16px}}.button-submit:disabled{opacity:.65;cursor:not-allowed;animation:none;transform:none}
