/* ==========================================================================
   GLOBAL IMPORTS & ROOT SETTINGS
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700&family=Lato:wght@300;400;700&display=swap');

:root{
    /* Palette – monochrome */
    --color-bg:#f7f7f7;
    --color-bg-alt:#eaeaea;
    --color-bg-dark:#111111;
    --color-text:#222222;
    --color-text-light:#ffffff;
    --color-muted:#666666;
    --color-border:#d0d0d0;
    --color-accent:#000000;
    /* Extras */
    --radius:8px;
    --transition-fast:.3s ease;
    --transition-slow:.6s ease;
    --gradient-dark:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55));
}

/* ==========================================================================
   RESET & BASE
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:'Lato',sans-serif;
    color:var(--color-text);
    background:var(--color-bg);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
    font-family:'Roboto',sans-serif;
    color:var(--color-accent);
    font-weight:600;
    text-align:center;
    margin-bottom:1rem;
}
p{margin-bottom:1rem;font-size:1rem}
a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}
a:hover,a:focus{color:var(--color-muted)}
img{max-width:100%;display:block}

/* ==========================================================================
   UTILS & LAYOUT
   ========================================================================== */
.container{
    width:90%;
    max-width:1260px;
    margin:0 auto;
}
.is-two-thirds{width:100%;max-width:840px;margin:0 auto}
.section{padding:4rem 0;position:relative}
.section[data-parallax]{background-attachment:fixed;background-size:cover;background-repeat:no-repeat}
.skew-top::before,
.skew-bottom::after{
    content:"";
    position:absolute;
    left:0;
    width:100%;
    height:100px;
    background:inherit;
    z-index:-1;
}
.skew-top::before{top:-50px;transform:skewY(-3deg);transform-origin:100% 0}
.skew-bottom::after{bottom:-50px;transform:skewY(3deg);transform-origin:0 100%}

/* ==========================================================================
   NAVIGATION
   ========================================================================== */
.site-header{
    background:var(--color-text-light);
    border-bottom:1px solid var(--color-border);
    position:sticky;top:0;z-index:1000;
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.logo{font-weight:700;font-size:1.5rem;color:var(--color-accent)}
.navigation ul{display:flex;gap:1.5rem;list-style:none}
.navigation a{font-weight:600}
.navigation a:hover{color:var(--color-muted)}
/* Burger */
.burger{display:none;background:none;border:none;cursor:pointer}
.burger span{display:block;width:24px;height:2px;background:var(--color-accent);margin:5px 0;transition:transform .4s}
@media(max-width:768px){
    .navigation{position:fixed;top:0;right:-100%;width:70%;height:100vh;background:var(--color-bg);flex-direction:column;justify-content:center;transition:right var(--transition-slow)}
    .navigation.open{right:0}
    .navigation ul{flex-direction:column;gap:2rem}
    .burger{display:block}
    .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .burger.open span:nth-child(2){opacity:0}
    .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero-section{
    background-size:cover;
    background-repeat:no-repeat;
    min-height:70vh;
    display:flex;align-items:center;justify-content:center;
    text-align:center;
    color:var(--color-text-light);
    position:relative;
}
.hero-content{max-width:760px}
.hero-content p{color:var(--color-text-light);font-size:1.2rem;margin-bottom:2rem}

/* ==========================================================================
   BUTTONS
   ========================================================================== */
.btn,
button,
input[type='submit']{
    display:inline-block;
    padding:.85rem 2rem;
    border-radius:var(--radius);
    border:2px solid var(--color-accent);
    background:transparent;
    color:var(--color-accent);
    font-weight:600;
    cursor:pointer;
    transition:all var(--transition-fast);
}
.btn-primary{background:var(--color-accent);color:var(--color-text-light)}
.btn-secondary{background:transparent}
.btn:hover,
button:hover,
input[type='submit']:hover{
    background:var(--color-accent);
    color:var(--color-text-light);
}

/* ==========================================================================
   CARDS
   ========================================================================== */
.cards-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:2rem;
}
.card{
    background:var(--color-text-light);
    border-radius:var(--radius);
    box-shadow:0 4px 16px rgba(0,0,0,.08);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    transition:transform var(--transition-fast);
}
.card:hover{transform:translateY(-6px)}
.card-image{
    width:100%;
    height:200px;
    overflow:hidden;
}
.card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    margin:0 auto;
}
.card-content{padding:1.5rem}

/* ==========================================================================
   WEBINAR SLIDER (simple flex – JS animates)
   ========================================================================== */
.custom-slider{
    display:flex;
    gap:2rem;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
}
.custom-slider .card{min-width:300px;scroll-snap-align:start}

/* ==========================================================================
   GALLERY
   ========================================================================== */
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1rem;
}
.gallery-grid .image-container{
    height:230px;
    overflow:hidden;
    border-radius:var(--radius);
}
.gallery-grid img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform var(--transition-fast);
}
.gallery-grid img:hover{transform:scale(1.05)}

/* ==========================================================================
   ACCOLADES/BANNER with glassmorphism
   ========================================================================== */
.accolades-section{
    backdrop-filter:blur(6px);
    background:rgba(255,255,255,0.6);
    border:1px solid rgba(255,255,255,0.3);
}

/* ==========================================================================
   CONTACT FORM
   ========================================================================== */
.contact-form{margin-top:2rem}
.form-group{display:flex;flex-direction:column;margin-bottom:1.5rem}
.form-group label{margin-bottom:.5rem;font-weight:600}
.form-group input,
.form-group textarea{
    padding:.75rem 1rem;
    border:1px solid var(--color-border);
    border-radius:var(--radius);
    font-family:'Lato',sans-serif;
    font-size:1rem;
}
.form-group input:focus,
.form-group textarea:focus{outline:none;border-color:var(--color-accent)}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{
    background:var(--color-bg-alt);
    padding:2rem 0;
    text-align:center;
}
.footer-links,
.social-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}
.site-footer a{color:var(--color-text);font-weight:600}
.site-footer a:hover{text-decoration:underline}
.social-links a{position:relative;padding-left:24px}
.social-links a::before{
    content:'#';
    position:absolute;
    left:0;
    color:var(--color-muted);
    font-weight:700;
}

/* ==========================================================================
   READ MORE LINKS
   ========================================================================== */
.read-more{
    font-weight:700;
    position:relative;
}
.read-more::after{
    content:'→';
    margin-left:.35rem;
    transition:margin-left var(--transition-fast);
}
.read-more:hover::after{margin-left:.6rem}

/* ==========================================================================
   PAGE-SPECIFIC
   ========================================================================== */
.success-page{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.privacy-page,
.terms-page{padding-top:100px}

/* ==========================================================================
   ANIMATIONS (MORPHING)
   ========================================================================== */
@keyframes morph{
    0%{border-radius:42% 58% 31% 69% / 52% 33% 67% 48%}
    50%{border-radius:64% 36% 52% 48% / 43% 61% 39% 57%}
    100%{border-radius:42% 58% 31% 69% / 52% 33% 67% 48%}
}
.morph{
    animation:morph 8s ease-in-out infinite;
}

/* ==========================================================================
   PARALLAX HELPER
   ========================================================================== */
.parallax{
    background-attachment:fixed;
    background-size:cover;
    background-repeat:no-repeat;
}

/* ==========================================================================
   MEDIA QUERIES
   ========================================================================== */
@media(max-width:640px){
    h1{font-size:1.75rem}
    h2{font-size:1.5rem}
    .hero-section{min-height:60vh;padding:3rem 0}
}