:root {
--success-ink: #111827;
--success-text: #172033;
--success-muted: #667085;
--success-soft: #f7f4ee;
--success-paper: #fffdf8;
--success-panel: #ffffff;
--success-line: #e6dfd2;
--success-navy: #18213a;
--success-indigo: #3454d1;
--success-green: #0f766e;
--success-mint: #dff7ef;
--success-gold: #b7791f;
--success-coral: #c2410c;
--success-shadow: 0 18px 48px rgba(24, 33, 58, 0.1);
}

html {
scroll-behavior: smooth;
}

body.success-ai-body {
min-height: 100vh;
margin: 0;
color: var(--success-text);
background:
    linear-gradient(90deg, rgba(24, 33, 58, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(24, 33, 58, 0.045) 1px, transparent 1px),
    linear-gradient(180deg, #fffdf8 0%, #f8f5ef 44%, #eef7f3 100%);
background-size: 64px 64px, 64px 64px, auto;
font-family: "Inter", "Noto Sans TC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
letter-spacing: 0;
}

a {
color: inherit;
}

.page-shell {
position: relative;
overflow: clip;
}

.site-main {
position: relative;
z-index: 1;
}

.top-strip {
border-bottom: 1px solid rgba(230, 223, 210, 0.86);
background: rgba(255, 253, 248, 0.82);
color: var(--success-muted);
backdrop-filter: blur(18px);
}

.ai-navbar {
position: sticky;
top: 0;
z-index: 1030;
border-bottom: 1px solid rgba(230, 223, 210, 0.9);
background: rgba(255, 253, 248, 0.9);
backdrop-filter: blur(22px);
}

.ai-brand {
display: inline-flex;
align-items: center;
gap: 0.72rem;
color: var(--success-ink);
font-weight: 900;
line-height: 1.05;
text-decoration: none;
}

.ai-brand-mark {
display: grid;
place-items: center;
width: 42px;
height: 42px;
border-radius: 12px;
color: #fff;
background: linear-gradient(135deg, var(--success-navy), var(--success-green));
box-shadow: 0 14px 28px rgba(15, 118, 110, 0.18);
}

.ai-brand small,
.ai-muted {
color: var(--success-muted);
}

.ai-nav-link {
color: #475467 !important;
font-weight: 800;
text-decoration: none;
}

.ai-nav-link:hover,
.ai-nav-link:focus {
color: var(--success-green) !important;
}

.ai-btn-primary,
.ai-btn-ghost,
.contact-pill,
.filter-pill {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.52rem;
min-height: 44px;
border-radius: 999px;
font-weight: 900;
text-decoration: none;
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ai-btn-primary {
border: 1px solid var(--success-navy);
color: #fff;
background: var(--success-navy);
box-shadow: 0 16px 36px rgba(24, 33, 58, 0.18);
}

.ai-btn-primary:hover {
color: #fff;
background: var(--success-green);
border-color: var(--success-green);
transform: translateY(-2px);
}

.ai-btn-ghost,
.contact-pill {
border: 1px solid var(--success-line);
color: var(--success-ink);
background: rgba(255, 255, 255, 0.68);
}

.ai-btn-ghost:hover,
.contact-pill:hover {
color: var(--success-green);
border-color: rgba(15, 118, 110, 0.35);
background: #fff;
box-shadow: 0 12px 28px rgba(24, 33, 58, 0.08);
transform: translateY(-2px);
}

.ai-section {
position: relative;
padding: 5.5rem 0;
}

.section-eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
min-height: 2rem;
padding: 0.34rem 0.74rem;
border: 1px solid rgba(15, 118, 110, 0.2);
border-radius: 999px;
background: rgba(223, 247, 239, 0.8);
color: var(--success-green);
font-size: 0.76rem;
font-weight: 900;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.section-title {
color: var(--success-ink);
font-size: clamp(2rem, 3vw, 3.5rem);
line-height: 1.03;
font-weight: 500;
}

.section-lead {
max-width: 42rem;
color: var(--success-muted);
font-size: 1.04rem;
line-height: 1.88;
}

.ai-card {
height: 100%;
border: 1px solid var(--success-line);
border-radius: 8px;
background: rgba(255, 255, 255, 0.76);
box-shadow: var(--success-shadow);
}

.metric-chip,
.tag-pill {
display: inline-flex;
align-items: center;
gap: 0.42rem;
border-radius: 999px;
font-weight: 800;
text-decoration: none;
}

.metric-chip {
padding: 0.42rem 0.78rem;
border: 1px solid rgba(24, 33, 58, 0.1);
background: rgba(255, 255, 255, 0.72);
color: var(--success-navy);
font-size: 0.84rem;
}

.tag-pill {
min-height: 28px;
padding: 0.28rem 0.62rem;
border: 1px solid rgba(15, 118, 110, 0.16);
background: rgba(223, 247, 239, 0.74);
color: var(--success-green);
font-size: 0.74rem;
}

.service-icon,
.contact-icon {
display: grid;
place-items: center;
width: 48px;
height: 48px;
border-radius: 14px;
color: var(--success-navy);
background: #f3efe6;
border: 1px solid var(--success-line);
}

.text-white,
.text-light {
color: var(--success-ink) !important;
}

.text-primary {
color: var(--success-green) !important;
}

.reveal {
opacity: 0;
transform: translateY(18px);
transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.is-visible {
opacity: 1;
transform: translateY(0);
}

.ai-footer {
border-top: 1px solid var(--success-line);
background: #18213a;
color: rgba(255, 255, 255, 0.82);
}

.ai-footer .ai-muted,
.ai-footer .section-lead,
.ai-footer .ai-brand small {
color: rgba(255, 255, 255, 0.66);
}

.ai-footer .ai-brand,
.ai-footer h2,
.ai-footer h3,
.ai-footer .text-white {
color: #fff !important;
}

.ai-footer .contact-pill,
.ai-footer .metric-chip {
color: #fff;
border-color: rgba(255, 255, 255, 0.18);
background: rgba(255, 255, 255, 0.08);
}

.ai-footer-cta {
border-radius: 8px;
background: #fffdf8;
color: var(--success-ink);
box-shadow: 0 22px 60px rgba(0, 0, 0, 0.22);
}

.ai-footer .ai-footer-cta h2,
.ai-footer .ai-footer-cta .text-white {
color: var(--success-ink) !important;
}

.ai-footer-cta .section-lead {
color: var(--success-muted);
}

@media (max-width: 991.98px) {
    .ai-section {
        padding: 4rem 0;
    }

    .navbar-collapse {
        padding: 1rem 0 1.2rem;
    }
}

@media (max-width: 767.98px) {
    .section-title {
        font-size: clamp(2.15rem, 12vw, 3.2rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}

/* .home-hero */
    .home-hero {
        padding: 6.2rem 0 4.5rem;
    }

    .hero-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
        gap: 3rem;
        align-items: center;
    }

    .hero-title {
        color: var(--success-ink);
        font-size: clamp(3.2rem, 4vw, 6.3rem);
        line-height: 1.2;
        font-weight: 400;
    }

    .hero-title span {
        color: var(--success-green);
    }

    .hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.9rem;
        margin-top: 2rem;
    }

    .hero-metrics {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
        margin-top: 2.2rem;
    }

    .hero-metric {
        padding: 1rem;
        border-left: 3px solid var(--success-green);
        background: rgba(255, 255, 255, 0.6);
    }

    .hero-metric strong {
        display: block;
        color: var(--success-ink);
        font-size: 1.45rem;
        font-weight: 500;
    }

    .ops-board {
        border: 1px solid var(--success-line);
        border-radius: 8px;
        background: #fff;
        box-shadow: 0 30px 80px rgba(24, 33, 58, 0.15);
        overflow: hidden;
    }

    .ops-board-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 1.1rem 1.25rem;
        border-bottom: 1px solid var(--success-line);
        background: #18213a;
        color: #fff;
    }

    .ops-board-header .text-white {
        color: #fff !important;
    }

    .ops-board-body {
        padding: 1.25rem;
    }

    .pipeline {
        display: grid;
        gap: 0.85rem;
    }

    .pipeline-item {
        display: grid;
        grid-template-columns: 42px minmax(0, 1fr) auto;
        gap: 0.85rem;
        align-items: center;
        padding: 0.92rem;
        border: 1px solid var(--success-line);
        border-radius: 8px;
        background: #fffdf8;
    }

    .pipeline-index {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        color: #fff;
        background: var(--success-green);
        font-weight: 900;
    }

    .board-kpis {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.8rem;
        margin-top: 1rem;
    }

    .board-kpi {
        padding: 0.95rem;
        border-radius: 8px;
        background: #f4f8f6;
    }

    .split-layout,
    .solution-layout,
    .process-layout {
        display: grid;
        grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
        gap: 2rem;
        align-items: start;
    }

    .section-note {
        position: sticky;
        top: 7rem;
    }

    .service-grid,
    .solution-grid,
    .proof-grid,
    .stack-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .service-card,
    .solution-card,
    .proof-card,
    .stack-panel,
    .post-card,
    .final-cta,
    .process-item {
        border: 1px solid var(--success-line);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.78);
        box-shadow: var(--success-shadow);
    }

    .service-card,
    .solution-card,
    .proof-card,
    .post-card,
    .process-item {
        padding: 1.45rem;
    }

    .service-card h3,
    .solution-card h3,
    .proof-card h3,
    .post-card h3 {
        color: var(--success-ink);
    }

    .process-list {
        display: grid;
        gap: 1rem;
    }

    .process-item {
        display: grid;
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 1rem;
        align-items: start;
    }

    .process-index {
        color: var(--success-coral);
        font-size: 0.88rem;
        font-weight: 900;
        letter-spacing: 0.08em;
    }

    .proof-value {
        color: var(--success-green);
        font-size: 2.25rem;
        font-weight: 900;
        line-height: 1;
    }

    .stack-panel,
    .final-cta {
        padding: 2rem;
    }

    .stack-item {
        padding: 1rem;
        border-left: 3px solid var(--success-green);
        background: #fffdf8;
    }

    .final-cta {
        background: #18213a;
        color: #fff;
    }

    .final-cta .section-title,
    .final-cta h2 {
        color: #fff;
    }

    .final-cta .section-lead {
        color: rgba(255, 255, 255, 0.7);
    }

    .final-cta .ai-btn-primary {
        color: var(--success-navy);
        border-color: #fff;
        background: #fff;
        box-shadow: none;
    }

    .final-cta .ai-btn-primary:hover {
        color: #fff;
        border-color: var(--success-green);
        background: var(--success-green);
    }

    @media (max-width: 1199.98px) {
        .hero-grid,
        .split-layout,
        .solution-layout,
        .process-layout {
        grid-template-columns: 1fr;
        }

        .section-note {
        position: static;
        }
    }

    @media (max-width: 767.98px) {
        .home-hero {
        padding-top: 4.2rem;
        }

        .hero-metrics,
        .board-kpis,
        .service-grid,
        .solution-grid,
        .proof-grid,
        .stack-list {
        grid-template-columns: 1fr;
        }

        .pipeline-item,
        .process-item {
        grid-template-columns: 1fr;
        }
    }





/* product-list */
    .product-list-hero {
        padding: 6rem 0 4rem;
    }

    .catalog-hero-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
        gap: 2rem;
        align-items: stretch;
    }

    .product-hero-card,
    .catalog-summary-card,
    .catalog-filter-card,
    .product-card,
    .catalog-empty-card,
    .catalog-cta-card {
        border: 1px solid var(--success-line);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.78);
        box-shadow: var(--success-shadow);
    }

    .product-hero-card,
    .catalog-summary-card,
    .catalog-filter-card,
    .catalog-empty-card,
    .catalog-cta-card {
        padding: 1.75rem;
    }

    .catalog-hero-title {
        color: var(--success-ink);
        font-size: clamp(3rem, 4vw, 5.2rem);
        line-height: 0.98;
        font-weight: 500;
    }

    .catalog-kpi-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.9rem;
        margin-top: 2rem;
    }

    .catalog-kpi {
        padding: 1rem;
        border-left: 3px solid var(--success-green);
        background: #fffdf8;
    }

    .catalog-kpi strong {
        display: block;
        margin-bottom: 0.25rem;
        color: var(--success-ink);
        font-size: 1.25rem;
        font-weight: 900;
    }

    .catalog-side-grid,
    .catalog-benefits {
        display: grid;
        gap: 1rem;
    }

    .filter-pill {
        padding: 0.64rem 1rem;
        border: 1px solid var(--success-line);
        background: rgba(255, 255, 255, 0.7);
        color: var(--success-ink);
        font-size: 0.84rem;
    }

    .filter-pill:hover,
    .filter-pill.active {
        border-color: rgba(15, 118, 110, 0.35);
        background: var(--success-mint);
        color: var(--success-green);
    }

    .product-count-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.45rem;
        height: 1.45rem;
        padding: 0 0.4rem;
        border-radius: 999px;
        font-size: 0.7rem;
        font-weight: 900;
        background: #fff;
        color: var(--success-green);
    }

    .catalog-section-grid {
        display: grid;
        /* grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr); */
        gap: 1.5rem;
        align-items: start;
    }

    .catalog-filter-list {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
    }

    .catalog-benefit {
        display: grid;
        grid-template-columns: 28px minmax(0, 1fr);
        gap: 0.8rem;
        align-items: start;
    }

    .catalog-benefit i {
        color: var(--success-green);
        margin-top: 0.15rem;
    }

    .product-card {
        position: relative;
        min-height: 100%;
        padding: 1.45rem;
    }

    .product-card-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .featured-badge {
        position: absolute;
        top: -0.5rem;
        right: -1rem;
        padding: 0.18rem 0.65rem;
        border: 1px solid rgba(183, 121, 31, 0.25);
        border-radius: 999px;
        background: rgba(255, 247, 217, 0.9);
        color: var(--success-gold);
        font-size: 0.72rem;
        font-weight: 900;
        pointer-events: none;
    }

    .product-card-copy {
        min-height: 5.5rem;
        line-height: 1.8;
        font-size: 1rem;
    }

    .price-range {
        margin-top: auto;
        padding-top: 1.25rem;
        border-top: 1px solid var(--success-line);
    }

    .price-label {
        color: var(--success-muted);
        font-size: 0.78rem;
        font-weight: 900;
        letter-spacing: 0.04em;
    }

    .price-main {
        color: var(--success-green);
        font-size: 25px;
        font-weight: 900;
        line-height: 1.1;
    }

    .price-upper {
        color: var(--success-muted);
        font-size: 0.5rem;
    }

    .catalog-empty-card {
        text-align: center;
    }

    .catalog-cta-card {
        background: #18213a;
        color: #fff;
    }

    .catalog-cta-card h2 {
        color: #fff !important;
    }

    .catalog-cta-card .section-lead {
        color: rgba(255, 255, 255, 0.7);
    }

    .catalog-cta-card .ai-btn-primary {
        color: var(--success-navy);
        border-color: #fff;
        background: #fff;
        box-shadow: none;
    }

    .catalog-cta-card .ai-btn-primary:hover {
        color: #fff;
        border-color: var(--success-green);
        background: var(--success-green);
    }

    .pagination .page-link {
        min-width: 44px;
        border-color: var(--success-line);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.72);
        color: var(--success-muted);
        text-align: center;
    }

    .pagination .page-item.active .page-link {
        border-color: var(--success-green);
        background: var(--success-green);
        color: #fff;
        font-weight: 900;
    }

    .pagination .page-link:hover {
        border-color: var(--success-green);
        color: var(--success-green);
        background: var(--success-mint);
    }

    @media (max-width: 1199.98px) {
        .catalog-hero-grid,
        .catalog-section-grid {
        grid-template-columns: 1fr;
        }
    }

    @media (max-width: 767.98px) {
        .product-list-hero {
        padding-top: 4rem;
        }

        .product-hero-card,
        .catalog-summary-card,
        .catalog-filter-card,
        .product-card,
        .catalog-empty-card,
        .catalog-cta-card {
        padding: 1.25rem;
        }

        .catalog-kpi-grid,
        .catalog-benefit {
        grid-template-columns: 1fr;
        }
    }

