:root{--ink:#18231d;--forest:#173d2d;--forest-deep:#0e2a20;--sage:#aab9a7;--cream:#f5f0e6;--paper:#fbf9f4;--gold:#b69458;--line:#18231d29;--font-display:"Baskerville", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-sans:"Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);font-family:var(--font-sans);margin:0}input,select,textarea{font-size:16px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}.site-header{z-index:20;color:#fff;border-bottom:1px solid #ffffff3d;grid-template-columns:1fr auto 1fr;align-items:center;height:106px;padding:10px clamp(20px,4.5vw,72px);display:grid;position:absolute;inset:0 0 auto}.brand{background:#fff;border-radius:50%;width:88px;height:88px;display:block;overflow:hidden;box-shadow:0 8px 25px #00000026}.brand img{object-fit:cover;width:100%;height:100%}.nav{align-items:center;gap:34px;font-size:14px;display:flex}.nav a{position:relative}.nav a:after{content:"";background:#fff;height:1px;transition:all .2s;position:absolute;bottom:-7px;left:0;right:100%}.nav a:hover:after{right:0}.nav .nav-admin{border:1px solid;border-radius:6px;padding:10px 18px}.nav .nav-admin:after{display:none}.nav .nav-admin:hover,.nav .nav-admin:focus-visible{background:#ffffff20}.header-cta{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:#0a1e163d;border:1px solid #ffffff8c;justify-self:end;align-items:center;gap:10px;padding:12px 17px;display:inline-flex}.menu-button{color:#fff;background:0 0;border:0;display:none}.hero{color:#fff;align-items:center;height:min(88vh,940px);min-height:760px;display:flex;position:relative;overflow:hidden}.hero>img{object-fit:cover;object-position:center 42%;transform:scale(1.02)}.hero-overlay{background:linear-gradient(90deg,#081b13d4 0%,#081b1385 44%,#081b1314 78%),linear-gradient(#0000 50%,#05130d52);position:absolute;inset:0}.hero-content{z-index:2;width:min(740px,88%);margin-left:clamp(24px,9vw,150px);padding-top:70px;position:relative}.eyebrow{color:var(--forest);letter-spacing:.19em;text-transform:uppercase;font-size:11px;font-weight:700}.eyebrow.light{color:#e6dcc8}.hero h1{font-family:var(--font-display);letter-spacing:-.035em;margin:22px 0 30px;font-size:clamp(58px,7.2vw,104px);font-weight:500;line-height:.87}h1 em,h2 em{font-weight:400}.hero p{color:#ffffffd9;max-width:585px;font-size:clamp(17px,1.6vw,21px);line-height:1.6}.hero-actions{gap:12px;margin-top:35px;display:flex}.button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:15px 21px;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--gold);color:#fff}.button.ghost{color:#fff;background:#ffffff08;border:1px solid #ffffff80}.button.cream{background:var(--cream);color:var(--forest-deep)}.hero-note{z-index:2;color:#fffc;align-items:center;gap:12px;font-size:13px;display:flex;position:absolute;bottom:45px;right:clamp(24px,5vw,80px)}.hero-note span{gap:2px;display:grid}.hero-note b{color:#fff;font-weight:600}.intro{text-align:center;max-width:980px;margin:0 auto;padding:125px 28px 110px}.intro h2,.section-heading h2,.booking-explainer h2,.faq-section h2{font-family:var(--font-display);letter-spacing:-.025em;margin:22px 0;font-size:clamp(44px,5vw,72px);font-weight:500;line-height:1.02}.intro p{color:#657068;max-width:680px;margin:0 auto;font-size:17px;line-height:1.8}.offers-section{padding:0 clamp(18px,4vw,64px) 110px}.section-heading{grid-template-columns:1fr 420px;align-items:end;gap:40px;max-width:1320px;margin:0 auto 44px;display:grid}.section-heading h2{margin-bottom:0}.section-heading>p{color:#66716a;margin-bottom:10px;line-height:1.7}.offer-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:460px;gap:14px;max-width:1420px;margin:0 auto;display:grid}.offer-card{color:#fff;position:relative;overflow:hidden}.offer-card>img{object-fit:cover;transition:transform .7s}.offer-card:hover>img{transform:scale(1.045)}.card-shade{background:linear-gradient(#07191108 30%,#071911e6);position:absolute;inset:0}.card-content{z-index:2;padding:34px;position:absolute;inset:auto 0 0}.card-content>span{letter-spacing:.15em;text-transform:uppercase;color:#ded1bc;margin:16px 0 4px;font-size:10px;display:block}.card-content h3{font:500 35px/1 var(--font-display);margin:8px 0 12px}.card-content p{color:#ffffffbf;min-height:45px;font-size:14px;line-height:1.6}.card-content button{color:#fff;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff80;align-items:center;gap:12px;padding:6px 0;font-size:13px;font-weight:600;display:inline-flex}.card-1{grid-column:span 2}.card-1 .card-content{max-width:580px}.booking-explainer{background:var(--forest);color:#fff;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,150px);padding:110px clamp(26px,8vw,140px);display:grid}.explainer-copy h2{margin:24px 0;font-size:clamp(48px,5vw,74px)}.explainer-copy>p{color:#ffffffb8;max-width:570px;line-height:1.8}.explainer-copy .button{margin-top:24px}.steps{border-top:1px solid #fff3}.steps>div{border-bottom:1px solid #fff3;grid-template-columns:55px 1fr;padding:28px 0;display:grid}.steps span{color:#d1bd96;font:400 20px var(--font-display);grid-row:span 2}.steps h3{font:500 28px var(--font-display);margin:0 0 8px}.steps p{color:#ffffffa6;margin:0;font-size:14px;line-height:1.6}.social-proof{background:var(--cream);grid-template-columns:1.05fr .95fr;min-height:640px;display:grid}.social-image{min-height:550px;position:relative}.social-image img{object-fit:cover;object-position:center}.social-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(60px,8vw,130px);display:flex}.social-copy blockquote{font:500 clamp(36px, 4vw, 55px)/1.12 var(--font-display);margin:25px 0}.social-copy p{color:#657068;line-height:1.7}.social-copy a{border-bottom:1px solid;align-items:center;gap:10px;margin-top:12px;padding:8px 0;font-size:13px;font-weight:700;display:inline-flex}.faq-section{grid-template-columns:.8fr 1.2fr;gap:90px;max-width:1240px;margin:0 auto;padding:120px 28px;display:grid}.faq-section h2{font-size:56px}.faq-list{border-top:1px solid var(--line)}.faq{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;width:100%;padding:26px 40px 26px 0;font-size:17px;font-weight:600;position:relative}.faq svg{transition:all .2s;position:absolute;top:25px;right:0}.faq svg.rotated{transform:rotate(180deg)}.faq p{color:#657068;max-width:620px;margin:18px 0 0;font-size:14px;font-weight:400;line-height:1.7}footer{background:var(--forest-deep);color:#fff;grid-template-columns:1.4fr .8fr .8fr auto;align-items:start;gap:55px;padding:65px clamp(24px,6vw,95px) 30px;display:grid}.footer-brand img{object-fit:cover;border-radius:50%;width:115px;height:115px}.footer-brand p{color:#ffffff9e;max-width:300px;line-height:1.6}footer>div:not(.footer-brand){flex-direction:column;gap:9px;font-size:14px;line-height:1.6;display:flex}footer>div>span{color:#c7b28b;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px;font-size:10px}footer small{color:#fff6;border-top:1px solid #ffffff1f;grid-column:1/-1;padding-top:25px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07120db8;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.booking-modal{background:var(--paper);width:min(800px,100%);max-height:calc(100vh - 48px);padding:clamp(30px,5vw,60px);position:relative;overflow-y:auto;box-shadow:0 30px 90px #00000052}.modal-close{cursor:pointer;background:0 0;border:0;position:absolute;top:22px;right:22px}.modal-heading{padding-right:40px}.modal-heading h2,.success h2{font:500 clamp(42px, 6vw, 62px)/1 var(--font-display);margin:15px 0}.modal-heading p{color:#68726c}.booking-modal form{margin-top:34px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.booking-modal label{gap:8px;margin-bottom:18px;font-size:12px;font-weight:700;display:grid}.booking-modal input:not([type=checkbox]),.booking-modal textarea{border:1px solid var(--line);background:#fff;border-radius:0;outline:none;width:100%;padding:14px 15px}.booking-modal input:focus,.booking-modal textarea:focus{border-color:var(--forest);box-shadow:0 0 0 2px #173d2d14}.consent{grid-template-columns:auto 1fr;align-items:flex-start;line-height:1.5;font-weight:400!important;display:flex!important}.consent input{accent-color:var(--forest);margin-top:3px}.submit{width:100%}.submit:disabled{opacity:.6}.form-note{color:#6b756e;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.form-note a{text-decoration:underline}.form-error{color:#a02f2f;font-size:13px}.success{text-align:center;padding:25px 0}.success>span{color:#fff;background:var(--forest);border-radius:50%;place-items:center;width:62px;height:62px;display:inline-grid}.success p{color:#68726c;max-width:510px;margin:20px auto 30px;line-height:1.7}@media (max-width:900px){.site-header{grid-template-columns:1fr auto;height:90px}.brand{width:70px;height:70px}.nav{background:var(--forest-deep);flex-direction:column;align-items:flex-start;padding:28px;display:none;position:absolute;top:90px;left:0;right:0}.nav.open{display:flex}.header-cta{display:none}.menu-button{display:block}.hero{height:90vh;min-height:680px}.hero-content{margin-left:7vw;padding-top:50px}.hero h1{font-size:clamp(54px,13vw,80px)}.hero-note{display:none}.section-heading{grid-template-columns:1fr;gap:10px}.offer-grid{grid-template-columns:1fr 1fr}.card-1{grid-column:auto}.booking-explainer,.social-proof{grid-template-columns:1fr}.faq-section{grid-template-columns:1fr;gap:30px}footer{grid-template-columns:1fr 1fr}footer .button{align-self:end}}@media (max-width:620px){.hero-actions{flex-direction:column;align-items:stretch;width:min(310px,100%)}.intro{padding:90px 22px 80px}.offers-section{padding-bottom:70px}.offer-grid{grid-template-columns:1fr;grid-auto-rows:420px}.card-content{padding:26px}.booking-explainer{padding:80px 24px}.social-image{min-height:430px}.social-copy{padding:70px 25px}.faq-section{padding:85px 22px}footer{grid-template-columns:1fr}footer .button{align-self:start}.modal-backdrop{align-items:end;padding:0}.booking-modal{max-height:94vh;padding:35px 22px}.form-grid{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.booking-page{background:linear-gradient(135deg,#f7f2e8,#eef2eb);min-height:100vh;padding-bottom:80px}.booking-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:105px;padding:12px clamp(20px,5vw,70px);display:flex}.booking-header a{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.booking-logo img{border-radius:50%}.booking-shell{width:min(1180px,100% - 36px);margin:70px auto}.booking-title{max-width:700px;margin-bottom:36px}.booking-title h1,.booking-confirmation h1{font:500 clamp(48px,7vw,80px)/1 var(--font-display);margin:14px 0 20px}.booking-title p{color:#657068;font-size:17px;line-height:1.7}.service-picker{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:32px;display:grid}.service-picker button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffffb8;flex-direction:column;gap:8px;min-height:145px;padding:22px;display:flex}.service-picker button.selected{border:2px solid var(--forest);background:#fff;box-shadow:0 12px 30px #173d2d14}.service-picker span{font:500 24px var(--font-display)}.service-picker small{color:#68726c;flex:1;line-height:1.4}.service-picker b{color:var(--forest);font-size:12px}.public-booking-form{grid-template-columns:.9fr 1.1fr;gap:16px;display:grid}.public-booking-form>section,.admin-form,.service-admin form{border:1px solid var(--line);background:#fff;padding:32px}.public-booking-form h2,.admin-form h2,.service-admin h2{font:500 30px var(--font-display);align-items:center;gap:10px;margin:0 0 25px;display:flex}.public-booking-form label,.admin-form label,.service-admin label,.admin-login label{gap:7px;margin-bottom:16px;font-size:12px;font-weight:700;display:grid}.public-booking-form input,.public-booking-form textarea,.admin-form input,.admin-form textarea,.admin-form select,.service-admin input,.service-admin textarea,.service-admin select,.admin-login input{border:1px solid var(--line);width:100%;font:inherit;background:#fff;padding:13px}.slot-picker{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;display:grid}.slot-picker button{border:1px solid var(--line);cursor:pointer;background:#fff;flex-direction:column;align-items:center;gap:5px;padding:12px 6px;display:flex}.slot-picker button.selected{background:var(--forest);color:#fff}.slot-picker small{font-size:9px}.booking-confirmation{text-align:center;border:1px solid var(--line);background:#fff;width:min(680px,100%);margin:100px auto;padding:60px}.booking-confirmation>span{background:var(--forest);color:#fff;border-radius:50%;place-items:center;width:62px;height:62px;display:inline-grid}.booking-confirmation strong{letter-spacing:.08em;background:var(--cream);margin:22px 0;padding:18px;font-size:24px;display:block}.booking-confirmation p{color:#66716a;line-height:1.7}.admin-login,.admin-loading{background:var(--cream);place-items:center;min-height:100vh;display:grid}.admin-login form{background:#fff;gap:15px;width:min(420px,100% - 36px);padding:45px;display:grid;box-shadow:0 20px 70px #173d2d20}.admin-login img{border-radius:50%;margin:auto}.admin-login h1{text-align:center;font:500 42px var(--font-display)}.admin-app{background:#f2f2ed;grid-template-columns:245px 1fr;min-height:100vh;display:grid}.admin-app aside{background:var(--forest-deep);color:#fff;flex-direction:column;gap:5px;min-height:100vh;padding:28px 20px;display:flex}.admin-app aside img{border-radius:50%;margin:auto}.admin-app aside h2{text-align:center;font:500 23px var(--font-display);margin:8px 0 30px}.admin-app aside button{color:#ffffffb8;text-align:left;text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:12px 15px}.admin-app aside button.active{color:#fff;background:#ffffff16}.admin-content{padding:35px;overflow:hidden}.admin-content>header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.admin-content>header h1{font:500 48px var(--font-display);text-transform:capitalize;margin:5px 0}.admin-content>header span{background:#ddead9;padding:10px 16px;font-size:12px}.admin-stats{gap:12px;margin-bottom:18px;display:flex}.admin-stats b{min-width:180px;font:500 34px var(--font-display);background:#fff;padding:22px}.admin-stats small,.admin-table td small{font:400 11px var(--font-sans);color:#727b75;margin-top:5px;display:block}.admin-table{overflow:auto}.admin-table table{border-collapse:collapse;background:#fff;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:14px;font-size:12px}.admin-table th{text-transform:uppercase;letter-spacing:.08em;background:#e9ede7;font-size:10px}.admin-table select{border:1px solid var(--line);padding:7px}.admin-table a{font-weight:700;text-decoration:underline}.admin-form{max-width:950px}.admin-form .button,.service-admin .button{margin-top:10px}.admin-form select{min-height:47px}.service-admin{grid-template-columns:1fr 1fr;gap:14px;display:grid}.service-admin .check{align-items:center;display:flex}.service-admin .check input{width:auto}.invoice-builder{max-width:1180px}.invoice-lines{border-top:1px solid var(--line);margin:28px 0}.invoice-line-head{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.invoice-line-head h3{font:500 25px var(--font-display);margin:0}.invoice-line-head button,.invoice-line>button{background:var(--forest);color:#fff;cursor:pointer;border:0;align-items:center;gap:7px;padding:9px 12px;display:flex}.invoice-line{border-top:1px solid var(--line);grid-template-columns:2fr .55fr .8fr .6fr .7fr auto;align-items:end;gap:10px;padding:12px 0;display:grid}.invoice-line label{margin:0}.invoice-line>b{text-align:right;padding:14px 0;font-size:12px}.invoice-line>button{background:#8d3b34;margin-bottom:1px}.invoice-line>button:disabled{opacity:.3}.invoice-preview-total{gap:9px;width:min(360px,100%);margin:25px 0 30px auto;display:grid}.invoice-preview-total span,.invoice-preview-total strong{justify-content:space-between;display:flex}.invoice-preview-total strong{border-top:2px solid var(--forest);padding-top:10px;font-size:18px}.invoice-submit{justify-content:flex-end;align-items:end;gap:12px;display:flex}.invoice-submit label{margin:0}.invoice-list{margin-top:22px}.invoice-list tr.overdue td{background:#fff2ed}.table-actions{gap:12px;display:flex}.invoice{color:#1b241f;background:#fff;width:210mm;min-height:297mm;margin:25px auto;padding:18mm;font-size:13px;box-shadow:0 8px 40px #0002}.invoice-actions{gap:8px;display:flex;position:fixed;top:25px;right:25px}.invoice-actions button,.invoice-actions a{background:var(--forest);color:#fff;cursor:pointer;border:0;padding:12px 15px}.invoice header{border-bottom:2px solid var(--forest);justify-content:space-between;padding-bottom:35px;display:flex}.invoice header>div{flex-direction:column;gap:8px;display:flex}.invoice h1{font:500 52px var(--font-display);margin:0}.invoice header>div:last-child{text-align:right}.invoice-parties{grid-template-columns:1fr 1fr;gap:40px;padding:32px 0;display:grid}.invoice-parties>div{flex-direction:column;gap:8px;display:flex}.invoice small{letter-spacing:.12em;color:#68726c}.invoice table{border-collapse:collapse;width:100%}.invoice th,.invoice td{border-bottom:1px solid var(--line);text-align:right;padding:13px 8px}.invoice th:first-child,.invoice td:first-child{text-align:left}.invoice-total{gap:10px;width:300px;margin:30px 0 30px auto;display:grid}.invoice-total span,.invoice-total strong{justify-content:space-between;display:flex}.invoice-total strong{border-top:2px solid;padding-top:12px;font-size:18px}.invoice-note{background:var(--cream);padding:18px}.invoice footer{color:inherit;text-align:center;background:0 0;border-top:1px solid;margin-top:80px;padding:25px 0;display:block}.invoice-adjustments{color:#39734e;gap:7px;width:300px;margin:18px 0 0 auto;display:grid}.invoice-adjustments span{justify-content:space-between;display:flex}.invoice-stamp{color:#47765d;opacity:.75;border:4px solid #47765d;margin:15px 0 0 480px;padding:8px 18px;font-size:24px;font-weight:800;position:absolute;transform:rotate(-8deg)}.quote-response{background:var(--cream);text-align:center;margin-top:45px;padding:28px}.quote-response h2{font:500 30px var(--font-display);margin:0 0 10px}.quote-response>div{justify-content:center;gap:10px;margin-top:20px;display:flex}.quote-response button{border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;padding:13px 20px}.quote-response button+button{color:var(--forest);background:#fff}.table-delete{color:#9a342c;cursor:pointer;background:0 0;border:0;text-decoration:underline}.admin-form .check{align-items:center;gap:8px;display:flex}.admin-form .check input{width:auto}.events-section{background:var(--cream);padding:110px clamp(18px,4vw,64px)}.event-grid{grid-template-columns:repeat(3,1fr);gap:15px;max-width:1320px;margin:auto;display:grid}.event-grid article{background:#fff}.event-image{height:260px;position:relative}.event-image img{object-fit:cover}.event-copy{flex-direction:column;align-items:flex-start;padding:25px;display:flex}.event-copy>span{color:var(--forest);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.event-copy h3{font:500 31px var(--font-display);margin:15px 0 8px}.event-copy p{color:#66716a;flex:1;line-height:1.6}.event-copy b{margin:8px 0;font-size:12px}.event-copy a{border-bottom:1px solid;align-items:center;gap:8px;padding:8px 0;font-size:12px;font-weight:700;display:flex}.admin-help{color:#657068;margin:-10px 0 24px;line-height:1.6}.slot-list,.weekly-schedules{margin-top:22px}.slot-list>h2,.weekly-schedules>h2{font:500 32px var(--font-display)}.slot-switch{align-items:center;gap:6px;display:flex}.weekly-schedules{background:#fff;max-width:1180px;padding:30px}.weekly-service{border-top:1px solid var(--line);padding:25px 0}.weekly-service h3{font:500 26px var(--font-display);margin:0 0 18px}.weekly-service h3 small{font:400 11px var(--font-sans);color:#69736c;margin-top:6px;display:block}.weekly-service form{border-top:1px solid #eceeea;grid-template-columns:150px 130px auto 130px 80px;align-items:center;gap:8px;padding:9px 0;display:grid}.weekly-service input[type=time]{border:1px solid var(--line);padding:9px}.weekly-service button{background:var(--forest);color:#fff;border:0;padding:9px}.day-enabled{align-items:center;gap:7px;display:flex}.menu-service-groups{grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;display:grid}.menu-service-groups>section{background:#fff;padding:25px}.menu-service-groups h2{font:500 29px var(--font-display);margin:0 0 16px}.menu-service-groups section>form{border-top:1px solid var(--line);gap:9px;padding:16px 0;display:grid}.menu-item-title{justify-content:space-between;align-items:center;display:flex}.menu-item-title input{border:0;font-size:15px;font-weight:700}.menu-item-fields{grid-template-columns:1fr 100px 70px 110px;gap:6px;display:grid}.menu-service-groups input,.menu-service-groups select,.menu-service-groups textarea{border:1px solid var(--line);width:100%;padding:9px}.menu-item-actions{align-items:center;gap:12px;display:flex}.menu-item-actions label{font-size:11px}.menu-item-actions button{background:var(--forest);color:#fff;border:0;margin-left:auto;padding:8px 11px}.menu-item-actions .table-delete{color:#9a342c;background:0 0;margin-left:0}.public-menu{background:var(--cream);margin-bottom:25px;padding:20px}.public-menu h3{font:500 25px var(--font-display);margin:0 0 18px}.public-menu>div>b{text-transform:uppercase;letter-spacing:.12em;margin:16px 0 7px;font-size:10px;display:block}.menu-choice{background:#fff;padding:12px;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important;margin:0 0 6px!important;font-weight:400!important;display:grid!important}.menu-choice>span{flex-direction:column;display:flex}.menu-choice strong{font-size:13px}.menu-choice strong small{color:var(--forest)}.menu-choice em{color:#69736c;margin-top:3px;font-size:11px;font-style:normal}.menu-choice>b{text-align:right;font-size:11px}.booking-total{background:var(--forest);color:#fff;justify-content:space-between;align-items:center;margin:15px 0;padding:17px;display:flex}.booking-total span{font-size:12px}.booking-total b{font-size:19px}.booking-confirmation .invoice-link{margin-right:8px}.integration-status{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.integration-status span{background:#fff;border-left:4px solid #87918a;padding:9px 12px;font-size:11px}.integration-status .ready{border-color:#39734e}.integration-status .pending{border-color:#bd873c}.calendar-admin{background:#fff;padding:24px;overflow:auto}.calendar-admin>header{justify-content:center;align-items:center;gap:22px;display:flex}.calendar-admin>header h2{font:500 34px var(--font-display);text-transform:capitalize;text-align:center;min-width:250px}.calendar-admin>header button{background:var(--forest);color:#fff;border:0;padding:9px 14px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(130px,1fr));min-width:910px;display:grid}.calendar-weekdays b{text-align:center;background:#e9ede7;padding:10px;font-size:11px}.calendar-grid>div{border:1px solid #e1e4df;min-height:135px;padding:7px}.calendar-grid>div.outside{color:#9ca29e;background:#f3f3ef}.calendar-grid>div>span{font-size:11px}.calendar-grid article{border-left:3px solid var(--forest);background:#e7efe9;margin-top:5px;padding:7px;display:grid}.calendar-grid article small{margin-top:3px;font-size:9px}.calendar-grid .calendar-cancelled{opacity:.45;text-decoration:line-through}.kitchen-admin{background:#fff;padding:30px}.kitchen-admin>header{border-bottom:2px solid var(--forest);align-items:end;gap:15px;padding-bottom:20px;display:flex}.kitchen-admin>header>div{flex:1}.kitchen-admin h2{font:500 34px var(--font-display);margin:0}.kitchen-admin header p{color:#69736c}.kitchen-admin header label{gap:5px;font-size:11px;display:grid}.kitchen-admin header input,.kitchen-admin header button{border:1px solid var(--line);background:#fff;padding:11px}.kitchen-summary{gap:12px;margin:20px 0;display:flex}.kitchen-summary>b{font:500 32px var(--font-display);background:var(--cream);padding:17px 25px}.kitchen-summary small{font:400 10px var(--font-sans);display:block}.kitchen-admin>article{border-top:1px solid var(--line);padding:20px 0}.kitchen-admin article h3{font:500 25px var(--font-display);margin:0}.kitchen-lines{flex-wrap:wrap;gap:8px;display:flex}.kitchen-lines span{background:#eef1ec;padding:8px 11px;font-size:12px}.diet-alert{background:#fff0df;padding:12px}.empty-state{text-align:center;color:#69736c;padding:40px}.portal-page{background:var(--cream);min-height:100vh}.portal-page>header{background:var(--forest-deep);color:#fff;justify-content:space-between;padding:18px clamp(20px,6vw,80px);display:flex}.portal-shell{grid-template-columns:1fr 1fr;gap:14px;width:min(1050px,100% - 28px);margin:55px auto;display:grid}.portal-summary{background:var(--forest);color:#fff;grid-column:1/-1;padding:40px}.portal-summary .eyebrow{color:#d8c49e}.portal-summary h1{font:500 clamp(45px,7vw,75px)/1 var(--font-display);margin:15px 0}.portal-summary>div{align-items:end;gap:10px;display:flex}.portal-summary>div b{font:500 30px var(--font-display);margin-left:15px}.portal-summary small{color:#ffffffa0}.portal-card{background:#fff;padding:30px}.portal-card h2{font:500 30px var(--font-display);margin-top:0}.portal-card label{gap:7px;margin-bottom:14px;font-size:11px;font-weight:700;display:grid}.portal-card input,.portal-card textarea{border:1px solid var(--line);padding:12px}.portal-cancel{color:#9a342c;background:0 0;border:0;margin:20px auto 0;text-decoration:underline;display:block}.portal-line{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:12px;display:flex}.portal-total{text-align:right;padding:18px 0;font-size:22px;display:block}.portal-message{background:#e6f1e7;padding:10px}.portal-discount{color:#39734e}.promotion-entry{grid-template-columns:1fr auto;align-items:end;gap:8px;margin:18px 0;display:grid}.promotion-entry label{margin:0}.promotion-entry button{background:var(--forest);color:#fff;border:0;height:45px;padding:0 16px}.promotion-entry p{color:#39734e;grid-column:1/-1;margin:0;font-size:12px}.promo-lists{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.promo-lists>section{background:#fff;padding:25px}.promo-lists h2{font:500 30px var(--font-display);margin-top:0}.promo-lists article{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:14px 0;display:flex}.promo-lists article>div{gap:4px;display:grid}.promo-lists article span,.promo-lists article small{color:#69736c;font-size:11px}.promo-lists article label{font-size:11px}.gift-balance{align-items:center;gap:5px;display:flex}.gift-balance input{border:1px solid var(--line);width:85px;padding:7px}.staff-forms{grid-template-columns:1fr 1.2fr;gap:14px;display:grid}.staff-list{background:#fff;margin-top:18px;padding:25px}.staff-list h2,.shift-list>h2{font:500 31px var(--font-display)}.staff-list>form{border-top:1px solid var(--line);padding:13px 0}.staff-list>form>div:first-child{grid-template-columns:1fr 1fr 1.3fr 1fr;gap:7px;display:grid}.staff-list input{border:1px solid var(--line);padding:9px}.staff-actions{justify-content:flex-end;align-items:center;gap:15px;margin-top:8px;font-size:11px;display:flex}.staff-actions a{text-decoration:underline}.staff-actions button{background:var(--forest);color:#fff;border:0;padding:8px 12px}.shift-list{margin-top:18px}.shift-list>h2{background:#fff;margin:0;padding:22px}.staff-portal{background:var(--cream);min-height:100vh}.staff-portal>header{background:var(--forest-deep);color:#fff;justify-content:space-between;padding:18px clamp(18px,5vw,65px);display:flex}.staff-portal>section{width:min(760px,100% - 26px);margin:55px auto}.staff-portal h1{font:500 clamp(48px,8vw,75px)/1 var(--font-display);margin:14px 0}.staff-portal>section>p{color:#69736c}.staff-portal article{border-left:5px solid var(--forest);background:#fff;margin-top:14px;padding:28px}.shift-date{justify-content:space-between;display:flex}.shift-date>span,.staff-portal article>p{align-items:center;gap:6px;display:flex}.staff-portal article h2{font:500 31px var(--font-display);margin:18px 0 8px}.shift-note{background:var(--cream);padding:12px}.task-list{gap:5px;margin:20px 0;display:grid}.task-list button{border:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:10px;padding:11px;display:flex}.task-list button>span{border:1px solid var(--forest);place-items:center;width:21px;height:21px;display:grid}.task-list button.done{color:#7a837d;background:#eef2ed;text-decoration:line-through}.confirm-shift{background:var(--forest);color:#fff;border:0;padding:12px 17px}.floor-admin{gap:18px;display:grid}.table-map{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.table-map article{border:3px solid var(--forest);text-align:center;background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;min-height:145px;display:flex}.table-map article span,.table-map article small{color:#69736c;font-size:10px}.table-map article strong{font:500 27px var(--font-display);margin-top:6px}.checkin-admin{grid-template-columns:1fr 1fr;gap:14px;display:grid}.checkin-admin>section{background:#fff;padding:25px}.checkin-admin h2{font:500 31px var(--font-display);margin-top:0}.checkin-list{gap:7px;display:grid}.checkin-list button{text-align:left;border:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:13px;display:flex}.checkin-list button>span{font-size:24px}.checkin-list button div{display:grid}.checkin-list small{color:#69736c;margin-top:4px}.checkin-list button.arrived{background:#e4efe5;border-color:#39734e}.waitlist-box{border:1px solid var(--line);background:#fff;grid-column:1/-1;padding:20px}.waitlist-box form{grid-template-columns:1fr 1fr;gap:8px;display:grid}.waitlist-box form label{margin:0}.waitlist-box form label:last-of-type,.waitlist-box form button{grid-column:1/-1}.waitlist-box h3{font:500 25px var(--font-display)}.waitlist-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.waitlist-fields label{margin:0}.waitlist-fields label:last-of-type,.waitlist-fields button{grid-column:1/-1}@media print{body{background:#fff}.invoice{box-shadow:none;width:auto;min-height:auto;margin:0}.invoice-actions{display:none}}@media (max-width:800px){.service-picker,.public-booking-form,.admin-app{grid-template-columns:1fr}.admin-app aside{min-height:auto}.service-admin{grid-template-columns:1fr}.admin-content{padding:18px}.invoice{width:100%;margin:0;padding:25px}.invoice-actions{margin-bottom:20px;position:static}}.pwa-install{z-index:200;left:50%;bottom:max(18px,env(safe-area-inset-bottom));background:var(--forest-deep);color:#fff;border:1px solid #ffffff24;align-items:center;gap:12px;width:min(520px,100% - 28px);padding:13px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 45px #0000004d}.pwa-install span{flex:1;align-items:center;gap:9px;font-size:13px;display:flex}.pwa-install>button{background:var(--gold);color:#fff;cursor:pointer;border:0;padding:9px 12px;font-weight:700}.pwa-install .pwa-close{background:0 0;padding:6px}.offline-page{background:var(--cream);place-items:center;min-height:100dvh;padding:25px;display:grid}.offline-page>div{text-align:center;max-width:620px}.offline-page h1{font:500 clamp(48px,10vw,78px)/1 var(--font-display)}.offline-page p{color:#657068;margin:25px 0;line-height:1.7}@media (max-width:800px){body{overflow-x:hidden}.booking-header{height:82px;padding:8px 16px}.booking-logo img{width:64px;height:64px}.booking-header>a:last-child{font-size:11px}.booking-shell{width:calc(100% - 24px);margin:38px auto}.booking-title h1{font-size:48px}.booking-title p{font-size:15px}.service-picker button{min-height:125px;padding:18px}.public-booking-form>section{padding:22px 18px}.slot-picker{grid-template-columns:repeat(2,1fr)}.booking-confirmation{margin:45px auto;padding:38px 20px}.booking-confirmation h1{font-size:48px}.admin-app aside{z-index:30;grid-template-columns:auto 1fr;padding:14px 12px;display:grid;position:sticky;top:0}.admin-app aside img{grid-row:1;width:52px;height:52px}.admin-app aside h2{text-align:left;margin:auto 0;font-size:19px}.admin-app aside button{white-space:nowrap;padding:10px 12px}.admin-app aside button:first-of-type{grid-column:1}.admin-app aside button{grid-column:span 1}.admin-app aside{grid-template-columns:repeat(3,auto);overflow-x:auto}.admin-app aside img,.admin-app aside h2{display:none}.admin-content>header h1{font-size:37px}.admin-content>header{align-items:flex-start}.admin-stats{overflow-x:auto}.admin-stats b{min-width:150px}.admin-table table{min-width:760px}.admin-form,.service-admin form{padding:22px 17px}.form-grid{grid-template-columns:1fr}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line label:first-child{grid-column:1/-1}.invoice-line>b{text-align:left}.invoice-submit{flex-direction:column;align-items:stretch}.invoice-submit .button{width:100%}.invoice header,.invoice-parties{grid-template-columns:1fr;gap:24px;display:grid}.invoice header>div:last-child{text-align:left}.invoice table{font-size:10px}.invoice th,.invoice td{padding:9px 4px}.invoice-total{width:100%}.invoice-actions{grid-template-columns:1fr 1fr;display:grid}.invoice-actions button,.invoice-actions a{text-align:center}.invoice-stamp{margin:0 0 20px;display:inline-block;position:static}.event-grid{grid-template-columns:1fr}.events-section{padding:75px 14px}.quote-response>div{flex-direction:column}.weekly-schedules{padding:20px 14px}.weekly-service form{grid-template-columns:1fr 1fr}.weekly-service form span{display:none}.weekly-service form button{grid-column:2}.slot-list table{min-width:700px}.menu-service-groups{grid-template-columns:1fr}.menu-service-groups>section{padding:18px}.menu-item-fields{grid-template-columns:1fr 1fr}.menu-choice{grid-template-columns:auto 1fr!important}.menu-choice>b{text-align:left;grid-column:2}.booking-total{flex-direction:column;align-items:flex-start;gap:7px}.portal-shell{grid-template-columns:1fr;margin:25px auto}.portal-summary{grid-column:auto;padding:28px 20px}.kitchen-admin{padding:20px 14px}.kitchen-admin>header{flex-direction:column;align-items:stretch}.calendar-admin{padding:12px}.staff-forms,.staff-list>form>div:first-child{grid-template-columns:1fr}.shift-date{flex-direction:column;align-items:flex-start;gap:8px}.staff-portal>section{margin:28px auto}.staff-portal article{padding:21px 17px}.promo-lists,.promotion-entry{grid-template-columns:1fr}.promotion-entry p{grid-column:auto}.checkin-admin,.waitlist-fields{grid-template-columns:1fr}.waitlist-fields label,.waitlist-fields label:last-of-type,.waitlist-fields button{grid-column:auto}.checkin-admin,.waitlist-box form{grid-template-columns:1fr}.waitlist-box form label,.waitlist-box form label:last-of-type,.waitlist-box form button{grid-column:auto}}@media print{.admin-app aside,.admin-content>header,.kitchen-admin>header button{display:none}.admin-app{display:block}.admin-content,.kitchen-admin{padding:0}}.christmas-poster{background:#f5efe4;grid-template-columns:minmax(0,1fr) minmax(0,620px);align-items:center;gap:clamp(24px,5vw,80px);padding:clamp(28px,6vw,80px);display:grid}.christmas-poster-copy{max-width:480px}.christmas-poster h2{margin:16px 0;font-size:clamp(32px,4vw,56px);line-height:1.1}.christmas-poster p{margin:20px 0;line-height:1.8}.christmas-poster img{border-radius:12px;width:100%;height:auto;display:block;box-shadow:0 12px 40px #251b1733}.christmas-poster-copy a{overflow-wrap:anywhere}@media (max-width:760px){.christmas-poster{grid-template-columns:1fr;padding:32px 16px}.christmas-poster-copy{max-width:none}}.payroll-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:1.5rem;margin-top:1.5rem;display:grid}.payroll-grid>section{background:#fff;border-radius:16px;padding:1.4rem}.payroll-grid article{border-bottom:1px solid #e8e2d7;gap:.25rem;padding:.85rem 0;display:grid}.payroll-grid article span,.payroll-grid article small{display:block}.ledger-actions label{font-size:.78rem}.ledger-actions label input{margin-top:.25rem;display:block}@media (max-width:850px){.payroll-grid{grid-template-columns:1fr}.ledger-actions{flex-wrap:wrap}}.ledger-kiosk{min-height:100dvh;color:var(--forest-deep);background:#edf0e9;flex-direction:column;display:flex}.ledger-kiosk>header{background:var(--forest-deep);color:#fff;justify-content:space-between;align-items:center;padding:20px clamp(18px,5vw,65px);display:flex}.ledger-kiosk>header div{gap:4px;display:grid}.ledger-kiosk>header b{font:500 25px var(--font-display)}.ledger-kiosk>header small{color:#fffa}.ledger-kiosk>section{flex:1;width:min(1100px,100% - 28px);margin:45px auto}.ledger-kiosk h1{font:500 clamp(45px,7vw,72px)/1 var(--font-display);margin:0 0 10px}.ledger-kiosk section>p{color:#68736c}.ledger-people{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px;margin-top:28px;display:grid}.ledger-people button{cursor:pointer;background:#fff;border:2px solid #0000;flex-direction:column;align-items:center;gap:8px;min-height:205px;padding:22px;display:flex}.ledger-people button>span{background:var(--cream);width:66px;height:66px;font:500 25px var(--font-display);border-radius:50%;place-items:center;display:grid}.ledger-people button b{font-size:15px}.ledger-people button small{color:#6d766f}.ledger-people button em{margin-top:auto;font-size:11px;font-style:normal}.ledger-people button.working{background:#f4fff5;border-color:#3b7853}.ledger-people button.working em{color:#27653f;font-weight:800}.ledger-kiosk>footer{background:#fff;justify-content:space-between;padding:15px clamp(18px,5vw,65px);font-size:11px;display:flex}.ledger-modal{z-index:100;background:#0d251bba;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.ledger-modal>div,.ledger-modal>form{background:#fff;width:min(470px,100%);padding:36px;position:relative}.ledger-modal h2{font:500 38px var(--font-display);margin:7px 0 22px}.ledger-modal label{gap:7px;margin:15px 0;font-size:11px;font-weight:700;display:grid}.ledger-modal input,.ledger-modal textarea{border:1px solid var(--line);font:inherit;padding:14px}.ledger-modal .close{background:0 0;border:0;font-size:28px;position:absolute;top:10px;right:14px}.ledger-toast{background:var(--forest);color:#fff;z-index:80;padding:15px 25px;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.ledger-compliance{background:var(--forest-deep);color:#fff;justify-content:space-between;gap:20px;padding:28px;display:flex}.ledger-compliance h2{font:500 37px var(--font-display);margin:6px 0}.ledger-compliance p{color:#ffffffba}.ledger-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ledger-actions .button{white-space:nowrap}.legal-warning{background:#fff0d9;border-left:5px solid #bd873c;padding:14px}.present-now,.ledger-history{background:#fff;margin-top:14px;padding:25px}.present-now h2,.ledger-history h2{font:500 31px var(--font-display);margin:0 0 15px}.present-now h2 b{background:var(--forest);color:#fff;font:700 14px var(--font-sans);border-radius:50%;padding:7px 11px}.present-now>div{flex-wrap:wrap;gap:8px;display:flex}.present-now article{background:#e7f2e8;align-items:center;gap:10px;padding:12px 16px;display:flex}.present-now article>span{color:#2f7b49}.present-now article div{display:grid}.present-now article small{color:#627069;font-size:10px}.ledger-history>header{align-items:end;gap:12px;margin-bottom:15px;display:flex}.ledger-history>header>div{flex:1}.ledger-history header p{color:#657068;margin:0}.ledger-history header label{gap:5px;font-size:10px;display:grid}.ledger-history header input{border:1px solid var(--line);padding:10px}.corrected{color:#986229}.mobile-clock{background:#fff0df;border-left:6px solid #bd873c;grid-template-columns:1fr auto;align-items:center;margin:20px 0;padding:17px;display:grid}.mobile-clock div{display:grid}.mobile-clock small{margin-top:4px}.mobile-clock button{color:#fff;background:#9a4a32;border:0;padding:13px 20px}.mobile-clock.working{background:#e2f0e4;border-color:#39734e}.mobile-clock.working button{background:var(--forest)}.mobile-clock>p{grid-column:1/-1;margin-bottom:0}@media (max-width:800px){.ledger-kiosk>header,.ledger-kiosk>footer,.ledger-compliance,.ledger-history>header{flex-direction:column;align-items:flex-start}.ledger-kiosk>header time{font-size:11px}.ledger-kiosk>footer{gap:5px}.ledger-people{grid-template-columns:1fr 1fr}.ledger-people button{min-height:170px;padding:15px}.ledger-compliance{padding:20px}.ledger-actions{width:100%}.ledger-actions .button{text-align:center;flex:1}.ledger-history{padding:16px}.mobile-clock{grid-template-columns:1fr}.mobile-clock button{margin-top:12px}.staff-list>form>div:first-child{grid-template-columns:1fr}}@media print{.ledger-actions,.ledger-history header label,.ledger-history .table-delete,.admin-content>header{display:none!important}.ledger-compliance{color:#111;background:#fff;border-bottom:2px solid #111;padding:0 0 15px}.ledger-compliance p{color:#111}.present-now,.ledger-history{padding:12px 0}.ledger-history table{min-width:0!important}.ledger-history th,.ledger-history td{padding:7px;font-size:8px}}
