:root{
    --bg:#ffffff;
    --text:#444444;
    --muted:#777777;
    --dark:#0c0c0c;
    --accent:#e21f2f;
    --line:#e9e9e9;
    --soft:#f5f5f5;
    --max:1200px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
    font-family:Arial,Helvetica,sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}

.topbar{
    background:#f5f5f5;
    border-bottom:1px solid #ededed;
    color:#888;
    font-size:14px;
}
.topbar-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:42px;
    gap:12px;
}
.topbar-right{display:flex;gap:10px;align-items:center}
.social-link img{width:20px;height:20px;object-fit:contain}

.main-header{background:#000}
.header-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:18px 0;
}
.logo img{max-height:64px;width:auto}
.main-nav{display:flex;gap:18px;flex-wrap:wrap}
.main-nav a{
    color:#fff;
    font-weight:700;
    padding:8px 0;
    border-bottom:3px solid transparent;
}
.main-nav a.active,
.main-nav a:hover{border-bottom-color:var(--accent)}

.hero{
    background:#111;
    color:#fff;
    padding:90px 0 80px;
}
.hero h1{
    margin:0 0 16px;
    font-size:48px;
    line-height:1.1;
}
.hero p{
    font-size:18px;
    color:#ddd;
    max-width:760px;
    margin:0 0 24px;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}

.page-hero{
    background:#111;
    color:#fff;
    padding:42px 0;
}
.page-hero h1{margin:0;font-size:36px}

.section{padding:56px 0}
.section-alt{background:var(--soft)}
.section-title{margin:0 0 24px;font-size:30px}

.grid{display:grid;gap:24px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.two-col{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:32px;
    align-items:start;
}
.stack{display:grid;gap:20px}

.card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    overflow:hidden;
}
.card img{
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
}
.card-body{padding:16px}
.card-body h2{margin:0;font-size:20px}

.btn{
    display:inline-block;
    padding:12px 18px;
    border-radius:6px;
    font-weight:700;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-secondary{background:#fff;color:#111}

.rounded{
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--line);
}
.gallery-card img{aspect-ratio:4/3}
.qr-big{max-width:220px}

.contact-form{
    display:grid;
    gap:16px;
}
.contact-form label{
    display:grid;
    gap:8px;
    font-weight:700;
}
.contact-form input,
.contact-form textarea{
    width:100%;
    padding:12px 14px;
    border:1px solid #ccc;
    border-radius:6px;
    font:inherit;
}
.notice{
    padding:14px 16px;
    border-radius:6px;
    margin-bottom:18px;
}
.notice.success{background:#e9f8ee;color:#146c2e}
.notice.error{background:#fdeaea;color:#9f1d1d}

.site-footer{
    background:#111;
    color:#ddd;
    margin-top:40px;
    padding-top:40px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr .8fr;
    gap:32px;
}
.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}
.footer-links li{margin:0 0 8px}
.footer-qr{max-width:120px}
.copyright{
    border-top:1px solid rgba(255,255,255,.08);
    margin-top:28px;
    padding:18px 0;
    font-size:14px;
    color:#aaa;
}

@media (max-width: 991px){
    .grid-4,.grid-3,.two-col,.footer-grid{grid-template-columns:1fr 1fr}
    .hero h1{font-size:38px}
}
@media (max-width: 700px){
    .header-inner,.topbar-inner{flex-direction:column;align-items:flex-start}
    .grid-4,.grid-3,.two-col,.footer-grid{grid-template-columns:1fr}
    .hero{padding:70px 0 60px}
    .hero h1{font-size:32px}
}

.hero-slider{
    position:relative;
    background:#000;
    min-height:560px;
    overflow:hidden;
}
.hero-slider__track{
    position:relative;
    width:100%;
    min-height:560px;
}
.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .6s ease;
}
.hero-slide.is-active{
    opacity:1;
    z-index:1;
}
.hero-slide img{
    width:100%;
    height:560px;
    object-fit:cover;
    display:block;
}
.hero-slider__overlay{
    position:relative;
    z-index:2;
}
.hero-slider__content{
    color:#fff;
    padding:110px 0 90px;
    max-width:760px;
}
.hero-slider__content h1{
    margin:0 0 16px;
    font-size:52px;
    line-height:1.05;
}
.hero-slider__content p{
    margin:0 0 22px;
    font-size:18px;
    color:#f0f0f0;
}
.hero-slider__actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.hero-slider__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:3;
    width:48px;
    height:48px;
    border:0;
    border-radius:999px;
    background:rgba(0,0,0,.45);
    color:#fff;
    font-size:28px;
    cursor:pointer;
}
.hero-slider__nav--prev{left:18px}
.hero-slider__nav--next{right:18px}

