/* Proportional desktop layout, based on the supplied 1440px artwork.
 * The root unit in style.css scales every rem with viewport width.
 * Percent containers here have no fixed pixel cap.
 */
@media (max-width: 700px) {
  .site-footer .footer-main { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .site-footer .footer-main > * { grid-column: 1; min-width: 0; }
  .site-footer .footer-logo { display: block; margin-inline: auto; }
  .site-footer .socials { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 1rem; }
  .site-footer .socials a, .site-footer .socials img { display: block; }
}
.site-footer .footer-contact img { width: 2.25rem; height: 2.765625rem; flex: 0 0 2.25rem; object-fit: contain; }
/* Icons have a 48x59 canvas; preserve their width so the circular artwork
   is approximately 36px at the 1440 reference, and scales on desktop. */
.page-hero { padding: 11rem 0 3rem; background: #49613b; color: white; }
.page-hero h1 { margin: 0; font-size: 3rem; line-height: 1.2; }
.entry-content { line-height: 1.75; overflow-wrap: anywhere; }
.entry-content h2 { margin-top: 2rem; color: #49613b; }
.entry-content a { text-decoration: underline; }
@media (max-width:700px) { .page-hero { padding-top: 8rem; } .page-hero h1 { font-size: 2rem; } }
.founder-placeholder { overflow: hidden; }
.founder-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
main img[src=""] { display: none; }
.form-wrap .miranis-enquiry { display: grid; gap: 1.125rem; }
.form-wrap .miranis-enquiry p { margin: 0; }
/* CF7 autop groups adjacent labels into a single paragraph. Flatten only
   these layout wrappers so each label remains an independent grid item. */
.form-wrap .miranis-enquiry > p,
.form-wrap .miranis-enquiry .enquiry-row > p { display: contents; }
.form-wrap .miranis-enquiry .wpcf7-form-control-wrap { display: block; min-width: 0; }
.form-wrap .enquiry-submit { position: relative; }
.form-wrap .enquiry-submit .wpcf7-spinner { position: absolute; right: 0; top: 100%; margin: .25rem 0 0; }
.form-wrap h2 { font-weight: 600; }
@media (min-width: 701px) {
  .contact { grid-template-columns: 52.41935484% 47.58064516%; }
  .contact .form-wrap { margin: 2.125rem 1.875rem 0 0; padding: 1.5625rem 1.5625rem 1.25rem; }
  .contact .form-wrap h2 { font-size: 2rem; line-height: 2.5rem; }
  .contact .form-wrap > p { font-size: 1rem; margin: .75rem 0 1.625rem; }
}
.form-wrap .miranis-enquiry br { display: none; }
.form-wrap .miranis-enquiry label { display: block; margin: 0; min-width: 0; font-size: 1rem; font-weight: 400; }
.miranis-enquiry .enquiry-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.5rem; }
.form-wrap .miranis-enquiry input:not([type=submit]),
.form-wrap .miranis-enquiry select,
.form-wrap .miranis-enquiry textarea {
  display: block; width: 100%; min-width: 0; margin: 0;
  border: .0625rem solid #d4af37; border-radius: 2rem;
  padding: 1rem 1.3125rem; background: #fff; color: #49613b;
  font: inherit; line-height: 1.625; box-sizing: border-box;
}
.form-wrap .miranis-enquiry input::placeholder,
.form-wrap .miranis-enquiry textarea::placeholder { color: #68775c; opacity: 1; }
.form-wrap .miranis-enquiry select { appearance: none; padding-right: 3rem; }
.enquiry-select { position: relative; }
.enquiry-select::after { content: ''; position: absolute; right: 1.625rem; top: 1.5rem; width: .5rem; height: .5rem; border-right: .125rem solid #d4af37; border-bottom: .125rem solid #d4af37; transform: rotate(45deg); pointer-events: none; }
.form-wrap .miranis-enquiry textarea { height: 10.375rem; min-height: 10.375rem; border-radius: 1.75rem; resize: vertical; }
.form-wrap .miranis-enquiry input:focus-visible,
.form-wrap .miranis-enquiry textarea:focus-visible,
.form-wrap .miranis-enquiry select:focus-visible { outline: .125rem solid #49613b; outline-offset: .1875rem; }
.form-wrap .miranis-enquiry input[type=submit] { margin: .5rem 0 0 auto; width: auto; min-height: 3.625rem; padding: .875rem 2.8125rem; border-radius: 32rem; background: #d4af37; color: white; font-size: 1.125rem; font-weight: 600; line-height: 1.625rem; }
.enquiry-submit { text-align: right; }
.form-wrap .wpcf7-not-valid-tip { font-size: .875rem; margin-top: .375rem; color: #9e2525; }
.form-wrap .wpcf7-response-output { margin: 1rem 0 0; padding: .75rem; font-size: .9375rem; color: #374238; }
@media (max-width: 700px) { .miranis-enquiry .enquiry-row { grid-template-columns: 1fr; gap: 1.125rem; } }
.site-header .main-nav .menu li:last-child a {
  padding: 0; border-radius: 0; background: transparent; color: inherit;
}
.site-header .main-nav .menu li.current-menu-item a:after {
  display: block; left: 50%; right: auto; width: 2.25rem;
  transform: translateX(-50%); background: #d6b12f;
}
.header-contact {
  display: flex; align-items: center; justify-content: center;
  background: #d6b12f; color: #fff; border-radius: 999px;
  font-size: 1.125rem; font-weight: 600; text-align: center;
}
.site-header a:focus-visible, .menu-toggle:focus-visible {
  outline: .125rem solid #49613b; outline-offset: .25rem;
}
@media (min-width: 701px) {
  .site-header { top: 3.6111111111vw; }
  .site-header .header-inner {
    position: relative; display: grid; grid-template-columns: 12.5rem 1fr 12.5rem;
    height: 5.375rem; min-height: 0; padding: 0 .875rem; border: 0;
    background: rgba(255,255,255,.57); border-radius: 13rem;
  }
  .site-header .brand { position: absolute; left: .6875rem; top: .5625rem; }
  .site-header .brand img { width: 4.1875rem; height: 4.25rem; object-fit: contain; }
  .site-header .main-nav {
    position: absolute; left: calc(50% - 1.84375rem);
    top: 0; height: 100%; transform: translateX(-50%);
  }
  .site-header .main-nav .menu {
    height: 100%; justify-content: center; gap: 5rem; font-size: 1.125rem; font-weight: 400;
  }
  .site-header .main-nav .menu li { height: 100%; display: flex; align-items: stretch; }
  .site-header .main-nav .menu li a { display: flex; align-items: center; padding: 0; line-height: 1.75rem; color: #1f2923; }
  .site-header .main-nav .menu li.current-menu-item a { font-weight: 700; }
  .site-header .main-nav .menu li.current-menu-item a:after { bottom: 0; height: .25rem; width: 2.3125rem; background: #d4af37; border-radius: 1rem 1rem 0 0; }
  .header-contact { position: absolute; right: .875rem; top: .875rem; width: 11.75rem; height: 3.625rem; line-height: 1.625rem; background: #d4af37; }
  body.admin-bar .site-header { margin-top: 32px; }
}
@media (max-width: 700px) {
  .site-header .header-inner { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .5rem; padding: .375rem .5rem .375rem .75rem; }
  .site-header .brand { grid-column: 1; grid-row: 1; }
  .site-header .menu-toggle { grid-column: 3; grid-row: 1; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; margin: 0; border: 0; border-radius: 50%; background: transparent; color: #1f2923; cursor: pointer; }
  .header-contact { grid-column: 2; grid-row: 1; justify-self: end; font-size: .8rem; padding: .65rem .9rem; }
  .site-header .main-nav { top: calc(100% + .5rem); left: 0; right: 0; width: 100%; padding: .5rem; transform: none; text-align: left; }
  .site-header .main-nav .menu { display: grid; grid-template-columns: 1fr; gap: .125rem; width: 100%; padding: 0; margin: 0; }
  .site-header .main-nav .menu li { display: block; margin: 0; width: 100%; }
  .site-header .main-nav .menu li a,
  .site-header .main-nav .menu li:last-child a { display: flex; align-items: center; min-height: 2.75rem; width: 100%; padding: .75rem 1rem; border-radius: .625rem; line-height: 1.5; }
  .site-header .main-nav .menu li.current-menu-item a { background: #e9eddf; color: #49613b; font-weight: 700; }
  .menu-toggle-icon { position: relative; display: block; width: 1.375rem; height: 1.125rem; }
  .menu-toggle-icon span { position: absolute; left: 0; width: 100%; height: .125rem; background: currentColor; border-radius: .125rem; transition: transform .18s ease, opacity .18s ease; }
  .menu-toggle-icon span:nth-child(1) { top: 0; }
  .menu-toggle-icon span:nth-child(2) { top: .5rem; }
  .menu-toggle-icon span:nth-child(3) { top: 1rem; }
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) { transform: translateY(.5rem) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) { transform: translateY(-.5rem) rotate(-45deg); }
  .site-header .main-nav .menu li.current-menu-item a:after { display: none; }
  body.admin-bar .site-header { margin-top: 46px; }
}
@media (prefers-reduced-motion: reduce) { .menu-toggle-icon span { transition: none; } }
@media (min-width: 701px) {
  :root { --page: 86.1111111111%; }
  body { font-size: .9375rem; }
  .header-inner { width: 83.3333333333%; border-width: .0625rem; }
  main > .site-shell:first-child { width: 97.5%; margin-top: 1.25vw; }
  .hero { min-height: 0; aspect-ratio: 1404 / 614; border-radius: 1.875rem; }
  .hero:after { display: none; }
/*   .hero-home { aspect-ratio: 1404 / 898; } */
  /* Inner-page panel measured from the supplied 1440px references:
     552 x 200, with its text starting 81px from the banner's left. */
  .hero-copy {
    width: 34.5rem; height: 12.5rem; padding: 2.75rem 0 0 5.0625rem;
    border-radius: 0 1.5rem 0 0; background: rgba(255,255,255,.05);
    backdrop-filter: blur(.5625rem);
  }
  .hero-copy:before { width: 13.8125rem; height: .4375rem; margin: 0 0 1.5625rem; }
  .hero-copy h1 {
    width: auto; max-width: none; margin: 0; font-size: 4.5rem;
    line-height: 4.75rem; letter-spacing: -.04rem; font-weight: 600;
  }
  /* Homepage export: panel 1015 x 378, text frame 818 x 260.
     59px top inset + 7px rule + 25px gap + 228px heading + 59px bottom. */
  .hero-home .hero-copy { width: 63.4375rem; height: 23.625rem; padding: 3.6875rem 0 0 5.0625rem; }
  .hero-home .hero-copy h1 { width: 51.125rem; }
  .header-inner { backdrop-filter: blur(.75rem); }
  .main-nav .current-menu-item a:after { height: .125rem; border-radius: .125rem; }
  .split-vision { grid-template-columns: 1fr .0625rem 1fr; }
  .footer-main { grid-template-columns: 1.1fr .0625rem .65fr 1.35fr .3fr; }
  .team, .team-card, .team-card:nth-child(odd), .footer-bottom,
  .wpcf7-form input, .wpcf7-form textarea, .wpcf7-form select,
  .form-placeholder input, .form-placeholder textarea { border-width: .0625rem; }
}
