@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Cormorant+Garamond:wght@500;600;700&family=Quicksand:wght@300;400;700&display=swap");:root{--ink:#2a1d1f;--muted:#77696c;--accent:#bb6b76;--accent-soft:#f3d8d7;--accent-deep:#8d5159;--blush:#fff7f4;--cream:#fffcfa;--line:#eadede;--card:hsla(0,0%,100%,.88);--shadow:0 24px 60px rgba(106,70,76,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(255,214,220,.7),transparent 28%),linear-gradient(180deg,#fbf3f1,#f7efeb);color:var(--ink);font-family:DM Sans,sans-serif}a,button,input{-webkit-tap-highlight-color:transparent}.app-shell{max-width:100vw;margin:0 auto;background:var(--cream);min-height:100vh;box-shadow:0 0 0 1px hsla(0,0%,100%,.6);display:flex;flex-direction:column}.topbar{height:84px;padding:0 6.5%;display:flex;justify-content:space-between;border-bottom:1px solid rgba(187,107,118,.12);background:rgba(255,252,250,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.topbar{align-items:center}.brand{display:inline-flex;color:var(--ink);text-decoration:none}.brand-logo{width:auto;height:46px;display:block}.meow-brand{gap:12px}.meow-brand-mark{width:52px;height:52px;display:block;border-radius:15px;object-fit:cover}.meow-brand-name{color:#6f3942;font-family:Quicksand,sans-serif;font-size:18px;font-weight:500;letter-spacing:.04em}.meow-brand-name b{font-weight:750}.brand-generic{gap:12px}.brand-generic-mark{width:32px;height:32px;display:block}.brand-generic-wordmark{font-size:14px;font-weight:700;letter-spacing:.24em}.topbar-right{display:flex;align-items:center;gap:22px;color:var(--muted);font-size:12px}.back,.topbar-right button{border:0;background:none;color:var(--muted);font:inherit;cursor:pointer}.topbar-link{color:var(--muted);text-decoration:none}.booking-layout{display:grid;grid-template-columns:minmax(360px,44%) minmax(0,56%);min-height:calc(100vh - 84px - 64px);flex:1 0 auto}.intro-panel{position:relative;padding:82px 7vw 42px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 15% 18%,rgba(255,231,226,.95),transparent 24%),radial-gradient(circle at 78% 85%,rgba(239,208,211,.55),transparent 19%),linear-gradient(160deg,#fff5f3,#fdf7f3 52%,#f7ece8)}.intro-panel:before{content:"";position:absolute;inset:28px 22px 28px 28px;border-radius:34px;border:1px solid rgba(187,107,118,.12);pointer-events:none}.intro-panel:after{content:"✦";position:absolute;right:28px;bottom:22px;font-size:clamp(110px,17vw,220px);color:rgba(187,107,118,.1);transform:rotate(12deg);line-height:1}.intro-copy-wrap{position:relative;z-index:1;max-width:560px}.eyebrow,.section-label,.seo-kicker{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-weight:700}.eyebrow{margin-bottom:22px}.intro-panel h1{margin:0;font-family:Cormorant Garamond,serif;font-weight:600;font-size:clamp(3.6rem,7vw,6.4rem);line-height:.92;letter-spacing:-.04em;max-width:8.5ch}.intro-panel h1 em{color:var(--accent);font-style:italic;font-weight:600}.intro-copy{margin:28px 0 0;max-width:36ch;color:var(--muted);font-size:17px;line-height:1.75}.intro-highlights{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.intro-highlights span{padding:10px 14px;border-radius:999px;background:hsla(0,0%,100%,.72);border:1px solid rgba(187,107,118,.14);color:var(--accent-deep);font-size:12px}.studio-card{display:flex;align-items:center;gap:14px;margin-top:38px;padding:16px 18px;max-width:420px;border-radius:20px;background:var(--card);border:1px solid rgba(187,107,118,.12);box-shadow:var(--shadow);position:relative;z-index:1}.studio-photo{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#f7d8de,#e8a6b5);flex:0 0 auto;border:1px solid hsla(0,0%,100%,.72)}.studio-photo-logo{width:34px;height:34px;display:block}.studio-photo-generic{background:linear-gradient(135deg,#141414,#525252)}.studio-card small,.studio-card strong{display:block}.studio-card strong{font-size:14px;margin-bottom:4px}.studio-card small{color:var(--muted);font-size:11px;line-height:1.5}.trust-row{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.trust-row span{padding:10px 12px;border-radius:999px;background:hsla(0,0%,100%,.72);border:1px solid rgba(42,29,31,.08);color:#8c7b7e;font-size:11px}.booking-card{width:100%;max-width:780px;justify-self:center;padding:56px 8% 64px}.progress{display:flex;align-items:center;position:relative;gap:0;margin-bottom:46px}.progress span{width:32px;height:32px;border-radius:50%;border:1px solid #d8caca;background:#fff;color:#9c8d90;display:grid;place-items:center;font-size:12px}.progress span.active{background:var(--ink);border-color:var(--ink);color:#fff}.progress i{width:56px;height:1px;background:#ddd2d2}.progress label{position:absolute;top:40px;left:0;color:#998b8e;font-size:11px;word-spacing:18px}.step-heading h2{margin:0 0 8px;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,3vw,3.3rem);line-height:.98;font-weight:600}.step-heading p{margin:0 0 28px;color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.service{padding:0;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.service,.service-image-wrap{position:relative;overflow:hidden}.service-image-wrap{aspect-ratio:4/3;background:var(--blush)}.service-image{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.service:hover .service-image{transform:scale(1.035)}.service-content{padding:18px 20px 20px}.service.selected,.service:hover{transform:translateY(-2px);border-color:rgba(187,107,118,.5);box-shadow:0 18px 38px rgba(185,107,112,.12)}.service-link{text-decoration:none;color:inherit}.service-icon{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;border:1px solid hsla(0,0%,100%,.75);background:rgba(255,252,250,.82);font-size:18px;box-shadow:0 8px 20px rgba(80,45,52,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.service-badge,.service-icon{border-radius:999px;color:var(--accent-deep)}.service-badge{display:inline-block;margin-bottom:12px;padding:6px 10px;background:var(--blush);font-size:11px}.service small,.service strong{display:block}.service strong{font-size:16px;margin-bottom:6px}.service small{color:var(--muted);font-size:12px;line-height:1.55}.service .price{margin-top:14px;color:var(--accent);font-size:13px;font-weight:700}.section-label{margin:30px 0 12px}.date-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.date-nav h3{margin:0;font-family:Cormorant Garamond,serif;font-size:29px;font-weight:600}.arrow{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--accent)}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.day,.time{border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;color:var(--muted)}.day{padding:12px 0;text-align:center}.day b,.day span{display:block}.day b{font-size:10px;margin-bottom:7px}.day span{color:var(--ink);font-size:15px}.day.selected{background:var(--accent);border-color:var(--accent)}.day.selected b,.day.selected span{color:#fff}.times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.time{padding:13px 6px;text-align:center;font-size:12px}.time.selected{background:var(--ink);border-color:var(--ink);color:#fff}.summary{margin:20px 0;padding:18px;border-radius:18px;border:1px solid rgba(187,107,118,.1);background:linear-gradient(180deg,#fff8f6,#f9efed)}.summary-row{display:flex;justify-content:space-between;gap:12px;margin:7px 0;font-size:13px}.summary-row small{display:block;color:var(--muted)}.summary-row.total{padding-top:12px;border-top:1px solid #eadada;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{color:var(--muted);font-size:11px;letter-spacing:.06em}.field input{border:1px solid var(--line);border-radius:12px;padding:14px;font:inherit;font-size:14px;outline:none;background:#fff}.field input:focus{border-color:rgba(187,107,118,.45);box-shadow:0 0 0 4px rgba(187,107,118,.08)}.cta{width:100%;margin-top:22px;border:0;border-radius:14px;padding:16px;background:linear-gradient(135deg,var(--ink),#3e2c2f);color:#fff;cursor:pointer;font:600 14px DM Sans,sans-serif;box-shadow:0 16px 30px rgba(42,29,31,.16);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.cta:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(42,29,31,.2)}.back{display:block;margin:16px auto 0}.back,.error{font-size:12px}.error{color:#af4b57;margin-top:14px}.success{text-align:center;padding:26px 0}.check{color:var(--accent);font-size:56px}.success h2{margin:0 0 12px;font-family:Cormorant Garamond,serif;font-size:46px;line-height:.95;font-weight:600}.success p{color:var(--muted);font-size:14px;line-height:1.7}.booking-footer{min-height:64px;padding:14px 6.5% 18px;display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid rgba(187,107,118,.1);background:rgba(255,252,250,.94);color:var(--muted);font-size:12px}.pulse-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border-radius:999px;background:#fff;border:1px solid rgba(42,29,31,.08);color:var(--ink);text-decoration:none;box-shadow:0 8px 22px rgba(42,29,31,.08)}.pulse-badge-logo{width:24px;height:24px;display:block;flex:0 0 auto}.pulse-badge-wordmark{display:inline-flex;align-items:baseline;font-family:Quicksand,sans-serif;font-size:16px;letter-spacing:.01em}.pulse-light{font-weight:300}.pulse-bold{font-weight:700}@media (max-width:1100px){.booking-layout{grid-template-columns:1fr}.booking-card,.intro-panel{min-width:0}.intro-panel{padding:72px 6.5% 36px}.intro-panel h1{max-width:11ch}}@media (max-width:720px){.topbar{height:auto;padding:18px 5.5%;flex-direction:column;align-items:flex-start;gap:10px}.topbar-right{gap:14px;flex-wrap:wrap}.booking-card{padding-left:5.5%;padding-right:5.5%}.intro-panel{padding:58px 5.5% 30px}.form-grid,.service-grid,.times{grid-template-columns:1fr}.days{grid-template-columns:repeat(4,minmax(0,1fr))}.progress{margin-bottom:58px}.progress label{max-width:260px;line-height:1.6;word-spacing:8px}.booking-footer,.summary-row{flex-direction:column}.booking-footer{text-align:center;gap:10px;padding-left:5.5%;padding-right:5.5%}}@media (max-width:480px){.brand-logo{height:38px}.meow-brand-mark{width:42px;height:42px;border-radius:12px}.meow-brand-name{font-size:15px}.topbar-right{display:none}.intro-panel:before{inset:20px 16px 20px 16px}.intro-panel h1{font-size:clamp(3rem,16vw,4rem)}.intro-copy{font-size:15px}.days{grid-template-columns:repeat(3,minmax(0,1fr))}}