
/* ==========================
   FONTS
========================== */


/* manrope-300 */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/manrope-v20-cyrillic_latin-300.woff2') format('woff2');
}

/* manrope-regular (400) */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/manrope-v20-cyrillic_latin-regular.woff2') format('woff2');
}

/* manrope-500 */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/manrope-v20-cyrillic_latin-500.woff2') format('woff2');
}

/* manrope-600 */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/manrope-v20-cyrillic_latin-600.woff2') format('woff2');
}

/* manrope-700 */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/manrope-v20-cyrillic_latin-700.woff2') format('woff2');
}

/* manrope-800 */
@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/manrope-v20-cyrillic_latin-800.woff2') format('woff2');
}


/* ==========================
   RESET
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:"Manrope",sans-serif;
    background:#F8F7EF;
    color:#111;
    overflow-x:hidden;

}

/* ==========================
   VARIABLES
========================== */

:root{

    --accent:#D2F25C;
    --black:#151515;
    --text:#1A1A1A;
    --gray:#555555;
    --white:#FFFFFF;

}



.container{

    width:min(1180px,92%);
    margin:auto;

}



.background-blur{

    position:fixed;
    border-radius:50%;
    filter:blur(140px);
    z-index:-2;

}

.blur-1{

    width:420px;
    height:420px;

    background:#E8FF7B;

    left:-120px;
    top:-80px;

}

.blur-2{

    width:420px;
    height:420px;

    background:#D8FF45;

    right:-120px;
    top:120px;

}

/* ==========================
   HEADER
========================== */

.header{

    position:fixed;
    width:100%;
    top:24px;
    left:0;
    z-index:1000;

}

.header .container{

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:14px 24px;

    background:rgba(255,255,255,.55);

    backdrop-filter:blur(20px);

    border-radius:999px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

}



.logo{

    display:flex;
    align-items:center;
    gap:14px;

    text-decoration:none;

    color:#111;

    font-weight:800;
    font-size:28px;

}

.logo-icon{

    width:36px;
    height:36px;

    border-radius:12px;

    background:var(--accent);

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:15px;

    font-weight:800;

}

/* ==========================
   BUTTONS
========================== */

.btn{

    display:inline-flex;

    justify-content:center;
    align-items:center;

    text-decoration:none;

    border:none;

    cursor:pointer;

    border-radius:999px;

    padding:18px 34px;

    font-weight:700;

    transition:.3s;

}

.btn-dark{

    background:#111;

    color:#fff;

}

.btn-dark:hover{

    transform:translateY(-3px);

}

.btn-primary{

    background:var(--accent);

    color:#111;

    box-shadow:0 15px 30px rgba(217,255,74,.4);

}

.btn-primary:hover{

    transform:translateY(-5px);

}

.btn-secondary{

    background:#fff;

    color:#111;

    border:1px solid rgba(0,0,0,.08);

}

.btn-secondary:hover{

    transform:translateY(-5px);

}
/* ==========================
   HERO
========================== */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:120px;

}

.hero-container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.subtitle{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:12px 20px;

    border-radius:999px;

    background:#fff;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    font-size:15px;

    color:#666;

    margin-bottom:30px;

}

.hero h1{

    font-size:78px;

    line-height:.95;

    letter-spacing:-3px;

    margin-bottom:30px;

    font-weight:800;

}

.accent{

    color:var(--accent);

}

.hero p{

    max-width:560px;

    font-size:22px;

    color:#666;

    line-height:1.7;

    margin-bottom:45px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

/* ==========================
   PHOTO
========================== */

.hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.photo-glow{

    position:absolute;

    width:480px;

    height:480px;

    border-radius:50%;

    background:radial-gradient(circle,
        rgba(217,255,74,.85) 0%,
        rgba(217,255,74,.35) 45%,
        transparent 75%);

    filter:blur(55px);

    animation:glow 6s ease infinite;

}

.teacher-photo{

    position:relative;

    width:470px;

    max-width:100%;

    z-index:2;

    filter:drop-shadow(0 30px 50px rgba(0,0,0,.18));

}



@keyframes glow{

    0%{

        transform:scale(.95);

    }

    50%{

        transform:scale(1.05);

    }

    100%{

        transform:scale(.95);

    }

}



.popup{

    position:fixed;
    inset:0;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.45);
    backdrop-filter:blur(8px);

    opacity:0;
    visibility:hidden;

    transition:.35s;

    z-index:2000;

}

