/* Scoped service layout and contact dialog; established planner palette retained. */
.services-studio{padding:62px 7% 44px;background:#f8f4ed;color:#302a25;scroll-margin-top:24px}
.studio-inner{max-width:1100px;margin:auto}
.studio-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:10%;padding-bottom:32px}
.studio-kicker{font:500 12px/1.5 var(--ss-sans,Arial,sans-serif);color:#77634f;margin:0 0 12px}
.studio-heading h2{font:500 clamp(31px,3.2vw,43px)/1.13 var(--ss-serif,Georgia,serif);letter-spacing:-.018em;margin:0}
.studio-intro{font:400 14px/1.8 var(--ss-sans,Arial,sans-serif);color:#655d54;max-width:420px;margin:0 0 2px}
.studio-services{border-top:1px solid #a89986}
.studio-service{display:grid;grid-template-columns:1fr 1.35fr 158px;align-items:center;gap:34px;padding:25px 0;border-bottom:1px solid #d6cdbf}
.studio-service-name h3{font:500 33px/1.15 var(--ss-serif,Georgia,serif);letter-spacing:-.015em;margin:0 0 5px}
.studio-service-name>p{font:400 11px/1.6 var(--ss-sans,Arial,sans-serif);color:#77634f;margin:0}
.studio-service-description{font:400 14px/1.8 var(--ss-sans,Arial,sans-serif);color:#655d54;margin:0;max-width:400px}
.studio-service-price{text-align:right}
.studio-service-price>span{font:400 10px/1.5 var(--ss-sans,Arial,sans-serif);color:#655d54}
.studio-service-price>p{font:500 26px/1.15 var(--ss-sans,Arial,sans-serif);letter-spacing:-.04em;margin:3px 0 9px}
.studio-service-price sup{font-size:12px;vertical-align:super;letter-spacing:0;margin-left:3px}
.studio-service-price>a{font:500 10px/1.6 var(--ss-sans,Arial,sans-serif);color:#5e4939;text-decoration:none;padding:9px 0;display:inline-block}
.studio-service-price>a:hover{text-decoration:underline;text-underline-offset:4px}
.studio-service-price>a:focus-visible{outline:2px solid #826b53;outline-offset:4px}
.studio-disclaimer{font:400 11px/1.7 var(--ss-sans,Arial,sans-serif);color:#655d54;margin:17px 0 0}
.planner .planner-disclaimer{font:400 12px/1.8 var(--ss-sans,Arial,sans-serif);color:#655d54;margin:0 0 22px}
.planner button#request-booking{font:500 14px/1.5 var(--ss-sans,Arial,sans-serif);letter-spacing:.01em;min-height:48px;padding:15px 28px}
.planner .season-slider-control{padding-top:2px}
.planner .season-slider-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0 0 2px}
.planner .season-slider-value output{font:500 42px/1.1 var(--ss-serif,Georgia,serif);letter-spacing:-.025em;color:#302a25;font-variant-numeric:tabular-nums}
.planner .season-slider-value span{font:400 11px/1.6 var(--ss-sans,Arial,sans-serif);color:#6c6055}
.planner input#fresh[type=range]{display:block;width:100%;height:44px;padding:0;margin:0;border:0;border-radius:0;background:transparent;appearance:none;-webkit-appearance:none;cursor:pointer;touch-action:pan-y}
.planner input#fresh[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,#6b5744 0%,#6b5744 var(--budget-fill,16.67%),#d9d0c4 var(--budget-fill,16.67%),#d9d0c4 100%)}
.planner input#fresh[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;height:24px;width:24px;margin-top:-9px;border-radius:50%;border:3px solid #fffcf7;background:#6b5744;box-shadow:0 0 0 1px #6b5744}
.planner input#fresh[type=range]::-moz-range-track{height:6px;border-radius:3px;background:#d9d0c4}
.planner input#fresh[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:#6b5744}
.planner input#fresh[type=range]::-moz-range-thumb{height:18px;width:18px;border-radius:50%;border:3px solid #fffcf7;background:#6b5744;box-shadow:0 0 0 1px #6b5744}
.planner .season-slider-ends{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font:500 11px/1.6 var(--ss-sans,Arial,sans-serif);color:#6c6055}
.planner #fresh-slider-hint{font-size:10px;font-weight:400}
.planner button.season-slider-expand{display:block;background:transparent;border:0;color:#665442;font:500 11px/1.6 var(--ss-sans,Arial,sans-serif);letter-spacing:0;text-decoration:underline;text-underline-offset:3px;padding:9px 0;min-height:36px;margin:0;cursor:pointer;text-align:left}
.footer-reference{font:400 11px/1.7 var(--ss-sans,Arial,sans-serif);opacity:.8}
[hidden]{display:none!important}body.booking-open{overflow:hidden}
.booking-dialog{width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:34px 36px;border:1px solid #cfc4b6;border-radius:2px;background:#fffcf7;color:#302a25;overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 70px #21170d38;font:400 14px/1.6 var(--ss-sans,Arial,sans-serif)}
.booking-dialog::backdrop{background:#26211bcc;backdrop-filter:blur(3px)}
.booking-dialog:not([open]){display:none}
.booking-dialog .booking-close{position:absolute;right:12px;top:10px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;color:#4d4035;border:0;font:400 30px/1 Arial,sans-serif;letter-spacing:0}
.booking-kicker{font:500 10px/1.5 var(--ss-sans,Arial,sans-serif);letter-spacing:.13em;text-transform:uppercase;color:#77634f;margin:0 44px 9px 0}
.booking-dialog h2{font:500 36px/1.1 var(--ss-serif,Georgia,serif);letter-spacing:-.02em;margin:0 0 12px}
.booking-dialog p{font-size:13px;line-height:1.7}
.booking-dialog #booking-intro{color:#655d54;margin:0 0 17px}
.booking-summary{margin:0 0 20px;padding:12px 0;border-top:1px solid #d6cdbf;border-bottom:1px solid #d6cdbf}
.booking-summary summary{font-size:12px;font-weight:500;cursor:pointer}
.booking-summary summary>span{float:right;font-variant-numeric:tabular-nums;padding-left:10px}
.booking-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;font-size:11px;line-height:1.7;margin:12px 0 0}
.booking-summary dt{color:#655d54}.booking-summary dd{text-align:right;overflow-wrap:anywhere;margin:0}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.booking-field label{font:500 12px/1.5 var(--ss-sans,Arial,sans-serif);margin:0 0 6px}
.booking-field{margin-bottom:16px;min-width:0}
.booking-field input{border:1px solid #cfc4b6;border-radius:2px;background:white;width:100%;min-width:0;font:400 16px/1.4 var(--ss-sans,Arial,sans-serif);color:#302a25;padding:10px 12px;min-height:44px}
.field-optional{font-size:10px;color:#6c6055;font-weight:400}
.booking-consent{display:flex;align-items:flex-start;gap:10px;font:400 12px/1.7 var(--ss-sans,Arial,sans-serif);margin:0 0 12px;cursor:pointer}
.booking-consent input{width:18px;height:18px;margin:2px 0 0;flex:0 0 18px;accent-color:#6b5744}
.booking-dialog .booking-privacy{font-size:10px;line-height:1.7;color:#6c6055;margin:0 0 17px}
.booking-dialog button:not(.booking-close){font:500 13px/1.5 var(--ss-sans,Arial,sans-serif);background:#4d4035;letter-spacing:0;border:0;color:white;padding:14px 21px;min-height:48px}
.booking-dialog #send-booking{width:100%}.booking-dialog button:disabled{opacity:.65;cursor:wait}
.booking-dialog :focus-visible{outline:2px solid #826b53;outline-offset:3px}
.booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.booking-dialog #booking-status{color:#822e23;padding:12px;background:#f7eae4;font-size:12px;margin:0 0 14px}
.booking-dialog .booking-alternative{font-size:11px;margin:14px 0 0}
.booking-success{padding:20px 0}.booking-success p{max-width:430px}
@media(max-width:760px){.services-studio{padding:42px 7% 34px}.studio-heading{grid-template-columns:1fr;gap:16px;padding-bottom:26px}.studio-heading h2{font-size:38px}.studio-intro{max-width:480px;font-size:13px}.studio-service{grid-template-columns:1fr 135px;gap:10px 14px;padding:23px 0}.studio-service-name h3{font-size:31px}.studio-service-description{grid-column:1/-1;grid-row:2;font-size:13px;max-width:none;padding-right:10px}.studio-service-price{grid-column:2;grid-row:1}.studio-service-price>p{font-size:23px}.studio-service-price>a{font-size:9px;margin:0}.studio-service-name>p{font-size:10px}.studio-disclaimer{font-size:10px}.booking-dialog{padding:28px 24px;max-height:calc(100dvh - 24px)}.booking-dialog h2{font-size:33px}.booking-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:400px){.studio-heading h2{font-size:34px}.studio-service{grid-template-columns:1fr 114px;gap:9px}.studio-service-name h3{font-size:28px}.studio-service-price>a{font-size:8.5px}.booking-dialog{width:calc(100% - 20px);padding:26px 19px}.booking-dialog h2{font-size:30px}.booking-summary summary{font-size:11px}nav{gap:20px}nav small{font-size:9px;letter-spacing:1px;text-align:right}}
