.service-page{background:#f4f1e8;color:#111}
.service-page [hidden]{display:none!important}
.service-sheet,.booking-sheet{max-width:980px;padding-top:64px;padding-bottom:72px}
.service-page h1{font-family:var(--font-display),sans-serif;font-size:clamp(38px,4.3vw,60px);line-height:1.04;letter-spacing:-.055em;margin:18px 0}
.service-lead{font-size:17px;line-height:1.65;color:#686358;max-width:660px;margin-bottom:34px}
.service-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:28px 0 18px}
.service-table th,.service-table td{text-align:left;padding:18px 0;border-bottom:1px solid #d7d0c2;vertical-align:middle}
.service-table thead th{text-transform:uppercase;letter-spacing:1.5px;font-size:10px;color:#7f682a;font-weight:600;padding-top:0;padding-bottom:15px}
.service-table thead th:first-child{width:64%}
.service-table thead th:not(:first-child){text-align:right;width:18%}
.service-table .service-fee{text-align:right;font-size:21px;letter-spacing:-.025em;font-weight:500;white-space:nowrap}
.service-name{display:block;font-weight:500;font-size:17px;line-height:1.35;letter-spacing:-.015em}
.service-description{display:block;color:#787166;font-size:13px;font-weight:400;line-height:1.45;margin-top:4px;max-width:440px}
.service-quote{text-align:right!important;font-size:13px;color:#756a50}
.fee-explainer{color:#766e60;font-size:12px;line-height:1.65;max-width:810px;margin:18px 0}
.photo-policy{border-left:2px solid #ad8e3d;padding:4px 0 4px 16px;color:#514b41;font-size:13px;line-height:1.7;margin:24px 0 30px}
.service-page .button-row{gap:24px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.service-info{position:relative;display:inline-flex;align-items:center;gap:9px;max-width:100%}
.service-detail-trigger{border:0;background:transparent;padding:6px;color:#8d773e;font:inherit;font-size:16px;cursor:pointer;flex-shrink:0;line-height:1}
.service-detail{position:absolute;top:100%;left:0;z-index:10;width:min(340px,calc(100vw - 64px));padding:15px 18px;background:#111;color:#f4f1e8;border-radius:6px;box-shadow:0 8px 24px #0002;font-size:13px;font-weight:400;line-height:1.65;letter-spacing:0;text-align:left}
.service-example-toggle{display:block;border:0;border-bottom:1px solid #c7b575;padding:0 0 3px;margin-top:12px;background:transparent;color:#d7c386;cursor:pointer;font:inherit;font-size:12px}
.service-table .service-examples-row td{padding:0;border:0}
.service-examples{background:#e9e3d5;border-radius:6px;margin:8px 0 20px;padding:24px}
.service-examples-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.service-examples-heading h2{font-family:var(--font-display),sans-serif;font-size:21px;font-weight:500;letter-spacing:-.035em;margin:0}
.service-example-close{flex-shrink:0;border:0;background:transparent;font:inherit;font-size:12px;color:#5e5442;cursor:pointer;padding:8px 0}
.service-example-media{max-width:760px;margin:0 auto}
.service-example-media.multiple{max-width:560px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.service-example-media figure{margin:0}
.service-example-media img,.service-example-media video,.service-example-media iframe{display:block;width:100%;border-radius:4px;background:#111;border:0;max-height:560px;object-fit:contain}
.service-example-media iframe{aspect-ratio:16/9}
.service-example-media img{aspect-ratio:3/2}
.service-example-media video{aspect-ratio:16/9}
.service-example-media .portrait video{width:min(100%,315px);aspect-ratio:9/16;margin:0 auto}
.service-example-media .portrait figcaption{text-align:center}
.service-example-media figcaption{color:#756a56;font-size:12px;font-weight:400;line-height:1.6;margin-top:10px}
@media(max-width:650px){.service-examples{padding:16px}.service-examples-heading{align-items:flex-start;gap:12px}.service-examples-heading h2{font-size:18px}.service-example-close{font-size:11px}.service-example-media.multiple{gap:10px}.service-example-media.multiple figcaption{font-size:10px;margin-top:5px}.service-detail{width:min(320px,calc(100vw - 48px))}}
.booking-option input:disabled{opacity:.45;cursor:not-allowed}
.booking-option:has(input:disabled) .service-name{color:#766f61}
.service-page :focus-visible{outline:3px solid #aa8b39;outline-offset:4px}
.booking-services{border:0;margin:0;padding:0;min-width:0}
.booking-option{display:flex;align-items:center;gap:14px;cursor:pointer;padding:8px 0;min-height:44px}
.booking-option input{width:20px;height:20px;accent-color:#95792d;margin:0;flex-shrink:0}
.booking-option:has(input:checked) .service-name{color:#886b21}
.booking-services .service-table th,.booking-services .service-table td{padding-top:9px;padding-bottom:9px}
.booking-summary{background:#111;color:#f4f1e8;display:flex;gap:36px;justify-content:space-between;align-items:center;padding:28px 32px;border-radius:8px;margin:26px 0 42px}
.booking-summary .eyebrow{color:#c4ab65;font-size:10px;margin:0 0 12px}
#booking-lines{font-size:14px;line-height:1.65;color:#d5d1c6}
#booking-lines p{margin:4px 0}
#booking-extra-note,#booking-quote-note{font-size:12px;color:#cbb779;line-height:1.65;margin:12px 0 0}
.booking-total{flex-shrink:0;text-align:right;min-width:110px}
.booking-total span{display:block;text-transform:uppercase;letter-spacing:1px;font-size:10px;color:#b2aea3}
.booking-total strong{font-size:43px;font-weight:500;letter-spacing:-.045em;display:block;margin-top:7px}
.booking-page h2{font-family:var(--font-display),sans-serif;font-weight:500;letter-spacing:-.035em;font-size:29px;margin-bottom:24px}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}
.booking-fields .full{grid-column:1/-1}
.booking-fields .form-field{display:flex;flex-direction:column;gap:8px;margin:0}
.booking-fields label{font-size:12px;color:#686052}
.booking-fields input,.booking-fields select,.booking-fields textarea{font:inherit;color:#111;background:#faf8f2;border:1px solid #cbc2af;border-radius:6px;width:100%;padding:13px;min-height:48px}
.booking-fields textarea{resize:vertical}
.booking-fine-print{font-size:12px;line-height:1.7;color:#787064;max-width:640px;margin-top:20px}
#booking-load-status,#booking-submit-status{font-size:14px;line-height:1.65}
.inspection-booking{margin-top:64px;border-top:1px solid #d6cdbb;padding-top:40px}
.inspection-booking p:not(.eyebrow){color:#6a6357;line-height:1.7;margin-bottom:22px}
.booking-success{border-top:1px solid #c7b991;padding:30px 0;margin-top:30px}
.booking-page button:disabled{opacity:.55;cursor:wait}
@media(max-width:650px){.service-sheet,.booking-sheet{padding-top:40px;padding-bottom:48px}.service-table thead th:first-child{width:56%}.service-table thead th:not(:first-child){width:22%;font-size:9px;letter-spacing:.7px}.service-name{font-size:14px}.service-description{font-size:12px}.service-table .service-fee{font-size:18px}.service-table th,.service-table td{padding:15px 0}.service-description{max-width:95%}.booking-option{gap:10px}.booking-option input{width:18px;height:18px}.booking-fields{grid-template-columns:1fr;gap:18px}.booking-summary{padding:24px;flex-direction:column;align-items:stretch;gap:20px;margin-bottom:34px}.booking-total{display:flex;align-items:center;justify-content:space-between;text-align:left;border-top:1px solid #464238;padding-top:14px}.booking-total strong{margin:0;font-size:36px}.service-quote{font-size:12px}.service-lead{font-size:16px}.photo-policy{font-size:12px}.inspection-booking{margin-top:44px}}

.address-options{list-style:none;margin:5px 0 0;padding:0;border:1px solid #c7bca6;border-radius:5px;background:#faf7f0;max-height:250px;overflow:auto}.address-options li{padding:12px 14px;cursor:pointer;font-size:14px;line-height:1.4}.address-options li:hover,.address-options li[aria-selected="true"]{background:#e9e3d5}.address-status{font-size:12px;color:#756a56;margin:6px 0}.address-credit{font-size:10px;color:#756a56}


.appointment-notes{font-size:13px;line-height:1.7;color:#514b41;margin:-6px 0 28px;padding-left:20px}.appointment-notes li{padding-left:3px;margin:10px 0}
@media(max-width:650px){.appointment-notes{font-size:12px}}

.address-credit{font-size:12px;line-height:1.4;font-weight:400;font-style:normal;letter-spacing:normal;color:#5e5e5e;white-space:nowrap}

.appointment-policy{border-left:2px solid #ad8e3d;padding:4px 0 4px 16px;margin:24px 0 30px}.appointment-policy .photo-policy{border:0;padding:0;margin:0}.appointment-policy .appointment-notes{margin:10px 0 0;padding-left:16px}.appointment-policy .appointment-notes li:last-child{margin-bottom:0}

.appointment-policy .appointment-notes{margin-top:0}.appointment-policy .appointment-notes li:first-child{margin-top:0}

.appointment-policy{padding:2px 0 2px 18px}.appointment-policy .photo-policy{line-height:1.65}.appointment-policy .appointment-notes{list-style:none;margin:8px 0 0;padding:0}.appointment-policy .appointment-notes li{position:relative;padding:0 0 0 14px;margin:8px 0 0;line-height:1.65}.appointment-policy .appointment-notes li:first-child{margin-top:0}.appointment-policy .appointment-notes li::before{content:"•";position:absolute;left:0;top:0;color:#ad8e3d}

.appointment-policy .photo-policy{position:relative;padding-left:14px}.appointment-policy .photo-policy::before{content:"•";position:absolute;left:0;top:0;color:#ad8e3d}
