/* Independent chapters retain the original navy, amber and interior imagery. */
:root { --contact: #eab364; }
[hidden] { display: none !important; }
.header nav a[aria-current="page"] { color: var(--gold); border-bottom: 1px solid var(--gold); }
.header nav { gap: clamp(20px, 2.5vw, 38px); }
.header nav a { white-space: nowrap; }
.hero { position: relative; isolation: isolate; }
main, .site-footer { overflow: clip; }
.hero-copy { min-width: 0; }
.home-pages { padding-top: 65px; padding-bottom: 70px; }
.home-pages > .eyebrow { margin-bottom: 25px; color: var(--muted); }
.home-page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 55px; }
.home-page-grid > a { display: grid; grid-template-columns: 35px 1fr 25px; align-items: center; gap: 15px; padding: 27px 0; border-top: 1px solid var(--border); }
.home-page-grid > a > span:first-child { font-size: 10px; color: var(--muted); }
.home-page-grid h2 { margin: 0; font-size: clamp(24px, 2.7vw, 38px); }
.page-card-arrow { color: #9c6b26; font-size: 24px; }
.home-page-grid a:hover h2 { color: #956121; }
.page-section { padding-top: 75px; }
.page-section h1 { font-size: clamp(40px, 4.5vw, 67px); font-weight: 500; line-height: 1.06; letter-spacing: -.055em; max-width: 820px; margin: 0 0 25px; }
.page-section .section-top > .eyebrow { margin-top: 8px; }
.possibilities-page .inspiration { padding-top: 75px; }
.approach-page .approach h1 { color: white; max-width: 800px; }
.approach-page .faq { background: var(--paper); }
.contact-page .contact { min-height: 620px; background: var(--contact); }
.contact-page .contact h1 { font-size: clamp(48px, 5.5vw, 80px); margin: 28px 0 23px; }
.contact-page .contact h1 span { color: #725026; }
.contact-page .email { overflow-wrap: anywhere; }
.enquiry-notes { display: grid; grid-template-columns: 1fr 1.3fr; gap: 8vw; }
.enquiry-notes .eyebrow { margin-bottom: 25px; color: var(--muted); }
.enquiry-list > p { border-top: 1px solid var(--border); padding: 23px 0 25px; font-size: 14px; line-height: 1.7; }
.enquiry-list > p:last-child { border-bottom: 1px solid var(--border); }
.enquiry-list span { display: block; font-size: 9px; letter-spacing: 1.5px; color: var(--muted); margin-bottom: 10px; }
.page-next { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 6vw; padding: 45px 7%; background: var(--paper); border-top: 1px solid var(--border); }
.page-next > div > p:last-child { font-size: 13px; line-height: 1.7; color: var(--muted); margin-top: 12px; }
.page-next > a { display: flex; align-items: center; justify-content: space-between; gap: 30px; border-bottom: 1px solid #acb2b6; padding: 15px 0; font-size: clamp(26px, 3vw, 43px); line-height: 1.15; letter-spacing: -.045em; }
.page-next > a > span { color: #9c6b26; font-size: 28px; }
.page-next > a:hover { color: #956121; }
.site-footer > a:last-child { overflow-wrap: anywhere; white-space: normal; }
.service-content article + article { margin-top: 30px; }
.js .service-content article + article { margin-top: 0; }
@media(max-width:1100px) {
  .home-page-grid { gap: 0 35px; }
  .page-section { padding-top: 60px; }
  .page-next { padding: 38px 6%; }
  .site-footer { gap: 25px; }
}
@media(max-width:760px) {
  /* The mobile navigation only collapses once all its controls are wired. */
  .header { height: auto; min-height: 79px; flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; gap: 18px; }
  .js .header { height: 79px; padding-top: 0; padding-bottom: 0; gap: 0; }
  .header nav { display: flex; position: static; flex-basis: 100%; padding: 0; border: 0; font-size: 14px; }
  .js .header nav { display: none; position: absolute; top: 79px; left: 0; padding: 15px 6% 27px; border-bottom: 1px solid #ffffff30; }
  .js .header nav.is-open { display: flex; }
  .home-pages { padding-top: 42px; padding-bottom: 42px; }
  .home-page-grid { grid-template-columns: 1fr; gap: 0; }
  .home-page-grid > a { padding: 24px 0; }
  .home-page-grid h2 { font-size: 30px; }
  .page-section, .possibilities-page .inspiration { padding-top: 45px; }
  .page-section h1 { font-size: clamp(35px, 9.8vw, 55px); margin-bottom: 24px; }
  .page-section .section-top > .eyebrow { margin: 0 0 22px; }
  .contact-page .contact { min-height: 0; }
  .contact-page .contact h1 { font-size: clamp(45px, 12vw, 64px); }
  .contact-page .email { font-size: clamp(21px, 5.8vw, 30px); }
  .enquiry-notes { display: block; }
  .enquiry-list { margin-top: 35px; }
  .page-next { grid-template-columns: 1fr; gap: 20px; padding: 35px 6%; }
  .page-next > a { font-size: 30px; }
  .site-footer { align-items: start; }
  .site-footer > a:last-child { text-align: right; max-width: 160px; line-height: 1.7; }
}
@media print {
  .rpw-brand-intro, .menu-button, .skip { display: none !important; }
  [inert] { opacity: 1 !important; }
  .header, .js .header { height: auto; padding: 20px 5%; flex-wrap: wrap; }
  .header nav, .js .header nav { display: flex !important; position: static; padding: 10px 0; border: 0; }
  main, .site-footer, .hero { overflow: visible; }
  .hero h1, .hero [data-enter], main [data-enter] { visibility: visible !important; translate: none !important; animation: none !important; }
  .page-section, .section { padding: 35px 5%; }
  .hero, .hero-visual { min-height: 550px; }
  .page-section h1, .hero h1 { font-size: 40pt; }
  .home-page-grid { grid-template-columns: 1fr 1fr; }
  .service-content article[hidden] { display: block !important; margin-top: 30px; }
  .image-grid figure, .page-next, .steps > div { break-inside: avoid; }
}
