@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');


:root{--bg:#f3f6fb;
    --surface:#fff;
    --surface-2:#edf2f8;
    --text:#111827;
    --muted:#5d6675;
    --line:#dce3ec;
    --accent:#ff6b2c;
    --accent-2:#18b9a4;
    --shadow:0 24px 70px rgba(15,23,42,.12);--radius:22px;
    --max:1180px;--focus:#2563eb}

html[data-theme="dark"]
{--bg:#070d16;--surface:#0e1724;
    --surface-2:#121e2d;
    --text:#f7f9fc;
    --muted:#9aa8ba;
    --line:#223247;
    --shadow:0 24px 70px rgba(0,0,0,.4);
    --focus:#60a5fa}
*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{margin:0;
    background:var(--bg);
    color:var(--text);
     font-family:"Manrope",sans-serif;
    line-height:1.55;
    transition:background .25s,color .25s}
    
body.no-scroll{overflow:hidden}
    
img{max-width:100%;
        display:block}

a{color:inherit;
    text-decoration:none}
        
button,input,select,textarea{font:inherit;color:inherit}
    
.container{width:min(var(--max),calc(100% - 34px));
    margin-inline:auto}
.skip-link{position:fixed;
    left:12px;
    top:-70px;
    z-index:9999;
    background:var(--accent);
    color:#fff;
    padding:12px 18px;
    border-radius:10px
}

.skip-link:focus{top:12px
}

:focus-visible{outline:3px solid var(--focus);
    outline-offset:3px
}

.loader{position:fixed;
    inset:0;z-index:9998;
    display:grid;
    place-items:center;
    background:#070d16;
    color:#fff;
    transition:opacity .45s,visibility .45s
}

.loader.hidden{opacity:0;
    visibility:hidden
}

.loader-core{text-align:center
}

.loader-word{font-weight:900;
    letter-spacing:.22em;
    font-size:clamp(28px,6vw,68px);
    text-transform:uppercase}
    
.loader-word span{display:inline-block;
    animation:loaderPulse 1.05s infinite alternate
}

.loader-word span:nth-child(2){animation-delay:.08s
}

.loader-word span:nth-child(3){animation-delay:.16s
}

.loader-word span:nth-child(4){animation-delay:.24s
}

.loader-word span:nth-child(5){animation-delay:.32s
}

.loader-word span:nth-child(6){animation-delay:.4s
}

.loader-word span:nth-child(7){animation-delay:.48s
}

.loader-word span:nth-child(8){animation-delay:.56s}

.loader-bar{width:240px;
    height:4px;
    margin:24px auto 0;border-radius:20px;
    background:#273244;
    overflow:hidden
}

.loader-bar::after{content:"";
    display:block;
    width:42%;
    height:100%;
    background:linear-gradient(90deg,var(--accent),#ffc247);animation:loaderMove 1s infinite ease-in-out}

@keyframes loaderPulse{to{color:var(--accent);
    transform:translateY(-7px)}}
    
@keyframes loaderMove{from{transform:translateX(-115%)}to{transform:translateX(340%)}}

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

.site-header{
    position:fixed;
    top:18px;
    left:50%;
    transform:translateX(-50%);
    width:min(1280px,calc(100% - 50px));
    z-index:999;

    background:rgba(15,23,42,.45);
    backdrop-filter:blur(22px) saturate(180%);
    -webkit-backdrop-filter:blur(22px) saturate(180%);

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

    border-radius:24px;

    box-shadow:
    0 8px 40px rgba(0,0,0,.35),
    inset 0 1px rgba(255,255,255,.08);

    transition:.4s ease;
}

.site-header:hover{

    background:rgba(15,23,42,.58);

    border-color:rgba(255,255,255,.15);

}
    
.header-row{min-height:78px;
    display:grid;
    grid-template-columns:180px 1fr auto;align-items:center;
    gap:22px
}

.brand img{width:145px;
    height:54px;
    object-fit:contain}.nav{display:flex;justify-content:center;
    gap:28px;
    font-size:14px;
    font-weight:700}
    
.nav{

    gap:40px;

}

.nav a{

    font-size:15px;

    font-weight:600;

    letter-spacing:.02em;

    color:#d6dde8;

    transition:.35s;

}

.nav a:hover{

    color:white;

}

.nav a::after{

    height:3px;

    border-radius:20px;

    background:linear-gradient(90deg,#00E5FF,#4F8CFF);

}

::after{right:0}

.header-tools{display:flex;
    align-items:center;
    gap:10px
}

.icon-button,.theme-toggle,.menu-button{width:44px;
    height:44px;
    border:1px solid var(--line);border-radius:50%;
    background:var(--surface);
    display:grid;
    place-items:center;
    cursor:pointer}
    .theme-toggle{width:66px;
        border-radius:999px;
        display:flex;
        padding:4px;
        justify-content:flex-start
    }
    
.theme-toggle .thumb{width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--accent);
    color:#fff;
    transition:transform .25s
}
.theme-toggle[aria-pressed="true"]

.thumb{transform:translateX(22px)}

.menu-button{display:none}

.cta{display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;padding:12px 19px;
    border-radius:999px;
    background:var(--accent);
    color:#fff;
    font-weight:800;
    border:0;
    cursor:pointer}
    
.cta.secondary{background:var(--surface);
    color:var(--text);
    border:1px solid var(--line)}
    
.mobile-nav{display:none}


.hero{position:relative;
    overflow:hidden;
    padding:88px 0 74px;
    background:radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--accent-2) 25%,transparent),transparent 33%),radial-gradient(circle at 16% 80%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 31%)}

.hero-grid{display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:54px
}

.eyebrow{display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:color-mix(in srgb,var(--accent) 13%,var(--surface));
    color:var(--accent);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em}
    
.hero h1{margin:18px 0;
    font-size:clamp(48px,7vw,82px);
    line-height:.98;
    letter-spacing:-.06em}

 .hero h1 span,.accent{color:var(--accent)}
 
 .hero p{max-width:620px;
    color:var(--muted);
    font-size:18px}
    
.hero-actions{display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px}
    
.hero-media{position:relative;
    min-height:520px
}

.hero-photo{position:absolute;
    inset:20px 20px 0 50px;
    border-radius:42px;
    overflow:hidden;
    box-shadow:var(--shadow);
    background:var(--surface)
}

.hero-photo img{width:100%;
    height:100%;
    object-fit:cover
}

.floating-note{position:absolute;
    padding:13px 16px;
    border:1px solid var(--line);
    border-radius:16px;
    background:var(--surface);
    box-shadow:var(--shadow);
    font-weight:800;animation:float 3s ease-in-out infinite}
    
.floating-note.one{left:0;top:80px}

.floating-note.two{right:0;bottom:85px;
    animation-delay:.7s}
    
.floating-note.three{right:15px;
    top:20px;
    animation-delay:1.2s}
    
@keyframes float{50%{transform:translateY(-12px)}}

.stats{display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-top:42px}
    
.stat{padding:20px;
    border:1px solid var(--line);
    border-radius:18px;
    background:var(--surface);
    box-shadow:0 12px 34px rgba(15,23,42,.06)}
    
.stat strong{display:block;
    font-size:28px}
    
.stat span{color:var(--muted);
    font-size:13px}

.section{padding:88px 0}

.section.alt{background:var(--surface-2)}

.section-head{display:flex;
    justify-content:space-between;
    align-items:end;
    gap:25px;
    margin-bottom:34px}
    
.section-head h2{margin:10px 0 0;
    font-size:clamp(34px,5vw,56px);
    line-height:1.03;
    letter-spacing:-.05em}
.section-head p{max-width:540px;
    color:var(--muted)}
    
.filter-tabs{display:flex;
    gap:10px;
    flex-wrap:wrap}
    
.filter-button{padding:10px 15px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--surface);
    cursor:pointer;
    font-weight:750}
    
