.round-two { --r2-max:1232px; }
.round-two .map-enlarge { display:block; cursor:zoom-in; }
.round-two h1,.round-two h2 { text-wrap:balance; }
.round-two h2 { letter-spacing:-.025em; }
.round-two p { text-wrap:pretty; }
.plugin-first { font-size:1rem; line-height:1.5; max-width:47ch; margin:1.4rem 0; color:var(--ink-700); }
.plugin-first strong { display:block; color:var(--ink-950); font-weight:700; }
.r2-small { font-size:.85rem; color:var(--ink-600); }
.r2-invite { max-width:var(--r2-max); padding:4.5rem 1.5rem; margin:auto; display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:5rem; }
.r2-invite h2 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.13; margin:0 0 1.5rem; }
.r2-invite-copy p { color:var(--ink-700); max-width:44ch; }
.r2-form { background:#fff; border:1px solid var(--line-strong); padding:1.75rem; border-radius:12px; color:var(--ink-900); }
.r2-form h3 { font-size:1.4rem; margin:0 0 .5rem; letter-spacing:-.02em; }
.r2-form>p { margin:0 0 1.5rem; color:var(--ink-600); }
.r2-plugin { max-width:var(--r2-max); margin:auto; padding:4rem 1.5rem; border-block:1px solid var(--line-strong); display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.r2-plugin h2 { margin:0 0 1.25rem; font-size:clamp(2rem,3.2vw,2.8rem); line-height:1.15; }
.r2-plugin p { max-width:48ch; color:var(--ink-700); }
.r2-plugin-use { padding-top:.25rem; }
.r2-plugin h3 { font-size:1.15rem; margin:0 0 1rem; }
.r2-plugin-use>p { font-size:.9rem; }
.r2-plugin blockquote { margin:1.25rem 0; font-family:var(--font-serif); font-size:1.6rem; line-height:1.35; color:var(--ink-950); }
.b2-opening { display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:center; padding:3.5rem 0; border-bottom:1px solid var(--line-strong); }
.b2-opening .caderno-h1 { font-size:clamp(2.8rem,4.7vw,4.25rem); line-height:1.07; margin:0 0 1.5rem; }
.b2-opening .caderno-lead { max-width:42ch; }
.b2-opening .plugin-first { padding-top:1rem; border-top:1px solid var(--line-strong); }
.b2-figure .map-figure { border-radius:4px; }
.b2-reader { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; padding:3.5rem 0; border-bottom:1px solid var(--line-strong); }
.b2-reader h2 { font-family:var(--font-serif); font-size:2.6rem; font-weight:600; line-height:1.15; margin:0 0 1.5rem; }
.b2-reader-title p { max-width:30ch; color:var(--ink-600); }
.b2-readings article { padding:0 0 1.5rem; margin:0 0 1.5rem; border-bottom:1px solid var(--line-subtle); }
.b2-readings article:last-child { padding:0; margin:0; border:0; }
.b2-readings h3 { font-size:1.2rem; margin:0 0 .5rem; }
.b2-readings p { color:var(--ink-700); margin:0; max-width:50ch; }
.round-caderno .r2-plugin h2,.round-caderno .r2-invite h2 { font-family:var(--font-serif); font-weight:600; }
.round-reserva { background:#fff; color:#111d29; }
.round-reserva .site-header { border:0; }
.round-reserva .brand-mark-dot { color:#9a5a00; }
.reserva-opening { max-width:1100px; margin:auto; text-align:center; padding:3.5rem 1.5rem 4.5rem; }
.reserva-opening h1 { font-family:var(--font-serif); font-size:clamp(4.5rem,8vw,6rem); line-height:.98; font-weight:500; letter-spacing:-.035em; margin:0 0 2.2rem; }
.reserva-opening h1 em { font-weight:500; }
.reserva-lead { font-size:1.4rem; line-height:1.45; max-width:37ch; margin:0 auto 1.5rem; }
.reserva-opening .plugin-first { margin:1.75rem auto; max-width:48ch; }
.reserva-access { font-size:.85rem; color:var(--ink-600); margin:1rem 0 0; }
.reserva-manifesto { max-width:var(--r2-max); margin:auto; padding:3.5rem 1.5rem; border-block:1px solid var(--line-strong); display:grid; grid-template-columns:1fr 2fr; gap:5rem; }
.reserva-side p { margin:.5rem 0; font-family:var(--font-serif); font-size:1.4rem; font-style:italic; }
.reserva-statements article { margin:0 0 2rem; padding:0 0 2rem; border-bottom:1px solid var(--line-subtle); }
.reserva-statements article:last-child { margin:0; padding:0; border:0; }
.reserva-statements h2 { font-family:var(--font-serif); font-size:2rem; font-weight:500; margin:0 0 .75rem; }
.reserva-statements p { max-width:53ch; margin:0; color:var(--ink-700); }
.reserva-plugin { max-width:var(--r2-max); margin:auto; padding:4rem 1.5rem; display:grid; grid-template-columns:1.3fr 1fr; gap:5rem; }
.reserva-plugin h2 { font-family:var(--font-serif); font-size:2.8rem; font-weight:500; line-height:1.15; margin:0; }
.reserva-plugin p { color:var(--ink-700); margin-top:0; }
.reserva-plugin .btn-primary { margin-top:1rem; }
.round-reserva .r2-invite { border-top:1px solid var(--line-strong); }
.round-reserva .r2-invite h2 { font-family:var(--font-serif); font-weight:500; }
.round-criterio { background:#fff; }
.criterio-opening { max-width:1320px; margin:auto; padding:3rem 1.5rem 0; }
.criterio-head { display:grid; grid-template-columns:1.3fr 1fr; gap:5rem; padding-bottom:3rem; align-items:end; }
.criterio-head h1 { font-size:clamp(3rem,5vw,4.5rem); line-height:1.05; letter-spacing:-.035em; margin:0; }
.criterio-head>div>p:first-child { font-size:1.3rem; margin:0; max-width:34ch; }
.criterio-head .plugin-first { margin-block:1.25rem; }
.criterio-example { background:var(--ink-950); color:#fff; display:grid; grid-template-columns:1fr 1.1fr; gap:4rem; padding:3rem; }
.criterio-question h2 { font-size:2.3rem; line-height:1.1; margin:0 0 1.5rem; }
.criterio-question p { color:#c4d2e6; max-width:42ch; }
.criterio-question .r2-small { margin-top:2rem; font-size:.85rem; }
.criterio-sheet { background:#fff; color:var(--ink-950); padding:1.5rem; align-self:start; }
.profile-tabs { display:flex; gap:.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--line-strong); }
.profile-tabs button { flex:1; min-height:44px; padding:.6rem .7rem; border:1px solid var(--line-strong); background:#fff; color:var(--ink-700); cursor:pointer; border-radius:4px; font-size:.9rem; font-weight:600; }
.profile-tabs button[aria-selected=true] { color:#fff; background:var(--blue-primary); border-color:var(--blue-primary); }
.criterio-sheet h3 { font-size:1.2rem; margin:1.5rem 0 1rem; }
.criterio-data { margin:0 0 1.5rem; }
.criterio-data>div { display:flex; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line-subtle); align-items:baseline; }
.criterio-data dt { color:var(--ink-600); font-size:.85rem; }
.criterio-data dd { margin:0; font-size:1.2rem; font-weight:600; font-variant-numeric:tabular-nums; }
.criterio-data dd span { font-size:.8rem; font-weight:400; }
.criterio-sheet [role=tabpanel]>p { color:var(--ink-700); font-size:.95rem; }
.example-caption { color:var(--ink-600); font-size:.8rem; margin:1.5rem 0 0; border-top:1px solid var(--line-strong); padding-top:1rem; }
.criterio-sequence { max-width:var(--r2-max); margin:auto; padding:4rem 1.5rem; }
.criterio-sequence h2 { font-size:2.5rem; margin:0 0 2rem; }
.criterio-row { display:grid; grid-template-columns:1fr 1.4fr; padding:1.5rem 0; gap:3rem; border-top:1px solid var(--line-strong); }
.criterio-row h3 { margin:0; font-size:1.25rem; }
.criterio-row p { margin:0; color:var(--ink-700); }
.round-pulso { background:var(--ink-950); color:#fff; }
.round-pulso .site-header { border-bottom-color:#32445c; }
.round-pulso .brand-mark { color:#fff; }
.round-pulso .brand-mark-dot { color:var(--amber-accent); }
.round-pulso .brand-slogan { color:#c6d5e8; border-color:#5b6e89; }
.round-pulso .nav-link { color:#e7effb; }
.round-pulso .nav-link:hover { background:#1b3150; }
.round-pulso .nav-link-access { color:#fff; background:transparent; border-color:#8498b4; }
.round-pulso :focus-visible { outline-color:var(--amber-accent); }
.pulso-opening { position:relative; overflow:hidden; isolation:isolate; max-width:1600px; margin:auto; padding:3rem max(1.5rem,calc((100% - 1232px)/2)) 4rem; min-height:690px; }
.energy-canvas { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; }
.pulso-content { max-width:760px; }
.pulso-content h1 { font-size:clamp(3.5rem,6.6vw,6rem); line-height:.98; letter-spacing:-.04em; margin:0 0 2rem; font-weight:600; }
.pulso-content h1 em { font-family:var(--font-serif); font-weight:500; }
.pulso-lead { font-size:1.15rem; line-height:1.6; max-width:44ch; color:#cedbed; margin:0; }
.round-pulso .plugin-first { color:#b9cde6; margin-block:1.5rem; }
.round-pulso .plugin-first strong { color:#fff; }
.pulso-actions { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.pulso-text-link { min-height:44px; color:#d6e6fb; display:inline-flex; gap:.5rem; align-items:center; }
.effect-controls { position:absolute; bottom:1rem; right:1.5rem; display:flex; align-items:center; flex-wrap:wrap; gap:1rem; font-size:.8rem; color:#cedbed; }
.effect-controls button { border:1px solid #7289a7; background:var(--ink-950); color:#fff; min-height:44px; padding:.5rem .8rem; border-radius:4px; cursor:pointer; }
.effect-controls label { display:flex; gap:.5rem; align-items:center; min-height:44px; cursor:pointer; }
.effect-controls input { accent-color:var(--amber-accent); width:17px; height:17px; }
.pulso-statement { max-width:var(--r2-max); padding:4rem 1.5rem; margin:auto; display:grid; grid-template-columns:1.2fr 1fr; gap:5rem; border-top:1px solid #42556f; }
.pulso-statement h2 { font-size:clamp(2.3rem,4vw,3.5rem); line-height:1.08; margin:0; }
.pulso-statement p { color:#c7d8ef; max-width:44ch; margin:0 0 1rem; }
.pulso-proof { background:#f5f7fb; color:var(--ink-950); padding:4rem max(1.5rem,calc((100% - 1184px)/2)); display:grid; grid-template-columns:1fr 2fr; gap:3rem; align-items:center; }
.pulso-proof h2 { font-size:2rem; line-height:1.15; margin:0 0 1.5rem; }
.pulso-proof p { color:var(--ink-700); }
.round-pulso .r2-plugin { border-color:#42556f; }
.round-pulso .r2-plugin p,.round-pulso .r2-invite-copy p { color:#c7d8ef; }
.round-pulso .r2-plugin blockquote { color:#fff; }
.round-pulso .r2-invite h2 { color:#fff; }
.round-pulso .r2-form .invite-form :focus-visible { outline-color:var(--blue-primary); }
.round-pulso .site-footer { border-color:#42556f; }
.round-pulso .site-footer p,.round-pulso .site-footer a { color:#cedbed; }
.gallery-header-top>a { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; }
@media(max-width:1024px) {
 .b2-opening,.b2-reader,.r2-invite,.r2-plugin,.reserva-manifesto,.reserva-plugin,.criterio-head,.criterio-example,.pulso-statement,.pulso-proof { grid-template-columns:1fr; gap:2.5rem; }
 .b2-opening { align-items:start; }
 .b2-figure { max-width:750px; }
 .reserva-side br { display:none; }
 .criterio-example { padding:2rem; }
 .pulso-opening { min-height:760px; }
 .pulso-content { max-width:680px; }
}
@media(max-width:640px) {
 .r2-invite,.r2-plugin,.reserva-manifesto,.reserva-plugin,.criterio-opening,.criterio-sequence,.pulso-statement,.pulso-proof { padding:2.5rem 1rem; gap:1.75rem; }
 .r2-invite h2,.r2-plugin h2 { font-size:2rem; }
 .r2-form { padding:1.25rem; }
 .r2-plugin blockquote { font-size:1.4rem; }
 .b2-opening { padding-block:2rem; gap:2rem; }
 .b2-opening .caderno-h1 { font-size:2.7rem; }
 .b2-opening .caderno-lead { font-size:1.05rem; }
 .b2-reader { padding-block:2.5rem; gap:1.5rem; }
 .b2-reader h2 { font-size:2rem; margin-bottom:1rem; }
 .plugin-first { font-size:.95rem; }
 .reserva-opening { padding:2.5rem 1rem 3rem; }
 .reserva-opening h1 { font-size:5rem; margin-bottom:1.5rem; }
 .reserva-lead { font-size:1.15rem; }
 .reserva-opening .plugin-first br { display:none; }
 .reserva-side p { font-size:1.2rem; }
 .reserva-statements h2 { font-size:1.8rem; }
 .reserva-plugin h2 { font-size:2rem; }
 .criterio-head { gap:1.5rem; padding-bottom:2rem; }
 .criterio-head h1 { font-size:2.8rem; }
 .criterio-head>div>p:first-child { font-size:1.1rem; }
 .criterio-example { margin-inline:-1rem; padding:2rem 1rem; gap:1.5rem; }
 .criterio-question h2 { font-size:1.9rem; }
 .criterio-question .r2-small { margin-top:1rem; }
 .criterio-sheet { padding:1.2rem; }
 .profile-tabs { gap:.4rem; }
 .profile-tabs button { font-size:.8rem; padding:.5rem; }
 .criterio-data>div { flex-direction:column; gap:.2rem; }
 .criterio-row { grid-template-columns:1fr; gap:.65rem; padding-block:1.2rem; }
 .criterio-sequence h2 { font-size:2rem; }
 .pulso-opening { padding:2.5rem 1rem 5rem; min-height:710px; }
 .pulso-content h1 { font-size:3.1rem; line-height:1.02; margin-bottom:1.5rem; }
 .pulso-lead { font-size:1.05rem; max-width:32ch; }
 .pulso-actions { gap:.5rem 1rem; }
 .effect-controls { left:1rem; right:1rem; bottom:.75rem; gap:.75rem; }
 .effect-controls button { font-size:.75rem; }
 .pulso-statement h2 { font-size:2.3rem; }
 .pulso-proof { gap:1rem; }
 .pulso-proof h2 br { display:none; }
}
@media(prefers-reduced-motion:reduce) { .energy-canvas { opacity:.7; } }
