/* Color authority: see BRAND-DIRECTION.md. Load after presentation styles. */
.anime-world{--brand-blue:#3255ef;--brand-red:#ff4c3e;--brand-ink:#101117;--brand-paper:#f4f1e9;--brand-white:#fff;--brand-lime:#e8ff60;--origin-sand:#ffbd59}
.anime-world .vision-panel{background:var(--brand-white);color:var(--brand-ink);border:0;border-left:8px solid var(--brand-blue);position:relative}
.anime-world .vision-panel>span{color:var(--brand-blue);font-weight:700}
.anime-world .vision-panel h2{color:var(--brand-ink)}
.anime-world .vision-panel h2 em{color:var(--brand-blue);text-shadow:none;text-decoration:underline;text-decoration-color:var(--brand-red);text-decoration-thickness:4px;text-underline-offset:.18em}
.anime-world .vision-panel>p{color:var(--brand-ink)}
.anime-world .vision-globe{color:var(--brand-blue);opacity:.06}
.anime-world .origin{background:linear-gradient(90deg,var(--brand-paper) 0%,var(--brand-paper) 49%,var(--origin-sand) 49%,var(--origin-sand) 100%);color:var(--brand-ink)}
.anime-world .origin-copy h2{color:var(--brand-ink)}
.anime-world .origin-copy h2 em{color:var(--brand-blue)}
.anime-world .origin .section-label>span{color:var(--brand-blue)}
.anime-world .origin .section-label>p,.anime-world .origin-copy>p:last-child,.anime-world .landmark-caption{color:var(--brand-ink)}
.anime-world .origin-map{background:var(--origin-sand)}
.anime-world .origin-map img{mask-image:none;mix-blend-mode:normal}
.anime-world .news-company{background:var(--brand-white)}
.anime-world .belief-manifesto article:nth-child(3) p{color:var(--brand-ink)}
.anime-world .tech-card:nth-child(3)>span{color:var(--brand-blue)}
.anime-world .anime-lab figcaption{background:var(--brand-white);color:var(--brand-ink);border-bottom:2px solid var(--brand-blue)}
.anime-world .contact-bottom a{background:var(--brand-blue);color:var(--brand-white);border-color:var(--brand-blue)}
.anime-world .contact-bottom a:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.anime-world a:focus-visible,.anime-world button:focus-visible,.anime-world summary:focus-visible{outline:3px solid var(--brand-blue);outline-offset:5px}
@media(max-width:700px){.anime-world .origin{background:var(--brand-paper)}.anime-world .origin-map{padding:12px;margin-top:12px}.anime-world .vision-panel{border-left-width:5px}}
/* Responsive editorial rhythm. */
.anime-world #technology-details{scroll-margin-top:90px}
.anime-world .origin{padding-block:44px;gap:32px;border-top:5px solid var(--brand-blue)}
.anime-world .origin-copy .section-label{margin-bottom:20px}
.anime-world .origin-map{height:auto;min-height:0}
.anime-world .contact-bottom a{width:auto;min-width:0;padding:16px 28px;font-size:13px;min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.anime-world .contact-symbol{width:220px;height:220px}
@media(max-width:700px){
.anime-world .tech-feature-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:26px}
.anime-world .tech-card{display:grid;grid-template-columns:minmax(0,1fr) 128px;column-gap:12px;row-gap:10px;min-height:0;padding:22px 0;border-top:1px solid #10111730;overflow:visible}
.anime-world .tech-card>span{grid-column:1;grid-row:1;border:0!important;padding:0!important;align-self:end;font-size:10px;letter-spacing:.06em;color:var(--brand-blue)!important}
.anime-world .tech-card h3{grid-column:1;grid-row:2;font-size:23px;line-height:1.18;letter-spacing:-.025em;margin:0;align-self:start;overflow-wrap:normal}
.anime-world .tech-card .tech-illustration{grid-column:2;grid-row:1/3;width:128px;max-width:none;aspect-ratio:1;height:128px;margin:0;align-self:center}
.anime-world .tech-card p{grid-column:1/-1;grid-row:3;font-size:13px;line-height:1.8;margin:0}
.anime-world .technology{padding-bottom:30px}
.anime-world .origin{padding:30px 20px 24px;gap:18px;background:var(--brand-white);border-top:6px solid var(--brand-blue)}
.anime-world .origin-copy .section-label{margin-bottom:16px}
.anime-world .origin-copy h2{font-size:28px;line-height:1.4;margin:0}
.anime-world .origin-copy>p:last-child{margin-top:16px;font-size:13px;line-height:1.8}
.anime-world .origin-map{margin:0;padding:0;width:100%;height:auto;min-height:0}
.anime-world .landmark-caption{padding:8px 12px;font-size:9px}
.anime-world .team{padding:34px 20px}
.anime-world .team>.section-label{margin-bottom:20px}
.anime-world .team-heading h2{font-size:30px;margin:0}
.anime-world .team-heading p{font-size:13px;line-height:1.8}
.anime-world .team-grid{margin-top:22px;gap:26px}
.anime-world .rider-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 16px;padding-top:18px;border-top:1px solid #10111730!important}
.anime-world .rider-image{grid-column:1;grid-row:1/4;padding:0;align-self:center}
.anime-world .rider-image>span{display:none}
.anime-world .founder-portrait{width:110px;margin:0}
.anime-world .rider-copy{display:contents}
.anime-world .rider-copy small{grid-column:2;font-size:9px;line-height:1.5;align-self:end}
.anime-world .rider-copy h3{grid-column:2;font-size:26px;margin:0;line-height:1.25}
.anime-world .rider-copy h4{grid-column:2;font-size:15px;line-height:1.65;margin:0}
.anime-world .rider-copy h4 br{display:none}
.anime-world .rider-copy>p{grid-column:1/-1;font-size:13px;line-height:1.8;margin:8px 0}
.anime-world .rider-copy>div{grid-column:1/-1;flex-wrap:wrap;gap:6px 12px}
.anime-world .contact{grid-template-columns:1fr 105px;padding:34px 20px;gap:16px}
.anime-world .contact-symbol{width:118px;height:118px;grid-column:2;grid-row:1/3;align-self:start}
.anime-world .contact-kicker{grid-column:1;grid-row:1;align-self:center}
.anime-world .contact h2{grid-column:1/-1;grid-row:3;font-size:27px}
.anime-world .contact-bottom{align-items:flex-start;gap:16px;padding-top:18px}
.anime-world .contact-bottom a{width:auto;min-width:0;padding:14px 24px;font-size:12px}
}
.anime-world .contact-bottom a{flex:none;align-self:flex-start;width:fit-content;max-width:100%}
@media(max-width:700px){.anime-world .team-heading{gap:16px;margin-bottom:0}.anime-world .team-heading p{margin:0}.anime-world .team-grid{padding-top:0}.anime-world .rider-copy>div{margin-top:0;margin-bottom:0}.anime-world .contact-bottom{display:flex}.anime-world .contact-symbol{grid-row:1/2}.anime-world .contact h2{grid-row:2}}
@media(max-width:700px){.anime-world .outcome-grid article,.anime-world .outcome-grid article+article{min-height:0;padding:18px 0}.anime-world .outcome-grid h3{margin-top:16px}.anime-world .mission-grid>p{font-size:14px;line-height:1.9}.anime-world .outcome-grid{margin-top:26px}.anime-world .team-heading{padding-bottom:0}.anime-world .rider-card{min-height:0}.anime-world .contact-bottom a{flex:0 0 auto!important;width:fit-content!important;align-self:flex-start!important}}
.anime-world .origin{min-height:0}
/* The message leads; motion illustrates connection and progression. */
.anime-world .hero-final em{color:var(--brand-ink)}
.anime-world .vision-panel{border-left:0;padding-block:48px;gap:18px 35px}
.vision-network{grid-column:2;width:min(100%,800px);height:100px;color:var(--brand-blue);overflow:visible}
.vision-network path{stroke-width:2;opacity:.18}
.vision-network .network-trace{opacity:1;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--chapter-progress,0));stroke-width:3}
.anime-world .tech-card{position:relative}
.anime-world .tech-card:after{content:'';position:absolute;top:0;left:0;height:3px;width:100%;background:var(--brand-blue);transform:scaleX(0);transform-origin:left;transition:transform .55s ease}
.anime-world .tech-card.step-lit:after{transform:scaleX(1)}
.anime-world .origin{border-top:0}
.anime-world .origin-copy h2 em{background:linear-gradient(var(--brand-blue),var(--brand-blue)) left bottom / calc(var(--chapter-progress,0) * 100%) 2px no-repeat;padding-bottom:6px}
.anime-world .outcome-grid h3{font-size:clamp(18px,1.6vw,23px);margin:18px 0 10px;line-height:1.45}
.anime-world .outcome-grid p{font-size:14px;line-height:1.8;margin:0}
.anime-world .outcome-grid article,.anime-world .outcome-grid article+article{min-height:0;padding-block:22px}
@media(max-width:700px){
 .anime-world .outcome-grid h3{font-size:18px;margin:12px 0 8px}
 .anime-world .outcome-grid p{font-size:13px}
 .anime-world .outcome-grid article,.anime-world .outcome-grid article+article{padding-block:16px}
 .anime-world .vision-panel{padding:32px 20px;gap:18px}
 .vision-network{grid-column:1;height:70px}
 .anime-world .origin{border-top:3px solid var(--brand-blue)}
 .anime-world .contact{position:relative;isolation:isolate;overflow:hidden;display:block}
 .anime-world .contact-symbol{position:absolute;right:-18px;top:55px;width:240px;height:240px;opacity:.10;z-index:-1;pointer-events:none}
 .anime-world .contact-kicker{margin:0 0 22px}
 .anime-world .contact h2{margin:0 0 22px}
 .anime-world .contact-bottom{position:relative}
}
@media(prefers-reduced-motion:reduce){.anime-world .tech-card:after{transition:none}.network-trace{stroke-dashoffset:0!important}}
.anime-world .vision-panel>span{grid-column:1;grid-row:1}
.anime-world .vision-panel>h2{grid-column:2;grid-row:1}
.anime-world .vision-panel>p{grid-column:2;grid-row:2}
.anime-world .vision-panel>.vision-network{grid-column:2;grid-row:3}
@media(max-width:700px){
 .anime-world .vision-panel>span{grid-column:1;grid-row:1}
 .anime-world .vision-panel>h2{grid-column:1;grid-row:2}
 .anime-world .vision-panel>p{grid-column:1;grid-row:3}
 .anime-world .vision-panel>.vision-network{grid-column:1;grid-row:4}
}
#vision{scroll-margin-top:90px}
/* Refinement: preserve the full landscape and animate existing rules. */
.anime-world .hero-final em{color:var(--brand-blue);text-shadow:0 2px 0 #ffffff60}
.anime-world .contact-bottom{border-top:0}
.anime-world .tech-card:after{display:none}
.anime-world .tech-card>span{border-bottom:0!important;background:linear-gradient(var(--brand-blue),var(--brand-blue)) left bottom / calc(var(--chapter-progress,0) * 100%) 3px no-repeat}
.anime-world .outcome-grid article:nth-child(n){min-height:0;padding-block:20px}
.anime-world .vision-panel{padding-block:40px}
.anime-world .vision-panel>p{margin:0}
@media(max-width:700px){
 .anime-world .ride-hero{height:auto;min-height:0;padding:95px 20px 24px;display:flex;flex-direction:column;background:var(--brand-paper)}
 .anime-world .ride-hero:after{display:none}
 .anime-world .hero-kicker{order:0}
 .anime-world .hero-title{order:1;margin:18px 0 16px}
 .anime-world .hero-jp{margin-top:15px}
 .anime-world .hero-jp,.anime-world .hero-final{font-size:9vw}
 .anime-world .rider-scene{position:relative!important;inset:auto!important;order:2;z-index:0;width:calc(100% + 40px);height:auto!important;aspect-ratio:16/9;margin:0 -20px}
 .anime-world .scene-riders{height:100%;width:100%;object-fit:contain;object-position:center;animation:none;transform:none}
 .anime-world .hero-bottom{order:3;position:relative;inset:auto;max-width:100%;margin-top:16px;gap:12px}
 .anime-world .hero-bottom p{margin:0}
 .anime-world .hero-caption{display:none}
 .anime-world .outcome-grid{gap:0;margin-top:24px;margin-bottom:0}
 .anime-world .outcome-grid article:nth-child(n){min-height:0;padding:18px 0;margin:0}
 .anime-world .direction-main{padding-bottom:28px}
 .anime-world .vision-panel{padding-block:28px}
 .anime-world .contact-symbol{opacity:.23}
 .anime-world .contact-bottom{padding-top:0}
 .anime-world .tech-card{border-top:0;background:linear-gradient(var(--brand-blue),var(--brand-blue)) left top / calc(var(--chapter-progress,0) * 100%) 2px no-repeat}
 .anime-world .tech-card>span{background:none}
}
@media(max-width:700px){.anime-world .rider-scene{height:56.25vw!important;flex:none;transform:none}.anime-world .scene-riders{display:block;position:absolute;inset:0;height:100%;max-height:none}.anime-world .hero-final{margin-top:0}}
@media(max-width:700px){.anime-world .ride-hero{justify-content:flex-start;gap:0}.anime-world .ride-hero .hero-title{margin:18px 0 20px;flex:none}.anime-world .scene-riders{mask-image:none}.anime-world .ride-hero .rider-scene{margin:0 -20px}.anime-world .hero-kicker{margin-top:0}}
@media(max-width:700px){.anime-world .ride-hero .hero-title{display:flex;flex-direction:column;font-size:inherit;line-height:1.2}.anime-world .hero-final{display:block}.anime-world .hero-jp{margin-left:0}}
@media(max-width:700px){.anime-world .hero-final{padding-bottom:0}}
/* Preserve the established chapter accents. */
.anime-world .vision-panel{border-left:8px solid var(--brand-blue)}
.anime-world .philosophy{border-top:18px solid var(--brand-red)}
.anime-world .tech-card:nth-child(1){--rule-color:var(--brand-blue)}
.anime-world .tech-card:nth-child(2){--rule-color:var(--brand-lime)}
.anime-world .tech-card:nth-child(3){--rule-color:var(--brand-red)}
.anime-world .tech-card>span{background-image:linear-gradient(var(--rule-color),var(--rule-color))}
@media(max-width:700px){
 .anime-world .vision-panel{border-left-width:5px}
 .anime-world .philosophy{border-top-width:14px}
 .anime-world .tech-card{background-image:linear-gradient(var(--rule-color),var(--rule-color))}
 .anime-world .tech-card>span{background:none}
 .anime-world .ride-hero{display:block;padding:92px 20px 24px}
 .anime-world .hero-brand{display:none}
 .anime-world .hero-kicker{font-size:7px;justify-content:flex-start;margin:0 0 16px}
 .anime-world .ride-hero .hero-title{position:relative;z-index:2;margin:0;height:56.25vw;padding-top:12px;box-sizing:border-box;pointer-events:none}
 .anime-world .hero-jp,.anime-world .hero-final{font-size:8vw;line-height:1.3;letter-spacing:-.055em;margin:0}
 .anime-world .hero-final em{color:var(--brand-blue)}
 .anime-world .ride-hero .rider-scene{position:absolute!important;top:119px!important;left:0!important;width:100%;height:56.25vw!important;margin:0;z-index:0}
 .anime-world .rider-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f4f1e9c9,transparent 52%,transparent 85%,var(--brand-paper)),linear-gradient(90deg,#f4f1e950,transparent 60%);pointer-events:none}
 .anime-world .scene-riders{object-fit:contain;mask-image:none}
 .anime-world .hero-bottom{position:relative;margin-top:14px;z-index:2}
}
.anime-world .hero-final em{color:var(--brand-red);text-shadow:none}
/* One hero surface; a deliberate warm-to-cool rhythm through the closing chapters. */
.anime-world .hero-brand{display:none}
.anime-world .hero-jp{font-size:clamp(30px,3.6vw,54px)}
.anime-world .hero-final{font-size:clamp(48px,6vw,88px)}
.anime-world .hero-actions>a:first-child{background:var(--brand-lime);color:var(--brand-ink);border-color:var(--brand-lime)}
.anime-world .hero-actions>a:first-child:hover{background:var(--brand-ink);color:white;border-color:var(--brand-ink)}
.anime-world .team{background:#e8ff60}
.anime-world .contact{background:var(--brand-blue);color:white}
.anime-world .contact h2,.anime-world .contact-bottom p,.anime-world .contact-kicker{color:white}
.anime-world .contact h2 em{color:var(--brand-lime)}
.anime-world .contact-bottom a{background:var(--brand-lime);color:var(--brand-ink);border-color:var(--brand-lime)}
.anime-world .contact-symbol{color:var(--brand-lime)}
@media(max-width:700px){
 .anime-world .ride-hero{height:calc(100vw + 68px);min-height:510px;padding:94px 20px 22px;background:#a7d8f2}
 .anime-world .ride-hero .rider-scene{top:68px!important;height:calc(100% - 68px)!important;width:100%;z-index:0}
 .anime-world .scene-riders{object-fit:cover;object-position:center}
 .anime-world .rider-scene:after{background:linear-gradient(180deg,#f4f1e9de 0%,#f4f1e960 22%,transparent 43%,transparent 59%,#f4f1e9cc 83%,#f4f1e9ef 100%)}
 .anime-world .hero-kicker{position:relative;z-index:2;margin:0 0 12px}
 .anime-world .ride-hero .hero-title{height:auto;padding:0;margin:0}
 .anime-world .hero-jp{font-size:7vw;line-height:1.3}
 .anime-world .hero-final{font-size:10vw;line-height:1.3}
 .anime-world .hero-bottom{position:absolute;left:20px;right:20px;bottom:22px;margin:0;gap:12px}
 .anime-world .hero-bottom p{font-size:11px;line-height:1.8}
 .anime-world .hero-actions{justify-content:flex-start;gap:20px}
 .anime-world .contact-symbol{opacity:.23}
}
.rider-scene picture{display:contents}
@media(max-width:700px){.anime-world .scene-riders{object-fit:contain}.anime-world .contact-bottom a{color:var(--brand-ink)}}
.anime-world .hero-actions>a:first-child{font-weight:800;font-size:13px;color:#101117;letter-spacing:.015em}
.anime-world .contact-bottom a{padding:11px 19px;font-size:11px;min-height:42px}
.anime-world .contact-symbol{color:var(--brand-red)}
.mission-spot{width:100px;height:100px;object-fit:contain;float:right;margin:0 0 12px 20px}
.anime-world .tech-illustration.fresh-spot img{position:static;width:100%!important;height:100%!important;object-fit:contain;transform:none!important;left:auto;top:auto}
.anime-world .tech-illustration.fresh-spot{mix-blend-mode:normal}
@media(max-width:700px){
 .anime-world .hero-actions>a:first-child{font-size:12px;font-weight:800}
 .anime-world .contact-bottom a{padding:10px 18px;min-height:42px;font-size:11px}
 .anime-world .contact-symbol{opacity:.38}
 .anime-world .rider-card:nth-child(1) .rider-image{border-bottom:3px solid var(--brand-blue)!important;padding-bottom:10px}
 .anime-world .rider-card:nth-child(2) .rider-image{border-bottom:3px solid var(--brand-red)!important;padding-bottom:10px}
 .mission-spot{width:72px;height:72px;margin-left:12px}
}
.hero-original-strip{display:none}
@media(max-width:700px){.hero-original-strip{display:block;position:absolute;width:100%;height:56.28vw;left:0;top:calc(50% - 28.87vw);object-fit:contain;mask-image:linear-gradient(transparent,#000 3%,#000 97%,transparent)}}
.mission-grid>div:first-child{position:relative}
.mission-spot{float:none;position:absolute;right:0;top:-12px;width:64px;height:64px;margin:0}
@media(max-width:700px){.mission-spot{width:54px;height:54px;top:-12px}.mission-grid h2{clear:both}}
/* Optical balance: quiet blue-black type, grouped hero content, restrained spot art. */
.anime-world .hero-jp{color:#182846}
.mission-spot{display:none}
.anime-world .tech-illustration.fresh-spot{width:76%;max-width:240px;margin-inline:auto}
@media(min-width:701px){
 .anime-world .hero-bottom{position:relative;inset:auto;margin-top:26px;max-width:48%;gap:16px}
 .anime-world .hero-bottom p{margin:0}
}
@media(max-width:700px){
 .mission-spot{display:block;width:48px;height:48px;right:0;top:-8px}
 .anime-world .tech-card .tech-illustration.fresh-spot{width:104px;height:104px;max-width:none;justify-self:center;margin:0}
}
@media(max-width:700px){
 .anime-world .hero-bottom{position:relative;inset:auto;margin-top:16px;max-width:100%;gap:12px}
 .anime-world .hero-actions{flex-direction:column;align-items:flex-start;gap:8px}
 .anime-world .hero-contact-link{padding:6px 0}
 .mission-grid>div:first-child{isolation:isolate}
 .mission-spot{width:176px;height:176px;right:-12px;top:-32px;opacity:.12;z-index:-1;pointer-events:none}
}
/* Lower the hero reading group into the landscape without moving its characters. */
@media(min-width:701px){.anime-world .ride-hero{padding-top:clamp(175px,17vw,230px)}}
@media(max-width:700px){
 .anime-world .ride-hero{padding-top:130px}
 .mission-spot{opacity:1}
 .mission-grid h2{position:relative;text-shadow:0 1px 0 var(--brand-paper),0 0 8px var(--brand-paper)}
}
@media(max-width:700px){.mission-grid h2{paint-order:stroke fill;-webkit-text-stroke:3px var(--brand-paper);text-shadow:none}}
/* Contact stays readable on the illustration; company facts have their own quiet surface. */
.anime-world .hero-contact-link{color:#182846;font-weight:700;font-size:12px;background:#ffffffeb;padding:10px 15px;border:1px solid #18284630;border-radius:2px;text-decoration:none;line-height:1.5}
.anime-world .hero-contact-link:hover{background:white;border-color:#182846;color:#101117}
.anime-world .company-data,.anime-world .company-data div{border-color:var(--line)!important}
@media(min-width:701px){
 .anime-world .company-copy{background:#f4f1e9;padding:28px;align-self:start}
 .anime-world .company-copy>h2{font-size:clamp(28px,3vw,44px)}
 .anime-world .news-column{padding-top:28px}
 .anime-world .news-heading>small{color:var(--brand-blue);font-weight:700;letter-spacing:.16em}
}
