/* ITICBOT 2026 — estilos principales
   Colores globales y tipografía: edita las variables de :root para personalizar el sitio. */
:root {
    --navy:#28d7e8; /*--navy:#071321;*/
    --navy-2:#28d7e8;/*--navy-2:#0b1c30;*/
    --panel:#10243a;
    --cyan:#28d7e8;
	--azul:#000080;
    --cyan-dark:#08aabd;
    --orange:#ff8a42;
    --violet:#9c8bff;
    --green:#b7f36b;
    --paper:#f3f7fa;
    --ink:#102033;
    --muted:#6c7c8e;
    --line:#dce5ec;
    --white:#fff;
    --font:'Plus Jakarta Sans',sans-serif;
    --display:'Space Grotesk',sans-serif;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:88px;
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font);
    font-size:14px;
    line-height:1.7;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,select,textarea {
    font:inherit;
}
button,a {
    -webkit-tap-highlight-color:transparent;
}
img {
    max-width:100%;
    display:block;
}
.site-header {
    height:82px;
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 5.5%;
    background:rgb(255,255,255);
    color:#fff;
    border-bottom:1px solid #ffffff16;
    backdrop-filter:blur(14px);
}
.brand {
    display:flex;
    gap:11px;
    align-items:center;
    font-weight:800;
    letter-spacing:.04em;
    font-size:16px;
    line-height:1.15;
}
.brand small {
    display:block;
    margin-top:6px;
    color:#8da2b7;
    font-size:8px;
    letter-spacing:.16em;
    font-weight:700;
}
.brand-mark {
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    border:2px solid var(--cyan);
    color:var(--cyan);
    font-family:var(--display);
    font-size:21px;
    transform:skew(-7deg);
}
.brand-mark span {
    color:#fff;
}
.nav {
    display:flex;
    align-items:center;
	
    gap:25px;
    font-size:15px;
    font-weight:700;
    color:#000000;
	
}
.nav>a:not(.button):hover {
    color:var(--cyan);
	
}
.menu-toggle {
    display:none;
    background:none;
    border:0;
    color:white;
    font-size:26px;
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    padding:15px 21px;
    background:var(--cyan);
    color:#000000;/*var(--navy);*/
    border:5px solid var(--cyan);
    font-size:15px;
    font-weight:800;
    letter-spacing:.025em;
    transition:.2s;
    cursor:pointer;
}
.button:hover {
    background:#fff;
    border-color:#fff;
	border:5px solid var(--cyan);
    transform:translateY(-2px);
}
.button-small {
    padding:11px 14px;
}
.button-outline {
    background:transparent;
    color:#000000;
    border-color:#6d849b;
}
.button-outline:hover {
    color:var(--ink);
}
.button-full {
    width:100%;
    margin-top:15px
}
.section-dark {
    background:var(--navy);
    color:#100063;
}
.hero {
    min-height:680px;
    padding:70px 7% 0;
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:1.02fr .98fr;
    align-items:center;
    gap:3%;
    isolation:isolate;
}
.hero-grid {
    position:absolute;
    inset:0;
    z-index:-1;
    opacity:.19;
    background-image:linear-gradient(#2d526a 1px,transparent 1px),linear-gradient(90deg,#2d526a 1px,transparent 1px);
    background-size:54px 54px;
    mask-image:linear-gradient(90deg,#000,transparent 90%);
}
.hero:before {
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    background:#08b9d51a;
    filter:blur(30px);
    right:10%;
    top:15%;
    z-index:-1;
}
.hero-content {
    padding:10px 0 50px;
    z-index:1;
}
.eyebrow,.section-kicker {
    font-size:9px;
    letter-spacing:.19em;
    font-weight:800;
    color:var(--cyan);
}
.live-dot {
    display:inline-block;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--green);
    box-shadow:0 0 12px var(--green);
    margin-right:8px;
}
.hero h1,.section-heading h2,.ai-copy h2,.venue-content h2,.registration-intro h2 {
    font-family:var(--display);
    font-size:clamp(30px,2vw,82px);
    line-height:1.1;
    letter-spacing:-.002em;
    margin:2px 0 20px;
    font-weight:10px;
}
.hero h1 span,.section-heading h2 span,.ai-copy h2 span,.venue-content h2 span,.registration-intro h2 span {
    color:var(--cyan);
}

.hero-lead {
    font-size:18px;
    color:#000000;
}
.hero-copy {
    max-width:465px;
    color:#a8b9c9;
    font-size:13px;
    line-height:1.9;
}
.hero-meta {
    display:flex;
    gap:35px;
    margin:30px 0;
	max-width:465px;

}
.hero-meta>div {
    display:grid;
    gap:6px;
}
.meta-label {
    font-size:18px;
    color:#000000;
    letter-spacing:.15em;
    font-weight:800;
}
.hero-meta strong {
    font-size:18px;
	color:#000000;
    letter-spacing:.04em;
}
.hero-actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
	max-width:465px;
}
.countdown-wrap {
    margin-top:35px;
    max-width:740px;
    border-top:1px solid #ffffff2a;
    padding-top:15px;
}
.countdown-heading {
    font-size:18px;
    letter-spacing:.12em;
    color:#000000;
    display:flex;
    justify-content:space-between;
    gap:10px;
}
.countdown {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-top:14px;
	align-content: center;
}
.countdown>div {
    display:flex;
    flex-direction:column;
    border-left:2px solid var(--cyan);
    padding-left:12px;
}
.countdown strong {
    font-family:var(--display);
    font-size:40px;
    line-height:1.2;
}
.countdown span {
    font-size:18px;
    letter-spacing:.15em;
    color:#000000;
}
.hero-art {
    position:relative;
    align-self:stretch;
    display:flex;
    align-items:center;
    min-height:470px;
    padding:2px 0 40px
}
.hero-art img {
    width:100%;
    height:440px;
    object-fit:cover;
    border:1px solid #6bd8e850;
    position:relative;
    z-index:1;
    box-shadow:18px 18px 0 #16c5d31c;
    clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,8% 100%,0 92%);
}
.art-glow {
    position:absolute;
    inset:13% -5% 8% 5%;
    border:1px solid #28d7e85e;
    transform:rotate(-4deg);
}
.art-tag {
    position:absolute;
    bottom:60px;
    left:-25px;
    z-index:2;
    background:var(--cyan);
    color:var(--navy);
    font-size:8px;
    letter-spacing:.08em;
    font-weight:800;
    padding:12px 15px;
}
.art-tag span {
    color:#177e51;
    margin-right:7px;
}
.art-stamp {
    position:absolute;
    right:-15px;
    top:75px;
    z-index:2;
    padding:14px 18px;
    background:var(--orange);
    color:var(--navy);
    font-family:var(--display);
    font-size:12px;
    line-height:1.15;
    transform:rotate(5deg);
    font-weight:700;
}
.art-stamp b {
    font-size:24px;
}
.hero-bottom {
    grid-column:1/-1;
    border-top:1px solid #ffffff28;
    padding:16px 0;
    display:flex;
    justify-content:space-between;
    color:#8498ab;
    font-size:8px;
    letter-spacing:.13em;
}
.stats-strip {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    background:var(--cyan);
    padding:26px 8%;
    gap:25px;
}
.stats-strip>div {
    display:flex;
    flex-direction:column;
    border-left:1px solid #062e3735;
    padding-left:20px;
}
.stats-strip strong {
    font-family:var(--display);
    font-size:30px;
    line-height:1.25;
    color:var(--navy);
}
.stats-strip span {
    font-size:8px;
    font-weight:800;
    letter-spacing:.1em;
    color:#23434d;
}
.section {
    padding:100px 8%
}
.section-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:45px;
}
.section-heading h2,.ai-copy h2,.venue-content h2,.registration-intro h2 {
    font-size:clamp(38px,5vw,62px);
    margin:18px 0 0;
}
.section-heading>p {
    max-width:410px;
    color:var(--muted);
    font-size:25px;
    margin:0 0 5px;
}
.category-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.category-grid2 {
	margin-top: 20px;
    display:grid;
    grid-template-columns:repeat(1,minmax(0,1fr));
    gap:28px;
}
.category-grid3 {
	margin-top: 20px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:28px;
}
.category-card {
    padding:27px 30px 25px;
    background:#fff;
    border:1px solid var(--line);
    position:relative;
    overflow:hidden;
    transition:.25s;
}
.category-card:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 35px #132b3d12;
    border-color:#a4cbd4;
}
.category-card:after {
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-95px;
    top:80px;
    border-radius:50%;
    background:var(--card-color);
    opacity:.09;
}
.category-card2 {
	grid-template-columns:auto;
    padding:27px 30px 25px;
    background:#fff;
    border:1px solid var(--line);
    position:relative;
    overflow:hidden;
    transition:.25s;
	width:1200px;
	margin: 0 auto;
    
}
.category-card2:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 35px #132b3d12;
    border-color:#a4cbd4;
}
.category-card2:after {
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-95px;
    top:80px;
    border-radius:50%;
    background:var(--card-color);
    opacity:.09;
}

