@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Great+Vibes&family=Playfair+Display:ital,wght@0,500;1,500&display=swap";:root{--ink:#20362f;--cream:#f7f3eb;--sage:#d9dfd1;--moss:#63765d;--clay:#c77758;--white:#fff;--line:#d8d8cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button,a{font:inherit}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;background:#f7f3ebf0;border-bottom:1px solid #ccd1c8;justify-content:space-between;align-items:center;height:88px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:.22em;flex-direction:column;text-decoration:none;display:flex}.brand span{font-family:Playfair Display;font-size:24px}.brand small{margin-top:4px;font-size:8px}.brand.light{color:#f6f1e7}.topbar nav{gap:8px;display:flex}.topbar nav button{color:#66736d;background:0 0;border:0;border-radius:99px;padding:10px 16px}.topbar nav button.active{background:var(--ink);color:#fff}.hero{background:radial-gradient(circle at 78% 35%,#dbe1d4 0 14%,transparent 14.5%),linear-gradient(110deg,var(--cream) 65%,#e6e8df 65%);grid-template-columns:1.5fr 1fr;align-items:center;gap:10vw;min-height:650px;padding:90px 8vw 70px;display:grid}.eyebrow{letter-spacing:.2em;color:var(--moss);font-size:11px;font-weight:600}h1,h2,h3{margin:.25em 0;font-family:Playfair Display,serif;font-weight:500}.hero h1{font-size:clamp(52px,7vw,92px);line-height:.94}.hero h1 em{color:var(--clay);font-weight:500}.lede{color:#5e6c66;max-width:520px;font-size:18px;line-height:1.7}.hero-actions{align-items:center;gap:28px;margin-top:36px;display:flex}.primary{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:2px;padding:16px 24px;text-decoration:none;display:inline-block}.text-link{color:var(--ink)}.hero-card{background:var(--ink);color:#fff;padding:42px 38px;transform:rotate(2deg);box-shadow:18px 18px #cbd3c7}.hero-card span,.hero-card small{letter-spacing:.15em;color:#bfc9c2;font-size:10px;display:block}.hero-card strong{margin:18px 0 4px;font:italic 36px Playfair Display;display:block}.hero-card b{margin:20px 0 6px;font:34px Playfair Display;display:block}.services{background:#fdfbf6;padding:100px 6vw}.section-head{justify-content:space-between;align-items:end;gap:30px;display:flex}.section-head h2,.booking h2{font-size:48px}.section-head>p{color:#66736d;max-width:300px}.service-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:50px;display:grid}.service-grid article{border-right:1px solid var(--line);flex-direction:column;min-height:330px;padding:35px 26px;display:flex}.service-grid article:last-child{border:0}.service-grid .number{color:#b9b7ae;font:italic 32px Playfair Display}.service-grid h3{font-size:27px}.service-grid article>p:not(.eyebrow){color:#69746f;line-height:1.6}.service-grid footer{grid-template-columns:1fr 1fr auto;align-items:center;margin-top:auto;display:grid}.service-grid footer span{color:#74817b;font-size:12px}.service-grid footer button{border:1px solid var(--ink);background:0 0;border-radius:50%;width:36px;height:36px;font-size:20px}.booking{background:var(--sage);grid-template-columns:.85fr 1.15fr;gap:8vw;padding:100px 8vw;display:grid}.booking-intro>p:not(.eyebrow){color:#5a6862;line-height:1.7}.booking-intro ol{margin-top:50px;padding:0;list-style:none}.booking-intro li{color:#7a877f;align-items:center;gap:15px;margin:18px 0;display:flex}.booking-intro li span{border:1px solid #9aa49c;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.booking-intro li.done{color:var(--ink)}.booking-intro li.done span{background:var(--ink);color:#fff}.booking-panel{background:#fff;min-height:550px;padding:45px;box-shadow:0 16px 50px #6a786f1c}.booking-panel h3{font-size:34px}.options{gap:10px;margin:26px 0;display:grid}.options button{text-align:left;border:1px solid var(--line);background:#fff;justify-content:space-between;padding:16px;display:flex}.options button.selected{border:2px solid var(--ink);background:#f2f5ef}.options small,.summary small{color:#78827d;margin-top:4px;display:block}.wide{text-align:center;width:100%}.field{gap:8px;margin:18px 0;font-size:12px;font-weight:600;display:grid}.field input,.field textarea{font:inherit;background:#fafaf7;border:1px solid #cfd4ce;padding:14px}.field textarea{min-height:80px}.field-label{font-size:12px;font-weight:600}.slots{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 24px;display:grid}.slots button{border:1px solid var(--line);background:#fff;padding:12px}.slots button.selected{background:var(--ink);color:#fff}.back{color:#63716b;background:0 0;border:0;margin:16px auto 0;display:block}.summary,.ticket{background:#f0f3ed;justify-content:space-between;padding:18px;display:flex}.fineprint{text-align:center;color:#78827d;font-size:11px}.success{text-align:center}.success-mark{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:60px;height:60px;margin:10px auto 22px;font-size:26px;display:grid}.ticket{flex-direction:column;gap:6px;margin:28px 0}.ticket strong{font:38px Playfair Display}.site-footer{background:var(--ink);color:#e8ede8;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;padding:60px 6vw;display:grid}.site-footer a{color:#fff}.site-footer>small{color:#9caaa4}.dashboard{background:#f4f3ee;grid-template-columns:220px 1fr;min-height:calc(100vh - 88px);display:grid}.dashboard aside{background:var(--ink);flex-direction:column;gap:8px;padding:32px 22px;display:flex}.dashboard aside .brand{margin-bottom:45px}.dashboard aside button{color:#bdc8c2;text-align:left;background:0 0;border:0;border-radius:4px;padding:13px 16px}.dashboard aside button.current{color:#fff;background:#ffffff13}.dashboard aside>small{color:#8fa097;margin-top:auto;padding:15px}.dash-main{padding:50px 5vw}.dash-main>header{justify-content:space-between;align-items:center;display:flex}.dash-main h1{font-size:42px}.stats{grid-template-columns:repeat(3,1fr);gap:15px;margin:35px 0;display:grid}.stats article{background:#fff;border:1px solid #e2e0d9;padding:24px}.stats strong{margin-top:8px;font:38px Playfair Display;display:block}.schedule{background:#fff;padding:30px}.schedule .section-head button{border:1px solid var(--line);background:#fff;padding:10px 15px}.appointment{border-top:1px solid #e7e6e0;grid-template-columns:80px 1fr 120px 110px;align-items:center;padding:22px 5px;display:grid}.appointment div span{color:#718079;margin-top:4px;font-size:13px;display:block}.appointment>button{background:#edf0eb;border:0;padding:9px}.badge{letter-spacing:.08em;font-size:10px}.badge.pending{color:#a95731}.badge.confirmed{color:#37705a}.blocked{color:#7a7d76;background:#f0eee8;gap:40px;padding:18px;display:flex}@media (width<=800px){.topbar{height:72px;padding:0 20px}.hero{background:var(--cream);grid-template-columns:1fr;padding:65px 22px}.hero h1{font-size:54px}.hero-card{margin:20px 12px}.hero-actions{flex-direction:column;align-items:flex-start}.services{padding:70px 22px}.section-head{display:block}.section-head h2,.booking h2{font-size:40px}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:260px;padding-left:0;padding-right:0}.booking{grid-template-columns:1fr;padding:70px 20px}.booking-panel{padding:25px 20px}.slots{grid-template-columns:repeat(3,1fr)}.site-footer{grid-template-columns:1fr;gap:30px}.dashboard{grid-template-columns:1fr}.dashboard aside{display:none}.dash-main{padding:30px 16px}.dash-main>header{align-items:flex-start;gap:20px}.dash-main h1{font-size:32px}.stats{grid-template-columns:1fr 1fr}.stats article:last-child{grid-column:1/-1}.appointment{grid-template-columns:55px 1fr;gap:12px}.appointment>.badge,.appointment>button{grid-column:2}.topbar nav button{padding:8px 10px}}.topbar nav a{color:var(--ink);padding:10px 14px;text-decoration:none}.admin-link{border:1px solid var(--ink)}.announcement,.form-error,.save-message{border-left:3px solid var(--clay);background:#fff4e6;padding:12px 16px}button:disabled{opacity:.45;cursor:not-allowed}.loading,.access-denied{text-align:center;place-content:center;min-height:100vh;padding:30px;display:grid}.access-denied h1{font-size:54px}.admin-shell{background:#f4f3ee;grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-shell>aside{background:var(--ink);flex-direction:column;gap:8px;padding:35px 22px;display:flex}.admin-shell>aside .brand{margin-bottom:45px}.admin-shell>aside button,.admin-shell>aside a{color:#bdc8c2;text-align:left;background:0 0;border:0;padding:13px 16px;text-decoration:none}.admin-shell>aside .current{color:#fff;background:#ffffff13}.admin-shell>aside a{margin-top:auto}.admin-main{padding:48px 5vw}.admin-main>header{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.admin-main h1{font-size:42px}.admin-main h2{font-size:36px}.admin-list{gap:10px;display:grid}.booking-row,.admin-card{background:#fff;border:1px solid #e1dfd7;grid-template-columns:150px 1fr 120px 130px;align-items:center;gap:20px;padding:18px;display:grid}.booking-row div span,.admin-card div span,.admin-card>span{color:#718079;margin-top:4px;font-size:13px;display:block}.booking-row select,.admin-card button{background:#fff;border:1px solid #d6d6ce;padding:9px}.admin-form,.settings-grid{background:#fff;border:1px solid #e1dfd7;grid-template-columns:repeat(2,1fr);gap:16px;margin:20px 0 30px;padding:24px;display:grid}.admin-form label,.settings-grid label{gap:7px;font-size:12px;font-weight:600;display:grid}.admin-form input,.settings-grid input{border:1px solid #d4d5ce;padding:12px}.admin-form .primary,.settings-grid .primary{align-self:end}.admin-note{color:#68756f;max-width:650px;line-height:1.6}@media (width<=800px){.admin-shell{grid-template-columns:1fr}.admin-shell>aside{z-index:5;flex-direction:row;padding:10px;display:flex;position:sticky;top:0;overflow:auto}.admin-shell>aside .brand,.admin-shell>aside a{display:none}.admin-shell>aside button{white-space:nowrap}.admin-main{padding:25px 16px}.admin-main>header{align-items:flex-start;gap:15px}.admin-main h1{font-size:30px}.booking-row,.admin-card,.admin-form,.settings-grid{grid-template-columns:1fr}}.admin-header-actions{align-items:center;gap:12px;display:flex}.customer-site-link{border:1px solid var(--ink);min-height:48px;color:var(--ink);white-space:nowrap;background:#fff;justify-content:center;align-items:center;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-flex}@media (width<=800px){.admin-main>header{flex-direction:column}.admin-header-actions{flex-wrap:wrap;width:100%}.customer-site-link,.admin-header-actions .primary{flex:1;min-width:150px}}.dashboard-summary{grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0 42px;display:grid}.dashboard-summary article{background:#fff;border:1px solid #e1dfd7;padding:22px}.dashboard-summary strong{margin-top:10px;font:34px Playfair Display;display:block}.appointment-cards{gap:12px;display:grid}.appointment-card{border-left:5px solid var(--ink);background:#fff;grid-template-columns:90px 1fr 130px 180px;align-items:center;gap:18px;padding:20px;display:grid}.appointment-card time{font:25px Playfair Display}.appointment-card h3{margin:0}.appointment-card p,.appointment-card span{color:#718079;margin:4px 0}.status-pill{letter-spacing:.08em;text-align:center;border-radius:99px;padding:7px 9px;font-size:11px}.status-pill.pending{color:#944d21;background:#fff0dc}.status-pill.confirmed{color:#286048;background:#e4f1e9}.status-pill.completed{color:#405781;background:#e8edf6}.status-pill.cancelled,.status-pill.declined{color:#8b423b;background:#f2e5e3}.card-actions{align-items:center;gap:8px;display:flex}.card-actions a,.card-actions select{color:var(--ink);background:#fff;border:1px solid #d6d6ce;padding:9px}.service-admin-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.service-admin-card{background:#fff;border:1px solid #e1dfd7;grid-template-columns:40px 1fr auto;align-items:center;padding:20px;display:grid}.service-admin-card>span{color:#37705a;font-size:24px}.service-admin-card h3,.service-admin-card p{margin:3px}.service-admin-card button{background:#fff;border:1px solid #d6d6ce;padding:9px 14px}.audit-row{background:#fff;border:1px solid #e1dfd7;grid-template-columns:180px 1fr 1.2fr 1fr;gap:12px;padding:15px;font-size:13px;display:grid}.admin-form select{border:1px solid #d4d5ce;padding:12px}.checkbox{align-items:center;grid-template-columns:auto 1fr!important;display:flex!important}@media (width<=900px){.dashboard-summary{grid-template-columns:repeat(2,1fr)}.appointment-card{grid-template-columns:70px 1fr}.appointment-card .status-pill,.appointment-card .card-actions{grid-column:2}.service-admin-grid{grid-template-columns:1fr}.audit-row{grid-template-columns:1fr 1fr}}.owner-login{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:30px;display:flex}.owner-login h1{font-size:54px}.owner-login>p{max-width:520px}.owner-login>a:not(.primary){color:var(--ink)}.admin-link{display:none!important}.booking-public{text-align:center;background:var(--cream);flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:30px;display:flex}.booking-public h1{font-size:50px}.booking-public>a:not(.primary){color:var(--ink)}.public-ticket{border:1px solid var(--line);background:#fff;flex-direction:column;gap:9px;min-width:min(440px,90vw);padding:34px;display:flex}.public-ticket>strong{font:38px Playfair Display}.public-ticket h2{font-size:28px}:root{--ink:#6f2348;--cream:#fff7fa;--sage:#f7dce7;--moss:#9f526f;--clay:#c43f79;--white:#fff;--line:#edc8d7;--blush:#efb9ce;--berry:#8a2857}body{background:var(--cream);color:var(--ink)}.topbar{background:#fff9fbf0;border-bottom-color:#efd3df;box-shadow:0 8px 30px #6f23480d}.topbar nav button{color:#8d5970}.topbar nav button.active,.primary{background:linear-gradient(135deg,#8a2857,#c43f79);box-shadow:0 10px 25px #8a285733}.primary{border-radius:999px;font-weight:600}.text-link,.topbar nav a{color:var(--ink)}.hero{isolation:isolate;background:linear-gradient(115deg,#fff8fb 0 58%,#f2c6d7 58% 100%);grid-template-columns:1.15fr .85fr;position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;background:radial-gradient(circle at 12% 18%,#efb9ce61,#0000 23%),radial-gradient(circle at 82% 72%,#c43f792b,#0000 30%);position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:url(/teelady-pink-hero.jpg) 50% 42%/cover no-repeat;border:8px solid #ffffff9e;border-radius:220px 220px 28px 28px;width:min(35vw,430px);height:540px;position:absolute;top:50%;right:5vw;transform:translateY(-50%);box-shadow:0 30px 70px #6f23483d}.hero-copy{z-index:2;position:relative}.hero h1 em{color:var(--clay)}.lede{color:#75596a}.hero-card{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#6f2348f0;border:1px solid #ffffff4d;border-radius:22px;align-self:end;margin:0 0 -40px 35px;padding:28px;position:relative;transform:none;box-shadow:14px 14px #ffdfebb8}.hero-card span,.hero-card small{color:#f5ccdc}.services{background:#fffafd}.service-grid article{background:linear-gradient(#fff,#fff8fb)}.service-grid .number{color:#d79bb2}.service-grid article>p:not(.eyebrow),.section-head>p{color:#7e6671}.booking{background:linear-gradient(135deg,#f8dce7,#efbdd0)}.booking-panel,.schedule,.stats article,.dashboard-summary article,.appointment-card,.admin-card,.booking-row,.service-admin-card,.admin-form,.settings-grid,.public-ticket{border-color:#edc8d7;border-radius:20px;box-shadow:0 14px 40px #6f234812}.options button,.slots button,.field input,.field textarea,.admin-form input,.settings-grid input,.admin-form select{border-color:#e9c5d4;border-radius:12px}.options button.selected{background:#fff0f6}.summary,.ticket{background:#fff0f6;border-radius:14px}.site-footer{background:linear-gradient(135deg,#5d1c3c,#8a2857)}.admin-shell,.dashboard{background:#fff6fa}.admin-shell>aside,.dashboard aside{background:linear-gradient(#5d1c3c,#8a2857)}.admin-shell>aside button,.admin-shell>aside a{color:#f4cada}.admin-shell>aside .current{background:#ffffff1f;border-radius:12px}.customer-site-link{color:var(--ink);background:#fff8fb;border-color:#d99ab2;border-radius:999px}.appointment-card{border-left-color:#c43f79}.service-admin-card>span{color:#b2356e}.owner-login,.booking-public{background:radial-gradient(circle at 50% 15%,#f1bfd2,#0000 35%),linear-gradient(150deg,#fff9fb,#f8dce7)}.public-ticket{background:#ffffffe0}@media (width<=800px){.hero{background:linear-gradient(160deg,#fff8fb 0 58%,#f2c6d7 58% 100%);padding-bottom:485px}.hero:after{width:84%;height:400px;top:auto;bottom:42px;right:8%;transform:none}.topbar{background:#fff9fbf5}}.hero{background:linear-gradient(115deg,#ce7298 0 58%,#edb7cc 58% 100%)}.hero:before{background:radial-gradient(circle at 12% 18%,#ffe1ec4d,#0000 24%),radial-gradient(circle at 49% 80%,#7d1e4833,#0000 34%)}.hero .eyebrow,.hero h1,.hero .lede,.hero .text-link{color:#fff}.hero h1{text-shadow:0 3px 20px #5c193a29;font-family:Playfair Display,serif;font-weight:500}.hero h1 em{color:#fff;margin-top:.12em;font-family:Great Vibes,cursive;font-size:1.08em;font-weight:400;line-height:1.05;display:inline-block}.hero .lede{color:#fff7fb}.hero .text-link{font-weight:600}@media (width<=800px){.hero{background:linear-gradient(165deg,#ce7298 0 55%,#edb7cc 55% 100%)}}.specials-section{background:#fff5f9;padding:72px 6vw}.specials-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:34px;display:grid}.special-card{background:var(--ink);color:#fff;border-radius:18px;flex-direction:column;align-items:flex-start;min-width:0;max-width:100%;padding:34px 30px;display:flex;box-shadow:0 16px 34px #6f234829}.special-card>span{letter-spacing:.15em;color:#f2c6d7;font-size:10px}.special-card>strong{margin:14px 0 5px;font:italic 30px Playfair Display}.special-card>p{line-height:1.55}.special-card>b{margin:12px 0;font:30px Playfair Display}.special-card>button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #fff;margin-top:auto;padding:11px 15px}.specials-section,.specials-grid{max-width:100%;overflow:visible}@media (width<=800px){.specials-section{padding:58px 22px}.specials-grid{grid-template-columns:1fr;gap:16px}.special-card{width:100%;padding:28px 24px}}.privacy-notice,.privacy-controls{color:#6f2348;background:#fff5f9;border:1px solid #e7b7ca;border-radius:14px;margin:18px 0;padding:16px 18px}.privacy-notice p,.privacy-controls p{margin:6px 0;font-size:12px;line-height:1.55}.privacy-controls{max-width:760px}.privacy-action,.danger-action{color:#8a2857;cursor:pointer;background:#fff;border:1px solid #b94a72;border-radius:10px;padding:9px 12px}.danger-action{color:#fff;background:#8a2857}.card-actions{flex-wrap:wrap}.appointment-groups{gap:30px;display:grid}.appointment-date-group{gap:10px;display:grid}.appointment-date-heading{z-index:2;color:#7b2a50;letter-spacing:.02em;background:#fff6fa;border-bottom:1px solid #e6b8ca;margin:0;padding:9px 4px;font:600 15px DM Sans,sans-serif;position:sticky;top:0}.appointment-date-group .appointment-cards{gap:8px}.appointment-date-group .appointment-card{padding-top:16px;padding-bottom:16px}@media (width<=900px){.appointment-groups{gap:24px}.appointment-date-heading{top:58px}}@media (width<=800px){.appointment-date-heading{padding-left:2px;top:56px}.appointment-date-group .appointment-card{padding:15px 14px}}.site-footer{grid-template-columns:2fr 1fr 1.35fr 1fr;gap:24px}.site-footer nav{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.site-footer nav a{text-underline-offset:3px}.site-footer>small{grid-column:1/-1}.info-page{background:var(--cream);min-height:100vh;color:var(--ink)}.info-topbar{border-bottom:1px solid var(--line);background:#fff9fbf5;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:16px 6vw;display:flex}.info-topbar>a:last-child{color:var(--ink);font-weight:600}.info-hero{color:#fff;background:linear-gradient(135deg,#ce7298,#edb7cc);padding:72px 6vw 44px}.info-hero .eyebrow{color:#fff}.info-hero h1{max-width:900px;font-size:clamp(42px,7vw,76px);line-height:1}.info-hero>p:last-child{max-width:720px;font-size:18px;line-height:1.65}.info-content{width:min(860px,88vw);margin:0 auto;padding:58px 0 72px}.info-content section{border-bottom:1px solid var(--line);margin:0 0 30px;padding:0 0 30px}.info-content section:last-of-type{border-bottom:0}.info-content h2{font-size:30px}.info-content p,.info-content li{color:#75596a;line-height:1.75}.info-content ul{padding-left:22px}.info-action{color:#fff;background:linear-gradient(135deg,#8a2857,#c43f79);border-radius:999px;margin-top:10px;padding:13px 20px;font-weight:600;text-decoration:none;display:inline-block}.info-email{color:var(--ink);font-weight:600}.info-updated{font-size:13px}.info-footer{text-align:center;color:#f8dce7;background:#6f2348;padding:28px 6vw}.info-footer a{color:#fff}@media (width<=800px){.site-footer{grid-template-columns:1fr}.site-footer>small{grid-column:auto}.info-topbar{padding:14px 20px}.info-topbar .brand small{display:none}.info-hero{padding:54px 22px 34px}.info-content{width:auto;padding:42px 22px 58px}.info-content h2{font-size:26px}}
