*{box-sizing:border-box}body{margin:0;background:#fbf8f1;color:#243a31;font:17px system-ui;line-height:1.7}main{max-width:1140px;margin:auto;padding:36px 24px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.hero img{width:100%;border-radius:8px;aspect-ratio:4/5;object-fit:cover}.eyebrow{font-size:13px;letter-spacing:.06em;font-weight:700;color:#a25338}h1{font-size:clamp(42px,5vw,70px);line-height:1.12;margin:22px 0}h1 span{color:#a25338}.intro{font-size:21px}.note{font-size:14px;color:#68746b}section.upload,#preview{background:#fff;border:1px solid #e3ded3;border-radius:12px;padding:30px;margin-top:40px}.pick{display:inline-block;padding:14px 24px;border:1px dashed #244e40;border-radius:6px;cursor:pointer}.pick input{display:block;max-width:280px;margin-top:10px}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px}.consent{display:block;margin:22px 0}.consent input{width:20px;height:20px;vertical-align:middle}button{background:#254b3d;color:white;border:0;padding:15px 26px;font:700 17px system-ui;border-radius:6px;cursor:pointer}button:disabled{opacity:.5;cursor:default}progress{width:100%;accent-color:#254b3d}.pages{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:680px;margin:auto}.pages img{width:100%;box-shadow:0 10px 24px #192a2418}.error{color:#a03630}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.admin-grid img{width:100%}article{border-bottom:1px solid #dedace;padding-bottom:30px;margin-bottom:30px}input[type=password]{padding:13px;max-width:350px;width:100%}[hidden]{display:none!important}@media(max-width:700px){main{padding:20px 16px}.hero{grid-template-columns:1fr;gap:20px}.hero img{max-height:400px;aspect-ratio:1.2}.grid{grid-template-columns:repeat(3,1fr)}section.upload,#preview{padding:20px}.admin-grid{grid-template-columns:1fr 1fr}}
.photo-slot{border:1px solid #e3ded3;border-radius:8px;padding:12px;min-width:0}.photo-slot label{display:block;font-weight:700}.photo-slot input{display:block;width:100%;font-size:12px;margin:8px 0}.photo-slot button{padding:5px 12px;font-size:13px;margin-top:8px}.upload .grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.upload .grid{grid-template-columns:1fr 1fr}}
