*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;color:#1d2330;line-height:1.55;background:#fafbfd}
a{color:#2b5fd9}header,footer{padding:14px 20px;background:#0f1b33;color:#fff}header a,footer a{color:#cfe0ff;margin-right:14px;text-decoration:none}
.brand{font-weight:800;font-size:1.3rem;color:#fff!important}main{max-width:960px;margin:auto;padding:20px}
.hero{display:grid;gap:20px;align-items:center}@media(min-width:760px){.hero{grid-template-columns:1fr 1fr}}
.ph{background:repeating-linear-gradient(45deg,#e4e9f2,#e4e9f2 12px,#d6deeb 12px,#d6deeb 24px);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;border-radius:14px;color:#55627a;font-weight:600;text-align:center;padding:20px}
h1{font-size:2rem;margin:.2em 0}.opts{display:grid;gap:10px;margin:16px 0}.opt{display:flex;justify-content:space-between;align-items:center;background:#fff;border:2px solid #dbe2ee;border-radius:10px;padding:12px 14px}
.btn{background:#2b5fd9;color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none;font-weight:700}
.grid{display:grid;gap:14px}@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr)}}.card{background:#fff;border-radius:12px;padding:16px;border:1px solid #e3e8f0}
table{border-collapse:collapse;width:100%;background:#fff}td,th{border:1px solid #dbe2ee;padding:8px;text-align:left}.note{background:#fff7d6;border:1px solid #e9d27a;padding:10px;border-radius:8px}
details{background:#fff;border:1px solid #e3e8f0;border-radius:8px;padding:10px;margin:8px 0}footer{margin-top:40px;font-size:.9rem}

.gallery figure{margin:0;position:relative}.gallery .main img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;display:block}.gallery figcaption{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:2px 7px;border-radius:6px}.thumbs{display:flex;gap:8px;margin-top:8px}.thumbs img{width:19%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer}.signup{background:#f4f1ec;border-radius:14px;padding:20px;margin:28px 0}.signup form{display:flex;gap:8px;flex-wrap:wrap}.signup input[type=email]{flex:1;min-width:200px;padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit}

.brand{display:inline-flex;align-items:center;gap:8px}.brand img{width:32px;height:32px;border-radius:7px}

.reviewform{display:grid;gap:8px;max-width:520px}.reviewform input,.reviewform select,.reviewform textarea{padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit}.reviewform button{justify-self:start;border:0;cursor:pointer}
