body { background:radial-gradient(circle at 80% 6%,rgba(210,168,103,.22),transparent 22rem),linear-gradient(145deg,#efe3d3,#faf6ee 55%,#f0e2d2); }
.experience-shell { width:min(54rem,100%); min-height:100dvh; margin:0 auto; padding:0 var(--page-pad) 3rem; background:var(--paper); box-shadow:0 0 60px rgba(54,27,43,.08); }
.experience-topbar { margin-inline:calc(var(--page-pad) * -1); }
.experience-hero { padding:clamp(2.5rem,8vw,5rem) 0 2rem; }
.experience-hero h1 { margin:0; font:700 clamp(2rem,8vw,3.5rem)/1.16 'Gowun Batang',serif; letter-spacing:-.065em; text-wrap:balance; }
.experience-hero h1 em { color:var(--wine); font-style:normal; }
.experience-hero>p:not(.eyebrow) { max-width:42rem; margin:1rem 0 0; color:var(--muted); font-size:.92rem; line-height:1.75; }
.approval-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin:1.5rem 0 0; padding:0; list-style:none; }
.approval-flow li { display:flex; align-items:center; gap:.45rem; padding:.65rem; border:1px solid var(--line); border-radius:.8rem; background:var(--paper-warm); color:var(--ink-soft); font-size:.72rem; font-weight:700; }
.approval-flow b { width:1.35rem; height:1.35rem; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; color:white; background:var(--wine); font:500 .62rem 'DM Mono',monospace; }
.experience-form { display:grid; gap:1rem; }
.experience-form fieldset { margin:0; padding:1.15rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:white; box-shadow:var(--shadow-sm); }
.experience-form legend { padding:0 .5rem; color:var(--ink); font:700 1.05rem 'Gowun Batang',serif; }
.experience-form legend span { margin-right:.35rem; color:var(--wine); font:500 .68rem 'DM Mono',monospace; }
.experience-grid,.rating-grid { display:grid; gap:.9rem; }
.experience-field { display:grid; gap:.4rem; }
.experience-field>span,.experience-themes>span { color:var(--ink-soft); font-size:.75rem; font-weight:700; }
.experience-field b { color:var(--wine); }
.experience-field small { color:var(--muted); font-weight:500; }
.experience-field input,.experience-field select,.experience-field textarea { width:100%; min-height:47px; padding:.72rem .8rem; border:1px solid var(--line); border-radius:.75rem; color:var(--ink); background:var(--paper); font:inherit; font-size:.85rem; outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.experience-field textarea { min-height:9rem; resize:vertical; line-height:1.65; }
.experience-field input:focus,.experience-field select:focus,.experience-field textarea:focus { border-color:var(--wine); box-shadow:0 0 0 3px rgba(135,58,86,.12); }
.fieldset-help { margin:.2rem 0 1rem; color:var(--muted); font-size:.75rem; }
.experience-themes { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; margin-top:1rem; }
.experience-themes>span { grid-column:1 / -1; }
.experience-themes label { display:flex; align-items:center; gap:.45rem; min-height:42px; padding:.55rem .65rem; border:1px solid var(--line); border-radius:.7rem; background:var(--paper-warm); font-size:.75rem; }
.experience-themes input,.experience-consent input { width:1rem; height:1rem; accent-color:var(--wine); }
.experience-consent { display:flex; align-items:flex-start; gap:.6rem; padding:.9rem; border-radius:.85rem; color:var(--muted); background:#f6eee7; font-size:.72rem; line-height:1.55; }
.experience-consent input { margin-top:.15rem; flex:0 0 auto; }
.experience-form>.button { width:100%; }
.experience-status { padding:1rem; border:1px solid #92c5b4; border-radius:.85rem; color:var(--green); background:#f0faf6; font-size:.82rem; font-weight:700; line-height:1.55; outline:none; }
.experience-status.error { color:#963d49; border-color:#dba1a7; background:#fff4f4; }
.experience-footer { padding:2rem 0 0; text-align:center; }
.experience-footer a { color:var(--wine); font-size:.78rem; font-weight:700; }
@media (min-width:680px) {
  .experience-form fieldset { padding:1.6rem; }
  .experience-grid { grid-template-columns:1fr 1fr; }
  .experience-grid .wide { grid-column:1 / -1; }
  .rating-grid { grid-template-columns:repeat(2,1fr); }
  .experience-themes { display:flex; flex-wrap:wrap; align-items:center; }
  .experience-themes>span { margin-right:.25rem; }
  .experience-form>.button { width:auto; justify-self:end; min-width:14rem; }
}
@media (max-width:420px) { .approval-flow li { display:grid; justify-items:center; text-align:center; } }
