/* Original identity assets and fluid layouts for phone, tablet and desktop. */
.wrap{width:100%}
.hero-grid,.story-split,.production-grid,.character-section,.detail-layout,.production-hero,.contact-layout,.catalog-downloads,.catalog-book{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.production-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.production-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.catalog-book{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.category-grid,.brand-panels,.info-grid,.timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
.process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.footer-main{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.4fr)}
.form-grid,.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
:where(.hero-grid,.story-split,.production-grid,.character-section,.detail-layout,.production-hero,.contact-layout,.catalog-downloads,.catalog-book,.product-grid,.category-grid,.brand-panels,.footer-main,.form-grid)>*{min-width:0}
.hero-ctas,.contact-band-actions{flex-wrap:wrap}
.product-info h3,.detail-copy h1,.brand-panel p,.contact-info-block a,.footer-contact a,.search-result h3{overflow-wrap:anywhere}
.footer-phone{white-space:normal}
.button{max-width:100%;text-align:center}
.button span{flex-shrink:0}
.logo img,.footer-brand img{mix-blend-mode:normal}
.brand-mark{display:flex;align-items:center;justify-content:center;flex:0 1 155px;min-width:0;padding:12px 0}
.brand-mark img{width:128px;height:75px;object-fit:contain;mix-blend-mode:normal}
.brand-mark.gurme img{width:83px;height:83px}
.brand-panel .brand-logo-box{display:flex;align-items:center;justify-content:center;height:125px;margin:22px 0 30px;min-height:125px}
.brand-logo-box img{width:220px;height:125px;object-fit:contain;mix-blend-mode:normal}
.brand-panel p{flex:1}
.mega-inner>img{width:260px;height:245px;object-fit:contain;mix-blend-mode:normal}
.character-stage{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:600px;justify-self:center}
.character-cluster{flex:1;min-width:0}
.character-stage .character-cluster img{display:block;width:100%;height:auto;max-height:310px;object-fit:contain;mix-blend-mode:normal;margin:0;order:0}
.detail-visual .product-mascot{position:absolute;bottom:38px;right:15px;width:110px;height:155px;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 5px 5px #292a2218)}
.production-visual{position:relative;min-width:0}
.production-visual>.production-character{position:absolute;bottom:-24px;right:-18px;object-fit:contain;border-radius:0;width:150px;height:230px;filter:drop-shadow(0 6px 5px #292a2218)}
.mobile-nav{display:none}
.mobile-toggle{min-width:44px;min-height:44px}
.search-button,.close-search{min-width:44px;min-height:44px}
.form-feedback{overflow-wrap:anywhere}
.field input,.field select,.field textarea{max-width:100%;min-width:0}
.search-result>div{min-width:0}
.search-result>img{flex-shrink:0}

@media(max-width:1100px){
  .header{position:sticky;top:0}
  .header-inner{height:88px;gap:20px}
  .desktop-nav,.mega-menu{display:none}
  .mobile-toggle{display:block}
  .mobile-nav{display:block;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;padding:12px 32px 22px}
  .mobile-nav>a{min-height:48px;padding:13px 0;font-size:14px}
  .mobile-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .mobile-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-toggle span{transition:transform .2s}
  .header-actions>.button{display:inline-flex}
  .brand-ribbon .wrap{gap:22px}
  .brand-ribbon .eyebrow{font-size:9px}
  .brand-mark{flex-basis:120px}
  .brand-mark img{width:110px;height:68px}
  .brand-mark.gurme img{width:75px;height:75px}
  .hero-copy h1{font-size:clamp(50px,6vw,66px)}
  .hero-copy>p{font-size:13px}
  .hero-ctas{gap:10px;margin-bottom:28px}
  .hero-ctas .text-link{padding-left:0}
}
@media(min-width:761px) and (max-width:1024px){
  .catalog-downloads{grid-template-columns:minmax(0,1fr)}
  .catalog-book{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .category-grid{gap:16px}
  .category-card{padding:25px 20px}
  .category-card h3{font-size:25px}
  .brand-panel{padding:32px 22px}
  .brand-logo-box img{max-width:100%}
  .detail-layout{gap:35px}
  .detail-copy h1{font-size:clamp(35px,4.5vw,45px)}
  .contact-layout{gap:40px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .contact-form{padding:28px 22px}
  .contact-form .form-grid{grid-template-columns:minmax(0,1fr)}
  .contact-form .field.full{grid-column:auto}
  .production-grid{gap:45px}
  .production-hero{gap:40px}
}
@media(max-width:760px){
  .header-inner{height:78px}
  .header-actions>.button{display:none}
  .header-actions{gap:8px}
  .mobile-nav{max-height:calc(100vh - 78px);max-height:calc(100dvh - 78px);padding-left:24px;padding-right:24px}
  .hero-grid,.story-split,.production-grid,.character-section,.detail-layout,.production-hero,.contact-layout,.catalog-downloads,.catalog-book,.category-grid,.brand-panels,.info-grid,.timeline,.values-grid,.form-grid{grid-template-columns:minmax(0,1fr)}
  .hero-grid{gap:30px;padding-top:35px}
  .hero-copy h1{font-size:clamp(47px,10.7vw,72px);line-height:1.06}
  .hero-copy>p{font-size:14px;max-width:460px}
  .hero-copy>p br{display:none}
  .hero-copy .eyebrow{letter-spacing:.12em;flex-wrap:wrap;gap:9px;font-size:8px}
  .hero-ctas{gap:12px;margin:25px 0 0}
  .hero-ctas .button{padding:16px 20px;min-height:52px}
  .hero-ctas .text-link{min-height:48px;font-size:12px;padding:12px 6px}
  .hero-art{max-width:580px;aspect-ratio:1.1;min-height:0}
  .hero-photo{min-height:0;height:100%;width:100%;object-position:62% 50%}
  .hero-caption{gap:12px}
  .hero-caption b{font-size:clamp(17px,4.2vw,23px);line-height:1.2}
  .hero-caption>a{flex-shrink:0;width:42px;height:42px}
  .hero-seal{left:4px;top:32px;width:78px;height:78px}
  .hero-seal strong{font-size:22px}
  .brand-ribbon .wrap{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;padding-top:22px;padding-bottom:25px}
  .brand-mark{min-width:0;width:100%;padding:5px 0}
  .brand-mark img{width:100%;height:65px;max-width:125px}
  .brand-mark.gurme img{width:65px;height:65px;max-width:100%}
  .brand-ribbon .eyebrow{font-size:8px;letter-spacing:.12em}
  .brand-ribbon .text-link{min-height:42px;padding-top:5px}
  .product-grid,.footer-main,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-image{aspect-ratio:1/1}
  .product-image img{width:100%;height:100%;object-fit:contain}
  .product-image .round-arrow{width:34px;height:34px}
  .product-info h3{font-size:clamp(20px,4.5vw,25px);line-height:1.15}
  .product-info .eyebrow{font-size:8px;letter-spacing:.08em}
  .product-info p{line-height:1.65;font-size:10px}
  .category-card{grid-template-columns:minmax(0,1fr) minmax(0,160px)}
  .category-card img{max-width:100%;width:160px}
  .section-head h2,.story-copy h2,.character-copy h2{font-size:clamp(33px,7.6vw,43px)}
  .section-head>p,.story-copy p,.character-copy p{font-size:14px;line-height:1.8}
  .character-stage{order:2;gap:6px;margin-top:5px;width:100%;max-width:520px}
  .character-stage .character-cluster img{max-height:260px;height:auto;width:100%;order:0}
  .brand-panel{min-height:330px;padding:30px}
  .brand-panel .brand-logo-box{height:120px;min-height:120px;margin:12px 0 25px}
  .brand-logo-box img{height:120px;width:230px}
  .brand-panel .text-link{min-height:44px}
  .production-visual{order:2;max-width:580px;width:100%;justify-self:center}
  .production-visual>img:first-child{width:100%;height:350px}
  .production-visual>.production-character{width:115px;height:178px;bottom:-15px;right:-8px}
  .detail-visual>img:first-child{height:320px}
  .detail-visual .product-mascot{width:78px;height:115px;right:12px;bottom:34px}
  .detail-visual small{font-size:8px;right:15px;left:15px}
  .detail-copy h1{font-size:clamp(35px,8.7vw,46px);line-height:1.1}
  .detail-line{grid-template-columns:minmax(0,112px) minmax(0,1fr);gap:10px}
  .detail-tabs{gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
  .detail-tabs button{white-space:nowrap;flex-shrink:0;min-height:48px;font-size:12px}
  .detail-tab-panel{font-size:14px;line-height:1.85}
  .filter-tabs{gap:8px}
  .filter-tabs button{min-height:44px;font-size:11px;padding:10px 13px}
  .product-search input,.search-dialog>input{font-size:16px;min-height:48px}
  .contact-form .field.full{grid-column:auto}
  .field label{font-size:12px}
  .field input,.field select,.field textarea{font-size:16px;min-height:48px;padding:12px}
  .contact-form>p,.form-note{font-size:12px}
  .contact-form .button{width:100%;min-height:52px;font-size:13px}
  .contact-band-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .contact-band .button{width:100%;gap:10px;padding:16px 12px;min-height:52px;font-size:11px}
  .contact-band h2{font-size:clamp(31px,7.8vw,39px)}
  .footer-contact p,.footer p,.footer a:not(.footer-phone){font-size:12px}
  .footer h4{font-size:12px}
  .footer-main>div:not(.footer-brand):not(.footer-contact)>a{min-height:36px;display:flex;align-items:center;margin-bottom:3px}
  .footer-phone{font-size:26px}
  .footer-brand img{width:105px;height:auto}
  .footer-bottom{gap:14px}
  .footer-bottom>span{max-width:calc(100% - 55px);line-height:1.8}
  .footer-bottom>a{width:44px;height:44px}
  .catalog-book{gap:35px}
  .catalog-book .button{min-height:48px}
  .book-info p,.download-note{font-size:12px}
  .page-title-row h1{font-size:clamp(39px,9.8vw,55px)}
  .page-title-row>p{font-size:14px}
  .crumbs{line-height:1.9}
  .search-dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);width:calc(100% - 32px);padding:22px}
  .search-result{min-height:78px}
  .search-result h3{font-size:20px}
}
@media(max-width:390px){
  .wrap{padding-left:20px;padding-right:20px}
  .hero-ctas{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
  .hero-ctas .button{width:100%;justify-content:space-between;padding-left:20px;padding-right:20px;font-size:12px}
  .hero-ctas .text-link{justify-content:center;padding:12px 0}
  .hero-seal{width:68px;height:68px;top:27px;left:2px}
  .hero-seal span{font-size:6px;letter-spacing:.06em}
  .hero-seal strong{font-size:21px}
  .hero-caption{left:12px;right:12px;bottom:15px;padding:12px;gap:8px}
  .hero-caption span{font-size:7px;letter-spacing:.1em}
  .hero-caption>a{width:36px;height:36px}
  .brand-ribbon .wrap{gap:12px 8px}
  .brand-mark img{height:56px}
  .brand-mark.gurme img{width:56px;height:56px}
  .category-card{grid-template-columns:minmax(0,1fr) minmax(0,125px);padding:22px;min-height:210px}
  .category-card img{width:125px;height:150px}
  .category-card h3{font-size:24px}
  .category-card .number{font-size:8px;left:22px}
  .product-grid{gap:28px 13px}
  .product-info h3{font-size:21px}
  .contact-band-actions{grid-template-columns:minmax(0,1fr)}
  .contact-band .button{padding:16px 20px;justify-content:space-between;font-size:12px}
  .contact-form{padding:22px 18px}
  .process-grid{gap:28px 18px}
  .process-block h3{font-size:22px}
  .process-block p{font-size:12px}
  .book-cover{max-width:100%}
  .catalog-book{padding:28px 23px}
  .production-grid h2{font-size:39px}
}
@media(max-height:500px) and (max-width:1100px){
  .header-inner{height:66px}
  .logo img{height:50px;width:68px}
  .mobile-nav{max-height:calc(100vh - 66px);max-height:calc(100dvh - 66px)}
  .search-dialog{margin:12px auto;max-height:calc(100dvh - 24px)}
}
@media(prefers-reduced-motion:reduce){.mobile-toggle span{transition:none}}
