/* Teotihuacan article CRO layer — Obsidian Dawn palette (site vars: --paper #10141c, --surface #191f29, --line #2f3745, --ink #f2eee6, --ink-soft #a9a79f, --accent #e0622c, --gold #d4a02e). Versioned at render time. */
body[data-cro-article]{padding-bottom:0!important}
.cro{font-size:16px;line-height:1.65;box-sizing:border-box;color:var(--ink,#f2eee6)}
.cro [hidden],.cro[hidden]{display:none!important}
.cro p{margin:0 0 .8rem}
.cro h2,.cro h3{font-family:var(--display,inherit);line-height:1.25;letter-spacing:-.02em;color:var(--ink,#f2eee6)}
.cro-kicker{font-size:.76rem!important;line-height:1.5!important;letter-spacing:.09em;font-weight:750;text-transform:uppercase;color:var(--accent,#e0622c);margin-bottom:.35rem}
.cro-context{margin:2rem 0 2.7rem;padding:1.2rem 1.4rem;border-left:3px solid var(--accent,#e0622c);background:var(--surface,#191f29);border-radius:0 14px 14px 0}
.cro-text{background:rgba(25,31,41,.55);padding:.9rem 1.2rem;border-color:var(--line,#2f3745)}
.cro-image{display:grid;grid-template-columns:190px 1fr;gap:1.2rem;border:1px solid var(--line,#2f3745);padding:0;overflow:hidden;border-radius:14px;background:var(--surface,#191f29)}
.cro-image>img{width:100%;height:100%;min-height:240px;object-fit:cover;margin:0}
.cro-image>div{padding:1.2rem 1.2rem 1.2rem 0}
.cro .cro-book{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:.72rem 1.05rem;border-radius:9px;color:#fff!important;background:var(--accent-deep,#c4501e);text-decoration:none!important;font-weight:750;line-height:1.4;text-align:center;border:2px solid transparent;box-sizing:border-box}
.cro .cro-book:hover{background:var(--accent,#e0622c)}
.cro a:focus-visible,.cro button:focus-visible,.cro input:focus-visible,.cro select:focus-visible,.cro summary:focus-visible{outline:3px solid var(--gold,#d4a02e);outline-offset:3px}
.cro-facts,.cro small{display:block;color:var(--ink-soft,#a9a79f);font-size:.79rem;line-height:1.55;margin-top:.65rem}
/* Opening recommendation: a complete compact card (background, border, padding, radius, hierarchy) with an explicit gap between the affiliate CTA and the end-module navigation button. */
.cro-intro{background:var(--surface,#191f29);border:1px solid var(--line,#2f3745);border-radius:14px;padding:1.15rem 1.3rem 1.25rem;margin:1.5rem 0 2.2rem}
.cro-intro .cro-intro-copy{margin:0 0 .35rem;font-size:.98rem}
.cro-intro .cro-inline-link{font-weight:700;color:var(--gold,#d4a02e)}
.cro-intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin-top:.9rem}
.cro-intro-actions .cro-jump{border:1px solid var(--line,#2f3745);border-radius:9px;background:transparent;padding:.65rem .9rem;color:var(--ink,#f2eee6);font-weight:650;min-height:46px}
.cro-intro-actions .cro-jump:hover{border-color:var(--gold,#d4a02e);color:var(--gold,#d4a02e)}
.cro button{cursor:pointer;font:inherit}
.cro-reset{border:1px solid var(--line,#2f3745);border-radius:6px;background:transparent;padding:.5rem .75rem;color:var(--ink,#f2eee6)}
.cro-end{border:1px solid var(--line,#2f3745);border-radius:16px;background:var(--surface,#191f29);padding:1.6rem!important;margin:3rem auto!important;max-width:50rem;scroll-margin-top:100px}
.cro-end h2{font-size:1.65rem;margin:0 0 1rem}
.cro-end h3{font-size:1.2rem;margin:1.1rem 0 .7rem}
.cro-initial{font-size:.84rem;color:var(--ink-soft,#a9a79f)}
.cro-support{border-block:1px solid var(--line,#2f3745);margin:1rem 0;padding:.9rem 0}
.cro-support summary{font-weight:700;cursor:pointer;min-height:44px}
.cro-selector{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin:1rem 0}
.cro label{display:flex;flex-direction:column;gap:.25rem;font-size:.84rem;font-weight:650;min-width:0}
.cro select,.cro input{width:100%;min-height:44px;min-width:0;font:inherit;font-size:16px;border:1px solid #465263;border-radius:6px;padding:.55rem;background:var(--paper,#10141c);color:var(--ink,#f2eee6);box-sizing:border-box}
.cro select{max-width:100%}
.cro-alternatives{padding-left:1.2rem;font-size:.9rem}
.cro-alternatives li{margin-bottom:.8rem}
.cro-cost{padding-top:1rem;border-top:1px solid var(--line,#2f3745)}
.cro-cost label{margin:.5rem 0}
.cro-cost output{display:block;font-weight:700;margin-top:.8rem}
.cro-calendar{padding:1rem 0}
.cro-date-status{font-size:.84rem;margin:.5rem 0!important}
.cro-current{border-top:1px solid var(--line,#2f3745);padding-top:.6rem}
.cro-current-caution,.cro-screen-note{font-size:.84rem;color:var(--ink-soft,#a9a79f)}
.cro-current-title{margin-top:1.2rem}
.cro-result{padding:.9rem;background:var(--paper,#10141c);border-radius:9px}
.cro-float{position:fixed;right:22px;bottom:22px;width:340px;max-width:calc(100vw - 32px);z-index:80;background:var(--surface,#191f29);border:1px solid var(--line,#2f3745);border-radius:12px;padding:1rem 1.2rem;box-shadow:var(--shadow,0 14px 40px rgba(0,0,0,.35))}
.cro-float p{font-size:.83rem;margin:0 22px .45rem 0}
.cro-float-title{font-weight:750}
.cro-float .cro-book{width:100%;font-size:.9rem}
.cro-dismiss,.cro-exit-close{position:absolute;right:6px;top:4px;width:36px;height:36px;border:0;background:transparent;font-size:24px!important;color:var(--ink,#f2eee6)}
.cro-exit{border:1px solid var(--line,#2f3745);border-radius:14px;width:min(460px,calc(100vw - 32px));padding:2rem;box-shadow:0 16px 90px rgba(0,0,0,.45);background:var(--surface,#191f29);color:var(--ink,#f2eee6)}
.cro-exit::backdrop{background:rgba(8,11,17,.72)}
.cro-exit h2{font-size:1.6rem;margin:.3rem 0 1rem}
.cro-exit-product{font-weight:700}
body[data-cro-article] .prose table{display:block;max-width:100%;overflow-x:auto}
body[data-cro-article] .prose [data-editorial-heading]{scroll-margin-top:100px}
@media(max-width:650px){
 .cro-context{padding:1rem;margin:1.6rem 0 2rem}
 .cro-image{display:block;padding:0}
 .cro-image>img{height:190px;min-height:0}
 .cro-image>div{padding:1rem}
 .cro-intro{padding:1rem 1rem 1.1rem}
 .cro-intro-actions{flex-direction:column;align-items:stretch}
 .cro-intro-actions .cro-book,.cro-intro-actions .cro-jump{width:100%}
 .cro-end{padding:1rem!important;margin:2rem 16px!important;width:auto}
 .cro-selector{grid-template-columns:1fr}
 .cro-float{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;max-width:none;padding:.8rem 1rem}
 .cro-float p:not(.cro-float-title){display:none}
 .cro-float .cro-book{min-height:44px}
 .cro-book{width:100%}
 .cro-end h2{font-size:1.4rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
