:root {
    --dark:#06070a;
    --dark2:#090a0f;
    --line:rgba(255,255,255,.1);
    --muted:#9ca3af;
    --orange:#f97316;
    --red:#ef4444;
    --max:1180px;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
    overflow-x:hidden;
}

body {
    margin:0;
    background:var(--dark);
    color:#fff;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR','Apple SD Gothic Neo',Arial,sans-serif;
    line-height:1.6;
    word-break:keep-all;
    overflow-x:hidden;
}

a {
    text-decoration:none;
    color:inherit;
}

img {
    display:block;
    max-width:100%;
}

button {
    font-family:inherit;
}

.container {
    width:min(var(--max),calc(100% - 40px));
    margin:0 auto;
}

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

.site-header {
    position:fixed;
    z-index:100;
    top:0;
    left:0;
    width:100%;
    background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);
    transition:.3s;
}

.site-header.scrolled {
    background:rgba(6,7,10,.88);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line);
}

.header-inner {
    height:74px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo {
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:900;
}

.logo-mark {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:14px;
    background:linear-gradient(135deg,var(--orange),var(--red));
    box-shadow:0 0 24px rgba(249,115,22,.25);
    font-size:13px;
}

.logo-text {
    font-size:18px;
}

.nav {
    display:flex;
    gap:28px;
    font-size:14px;
    font-weight:800;
    color:rgba(255,255,255,.75);
}

.nav a:hover {
    color:var(--orange);
}

.nav-toggle {
    display:none;
    background:none;
    border:0;
    padding:8px;
    cursor:pointer;
}

.nav-toggle span {
    display:block;
    width:24px;
    height:2px;
    background:#fff;
    margin:5px;
}

/* ================= COMMON ================= */

.section {
    position:relative;
    padding:112px 0;
    overflow:hidden;
}

.section-dark {
    background:var(--dark);
}

.section-darker {
    background:var(--dark2);
}

.border-section {
    border-top:1px solid rgba(255,255,255,.05);
    border-bottom:1px solid rgba(255,255,255,.05);
}

.section-title {
    text-align:center;
    max-width:860px;
    margin:0 auto 64px;
}

.section-title span {
    display:block;
    color:var(--orange);
    font-size:13px;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:14px;
}

.section-title h2 {
    font-size:clamp(31px,4.2vw,56px);
    line-height:1.18;
    letter-spacing:-.05em;
    font-weight:900;
    margin:0 0 22px;
}

.section-title p {
    color:var(--muted);
    font-size:18px;
    margin:0;
    font-weight:300;
}

.hero h1 strong,
.section-title em,
.buy-box em {
    font-style:normal;
    background:linear-gradient(90deg,var(--orange),var(--red));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.red {
    color:var(--red)!important;
    background:none!important;
    -webkit-text-fill-color:var(--red);
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:180px;
    min-height:62px;
    padding:18px 34px;
    border-radius:20px;
    font-size:18px;
    font-weight:900;
    transition:.25s;
}

.btn:hover {
    transform:translateY(-4px);
}

.btn-primary {
    background:linear-gradient(90deg,var(--orange),var(--red));
    box-shadow:0 16px 42px rgba(249,115,22,.2);
}

.btn-light {
    background:#fff;
    color:#101114;
}

.btn-outline {
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.04);
}

.hero-buttons {
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}

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

.hero {
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    overflow:hidden;
}

.hero-glow {
    position:absolute;
    border-radius:50%;
    filter:blur(120px);
    opacity:.65;
}

.g1 {
    width:500px;
    height:500px;
    background:rgba(249,115,22,.11);
    top:18%;
    left:15%;
}

.g2 {
    width:620px;
    height:620px;
    background:rgba(239,68,68,.11);
    bottom:10%;
    right:10%;
}

.wave-bg {
    position:absolute;
    inset:0;
    opacity:.28;
    pointer-events:none;
}

.wave-bg span {
    position:absolute;
    left:50%;
    top:52%;
    width:300px;
    height:300px;
    border:1px solid rgba(249,115,22,.45);
    border-radius:50%;
    transform:translate(-50%,-50%);
    animation:ripple 5s linear infinite;
}

.wave-bg span:nth-child(2) {
    animation-delay:1.6s;
}

.wave-bg span:nth-child(3) {
    animation-delay:3.2s;
}

@keyframes ripple {
    0% {
        width:250px;
        height:250px;
        opacity:.5;
    }

    100% {
        width:1050px;
        height:1050px;
        opacity:0;
    }
}

.hero-content {
    position:relative;
    z-index:2;
}

.eyebrow {
    display:inline-block;
    padding:8px 18px;
    border:1px solid rgba(249,115,22,.48);
    background:rgba(249,115,22,.16);
    border-radius:999px;
    box-shadow:0 0 18px rgba(249,115,22,.18);
    font-size:14px;
    font-weight:900;
    margin-bottom:24px;
}

.hero h1 {
    font-size:clamp(40px,6.4vw,78px);
    line-height:1.13;
    letter-spacing:-.06em;
    font-weight:900;
    margin:0;
}

.hero p {
    max-width:760px;
    margin:24px auto 42px;
    color:#d1d5db;
    font-size:clamp(17px,2.2vw,22px);
    font-weight:300;
}

.scroll-indicator {
    position:absolute;
    bottom:36px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    flex-direction:column;
    gap:10px;
    color:#6b7280;
    letter-spacing:.2em;
}

.scroll-indicator small {
    font-size:10px;
}

.scroll-indicator span {
    width:1px;
    height:62px;
    background:linear-gradient(to bottom,var(--orange),transparent);
    animation:scrollLine 1.8s infinite;
}

@keyframes scrollLine {
    50% {
        transform:translateY(10px);
    }
}

/* ================= PRODUCT ================= */

.product-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.product-card {
    position:relative;
    aspect-ratio:4/5;
    border-radius:34px;
    overflow:hidden;
    background:rgba(255,255,255,.055);
    border:1px solid var(--line);
    box-shadow:0 28px 60px rgba(0,0,0,.38);
}

.product-card img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:1s;
}

