:root{--paper:#f4efe5;--surface:#fffaf1;--ink:#1c2621;--muted:#5d675f;--green:#29473a;--green-2:#d9e2d7;--clay:#b16d51;--line:#d8d2c7;--danger:#8a3c32;--shadow:0 18px 48px rgba(28,38,33,.09);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.03;letter-spacing:-.035em}h1{font-size:clamp(3rem,7.8vw,7rem);max-width:11ch;margin-bottom:1.5rem}h2{font-size:clamp(2.2rem,5vw,4.4rem);max-width:12ch}h3{font-size:1.55rem}a{color:inherit}button,input,select,textarea{font:inherit}.skip{position:absolute;left:1rem;top:-5rem;background:var(--ink);color:white;padding:.7rem 1rem;z-index:50}.skip:focus{top:1rem}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1400px;margin:auto;padding:1.25rem 4vw;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:700;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);color:var(--surface)}nav{display:flex;align-items:center;gap:1.5rem}nav a{text-decoration:none;color:var(--muted)}nav a[aria-current="page"]{color:var(--ink);font-weight:700}.menu-button{display:none;border:1px solid var(--line);background:transparent;border-radius:999px;padding:.55rem .8rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;border:1px solid var(--green);border-radius:999px;background:var(--green);color:white;text-decoration:none;padding:.8rem 1.2rem;font-weight:700;cursor:pointer}.button:hover{background:#172e24}.button.secondary{background:transparent;color:var(--green)}.button.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.button.danger{background:transparent;color:var(--danger);border-color:#d9aaa3}.button.small{padding:.55rem .8rem;font-size:.9rem}.button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:3px solid var(--clay);outline-offset:3px}.hero{min-height:78vh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:5vw;align-items:center;max-width:1400px;margin:auto;padding:7rem 4vw}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:800;color:var(--clay)}.lede{font-size:clamp(1.1rem,2vw,1.35rem);max-width:580px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.art{min-height:460px;position:relative}.art .orb{position:absolute;border-radius:50%}.orb.one{width:80%;aspect-ratio:1;background:var(--green);right:0;top:5%}.orb.two{width:56%;aspect-ratio:1;background:var(--clay);left:0;bottom:0;border:20px solid var(--paper)}.orb.three{width:28%;aspect-ratio:1;border:2px solid var(--surface);right:26%;top:35%}.art-note{position:absolute;right:0;bottom:4%;max-width:220px;background:var(--surface);padding:1.25rem;border-radius:16px;box-shadow:var(--shadow)}.section{max-width:1400px;margin:auto;padding:6rem 4vw}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2.5rem}.section-head p{max-width:500px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem}.card-number{color:var(--clay);font-size:.8rem;font-weight:800;letter-spacing:.1em}.card p{color:var(--muted)}.band{background:var(--green);color:var(--surface)}.band .section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.steps{display:grid;gap:1rem;counter-reset:steps}.step{display:grid;grid-template-columns:44px 1fr;gap:1rem;align-items:start}.step:before{counter-increment:steps;content:counter(steps);display:grid;place-items:center;width:38px;height:38px;border:1px solid #799083;border-radius:50%}.step h3{margin-bottom:.35rem}.step p{color:#cbd6ce}.notice{border-left:3px solid var(--clay);padding:.8rem 1rem;background:#f7e9df;color:#69382d;border-radius:0 10px 10px 0}.page-hero{max-width:1400px;margin:auto;padding:5rem 4vw 3rem}.page-hero h1{font-size:clamp(3rem,6vw,5.7rem);margin-bottom:1rem}.page-hero p{max-width:650px;color:var(--muted);font-size:1.1rem}.booking-layout,.manager-layout{max-width:1400px;margin:auto;padding:0 4vw 6rem;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,3vw,2.25rem)}.progress{display:flex;gap:.5rem;margin-bottom:2rem}.progress span{height:5px;flex:1;background:var(--line);border-radius:5px}.progress span.active{background:var(--green)}.field{display:grid;gap:.45rem;margin-bottom:1.15rem}.field label,.legend{font-weight:750}.field input,.field select,.field textarea{width:100%;border:1px solid #a9afa8;border-radius:10px;background:white;padding:.8rem;color:var(--ink)}.field small{color:var(--muted)}fieldset{border:0;padding:0;margin:0 0 1.5rem}.choice-grid,.time-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice label{display:block;height:100%;border:1px solid var(--line);border-radius:14px;padding:1rem;cursor:pointer}.choice input:checked+label{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green);background:var(--green-2)}.choice input:focus-visible+label{outline:3px solid var(--clay);outline-offset:3px}.choice strong{display:block}.choice small{color:var(--muted)}.form-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.summary{position:sticky;top:1rem}.summary dl{display:grid;grid-template-columns:1fr auto;gap:.7rem;margin:0}.summary dt{color:var(--muted)}.summary dd{margin:0;text-align:right;font-weight:700}.demo-label{display:inline-flex;border:1px solid var(--clay);color:#7b452e;border-radius:999px;padding:.25rem .6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.hidden{display:none!important}.success{text-align:center;padding:4rem 1rem}.success-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--green-2);color:var(--green);font-size:2rem;margin:0 auto 1.5rem}.error-message{color:var(--danger);font-weight:700;margin:.5rem 0}.manager-layout{grid-template-columns:1fr}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.toolbar-group{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.toolbar select{padding:.65rem;border:1px solid var(--line);border-radius:10px;background:white}.appointment-list{display:grid;gap:.8rem}.appointment{display:grid;grid-template-columns:120px minmax(160px,1fr) minmax(130px,.7fr) auto;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:16px;padding:1rem}.appt-time{font-weight:800}.appt-person small,.appt-service small{display:block;color:var(--muted)}.status{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:800}.status.pending{background:#f4e4c7;color:#79501b}.status.approved{background:#d7e6d9;color:#275633}.status.declined{background:#ead5d2;color:#793a31}.appt-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:end}.calendar{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}.day{border:1px solid var(--line);border-radius:14px;min-height:220px;padding:.8rem}.day h3{font-family:inherit;font-size:.9rem;letter-spacing:0;margin-bottom:.8rem}.cal-item{display:block;width:100%;border:0;border-left:3px solid var(--clay);background:#f3e8dd;border-radius:6px;padding:.5rem;margin-bottom:.5rem;text-align:left;font-size:.78rem;color:var(--ink)}dialog{border:0;border-radius:18px;padding:0;max-width:420px;width:calc(100% - 2rem);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(28,38,33,.6)}dialog .dialog-inner{padding:1.8rem}.empty{text-align:center;padding:4rem 1rem;color:var(--muted)}footer{border-top:1px solid var(--line);max-width:1400px;margin:auto;padding:2rem 4vw;display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.9rem}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:4rem}.art{min-height:350px;max-width:500px;width:100%}.grid{grid-template-columns:1fr 1fr}.band .section{grid-template-columns:1fr}.booking-layout{grid-template-columns:1fr}.summary{position:static}.appointment{grid-template-columns:100px 1fr auto}.appt-service{grid-column:2}.appt-actions{grid-row:1/3;grid-column:3}.calendar{grid-template-columns:repeat(2,1fr)}.day:last-child{grid-column:1/-1}}
@media(max-width:640px){nav{display:none;position:absolute;top:70px;left:4vw;right:4vw;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem;box-shadow:var(--shadow);z-index:20}nav.open{display:grid}.menu-button{display:block}.site-header .button.header-cta{display:none}.hero,.section{padding-top:4rem;padding-bottom:4rem}.hero h1{font-size:3.4rem}.art{min-height:280px}.grid,.choice-grid,.time-grid{grid-template-columns:1fr}.section-head{display:block}.appointment{grid-template-columns:1fr}.appt-service,.appt-actions{grid-column:1;grid-row:auto}.appt-actions{justify-content:start}.calendar{grid-template-columns:1fr}.day:last-child{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}footer{display:block}.page-hero{padding-top:3rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
