:root{
 --navy:#073d73;--navy-2:#0b4d86;--navy-dark:#052d56;--accent:#f29023;--accent-soft:#fff4e7;
 --ink:#0d2744;--muted:#5e6c7b;--line:#dfe7ef;--soft:#f6f9fc;--paper:#fff;
 --shadow:0 14px 38px rgba(7,61,115,.09)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Montserrat,"Segoe UI",Arial,sans-serif;line-height:1.55}img{max-width:100%;height:auto}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:none}.container{width:min(1220px,calc(100% - 40px));margin:auto}.narrow{width:min(900px,calc(100% - 40px));margin:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:9999}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;color:var(--navy);margin:0 0 10px}h1,h2,h3{line-height:1.08;margin-top:0;color:var(--navy-dark)}h1{font-size:clamp(2.8rem,5vw,5.2rem)}h2{font-size:clamp(1.9rem,3vw,2.65rem)}h3{font-size:1.05rem}.section{padding:68px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.86rem 1.25rem;border-radius:10px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.2s;text-decoration:none;font-size:.94rem}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(7,61,115,.14)}.btn svg,.site-header svg,.course-meta svg{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn-primary,.btn-campus{background:var(--navy);color:#fff}.btn-accent{background:var(--accent);color:#11283f}.btn-outline{background:#fff;color:var(--navy);border-color:var(--navy)}.btn-light{background:#fff;color:var(--navy)}.btn-block{width:100%}.text-link{font-weight:800;color:var(--navy)}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid #edf1f5;backdrop-filter:blur(10px)}.admin-bar .site-header{top:32px}.header-inner{min-height:78px;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.brand{display:flex;align-items:center;gap:12px;color:inherit}.brand-minimal .brand-ayto{width:142px;max-height:58px;object-fit:contain}.brand-sep{width:1px;height:48px;background:#cdd8e3}.brand-project{display:flex;flex-direction:column}.brand-project strong{font-size:1.32rem;line-height:1.03;color:var(--navy-dark)}.brand-project small{font-size:.62rem;color:var(--navy);margin-top:5px;white-space:nowrap}.main-nav{justify-self:end}.menu{display:flex;gap:22px;list-style:none;margin:0;padding:0}.menu a{color:#15283b;font-size:.86rem;font-weight:700}.menu a:hover{color:var(--navy)}.header-campus{white-space:nowrap}.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:9px;padding:.55rem .7rem;gap:6px;align-items:center;color:var(--navy)}

/* Home hero */
.hero-minimal{position:relative;min-height:540px;overflow:hidden;background:#eaf1f7}.hero-minimal-bg{position:absolute;inset:0;background:url('../img/hero-tacoronte.png') center 52%/cover no-repeat}.hero-minimal-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 31%,rgba(255,255,255,.48) 49%,rgba(255,255,255,.04) 68%)}.hero-minimal-inner{position:relative;min-height:540px;display:flex;align-items:center}.hero-minimal-copy{width:min(560px,52%);padding:54px 0}.hero-minimal h1{font-weight:800;letter-spacing:-.045em;margin:.08em 0 .28em;color:var(--navy-dark)}.hero-minimal h1 span{color:var(--accent)}.lead{font-size:1.04rem;color:#263c52;max-width:570px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.stat-strip{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 7px 25px rgba(7,61,115,.035)}.stat-strip-inner{min-height:92px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.stat-strip-inner>div{display:grid;grid-template-columns:auto auto 1fr;gap:10px 12px;align-items:center;justify-content:center;padding:14px 34px;border-right:1px solid var(--line)}.stat-strip-inner>div:last-child{border-right:0}.stat-icon{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;color:var(--navy)}.stat-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8}.stat-strip strong{font-size:1.85rem;color:var(--navy-dark);line-height:1}.stat-strip small{grid-column:2/4;color:#354c61;font-size:.91rem}

/* Discovery */
.discovery-minimal{background:#fff}.section-heading{margin-bottom:22px}.section-heading h2{margin-bottom:7px}.section-heading h2:after{content:"";display:block;width:46px;height:4px;background:var(--accent);margin-top:12px;border-radius:4px}.section-heading p{margin:0;color:var(--muted)}.home-search{height:60px;border:1px solid #cbd8e5;border-radius:10px;display:flex;align-items:center;margin:24px 0 40px;background:#fff;overflow:hidden}.home-search>span{display:grid;place-items:center;width:58px;color:var(--navy)}.home-search svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}.home-search input{flex:1;border:0;outline:0;font:inherit;padding:0 10px;color:var(--ink);min-width:0}.home-search .btn{height:100%;border-radius:0;min-width:145px}.family-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}.family-heading a{font-weight:700;font-size:.9rem}.minimal-family-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.family-card-minimal{min-height:122px;border:1px solid #d9e3ed;border-radius:10px;padding:18px 13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:11px;background:#fff;color:var(--navy-dark);transition:.2s}.family-card-minimal:hover{transform:translateY(-3px);border-color:var(--navy);box-shadow:var(--shadow)}.family-icon-minimal{color:var(--navy);height:33px;display:grid;place-items:center}.family-icon-minimal svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7}.family-card-minimal strong{font-size:.85rem;line-height:1.25}

/* How */
.how-minimal{background:var(--soft);border-top:1px solid #edf2f6;border-bottom:1px solid #edf2f6}.steps-minimal{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.steps-minimal>div{padding:8px 28px 4px 22px;border-right:1px solid #d8e1ea;position:relative}.steps-minimal>div:first-child{padding-left:0}.steps-minimal>div:last-child{border-right:0}.steps-minimal b{display:grid;place-items:center;width:36px;height:36px;background:var(--navy);color:#fff;border-radius:50%;font-size:1.1rem;margin-bottom:16px}.steps-minimal h3{margin-bottom:8px}.steps-minimal p{margin:0;color:#526376;font-size:.9rem}

/* FAQs & campus */
.faq-minimal{background:#fff}.faq-minimal-grid{display:grid;grid-template-columns:1.75fr .8fr;gap:22px;align-items:stretch}.faq-list{display:grid;gap:9px}.faq-list details{border:1px solid #dce5ee;border-radius:9px;background:#fff}.faq-list summary{padding:15px 16px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq-list summary:after{content:"+";font-size:1.25rem;color:var(--navy)}.faq-list details[open] summary:after{content:"−"}.faq-list details>div{padding:0 16px 16px;color:var(--muted)}.faq-list details p{margin:.25em 0}.campus-minimal{border-radius:14px;background:linear-gradient(145deg,var(--navy-dark),var(--navy-2));color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.campus-minimal>svg{width:55px;height:55px;fill:none;stroke:#fff;stroke-width:1.5;margin-bottom:18px}.campus-minimal h2{color:#fff;font-size:1.65rem;margin-bottom:12px}.campus-minimal p{margin:0 0 22px;color:#e6f0f9}

/* Generic page hero */
.page-hero{background:linear-gradient(180deg,#eef5fb,#fff);padding:62px 0 52px;border-bottom:1px solid var(--line)}.page-hero h1{margin:.12em 0 .2em}.page-hero p{color:var(--muted);max-width:760px}.breadcrumb{font-size:.82rem;color:#6d7b89;margin-bottom:18px}.breadcrumb a{font-weight:700}.big-family-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#eaf2f9;color:var(--navy)}.big-family-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7}.course-hero-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.course-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-weight:700;color:var(--navy)}.course-meta span{display:flex;align-items:center;gap:7px}

/* Catalog */
.catalog{background:#fff}.archive-filters{display:grid;grid-template-columns:minmax(220px,2fr) 1fr 1fr .7fr auto;gap:10px;border:1px solid var(--line);padding:16px;border-radius:12px;background:var(--soft);margin-bottom:20px}.archive-filters input,.archive-filters select{border:1px solid #cbd8e5;border-radius:8px;background:#fff;padding:.78rem .85rem;font:inherit;color:var(--ink);min-width:0}.results{color:var(--muted);margin:22px 0}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{border:1px solid #dce5ee;border-radius:12px;padding:22px;background:#fff;display:flex;flex-direction:column;min-height:290px;transition:.2s}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#b7cadb}.course-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:#edf4fa;color:var(--navy);margin-bottom:16px}.course-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7}.course-top{display:flex;justify-content:space-between;gap:12px;font-size:.78rem;color:#607184}.course-top b{color:var(--navy);white-space:nowrap}.course-card h2{font-size:1.12rem;margin:13px 0 10px}.course-card p{font-size:.9rem;color:var(--muted);flex:1}.pagination ul{list-style:none;display:flex;justify-content:center;gap:7px;padding:0;margin:36px 0 0}.pagination a,.pagination span{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--line);border-radius:8px}.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Course */
.course-section{background:#fff}.course-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}.course-main{display:grid;gap:20px}.content-block{display:grid;grid-template-columns:52px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:0 0 28px}.content-block>b{font-size:1.3rem;color:var(--accent)}.content-block h2{font-size:1.7rem}.content-block p{color:#47596b}.content-unit{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:18px 0;border-top:1px solid #e7edf3}.unit-index{font-size:.8rem;font-weight:800;color:var(--navy)}.unit-body h3{margin:0 0 7px}.unit-body p{margin:.35em 0}.enroll-box{position:sticky;top:108px;border:1px solid #d9e4ed;border-radius:14px;padding:25px;background:#fff;box-shadow:var(--shadow)}.enroll-box h2{font-size:1.55rem}.enroll-box hr{border:0;border-top:1px solid var(--line);margin:22px 0}.enroll-box .btn{margin-top:12px}

/* Campus gateway & placeholder */
.tac-campus-gateway{width:min(1080px,calc(100% - 40px));margin:58px auto;display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.campus-copy{padding:48px}.campus-copy h2{font-size:2.4rem}.campus-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.campus-visual{min-height:360px;padding:44px;background:linear-gradient(rgba(5,45,86,.88),rgba(7,61,115,.88)),url('../img/hero-tacoronte.png') center/cover;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.campus-visual span{font-weight:800;color:#ffd49c;margin-bottom:10px}.campus-visual strong{font-size:2rem;line-height:1.15}.tac-placeholder{width:min(760px,calc(100% - 40px));margin:70px auto;padding:42px;border:1px solid var(--line);border-radius:14px;text-align:center;background:#fff;box-shadow:var(--shadow)}

/* Footer */
.footer-minimal{background:var(--navy-dark);color:#fff;padding:42px 0 0}.footer-minimal-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr;gap:42px;align-items:start}.footer-brand-minimal{display:flex;align-items:center;gap:18px}.footer-brand-minimal img{width:150px;max-height:70px;filter:brightness(0) invert(1);object-fit:contain}.footer-sep{width:1px;height:62px;background:rgba(255,255,255,.36)}.footer-brand-minimal strong{display:block;font-size:1.2rem}.footer-brand-minimal small{display:block;color:#cbdbea;margin-top:5px}.footer-links{display:grid;gap:8px}.footer-links a,.footer-contact a{color:#fff}.footer-contact h2{color:#fff;font-size:1.1rem;margin-bottom:10px}.footer-contact p{margin:.38em 0;color:#e4edf5;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.18);padding:18px 0;margin-top:35px;color:#c8d6e3;font-size:.78rem}

/* Basic page */
.entry-page{padding:62px 0}.entry-page h1{font-size:2.7rem}.entry-page .entry-content{max-width:850px}

@media(max-width:1100px){.menu{gap:13px}.menu a{font-size:.8rem}.brand-minimal .brand-ayto{width:126px}.brand-project small{display:none}.minimal-family-grid{grid-template-columns:repeat(4,1fr)}.course-grid{grid-template-columns:repeat(2,1fr)}.archive-filters{grid-template-columns:1fr 1fr 1fr}.archive-filters button{grid-column:span 3}.hero-minimal-copy{width:58%}}
@media(max-width:820px){.admin-bar .site-header{top:46px}.header-inner{grid-template-columns:1fr auto;min-height:70px}.brand-minimal .brand-ayto{width:116px}.brand-project strong{font-size:1.08rem}.main-nav{display:none;grid-column:1/-1;width:100%}.main-nav.is-open{display:block}.menu{flex-direction:column;gap:0;border-top:1px solid var(--line);padding:8px 0}.menu a{display:block;padding:10px 2px;font-size:.9rem}.nav-toggle{display:inline-flex}.header-campus{display:none}.hero-minimal{min-height:auto}.hero-minimal-bg{position:absolute}.hero-minimal-bg:after{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.91) 62%,rgba(255,255,255,.65) 100%)}.hero-minimal-inner{min-height:510px;align-items:flex-start}.hero-minimal-copy{width:100%;padding:56px 0 80px}.hero-minimal h1{font-size:clamp(2.7rem,12vw,4.2rem)}.lead{max-width:520px}.stat-strip-inner{grid-template-columns:1fr}.stat-strip-inner>div{border-right:0;border-bottom:1px solid var(--line);justify-content:start;padding:14px 10px}.stat-strip-inner>div:last-child{border-bottom:0}.minimal-family-grid{grid-template-columns:repeat(2,1fr)}.family-heading{align-items:flex-start;flex-direction:column}.steps-minimal{grid-template-columns:1fr 1fr;gap:25px}.steps-minimal>div{border-right:0;padding:0}.faq-minimal-grid{grid-template-columns:1fr}.course-layout{grid-template-columns:1fr}.enroll-box{position:static}.course-grid{grid-template-columns:1fr}.archive-filters{grid-template-columns:1fr}.archive-filters button{grid-column:auto}.tac-campus-gateway{grid-template-columns:1fr}.footer-minimal-grid{grid-template-columns:1fr}.footer-brand-minimal{align-items:flex-start}.footer-bottom{flex-direction:column}.course-hero-grid{grid-template-columns:1fr}.big-family-icon{display:none}}
@media(max-width:520px){.container{width:min(100% - 28px,1220px)}.section{padding:50px 0}.brand-sep{height:38px}.brand-minimal .brand-ayto{width:102px}.brand-project strong{font-size:.98rem}.nav-toggle b{display:none}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.home-search{height:auto;display:grid;grid-template-columns:auto 1fr}.home-search .btn{grid-column:1/-1;border-radius:0;height:48px}.minimal-family-grid{grid-template-columns:1fr 1fr;gap:9px}.family-card-minimal{min-height:112px;padding:14px 8px}.steps-minimal{grid-template-columns:1fr}.campus-minimal{padding:28px 22px}.content-block{grid-template-columns:1fr}.content-block>b{font-size:.85rem}.content-unit{grid-template-columns:1fr}.tac-campus-gateway{width:calc(100% - 28px);margin:35px auto}.campus-copy{padding:28px}.campus-visual{min-height:270px;padding:28px}.footer-brand-minimal{display:grid;grid-template-columns:auto 1px 1fr}.footer-brand-minimal img{width:120px}.footer-bottom{font-size:.74rem}.page-hero{padding:44px 0 36px}}

/* v0.3 — Tacoronte en Formación */
.hero-tacoronte-training .hero-minimal-bg{background-image:url('../img/hero-tacoronte-v03.webp');background-position:center 47%}
.hero-tacoronte-training .hero-minimal-bg:after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 33%,rgba(255,255,255,.57) 51%,rgba(255,255,255,.07) 72%)}
.hero-subtitle{font-weight:800;color:var(--navy);font-size:1.02rem;margin:-.6rem 0 1rem}
.brand-minimal .brand-ayto{width:174px;max-height:62px}
.brand-project strong{font-size:1.18rem;line-height:1.04}.brand-project small{font-size:.59rem;max-width:240px;white-space:normal;line-height:1.2}

/* Photo-led internal headers */
.page-hero-photo{position:relative;overflow:hidden;background:#082f58;color:#fff;padding:0;border-bottom:0;min-height:280px}
.page-hero-photo-bg{position:absolute;inset:0;background:url('../img/internal-banner.webp') center 61%/cover no-repeat}
.page-hero-photo-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,58,.91),rgba(5,45,86,.72) 48%,rgba(5,45,86,.28))}
.page-hero-photo-inner{position:relative;z-index:1;min-height:280px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:42px;padding-bottom:42px}
.page-hero-photo h1,.page-hero-photo p,.page-hero-photo .eyebrow{color:#fff}.page-hero-photo h1{font-size:clamp(2.5rem,5vw,4.7rem);margin:.08em 0 .15em}.page-hero-photo p{max-width:700px;color:#eef5fb;font-size:1rem}.page-hero-photo .big-family-icon{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.28);margin-bottom:14px}

/* Catalog cards: visual header area without generic stock photography */
.course-card{padding:0;overflow:hidden;min-height:330px}.course-card>*:not(.course-card-visual){margin-left:22px;margin-right:22px}.course-card>.text-link{margin-bottom:22px}.course-card-visual{min-height:92px;background:linear-gradient(135deg,#e9f1f8,#f9fbfd);border-bottom:1px solid #dce5ee;padding:18px 20px;display:flex;align-items:center;gap:13px;color:var(--navy);font-weight:800;font-size:.76rem}.course-card-visual .course-icon{margin:0;background:#fff;box-shadow:0 5px 15px rgba(7,61,115,.07)}.course-card .course-top{margin-top:18px}

/* Employment */
.employment-block{background:#fff}.employment-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:52px;align-items:center;padding-top:8px;padding-bottom:8px}.employment-grid h2{margin-bottom:14px}.employment-grid>div>p{color:#4c6073}.employment-note{border-left:4px solid var(--accent);padding:22px 0 22px 26px}.employment-note strong{font-size:1.12rem;color:var(--navy-dark)}.employment-note p{font-size:.92rem}

/* Campus gateway uses the supplied secondary photo */
.campus-visual{background:linear-gradient(rgba(5,45,86,.84),rgba(7,61,115,.84)),url('../img/internal-banner.webp') center 60%/cover}

/* Footer logos */
.footer-minimal-grid{grid-template-columns:1.35fr .65fr 1fr}.footer-brand-minimal.footer-logos{display:block}.institutional-logos{display:flex;align-items:center;gap:22px;margin-bottom:22px}.institutional-logos img{object-fit:contain;filter:none!important}.institutional-logos .footer-ayto-logo{width:205px;max-height:82px}.institutional-logos .footer-sostenible-logo{width:175px;max-height:66px}.footer-project strong{display:block;font-size:1.18rem}.footer-project small{display:block;color:#cbdbea;margin-top:5px}

/* Gentle legal/prose styling */
.prose h2,.prose h3{margin-top:1.7em}.prose p,.prose li{color:#42576a}.prose a{text-decoration:underline;text-underline-offset:2px}

@media(max-width:1100px){.brand-minimal .brand-ayto{width:150px}.institutional-logos{flex-wrap:wrap}.institutional-logos .footer-ayto-logo{width:180px}.institutional-logos .footer-sostenible-logo{width:150px}}
@media(max-width:820px){.hero-tacoronte-training .hero-minimal-bg:after{background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 65%,rgba(255,255,255,.70) 100%)}.brand-minimal .brand-ayto{width:130px}.page-hero-photo,.page-hero-photo-inner{min-height:235px}.employment-grid{grid-template-columns:1fr;gap:18px}.employment-note{margin-top:0}.footer-minimal-grid{grid-template-columns:1fr}.institutional-logos{flex-wrap:nowrap}.institutional-logos .footer-ayto-logo{width:190px}.institutional-logos .footer-sostenible-logo{width:160px}}
@media(max-width:520px){.brand-minimal .brand-ayto{width:112px}.brand-project strong{font-size:.92rem}.brand-project small{display:none}.hero-subtitle{font-size:.92rem}.page-hero-photo,.page-hero-photo-inner{min-height:210px}.page-hero-photo-inner{padding-top:32px;padding-bottom:32px}.course-card-visual{min-height:80px}.institutional-logos{flex-direction:column;align-items:flex-start;gap:14px}.institutional-logos .footer-ayto-logo{width:210px}.institutional-logos .footer-sostenible-logo{width:170px}}

/* v0.4 — imágenes oficiales, logos corregidos y acabado de catálogo */
.hero-tacoronte-training .hero-minimal-bg{background-image:url('../img/hero-tacoronte-v04.webp');background-position:center 52%}
.page-hero-photo-bg{background-image:url('../img/internal-banner-v04.webp');background-position:center 48%}
.campus-visual{background:linear-gradient(rgba(5,45,86,.84),rgba(7,61,115,.84)),url('../img/internal-banner-v04.webp') center 48%/cover}
.brand-minimal .brand-ayto{width:205px;max-height:68px}

/* Las tarjetas muestran fotografía local en vez de stock genérico. */
.course-card-visual{position:relative;min-height:112px;background:linear-gradient(90deg,rgba(5,45,86,.90),rgba(7,61,115,.58)),url('../img/internal-banner-v04.webp') center 48%/cover;color:#fff;border-bottom:0;overflow:hidden}
.course-card-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(242,144,35,.08),transparent 45%);pointer-events:none}
.course-card-visual>*{position:relative;z-index:1}.course-card-visual .course-icon{background:rgba(255,255,255,.94);color:var(--navy);box-shadow:none}.course-card-visual>span:last-child{max-width:210px;line-height:1.25}
.course-card:nth-child(3n+2) .course-card-visual{background-position:center 58%}.course-card:nth-child(3n+3) .course-card-visual{background-position:center 38%}

/* Cabeceras fotográficas también para fichas de curso. */
.course-photo-hero .page-hero-photo-inner{min-height:330px}.course-photo-grid{width:100%;grid-template-columns:minmax(0,1fr) auto}.breadcrumb-light,.breadcrumb-light a{color:#e9f3fb}.course-meta-light{color:#fff}.course-photo-hero .course-meta svg{stroke:#fff}.course-photo-hero .big-family-icon{align-self:center}

/* Footer institucional: logos monocolor sobre soporte claro para conservar legibilidad. */
.institutional-logos{align-items:stretch;gap:14px}.institutional-logos img{background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 8px 22px rgba(0,0,0,.08)}
.institutional-logos .footer-ayto-logo{width:245px;max-height:96px}.institutional-logos .footer-sostenible-logo{width:205px;max-height:82px}

/* Contenido legal más legible */
.prose{font-size:1rem}.prose h2{font-size:1.55rem;margin-top:2em;margin-bottom:.6em}.prose h3{font-size:1.15rem}.prose ul{padding-left:1.25rem}.prose strong{color:var(--navy-dark)}.legal-note{padding:16px 18px;border-left:4px solid var(--accent);background:var(--accent-soft);margin:24px 0}

@media(max-width:1100px){.brand-minimal .brand-ayto{width:175px}.institutional-logos .footer-ayto-logo{width:220px}.institutional-logos .footer-sostenible-logo{width:185px}}
@media(max-width:820px){.brand-minimal .brand-ayto{width:150px}.course-photo-hero .page-hero-photo-inner{min-height:260px}.institutional-logos{flex-wrap:wrap}.institutional-logos .footer-ayto-logo{width:220px}.institutional-logos .footer-sostenible-logo{width:180px}}
@media(max-width:520px){.brand-minimal .brand-ayto{width:126px}.course-card-visual{min-height:96px}.institutional-logos{flex-direction:column}.institutional-logos .footer-ayto-logo{width:100%;max-width:280px}.institutional-logos .footer-sostenible-logo{width:100%;max-width:235px}}

/* v0.5 - course-specific imagery and transparent institutional logos */
.course-card-visual{background-size:cover;background-position:center;transition:transform .25s ease,filter .25s ease}
.course-card:hover .course-card-visual{filter:saturate(1.05) brightness(1.04)}
.course-card-visual .course-icon{background:rgba(255,255,255,.93)}
.institutional-logos img{background:transparent!important;border:0!important;box-shadow:none!important}
.institutional-logos .footer-ayto-logo,.institutional-logos .footer-sostenible-logo{object-fit:contain}
.course-photo-hero .page-hero-photo-bg{background-size:cover;background-position:center}

/* v0.7.1 — targeted course image corrections requested by Tacoronte */


/* v0.7.2 — banderas integradas en la propia composición fotográfica, sin etiquetas */
@media(max-width:520px){
 

/* v0.7.3 - family archive and course imagery corrections */
.family-archive-hero .page-hero-photo-inner{min-height:300px;padding-top:34px;padding-bottom:42px}
.family-archive-hero .breadcrumb{margin-bottom:22px}
.family-hero-copy{display:flex;align-items:center;gap:22px;max-width:920px}
.family-hero-copy .big-family-icon{flex:0 0 72px;margin:0;background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3)}
.family-hero-copy h1{margin:.05em 0 .16em;font-size:clamp(2.35rem,4.6vw,4.4rem)}
.family-hero-copy p{margin:0;color:#eef5fb}
.family-catalog{padding-top:50px}
.family-catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.family-catalog-head h2{font-size:clamp(1.7rem,2.4vw,2.25rem);margin-bottom:7px}
.family-catalog-head p{margin:0;color:var(--muted);max-width:760px}
.empty-state{padding:46px;border:1px solid var(--line);border-radius:14px;background:var(--soft);text-align:center}
.course-card-visual{background-repeat:no-repeat!important}
@media(max-width:820px){.family-archive-hero .page-hero-photo-inner{min-height:250px}.family-hero-copy{align-items:flex-start}.family-hero-copy .big-family-icon{display:grid;width:58px;height:58px;flex-basis:58px}.family-catalog-head{align-items:flex-start;flex-direction:column}.family-catalog-head .btn{width:100%}}
@media(max-width:520px){.family-hero-copy{gap:13px}.family-hero-copy .big-family-icon{display:none}.family-archive-hero .page-hero-photo-inner{min-height:220px}.family-catalog{padding-top:38px}}


/* v0.7.4 — restaurar banderas integradas y ajustes finos en imágenes de curso */
.course-card-visual.lang-flag-uk::before,.course-card-visual.lang-flag-de::before,.course-photo-hero .page-hero-photo-bg.lang-flag-uk::before,.course-photo-hero .page-hero-photo-bg.lang-flag-de::before{content:"";position:absolute;z-index:1;right:0;top:0;height:100%;width:34%;pointer-events:none;opacity:.68;background-position:center;background-size:cover;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 20%,#000 58%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.3) 20%,#000 58%)}
.course-card-visual.lang-flag-de::before,.course-photo-hero .page-hero-photo-bg.lang-flag-de::before{background:linear-gradient(to bottom,#000 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666% 100%)}
.course-card-visual.lang-flag-uk::before,.course-photo-hero .page-hero-photo-bg.lang-flag-uk::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 36'%3E%3Cpath fill='%23012169' d='M0 0h60v36H0z'/%3E%3Cpath stroke='%23fff' stroke-width='7.2' d='M0 0l60 36M60 0L0 36'/%3E%3Cpath stroke='%23C8102E' stroke-width='2.4' d='M0 0l60 36M60 0L0 36'/%3E%3Cpath stroke='%23fff' stroke-width='12' d='M30 0v36M0 18h60'/%3E%3Cpath stroke='%23C8102E' stroke-width='7.2' d='M30 0v36M0 18h60'/%3E%3C/svg%3E")}
.course-photo-hero .page-hero-photo-bg.lang-flag-uk::before,.course-photo-hero .page-hero-photo-bg.lang-flag-de::before{width:27%;opacity:.54;z-index:1}
.course-photo-hero .page-hero-photo-bg::after{z-index:2}.course-photo-hero .page-hero-photo-inner{position:relative;z-index:3}
.course-card-visual.lang-flag-uk::after,.course-card-visual.lang-flag-de::after{z-index:2}.course-card-visual.lang-flag-uk>*,.course-card-visual.lang-flag-de>*{z-index:3}
@media(max-width:520px){.course-card-visual.lang-flag-uk::before,.course-card-visual.lang-flag-de::before{width:39%;opacity:.62}.course-photo-hero .page-hero-photo-bg.lang-flag-uk::before,.course-photo-hero .page-hero-photo-bg.lang-flag-de::before{width:35%}}


/* v0.7.5 — banderas activadas por título de curso */
.course-card-visual.lang-flag-uk,.course-card-visual.lang-flag-de{position:relative;isolation:isolate}
.course-card-visual.lang-flag-uk::before,.course-card-visual.lang-flag-de::before{display:block!important;visibility:visible!important}
.course-photo-hero .page-hero-photo-bg.lang-flag-uk,.course-photo-hero .page-hero-photo-bg.lang-flag-de{isolation:isolate}
.course-photo-hero .page-hero-photo-bg.lang-flag-uk::before,.course-photo-hero .page-hero-photo-bg.lang-flag-de::before{display:block!important;visibility:visible!important}


/* v0.7.6 — banderas integradas directamente en el fondo de las fotografías */
.course-card-visual.lang-flag-uk::before,.course-card-visual.lang-flag-de::before,.course-photo-hero .page-hero-photo-bg.lang-flag-uk::before,.course-photo-hero .page-hero-photo-bg.lang-flag-de::before{display:none!important;content:none!important}