.product-card:hover img {
    transform:scale(1.06);
}

.product-overlay {
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:28px;
    background:linear-gradient(to top,rgba(0,0,0,.92),rgba(0,0,0,.15),transparent);
    opacity:0;
    transition:.35s;
}

.product-card:hover .product-overlay {
    opacity:1;
}

.product-overlay h3 {
    margin:0 0 8px;
    font-size:22px;
}

.product-overlay p {
    margin:0;
    color:var(--orange);
    font-size:14px;
    font-weight:700;
}

.image-missing:before {
    content:'이미지 파일을 /images 폴더에 넣어주세요';
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    color:#888;
    text-align:center;
    padding:20px;
}

/* ================= PROBLEM ================= */

.problem-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.glass-card {
    border:1px solid var(--line);
    background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
    border-radius:28px;
    padding:34px;
    transition:.28s;
}

.glass-card:hover {
    transform:translateY(-8px);
    border-color:rgba(249,115,22,.35);
}

.icon-dot {
    width:62px;
    height:62px;
    border-radius:20px;
    display:grid;
    place-items:center;
    margin-bottom:22px;
    background:rgba(0,0,0,.34);
    border:1px solid var(--line);
    color:var(--orange);
    font-size:28px;
    font-weight:900;
}

.glass-card h3 {
    margin:0 0 12px;
    font-size:22px;
}

.glass-card p {
    margin:0;
    color:var(--muted);
}

/* ================= TECHNOLOGY ================= */

.tech-panel {
    border-radius:36px;
    padding:46px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.045);
}

.tech-layout {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:52px;
    align-items:center;
}

.tech-slider {
    position:relative;
    min-height:460px;
    border-radius:26px;
    overflow:hidden;
    background:rgba(255,255,255,.05);
    border:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:16px;
}

.tech-slide {
    display:none;
    width:100%;
}

