:root{color-scheme:light;--paper:#fff;--blush:#fff4f7;--berry:#9c2858;--ink:#36232d;--muted:#735d68;--line:#edd8e1;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--blush)}
*{box-sizing:border-box}
body{margin:0;font-size:16px;line-height:1.5}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit;max-width:100%}
button,a,input,select,textarea,summary{touch-action:manipulation}
button,a,summary{-webkit-tap-highlight-color:transparent}
button,a{cursor:pointer}
a{color:var(--berry)}
:focus-visible{outline:3px solid var(--berry);outline-offset:3px}
.request-wrap{width:min(640px,100%);margin:auto;padding:32px 24px max(32px,env(safe-area-inset-bottom))}
.intro{text-align:center;padding:16px 0 28px}
.brand-logo{display:block;width:min(260px,80%);height:auto;margin:0 auto}
.tagline{color:var(--muted);margin:6px 0 24px;font-size:13px}
h1{font-size:24px;line-height:1.3;letter-spacing:-.02em;margin:0 0 10px;font-weight:650}
.lead{margin:0;font-size:14px;color:var(--muted)}
.request-card{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:16px}
.steps{display:flex;gap:24px;padding:0 0 20px;margin:0;list-style:none;border-bottom:1px solid var(--line)}
.steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.steps li[aria-current]{color:var(--berry);font-weight:700}
.steps span{display:grid;place-items:center;border:1px solid var(--line);width:26px;height:26px;flex-shrink:0;border-radius:50%}
.steps li[aria-current] span{background:var(--berry);color:white;border-color:var(--berry)}
fieldset{padding:0;margin:24px 0 0;border:0;min-width:0}
legend{font-size:19px;font-weight:650;padding:0;margin-bottom:18px}
.field{margin:0 0 18px}
label{display:block;font-size:14px;font-weight:550;margin-bottom:7px}
label span{font-weight:400}
.field label span{font-size:12px;color:var(--muted)}
input:not([type=checkbox]),select,textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:white;font-size:16px}
input[type=date],input[type=time]{min-width:0;-webkit-appearance:none;appearance:none}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
input[type=checkbox]{accent-color:var(--berry);width:20px;height:20px;flex-shrink:0;margin:2px 0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check-row,.consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:400;margin:0 0 18px}
.kind-choices{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.choice{display:flex;gap:10px;align-items:center;padding:10px 14px;margin:0;border:1px solid var(--line);border-radius:8px;min-height:46px;font-size:15px;cursor:pointer}
.choice:has(input:checked){background:var(--blush);border-color:var(--berry)}
.product-card{border-top:1px solid var(--line);padding-top:18px;margin:18px 0}
.product-card summary{font-weight:650;cursor:pointer;padding:4px 0 12px}
.product-card .hint{margin-top:0}
.hint,.notice{font-size:13px;color:var(--muted)}
.hint{margin:10px 0 16px}
.notice{margin:18px 0 0}
.review-details{margin:18px 0 22px;font-size:14px}
.review-details summary{cursor:pointer;color:var(--berry)}
.review{white-space:pre-wrap;background:var(--blush);padding:14px;border-radius:8px;margin-top:12px;font-size:14px;overflow-wrap:anywhere}
.actions{display:flex;gap:10px;padding-top:24px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;border-radius:8px;border:1px solid var(--line);font-size:15px;font-weight:650;text-decoration:none}
.primary{background:var(--berry);color:white;border-color:var(--berry);flex:1}
.primary:hover{background:#82214a}
.secondary{background:white;color:var(--berry)}
button:disabled{opacity:.55;cursor:wait}
.text-button{color:var(--berry);background:none;border:0;padding:10px 0;font-size:14px;text-decoration:underline;min-height:44px}
.return-link{display:inline-block;font-size:14px;min-height:44px;padding:10px 0}
.error-summary{border:1px solid #a6243d;background:#fff3f5;color:#8c1731;padding:16px;border-radius:8px;margin:16px 0}
.error-summary ul{padding-left:20px;margin-bottom:0}
.error-summary a{color:inherit}
.error-text{color:#a6243d;font-size:13px}
[aria-invalid=true]{border-color:#a6243d!important}
.photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.photo-preview img{width:80px;height:80px;object-fit:cover;border-radius:6px}
.photo-preview figure{margin:0;width:100%;display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:start}
.photo-preview .field{margin:0}
.photo-preview label{font-size:13px}
.photo-preview input{min-height:44px}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.success{text-align:center;padding:20px 0}
.success h2{font-size:23px;line-height:1.3;margin-top:0}
.thanks{color:var(--berry)}
footer{text-align:center;font-size:12px;color:var(--muted);padding:22px 0 0}
footer a{display:inline-block;min-height:44px;padding:10px 0;font-size:14px}
@media(max-width:520px){.request-wrap{padding:16px 14px max(20px,env(safe-area-inset-bottom))}.intro{padding:12px 8px 24px}.brand span{font-size:46px}h1{font-size:22px}.request-card{padding:20px 16px}.steps{gap:16px}.steps li{font-size:12px}.grid{gap:10px}.choice{padding:10px 12px}.actions{flex-wrap:wrap}.actions .primary{min-width:170px}}
@media(max-width:360px){.grid{grid-template-columns:1fr}.steps{gap:10px}.steps li{gap:5px}.request-wrap{padding-inline:10px}}
