@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{--ink:#17352e;--cream:#f7f2e8;--paper:#fffdf8;--sage:#dbe5d7;--mint:#eef3e9;--coral:#e97b61;--gold:#e7b95e;--muted:#6b7c76;--line:#d9dfd7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;line-height:1.55}.wrap{width:min(1140px,100% - 40px);margin:auto}.nav{justify-content:space-between;align-items:center;height:82px;display:flex}.brand{color:var(--ink);align-items:center;gap:11px;font:700 20px Fraunces;text-decoration:none;display:flex}.brand b{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.nav nav{align-items:center;gap:28px;display:flex}.nav nav a{color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}.pill{border:1px solid var(--ink);border-radius:99px;padding:10px 16px}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:75px;min-height:650px;padding:30px 0 80px;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#487162;font-size:12px;font-weight:700}.hero h1{letter-spacing:-.055em;margin:17px 0 25px;font:700 clamp(54px,6.5vw,88px)/.98 Fraunces}.hero h1 em{color:var(--coral)}.lede{color:var(--muted);font-size:18px}.actions{align-items:center;gap:26px;margin:32px 0;display:flex}.actions>a:not(.button){color:var(--ink);font-weight:700}.button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:14px 21px;font:700 14px DM Sans;text-decoration:none}.button:disabled{opacity:.55}.trust{color:#527067;gap:20px;font-size:12px;display:flex}.art{background:var(--sage);border-radius:48% 48% 22px 22px;height:500px;position:relative;overflow:hidden}.art>i{background:#f2cf84;border-radius:50%;width:180px;height:180px;position:absolute;top:40px;right:-25px}.cat{background:#d79168;border-radius:48% 48% 35% 35%;justify-content:center;gap:42px;width:230px;height:300px;padding-top:78px;font-size:25px;display:flex;position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.cat:before,.cat:after{content:"";border-bottom:110px solid #d79168;border-left:55px solid #0000;border-right:15px solid #0000;position:absolute;top:-35px}.cat:before{left:10px;transform:rotate(-12deg)}.cat:after{right:10px;transform:scaleX(-1)rotate(-12deg)}.cat b{position:absolute;top:101px}.card{color:var(--coral);background:#fffefaeb;border-radius:12px;gap:12px;padding:15px 18px;display:flex;position:absolute;bottom:18px;left:22px;right:22px}.card strong,.card small{color:var(--ink);display:block}.card small{color:var(--muted)}.services{padding:95px 0}.heading{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.heading h2,.how h2,.booking h2,.about h2{margin:9px 0;font:700 44px/1.1 Fraunces}.heading>p{max-width:450px;color:var(--muted)}.grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.grid article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:30px}.grid article.featured{background:var(--mint)}.icon{background:var(--cream);border-radius:50%;place-items:center;width:45px;height:45px;font-size:20px;display:grid}.grid h3{font:700 22px Fraunces}.grid p{color:var(--muted);min-height:75px}.grid article>div{border-top:1px solid var(--line);justify-content:space-between;padding-top:18px;display:flex}.grid strong{font:700 24px Fraunces}.rate-note{background:var(--cream);text-align:center;color:var(--muted);border-radius:12px;margin-top:20px;padding:18px}.about{background:var(--mint);padding:90px 0}.about-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:90px;display:grid}.about p:not(.eyebrow){color:var(--muted);font-size:17px}.credentials{gap:12px;display:grid}.credentials div{background:#fff;border-radius:12px;padding:22px 25px}.credentials strong,.credentials span{display:block}.credentials strong{font:700 20px Fraunces}.credentials span{color:var(--muted)}.how{background:var(--ink);color:#fff;padding:85px 0}.how .eyebrow{color:#a7c8b9}.steps{grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px;display:grid}.steps>div{border-top:1px solid #ffffff45;padding-top:22px}.steps b{color:var(--gold)}.steps h3{font:600 22px Fraunces}.steps p{color:#d1ddd8}.booking{grid-template-columns:.7fr 1.3fr;gap:60px;padding:100px 0;display:grid}.muted,.promise p{color:var(--muted)}.promise{border-left:3px solid var(--coral);margin-top:45px;padding-left:20px}.booking-card,.admin-card{background:var(--cream);border-radius:18px;padding:30px}.calendar-head{justify-content:space-between;align-items:center;display:flex}.calendar-head h3{font:700 23px Fraunces}.calendar-head button{border:1px solid var(--line);background:#fff;border-radius:8px;width:38px;height:38px}.calendar{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.weekdays{text-align:center;color:var(--muted);margin:18px 0 6px}.calendar>button{border:1px solid var(--line);min-height:56px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px}.calendar>button span,.calendar>button small{display:block}.calendar>button small{color:#4c7666;font-size:9px}.calendar>button.unavailable{color:#9b9b91;background:#eee9e1;text-decoration:line-through}.calendar>button.selected{outline:2px solid var(--coral);background:#fff5f1}.calendar-help{color:var(--muted);font-size:11px}label{margin:14px 0;font-size:12px;font-weight:700;display:block}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd1c8;border-radius:8px;margin-top:6px;padding:12px;font:500 14px DM Sans;display:block}.two,.three{gap:12px;display:grid}.two{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr)}.estimate{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin:18px 0;padding:14px;display:flex}.estimate span,.estimate small{display:block}.estimate small{color:var(--muted)}.estimate strong{font:700 25px Fraunces}.full{width:100%}.form-message{background:var(--sage);border-radius:8px;padding:12px}footer{background:var(--cream);text-align:center;padding:50px 0}footer .brand{justify-content:center}.admin-shell{background:#f5f4ef;min-height:100vh}.admin-nav{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:72px;padding:0 max(24px,50% - 590px);display:flex}.admin-content{width:min(1180px,100% - 40px);margin:45px auto}.admin-heading{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.admin-heading h1{margin:0;font:700 42px Fraunces}.admin-heading nav{background:#e7e7df;border-radius:10px;gap:6px;padding:5px;display:flex}.admin-heading nav button{background:0 0;border:0;border-radius:7px;padding:10px 16px;font-weight:700}.admin-heading nav button.active{background:#fff}.admin-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.admin-card{border:1px solid var(--line);background:#fff}.admin-card h2{font:700 23px Fraunces}.wide{grid-column:1/-1}.metric{background:var(--mint);border-radius:10px;align-items:baseline;gap:12px;margin-top:20px;padding:18px;display:flex}.metric strong{font:700 38px Fraunces}.admin-check{align-items:center;gap:8px;display:flex}.admin-check input{width:auto;margin:0}.exception-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.exception-list button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.exception-list span,.exception-list strong{display:block}.notice{background:var(--ink);color:#fff;z-index:3;border:0;border-radius:8px;padding:12px 16px;position:fixed;top:85px;right:25px}.booking-list{gap:10px;display:grid}.booking-row{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.booking-summary{text-align:left;background:#fff;border:0;grid-template-columns:100px 1.2fr 1fr 70px;align-items:center;gap:15px;width:100%;padding:17px;display:grid}.status{text-align:center;background:#eee;border-radius:99px;padding:5px 8px;font-size:11px}.status.approved,.status.paid{background:#d8eadc}.status.cancelled{background:#f2d8d1}.booking-edit{border-top:1px solid var(--line);background:#faf9f5;padding:22px}.loading{text-align:center;padding:80px}@media (max-width:800px){.nav nav a:not(.pill){display:none}.hero,.booking,.about-grid{grid-template-columns:1fr}.hero{gap:35px}.art{height:400px}.grid,.steps,.admin-grid{grid-template-columns:1fr}.wide{grid-column:auto}.heading,.admin-heading{display:block}.admin-heading nav{margin-top:18px}.booking-summary,.exception-list{grid-template-columns:1fr}}@media (max-width:520px){.wrap,.admin-content{width:calc(100% - 24px)}.two,.three{grid-template-columns:1fr}.calendar>button{min-height:49px;font-size:12px}.calendar>button small{display:none}.hero h1{font-size:50px}.heading h2,.how h2,.booking h2,.about h2{font-size:36px}.trust{flex-direction:column;gap:4px}}
