.rental-section{max-width:var(--max);margin:0 auto;padding:0 48px 76px}.rental-section .section-heading{max-width:720px}.rental-section .section-heading h2{margin-bottom:10px}.rental-section .section-heading>p:last-child{margin:0 0 28px;color:var(--muted);font-size:.94rem}.rental-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.rental-card{padding:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.rental-card:hover,.rental-card:focus-visible{transform:translateY(-2px);border-color:#c9c9c4;box-shadow:0 10px 26px rgba(0,0,0,.06)}.rental-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f2f2f0}.rental-card span{display:block;padding:15px}.rental-card strong{display:block;font-size:.94rem;font-weight:500}.rental-card small{display:block;margin-top:4px;color:var(--muted);font-size:.75rem}.rental-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.rental-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid #d9d9d5;border-radius:12px;background:#f7f7f5;color:var(--ink);font:inherit;cursor:pointer;text-align:left}.rental-action span{font-size:.78rem;color:var(--muted)}.rental-action strong{font-size:.9rem;font-weight:500}.rental-action:hover{border-color:var(--accent)}.rental-modal{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .24s ease}.rental-modal.open{opacity:1;pointer-events:auto}.rental-backdrop{position:absolute;inset:0;border:0;background:rgba(25,27,28,.56);backdrop-filter:blur(5px)}.rental-dialog{position:relative;width:min(760px,100%);max-height:min(84vh,820px);overflow:auto;background:#fff;border-radius:16px;padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.rental-close{position:absolute;z-index:2;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f1f1ef;color:var(--ink);font:300 1.5rem/1 Roboto;cursor:pointer}.rental-detail{display:grid;grid-template-columns:minmax(220px,.85fr) 1.15fr;gap:28px;align-items:start}.rental-detail img{width:100%;border-radius:11px;background:#f3f3f1}.rental-detail h2,.calculator h2,.rental-request h2{margin:6px 0 12px;font-size:1.65rem;font-weight:400;line-height:1.2}.rental-detail h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:var(--accent);margin:0 0 6px}.rental-detail p,.rental-detail li{font-size:.9rem;color:var(--muted)}.rental-detail ul{padding-left:18px;margin-bottom:0}.choice-group{border:0;padding:0;margin:22px 0}.choice-group legend{font-weight:500;margin-bottom:10px}.choice-options{display:grid;gap:8px}.choice-options label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:.88rem;cursor:pointer}.calculator-result{margin-top:18px}.result-card{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:13px;border:1px solid var(--line);border-radius:11px}.result-card img{width:110px;height:82px;object-fit:cover;border-radius:7px}.result-card h3{font-size:.96rem;margin:0 0 4px}.result-card p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.rental-request .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rental-request .field{margin-bottom:14px}.rental-request label{font-size:.84rem}.rental-request input,.rental-request select,.rental-request textarea{width:100%;border:1px solid #d7d7d4;border-radius:7px;padding:10px 11px;font:inherit;color:inherit;background:white}.rental-request textarea{resize:vertical}.rental-request .privacy-check{display:flex;gap:9px;align-items:flex-start;font-size:.78rem;color:var(--muted)}.rental-request .privacy-check input{width:auto;margin-top:4px}.rental-status{min-height:22px;color:var(--muted);font-size:.84rem}@media(max-width:800px){.rental-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.rental-section{padding:0 28px 58px}.rental-grid,.rental-actions{grid-template-columns:1fr}.rental-card{display:grid;grid-template-columns:120px 1fr}.rental-card img{height:100%;aspect-ratio:auto}.rental-dialog{padding:26px 20px}.rental-detail{grid-template-columns:1fr}.rental-detail img{max-height:240px;object-fit:contain}.rental-request .form-grid{grid-template-columns:1fr}.rental-action{align-items:flex-start;flex-direction:column;gap:2px}}@media(prefers-reduced-motion:reduce){.rental-card,.rental-modal{transition:none}}
/* Calculator overview: every option stays visible; matching options are emphasized. */
.rental-dialog{width:min(920px,100%)}
.calculator-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.calculator-options .choice-group{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0;background:#fafaf8}
.calculator-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.calculator-result .result-card{display:grid;grid-template-columns:1fr 120px;gap:14px;align-items:center;opacity:.26;filter:grayscale(1);background:#fff;transition:opacity .2s ease,filter .2s ease,border-color .2s ease,background .2s ease}
.calculator-result .result-card.active{opacity:1;filter:none;border-color:#9bbb79;background:#f5faef}
.calculator-result .result-card img{grid-column:2;grid-row:1;width:120px;height:90px}
.calculator-result .result-card>div{grid-column:1;grid-row:1}
@media(max-width:600px){.calculator-options,.calculator-result{grid-template-columns:1fr}}
/* Compact inquiry layout: planning fields above, contact stack beside message. */
#rental-request-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-items:start}
#rental-request-form .form-grid{display:contents}
#rental-request-form .form-grid .field:nth-child(1){grid-column:1;grid-row:1}
#rental-request-form .form-grid .field:nth-child(2){grid-column:2;grid-row:1}
#rental-request-form .form-grid .field:nth-child(3){grid-column:1;grid-row:2}
#rental-request-form .form-grid .field:nth-child(4){grid-column:2;grid-row:2}
#rental-request-form .form-grid .field:nth-child(5){grid-column:1;grid-row:3}
#rental-request-form .form-grid .field:nth-child(6){grid-column:1;grid-row:4}
#rental-request-form .form-grid+.field{grid-column:1;grid-row:5}
#rental-request-form .form-grid+.field+.field{grid-column:2;grid-row:3/6;align-self:stretch;display:flex;flex-direction:column}
#rental-request-form .form-grid+.field+.field textarea{flex:1;min-height:138px;resize:vertical}
#rental-request-form .privacy-check{grid-column:1/3;grid-row:6;margin:2px 0 14px}
#rental-request-form>.button{grid-column:1;grid-row:7;justify-self:start}
#rental-request-form>.rental-status{grid-column:2;grid-row:7;margin:0;align-self:center}
.rental-request select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#777c80 50%),linear-gradient(135deg,#777c80 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}
.rental-request input,.rental-request select,.rental-request textarea{min-height:43px;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:border-color .2s ease,box-shadow .2s ease}
.rental-request .privacy-check input[type="checkbox"]{width:18px;min-width:18px;height:18px;min-height:18px;margin:3px 0 0;padding:0;accent-color:#718f4f;box-shadow:none}
.rental-request input:focus,.rental-request select:focus,.rental-request textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
@media(max-width:650px){#rental-request-form{grid-template-columns:1fr}#rental-request-form .form-grid{display:grid;grid-column:1;grid-row:auto;grid-template-columns:1fr}#rental-request-form .form-grid .field:nth-child(n),#rental-request-form .form-grid+.field,#rental-request-form .form-grid+.field+.field,#rental-request-form .privacy-check,#rental-request-form>.button,#rental-request-form>.rental-status{grid-column:1;grid-row:auto}#rental-request-form .form-grid+.field+.field textarea{min-height:110px}}
/* Keep the complete calculator visible on typical 15-inch laptop screens. */
.rental-dialog:has(.calculator){max-height:94vh;padding:20px 24px}
.rental-dialog:has(.calculator) .rental-close{top:9px;right:11px}
.calculator>.eyebrow{margin-bottom:3px}
.calculator h2{font-size:1.45rem;margin:2px 0 7px}
.calculator-options{gap:10px;margin:10px 0}
.calculator-options .choice-group{padding:11px 13px}
.calculator-options .choice-group legend{margin-bottom:5px;font-size:.88rem}
.calculator-options .choice-options{gap:3px}
.calculator-options .choice-options label{padding:6px 9px;font-size:.79rem;line-height:1.3;border-color:transparent}
.calculator-result{gap:7px;margin-top:9px}
.calculator-result .result-card{grid-template-columns:1fr 92px;gap:10px;padding:8px 10px;min-height:74px}
.calculator-result .result-card img{width:92px;height:62px}
.calculator-result .result-card h3{font-size:.82rem;margin-bottom:2px}
.calculator-result .result-card p{font-size:.71rem;line-height:1.32}
@media(max-width:600px){.rental-dialog:has(.calculator){max-height:90vh;padding:20px}.calculator-options .choice-options label{font-size:.82rem}.calculator-result .result-card{grid-template-columns:1fr 84px}.calculator-result .result-card img{width:84px}}
/* Footer detail lightboxes with muted photographic header and a soft fade to white. */
.rental-dialog:has(.footer-detail){width:min(780px,100%);padding:0;overflow:hidden;border-radius:19px;background:#fff}
.rental-dialog:has(.footer-detail) .rental-close{background:rgba(255,255,255,.88);backdrop-filter:blur(8px)}
.footer-detail-visual{height:300px;position:relative;overflow:hidden;background:#eceeeb}
.footer-detail-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.04) 0%,rgba(255,255,255,.08) 48%,#fff 100%)}
.footer-detail-visual img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.82) saturate(.38) contrast(.92)}
.footer-detail-copy{position:relative;margin-top:-78px;padding:0 42px 38px;z-index:1}
.footer-detail-copy h2{margin:5px 0 14px;font-size:clamp(1.65rem,3vw,2.2rem);font-weight:400;line-height:1.15}
.footer-detail-copy>p:not(.eyebrow){max-width:670px;margin:0 0 15px;color:var(--muted);font-size:.93rem;line-height:1.65}
.footer-detail-copy ul{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0;margin:0 0 22px;list-style:none}
.footer-detail-copy li{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fafaf8;color:var(--muted);font-size:.77rem;line-height:1.45}
.footer-detail-contact{font-size:.82rem;padding:9px 14px}
@media(max-width:650px){.footer-detail-visual{height:240px}.footer-detail-copy{margin-top:-55px;padding:0 22px 25px}.footer-detail-copy ul{grid-template-columns:1fr}.rental-dialog:has(.footer-detail){max-height:90vh;overflow:auto}}
/* Wider calculator cards make room for larger product photos and fewer text wraps. */
@media(min-width:701px){
  .rental-dialog:has(.calculator){width:min(1060px,calc(100vw - 48px))}
  .calculator-result .result-card{grid-template-columns:minmax(0,1fr) 120px;gap:13px;min-height:94px}
  .calculator-result .result-card img{width:120px;height:81px}
  .calculator-result .result-card h3{font-size:.86rem;line-height:1.25}
  .calculator-result .result-card p{font-size:.74rem;line-height:1.3}
}
/* Calm lightbox entrance and exit instead of an abrupt dark backdrop. */
.rental-modal{transition:opacity 1.2s cubic-bezier(.22,.7,.25,1)}
.rental-backdrop{background:rgba(25,27,28,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background-color 1.2s ease,-webkit-backdrop-filter 1.2s ease,backdrop-filter 1.2s ease}
.rental-modal.open .rental-backdrop{background:rgba(25,27,28,.56);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.rental-dialog{transform:translateY(8px) scale(.992);transition:transform 1.05s cubic-bezier(.22,.7,.25,1)}
.rental-modal.open .rental-dialog{transform:translateY(0) scale(1)}
@media(max-width:700px){
  .rental-modal{display:block;padding:0;background:#fff;overflow:hidden}
  .rental-backdrop{display:none}
  .rental-dialog,.rental-dialog:has(.calculator),.rental-dialog:has(.footer-detail){width:100%;height:100dvh;max-height:none;margin:0;border-radius:0;box-shadow:none;overflow:auto;padding:70px 22px 30px}
  .rental-dialog:has(.footer-detail){padding:0 0 30px}
  .rental-close,.rental-dialog:has(.calculator) .rental-close{position:fixed;top:12px;right:12px;width:40px;height:40px;background:rgba(245,245,243,.94);box-shadow:0 3px 14px rgba(0,0,0,.12);backdrop-filter:blur(8px)}
  .footer-detail-visual{height:290px}
  .footer-detail-copy{padding-bottom:35px}
}
@media(prefers-reduced-motion:reduce){.rental-backdrop,.rental-dialog{transition:none}}

/* High-visibility inquiry call-to-action. */
.rental-request-cta{position:relative;overflow:hidden;background:#718f4f;color:#fff;border-color:#718f4f;box-shadow:0 8px 20px rgba(113,143,79,.22);animation:request-cta-lift 4s ease-in-out infinite}
.rental-request-cta span{color:rgba(255,255,255,.84)}
.rental-request-cta strong{color:#fff}
.rental-request-cta::after{content:'';position:absolute;inset:-30% auto -30% -45%;width:28%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:request-cta-shine 4s ease-in-out infinite;pointer-events:none}
.rental-request-cta:hover,.rental-request-cta:focus-visible{background:#5f7d40;border-color:#5f7d40;color:#fff;transform:translateY(-2px) scale(1.02)}
.contact-request-cta{background:#718f4f;color:#fff;border-color:#718f4f;box-shadow:0 6px 16px rgba(113,143,79,.2)}
.contact-request-cta:hover,.contact-request-cta:focus-visible{background:#5f7d40;color:#fff;border-color:#5f7d40}
.request-note{margin:0 0 12px;color:#718f4f;font-size:.82rem;font-weight:500}
.request-options{grid-column:1/3;grid-row:6;border:1px solid #d7dfce;border-radius:9px;padding:10px 12px;margin:0 0 4px;background:#f7faf4;display:flex;flex-wrap:wrap;gap:12px 20px}
.request-options legend{font-size:.8rem;color:#5f7d40;margin-bottom:6px;width:100%}
.request-options label{display:flex;gap:7px;align-items:center;font-size:.82rem;cursor:pointer}
.request-options input{width:auto;min-height:0}
@keyframes request-cta-lift{0%,78%,100%{transform:scale(1)}84%{transform:scale(1.025)}88%{transform:scale(1)}}
@keyframes request-cta-shine{0%,72%{left:-45%;opacity:0}80%{opacity:1}90%,100%{left:125%;opacity:0}}
@media(max-width:650px){.request-options{grid-column:1;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.rental-request-cta,.rental-request-cta::after{animation:none}}

/* Keep the optional choices and consent area separated below the two-column fields. */
@media(min-width:651px){
  #rental-request-form .request-options{grid-column:1/3;grid-row:7;margin-top:4px}
  #rental-request-form .request-note{grid-column:1/3;grid-row:8;margin:0 0 4px}
  #rental-request-form .privacy-check{grid-column:1/3;grid-row:9;margin:2px 0 14px}
  #rental-request-form>.button{grid-column:1;grid-row:10}
  #rental-request-form>.rental-status{grid-column:2;grid-row:10}
}
