/* Hellenic Lyceum Sydney theme by Zectron */
:root{
  --hl-navy:#002845;
  --hl-blue:#1D5FA6;
  --hl-sky:#D9E7F5;
  --hl-paper:#F6F8FB;
  --hl-white:#FFFFFF;
  --hl-ink:#1B2B3C;
  --hl-muted:#556677;
  --hl-line:#D9E1EA;
  --hl-gold:#B08D3C;
  --hl-display:'Cormorant Garamond',Georgia,serif;
  --hl-body:'Source Sans 3',system-ui,sans-serif;
  --hl-key:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='14' viewBox='0 0 40 14'%3E%3Cpath d='M0 13h8V3h16v8h-8V7h-4v6h20V1H36' fill='none' stroke='%231D5FA6' stroke-width='2'/%3E%3C/svg%3E");
  --hl-key-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='14' viewBox='0 0 40 14'%3E%3Cpath d='M0 13h8V3h16v8h-8V7h-4v6h20V1H36' fill='none' stroke='%23B08D3C' stroke-width='2'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--hl-paper);color:var(--hl-ink);font-family:var(--hl-body);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--hl-blue)}
a:hover{color:var(--hl-navy)}
:focus-visible{outline:3px solid var(--hl-gold);outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hl-skip:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:1000;background:var(--hl-white);padding:12px 16px;font-weight:700}

.hl-wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.hl-h{font-family:var(--hl-display);font-weight:600;line-height:1.1;margin:0;color:var(--hl-navy)}
.hl-h1{font-size:clamp(40px,5.6vw,68px);color:var(--hl-white)}
.hl-h2{font-size:clamp(32px,4vw,46px)}
.hl-eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:13px;margin:0;color:var(--hl-blue)}
.hl-eyebrow-light{color:#E7D7AE}
.hl-lead{font-size:clamp(18px,1.6vw,21px);max-width:640px;margin:0}
.hl-center{text-align:center;align-items:center}
.hl-stack{display:flex;flex-direction:column;gap:36px}
.hl-stack-sm{display:flex;flex-direction:column;gap:14px}
.hl-stack-sm p{margin:0}
.hl-actions{display:flex;flex-wrap:wrap;gap:14px}
.hl-link{font-weight:700;text-decoration:none;border-bottom:2px solid var(--hl-gold)}

/* Greek key band */
.hl-key{height:14px;background:var(--hl-key) repeat-x center;opacity:.9}
.hl-key-light{background-image:var(--hl-key-light)}

/* Buttons */
.hl-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;font-weight:700;font-size:16px;letter-spacing:.04em;text-decoration:none;border-radius:999px;border:2px solid transparent;transition:transform .15s ease,background .15s ease,color .15s ease}
.hl-btn:hover{transform:translateY(-1px)}
.hl-btn-blue{background:var(--hl-blue);color:var(--hl-white)}
.hl-btn-blue:hover{background:var(--hl-navy);color:var(--hl-white)}
.hl-btn-white{background:var(--hl-white);color:var(--hl-navy)}
.hl-btn-white:hover{background:var(--hl-sky);color:var(--hl-navy)}
.hl-btn-outline{border-color:var(--hl-blue);color:var(--hl-blue)}
.hl-btn-outline:hover{background:var(--hl-blue);color:var(--hl-white)}
.hl-btn-outline-white{border-color:var(--hl-white);color:var(--hl-white)}
.hl-btn-outline-white:hover{background:var(--hl-white);color:var(--hl-navy)}

