:root{--bg:#F5F1E8;--panel:#fff;--panel2:#eee8dc;--text:#123B4A;--muted:#4d625e;--blue:#123B4A;--blue2:#234D3C;--line:#d4d6cb;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.topbar{background:var(--blue2);color:white;font-size:.85rem}.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 0}.nav{position:sticky;top:0;z-index:20;background:white;border-bottom:1px solid var(--line)}.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:160px;height:92px;object-fit:contain}.brand span{display:none}.links{display:flex;align-items:center;gap:16px;font-size:.8rem;font-weight:700}.links [data-account-slot]{display:flex;gap:12px}.links a[href='/booking.html']{background:var(--blue2);color:white;padding:12px 15px;border-radius:4px}.menu{display:none;background:none;border:1px solid var(--line);color:var(--text);padding:10px;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue2);color:white;border:1px solid var(--blue2);border-radius:4px;padding:14px 22px;font-weight:700;cursor:pointer;min-height:48px}.btn:hover{background:var(--blue);text-decoration:none}.btn.secondary,.btn.ghost{background:transparent;color:var(--text);border-color:var(--text)}.btn.danger{background:#a43131;border-color:#a43131}.btn.full{width:100%}.btn.small{padding:8px 12px;min-height:40px;font-size:.8rem}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.hero{border-bottom:1px solid var(--line)}.hero .wrap{min-height:570px;display:grid;grid-template-columns:1.6fr .7fr;align-items:center;gap:50px}.hero .wrap:after{content:'';display:block;aspect-ratio:1;background:white url('/assets/logo.png') center/contain no-repeat;border:1px solid var(--line);border-radius:50%}.hero-copy{padding:65px 0}.eyebrow{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--blue2)}h1,h2{line-height:1.06;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5.5vw,4.6rem);margin:22px 0}h1 span{color:#8d764c}.hero p{font-size:1.15rem;max-width:590px;color:var(--muted)}.trust-row{display:flex;flex-wrap:wrap;gap:25px;margin-top:30px;font-size:.85rem}.trust-row span{border-top:2px solid #D7C39A;padding-top:10px}.section{padding:76px 0}.section.alt,.quote-section{background:#eae7dc;border-block:1px solid var(--line)}.section h2{font-size:clamp(2rem,3.7vw,3.2rem);margin:16px 0 20px}.section-lead{max-width:700px;color:var(--muted);margin-bottom:30px}.grid{display:grid;gap:18px}.grid.three,.service-detail-grid,.price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.form-card,.auth-card,.stat,.modal-card{background:white;border:1px solid var(--line);border-radius:6px;padding:26px}.card h3{margin:0 0 12px;font-size:1.2rem}.card p{color:var(--muted);margin:0}.service-photo-card,.service-detail-card{border-top:3px solid #D7C39A}.service-photo-copy span,.text-link{display:inline-block;margin-top:22px;color:var(--blue2);font-weight:700}.service-photo-card{min-height:220px}.process-grid{display:grid;gap:18px}.process-card b{display:block;color:#867047;font-size:.85rem;margin-bottom:20px}.split,.quote-layout,.form-shell{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.quote-benefits{border-top:2px solid #D7C39A;margin-top:30px;padding-top:15px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-weight:700;font-size:.9rem}.field input,.field select,.field textarea,select{background:#fff;color:var(--text);border:1px solid #aebbb5;border-radius:4px;padding:12px;min-height:46px;width:100%;min-width:0}.field textarea{min-height:140px;resize:vertical}.booking-pair{grid-template-columns:1fr 1fr}.help,.mini{color:var(--muted);font-size:.85rem}.alert{display:none;padding:14px;border-radius:4px;margin-bottom:18px}.alert.show{display:block}.alert.ok{background:#e3eee6;color:#234D3C;border:1px solid #a7c5af}.alert.error{background:#fae9e5;color:#822b23;border:1px solid #d8a8a0}.photo-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.photo-preview img{aspect-ratio:1;object-fit:cover}.quote-band{background:var(--blue);color:white}.quote-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:36px 0}.quote-band h3{font-size:1.65rem;margin:0}.quote-band p{margin:8px 0 0}.quote-band .btn{background:#D7C39A;border-color:#D7C39A;color:var(--text)}.footer{background:var(--blue);color:var(--bg);padding:50px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.footer-logo{width:190px}.footer .brand img{background:white;border-radius:4px;width:190px;height:108px}.footer-bottom{border-top:1px solid #59737a;padding-top:20px;margin-top:25px;font-size:.8rem}.page-hero{padding:55px 0;background:#eae7dc;border-bottom:1px solid var(--line)}.page-hero h1{max-width:900px}.page-hero p{max-width:730px;color:var(--muted)}.price-grid{display:grid;gap:20px}.price{font-size:2rem;font-weight:700;margin:15px 0}.price small{font-size:.85rem}.price-card.featured{border-top:3px solid var(--blue2)}.list{list-style:none;padding:0}.list li{border-top:1px solid var(--line);padding:10px 0}.auth{min-height:80vh;display:grid;place-items:center;padding:50px 20px}.auth-card{width:min(520px,100%)}.auth-logo{width:220px;margin:0 auto 20px}.auth-card h1{font-size:2rem;text-align:center}.auth-card>p{text-align:center}.tabs{display:flex;gap:8px;margin:22px 0}.tabs button{flex:1;border:1px solid var(--line);background:var(--bg);padding:12px;cursor:pointer;color:var(--text)}.tabs button.active{background:var(--blue2);color:white}.dashboard{padding:45px 0 75px;min-height:80vh}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dash-head h1{font-size:2.6rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.stat b{display:block;font-size:2rem}.stat span{font-size:.9rem}.table-wrap{overflow:auto}.table{border-collapse:collapse;min-width:760px;width:100%;background:white}.table th,.table td{padding:15px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.9rem}.table th{background:var(--panel2)}.badge{display:inline-flex;padding:5px 10px;border-radius:4px;background:#e3eee6;font-size:.8rem}.empty{padding:24px;text-align:center;color:var(--muted)}.admin-actions,.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.modal{position:fixed;inset:0;background:#123b4abf;z-index:50;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{width:min(680px,100%);max-height:90vh;overflow:auto}.quote-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;min-width:240px;max-width:500px}.quote-photos img{width:100%;height:150px;object-fit:cover}.booking-item{display:grid;grid-template-columns:1.2fr .7fr 1fr auto;gap:18px;background:white;border:1px solid var(--line);padding:20px;margin:15px 0;border-radius:4px}.booking-item>div{min-width:0;display:flex;flex-direction:column;gap:5px}.booking-item .mini{overflow-wrap:anywhere}.quote-box{grid-column:1/-1;padding:16px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap}.quote-box .mini{flex:1}.booking-side-photo,.pricing-photo,.account-photo,.quote-photo-stack{display:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #987d4c;outline-offset:3px}
@media(max-width:1100px){.menu{display:block}.links{display:none;position:absolute;top:100px;left:0;right:0;background:white;padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.links.open{display:flex}.grid.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:750px){.hero .wrap{grid-template-columns:1fr;min-height:0}.hero .wrap:after{display:none}.split,.quote-layout,.form-shell,.footer-grid{grid-template-columns:1fr;gap:28px}.grid.three,.service-detail-grid,.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-band .wrap{align-items:flex-start;flex-direction:column}.booking-item{grid-template-columns:1fr}.dash-head{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.wrap{width:calc(100% - 32px)}.topbar .wrap{justify-content:center;flex-wrap:wrap;gap:4px 15px}.brand img{width:145px;height:84px}.nav .wrap{min-height:86px}.links{top:86px}.hero-copy{padding:45px 0}.hero h1{font-size:2.65rem}.hero p{font-size:1rem}.section{padding:50px 0}.grid.three,.grid.four,.service-detail-grid,.price-grid,.booking-pair{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.actions .btn{width:100%}.form-card{padding:20px}.quote-band .btn{width:100%}.trust-row{gap:12px}.trust-row span{flex:1 1 120px}.photo-preview{grid-template-columns:repeat(3,1fr)}.service-photo-card{min-height:0}.page-hero{padding:38px 0}.page-hero h1{font-size:2.65rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.appointment-actions,.appointment-notice{grid-column:1/-1}.appointment-actions{display:flex;gap:12px;flex-wrap:wrap}.appointment-notice{background:var(--bg);padding:16px;border-radius:4px}.appointment-notice p{margin:5px 0}.appointment-dialog{width:min(560px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:26px;color:var(--text);background:white}.appointment-dialog::backdrop{background:#123b4abf}.change-review{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding:20px 0}.change-review p{margin:8px 0}.btn:disabled{opacity:.6;cursor:default}.account-nav .links{position:static;flex-direction:row;flex-wrap:wrap;padding:0;border:0}.account-nav .wrap{flex-wrap:wrap;padding-bottom:12px}@media(max-width:650px){.change-review{align-items:flex-start;flex-direction:column}.appointment-actions .btn{width:100%}}
.photo-dialog{width:min(1100px,calc(100% - 24px));max-height:94vh;border:1px solid var(--line);border-radius:6px;padding:16px;background:white;color:var(--text)}.photo-dialog::backdrop{background:#123b4ade}.photo-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.photo-dialog>img{width:100%;height:auto;max-height:calc(90vh - 90px);object-fit:contain}.quote-photos a:focus-visible{outline:3px solid #987d4c;outline-offset:3px}