.home-intro{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:32px;
    align-items:center;
}
.home-intro__side img{
    max-width:100%;
    height:auto;
    display:block;
}
.home-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}
.home-card{
    border:1px solid #e5e5e5;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}
.home-card img{
    display:block;
    width:100%;
    height:230px;
    object-fit:cover;
}
.quick-links{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}
.quick-link{
    display:block;
    border:1px solid #e5e5e5;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
    text-align:center;
    font-weight:700;
}
.quick-link img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}
.quick-link span{
    display:block;
    padding:14px 10px;
}

@media (max-width: 991px){
    .hero-slider,
    .hero-slider__track,
    .hero-slide img{min-height:420px;height:420px}
    .hero-slider__content{padding:70px 0 60px}
    .hero-slider__content h1{font-size:40px}
    .home-intro,
    .home-grid,
    .quick-links{
        grid-template-columns:1fr 1fr;
    }
}
@media (max-width: 700px){
    .hero-slider,
    .hero-slider__track,
    .hero-slide img{min-height:320px;height:320px}
    .hero-slider__content h1{font-size:30px}
    .home-intro,
    .home-grid,
    .quick-links{
        grid-template-columns:1fr;
    }
}

.about-layout{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:36px;
    align-items:start;
}
.about-content h2{
    margin:0 0 18px;
    font-size:34px;
}
.about-content p{
    margin:0 0 18px;
}
.about-features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:28px;
}
.about-feature{
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:8px;
    padding:18px;
}
.about-feature h3{
    margin:0 0 10px;
    font-size:20px;
}
.about-feature p{
    margin:0;
    color:#666;
}

.about-side{
    display:grid;
    gap:18px;
}
.about-side__item{
    border:1px solid #e7e7e7;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}
.about-side__item img{
    display:block;
    width:100%;
    height:240px;
    object-fit:cover;
}

.about-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}
.about-gallery__card{
    border:1px solid #e7e7e7;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}
.about-gallery__card img{
    display:block;
    width:100%;
    height:260px;
    object-fit:cover;
}

.about-cta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
}
.about-cta__actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

