*,*::before,*::after{box-sizing:border-box}
*{margin:0}
:root{
  --plum:#4b2232;
  --plum-dark:#30151f;
  --berry:#a34f6b;
  --rose:#d99bad;
  --blush:#f2dfe3;
  --blush-soft:#fbf1f2;
  --ivory:#fffaf5;
  --paper:#fffdf9;
  --champagne:#c7a16a;
  --ink:#3f3035;
  --muted:#84747a;
  --line:rgba(75,34,50,.13);
  --white-line:rgba(255,255,255,.22);
  --success:#6f9a7c;
  --danger:#bd6672;
  --radius:22px;
  --radius-sm:12px;
  --shadow:0 28px 70px rgba(88,45,59,.14);
  --container:1240px;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope","Helvetica Neue",Arial,sans-serif;
}
html{scroll-behavior:smooth;background:var(--ivory)}
body{min-width:320px;overflow-x:hidden;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--plum);color:#fff}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.section{padding:clamp(5.5rem,9vw,9rem) 0}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:200;padding:.75rem 1rem;border-radius:100px;background:var(--plum);color:#fff;font-size:.75rem;font-weight:700;transform:translateY(-180%);transition:transform .2s}.skip-link:focus{transform:none}
.eyebrow{display:flex;align-items:center;gap:.7rem;color:var(--berry);font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow>span{width:30px;height:1px;background:currentColor}.eyebrow.dark{color:var(--berry)}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:1.6rem;padding:.85rem 1.35rem;border:1px solid transparent;border-radius:100px;background:transparent;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}
.button-gold{background:var(--plum);color:#fff;box-shadow:0 12px 30px rgba(75,34,50,.18)}.button-gold:hover{background:var(--berry);box-shadow:0 16px 36px rgba(163,79,107,.22)}
.button-dark{background:var(--plum);color:#fff}.button-dark:hover{background:var(--berry)}
.text-link{display:inline-flex;align-items:center;gap:.75rem;color:var(--plum);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.text-link span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:background .2s,color .2s}.text-link:hover span{background:var(--plum);color:#fff}
.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.js-ready .reveal.visible{opacity:1;transform:none}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:80;border-bottom:1px solid transparent;transition:background .25s,border-color .25s,backdrop-filter .25s}.site-header.scrolled{background:rgba(255,250,245,.9);border-color:var(--line);backdrop-filter:blur(18px)}
.nav-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.8rem;color:var(--plum);white-space:nowrap}.brand-monogram{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(75,34,50,.28);border-radius:50%;font-family:var(--serif);font-size:1.9rem;font-style:italic;line-height:1}.brand>span:last-child{display:grid}.brand strong{font-family:var(--serif);font-size:1.65rem;font-weight:600;line-height:.75}.brand small{margin-top:.45rem;color:#9e838d;font-size:.44rem;font-weight:700;letter-spacing:.23em}
.main-nav{display:flex;align-items:center;gap:clamp(1.2rem,2.6vw,2.7rem)}.main-nav>a{position:relative;color:#6f5d64;font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.main-nav>a:not(.nav-book)::after{content:"";position:absolute;left:0;right:100%;bottom:-.45rem;height:1px;background:var(--berry);transition:right .2s}.main-nav>a:hover::after{right:0}.main-nav .nav-book{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;padding:.6rem 1rem;border-radius:100px;background:var(--plum);color:#fff;transition:background .2s,transform .2s}.main-nav .nav-book:hover{background:var(--berry);transform:translateY(-1px)}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper);cursor:pointer}.nav-toggle span{display:block;width:18px;height:1px;margin:5px auto;background:var(--plum);transition:transform .2s}.nav-toggle.open span:first-child{transform:translateY(3px) rotate(45deg)}.nav-toggle.open span:last-child{transform:translateY(-3px) rotate(-45deg)}

/* Hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;padding:9.5rem 0 6rem;background:radial-gradient(circle at 10% 10%,rgba(217,155,173,.24),transparent 25%),linear-gradient(135deg,#fffaf5 0%,#fbf0f1 58%,#f5dfe4 100%)}
.hero::before{content:"";position:absolute;right:-120px;top:-100px;width:430px;height:430px;border-radius:50%;background:rgba(255,255,255,.45)}.hero::after{content:"";position:absolute;left:-120px;bottom:40px;width:290px;height:290px;border-radius:48% 52% 62% 38%;background:rgba(217,155,173,.12);transform:rotate(35deg)}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(380px,.85fr) minmax(480px,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:center}.hero-copy{padding-bottom:2rem}.hero-copy h1{max-width:680px;margin-top:1.6rem;color:var(--plum);font-family:var(--serif);font-size:clamp(4.6rem,8vw,8.5rem);font-weight:500;line-height:.76;letter-spacing:-.055em;text-wrap:balance}.hero-copy h1 em{display:block;margin-top:.16em;color:var(--berry);font-weight:500}.hero-lead{max-width:570px;margin-top:2rem;color:#746269;font-size:.96rem;line-height:1.85}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem;margin-top:2.3rem}.hero-facts{display:flex;gap:3rem;max-width:580px;margin-top:3.4rem;padding-top:1.3rem;border-top:1px solid var(--line)}.hero-facts small{display:block;color:#ad8995;font-size:.5rem;font-weight:700;letter-spacing:.13em}.hero-facts strong{display:block;margin-top:.35rem;color:var(--plum);font-family:var(--serif);font-size:1.35rem;font-weight:600}.hero-facts span{display:block;color:#927d84;font-size:.66rem}
.hero-art{position:relative;min-height:650px;display:grid;place-items:center}.hero-portrait{position:relative;width:min(100%,500px);height:650px;margin-left:auto;border-radius:250px 250px 32px 32px;overflow:hidden;box-shadow:var(--shadow)}.hero-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(75,34,50,.58))}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-portrait figcaption{position:absolute;left:38px;bottom:34px;z-index:2;color:#fff}.hero-portrait figcaption small{font-size:.52rem;font-weight:700;letter-spacing:.16em}.hero-portrait figcaption strong{display:block;margin-top:.5rem;font-family:var(--serif);font-size:2.7rem;font-weight:500;line-height:.85}.hero-stamp{position:absolute;left:0;top:75px;z-index:4;width:126px;height:126px;display:grid;place-items:center;border:1px solid rgba(75,34,50,.22);border-radius:50%;background:rgba(255,250,245,.82);color:var(--plum);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(75,34,50,.1)}.hero-stamp::before{content:"";position:absolute;inset:8px;border:1px dashed rgba(75,34,50,.18);border-radius:50%}.hero-stamp span,.hero-stamp small{position:absolute;font-size:.43rem;font-weight:700;letter-spacing:.15em}.hero-stamp span{top:22px}.hero-stamp small{bottom:21px}.hero-stamp strong{font-family:var(--serif);font-size:3rem;font-style:italic;font-weight:500}
.floating-appointment{position:absolute;z-index:6;left:-10px;bottom:68px;width:330px;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.05rem;border-radius:18px;background:rgba(255,253,249,.93);box-shadow:0 18px 45px rgba(75,34,50,.16);backdrop-filter:blur(12px)}.appointment-date{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--blush);color:var(--plum);font-family:var(--serif);font-size:1.5rem}.floating-appointment>div:nth-child(2)>small{color:#ad8593;font-size:.45rem;font-weight:700;letter-spacing:.11em}.floating-appointment strong{display:block;margin-top:.3rem;color:var(--plum);font-family:var(--serif);font-size:1.05rem;font-weight:600;line-height:1.15}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px rgba(111,154,124,.12)}
.hero-orbit{display:none}.hero-marquee{position:absolute;inset:auto 0 0;z-index:4;height:46px;display:flex;align-items:center;justify-content:center;gap:1.5rem;background:var(--plum);color:#f3dfe5;font-family:var(--serif);font-size:.82rem;font-style:italic;letter-spacing:.06em;white-space:nowrap}.hero-marquee i{color:var(--rose);font-style:normal}

/* Intro */
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,9vw,10rem);align-items:start}.section-title h2,.experience-head h2,.booking-heading h2,.contact-copy h2{margin-top:1.4rem;color:var(--plum);font-family:var(--serif);font-size:clamp(3.5rem,6vw,6.5rem);font-weight:500;line-height:.84;letter-spacing:-.045em}.section-title h2 em,.experience-head h2 em,.booking-heading h2 em,.contact-copy h2 em{display:block;color:var(--berry);font-weight:500}.intro-copy{padding-top:2.2rem}.intro-copy>p{max-width:730px;color:#6b5960;font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1.4}.signature{display:flex;align-items:end;gap:1.2rem;margin-top:2.5rem}.signature>span{color:var(--berry);font-family:var(--serif);font-size:3.2rem;font-style:italic;line-height:1}.signature small{padding-bottom:.35rem;color:#a58b94;font-size:.5rem;font-weight:700;letter-spacing:.14em}

/* Experience */
.experience{position:relative;overflow:hidden;background:var(--plum);color:#fff}.experience::before{content:"";position:absolute;right:-100px;top:-140px;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.04)}.experience-head{position:relative;display:grid;grid-template-columns:.58fr 1.42fr;gap:3rem;margin-bottom:4rem}.experience .eyebrow{color:#f0c8d4}.experience-head h2{margin-top:0;color:#fff}.experience-head h2 em{color:#f0c8d4}.experience-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.experience-card{min-height:390px;display:flex;flex-direction:column;padding:1.7rem;border-radius:var(--radius);background:rgba(255,255,255,.07);transition:background .2s,transform .2s}.experience-card:hover{background:rgba(255,255,255,.11);transform:translateY(-5px)}.experience-card>span{color:#e1a9ba;font-family:var(--serif);font-size:1rem}.experience-card h3{margin-top:auto;font-family:var(--serif);font-size:2rem;font-weight:500}.experience-card p{margin-top:.55rem;color:#d8c3ca;font-size:.8rem}.line-art{position:relative;width:140px;height:140px;display:grid;place-items:center;margin:2.3rem auto;border-radius:50%;background:rgba(255,255,255,.06)}.line-art::before,.line-art::after{display:none}.line-calendar i{width:59px;height:64px;border:1px solid #f1cad6;border-radius:12px;box-shadow:inset 0 15px rgba(240,200,212,.08)}.line-calendar i::before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#f1cad6;box-shadow:17px 0 #f1cad6,34px 0 #f1cad6;transform:translate(8px,29px)}.line-clock i{width:65px;height:65px;border:1px solid #f1cad6;border-radius:50%}.line-clock i::before{content:"";position:absolute;left:50%;top:27px;width:1px;height:23px;background:#f1cad6;transform-origin:bottom;transform:rotate(-35deg)}.line-message i{width:72px;height:52px;border:1px solid #f1cad6;border-radius:50%}.line-message i::before{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#f1cad6;box-shadow:-14px 0 #f1cad6,14px 0 #f1cad6;transform:translate(-50%,-50%)}

/* Booking */
.booking{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--blush-soft),#fff8f4)}.booking::before{content:"";position:absolute;left:-160px;top:220px;width:400px;height:400px;border-radius:50%;background:rgba(217,155,173,.16);filter:blur(10px)}.booking-glow{display:none}.booking-heading{position:relative;z-index:2;display:grid;grid-template-columns:1fr .62fr;gap:clamp(3rem,8vw,8rem);align-items:end;margin-bottom:3.5rem}.booking-heading>p{max-width:520px;color:#806c73;font-size:.9rem}.booking-app{position:relative;z-index:2;display:grid;grid-template-columns:minmax(470px,1.06fr) minmax(420px,.94fr);gap:1rem;padding:1rem;border-radius:30px;background:rgba(255,255,255,.52);box-shadow:var(--shadow);backdrop-filter:blur(12px)}.calendar-panel,.request-panel{padding:clamp(1.3rem,3vw,2.3rem);border-radius:22px;background:var(--paper)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}.calendar-toolbar small{color:#b28494;font-size:.5rem;font-weight:700;letter-spacing:.14em}.calendar-toolbar h3,.calendar-toolbar h2{margin-top:.25rem;color:var(--plum);font-family:var(--serif);font-size:2.25rem;font-weight:500;line-height:1}.calendar-controls{display:flex;gap:.45rem}.calendar-controls button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;cursor:pointer;transition:background .2s,color .2s}.calendar-controls button:hover:not(:disabled){background:var(--plum);color:#fff}.calendar-controls button:disabled{opacity:.25;cursor:not-allowed}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{padding:1rem 0 .55rem;color:#af919c;font-size:.5rem;font-weight:700;letter-spacing:.08em;text-align:center}.calendar-grid{gap:5px}.calendar-day{position:relative;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;border:1px solid transparent;border-radius:14px;background:#fff9f7;color:#674f58;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s}.calendar-day:hover:not(:disabled){border-color:rgba(163,79,107,.35);background:var(--blush-soft);transform:translateY(-1px)}.calendar-day>span{font-family:var(--serif);font-size:1.18rem}.calendar-day>small{height:7px;color:#b2949f;font-size:.4rem;line-height:1;text-transform:uppercase}.calendar-day.outside{opacity:.18}.calendar-day.past,.calendar-day.closed{opacity:.28;cursor:not-allowed}.calendar-day.selected{background:var(--plum);color:#fff}.calendar-day.selected small{color:#eacbd4}.calendar-day.has-busy::after{content:"";position:absolute;right:7px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--berry)}.calendar-day.fully-booked{background:#f4e7e9;color:#a27c88}.calendar-day.today:not(.selected){border-color:rgba(163,79,107,.28)}.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);color:#a08892;font-size:.57rem}.calendar-legend span{display:flex;align-items:center;gap:.45rem}.calendar-legend i{width:8px;height:8px;border:1px solid #bca8af;border-radius:50%}.legend-busy{background:var(--berry);border-color:var(--berry)!important}.legend-selected{background:var(--plum);border-color:var(--plum)!important}
.request-panel{display:flex;flex-direction:column;background:#fff}.request-step{display:grid;grid-template-columns:42px 1fr;gap:.9rem;align-items:center;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.request-step>span,.panel-label>span{color:var(--berry);font-family:var(--serif);font-size:1.4rem}.request-step small,.panel-label small{display:block;color:#b28e9b;font-size:.5rem;font-weight:700;letter-spacing:.12em}.request-step strong{display:block;margin-top:.25rem;color:var(--plum);font-family:var(--serif);font-size:1.45rem;font-weight:500}.time-section{padding:1.2rem 0;border-bottom:1px solid var(--line)}.panel-label{display:flex;align-items:center;gap:.8rem}.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-top:1rem}.time-slot{min-height:45px;border:1px solid var(--line);border-radius:100px;background:#fffaf8;color:#725b64;font-size:.65rem;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.time-slot:hover:not(:disabled){border-color:rgba(163,79,107,.4);background:var(--blush-soft)}.time-slot.selected{border-color:var(--plum);background:var(--plum);color:#fff}.time-slot.busy{border-color:#eddde1;background:#f8edef;color:#b29ca4;cursor:not-allowed}.time-slot small{display:block;margin-top:.05rem;font-size:.4rem;text-transform:uppercase}.empty-slots{grid-column:1/-1;padding:1.2rem 0;color:#a28d95;font-size:.72rem}.booking-form{padding-top:1.2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem}.booking-form label,.login-card label{display:block}.booking-form label>span,.login-card label>span{display:block;margin-bottom:.35rem;color:#ac8996;font-size:.52rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.booking-form input,.login-card input{width:100%;height:50px;padding:0 .9rem;border:1px solid var(--line);border-radius:12px;outline:0;background:#fffaf8;color:var(--ink);font-size:.76rem;transition:border-color .2s,box-shadow .2s}.booking-form input:focus,.login-card input:focus{border-color:rgba(163,79,107,.5);box-shadow:0 0 0 3px rgba(163,79,107,.07)}.booking-form input::placeholder,.login-card input::placeholder{color:#baa7ae}.selection-summary{display:flex;justify-content:space-between;gap:1rem;margin-top:.85rem;padding:.8rem;border-radius:12px;background:var(--blush-soft);font-size:.66rem}.selection-summary span{color:#967e87}.selection-summary strong{color:var(--plum);text-align:right}.form-error{min-height:1.4rem;padding-top:.4rem;color:var(--danger);font-size:.65rem}.button-whatsapp{width:100%;background:#557d63;color:#fff}.button-whatsapp:hover{background:#668f74;box-shadow:0 14px 32px rgba(85,125,99,.18)}.form-note{margin-top:.7rem;color:#a18d95;font-size:.56rem;line-height:1.55;text-align:center}

/* Contact and footer */
.contact{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1fr .78fr;gap:clamp(4rem,9vw,10rem);align-items:center}.contact-copy>p:not(.eyebrow){max-width:620px;margin-top:1.5rem;color:#75636a}.contact-copy .button{margin-top:2rem}.contact-list{border-top:1px solid var(--line)}.contact-list article{padding:1.35rem 0;border-bottom:1px solid var(--line)}.contact-list small{display:block;color:#b2778c;font-size:.5rem;font-weight:700;letter-spacing:.13em}.contact-list strong{display:block;margin-top:.4rem;color:var(--plum);font-family:var(--serif);font-size:1.4rem;font-weight:600}.contact-list span{color:#9b858d;font-size:.72rem}
.footer{padding:3.2rem 0 1.2rem;background:var(--plum);color:#d9bdc7}.footer .brand{color:#fff}.footer .brand-monogram{border-color:rgba(255,255,255,.35)}.footer .brand small{color:#cfabb8}.footer-top{display:grid;grid-template-columns:1fr 1fr auto;gap:3rem;align-items:center;padding-bottom:2.3rem}.footer-top p{max-width:380px;font-size:.75rem}.footer-top nav{display:flex;gap:1.2rem}.footer-top nav a{font-size:.56rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.footer-top nav a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--white-line);font-size:.5rem;font-weight:600;letter-spacing:.09em}

/* Admin */
.admin-body{min-height:100svh;background:var(--blush-soft);color:var(--ink)}.admin-header{border-bottom:1px solid var(--line);background:rgba(255,250,245,.88);backdrop-filter:blur(12px)}.admin-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between}.admin-back,.logout-button{border:0;background:transparent;color:#8c6f7a;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.admin-back:hover,.logout-button:hover{color:var(--berry)}.admin-main{min-height:calc(100svh - 82px)}
.login-screen{min-height:calc(100svh - 82px);display:grid;grid-template-columns:1.04fr .96fr;background:var(--ivory)}.login-art{position:relative;min-height:720px;overflow:hidden}.login-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(75,34,50,.72))}.login-art img{width:100%;height:100%;object-fit:cover}.login-art>div{position:absolute;left:3rem;bottom:3rem;z-index:2;color:#fff}.login-art small{font-size:.54rem;font-weight:700;letter-spacing:.15em}.login-art strong{display:block;margin-top:.6rem;font-family:var(--serif);font-size:3.2rem;font-weight:500;line-height:.88}.login-card{width:min(calc(100% - 48px),470px);align-self:center;justify-self:center;padding:clamp(1.5rem,4vw,3rem);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.login-card h1,.dashboard-head h1{margin-top:1.3rem;color:var(--plum);font-family:var(--serif);font-size:clamp(3.3rem,5vw,5.5rem);font-weight:500;line-height:.84}.login-card h1 em,.dashboard-head h1 em{display:block;color:var(--berry);font-weight:500}.login-card>p:not(.eyebrow){margin:1.3rem 0 1.5rem;color:#947f87;font-size:.78rem}.login-card label+label{margin-top:.8rem}.login-card .button{width:100%;margin-top:.5rem}.login-error{min-height:1.7rem!important;margin:0!important;padding-top:.45rem;color:var(--danger)!important}.security-note{display:block;margin-top:1rem;color:#b29ba3;font-size:.5rem;text-align:center;text-transform:uppercase;letter-spacing:.09em}
.admin-dashboard{padding:clamp(3.5rem,7vw,6rem) 0 6rem}.dashboard-head{display:flex;justify-content:space-between;gap:4rem;align-items:start;margin-bottom:2rem}.dashboard-head>div>p:last-child{max-width:720px;margin-top:1.3rem;color:#8f7b83;font-size:.82rem}.logout-button{margin-top:.6rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:100px;background:#fff}.admin-status-bar{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1rem;padding:.95rem 1rem;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(75,34,50,.06)}.admin-status-bar>div{display:grid;grid-template-columns:auto auto;gap:.15rem .65rem;align-items:center}.admin-status-bar .status-dot{grid-row:1/3}.admin-status-bar strong{color:var(--plum);font-size:.7rem}.admin-status-bar small{color:#a28c94;font-size:.55rem}.unsaved-badge{padding:.4rem .6rem;border-radius:100px;background:var(--blush-soft);color:#9a7e88;font-size:.52rem;font-weight:700;text-transform:uppercase}.unsaved-badge.dirty{background:var(--blush);color:var(--plum)}.admin-booking-app{background:rgba(255,255,255,.5)}.admin-time-slots .time-slot{min-height:54px}.admin-time-slots .time-slot.busy{border-color:var(--berry);background:var(--berry);color:#fff;cursor:pointer}.admin-time-slots .time-slot.busy:hover{background:var(--plum)}.admin-actions{display:grid;grid-template-columns:1fr auto;gap:.7rem;margin-top:auto;padding-top:1.5rem}.reset-button{padding:.7rem 1rem;border:1px solid var(--line);border-radius:100px;background:#fff;color:#957d86;font-size:.58rem;font-weight:700;text-transform:uppercase;cursor:pointer}.reset-button:disabled{opacity:.35;cursor:not-allowed}.save-message{min-height:1.6rem;padding-top:.5rem;color:var(--success);font-size:.65rem}.dashboard-help{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.dashboard-help article{display:grid;grid-template-columns:34px 1fr;gap:.8rem;padding:1rem;border-radius:14px;background:#fff}.dashboard-help article>span{color:var(--berry);font-family:var(--serif)}.dashboard-help strong{color:var(--plum);font-size:.72rem}.dashboard-help p{margin-top:.3rem;color:#9b858e;font-size:.6rem}.admin-booking-app .request-panel{min-height:630px}
[hidden]{display:none!important}

@media(max-width:1050px){
  .hero-grid{grid-template-columns:1fr}.hero-copy{max-width:820px}.hero-art{max-width:620px;width:100%;margin:0 auto}.hero-portrait{margin:auto}.hero-stamp{left:15px}.floating-appointment{left:10px}.intro-grid,.contact-grid{grid-template-columns:1fr}.experience-head{grid-template-columns:1fr}.booking-heading{grid-template-columns:1fr}.booking-app{grid-template-columns:1fr}.login-screen{grid-template-columns:.8fr 1.2fr}.dashboard-help{grid-template-columns:1fr}
}
@media(max-width:780px){
  .container{width:min(calc(100% - 28px),var(--container))}.section{padding:4.8rem 0}.nav-inner,.admin-nav{min-height:70px}.site-header.scrolled{background:rgba(255,250,245,.97)}.nav-toggle{display:block;position:relative;z-index:83}.main-nav{position:fixed;inset:0 0 0 auto;z-index:82;width:min(390px,88vw);height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.3rem;padding:4.5rem 2rem;background:rgba(255,250,245,.99);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .25s}.main-nav.open{transform:none}.main-nav>a{color:var(--plum);font-family:var(--serif);font-size:1.8rem;font-weight:500;letter-spacing:0;text-transform:none}.main-nav .nav-book{font-family:var(--sans);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.menu-open{overflow:hidden}.hero{padding-top:8rem}.hero-grid{gap:2rem}.hero-copy h1{font-size:clamp(4.3rem,17vw,6.2rem)}.hero-facts{gap:1.8rem}.hero-art{min-height:560px}.hero-portrait{height:560px}.floating-appointment{left:0;bottom:45px}.hero-marquee span:nth-of-type(3),.hero-marquee i:nth-of-type(3){display:none}.section-title h2,.experience-head h2,.booking-heading h2,.contact-copy h2{font-size:clamp(3.4rem,14vw,5.1rem)}.experience-grid{grid-template-columns:1fr}.experience-card{min-height:330px}.calendar-panel,.request-panel{padding:1rem}.calendar-day{min-height:52px}.time-slots{grid-template-columns:repeat(3,1fr)}.form-row{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-top nav{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:.5rem}.login-screen{grid-template-columns:1fr}.login-art{display:none}.login-card{margin-block:3rem}.dashboard-head{display:block}.logout-button{margin-top:1.5rem}.admin-status-bar{align-items:flex-start}.admin-status-bar>div{grid-template-columns:auto 1fr}.unsaved-badge{white-space:nowrap}.admin-actions{grid-template-columns:1fr}.admin-booking-app .request-panel{min-height:auto}
}
@media(max-width:430px){
  .brand-monogram{width:38px;height:38px;font-size:1.55rem}.brand strong{font-size:1.4rem}.hero{padding-top:7.2rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.text-link{align-self:flex-start}.hero-facts{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.hero-art{min-height:480px}.hero-portrait{height:480px;border-radius:180px 180px 24px 24px}.hero-stamp{width:96px;height:96px;top:45px}.hero-stamp strong{font-size:2.3rem}.hero-stamp span{top:14px}.hero-stamp small{bottom:14px}.hero-portrait figcaption{left:24px;bottom:80px}.hero-portrait figcaption strong{font-size:2.2rem}.floating-appointment{left:8px;right:8px;width:auto;bottom:18px}.calendar-grid{gap:3px}.calendar-day{min-height:47px;border-radius:10px}.calendar-day>span{font-size:1rem}.calendar-day>small{display:none}.calendar-legend{gap:.7rem}.time-slots{grid-template-columns:repeat(2,1fr)}.booking-app{padding:.55rem;border-radius:20px}.booking-heading{margin-bottom:2rem}.request-step{grid-template-columns:32px 1fr}.admin-status-bar{display:block}.unsaved-badge{display:inline-block;margin-top:.8rem}.login-card{width:calc(100% - 28px);padding:1.3rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-ready .reveal{opacity:1;transform:none}}