.filter-button.active{background:var(--text);
    color:var(--bg)}

.course-grid{display:grid;
    grid-template-columns:repeat(2,1fr);gap:22px}
    
.course-card{display:grid;
    grid-template-columns:230px 1fr;
    min-height:350px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--surface);
    box-shadow:0 16px 42px rgba(15,23,42,.07);
    transition:transform .25s,box-shadow .25s}
    
.course-card:hover{transform:translateY(-7px);
    box-shadow:var(--shadow)}
    
.course-card>img{width:100%;
    height:100%;
    object-fit:cover}
    
.course-content{padding:25px;
    display:flex;
    flex-direction:column}
    
.course-content h3{font-size:25px;
    margin:10px 0}

.course-content p{color:var(--muted);
    margin:0}

.course-meta{display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:16px 0}
    
.pill{padding:6px 10px;
    border-radius:999px;
    background:var(--surface-2);
    font-size:11px;font-weight:800}
    
.course-actions{margin-top:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px}
    
.text-link{color:var(--accent);
    font-weight:850;
    background:none;
    border:0;
    padding:0;
    cursor:pointer}
    
.curriculum{display:none;
    margin-top:18px;
    border-top:1px solid var(--line);
    padding-top:16px}
    
.curriculum.open{display:block}

.curriculum ul{columns:2;
    padding-left:18px;
    margin:0;
    color:var(--muted);
    font-size:13px}
    