.category-card3 {
	grid-template-columns:auto;
    padding:27px 30px 25px;
    background:#fff;
    border:1px solid var(--line);
    position:relative;
    overflow:hidden;
    transition:.25s;
	width:380px;
	margin: 0 auto;
    
}
.category-card3:hover {
    transform:translateY(-4px);
    box-shadow:0 18px 35px #132b3d12;
    border-color:#a4cbd4;
}
.category-card3:after {
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-95px;
    top:80px;
    border-radius:50%;
    background:var(--card-color);
    opacity:.09;
}

.robot {
    --card-color:#00b8d0;
}
.code {
    --card-color:#8268ed;
}
.games {
    --card-color:#ff8a42;
}
.science {
    --card-color:#52a94d;
}
.card-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.category-number,.card-tag {
    font-size:20px;
    letter-spacing:.14em;
    font-weight:800;
    color:#77899b;
}
.category-icon {
    width:43px;
    height:43px;
    border:1px solid var(--card-color);
    color:var(--card-color);
    display:grid;
    place-items:center;
    font-size:23px;
}
.card-tag {
    margin:20px 0 8px;
    color:var(--card-color);
}
.category-card h3 {
    font-family:var(--display);
    font-size:40px;
    line-height:1.1;
    letter-spacing:-.05em;
    margin:0 0 5px;
}
.category-card h4 {
    font-size:11px;
    margin:0 0 12px;
    color:#53677a;
}
.category-card>p:not(.card-tag) {
    font-size:20px;
    color:#718093;
    max-width:460px;
    min-height:42px;
}
.category-card ul {
    padding:13px 0 16px;
    list-style:none;
    border-top:1px solid #edf1f4;
    margin:16px 0 13px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px 12px;
}
.category-card li {
    font-size:18px;
    color:#405367;
}
.category-card li:before {
    content:"↗";
    color:var(--card-color);
    font-weight:800;
    margin-right:7px;
}
.category-card>a {
    display:flex;
    justify-content:space-between;
    border-top:1px solid #e6edf1;
    padding-top:14px;
    font-size:18px;
    font-weight:800
}
.category-card>a span {
    color:var(--card-color)
}
.ai-section {
    padding:100px 8%;
    display:grid;
    grid-template-columns:.9fr 1fr;
    gap:9%;
    align-items:center;
    background:var(--navy);
    position:relative;
    overflow:hidden
}
.ai-section:after {
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    right:-150px;
    bottom:-200px;
    border:1px solid #28d7e82a;
    border-radius:50%;
    box-shadow:0 0 0 45px #28d7e808,0 0 0 90px #28d7e808;
    pointer-events:none
}
.ai-copy h2 {
    font-size:clamp(42px,5vw,65px);
    margin:20px 0
}
.ai-copy>p {
    color:#a4b6c8;
    font-size:12px;
    line-height:2
}
.ai-note {
    display:flex;
    gap:13px;
    align-items:flex-start;
    margin:28px 0
}
.ai-note>span {
    color:var(--cyan);
    font-size:25px
}
.ai-note strong,.ai-note small {
    display:block
}
.ai-note strong {
    font-size:11px
}
.ai-note small {
    font-size:10px;
    color:#91a4b8;
    line-height:1.7;
    margin-top:4px
}
.sample-buttons {
    display:flex;
    flex-wrap:wrap;
    gap:8px
}
.sample-buttons button {
    background:transparent;
    border:1px solid #536b80;
    color:#c8d7e5;
    padding:8px 10px;
    font-size:9px;
    cursor:pointer
}
.sample-buttons button:hover {
    border-color:var(--cyan);
    color:var(--cyan)
}
.diagnostic-panel {
    background:#fff;
    color:var(--ink);
    padding:27px;
    position:relative;
    z-index:1
}
.panel-header {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    border-bottom:1px solid var(--line);
    padding-bottom:16px;
    margin-bottom:18px;
    font-size:9px;
    font-weight:800;
    letter-spacing:.1em
}
.status-pill {
    font-size:8px;
    color:#8c5a1b;
    background:#fff1d9;
    padding:5px 8px
}
.upload-zone {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    min-height:145px;
    border:1px dashed #9eb1c0;
    background:#f6fafc;
    text-align:center;
    padding:20px;
    cursor:pointer
}
.upload-zone:hover {
    border-color:var(--cyan-dark);
    background:#effcff
}
.upload-icon {
    font-size:26px;
    color:var(--cyan-dark);
    line-height:1.3
}
.upload-zone strong {
    font-size:11px;
    margin:5px 0
}
.upload-zone small {
    font-size:9px;
    color:var(--muted)
}
.upload-zone input {
    position:absolute;
    width:1px;
    height:1px;
    opacity:0
}
.diagnostic-panel>label:not(.upload-zone),.field label {
    display:block;
    font-size:10px;
    font-weight:800;
    margin:17px 0 7px
}
.diagnostic-panel select,.diagnostic-panel textarea,.field input,.field select,.field textarea {
    width:100%;
    padding:12px;
    border:1px solid #d7e0e7;
    background:#fbfdfe;
    outline:none;
    color:var(--ink);
    font-size:11px;
    border-radius:0
}
.diagnostic-panel select:focus,.diagnostic-panel textarea:focus,.field input:focus,.field select:focus,.field textarea:focus {
    border-color:var(--cyan-dark);
    box-shadow:0 0 0 3px #28d7e820
}
.diagnostic-panel textarea,.field textarea {
    resize:vertical
}
.image-preview {
    display:none;
    max-height:180px;
    width:100%;
    object-fit:contain;
    margin-top:12px;
    background:#edf2f5
}
.form-message {
    font-size:11px;
    line-height:1.6;
    color:#087b61;
    margin:10px 0 0
}
.schedule-section {
    background:#fff
}
.timeline {
    max-width:900px;
    margin:20px auto 0
}
.timeline article {
    display:grid;
    grid-template-columns:180px 20px 1fr;
    gap:18px;
    position:relative;
    padding:0 0 32px
}
.timeline article:before {
    content:"";
    position:absolute;
    top:10px;
    bottom:-3px;
    left:188px;
    width:1px;
    background:#d6e3e9
}
.timeline article:last-child:before {
    display:none
}
.timeline time {
    font-size:10px;
    font-weight:800;
    color:#3b5268;
    padding-top:1px
}
.timeline-dot {
    z-index:1;
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--cyan);
    border:3px solid #d7f9fc;
    margin-top:4px
}
.timeline-type {
    font-size:8px;
    color:var(--cyan-dark);
    letter-spacing:.15em;
    font-weight:800
}
.timeline h3 {
    font-size:15px;
    margin:5px 0
}
.timeline p {
    font-size:11px;
    color:var(--muted);
    margin:0;
    max-width:620px
}
.notice {
    max-width:900px;
    margin:10px auto 0;
    padding:15px 18px;
    background:#eafaff;
    border-left:3px solid var(--cyan-dark);
    font-size:10px;
    color:#315c6b
}
.venue-section {
    display:grid;
    grid-template-columns:1fr 1fr;
    background:var(--navy);
    color:#fff
}
.venue-image {
    min-height:530px;
    position:relative
}
.venue-image img {
    width:100%;
    height:100%;
    position:absolute;
    inset:0;
    object-fit:cover;
    opacity:.84
}
.venue-content {
    padding:75px 12% 70px 10%;
    align-self:center
}
.venue-content h2 {
    font-size:clamp(38px,4.5vw,58px);
    margin:20px 0
}
.venue-content>p {
    font-size:17px;
    color:#000047;
    line-height:1.9
}
.venue-address {
    display:flex;
    gap:15px;
    margin:25px 0;
    padding:18px 0;
    border-top:1px solid #ffffff28;
    border-bottom:1px solid #ffffff28
}
.venue-address>span {
    font-size:23px;
    color:var(--cyan)
}
.venue-address small,.venue-address strong {
    display:block
}
.venue-address small {
    font-size:28px;
    color:#000000;
    letter-spacing:.15em;
    font-weight:800
}
.venue-address strong {
    font-size:28px;
    margin:4px 0
}
.venue-address p {
    font-size:20px;
    color:#000000;
    margin:0
}
.venue-facts {
    display:flex;
    gap:40px;
    margin:25px 0
}
.venue-facts>div {
    display:flex;
    flex-direction:column
}
.venue-facts strong {
    font-family:var(--display);
    font-size:22px;
    color:var(--cyan)
}
.venue-facts span {
    font-size:9px;
    color:#a9bac9
}
.venue-small {
    font-size:9px!important;
    margin-top:18px
}
.registration-section {
    padding:100px 8%;
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:9%;
    background:#eaf1f5
}
.registration-intro h2 {
    font-size:clamp(38px,4.5vw,58px)
}
.registration-intro>p {
    font-size:12px;
    color:var(--muted);
    max-width:390px
}
.registration-aside {
    display:grid;
    grid-template-columns:35px 1fr;
    align-items:center;
    gap:7px 12px;
    margin-top:35px
}
.registration-aside span {
    font-family:var(--display);
    font-size:18px;
    color:var(--cyan-dark)
}
.registration-aside p {
    font-size:10px;
    color:#4f6578;
    margin:0;
    padding:8px 0;
    border-bottom:1px solid #d4e0e8
}
.registration-form {
    padding:28px;
    background:#fff;
    border:1px solid #d9e3e9
}
.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 17px
}
.field-full {
    grid-column:1/-1
}
.field label {
    margin-top:11px
}
.field input,.field select,.field textarea {
    padding:12px
}
.form-hint {
    font-size:9px;
    color:#7d8d9b;
    margin:15px 0 0
}
.partners-section {
    padding:95px 8%;
    background:#fff
}
.partner-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
    border-left:1px solid var(--line)
}
.partner-grid article {
    padding:25px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    min-height:150px
}
.partner-label {
    font-size:18px;
    letter-spacing:.15em;
    color:var(--cyan-dark);
    font-weight:800
}
.partner-grid h3 {
    font-family:var(--display);
    font-size:19px;
    margin:12px 0 5px
}
.partner-grid p {
    font-size:15px;
    color:var(--muted);
    margin:0
}
.faq-section {
    padding:100px 8%;
    background:#eaf1f5
}
.faq-list {
    max-width:900px;
    margin:0 auto
}
.faq-list details {
    border-bottom:1px solid #cad8e1;
    padding:0 4px
}
.faq-list summary {
    list-style:none;
    cursor:pointer;
    padding:20px 30px 20px 0;
    font-size:12px;
    font-weight:800;
    position:relative
}
.faq-list summary::-webkit-details-marker {
    display:none
}
.faq-list summary:after {
    content:"+";
    position:absolute;
    right:3px;
    top:14px;
    font-size:22px;
    color:var(--cyan-dark);
    font-weight:500
}
.faq-list details[open] summary:after {
    content:"−"
}
.faq-list details p {
    font-size:11px;
    color:#63788b;
    max-width:750px;
    margin:0;
    padding:0 30px 20px 0
}
.faq-contact {
    max-width:900px;
    margin:30px auto 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:var(--navy);
    color:#fff;
    padding:24px 28px
}
.faq-contact strong {
    font-size:13px
}
.faq-contact p {
    font-size:10px;
    color:#9eb1c3;
    margin:4px 0 0
}
.site-footer {
    background:#06101d;
    color:#fff;
    padding:55px 8% 0
}
.footer-main {
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1.2fr;
    gap:40px;
    padding-bottom:45px
}
.footer-brand p {
    font-size:10px;
    color:#91a4b8;
    max-width:270px;
    line-height:1.9
}
.footer-brand em {
    font-size:10px;
    color:var(--cyan)
}
.footer-main h4 {
    font-size:9px;
    letter-spacing:.15em;
    color:var(--cyan);
    margin:5px 0 18px
}
.footer-main>div:not(:first-child) {
    display:flex;
    flex-direction:column;
    align-items:flex-start
}
.footer-main a:not(.brand) {
    font-size:10px;
    color:#a9bac9;
    margin:0 0 10px
}
.footer-main a:hover {
    color:var(--cyan)
}
.footer-main p {
    font-size:10px;
    color:#a9bac9;
    margin:0 0 10px
}
.footer-bottom {
    border-top:1px solid #ffffff22;
    padding:17px 0;
    display:flex;
    justify-content:space-between;
    gap:20px;
    font-size:12px;
    color:#7f93a7
}
.footer-bottom b {
    color:var(--cyan)
}
@media(max-width:1000px) {
    .site-header {
        padding:0 4%;
    }
    .nav {
        gap:13px;
        min-height: auto;
    }
    .nav>a {
        font-size:10px;
    }
    .hero {
        padding-left:5%;
        padding-right:5%;
        grid-template-columns:1fr 1fr;
    }
    .hero h1 {
        font-size:clamp(48px,4vw,68px);
        
    }
    .hero-art img {
        height:380px;
    }
    .section,.ai-section,.registration-section,.partners-section,.faq-section {
        padding:75px 5%;
    }
    .venue-content {
        padding:55px 8%;
    }
    .footer-main {
        gap:25px;
    }
}
@media(max-width:760px) {
    .site-header {
        height:100%;
    }
    .menu-toggle {
        display:block;
    }
    .nav {
        display:none;
        position:absolute;
        left:0;
        right:0;
        top:70px;
        background:var(--navy);
        padding:20px 6% 25px;
        align-items:stretch;
        flex-direction:column;
        gap:18px;
        border-top:1px solid #ffffff20
    }
    .nav.open {
        display:flex;
    }
    .nav>a {
        font-size:12px;
    }
    .nav .button {
        align-self:flex-start;
    }
    .hero {
        grid-template-columns:1fr;
        padding:40px 5% 0;
        gap:20px;
        min-height: auto;
    }
    .hero-content {
        padding-bottom:20px;
    }
    .hero h1 {
        font-size:clamp(32px,8vw,46px);
    }
    .hero-art {
        min-height:0;
        padding:15px 8px 50px;
    }
    .hero-art img {
        height:250px;
    }
    .art-tag {
        left:-8px;
        bottom:64px;
    }
    .art-stamp {
        right:-2px;
        top:40px;
    }
    .hero-bottom {
        gap:12px;
        font-size:7px;
    }
    .hero-bottom span:nth-child(2) {
        display:none;
    }
    .stats-strip {
        grid-template-columns:1fr 1fr;
        padding:24px 6%;
        gap:24px 15px;
    }
    .stats-strip strong {
        font-size:26px;
    }
    .section-heading {
        display:block;
    }
    .section-heading>p {
        margin-top:20px;
    }
    .category-grid {
        grid-template-columns:1fr;
    }
    .category-card {
        padding:23px;
    }
    .category-card>p:not(.card-tag) {
        min-height:0;
    }
    .ai-section {
        grid-template-columns:1fr;
        gap:35px;
    }
    .ai-copy h2 {
        font-size:52px;
    }
    .timeline article {
        grid-template-columns:1fr 15px;
        gap:12px;
        padding-bottom:27px;
    }
    .timeline time {
        grid-column:1;
        grid-row:1;
        color:var(--cyan-dark);
    }
    .timeline-dot {
        grid-column:2;
        grid-row:1/3;
    }
    .timeline article:before {
        left:auto;
        right:5px;
    }
    .timeline article>div {
        grid-column:1;
        grid-row:2;
    }
    .venue-section {
        grid-template-columns:1fr;
    }
    .venue-image {
        min-height:280px;
    }
    .venue-content {
        padding:55px 6%;
    }
    .registration-section {
        grid-template-columns:1fr;
        gap:30px;
    }
    .partner-grid {
        grid-template-columns:1fr 1fr;
    }
    .faq-contact {
        align-items:flex-start;
        flex-direction:column;
    }
    .footer-main {
        grid-template-columns:1fr 1fr;
        gap:30px;
    }
    .footer-brand {
        grid-column:1/-1;
    }
    .footer-bottom {
        flex-direction:column;
    }
    .countdown-heading {
        flex-direction:column;
    }
    .countdown strong {
        font-size:26px;
    }
}

@media(max-width: 420px) {
    .brand {
        font-size: 14px;
    }
    .brand-mark {
        width: 34px;
        height: 34px;
    }
		
    .hero-meta {
        gap: 15px;
        flex-wrap: wrap; /* Si la sede y la fecha no caben en línea, bajan sin romper nada */
    }
    .meta-label {
        font-size: 11px;
    }
    .hero-meta strong {
        font-size: 14px;
    }
    .hero-actions .button {
        width: 100%; /* Botón de ancho completo ideal para el pulgar */
    }
	
	.hero h1 {
        font-size: 26px !important;
    }
	.hero h2 {
        font-size: 13px;
    }
	
    .countdown strong {
        font-size: 26px;
    }
    .countdown span {
        font-size: 10px;
    }
}