.guest-content { width:89%; max-width:610px; margin:auto; padding-block:clamp(28px,4.4vw,58px); }
.guest-content h2 { font:400 clamp(29px,3.2vw,40px)/1.14 Georgia,serif; letter-spacing:-.025em; }
.guest-hint,.guest-content small,.guest-memory time { color:var(--muted); font-size:12px; font-weight:400; }
.guest-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
.guest-content label { display:block; margin-bottom:19px; font-size:13px; font-weight:600; }
.guest-content label span,.guest-moderation span { color:var(--accent); }
.guest-fields label > small:last-child { display:block; margin-top:7px; }
.guest-content input:not([type=checkbox]),.guest-content textarea { width:100%; display:block; margin-top:7px; padding:12px; border:1px solid var(--line); background:#eeede8; color:var(--ink); font:400 14px/1.5 Arial,sans-serif; border-radius:0; }
.guest-content textarea { resize:vertical; }
.guest-moderation { font-size:13px; }
.guest-moderation span { margin-right:7px; }
.guest-content .guest-consent { display:flex; align-items:flex-start; gap:9px; color:var(--muted); font-weight:400; margin-top:16px; }
.guest-consent input { flex:none; accent-color:var(--accent); }
.guest-submit { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:10px 19px; min-height:45px; border:1px solid var(--accent); background:var(--accent); color:white; font-size:13px; }
.guest-submit:hover { background:#672132; }
.guest-submit span { font-size:22px; }
.guest-status { border-left:2px solid var(--accent); padding:8px 12px; background:#eeede8; }
.guest-memories { margin-top:clamp(36px,5vw,64px); }
.guest-memories > h2 { border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:20px; }
.guest-memory { border:1px solid var(--line); background:#eeede8; padding:18px 20px; margin:0 0 18px; overflow-wrap:anywhere; }
.guest-memory > div { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.guest-memory h3 { margin:0; font:400 21px/1.2 Georgia,serif; }
.guest-memory p { font-size:14px; line-height:1.65; margin:10px 0 0; }
@media(max-width:760px) {
 .guest-fields { grid-template-columns:1fr; gap:0; }
 .guest-submit { width:100%; }
 .guest-memory { padding:14px; }
 .guest-memory > div { flex-direction:column; gap:4px; }
}
