:root{--bg: #ececea;--paper: #f4f3f1;--card: #efeeec;--ink: #2a221d;--ink-soft: #61554a;--line: #ded8d1;--accent: #c0af9f;--radius-lg: 20px;--radius-md: 14px;--container: 1320px;--ease-premium: cubic-bezier(.22, .61, .36, 1);--reveal-distance: 10px;--reveal-duration: .48s}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:Manrope,sans-serif;line-height:1.5;overflow-x:hidden}img{display:block;max-width:100%;width:100%;height:auto;object-fit:cover}picture{display:block}.js img.media-smooth{opacity:0;transform:scale(1.002);transition:opacity .3s ease,transform .42s ease}.js img.media-smooth.is-loaded{opacity:1;transform:none}.js .reveal-item{opacity:0;transform:translate3d(0,var(--reveal-distance),0);transition:opacity var(--reveal-duration) var(--ease-premium),transform var(--reveal-duration) var(--ease-premium);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.js .reveal-item.is-visible{opacity:1;transform:none}a{color:inherit;text-decoration:none}.container{width:min(var(--container),92%);margin-inline:auto}.site-header{position:fixed;top:10px;left:0;right:0;z-index:80;padding:0;background:transparent;backdrop-filter:none;pointer-events:none;transition:transform .28s var(--ease-premium),opacity .24s ease}.site-header.is-hidden{transform:translate3d(0,-130%,0);opacity:.9}.nav-wrap{min-height:74px;display:flex;align-items:center;justify-content:space-between;position:relative;gap:1rem;padding:0 1rem;border-radius:14px;background:#221b16c7;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px #18120e38;backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%);pointer-events:auto;transition:background .22s ease,box-shadow .22s ease,border-color .22s ease}.site-header.is-scrolled .nav-wrap{background:#19130fe6;border-color:#ffffff29;box-shadow:0 12px 28px #0e0a0857}.route-home .site-header .nav-wrap{background:#1c161294;border:1px solid rgba(255,255,255,.11);box-shadow:0 10px 28px #100c094d;backdrop-filter:blur(14px) saturate(132%);-webkit-backdrop-filter:blur(14px) saturate(132%)}.with-header.route-inner main{padding-top:5.8rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.78rem 1.25rem;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;font-weight:600;font-size:.92rem}.btn-sm{padding:.58rem .9rem;font-size:.86rem}.btn-ghost{background:transparent;color:var(--ink);border-color:#b6ab9f}.btn-ghost:hover{background:#c0af9f38}.btn-danger{background:#9f332f;border-color:#9f332f;color:#fff}.btn-danger:hover{background:#8e2c29;border-color:#8e2c29}.home-shell{width:min(var(--container),98%);margin-inline:auto;padding:0 0 3rem}.hero-panel{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3 / 2;min-height:520px;background:#856e5d}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-position:center 28%}.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#0e0b098f,#0e0b092e 42%,#0e0b0900 70%),linear-gradient(180deg,#0f0d0b94,#0f0d0b5c 35%,#0f0d0bad)}.hero-content{position:relative;z-index:2;min-height:100%;height:100%;padding:1.2rem 1.35rem 2.8rem;display:flex;align-items:center;justify-content:center}.hero-brand{display:inline-flex;align-items:center;gap:.18rem;color:#fff;font-family:Cormorant Garamond,serif;font-size:1.55rem;font-weight:500;letter-spacing:.01em}.hero-brand-logo{width:40px;height:40px;object-fit:contain}.hero-brand-text{line-height:1}.hero-nav{display:flex;align-items:center;gap:1.1rem;color:#f5f2ef;font-size:.8rem}.hero-nav a{opacity:.9;transition:opacity .2s ease}.hero-nav a:hover,.hero-nav .is-active{opacity:1}.nav-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffff0d;cursor:pointer;gap:4px}.nav-toggle-bar{display:block;width:18px;height:2px;margin:0;border-radius:999px;background:#f5f2ef}.hero-pill{border:1px solid rgba(255,255,255,.9);border-radius:999px;padding:.45rem .8rem;opacity:1}.hero-pill.is-active-pill{background:#fff;color:var(--ink)}.hero-center{position:relative;display:flex;flex-direction:column;align-items:center;align-self:center;justify-self:center;text-align:center;gap:.95rem;width:min(920px,calc(100% - 2rem));max-width:920px;margin-inline:auto;padding:0;background:transparent;border:none;border-radius:0;backdrop-filter:none}.hero-center h1{margin:0;display:flex;flex-direction:column;align-items:center;gap:0;color:#fff;font-family:Helvetica Neue,Helvetica,Arial,Manrope,sans-serif;font-size:clamp(3.35rem,8.7vw,7.4rem);line-height:.84;font-weight:700;letter-spacing:-.02em;text-shadow:0 6px 16px rgba(8,6,5,.5);max-width:none;text-wrap:normal}.hero-title-line{display:block;white-space:nowrap}.hero-title-accent{display:block;margin-top:.02em;color:#d8c4b0;white-space:nowrap}.hero-center p{margin:0;color:#ffffffdb;max-width:36ch;font-size:.92rem;line-height:1.3;text-shadow:0 4px 12px rgba(8,6,5,.48)}.js .hero-center>*{opacity:0;transform:translate3d(0,10px,0);animation:hero-fade-up .58s var(--ease-premium) forwards}.js .hero-center p{animation-delay:90ms}.js .hero-center .hero-cta{animation-delay:.17s}@keyframes hero-fade-up{to{opacity:1;transform:none}}.hero-cta{display:inline-flex;align-items:center;justify-content:center;margin:.2rem auto 0;padding:.78rem 1.7rem;border:1px solid #d3c4b6;border-radius:999px;color:#1f1914;background:linear-gradient(135deg,#d8c9bb,#c0af9f);font-size:.93rem;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 24px #00000047;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.hero-cta:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 14px 28px #00000054}.services-strip{margin-top:.5rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}.service-tile{background:var(--card);border:1px solid #e6e0d9;border-radius:8px;padding:2rem 1.8rem 1.3rem;min-height:240px;display:flex;flex-direction:column;justify-content:space-between}.service-tile h2{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,2.8vw,2.8rem);font-weight:500;line-height:.96;letter-spacing:-.01em;max-width:12ch}.service-tile p{margin:.9rem 0 0;color:#5f5449;font-size:.86rem;max-width:26ch}.service-tile span{margin-top:1.2rem;font-size:1rem}.wide-feature{margin-top:.7rem;position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:430px}.wide-feature img{height:430px;object-position:center 40%;filter:brightness(.82)}.wide-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0c0b0a33,#0c0b0aa8)}.wide-feature-copy{position:absolute;left:50%;bottom:0;transform:translate(-50%);z-index:2;width:min(620px,86%);padding:1.2rem 1.4rem 1.35rem;background:#1b151057;text-align:center;color:#fff}.wide-feature-copy h2{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.3rem,4.5vw,3.9rem);font-weight:500;line-height:.92}.wide-feature-copy p{margin:.7rem auto 0;max-width:52ch;font-size:.84rem;color:#ffffffd9}.gallery-strip{margin-top:1rem;padding:1.35rem 1.15rem 1.45rem;border:1px solid #ddd3c8;border-radius:18px;background:radial-gradient(circle at 12% 0%,rgba(198,180,162,.24),transparent 42%),linear-gradient(180deg,#f7f5f2,#f1ede8)}.gallery-head{max-width:760px;margin:0 auto 1rem;text-align:center}.gallery-kicker{margin:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#7c6a58;font-weight:700}.gallery-head h2{margin:.24rem 0 .4rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:.9}.gallery-head p{margin:0 auto;max-width:52ch;color:var(--ink-soft);font-size:.92rem;line-height:1.5}.gallery-rail-wrap{position:relative}.gallery-rail-wrap:before,.gallery-rail-wrap:after{display:none}.gallery-scroll-hint{display:none;margin:0 0 .38rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#7a6a5b;font-weight:700}.gallery-rail{display:flex;gap:.62rem;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:.2rem;scroll-behavior:smooth;padding:.14rem .14rem .58rem;margin:0 -.1rem}.gallery-rail::-webkit-scrollbar{height:8px}.gallery-rail::-webkit-scrollbar-track{background:#98887838;border-radius:999px}.gallery-rail::-webkit-scrollbar-thumb{background:#4d3d2f8f;border-radius:999px}.gallery-card{position:relative;margin:0;flex:0 0 clamp(164px,19vw,248px);aspect-ratio:9 / 16;border-radius:14px;overflow:hidden;border:1px solid #d8cec3;background:#e6ded5;box-shadow:0 11px 25px #241c1621;scroll-snap-align:center;scroll-snap-stop:always;isolation:isolate}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:none}.gallery-card:after{content:"";position:absolute;inset:52% 0 0;background:linear-gradient(180deg,#0000,#0e0b0994);pointer-events:none}.gallery-card figcaption{position:absolute;left:.58rem;bottom:.5rem;z-index:1;margin:0;color:#fffffff0;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;line-height:1.15;text-shadow:0 3px 8px rgba(0,0,0,.34)}.gallery-card-feature{flex-basis:clamp(188px,23vw,296px);aspect-ratio:9 / 16}.gallery-card img.media-smooth{opacity:1!important;transform:none!important}.work-photo-1,.work-photo-2,.work-photo-3,.work-photo-4,.work-photo-5,.work-photo-6{object-position:center center}.price-panel{padding:5rem 0 3rem;text-align:center}.price-panel h2{margin:0 0 1.4rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,3.6vw,3.1rem);font-weight:600}.price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.price-tile{background:#f6f4f2;border:1px solid #e1dcd6;border-radius:10px;padding:1.25rem 1rem}.price-tile p{margin:0 0 .35rem;font-size:.88rem;color:var(--ink-soft)}.price-tile strong{font-family:Cormorant Garamond,serif;font-size:1.6rem;font-weight:600}.review-panel{padding:2.6rem 0 1.4rem}.review-panel h2{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,5.2vw,4.6rem);line-height:.93;font-weight:500;text-align:center;max-width:780px;margin-inline:auto}.review-carousel{margin-top:2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;align-items:stretch;contain:layout paint}.review-slot{transition:transform .46s cubic-bezier(.22,.61,.36,1),opacity .46s ease,background .46s ease,border-color .46s ease;will-change:transform,opacity}.review-slot-left,.review-slot-right{opacity:.62;transform:scale(.97)}.review-slot-center{opacity:1;transform:scale(1);background:#f8f7f5;border-color:#d9d2ca}.review-carousel.is-switching .review-slot-left{transform:translate(-8px) scale(.95);opacity:.4}.review-carousel.is-switching .review-slot-center{transform:translate(-6px) scale(.99);opacity:.84}.review-carousel.is-switching .review-slot-right{transform:translate(-10px) scale(.97);opacity:.68}.review-card{background:#f5f4f2;border:1px solid #e1ddd8;border-radius:var(--radius-md);padding:1.4rem 1.2rem;min-height:170px;display:grid;align-content:center;text-align:center}.review-text{margin:0 0 1rem;font-family:Cormorant Garamond,serif;font-size:1.28rem;line-height:1.06;text-wrap:balance;max-height:4.35em;overflow:hidden}.review-author{font-size:.84rem;color:var(--ink-soft)}.bottom-cta{padding:2.4rem 1rem 0;text-align:center}.bottom-cta h2{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(2.1rem,4.4vw,3.7rem);line-height:.95;font-weight:600}.bottom-cta p{margin:.8rem auto 1.1rem;max-width:56ch;color:var(--ink-soft);font-size:.9rem}.site-footer{margin-top:3.5rem;padding:1.2rem 0;border-top:1px solid var(--line)}.site-footer .reveal-item{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}.footer-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem}.footer-brand{display:grid;gap:.25rem}.footer-title{margin:0;font-size:.9rem;color:#3f342b;font-weight:600}.footer-credit{margin:0;font-size:.8rem;color:#6b5d50}.footer-credit a{color:#2f261f;font-weight:700;text-decoration:underline;text-underline-offset:.16em}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.footer-links a,.footer-cookie-btn{font-size:.84rem;color:#3f342b;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.footer-links a:hover,.footer-cookie-btn:hover{color:#1f1812;text-decoration:none}.footer-social-list{list-style:none;display:flex;align-items:center;justify-content:flex-end;gap:.45rem;padding:0;margin:0;justify-self:end}.footer-social-link{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:34px;padding:.35rem .72rem;border-radius:999px;border:1px solid #d6cdc3;background:#f7f4f1;font-size:.78rem;font-weight:600;color:#2f261f;transition:background .2s ease,border-color .2s ease}.footer-social-link:hover{background:#efe9e2;border-color:#c7b9aa}.footer-social-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:currentColor;flex:0 0 auto}.footer-social-icon svg{width:16px;height:16px;vector-effect:non-scaling-stroke}.footer-social-icon .icon-instagram{fill:none;stroke:currentColor;stroke-width:1.8}.footer-social-icon .icon-tiktok{fill:currentColor;stroke:none}.footer-bottom{margin-top:.78rem;padding-top:.72rem;border-top:1px solid #ddd4cb;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.footer-bottom-note{margin:0;font-size:.76rem;color:#7a6b5d;white-space:nowrap}@media(hover:hover)and (prefers-reduced-motion:no-preference){.service-tile,.price-tile,.card,.contact-card,.legal-card,.review-card,.admin-kpi-card,.admin-panel,.content-block{transition:transform .28s var(--ease-premium),border-color .28s ease,box-shadow .28s var(--ease-premium)}.service-tile:hover,.price-tile:hover,.card:hover,.contact-card:hover,.legal-card:hover,.review-card:hover,.admin-kpi-card:hover,.admin-panel:hover,.content-block:hover{transform:translateY(-2px);border-color:#d3c6b8;box-shadow:0 10px 20px #241b1517}.footer-social-link{transition:transform .22s var(--ease-premium),background .2s ease,border-color .2s ease}.footer-social-link:hover{transform:translateY(-1px)}.footer-links a,.footer-cookie-btn{position:relative;transition:color .22s ease}.footer-links a:after,.footer-cookie-btn:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.footer-links a:hover:after,.footer-cookie-btn:hover:after{transform:scaleX(1)}}.cookie-banner{position:fixed;left:50%;bottom:1rem;transform:translate(-50%);width:min(980px,calc(100% - 1.2rem));padding:.82rem .95rem calc(.82rem + env(safe-area-inset-bottom));border-radius:14px;border:1px solid rgba(229,219,207,.34);background:#1d1611f5;color:#f2ebe3;box-shadow:0 18px 30px #110c085c;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.9rem;z-index:120}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0;font-size:.82rem;line-height:1.35}.cookie-banner a{color:#fff;text-decoration:underline;text-underline-offset:.16em}.cookie-banner-actions{display:inline-flex;gap:.45rem}.cookie-banner .btn{min-height:38px}.cookie-banner .btn.btn-ghost{color:#f2ebe3;border-color:#ffffff5c}.cookie-banner .btn.btn-ghost:hover{background:#ffffff1f}@supports (content-visibility: auto){.review-carousel,.site-footer{content-visibility:auto;contain-intrinsic-size:1px 760px}}.legal-page{padding-top:1.4rem;padding-bottom:2.6rem}.legal-shell{width:min(1040px,100%);margin-inline:auto}.legal-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.legal-card{padding:1.35rem}.legal-card h2{margin:0 0 .55rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.55rem,2.8vw,2rem);font-weight:600;line-height:1}.legal-card p{margin:0;color:#594d41;font-size:.9rem}.legal-card a{color:#2f261f;font-weight:700;text-decoration:underline;text-underline-offset:.14em}.legal-card ul{margin:0;padding-left:1.1rem;color:#594d41;display:grid;gap:.42rem;font-size:.9rem}.legal-note{margin:1rem 0 0;font-size:.8rem;color:#6e6053}.section{padding:4rem 0}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:1.2rem}.content-block{background:#f6f4f2;border:1px solid #e1ddd8;border-radius:var(--radius-md);padding:2rem}.section-title{margin:0 0 1rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:.97;font-weight:600}.section-intro{margin:0 0 1.2rem;color:var(--ink-soft);max-width:64ch}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.card{background:#f6f4f2;border:1px solid #e1ddd8;border-radius:var(--radius-md);padding:1.3rem}.card h3{margin:0 0 .4rem;font-family:Cormorant Garamond,serif;font-size:1.7rem;font-weight:600}.card p{margin:0;color:var(--ink-soft);font-size:.9rem}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.8rem}.contact-shell{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(420px,1.05fr);gap:.9rem;align-items:start}.contact-side .section-title{margin-bottom:.6rem;max-width:16ch}.contact-side .section-intro{margin-bottom:1rem}.contact-card{background:#f6f4f2;border:1px solid #e1ddd8;border-radius:var(--radius-md);padding:1.1rem}.contact-card h3{margin:0 0 .2rem;font-family:Cormorant Garamond,serif;font-size:1.45rem;font-weight:600}.contact-card p{margin:0;font-size:.9rem;color:var(--ink-soft)}.contact-form-title{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.85rem,3vw,2.6rem);line-height:.95;font-weight:600}.contact-handle{font-size:.98rem;font-weight:600;color:#2f261f}.contact-social-list{list-style:none;margin:.88rem 0 0;padding:0;display:grid;gap:.52rem}.contact-social-link{display:inline-flex;align-items:center;gap:.58rem;padding:.56rem .68rem;border-radius:10px;border:1px solid #ded7ce;background:#f9f7f5;transition:background .2s ease,border-color .2s ease,transform .2s ease}.contact-social-link:hover{background:#f1ece6;border-color:#cdbfae;transform:translateY(-1px)}.contact-social-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:#2f261f;color:#fff;flex:0 0 auto}.contact-social-icon svg{width:14px;height:14px;vector-effect:non-scaling-stroke}.contact-social-icon .icon-instagram{fill:none;stroke:currentColor;stroke-width:1.8}.contact-social-icon .icon-tiktok{fill:currentColor;stroke:none}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}form{display:grid;gap:.8rem}label{font-size:.88rem;font-weight:700}input,select,textarea{width:100%;margin-top:.25rem;padding:.72rem .85rem;border:1px solid #d6cec6;border-radius:10px;background:#fff;color:var(--ink);font:inherit}textarea{min-height:130px;resize:vertical}.sr-only-field{position:absolute;opacity:0;pointer-events:none;height:0;width:0;overflow:hidden}.booking-card{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.booking-page{padding-top:1.2rem;padding-bottom:2.2rem}.booking-shell{width:min(900px,92%);margin-inline:auto}.booking-head{margin-bottom:1.35rem;text-align:left;padding-bottom:1rem;border-bottom:1px solid #d9d1c8}.booking-head-kicker{margin:0;font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:#7e6f61}.booking-head .section-title{margin-top:.26rem;font-size:clamp(2rem,4.2vw,3rem)}.booking-head .section-intro{margin:.65rem 0 0;max-width:62ch}.booking-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.15rem;padding-bottom:.55rem;border-bottom:1px solid #d9d1c8}.booking-step-pill{padding:.2rem 0 .62rem;border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#8a7b6b;font-size:.88rem;font-weight:600;text-align:left;overflow-wrap:anywhere;transition:color .2s ease,border-color .2s ease}.booking-step-pill.is-active{background:transparent;border-color:#2f261f;color:#2f261f}.booking-step-panel{display:none;min-width:0}.booking-step-panel.is-active{display:block;background:transparent;border:none;border-radius:0;padding:.28rem 0 0}.booking-actions{margin-top:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.booking-actions-single{justify-content:flex-end}.booking-confirmation p:last-of-type{margin-bottom:0}.service-choice-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #ded6cc}.service-choice{display:grid;gap:.28rem;text-align:left;padding:1.02rem .24rem;border:none;border-radius:0;border-bottom:1px solid #ded6cc;background:transparent;color:var(--ink);font:inherit;cursor:pointer;transition:background .2s ease,color .2s ease}.service-choice-main{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;min-width:0}.service-choice strong{font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,2.8vw,2rem);font-weight:600;line-height:.95;min-width:0;overflow-wrap:anywhere}.service-choice-main em{font-style:normal;font-size:1rem;font-weight:700;color:#2f261f;flex:0 0 auto;white-space:nowrap}.service-choice-meta{color:var(--ink-soft);font-size:.86rem}.service-choice:hover{background:#d7ccc02b}.service-choice.is-selected{background:#2f261f17}.btn[disabled],.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.1)}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.booking-field{display:grid;gap:.35rem}.booking-addons{margin-top:1.1rem;padding-top:.82rem;border-top:1px dashed #d6cdc2}.booking-addons-title{margin:0 0 .45rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#76685a;font-weight:700}.booking-addons ul{list-style:none;padding:0;margin:0;display:grid;gap:.32rem}.booking-addons li{display:flex;align-items:baseline;justify-content:space-between;gap:.85rem;font-size:.9rem;color:#5f5347}.booking-addons li strong{color:#2f261f}.booking-addons li span{min-width:0;overflow-wrap:anywhere}.booking-card .btn{min-height:46px;padding:.78rem 1.35rem;border-radius:999px;border:1px solid #2f261f;background:linear-gradient(135deg,#2f261f,#4a3c31);color:#fff;font-weight:700;letter-spacing:.02em;box-shadow:0 10px 18px #221a1529;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.booking-card .btn:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 13px 22px #221a1533}.booking-card .btn.btn-ghost{background:transparent;color:#2f261f;border-color:#7c6c5a;box-shadow:none}.booking-card .btn.btn-ghost:hover{background:#beb0a033}.booking-card .btn[disabled],.booking-card .btn:disabled{background:linear-gradient(135deg,#847868,#9a8f82);border-color:#8e8274;color:#ffffffe6;box-shadow:none;transform:none}.booking-card label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#6d5f51;font-weight:700}.booking-card input,.booking-card select{margin-top:.15rem;padding:.78rem .85rem;border:1px solid #d4cabc;border-radius:0;border-left:none;border-right:none;border-top:none;background:transparent;min-width:0}.slots-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.slots-placeholder{margin:.2rem 0;color:var(--ink-soft);font-size:.9rem}.slot-pill{background:transparent;border:1px solid #cabfaf;border-radius:999px;padding:.58rem .72rem;font:inherit;color:var(--ink);cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.slot-pill:hover{border-color:#b8a692}.slot-pill.is-selected{background:#2f261f;color:#fff;border-color:#2f261f}.booking-form{margin-top:1rem}.form-legal-note{margin:.4rem 0 0;font-size:.74rem;line-height:1.35;color:#6e6154}.form-legal-note a{color:#2f261f;font-weight:700;text-decoration:underline;text-underline-offset:.14em}.booking-submit[disabled]{opacity:.62;cursor:not-allowed}.booking-status{min-height:1.2rem;margin:1rem 0 0;font-size:.85rem;font-weight:600}.booking-status[data-state=success]{color:#1a6945}.booking-status[data-state=error]{color:#9c2b2b}@media(prefers-reduced-motion:reduce){.js .reveal-item,.js .reveal-item.is-visible,.js .hero-center>*{opacity:1;filter:none;transform:none;transition:none;animation:none}.hero-cta,.service-tile,.price-tile,.card,.contact-card,.legal-card,.review-card,.admin-kpi-card,.admin-panel,.content-block,.footer-social-link,.footer-links a,.footer-cookie-btn{transition:none}}.admin-page{padding-top:1.3rem;padding-bottom:2.3rem}.admin-shell{width:min(1240px,100%);margin-inline:auto}.admin-login-shell{width:min(680px,100%)}.admin-eyebrow{margin:0 0 .26rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#77685b;font-weight:700}.admin-auth-card{max-width:560px;margin-inline:auto;background:linear-gradient(180deg,#f7f5f3,#f2efeb);border:1px solid #ddd4cb;border-radius:16px;padding:1.65rem;box-shadow:0 14px 24px #2d221b14}.admin-auth-card-premium{position:relative;overflow:hidden}.admin-auth-card-premium:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,#31271f,#7e6b58 55%,#c3ad94)}.admin-auth-card .section-title{margin-top:.1rem;font-size:clamp(2.1rem,4.1vw,2.8rem)}.admin-auth-card .booking-form{margin-top:1.2rem}.admin-auth-card .btn{margin-top:.4rem;min-height:46px;padding-inline:1.4rem}.admin-header-card{padding:1.05rem 1.2rem;border:1px solid #ddd4cb;border-radius:16px;background:radial-gradient(circle at 92% -20%,#96806a40,#96806a00 42%),linear-gradient(180deg,#f7f5f3,#f2efeb);box-shadow:0 10px 22px #2d221b12}.admin-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-header-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.admin-header-actions .btn{min-height:42px;padding:.58rem 1rem}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.admin-kpi-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpi-card{background:#fbfaf9;border:1px solid #e3ddd6;border-radius:12px;padding:.92rem .95rem;box-shadow:0 8px 18px #2d221b0d}.admin-kpi-label{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.11em;color:#7d6d5f;font-weight:700}.admin-kpi-value{margin:.34rem 0 0;font-family:Cormorant Garamond,serif;font-size:2rem;line-height:.95;font-weight:600;color:#2c241d}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.admin-panel{background:linear-gradient(180deg,#f7f5f3f5,#f2efebf5),#f4f2ef;border:1px solid #ddd4cb;border-radius:16px;box-shadow:0 10px 22px #2d221b0f;padding:1.25rem}.admin-section-title{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;margin:0 0 .8rem}.admin-subtitle{font-size:1rem;margin:.8rem 0}.admin-list-wrap{margin-top:1rem}.admin-list{display:grid;gap:.7rem}.quick-select-section{display:grid;gap:.42rem}.quick-select-title{margin:0;font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#766656}.quick-select-grid{display:flex;gap:.45rem;flex-wrap:wrap}.quick-select-chip{border:1px solid #d4c8bc;border-radius:999px;padding:.36rem .64rem;background:#faf8f6;color:#2c241d;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.quick-select-chip:hover{border-color:#bca68f;background:#f4eee8}.quick-select-chip.is-selected{background:#2f261f;border-color:#2f261f;color:#fff}.quick-select-chip.is-default-day{box-shadow:inset 0 0 0 1px #755e4938}.availability-week-nav{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}.availability-week-label{margin:0;font-size:.82rem;font-weight:700;color:#544739;text-align:center;flex:1}.availability-week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.availability-day-card{background:#fff;border:1px solid #dfd8d1;border-radius:12px;padding:.72rem;box-shadow:0 4px 12px #2d221b0a}.availability-day-name{margin:0;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#756759}.availability-day-date{margin:.08rem 0 .55rem;font-size:.95rem;font-weight:700;color:#2a221d}.availability-chip-list{display:grid;gap:.35rem}.availability-chip{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .5rem;border:1px solid #d7cec4;border-radius:9px;background:#faf8f6;font:inherit;color:#2b231d;cursor:pointer;transition:border-color .2s ease,background .2s ease}.availability-chip:hover{border-color:#bca992;background:#f5f0eb}.availability-chip:disabled{cursor:not-allowed}.availability-chip.is-booked{background:#f2ede8;border-color:#ddd2c6;color:#6d5e4e}.availability-chip-time{font-size:.84rem;font-weight:700}.availability-chip-action{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#7d6c5a}.availability-day-empty{margin:0;padding:.36rem .1rem;font-size:.82rem;color:#8c7c6d}.admin-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem .95rem;background:#fff;border:1px solid #dfd8d1;border-radius:12px;box-shadow:0 4px 12px #2d221b0a}.admin-item-main{min-width:0;display:grid;gap:.16rem}.admin-item strong{display:block;font-size:1rem;font-weight:700;color:#2b231d}.admin-item-meta{margin:0;font-size:.86rem;color:var(--ink-soft)}.admin-item-actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.admin-state-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .62rem;font-size:.73rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent}.admin-state-pill.is-open{background:#eaf7ef;color:#1e7a4f;border-color:#b8e3c9}.admin-state-pill.is-booked{background:#f3ece6;color:#845f40;border-color:#dfc6af}.admin-state-pill.is-confirmed{background:#e8f0fb;color:#2f5f92;border-color:#bdd1ea}.admin-state-pill.is-cancelled{background:#faebea;color:#9a3d38;border-color:#e8c1be}@media(max-width:1120px){.hero-panel,.hero-content{min-height:480px}.services-strip,.price-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tile-mobile-hidden{display:none}.contact-grid,.contact-shell{grid-template-columns:1fr}.review-carousel{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;overflow:hidden}.admin-grid,.slots-grid{grid-template-columns:1fr 1fr}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media(max-width:760px){.home-shell{width:95%}.with-header.route-inner main{padding-top:4.9rem}.section{padding:3rem 0}.content-block{padding:1.2rem;border-radius:12px}.section-title{font-size:clamp(1.95rem,9vw,2.4rem);line-height:1;margin-bottom:.72rem}.section-intro{font-size:.92rem;line-height:1.48;margin-bottom:.95rem}.card{padding:1.05rem}.card h3{font-size:1.5rem}.card p{font-size:.86rem;line-height:1.45}.route-home .home-shell{padding-top:5rem}.site-header{top:8px;padding-top:0}.site-header .nav-wrap{margin-bottom:0}.nav-wrap{min-height:auto;padding:.52rem .72rem;flex-direction:row;align-items:center;gap:.5rem}.hero-brand{align-self:auto;margin-right:auto;font-size:1.3rem}.hero-brand-logo{width:30px;height:30px}.nav-toggle{display:inline-flex}.hero-nav{display:none;position:absolute;top:calc(100% + .45rem);left:0;right:0;flex-direction:column;align-items:stretch;gap:.28rem;padding:.58rem;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#18120edb;box-shadow:0 12px 30px #0c09074d;backdrop-filter:blur(10px) saturate(122%);-webkit-backdrop-filter:blur(10px) saturate(122%)}.hero-nav.is-open{display:flex}.hero-nav a{font-size:.9rem;padding:.52rem .66rem;border-radius:9px;white-space:normal}.hero-nav a:hover,.hero-nav .is-active{background:#ffffff17}.hero-pill{padding:.5rem .7rem;text-align:center}.hero-panel,.hero-content{min-height:0}.hero-panel{aspect-ratio:3 / 2}.hero-bg{object-position:center 36%}.hero-content{padding:1.1rem .9rem}.hero-center{width:100%;padding-inline:.3rem;gap:.52rem}.hero-center h1{font-size:clamp(1.64rem,7.7vw,2.12rem);line-height:.92;max-width:none;letter-spacing:-.015em}.hero-center p{max-width:31ch;font-size:.78rem;line-height:1.24}.hero-cta{margin-top:.12rem;padding:.62rem 1.02rem;font-size:.82rem}.services-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;margin-top:.42rem}.service-tile{min-height:162px;padding:1.12rem .88rem .82rem}.service-tile h2{font-size:clamp(1.45rem,5.8vw,1.95rem);line-height:.94}.service-tile p{margin-top:.55rem;font-size:.78rem;max-width:none}.service-tile span{margin-top:.72rem;font-size:.92rem}.gallery-strip{padding:.96rem .66rem 1.04rem}.gallery-head{margin-bottom:.7rem;text-align:left}.gallery-head h2{font-size:clamp(1.72rem,8.9vw,2.26rem)}.gallery-head p{margin-inline:0;font-size:.81rem;max-width:36ch}.gallery-scroll-hint{display:block}.gallery-rail{gap:.44rem;padding-bottom:.45rem}.gallery-card{flex-basis:clamp(168px,52vw,236px);margin-top:0}.gallery-card-feature{flex-basis:clamp(188px,62vw,268px);margin-top:0}.gallery-card figcaption{font-size:.64rem}.price-grid,.card-grid,.contact-grid,.contact-form-grid,.booking-grid,.slots-grid,.admin-grid{grid-template-columns:1fr}.admin-header-row{flex-direction:column;align-items:flex-start}.admin-header-card{padding:.95rem 1rem}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpi-grid-compact{grid-template-columns:1fr}.availability-week-nav{flex-wrap:wrap}.quick-select-grid{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.12rem}.quick-select-grid::-webkit-scrollbar{display:none}.quick-select-chip{flex:0 0 auto;min-height:36px;padding:.35rem .6rem}.availability-week-label{order:-1;flex:1 1 100%;text-align:left;margin-bottom:.2rem}.availability-week-nav .btn{flex:1 1 calc(50% - .3rem);min-height:40px;font-size:.78rem;padding:.46rem .62rem}.availability-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:.9rem}.booking-step-pill{font-size:.82rem;padding-bottom:.5rem}.booking-head .section-title{font-size:clamp(1.85rem,9.2vw,2.35rem);line-height:1}.service-choice{padding:.9rem 0}.service-choice-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem}.service-choice strong{font-size:clamp(1.22rem,5.7vw,1.6rem);line-height:1}.booking-actions{flex-direction:column-reverse;align-items:stretch;gap:.55rem;margin-top:1rem}.booking-actions-single{flex-direction:column}.booking-page{padding-top:.9rem;padding-bottom:1.5rem}.booking-head{margin-bottom:1rem;padding-bottom:.7rem}.booking-card .btn{width:100%}.booking-card input,.booking-card select{font-size:16px}.bottom-cta{padding:2.2rem .45rem 0}.bottom-cta h2{font-size:clamp(1.95rem,8.8vw,2.55rem);line-height:.97}.bottom-cta p{margin:.72rem auto 1rem;max-width:34ch;font-size:.9rem}.bottom-cta .btn{width:min(320px,100%);min-height:46px}.review-carousel{grid-template-columns:1fr;gap:0;max-width:540px;margin-inline:auto;overflow:visible}.review-card{padding:1.3rem 1.15rem;min-height:0}.review-text{font-size:clamp(1.32rem,6.2vw,1.62rem);line-height:1.08;max-height:none;overflow:visible}.review-author{font-size:.9rem}.review-slot-left,.review-slot-right{display:none}.review-slot-center{opacity:1;transform:none;background:#f8f7f5;border-color:#d9d2ca}.review-carousel.is-switching .review-slot-center{transform:none;opacity:.78}.wide-feature,.wide-feature img{min-height:300px;height:300px}.footer-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.8rem 1rem}.footer-brand{grid-column:1 / -1}.footer-links{grid-column:1;display:grid;gap:.34rem;align-content:start;justify-items:start}.footer-links a:after,.footer-cookie-btn:after{display:none}.footer-links a,.footer-cookie-btn{padding:0;min-height:0;border:none;border-radius:0;background:transparent}.footer-social-list{grid-column:2;width:auto;display:grid;gap:.34rem;justify-items:end;align-content:start;justify-self:end}.footer-social-link{min-height:0;padding:0;border:none;border-radius:0;background:transparent;font-size:.84rem}.footer-social-link:hover{background:transparent;border-color:transparent}.footer-bottom{width:100%}.footer-bottom-note{margin-left:auto}.cookie-banner{left:.55rem;right:.55rem;bottom:.7rem;width:auto;transform:none;grid-template-columns:1fr;gap:.7rem;padding:.76rem .8rem calc(.76rem + env(safe-area-inset-bottom))}.cookie-banner-actions{justify-content:flex-end}.legal-grid{grid-template-columns:1fr}.admin-item{flex-direction:column;align-items:flex-start}.admin-item-actions{width:100%;justify-content:space-between}.admin-header-actions{width:100%;gap:.5rem}.admin-header-actions .btn{flex:1 1 auto}.admin-kpi-value{font-size:1.75rem}}@media(max-width:520px){.home-shell{width:96%}.with-header.route-inner main{padding-top:4.65rem}.section{padding:2.5rem 0}.content-block{padding:1rem}.route-home .home-shell{padding-top:4.7rem}.hero-panel,.hero-content{min-height:0}.hero-bg{object-position:center 38%}.hero-content{padding:.94rem .78rem 1rem}.hero-center h1{font-size:clamp(1.48rem,7.8vw,1.9rem);line-height:.94;max-width:none}.hero-center p{font-size:.75rem;max-width:30ch;line-height:1.22}.hero-cta{margin-top:.1rem;padding:.58rem .94rem;font-size:.8rem}.booking-steps{grid-template-columns:1fr;gap:.45rem}.booking-step-pill{font-size:.8rem;padding-bottom:.42rem}.service-choice{padding:.86rem 0}.service-choice strong{font-size:clamp(1.12rem,6.4vw,1.35rem)}.service-choice-main em{font-size:.92rem}.booking-addons li{font-size:.84rem}.services-strip{gap:.3rem}.service-tile{min-height:145px;padding:.9rem .72rem .68rem}.service-tile h2{font-size:clamp(1.25rem,6.1vw,1.62rem)}.service-tile p{font-size:.74rem;line-height:1.34}.service-tile span{margin-top:.58rem;font-size:.84rem}.gallery-strip{padding:.86rem .56rem .92rem}.gallery-head h2{font-size:clamp(1.58rem,9.4vw,2rem)}.gallery-head p{font-size:.76rem;max-width:33ch}.gallery-scroll-hint{font-size:.66rem}.gallery-card{flex-basis:clamp(162px,56vw,212px);margin-top:0}.gallery-card-feature{flex-basis:clamp(178px,64vw,236px);margin-top:0}.gallery-card figcaption{left:.5rem;bottom:.44rem;font-size:.62rem}.footer-links{gap:.3rem}.footer-title{font-size:.86rem}.footer-credit{font-size:.74rem}.footer-links a,.footer-cookie-btn{font-size:.8rem}.footer-social-list{width:auto;gap:.28rem}.footer-social-link{font-size:.8rem}.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.38rem}.footer-bottom-note{margin-left:0;justify-self:end;font-size:.72rem}.cookie-banner-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cookie-banner-actions .btn{width:100%}.wide-feature,.wide-feature img{min-height:260px;height:260px}.admin-kpi-grid,.availability-week-grid{grid-template-columns:1fr}}@media(max-width:380px){.hero-center h1{font-size:clamp(1.34rem,7.4vw,1.72rem)}.hero-title-line,.hero-title-accent{white-space:normal}}
