
@font-face {
    font-family: 'Cairo';
    src: url('../fonts/Cairo-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Cairo';
    src: url('../fonts/Cairo-Medium.ttf') format('truetype');
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'Cairo';
    src: url('../fonts/Cairo-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Cairo';
    src: url('../fonts/Cairo-Black.ttf') format('truetype');
    font-style: normal;
    font-weight: 900;
    font-display: swap;
}
:root{--orange:#f29100;--teal:#078ead;--ink:#2a2a2a;--soft:#fff9f6;--bs-body-font-family:Cairo,Tahoma,Arial,sans-serif;--bs-font-sans-serif:Cairo,Tahoma,Arial,sans-serif}
 *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Cairo,Tahoma,Arial,sans-serif;line-height:1.65}button,input,textarea,select,optgroup,option{font-family:Cairo,Tahoma,Arial,sans-serif}a{text-decoration:none;color:inherit}.wrap{width:min(1125px,calc(100% - 48px));margin-inline:auto}.topbar{height:115px;display:grid;place-items:center;background:#fff}
                                                                                                                                                                                                                                                                .topbar img{width:300px;height:125px;object-fit:contain}
                                                                                                                                                                                                                                                                                                                                     .hero{
                                                                                                                                                                                                                                                                                                                                         height:590px;
                                                                                                                                                                                                                                                                                                                                           background:url('../assets/b4dc86bc37856874.png') center/cover no-repeat;
                                                                                                                                                                                                                                                                                                                                           position:relative;overflow:hidden
                                                                                                                                                                                                                                                                                                                                     }
                                                                                                                                                                                                                                                                                                                                     .hero-student{position:absolute;width:min(430px,34vw);height:auto;left:49%;top:70px;transform:translateX(-50%)}.hero-copy{position:absolute;right:7%;top:310px;width:47%;text-align:right}
                                                                                                                                                                                                                                                                                                                                                                                                                                                    .hero h1{font-size:47px;line-height:1.1;margin:0;color:#000;font-weight:900}.hero-copy p{font-size:18px;margin:6px 0 16px}.hero-copy a{display:block;text-align:center;background:var(--teal);color:#fff;border-radius:6px;padding:13px 20px;font-weight:700}.about{padding:50px 0 80px}.about-panel{background:var(--orange);color:#fff;text-align:center;padding:48px 62px;margin-bottom:45px}
                                                                                                                                                                                                                                                                                                                                        .about-panel h2 {
                                                                                                                                                                                                                                                                                                                                            font-size: 22px;
                                                                                                                                                                                                                                                                                                                                            font-weight: bold;
                                                                                                                                                                                                                                                                                                                                            margin: 0 0 14px
                                                                                                                                                                                                                                                                                                                                        }
                                                                                                                                                                                                                                                                                                                                        .about-panel p{margin:7px 0; font-weight:400}.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.values-grid article{border:1px solid var(--orange);border-radius:25px;text-align:center;padding:8px 25px 13px;color:#777}.values-grid article.wide{grid-column:1/-1}.values-grid span,.values-grid h3{color:var(--orange)}.values-grid span{display:block;font-size:38px;line-height:1}.values-grid h3{font-size:22px;margin:5px 0 0}.values-grid p{margin:0}.programs{padding:25px 0 75px}.programs>h2,.gallery-section>h2,.offers>h2,.reviews>h2,.faq>h2{text-align:center;font-size:24px;margin:0 0 35px;font-weight:900}.program-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.program-grid article{grid-column:span 2;border:1px solid #e3e3e3;border-radius:5px;padding:32px 28px;display:flex;flex-direction:column;min-height:510px;text-align:center}.program-grid article:nth-child(n+4){grid-column:span 3;min-height:420px}.program-icon{color:#c2529a;font-size:72px;line-height:1}
.program-grid h3 {
    font-size: 20px;
    min-height: 62px;
    font-weight: 600;
    margin-top: 15px;
}
.program-grid p{color:#495470;flex:1}.program-grid a,.offer-grid a{background:var(--teal);color:#fff;border-radius:4px;padding:12px;font-weight:700}.gallery-section{padding:10px 0 85px}.gallery-row{height:370px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;overflow:hidden}.gallery-row img{width:100%;height:100%;object-fit:cover}.arrow{position:absolute;top:45%;border:0;background:rgba(255,255,255,.7);width:38px;height:54px;font-size:38px;color:#777;cursor:pointer}.prev{right:0}.next{left:0}.dots{text-align:center;margin-top:20px}.dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ddd;margin:0 5px;cursor:pointer}.dots button.active{background:#111}.offers{padding:25px 0 70px}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.offer-grid article{position:relative;padding:48px 38px 30px;text-align:center;box-shadow:0 2px 17px #ddd;min-height:390px}.badge{position:absolute;top:0;right:0;background:var(--orange);color:#fff;padding:8px 16px;border-radius:0 0 0 26px}.offer-icon{display:block;font-size:76px;color:#000}.offer-grid h3{font-size:24px}.offer-grid p{font-size:20px;color:#ff6e30}.offer-grid a{display:inline-block;border-radius:28px;padding-inline:25px}.combined{text-align:center;color:#ff6e30;font-weight:400;margin-top:34px}.why{background:var(--orange);color:#fff;position:relative;padding:100px 0 65px;margin-top:60px}.why-curve{position:absolute;left:0;right:0;top:-80px;height:120px;background:#fff;clip-path:polygon(0 0,34% 0,50% 70%,66% 0,100% 0,100% 100%,0 100%)}.why h2{text-align:center;font-size:24px}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.why-grid iframe{width:100%;aspect-ratio:16/10;border:0;border-radius:24px}.why-copy{font-size:16px}.why-copy ol{padding-right:20px}.why-copy h3{font-size:23px}.reviews{padding:85px 0;background:#fff9f6;width:100%;max-width:none}.reviews h2{width:min(1125px,calc(100% - 48px));margin-inline:auto;margin-bottom:35px}.review-row{width:min(1125px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.review-row img{width:100%;border-radius:28px}.contact{padding:70px 0}.contact form{background:var(--orange);color:#fff;border-radius:25px;padding:65px 34px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px 20px;align-items:start}.contact-title{grid-row:span 2;display:flex;flex-direction:column;align-self:center;text-align:center;font-size:24px}.contact-title strong{font-size:27px}.contact label{font-weight:700}.contact input,.contact textarea{display:block;width:100%;margin-top:8px;border:1px solid #777;background:#fff;padding:12px;font:inherit}.contact textarea{min-height:150px}.contact fieldset{border:0;padding:0;margin:0}.contact legend{font-weight:700;margin-bottom:8px}.contact label.check{display:block;font-weight:400}.contact label.check input{display:inline-block;width:auto;margin:0 0 0 8px}.contact form>button{grid-column:2/4;border:0;border-radius:8px;padding:10px;background:#fff;color:#d0a05d;font:inherit;cursor:pointer}.success{grid-column:2/4;margin:0;text-align:center;font-weight:700}.faq{padding:35px 0 95px}.faq article{margin:0 0 14px}.faq article>button{width:100%;border:1px solid #d6d6d6;background:#f0eeee;color:#37547a;border-radius:18px;text-align:right;padding:17px 22px;font:inherit;font-size:18px;cursor:pointer}.faq article>button span{float:left;font-weight:900}.faq article.open>button{background:var(--orange);color:#fff;border-color:var(--orange)}.faq article p{color:var(--orange);font-weight:700;padding:0 30px;margin:10px 0 25px}footer{text-align:center;padding:30px 30px 80px}footer>img{width:135px;height:135px;object-fit:contain}.socials{display:flex;justify-content:center;gap:22px;color:var(--orange);font-size:21px;margin:10px 0 25px}.footer-info{display:flex;justify-content:center;gap:80px;flex-wrap:wrap;color:#df8d14}.whatsapp,.book-now{position:fixed;z-index:20;bottom:10px}.whatsapp{left:8px;color:#09ba4b;font-size:37px}.whatsapp span{font-size:12px;background:#fff;padding:5px 9px;border-radius:12px;box-shadow:0 2px 8px #ccc;vertical-align:middle}.book-now{right:15px;background:var(--teal);color:#fff;padding:13px 15px;text-align:center;font-weight:700;border-radius:8px 8px 0 0}

.ytmVideoInfoVideoTitle {
    display: block;
    max-width: 100%;
    padding-top: 10px;
    overflow: hidden;
    white-space: nowrap;
    text-decoration: none;
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(95%, #fff), to(rgba(0, 0, 0, 0)));
    -webkit-mask-image: -webkit-linear-gradient(left, #fff 95%, rgba(0, 0, 0, 0));
    mask-image: -webkit-gradient(linear, left top, right top, color-stop(95%, #fff), to(rgba(0, 0, 0, 0)));
    mask-image: linear-gradient(to right, #fff 95%, rgba(0, 0, 0, 0));
}

.ytmVideoInfoVideoTitle {
    font-family: Roboto, "Arial", sans-serif;
    font-size: 2rem;
    line-height: 2.8rem;
    font-weight: 700;
}
@media(max-width:800px){.wrap{width:min(100% - 24px,640px)}.topbar{height:80px}.topbar img{width:62px;height:58px}.hero{height:500px;background-position:center}.hero-student{width:260px;top:100px;left:54%}.hero-copy{right:7%;top:300px;width:86%}
                                                                                                                                                                                                             .hero h1{font-size:32px}
                                                                                                                                                                                                             .about{padding-top:25px}.about-panel{padding:30px 18px}.values-grid,.offer-grid,.why-grid{grid-template-columns:1fr}.values-grid .wide{grid-column:auto}.program-grid{display:block}.program-grid article{margin-bottom:18px;min-height:auto}.gallery-row{grid-template-columns:1fr;height:360px}.gallery-row img:not(:first-child){display:none}.offer-grid article{min-height:340px}.why{padding-top:65px}.review-row{grid-template-columns:1fr}.review-row img:not(:first-child){display:none}.contact form{grid-template-columns:1fr;padding:35px 20px}.contact-title{grid-row:auto}.contact form>button,.success{grid-column:auto}.footer-info{gap:16px;flex-direction:column}.why-curve{top:-55px;height:80px}.faq article>button{font-size:16px}.whatsapp span{display:none}}
@media(max-width:430px){.hero{height:430px}.hero-student{width:210px;top:74px}.hero-copy{top:250px}.hero h1{font-size:28px}.hero-copy p{font-size:15px}.about-panel h2{font-size:19px}.programs>h2,.gallery-section>h2,.offers>h2,.reviews>h2,.faq>h2{font-size:21px}.offer-grid h3{font-size:21px}}

/* FAQ accordion */
.faq .accordion {
    --bs-accordion-border-width: 0;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 3px rgba(7, 142, 173, .18);
    display: grid;
    gap: 14px;
    direction: rtl;
}

.faq .accordion-item {
    overflow: hidden;
    border: 1px solid #e1e1e1;
    border-radius: 18px;
    background: #fff;
}

.faq .accordion-button {
    position: relative;
    min-height: 60px;
    padding: 16px 24px 16px 58px;
    border-radius: 17px;
    background: #f4f4f4;
    color: var(--teal);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
    text-align: right;
    box-shadow: none;
}

.faq .accordion-button:not(.collapsed) {
    border-radius: 17px 17px 0 0;
    background: var(--orange);
    color: #fff;
    box-shadow: none;
}

.faq .accordion-button::after {
    position: absolute;
    top: 50%;
    left: 24px;
    width: 11px;
    height: 11px;
    margin: 0;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    background: none;
    transform: translateY(-65%) rotate(45deg);
    transform-origin: center;
}

.faq .accordion-button:not(.collapsed)::after {
    background: none;
    transform: translateY(-35%) rotate(225deg);
}

.faq .accordion-body {
    padding: 18px 28px 22px;
    color: #4d4d4d;
    line-height: 1.9;
    text-align: right;
}

.faq .accordion-body p {
    margin: 0;
    padding: 0;
    color: inherit;
    font-weight: 400;
}

@media(max-width:800px) {
    .faq .accordion-button {
        min-height: 56px;
        padding: 14px 18px 14px 48px;
        font-size: 16px;
    }

    .faq .accordion-button::after {
        left: 19px;
    }

    .faq .accordion-body {
        padding: 15px 20px 19px;
    }
}

/* Curved top edge for the "Why choose us" section */
.why {
    margin-top: 245px;
    padding-top: 18px;
}

.why-curve {
    position: absolute;
    top: auto;
    right: 0;
    bottom: calc(100% - 1px);
    left: 0;
    display: block;
    width: 100%;
    height: 190px;
    overflow: visible;
    background: transparent;
    clip-path: none;
    fill: var(--orange);
    pointer-events: none;
}

@media(max-width:800px) {
    .why {
        margin-top: 135px;
        padding-top: 24px;
    }

    .why-curve {
        height: 90px;
    }
}

/* Gentle floating motion for offer cards */
.offer-grid article {
    transition: transform .3s ease, box-shadow .3s ease;
    will-change: transform;
}

.offer-grid article:hover,
.offer-grid article:focus-within {
    animation: offer-card-float 1.8s ease-in-out infinite;
    box-shadow: 0 12px 28px rgba(42, 42, 42, .14);
}

@keyframes offer-card-float {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}

@media(prefers-reduced-motion: reduce) {
    .offer-grid article {
        transition: none;
    }

    .offer-grid article:hover,
    .offer-grid article:focus-within {
        animation: none;
    }
}

.contact form > button:disabled {
    cursor: wait;
    opacity: .7;
}

.contact .form-honey {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.form-status {
    grid-column: 2 / 4;
    margin: 0;
    text-align: center;
    font-weight: 700;
}

.form-status.error {
    padding: 8px 12px;
    color: #721c24;
    background: #f8d7da;
    border-radius: 6px;
}

@media(max-width:800px) {
    .form-status {
        grid-column: auto;
    }
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: Cairo;
}