/* Header */
.hl-header{background:var(--hl-white);position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(0,40,69,.08)}
.hl-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.hl-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--hl-navy)}
.hl-brand-logo img{width:60px;height:60px;display:block;object-fit:contain}
.hl-brand-text{display:flex;flex-direction:column;line-height:1.1}
.hl-brand-name{font-family:var(--hl-display);font-weight:700;font-size:25px;white-space:nowrap}
.hl-brand-sub{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--hl-muted);font-weight:600}
.hl-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:18px;font-weight:600;font-size:15.5px;white-space:nowrap}
.hl-menu li{position:relative}
.hl-menu a{color:var(--hl-navy);text-decoration:none;display:block;padding:8px 0}
.hl-menu a:hover,.hl-menu .current-menu-item>a,.hl-menu .current-menu-ancestor>a{color:var(--hl-blue)}
.hl-menu .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.hl-menu .sub-menu{list-style:none;margin:0;padding:8px 0;position:absolute;left:-16px;top:100%;min-width:250px;background:var(--hl-white);border-top:3px solid var(--hl-blue);box-shadow:0 12px 30px rgba(0,40,69,.16);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease;z-index:60;max-height:70vh;overflow:auto}
.hl-menu .sub-menu a{padding:8px 18px;font-weight:500;font-size:15px}
.hl-menu .sub-menu .sub-menu{position:static;box-shadow:none;border:0;padding:0 0 0 12px;opacity:1;visibility:visible;transform:none;max-height:none}
.hl-menu .sub-menu .menu-item-has-children>a::after{display:none}
.hl-menu li:hover>.sub-menu,.hl-menu li:focus-within>.sub-menu,.hl-menu li.is-open>.sub-menu{opacity:1;visibility:visible;transform:none}
.hl-nav-button{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:2px solid var(--hl-navy);border-radius:8px;background:none;color:var(--hl-navy);cursor:pointer}

/* Hero */
.hl-hero{position:relative;min-height:min(78vh,720px);display:flex;align-items:flex-end;overflow:hidden;background:var(--hl-navy)}
.hl-hero-img,.hl-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hl-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,40,69,.1) 0%,rgba(0,40,69,.35) 40%,rgba(0,40,69,.88) 100%)}
.hl-hero-inner{position:relative;padding-top:120px;padding-bottom:72px;display:flex;flex-direction:column;gap:18px;color:var(--hl-white)}
.hl-hero-inner .hl-h1{max-width:820px}

/* Sections */
.hl-section{padding:84px 0}
.hl-section-white{background:var(--hl-white)}
.hl-split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hl-photo{margin:0}
.hl-photo img{width:100%;border-radius:16px;box-shadow:0 18px 40px rgba(0,40,69,.18);display:block}
.hl-page-head{background:var(--hl-navy);padding:64px 0 52px;position:relative}
.hl-page-head .hl-h{color:var(--hl-white)}
.hl-page-head .hl-eyebrow{color:#E7D7AE}
.hl-page-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:var(--hl-key-light) repeat-x center}

/* Cards */
.hl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.hl-cards-3{grid-template-columns:repeat(3,1fr)}
.hl-card{display:flex;flex-direction:column;background:var(--hl-white);border:1px solid var(--hl-line);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--hl-ink);transition:transform .15s ease,box-shadow .15s ease}
.hl-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,40,69,.14);color:var(--hl-ink)}
.hl-card-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--hl-sky)}
.hl-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.hl-card-img-seal{display:flex;align-items:center;justify-content:center;background:var(--hl-navy)}
.hl-card-img-seal img{width:44%;height:auto;object-fit:contain;background:#fff;border-radius:50%;padding:6px}
.hl-card-body{display:flex;flex-direction:column;gap:8px;padding:22px 22px 24px;flex:1}
.hl-card-date{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hl-gold)}
.hl-card-title{font-family:var(--hl-display);font-weight:700;font-size:25px;line-height:1.15;color:var(--hl-navy)}
.hl-card-line{color:var(--hl-muted);font-size:16px}
.hl-card-more{margin-top:auto;padding-top:6px;font-weight:700;color:var(--hl-blue);font-size:15px}

/* CTA */
.hl-cta{background:var(--hl-navy);color:#D7E2EE}
.hl-cta .hl-h{color:var(--hl-white)}
.hl-cta-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}

