
.photo-background .hero {
 max-width:none;
 padding-top:4rem;
 padding-bottom:9rem;
 background-color:var(--paper);
 background-image:linear-gradient(90deg,rgba(245,242,236,.96) 0%,rgba(245,242,236,.91) 36%,rgba(245,242,236,.65) 56%,rgba(245,242,236,.15) 78%,rgba(245,242,236,.10) 100%),url("/photos/field-1-01.jpeg");
 background-size:cover;
 background-position:center 52%;
}

@media(max-width:1050px) {
 .photo-background .hero {
  padding-top:2.3rem;
  padding-bottom:6rem;
  background-image:linear-gradient(180deg,rgba(245,242,236,.94) 0%,rgba(245,242,236,.84) 22%,rgba(245,242,236,.35) 48%,rgba(245,242,236,.94) 65%,rgba(245,242,236,.94) 82%,rgba(245,242,236,.25) 100%),url("/photos/field-1-01.jpeg");
  background-position:52% center;
 }

}


.homepage #approach .intro-summary { display:block; }
.homepage #approach .intro-summary p { max-width:72ch; }

.homepage #approach .intro-principles article .intro-columns { margin-top:1.6rem; }
.homepage #approach .intro-principles > .text-link { grid-column:1 / -1; grid-row:2; justify-self:center; display:flex; width:max-content; max-width:100%; margin:2.5rem auto 0; }
@media(max-width:1050px) { .homepage #approach .intro-principles article + article { margin-top:2.5rem; } }


.homepage .closing-contact { background:var(--red); color:#fff8f3; }
.homepage .closing-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:3rem; padding-block:2.5rem; }
.homepage .closing-contact h2 { font-size:2.2rem; line-height:1.15; letter-spacing:-.035em; margin:0; }
.homepage .closing-contact .contact-right > a { font-size:1.7rem; min-height:48px; border-color:rgba(255,248,243,.5); }
.homepage .closing-contact .availability { color:inherit; opacity:1; }
@media(max-width:760px) { .homepage .closing-inner { grid-template-columns:1fr; gap:1.5rem; padding-block:2rem; } .homepage .closing-contact h2 { font-size:1.75rem; } .homepage .closing-contact .contact-right > a { font-size:1.45rem; } }

.homepage .closing-contact a:focus-visible { outline-color:#fff8f3; }


.homepage .hero-role-selector { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; max-width:31rem; min-width:0; padding:0; margin:0 0 .8rem; border:0; }
.homepage .hero-role-selector legend,.homepage .hero-role-selector input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.homepage .hero-role-selector label { min-width:0; cursor:pointer; }
.homepage .hero-role-selector span { display:flex; align-items:center; justify-content:center; min-height:44px; padding:.45rem .5rem; border:1px solid #25262455; background:rgba(245,242,236,.8); color:var(--ink); font-size:.85rem; line-height:1.2; }
.homepage .hero-role-selector label + label span { border-left:0; }
.homepage .hero-role-selector input:checked + span { background:var(--ink); color:var(--paper); box-shadow:inset 0 -3px var(--red); }
.homepage .hero-role-selector input:focus-visible + span { outline:3px solid var(--red); outline-offset:3px; position:relative; z-index:1; }
@media(max-width:400px) { .homepage .hero-role-selector span { font-size:.78rem; padding-inline:.25rem; } }


.homepage .closing-contact { margin-top:3rem; background:var(--paper); color:var(--ink); border-top:1px solid var(--line); }
.homepage .closing-inner { grid-template-columns:1fr 1.2fr; align-items:start; gap:4rem; padding-block:3rem 2rem; }
.homepage .closing-contact h2 { font-size:1.8rem; line-height:1.2; }
.homepage .closing-copy .contact-right { margin-top:1.5rem; }
.homepage .closing-contact .contact-right > a { max-width:360px; font-size:1.2rem; color:var(--red); border-color:var(--line); }
.homepage .closing-contact a:focus-visible { outline-color:var(--red); }
.homepage-enquiry { display:grid; grid-template-columns:1fr 1fr; gap:1rem; min-width:0; }
.enquiry-field { min-width:0; }
.enquiry-field label { display:block; margin-bottom:.4rem; font-size:.85rem; font-weight:600; }
.enquiry-field label span { font-weight:400; color:var(--muted); }
.enquiry-field input,.enquiry-field textarea { display:block; width:100%; min-width:0; min-height:44px; padding:.7rem .8rem; border:1px solid #aaa8a2; border-radius:0; background:#fffdfa; color:var(--ink); font:inherit; font-size:1rem; }
.enquiry-field textarea { min-height:110px; resize:vertical; }
.enquiry-field [aria-invalid="true"] { border-color:var(--red); }
.enquiry-wide { grid-column:1 / -1; }
.field-error { color:var(--red); font-size:.82rem; line-height:1.4; margin:.35rem 0 0; }
.enquiry-submit button { min-height:46px; padding:.75rem 1.25rem; border:0; border-radius:0; background:var(--red); color:#fff8f3; font:inherit; font-weight:600; cursor:pointer; }
.enquiry-submit button:disabled { cursor:default; opacity:.65; }
#contact-status { max-width:65ch; margin:.75rem 0 0; font-size:.9rem; line-height:1.5; }
#contact-status:empty { display:none; }
.contact-status--error { color:var(--red); }
.homepage .closing-legal { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.25rem; border-top:1px solid var(--line); color:var(--muted); font-size:.78rem; }
.closing-legal small { font-size:inherit; }
.closing-legal a { padding:.5rem 0; }
@media(max-width:760px) { .homepage .closing-inner { grid-template-columns:1fr; gap:2rem; padding-block:2rem; } .homepage .closing-contact { margin-top:2rem; } .homepage .closing-contact h2 { font-size:1.6rem; } .homepage .closing-legal { align-items:flex-start; } }
@media(max-width:400px) { .homepage-enquiry { grid-template-columns:1fr; } }