/* product detail */
.product-detail-hero {
		padding: 5.5rem 0 2.5rem;
	}

	.product-detail-grid,
	.product-content-grid,
	.related-grid {
		display: grid;
		gap: 1.5rem;
	}

	.product-detail-grid {
		grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
		align-items: stretch;
	}

	.product-content-grid {
		grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.28fr);
		align-items: start;
	}

	.product-media-card,
	.product-summary-card,
	.product-gallery-card,
	.product-content-card,
	.product-sidebar-card,
	.product-related-card,
	.product-cta-card,
	.product-empty-card {
		border: 1px solid rgba(148, 163, 184, 0.5);
		border-radius: 20px;
		background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(250, 250, 250, 1));
		box-shadow: 0 5px 5px rgba(0, 0, 0, 0.14);
	}

	.product-media-card,
	.product-summary-card,
	.product-gallery-card,
	.product-content-card,
	.product-sidebar-card,
	.product-cta-card,
	.product-empty-card {
		padding: 1.75rem;
	}

	.product-breadcrumb {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
		margin-bottom: 1.25rem;
		color: var(--success-muted);
		font-size: 0.88rem;
	}

	.product-breadcrumb a {
		color: inherit;
		text-decoration: none;
	}

	.product-breadcrumb a:hover {
		color: var(--success-cyan);
	}

	.product-hero-title {
		font-size: clamp(2.8rem, 3vw, 4.2rem);
		line-height: 1.02;
		font-weight: 500;
		letter-spacing: -0.04em;
		color: #353131;
	}

	.product-hero-copy {
		color: #131a23;
		font-size: 1.04rem;
		line-height: 1.9;
	}

	.product-meta-strip,
	.product-kpi-grid,
	.product-feature-list,
	.product-proof-list,
	.product-contact-list,
	.gallery-grid,
	.related-grid,
	.product-tags-row {
		display: grid;
		gap: 0.9rem;
	}

	.product-kpi-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 1.5rem;
	}

	.product-kpi {
		padding: 1rem;
		border: 1px solid rgba(148, 163, 184, 0.12);
		border-radius: 16px;
		background: rgba(2, 6, 23, 0.46);
	}

	.product-kpi strong {
		display: block;
		margin-bottom: 0.25rem;
		color: #fff;
		font-size: 1.2rem;
		font-weight: 800;
	}

	.product-figure {
		position: relative;
		overflow: hidden;
		min-height: 26rem;
		border-radius: 18px;
		background:
			radial-gradient(circle at top right, rgba(37, 99, 235, 0.2), transparent 38%),
			linear-gradient(135deg, rgba(2, 6, 23, 0.98), rgba(15, 23, 42, 0.8));
	}

	.product-figure img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}

	.product-figure-fallback {
		display: grid;
		place-items: center;
		min-height: 26rem;
		padding: 2rem;
		text-align: center;
		color: #d7e4f6;
	}

	.product-image-badge {
		position: absolute;
		left: 1rem;
		top: 1rem;
		display: inline-flex;
		align-items: center;
		gap: 0.45rem;
		min-height: 2.1rem;
		padding: 0.35rem 0.85rem;
		border: 1px solid rgba(148, 163, 184, 0.14);
		border-radius: 999px;
		background: rgba(2, 6, 23, 0.7);
		backdrop-filter: blur(14px);
		color: #fff;
		font-size: 0.8rem;
		font-weight: 700;
	}

	.product-summary-card {
		display: flex;
		flex-direction: column;
	}

	.price-panel {
		margin: 0.5rem 0;
		padding: 1.1rem 1.2rem;
		border: 1px solid #999;
		border-radius: 18px;
		background: rgba(255, 255, 255, 0.48);
	}

	.price-panel .price-main {
		font-size: 25px;
		font-weight: 500;
		line-height: 1;
		color: var(--success-cyan);
	}

	.price-panel .price-upper {
		color: var(--success-muted);
		font-size: 0.5rem;
	}

	.status-chip {
		display: inline-flex;
		align-items: center;
		gap: 0.45rem;
		min-height: 2.25rem;
		padding: 0.4rem 0.9rem;
		border-radius: 999px;
		font-size: 0.82rem;
		font-weight: 700;
	}

	.status-chip.in-stock {
		border: 1px solid rgba(116, 244, 185, 0.2);
		background: rgba(116, 244, 185, 0.08);
		color: #9cf7cf;
	}

	.status-chip.out-of-stock {
		border: 1px solid rgba(255, 107, 157, 0.2);
		background: rgba(255, 107, 157, 0.08);
		color: #ff8eb6;
	}

	.product-action-row {
		display: flex;
		flex-wrap: wrap;
		gap: 0.85rem;
		margin-top: auto;
	}

	.product-feature-item,
	.product-proof-item,
	.product-contact-item {
		display: grid;
		grid-template-columns: 28px minmax(0, 1fr);
		gap: 0.8rem;
		align-items: start;
	}

	.product-feature-item i,
	.product-proof-item i,
	.product-contact-item i {
		color: var(--success-cyan);
		margin-top: 0.15rem;
	}

	.product-content-body {
		color: #0f151c;
		line-height: 1.95;
		font-size: 1.2rem;
	}

	.product-content-body h1,
	.product-content-body h2,
	.product-content-body h3,
	.product-content-body h4,
	.product-content-body h5,
	.product-content-body h6 {
		margin-top: 1.75rem;
		margin-bottom: 0.75rem;
		color: #120606;
		font-weight: 800;
		line-height: 1.25;
	}

	.product-content-body p,
	.product-content-body ul,
	.product-content-body ol {
		margin-bottom: 1rem;
	}

	.product-content-body ul,
	.product-content-body ol {
		padding-left: 1.2rem;
	}

	.product-content-body a {
		color: var(--success-cyan);
	}

	.product-content-body img {
		max-width: 100%;
		height: auto;
		border-radius: 16px;
	}

	.gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gallery-item {
		overflow: hidden;
		border: 1px solid rgba(148, 163, 184, 0.12);
		border-radius: 18px;
		background: rgba(2, 6, 23, 0.42);
	}

	.gallery-item img {
		width: 100%;
		aspect-ratio: 1.18;
		object-fit: cover;
		display: block;
	}

	.gallery-caption {
		padding: 0.8rem 0.9rem;
		color: var(--success-muted);
		font-size: 0.88rem;
	}

	.product-sidebar-card.sticky-lg-top {
		top: 7.2rem;
	}

	.related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-related-card {
		position: relative;
		padding: 1.35rem;
		height: 100%;
	}

	.related-card-top {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 1rem;
		margin-bottom: 1rem;
	}

	.product-related-card .price-main {
		font-size: 1.15rem;
	}

	.detail-divider {
		height: 1px;
		margin: 1.4rem 0;
		background: rgba(148, 163, 184, 0.14);
	}

	@media (max-width: 1199.98px) {
		.product-detail-grid,
		.product-content-grid {
			grid-template-columns: 1fr;
		}

		.product-sidebar-card.sticky-lg-top {
			position: static !important;
			top: auto;
		}
	}

	@media (max-width: 767.98px) {
		.product-media-card,
		.product-summary-card,
		.product-gallery-card,
		.product-content-card,
		.product-sidebar-card,
		.product-cta-card,
		.product-empty-card,
		.product-related-card {
			padding: 1.25rem;
		}

		.product-kpi-grid,
		.gallery-grid,
		.related-grid {
			grid-template-columns: 1fr;
		}

		.product-figure,
		.product-figure-fallback {
			min-height: 18rem;
		}
	}


