/* Brand pages extend the v1.0.0 visual language. */
.brand-new .container { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; }
.brand-new { background:#f6f8fb; padding:60px 0; }
.brand-new img { width:100%; height:auto; max-height:380px; object-fit:contain; border-radius:0; -webkit-mask-image:linear-gradient(to right,transparent,#000 17%,#000 87%,transparent),linear-gradient(to bottom,transparent,#000 15%,#000 82%,transparent); mask-image:linear-gradient(to right,transparent,#000 17%,#000 87%,transparent),linear-gradient(to bottom,transparent,#000 15%,#000 82%,transparent); -webkit-mask-composite:source-in; mask-composite:intersect; }
.brand-new h2 { margin:12px 0; font-size:46px; }
.brand-new img { width:auto; max-width:100%; justify-self:center; }
.brand-new p { color:var(--muted); line-height:1.8; }
.model-gradient { display:inline-block; background:linear-gradient(105deg,#ff882b,#b73491); background-clip:text; -webkit-background-clip:text; color:transparent; }
.new-label { font-size:13px; color:var(--orange); }
.product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.product-card { padding:24px; min-height:390px; }
.product-card p { font-size:15px; }
.product-card a { color:var(--orange); text-decoration:underline; text-underline-offset:4px; }
.product-flagship { position:relative; padding-top:58px; }
.flagship-badge { position:absolute; top:14px; right:14px; max-width:calc(100% - 28px); background:#fff0e5; color:#ad390c; border:1px solid #f4cdb6; border-radius:4px; padding:5px 9px; font-size:12px; line-height:1.4; font-weight:700; }
.brand-story { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; border-top:1px solid var(--line); padding-top:48px; }
.brand-story h2 { margin-top:0; font-size:36px; }
.brand-story p,.brand-method p { line-height:1.8; color:var(--muted); }
.brand-method { border-top:1px solid var(--line); }
.brand-method:last-child { border-bottom:1px solid var(--line); }
.brand-method summary { cursor:pointer; padding:26px 0; font-size:20px; font-weight:700; }
.brand-method summary span { display:inline-block; min-width:140px; }
.brand-method > div { display:grid; grid-template-columns:160px 1fr; gap:32px; align-items:center; padding:0 24px 30px; }
.brand-method img { width:140px; height:150px; object-fit:contain; }
.brand-method a { color:var(--orange); text-decoration:underline; }
.brand-principle { width:100%; height:auto; }
.hero h1,.page-hero h1 { font-size:70px; line-height:1.12; }
.hero-carousel { padding-bottom:64px; }
.carousel-stage { display:grid; }
.carousel-slide { grid-area:1 / 1; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .4s ease; }
.carousel-slide.is-active { visibility:visible; opacity:1; pointer-events:auto; }
.carousel-slide .hero-grid { min-height:420px; }
.carousel-product-title { font-size:58px; margin:14px 0 20px; line-height:1.12; font-weight:850; text-wrap:balance; }
.carousel-x7 h3 { font-size:26px; margin:0; }
.carousel-new-art img { width:100%; height:auto; max-height:440px; object-fit:contain; -webkit-mask-image:linear-gradient(to right,transparent,#000 15%,#000 87%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 82%,transparent); mask-image:linear-gradient(to right,transparent,#000 15%,#000 87%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 82%,transparent); -webkit-mask-composite:source-in; mask-composite:intersect; }
.carousel-controls { position:relative; z-index:2; display:flex; justify-content:center; align-items:center; gap:12px; margin-top:28px; }
.carousel-controls button { width:40px; height:40px; border:1px solid var(--line); background:#ffffffdb; color:var(--ink); border-radius:50%; cursor:pointer; display:grid; place-items:center; }
.carousel-controls button:hover { border-color:var(--orange); }
.carousel-controls button:focus-visible { outline:3px solid #ff6a1a80; outline-offset:3px; }
.carousel-controls svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.carousel-dots { display:flex; gap:8px; }
.carousel-dots button { width:28px; height:40px; border:0; background:transparent; }
.carousel-dots button::after { content:''; width:8px; height:8px; background:#b3b0ac; border-radius:50%; }
.carousel-dots button[aria-pressed="true"]::after { width:20px; border-radius:5px; background:var(--orange); }
.carousel-controls .play-icon { display:none; }
.carousel-controls .is-paused .play-icon { display:block; }
.carousel-controls .is-paused .pause-icon { display:none; }
@media(max-width:880px) {
 .brand-new .container,.brand-story { grid-template-columns:1fr; gap:24px; }
 .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hero h1,.page-hero h1 { font-size:48px; }
 .carousel-product-title { font-size:44px; }
 .carousel-slide .hero-grid { min-height:0; grid-template-rows:auto 320px; }
 .carousel-slide .hero-art,.carousel-new-art { align-self:center; min-height:0; }
 .carousel-new-art img { max-height:320px; }
}
@media(max-width:520px) {
 .product-grid { grid-template-columns:1fr; }
 .brand-method > div { grid-template-columns:1fr; padding-inline:0; gap:12px; }
 .brand-method summary span { display:block; }
 .brand-new h2 { font-size:36px; }
 .hero h1,.page-hero h1 { font-size:40px; }
 .carousel-product-title { font-size:38px; }
 .carousel-x7 h3 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { .carousel-slide { transition:none; } }