.curriculum li{margin-bottom:7px;
    break-inside:avoid}

.mode-grid{display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px}
    
.mode-card{padding:30px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--surface);
    position:relative;
    overflow:hidden}
    
.mode-icon{font-size:42px}

.mode-card h3{font-size:23px;
    margin:18px 0 8px}
    
.mode-card p{color:var(--muted)}

.mode-card::after{content:"";
    position:absolute;
    width:150px;
    height:150px;
    right:-70px;
    bottom:-75px;
    border-radius:50%;
    background:color-mix(in srgb,var(--accent) 18%,transparent)}

.video-grid{display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:22px}
    
.video-card{border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--surface);
    box-shadow:0 15px 40px rgba(15,23,42,.08)}
    
.video-frame{position:relative;
    padding-top:56.25%;
    background:#000}
    
.video-frame iframe{position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0}
    
.video-copy{padding:18px}

.video-copy h3{margin:0 0 6px}

.video-copy p{margin:0;
    color:var(--muted);
    font-size:14px}

.shop-teaser{display:grid;
    grid-template-columns:1fr .8fr;
    gap:34px;
    align-items:center;
    padding:44px;
    border-radius:32px;
    background:linear-gradient(135deg,#0a111d,#18243a);
    color:white;
    overflow:hidden}
    
.shop-teaser img{border-radius:25px;
    background:white}
    
.shop-teaser p{color:#b9c5d6}

.shop-teaser h2{font-size:clamp(35px,5vw,60px);
    line-height:1.02;
    margin:14px 0}
    
.shop-teaser .cta.secondary{background:transparent;
    color:white;
    border-color:#46536a}

.faq{display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:52px}
    
.faq-item{border-bottom:1px solid var(--line)}

.faq-item button{width:100%;
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:20px 0;
    border:0;
    background:none;
    text-align:left;
    font-weight:850;
    cursor:pointer}
    
.faq-answer{max-height:0;
    overflow:hidden;
    color:var(--muted);
    transition:max-height .3s}
    
.faq-item.open .faq-answer{max-height:220px}

.faq-answer p{margin:0 0 20px}

.site-footer{padding:54px 0 25px;
    background:#080e18;
    color:#fff}
    
.footer-grid{display:grid;
    grid-template-columns:1.2fr .8fr .8fr 1fr;
    gap:34px}
    
.footer-logo{width:150px;
    filter:brightness(0) invert(1)}
    
.site-footer p,.site-footer li,.site-footer a{color:#aab5c5;
    font-size:14px}
    
.site-footer ul{list-style:none;
    padding:0;margin:0}
    
.site-footer li{margin:8px 0}

.social-links{display:flex;
    gap:10px;
    flex-wrap:wrap}
    
.social-link{display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border:1px solid #293548;
    border-radius:999px}
    
.footer-bottom{margin-top:35px;
    padding-top:20px;
    border-top:1px solid #263246;
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:#8694a8;
    font-size:12px
}

.reveal{opacity:0;
    transform:translateY(25px);
    transition:.65s ease}
    
.reveal.visible{opacity:1;transform:none}
/* shop */
.shop-hero{padding:65px 0 50px;
    background:linear-gradient(135deg,#07101c,#15243b);
    color:white}
    
.shop-hero-grid{display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center
}

.shop-hero h1{font-size:clamp(42px,6vw,70px);
    line-height:1;
    letter-spacing:-.055em;
    margin:16px 0
}

.shop-hero p{color:#b7c4d5}

.shop-art{height:430px;
    border-radius:30px;
    background:radial-gradient(circle at center,#253b62,#0c1422);
    display:grid;
    place-items:center;
    overflow:hidden}
    
.shop-art img{width:90%;
    filter:drop-shadow(0 30px 30px rgba(0,0,0,.35))}
    
.benefit-strip{display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-top:-25px;
    position:relative;
    z-index:3}
    
.benefit{color:var(--text);
    padding:18px;
    border-radius:18px;
    background:var(--surface);
    border:1px solid var(--line);
    box-shadow:var(--shadow);
    font-size:13px}
    
.benefit strong{display:block;margin-bottom:5px}

.catalog-controls{display:grid;
    grid-template-columns:1fr auto auto;
    gap:12px;margin-bottom:25px}
    
.search-box,.sort-select{height:48px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    padding:0 15px}
    
.category-tabs{display:flex;
    gap:9px;
    flex-wrap:wrap;
    margin-bottom:25px}
    
.category-tab{padding:12px 17px;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--surface);
    font-weight:850;
    cursor:pointer}
    
.category-tab.active{background:var(--accent);
    border-color:var(--accent);
    color:white}
    
.product-grid{display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px}
    
.product-card{border:1px solid var(--line);
    border-radius:18px;
    background:var(--surface);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition:transform .2s}
    
.product-card:hover{transform:translateY(-5px)}

.product-image{aspect-ratio:1.24;
    background:var(--surface-2);
    overflow:hidden}
    
.product-image img{width:100%;
    height:100%;
    object-fit:cover}
    
.product-info{padding:16px;
    display:flex;
    flex:1;
    flex-direction:column}
    
.product-brand{color:var(--muted);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em}
    
.product-info h3{font-size:15px;
    margin:7px 0;
    line-height:1.35}
    
.product-specs{color:var(--muted);
    font-size:12px}
    
.product-bottom{margin-top:auto;
    padding-top:14px;
    display:flex;
    align-items:center;
    justify-content:space-between}
    
.price{font-weight:900;
    color:var(--accent)}
    
.view-product{border:1px solid var(--line);
    background:var(--surface);
    border-radius:10px;
    padding:8px 10px;
    cursor:pointer}
    
.pagination{display:flex;
    justify-content:center;
    gap:7px;
    margin-top:30px}
    
.page-button{width:42px;
    height:42px;
    border:1px solid var(--line);
    background:var(--surface);
    border-radius:11px;
    cursor:pointer}
    
.page-button.active{background:var(--accent);
    color:white;
    border-color:var(--accent)}

.repair-section{padding:60px 0}

.repair-box{padding:35px;
    border:1px solid var(--line);
    border-radius:28px;
    background:var(--surface);
    box-shadow:var(--shadow)}

.repair-grid{display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:35px}
    
.booking-form{display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px}
    
.booking-form label{font-size:13px;
    font-weight:800}
    
.booking-form input,.booking-form select,.booking-form textarea{width:100%;
    margin-top:6px;
    padding:13px;
    border:1px solid var(--line);border-radius:12px;
    background:var(--bg)}
    
.booking-form .full{grid-column:1/-1}

.booking-result{margin-top:15px;
    padding:14px;
    border-radius:12px;
    background:var(--surface-2);
    display:none}
    
.booking-result.visible{display:block}

.geo-button{margin-top:10px;
    background:none;
    border:0;
    color:var(--accent);
    font-weight:800;
    cursor:pointer}
    
.shop-footer .footer-grid{grid-template-columns:1.5fr 1fr 1fr}

.modal{position:fixed;
    inset:0;
    z-index:500;
    display:none;
    place-items:center;
    padding:20px;
    background:rgba(2,6,23,.72)}
    
.modal.open{display:grid}

.modal-card{width:min(620px,100%);
    max-height:90vh;overflow:auto;
    border-radius:24px;
    background:var(--surface);
    padding:28px;
    box-shadow:var(--shadow)}
    
.modal-close{float:right;
    width:40px;
    height:40px;
    border-radius:50%;
    border:1px solid var(--line);
    background:var(--surface);
    cursor:pointer}

@media(max-width:1000px)
    {.header-row{grid-template-columns:150px 1fr auto}
    
    .nav{gap:15px}
    
    .hero-grid,.shop-hero-grid,.shop-teaser,.repair-grid{grid-template-columns:1fr}
    
    .hero-media{min-height:460px}
    
    .course-grid{grid-template-columns:1fr}
    
    .product-grid{grid-template-columns:repeat(3,1fr)}
    
    .footer-grid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:760px)

    {.container{width:min(var(--max),calc(100% - 24px))}
    
    .header-row{grid-template-columns:1fr auto}
    
    .nav,.header-tools>.cta{display:none}
    
    .menu-button{display:grid}
    
    .mobile-nav{position:absolute;left:0;
        right:0;
        top:78px;
        padding:15px;
        background:var(--surface);
        border-bottom:1px solid var(--line)}
    
    .mobile-nav.open{display:grid}
    
    .mobile-nav a{padding:12px}
    
    .hero{padding-top:52px}
    
    .hero-grid{gap:15px}
    
    .hero-media{min-height:420px}
    
    .hero-photo{inset:20px 5px 0}
    
    .floating-note{font-size:12px}
    
    .stats,.mode-grid,.benefit-strip{grid-template-columns:repeat(2,1fr)}
    
    .section{padding:65px 0}
    
    .section-head{align-items:start;
        flex-direction:column}
        
    .course-card{grid-template-columns:1fr}
    
    .course-card>img{height:230px}
    
    .video-grid,.faq,.footer-grid,.shop-footer .footer-grid{grid-template-columns:1fr}
    
    .shop-teaser{padding:28px}
    
    .product-grid{grid-template-columns:repeat(2,1fr)}
    
    .catalog-controls{grid-template-columns:1fr}
    
    .booking-form{grid-template-columns:1fr}
    
    .booking-form .full{grid-column:auto}
    
    .footer-bottom{flex-direction:column}.curriculum ul{columns:1}}

@media(max-width:480px)
    {.product-grid,.stats,.benefit-strip{grid-template-columns:1fr}
    
    .hero h1{font-size:44px}
    
    .hero-media{min-height:360px}
    
    .floating-note.three{display:none}
    
    .product-image{aspect-ratio:1.4}}

@media(prefers-reduced-motion:reduce)
    {*,*::before,*::after{animation-duration:.001ms!important;
        animation-iteration-count:1!important;
        scroll-behavior:auto!important;
        transition-duration:.001ms!important}
        .reveal{opacity:1;transform:none}}