/* contact */
.contact-hero {
      padding: 6rem 0 4rem;
    }

    .contact-shell {
      display: grid;
      grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
      gap: 2rem;
      align-items: stretch;
    }

    .contact-title {
      color: var(--success-ink);
      font-size: clamp(3rem, 4vw, 5rem);
      line-height: 0.98;
      font-weight: 500;
    }

    .contact-intro,
    .contact-checklist,
    .contact-map-card,
    .contact-detail-card,
    .contact-social-card {
      border: 1px solid var(--success-line);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.78);
      box-shadow: var(--success-shadow);
    }

    .contact-intro,
    .contact-checklist,
    .contact-map-card,
    .contact-social-card {
      padding: 1.75rem;
    }

    .contact-metrics {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.9rem;
      margin-top: 2rem;
    }

    .contact-metric {
      padding: 1rem;
      border-left: 3px solid var(--success-green);
      background: #fffdf8;
    }

    .contact-metric strong {
      display: block;
      margin-bottom: 0.25rem;
      color: var(--success-ink);
      font-size: 1.25rem;
      font-weight: 900;
    }

    .contact-note-list,
    .contact-detail-grid {
      display: grid;
      gap: 1rem;
    }

    .contact-note-item {
      display: grid;
      grid-template-columns: 30px minmax(0, 1fr);
      gap: 0.85rem;
      align-items: start;
    }

    .contact-note-item i {
      color: var(--success-green);
      margin-top: 0.18rem;
    }

    .contact-detail-card {
      display: grid;
      grid-template-columns: 58px minmax(0, 1fr);
      gap: 1rem;
      padding: 1.25rem;
    }

    .contact-main-link {
      color: var(--success-ink);
      font-size: 1.3rem;
      font-weight: 600;
      text-decoration: none;
      word-break: break-word;
    }

    .contact-main-link:hover {
      color: var(--success-green);
    }

    .contact-map-card iframe {
      width: 100%;
      min-height: 420px;
      border: 0;
      border-radius: 8px;
      filter: saturate(0.84) contrast(1.02);
    }

    @media (max-width: 1199.98px) {
      .contact-shell {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 767.98px) {
      .contact-hero {
        padding-top: 4rem;
      }

      .contact-intro,
      .contact-checklist,
      .contact-map-card,
      .contact-social-card,
      .contact-detail-card {
        padding: 1.25rem;
      }

      .contact-metrics {
        grid-template-columns: 1fr;
      }

      .contact-detail-card,
      .contact-note-item {
        grid-template-columns: 1fr;
      }
    }