/* Cabo guide extension: reuse the villa's navy, turquoise and editorial typography. */
.cabo-guide-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:3rem 0 4rem}
.cabo-guide-cards>a{display:flex;flex-direction:column;padding:1.75rem;background:var(--ink);color:white;text-decoration:none;border-top:3px solid var(--aqua);transition:background .2s}
.cabo-guide-cards>a:hover{background:var(--ink-soft)}
.cabo-guide-cards span{color:var(--aqua);font-size:.875rem}
.cabo-guide-cards h3{font-family:var(--serif);font-size:2.15rem;line-height:1.05;margin:1.5rem 0 1rem}
.cabo-guide-cards p{font-size:1rem;color:#d4dfe3}
.cabo-guide-cards strong{font-size:.875rem;color:var(--aqua);margin-top:auto;padding-top:1rem}
.guide-page .site-header{position:relative;min-height:6rem;height:auto;background:var(--ink);padding-top:1.25rem;padding-bottom:1.25rem}
.guide-page .site-header nav a{font-size:.875rem;letter-spacing:.025em;text-transform:none}
.guide-page .brand-copy small{font-size:.75rem;letter-spacing:.035em}
.guide-page .button-small{font-size:.875rem;letter-spacing:.01em;text-transform:none}
.guide-mast{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:stretch;padding-top:3rem;padding-bottom:3rem}
.guide-mast-copy{padding-bottom:1rem}
.return-home{display:inline-flex;align-items:center;padding:.7rem 1rem;border:1px solid var(--line);background:white;box-shadow:0 4px 12px #07182308;text-decoration:none;font-size:.875rem;font-weight:700}
.return-home:hover{border-color:var(--blue);color:var(--blue)}
.breadcrumb{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0 2.5rem;font-size:.875rem;color:#52606a}
.breadcrumb a{text-underline-offset:.25rem}
.guide-page .section-kicker{font-size:.875rem;letter-spacing:.1em;margin-bottom:1.25rem;color:#087797}
.guide-page h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.97;margin:0 0 1.75rem;overflow-wrap:normal}
.guide-deck{font-size:1.125rem;color:#42515a;max-width:40rem}
.guide-mast figure{margin:0;min-width:0;position:relative;min-height:21rem}
.guide-mast img{width:100%;height:100%;max-height:36rem;object-fit:cover}
.guide-mast figcaption{position:absolute;bottom:1rem;left:1rem;right:1rem;font-size:.8rem;color:white;background:#071823cf;padding:.6rem .8rem}
.guide-tabs{display:flex;flex-wrap:wrap;gap:.5rem 1.7rem;border-bottom:1px solid var(--line)}
.guide-tabs a{padding:.85rem 0;font-size:1rem;font-weight:700;text-decoration:none;border-bottom:3px solid transparent}
.guide-tabs a[aria-current=page]{border-color:var(--blue);color:#087797}
.guide-tabs a:hover{color:var(--blue)}
.guide-body{padding-top:2rem;padding-bottom:5rem}
.checked-note{color:#52606a;font-size:.875rem;max-width:65rem}
.guide-jumps{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 3rem}
.guide-jumps a{font-size:.875rem;padding:.45rem .8rem;border:1px solid var(--line);text-decoration:none}
.guide-jumps a:hover{background:var(--ink);color:white}
.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.venue-card{padding:clamp(1.4rem,3vw,2.5rem);background:white;border:1px solid var(--line);display:flex;flex-direction:column;scroll-margin-top:1.5rem;min-width:0}
.venue-card:first-child{border-top:3px solid var(--blue)}
.venue-top{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;font-size:.875rem;color:#52606a}
.venue-top>span{color:#087797;font-weight:700}
.venue-top p{margin:0;text-align:right}
.guide-page h2{font-size:clamp(2.2rem,3.7vw,3rem);line-height:1.03;letter-spacing:-.02em}
.venue-card h2{margin:1.5rem 0 .55rem}
.venue-card p{font-size:1rem}
.venue-card .venue-area{font-size:.875rem;color:#087797;margin-bottom:1.3rem}
.venue-card>p:not(.venue-area){color:#42515a}
.guide-page dl{margin:0 0 1.5rem}
.guide-page dl>div{padding:.85rem 0;border-top:1px solid var(--line)}
.guide-page dt{font-size:.875rem;font-weight:700;margin-bottom:.25rem}
.guide-page dd{font-size:1rem;margin:0;color:#42515a}
.venue-links{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;margin-top:auto;padding-top:1rem}
.venue-links a{font-size:.875rem;line-height:1.6;text-underline-offset:.3rem;overflow-wrap:anywhere;font-weight:700}
.venue-card .venue-source,.venue-source{font-size:.8rem;margin:1rem 0 0;color:#52606a}
.venue-source a{text-underline-offset:.2rem}
.guide-callout,.guide-return{margin:3rem 0;padding:clamp(1.7rem,4vw,3.5rem);background:var(--ink-soft);color:white}
.guide-callout a,.guide-return a{display:inline-block;color:var(--aqua);font-weight:700;margin-right:1.5rem;margin-top:.65rem;text-underline-offset:.3rem}
.guide-callout p,.guide-return p{max-width:48rem}
.guide-faq{margin-top:4rem;max-width:60rem}
.guide-page .faq-list summary{font-size:1.5rem}
.guide-page .faq-list p{font-size:1rem}
.guide-page .site-footer .copyright{font-size:.8rem}
.guide-page .site-footer>p,.guide-page .footer-links a{font-size:.875rem}
.art-feature{display:grid;grid-template-columns:.5fr 1.5fr;gap:3rem;padding:3rem;background:white;border:1px solid var(--line);scroll-margin-top:1rem}
.day-stamp{border-top:4px solid var(--blue);padding-top:1.5rem;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink);align-self:start}
.day-stamp span{font-size:.875rem;font-weight:700}
.day-stamp strong{font-family:var(--serif);font-size:clamp(4rem,7vw,7rem);line-height:1.05}
.art-thursday{margin:3rem 0}
.art-thursday .day-stamp{border-color:var(--sun)}
.evening-plan{padding:3rem 0;max-width:65rem}
.evening-plan ol{padding-left:1.3rem}
.evening-plan li{padding:.5rem 0;font-size:1rem}
.table-wrap{overflow-x:auto}
.table-wrap table{width:100%;border-collapse:collapse;background:white;text-align:left;line-height:1.5}
.table-wrap caption{text-align:left;font-size:1.25rem;font-weight:700;margin-bottom:1rem}
.table-wrap th,.table-wrap td{padding:1rem;border:1px solid var(--line);font-size:1rem;min-width:8rem}
.table-wrap thead{background:var(--ink);color:white}
:where(.guide-page,.cabo-guide-cards) a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:1100px){.cabo-guide-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-mast{gap:2rem}.site-header .menu-toggle{order:3;margin-left:auto;width:2.8rem;height:2.8rem;display:flex;flex-direction:column;justify-content:center;gap:.3rem;border:1px solid #ffffff66;background:transparent;color:white}.site-header .menu-toggle span:not(.sr-only){width:1.2rem;height:1px;margin:0 auto;background:currentColor}.site-header nav.open{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:.8rem var(--pad) 1.4rem;background:var(--ink);border-top:1px solid #ffffff26}.site-header nav.open a{padding:.85rem 0}.site-header .button-small{margin-left:auto}.guide-page .site-header{z-index:25}}
@media(max-width:760px){.guide-mast{grid-template-columns:1fr;padding-top:2rem}.guide-mast figure{min-height:0;height:18rem}.guide-mast img{height:100%}.guide-page h1{font-size:clamp(3rem,11vw,4.5rem)}.venue-grid{grid-template-columns:1fr}.art-feature{grid-template-columns:1fr;padding:1.5rem;gap:2rem}.day-stamp{width:100%}.day-stamp strong{font-size:4rem}.guide-tabs{gap:.4rem 1.2rem}.guide-tabs a{font-size:.875rem}.guide-page .site-header{min-height:5.3rem}.guide-page .faq-list p{padding-right:0}}
@media(max-width:480px){.cabo-guide-cards{grid-template-columns:1fr}.guide-page .brand-copy small{display:none}.guide-page h2{font-size:2.35rem}}
