.tour-page { overflow:clip; }
.tour-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:clamp(2rem,5vw,6rem); padding-block:clamp(4rem,7vw,8rem); }
.tour-hero h1 { font-weight:400; font-size:clamp(3.2rem,5vw,5rem); line-height:.99; letter-spacing:-.065em; margin:1.8rem 0 2rem; max-width:850px; }
.tour-page .icon--se { transform:rotate(90deg); }
.tour-hero__copy > p:not(.eyebrow) { color:var(--muted); font-size:clamp(1rem,1.15vw,1.2rem); line-height:1.6; max-width:620px; margin:0 0 1rem; }
.tour-hero__copy > .button { margin-top:1.6rem; }
.tour-hero__visual { min-width:0; }
.tour-hero__caption { display:flex; justify-content:space-between; gap:1rem; font-family:var(--mono); font-size:9px; letter-spacing:.08em; color:var(--muted); }
.tour-status { display:flex; align-items:center; gap:.5rem; }
.tour-status::before { content:""; width:4px; height:4px; border-radius:50%; background:#14a914; }
.tour-art { position:relative; aspect-ratio:900/760; isolation:isolate; margin:1rem -2rem; }
.tour-art::before { content:""; position:absolute; inset:15%; background:radial-gradient(ellipse,rgba(0,255,0,.07),transparent 65%); z-index:-1; }
.tour-art canvas,.tour-art img { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.tour-art canvas { z-index:0; }
.tour-art img { z-index:1; object-fit:contain; }
.tour-demo { padding-bottom:clamp(4rem,7vw,8rem); scroll-margin-top:calc(var(--header-h) + 24px); }
.tour-viewer { display:block; width:100%; height:clamp(320px,35vw,550px); border:1px solid var(--line); background:var(--soft); }
.tour-viewer--main { height:clamp(380px,48vw,700px); }
.tour-embed { position:relative; min-width:0; }
.tour-preview { position:absolute; inset:0; display:grid; place-items:center; background:#101511; overflow:hidden; }
.tour-preview img { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; }
.tour-preview::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.12); pointer-events:none; }
.tour-preview .button { position:relative; z-index:1; box-shadow:0 0 32px rgba(0,0,0,.15); }
.tour-viewer-link { margin-top:1.25rem; }
.tour-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(2rem,8vw,10rem); padding-block:clamp(3rem,6vw,6rem); background:var(--soft); align-items:end; }
.tour-page h2 { font-size:clamp(2.3rem,3.5vw,4.5rem); letter-spacing:-.06em; line-height:1.08; font-weight:400; margin:0; }
.tour-intro p,.tour-category__copy > p:not(.section-index) { color:var(--muted); font-size:1.05rem; line-height:1.6; margin:1.5rem 0; }
.tour-intro p { margin:0; }
.tour-categories { padding-top:clamp(3rem,6vw,6rem); padding-bottom:clamp(3rem,6vw,6rem); }
.tour-category { display:grid; grid-template-columns:.68fr 1.32fr; gap:clamp(2rem,6vw,7rem); align-items:center; padding-block:clamp(3rem,5vw,6rem); }
.tour-category + .tour-category { border-top:1px solid var(--line); }
.tour-category__copy { min-width:0; }
.tour-category .section-index { margin:0 0 2rem; }
.tour-category__copy .text-link { margin-top:.7rem; }
.tour-benefits { display:grid; grid-template-columns:.68fr 1.32fr; gap:clamp(2rem,6vw,7rem); padding-block:clamp(4rem,7vw,8rem); background:var(--soft); }
.tour-benefits__grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem 3rem; }
.tour-benefits article:first-child { grid-column:1/-1; max-width:660px; }
.tour-benefits h3 { position:relative; font-weight:400; font-size:clamp(1.35rem,1.7vw,2rem); letter-spacing:-.04em; line-height:1.2; margin:0 0 1rem; padding-left:1rem; }
.tour-benefits h3::before { content:""; position:absolute; width:5px; height:5px; background:#14a914; border-radius:50%; left:0; top:.5em; }
.tour-benefits article p { color:var(--muted); line-height:1.6; margin:0; }
.tour-outro { display:grid; grid-template-columns:1fr auto; gap:4rem; align-items:end; background:#101511; color:#edf3eb; padding-block:clamp(4rem,7vw,8rem); }
.tour-outro h2 { max-width:1000px; }
.tour-outro p { color:#b6c1b7; line-height:1.6; max-width:850px; margin:2rem 0 0; }
html[data-theme="dark"] .tour-outro .button { background:#fff; color:#101511; }
.tour-brochure { background:var(--soft); display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,9vw,10rem); padding-block:clamp(4rem,7vw,8rem); }
.tour-brochure__copy h2 { max-width:600px; margin:2rem 0; }
.tour-brochure__form { display:grid; grid-template-columns:1fr 1fr; gap:1.75rem 1.5rem; min-width:0; position:relative; }
.tour-brochure__form label { display:grid; gap:.75rem; font-size:.85rem; min-width:0; }
.tour-brochure__form input { width:100%; min-width:0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--ink); padding:.8rem 0; font:inherit; font-size:1rem; }
.tour-brochure__form input::placeholder { color:var(--muted); opacity:1; }
.tour-brochure__form input:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.tour-brochure__form .button { grid-column:1/-1; justify-self:start; margin-top:.5rem; }
.tour-form-note,.tour-download { grid-column:1/-1; margin:0; font-size:.85rem; line-height:1.5; color:var(--muted); }
.tour-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.tour-page [hidden] { display:none!important; }
html[data-theme="dark"] .tour-art img { filter:none; }
html[data-theme="dark"] .tour-brochure .button--dark,html[data-theme="dark"] .tour-hero .button--dark { background:#fff; color:#101511; }
@media(max-width:900px) {
  .tour-hero { grid-template-columns:1fr 1fr; gap:2rem; }
  .tour-hero h1 { font-size:clamp(3rem,6.6vw,4.8rem); }
  .tour-category { grid-template-columns:.8fr 1.2fr; gap:2rem; }
}
@media(max-width:720px) {
  .tour-hero { grid-template-columns:1fr; padding-top:3rem; padding-bottom:3rem; gap:3rem; }
  .tour-hero h1 { font-size:clamp(2.9rem,12vw,4.5rem); max-width:600px; }
  .tour-hero__copy > .button { width:100%; }
  .tour-art { margin:.5rem 0; }
  .tour-hero__caption { font-size:8px; }
  .tour-demo { padding-bottom:3rem; }
  .tour-viewer,.tour-viewer--main { height:420px; }
  .tour-intro,.tour-category,.tour-brochure,.tour-benefits,.tour-outro { grid-template-columns:1fr; gap:2rem; }
  .tour-benefits__grid { grid-template-columns:1fr; gap:2rem; }
  .tour-outro .button { width:100%; }
  .tour-page h2 { font-size:clamp(2.2rem,9vw,3.2rem); }
  .tour-intro { padding-block:3.5rem; }
  .tour-category { padding-block:3rem; }
  .tour-category .section-index { margin-bottom:1.2rem; }
  .tour-category__copy > p:not(.section-index) { margin-bottom:1rem; }
  .tour-brochure__form { grid-template-columns:1fr; }
  .tour-brochure__form .button { width:100%; }
}

/* Use the existing Sistemas / Sitios web icon system. */
.tour-benefits h3 { padding-left:0; }
.tour-benefits h3::before { content:none; }
.tour-benefits article { display:grid; grid-template-columns:96px minmax(0,1fr); column-gap:1.25rem; align-content:start; }
.tour-benefits article > h3,.tour-benefits article > p { grid-column:2; }
.tour-benefits .system-benefit-art { grid-column:1; grid-row:1 / 3; width:96px; height:77px; margin:0; }
@media(max-width:1400px) { .tour-benefits__grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:720px) {
  .tour-benefits article { grid-template-columns:80px minmax(0,1fr); column-gap:1rem; }
  .tour-benefits .system-benefit-art { width:80px; height:64px; }
}
@media(max-width:380px) {
  .tour-benefits article { grid-template-columns:60px minmax(0,1fr); column-gap:.75rem; }
  .tour-benefits .system-benefit-art { width:60px; height:48px; }
}
