/* AC Review V1 — isolated product surface */
.acr-main { background: var(--ac-ivory-50); color: var(--ac-text); font-family: var(--ac-font-ui); }
.acr-main *, .acr-main *::before, .acr-main *::after { box-sizing: border-box; }
.acr-main button, .acr-main input, .acr-main select, .acr-main textarea { font: inherit; }
.acr-main [hidden] { display:none !important; }
.acr-main a { text-underline-offset: .18em; }
.acr-hero { border-bottom: 1px solid var(--ac-border); padding: clamp(3.4rem,7vw,6.7rem) 0 clamp(3rem,6vw,5.2rem); background: linear-gradient(180deg,#fbfaf6 0%,#f7f3ea 100%); }
.acr-hero__grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:clamp(2.4rem,6vw,6rem); align-items:end; }
.acr-breadcrumb { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 2rem; color:var(--ac-muted); font-size:.82rem; }
.acr-breadcrumb a { color:inherit; }
.acr-eyebrow { margin:0 0 .85rem; color:var(--ac-gold-600); font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.acr-hero h1 { max-width:860px; margin:0; color:var(--ac-ink-950); font-family:var(--ac-font-display); font-size:clamp(2.65rem,6vw,5.6rem); font-weight:600; line-height:.98; letter-spacing:-.035em; }
.acr-lead { max-width:770px; margin:1.65rem 0 0; color:var(--ac-ink-700); font-size:clamp(1.04rem,1.7vw,1.28rem); line-height:1.65; }
.acr-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.2rem; margin-top:2rem; }
.acr-btn { min-height:50px; display:inline-flex; align-items:center; justify-content:center; border:1px solid transparent; border-radius:.55rem; padding:.8rem 1.15rem; font-weight:700; line-height:1.2; text-decoration:none; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; }
.acr-btn:hover { transform:translateY(-1px); }
.acr-btn--primary { background:var(--ac-ink-950); color:var(--ac-ivory-50); border-color:var(--ac-ink-950); }
.acr-btn--primary:hover { background:var(--ac-ink-800); border-color:var(--ac-ink-800); }
.acr-btn--secondary { background:transparent; color:var(--ac-ink-950); border-color:rgba(13,28,31,.3); }
.acr-btn--secondary:hover { border-color:var(--ac-ink-950); background:#fff; }
.acr-btn[disabled] { opacity:.58; cursor:not-allowed; transform:none; }
.acr-link-button,.acr-text-action { border:0; background:none; padding:.4rem .1rem; color:var(--ac-ink-800); font-weight:700; text-decoration:underline; text-underline-offset:.2em; cursor:pointer; }
.acr-microcopy { margin:1rem 0 0; color:var(--ac-muted); font-size:.84rem; line-height:1.5; }
.acr-hero__aside { border-top:1px solid var(--ac-gold-500); padding-top:1.25rem; }
.acr-aside__kicker { margin:0 0 1.2rem; color:var(--ac-ink-950); font-weight:700; }
.acr-aside__steps { list-style:none; margin:0; padding:0; }
.acr-aside__steps li { display:grid; grid-template-columns:34px 1fr; gap:.85rem; padding:1rem 0; border-top:1px solid var(--ac-border); }
.acr-aside__steps li:first-child { border-top:0; }
.acr-aside__steps li>span { white-space:nowrap; color:var(--ac-gold-600); font-size:.72rem; font-weight:700; letter-spacing:.08em; }
.acr-aside__steps strong { display:block; color:var(--ac-ink-950); font-size:.96rem; }
.acr-aside__steps p { margin:.3rem 0 0; color:var(--ac-muted); font-size:.88rem; line-height:1.55; }
.acr-aside__note { margin:1.25rem 0 0; padding-top:1rem; border-top:1px solid var(--ac-border); color:var(--ac-muted); font-size:.82rem; line-height:1.55; }

.acr-flow-section { padding:clamp(3.5rem,7vw,6.5rem) 0; background:#fff; }
.acr-flow-wrap { display:grid; grid-template-columns:minmax(220px,.36fr) minmax(0,.64fr); gap:clamp(2.3rem,6vw,6rem); align-items:start; }
.acr-flow-intro { position:sticky; top:110px; }
.acr-flow-intro h2,.acr-editorial h2,.acr-faq h2,.acr-closing h2 { margin:0; color:var(--ac-ink-950); font-family:var(--ac-font-display); font-weight:600; letter-spacing:-.025em; line-height:1.08; }
.acr-flow-intro h2 { font-size:clamp(1.75rem,3vw,2.7rem); }
.acr-flow-intro>p:last-child { margin:1.1rem 0 0; color:var(--ac-muted); line-height:1.65; }
.acr-workspace { border:1px solid var(--ac-border); border-radius:var(--ac-radius-lg); background:var(--ac-ivory-50); box-shadow:0 22px 60px rgba(7,19,21,.07); overflow:hidden; }
.acr-progress { padding:1rem clamp(1.1rem,3vw,2rem); border-bottom:1px solid var(--ac-border); background:#fff; }
.acr-progress__meta { display:flex; justify-content:space-between; gap:1rem; color:var(--ac-muted); font-size:.78rem; font-weight:700; }
.acr-progress__meta span:last-child { color:var(--ac-ink-800); }
.acr-progress__track { height:2px; margin-top:.85rem; background:var(--ac-ivory-200); overflow:hidden; }
.acr-progress__track span { display:block; height:100%; width:16.666%; background:var(--ac-gold-500); transition:width .2s ease; }
.acr-form { padding:clamp(1.3rem,4vw,2.4rem); }
.acr-step { border:0; margin:0; padding:0; min-inline-size:0; }
.acr-step[hidden] { display:none !important; }
.acr-step legend { display:flex; align-items:baseline; gap:.75rem; width:100%; padding:0; color:var(--ac-ink-950); font-family:var(--ac-font-display); font-size:clamp(1.65rem,3vw,2.55rem); font-weight:600; line-height:1.1; letter-spacing:-.025em; }
.acr-step legend span { flex:0 0 auto; min-width:1.7rem; white-space:nowrap; color:var(--ac-gold-600); font-family:var(--ac-font-ui); font-size:.72rem; font-weight:700; letter-spacing:.1em; }
.acr-step__intro { max-width:680px; margin:.85rem 0 1.6rem; color:var(--ac-muted); line-height:1.6; }
.acr-option-list { display:grid; gap:.65rem; }
.acr-option { display:grid; grid-template-columns:22px 1fr; gap:.85rem; align-items:start; min-height:58px; padding:.9rem 1rem; border:1px solid rgba(13,28,31,.18); border-radius:.65rem; background:#fff; cursor:pointer; transition:border-color .18s ease,background-color .18s ease; }
.acr-option:hover { border-color:rgba(13,28,31,.38); }
.acr-option:has(input:checked) { border-color:var(--ac-gold-600); background:#fffdf8; }
.acr-option input { width:18px; height:18px; margin:.15rem 0 0; accent-color:var(--ac-gold-600); }
.acr-option strong { display:block; color:var(--ac-ink-950); font-size:.96rem; line-height:1.35; }
.acr-option small { display:block; margin-top:.18rem; color:var(--ac-muted); font-size:.82rem; line-height:1.45; }
.acr-field { margin-top:1.35rem; }
.acr-field--spaced { margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--ac-border); }
.acr-field label { display:block; margin-bottom:.48rem; color:var(--ac-ink-950); font-size:.88rem; font-weight:700; }
.acr-field input,.acr-field select,.acr-field textarea { width:100%; min-height:50px; border:1px solid rgba(13,28,31,.24); border-radius:.55rem; background:#fff; color:var(--ac-ink-950); padding:.75rem .85rem; outline:0; }
.acr-field textarea { min-height:128px; resize:vertical; line-height:1.55; }
.acr-field input:focus,.acr-field select:focus,.acr-field textarea:focus { border-color:var(--ac-gold-600); box-shadow:0 0 0 3px rgba(181,138,70,.18); }
.acr-field [aria-invalid="true"] { border-color:#9e2f2f; }
.acr-field__hint { margin:.45rem 0 0; color:var(--ac-muted); font-size:.78rem; line-height:1.5; }
.acr-field__error { margin:.5rem 0 0; color:#842929; font-size:.82rem; font-weight:600; line-height:1.45; }
.acr-optional { color:var(--ac-muted); font-size:.78rem; font-weight:500; }
.acr-grid-fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.acr-character-count { text-align:right; margin-top:.35rem; color:var(--ac-muted); font-size:.74rem; }
.acr-document { margin-top:1.4rem; padding:1.1rem; border:1px dashed rgba(13,28,31,.35); border-radius:.75rem; background:#fff; }
.acr-document__top { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; padding-bottom:1rem; border-bottom:1px solid var(--ac-border); }
.acr-document__top strong { color:var(--ac-ink-950); }
.acr-document__top p { margin:.18rem 0 0; color:var(--ac-muted); font-size:.78rem; }
.acr-document__status { flex:0 0 auto; color:var(--ac-muted); font-size:.76rem; font-weight:700; }
.acr-document__status.is-ready { color:#2d6a52; }
.acr-file-button { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:54px; margin-top:1rem; border:1px solid var(--ac-ink-950); border-radius:.55rem; padding:.75rem .9rem; color:var(--ac-ink-950); cursor:pointer; }
.acr-file-button span { font-weight:700; }
.acr-file-button small { color:var(--ac-muted); }
.acr-document input[type="file"] { position:absolute; inline-size:1px; block-size:1px; opacity:.01; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.acr-document input[type="file"]:focus + .acr-file-selected,.acr-file-button:has(+ input[type="file"]:focus) { outline:3px solid var(--ac-focus); outline-offset:3px; }
.acr-file-selected { display:flex; justify-content:space-between; gap:1rem; margin-top:.8rem; padding:.7rem 0 0; color:var(--ac-ink-800); font-size:.82rem; }
.acr-fallback,.acr-stage-exit { margin-top:1.25rem; padding:1rem 1.05rem; border-left:3px solid var(--ac-gold-500); background:#fff; }
.acr-fallback strong,.acr-stage-exit strong { color:var(--ac-ink-950); }
.acr-fallback p,.acr-stage-exit p { margin:.45rem 0 .7rem; color:var(--ac-muted); font-size:.88rem; line-height:1.55; }
.acr-segmented { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(13,28,31,.22); border-radius:.65rem; overflow:hidden; background:#fff; }
.acr-segmented label { position:relative; min-width:0; border-left:1px solid var(--ac-border); cursor:pointer; }
.acr-segmented label:first-child { border-left:0; }
.acr-segmented input { position:absolute; opacity:0; }
.acr-segmented span { display:flex; min-height:54px; align-items:center; justify-content:center; padding:.6rem .5rem; text-align:center; color:var(--ac-ink-800); font-size:.82rem; font-weight:700; }
.acr-segmented input:checked + span { background:var(--ac-ink-950); color:var(--ac-ivory-50); }
.acr-segmented input:focus-visible + span { outline:3px solid var(--ac-focus); outline-offset:-3px; }
.acr-consent { display:grid; grid-template-columns:22px 1fr; gap:.75rem; margin-top:1.4rem; color:var(--ac-muted); font-size:.82rem; line-height:1.55; cursor:pointer; }
.acr-consent input { width:18px; height:18px; margin:.12rem 0 0; accent-color:var(--ac-gold-600); }
.acr-consent a { color:var(--ac-ink-800); }
.acr-form-nav { display:flex; justify-content:space-between; gap:.75rem; margin-top:2rem; padding-top:1.35rem; border-top:1px solid var(--ac-border); }
.acr-form-nav [data-acr-next],.acr-form-nav [data-acr-submit] { margin-left:auto; }
.acr-submit-note { margin:1rem 0 0; color:var(--ac-muted); font-size:.78rem; line-height:1.5; }
.acr-error-summary { margin:0 0 1.4rem; border-left:3px solid #9e2f2f; background:#fff; padding:.85rem 1rem; color:#772626; font-size:.86rem; font-weight:600; line-height:1.5; }
.acr-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; }

.acr-success { padding:clamp(1.6rem,5vw,3.2rem); background:#fff; }
.acr-success__mark { width:50px; height:50px; display:grid; place-items:center; margin-bottom:1.4rem; border:1px solid var(--ac-gold-500); border-radius:50%; color:var(--ac-gold-600); font-family:var(--ac-font-display); font-weight:700; }
.acr-success h2 { max-width:680px; margin:0; color:var(--ac-ink-950); font-family:var(--ac-font-display); font-size:clamp(2.2rem,5vw,4.5rem); font-weight:600; letter-spacing:-.035em; line-height:1; }
.acr-reference { display:flex; justify-content:space-between; gap:1rem; margin:1.7rem 0; padding:1rem 0; border-top:1px solid var(--ac-border); border-bottom:1px solid var(--ac-border); }
.acr-reference span { color:var(--ac-muted); font-size:.8rem; }
.acr-reference strong { color:var(--ac-ink-950); letter-spacing:.06em; }
.acr-success__facts { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin:0 0 2rem; }
.acr-success__facts div { min-width:0; }
.acr-success__facts dt { color:var(--ac-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.acr-success__facts dd { margin:.35rem 0 0; color:var(--ac-ink-950); font-weight:700; overflow-wrap:anywhere; }
.acr-next-steps { border-top:1px solid var(--ac-border); padding-top:1.5rem; }
.acr-next-steps h3 { margin:0 0 .8rem; color:var(--ac-ink-950); font-family:var(--ac-font-display); font-size:1.45rem; }
.acr-next-steps ol { list-style:none; padding:0; margin:0; }
.acr-next-steps li { display:grid; grid-template-columns:38px 1fr; gap:.8rem; padding:.75rem 0; border-top:1px solid rgba(13,28,31,.1); }
.acr-next-steps li:first-child { border-top:0; }
.acr-next-steps li span { white-space:nowrap; color:var(--ac-gold-600); font-size:.72rem; font-weight:700; }
.acr-next-steps p { margin:0; color:var(--ac-ink-700); line-height:1.55; }
.acr-success__trust { margin:1.4rem 0 0; padding-top:1.2rem; border-top:1px solid var(--ac-border); color:var(--ac-muted); font-size:.84rem; line-height:1.55; }

.acr-editorial { padding:clamp(4rem,8vw,7rem) 0; border-top:1px solid var(--ac-border); }
.acr-editorial__grid { display:grid; grid-template-columns:minmax(240px,.38fr) minmax(0,.62fr); gap:clamp(2rem,6vw,6rem); }
.acr-editorial__rail h2 { font-size:clamp(1.9rem,3.3vw,3.2rem); }
.acr-editorial__rail>p:last-child { margin:1.1rem 0 0; color:var(--ac-muted); line-height:1.65; }
.acr-editorial__content section { padding:1.35rem 0; border-top:1px solid var(--ac-border); }
.acr-editorial__content section:first-child { padding-top:0; border-top:0; }
.acr-editorial__content h3 { margin:0; color:var(--ac-ink-950); font-family:var(--ac-font-display); font-size:1.55rem; font-weight:600; }
.acr-editorial__content p { margin:.65rem 0 0; color:var(--ac-ink-700); line-height:1.7; }
.acr-faq { padding:clamp(3.5rem,7vw,6rem) 0; background:#fff; border-top:1px solid var(--ac-border); }
.acr-faq__inner { display:grid; grid-template-columns:minmax(220px,.34fr) minmax(0,.66fr); gap:clamp(2rem,6vw,6rem); }
.acr-faq h2 { font-size:clamp(1.8rem,3vw,2.8rem); }
.acr-faq__list details { border-top:1px solid var(--ac-border); }
.acr-faq__list details:last-child { border-bottom:1px solid var(--ac-border); }
.acr-faq__list summary { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; color:var(--ac-ink-950); font-weight:700; list-style:none; }
.acr-faq__list summary::-webkit-details-marker { display:none; }
.acr-faq__list summary::after { content:'+'; color:var(--ac-gold-600); font-size:1.2rem; font-weight:500; }
.acr-faq__list details[open] summary::after { content:'–'; }
.acr-faq__list p { margin:0; padding:0 2rem 1.25rem 0; color:var(--ac-muted); line-height:1.65; }
.acr-closing { padding:2.6rem 0; background:var(--ac-ink-950); color:var(--ac-ivory-50); }
.acr-closing__inner { display:flex; justify-content:space-between; gap:2rem; align-items:center; }
.acr-closing .acr-eyebrow { color:#d1ae72; }
.acr-closing h2 { max-width:780px; color:var(--ac-ivory-50); font-size:clamp(1.55rem,2.7vw,2.4rem); }
.acr-closing .acr-btn--secondary { color:var(--ac-ivory-50); border-color:rgba(251,250,246,.42); }
.acr-closing .acr-btn--secondary:hover { color:var(--ac-ink-950); }

@media (max-width: 880px) {
  .acr-hero__grid,.acr-flow-wrap,.acr-editorial__grid,.acr-faq__inner { grid-template-columns:1fr; }
  .acr-hero__aside { max-width:680px; }
  .acr-flow-intro { position:static; }
  .acr-segmented { grid-template-columns:1fr 1fr; }
  .acr-segmented label:nth-child(3) { border-left:0; border-top:1px solid var(--ac-border); }
  .acr-segmented label:nth-child(4) { border-top:1px solid var(--ac-border); }
  .acr-success__facts { grid-template-columns:1fr; gap:.85rem; }
  .acr-closing__inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 560px) {
  .acr-hero { padding-top:2.5rem; }
  .acr-hero h1 { font-size:clamp(2.45rem,13vw,3.7rem); }
  .acr-hero__actions { align-items:flex-start; flex-direction:column; }
  .acr-hero__actions .acr-btn { width:100%; }
  .acr-workspace { border-radius:.8rem; }
  .acr-form { padding:1.1rem; }
  .acr-grid-fields { grid-template-columns:1fr; gap:0; }
  .acr-segmented { grid-template-columns:1fr; }
  .acr-segmented label,.acr-segmented label:nth-child(3),.acr-segmented label:nth-child(4) { border-left:0; border-top:1px solid var(--ac-border); }
  .acr-segmented label:first-child { border-top:0; }
  .acr-file-button { align-items:flex-start; flex-direction:column; gap:.2rem; }
  .acr-file-selected,.acr-document__top,.acr-reference { flex-direction:column; }
  .acr-form-nav { flex-wrap:wrap; }
  .acr-form-nav .acr-btn { flex:1 1 130px; }
}
@media (prefers-reduced-motion: reduce) {
  .acr-main * { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* Phase 6 — canonical service-intake review */
.acr-inner-fieldset { margin:1.35rem 0 0; padding:0; border:0; min-width:0; }
.acr-review-card { margin-top:1.6rem; padding:1.2rem; border:1px solid var(--ac-border); border-radius:.75rem; background:rgba(248,246,240,.7); }
.acr-review-card .acr-eyebrow { margin:0 0 .9rem; }
.acr-review-card .acr-success__facts { margin:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:640px){ .acr-review-card .acr-success__facts { grid-template-columns:1fr; } }