.tech-slide.is-active {
    display:flex;
    align-items:center;
    justify-content:center;
}

.tech-slide img {
    max-height:430px;
    width:100%;
    object-fit:contain;
    background:#fff;
    border-radius:12px;
}

.slider-dots,
.review-dots {
    display:flex;
    justify-content:center;
    gap:8px;
}

.slider-dots {
    position:absolute;
    left:0;
    right:0;
    bottom:18px;
}

.slider-dots button,
.review-dots button {
    width:8px;
    height:8px;
    border-radius:99px;
    border:0;
    background:rgba(255,255,255,.25);
    cursor:pointer;
}

.slider-dots button.active,
.review-dots button.active {
    width:26px;
    background:var(--orange);
}

.tech-title {
    font-size:30px;
    font-weight:900;
    color:#fff;
    margin:0 0 24px;
    line-height:1.35;
}

.tech-desc {
    font-size:16px;
    line-height:1.85;
    color:#d1d5db;
    margin-bottom:42px;
    word-break:keep-all;
}

.tech-desc strong {
    color:#ff6a00;
    font-weight:900;
}

.tech-feature {
    display:flex;
    align-items:flex-start;
    gap:20px;
    margin-bottom:36px;
}

.tech-icon {
    width:56px;
    height:56px;
    min-width:56px;
    border-radius:50%;
    background:rgba(255,106,0,.12);
    border:1px solid rgba(255,106,0,.45);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 0 22px rgba(255,106,0,.08);
}

.tech-icon span {
    width:22px;
    height:22px;
    display:block;
    position:relative;
}

.tech-icon-chart span::before {
    content:"";
    position:absolute;
    left:3px;
    top:4px;
    width:16px;
    height:14px;
    border:2px solid #ff6a00;
    border-radius:3px;
}

.tech-icon-chart span::after {
    content:"";
    position:absolute;
    left:7px;
    top:11px;
    width:10px;
    height:7px;
    border-left:2px solid #ff6a00;
    border-bottom:2px solid #ff6a00;
    transform:skew(-18deg) rotate(-35deg);
}

.tech-icon-shield span::before {
    content:"";
    position:absolute;
    left:4px;
    top:2px;
    width:14px;
    height:17px;
    border:2px solid #ff6a00;
    border-radius:4px 4px 8px 8px;
    clip-path:polygon(50% 0,100% 18%,100% 62%,50% 100%,0 62%,0 18%);
}

.tech-icon-shield span::after {
    content:"";
    position:absolute;
    left:8px;
    top:8px;
    width:7px;
    height:4px;
    border-left:2px solid #ff6a00;
    border-bottom:2px solid #ff6a00;
    transform:rotate(-45deg);
}

.tech-feature-text h4 {
    color:#fff;
    font-size:21px;
    font-weight:900;
    margin:0 0 8px;
    line-height:1.35;
}

.tech-feature-text p {
    color:#9ca3af;
    font-size:15px;
    line-height:1.75;
    margin:0;
    word-break:keep-all;
}

.data-gallery {
    margin-top:64px;
    padding-top:50px;
    border-top:1px solid var(--line);
}

.data-gallery h4 {
    text-align:center;
    font-size:24px;
}

.data-gallery>div+div {
    margin-top:58px;
}

.data-gallery>div>img {
    width:min(680px,100%);
    margin:0 auto;
    background:rgba(255,255,255,.05);
    border-radius:22px;
    padding:14px;
}

.data-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
}

.data-grid img {
    background:rgba(255,255,255,.05);
    border-radius:22px;
    padding:14px;
}

/* ================= CASE ================= */

.case-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
}

.case-img {
    border-radius:38px;
    padding:7px;
    background:#1a1a1a;
    border:1px solid var(--line);
    box-shadow:0 30px 60px rgba(0,0,0,.45);
}

.case-img img {
    width:100%;
    aspect-ratio:4/3;
    object-fit:contain;
    background:#fff;
    border-radius:30px;
    padding:8px;
}

/* ================= REVIEWS ================= */

