:root{
    --primary:#c62828;
    --primary-dark:#8e1111;
    --accent:#ff8a3d;
    --dark:#111111;
    --light:#fffaf6;
    --surface:rgba(255,255,255,0.96);
    --text-soft:#6f625b;
    --border-soft:rgba(255,255,255,0.22);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family:'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
    color:var(--light);
    background:
        linear-gradient(135deg, rgba(12,12,12,0.84), rgba(92,16,16,0.82)),
        url('../../image/imissyou-beef-4409138_1920.jpg') center/cover fixed no-repeat;
    -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
.container{max-width:1150px;margin:0 auto;padding:0 24px}

/* Header */
.site-header{
    position:sticky;
    top:0;
    background:#000;
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
    z-index:1000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 24px;
    min-height:100px;
}
.header-logo-container{display:flex;align-items:center;justify-content:center;flex:1}
.header-logo-image{max-width:220px;width:100%;height:auto;object-fit:contain;display:block}

.main-nav{display:flex;gap:20px;align-items:center;margin-left:20px}
.main-nav a{color:#fff;text-decoration:none;font-weight:600;font-size:0.95rem;padding:6px 0;position:relative}
.main-nav a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--primary);transition:width .25s ease}
.main-nav a:hover{color:var(--primary)}
.main-nav a:hover::after{width:100%}
.nav-toggle{display:none;background:none;border:0;font-size:1.28rem;color:#fff;cursor:pointer;padding:6px 8px;border-radius:10px}

/* Hero */
.hero{
    padding:92px 0 78px;
    background:
        linear-gradient(135deg, rgba(198,40,40,0.92), rgba(255,138,61,0.82)),
        url('../../image/dimhou-fire-8220061_1920.jpg') center/cover;
}
.hero-inner{
    max-width:980px;
    padding:42px 38px;
    background:rgba(255,255,255,0.12);
    backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,0.24);
    border-radius:32px;
    box-shadow:0 24px 70px rgba(0,0,0,0.24);
    display:grid;
    gap:24px;
}
.hero-media{display:grid;gap:12px}
.hero-slider{position:relative;overflow:hidden;border-radius:24px;min-height:320px;background:#000;box-shadow:0 16px 40px rgba(0,0,0,0.22)}
.hero-slide{display:none;position:absolute;inset:0;animation:fadeIn .45s ease}
.hero-slide.active{display:block}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-slider-dots{display:flex;justify-content:center;gap:8px}
.hero-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,0.5);cursor:pointer}
.hero-dot.active{background:var(--light)}
.hero-content{display:grid;gap:16px;max-width:700px}
.hero p{margin:0;color:rgba(255,255,255,0.95);font-size:1.02rem;line-height:1.7;max-width:650px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:700;transition:transform .25s ease, box-shadow .25s ease;gap:8px}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(0,0,0,0.14)}
.btn-primary{background:var(--light);color:var(--primary)}
.btn-secondary{background:rgba(255,255,255,0.12);color:var(--light);border:1px solid rgba(255,255,255,0.22)}
.btn-icon{width:20px;height:20px;border-radius:50%;object-fit:cover}

/* Sections */
.section{padding:60px 0}
.section h2{color:var(--light);margin:0 0 12px;font-size:clamp(1.35rem,2.1vw,1.8rem);text-transform:uppercase;letter-spacing:0.05em}
.section > p,.section-header p{color:rgba(255,255,255,0.88);max-width:760px;line-height:1.75}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px}
.service{
    background:var(--surface);
    color:var(--dark);
    padding:24px;
    border-radius:24px;
    box-shadow:0 16px 42px rgba(0,0,0,0.16);
    border:1px solid rgba(255,255,255,0.7);
}
.service h3{margin:0 0 10px;color:var(--primary);font-size:1.08rem}
.service p{margin:0;color:var(--text-soft);line-height:1.7}

.why-us{padding-top:40px}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.why-card{background:rgba(255,255,255,0.12);border:1px solid var(--border-soft);border-radius:22px;padding:22px;box-shadow:0 16px 34px rgba(0,0,0,0.16);backdrop-filter:blur(10px)}
.why-card h3{margin:0 0 10px;color:var(--light);font-size:1.05rem}
.why-card p{margin:0;color:rgba(255,255,255,0.9);line-height:1.7}

