*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{max-width:100%}a{color:var(--link)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;margin:0 0 .5em;color:var(--heading)}h2{font-size:clamp(28px,4vw,40px)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px}.skip:focus{top:12px}.wrap{max-width:1160px;margin:0 auto;padding:0 20px}.wrap.narrow{max-width:760px}.demo-banner{background:#111827;color:#f9fafb;text-align:center;font:600 13px/1.4 system-ui,sans-serif;padding:7px 16px}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header-row{display:flex;align-items:center;gap:16px;min-height:70px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--heading);font-family:var(--font-head);font-weight:800;font-size:20px;line-height:1.05}.brand small{display:block;font:600 12px/1.2 var(--font-body);color:var(--muted);letter-spacing:.04em}.site-nav{margin-left:auto;display:flex;align-items:center;gap:22px}.site-nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}.site-nav a:not(.btn):hover{color:var(--accent-ink)}.menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-btn);background:var(--accent);color:var(--accent-contrast);font:700 16px/1 var(--font-body);padding:14px 22px;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 30%,transparent)}.btn:disabled{opacity:.6;cursor:progress;transform:none}.btn-sm{padding:10px 16px;font-size:14px}.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line-strong)}.btn-ghost:hover{box-shadow:none;border-color:var(--accent)}.link-btn{border:0;background:none;color:var(--accent-ink);font:700 15px var(--font-body);cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.section{padding:80px 0}.section.alt{background:var(--bg-alt)}.section-lead{color:var(--muted);max-width:680px;margin:0 0 32px;font-size:18px}.eyebrow{color:var(--accent-ink);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px;margin:0 0 12px}.lead{font-size:20px;color:var(--muted);margin:0 0 28px}.muted{color:var(--muted)}.small{font-size:14px}.note{color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}.service-group h3{font-size:20px;border-bottom:2px solid var(--accent-soft);padding-bottom:8px}.service-list{list-style:none;margin:0;padding:0}.service{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.service h4{font-size:17px;margin:0 0 2px;font-family:var(--font-body);font-weight:700}.service p{margin:0;color:var(--muted);font-size:15px}.service-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:110px}.price{font-weight:800;color:var(--heading);white-space:nowrap}.duration,.consult-note{font-size:13px;color:var(--muted)}.price-extra{margin-top:36px;max-width:560px}.price-extra table,table.hours{width:100%;border-collapse:collapse}.price-extra th,.price-extra td,table.hours th,table.hours td{text-align:left;padding:9px 0;border-bottom:1px solid var(--line);font-weight:400}.price-extra td,table.hours td{text-align:right;font-weight:700}table.hours tr.today th,table.hours tr.today td{color:var(--accent-ink);font-weight:800}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.features article{background:var(--surface);border-radius:var(--radius);padding:22px;border:1px solid var(--line)}.features h3{font-size:18px}.features p{margin:0;color:var(--muted);font-size:15px}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}.member{text-align:center;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.member .avatar{width:88px;height:88px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font:800 28px var(--font-head);color:#fff;background:var(--accent)}.member h3{font-size:19px;margin-bottom:2px}.member .role{color:var(--accent-ink);font-weight:700;font-size:14px;margin:0 0 8px}.member p{font-size:15px;color:var(--muted);margin:0}.booking{padding:28px}.stepper{list-style:none;display:flex;gap:8px;margin:0 0 24px;padding:0;counter-reset:step;flex-wrap:wrap}.stepper li{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:700;font-size:14px;flex:1 1 140px;padding:8px 10px;border-radius:999px;background:var(--bg-alt)}.stepper .num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1.5px solid var(--line-strong);font-size:13px;flex-shrink:0}.stepper li.current{color:var(--heading);background:var(--accent-soft)}.stepper li.current .num,.stepper li.done .num{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.booking-panel h3{font-size:22px}.booking-panel h3:focus{outline:none}.booking-panel h4{margin:22px 0 10px;font-size:16px;font-family:var(--font-body)}.choices{border:0;padding:0;margin:0 0 18px}.choices legend{font-weight:800;color:var(--muted);font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.choice{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:8px;cursor:pointer;background:var(--surface)}.choice:hover,.choice.selected{border-color:var(--accent)}.choice:focus-within{outline:3px solid var(--focus);outline-offset:2px}.choice input{accent-color:var(--accent);width:18px;height:18px}.choice-main{flex:1;display:flex;flex-direction:column}.choice-main small,.choice-meta small{color:var(--muted);font-size:14px}.choice-meta{text-align:right;display:flex;flex-direction:column;white-space:nowrap}.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.day,.slot{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;cursor:pointer;font:600 15px var(--font-body)}.day{padding:10px 6px;display:flex;flex-direction:column;align-items:center}.day .wd{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.day:disabled{opacity:.4;cursor:not-allowed}.day.selected,.slot.selected,.day:not(:disabled):hover,.slot:hover{border-color:var(--accent);background:var(--accent-soft)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}.slot{padding:10px 0;font-variant-numeric:tabular-nums}.booking-nav{display:flex;gap:12px;justify-content:space-between;margin-top:24px;flex-wrap:wrap}.booking-nav.center{justify-content:center}.details-form,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.form-grid{padding:28px}.field{display:flex;flex-direction:column;gap:6px}.wide,.details-form .booking-nav,.details-form .form-error{grid-column:1 / -1}.field label{font-weight:700;font-size:15px}.field.check label{font-weight:400;display:flex;gap:10px;align-items:flex-start}.field.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--accent)}.field small{color:var(--muted);font-size:13px}.req{color:var(--danger)}input,select,textarea{font:16px var(--font-body);color:var(--ink);background:var(--surface);border:1.5px solid var(--line-strong);border-radius:10px;padding:11px 12px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:0}[aria-invalid=true]{border-color:var(--danger)}.field-error,.form-error{color:var(--danger);font-size:14px;font-weight:600;min-height:0;margin:0}.form-success{color:var(--success);font-weight:700;margin:0}.summary{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0 0 12px;font-size:17px}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:700}.confirmed{text-align:center;padding:10px 0}.confirmed .tick{width:64px;height:64px;border-radius:50%;margin:0 auto 12px;background:var(--success);color:#fff;font-size:34px;display:grid;place-items:center}.confirmed h3:focus{outline:none}.confirmed .code strong{font-size:22px;letter-spacing:.08em}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}.contact-card{padding:28px}.site-footer{padding:36px 0 110px;color:var(--muted);font-size:15px;border-top:1px solid var(--line)}@media (max-width: 900px){.menu-toggle{display:inline-flex}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 20px 16px}.site-nav.open{display:flex}.site-nav a:not(.btn){padding:12px 0;border-bottom:1px solid var(--line)}.site-nav .btn{margin-top:12px}.contact-grid,.details-form,.form-grid{grid-template-columns:1fr}.section{padding:56px 0}.booking,.form-grid{padding:18px}}@media (max-width: 520px){.service{flex-direction:column}.service-meta{align-items:flex-start;text-align:left;flex-direction:row;gap:12px}.choice{flex-wrap:wrap}.choice-meta{text-align:left;flex-direction:row;gap:10px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}:root{--bg: #fffaf4;--bg-alt: #fdf0e2;--surface: #ffffff;--ink: #2f2620;--heading: #2a1f17;--muted: #6e6056;--line: #f0e2d3;--line-strong: #dcc7b3;--accent: #c4621f;--accent-ink: #a14f15;--accent-contrast: #ffffff;--accent-soft: #fde7d3;--link: #a14f15;--focus: #2f6fb2;--danger: #b42318;--success: #2f7a52;--radius: 22px;--radius-btn: 999px;--shadow: 0 10px 30px rgba(120, 72, 30, .08);--font-head: "Nunito", ui-rounded, system-ui, sans-serif;--font-body: "Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif}.emergency{background:#fff0e8;border-bottom:1px solid #f6cdb5;color:#6b2a0c;font-size:15px;padding:10px 0}.emergency a{color:#8f2d06;font-weight:800}.hero{padding:56px 0 72px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.hero h1{font-size:clamp(36px,5.4vw,60px);font-weight:800;letter-spacing:-.02em}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.badges{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:28px 0 0}.badges li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px}.badges li:before{content:"♥ ";color:var(--accent)}.hero-art svg{width:100%;height:auto}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr}.hero-art{max-width:420px;margin:0 auto}}