.review-wrap {
    position:relative;
    padding:0 56px;
}

.review-track {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    min-height:560px;
}

.review-card {
    display:none;
    flex-direction:column;
    min-height:530px;
    border-radius:32px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.04);
    padding:24px;
    box-shadow:0 24px 58px rgba(0,0,0,.34);
    transition:.3s;
}

.review-card.is-visible {
    display:flex;
}

.review-card:hover {
    border-color:rgba(249,115,22,.5);
    transform:translateY(-6px);
}

.review-img {
    height:190px;
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,255,255,.05);
    margin-bottom:22px;
}

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

.review-author {
    display:flex;
    gap:12px;
    align-items:center;
}

.review-author>span {
    width:40px;
    height:40px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(249,115,22,.16);
    color:var(--orange);
    font-weight:900;
}

.review-author strong {
    display:block;
    font-size:14px;
}

.review-author small {
    color:#6b7280;
    font-size:11px;
}

.review-card h3 {
    font-size:19px;
    line-height:1.4;
}

.review-card p {
    color:var(--muted);
    font-size:14px;
    flex:1;
}

.review-foot {
    border-top:1px solid rgba(255,255,255,.06);
    padding-top:16px;
    display:flex;
    justify-content:space-between;
    font-size:12px;
}

.review-foot b {
    color:var(--orange);
}

.review-arrow {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:3;
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid var(--line);
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:32px;
    cursor:pointer;
}

.review-arrow:hover {
    background:var(--orange);
}

.review-arrow.prev {
    left:0;
}

.review-arrow.next {
    right:0;
}

.review-dots {
    margin-top:32px;
}

/* ================= APP ================= */

.app-section {
    background:radial-gradient(circle at 50% 30%,rgba(249,115,22,.08),transparent 40%),var(--dark);
}

.app-layout {
    max-width:900px;
}

.app-phone {
    width:min(640px,100%);
    margin:0 auto;
    height:680px;
    border-radius:44px;
    overflow:hidden;
    background:var(--orange);
    display:grid;
    place-items:center;
    padding:18px;
    box-shadow:0 34px 70px rgba(0,0,0,.45);
}

.app-phone img {
    max-height:100%;
    object-fit:contain;
    border-radius:18px;
}

/* ================= BUY ================= */

