:root{--primary:#e6002d;--accent:#0a46d8;--ink:#101828;--muted:#667085;--bg:#f6f7fb;--card:#fff;--line:#e6eaf2;--radius:28px;--shadow:0 18px 50px rgba(16,24,40,.09)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Noto Sans JP",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.75}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(230,234,242,.8);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(18px,4vw,60px)}.brand{display:flex;align-items:center;gap:10px;font-weight:850;color:var(--ink);text-decoration:none}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}nav{display:flex;gap:6px;flex-wrap:wrap}nav a,.langs a{text-decoration:none;color:var(--ink);font-weight:700;padding:8px 12px;border-radius:999px}nav a:hover,.langs a:hover{background:#eef2ff}.langs{display:flex;gap:4px}.cms-block{padding:clamp(56px,8vw,112px) clamp(18px,5vw,72px);max-width:1440px;margin:auto}.hero-wrap,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,74px);align-items:center}.hero-copy h1{font-size:clamp(42px,7vw,88px);line-height:1.02;margin:8px 0 18px;letter-spacing:-.06em}.lead{font-size:clamp(18px,2.4vw,28px);color:#344054}.eyebrow{font-weight:850;color:var(--primary);letter-spacing:.12em;text-transform:uppercase}.content{color:#475467}.hero-media img,.split-media img,.media-placeholder{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);display:block}.media-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;margin-top:22px;padding:12px 20px;border-radius:999px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);font-weight:850;box-shadow:0 8px 24px rgba(16,24,40,.06)}.btn.primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border:0}.btn.ghost{background:transparent;border:1px dashed var(--accent);color:var(--accent);box-shadow:none}.section-head{text-align:center;max-width:780px;margin:0 auto 34px}.section-head h2,.split h2,.cta h2{font-size:clamp(30px,4.3vw,56px);line-height:1.1;margin:0 0 12px;letter-spacing:-.04em}.section-head p{color:var(--muted);font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;margin-bottom:14px}.card h3{font-size:22px;margin:0 0 8px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery figure{margin:0;background:#fff;border-radius:24px;padding:10px;border:1px solid var(--line);box-shadow:var(--shadow)}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}.gallery figcaption{text-align:center;font-weight:750;padding:8px}.timeline{max-width:880px;margin:0 auto;display:grid;gap:18px}.time-item{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow);position:relative}.time-item strong{font-size:22px}.faq{max-width:900px;margin:0 auto;display:grid;gap:14px}.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px;box-shadow:0 10px 32px rgba(16,24,40,.06)}.faq summary{font-weight:850;cursor:pointer}.cta{text-align:center;background:linear-gradient(135deg,rgba(230,0,45,.08),rgba(10,70,216,.08));border-radius:36px}.contact-form{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:grid;gap:16px}.contact-form label{display:grid;font-weight:750;gap:6px}.contact-form input,.contact-form textarea{border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit}.contact-form textarea{min-height:130px}.contact-form .hp{position:absolute;left:-9999px}.site-footer{text-align:center;padding:36px 18px;color:var(--muted)}@media(max-width:880px){.site-header{align-items:flex-start;flex-direction:column}.hero-wrap,.split{grid-template-columns:1fr}.cards,.gallery{grid-template-columns:1fr}.cms-block{padding:48px 16px}}
.style-soft{background:var(--block-bg,linear-gradient(135deg,rgba(230,0,45,.06),rgba(10,70,216,.06)))}.style-accent{background:var(--block-bg,linear-gradient(135deg,var(--primary),var(--accent)));color:#fff}.style-accent .content,.style-accent .lead,.style-accent .section-head p{color:rgba(255,255,255,.86)}.style-dark{background:var(--block-bg,#111827);color:#fff}.style-dark .content,.style-dark .lead,.style-dark .section-head p{color:rgba(255,255,255,.78)}.style-bordered{border:1px solid rgba(16,24,40,.12);border-radius:34px;background:var(--block-bg,#fff)}.width-wide{max-width:1680px}.width-full{max-width:none}.layout-center{text-align:center}.layout-compact{padding-top:42px!important;padding-bottom:42px!important}.layout-reverse .split,.layout-reverse .hero-wrap{direction:rtl}.layout-reverse .split>*,.layout-reverse .hero-wrap>*{direction:ltr}.block-rich_text .rich{max-width:920px;margin:auto}.site-header .brand span{flex:0 0 auto}

/* v3.5 style library + product/case filters */
.listing-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:-14px auto 24px}.listing-filters button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 16px;font-weight:850;cursor:pointer}.listing-filters button.active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent}.listing-card .badge{margin-bottom:10px}.listing-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:18px;margin-bottom:14px}.style-luxury{background:var(--block-bg,linear-gradient(135deg,#0f172a,#312e81));color:#fff}.style-luxury .card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(16px)}.style-luxury .content,.style-luxury .lead,.style-luxury .section-head p{color:rgba(255,255,255,.82)}.style-minimal{background:var(--block-bg,#fff);box-shadow:inset 0 1px 0 rgba(16,24,40,.06)}.style-minimal .card{box-shadow:none;border-radius:12px}.style-glass{background:var(--block-bg,linear-gradient(135deg,rgba(230,0,45,.08),rgba(10,70,216,.1)))}.style-glass .card,.style-glass .contact-form{background:rgba(255,255,255,.62);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.56)}.style-gradient{background:var(--block-bg,radial-gradient(circle at top left,rgba(230,0,45,.2),transparent 30%),radial-gradient(circle at bottom right,rgba(10,70,216,.22),transparent 30%),#fff)}

/* v3.5 listing/detail additions */
.listing-page .section-head{text-align:center;max-width:760px;margin:0 auto 28px}
.listing-search{display:grid;grid-template-columns:1fr 220px auto auto;gap:12px;align-items:end;margin:0 auto 28px;max-width:960px;background:rgba(255,255,255,.78);border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:16px;box-shadow:0 18px 45px rgba(15,23,42,.08)}
.listing-search label{display:grid;gap:6px;color:#475569;font-weight:700;font-size:13px}
.listing-search input,.listing-search select{border:1px solid rgba(15,23,42,.14);border-radius:12px;padding:10px 12px;background:#fff}
.spec-table{width:100%;max-width:860px;margin:0 auto;border-collapse:separate;border-spacing:0;border:1px solid rgba(15,23,42,.1);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.08)}
.spec-table th,.spec-table td{padding:14px 18px;border-bottom:1px solid rgba(15,23,42,.08);text-align:left;vertical-align:top}.spec-table th{width:32%;background:#f8fafc;color:#334155}.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}.empty{text-align:center;color:#64748b;padding:28px}
@media(max-width:760px){.listing-search{grid-template-columns:1fr}.spec-table th,.spec-table td{display:block;width:auto}.spec-table th{border-bottom:0}.spec-table td{padding-top:0}}

/* v3.8 product detail additions */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.gallery-grid figure{margin:0;border:1px solid rgba(15,23,42,.08);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06)}.gallery-grid img{width:100%;height:180px;object-fit:cover;display:block}.gallery-grid figcaption{padding:10px 12px;color:#64748b;font-size:14px}.product-faq details{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:14px 16px;margin:10px 0}.product-faq summary{font-weight:700;cursor:pointer}.style-premium{background:linear-gradient(135deg,rgba(230,0,45,.08),rgba(10,70,216,.1))}.style-minimal{background:#fff}.style-glass{background:rgba(255,255,255,.68);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5)}.style-gradient{background:linear-gradient(135deg,var(--primary),var(--accent));color:white}.style-gradient .section-head p,.style-gradient p{color:rgba(255,255,255,.82)}


/* v4.6 structured product/case polish */
.detail-group{margin:18px 0}.detail-group-title,.faq-group-title{font-size:18px;margin:0 0 10px;color:#111827}.field-unit{display:inline-block;margin-left:6px;color:#667085;font-weight:700}.cms-media-picker-multi label{display:grid;gap:6px;border:1px solid #e6eaf2;border-radius:16px;padding:10px;cursor:pointer}.cms-media-picker-multi input{justify-self:start}.cms-edit-gallery-grid [draggable="true"],.cms-detail-table [draggable="true"]{cursor:grab}.is-dragging{opacity:.45;outline:3px dashed var(--primary,#0a46d8)!important}.faq-style-card{border:1px solid #e6eaf2;border-radius:16px;background:#fff;padding:12px 16px;margin-bottom:10px}.faq-style-plain{border:0;border-bottom:1px solid #e6eaf2;border-radius:0;background:transparent}.detail-template-brand .spec-table th{color:var(--primary,#e6002d)}.detail-template-story .detail-group{border-left:4px solid var(--primary,#0a46d8);padding-left:16px}.detail-template-b2b .spec-table{font-size:15px}
