.circuito-page { background:#fff; color:#171719; letter-spacing:0; }
.circuito-page main { overflow:clip; }
.circuito-page .guide-hero { position:relative; display:flex; flex-direction:column; justify-content:space-between; min-height:720px; height:88svh; max-height:1000px; padding:32px 6% 76px; background:#101914; isolation:isolate; }
.circuito-page .guide-hero-photo { position:absolute; inset:0; width:100%; height:100%; max-width:none; margin:0; border-radius:0; z-index:-2; transform:none; }
.circuito-page .guide-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.circuito-page .guide-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.36),transparent 35%,rgba(0,0,0,.72)); }
.circuito-header { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; }
.circuito-page .guide-brand { position:relative; color:white; align-self:flex-start; }
.circuito-page .guide-brand img { display:block; width:54px; height:64px; object-fit:contain; }
.circuito-home { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 4px; color:white; text-decoration:none; font-size:13px; font-weight:500; }
.circuito-home span { font-size:20px; }
.circuito-home:hover { text-decoration:underline; text-underline-offset:5px; }
.circuito-page .guide-hero-copy { width:100%; max-width:850px; margin:100px 0 0; text-align:left; color:white; }
.circuito-page .guide-hero-copy > span { color:#fff; font-size:12px; font-weight:600; }
.circuito-page .guide-hero h1 { font-size:80px; line-height:1.04; font-weight:600; margin:18px 0 24px; letter-spacing:0; }
.circuito-page .guide-hero-copy p { max-width:570px; font-size:18px; line-height:1.6; font-weight:400; color:#f3f3f3; }
.circuito-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:17px 24px; border-radius:6px; background:#db00a6; color:white; text-decoration:none; font-size:14px; font-weight:600; margin-top:26px; transition:background .2s,transform .2s; }
.circuito-button:hover { background:#b9008c; transform:translateY(-2px); }
.circuito-nav { position:sticky; top:0; z-index:20; display:flex; justify-content:center; gap:44px; padding:21px 20px; background:rgba(255,255,255,.94); backdrop-filter:blur(16px); border-bottom:1px solid #e9e9e9; }
.circuito-nav a { font-size:13px; font-weight:500; color:#555; text-decoration:none; }
.circuito-nav a[aria-current] { color:#b9008c; }
.circuito-page .guide-content { display:block; max-width:1200px; padding:88px 48px 72px; margin:auto; }
.circuito-page h2 { font-size:38px; font-weight:600; line-height:1.16; letter-spacing:0; }
.circuito-page p { font-weight:400; line-height:1.75; }
.circuito-page .guide-intro { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding:0; margin-bottom:42px; }
.circuito-page .guide-intro h2 { max-width:480px; margin:16px 0; }
.circuito-page .guide-intro p { color:#616168; font-size:16px; }
.circuito-page .resource-kicker { font-size:11px; font-weight:600; color:#ad0084; }
.circuito-page .route-highlights { margin:0 0 100px; padding:26px 0; border-top:1px solid #e5e5e5; border-bottom:1px solid #e5e5e5; }
.circuito-page .highlight-grid { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; background:none; padding:0; border-radius:0; }
.circuito-page .highlight-grid span { padding:0; background:none; border:none; border-radius:0; font-size:13px; font-weight:500; }
.circuito-page .story-block { position:relative; display:grid; grid-template-columns: .8fr 1.2fr; align-items:center; gap:64px; padding:0; margin:0 0 100px; border-radius:0; background:none; color:#171719; }
.circuito-page .story-block .story-copy { order:0; }
.circuito-page .story-block .story-photo { order:1; }
.circuito-page .story-block:nth-of-type(3) { grid-template-columns:1.2fr .8fr; }
.circuito-page .story-block:nth-of-type(3) .story-copy { order:2; }
.circuito-page .story-block,.circuito-page .story-photo,.circuito-page .guide-hero-photo { box-shadow:none; }
.circuito-page .story-copy { position:relative; padding:0 0 0 28px; border-left:1px solid #d9d9dd; }
.circuito-page .story-copy::before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:#db00a6; left:-4px; top:3px; }
.circuito-page .story-copy h2 { margin:18px 0 22px; }
.circuito-page .story-copy p { color:#616168; font-size:15px; }
.circuito-page .story-photo { width:100%; aspect-ratio:4/3; height:auto; min-height:0; overflow:hidden; border-radius:4px; }
.circuito-page .story-photo img { width:100%; height:100%; object-fit:cover; cursor:zoom-in; transition:transform .7s; }
.circuito-page .story-photo:hover img { transform:scale(1.025); }
.circuito-page .guide-download { display:block; padding:52px 0; border-top:1px solid #ddd; border-bottom:1px solid #ddd; background:none; color:#171719; border-radius:0; }
.circuito-page .guide-download h2 { margin:15px 0; }
.circuito-page .guide-download p { color:#616168; max-width:680px; }
.trip-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin:34px 0 4px; }
.trip-facts span,.trip-facts strong { display:block; }
.trip-facts span { font-size:12px; color:#777; margin-bottom:10px; }
.trip-facts strong { font-size:16px; font-weight:500; }
.circuito-page .guide-faq { margin:76px 0; }
.circuito-page .guide-faq h2 { margin:16px 0 30px; }
.circuito-page .faq-grid { display:block; background:none; padding:0; border-radius:0; }
.faq-grid details { padding:23px 0; border-bottom:1px solid #dedee0; }
.faq-grid summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-size:16px; font-weight:500; }
.faq-grid summary::-webkit-details-marker { display:none; }
.faq-grid summary::after { content:"+"; font-size:25px; font-weight:400; color:#b9008c; }
.faq-grid details[open] summary::after { content:"−"; }
.faq-grid details p { max-width:700px; font-size:15px; color:#616168; margin:16px 0 0; }
.circuito-page .related-links { display:flex; flex-wrap:wrap; gap:12px 30px; }
.circuito-page .related-links a { background:none; padding:12px 0; border:0; color:#171719; font-weight:500; font-size:14px; text-decoration:underline; text-underline-offset:6px; }
.circuito-page .footer { background:#080808; padding:28px 6%; color:#aaa; font-size:12px; }
.circuito-page [id] { scroll-margin-top:90px; }
.circuito-floating { position:fixed; bottom:16px; left:20px; right:20px; z-index:30; display:none; align-items:center; justify-content:space-between; padding:18px 22px; border-radius:6px; background:#db00a6; color:white; font-size:14px; font-weight:600; text-decoration:none; box-shadow:0 5px 25px #0002; }
.photo-dialog { border:0; padding:0; background:transparent; max-width:94vw; max-height:94svh; color:white; }
.photo-dialog::backdrop { background:rgba(0,0,0,.94); }
.photo-dialog img { display:block; max-width:90vw; max-height:80svh; width:auto; height:auto; object-fit:contain; margin:auto; }
.photo-dialog p { text-align:center; font-size:14px; }
.photo-close { position:fixed; top:16px; right:20px; width:44px; height:44px; border:1px solid #ffffff60; border-radius:50%; background:#161616; color:white; font-size:28px; cursor:pointer; }
.circuito-page .reveal { opacity:1; transform:none; }
.circuito-page.motion-ready .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s,transform .9s cubic-bezier(.2,.7,.2,1); }
.circuito-page.motion-ready .reveal.is-visible { opacity:1; transform:none; }
.circuito-page .story-copy { transition-delay:.1s; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #db00a6; outline-offset:5px; }
@media(max-width:700px) {
 .circuito-page .guide-hero { min-height:580px; height:82svh; max-height:780px; padding:24px 24px 46px; }
 .circuito-page .guide-hero h1 { font-size:48px; margin-bottom:20px; }
 .circuito-page .guide-hero-copy p { font-size:15px; }
 .circuito-page .guide-hero-photo img { object-position:48% center; }
 .circuito-page .guide-brand span { font-size:13px; }
 .circuito-nav { gap:30px; padding:18px 16px; }
 .circuito-page .guide-content { padding:52px 24px 56px; }
 .circuito-page h2 { font-size:29px; }
 .circuito-page .guide-intro { grid-template-columns:1fr; gap:12px; }
 .circuito-page .route-highlights { margin-bottom:58px; }
 .circuito-page .story-block,.circuito-page .story-block:nth-of-type(3) { grid-template-columns:1fr; gap:28px; margin-bottom:62px; }
 .circuito-page .story-block .story-photo { order:0; aspect-ratio:4/3; }
 .circuito-page .story-block .story-copy,.circuito-page .story-block:nth-of-type(3) .story-copy { order:1; padding-left:20px; }
 .circuito-page .story-copy h2 { margin:12px 0 16px; }
 .trip-facts { grid-template-columns:1fr; gap:22px; }
 .trip-facts div { display:flex; justify-content:space-between; gap:16px; }
 .trip-facts strong { font-size:14px; text-align:right; }
 .circuito-page .guide-download { padding:38px 0; }
 .circuito-page .guide-faq { margin:52px 0; }
 .circuito-floating:not([hidden]) { display:flex; }
}
@media(prefers-reduced-motion:reduce) { .circuito-page.motion-ready .reveal { opacity:1; transform:none; transition:none; } .circuito-page * { scroll-behavior:auto; } .circuito-page .story-photo img { transition:none; } }