.buy-section {
    background:linear-gradient(to bottom,var(--dark),#000);
}

.buy-box {
    max-width:930px;
    margin:0 auto;
    text-align:center;
    border-radius:48px;
    padding:60px 42px;
    background:linear-gradient(145deg,rgba(249,115,22,.12),rgba(239,68,68,.05)),rgba(255,255,255,.04);
    border:2px solid rgba(249,115,22,.26);
}

.buy-box h2 {
    font-size:clamp(32px,4vw,52px);
    line-height:1.22;
    letter-spacing:-.05em;
}

.buy-box p {
    color:var(--muted);
    font-size:20px;
}

.buy-box ul {
    list-style:none;
    padding:22px;
    margin:0 auto 34px;
    max-width:520px;
    text-align:left;
    background:rgba(0,0,0,.32);
    border-radius:22px;
}

.buy-box li {
    padding:8px 0 8px 28px;
    position:relative;
}

.buy-box li:before {
    content:'✓';
    position:absolute;
    left:0;
    color:var(--orange);
    font-weight:900;
}

/* =========================
   QUALITY SECTION
========================= */

.quality-section {
    background:#030406;
}

.quality-title {
    text-align:center;
    margin-bottom:48px;
}

.quality-title h2 {
    margin:0 0 16px;
    font-size:clamp(28px,3.2vw,38px);
    line-height:1.35;
    letter-spacing:-0.04em;
    font-weight:900;
    color:#fff;
}

.quality-title h2 em {
    font-style:normal;
    color:#ff6a00;
    background:none;
    -webkit-text-fill-color:#ff6a00;
}

.quality-title p {
    margin:0;
    color:#8b95a1;
    font-size:15px;
}

.quality-grid {
    max-width:980px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
}

.quality-card {
    min-height:236px;
    padding:34px 28px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
    text-align:center;
    transition:.28s;
}

.quality-card:hover {
    transform:translateY(-6px);
    border-color:rgba(255,106,0,.35);
}

.quality-icon {
    width:64px;
    height:64px;
    margin:0 auto 28px;
    border-radius:50%;
    background:rgba(255,106,0,.13);
    border:1px solid rgba(255,106,0,.45);
    position:relative;
    color:#ff6a00;
    display:flex;
    align-items:center;
    justify-content:center;
}

.quality-icon svg {
    width:34px;
    height:34px;
    stroke:currentColor;
}

.quality-icon-cpu {
    color:#ef4444;
}

.quality-card h3 {
    margin:0 0 12px;
    color:#fff;
    font-size:19px;
    font-weight:900;
}

.quality-card p {
    margin:0 auto;
    max-width:220px;
    color:#8fa0b3;
    font-size:14px;
    line-height:1.65;
}

/* 기존 CSS 아이콘 방식도 사용할 수 있도록 유지 */
.quality-icon-ribbon::before {
    content:"";
    position:absolute;
    left:22px;
    top:16px;
    width:18px;
    height:24px;
    border:3px solid #ff6a00;
    border-radius:50% 50% 45% 45%;
}

.quality-icon-ribbon::after {
    content:"";
    position:absolute;
    left:26px;
    top:36px;
    width:10px;
    height:14px;
    border-left:3px solid #ff6a00;
    border-right:3px solid #ff6a00;
    transform:skew(-12deg);
}

.quality-icon-chip::before {
    content:"";
    position:absolute;
    left:21px;
    top:21px;
    width:22px;
    height:22px;
    border:3px solid #ef4444;
    border-radius:4px;
}

.quality-icon-chip::after {
    content:"";
    position:absolute;
    left:16px;
    top:16px;
    width:32px;
    height:32px;
    border:2px dashed rgba(239,68,68,.9);
    border-radius:7px;
}

.quality-icon-shield::before {
    content:"";
    position:absolute;
    left:22px;
    top:16px;
    width:20px;
    height:26px;
    border:3px solid #ff6a00;
    clip-path:polygon(50% 0,100% 18%,100% 62%,50% 100%,0 62%,0 18%);
}

/* =========================
   CERTIFICATION SECTION
========================= */

.certification-section {
    background:#030406;
}

.cert-title {
    text-align:center;
    margin-bottom:58px;
}

.cert-title span {
    display:block;
    margin-bottom:16px;
    color:#ff6a00;
    font-size:13px;
    letter-spacing:.22em;
    font-weight:900;
}

.cert-title h2 {
    margin:0 0 18px;
    font-size:clamp(36px,4.8vw,58px);
    line-height:1.15;
    letter-spacing:-.06em;
    font-weight:900;
    color:#fff;
}

.cert-title h2 em {
    font-style:normal;
    color:#ff6a00;
}

.cert-title p {
    margin:0;
    color:#8b95a1;
    font-size:17px;
}

.cert-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:48px;
    align-items:stretch;
}

.cert-card {
    background:#fff;
    border-radius:4px;
    overflow:hidden;
    min-height:480px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.cert-card img {
    width:100%;
    height:100%;
    object-fit:cover;
}

/* ================= FAQ ================= */

.faq-section {
    background:#000;
}

.faq-container {
    max-width:1080px;
}

.faq-title {
    text-align:center;
    max-width:860px;
    margin:0 auto 64px;
}

.faq-title h2 {
    margin:0 0 18px;
    color:#fff;
    font-size:clamp(36px,5vw,58px);
    font-weight:900;
    line-height:1.15;
    letter-spacing:-.05em;
}

.faq-title h2 em {
    font-style:normal;
    color:var(--red);
    background:none;
    -webkit-background-clip:initial;
    background-clip:initial;
    -webkit-text-fill-color:var(--red);
}

.faq-title p {
    margin:0;
    color:#8f9aaa;
    font-size:17px;
    font-weight:300;
}

.faq-card-list {
    display:flex;
    flex-direction:column;
    gap:16px;
    max-width:100%;
    margin:0 auto;
}

.faq-card {
    overflow:hidden;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.015);
    transition:border-color .25s, background .25s;
}

