/* Services and About use the same photo/card treatment as the homepage. */
#content .ybe-content-page .ybe-page-intro {
  padding:clamp(28px,4vw,56px) var(--ybe-gutter) var(--ybe-section-space)
}
#content .ybe-content-page h1 {
  font-size:clamp(34px,4vw,52px);
  font-weight:600;
  line-height:1.15;
  margin:0;
  color:#111;
  max-width:920px
}
#content .ybe-content-page h2 {
  font-size:clamp(23px,2.4vw,32px);
  font-weight:600;
  line-height:1.3;
  margin:0 0 20px
}
#content .ybe-content-page p {
  font-size:16px;
  line-height:1.75;
  margin:0 0 20px
}
#content .ybe-content-page p:last-child {margin-bottom:0}
#content .ybe-intro-copy {max-width:920px;margin-top:32px;padding-top:32px;border-top:1px solid #1114}
#content .ybe-catalogue {padding:var(--ybe-section-space) var(--ybe-gutter);background:#101214;color:#f6f6f6}
#content .ybe-catalogue-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
#content .ybe-catalogue .ybe-service-photo {aspect-ratio:16/9;min-height:0}
#content .ybe-catalogue .ybe-service-copy {padding:clamp(24px,3vw,36px);gap:20px}
#content .ybe-catalogue h2 {font-size:clamp(23px,2.1vw,28px);margin:0;color:#f6f6f6}
#content .ybe-catalogue p {margin:0;color:#d4d6d7}
#content .ybe-catalogue .ybe-service-card:hover {transform:none;box-shadow:none}
#content .ybe-content-button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  align-self:flex-start;
  margin-top:auto;
  padding:12px 18px;
  min-height:46px;
  background:#fff112;
  color:#111;
  border:1px solid #fff112;
  border-radius:8px;
  font-size:15px;
  font-weight:600;
  line-height:1.5;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease
}
#content .ybe-content-button:hover {background:#fff570;transform:translateY(-2px)}
#content .ybe-content-button:focus-visible,#content .ybe-catalogue .ybe-service-photo:focus-visible {outline:3px solid #fff112;outline-offset:5px}
#content .ybe-page-closing {padding:var(--ybe-section-space) var(--ybe-gutter) 0}
#content .ybe-page-closing>.ybe-section-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:clamp(24px,4vw,56px)}
#content .ybe-page-closing h2 {color:#111}
#content .ybe-about-section {background:#101214;color:#f6f6f6;padding:var(--ybe-section-space) var(--ybe-gutter)}
#content .ybe-about-grid {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,4vw,56px);align-items:start}
#content .ybe-about-photo {width:100%;aspect-ratio:638/1024;background-position:center;background-size:cover;background-repeat:no-repeat;border:0;border-radius:0}
#content .ybe-about-copy {background:#1b1e20;padding:clamp(24px,3vw,36px);border:0;border-radius:0;min-width:0}
#content .ybe-about-copy h2 {color:#f6f6f6}
#content .ybe-about-copy p {color:#d4d6d7}
#content .ybe-about-copy .ybe-content-button {margin-top:8px;border:0;border-radius:0}
@media(max-width:767px) {
  #content .ybe-catalogue-grid,#content .ybe-about-grid,#content .ybe-page-closing>.ybe-section-inner {grid-template-columns:minmax(0,1fr)}
  #content .ybe-about-photo {aspect-ratio:4/5;background-position:center 45%;max-width:520px;margin-inline:auto}
  #content .ybe-page-closing h2 {margin-bottom:0}
}
@media(prefers-reduced-motion:reduce) {
  #content .ybe-content-button {transition:none}
  #content .ybe-content-button:hover {transform:none}
}
/* Match the two desktop panels in height without stretching the photograph. */
@media(min-width:1001px) {
  #content .ybe-about-photo {aspect-ratio:auto;align-self:stretch;min-height:640px}
}
@media(max-width:1000px) {
  #content .ybe-about-grid {grid-template-columns:minmax(0,1fr)}
  #content .ybe-about-photo {aspect-ratio:4/5;background-position:center 45%;max-width:520px;margin-inline:auto}
}
/* Contact: open sections and flat, square form controls. */
#content .ybe-contact-lead {margin:18px 0 0;font-size:20px;color:#292900}
#content .ybe-contact-section {background:#101214;color:#f6f6f6;padding:var(--ybe-section-space) var(--ybe-gutter)}
#content .ybe-contact-grid {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,80px);align-items:start}
#content .ybe-contact-details {display:grid;gap:40px;min-width:0}
#content .ybe-contact-card,#content .ybe-contact-form {background:transparent;border:0;border-radius:0;padding:0;min-width:0}
#content .ybe-contact-page .ybe-contact-section h2 {color:#f6f6f6;font-size:clamp(23px,2.2vw,28px)}
#content .ybe-contact-eyebrow {display:block;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#fff112;margin-bottom:16px}
#content .ybe-contact-number {display:block;font-size:clamp(23px,2.5vw,30px);font-weight:600;line-height:1.3;color:#fff112;margin-bottom:10px;text-decoration:none}
#content .ybe-contact-email {color:#e6e6e6;overflow-wrap:anywhere}
#content .ybe-contact-address {border-top:1px solid #ffffff20;margin-top:24px;padding-top:24px}
#content .ybe-contact-page h3 {font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px;color:inherit}
#content .ybe-contact-address address {font-style:normal;font-size:16px;line-height:1.7;color:#d4d6d7;margin-bottom:16px}
#content .ybe-contact-address a,#content .ybe-contact-booking a {color:#fff112;font-size:14px;font-weight:600;line-height:1.6;text-underline-offset:4px}
#content .ybe-contact-hours {margin:0;font-size:14px;line-height:1.6}
#content .ybe-contact-hours>div {display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #ffffff16}
#content .ybe-contact-hours>div:first-child {padding-top:0}
#content .ybe-contact-hours>div:last-child {padding-bottom:0;border-bottom:0}
#content .ybe-contact-hours dt {font-weight:500;color:#f6f6f6}
#content .ybe-contact-hours dd {margin:0;text-align:right;color:#d4d6d7}
#content .ybe-contact-booking {padding:0}
#content .ybe-contact-booking p {color:#d4d6d7;font-size:14px;margin-bottom:12px}
#content .ybe-contact-form>p {color:#d4d6d7;font-size:15px}
#content .ybe-form-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin:28px 0 20px}
#content .ybe-form-fields label {display:block;min-width:0;font-size:14px;font-weight:500;color:#f6f6f6;line-height:1.5}
#content .ybe-form-fields label>span {color:#fff112}
#content .ybe-form-fields small {font-size:12px;font-weight:400;color:#bec3c6}
#content .ybe-field-wide {grid-column:1/-1}
#content .ybe-form-fields input,#content .ybe-form-fields select,#content .ybe-form-fields textarea {display:block;box-sizing:border-box;width:100%;max-width:100%;margin-top:9px;min-height:48px;border:0;border-radius:0;padding:12px 14px;font:inherit;font-size:16px;line-height:1.5;background:#24282b;color:#f6f6f6;box-shadow:none;transition:background .2s;color-scheme:dark}
#content .ybe-form-fields textarea {resize:vertical;min-height:156px}
#content .ybe-form-fields input::placeholder,#content .ybe-form-fields textarea::placeholder {color:#9ea5a9;opacity:1}
#content .ybe-form-fields :is(input,select,textarea):focus-visible {outline:2px solid #fff112;outline-offset:3px;border-color:#fff112}
#content .ybe-contact-form .ybe-form-note {font-size:12px;line-height:1.7;margin-bottom:24px;color:#bec3c6}
#content .ybe-contact-form button {cursor:pointer;width:100%;border:0;border-radius:0;box-shadow:none}
#content .ybe-contact-form button:disabled {cursor:wait;opacity:.65;transform:none}
#content .ybe-contact-trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#content .ybe-form-feedback {padding:16px;margin-top:20px;border:0;border-radius:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
#content .ybe-form-feedback.is-success {background:#173629;color:#bcf1d3}
#content .ybe-form-feedback.is-error {background:#3c2424;color:#ffcdcd}
#content .ybe-contact-more {padding:var(--ybe-section-space) var(--ybe-gutter) 0}
#content .ybe-contact-faq details {border-top:1px solid #1114}
#content .ybe-contact-faq summary {cursor:pointer;padding:22px 0;font-size:17px;line-height:1.5;font-weight:600}
#content .ybe-contact-faq details>div {padding:0 0 26px;max-width:920px}
#content .ybe-contact-faq ul {font-size:16px;line-height:1.8;margin-bottom:20px}
#content .ybe-contact-faq summary:focus-visible {outline:2px solid #111;outline-offset:3px}
#content .ybe-contact-page a:focus-visible {outline:2px solid #fff112;outline-offset:4px}
@media(max-width:900px) {
  #content .ybe-contact-grid {grid-template-columns:minmax(0,1fr)}
  #content .ybe-contact-form {grid-row:1}
  #content .ybe-contact-details {grid-template-columns:repeat(2,minmax(0,1fr))}
  #content .ybe-contact-booking {grid-column:1/-1}
}
@media(max-width:600px) {
  #content .ybe-form-fields,#content .ybe-contact-details {grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce) {
  #content .ybe-form-fields :is(input,select,textarea) {transition:none}
}
