/* Shared contact and consultation treatment. */
body.contact-page,body.booking-page{background:#f8eee4;color:#242820;font-family:'Instrument Sans',Arial,sans-serif}
body.contact-page .contact-opening{background:radial-gradient(ellipse at 7% 15%,#e1e8d9,transparent 52%),#f8eee4;padding:142px 0 85px;min-height:0;overflow:visible}
body.contact-page .contact-layout{width:min(91%,1280px);max-width:1280px;margin:auto;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:7%;align-items:start}
body.contact-page .contact-intro{padding-top:20px;min-width:0}
body.contact-page .contact-intro h1{font-size:clamp(50px,5.5vw,78px)!important;line-height:1.03;letter-spacing:-.06em;margin:0 0 26px;color:#242820}
body.contact-page .contact-intro>.co-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#5b694f;margin:0 0 24px}
body.contact-page .contact-intro>.co-lead{font-size:18px;line-height:1.65;color:#636556;max-width:39ch;margin:0 0 26px}
body.contact-page .founder-profile{display:flex;gap:18px;align-items:center;padding:22px 0;margin:0;border:0;border-block:1px solid #9faca141;background:transparent;box-shadow:none;border-radius:0}
body.contact-page .lead-retro-mark{position:relative;display:grid;place-items:center;width:70px;height:70px;min-height:0;flex:none;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 30% 20%,#faffef,#d1ddb9 65%,#a0b38a)}
body.contact-page .lead-retro-mark img{width:37px;height:37px;position:static;transform:none}
body.contact-page .lead-retro-mark i{display:none}
body.contact-page .founder-profile figcaption strong{display:block;font-size:17px;letter-spacing:-.02em;line-height:1.4;color:#293425}
body.contact-page .founder-profile figcaption span{display:block;margin-top:5px;font-size:12px;line-height:1.55;color:#666d5c}
body.contact-page .contact-direct{margin:20px 0}
body.contact-page .contact-direct>a{padding:17px 30px 17px 0;border-color:#364c2d26}
body.contact-page .contact-direct>a:first-child{border-top:0}
body.contact-page .contact-direct strong{font-size:20px;font-weight:550}
body.contact-page .contact-direct span{font-size:12px;color:#646d58}
body.contact-page .contact-hours{font-size:12px;line-height:1.6;margin-bottom:25px}
body.contact-page .contact-intro>.co-button{font-size:13px;min-height:46px;background:transparent;border:0;border-bottom:1px solid #263322;color:#263322;border-radius:0;padding:10px 0;white-space:normal;text-align:left;display:inline-flex;gap:14px;align-items:center}
body.contact-page .contact-form-panel{padding:clamp(25px,3vw,42px);min-width:0;border:1px solid #fff;border-radius:24px;background:#fffdf8;box-shadow:0 20px 70px #6a574315}
body.contact-page .contact-form-panel>.co-kicker{font-size:10px;letter-spacing:.14em;color:#667355;margin:0 0 16px}
body.contact-page .contact-form-panel h2{font-size:34px;letter-spacing:-.04em;line-height:1.1;margin:0 0 14px}
body.contact-page .contact-form-panel>p:not(.co-kicker){font-size:14px;line-height:1.65;color:#636556;margin:0 0 30px}
body.contact-page .contact-fields{gap:20px 16px;display:grid;grid-template-columns:1fr 1fr}
body.contact-page .contact-fields>div[hidden]{display:none}
body.contact-page .contact-fields label{font-size:13px;font-weight:550;color:#36412e;margin-bottom:8px}
body.contact-page .contact-fields :is(input,select,textarea),body.booking-page .booking-card :is(input,select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid #d6d8ca;border-radius:8px;background:#f9f9f2;padding:12px 13px;color:#253021;font:400 16px/1.4 'Instrument Sans',Arial,sans-serif;box-shadow:none}
body.contact-page .contact-fields :is(input,select,textarea):focus,body.booking-page .booking-card :is(input,select,textarea):focus{outline:2px solid #68864c;outline-offset:2px;border-color:#718b59;background:#fff}
body.contact-page .contact-fields textarea{min-height:138px;resize:vertical}
body.contact-page .form-privacy{font-size:12px;line-height:1.65;color:#67705c;margin:22px 0}
body.contact-page .contact-form-panel button[type=submit]{display:flex;align-items:center;justify-content:space-between;width:100%;background:#20271e;border:1px solid #20271e;border-radius:8px;padding:14px 18px;min-height:50px;color:#fff;font-size:14px;font-weight:550}
body.booking-page .booking-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%;width:min(91%,1280px);max-width:1280px;padding:142px 0 85px;margin:0 auto;align-items:start}
body.booking-page .booking-intro{position:relative;top:auto;min-height:0;padding:20px 0;background:transparent;border:0;box-shadow:none;border-radius:0}
body.booking-page .booking-intro::after{display:none}
body.booking-page .booking-intro h1{font-size:clamp(48px,5vw,72px);line-height:1.05;letter-spacing:-.055em;color:#242820}
body.booking-page .booking-intro>p:not(.service-kicker):not(.booking-note){font-size:18px;line-height:1.65;color:#636556}
body.booking-page .booking-hours{background:#e9eddd;border:1px solid #d4ddc7;border-radius:12px;padding:21px 23px}
body.booking-page .booking-card{border:1px solid #fff;border-radius:24px;background:#fffdf8;box-shadow:0 20px 70px #6a574315;padding:clamp(25px,3vw,42px);min-width:0}
body.booking-page .booking-card h2{font-size:34px;letter-spacing:-.04em;line-height:1.1}
body.booking-page .booking-card-head{gap:15px;flex-wrap:wrap}
body.booking-page .booking-card-badge{background:#e9eddd;color:#5a684e;font-size:10px;padding:7px 11px;border-color:#d4ddc7}
body.booking-page .booking-section-number{background:#e7ecdc;color:#3c4c31;border-color:#d0dbc5}
body.booking-page .booking-fields{gap:20px 16px}
body.booking-page .booking-fields label{font-size:13px;font-weight:550}
body.booking-page .booking-form-section{border-color:#dfe3d6}
body.booking-page .booking-card :is(input[type=checkbox],input[type=radio]){width:18px;min-height:18px;height:18px;padding:0;accent-color:#405b2e}
@media(max-width:1000px){body.contact-page .contact-layout,body.booking-page .booking-layout{grid-template-columns:1fr;max-width:730px;gap:40px}body.contact-page .contact-opening{padding-top:120px}body.booking-page .booking-layout{padding-top:120px}.contact-intro>.co-lead{max-width:55ch}}
@media(max-width:600px){body.contact-page .contact-opening{padding:108px 0 55px}body.contact-page .contact-layout,body.booking-page .booking-layout{width:calc(100% - 36px)}body.booking-page .booking-layout{padding-top:108px;padding-bottom:55px;gap:26px}body.contact-page .contact-intro h1{font-size:52px!important}body.contact-page .contact-intro>.co-lead,body.booking-page .booking-intro>p:not(.service-kicker):not(.booking-note){font-size:16px}body.contact-page .contact-form-panel,body.booking-page .booking-card{padding:25px 21px;border-radius:18px}body.contact-page .contact-fields,body.booking-page .booking-fields{grid-template-columns:1fr}body.contact-page .contact-form-panel h2,body.booking-page .booking-card h2{font-size:30px}body.contact-page .contact-intro{padding-top:0}body.contact-page .contact-direct strong{font-size:19px}body.booking-page .booking-intro h1{font-size:48px}}

/* Keep the request form close to the introduction at every screen size. */
body.booking-page .booking-layout{grid-template-areas:"intro form" "details form";grid-template-rows:auto 1fr;gap:28px 7%;padding-top:calc(var(--header-height,82px) + 24px)}
body.booking-page .booking-intro{grid-area:intro;padding:8px 0 0;max-width:none}
body.booking-page .booking-details{grid-area:details;min-width:0}
body.booking-page .booking-card{grid-area:form}
body.booking-page .booking-details .booking-hours{margin:0;padding:18px 20px}
body.booking-page .booking-details .booking-note{margin:12px 0 0}
body.booking-page .booking-details .booking-process{margin-top:24px}
body.booking-page .booking-card-head{gap:12px;padding-bottom:22px}
body.booking-page .booking-card-head .booking-card-eyebrow{margin:0 0 8px;font-size:11px;line-height:1.4}
body.booking-page .booking-card-head p:not(.booking-card-eyebrow){margin-top:10px;font-size:14px}
body.booking-page .booking-card-badge{font-size:12px}
body.booking-page .booking-form-section:first-child{padding-top:22px}
body.booking-page #consultation-form :is(input,select,textarea){margin-bottom:0}
@media(max-width:1000px){
  body.booking-page .booking-layout{grid-template-areas:"intro" "form" "details";grid-template-rows:auto;gap:24px;padding-top:calc(var(--header-height,72px) + 20px)}
  body.booking-page .booking-intro h1{font-size:clamp(38px,6vw,56px);line-height:1.06}
  body.booking-page .booking-intro h1 br{display:none}
  body.booking-page .booking-intro h1 em::before{content:" "}
  body.booking-page .booking-intro .service-kicker{margin-bottom:12px}
  body.booking-page .booking-intro>p:not(.service-kicker):not(.booking-note){margin-top:16px;max-width:55ch}
}
@media(max-width:600px){
  body.booking-page .booking-intro{padding-top:0}
  body.booking-page .booking-intro h1{font-size:38px}
  body.booking-page .booking-card{padding:22px 20px}
  body.booking-page .booking-card-badge{margin-top:12px}
  body.booking-page .booking-section-heading{margin-bottom:16px}
  body.booking-page .booking-fields{gap:16px}
}