/* Page content (including old Divi content) */
.hl-content{max-width:900px;width:100%}
.hl-content h2,.hl-content h3,.hl-content h4{font-family:var(--hl-display);color:var(--hl-navy);line-height:1.15;margin:1.4em 0 .5em}
.hl-content h2{font-size:34px}
.hl-content h3{font-size:27px}
.hl-content h4{font-size:22px}
.hl-content p,.hl-content ul,.hl-content ol{margin:0 0 1em}
.hl-content img{border-radius:10px}
.hl-content table{width:100%;border-collapse:collapse;margin:1em 0}
.hl-content td,.hl-content th{border:1px solid var(--hl-line);padding:8px 10px;text-align:left}
.hl-content input:not([type=submit]):not([type=checkbox]):not([type=radio]),.hl-content textarea,.hl-content select{width:100%;max-width:560px;padding:12px 14px;border:1px solid var(--hl-line);border-radius:8px;font:inherit;background:var(--hl-white)}
.hl-content input[type=submit],.hl-content button{background:var(--hl-blue);color:var(--hl-white);border:0;border-radius:999px;padding:12px 26px;font:inherit;font-weight:700;cursor:pointer}
.hl-content input[type=submit]:hover,.hl-content button:hover{background:var(--hl-navy)}
.hl-dv-row{display:flex;flex-wrap:wrap;gap:28px;margin:0 0 1.2em}
.hl-dv-column{flex:1 1 260px;min-width:0}
.hl-dv-image{margin:0 0 1em}
.hl-dv-image img{width:100%}
.hl-dv-video{position:relative;margin:0 0 1em}
.hl-dv-video iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:10px}
.hl-dv-toggle{border:1px solid var(--hl-line);border-radius:10px;background:var(--hl-white);margin:0 0 12px}
.hl-dv-toggle summary{padding:14px 18px;font-weight:700;color:var(--hl-navy);cursor:pointer}
.hl-dv-toggle>div{padding:0 18px 12px}
.gallery{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:0 0 1.2em}
.gallery .gallery-item{margin:0!important;width:auto!important}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:0!important}

/* Footer */
.hl-footer{background:#001B30;color:#AFC1D3;font-size:16px}
.hl-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-top:56px;padding-bottom:40px}
.hl-footer-col{display:flex;flex-direction:column;gap:10px}
.hl-footer-col p{margin:0;max-width:380px}
.hl-footer a{color:var(--hl-white);text-decoration:none}
.hl-footer a:hover{color:#E7D7AE}
.hl-footer .hl-eyebrow{color:#E7D7AE}
.hl-footer-logo img{width:80px;height:80px;background:#fff;border-radius:50%;padding:4px}
.hl-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;padding-bottom:12px;font-size:14px}
.hl-recaptcha{font-size:12px;color:#7F93A8;margin:0;padding-bottom:24px}
.hl-recaptcha a{color:#AFC1D3!important;text-decoration:underline!important}
.grecaptcha-badge{visibility:hidden}
.nav-links{display:flex;gap:12px;flex-wrap:wrap}
.nav-links .page-numbers{padding:6px 12px;border:1px solid var(--hl-line);border-radius:8px;text-decoration:none;background:var(--hl-white)}

/* Mobile */
@media (max-width:1180px){
  .hl-nav-button{display:inline-flex}
  .hl-nav{position:absolute;left:0;right:0;top:100%;background:var(--hl-white);border-top:1px solid var(--hl-line);box-shadow:0 14px 30px rgba(0,40,69,.15);display:none;max-height:calc(100vh - 84px);overflow:auto}
  .hl-nav.is-open{display:block}
  .hl-menu{flex-direction:column;gap:0;padding:8px 28px 20px}
  .hl-menu a{padding:12px 0;border-bottom:1px solid var(--hl-line)}
  .hl-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 14px;display:none;max-height:none}
  .hl-menu li.is-open>.sub-menu{display:block}
  .hl-menu li:hover>.sub-menu,.hl-menu li:focus-within>.sub-menu{display:none}
  .hl-menu li.is-open>.sub-menu{display:block}
}
@media (max-width:900px){
  .hl-split{grid-template-columns:1fr;gap:32px}
  .hl-cards-3{grid-template-columns:1fr}
  .hl-footer-grid{grid-template-columns:1fr}
  .hl-section{padding:60px 0}
}
@media (max-width:560px){
  .hl-wrap{padding:0 18px}
  .hl-brand-logo img{width:48px;height:48px}
  .hl-brand-name{font-size:21px}
  .hl-hero-inner{padding-bottom:48px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