.popup.active{

    opacity:1;
    visibility:visible;

}

.popup-window{

    position:relative;

    width:min(92%,480px);

    padding:50px;

    background:#fff;

    border-radius:32px;

    box-shadow:0 35px 80px rgba(0,0,0,.2);

    text-align:center;

}

.popup-window h2{

    font-size:34px;

    margin-bottom:16px;

}

.popup-window p{

    color:#666;

    margin-bottom:35px;

}

.popup-buttons{

    display:flex;

    flex-direction:column;

    gap:16px;

}

.popup-close{

    position:absolute;

    top:20px;
    right:22px;

    width:42px;
    height:42px;

    border:none;

    background:#f3f3f3;

    border-radius:50%;

    font-size:24px;

    cursor:pointer;

}



.footer{

    padding:60px 0;

    border-top:1px solid rgba(0,0,0,.06);

}

.footer-content{

    text-align:center;

}

.footer p{

    color:#666;

    margin:8px 0;

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:960px){

.hero{

    padding-top:160px;

}

.hero-container{

    grid-template-columns:1fr;

    text-align:center;

}

.hero-content{

    order:2;

}

.hero-image{

    order:1;

}

.hero p{

    margin-left:auto;
    margin-right:auto;

}

.hero-buttons{

    justify-content:center;

}

.hero h1{

    font-size:58px;

}

.teacher-photo{

    width:360px;

}

.photo-glow{

    width:340px;
    height:340px;

}

}

@media(max-width:640px){

.header{

    top:16px;

}

.header .container{

    padding:14px 18px;

}

.logo{

    font-size:22px;

}

.hero{

    min-height:auto;

    padding:150px 0 80px;

}

.hero h1{

    font-size:44px;

    letter-spacing:-2px;

}

.hero p{

    font-size:18px;

}

.subtitle{

    font-size:13px;

}

.hero-buttons{

    flex-direction:column;

}

.hero-buttons .btn{

    width:100%;

}

.teacher-photo{

    width:290px;

}

.photo-glow{

    width:270px;
    height:270px;

}

.popup-window{

    padding:35px 25px;

}

.popup-window h2{

    font-size:28px;

}

}
.header-scroll .container{

    background:rgba(255,255,255,.8);

    backdrop-filter:blur(28px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}




.popup-window{
    width:min(94%,720px)!important;
    padding:60px!important;
    border-radius:36px!important;
    text-align:left!important;
}

.popup-subtitle{
    display:inline-block;
    padding:10px 18px;
    border-radius:999px;
    background:rgba(217,255,74,.2);
    color:#7f9f00;
    font-size:14px;
    font-weight:700;
    margin-bottom:20px;
}

.popup-window h2{
    font-size:52px!important;
    line-height:1;
    margin-bottom:18px!important;
}

.popup-description{
    font-size:18px;
    color:#666;
    line-height:1.7;
    margin-bottom:36px;
}

.contact-form{
    margin-top:20px;
}

.form-group{
    margin-bottom:22px;
}

.form-group label{
    display:block;
    font-weight:700;
    margin-bottom:10px;
}

.form-group input,
.form-group select{
    width:100%;
    height:64px;
    border:2px solid #ececec;
    border-radius:18px;
    padding:0 22px;
    font:inherit;
    font-size:18px;
    background:#fff;
    transition:.25s;
}

.form-group input:focus,
.form-group select:focus{
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 0 4px rgba(217,255,74,.18);
}

.form-button{
    width:100%;
    margin-top:14px;
    height:68px;
    font-size:20px;
}

@media(max-width:640px){
    .popup-window{
        width:min(94%,420px)!important;
        padding:32px!important;
    }
    .popup-window h2{
        font-size:34px!important;
    }
}