.faq-card:hover {
    border-color:rgba(249,115,22,.35);
    background:rgba(255,255,255,.025);
}

.faq-card-q {
    width:100%;
    min-height:68px;
    padding:0 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:transparent;
    border:0;
    color:#fff;
    cursor:pointer;
    text-align:left;
}

.faq-card-q span {
    font-size:18px;
    font-weight:900;
    line-height:1.45;
}

.faq-card-q b {
    position:relative;
    width:18px;
    height:18px;
    flex:0 0 18px;
}

.faq-card-q b::before,
.faq-card-q b::after {
    content:"";
    position:absolute;
    top:8px;
    width:10px;
    height:2px;
    border-radius:99px;
    background:#9ca3af;
    transition:.25s;
}

.faq-card-q b::before {
    right:5px;
    transform:rotate(45deg);
}

.faq-card-q b::after {
    right:0;
    transform:rotate(-45deg);
}

.faq-card.open .faq-card-q b::before {
    transform:rotate(-45deg);
}

.faq-card.open .faq-card-q b::after {
    transform:rotate(45deg);
}

.faq-card-a {
    max-height:0;
    overflow:hidden;
    color:var(--muted);
    transition:max-height .3s ease;
}

.faq-card-a p {
    margin:0;
    padding:0 24px 24px;
    color:#9ca3af;
    font-size:16px;
    line-height:1.75;
}

.faq-card.open .faq-card-a {
    max-height:220px;
}

/* ================= FOOTER ================= */

.site-footer {
    padding:64px 0 34px;
    background:#030406;
    border-top:1px solid rgba(255,255,255,.06);
}

.footer-grid {
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:40px;
}

.footer-logo {
    font-size:24px;
    font-weight:900;
}

.site-footer p,
.site-footer li {
    color:#747b87;
    font-size:13px;
}

.site-footer ul {
    list-style:none;
    padding:0;
}

.footer-bottom {
    margin-top:38px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.06);
    display:flex;
    justify-content:space-between;
    color:#575f6c;
    font-size:12px;
}

.footer-bottom a {
    margin-left:18px;
}

.shop-redirect-toast {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 9999;
    transform: translate(-50%, -50%) scale(0.96);
    min-width: 260px;
    padding: 18px 26px;
    border-radius: 18px;
    background: rgba(3, 4, 6, 0.92);
    border: 1px solid rgba(249, 115, 22, 0.45);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: 0.25s ease;
}

.shop-redirect-toast::after {
    content: "";
    display: block;
    width: 34px;
    height: 34px;
    margin: 14px auto 0;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.18);
    border-top-color: var(--orange);
    animation: shopToastSpin 0.8s linear infinite;
}

.shop-redirect-toast.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

@keyframes shopToastSpin {
    to {
        transform: rotate(360deg);
    }
}

/* ================= ANIMATION ================= */

.reveal {
    opacity:0;
    transform:translateY(24px);
    transition:.7s;
}

.reveal.active {
    opacity:1;
    transform:translateY(0);
}

/* ================= TABLET ================= */

@media(max-width:1024px) {
    .product-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .tech-layout {
        grid-template-columns:1fr;
    }

    .review-track {
        grid-template-columns:repeat(2,1fr);
    }

    .quality-grid,
    .cert-grid {
        grid-template-columns:1fr;
        max-width:520px;
    }

    .cert-card {
        min-height:auto;
    }
}

/* ================= MOBILE ================= */

