*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:'Noto Sans KR','Malgun Gothic',Arial,sans-serif;
    color:#f8fafc;
    background:
      radial-gradient(circle at 10% 0%, rgba(127,29,29,.34), transparent 31%),
      radial-gradient(circle at 90% 10%, rgba(220,38,38,.15), transparent 28%),
      linear-gradient(135deg,#16090b,#241014 52%,#15171b);
}
a{text-decoration:none;color:inherit}
button{font:inherit}
.page{min-height:100vh}
.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}

/* 상단 */
.site-header{
    position:sticky;
    top:0;
    z-index:100;
    border-bottom:1px solid rgba(248,113,113,.15);
    background:rgba(20,8,10,.90);
    backdrop-filter:blur(14px);
}
.topbar{
    min-height:78px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:32px;
}
.logo img{width:164px;height:auto;display:block}
.main-nav{
    display:flex;
    justify-content:center;
    align-items:center;
    min-width:0;
}
.main-nav a{
    position:relative;
    padding:9px 17px;
    font-size:14px;
    font-weight:800;
    color:#d6c6c8;
    white-space:nowrap;
}
.main-nav a:not(:last-child):after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:1px;
    height:13px;
    transform:translateY(-50%);
    background:rgba(248,113,113,.22);
}
.main-nav a:hover{color:#fff}
.main-nav a.is-current{color:#fca5a5}

.system-menu{position:relative}
.system-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:0 18px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.055);
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.system-dropdown{
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    width:230px;
    padding:10px;
    border-radius:14px;
    border:1px solid rgba(248,113,113,.18);
    background:#1e1013;
    box-shadow:0 20px 50px rgba(0,0,0,.40);
    display:none;
}
.system-menu.open .system-dropdown{display:block}
.system-dropdown a,.system-dropdown span{
    display:block;
    padding:12px 13px;
    border-radius:9px;
    font-size:13px;
    color:#d6c6c8;
}
.system-dropdown a:hover{background:rgba(220,38,38,.10);color:#fff}
.system-dropdown .current{
    color:#fca5a5;
    background:rgba(127,29,29,.22);
    font-weight:800;
}
.system-dropdown .disabled{color:#756568}
.system-dropdown .divider{
    height:1px;margin:7px 4px;padding:0;background:rgba(248,113,113,.12)
}

/* Hero */
.hero-shell{border-bottom:1px solid rgba(248,113,113,.10)}
.hero{
    position:relative;
    min-height:250px;
    padding:28px 0 34px;
    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    gap:38px;
    align-items:center;
}
.hero-visual{
    position:relative;
    align-self:stretch;
    min-height:220px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
}
.hero-character-slot{
    width:100%;
    min-height:220px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
}
.hero-character-slot img{
    display:block;
    max-width:100%;
    max-height:365px;
    object-fit:contain;
}
.extinguisher-badge{
    position:relative;
    width:132px;
    height:132px;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:linear-gradient(145deg,#991b1b,#3f1014);
    border:1px solid rgba(252,165,165,.38);
    box-shadow:0 20px 48px rgba(127,29,29,.34),inset 0 0 34px rgba(255,255,255,.03);
}
.extinguisher-badge:before{
    content:"";
    position:absolute;
    width:92px;height:92px;border-radius:50%;
    border:1px solid rgba(254,202,202,.18);
}
.extinguisher-badge span{font-size:10px;font-weight:900;letter-spacing:.16em;color:#fecaca}
.extinguisher-badge strong{margin-top:10px;font-size:20px;z-index:1}
.extinguisher-badge small{margin-top:7px;font-size:10px;color:#fee2e2;z-index:1}
.hero-info{
    display:grid;
    grid-template-columns:minmax(0,1fr) 250px;
    gap:18px;
    align-items:stretch;
}
.hero-text{
    min-height:176px;
    padding:18px 24px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.hero-qr-visual{
    position:relative;
    width:100%;
    min-height:176px;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.eyebrow{
    margin-bottom:10px;
    color:#f87171;
    font-size:11px;
    font-weight:900;
    letter-spacing:.16em;
}
.branch-label{
    display:inline-flex;
    align-self:flex-start;
    margin:0 0 9px;
    padding:5px 10px;
    border-radius:999px;
    border:1px solid rgba(248,113,113,.28);
    background:rgba(127,29,29,.18);
    color:#fecaca;
    font-size:11px;
    font-weight:900;
    letter-spacing:.02em;
}
h1{
    margin:0;
    font-size:clamp(48px,5.5vw,70px);
    line-height:1.02;
    letter-spacing:-.055em;
    color:#ff4d4f;
    font-weight:950;
    text-shadow:0 4px 24px rgba(239,68,68,.20);
}
.hero-copy{
    margin:17px 0 0;
    color:#d6c6c8;
    font-size:15px;
    line-height:1.8;
}

/* 본문 */
.content-shell{background:rgba(31,13,16,.30)}
.content-layout{
    display:grid;
    grid-template-columns:235px minmax(0,1fr);
    gap:36px;
    padding:72px 0 88px;
    align-items:start;
}
.sidebar{position:sticky;top:102px}
.side-title{
    padding:18px;
    border-radius:14px 14px 0 0;
    background:linear-gradient(135deg,#b91c1c,#7f1d1d);
    font-size:16px;
    font-weight:900;
}
.side-menu{
    border:1px solid rgba(248,113,113,.14);
    border-top:0;
    border-radius:0 0 14px 14px;
    overflow:hidden;
    background:rgba(31,15,18,.78);
}
.side-menu a{
    display:block;
    padding:14px 17px;
    border-bottom:1px solid rgba(248,113,113,.08);
    color:#d6c6c8;
    font-size:13px;
    font-weight:700;
}
.side-menu a:last-child{border-bottom:0}
.side-menu a:hover{background:rgba(220,38,38,.08);color:#fff}
.side-menu a.is-current{
    background:rgba(127,29,29,.22);
    color:#fca5a5;
    font-weight:900;
}
.contact-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:14px;
}
.contact-action{
    display:block;
    padding:11px 12px;
    border:1px solid rgba(248,113,113,.32);
    border-radius:9px;
    background:rgba(185,28,28,.16);
    color:#fff;
    text-align:center;
    font-size:12px;
    font-weight:900;
}
.contact-action:hover{background:rgba(185,28,28,.26);color:#fff}
.contact-action.kakao{background:rgba(255,255,255,.07)}
.contact-box{
    margin-top:18px;
    padding:18px;
    border-radius:14px;
    border:1px solid rgba(248,113,113,.18);
    background:linear-gradient(145deg,rgba(127,29,29,.14),rgba(31,15,18,.78));
}
.contact-box h3{margin:0 0 14px;font-size:16px}
.contact-row{margin:8px 0;color:#d6c6c8;font-size:12px;line-height:1.6}
.contact-row strong{display:inline-block;min-width:66px;color:#fca5a5}

.main-content{min-width:0}
.content-section{padding:0 0 72px}
.content-section + .content-section{
    padding-top:66px;
    border-top:1px solid rgba(248,113,113,.10);
}
.section-label{
    margin:0 0 10px;
    color:#f87171;
    font-size:12px;
    font-weight:900;
    letter-spacing:.16em;
}
h2{margin:0;font-size:clamp(28px,3.5vw,42px);letter-spacing:-.045em}
.section-lead{margin:16px 0 0;color:#aa969a;line-height:1.8;font-size:15px}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:34px;
}
.card{
    padding:26px;
    border-radius:16px;
    border:1px solid rgba(248,113,113,.14);
    background:rgba(43,20,23,.62);
}
.card .num{font-size:12px;font-weight:900;color:#f87171;letter-spacing:.12em}
.card h3{margin:12px 0 9px;font-size:19px}
.card p{margin:0;color:#b9a4a8;font-size:14px;line-height:1.75}

.flow{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
    margin-top:34px;
}
.flow-item{
    position:relative;
    padding:22px 18px;
    border-radius:14px;
    text-align:center;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(248,113,113,.12);
}
.flow-item b{display:block;font-size:15px;margin-bottom:8px}
.flow-item span{font-size:12px;color:#a68f93;line-height:1.6}
.flow-item:not(:last-child):after{
    content:"›";
    position:absolute;
    right:-11px;
    top:50%;
    transform:translateY(-50%);
    color:#ef4444;
    font-size:24px;
}

.info-panel{
    margin-top:32px;
    padding:28px;
    border-radius:18px;
    border:1px solid rgba(248,113,113,.14);
    background:rgba(255,255,255,.028);
}
.info-panel h3{margin:0 0 10px;font-size:20px}
.info-panel p{margin:0;color:#b9a4a8;line-height:1.8;font-size:14px}

.preview-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:30px;
}
.preview-card{
    padding:26px;
    border-radius:18px;
    border:1px solid rgba(248,113,113,.14);
    background:linear-gradient(145deg,rgba(69,10,10,.18),rgba(31,15,18,.72));
}
.preview-card span{
    color:#f87171;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
}
.preview-card h3{margin:12px 0 10px;font-size:21px}
.preview-card p{margin:0;color:#aa969a;font-size:13px;line-height:1.75}

.cta{
    padding:32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    border-radius:20px;
    border:1px solid rgba(248,113,113,.20);
    background:linear-gradient(135deg,rgba(127,29,29,.20),rgba(220,38,38,.06));
}
.cta h3{margin:0 0 8px;font-size:24px}
.cta p{margin:0;color:#aa969a;font-size:14px;line-height:1.7}
.cta a{
    flex:0 0 auto;
    min-height:46px;
    padding:0 20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:linear-gradient(135deg,#dc2626,#991b1b);
    color:#fff;
    font-size:14px;
    font-weight:900;
}

.footer{
    padding:28px 20px 34px;
    color:#806c70;
    font-size:12px;
    line-height:1.9;
    text-align:center;
    border-top:1px solid rgba(248,113,113,.10);
}

@media(max-width:1040px){
    .topbar{gap:18px}
    .main-nav a{padding:9px 10px;font-size:13px}
    .hero{grid-template-columns:230px minmax(0,1fr);gap:28px}
    .hero-info{grid-template-columns:minmax(0,1fr) 210px;gap:16px}
    .hero-text,.hero-qr-visual{min-height:205px}
    .content-layout{grid-template-columns:210px minmax(0,1fr);gap:28px}
}
@media(max-width:820px){
    .site-header{position:relative}
    .topbar{grid-template-columns:1fr auto;min-height:auto;padding:18px 0}
    .main-nav{
        grid-column:1/-1;
        order:3;
        justify-content:flex-start;
        overflow-x:auto;
        padding-bottom:4px;
    }
    .hero{grid-template-columns:1fr;padding:32px 0 42px;gap:18px}
    .hero-character-slot{min-height:250px}
    .hero-info{grid-template-columns:1fr 170px}
    .hero-text,.hero-qr-visual{min-height:190px}
    .hero-visual{min-height:210px}
    .content-layout{grid-template-columns:1fr}
    .sidebar{position:relative;top:auto}
    .side-menu{display:grid;grid-template-columns:repeat(2,1fr)}
    .feature-grid{grid-template-columns:1fr 1fr}
    .flow{grid-template-columns:1fr 1fr}
    .flow-item:after{display:none}
}
@media(max-width:620px){
    .wrap{width:calc(100% - 26px)}
    .logo img{width:145px}
    .system-toggle{padding:0 13px;font-size:13px}
    .main-nav a{font-size:12px;padding:8px 10px}
    .hero{padding:28px 0 34px}
    .hero-visual{min-height:205px}
    .hero-character-slot{min-height:205px}
    .hero-info{grid-template-columns:1fr;gap:12px}
    .hero-text,.hero-qr-visual{min-height:auto}
    .hero-text{padding:22px 18px}
    .hero-qr-visual{height:150px}
    .extinguisher-badge{width:145px;height:145px}
    .extinguisher-badge strong{font-size:22px}
    h1{font-size:30px}
    .hero-info{padding:22px 18px}
    .content-layout{padding-top:58px}
    .side-menu{grid-template-columns:1fr}
    .feature-grid,.flow,.preview-grid{grid-template-columns:1fr}
    .cta{align-items:flex-start;flex-direction:column}
    .cta a{width:100%}
}

/* ===== 소화기관리시스템 체험하기 전용 ===== */
.experience-content .content-section{
    padding-bottom:64px;
}
.experience-content .section-lead{
    max-width:860px;
}
.comic-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:28px;
}
.comic-card{
    overflow:hidden;
    border-radius:16px;
    border:1px solid rgba(248,113,113,.14);
    background:rgba(43,20,23,.62);
}
.comic-visual{
    position:relative;
    height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    text-align:center;
    background:
      radial-gradient(circle at 50% 15%, rgba(248,113,113,.10), transparent 48%),
      rgba(255,255,255,.025);
    color:#9f888d;
    font-size:13px;
    line-height:1.65;
}

.comic-visual img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

.comic-no{
    position:absolute;
    top:12px;
    left:12px;
    width:31px;
    height:31px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#dc2626,#991b1b);
    color:#fff;
    font-size:12px;
    font-weight:900;
}
.comic-copy{
    padding:18px 18px 21px;
    border-top:1px solid rgba(248,113,113,.09);
}
.comic-copy strong{
    display:block;
    margin-bottom:8px;
    color:#fff;
    font-size:16px;
}
.comic-copy span{
    display:block;
    color:#b9a4a8;
    font-size:13px;
    line-height:1.7;
}
.experience-bridge{
    margin-top:22px;
    padding:19px 22px;
    border-radius:14px;
    border:1px solid rgba(248,113,113,.16);
    background:linear-gradient(135deg,rgba(127,29,29,.18),rgba(255,255,255,.025));
    color:#e4c7cb;
    text-align:center;
    font-size:14px;
    font-weight:800;
    line-height:1.75;
}
.demo-panel{
    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    gap:30px;
    align-items:center;
    margin-top:30px;
    padding:28px;
    border-radius:18px;
    border:1px solid rgba(248,113,113,.16);
    background:linear-gradient(145deg,rgba(69,10,10,.20),rgba(31,15,18,.72));
}
.demo-qr{
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:26px;
    border:1px dashed rgba(252,165,165,.42);
    border-radius:16px;
    background:rgba(255,255,255,.035);
    color:#c8aeb3;
    text-align:center;
    font-size:13px;
    line-height:1.7;
}
.demo-qr img{
    display:block;
    width:100%;
    max-width:230px;
    height:auto;
    margin:0 auto;
    border-radius:10px;
    background:#fff;
    padding:8px;
}
.demo-copy h3{
    margin:0 0 10px;
    font-size:24px;
    color:#fff;
}
.demo-copy p{
    margin:0 0 14px;
    color:#b9a4a8;
    font-size:14px;
    line-height:1.8;
}
.demo-steps{
    margin:0;
    padding-left:20px;
    color:#d5c1c5;
    font-size:14px;
    line-height:1.9;
}
.check-note{
    margin-top:20px;
    padding:20px 24px;
    border-radius:15px;
    background:linear-gradient(135deg,#b91c1c,#7f1d1d);
    color:#fff;
    text-align:center;
    font-size:18px;
    font-weight:900;
    letter-spacing:-.02em;
}
.next-guide{
    margin:14px 0 0;
    color:#aa969a;
    text-align:center;
    font-size:13px;
    line-height:1.7;
}

@media(max-width:820px){
    .demo-panel{grid-template-columns:1fr}
    .demo-qr{width:min(280px,100%);margin:0 auto}
}
@media(max-width:620px){
    .comic-grid{grid-template-columns:1fr}
    .comic-visual{height:160px}
    .demo-panel{padding:20px}
    .check-note{font-size:16px}
}
