/* HECODIA design refinements: October 2026 */
html { scroll-behavior:smooth; }
body { font-size:17px; }
main p { line-height:1.65; }
main p.text-lg { font-size:19px;line-height:1.65; }
main p.text-xl { font-size:21px;line-height:1.6; }
main p.mt-5 { margin-top: .7rem; }
main p.mt-4 { margin-top: .65rem; }
main p.mt-7 { margin-top: 1rem; }
main section.py-20, main section > div.py-20 {padding-top:3.9rem;padding-bottom:3.9rem;}
main section > div.py-24 { padding-top:5.5rem;padding-bottom:5.5rem; }
main h2 {line-height:1.14;letter-spacing:-.025em;}
main a.rounded-full { transition:transform .18s ease,filter .18s ease,box-shadow .18s ease; }
main a.rounded-full:hover {transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 7px 22px rgba(0,90,150,.22);}
.hec-brand {display:flex;align-items:center;gap:.67rem;color:white;font-size:1.45rem;font-weight:850;letter-spacing:.085em;line-height:1.1;}
.hec-brand-emblem {display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:2px solid #8fd3f4;border-radius:50%;color:#8fd3f4;font-size:25px;letter-spacing:0;box-shadow:0 0 0 3px rgba(143,211,244,.12)}
.hec-brand-text small {display:block;font-weight:500;font-size:9px;letter-spacing:.12em;color:#8fd3f4;margin-top:5px}
.hec-home-header {position:relative;z-index:30;background:#06283d;color:#fff;box-shadow:0 3px 20px rgba(2,14,29,.3);}
.hec-home-header nav a {font-size:15px;text-shadow:0 1px 3px rgba(0,0,0,.2)}
.hec-home-hero {position:relative;isolation:isolate;}
.hec-home-hero::before {content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(2,22,37,.30),rgba(2,22,37,.07) 72%);pointer-events:none;z-index:0;}
.hec-home-hero > div {position:relative;z-index:1;}
.hec-home-hero .hec-media {box-shadow:0 24px 65px rgba(1,21,36,.38);border:1px solid rgba(255,255,255,.22)}
.hec-home-hero .hec-media img {object-position:center 43%;}
.hec-hero-heading {text-wrap:balance;text-shadow:0 3px 20px rgba(0,13,30,.17)}
.hec-hero-cta {white-space:nowrap;}
main .rounded-3xl.bg-white {transition:transform .2s ease,box-shadow .2s ease;}
main .rounded-3xl.bg-white:hover {transform:translateY(-3px);box-shadow:0 16px 38px rgba(6,40,61,.11);}
/* Single visible checkbox only: no decorative duplicates */
input[type=checkbox] {flex-shrink:0; cursor:pointer;}
label:has(>input[type=checkbox]) {cursor:pointer;}
@media(max-width:640px){body{font-size:16.5px}main p.text-lg{font-size:18px}main p.text-xl{font-size:19px}.hec-brand {font-size:1.15rem}.hec-brand-emblem{width:35px;height:35px;font-size:20px}.hec-brand-text small {font-size:7px} main section.py-20,main section > div.py-20 {padding-top:2.7rem;padding-bottom:2.7rem}}


/* Canonical HECODIA navigation and home hero */
header .hec-brand{width:170px;max-width:170px;min-width:170px;height:72px;display:flex;align-items:center;gap:8px;flex:0 0 170px;overflow:visible}
header .hec-brand .hec-brand-logo{width:68px;height:68px;min-width:68px;max-width:68px;max-height:68px;object-fit:contain;display:block}
.hec-brand-wordmark{display:flex;flex-direction:column;font-size:17px;font-weight:900;line-height:1.1;letter-spacing:.045em;color:#fff;white-space:nowrap}
.hec-brand-wordmark small{font-size:7px;letter-spacing:.08em;line-height:1.3;margin-top:4px;color:#8fd3f4;white-space:normal}
.hec-home-header{position:relative;z-index:30;background:#06283d;color:white;box-shadow:none}
.hec-home-header nav{align-items:center}
.hec-home-hero{position:relative;isolation:isolate;min-height:590px;background:#06283d url('../img/hecodia/home-hero.jpg') center 62% / cover no-repeat!important;display:flex;align-items:center}
.hec-home-hero::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(2,19,34,.83),rgba(2,23,41,.57) 48%,rgba(2,24,43,.17) 100%)}
.hec-home-hero::after{content:none!important}
.hec-home-hero > div{position:relative;z-index:1;width:100%;display:block;padding-top:6.1rem;padding-bottom:7rem}
.hec-home-hero > div > div:first-child{max-width:740px}
.hec-home-hero .hec-media{display:none}
.hec-lang{display:flex;align-items:center;gap:6px;margin-left:14px;padding-left:15px;border-left:1px solid rgba(255,255,255,.3)}
.hec-lang button{font-size:12px;letter-spacing:.04em;color:#c2d8e6;background:none;border:0;cursor:pointer;padding:5px;font-weight:750}
.hec-lang button[aria-pressed="true"]{color:#8fd3f4;text-decoration:underline;text-underline-offset:4px}
.hec-footer-logo{width:80px;height:80px;object-fit:contain}
.hec-course-image[src$="/315.jpg"]{object-position:center 12% !important}
@media(max-width:767px){header .hec-brand{width:160px;max-width:160px;min-width:160px;height:68px;flex-basis:160px}header .hec-brand .hec-brand-logo{height:63px;width:63px;min-width:63px}.hec-brand-wordmark{font-size:15px}.hec-brand-wordmark small{font-size:6px}.hec-home-hero{min-height:590px;background-position:60% center!important}.hec-home-hero::before{background:linear-gradient(90deg,rgba(2,19,34,.79),rgba(2,23,41,.38))}.hec-home-hero > div{padding-top:5rem;padding-bottom:6rem}.hec-lang{margin-left:4px;padding-left:8px}}

/* Header proportions matched to the original site's badge + wordmark */
header .hec-brand{width:365px!important;max-width:365px!important;min-width:0!important;height:116px!important;flex:0 0 365px!important;gap:13px!important;overflow:visible!important;text-decoration:none!important}
header .hec-brand .hec-brand-logo{height:112px!important;width:112px!important;min-width:112px!important;max-width:112px!important;max-height:112px!important;object-fit:contain!important;flex-shrink:0}
header .hec-brand-wordmark{display:flex!important;flex-direction:column!important;gap:1px;font-size:22px!important;line-height:1.12!important;font-weight:800!important;letter-spacing:0!important;white-space:nowrap!important;color:#fff!important;text-shadow:1px 1px 2px #164e86}
header .hec-brand-wordmark>span::first-letter{color:#e84458}
header .hec-brand-wordmark>span{display:block}
header .hec-home-header,header.bg-sea-900{overflow:visible}
/* Keep the intended full-bleed image while avoiding any multiple background layers. */
.hec-home-hero{background-image:url('../img/hecodia/home-hero.jpg')!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center 56%!important}
.hec-home-hero::after{content:none!important}
@media(max-width:1050px){header .hec-brand{width:280px!important;max-width:280px!important;flex-basis:280px!important;height:90px!important}header .hec-brand .hec-brand-logo{height:88px!important;width:88px!important;min-width:88px!important;max-width:88px!important;max-height:88px!important}header .hec-brand-wordmark{font-size:16px!important}}
@media(max-width:640px){header .hec-brand{width:215px!important;max-width:215px!important;flex-basis:215px!important;height:74px!important;gap:8px!important}header .hec-brand .hec-brand-logo{height:70px!important;width:70px!important;min-width:70px!important;max-width:70px!important;max-height:70px!important}header .hec-brand-wordmark{font-size:12px!important}.hec-home-hero{background-position:61% center!important}}

/* Instructor cards, diving helmet interaction and aligned program cards */
.hec-program-card{display:flex;flex-direction:column;min-width:0;padding:32px!important}
.hec-program-card .hec-program-img{width:100%;height:270px!important;margin:1rem 0 1.4rem!important;object-fit:cover;object-position:center 12%;border-radius:20px}
.hec-program-card .hec-program-link{margin-top:auto!important;padding-top:24px;display:inline-flex;align-self:flex-start}
.hec-instructor-card{display:flex;flex-direction:column;min-width:0;border-radius:28px;background:#fff;box-shadow:0 12px 24px rgba(6,40,61,.10);overflow:hidden}
.hec-instructor-media{position:relative;height:310px;margin:26px 28px 0;border-radius:24px;background:#06283d;display:grid;place-items:center;overflow:hidden;isolation:isolate}
.hec-instructor-photo{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;transition:transform .45s ease,filter .45s ease}
.hec-instructor-media:hover .hec-instructor-photo{transform:scale(1.055)}
.hec-helmet-frame{position:absolute;width:220px;height:220px;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:15px solid rgba(210,228,235,.92);outline:5px solid rgba(3,28,47,.77);box-shadow:inset 0 0 0 6px rgba(12,50,70,.5),0 14px 36px rgba(0,0,0,.34);pointer-events:none;transition:transform .55s ease;}
.hec-helmet-rivet{position:absolute;left:50%;top:-21px;width:12px;height:12px;transform:translateX(-50%);border-radius:50%;background:#c79b4e;box-shadow:-74px 30px #c79b4e,74px 30px #c79b4e,-100px 103px #c79b4e,100px 103px #c79b4e}
.hec-instructor-card:has(details[open]) .hec-helmet-frame{transform:translate(-50%,-50%) rotate(-12deg) scale(.94)}
.hec-instructor-body{padding:28px 32px 34px;display:flex;flex-direction:column;flex:1}
.hec-instructor-body h3{font-size:23px;line-height:1.2}
.hec-instructor-role{font-size:14px;line-height:1.55;margin:10px 0 22px}
.hec-instructor-details{margin-top:auto;border-top:1px solid #d7e2eb;padding-top:18px}
.hec-instructor-readmore{color:#075374;font-size:16px;cursor:pointer;font-weight:750;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.hec-instructor-readmore::-webkit-details-marker{display:none}
.hec-instructor-readmore::after{content:'+';font-size:26px;line-height:1;font-weight:400;transition:transform .3s}
.hec-instructor-details[open] .hec-instructor-readmore::after{transform:rotate(45deg)}
.hec-instructor-longbio{padding-top:8px;animation:hecReveal .36s ease}
.hec-instructor-longbio p{font-size:17px!important;line-height:1.58!important;margin-top:12px!important}
@keyframes hecReveal{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hec-instructor-longbio{animation:none}.hec-helmet-frame,.hec-instructor-photo{transition:none}}
@media(max-width:640px){.hec-program-card{padding:22px!important}.hec-instructor-media{height:255px;margin:18px 18px 0}.hec-instructor-body{padding:24px}.hec-helmet-frame{height:175px;width:175px}}

.hec-helmet-frame,.hec-helmet-rivet{display:none!important}

/* Requested compact header, both styles. */
header.hec-home-header, header.bg-sea-900{padding-top:19px!important;padding-bottom:19px!important}
header.hec-home-header > div,header.bg-sea-900 > div:first-child{padding-top:10px!important;padding-bottom:10px!important}
/* Consistent responsive footer across all pages. */
.hec-site-footer{background:#06283d;color:#fff}
.hec-footer-grid{display:grid;grid-template-columns:1.1fr 1.4fr .8fr 1.1fr;gap:28px 40px;align-items:start}
.hec-site-footer h3{font-weight:750;font-size:17px;margin:0 0 18px;color:#fff}
.hec-site-footer p{font-size:14px;line-height:1.65;color:#d9e8ef;margin:0 0 12px}
.hec-site-footer a{color:#d9e8ef;text-decoration:none}
.hec-site-footer a:hover{color:#8fd3f4}
.hec-footer-brand .hec-footer-logo{width:112px!important;height:112px!important;max-width:112px!important;max-height:112px!important;object-fit:contain!important;display:block;margin-bottom:12px}
.hec-site-footer nav{display:flex;flex-direction:column;gap:11px;font-size:14px}
.hec-social-list{display:flex;gap:12px;align-items:center}
.hec-social-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid #7793a6;border-radius:50%;color:#d9e8ef;opacity:.65}
.hec-site-footer .hec-social-note{margin-top:14px;font-size:12px;color:#9eb8c6}
.hec-footer-map{grid-column:1/-1;padding-top:16px}
.hec-footer-map iframe{display:block;border:0;border-radius:17px;width:100%;height:260px;background:#fff}
.hec-footer-map>a{display:inline-block;margin-top:12px;font-size:14px}
.hec-footer-bottom{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid #ffffff22;padding:20px max(24px,calc((100vw - 1280px)/2));color:#bacbd6;font-size:13px}
.hec-footer-bottom a{color:#8fd3f4;font-weight:700}
@media(max-width:1050px){.hec-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hec-footer-grid{grid-template-columns:1fr;gap:26px}.hec-footer-map{grid-column:auto}.hec-footer-map iframe{height:230px}.hec-footer-bottom{flex-direction:column}}
