/* BEYCOT only. Figma: desktop 1440 × 6303; mobile 375 × 5459. */
body.beycot-page { margin:0; background:#fff; color:#000; }
.beycot { --u:calc(100vw / 1440); font-family:'Noto Serif JP',serif; font-weight:400; width:100%; overflow:hidden; }
.beycot *, .beycot *::before, .beycot *::after { box-sizing:border-box; }
.beycot p,.beycot h1,.beycot h2,.beycot figure { margin:0; padding:0; font-weight:inherit; }
.beycot img { display:block; max-width:none; border:0; object-fit:cover; }
.beycot .beycot-mobile { display:none; }
.beycot-hero { position:relative; height:calc(810 * var(--u)); overflow:hidden; }
.beycot-hero-photo { display:block; width:100%; height:100%; object-fit:cover; }
.beycot-hero-heading { position:absolute; top:calc(336 * var(--u)); left:0; width:100%; text-align:center; color:white; }
.beycot-logo-white { width:calc(480 * var(--u)); height:calc(80 * var(--u)); margin:auto; }
.beycot-hero-heading p { margin-top:calc(18 * var(--u)); font-size:calc(20 * var(--u)); line-height:calc(50 * var(--u)); letter-spacing:.3em; }
.beycot-intro { padding-top:calc(172 * var(--u)); }
.beycot-intro-layout { display:grid; grid-template-columns:1fr; grid-template-rows:1fr; height:calc(647 * var(--u)); }
.beycot-intro-layout > * { grid-area:1 / 1; }
.beycot-intro-copy { margin:calc(71 * var(--u)) 0 0 calc(229 * var(--u)) !important; font-size:calc(20 * var(--u)); line-height:calc(60 * var(--u)); letter-spacing:.15em; }
.beycot-yarn { width:calc(383 * var(--u)); height:calc(404 * var(--u)); margin:calc(243 * var(--u)) 0 0 calc(829 * var(--u)); }
.beycot-machine { width:calc(384 * var(--u)); height:calc(290 * var(--u)); margin-left:calc(630 * var(--u)); }
.beycot-challenge { margin-top:calc(133 * var(--u)) !important; text-align:center; font-size:calc(20 * var(--u)); line-height:calc(60 * var(--u)); letter-spacing:.15em; }
.beycot-making { display:grid; grid-template:1fr / 1fr; margin-top:calc(170 * var(--u)); height:calc(800 * var(--u)); }
.beycot-making > * { grid-area:1 / 1; }
.beycot-craft { width:calc(384 * var(--u)); height:calc(285 * var(--u)); margin-left:calc(936 * var(--u)); }
.beycot-fabric { width:calc(487.032 * var(--u)); height:calc(489 * var(--u)); margin:calc(171 * var(--u)) 0 0 calc(222 * var(--u)); }
.beycot-making-copy { margin:calc(497 * var(--u)) 0 0 calc(834 * var(--u)) !important; font-size:calc(20 * var(--u)); line-height:calc(60 * var(--u)); letter-spacing:.15em; }
.beycot-story { margin-top:calc(327 * var(--u)) !important; text-align:center; padding-bottom:calc(117 * var(--u)) !important; }
.beycot-story-photo { width:calc(852 * var(--u)); height:calc(484 * var(--u)); margin:auto; }
.beycot-story figcaption { margin-top:calc(37 * var(--u)); font-size:calc(20 * var(--u)); line-height:calc(60 * var(--u)); font-weight:500; letter-spacing:.15em; }
.beycot-material { position:relative; isolation:isolate; min-height:calc(1676 * var(--u)); padding-top:calc(77 * var(--u)); text-align:center; }
.beycot-material-background { position:absolute; z-index:-1; inset:0; width:100%; height:100%; }
.beycot-beyond { color:#b0b0b0; font-size:calc(56 * var(--u)); line-height:calc(68 * var(--u)); letter-spacing:.15em; }
.beycot-material h2 { margin-top:calc(33 * var(--u)); }
.beycot-logo-black { width:calc(599 * var(--u)); height:calc(100 * var(--u)); margin:auto; }
.beycot-kana { margin-top:calc(33 * var(--u)) !important; font-size:calc(20 * var(--u)); line-height:calc(50 * var(--u)); letter-spacing:.15em; }
.beycot-definition { margin-top:calc(195 * var(--u)) !important; font-size:calc(24 * var(--u)); line-height:calc(50 * var(--u)); letter-spacing:.15em; font-weight:500 !important; }
.beycot-features { display:grid; grid-template-columns:385fr 195fr 385fr; align-items:center; width:calc(965 * var(--u)); margin:calc(72 * var(--u)) auto 0; }
.beycot-feature { display:grid; grid-template:1fr / 1fr; align-items:center; justify-items:center; width:100%; aspect-ratio:1; }
.beycot-feature > * { grid-area:1 / 1; }
.beycot-circle { width:100%; height:100%; }
.beycot-feature p { position:relative; color:#fff; font-size:calc(20 * var(--u)); line-height:calc(40 * var(--u)); letter-spacing:.15em; font-weight:500; }
.beycot-cross-desktop { width:calc(79 * var(--u)); height:calc(79 * var(--u)); margin:auto; transform:translateY(calc(17 * var(--u))); }
.beycot-cross-mobile { display:none; }
.beycot-description { margin:calc(117 * var(--u)) auto 0 !important; font-size:calc(20 * var(--u)); line-height:calc(50 * var(--u)); letter-spacing:.15em; }
.beycot-movie { height:calc(810 * var(--u)); display:grid; place-items:center; background:#d9d9d9; }
.beycot-movie p { font-size:calc(48 * var(--u)); line-height:calc(45 * var(--u)); letter-spacing:.15em; }
.beycot-movie video { display:block; width:100%; height:100%; object-fit:cover; background:#000; }
@media(max-width:767px) {
 .beycot { --u:calc(100vw / 375); }
 .beycot .beycot-mobile { display:block; }
 .beycot br.beycot-mobile { display:initial; }
 .beycot .beycot-desktop { display:none; }
 .beycot-hero { height:calc(815 * var(--u)); }
 .beycot-hero-photo { width:100%; max-width:none; height:100%; margin-left:0; object-fit:cover; }
 .beycot-hero-heading { top:calc(335 * var(--u)); }
 .beycot-logo-white { width:calc(280 * var(--u)); height:calc(47 * var(--u)); }
 .beycot-hero-heading p { margin-top:calc(42 * var(--u)); margin-left:calc(12 * var(--u)); font-size:calc(20 * var(--u)); line-height:calc(40 * var(--u)); }
 .beycot-intro { padding-top:calc(49 * var(--u)); }
 .beycot-intro-layout { height:calc(659 * var(--u)); }
 .beycot-intro-copy { margin:0 0 0 calc(29 * var(--u)) !important; font-size:calc(18 * var(--u)); line-height:calc(60 * var(--u)); }
 .beycot-yarn { width:calc(265 * var(--u)); height:calc(279 * var(--u)); margin:calc(380 * var(--u)) 0 0 calc(29 * var(--u)); border-radius:calc(5 * var(--u)); }
 .beycot-machine { width:calc(224 * var(--u)); height:calc(156 * var(--u)); margin:calc(302 * var(--u)) 0 0 calc(162 * var(--u)); }
 .beycot-challenge { margin:calc(56 * var(--u)) 0 0 calc(61 * var(--u)) !important; font-size:calc(18 * var(--u)); line-height:calc(45 * var(--u)); text-align:left; }
 .beycot-making { margin-top:calc(57 * var(--u)); height:calc(891 * var(--u)); }
 .beycot-craft { width:calc(197 * var(--u)); height:calc(146 * var(--u)); margin-left:calc(53 * var(--u)); }
 .beycot-fabric { width:100%; height:calc(376 * var(--u)); margin:calc(199 * var(--u)) 0 0; }
 .beycot-making-copy { margin:calc(641 * var(--u)) 0 0 calc(61 * var(--u)) !important; font-size:calc(18 * var(--u)); line-height:calc(45 * var(--u)); }
 .beycot-story { margin-top:calc(76 * var(--u)) !important; padding-bottom:calc(116 * var(--u)) !important; }
 .beycot-story-photo { width:100%; height:calc(450 * var(--u)); aspect-ratio:5 / 6; object-fit:cover; }
 .beycot-story figcaption { margin-top:calc(7 * var(--u)); font-size:calc(16 * var(--u)); line-height:calc(60 * var(--u)); }
 .beycot-material { min-height:calc(1885 * var(--u)); padding-top:calc(32 * var(--u)); }
 .beycot-beyond { font-size:calc(28 * var(--u)); line-height:calc(51 * var(--u)); }
 .beycot-material h2 { margin-top:calc(10 * var(--u)); }
 .beycot-logo-black { width:calc(295 * var(--u)); height:calc(49 * var(--u)); }
 .beycot-kana { margin-top:0 !important; font-size:calc(14 * var(--u)); line-height:calc(50 * var(--u)); }
 .beycot-divider { width:calc(1 * var(--u)); height:calc(80 * var(--u)); margin:calc(30 * var(--u)) auto 0; }
 .beycot-definition { margin-top:calc(30 * var(--u)) !important; font-size:calc(20 * var(--u)); line-height:calc(40 * var(--u)); }
 .beycot-features { display:flex; flex-direction:column; width:calc(320 * var(--u)); margin:calc(55 * var(--u)) auto 0; }
 .beycot-feature { height:calc(320 * var(--u)); flex-shrink:0; }
 .beycot-feature p { font-size:calc(20 * var(--u)); line-height:calc(40 * var(--u)); }
 .beycot-feature-cross { height:calc(170 * var(--u)); width:100%; display:grid; place-items:center; }
 .beycot-cross-desktop { display:none !important; }
 .beycot-cross-mobile { display:grid; place-items:center; width:calc(100 * var(--u)); height:calc(100 * var(--u)); }
 .beycot-cross-mobile img { grid-area:1 / 1; width:calc(1.25 * var(--u)); height:calc(100 * var(--u)); }
 .beycot-cross-line-a { transform:rotate(-45deg); }
 .beycot-cross-line-b { transform:rotate(-135deg); }
 .beycot-description { margin-top:calc(101 * var(--u)) !important; font-size:calc(16 * var(--u)); line-height:calc(40 * var(--u)); font-weight:500 !important; }
 .beycot-movie { height:calc(485 * var(--u)); }
 .beycot-movie p { font-size:calc(48 * var(--u)); line-height:calc(45 * var(--u)); }
}

/* Header assets and navigation match the existing VIOLAIR site header. */
.beycot-site-header { position:fixed; inset:0 0 auto; z-index:100; height:93px; background:transparent; color:#6c6c6c; font-family:Arial,'Noto Sans JP',sans-serif; }
.beycot-site-header *, .beycot-site-header *::before { box-sizing:border-box; }
.beycot-site-logo { display:block; width:max-content; padding:38px 50px; }
.beycot-site-logo img { display:block; width:166px; height:auto; }
.beycot-languages { position:absolute; top:31px; right:100px; display:flex; gap:8px; align-items:center; font-size:18px; line-height:1.8; }
.beycot-languages a { color:#6c6c6c; text-decoration:none; }
.beycot-languages a[aria-current] { text-decoration:underline; text-underline-offset:5px; }
.beycot-menu-toggle { position:absolute; top:25px; right:40px; width:44px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; z-index:2; }
.beycot-menu-toggle span { position:absolute; left:7px; width:30px; height:2px; background:#6c6c6c; transition:transform .3s,opacity .3s; }
.beycot-menu-toggle span:nth-child(1) { top:12px; }
.beycot-menu-toggle span:nth-child(2) { top:19px; }
.beycot-menu-toggle span:nth-child(3) { top:26px; }
.beycot-menu-toggle[aria-expanded=true] span { background:#825aa4; }
.beycot-menu-toggle[aria-expanded=true] span:nth-child(1) { transform:translateY(7px) rotate(30deg); }
.beycot-menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
.beycot-menu-toggle[aria-expanded=true] span:nth-child(3) { transform:translateY(-7px) rotate(-30deg); }
.beycot-site-menu { position:absolute; inset:0; height:100vh; height:100dvh; overflow:auto; background:#f5f3f5 url('menu_bg.jpg') center/cover no-repeat; }
.beycot-site-menu[hidden] { display:none; }
.beycot-site-menu ul { margin:0; padding:38px 50px; list-style:none; }
.beycot-site-menu li { padding-bottom:max(10px,calc((100vh - 600px)/8)); }
.beycot-site-menu a { display:inline-block; }
.beycot-site-menu li img { display:inline-block; vertical-align:middle; max-width:calc(100vw - 200px); }
.beycot-menu-arrow { opacity:0; }
.beycot-site-menu li a:hover .beycot-menu-arrow, .beycot-site-menu li a:focus-visible .beycot-menu-arrow { opacity:1; }
.beycot-site-menu li.beycot-menu-policy { padding-top:38px; padding-bottom:0; }
.beycot-site-header a:focus-visible, .beycot-menu-toggle:focus-visible { outline:2px solid #825aa4; outline-offset:4px; }
body.beycot-menu-open { overflow:hidden; }
body.admin-bar .beycot-site-header { top:32px; }
@media(max-width:767px) {
 .beycot-site-header { height:60px; }
 .beycot-site-logo { padding:22px 14px; }
 .beycot-site-logo img { width:126px; }
 .beycot-languages { top:10px; right:60px; font-size:15px; line-height:2.4; gap:6px; }
 .beycot-menu-toggle { right:5px; top:8px; }
 .beycot-site-menu ul { padding:38px 39px; }
 .beycot-site-menu li img { height:22px; width:auto; max-width:100%; }
 .beycot-site-menu li .beycot-menu-arrow { display:none; }
 .beycot-site-menu li.beycot-menu-policy img { height:17px; }
}
@media(max-width:782px) { body.admin-bar .beycot-site-header { top:46px; } }
@media(prefers-reduced-motion:reduce) { .beycot-menu-toggle span { transition:none; } }

/* Reveal content images as they enter the viewport. */
.beycot img.beycot-reveal-pending { opacity:0; transform:translateY(20px); }
.beycot img.beycot-reveal { transition:opacity .85s ease,transform .85s ease; }
@media(prefers-reduced-motion:reduce) {
 .beycot img.beycot-reveal, .beycot img.beycot-reveal-pending { transform:none; transition:opacity .4s ease; }
}