@media(max-width:760px) {
    .container {
        width:calc(100% - 28px);
    }

    .header-inner {
        height:62px;
    }

    .logo-mark {
        width:36px;
        height:36px;
        border-radius:12px;
        font-size:12px;
    }

    .logo-text {
        font-size:15px;
    }

    .nav-toggle {
        display:block;
    }

    .nav {
        position:absolute;
        top:62px;
        left:14px;
        right:14px;
        display:none;
        flex-direction:column;
        gap:0;
        background:rgba(8,9,13,.96);
        border:1px solid var(--line);
        border-radius:18px;
        padding:8px;
        box-shadow:0 20px 50px rgba(0,0,0,.35);
    }

    .nav.open {
        display:flex;
    }

    .nav a {
        padding:13px 14px;
        font-size:14px;
        border-radius:12px;
    }

    .nav a:hover {
        background:rgba(255,255,255,.05);
    }

    .section {
        padding:58px 0;
    }

    .section-title {
        margin-bottom:34px;
    }

    .section-title span {
        font-size:11px;
        letter-spacing:.16em;
        margin-bottom:10px;
    }

    .section-title h2 {
        font-size:26px;
        line-height:1.28;
        letter-spacing:-.04em;
        margin-bottom:14px;
    }

    .section-title p {
        font-size:14px;
        line-height:1.7;
    }

    .hero {
        min-height:auto;
        padding:112px 0 64px;
    }

    .hero h1 {
        font-size:30px;
        line-height:1.32;
        letter-spacing:-.045em;
    }

    .hero p {
        margin:18px auto 28px;
        font-size:15px;
        line-height:1.75;
    }

    .eyebrow {
        padding:7px 13px;
        font-size:12px;
        margin-bottom:18px;
    }

    .hero-buttons {
        gap:10px;
    }

    .btn {
        width:100%;
        min-width:0;
        min-height:52px;
        padding:13px 18px;
        border-radius:15px;
        font-size:15px;
    }

    .btn:hover {
        transform:none;
    }

    .scroll-indicator {
        display:none;
    }

    .g1 {
        width:320px;
        height:320px;
        top:18%;
        left:-15%;
    }

    .g2 {
        width:360px;
        height:360px;
        right:-18%;
    }

    .wave-bg {
        opacity:.22;
    }

    @keyframes ripple {
        0% {
            width:180px;
            height:180px;
            opacity:.42;
        }

        100% {
            width:680px;
            height:680px;
            opacity:0;
        }
    }

    .product-grid,
    .problem-grid,
    .case-grid,
    .data-grid,
    .footer-grid {
        grid-template-columns:1fr;
    }

    .product-grid {
        gap:16px;
    }

    .product-card {
        height:220px;
        aspect-ratio:auto;
        border-radius:20px;
    }

    .product-overlay {
        opacity:1;
        padding:20px;
    }

    .product-overlay h3 {
        font-size:18px;
    }

    .product-overlay p {
        font-size:13px;
    }

    .problem-grid {
        gap:14px;
    }

    .glass-card {
        padding:20px;
        border-radius:20px;
    }

    .glass-card:hover {
        transform:none;
    }

    .icon-dot {
        width:48px;
        height:48px;
        border-radius:16px;
        font-size:22px;
        margin-bottom:14px;
    }

    .glass-card h3 {
        font-size:18px;
        margin-bottom:8px;
    }

    .glass-card p {
        font-size:14px;
        line-height:1.7;
    }

    .tech-panel {
        padding:18px;
        border-radius:24px;
    }

    .tech-layout {
        gap:30px;
    }

    .tech-slider {
        min-height:280px;
        padding:10px;
        border-radius:18px;
    }

    .tech-slide img {
        max-height:250px;
        border-radius:10px;
    }

    .slider-dots {
        bottom:10px;
    }

    .tech-title {
        font-size:23px;
        margin-bottom:14px;
    }

    .tech-desc {
        font-size:14px;
        line-height:1.75;
        margin-bottom:26px;
    }

    .tech-feature {
        gap:14px;
        margin-bottom:24px;
    }

    .tech-icon {
        width:44px;
        height:44px;
        min-width:44px;
    }

    .tech-feature-text h4 {
        font-size:16px;
        margin-bottom:6px;
    }

    .tech-feature-text p {
        font-size:13px;
        line-height:1.7;
    }

    .data-gallery {
        margin-top:36px;
        padding-top:30px;
    }

    .data-gallery h4 {
        font-size:18px;
        margin:0 0 14px;
    }

    .data-gallery>div+div {
        margin-top:34px;
    }

    .data-gallery>div>img,
    .data-grid img {
        border-radius:16px;
        padding:8px;
    }

    .case-grid {
        gap:16px;
    }

    .case-img {
        border-radius:22px;
        padding:5px;
    }

    .case-img img {
        border-radius:17px;
        padding:6px;
    }

    .review-wrap {
        padding:0;
    }

    .review-track {
        grid-template-columns:1fr;
        gap:16px;
        min-height:auto;
    }

    .review-card {
        min-height:auto;
        padding:16px;
        border-radius:22px;
    }

    .review-card:hover {
        transform:none;
    }

    .review-img {
        height:145px;
        border-radius:14px;
        margin-bottom:16px;
    }

    .review-card h3 {
        font-size:16px;
        margin:14px 0 8px;
    }

    .review-card p {
        font-size:13px;
        line-height:1.65;
    }

    .review-foot {
        font-size:11px;
    }

    .review-arrow {
        top:auto;
        bottom:-52px;
        transform:none;
        width:42px;
        height:42px;
        font-size:26px;
    }

    .review-arrow.prev {
        left:calc(50% - 52px);
    }

    .review-arrow.next {
        right:calc(50% - 52px);
    }

    .review-dots {
        margin-top:72px;
    }

    .app-phone {
        height:390px;
        border-radius:28px;
        padding:12px;
    }

    .app-phone img {
        border-radius:14px;
    }

    .buy-box {
        padding:34px 18px;
        border-radius:28px;
    }

    .buy-box h2 {
        font-size:26px;
        line-height:1.32;
    }

    .buy-box p {
        font-size:15px;
        line-height:1.7;
    }

    .buy-box ul {
        padding:16px;
        margin-bottom:24px;
        border-radius:16px;
    }

    .buy-box li {
        font-size:14px;
        line-height:1.65;
        padding:6px 0 6px 24px;
    }

    .quality-grid {
        gap:18px;
    }

    .quality-card {
        min-height:auto;
        padding:30px 22px;
    }

    .cert-grid {
        gap:24px;
    }

    .cert-title h2 {
        font-size:34px;
    }

    .faq-title {
        margin-bottom:34px;
    }

    .faq-title h2 {
        font-size:28px;
        line-height:1.25;
    }

    .faq-title p {
        font-size:14px;
        line-height:1.7;
    }

    .faq-card-list {
        gap:12px;
    }

    .faq-card {
        border-radius:14px;
    }

    .faq-card-q {
        min-height:58px;
        padding:0 16px;
        gap:12px;
    }

    .faq-card-q span {
        font-size:15px;
        line-height:1.45;
    }

    .faq-card-a p {
        padding:0 16px 18px;
        font-size:13px;
        line-height:1.7;
    }

    .faq-card.open .faq-card-a {
        max-height:260px;
    }

    .site-footer {
        padding:46px 0 26px;
    }

    .footer-grid {
        gap:24px;
    }

    .footer-logo {
        font-size:20px;
    }

    .site-footer p,
    .site-footer li {
        font-size:12px;
        line-height:1.7;
    }

    .footer-bottom {
        flex-direction:column;
        gap:10px;
        margin-top:26px;
        padding-top:20px;
    }

    .footer-bottom a {
        margin-left:0;
        margin-right:14px;
    }
}

/* ================= SMALL MOBILE ================= */

@media(max-width:420px) {
    .container {
        width:calc(100% - 24px);
    }

    .hero h1 {
        font-size:28px;
    }

    .hero p {
        font-size:14px;
    }

    .section-title h2 {
        font-size:24px;
    }

    .product-card {
        height:200px;
    }

    .app-phone {
        height:340px;
    }

    .buy-box h2 {
        font-size:24px;
    }
}