*{box-sizing:border-box}
:root{font-family:Arial,Helvetica,sans-serif;background:#f6f1eb;color:#2b181d}
body{margin:0}
main{width:min(1100px,calc(100% - 30px));margin:auto;padding:42px 0}
header{margin-bottom:22px}
.small{font-size:11px;font-weight:800;letter-spacing:.22em;color:#a47c42}
h1{font-size:clamp(34px,5vw,56px);line-height:1;margin:8px 0;color:#600d1f}
header p{color:#77666a}
.box{background:#fff;border:1px solid #e6d8d1;border-radius:20px;box-shadow:0 10px 30px rgba(60,20,30,.06)}
.controls{padding:18px;display:grid;gap:16px}
.upload{padding:18px;text-align:center;border:1px dashed #caa9a0;border-radius:15px;background:#fffaf6}
.upload input{display:block;margin:10px auto 0}
.ages{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ages label{display:grid;grid-template-columns:1fr auto;gap:8px}
.ages input{grid-column:1/-1;width:100%;accent-color:#600d1f}
.ages strong{color:#600d1f;font-size:20px}
button{border:0;border-radius:999px;padding:14px 20px;background:#600d1f;color:#fff;font-weight:800;letter-spacing:.12em;cursor:pointer}
button:disabled{opacity:.35;cursor:not-allowed}
#status{min-height:18px;font-size:13px;color:#76656a}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.caption{padding:13px 16px;font-size:10px;font-weight:900;letter-spacing:.2em;color:#a47c42}
.image{height:500px;background:#160e10;display:grid;place-items:center;overflow:hidden;border-radius:0 0 20px 20px;color:#9b8c90}
.image img{display:none;width:100%;height:100%;object-fit:contain}
.info{display:flex;gap:18px;align-items:center;margin-top:18px;padding:15px 18px;font-size:13px}
.info a{margin-left:auto;color:#600d1f;font-weight:800}
.hidden{display:none}
@media(max-width:760px){.ages,.grid{grid-template-columns:1fr}.image{height:360px}.info{align-items:flex-start;flex-direction:column}.info a{margin-left:0}}
