:root{
  --coral:#c3122a;
  --coral-dark:#8c0e20;
  --ink:#1a1b20;
  --navy:#15161c;
  --mint:#3c5750;
  --mint-light:#dfe4e1;
  --cream:#f4efe6;
  --gray:#5b544c;
  --line:#e4ddd1;
  --amber:#c98a2e;
  --white:#fff;
  --radius:14px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif; color:var(--ink); line-height:1.7; background:var(--white); overflow-x:hidden;}
img,svg{display:block; max-width:100%;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
button{font-family:inherit;}
.container{max-width:1180px; margin:0 auto; padding:0 28px;}
.section{padding:110px 0;}
.section-cream{background:var(--cream);}
.section-navy{background:var(--navy); color:#fff;}
.eyebrow{display:inline-flex; align-items:center; gap:9px; font-size:12.5px; font-weight:700; letter-spacing:.1em; color:var(--coral); text-transform:uppercase; margin-bottom:16px;}
.eyebrow::before{content:""; width:16px; height:2px; background:var(--coral); display:inline-block;}
.eyebrow.on-dark{color:var(--amber);}
.eyebrow.on-dark::before{background:var(--amber);}
h2.title{font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif; font-size:36px; font-weight:700; letter-spacing:-0.01em; line-height:1.35; margin-bottom:16px;}
.lead{font-size:15.5px; color:var(--gray); max-width:600px;}
.section-navy .lead{color:#c3c8d4;}
.section-head{margin-bottom:48px;}
.section-head.center{text-align:center; margin-left:auto; margin-right:auto;}
.section-head.center .lead{margin-left:auto; margin-right:auto;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:15px 30px; border-radius:8px; font-weight:700; font-size:14.5px; cursor:pointer; border:1.5px solid transparent; transition:.2s;}
.btn-primary{background:var(--coral); color:#fff;}
.btn-inquiry{background:var(--coral); color:#fff; padding:15px 22px; border-radius:999px; display:inline-flex; align-items:center; gap:8px; box-shadow:0 12px 28px rgba(195,18,42,.35); font-weight:800; font-size:14px;}
.btn-inquiry svg{width:18px; height:18px; stroke:#fff;}
.btn-primary:hover{background:var(--coral-dark);}
.btn-dark{background:var(--navy); color:#fff;}
.btn-dark:hover{background:#000;}
.btn-outline{border-color:rgba(255,255,255,.5); color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.12);}
.btn-ghost{border-color:var(--line); color:var(--ink);}
.btn-ghost:hover{border-color:var(--coral); color:var(--coral);}

/* CTA button shaped like the HI STOP outline reference: rounded rect with two inward-pointing triangle+notch cuts */
.btn-sticker{
  width:112px;
  height:69px;
  padding:0 !important;
  border-radius:0;
  border:none;
  clip-path:path("M13,3 L99,3 A11,11 0 0 1 109,13 L109,18 L68,26 L109,35 L109,38 L78,38 L78,52 L109,52 L109,56 A11,11 0 0 1 99,66 L13,66 A11,11 0 0 1 3,56 L3,52 L34,52 L34,38 L3,38 L3,35 L45,26 L3,18 L3,13 A11,11 0 0 1 13,3 Z");
  transition:transform .2s ease, background .2s ease;
}
.btn-sticker:hover{transform:scale(1.05); background:var(--coral-dark);}

/* Header */
header{position:sticky; top:0; z-index:100; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; height:80px;}
.logo{display:flex; align-items:center; gap:10px; font-weight:900; font-size:21px; color:var(--ink);}
.logo img{height:30px; width:auto; display:block;}
.logo .logo-white{display:none;}
nav.main-nav{display:flex; gap:30px;}
nav.main-nav a{font-weight:600; font-size:14.5px; color:var(--ink);}
nav.main-nav a:hover, nav.main-nav a.active{color:var(--coral);}
.nav-cta{display:flex; align-items:center; gap:12px;}
.burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
.burger span{width:26px; height:2px; background:var(--ink); transition:.2s;}

.header-overlay{position:fixed; top:0; left:0; right:0; background:transparent; border-bottom:1px solid transparent; backdrop-filter:none; transition:background .3s ease, border-color .3s ease;}
.header-overlay .logo-dark{display:none;}
.header-overlay .logo-white{display:block; filter:drop-shadow(0 1px 4px rgba(0,0,0,.45));}
.header-overlay nav.main-nav a{color:#fff; transition:.3s;}
.header-overlay nav.main-nav a:hover{color:var(--coral);}
.header-overlay .burger span{background:#fff;}
.header-overlay.scrolled{background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.header-overlay.scrolled .logo-dark{display:block;}
.header-overlay.scrolled .logo-white{display:none;}
.header-overlay.scrolled nav.main-nav a{color:var(--ink);}
.header-overlay.scrolled .burger span{background:var(--ink);}

/* Hero */
.hero{position:relative; background:var(--navy); overflow:hidden; height:100vh; height:100svh; min-height:560px; max-height:900px;}
.hero-video-bg{position:absolute; top:50%; left:50%; width:100%; height:100%; min-width:100%; min-height:100%; transform:translate(-50%,-50%); object-fit:cover; object-position:center; z-index:0;}
.hero-scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(160deg, rgba(10,10,14,.38) 0%, rgba(10,10,14,.18) 45%, rgba(10,10,14,.46) 100%);}

/* Page header (subpages) */
.page-header{background:var(--cream); padding:64px 0 48px; border-bottom:1px solid var(--line);}
.page-header .eyebrow{margin-bottom:14px;}
.page-header h1{font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif; font-size:34px; font-weight:700; letter-spacing:-0.01em; margin-bottom:12px;}
.page-header .lead{margin-bottom:0;}
.crumb{font-size:12.5px; color:var(--gray); margin-bottom:14px;}
.crumb a{color:var(--gray);}
.crumb a:hover{color:var(--coral);}

/* Trust strip */

/* News */
.news-section{padding:88px 0;}
.news-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:36px; gap:24px;}
.news-head .title{margin-bottom:0;}
.news-head .eyebrow{margin-bottom:14px;}
.more-link{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:3px; flex-shrink:0; white-space:nowrap;}
.more-link svg{width:14px; height:14px; stroke:currentColor;}
.more-link:hover{color:var(--coral); border-color:var(--coral);}
.news-list{display:flex; flex-direction:column; border-top:1px solid var(--ink);}
.news-item{display:flex; align-items:center; gap:24px; padding:20px 6px; border-bottom:1px solid var(--line); transition:.2s;}
.news-item:hover{background:#fff;}
.news-date{font-size:13px; color:var(--gray); font-weight:700; width:96px; flex-shrink:0;}
.news-cat{font-size:11px; font-weight:800; color:var(--coral); border:1px solid var(--coral); padding:4px 12px; border-radius:999px; flex-shrink:0; width:52px; text-align:center;}
.news-title{font-size:14.5px; font-weight:600; color:var(--ink); flex:1;}
.news-item:hover .news-title{color:var(--coral);}

/* About teaser (home page) — full-bleed split panel, following ibichemi.co.jp ABOUT US block precisely */
.about-panel-grid{display:grid; grid-template-columns:calc(max(28px, (100vw - 1180px) / 2 + 28px) + (min(1124px, 100vw - 56px) - 56px) / 3 + 28px) 1fr; align-items:stretch; background:#fff; padding-right:max(28px, calc((100vw - 1180px) / 2 + 28px));}
.about-panel-left{padding:76px 60px 56px max(28px, calc((100vw - 1180px) / 2 + 28px)); display:flex; flex-direction:column; justify-content:flex-start;}
.about-panel-left .eyebrow-big{font-weight:900; font-size:34px; letter-spacing:0; color:var(--coral); margin-bottom:10px; line-height:1;}
.about-panel-left h3{font-size:18px; font-weight:800; color:var(--ink); margin-bottom:24px;}
.about-panel-left p{font-size:14.5px; line-height:1.9; color:var(--gray); margin-bottom:32px; max-width:320px;}
.about-panel-left .btn{border-radius:0; align-self:flex-start; padding:17px 44px; font-size:14px; letter-spacing:.04em;}
.about-panel-photo{position:relative; align-self:stretch;}
.about-panel-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;}

.about-links-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:56px; margin-bottom:-40px; position:relative; z-index:5;}
.about-link{background:#fff; border:1px solid var(--line); border-radius:12px; padding:44px 30px; text-align:center; box-shadow:0 18px 40px rgba(20,20,25,.09);}
.about-link svg{width:32px; height:32px; stroke:var(--coral); stroke-width:1.4; margin:0 auto 18px;}
.about-link .lbl{display:block; font-size:12px; font-weight:800; letter-spacing:.1em; color:var(--coral); margin-bottom:12px;}
.about-link b{display:block; font-size:15px; font-weight:800; color:var(--ink); margin-bottom:10px;}
.about-link p{font-size:12.5px; color:var(--gray); line-height:1.7; margin:0;}
.about-link:hover b{color:var(--coral);}
.about-link.risk{background:var(--ink); border-color:var(--ink); position:relative;}
.about-link.risk svg{stroke:var(--coral);}
.about-link.risk .lbl{color:var(--coral);}
.about-link.risk b{color:#fff; margin-bottom:14px;}
.about-link.risk p{color:#c3c8d4;}
.about-link.risk:hover b{color:#fff;}
.risk-badge{position:absolute; top:14px; right:14px; font-size:10px; font-weight:800; color:var(--coral); letter-spacing:.06em; border:1px solid #5a2530; border-radius:999px; padding:3px 9px;}
.risk-stat{font-size:34px; font-weight:900; color:var(--coral); line-height:1; margin-bottom:6px;}
.risk-source{font-size:10.5px; color:#7d7f88; margin-top:12px;}
.about-more{display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:var(--coral); border:1px solid var(--coral); border-radius:999px; padding:7px 16px; margin-top:18px; transition:.2s;}
.about-link:hover .about-more{background:var(--coral); color:#fff;}

/* About / company intro (subpage, full) */
.about-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; margin-bottom:60px;}
.about-copy p{font-size:15.5px; color:var(--gray); margin-bottom:16px;}
.value-list{display:flex; flex-direction:column; gap:14px; margin-top:-40px;}
.value-item{display:flex; gap:16px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px 24px;}
.value-item .ic{width:44px; height:44px; border-radius:11px; background:var(--cream); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.value-item .ic svg{width:22px; height:22px; stroke:var(--coral); fill:none;}
.value-item h4{font-size:15px; font-weight:800; margin-bottom:5px;}
.value-item p{font-size:13.5px; color:var(--gray); margin:0;}
.about-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:56px;}
.about-stats div{text-align:center;}
.about-stats div b{display:block; font-size:32px; font-weight:900; color:var(--coral); letter-spacing:-.01em;}
.about-stats div span{font-size:12.5px; color:var(--gray);}
.timeline{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;}
.timeline-step{text-align:center; padding:0 12px; position:relative;}
.timeline-step .yr{width:60px; height:60px; border-radius:50%; background:var(--cream); color:var(--coral); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:14px; margin:0 auto 16px; position:relative; z-index:2; border:1px solid var(--line);}
.timeline-step:nth-child(even) .yr{background:var(--ink); color:#fff; border-color:var(--ink);}
.timeline-step::after{content:""; position:absolute; top:30px; left:calc(50% + 30px); width:calc(100% - 60px); height:1px; background:var(--line); z-index:1;}
.timeline-step:last-child::after{display:none;}
.timeline-step h4{font-size:14.5px; font-weight:800; margin-bottom:6px;}
.timeline-step p{font-size:12.5px; color:var(--gray);}

.case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.case-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; display:flex; flex-direction:column;}
.case-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; gap:8px;}
.case-tag{font-size:11px; font-weight:800; letter-spacing:.02em; color:#fff; background:var(--coral); padding:4px 10px; border-radius:999px; flex-shrink:0;}
.case-date{font-size:11px; color:var(--gray); font-weight:700; text-align:right;}
.case-card h4{font-size:15px; font-weight:800; margin-bottom:8px; line-height:1.45;}
.case-card p{font-size:12.5px; color:var(--gray); line-height:1.75; margin-bottom:16px;}
.case-source{margin-top:auto; font-size:11.5px; font-weight:700; color:var(--ink); padding-top:14px; border-top:1px solid var(--line); display:inline-flex; align-items:center; gap:5px;}
.case-source svg{width:12px; height:12px; stroke:currentColor;}
.case-source:hover{color:var(--coral);}
.case-intro-stat{display:inline-block; font-size:13px; font-weight:800; color:var(--coral); background:var(--cream); padding:8px 16px; border-radius:999px; margin-bottom:18px;}

/* Home teaser cards */
.teaser-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
.teaser-card{display:flex; gap:20px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px;}
.teaser-card .ic{width:64px; height:64px; border-radius:var(--radius); background:var(--cream); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.teaser-card .ic svg{width:32px; height:32px; stroke:var(--coral); fill:none; stroke-width:1.2;}
.teaser-card.mint .ic{background:var(--mint-light);}
.teaser-card.mint .ic svg{stroke:var(--mint);}
.teaser-card h4{font-size:16px; font-weight:800; margin-bottom:6px;}
.teaser-card p{font-size:13px; color:var(--gray); margin-bottom:10px;}

/* Product split (home teaser, real photo cards, sharp corners like reference) */
.product-split{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.product-split-card{display:flex; flex-direction:column;}
.product-split-photo{position:relative; overflow:hidden; aspect-ratio:4/3; margin-bottom:22px;}
.product-split-photo img{width:100%; height:100%; object-fit:cover;}
.product-split-num{position:absolute; top:16px; left:16px; background:var(--coral); color:#fff; font-size:11.5px; font-weight:800; letter-spacing:.04em; padding:5px 12px;}
.product-split-card h4{font-size:19px; font-weight:800; margin-bottom:8px;}
.product-split-card p{font-size:14px; color:var(--gray); margin-bottom:16px; max-width:340px; line-height:1.7;}
.product-split-card .more-link{margin-top:auto;}

/* 3-per-view product carousel (home teaser, 6 items, slides one card at a time) */
.prod3-carousel{display:flex; align-items:center; gap:16px;}
.prod3-carousel .car-viewport{flex:1; overflow:hidden;}
.prod3-carousel .car-track{display:flex; gap:22px; transition:transform .45s cubic-bezier(.4,0,.2,1);}
.prod3-carousel .car-track .product-split-card{flex:0 0 auto;}
.product-split-3 .product-split-photo{aspect-ratio:1/1; margin-bottom:16px;}
.product-split-3 .product-split-card h4{font-size:15.5px; margin-bottom:6px;}
.product-split-3 .product-split-card p{font-size:12.5px; margin-bottom:10px; max-width:none;}
.prod3-dots{display:flex; justify-content:center; gap:8px; margin-top:30px;}
.car-arrow.disabled{opacity:.35; pointer-events:none;}

.cta-banner{background:#fff; color:var(--ink); text-align:center; padding:90px 0; position:relative; border-top:1px solid var(--line);}
.cta-banner::before{content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); width:64px; height:4px; background:var(--coral); border-radius:0 0 3px 3px;}
.cta-banner h2.title{color:var(--ink);}
.cta-banner .lead{color:var(--gray); margin-left:auto; margin-right:auto;}
.cta-banner .actions{display:flex; gap:14px; justify-content:center; margin-top:30px; flex-wrap:wrap;}
.cta-banner .eyebrow.on-dark{color:var(--coral);}
.cta-banner .eyebrow.on-dark::before{background:var(--coral);}
.cta-banner .btn-outline{border-color:var(--coral); color:var(--coral);}
.cta-banner .btn-outline:hover{background:var(--coral); color:#fff;}

/* Product section intro (side-by-side layout, centered CTA below) */
.pd-columns{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center;}
.pd-columns h2.title{font-size:28px; white-space:nowrap;}
.pd-visual{background:var(--cream); border-radius:var(--radius); padding:50px; display:flex; align-items:center; justify-content:center; min-height:340px;}
.pd-visual.mint{background:var(--mint-light);}
.pd-visual svg{width:170px; height:170px; stroke:var(--coral); fill:none; stroke-width:1.1;}
.pd-visual.mint svg{stroke:var(--mint);}
.pd-visual.photo{padding:0; overflow:hidden;}
.pd-visual.photo > img{width:100%; height:100%; object-fit:cover; display:block;}
.pd-visual-grid{display:grid; grid-template-columns:1.4fr 1fr; grid-template-rows:1fr 1fr; gap:4px; width:100%; height:100%;}
.pd-visual-grid img{width:100%; height:100%; object-fit:cover; display:block;}
.pd-visual-grid img:first-child{grid-row:1 / 3;}
.pd-visual-grid.two{grid-template-columns:1fr 1fr; grid-template-rows:1fr;}
.pd-visual-grid.two img:first-child{grid-row:auto;}
.pd-feature-list{margin:24px 0; display:flex; flex-direction:column; gap:13px;}
.pd-feature-list li{display:flex; gap:12px; align-items:flex-start; font-size:15px; font-weight:600;}
.pd-feature-list li svg{width:20px; height:20px; stroke:var(--coral); flex-shrink:0; margin-top:2px;}
.pd-spec{display:flex; gap:24px; flex-wrap:wrap; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.pd-spec div b{display:block; font-size:15px;}
.pd-spec div span{font-size:12.5px; color:var(--gray);}
.pd-cta{text-align:center; margin-top:36px;}

/* Product carousel */
.carousel{display:flex; align-items:center; gap:16px;}
.car-viewport{flex:1; overflow:hidden; border-radius:var(--radius);}
.car-track{display:flex; transition:transform .45s cubic-bezier(.4,0,.2,1); cursor:grab; touch-action:pan-y;}
.car-track:active{cursor:grabbing;}
.car-slide{flex:0 0 100%; width:100%; padding:4px;}
.car-arrow{width:48px; height:48px; border-radius:50%; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; box-shadow:0 8px 20px rgba(32,36,46,.06); transition:.2s;}
.car-arrow:hover{background:var(--coral); border-color:var(--coral);}
.car-arrow:hover svg{stroke:#fff;}
.car-arrow svg{width:20px; height:20px; stroke:var(--ink);}
.car-dots{display:flex; justify-content:center; gap:8px; margin-top:30px;}
.dot{width:8px; height:8px; border-radius:50%; background:var(--line); border:none; cursor:pointer; padding:0; transition:.2s;}
.dot.active{background:var(--coral); width:22px; border-radius:5px;}
@media (max-width:700px){
  .car-arrow{width:40px; height:40px;}
  .car-arrow svg{width:18px; height:18px;}
}

/* Certifications */
.cert-group{margin-bottom:56px;}
.cert-group:last-child{margin-bottom:0;}
.cert-group-title{display:flex; align-items:center; gap:10px; font-size:19px; font-weight:800; color:var(--ink); margin-bottom:20px; padding-bottom:14px; border-bottom:2px solid var(--line);}
.cert-group-title .cert-group-count{font-size:11px; font-weight:800; letter-spacing:.04em; color:#fff; background:var(--mint); padding:4px 10px; border-radius:999px;}
.cert-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.cert-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px 22px; display:flex; flex-direction:column;}
.cert-top{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px;}
.cert-tag{font-size:11px; font-weight:800; letter-spacing:.04em; color:var(--coral); background:var(--cream); padding:4px 10px; border-radius:999px;}
.cert-top svg{width:26px; height:26px; stroke:var(--mint); flex-shrink:0;}
.cert-card h4{font-size:14.5px; font-weight:800; margin-bottom:8px; line-height:1.4;}
.cert-meta{font-size:12.5px; color:var(--gray); margin-bottom:4px;}
.cert-no{font-size:11.5px; color:var(--gray); margin-bottom:16px;}
.cert-link{margin-top:auto; display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--ink); padding-top:14px; border-top:1px solid var(--line);}
.cert-link svg{width:13px; height:13px; stroke:var(--ink);}
.cert-link:hover{color:var(--coral);}
.cert-link:hover svg{stroke:var(--coral);}

/* Test videos */
.video-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.video-card h4{font-size:15px; font-weight:800; margin-bottom:6px; margin-top:14px;}
.video-card p{font-size:12.5px; color:var(--gray);}
.video-thumb{position:relative; aspect-ratio:16/10; border-radius:var(--radius); background:linear-gradient(135deg,var(--ink),#2c2e38); overflow:hidden;}
.video-thumb.alt{background:linear-gradient(135deg,var(--navy),#31261f);}
.video-duration{position:absolute; right:10px; bottom:10px; background:rgba(0,0,0,.55); color:#fff; font-size:11px; font-weight:700; padding:3px 8px; border-radius:5px;}
.video-play{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.14); border:1.5px solid rgba(255,255,255,.6); display:flex; align-items:center; justify-content:center;}
.video-play svg{width:20px; height:20px; stroke:#fff; fill:#fff; margin-left:3px;}

/* How it works */
.how-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.how-card{text-align:center; padding:32px 24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius);}
.how-card .num{width:56px; height:56px; border-radius:50%; background:var(--cream); color:var(--coral); display:flex; align-items:center; justify-content:center; font-weight:900; font-size:20px; margin:0 auto 18px;}
.how-card:nth-child(2) .num{background:var(--ink); color:#fff;}
.how-card:nth-child(3) .num{background:var(--ink); color:#fff;}
.how-card h4{font-size:16.5px; font-weight:800; margin-bottom:8px;}
.how-card p{font-size:13.5px; color:var(--gray);}

/* Usecase */
.usecase-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
.usecase-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 20px; text-align:center; transition:.2s;}
.usecase-card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(32,36,46,.07);}
.usecase-card .ic{width:46px; height:46px; border-radius:12px; background:var(--cream); display:flex; align-items:center; justify-content:center; margin:0 auto 16px;}
.usecase-card .ic svg{width:24px; height:24px; stroke:var(--coral); fill:none;}
.usecase-card h4{font-size:14.5px; font-weight:800; margin-bottom:6px;}
.usecase-card p{font-size:12.5px; color:var(--gray);}

/* Reviews */
.review-slider{overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); mask-image:linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent);}
.review-track{display:flex; gap:20px; width:max-content; animation:reviewScroll 45s linear infinite;}
.review-slider:hover .review-track{animation-play-state:paused;}
@keyframes reviewScroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
.review-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; flex:0 0 320px; width:320px; display:flex; flex-direction:column;}
.stars{display:flex; gap:3px; margin-bottom:14px; color:var(--amber); font-size:15px;}
.review-card p.txt{font-size:14.5px; color:var(--ink); margin-bottom:18px; flex:1;}
.review-who{padding-top:14px; border-top:1px solid var(--line);}
.review-who b{font-size:13.5px; display:block;}
.review-who span{font-size:12px; color:var(--gray); display:block; margin-top:2px;}

/* FAQ */
.faq-list{max-width:760px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 4px; cursor:pointer; font-weight:700; font-size:15.5px;}
.faq-q svg{width:20px; height:20px; stroke:var(--gray); transition:transform .2s; flex-shrink:0;}
.faq-item.open .faq-q svg{transform:rotate(45deg); stroke:var(--coral);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{padding:0 4px 22px; font-size:14.5px; color:var(--gray);}

/* Purchase / Buy section */
.buy-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:48px;}
.buy-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:32px 28px; position:relative;}
.buy-card.featured{border:2px solid var(--coral); box-shadow:0 20px 44px rgba(195,18,42,.12);}
.buy-card .badge{position:absolute; top:-13px; left:28px; background:var(--coral); color:#fff; font-size:11.5px; font-weight:800; padding:5px 14px; border-radius:999px;}
.buy-card h4{font-size:16.5px; font-weight:800; margin-bottom:6px;}
.buy-card .desc{font-size:13px; color:var(--gray); margin-bottom:18px;}
.buy-card .price{font-size:28px; font-weight:900; margin-bottom:4px;}
.buy-card .price span{font-size:13px; font-weight:600; color:var(--gray);}
.buy-card ul{margin:18px 0 24px; display:flex; flex-direction:column; gap:10px;}
.buy-card ul li{display:flex; gap:8px; font-size:13.5px; align-items:flex-start;}
.buy-card ul li svg{width:17px; height:17px; stroke:var(--coral); flex-shrink:0; margin-top:2px;}
.buy-card .btn{width:100%;}
.buy-card.soon{border-color:var(--line); box-shadow:none;}
.buy-card.soon .badge{background:var(--gray);}
.buy-card.soon .buy-card-content{filter:blur(4px); opacity:.5; user-select:none; pointer-events:none;}
.buy-card.soon .soon-overlay{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2;}
.buy-card.soon .soon-overlay span{background:var(--ink); color:#fff; font-size:13px; font-weight:800; padding:9px 22px; border-radius:999px; letter-spacing:.02em;}
.buy-store-row{display:flex; justify-content:center; gap:16px; flex-wrap:wrap;}
.buy-store{display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line); padding:14px 26px; border-radius:12px; font-weight:700; font-size:14.5px; color:inherit; text-decoration:none; transition:.2s;}
.buy-store:hover{border-color:var(--coral); color:var(--coral);}
.buy-store:hover svg{stroke:var(--coral);}
.buy-store svg{width:20px; height:20px; stroke:var(--coral);}

.shop-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.shop-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:.2s;}
.shop-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(32,36,46,.09);}
.shop-card-photo{aspect-ratio:1/1; overflow:hidden;}
.shop-card-photo img{width:100%; height:100%; object-fit:cover; display:block;}
.shop-card-body{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1;}
.shop-card-body h4{font-size:16px; font-weight:800; margin-bottom:6px;}
.shop-card-body .desc{font-size:12.5px; color:var(--gray); margin-bottom:14px; line-height:1.6;}
.shop-card-body .price{font-size:22px; font-weight:900; margin-bottom:14px;}
.shop-card-body .price span{font-size:12px; font-weight:600; color:var(--gray);}
.shop-card-body .btn{width:100%; margin-top:auto;}

/* Contact */
.contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:44px;}
.contact-info-card{background:var(--navy); color:#fff; border-radius:var(--radius); padding:38px;}
.contact-info-card h3{font-size:19px; font-weight:900; margin-bottom:72px;}
.contact-row{display:flex; gap:14px; margin-bottom:20px; align-items:flex-start;}
.contact-row .ic{width:40px; height:40px; border-radius:10px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.contact-row .ic svg{width:19px; height:19px; stroke:var(--amber);}
.contact-row b{display:block; font-size:14px; margin-bottom:3px;}
.contact-row span{font-size:13px; color:#b9bfca;}
.contact-form{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:36px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:13px; font-weight:700;}
.field input, .field select, .field textarea{padding:12px 14px; border:1.5px solid var(--line); border-radius:9px; font-size:14px; font-family:inherit; outline:none; transition:.2s;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--coral);}
.field textarea{resize:vertical; min-height:110px;}
.form-note{font-size:12.5px; color:var(--gray); margin-top:8px;}

/* Footer */
footer{background:var(--ink); color:#c7ccd6; padding:60px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:40px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.1);}
.footer-logo{display:flex; align-items:center; gap:10px; font-weight:900; font-size:19px; color:#fff; margin-bottom:16px;}
.footer-logo img{height:30px; width:auto; display:block; background:#fff; border-radius:8px; padding:6px 10px;}
.footer-col h5{color:#fff; font-size:14.5px; font-weight:800; margin-bottom:18px;}
.footer-col ul li{margin-bottom:11px; font-size:13.5px;}
.footer-col ul li a:hover{color:#fff;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:22px 0; font-size:12px; color:#8b8fa0; flex-wrap:wrap; gap:10px;}
.sns{display:flex; gap:10px;}
.sns a{width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;}
.sns a svg{width:16px; height:16px; stroke:#fff;}

.fab{position:fixed; right:26px; bottom:26px; z-index:200; background:var(--coral); color:#fff; padding:15px 22px; border-radius:999px; display:flex; align-items:center; gap:8px; box-shadow:0 12px 28px rgba(195,18,42,.35); font-weight:800; font-size:14px;}
.fab svg{width:18px; height:18px; stroke:#fff;}

[data-reveal]{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
[data-reveal].in{opacity:1; transform:translateY(0);}

@media (max-width:980px){
  nav.main-nav{display:none;}
  .burger{display:flex;}
  .news-item{flex-wrap:wrap; gap:8px 16px;}
  .news-title{flex-basis:100%;}
  .hero-grid, .contact-grid, .about-grid{grid-template-columns:1fr;}
  .hero{height:auto; min-height:0; max-height:none; aspect-ratio:16/9;}
  .section{padding:72px 0;}
  .news-section{padding:56px 0;}
  .news-head{flex-wrap:wrap; align-items:flex-start; gap:12px;}
  .pd-visual{min-height:280px;}
  .value-list{margin-top:0;}
  .product-split{grid-template-columns:1fr;}
  .product-split-3{grid-template-columns:1fr;}
  .about-panel-grid{grid-template-columns:1fr; padding-right:0;}
  .about-panel-left{padding:56px 28px; order:2;}
  .about-panel-photo{order:1; min-height:280px;}
  .about-links-grid{grid-template-columns:1fr; margin-top:24px; margin-bottom:24px;}
  .pd-columns{grid-template-columns:1fr;}
  h2.title{font-size:29px;}
  .page-header h1{font-size:27px;}
  .about-stats{grid-template-columns:repeat(2,1fr); gap:20px;}
  .timeline{grid-template-columns:repeat(2,1fr); gap:30px;}
  .timeline-step::after{display:none;}
  .case-grid{grid-template-columns:repeat(2,1fr);}
  .how-grid{grid-template-columns:1fr;}
  .usecase-grid{grid-template-columns:repeat(2,1fr);}
  .review-card{width:260px;}
  .buy-cards{grid-template-columns:1fr;}
  .shop-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .cert-grid{grid-template-columns:repeat(2,1fr);}
  .video-grid{grid-template-columns:1fr;}
  .teaser-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .section{padding:56px 0;}
  .pd-columns h2.title{font-size:22px;}
  .pd-visual{min-height:220px;}
  .usecase-grid{grid-template-columns:1fr;}
  .shop-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .about-stats{grid-template-columns:1fr 1fr;}
  .cert-grid{grid-template-columns:1fr;}
  .case-grid{grid-template-columns:1fr;}
  .contact-info-card{padding:26px;}
  .contact-info-card h3{margin-bottom:32px;}
  .contact-form{padding:24px;}
  .nav-cta{gap:8px;}
  .btn-inquiry{padding:10px 16px; font-size:13px; gap:6px;}
  .btn-inquiry svg{width:15px; height:15px;}
  .nav-cta .btn.btn-primary:not(.btn-inquiry){padding:10px 14px !important; font-size:13px;}
}
