.form-wrap{max-width:850px}.inquiry-form{padding:32px;border:1px solid #e8e1d6;background:#fff}.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}form label{display:block;font-weight:600}form span{font-size:12px;font-weight:400;color:#686e68}form input:not([type=checkbox]),form textarea{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #b1b8ad;border-radius:0;font:inherit;box-sizing:border-box}form fieldset{border:0;border-top:1px solid #e8e1d6;padding:24px 0;margin:24px 0}form legend{font-weight:600;padding-top:16px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:flex;gap:10px;align-items:center;font-weight:400;margin:8px 0}.choice input{width:18px;height:18px;flex-shrink:0}button.btn{cursor:pointer;font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8c9788;outline-offset:3px}#form-status{color:#8b2626}.note a{text-decoration:underline}@media(max-width:850px){:is(header,nav).nav .navin{height:auto;min-height:84px;flex-wrap:wrap;padding:8px 0;gap:10px}:is(header,nav).nav .links{display:flex!important;flex-wrap:wrap;gap:12px;font-size:10px;padding-bottom:8px}}@media(max-width:560px){.fields,.choices{grid-template-columns:1fr}.inquiry-form{padding:22px}}

/* Full-width brand masthead, with navigation on its own row. */
:is(header,nav).nav .navin{height:auto;display:flex;flex-direction:column;align-items:center;gap:0;padding:22px 0 14px}
:is(header,nav).nav .brand-banner{display:block;width:100%;text-align:center;white-space:nowrap;color:var(--forest);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,7.4vw,88px);font-weight:500;line-height:1.15;letter-spacing:.045em;text-transform:uppercase;padding:0 0 18px}
:is(header,nav).nav .links{display:flex!important;justify-content:center;flex-wrap:wrap;width:100%;gap:12px 25px;padding:12px 0 0;border-top:1px solid var(--line)}
@media(max-width:560px){:is(header,nav).nav .navin{min-height:0;padding:18px 0 12px}:is(header,nav).nav .brand-banner{padding-bottom:14px;letter-spacing:.015em}:is(header,nav).nav .links{gap:9px 15px;font-size:10px;padding-top:12px}}

/* Approved horizontal rose logo; the whole image links home. */
:is(header,nav).nav .navin{padding-top:6px}
:is(header,nav).nav .brand-banner{font-size:0;line-height:0;padding-bottom:6px}
:is(header,nav).nav .horizontal-logo{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;margin:0 auto;mix-blend-mode:multiply}
@media(max-width:560px){:is(header,nav).nav .navin{padding-top:4px}:is(header,nav).nav .brand-banner{padding-bottom:4px}}

/* Explicit, touch-friendly inquiry fields across mobile browsers. */
.inquiry-form .fields{min-width:0}
.inquiry-form .fields > *{min-width:0}
.inquiry-form input:not([type="checkbox"]),.inquiry-form select,.inquiry-form textarea{display:block!important;width:100%!important;min-width:0;min-height:48px;padding:12px 14px!important;background:#fff!important;color:#1f241f!important;border:2px solid #89958a!important;border-radius:5px!important;opacity:1!important;visibility:visible!important;-webkit-appearance:none;appearance:none;font-size:16px!important;line-height:1.4}
.inquiry-form input::placeholder{color:#737a73;opacity:1}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:#26362b!important;outline:2px solid #26362b;outline-offset:2px}
@media(max-width:700px){.inquiry-form .fields{grid-template-columns:minmax(0,1fr)!important}.inquiry-form{padding:18px!important}.form-wrap{width:calc(100% - 28px)!important}.inquiry-form button[type="submit"]{min-height:48px}}

/* Name, email and phone always occupy separate full-width rows. */
.inquiry-form .fields > .contact-primary-field{grid-column:1 / -1;display:flex;flex-direction:column;gap:8px;width:100%;min-width:0;margin:0;}
.inquiry-form .fields > .contact-primary-field input{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;box-sizing:border-box;margin:0;}
/* Mobile masthead correction: keep the rose logo proportional and prevent it from covering page headings. */
:is(header,nav).nav .brand-banner{width:min(100%,560px)!important;max-width:560px!important;flex:0 0 auto!important;overflow:visible!important;padding:0 0 8px!important}
:is(header,nav).nav .horizontal-logo{width:100%!important;max-width:560px!important;max-height:150px!important;height:auto!important;object-fit:contain!important}
:is(header,nav).nav .navin{height:auto!important;min-height:0!important;gap:4px!important;padding:8px 0 12px!important}
:is(header,nav).nav .links{position:static!important;margin:0!important;padding:10px 0 0!important}
@media(max-width:700px){
 :is(header,nav).nav{position:relative!important;top:auto!important}
 :is(header,nav).nav .brand-banner{width:min(100%,420px)!important;max-width:420px!important;padding-bottom:4px!important}
 :is(header,nav).nav .horizontal-logo{max-height:115px!important}
 :is(header,nav).nav .navin{padding:6px 0 10px!important}
 .intro{padding-top:36px!important}
}


/* Mobile masthead: logo and navigation stay in normal document flow. */
@media (max-width: 850px) {
  html,body { overflow-x: clip; }
  header.nav, nav.nav { position: relative !important; top: auto !important; }
  :is(header,nav).nav .navin {
    display:flex !important; flex-direction:column !important;
    height:auto !important; min-height:0 !important;
    padding:10px 0 12px !important; gap:0 !important;
    align-items:center !important;
  }
  :is(header,nav).nav .brand-banner {
    display:block !important; width:100% !important;
    height:auto !important; padding:0 0 10px !important;
    margin:0 !important; line-height:0 !important;
    position:static !important;
  }
  :is(header,nav).nav .horizontal-logo {
    display:block !important; width:100% !important;
    max-width:540px !important; height:auto !important;
    max-height:145px !important; object-fit:contain !important;
    margin:0 auto !important; position:static !important;
  }
  :is(header,nav).nav .links {
    display:flex !important; position:static !important;
    flex-wrap:wrap !important; justify-content:center !important;
    width:100% !important; margin:0 !important;
    padding:12px 0 0 !important; gap:10px 16px !important;
  }
  main { position:relative; clear:both; }
  main > .intro:first-child { padding-top:40px !important; }
}
@media (max-width: 560px) {
  :is(header,nav).nav .horizontal-logo { max-height:115px !important; }
  :is(header,nav).nav .links { font-size:11px !important; }
}

/* Compact rental directory, aligned with the Yard Games layout. */
.gwe-rental-refined section.hero {padding:48px 0 38px !important; background:var(--cream) !important;}
.gwe-rental-refined section.hero h1 {max-width:850px; margin-bottom:14px;}
.gwe-rental-refined section.hero .lead {max-width:650px;}
.gwe-rental-refined section.section {padding-top:44px; padding-bottom:50px;}
.gwe-rental-refined section.section .eyebrow {margin-bottom:14px;}
@media(max-width:650px){
 .gwe-rental-refined section.hero {padding:35px 0 27px !important;}
 .gwe-rental-refined section.hero h1 {font-size:clamp(38px,9vw,54px) !important; line-height:1.09 !important;}
 .gwe-rental-refined section.hero .lead {font-size:17px !important; line-height:1.55 !important;}
 .gwe-rental-refined section.section {padding-top:32px; padding-bottom:36px;}
 .gwe-rental-refined section.section h2 {font-size:clamp(30px,7vw,42px) !important;}
}
