/* Fashion-only editorial composition. Shared services and HOME stay independent. */
.fashion-page { background: var(--color-ivory); color: var(--color-black); }
.fashion-page .nav-container { gap: 20px; }
.fashion-page .nav-menu { gap: clamp(12px,1.5vw,24px); margin-left:auto; }
.fashion-page .nav-link { font-size:.75rem; text-transform:uppercase; }
.fashion-page .language-switch { display:flex; gap:8px; order:2; flex-shrink:0; }
.fashion-page .language-switch button { background:none; border:0; border-bottom:1px solid transparent; padding:10px 2px; font:500 .7rem var(--font-sans); color:var(--color-charcoal); cursor:pointer; }
.fashion-page .language-switch button[aria-pressed=true] { border-color:currentColor; }
.fashion-page main { margin-top:var(--nav-height); }
.fashion-page .fashion-eyebrow { font:400 .72rem/1.6 var(--font-sans); letter-spacing:.14em; text-transform:uppercase; }
.fashion-hero { max-width:1480px; margin:0 auto; padding:34px 32px 0; }
.fashion-hero>.fashion-eyebrow { text-align:center; margin:0; }
.fashion-collage { position:relative; height:clamp(680px,58vw,850px); margin-top:16px; }
.collage-image { position:absolute; margin:0; }
.collage-image img { width:100%; height:100%; object-fit:cover; display:block; }
.collage-1 { left:3%; top:8%; width:17%; height:38%; }
.collage-2 { left:72%; top:1%; width:20%; height:43%; }
.collage-2 img { object-position:center 40%; }
.collage-3 { left:40%; top:0; width:13%; height:23%; }
.collage-4 { left:63%; top:56%; width:14%; height:37%; }
.collage-5 { left:6%; top:59%; width:14%; height:28%; }
.collage-6 { left:83%; top:63%; width:13%; height:31%; }
.collage-art { left:31%; top:62%; width:23%; height:35%; }
.collage-art img { object-fit:contain; }
.fashion-hero-title { position:absolute; z-index:2; top:30%; left:17%; width:70%; font:300 clamp(78px,9.4vw,142px)/.82 var(--font-serif); letter-spacing:-.055em; pointer-events:none; margin:0; }
.fashion-hero-title span { display:block; }
.fashion-hero-title span:last-child { margin-left:12%; }
.hero-caption { display:flex; justify-content:space-between; gap:24px; border-bottom:1px solid rgba(42,42,42,.15); padding:24px 2% 32px; align-items:baseline; }
.hero-caption p { margin:0; font-size:.8rem; }
.hero-caption .fashion-eyebrow { font-size:.62rem; letter-spacing:.09em; }
.fashion-section { width:calc(100% - 96px); max-width:1180px; margin:0 auto; padding:90px 0; }
.fashion-introduction { max-width:860px; text-align:center; padding:110px 0 75px; }
.fashion-introduction h2 { font:300 clamp(34px,3.8vw,55px)/1.15 var(--font-serif); margin:0 0 28px; }
.fashion-section p { font-size:.95rem; line-height:1.95; color:var(--color-charcoal); margin:0 0 22px; }
.fashion-section-title { font:400 clamp(30px,3.3vw,46px)/1.15 var(--font-serif); margin:0 0 36px; }
.fashion-type-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; gap:0 70px; margin:0; }
.fashion-type-list li { font:400 clamp(18px,1.8vw,25px)/1.5 var(--font-serif); padding:16px 0; border-bottom:1px solid rgba(42,42,42,.15); }
.fashion-offer { padding-top:30px; }
.fashion-signature { width:calc(100% - 48px); max-width:1500px; margin:0 auto; padding:35px 0 60px; }
.fashion-signature h2 { margin:0 0 30px; text-align:center; }
.fashion-signature figure { margin:0; }
.fashion-signature img { display:block; width:100%; height:auto; object-fit:contain; cursor:zoom-in; }
.fashion-note { max-width:700px; }
.fashion-portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:60px 35px; padding:16px 0 0; }
.fashion-artwork { min-width:0; margin:0; }
.fashion-artwork:nth-child(3n+2) { transform:translateY(36px); }
.fashion-artwork-frame { width:100%; aspect-ratio:4/5; background:#fff; }
.fashion-artwork-frame img { display:block; width:100%; height:100%; object-fit:contain; cursor:zoom-in; }
.fashion-artwork figcaption { display:flex; align-items:baseline; gap:14px; margin-top:14px; font:.65rem/1.5 var(--font-sans); color:var(--color-charcoal); }
.artwork-number { font:.9rem var(--font-serif); }
.fashion-split { display:grid; grid-template-columns:1fr 2fr; gap:60px; border-top:1px solid rgba(42,42,42,.15); }
.fashion-display-title { font:300 clamp(37px,4.5vw,65px)/1.1 var(--font-serif); letter-spacing:-.025em; margin:0 0 30px; }
.fashion-brands { padding-top:30px; }
.fashion-flow { border-top:1px solid rgba(42,42,42,.15); }
.fashion-flow ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; list-style:none; padding:0; margin:0; }
.flow-number { display:block; font:300 48px var(--font-serif); color:#7e776e; margin-bottom:24px; }
.fashion-flow h3 { font:400 25px var(--font-serif); margin-bottom:16px; }
.fashion-flow p { font-size:.85rem; }
.fashion-project { border-top:1px solid rgba(42,42,42,.15); }
.fashion-project-layout { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:center; }
.fashion-project-layout figure { margin:0; }
.fashion-project-layout img { width:100%; height:auto; max-height:650px; object-fit:contain; display:block; cursor:zoom-in; }
.fashion-live-link { border-top:1px solid rgba(42,42,42,.15); display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:center; padding:60px 0; }
.fashion-text-link { font:400 .8rem/1.6 var(--font-sans); border-bottom:1px solid; padding-bottom:5px; justify-self:start; }
.fashion-contact { text-align:center; max-width:850px; }
.fashion-contact-links { display:flex; align-items:center; justify-content:center; gap:30px; margin:32px 0 24px; }
.fashion-social { font:.75rem var(--font-sans); }
.fashion-next { text-align:center; border-top:1px solid rgba(42,42,42,.15); padding:75px 0 90px; }
.fashion-page [lang=ja], .fashion-page:lang(ja) .fashion-display-title, .fashion-page:lang(ja) .fashion-introduction h2 { line-height:1.5; }
.fashion-page:lang(ja) .fashion-hero-title { font-size:clamp(50px,6vw,88px); line-height:1.35; top:29%; left:15%; width:78%; letter-spacing:-.05em; }
.fashion-page:lang(ja) .fashion-hero-title span:last-child { margin-left:0; }
.fashion-page img:focus-visible, .fashion-page button:focus-visible, .fashion-page a:focus-visible { outline:2px solid #7e776e; outline-offset:5px; }
@media(max-width:1200px) {
 .fashion-page .nav-toggle { display:flex; order:3; }
 .fashion-page .language-switch { margin-left:auto; }
 .fashion-page .nav-menu { position:fixed; top:var(--nav-height); left:0; right:0; display:none; margin:0; padding:26px 32px; background:var(--color-ivory); flex-direction:column; gap:18px; box-shadow:none; }
 .fashion-page .nav-menu.active { display:flex; }
 .fashion-page .nav-link { font-size:.85rem; }
}
@media(max-width:900px) {
 .fashion-hero { padding:25px 24px 0; }
 .fashion-collage { height:660px; }
 .fashion-hero-title { font-size:9.8vw; }
 .fashion-section { width:calc(100% - 64px); padding:65px 0; }
 .fashion-portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 24px; }
 .fashion-artwork:nth-child(3n+2) { transform:none; }
 .fashion-artwork:nth-child(even) { transform:translateY(26px); }
 .fashion-split { grid-template-columns:1fr; gap:20px; }
 .fashion-flow ol { gap:24px; }
 .hero-caption { flex-direction:column; gap:8px; }
}
@media(max-width:600px) {
 .fashion-page .nav-container { padding:0 20px; gap:12px; }
 .fashion-page .nav-logo { font-size:1.15rem; }
 .fashion-hero { padding:24px 16px 0; }
 .fashion-collage { height:570px; margin-top:20px; }
 .collage-1 { top:3%; left:0; width:35%; height:32%; }
 .collage-2 { top:0; left:61%; width:37%; height:36%; }
 .collage-3,.collage-4,.collage-5 { display:none; }
 .collage-6 { top:65%; left:68%; width:30%; height:30%; }
 .collage-art { top:66%; left:7%; width:42%; height:32%; }
 .fashion-hero-title { top:40%; left:1%; width:98%; font-size:13.5vw; line-height:.95; }
 .fashion-hero-title span:last-child { margin-left:3%; }
 .fashion-page:lang(ja) .fashion-hero-title { top:39%; left:0; width:100%; font-size:8.2vw; line-height:1.5; }
 .hero-caption { padding:20px 0 25px; }
 .fashion-section { width:calc(100% - 40px); padding:55px 0; }
 .fashion-introduction { text-align:left; }
 .fashion-section p { font-size:.9rem; }
 .fashion-type-list { grid-template-columns:1fr; }
 .fashion-signature { width:calc(100% - 24px); padding:12px 0 35px; }
 .fashion-portfolio-grid { grid-template-columns:1fr; gap:36px; max-width:480px; margin:auto; }
 .fashion-artwork:nth-child(even) { transform:none; }
 .fashion-flow ol { grid-template-columns:1fr; gap:30px; }
 .fashion-flow li { border-bottom:1px solid rgba(42,42,42,.15); padding-bottom:25px; }
 .flow-number { font-size:36px; margin-bottom:10px; }
 .fashion-project-layout,.fashion-live-link { grid-template-columns:1fr; gap:28px; }
 .fashion-contact-links { flex-direction:column; gap:24px; }
 .fashion-contact .btn { white-space:normal; }
}
@media(prefers-reduced-motion:reduce) { .fashion-page .reveal { opacity:1; transform:none; transition:none; } }
