/* Entrada y FAQ · v0.3.0. Valor primero, solicitud sobria después. */
.access-config h1 { font-size:clamp(32px,4vw,52px); max-width:850px; line-height:1.12; }
.access-config .lead { max-width:760px; }
.access-config .access-links { margin:22px 0; }
.access-service p { max-width:780px; }
.access-section { max-width:1180px; margin:auto; }
.access-intro { max-width:760px; }
.access-intro p { color:var(--body); }
.access-status { display:inline-block; font-size:14px; padding:7px 14px; border:1px solid var(--line); border-radius:30px; margin:0 0 20px; }
.access-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:start; }
.access-card { padding:30px; border:1px solid var(--line); border-radius:20px; background:#fffdf8; }
.access-card h2 { font-size:clamp(26px,3vw,36px); }
.access-card p, .access-card li { color:var(--body); }
.access-card ul, .access-steps { padding-left:24px; }
.access-card li, .access-steps li { margin:16px 0; }
.access-price { font-size:clamp(32px,4vw,48px); color:var(--ink) !important; margin:18px 0 8px; }
.access-price small { display:block; font-size:17px; line-height:1.5; margin-top:8px; }
.access-offer { position:relative; padding:22px 0; border-bottom:1px solid var(--line); scroll-margin-top:150px; }
.access-offer h3 { font-size:26px; margin:0 0 12px; }
.access-offer p { margin-top:10px; }
.access-anchor { position:absolute; top:0; scroll-margin-top:150px; }
.access-card .access-status { margin-top:18px; }
.access-hero-link.button { margin:18px 12px 8px 0; }
.access-faq { max-width:850px; }
.access-faq details { border-top:1px solid var(--line); padding:20px 0; }
.access-faq details:last-child { border-bottom:1px solid var(--line); }
.access-faq summary { cursor:pointer; font-size:clamp(19px,2vw,24px); font-weight:600; padding:5px 0; }
.access-faq details p { color:var(--body); max-width:72ch; margin:18px 0 4px; }
.access-faq summary:focus-visible, .access-form input:focus-visible, .access-form select:focus-visible { outline:3px solid var(--accent-text); outline-offset:5px; }
.access-links { display:flex; flex-wrap:wrap; gap:18px 28px; margin-top:28px; align-items:center; }
.access-links a:not(.button) { text-decoration:underline; text-underline-offset:5px; }
.access-entry { border-top:1px solid var(--line); margin-top:32px; }
.access-entry h2 { max-width:800px; font-size:clamp(30px,4vw,46px); }
.access-entry p { max-width:700px; color:var(--body); }
.access-entry .button { margin-top:20px; }
.access-entry small { display:block; margin-top:12px; color:var(--body); }
.access-local { border-left:3px solid var(--gold); background:#efede4; padding:18px 22px; margin:24px 0; }
.access-local p { margin:0; }
.access-form { max-width:820px; }
.access-form fieldset { border:0; padding:0; margin:24px 0; min-width:0; }
.access-form legend { font-size:clamp(26px,3vw,38px); margin-bottom:24px; line-height:1.2; }
.access-form label { display:block; margin-top:24px; font-weight:600; }
.access-form input:not([type=checkbox]), .access-form select, .access-form textarea { display:block; width:100%; max-width:100%; box-sizing:border-box; border:1px solid #65736a; border-radius:8px; color:var(--ink); background:#fffdf8; padding:13px 15px; font:inherit; margin-top:10px; }
.access-form textarea { min-height:110px; resize:vertical; }
.access-form .access-check { font-weight:400; display:flex; gap:12px; align-items:flex-start; }
.access-check input { flex:0 0 auto; width:21px; height:21px; margin-top:4px; }
.access-help { font-size:16px; color:var(--body); margin:8px 0 0; }
.access-error { border-left:3px solid #963e31; padding:14px 18px; background:#fff3ed; color:#742619; }
.access-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.access-actions button { cursor:pointer; font:inherit; }
.access-actions .access-back { background:transparent !important; color:var(--ink) !important; border:1px solid var(--line); }
.access-progress { color:var(--body); font-size:16px; }
.access-review dt { font-weight:600; margin-top:22px; }
.access-review dd { margin:6px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--body); }
.access-form [hidden], [data-access-result][hidden] { display:none !important; }
@media(max-width:720px) { .access-grid { grid-template-columns:1fr; gap:28px; } .access-card { padding:24px; } .access-actions .button { width:100%; } }