@media (max-width: 991px){
    .about-layout,
    .about-features,
    .about-gallery{
        grid-template-columns:1fr 1fr;
    }
    .about-cta{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media (max-width: 700px){
    .about-layout,
    .about-features,
    .about-gallery{
        grid-template-columns:1fr;
    }
}

.models-intro{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:32px;
    align-items:center;
}
.models-intro__text h2{
    margin:0 0 16px;
    font-size:34px;
}
.models-intro__text p{
    margin:0 0 16px;
}
.models-intro__image{
    border:1px solid #e7e7e7;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}
.models-intro__image img{
    display:block;
    width:100%;
    height:340px;
    object-fit:cover;
}

.models-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}
.model-box{
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:8px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.model-box__image img{
    display:block;
    width:100%;
    height:240px;
    object-fit:cover;
}
.model-box__body{
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
    flex:1;
}
.model-box__body h2{
    margin:0;
    font-size:22px;
}
.model-box__body p{
    margin:0;
    color:#666;
}
.model-box__btn{
    margin-top:auto;
    align-self:flex-start;
}

.models-strip{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}
.models-strip__card{
    border:1px solid #e7e7e7;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}
.models-strip__card img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}
.models-strip__card span{
    display:block;
    padding:14px 12px;
    font-weight:700;
    text-align:center;
}

.models-cta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
}
.models-cta__actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

@media (max-width: 991px){
    .models-intro,
    .models-grid,
    .models-strip{
        grid-template-columns:1fr 1fr;
    }
    .models-cta{
        flex-direction:column;
        align-items:flex-start;
    }
}
@media (max-width: 700px){
    .models-intro,
    .models-grid,
    .models-strip{
        grid-template-columns:1fr;
    }
}

.gallery-intro{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:32px;
    align-items:center;
}
.gallery-intro__text h2{
    margin:0 0 16px;
    font-size:34px;
}
.gallery-intro__text p{
    margin:0 0 16px;
}
.gallery-intro__side{
    border:1px solid #e7e7e7;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}
.gallery-intro__side img{
    display:block;
    width:100%;
    height:320px;
    object-fit:cover;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}
.gallery-item{
    display:block;
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:8px;
    overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
}
.gallery-item:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,.08);
}
.gallery-item img{
    display:block;
    width:100%;
    height:220px;
    object-fit:cover;
}
.gallery-item__caption{
    display:block;
    padding:12px;
    text-align:center;
    font-weight:700;
}

.lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.92);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:9999;
    padding:40px;
}
.lightbox.is-open{
    display:flex;
}
.lightbox__content{
    max-width:1100px;
    max-height:85vh;
    display:flex;
    align-items:center;
    justify-content:center;
}
.lightbox__content img{
    max-width:100%;
    max-height:85vh;
    width:auto;
    height:auto;
    display:block;
    border-radius:8px;
}
.lightbox__close{
    position:absolute;
    top:18px;
    right:22px;
    border:0;
    background:transparent;
    color:#fff;
    font-size:42px;
    cursor:pointer;
    line-height:1;
}
.lightbox__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:52px;
    height:52px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:28px;
    cursor:pointer;
}
.lightbox__nav--prev{left:18px}
.lightbox__nav--next{right:18px}

.no-scroll{
    overflow:hidden;
}

.gallery-cta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
}
.gallery-cta__actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

@media (max-width: 991px){
    .gallery-intro,
    .gallery-grid{
        grid-template-columns:1fr 1fr;
    }
    .gallery-cta{
        flex-direction:column;
        align-items:flex-start;
    }
}
@media (max-width: 700px){
    .gallery-intro,
    .gallery-grid{
        grid-template-columns:1fr;
    }
    .lightbox{
        padding:20px;
    }
    .lightbox__nav{
        width:44px;
        height:44px;
    }
}

.contact-layout{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:32px;
    align-items:start;
}
.contact-main h2{
    margin:0 0 16px;
    font-size:34px;
}
.contact-main > p{
    margin:0 0 20px;
}

.contact-form-card{
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:8px;
    padding:24px;
    display:grid;
    gap:18px;
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.contact-form-card label{
    display:grid;
    gap:8px;
}
.contact-form-card label span{
    font-weight:700;
}
.contact-form-card input,
.contact-form-card textarea{
    width:100%;
    padding:12px 14px;
    border:1px solid #cccccc;
    border-radius:6px;
    font:inherit;
    background:#fff;
}
.contact-form-card input[disabled]{
    background:#f5f5f5;
    color:#777;
}
.contact-form-card__actions{
    display:flex;
    justify-content:flex-start;
}

.contact-side{
    display:grid;
    gap:18px;
}
.contact-card{
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:8px;
    padding:22px;
}
.contact-card h3{
    margin:0 0 12px;
    font-size:22px;
}
.contact-card p{
    margin:0;
}
.contact-card--image{
    padding:0;
    overflow:hidden;
}
.contact-card--image img{
    width:100%;
    height:260px;
    object-fit:contain;
    display:block;
    background:#fff;
}
.contact-list{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:10px;
}
.contact-links{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.contact-banner{
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:28px;
    align-items:center;
}
.contact-banner__image{
    border:1px solid #e7e7e7;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}
.contact-banner__image img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
}
.contact-banner__content h2{
    margin:0 0 14px;
    font-size:32px;
}
.contact-banner__content p{
    margin:0;
}

@media (max-width: 991px){
    .contact-layout,
    .contact-banner,
    .form-grid{
        grid-template-columns:1fr;
    }
}
