/* Acentos de caja: nunca una barra de color, ni vertical ni horizontal.
   Se diferencian con halo, filete completo tintado, fondo o el triángulo
   de marca. */
.policy-hero{padding:160px 0 70px;background:var(--black);color:var(--cream)}
.policy-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center}
.policy-hero h1{font-size:clamp(2.3rem,4.6vw,4.5rem);line-height:1.08;max-width:850px;margin:24px 0}
.policy-hero .lede{font-size:1.16rem;max-width:670px;color:#ddd9ce;line-height:1.7}
.policy-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:28px 0}
.policy-hero a:not(.btn){color:var(--cream)}
.policy-meta{font-family:var(--mono);font-size:.78rem;color:#c8c3b8}
.policy-cover{background:#f8f5ed;color:#1a1c1b;padding:36px;box-shadow:18px 18px 0 #292c28,0 0 0 1px rgba(182,143,64,.38);transform:rotate(2deg)}
.policy-cover .policy-cover-brand{font-family:var(--mono);font-size:.78rem;letter-spacing:.15em;color:#665122}
.policy-cover h2{font-size:2rem;line-height:1.2;margin:30px 0 16px}
.policy-cover ol{padding:0;list-style:none;counter-reset:cover}
.policy-cover li{counter-increment:cover;padding:10px 0;border-bottom:1px solid #d4cbbb;font-size:.9rem}
.policy-cover li:before{content:'0' counter(cover) ' / ';font-family:var(--mono);color:#725920}
.policy-cover small{display:block;margin-top:24px;color:#514a3c}
.policy-main{background:var(--cream);padding:64px 0}
.policy-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:64px;align-items:start}
.policy-body{min-width:0;font-size:1.04rem;line-height:1.8}
.policy-body h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;margin:60px 0 22px}
.policy-body h2:first-child{margin-top:0}
.policy-body h3{font-size:1.3rem;line-height:1.3;margin:0 0 14px}
.policy-body p{margin:0 0 20px}
.policy-body a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.policy-quick{padding:28px;background:#faf8f1;box-shadow:0 0 0 1px rgba(26,28,27,.09),0 0 0 7px rgba(182,143,64,.11);margin-bottom:28px}
.policy-quick .eyebrow{color:#66501b}
.policy-quick h2{margin:10px 0 20px;font-size:clamp(1.6rem,3vw,2.2rem)}
.policy-quick ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 30px;padding-left:22px;margin:20px 0}
.policy-quick li{padding-left:3px;font-size:.96rem;line-height:1.6}
.policy-quick .policy-quick-foot{border-top:1px solid #d3cbbb;padding-top:16px;margin:20px 0 0;font-size:.92rem}
.policy-decision{background:#e7e2d6;padding:26px 26px 26px 52px;margin:36px 0;position:relative}.policy-decision::before{content:'';position:absolute;left:24px;top:32px;width:0;height:0;border-left:9px solid #b68f40;border-top:6px solid transparent;border-bottom:6px solid transparent}
.policy-decision h2{margin:0 0 18px;font-size:1.65rem}
.policy-flow{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:24px 0}
.policy-flow li{flex:1 1 100px;position:relative;background:#faf8f1;border:1px solid #c6bba5;padding:14px 12px;font-size:.86rem;line-height:1.5;min-width:0}
.policy-flow li:not(:last-child)::after{content:'→';position:absolute;right:-11px;top:50%;transform:translateY(-50%);color:#66501b;font-weight:700;z-index:1}
.policy-flow-number{display:block;font-family:var(--mono);color:#66501b;font-size:.75rem;margin-bottom:8px}
.policy-decision .policy-flow-example{font-size:.92rem;margin-bottom:0}
@media(max-width:700px){.policy-quick,.policy-decision{padding:20px}.policy-quick ul{grid-template-columns:1fr}.policy-flow{flex-direction:column;gap:18px}.policy-flow li{flex:auto;display:flex;gap:12px;align-items:center}.policy-flow-number{margin:0}.policy-flow li:not(:last-child)::after{content:'↓';top:auto;bottom:-19px;right:50%;transform:translateX(50%)}}
.policy-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0}
.policy-map>div{padding:20px;background:#e7e2d6;box-shadow:inset 0 0 0 1px rgba(182,143,64,.30)}
.policy-map b{display:block;font-family:var(--mono);font-size:1.4rem;color:#66501b;margin-bottom:8px}
.policy-map p{font-size:.93rem;margin:0}
.policy-note{padding:20px 24px 20px 46px;background:#ece7db;margin:24px 0;font-size:.96rem;position:relative}.policy-note::before{content:'';position:absolute;left:20px;top:25px;width:0;height:0;border-left:9px solid #b68f40;border-top:6px solid transparent;border-bottom:6px solid transparent}
.policy-body table{width:100%;border-collapse:collapse;font-size:.89rem;line-height:1.6}
.policy-body th,.policy-body td{padding:16px;text-align:left;border-bottom:1px solid #ccc5b5;vertical-align:top}
.policy-body thead{background:#282d27;color:#fff}
.policy-body th small{display:block;font-family:var(--mono);color:#716039}
.policy-table{overflow-x:auto;margin:24px 0}
.policy-step{border:1px solid #d3cbbb;background:#faf8f1;padding:28px;margin:26px 0;scroll-margin-top:110px}
.policy-step-head{display:flex;align-items:baseline;gap:16px;margin-bottom:18px}
.policy-step-head>span{font-family:var(--mono);font-size:1.6rem;color:#886b2a}
.policy-ref{display:block;font-family:var(--mono);font-size:.72rem;color:#5c5547;margin-top:8px}
.policy-example{padding:18px 20px;background:#ece8dc;border-radius:3px;margin:20px 0}
.policy-example p{margin:5px 0 0}
.policy-examples{display:grid;gap:14px;margin:20px 0}
.policy-examples .policy-example{margin:0;box-shadow:inset 0 0 0 1px rgba(182,143,64,.26)}
.policy-examples .policy-example:last-child{background:#f2eee3;box-shadow:inset 0 0 0 1px rgba(92,106,56,.30)}
.policy-example h4{font-size:1rem;line-height:1.5;margin:0 0 10px;font-weight:700}
.policy-output{font-size:.92rem;border-top:1px solid #d5cdbc;padding-top:15px;margin-bottom:0!important}
.policy-toc{position:sticky;top:110px;font-size:.84rem;border-left:1px solid #cfc6b6;padding-left:20px}
.policy-toc ol{list-style:none;padding:0;margin:16px 0 24px}
.policy-toc li{margin:12px 0}.policy-toc a{display:block;line-height:1.5}
.policy-toc .btn{white-space:normal;text-align:center;font-size:.82rem}
.policy-checks{display:grid;gap:10px;margin:22px 0}
.policy-checks label{display:flex;gap:13px;align-items:start;background:#e9e5d9;padding:15px 18px;cursor:pointer;line-height:1.5}
.policy-checks input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:#5c6a38}
.policy-checks label:has(input:checked){background:#dce5d0}
.policy-progress{font-family:var(--mono);font-size:.83rem;min-height:1.5em}
.policy-faq details{border-bottom:1px solid #cfc6b6;padding:17px 0}.policy-faq summary{font-weight:600;cursor:pointer;padding:6px 0}.policy-faq p{margin:14px 0 0}
.policy-download{background:#1a1c1b;color:#f8f5ed;padding:40px;margin:42px 0;scroll-margin-top:110px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(182,143,64,.34)}.policy-download::after{content:'';position:absolute;top:0;right:0;width:280px;height:280px;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(182,143,64,.17),transparent 68%)}.policy-download>*{position:relative;z-index:1}
.policy-download h2{color:#f8f5ed;margin:0 0 16px;font-size:2rem}.policy-download a{color:#e3c37b}
.policy-download ul{padding-left:22px;margin-bottom:26px}.policy-download .policy-download-note{font-size:.85rem;color:#d7d0bf}
.policy-form .policy-download-note+.policy-download-note{margin-top:10px}
.policy-form label{display:block;font-weight:600;margin-bottom:8px}.policy-form input[type=email]{width:100%;min-height:50px;padding:12px;color:#1a1c1b;background:#fff;border:2px solid #bbb3a1;border-radius:4px;font:inherit}
.policy-form .policy-consent{display:flex;gap:12px;font-size:.9rem;line-height:1.6;font-weight:400;margin:20px 0}
.policy-consent input{flex:none;width:22px;height:22px;margin-top:3px;accent-color:#c8a75e}
.policy-form button{white-space:normal;text-align:center;min-height:48px;width:100%;justify-content:center;margin-top:16px}
.policy-form button:disabled{opacity:.65;cursor:wait}
.policy-status{font-size:.93rem;margin-top:14px!important}.policy-status[data-state=error]{color:#ffc5b6}.policy-status[data-state=success]{color:#d7f3b1}
.policy-source{font-size:.88rem;border-top:1px solid #cfc6b6;padding-top:24px;margin-top:38px}
.policy-skip{position:fixed;top:-100px;left:16px;z-index:9999;background:#fff;color:#111;padding:12px}.policy-skip:focus{top:10px}
.policy-body :is(h2,h3){scroll-margin-top:110px}
.policy-body :focus-visible,.policy-hero :focus-visible{outline:3px solid #b48b2e;outline-offset:4px}
@media(max-width:1000px){.policy-layout{grid-template-columns:minmax(0,1fr)}.policy-toc{position:static;grid-row:1;border-left:0;border-bottom:1px solid #cfc6b6;padding:0 0 24px}.policy-toc ol{display:flex;flex-wrap:wrap;gap:8px 22px}.policy-toc li{margin:0}.policy-toc .btn{display:none}.policy-hero-grid{gap:32px}.policy-cover{padding:25px}}
@media(max-width:700px){.policy-hero{padding:125px 0 45px}.policy-hero-grid{grid-template-columns:minmax(0,1fr)}.policy-cover{transform:none;box-shadow:8px 8px 0 #292c28;margin-right:8px}.policy-cover h2{margin-top:15px}.policy-map{grid-template-columns:1fr}.policy-map>div{display:grid;grid-template-columns:65px 1fr;gap:10px}.policy-main{padding:35px 0}.policy-step{padding:20px}.policy-download{padding:25px 20px}.policy-body th,.policy-body td{padding:12px}.policy-body table{min-width:530px}.policy-actions .btn{width:100%;justify-content:center}}
@media print{.nav,footer,.policy-toc,.policy-form,.policy-actions,.policy-cover{display:none!important}.policy-hero,.policy-main,.policy-download{background:white;color:black;padding:20px 0}.policy-download h2{color:black}.policy-hero-grid,.policy-layout{display:block}.policy-step{break-inside:avoid}.policy-body a{color:black}.policy-hero a{color:black!important}}
