/* Taste of Japan homepage — BOB-derived structure, TOJ brand expression. */
.home-bob {
  --toj-navy:#0b2a52;
  --toj-navy-2:#061b38;
  --toj-red:#c7292f;
  --toj-white:#fff;
  --toj-gray:#f3f3f1;
  --toj-ink:#101820;
  --display:"Bebas Neue", Impact, sans-serif;
  --body:"Noto Sans JP", sans-serif;
  margin:0;background:#fff;color:var(--toj-ink);font-family:var(--body);font-size:16px;line-height:1.72;
}
.home-bob *{box-sizing:border-box}
.home-bob img{display:block;max-width:100%}
.bob-container{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.bob-container.narrow{width:min(1000px,calc(100% - 64px))}

/* Header */
.bob-header{height:72px;background:var(--toj-navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}
.bob-header.scrolled{background:rgba(11,42,82,.96);color:#fff;backdrop-filter:blur(10px)}
.bob-header .header-inner{width:min(1400px,calc(100% - 40px))}
.bob-header .brand{gap:12px}.bob-header .kamon-mark{width:36px;height:36px;object-fit:contain}.bob-header .brand-logo{width:150px;height:42px;object-fit:contain;filter:brightness(0) invert(1)}
.bob-header .site-nav{gap:22px;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.04em}
.bob-header .site-nav a::after{background:#fff}.bob-header .site-nav .nav-cta{background:var(--toj-red);padding:11px 18px;border:1px solid #fff;box-shadow:3px 3px 0 #fff;color:#fff}
.bob-header .site-nav .nav-cta::after{display:none}.bob-header .lang-toggle{font-size:12px;border-radius:0;padding:8px 11px}
.mobile-menu{display:none;color:#fff}.mobile-menu summary{list-style:none;width:38px;height:38px;display:grid;align-content:center;gap:5px;padding:8px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{height:2px;background:#fff;display:block}.mobile-menu nav{position:absolute;top:72px;left:0;right:0;background:var(--toj-navy);border-top:1px solid rgba(255,255,255,.2);padding:22px 24px;display:grid;gap:16px;font-weight:700}

/* Time-of-day hero: sky remains the TOJ signature. */
.home-bob .bob-hero{height:min(860px,100svh);min-height:650px;display:block;position:relative;overflow:hidden;background:linear-gradient(180deg,#1c3a5e 0%,#2b5c8a 55%,#8fb4d4 100%);color:#fff}
.home-bob[data-sky="dawn"] .bob-hero{background:linear-gradient(180deg,#26365a 0%,#735675 58%,#e7a983 100%)}
.home-bob[data-sky="day"] .bob-hero{background:linear-gradient(180deg,#173b68 0%,#3675a9 58%,#9cc5df 100%)}
.home-bob[data-sky="dusk"] .bob-hero{background:linear-gradient(180deg,#16284e 0%,#66426b 56%,#d8845a 100%)}
.home-bob[data-sky="night"] .bob-hero{background:linear-gradient(180deg,#050d1b 0%,#0b2342 62%,#234e72 100%)}
.home-bob .hero-stars{z-index:0;background-image:radial-gradient(1.6px 1.6px at 12% 18%,rgba(255,255,255,.9) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 70% 12%,rgba(255,255,255,.8) 50%,transparent 51%),radial-gradient(1.4px 1.4px at 42% 8%,rgba(255,255,255,.75) 50%,transparent 51%),radial-gradient(1.2px 1.2px at 86% 26%,rgba(255,255,255,.85) 50%,transparent 51%),radial-gradient(1.6px 1.6px at 28% 30%,rgba(255,255,255,.7) 50%,transparent 51%),radial-gradient(1.1px 1.1px at 55% 22%,rgba(255,255,255,.8) 50%,transparent 51%)}
.home-bob[data-sky="night"] .hero-stars{opacity:.8}
.hero-motion{position:absolute;z-index:1;inset:72px 0 0;width:100%;height:calc(100% - 72px);object-fit:cover;object-position:center;opacity:.82;filter:saturate(1.08) contrast(1.08);mix-blend-mode:luminosity}
.home-bob[data-sky="day"] .hero-motion{mix-blend-mode:multiply;opacity:.76}
.home-bob[data-sky="dawn"] .hero-motion,.home-bob[data-sky="dusk"] .hero-motion{mix-blend-mode:soft-light;opacity:.88}
.home-bob[data-sky="night"] .hero-motion{mix-blend-mode:screen;opacity:.68}
.hero-collage{position:absolute;inset:72px 0 0;z-index:1;filter:saturate(.94) contrast(1.05)}
.hero-collage{display:none}
.hero-photo{position:absolute;overflow:hidden;border:6px solid var(--toj-navy);background:var(--toj-navy);clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)}
.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,18,40,.08),rgba(5,18,40,.25))}
.hero-photo.p1{left:-3%;top:-4%;width:38%;height:47%;transform:rotate(-3deg)}
.hero-photo.p2{left:28%;top:-2%;width:32%;height:36%;transform:rotate(2deg)}
.hero-photo.p3{right:-2%;top:-3%;width:43%;height:45%;transform:rotate(-2deg)}
.hero-photo.p4{left:-3%;bottom:-4%;width:42%;height:47%;transform:rotate(2deg)}
.hero-photo.p5{left:34%;bottom:-5%;width:33%;height:38%;transform:rotate(-2deg)}
.hero-photo.p6{right:-3%;bottom:-4%;width:40%;height:49%;transform:rotate(2deg)}
.hero-center{position:absolute;z-index:3;left:50%;top:51%;transform:translate(-50%,-50%);width:min(620px,62vw);min-height:340px;background:var(--toj-navy);clip-path:polygon(9% 0,100% 7%,91% 100%,0 91%);display:grid;place-items:center;align-content:center;text-align:center;padding:58px 78px;filter:drop-shadow(0 14px 0 rgba(0,0,0,.18))}
.js .hero-center.reveal{transform:translate(-50%,calc(-50% + 34px))}.js .hero-center.reveal.in{transform:translate(-50%,-50%)}
.hero-center h1{margin:10px 0 6px}.hero-center h1 img{width:min(420px,100%);max-height:126px;object-fit:contain;filter:brightness(0) invert(1)}
.hero-overline{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero-tagline{font-size:17px;font-weight:700;margin-bottom:25px}

/* Shared sections */
.bob-section{padding:120px 0;background:#fff}.bob-section.navy{background:var(--toj-navy);color:#fff}.section-heading{text-align:center;margin-bottom:70px}.section-heading.left-aligned{text-align:left;margin-bottom:0}.section-heading h2{font-family:var(--display);font-size:72px;line-height:.95;letter-spacing:.09em;color:var(--toj-navy);font-weight:400}.navy .section-heading h2{color:#fff}.section-heading p{font-size:12px;font-weight:700;letter-spacing:.08em;margin-top:10px;text-decoration:underline;text-underline-offset:5px}.bob-button{min-height:60px;padding:0 34px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;letter-spacing:.02em;border:1px solid #090909;box-shadow:4px 4px 0 #090909;transition:transform .2s,box-shadow .2s;position:relative}.bob-button::after{content:"›";font-size:24px;margin-left:24px;line-height:1}.bob-button:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 #090909}.bob-button.primary{background:var(--toj-red);color:#fff}.bob-button.secondary{background:#fff;color:var(--toj-navy)}.navy .bob-button{border-color:#fff;box-shadow:4px 4px 0 #fff}.navy .bob-button:hover{box-shadow:1px 1px 0 #fff}

/* News */
.split-heading{display:grid;grid-template-columns:300px 1fr;gap:70px}.news-list{display:grid}.news-item{display:grid;grid-template-columns:150px 1fr auto;gap:12px 28px;padding:26px 0;border-bottom:1px solid #d5d9dd;align-items:start}.news-item:first-child{padding-top:0}.news-item time{font-family:var(--display);font-size:20px;letter-spacing:.06em;color:var(--toj-navy)}.news-item h3{font-size:20px;color:var(--toj-navy)}.news-item p{grid-column:2;max-width:620px;font-size:14px}.news-item a{grid-column:3;grid-row:1/3;color:var(--toj-red);font-weight:800;font-size:13px;border-bottom:2px solid currentColor}

/* About */
.about-grid{display:grid;grid-template-columns:380px 1fr;gap:80px;align-items:center}.about-mark{aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid #fff;background:#fff;padding:42px;transform:rotate(-6deg);display:grid;place-items:center}.about-mark img{width:100%;height:auto;max-height:100%;object-fit:contain}.impact-number{font-family:var(--display);font-size:96px;line-height:.9;color:#fff;letter-spacing:.04em}.impact-line{font-size:30px;line-height:1.55;margin:20px 0 22px;max-width:700px}.about-copy>p:not(.impact-number){max-width:680px;margin-bottom:30px}.about-copy .bob-button{margin-top:10px}

/* Experience photo proof */
.experience-strip{display:grid;grid-template-columns:repeat(5,1fr);background:var(--toj-navy)}.experience-strip figure{aspect-ratio:1.35;overflow:hidden}.experience-strip img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.experience-strip figure:hover img{transform:scale(1.04)}

/* Events */
.event-lineup{display:grid;gap:90px}.lineup-card{display:grid;grid-template-columns:minmax(300px,44%) 1fr;gap:70px;align-items:center}.lineup-card:nth-child(even){grid-template-columns:1fr minmax(300px,44%)}.lineup-card:nth-child(even) .lineup-image{grid-column:2}.lineup-card:nth-child(even) .lineup-meta{grid-column:1;grid-row:1}.lineup-image{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--toj-navy);box-shadow:8px 8px 0 var(--toj-navy)}.lineup-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .5s}.lineup-image:hover img{transform:scale(1.035)}.lineup-date{font-family:var(--display);color:var(--toj-red);font-size:22px;letter-spacing:.08em}.lineup-meta h3{font-family:var(--display);font-size:64px;line-height:1;margin:8px 0 18px;color:var(--toj-navy);letter-spacing:.04em}.lineup-meta>p:not(.lineup-date){max-width:520px;margin-bottom:28px}

/* Experience pillars */
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.28)}.pillar{background:var(--toj-navy);padding:38px 28px 44px;min-height:330px}.pillar span{font-family:var(--display);font-size:24px;color:var(--toj-red)}.pillar h3{font-family:var(--display);font-size:46px;letter-spacing:.06em;margin:52px 0 18px}.pillar p{font-size:14px;opacity:.85}

/* Partners */
.partner-names{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c9ced4;border-left:1px solid #c9ced4}.partner-names span{min-height:130px;display:grid;place-items:center;padding:20px;font-weight:800;letter-spacing:.08em;border-right:1px solid #c9ced4;border-bottom:1px solid #c9ced4;color:var(--toj-navy)}

/* Info */
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.info-block{border:1px solid rgba(255,255,255,.55);padding:48px;min-height:350px;display:flex;flex-direction:column;align-items:flex-start}.info-label{font-family:var(--display);font-size:22px;letter-spacing:.08em;border:1px solid #fff;padding:3px 12px}.info-block h3{font-size:32px;margin:38px 0 8px}.info-block>p:not(.info-label){opacity:.88;margin-bottom:30px}.info-block .bob-button{margin-top:auto}

/* History video */
.aftermovie{border:1px solid var(--toj-navy);padding:16px}.aftermovie-player{aspect-ratio:16/9;background:#000}.aftermovie video{width:100%;height:100%;object-fit:contain}.aftermovie h3{font-family:var(--display);font-size:28px;color:var(--toj-navy);letter-spacing:.04em;padding:15px 4px 2px}

/* FAQ */
.faq-list{border-top:1px solid rgba(255,255,255,.55)}.faq-item{border-bottom:1px solid rgba(255,255,255,.55);padding:0}.faq-item summary{cursor:pointer;list-style:none;font-weight:800;font-size:18px;padding:28px 56px 28px 46px;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::before{content:"Q";font-family:var(--display);font-size:24px;position:absolute;left:8px;top:24px}.faq-item summary::after{content:"+";position:absolute;right:12px;font-size:26px;top:21px}.faq-item[open] summary::after{content:"−"}.faq-item p{padding:0 56px 30px 46px;opacity:.82}

/* Footer and mobile CTA */
.bob-footer{background:#171717;padding:70px 0 36px}.bob-footer .footer-grid{grid-template-columns:1.5fr 1fr 1fr}.bob-footer .footer-logo{width:190px;max-height:70px;object-fit:contain;filter:brightness(0) invert(1);margin-bottom:18px}.bob-footer nav{display:flex;flex-direction:column;gap:10px}.bob-footer h4{color:#fff}.mobile-sticky-cta{display:none}

@media(max-width:900px){
  .bob-header .site-nav{display:none}.mobile-menu{display:block}.bob-container,.bob-container.narrow{width:min(100% - 32px,720px)}
  .home-bob .bob-hero{height:760px;min-height:760px}.hero-collage{inset:72px 0 0}.hero-center{width:78vw;padding:48px;min-height:300px}
  .split-heading{grid-template-columns:1fr;gap:46px}.news-item{grid-template-columns:130px 1fr}.news-item a{grid-column:2;grid-row:auto;justify-self:start}.about-grid{grid-template-columns:250px 1fr;gap:44px}.impact-number{font-size:76px}.impact-line{font-size:24px}
  .lineup-card,.lineup-card:nth-child(even){grid-template-columns:1fr 1fr;gap:36px}.pillar-grid{grid-template-columns:1fr 1fr}.partner-names{grid-template-columns:1fr 1fr}
}

@media(max-width:640px){
  .home-bob{font-size:14px;padding-bottom:84px}.bob-header{height:68px}.bob-header .header-inner{width:calc(100% - 24px)}.bob-header .kamon-mark{width:30px;height:30px}.bob-header .brand-logo{width:118px}.mobile-menu nav{top:68px}
  .home-bob .bob-hero{height:690px;min-height:690px}.hero-motion{inset:68px 0 0;height:calc(100% - 68px);object-position:center}.hero-collage{inset:68px 0 0}.hero-photo{border-width:3px}.hero-photo.p1{left:-15%;top:0;width:70%;height:35%}.hero-photo.p2{left:48%;top:-2%;width:66%;height:34%}.hero-photo.p3{display:none}.hero-photo.p4{left:-15%;bottom:0;width:68%;height:37%}.hero-photo.p5{display:none}.hero-photo.p6{right:-15%;bottom:-1%;width:70%;height:38%}.hero-center{top:50%;width:90vw;min-height:290px;padding:44px 38px;clip-path:polygon(7% 0,100% 6%,93% 100%,0 94%)}.hero-center h1 img{max-height:94px}.hero-overline{font-size:10px}.hero-tagline{font-size:14px}.bob-button{min-height:58px;padding:0 22px;font-size:13px}.bob-button::after{margin-left:16px}
  .bob-section{padding:82px 0}.section-heading{margin-bottom:48px}.section-heading h2{font-size:48px}.section-heading p{font-size:10px}.split-heading{gap:36px}.news-item{grid-template-columns:1fr;padding:24px 0}.news-item p,.news-item a{grid-column:1}.news-item time{font-size:18px}
  .about-grid{grid-template-columns:1fr}.about-mark{width:210px;margin-inline:auto}.impact-number{font-size:68px}.impact-line{font-size:22px;line-height:1.55}
  .experience-strip{grid-template-columns:1fr}.experience-strip figure{aspect-ratio:1.5}.experience-strip figure:nth-child(n+4){display:none}
  .event-lineup{gap:70px}.lineup-card,.lineup-card:nth-child(even){display:flex;flex-direction:column;gap:32px}.lineup-card:nth-child(even) .lineup-image,.lineup-card:nth-child(even) .lineup-meta{grid-column:auto;grid-row:auto}.lineup-image{width:100%;aspect-ratio:4/3;box-shadow:5px 5px 0 var(--toj-navy)}.lineup-meta h3{font-size:48px}.lineup-date{font-size:18px}
  .pillar-grid,.info-grid{grid-template-columns:1fr}.pillar{min-height:250px}.pillar h3{margin-top:30px}.partner-names{grid-template-columns:1fr 1fr}.partner-names span{min-height:92px;font-size:11px}.info-block{padding:34px 26px;min-height:320px}.aftermovie{padding:8px}.aftermovie h3{font-size:20px}.faq-item summary{font-size:15px;padding-right:42px}.faq-item p{padding-right:28px}
  .bob-footer .footer-grid{grid-template-columns:1fr}.mobile-sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;background:rgba(255,255,255,.94);padding:10px 18px;border-top:1px solid #cfd3d8}.mobile-sticky-cta a{height:58px;display:flex;align-items:center;justify-content:center;background:var(--toj-red);color:#fff;border:1px solid #111;box-shadow:3px 3px 0 #111;font-weight:800;letter-spacing:.04em}.mobile-sticky-cta a::after{content:"›";font-size:24px;margin-left:auto;position:absolute;right:35px}
}

@media(prefers-reduced-motion:reduce){.home-bob *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}.hero-motion{display:none}.hero-collage{display:block}}