.instagram{padding-top:40px}
.instagram .section-header{margin-bottom:24px}
.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}
.instagram-card{
    display:block;
    border-radius:22px;
    overflow:hidden;
    border:2px solid rgba(255,255,255,0.16);
    box-shadow:0 16px 34px rgba(0,0,0,0.18);
    background:rgba(255,255,255,0.08);
    transition:transform .25s ease, box-shadow .25s ease;
}
.instagram-card img,.instagram-card video{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .3s ease;background:#000}
.instagram-card:hover{transform:translateY(-4px);box-shadow:0 20px 38px rgba(0,0,0,0.24)}
.instagram-card:hover img,.instagram-card:hover video{transform:scale(1.04)}
.video-card{background:#000}
.video-card video{object-fit:cover}

.about p,.contact p{max-width:760px;line-height:1.8;color:rgba(255,255,255,0.92)}

.faq-list{display:grid;gap:14px;margin-top:24px}
.faq-item{background:rgba(255,255,255,0.12);border:1px solid var(--border-soft);border-radius:16px;padding:16px 18px;backdrop-filter:blur(8px)}
.faq-item summary{cursor:pointer;font-weight:600;color:var(--light);list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item p{margin:10px 0 0;color:rgba(255,255,255,0.9);line-height:1.7}

.quote-modal-overlay{position:fixed;inset:0;background:rgba(7,7,7,0.76);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1400;opacity:0;visibility:hidden;transition:opacity .25s ease, visibility .25s ease}
.quote-modal-overlay.active{opacity:1;visibility:visible}
.quote-modal{width:min(620px,100%);background:var(--surface);color:var(--dark);border-radius:24px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,0.28);position:relative;max-height:90vh;overflow:auto;-webkit-overflow-scrolling:touch}
.modal-close{position:absolute;top:16px;right:16px;border:0;background:none;font-size:1.5rem;cursor:pointer;color:var(--dark)}
.quote-modal h3{margin:0 0 8px;font-size:1.4rem;color:var(--primary)}
.quote-modal p{margin:0 0 18px;color:var(--text-soft);line-height:1.7}
.quote-form{display:grid;gap:12px}
.quote-form label{display:grid;gap:6px;font-weight:600;font-size:0.95rem}
.quote-form input,.quote-form textarea,.quote-form select{border:1px solid rgba(0,0,0,0.12);border-radius:12px;padding:12px 14px;font:inherit;color:var(--dark);background:#fff;font-size:16px;-webkit-appearance:none;appearance:none}
.quote-form textarea{resize:vertical;min-height:100px}
.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.event-type-group{border:0;padding:0;background:transparent;display:grid;gap:10px}
.event-type-group legend{display:none}
.event-type-options{display:block}
.event-type-select{width:100%}
.event-other{margin-top:4px}
.address-search-wrap{position:relative;width:100%}
.address-search-wrap input{width:100%}
.address-suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);display:none;z-index:20;max-height:220px;overflow:auto;background:#fff;border:1px solid rgba(0,0,0,0.12);border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,0.14)}
.address-suggestions.active{display:grid}
.address-suggestion{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:#fff;color:var(--dark);cursor:pointer;font:inherit}
.address-suggestion:hover{background:#f7f5f2}
.map-link-row{margin:-2px 0 8px}
.maps-link{display:inline-flex;align-items:center;color:var(--primary);font-weight:700;font-size:0.95rem}
.maps-link:hover{color:var(--primary-dark)}
.form-actions{display:flex;justify-content:flex-end;margin-top:8px}
.quote-options{margin-top:16px;padding:18px 16px 16px;border-top:1px solid rgba(0,0,0,0.08);display:grid;gap:12px}
.quote-options.hidden{display:none}
.quote-message{width:100%;min-height:160px;border:1px solid rgba(0,0,0,0.12);border-radius:14px;padding:14px;font:inherit;color:var(--dark);background:#f7f5f2;white-space:pre-wrap;overflow:auto}
.quote-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quote-send{background:var(--primary);color:#fff;border:0;box-shadow:none}
.quote-send:hover{background:var(--primary-dark)}
.btn-link{background:none;border:0;color:var(--primary);padding:0;justify-content:flex-start;font-weight:700;cursor:pointer}

/* WhatsApp floating button */
.whatsapp{
    position:fixed;
    right:20px;
    bottom:20px;
    width:72px;
    height:72px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--light);
    box-shadow:0 12px 30px rgba(0,0,0,0.24);
    z-index:1200;
    text-decoration:none;
    overflow:hidden;
    border:3px solid rgba(255,255,255,0.30);
}
.whatsapp-icon{width:64px;height:64px;object-fit:cover;border-radius:50%}
.whatsapp:hover{transform:translateY(-4px)}

/* Back to top button */
.back-to-top{
    position:fixed;
    right:20px;
    bottom:100px;
    width:72px;
    height:72px;
    border-radius:50%;
    display:none;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,0.24);
    z-index:1200;
    border:0;
    cursor:pointer;
    font-size:1.5rem;
    transition:transform .25s ease, opacity .25s ease;
    opacity:0;
}
.back-to-top.show{
    display:flex;
    opacity:1;
}
.back-to-top:hover{transform:translateY(-4px);background:var(--primary-dark)}

/* Responsive */
@media(max-width:900px){
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .why-grid{grid-template-columns:repeat(2,1fr)}
    .instagram-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
    .site-header{padding:0 12px;min-height:80px}
    .header-logo-image{max-width:160px}
    .main-nav{display:none;position:fixed;left:0;right:0;top:80px;background:#000;flex-direction:column;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,0.1);gap:12px;z-index:999}
    .main-nav a{color:#fff;padding:8px 0}
    .nav-toggle{display:block}
    .services-grid,.why-grid,.instagram-grid{grid-template-columns:1fr}
    .hero{padding:70px 0 58px}
    .hero-inner{padding:30px 22px;border-radius:24px}
    .quote-modal{padding:20px}
    .contact-row{grid-template-columns:1fr}
    .quote-actions{grid-template-columns:1fr}
    .event-type-options{flex-direction:column;align-items:flex-start}
    .back-to-top{width:60px;height:60px;bottom:85px;font-size:1.2rem}
    .whatsapp{width:60px;height:60px;bottom:15px}
}

@media(prefers-reduced-motion:reduce){
    *{transition:none!important}
}
