
:root{--prism:linear-gradient(105deg,#285d9f 0%,#2d78a8 43%,#318ca2 76%,#538d9e 88%,#9b864b 100%);--wash:linear-gradient(110deg,#e0ecf8,#e0f0f3 42%,#e6f1e8 74%,#f0eed7);--accent-a:#5291bd;--accent-b:#68b0c3;--accent-c:#8fc4bf;--accent-d:#d0c484;--ambient-a:#d9eaf5;--ambient-b:#d9eeed;--ambient-c:#eeedcf;--diagram-line:#a5bbc8;--sculpture:url('assets/hero-optical-prism.png')}
:root[data-theme=horizon]{--prism:linear-gradient(105deg,#306da5 0%,#377fab 43%,#428fa4 76%,#6596a0 88%,#9b8b53 100%);--wash:linear-gradient(110deg,#e3eff7,#def1f3 34%,#e6f1e5 64%,#f0ecd3);--accent-a:#71a5c3;--accent-b:#76b9c6;--accent-c:#a1c8b8;--accent-d:#d1c27f;--ambient-a:#dfedf5;--ambient-b:#dcefeb;--ambient-c:#f0ecd1;--diagram-line:#a9c1c7;--sculpture:url('assets/hero-light-planes.png')}

/* Color/material directions. The default is Azure Refraction; all previous directions are retained. */
:root[data-theme=mineral]{--prism:linear-gradient(110deg,#325e6c 0%,#377780 35%,#627e71 68%,#82764b 100%);--wash:linear-gradient(110deg,#e5eff0,#e8eef0 38%,#e7ede8 70%,#eeeede);--accent-a:#76a3ad;--accent-b:#7eabb1;--accent-c:#a0b4a2;--accent-d:#b5b48a;--ambient-a:#ddebec;--ambient-b:#e1e7e5;--ambient-c:#efedda;--diagram-line:#aabdc3;--sculpture:url('assets/prism-mineral.png')}
:root[data-theme=aurora]{--prism:linear-gradient(110deg,#256c65,#377487 38%,#466c8b 70%,#68638e);--wash:linear-gradient(110deg,#e0eeea,#ddecf0 40%,#e3eaf2 72%,#e9e6f0);--accent-a:#71a499;--accent-b:#7baab9;--accent-c:#909fc3;--accent-d:#aaa4c7;--ambient-a:#d2e9e4;--ambient-b:#dae6f2;--ambient-c:#e3e0ef;--diagram-line:#a2bac8;--sculpture:url('assets/prism-aurora.png')}
:root[data-theme=solar]{--prism:linear-gradient(110deg,#766442,#87723f 32%,#68806c 65%,#326f77);--wash:linear-gradient(110deg,#eeebdb,#e9eddc 38%,#e1ebe4 69%,#e0ecee);--accent-a:#b7a674;--accent-b:#b6b681;--accent-c:#99af9c;--accent-d:#7caaae;--ambient-a:#eae7d2;--ambient-b:#e3e9d9;--ambient-c:#d8e8e6;--diagram-line:#b9bd9e;--sculpture:url('assets/prism-solar.png')}
:root[data-theme=original]{--prism:linear-gradient(110deg,#427e91 0%,#677eab 26%,#9474a1 52%,#ae6e76 75%,#8a7850 100%);--wash:linear-gradient(110deg,#dff1ed,#e5eafa 35%,#eee4f3 60%,#f6e7df 85%,#f4eedb);--accent-a:#71a9b4;--accent-b:#8588b8;--accent-c:#bf91a4;--accent-d:#c7b482;--ambient-a:#dfe6f3;--ambient-b:#e8e0f1;--ambient-c:#f0e0df;--diagram-line:#bdadca;--sculpture:url('assets/prism-sculpture.png')}
.brand svg stop:nth-child(1),.service-visual svg stop:nth-child(1){stop-color:var(--accent-a)}.brand svg stop:nth-child(2),.service-visual svg stop:nth-child(2){stop-color:var(--accent-b)}.brand svg stop:nth-child(3),.service-visual svg stop:nth-child(3){stop-color:var(--accent-c)}.brand svg stop:nth-child(4),.service-visual svg stop:nth-child(4){stop-color:var(--accent-d)}
.hero::before{background:radial-gradient(ellipse,var(--ambient-a),transparent 65%);opacity:.3}.hero-image{width:100%;height:100%;background:var(--hero-image,var(--sculpture)) var(--hero-position,50% 50%)/cover no-repeat;mix-blend-mode:multiply;transform:translate3d(var(--art-x,0px),var(--art-y,0px),0) scale(1.035);transition:transform 1.4s cubic-bezier(.2,.6,.2,1)}.wide-art.prism-photo{background:var(--sculpture) center 55%/cover no-repeat}.careers-section::before{background:radial-gradient(ellipse at 80% 70%,var(--ambient-b),transparent 46%),radial-gradient(ellipse at 65% 0%,var(--ambient-a),transparent 40%),radial-gradient(ellipse at 93% 110%,var(--ambient-c),transparent 50%);opacity:.75}.seal-glow{background:conic-gradient(from 20deg,var(--ambient-a),var(--ambient-b),var(--ambient-c),var(--ambient-a))}.editorial-art{background:#eff2f1}.editorial-art::before{background:conic-gradient(from 20deg,var(--ambient-a),var(--ambient-b),var(--ambient-c),var(--ambient-a));opacity:.95}.art-2{background:#eef2f2}.art-3{background:#f0f2ee}.art-3::before{background:repeating-radial-gradient(ellipse,var(--diagram-line) 0 1px,transparent 2px 20px)}
.service-visual.meaningful{height:190px;margin-top:10px;background:none}.service-visual.meaningful svg{width:100%;height:175px;max-width:350px}.service-card:hover .service-visual.meaningful svg{transform:translateY(-3px)}.meaningful .diagram-path{stroke:var(--diagram-line);stroke-width:1;fill:none}.meaningful .diagram-flow{stroke:var(--accent-b);stroke-width:1.3;fill:none}.meaningful .diagram-node{fill:var(--paper);stroke:var(--diagram-line);stroke-width:.8}.meaningful .diagram-soft{fill:var(--ambient-a);fill-opacity:.5;stroke:var(--accent-b);stroke-width:.8}.meaningful .diagram-text{font:400 10.5px var(--jp);fill:#606e78;text-anchor:middle}.meaningful .diagram-en{font:500 7px var(--font);fill:#677983;letter-spacing:.8px;text-anchor:middle}.service-example{grid-column:1/-1;margin:16px 0 0!important;font-size:11px!important;line-height:1.9!important;color:#5e6e76!important}.service-example::before{content:'たとえば';display:inline-block;margin-right:10px;font-size:9px;color:#647c82}.service-card .card-bottom{margin-top:23px}
@media(max-width:760px){.service-card{display:flex;flex-direction:column}.service-visual.meaningful{height:180px;width:100%;margin:6px 0 18px;order:1}.service-no{order:0}.service-name-en{order:2;margin-top:0}.service-card h3{order:3;margin:12px 0 14px}.service-card p{order:4}.service-card .service-example{order:5}.service-card .card-bottom{order:6;width:100%}.service-list{gap:36px}.service-visual.meaningful svg{max-width:335px}}
@media(prefers-reduced-motion:reduce){.hero-image{transform:none!important;transition:none!important}}.motion-paused .hero-image{transform:none!important;transition:none!important}
