:root { --integration-ink:#152538; --integration-blue:#183d63; --integration-gold:#c9973e; --integration-paper:#f7f3ea; }
.journey-skip,.hero-replay { position:relative; z-index:4; min-height:44px; border:1px solid rgba(255,255,255,.45); border-radius:var(--radius-full); padding:.7rem 1rem; color:#fff; background:rgba(9,22,40,.72); font:inherit; cursor:pointer; }
.journey-skip { position:absolute; right:clamp(1rem,4vw,4rem); bottom:clamp(2rem,8vh,5rem); }
.journey-skip:active,.journey-skip:focus-visible,.hero-replay:active,.hero-replay:focus-visible { background:#fff; color:var(--integration-ink); outline:3px solid #8b631d; outline-offset:2px; }
@media (hover:hover) { .journey-skip:hover,.hero-replay:hover { background:#fff; color:var(--integration-ink); } }
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) { .journey-skip,.hero-replay { backdrop-filter: blur(var(--backdrop-blur)); } }
.hero-replay { border-color:#a2782e; background:rgba(255,253,248,.9); color:#5e451e; font-size:.88rem; }
.integration-returning #luz-mundo { display:none; }
body.integration-reduced #luz-mundo { height:100svh; min-height:100svh; }
body.integration-reduced .light-journey-sticky { position:relative; }
body.integration-reduced .light-journey-copy.is-changing { opacity:1; transform:none; transition:none; }
body.integration-reduced .light-journey-stop, body.integration-reduced .scroll-hint { display:none; }
body.integration-reduced .light-journey-copy { animation:none; }
.integration-theme[hidden], .integration-image-error[hidden] { display:none; }
.integration-vitrine-section button:focus-visible,.integration-resources summary:focus-visible { outline:3px solid #8b631d; outline-offset:4px; }
.integration-album-links { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin-top:2rem; }
.integration-album-links h4 { width:100%; margin:0; }
.integration-album-grid figure { margin:0; min-width:0; }
.integration-album-grid figcaption { font-size:.85rem; line-height:1.5; padding:.6rem 0; color:#344e65; }
.integration-photo { width:100%; position:relative; }
.integration-photo.is-broken { border:1px solid #ae9c76; background:#e7e0d2; }
.integration-image-error { padding:1rem; color:inherit; }
.integration-photo.is-broken img { visibility:hidden; }
.integration-photo .integration-image-error { position:absolute; inset:0; display:grid; place-items:center; }
/* dead: sin referencias en el HTML servido — no aplicar vocabulario (higiene en O1) */
.integration-card h4 { font-family:'Playfair Display',serif; font-size:1.45rem; color:#183d63; margin:0 0 .7rem; }
.integration-card.is-paris { border-left:4px solid #a2782e; }
.integration-card a { overflow-wrap:anywhere; }
.integration-link,.integration-card button,.integration-community-card a { min-height:44px; display:inline-flex; align-items:center; }
.integration-principles summary { min-height:44px; }
/* dead: sin referencias en el HTML servido — no aplicar vocabulario (higiene en O1) */
.integration-language-note { max-width:72ch; padding:1rem; border-left:3px solid #a2782e; background:#fff; }
.integration-resources { padding-top:2rem; padding-bottom:4rem; }
.integration-resources>h2 { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,3vw,2.5rem); margin-bottom:1.5rem; }
.integration-resource { border-top:1px solid #cbbd9d; }
.integration-resource>summary { min-height:60px; padding:1rem .5rem; color:#183d63; cursor:pointer; font-size:1.05rem; }
.integration-resource[open]>summary { font-weight:600; }
.integration-resource .section { padding:2rem 0; }
.integration-resource .container { width:100%; padding-left:0; padding-right:0; }
.integration-dialog small { padding:0 1.25rem 1rem; color:#d1d9e1; }
@media(prefers-reduced-motion:reduce) { .integration-vitrine-section *, .integration-resources *, #luz-mundo *, .hero-replay { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.integration-noscript { padding:2rem; background:#f7f3ea; color:#152538; text-align:center; }
.integration-principles { margin:1rem 0; border-top:1px solid #d8c9a9; }
.integration-principles summary { cursor:pointer; padding:1rem 0; color:#183d63; font-family:'Playfair Display',serif; font-size:1.2rem; }
.integration-vitrine-section { background:var(--integration-paper); color:var(--integration-ink); padding:clamp(4rem,8vw,8rem) 0; scroll-margin-top:5rem; }
.integration-vitrine-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.integration-vitrine-head .section-title { color:var(--integration-ink); max-width:18ch; text-align:left; }
.integration-vitrine-head .section-desc { color:#506579; margin:0; max-width:42rem; }
.integration-theme { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-end; }
.integration-theme button,.integration-back,.integration-page button { min-height:44px; border:var(--border-gold); border-radius:var(--radius-full); padding:.65rem .9rem; background:var(--surface-glass); color:var(--integration-blue); cursor:pointer; font:inherit; }
.integration-theme button[aria-pressed=true],.integration-theme button:active,.integration-theme button:focus-visible { background:var(--integration-blue); color:#fff; }
@media (hover:hover) { .integration-theme button:hover { background:var(--integration-blue); color:#fff; } }
.integration-theme button:focus-visible,.integration-back:focus-visible,.integration-page button:focus-visible { outline:3px solid #8b631d; outline-offset:2px; }
.integration-status { min-height:1.6rem; color:#536677; }
.integration-status.is-error { color:#8b2b2b; }
.integration-panel { min-height:10rem; outline:none; }
.integration-panel:focus-visible { box-shadow:0 0 0 3px rgba(201,151,62,.65); }
/* dead: sin referencias en el HTML servido — no aplicar vocabulario (higiene en O1) */
.integration-welcome { max-width:50rem; padding:2rem; border-left:4px solid var(--integration-gold); background:#fff; box-shadow:0 18px 45px rgba(21,37,56,.08); font-family:'Playfair Display',serif; font-size:1.25rem; }
.integration-welcome-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; font-family:Inter,sans-serif; font-size:1rem; }
.integration-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.integration-card { border:1px solid #e1d6bd; background:#fff; padding:1.25rem; min-height:10rem; display:flex; flex-direction:column; justify-content:space-between; }
.integration-card h3 { color:var(--integration-blue); margin:.2rem 0 .6rem; font-family:'Playfair Display',serif; font-size:1.45rem; }
.integration-card p { color:#536677; line-height:1.55; }
.integration-card button,.integration-link { align-self:flex-start; color:var(--integration-blue); background:none; border:0; border-bottom:1px solid var(--integration-gold); padding:.55rem 0; cursor:pointer; font:inherit; text-decoration:none; }
.integration-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.integration-toolbar h3 { margin:0; font-family:'Playfair Display',serif; color:var(--integration-blue); }
.integration-body { max-width:72ch; line-height:1.75; color:#293b4e; }
.integration-body h2,.integration-body h3 { color:var(--integration-blue); font-family:'Playfair Display',serif; }
.integration-album-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.integration-photo { border:0; padding:0; background:#ddd; cursor:pointer; aspect-ratio:4/3; overflow:hidden; }
.integration-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.integration-photo:focus-visible { outline:3px solid #8b631d; outline-offset:2px; }
.integration-photo:focus-visible img { transform:scale(1.03); }
@media (hover:hover) { .integration-photo:hover img { transform:scale(1.03); } }
.integration-page { display:flex; align-items:center; justify-content:center; gap:.8rem; margin-top:1.5rem; color:#536677; }
/* dead: sin referencias en el HTML servido — no aplicar vocabulario (higiene en O1) */
.integration-community-card address { font-style:normal; color:#536677; line-height:1.5; }
.integration-dialog { width:min(92vw,900px); max-height:90vh; border:0; padding:0; background:#111; color:#fff; }
.integration-dialog::backdrop { background:rgba(5,13,23,.86); }
.integration-dialog figure { margin:0; display:grid; place-items:center; }
.integration-dialog img { max-width:100%; max-height:75vh; object-fit:contain; }
.integration-dialog figcaption { width:100%; box-sizing:border-box; padding:1rem 1.25rem; }
.integration-dialog-close { position:absolute; top:.7rem; right:.7rem; min-width:44px; min-height:44px; border:1px solid #fff; border-radius:50%; color:#fff; background:rgba(0,0,0,.6); cursor:pointer; font-size:1.2rem; }
@media (max-width:760px) { .integration-vitrine-head { display:block; } .integration-theme { justify-content:flex-start; margin-top:1rem; } .integration-album-grid { grid-template-columns:repeat(2,1fr); gap:.6rem; } .integration-welcome { padding:1.25rem; } .journey-skip { bottom:1.25rem; } }
@media (prefers-reduced-motion:reduce) { .integration-photo img { transition:none; } .light-journey-stars { transform:none!important; } }
