/* Lagoon palette: darker text and pale surfaces preserve readable contrast. */
:root {
    --lagoon-soft: #edf6f8;
    --mint-soft: #eef9f4;
    --cream-soft: #fff7e9;
}

.site-header { border-bottom-color: var(--line); }
.brand strong, .main-nav a, .contact-form label, .check-list li { color: var(--ink); }
.main-nav a:hover, .main-nav a:focus { background: var(--lagoon-soft); }
.header-cta, .btn-primary { color: var(--ink); background: var(--brand-peach); }
.btn-primary { box-shadow: 0 10px 24px rgba(255, 193, 114, .2); }
.eyebrow, .home-intro .eyebrow { color: var(--brand-lagoon); }
.hero .eyebrow, .section-dark .eyebrow, .contact-panel .eyebrow { color: var(--brand-cream); }
.hero, .section-dark, .evidence-band { background: var(--green-2); }
.hero-slide {
    background-image:
        linear-gradient(90deg, rgba(19, 61, 72, .9), rgba(19, 61, 72, .58) 42%, rgba(19, 61, 72, .12)),
        linear-gradient(0deg, rgba(19, 61, 72, .35), rgba(19, 61, 72, .1)),
        var(--slide-image);
}
.slider-arrow { background: rgba(32, 86, 103, .4); }
.page-heading { background: var(--lagoon-soft); }
.section-muted, .about-purpose, .facilities-intro { background: var(--mint-soft); }
.portfolio-team, .home-admission { background: var(--lagoon-soft); }
.portfolio-admission { background: var(--mint-soft); }
.home-intro, .home-spaces {
    background-image:
        linear-gradient(to bottom, #fff, rgba(238, 249, 244, .65) 24%, rgba(237, 246, 248, .65) 76%, #fff),
        url('/images/fondo-visita-jardin.webp');
}
.contact-section, .home-spaces + .contact-section {
    background: linear-gradient(to bottom, #fff, var(--lagoon-soft));
}
.home-intro figure, .about-profile-photo { border-color: var(--line); }
.help-personal {
    --help-bg: var(--mint-soft);
    --help-line: #bbdfd3;
    --help-accent: var(--brand-lagoon);
    --help-icon-bg: var(--brand-mint);
}
.help-family {
    --help-bg: var(--lagoon-soft);
    --help-line: #c6dfe5;
    --help-accent: var(--brand-lagoon);
    --help-icon-bg: #c7e3ea;
}
.help-visit {
    --help-bg: var(--cream-soft);
    --help-line: #edd5ae;
    --help-accent: #765025;
    --help-icon-bg: var(--brand-cream);
}
.help-option p { color: var(--muted); }
.help-icon img { opacity: 1; }
.events-gallery.events-carousel figure { background: var(--mint-soft); }
.events-carousel .gallery-open, .facilities-gallery .gallery-open,
.about-gallery .gallery-open, .gallery-dialog > img { background: var(--lagoon-soft); }
.event-navigation button { border-color: var(--line); }
.gallery-toolbar button { background: var(--lagoon-soft); color: var(--ink); }
.gallery-dialog::backdrop { background: rgba(16, 44, 53, .86); }
.timeline article, .portfolio-dimensions article { border-top-color: var(--brand-mint); }
.portfolio-team-grid article, .portfolio-steps li, .visit-details li { border-color: var(--line); }
.portfolio-service { background: var(--mint-soft); border-color: #bbdfd3; }
.portfolio-service:nth-child(2) { background: var(--lagoon-soft); border-color: #c6dfe5; }
.portfolio-service:nth-child(3) { background: var(--cream-soft); border-color: #edd5ae; }
.admission-cards li, .about-profile-photo { border-color: var(--line); }
.admission-step { color: var(--brand-lagoon); }
.spaces-collage-label { background: var(--brand-lagoon); border-left-color: var(--brand-peach); }
.contact-panel { background: var(--green-2); }
.contact-panel p, .contact-list span { color: #fff; }
.contact-list strong { color: var(--brand-cream); }
.contact-list a { border-color: rgba(255, 255, 255, .3); }
.contact-form input, .contact-form select, .contact-form textarea { border-color: #b9d2d8; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus {
    border-color: var(--brand-lagoon);
    box-shadow: 0 0 0 3px rgba(38, 121, 142, .15);
}
.site-footer { background: var(--green-2); color: #fff; }
.site-footer p, .site-footer a { color: #e4f2f5; }
:focus-visible { outline-color: var(--brand-lagoon); }
.hero :focus-visible, .contact-panel :focus-visible, .site-footer :focus-visible { outline-color: var(--brand-cream); }
.btn:focus-visible, .header-cta:focus-visible { box-shadow: 0 0 0 5px rgba(38, 121, 142, .16); }
.text-link:hover, .text-link:focus-visible { color: var(--green-2); border-color: currentColor; }
.evidence-band .text-link:hover, .evidence-band .text-link:focus-visible { color: var(--brand-cream); }
.contact-list a:focus-visible { background: rgba(255, 255, 255, .12); }
@media (hover: hover) and (pointer: fine) {
    .btn-primary:hover, .header-cta:hover { background: var(--brand-cream); }
    .btn-secondary:hover { background: rgba(99, 202, 167, .18); }
    .contact-list a:hover { background: rgba(255, 255, 255, .12); }
    .journey-tabs button:not([aria-selected="true"]):hover, .service-card:hover { background: var(--mint-soft); }
    .gallery-toolbar button:hover { background: var(--brand-lagoon); color: #fff; }
    .gallery-grid figure:hover, .gallery-grid figure:focus-within,
    .admission-cards li:hover, .about-profile-photo:hover, .faq-list details:hover { border-color: var(--brand-lagoon); }
    .footer-grid a:hover { color: var(--brand-cream); }
}
