*{box-sizing:border-box}
body{margin:0;background:#161817;color:#f5f6f0;font:1rem/1.5 system-ui,sans-serif}
header,main,footer{width:min(72rem,100% - 2rem);margin:auto}
header,footer{padding:1.2rem 0}
main{min-height:62vh;padding:clamp(2rem,7vw,5rem) 0}
a{color:inherit}
nav,.actions{display:flex;gap:.7rem 1.2rem;flex-wrap:wrap;align-items:center}
header nav{margin-top:.8rem}
.brand{display:inline-flex;gap:.75rem;align-items:center;text-decoration:none;font-weight:850;letter-spacing:.07em}
.brand span{display:grid;place-items:center;background:#c4f329;color:#151714;border-radius:50%;width:3rem;height:3rem}
h1{font-size:clamp(2.4rem,8vw,5rem);line-height:1.02;margin:0 0 1rem;letter-spacing:-.05em}
h2{margin-top:2rem}
.button{display:inline-flex;align-items:center;min-height:44px;padding:.6rem 1rem;background:#c4f329;color:#161817;border:0;border-radius:.3rem;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}
.catalog{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;margin:1rem 0}
@media (min-width:360px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:740px){.catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1050px){.catalog{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{display:flex;flex-direction:column;background:#fff;color:#161817;border-radius:.6rem;overflow:hidden}
.card-photo{aspect-ratio:4/3;background:#f0f1ed}
.card-photo img{display:block;width:100%;height:100%;object-fit:contain}
.card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:.4rem;padding:.75rem;overflow-wrap:anywhere}
.card-body small{color:#51574e}
.card-body h3{margin:0;font-size:1rem;line-height:1.25}
.card-price{margin:auto 0 0;padding-top:.3rem;font-size:1.1rem;font-weight:800}
.card-price span{font-size:.85rem;font-weight:600}
.card-body .button{justify-content:center;width:100%;padding:.4rem}
.price{font-weight:750;font-size:1.2rem;color:#c4f329}
.detail img{width:100%;height:auto;max-height:26rem;object-fit:contain;background:#222}
.rental-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem;margin:0 0 1.25rem}
.rental-actions .inquiry[open]{flex:1 1 100%}
.rental-actions .inquiry summary{list-style:none}
.rental-actions .inquiry summary::-webkit-details-marker{display:none}
.button-secondary{background:transparent;color:#f5f6f0;border:1px solid #c4f329}
.detail{max-width:48rem}
form{max-width:35rem}form label{display:block}
form input{width:100%;max-width:100%;min-height:44px;font:inherit;border-radius:.25rem;padding:.4rem}
footer{border-top:1px solid #51574e}
.store-copy{max-width:45rem}
.store-lead{font-size:clamp(1.2rem,4vw,1.6rem);line-height:1.4;color:#e7edda}
.store-copy section{padding:.2rem 0 .65rem;border-bottom:1px solid #40473f}
.store-copy section h2,.store-policy h2{font-size:1.25rem;margin:1rem 0 .4rem}
.store-copy>.button,.store-copy .actions{margin-top:1.2rem}
footer .privacy-link{font-size:.875rem;color:#e2e7d9}

.inquiry-calendar{border:0;padding:0;margin:0;min-width:0}
.inquiry-calendar legend{font-weight:750;margin-bottom:.55rem}
.inquiry-extras{margin:1rem 0;border:1px solid #51574e;border-radius:.35rem;padding:.65rem;min-width:0}
.inquiry-extras legend,.inquiry-extra label{font-weight:700}
.inquiry-extra{padding:.55rem 0;border-bottom:1px solid #51574e}
.inquiry-extra p{margin:.2rem 0}
.inquiry-quantity{display:flex;align-items:center;gap:.6rem;margin-top:.35rem}
.inquiry-quantity input{width:5rem}
.inquiry-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}
.inquiry-dates button{font:inherit;font-size:.75rem;min-height:44px;display:grid;place-content:center;line-height:1.1;border:2px solid transparent;border-radius:.35rem;padding:.15rem;color:#171817;cursor:pointer}
.inquiry-dates [data-state="free"]{background:#cee9ae}
.inquiry-dates [data-state="queue"]{background:#ffdc78}
.inquiry-dates [data-state="busy"]{background:#ffb4ab}
.inquiry-dates [aria-pressed="true"]{border-color:#161817;outline:2px solid #f5f6f0;outline-offset:-1px;font-weight:850}
.inquiry-legend{font-size:.85rem}
[data-inquiry]{width:min(100%,30rem)}
[data-inquiry] [hidden]{display:none}
[data-inquiry] select{font:inherit;min-height:44px;padding:.4rem}
[data-inquiry-feedback],[data-inquiry-submit-status]{scroll-margin-block:1rem}
[data-inquiry-submit-status]:empty{display:none}
[data-inquiry] button:disabled{cursor:default;opacity:.7}

.gallery-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gallery-pair figure { margin: 0; }
.gallery-pair img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
