:root{--ink:#102e3d;--green:#009f86;--deep:#005246;--paper:#f6fbfa;--mint:#d6f5e9;--cta-height:90px;font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-bottom:110px}body{margin:0;background:radial-gradient(ellipse at 0 5%,#e3eee5,transparent 45%),radial-gradient(ellipse at 100% 70%,#dceee9,transparent 50%),#edf3f1;padding-bottom:calc(var(--cta-height) + env(safe-area-inset-bottom));overflow-x:clip}.lp{max-width:720px;margin:auto;background:var(--paper);box-shadow:0 0 90px #153f3020;container-type:inline-size;overflow:hidden}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #deaf2b;outline-offset:5px}a[aria-disabled=true]{cursor:default}.accent{color:var(--green);background:linear-gradient(110deg,#006952,#00ad91,#148d69);background-size:180% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.skip{position:fixed;left:12px;top:-80px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.hero{position:relative;aspect-ratio:900/1600;isolation:isolate;overflow:hidden;background:#eff9fc}.hero-sky{position:absolute;inset:0 0 62%;background:linear-gradient(90deg,#f5fbfd 4%,#f5fbfdaa 66%,transparent),url('./assets/leaves.webp') right center/30% 100% no-repeat}.hero-photo{position:absolute;inset:auto 0 0;width:100%;height:65%;object-fit:cover;transform-origin:center bottom;animation:heroZoom 1.7s cubic-bezier(.16,1,.3,1) both}.brand{position:absolute;left:4.5%;top:2.2%;width:35%;mix-blend-mode:multiply;animation:enter 650ms both}.hero-title{position:absolute;top:13.6%;left:5.2%;font-size:9.6cqw;line-height:1.36;letter-spacing:-.065em;font-weight:900}.hero-title span{display:block;animation:enter 750ms cubic-bezier(.16,1,.3,1) both}.hero-title span:nth-child(2){animation-delay:100ms}.hero-title span:nth-child(3){animation-delay:200ms}.section{padding:3.4% 3.2% 5%}.eyebrow{display:flex;align-items:center;gap:5%;font-style:italic;font-size:2.8cqw;color:#7c8e8e;margin-bottom:5%}.eyebrow i{display:block;width:7%;height:2px;background:linear-gradient(90deg,#7c9991 50%,var(--ink) 50%)}.story-index{display:flex;align-items:center;justify-content:space-between;font-size:2.8cqw;margin:0 2% 3%}.pager{white-space:nowrap;color:#78918e;font-size:2.8cqw}.pager span{color:var(--ink)}.image-frame{overflow:hidden}.story-photo{width:100%;transition:transform 850ms}.story-copy{padding:3.5% 2.2% 0}.big-copy{font-size:7.6cqw;line-height:1.24;letter-spacing:-.035em}.story-copy>p{font-size:3.1cqw;line-height:1.7;margin-top:4%}.text-link{display:inline-flex;align-items:center;gap:26px;font-size:3.5cqw;margin-top:5%;padding-bottom:4px;border-bottom:1px solid currentColor}.text-link span{transition:transform .5s}.text-link:hover span{transform:translate(3px,-3px)}.underline{position:relative;isolation:isolate}.underline:after{content:'';position:absolute;bottom:-.07em;left:8%;width:86%;height:.14em;background:#a9ead2;border-radius:100%;transform:rotate(-4deg) scaleX(0);transform-origin:left;z-index:-1;transition:transform 800ms 200ms}.is-visible .underline:after,.underline.is-visible:after{transform:rotate(-4deg) scaleX(1)}.devices{width:100%}.topics{background:linear-gradient(95deg,#f8fcfbea,#f0faf19c),url('./assets/leaves.webp') right/55% 100% no-repeat}.topics-content{padding:10% 6% 6%}.topics header p{font-weight:700;font-size:3.1cqw}.topics h2{font-family:Impact,'Arial Narrow',sans-serif;font-stretch:condensed;font-size:12cqw;line-height:1.1;letter-spacing:-.05em;margin:1% 0 10%}.news-list{display:grid;gap:20px}.news-card{position:relative;min-height:29cqw;padding:6% 6% 12%;border:1px solid #e1eeea;border-radius:10px;background:#fffffff0;box-shadow:0 8px 26px #083c2b04}.news-card:before{content:'';position:absolute;left:0;top:0;width:3px;height:32%;background:linear-gradient(var(--green),#bcecd9);border-radius:8px}.news-meta{display:flex;gap:3%;align-items:center;font-size:2.9cqw;color:#7c8c8b}.news-meta span{padding:.24em .9em;background:#e9f6f2;color:#375e55;border-radius:30px;font-weight:700;font-size:2.7cqw}.news-card h3{font-size:3.3cqw;line-height:1.65;font-weight:600;margin-top:4%}.round-link{width:8cqw;height:8cqw;min-width:32px;min-height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(130deg,#165d4d,#003e34);color:white;font-size:4.5cqw;transition:transform .5s,box-shadow .5s}.news-card>.round-link{position:absolute;right:6%;bottom:8%}.round-link:hover{transform:translateX(3px);box-shadow:0 5px 20px #006b4c30}.topics-more{display:flex;align-items:center;justify-content:flex-end;gap:5%;margin-top:12%}.topics-more b{font:700 5.2cqw Impact,'Arial Narrow',sans-serif;letter-spacing:-.04em}.topics-more small{display:block;font-size:2.7cqw}.topics-more .round-link{background:linear-gradient(120deg,#2db18a,#008b73);width:12cqw;height:12cqw}.decorated{position:relative;background:radial-gradient(ellipse at 0 0,#e4f5ee 0,transparent 36%),radial-gradient(ellipse at 100% 100%,#ddf5ed,transparent 35%),#f8fcfb}.magazine{padding-top:8%;padding-bottom:8%}.magazine-heading{position:relative;height:28cqw;display:grid;place-items:start center;padding-top:3%;text-align:center}.magazine-heading .head-left{position:absolute;left:0;bottom:0;width:27%;mix-blend-mode:multiply}.magazine-heading .head-right{position:absolute;right:0;bottom:0;width:24%;mix-blend-mode:multiply}.magazine-heading>div{position:relative;z-index:1}.outline-label{font-family:Arial,sans-serif;font-size:5cqw;letter-spacing:.035em;font-weight:700;color:#f9fffc;-webkit-text-stroke:1px #009e78}.magazine-heading h2{font-size:5.8cqw;font-weight:900;line-height:1.5;letter-spacing:-.045em}.magazine-heading h2 span{font-family:Arial,sans-serif;font-size:9cqw}.magazine-rail{display:flex;gap:2.8%;padding-left:3%;overflow:hidden}.mag-card{position:relative;flex:0 0 43%;height:63cqw;border-radius:22px;overflow:hidden;background:#183c30}.mag-card>img{width:100%;height:83%;object-fit:cover;object-position:center top}.pill{position:absolute;top:3%;left:3%;font-weight:800;border:1.5px solid #00947b;border-radius:30px;background:#d8fff0ef;padding:.5em 1em;font-size:2.7cqw;color:#003d44;white-space:nowrap}.card-caption{position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0a1716db 40%,#0a1716f0);padding:8% 5% 5%;color:white;display:flex;flex-direction:column;justify-content:flex-end}.card-caption time{font-size:2.4cqw;display:flex;align-items:center;gap:7%;white-space:nowrap;margin-bottom:4%}.card-caption time:after{content:'';height:1px;flex:1;background:repeating-linear-gradient(90deg,#fff 0 4px,transparent 4px 7px)}.card-caption h3{font-size:3.2cqw;line-height:1.45;overflow-wrap:anywhere}.partial-image{height:100%;background:linear-gradient(90deg,#cce3d0,#eef3e8)}.business{position:relative;display:flex;align-items:center;justify-content:flex-end;margin:7% 3% 0;min-height:38cqw;border:1px dashed #00b483;border-radius:24px;background:linear-gradient(130deg,#e3f5ed90,white,#cceee1);overflow:hidden}.business>img{position:absolute;left:3%;bottom:0;width:45%;mix-blend-mode:multiply}.business>div{position:relative;width:53%;padding:5% 3% 5% 0}.business p{font-family:Arial,sans-serif;color:#006448;font-weight:800;font-size:3.2cqw}.business h2{font-size:7.4cqw;letter-spacing:.025em;line-height:1.6;color:#00464b}.outline-button{display:flex;justify-content:center;align-items:center;gap:6%;border:1.5px solid #007b65;border-radius:99px;padding:.7em .65em;font-size:2.65cqw;font-weight:800;background:#ffffffc9;box-shadow:0 3px 0 #b2efdc;transition:background .45s,transform .45s,box-shadow .45s}.outline-button span{color:var(--green);font-size:1.5em;line-height:1}.outline-button:hover{background:#e1fff2;transform:translateY(-2px);box-shadow:0 5px 0 #b2efdc}.sns{padding-top:6%;padding-bottom:12%}.sns-heading{position:relative;height:49cqw;text-align:center}.sns-left,.sns-right{position:absolute;bottom:0;mix-blend-mode:multiply}.sns-left{left:0;width:30.5%}.sns-right{right:0;width:27.4%}.sns-intro{position:relative;z-index:1;padding-top:1%}.sns h2{font-size:9cqw;letter-spacing:-.05em;line-height:1.05;margin:3% 0 5%}.sns-intro>p:last-child{font-size:2.3cqw;line-height:1.65;margin-top:5%}.sns-banner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;margin:-2% 3% 4%;padding:2.3% 3% 2.3% 7%;border:1.5px solid #064951;border-radius:99px;background:linear-gradient(100deg,#f2fffa,#dff5ee,#fff);font-size:3.65cqw;letter-spacing:-.03em;font-weight:900}.sns-banner span{display:grid;place-items:center;width:7cqw;height:7cqw;flex-shrink:0;background:var(--green);border-radius:50%;color:white;font-size:4cqw}.sns-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6%;padding:0 2.8%}.sns-card{position:relative;aspect-ratio:310/570;overflow:hidden;border-radius:16px;background:#1a2e27}.sns-card>img{height:74%;width:100%;object-fit:cover}.sns-card .pill{font-size:2.1cqw;padding:.45em .7em}.sns-card .card-caption{inset:61% 0 0;padding:4% 7% 7%}.sns-card .card-caption h3{font-size:2.4cqw;line-height:1.5}.sns-card .card-caption time{font-size:2cqw}.play{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:8.5cqw;height:8.5cqw;background:#fff;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:3cqw;padding-left:3px;box-shadow:0 5px 24px #18352b20}.sns-item>.outline-button{margin-top:12%;font-size:2.15cqw;min-height:44px}.entry{position:relative;padding:15% 4.8% 11%;background:linear-gradient(#eff9fcbb,#f5fbf56b),url('./assets/entry-background.webp') center/100% 100%}.entry header{text-align:center}.entry h2{font-family:Arial,sans-serif;font-size:9cqw;line-height:1.05;font-weight:400;letter-spacing:.015em}.entry h2 .accent{font-size:1.12em}.entry header p{font-size:3.5cqw;font-weight:700;margin:4% 0 3%}.entry header i{display:block;margin:auto;width:11%;height:4px;background:var(--green)}.entry-list{display:grid;gap:18px;margin-top:9%}.entry-card{display:flex;align-items:center;gap:3%;padding:3.3%;min-height:18cqw;background:#fffffff7;border-radius:18px;box-shadow:0 8px 25px #114b3b06;transition:transform .45s,box-shadow .45s}.entry-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #114b3b18}.entry-icon{display:grid;place-items:center;width:14cqw;height:14cqw;flex-shrink:0;background:#e8f8f4;border-radius:50%;font-size:6cqw;color:var(--green)}.entry-card strong{font-size:2.8cqw;line-height:1.5;display:block}.entry-card:first-child strong{font-size:4.2cqw}.entry-card small{display:block;font-size:2.6cqw;margin-top:2%;line-height:1.6}.arrow{display:grid;place-items:center;background:var(--green);color:#fff;border-radius:50%;width:8cqw;height:8cqw;flex-shrink:0;font-size:4.5cqw;margin-left:auto}footer{display:flex;align-items:center;gap:5%;padding:4% 5%;background:linear-gradient(110deg,#00a78f,#00977f);color:#fff}footer>div{flex:1;text-align:center}.footer-symbol{font-size:6cqw;border-radius:50%;background:white;color:var(--green);width:9cqw;height:9cqw;display:grid;place-items:center}footer nav{display:flex;justify-content:center;gap:4%;font-size:2.4cqw}footer p{font-size:1.9cqw;margin-top:5%;color:#b7e9df}.fixed-cta{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,720px);padding:12px max(16px,3%) calc(12px + env(safe-area-inset-bottom));background:#f6fffbec;backdrop-filter:blur(15px);border-top:1px solid #d3e6dd;box-shadow:0 -7px 30px #103c2910;animation:enter 700ms 350ms backwards}.cta-button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:10px 18px;text-align:center;background:linear-gradient(110deg,#d64b06,#ed7510 60%,#f29a24);border-radius:99px;color:white;font-size:clamp(18px,5vw,26px);font-weight:800;box-shadow:0 5px 14px #db640635;overflow:hidden;transition:transform .45s,box-shadow .45s}.cta-button:before{content:'';position:absolute;inset:-100% auto -100% -35%;width:20%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:rotate(25deg);animation:shine 8s 1s infinite}.cta-arrow{display:grid;place-items:center;background:white;color:#d85b0b;width:34px;height:34px;border-radius:50%;font-size:22px;flex-shrink:0}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #db64064d}.cta-button:active,.outline-button:active,.entry-card:active{transform:scale(.98)}.toast{position:fixed;z-index:30;left:50%;bottom:calc(var(--cta-height) + 12px + env(safe-area-inset-bottom));transform:translate(-50%,10px);opacity:0;pointer-events:none;max-width:90vw;width:max-content;background:#103b32;color:white;padding:12px 18px;border-radius:8px;font-size:14px;transition:.3s}.toast.visible{opacity:1;transform:translate(-50%,0)}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(22px) scale(.987)}.motion-ready .reveal{transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0ms)}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes heroZoom{from{transform:scale(1.035);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes shine{0%,70%,100%{left:-35%}90%{left:135%}}@media(max-width:430px){.story-copy>p{font-size:13px}.wide-break{display:none}.news-list{gap:12px}.news-card h3{font-size:14px}.news-meta{font-size:12px}.news-meta span{font-size:11px}.news-card{padding-bottom:42px;min-height:130px}.news-card>.round-link{bottom:12px}.entry-list{gap:12px}.entry-card{border-radius:12px}.entry-card strong{font-size:11px}.entry-card small{font-size:11px}.entry-card:first-child strong{font-size:16px}.sns-intro>p:last-child{font-size:9px}.sns-grid{gap:2%}.sns-card .card-caption h3{font-size:10px}.sns-item>.outline-button{font-size:9px;gap:2px;padding:.5em .25em}.card-caption h3{font-size:13px}.card-caption time{font-size:10px}.pill{font-size:11px}.sns-card .pill{font-size:8px}.sns-card .card-caption time{font-size:9px}.mag-card{border-radius:14px}.magazine-heading h2{font-size:6cqw}.entry-icon{width:11cqw;height:11cqw}.footer-symbol{font-size:22px}footer p{font-size:9px}footer nav{font-size:10px}.business .outline-button{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}.underline:after{transform:rotate(-4deg) scaleX(1)}}


/* 背景のつなぎ目を抑え、元の緑と空の奥行きを維持する。 */
.hero-sky{background:linear-gradient(90deg,#f5fbfd 10%,#f5fbfde6 52%,#f5fbfd33 86%),url('./assets/leaves.webp') center/cover}
.entry{background:linear-gradient(#eff9fca6,#f5fbf57a),url('./assets/entry-background.webp') center/cover}

/* 添付イメージの2行コピー → FVの3行コピーへ、同じ文字を移動。 */
.intro-stage{display:none}
.intro-pending .intro-stage{display:block;position:fixed;inset:0;z-index:50;pointer-events:none}
.intro-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 45% 40%,#f9fcfd,#f4fafc);opacity:1;transition:opacity 800ms cubic-bezier(.65,0,.2,1)}
.intro-moving .intro-backdrop{opacity:0}
.intro-pending,.intro-pending body{overflow:hidden}
.intro-pending .hero-title{visibility:hidden}
.intro-pending .fixed-cta{visibility:hidden;animation:none}
.intro-enabled .hero-title span{animation:none}
.intro-pending:not(.intro-moving) .hero-photo,.intro-pending:not(.intro-moving) .brand{animation-play-state:paused}
.intro-copy>span{will-change:transform;backface-visibility:hidden}
@media(prefers-reduced-motion:reduce){.intro-stage{display:none!important}.intro-pending .hero-title,.intro-pending .fixed-cta{visibility:visible}.intro-pending,.intro-pending body{overflow:visible}}

/* 原寸比を保つ写真帯。2組を等幅にし、継ぎ目なく右から左へ流す。 */
.photo-ribbon{position:relative;padding:16px 0;background:var(--paper);--ribbon-height:clamp(160px,28cqw,220px);--ribbon-gap:12px}
.photo-ribbon-window{overflow:hidden}
.photo-ribbon-track{display:flex;width:max-content;animation:photoRibbon 75s linear infinite;will-change:transform}
.photo-ribbon-group{display:flex;flex-shrink:0;align-items:center;gap:var(--ribbon-gap);padding-right:var(--ribbon-gap)}
.photo-ribbon-group img{display:block;height:var(--ribbon-height);width:auto;max-width:none;flex-shrink:0;border-radius:8px}
.photo-ribbon-toggle{position:absolute;right:12px;bottom:23px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffffb0;border-radius:50%;background:#123e36d9;color:white;cursor:pointer;box-shadow:0 2px 9px #0002;font-size:17px;z-index:1}
.photo-ribbon-toggle:focus-visible{outline:3px solid #e9bc50;outline-offset:3px}
.photo-ribbon[data-paused="true"] .photo-ribbon-track,.photo-ribbon[data-visible="false"] .photo-ribbon-track{animation-play-state:paused}

@keyframes photoRibbon{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.photo-ribbon-track{animation:none;transform:none;will-change:auto}.photo-ribbon-group[aria-hidden="true"],.photo-ribbon-toggle{display:none}.photo-ribbon-window{overflow-x:auto;scrollbar-width:thin}.photo-ribbon-group{padding:0 12px}}

/* Counter-moving, translucent text directly below the photo ribbon. */
.ribbon-telop{overflow:hidden;padding-top:15px}
.ribbon-telop-track{display:flex;width:max-content;animation:ribbonTelop 38s linear infinite;will-change:transform;color:rgb(18 62 54 / 48%);font-size:clamp(26px,6cqw,44px);font-weight:800;line-height:1.5;letter-spacing:.07em}
.ribbon-telop-track span{display:block;flex-shrink:0;white-space:nowrap;padding-right:2em}
@keyframes ribbonTelop{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.photo-ribbon-toggle{bottom:calc(23px + 15px + clamp(26px,6cqw,44px)*1.5)}
.photo-ribbon[data-paused="true"] .ribbon-telop-track,.photo-ribbon[data-visible="false"] .ribbon-telop-track{animation-play-state:paused}

@media(prefers-reduced-motion:reduce){.ribbon-telop-track{animation:none;transform:none;width:auto;will-change:auto;font-size:clamp(15px,3.8cqw,27px);text-align:center}.ribbon-telop-track span{white-space:normal;padding:0 12px;flex:1}.ribbon-telop-track span+span{display:none}}

/* Keep the mixed Japanese/Latin heading on a stable baseline. */
.magazine-heading h2{display:flex;justify-content:center;align-items:baseline;gap:.12em;white-space:nowrap;line-height:1.35}
.magazine-heading h2 .underline{font-size:8cqw;font-family:Arial,sans-serif}
.magazine-heading h2 .magazine-heading-ja{font:inherit;font-size:5.7cqw;letter-spacing:-.04em}
.magazine-rail{gap:16px;padding:0 calc((100% - 76%)/2);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;align-items:stretch}
.magazine-rail::-webkit-scrollbar{display:none}
.magazine-rail .mag-card{flex:0 0 auto;width:76cqw;height:79cqw;max-height:570px;scroll-snap-align:center;scroll-snap-stop:always;opacity:1;transform:none;transition:none;border-radius:18px}

.magazine-controls{display:flex;justify-content:center;align-items:center;gap:22px;margin:18px 0 0}
.magazine-controls button{width:44px;height:44px;border:1px solid #b7ccc5;background:transparent;border-radius:50%;color:var(--ink);font-size:22px;cursor:pointer}
.magazine-position{font-size:13px;color:#5f7870}

.magazine-heading .head-left{width:22%}.magazine-heading .head-right{width:20%}

.magazine-heading .head-left{clip-path:inset(0 22% 0 0)}.magazine-heading .head-right{clip-path:inset(0 0 0 22%)}

/* Independent LCD tiles assemble into one bowed video screen. */
.cinema{position:relative;margin-top:38px;padding:16px 0 24px;background:radial-gradient(ellipse at 50% 55%,#c6e5df88,transparent 67%);overflow:hidden}
.cinema-stage{position:relative;width:88%;margin:0 auto;aspect-ratio:1.45;perspective:1000px;isolation:isolate}
.cinema-shadow{position:absolute;left:8%;right:8%;bottom:9%;height:11%;background:#204d4755;filter:blur(16px);border-radius:50%;opacity:0;transition:opacity 1s}
.cinema-assembly,.cinema-screen{position:absolute;left:0;top:13%;width:100%;aspect-ratio:16/9;transform-style:preserve-3d;transform:rotateX(5deg) rotateY(-10deg);}
.cinema-tile{position:absolute;width:25.15%;height:50.2%;left:calc(var(--col)*25%);top:calc(var(--row)*50%);background-image:url('https://i.ytimg.com/vi/LJYejBIypyY/hqdefault.jpg');background-size:400% 266.6667%;background-position:calc(var(--col)*100%/3) calc(25% + var(--row)*50%);border:1px solid #d4fcf6a0;box-shadow:0 0 0 2px #29564f,0 8px 15px #23483a33;opacity:0;transform:translate3d(var(--fly-x),var(--fly-y),-200px) rotateY(var(--spin)) rotateZ(var(--tilt));transition:transform 1.7s cubic-bezier(.16,1,.3,1),opacity .7s;transition-delay:var(--delay);backface-visibility:hidden}
.cinema.is-building .cinema-tile{opacity:1;transform:translate3d(0,0,var(--depth)) rotateY(var(--curve));}
.cinema.is-building .cinema-shadow{opacity:1}
.cinema-screen{overflow:hidden;border-radius:50% / 7%;background:#071917;box-shadow:0 3px 0 #527e75,0 7px 0 #25473f,0 15px 28px #12372b22;opacity:0;visibility:hidden;transition:opacity .65s;}
.cinema-player,.cinema-player iframe{width:100%;height:100%;border:0;position:absolute;inset:0}
.cinema-glass{position:absolute;inset:0;pointer-events:none;box-shadow:inset 15px 0 20px #001e231f,inset -15px 0 20px #001e2326,inset 0 2px 1px #e9ffffb0;border-radius:inherit}
.cinema.is-assembled .cinema-screen{visibility:visible;opacity:1}
.cinema.is-assembled .cinema-assembly{opacity:0;transition:opacity .7s .25s;pointer-events:none}
.cinema-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 22px;padding:0 16px;font-size:clamp(11px,2.4cqw,15px);color:#476b62}
.cinema-actions button{font:inherit;color:inherit;border:1px solid #b8d0c8;border-radius:24px;padding:10px 15px;background:#ffffff8a;cursor:pointer;min-height:44px}
.cinema-actions a{padding:10px 0;text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.cinema-tile{transition:none}.cinema-screen{transform:none}.cinema-assembly{display:none}}

.instagram-feed{padding:20px 5% 32px;max-width:590px;margin:auto}
.instagram-account{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;color:var(--deep);font-size:clamp(13px,3cqw,18px)}
.instagram-account>span{font-weight:700}.instagram-account a{font-weight:600}
.instagram-feed .instagram-media{box-sizing:border-box!important;min-width:0!important;width:100%!important;max-width:540px!important;margin:0 auto!important;border-radius:14px!important;background:white;padding:12px}
.instagram-more{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;margin-top:20px;border:1px solid #8bb3a7;border-radius:28px;font-size:clamp(13px,3cqw,17px);color:var(--deep)}

.cinema-player iframe{pointer-events:none}.cinema-video-link{position:absolute;inset:0;z-index:3;display:block;cursor:pointer;border-radius:inherit}.cinema-video-link:focus-visible{outline:3px solid #e9bc50;outline-offset:-5px}

/* Oblique screen with a visible lower/side bezel and a floating shadow. */
.cinema-stage{width:86%;perspective:850px;aspect-ratio:1.35}
.cinema-assembly,.cinema-screen{transform:rotateX(9deg) rotateY(-24deg) rotateZ(-4deg);aspect-ratio:16/10}
.cinema-screen{box-shadow:1px 2px 0 #89b5aa,3px 4px 0 #426e64,6px 7px 0 #254d43,9px 10px 0 #173e35,16px 22px 35px #12372b44}
.cinema-shadow{left:10%;right:0;bottom:8%;height:13%;transform:rotate(-4deg);filter:blur(18px)}
@media(prefers-reduced-motion:reduce){.cinema-screen{transform:rotateY(-16deg) rotateZ(-3deg)}}

/* The story-to-device transition follows scroll position in both directions. */
.lp{overflow:clip}
.story-portal{position:relative;height:220svh;--portal-shift:0%;--portal-text-opacity:1;--portal-description-opacity:1;--portal-device-opacity:0;--portal-depth:-1000px;--portal-tilt:12deg;--portal-scale:.5}
.story-portal-stage{position:sticky;top:0;height:calc(100svh - var(--cta-height));min-height:420px;perspective:1100px;overflow:hidden;isolation:isolate}
.portal-title{position:absolute;inset:0;z-index:2;pointer-events:none}
.portal-half{position:absolute;left:0;top:50%;width:100%;margin:0;text-align:center;font-size:8.8cqw;line-height:1.3;opacity:var(--portal-text-opacity);will-change:transform,opacity}
.portal-left{clip-path:inset(0 50% 0 0);transform:translate(calc(-1 * var(--portal-shift)),-65%)}
.portal-right{clip-path:inset(0 0 0 50%);transform:translate(var(--portal-shift),-65%)}
.portal-description{position:absolute;top:calc(50% + 15cqw);left:0;width:100%;padding:0 2%;text-align:center;z-index:3;opacity:var(--portal-description-opacity)}
.portal-description .text-link{margin-top:14px}
.portal-device{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:visible;opacity:var(--portal-device-opacity);transform:translateZ(var(--portal-depth)) rotateX(var(--portal-tilt)) scale(var(--portal-scale));will-change:transform,opacity;z-index:1}
.portal-device .devices{width:100%;height:auto;max-height:82%;object-fit:contain;filter:drop-shadow(0 24px 20px #163e3520)}
@media(prefers-reduced-motion:reduce){.story-portal{height:auto}.story-portal-stage{position:relative;height:auto;min-height:0;overflow:visible;padding-top:25px}.portal-title{position:relative}.portal-half{position:relative;top:auto;transform:none;clip-path:none;opacity:1}.portal-right{display:none}.portal-description{position:relative;top:auto;opacity:1;padding:20px 2%}.portal-device{position:relative;inset:auto;transform:none;opacity:1;margin-top:30px}}

.portal-half .underline:after{transform:rotate(-4deg) scaleX(1);transition:none}

/* Keep the same heading elements throughout the intro and final hero. */
html{scrollbar-gutter:stable}
.intro-pending .hero{z-index:51;overflow:visible;background:transparent}
.intro-pending .hero-title{visibility:hidden}
.intro-pending.intro-text-ready .hero-title{visibility:visible}
.intro-pending .hero-title span{transform-origin:0 0;will-change:transform}
.intro-pending .hero-sky,.intro-pending .hero-photo,.intro-pending .brand{opacity:0;transition:opacity 800ms cubic-bezier(.65,0,.2,1);animation:none}
.intro-moving .hero-sky,.intro-moving .hero-photo,.intro-moving .brand{opacity:1}
.intro-enabled .hero-photo,.intro-enabled .brand{animation:none}
.intro-pending .lp{position:relative;z-index:51;background:transparent;box-shadow:none}
.intro-pending:not(.intro-moving) .lp > :not(.hero){visibility:hidden}

/* Member portraits travel diagonally while the lettering orbits them. */
.members{position:relative;overflow:hidden;padding:48px 0 35px;background:linear-gradient(145deg,#e2f8f1,#ccefe5 52%,#a5dfd1);isolation:isolate}
.members:before{content:'';position:absolute;width:150%;height:28%;left:-25%;top:47%;background:#009d8012;transform:rotate(-22deg);z-index:-1}
.members-heading{text-align:center;color:#12483d}.members-heading p{font-size:12px;letter-spacing:.25em;margin-bottom:12px;font-weight:700}.members-heading h2{font-size:clamp(26px,6cqw,43px);line-height:1.4;letter-spacing:.03em}
.members-stage{position:relative;width:92%;max-width:540px;aspect-ratio:400/480;margin:20px auto 10px}
.members-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:#157a6366;font:700 28px Arial,sans-serif;letter-spacing:3px;pointer-events:none}
.member-portraits{position:absolute;inset:14% 20%}
.member-portrait{position:absolute;inset:0;margin:0;overflow:hidden;border-radius:50% / 35%;box-shadow:0 15px 35px #0b5c4a26;opacity:0;transform:translate(130%,-100%) rotate(18deg) scale(.75);will-change:transform,opacity}
.member-portrait.is-current{opacity:1;transform:translate(0,0) rotate(0) scale(1)}
.member-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.member-badge{position:absolute;right:10%;bottom:12%;min-width:40%;padding:12px 18px;background:#fff;color:#115d4c;box-shadow:0 8px 24px #13583c1a;transform:rotate(8deg);border-top:5px solid #049f81}
.member-badge span{display:block;font:700 10px Arial,sans-serif;letter-spacing:.14em}.member-badge strong{display:block;font:700 clamp(24px,7cqw,42px) Arial,sans-serif;margin-top:5px}
.members-controls{display:flex;align-items:center;justify-content:center;gap:18px;color:#165b4a}.members-controls button{width:44px;height:44px;border-radius:50%;border:1px solid #297d6650;background:#ffffff75;color:inherit;font-size:20px;cursor:pointer}.members-count{font-size:13px;letter-spacing:.15em}
@media(prefers-reduced-motion:reduce){.member-portrait{will-change:auto}.members-orbit animate{display:none}}

/* Concave silhouette: both end edges are taller/nearer, the middle recedes. */
.cinema-stage{perspective:1100px}
.cinema-assembly,.cinema-screen{transform:rotateX(5deg) rotateY(-13deg) rotateZ(-3deg);min-height:200px}
.cinema-screen{overflow:visible;background:none;border-radius:0;box-shadow:none;filter:drop-shadow(10px 22px 20px #163f3945)}
.cinema-screen:before{content:'';position:absolute;inset:-3px;background:linear-gradient(90deg,#477d71,#0e2f29 48%,#77a99b);clip-path:url(#concave-screen);transform:translate(5px,7px)}
.cinema-player,.cinema-glass,.cinema-video-link{clip-path:url(#concave-screen);border-radius:0}
.cinema-player{background:#061713}
.cinema-glass{background:linear-gradient(90deg,#ffffff12,transparent 15%,#082b2814 48%,transparent 85%,#ffffff20);box-shadow:none}
@media(prefers-reduced-motion:reduce){.cinema-screen{transform:rotateY(-13deg) rotateZ(-3deg)}}

/* Begin directly below the portrait; lift the copy as it enters the viewport. */
@media(prefers-reduced-motion:no-preference){
.portal-half{top:var(--portal-heading-top,24px)}
.portal-left{transform:translate(calc(-1 * var(--portal-shift)),var(--portal-rise,36px))}
.portal-right{transform:translate(var(--portal-shift),var(--portal-rise,36px))}
.portal-description{top:calc(var(--portal-heading-top,24px) + var(--portal-heading-height,140px) + 20px);transform:translateY(var(--portal-rise,36px))}
.portal-description>p{margin-top:0}
}

/* Compact the story transition without removing its scroll-driven split. */
.portal-description{display:none}
@media(prefers-reduced-motion:no-preference){
.story-portal{height:calc(clamp(280px,82cqw,560px) + 55svh)}
.story-portal-stage{height:clamp(280px,82cqw,560px);min-height:0}
}

/* Desktop composition. Mobile styles above remain unchanged. */
@media(min-width:1024px){
 .lp{max-width:none;box-shadow:none}
 .hero{aspect-ratio:auto;height:100svh;min-height:680px;max-height:1100px;background:#eff9fc}
 .hero-sky{inset:0;background:linear-gradient(90deg,#f5fbfd 0%,#f5fbfd 38%,#f5fbfd00 70%),url('./assets/leaves.webp') left center/50% 100% no-repeat}
 .hero-photo{left:auto;right:0;width:55%;height:100%;object-position:50% 35%}
 .brand{left:6%;top:40px;width:210px}
 .hero-title{top:35%;left:6%;z-index:1;font-size:clamp(46px,4.5vw,86px);line-height:1.45;letter-spacing:-.065em;text-shadow:0 2px 24px #f5fbfd80}
 .photo-ribbon{--ribbon-height:clamp(240px,23vw,420px);padding-top:24px}
 .ribbon-telop-track{font-size:clamp(48px,5vw,90px)}
 .ribbon-telop-track span{min-width:100vw}
 .photo-ribbon-toggle{bottom:calc(23px + 15px + clamp(48px,5vw,90px)*1.5)}
 .story{max-width:1200px;margin:auto;padding:64px 60px 0}
 .eyebrow{font-size:16px;gap:24px;margin-bottom:28px}.eyebrow i{width:60px}
 .story-index,.pager{font-size:15px}.story-index{margin:0 0 24px}
 .story>.image-frame{max-width:850px;margin:auto}
 .story-photo{max-height:640px;object-fit:cover;object-position:center 40%}
 .portal-half,.big-copy{font-size:clamp(48px,4.4vw,72px)}
 .portal-device .devices{max-width:1000px}
 .members{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:70px max(6vw,calc((100vw - 1200px)/2));column-gap:50px}
 .members-heading{text-align:left}.members-heading p{font-size:16px;letter-spacing:.3em}.members-heading h2{font-size:clamp(34px,3.4vw,54px)}
 .members-stage{width:100%;max-width:500px;margin:0 auto;grid-column:2;grid-row:1}
 .members-controls{grid-column:2;margin-top:12px}.member-badge strong{font-size:42px}
 .magazine{padding:70px 0 50px}
 .magazine-heading{height:270px;max-width:1000px;margin:auto;padding-top:25px}
 .outline-label{font-size:38px}.magazine-heading h2 .underline{font-size:64px}.magazine-heading h2 .magazine-heading-ja{font-size:44px}
 .magazine-rail{--desktop-card:clamp(340px,29vw,440px);gap:28px;padding:0 calc((100% - var(--desktop-card))/2)}
 .magazine-rail .mag-card{width:var(--desktop-card);height:490px;max-height:none;border-radius:22px}
 .pill{font-size:15px}.card-caption time{font-size:14px}.card-caption h3{font-size:21px}
 .magazine-controls{margin-top:28px}
 .cinema{margin-top:60px;padding-bottom:30px}.cinema-stage{max-width:900px;width:75%;aspect-ratio:1.5}.cinema-actions{font-size:16px}
 .sns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:60px;align-items:center;padding:80px max(6vw,calc((100vw - 1200px)/2))}
 .sns-heading{height:400px;grid-column:1;grid-row:1;align-self:end}
 .sns h2{font-size:clamp(42px,4.4vw,64px)}.sns-intro>p:last-child{font-size:14px}.sns-intro{padding-top:30px}
 .sns-banner{grid-column:1;grid-row:2;align-self:start;font-size:clamp(16px,1.6vw,23px);padding:18px 22px;margin:0}
 .sns-banner span{width:42px;height:42px;font-size:26px}
 .instagram-feed{grid-column:2;grid-row:1 / 3;padding:0;width:100%;max-width:500px}
 .topics-content{max-width:1320px;margin:auto;padding:90px 60px}
 .topics header p{font-size:18px}.topics h2{font-size:90px;margin:8px 0 42px}
 .news-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .news-card{min-height:280px;padding:28px 24px 80px}.news-meta{font-size:13px;gap:10px;flex-wrap:wrap}.news-meta span{font-size:12px}.news-card h3{font-size:19px;margin-top:22px}
 .round-link{width:44px;height:44px;font-size:24px}.news-card>.round-link{right:24px;bottom:22px}
 .topics-more{margin-top:32px;gap:24px}.topics-more b{font-size:30px}.topics-more small{font-size:14px}.topics-more .round-link{width:56px;height:56px}
 .entry{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px;padding:100px max(6vw,calc((100vw - 1200px)/2));background-size:cover}
 .entry h2{font-size:clamp(42px,4.4vw,70px)}.entry header p{font-size:23px;margin:24px 0}.entry header i{width:65px}.entry-list{margin:0;gap:18px}
 .entry-card{min-height:130px;padding:20px;gap:20px}.entry-icon{width:78px;height:78px;font-size:34px}.entry-card strong{font-size:18px}.entry-card:first-child strong{font-size:24px}.entry-card small{font-size:14px}.arrow{width:44px;height:44px;font-size:25px}
 footer{padding:35px max(6vw,calc((100vw - 1200px)/2))}.footer-symbol{width:60px;height:60px;font-size:40px}footer nav{font-size:14px}footer p{font-size:12px;margin-top:20px}
 .fixed-cta{left:auto;right:28px;bottom:24px;transform:none;width:390px;padding:8px;background:#f6fffbe8;border:1px solid #d3e6dd;border-radius:99px;box-shadow:0 10px 35px #103c2925;animation:none}
 .cta-button{font-size:22px;min-height:60px}
}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
 .story-portal{height:calc(min(72svh,680px) + 60svh)}
 .story-portal-stage{height:min(72svh,680px);min-height:480px;perspective:1400px}
}

/* Full-height vertical strips gather before the player is created. */
.underline:after{display:none}
.cinema-tile{width:16.8%;height:100%;left:calc(var(--col)*100%/6);top:0;background-size:600% 133.3333%;background-position:calc(var(--col)*100%/5) center;transform:translate3d(var(--fly-x),var(--fly-y),-140px) rotateY(var(--spin)) rotateZ(var(--tilt));transition:transform 1.7s cubic-bezier(.65,0,.2,1),opacity .4s;transition-delay:var(--delay)}
.cinema.is-scattered .cinema-tile{opacity:1}
.cinema.is-building .cinema-tile{transform:translate3d(0,0,0) rotateY(0) rotateZ(0)}
.member-portraits{cursor:pointer;touch-action:manipulation}
.member-portraits:focus-visible{outline:3px solid #009f86;outline-offset:8px;border-radius:45%}

/* Two intro words tumble as typographic cube faces, then return to the real text. */
.intro-cube-word{font:inherit;font-style:normal;color:transparent}
.intro-word-roll{position:fixed;z-index:60;pointer-events:none;perspective:500px;color:var(--ink);font-family:inherit;font-weight:900;letter-spacing:-.065em;line-height:1;--face-depth:.5em}
.intro-word-rotor{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--face-depth)));animation:introWordRoll 1250ms cubic-bezier(.45,0,.2,1) var(--roll-delay) both}
.intro-word-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:inherit;font-style:normal;white-space:nowrap;backface-visibility:hidden;background:#f5fbfd;box-shadow:inset 0 0 0 1px #173b4910}
.intro-word-face.front{transform:translateZ(var(--face-depth))}.intro-word-face.top{transform:rotateX(90deg) translateZ(var(--face-depth));background:#e6f1f2}.intro-word-face.back{transform:rotateX(180deg) translateZ(var(--face-depth))}.intro-word-face.bottom{transform:rotateX(-90deg) translateZ(var(--face-depth));background:#dcebec}
@keyframes introWordRoll{0%{transform:translateZ(calc(-1 * var(--face-depth))) rotateX(0) rotateZ(0)}22%{transform:translate3d(0,-.13em,-.5em) rotateX(100deg) rotateZ(-7deg)}48%{transform:translate3d(.06em,.05em,-.5em) rotateX(190deg) rotateZ(5deg)}74%{transform:translate3d(-.04em,-.1em,-.5em) rotateX(285deg) rotateZ(-4deg)}100%{transform:translateZ(calc(-1 * var(--face-depth))) rotateX(360deg) rotateZ(0)}}
@media(prefers-reduced-motion:reduce){.intro-word-roll{display:none}.intro-cube-word{color:inherit}}

/* Results supplied in the reference: readable cards with on-view counters. */
.results{margin-top:56px;padding:64px 24px;background:radial-gradient(ellipse at 10% 5%,#143e2c,transparent 60%),#0b1712;color:#f4f8f1}
.results-inner{max-width:1200px;margin:auto}.results-heading{margin-bottom:32px}.results-heading>p:first-child{font:700 12px Arial,sans-serif;letter-spacing:.18em;color:#bdff45;margin-bottom:18px}.results-heading h2{font-size:clamp(28px,6.5cqw,52px);line-height:1.3;letter-spacing:-.04em}.results-heading h2 em{font-style:normal;color:#bdff45}.results-heading>p:last-child{font-size:14px;line-height:1.7;margin-top:18px;color:#c1cec4}
.results-grid{display:grid;gap:18px}.result-card{position:relative;overflow:hidden;border:1px solid #355044;border-radius:20px;padding:28px 22px;background:linear-gradient(135deg,#153727,#0b130f 85%)}.result-card:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#bdff45,#147c54)}
.result-card header{margin-bottom:30px}.result-card h3{font-size:20px;line-height:1.5}.result-card h3 small{font-size:11px;color:#bdff45;margin-right:12px;white-space:nowrap}.result-card header>p:not(.result-kicker){font-size:11px;color:#9cac9f;margin-top:12px}
.result-label{font-size:12px;font-weight:700;color:#aebdb2;line-height:1.6}.result-number{display:flex;align-items:baseline;gap:3px;white-space:nowrap;line-height:1.1;margin-top:6px}.result-number b{font-family:Arial,sans-serif;font-weight:800;font-size:42px;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.result-number>span{color:#bdff45;font-size:20px;font-weight:800}.result-sales b{font-size:clamp(52px,12cqw,100px)}.result-sales>span{font-size:24px}
.result-feature-side{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #355044;margin-top:24px;padding-top:24px}.result-before{display:flex;justify-content:space-between;align-items:center;margin:24px 0 18px}.result-before .result-number{color:#86968b}.result-before .result-number>span{color:inherit}.result-before>span{font-size:44px;color:#bdff45}.result-improved{color:#bdff45}.result-improved b{font-size:clamp(64px,14cqw,110px)}.result-improved>span{font-size:42px}
.result-kicker{font-size:12px;font-weight:700;color:#bdff45;margin-bottom:26px}.result-member h3{font-size:20px}.result-months,.result-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result-months>div{padding:14px 10px;border:1px solid #355044;border-radius:12px}.result-months .result-number b{font-size:clamp(26px,7cqw,48px)}.result-summary{border-top:1px solid #355044;padding-top:22px;margin-top:22px}.result-summary .result-number b{font-size:clamp(28px,7cqw,48px)}.result-summary .result-number>span{font-size:16px}.result-lime{color:#bdff45}.result-note{font-size:11px;color:#b4c1b7;margin-top:10px}
@media(min-width:1024px){.results{padding:90px 60px;margin-top:70px}.results-heading{margin-bottom:48px}.results-heading h2{font-size:72px}.results-heading>p:last-child{font-size:22px}.results-grid{grid-template-columns:1fr 1fr;gap:24px}.result-card{padding:40px;border-radius:26px}.result-feature{grid-column:1 / -1}.result-feature header{display:flex;align-items:center;justify-content:space-between}.result-card h3{font-size:25px}.result-feature-body{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:center}.result-feature-side{grid-template-columns:1fr;border-top:0;border-left:1px solid #355044;padding:0 0 0 35px;margin:0;gap:22px}.result-sales b{font-size:130px}.result-sales>span{font-size:36px}.result-feature-side .result-number b{font-size:64px}.result-label{font-size:14px}.result-card header{margin-bottom:40px}.result-improved b{font-size:110px}.result-member h3{font-size:24px}}
@media(max-width:360px){.results{padding:48px 16px}.result-card{padding:24px 16px}.result-number b{font-size:36px}.result-summary{gap:8px}.result-summary .result-label{font-size:10px}}

/* A light editorial results panel, consistent with the recruitment LP. */
.results{background:linear-gradient(135deg,#edf9f3,#f8fcfb 70%);color:var(--ink);padding:48px 24px}
.results-heading>p:first-child{color:#008771;letter-spacing:.22em}.results-heading h2{font-size:clamp(30px,6.5cqw,48px);line-height:1.45}.results-heading h2 em{color:#008771}.results-heading>p:last-child{color:#5e7871;font-size:13px}
.results-grid{display:block}.result-card{background:#fff;border:0;border-radius:6px 32px 6px 32px;padding:28px 24px;box-shadow:0 14px 40px #1b65500b;overflow:hidden}.result-card:before{display:none}.result-feature header{padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid #e2eee8}.result-card h3{font-size:22px;letter-spacing:.03em}.result-card header>p:not(.result-kicker){color:#73867e;font-size:11px}.result-label{color:#5b776c;letter-spacing:.06em}.result-number{color:#164c40}.result-number>span{color:#008f77}.result-sales b{font-size:clamp(56px,13cqw,96px);font-weight:700}.result-sales>span{font-size:22px}.result-feature-side{border:0;padding:20px 18px;margin-top:24px;background:#edf8f2;border-radius:16px;gap:16px}.result-feature-side .result-number b{font-size:38px}.result-feature-side .result-number>span{font-size:18px}
@media(min-width:1024px){.results{padding:80px 60px}.results-inner{display:grid;grid-template-columns:.75fr 1.5fr;gap:55px;align-items:center;max-width:1200px}.results-heading{margin:0}.results-heading h2{font-size:44px}.results-heading>p:last-child{font-size:15px;line-height:1.9}.result-card{padding:40px}.result-feature header{display:block}.result-feature-body{display:block}.result-sales b{font-size:100px}.result-sales>span{font-size:28px}.result-feature-side{display:grid;grid-template-columns:1fr 1fr;border:0;margin-top:28px;padding:24px 28px}.result-feature-side .result-number b{font-size:48px}}

/* Match the recruitment CTA with warm orange numeric accents. */
.results .result-number b{background:linear-gradient(115deg,#d84b08 5%,#ef7813 55%,#f3a028 100%);background-clip:text;-webkit-background-clip:text;color:#df5b0b;-webkit-text-fill-color:transparent}
.results .result-number>span{color:#df6a12}

/* A mint light travels through each hero line after the intro has landed. */
.intro-enabled:not(.intro-pending) .hero-title>span{
 width:max-content;max-width:100%;
 color:#086a52;background-image:linear-gradient(110deg,#075540 0%,#087158 32%,#13aa7d 40%,#a4f3bc 47%,#e4ffe6 50%,#53dca1 54%,#009b72 61%,#075540 70%,#075540 100%);
 background-size:320% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
 text-shadow:none;animation:heroGreenLight 6500ms cubic-bezier(.4,0,.2,1) infinite;animation-delay:0ms;
}
.intro-enabled:not(.intro-pending) .hero-title>span:nth-child(2){animation-delay:750ms}
.intro-enabled:not(.intro-pending) .hero-title>span:nth-child(3){animation-delay:1500ms}
@keyframes heroGreenLight{0%{background-position:100% 50%;filter:drop-shadow(0 0 0 #55d69a00)}32%{background-position:0% 50%;filter:drop-shadow(0 0 5px #55d69a25)}38%,100%{background-position:0% 50%;filter:drop-shadow(0 0 0 #55d69a00)}}
@media(prefers-reduced-motion:reduce){.intro-enabled:not(.intro-pending) .hero-title>span{animation:none;background-size:100% 100%;background-image:linear-gradient(110deg,#075540,#16a57d,#087158);filter:none}}
/* Keep line boxes identical before and after the intro handoff. */
.hero-title>span{width:max-content;max-width:100%}

/* Preserve the supplied artwork and its original white/mint lettering. */
.hero-artwork{aspect-ratio:941/1672;height:auto;min-height:0;max-height:none;background:#143b2d}
.hero-artwork-frame{position:relative;width:100%;height:100%;isolation:isolate}.hero-artwork-image{width:100%;height:100%;object-fit:contain}
.hero-artwork .artwork-accessible{position:absolute!important;top:0!important;left:0!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;font-size:1px!important}
.hero-artwork-backdrop{display:none}.hero-artwork-light{position:absolute;inset:0;background:url('./assets/hero-natural-face.png') center/100% 100% no-repeat;filter:brightness(1.65);pointer-events:none;mask-image:linear-gradient(110deg,transparent 40%,#000 49%,transparent 58%);mask-size:350% 100%;mask-position:100% 50%;animation:artworkLight 7s ease-in-out infinite}
.light-one{clip-path:polygon(3% 50%,37% 47.8%,43% 55%,3% 58%)}
.light-two{clip-path:polygon(4% 58.5%,77% 53.5%,80% 62.5%,4% 67%);animation-delay:.75s}
.light-three{clip-path:polygon(3% 67%,80% 62%,87% 70.5%,3% 77%);animation-delay:1.5s}
@keyframes artworkLight{0%{mask-position:100% 50%}35%,100%{mask-position:0% 50%}}
@media(min-width:1024px){.hero-artwork{height:100svh;min-height:680px;aspect-ratio:auto;display:flex;justify-content:center;overflow:hidden}.hero-artwork-frame{width:auto;aspect-ratio:941/1672;flex:none}.hero-artwork-backdrop{display:block;position:absolute;inset:-30px;background:linear-gradient(90deg,#0b342db3,#e4eee033,#0b342d99),url('./assets/hero-natural-face.png') center 35%/cover;filter:blur(22px)}.hero-artwork-image{position:relative;box-shadow:0 0 70px #08281f44}}
@media(prefers-reduced-motion:reduce){.hero-artwork-light{display:none}}

/* Compact, early-starting story handoff: no empty waiting viewport. */
@media(prefers-reduced-motion:no-preference){
 .story-portal{height:calc(clamp(260px,70cqw,480px) + 100px)}
 .story-portal-stage{height:clamp(260px,70cqw,480px);min-height:0}
}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
 .story-portal{height:calc(min(65svh,580px) + 140px)}
 .story-portal-stage{height:min(65svh,580px);min-height:0}
}

.hero-artwork-light{background-image:none;filter:none}

:root{--remix-gradient:linear-gradient(110deg,#73f7b4 0%,#40efd0 52%,#13bec5 100%)}
.accent{background-image:var(--remix-gradient);background-size:100% 100%}
.round-link,.topics-more .round-link,footer{background:var(--remix-gradient);color:#06483e}
.members{background:linear-gradient(145deg,#e4fff1,#c3f8e4 52%,#a6eeeb)}
.results-heading h2 em{background:var(--remix-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.fixed-cta{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}
.fixed-cta .cta-button{pointer-events:auto}
.instagram-phone{position:relative;width:100%;max-width:390px;margin:auto;background:#111b1a;border:6px solid #26332f;border-radius:42px;padding:0 6px 12px;box-shadow:0 22px 45px #0b3f3825;overflow:hidden}
.phone-top{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;color:#fff;font:600 11px Arial,sans-serif}.phone-top i{display:block;width:80px;height:23px;border-radius:30px;background:#050807}.phone-screen{border-radius:5px 5px 25px 25px;overflow:hidden;background:white}.instagram-feed .phone-screen .instagram-media{border-radius:0!important;margin:0!important;padding:0;border:0!important;box-shadow:none!important}.phone-home{width:100px;height:4px;border-radius:10px;background:#d9e4df;margin:12px auto 0}
.meeting-flow{background:linear-gradient(145deg,#f6fcfa,#e9faf4);padding:55px 24px}
.meeting-flow header h2{font-family:inherit;font-size:clamp(26px,6cqw,42px);font-weight:800;line-height:1.6;letter-spacing:0}.meeting-flow header .flow-eyebrow{font:700 12px Arial,sans-serif;letter-spacing:.18em;color:#228d76;margin:0 0 16px}
.meeting-steps{list-style:none;display:grid;gap:18px;margin:30px 0 0;padding:0}.meeting-steps li{display:flex;align-items:center;gap:20px;padding:24px 20px;background:white;border-radius:20px;box-shadow:0 8px 25px #164f3908}.step-number{display:flex;flex-direction:column;align-items:center;flex:none;width:65px;color:#166e5a;font:700 10px Arial,sans-serif;letter-spacing:.08em}.step-number b{font-size:42px;letter-spacing:-.04em;background:var(--remix-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}.meeting-steps h3{font-size:18px;margin:0 0 8px}.meeting-steps p{font-size:12px;line-height:1.8;color:#526e65}
@media(min-width:1024px){.meeting-flow{padding:85px max(6vw,calc((100vw - 1200px)/2));gap:55px}.meeting-steps{margin:0}.meeting-steps li{padding:25px 30px}.meeting-steps h3{font-size:23px}.meeting-steps p{font-size:15px}.instagram-feed{max-width:410px}}

/* Level event screen with a comic audience in the foreground. */
.cinema{background:radial-gradient(ellipse at 50% 25%,#d7fff0 0%,#e9f8f6 45%,#c4e8e0 100%);padding:28px 0 0;isolation:isolate}
.cinema-stage{width:88%;max-width:900px;aspect-ratio:1.43;perspective:1200px;margin-bottom:0}
.cinema-assembly,.cinema-screen{top:7%;aspect-ratio:16/9;min-height:0;transform:none}
.cinema-screen{filter:drop-shadow(0 12px 18px #163f3935)}
.cinema-screen:before{clip-path:none;inset:-5px;background:linear-gradient(#527c71,#163a31);border-radius:6px;transform:translate(0,4px)}
.cinema-player,.cinema-glass,.cinema-video-link{clip-path:none;border-radius:3px}
.cinema-shadow{bottom:9%;transform:none}
.cinema-crowd{position:relative;z-index:4;width:100%;max-width:1120px;height:auto;margin:-9% auto 0;pointer-events:none;filter:drop-shadow(0 -4px 5px #123b3015)}
.cinema-actions{position:relative;z-index:5;background:#e5f5ee;padding:8px 16px;font-size:14px}
@media(min-width:1024px){.cinema{padding-top:45px}.cinema-crowd{margin-top:-90px}.cinema-stage{width:75%}}
@media(prefers-reduced-motion:reduce){.cinema-screen{transform:none}}

/* Distinct results zone and a cohesive mint SNS band. */
.results{background:radial-gradient(ellipse at 0 0,#ffe1ba,transparent 65%),linear-gradient(125deg,#fff6e8,#f9ebd8);border-top:1px solid #eedfc9;border-bottom:1px solid #eedfc9}
.sns{background:linear-gradient(115deg,#ddfff0,#c4f4e6 50%,#b8ece8)}
.sns-heading{background:transparent;isolation:isolate}.sns-left,.sns-right{mix-blend-mode:multiply}
.sns-left{mask-image:linear-gradient(to right,#000 65%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 65%,transparent 100%)}
.sns-right{mask-image:linear-gradient(to left,#000 65%,transparent 100%);-webkit-mask-image:linear-gradient(to left,#000 65%,transparent 100%)}
.sns-banner{background:linear-gradient(110deg,#dcfff2,#b9f2e5,#c9f5ee);margin-top:0}
.meeting-flow header h2 .accent{font-size:inherit}
footer{background:#087a65;color:#fff}footer p{color:#c6e9df}
/* Structural truss, suspended speakers, warm lights and stage platform. */
.cinema{background:radial-gradient(ellipse at 50% 10%,#dbf8ef,#c8e9e2 65%,#b9dad1)}
.cinema-stage{width:94%;max-width:1060px;aspect-ratio:1.32}
.cinema-assembly,.cinema-screen{left:12%;top:15%;width:76%;aspect-ratio:16/9}
.stage-rig{position:absolute;inset:0;pointer-events:none;z-index:0}
.stage-truss{position:absolute;background:repeating-linear-gradient(45deg,transparent 0 11px,#466158 12px 14px,transparent 15px 24px),repeating-linear-gradient(-45deg,transparent 0 11px,#253f37 12px 14px,transparent 15px 24px);border:3px solid #263e36;box-shadow:inset 0 0 0 1px #9eb9ab}
.truss-top{left:6%;right:6%;top:4%;height:6%}.truss-left,.truss-right{top:4%;bottom:14%;width:4%}.truss-left{left:6%}.truss-right{right:6%}
.stage-lamps{position:absolute;left:14%;right:14%;top:5%;display:flex;justify-content:space-between}.stage-lamps i{width:6%;aspect-ratio:1;border:3px solid #21362f;border-radius:50%;background:#fff3b5;box-shadow:0 0 13px #ffe9a9,0 0 30px #fff4be88}
.stage-speaker{position:absolute;top:19%;width:8%;display:grid;gap:2px;background:#17211e;padding:3px;border:1px solid #53645a;border-radius:3px;box-shadow:2px 3px 6px #13332855}.speaker-left{left:1%}.speaker-right{right:1%}.stage-speaker i{display:block;aspect-ratio:1.15;background:radial-gradient(circle,#1b2722 0 25%,#425249 27% 32%,#1b2722 34% 45%,#304239 47%);border:1px solid #0d1712;border-radius:2px}
.stage-deck{position:absolute;left:3%;right:3%;bottom:10%;height:9%;background:linear-gradient(#57756a 0 28%,#1c3e32 30% 70%,#102a21 72%);clip-path:polygon(5% 0,95% 0,100% 40%,100% 100%,0 100%,0 40%);box-shadow:0 10px 20px #203f3055}
.cinema-screen,.cinema-assembly{z-index:1}.cinema-shadow{bottom:8%}.cinema-crowd{margin-top:-13%;max-width:1200px}
@media(min-width:1024px){.cinema-stage{width:86%}.cinema-crowd{margin-top:-150px}.sns-heading{height:420px}}
.sns-left{mask-image:linear-gradient(to right,#000 65%,transparent),linear-gradient(to bottom,transparent,#000 23%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,#000 65%,transparent),linear-gradient(to bottom,transparent,#000 23%);-webkit-mask-composite:source-in}
.sns-right{mask-image:linear-gradient(to left,#000 65%,transparent),linear-gradient(to bottom,transparent,#000 23%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to left,#000 65%,transparent),linear-gradient(to bottom,transparent,#000 23%);-webkit-mask-composite:source-in}

/* Khaki results and an open-air live-viewing stage. */
.results{background:radial-gradient(ellipse at 0 0,#d5dac0,transparent 65%),linear-gradient(125deg,#e8eadb,#c6cdb0);border-color:#b9c2a1}
.cinema{background:#8ccdf4 url('./assets/outdoor-sky.png') center/cover no-repeat;padding-top:40px;padding-bottom:0}
.cinema-stage{width:100%;max-width:1200px;aspect-ratio:1.25}
.cinema-assembly,.cinema-screen{left:10%;top:14%;width:80%}
.truss-top{left:4%;right:4%;top:3%;height:7%}.truss-left{left:4%}.truss-right{right:4%}.truss-left,.truss-right{top:3%;width:4%;bottom:11%}
.stage-speaker{width:8.5%;top:18%}.speaker-left{left:0}.speaker-right{right:0}.stage-deck{left:0;right:0;bottom:8%;height:11%}.stage-lamps{left:12%;right:12%;top:4%}.stage-lamps i{width:7%;box-shadow:0 0 16px #ffef9b,0 0 36px #ffedbbaa}
.cinema-crowd{margin-top:-15%;max-width:1400px}.cinema-actions{background:#d3eee4}
.magazine{padding-bottom:0}.sns{padding-top:24px}.sns-banner{margin-top:20px;margin-bottom:26px}
@property --rainbow-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.sns-banner,.instagram-more{position:relative;isolation:isolate;border:2px solid transparent;background:linear-gradient(110deg,#e9fff5,#d0f5e9) padding-box,conic-gradient(from var(--rainbow-angle),#f57986,#ffb761,#f5e77e,#80e6a6,#72dcec,#8fa6f3,#d697eb,#f57986) border-box;animation:rainbowBorder 6s linear infinite;box-shadow:0 0 10px #a2dfd230}
@keyframes rainbowBorder{to{--rainbow-angle:360deg}}
@media(min-width:1024px){.cinema{padding-top:55px}.cinema-crowd{margin-top:-170px}.sns{padding-top:50px}.sns-banner{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.sns-banner,.instagram-more{animation:none}}
.artwork-intro-overlay{position:fixed;inset:0;z-index:60;pointer-events:none}
.artwork-intro-overlay:before{content:'';position:absolute;inset:0;background:#f5fbfd;opacity:1;transition:opacity 800ms cubic-bezier(.65,0,.2,1)}
.artwork-intro-overlay.is-moving:before{opacity:0}.artwork-intro-line{position:absolute;transform-origin:0 0;max-width:none}
.intro-pending .hero-artwork-light{visibility:hidden}

/* Supplied artwork and consistent social actions */
.results{background:radial-gradient(ellipse at 0 0,#164c3d,transparent 70%),#082e25;color:#f3fff9;border-color:#205344}.results-heading h2,.results-heading>p{color:#f3fff9}.results-heading em{color:#88ebc3}.result-card{color:var(--ink)}
.magazine-heading.supplied-banner,.sns-heading.supplied-banner{position:relative;display:block;height:auto;min-height:0;padding:0;overflow:hidden}.supplied-banner>img{position:relative;inset:auto;width:100%;height:auto;max-width:none;mix-blend-mode:normal}.sns-large-label{position:absolute;top:13%;left:43.5%;width:13%;height:10%;display:grid;place-items:center;font:900 clamp(18px,3.5vw,52px)/1 Arial;letter-spacing:.07em;background:#f7fcfc;color:#20cdb0}.sns-large-label::after{content:'SNS';position:absolute;inset:0;display:grid;place-items:center;background:var(--remix-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}.sns-large-label{font-size:0}.sns-large-label::after{font-size:clamp(18px,3.5vw,52px)}
.social-action.sns-banner,.social-action.instagram-more{display:flex;align-items:center;justify-content:center;text-align:center;gap:12px;padding:18px 56px 18px 18px;font-size:clamp(12px,2.9cqw,19px);font-weight:900;line-height:1.6;color:#164e43;border-radius:18px;min-height:76px;width:calc(100% - 32px);margin:22px 16px;box-sizing:border-box}.social-action.sns-banner span,.social-action.instagram-more span{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:#008f76;color:white;font:500 24px/1 Arial}
.meeting-steps{position:relative;isolation:isolate}.meeting-steps:before,.meeting-steps:after{content:'';position:absolute;z-index:2;left:var(--line-x,52px);top:var(--line-top,50px);height:var(--line-height,70%);width:3px;background:#dcebe4;transform:translateX(-50%);pointer-events:none}.meeting-steps:after{background:var(--remix-gradient);transform:translateX(-50%) scaleY(var(--line-progress,0));transform-origin:top}.meeting-steps li{position:relative}.step-number{position:relative;z-index:3;background:white;padding:8px 0}
.intro-reference-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.intro-source-cube{position:absolute;perspective:500px;background:#f5fbfd}.intro-source-cube .intro-word-rotor{inset:0}.intro-source-cube .intro-word-face{background:#f5fbfd;background-repeat:no-repeat;color:transparent}
@media(min-width:1024px){.sns-heading.supplied-banner{align-self:center}.magazine-heading.supplied-banner{max-width:1200px;margin:auto}.social-action.sns-banner,.social-action.instagram-more{font-size:17px}.sns-large-label::after{font-size:32px}}
.supplied-banner .artwork-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sns-large-label{top:12%;left:42%;width:16%;height:12%;background:#f8fcfd}.sns-large-label::after{font-size:clamp(25px,4vw,52px)}
.sns-large-label{left:39%;width:22%;top:11%;height:15%;background:radial-gradient(ellipse,#f8fcfd 65%,#f8fcfd00 75%)}.sns-large-label::after{font-size:clamp(25px,3vw,38px)}
/* Join the supplied work banner and outdoor stage to their preceding sections. */
.members + .magazine{padding-top:0}
.results + .cinema{margin-top:0}

/* Preserve the user-approved logo asset unchanged; layout only. */
.hero-logo-backing{position:absolute;z-index:2;left:0;top:0;width:42%;height:10%;background:#f8fcfd;mask-image:linear-gradient(to right,#000 92%,transparent),linear-gradient(to bottom,#000 91%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,#000 92%,transparent),linear-gradient(to bottom,#000 91%,transparent);-webkit-mask-composite:source-in}.hero-official-logo{position:absolute;z-index:3;left:3%;top:1.6%;width:38%;height:7.5%;overflow:hidden}.hero-official-logo img{position:absolute;max-width:none;width:180%;height:auto;left:-36%;top:50%;transform:translateY(-50%);filter:none;mix-blend-mode:normal}

/* Topic previews: soft white title glow and illustrative category badges. */
.news-card{isolation:isolate;overflow:visible}.news-card h3{position:relative;z-index:1;border-radius:12px;transition:background-color .28s,box-shadow .28s,text-shadow .28s}.topic-illustration{position:absolute;z-index:3;right:24px;top:50%;width:100px;height:100px;pointer-events:none;opacity:0;transform:translate(14px,-50%) scale(.84) rotate(9deg);transition:opacity .28s,transform .4s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 8px 16px #145e4820)}.topic-illustration svg{display:block;width:100%;height:100%}
@media(hover:hover) and (pointer:fine){.news-card:hover h3{background:#ffffff;box-shadow:0 0 22px 14px #ffffffc9;text-shadow:0 0 12px #ffffff}.news-card:hover .topic-illustration{opacity:1;transform:translate(0,-50%) scale(1) rotate(0)}}
.news-card:focus-within h3{background:#fff;box-shadow:0 0 22px 14px #ffffffc9;text-shadow:0 0 12px #fff}.news-card:focus-within .topic-illustration{opacity:1;transform:translate(0,-50%) scale(1) rotate(0)}
@media(min-width:768px){.news-card{padding-right:152px}.news-card>.round-link{right:20px;bottom:12px}.topic-illustration{width:104px;height:104px;right:28px}}
@media(max-width:767px){.news-card{padding-right:92px}.topic-illustration{width:64px;height:64px;right:14px}.news-card>.round-link{right:24px}}
@media(prefers-reduced-motion:reduce){.topic-illustration,.news-card h3{transition:none}}

/* Larger comic badges, anchored above the upper-right corner. */
.topic-illustration{width:156px;height:156px;right:12px;top:-48px;filter:drop-shadow(5px 7px 0 #153b3533);transform:translate(10px,12px) scale(.76) rotate(12deg)}
.news-card:focus-within{z-index:4}.news-card:focus-within .topic-illustration{transform:translate(0,0) scale(1) rotate(-5deg)}
@media(hover:hover) and (pointer:fine){.news-card:hover{z-index:4}.news-card:hover .topic-illustration{transform:translate(0,0) scale(1) rotate(-5deg)}}
@media(max-width:767px){.topic-illustration{width:112px;height:112px;top:-30px;right:8px}}
@media(max-width:767px),(hover:none){
 .news-card.topic-in-view{z-index:4}
 .news-card.topic-in-view .topic-illustration{opacity:1;transform:translate(0,0) scale(1) rotate(-5deg)}
 .news-card.topic-in-view h3{background:#fff;box-shadow:0 0 22px 14px #ffffffc9;text-shadow:0 0 12px #fff}
}
@media(max-width:767px){.topics .news-card{padding-right:124px;min-height:150px}.topics .news-card h3{overflow-wrap:anywhere}}


/* Restore the original typographic four-face roll and 60ms stagger. */
.intro-source-cube.intro-word-roll{perspective:500px;isolation:auto;background:#f5fbfd;font-weight:900;line-height:1}
.intro-source-cube .intro-word-rotor{animation:introWordRoll 1250ms cubic-bezier(.45,0,.2,1) var(--roll-delay) both}
.intro-source-cube .intro-word-face{background:#f5fbfd;color:var(--ink);box-shadow:inset 0 0 0 1px #173b4910}
.intro-source-cube .intro-word-face.top{background:#e6f1f2}.intro-source-cube .intro-word-face.bottom{background:#dcebec}

/* Start only after the complete intro is mounted; CSS variables require setProperty. */
.artwork-intro-overlay:not(.cubes-ready) .intro-word-rotor{animation:none}
.intro-source-cube .intro-word-rotor{animation-delay:var(--roll-delay,0ms)}

/* Stable centered CTA: entrance transforms must not replace centering. */
.fixed-cta{left:0;right:0;margin-inline:auto;transform:none;animation:none!important;transition:none;width:min(100%,720px)}
@media(min-width:1024px){.fixed-cta{left:0;right:0;width:440px}}
.magazine-heading.supplied-banner{margin-bottom:26px}.magazine{background:#fff}
.cinema{padding-top:26px}.cinema-top-action{position:relative;z-index:6;display:flex;justify-content:center;padding:4px 20px 42px}.cinema-top-action a{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 28px;border-radius:18px;background:#fff;color:#075344;box-shadow:0 7px 24px #153f4d33;font-size:20px;font-weight:900;border:2px solid #a5ead6}.cinema-top-action a:hover{background:#e6fff5}.cinema-top-action span{font-size:25px}
.cinema-crowd{transform:translateY(var(--crowd-rise,0px));opacity:var(--crowd-opacity,1);will-change:transform,opacity}
.social-action.sns-banner,.social-action.instagram-more{font-size:clamp(17px,4.4vw,22px);line-height:1.5;padding:18px 50px 18px 16px;font-weight:900;min-height:90px;border-width:2px;animation:rainbowCounter 4s linear infinite}
.social-action:before{content:'';position:absolute;inset:-2px;border-radius:inherit;padding:7px;background:conic-gradient(from var(--rainbow-angle),transparent 0deg,#ff547e 25deg,#ffb52e 55deg,#f8ed48 80deg,#52df91 110deg,#38cfe5 140deg,#787dff 170deg,#d66cff 200deg,transparent 235deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}
@keyframes rainbowCounter{from{--rainbow-angle:360deg}to{--rainbow-angle:0deg}}
@media(min-width:1024px){.cinema{padding-top:38px}.cinema-top-action{padding-bottom:70px}.cinema-top-action a{font-size:25px}.social-action.sns-banner,.social-action.instagram-more{font-size:21px}}
@media(prefers-reduced-motion:reduce){.cinema-crowd{transform:none;opacity:1}.social-action{animation:none!important}}
.social-action.sns-banner,.social-action.instagram-more{font-size:20px}.social-action.sns-banner{display:block;text-align:center}.social-action.sns-banner span{display:grid}

.cinema-top-action a{min-height:86px;width:min(92%,440px);padding:20px 24px;gap:20px;border:2px solid #b0f0df;background:linear-gradient(135deg,#fff,#f0fff8);border-radius:24px;box-shadow:0 12px 0 #12644f33,0 18px 35px #163e5d40}.cinema-top-action strong{font-size:clamp(23px,5.8vw,30px);font-weight:900;background:var(--remix-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}.cinema-top-action .video-arrow{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:#008f76;color:white;font:500 28px/1 Arial}
.social-action.sns-banner,.social-action.instagram-more{animation:none;background:linear-gradient(110deg,#e9fff5,#d0f5e9);border:2px solid #91d3bf}.social-action:before{display:none}.button-orbit{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);overflow:visible;pointer-events:none;z-index:3}.button-orbit path{fill:none;stroke-linecap:round}.button-orbit .orbit-trail{stroke-width:7}.button-orbit circle{stroke:white;stroke-width:2;filter:drop-shadow(0 0 4px #5bdab9)}
.topic-illustration{filter:drop-shadow(3px 6px 0 #1b5d4820)}
.menu-toggle{position:fixed;top:calc(16px + env(safe-area-inset-top));right:16px;z-index:75;width:54px;height:54px;border:1px solid #ffffffaa;border-radius:50%;background:var(--remix-gradient);box-shadow:0 5px 20px #06493930;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.menu-toggle i{width:23px;height:2px;background:#075344;border-radius:2px}.site-menu{position:fixed;inset:0 0 0 auto;margin:0;width:min(90vw,480px);max-width:100vw;height:100dvh;max-height:100dvh;border:0;padding:80px 28px 36px;background:linear-gradient(145deg,#e8fff2,#81dec7);color:#074d3f;overflow:auto;box-shadow:-15px 0 60px #062f4230}.site-menu::backdrop{background:#092b365c;backdrop-filter:blur(5px)}.menu-close{position:absolute;right:18px;top:18px;width:48px;height:48px;border:1px solid #fff8;border-radius:50%;background:#fff6;color:#075344;font-size:36px;cursor:pointer}.menu-caption{font:bold 13px Arial;letter-spacing:.2em;margin-bottom:18px}.site-menu nav{display:grid}.site-menu nav a{display:flex;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid #1d826735;font-size:17px;font-weight:800}.site-menu nav small{font:12px Arial;color:#398a74}.site-menu nav span{margin-left:auto}.site-menu nav a:hover{color:#007e69;background:#ffffff44}html.menu-open{overflow:hidden}.site-menu a:focus-visible,.menu-toggle:focus-visible,.menu-close:focus-visible{outline:3px solid #005c4b;outline-offset:3px}

/* A shared exact perimeter for the fine rainbow edge and moving thick segment. */
.social-action.sns-banner,.social-action.instagram-more{border:0;background:linear-gradient(110deg,#e9fff5,#d0f5e9)}
.button-orbit{inset:0;width:100%;height:100%;border-radius:inherit}
.button-orbit .orbit-base{stroke-width:2}.button-orbit .orbit-trail{stroke-width:7}
.results-heading h2{font-size:clamp(36px,8.5cqw,60px);line-height:1.35}
.results-heading>p:last-child{color:#fff;font-size:17px;letter-spacing:0}
@media(min-width:1024px){.results-inner{grid-template-columns:1fr 1.3fr;gap:40px}.results-heading h2{font-size:54px}.results-heading>p:last-child{font-size:21px}}
.cinema-top-action a,.cinema-top-action a:hover{background:var(--remix-gradient);border-color:transparent}
.cinema-top-action strong{background:none;color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 1px 3px #007a6b35}
.cinema-top-action .video-arrow{background:transparent;color:#fff;border:1.5px solid #fff}

.desktop-hero-photo{display:none}
.menu-toggle{background:#ffffff75;border:1px solid #297d6650;box-shadow:none;color:#165b4a;backdrop-filter:blur(8px)}.menu-toggle i{background:currentColor}
.cinema-top-action .video-social,.cinema-top-action .video-social:hover{position:relative;display:flex;width:calc(100% - 32px);max-width:440px;min-height:90px;margin:22px 16px;padding:18px 50px 18px 16px;border:0;border-radius:18px;background:linear-gradient(110deg,#e9fff5,#d0f5e9);color:#164e43;font-size:20px;line-height:1.5;font-weight:900;box-shadow:none}
@media(min-width:1024px){
 .hero-artwork{min-height:650px;height:100svh;background:#edf8f3;isolation:isolate}
 .desktop-hero-photo{display:block;position:absolute;inset:0 0 0 auto;width:65%;height:100%;object-fit:cover;object-position:53% center}
 .hero-artwork-backdrop{inset:0;filter:none;background:linear-gradient(90deg,#edf8f3 0%,#edf8f3 32%,#edf8f3de 42%,transparent 65%)}
 .hero-artwork-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;pointer-events:none}
 .hero-artwork-image,.hero-artwork-light,.hero-logo-backing{visibility:hidden}
 .hero-official-logo{left:2%;top:3%;width:300px;height:94px}
 .hero-title.artwork-accessible{position:absolute;clip:auto;clip-path:none;overflow:visible;width:auto;height:auto;margin:0;padding:0;white-space:normal;left:6%;top:38%;font-size:clamp(48px,4.7vw,90px);line-height:1.5;color:#123a36;text-shadow:none;letter-spacing:-.05em}
 .hero-title.artwork-accessible span{display:block}.hero-title.artwork-accessible span:last-child{background:var(--remix-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
 .story{max-width:none;padding:75px 6vw 0;display:grid;grid-template-columns:1fr 1fr;gap:24px 5vw;align-items:center}.story>.eyebrow,.story>.story-index{grid-column:1/-1}.story>.image-frame{width:100%;max-width:none}.story-copy{padding:0}
 .members{min-height:85svh;padding:75px 7vw;grid-template-columns:.85fr 1.15fr}.members-stage{max-width:660px}.members-heading h2{font-size:clamp(44px,4.5vw,76px)}
 .magazine-heading.supplied-banner{max-width:none;width:100%;margin-bottom:30px}.magazine-rail{--desktop-card:clamp(360px,31vw,560px)}.magazine-rail .mag-card{height:560px}
 .results-inner{max-width:1600px;grid-template-columns:1fr 1.2fr;gap:6vw}.results{padding:90px 6vw}.results-heading h2{font-size:clamp(46px,4.1vw,76px)}
 .cinema-stage{max-width:1250px;width:85%;aspect-ratio:16/9}.cinema-crowd{max-height:430px;object-fit:cover;object-position:top}.cinema-top-action{padding-bottom:64px}
 .sns{padding:65px 6vw;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);gap:30px 5vw}.sns-heading.supplied-banner{width:100%;height:auto}.instagram-feed{justify-self:center;max-width:440px}.social-action.sns-banner{align-self:start}
 .topics-content{max-width:none;padding:85px 6vw}.news-card{min-height:300px}.meeting-flow{padding:90px 7vw;gap:7vw}.meeting-flow h2{font-size:clamp(44px,4.3vw,72px)}
}
@media(min-width:1024px){.hero-artwork .hero-title.artwork-accessible{left:6%!important;top:38%!important;width:auto!important;height:auto!important;font-size:clamp(48px,4.7vw,90px)!important;clip-path:none;overflow:visible}.hero-title.artwork-accessible span{animation:desktopLetterGlow 5s ease-in-out infinite}.hero-title.artwork-accessible span:nth-child(2){animation-delay:.4s}.hero-title.artwork-accessible span:nth-child(3){animation-delay:.8s}}
@keyframes desktopLetterGlow{0%,65%,100%{filter:brightness(1)}80%{filter:brightness(1.35) drop-shadow(0 0 8px #a4ffe285)}}

/* The section edge rises and settles with scroll, without shifting its content. */
.meeting-flow{position:relative;isolation:isolate;overflow:visible;background:linear-gradient(180deg,#e9faf4,#f6fcfa)}
.meeting-wave{position:absolute;left:0;top:-118px;width:100%;height:120px;display:block;pointer-events:none;z-index:-1;overflow:visible;fill:#e9faf4}
@media(min-width:1024px){.meeting-wave{top:-158px;height:160px}}
/* Keep the animated edge inside its own section so TOPICS links remain clear. */
.meeting-flow{padding-top:145px;background:linear-gradient(180deg,transparent 0px,transparent 118px,#e9faf4 118px,#f6fcfa 100%)}
.meeting-wave{top:0;z-index:0}
.meeting-flow>header,.meeting-flow>.meeting-steps{position:relative;z-index:1}
@media(min-width:1024px){.meeting-flow{padding-top:180px;background:linear-gradient(180deg,transparent 0px,transparent 158px,#e9faf4 158px,#f6fcfa 100%)}.meeting-wave{top:0}}

/* Desktop hero: one uninterrupted photograph with readable overlaid copy. */
@media(min-width:1024px){
 .hero-artwork .desktop-hero-photo{inset:0;width:100%;height:100%;object-fit:cover;object-position:53% 40%}
 .hero-artwork .hero-artwork-backdrop{background:linear-gradient(90deg,rgba(5,25,18,.43),rgba(5,25,18,.18) 48%,rgba(5,25,18,.03) 100%);filter:none}
 .hero-artwork .hero-title.artwork-accessible{color:#fff;text-shadow:0 2px 20px #08251c55}
 .hero-artwork .hero-title.artwork-accessible>span:not(:last-child){background:none;color:#fff;-webkit-text-fill-color:#fff}
 .hero-artwork .hero-official-logo{overflow:visible}
 .hero-artwork .hero-official-logo:before{content:'';position:absolute;inset:-22px -32px;background:radial-gradient(ellipse,#f6fcf0c9 0%,#f6fcf08c 40%,transparent 73%);filter:blur(12px);z-index:-1}
}

/* Paired desktop story images share the same frame and final bounds. */
@media(min-width:1024px){
 .story{align-items:start}
 .story>.image-frame,.story>.story-portal{width:100%;aspect-ratio:4/3;height:auto;margin:0;min-height:0}
 .story>.image-frame .story-photo{width:100%;height:100%;max-height:none;aspect-ratio:4/3;object-fit:cover}
 .story>.story-portal>.story-portal-stage{position:relative;top:0;width:100%;height:100%;min-height:0;aspect-ratio:4/3;padding:0}
 .story .portal-device{margin:0;inset:0}
 .story .portal-device .devices{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none}
}
/* Zero intrinsic grid minimums prevent Safari from widening the device column. */
@media(min-width:1024px){
 .story{grid-template-columns:repeat(2,minmax(0,1fr))}
 .story>.image-frame,.story>.story-portal{position:relative;min-width:0;max-width:100%;height:0;min-height:0;padding:75% 0 0;aspect-ratio:auto;overflow:hidden}
 .story>.image-frame .story-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
 .story>.story-portal>.story-portal-stage{position:absolute;inset:0;width:100%;height:100%;min-width:0;aspect-ratio:auto}
 .story .portal-device{position:absolute;width:100%;height:100%;min-width:0;max-width:100%;overflow:hidden}
 .story .portal-device .devices{min-width:0;display:block;flex:0 1 100%;object-fit:cover}
}

.sns-content{display:contents}
@media(min-width:1024px){
 #social.sns{display:block;padding:64px 6vw 80px}
 #social .sns-heading.supplied-banner{width:min(100%,1100px);margin:0 auto 56px;grid-column:auto;grid-row:auto;border-radius:20px;overflow:hidden}
 #social .sns-content{display:grid;grid-template-columns:minmax(0,360px) minmax(0,440px);grid-template-rows:1fr auto 1fr;gap:24px 80px;max-width:880px;margin:auto;align-items:center}
 #social .instagram-feed{display:contents}
 #social .instagram-phone{grid-column:1;grid-row:1/4;width:100%;max-width:360px;margin:0}
 #social .instagram-account{grid-column:2;grid-row:1;align-self:end;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:18px}
 #social .instagram-account>span{font-size:36px;font-weight:800;color:#075b4c}
 #social .social-action.sns-banner{grid-column:2;grid-row:2;align-self:center}
 #social .social-action.instagram-more{grid-column:2;grid-row:3;align-self:start}
 #social .social-action.sns-banner,#social .social-action.instagram-more{width:100%;margin:0;min-height:96px;padding:20px 64px 20px 24px;font-size:21px;box-sizing:border-box}
}

/* User-approved transparent logo, displayed without cropping or recoloring. */
.hero-artwork .hero-official-logo{left:3%;top:1%;width:25%;height:auto;aspect-ratio:1183/1329;overflow:visible}
.hero-artwork .hero-official-logo img{position:static;display:block;width:100%;height:auto;max-width:100%;transform:none;filter:drop-shadow(0 1px 3px rgba(0,35,25,.65));mix-blend-mode:normal}
.hero-artwork .hero-official-logo:before{display:none}
@media(min-width:1024px){.hero-artwork .hero-official-logo{left:3%;top:2%;width:clamp(120px,10vw,170px);height:auto}}

/* New Remix logo palette: mint highlight, vivid green, and emerald shading. */
:root{--logo-mint:#91ffe1;--logo-green:#00ce78;--logo-emerald:#00845a;--logo-deep:#004c35}
.site-menu{background:var(--remix-gradient);color:#003d2a}
.site-menu nav small{color:#00553a}
.site-menu nav a{border-bottom-color:#004c3538}
.results{background:radial-gradient(ellipse at 0 0,var(--logo-emerald),transparent 75%),var(--logo-deep);border-color:var(--logo-emerald)}
footer{background:var(--logo-emerald);color:#fff}
footer p{color:#fff}

/* Handwritten representative message; isolated from the former device portal. */
@font-face{font-family:RemixHand;src:url('./assets/fonts/YujiMai-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
.president-message{padding:48px 0 54px;background:#f7faf7;color:#17392d;font-family:RemixHand,cursive;font-weight:400}
.president-heading{padding:0 6% 28px}.president-heading>p{font-size:17px;letter-spacing:.14em;margin-bottom:8px}.president-heading h2{font:400 clamp(26px,6.4vw,38px)/1.5 RemixHand,cursive;scroll-margin-top:30px}
.president-photo{margin:0}.president-photo img{width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:center 40%}
.president-letter{position:relative;margin:-28px 5% 0;padding:32px 24px;background:#fff;box-shadow:0 12px 35px #0b382908;font-size:20px;line-height:2.1;letter-spacing:.015em;font-weight:400;overflow-wrap:anywhere}
.president-letter p+p{margin-top:1.5em}.pen-slip{display:inline-block;transform:translateY(1px) rotate(-5deg) skewX(-3deg)}.president-letter p:nth-child(2) .pen-slip{transform:translateY(-1px) rotate(4deg) skewX(4deg)}
@media(min-width:1024px){.president-message{padding:80px 6vw 100px}.president-heading{padding:0 0 36px;max-width:1500px;margin:auto}.president-heading>p{font-size:22px}.president-heading h2{font-size:42px}.president-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:4vw;max-width:1500px;margin:auto}.president-photo{position:sticky;top:40px}.president-photo img{aspect-ratio:4/5;object-position:50% 50%}.president-letter{margin:30px 0 0 -6vw;padding:40px 44px;font-size:clamp(21px,1.7vw,27px);line-height:2;transform:rotate(-.4deg)}}
@media(max-width:360px){.president-letter{padding:26px 20px;font-size:18px}}

/* Flowing brush lettering: retain the natural calligraphic strokes. */
.president-message{color:#172d25}.president-letter{font-size:23px;line-height:1.95;letter-spacing:.025em}.pen-slip,.president-letter p:nth-child(2) .pen-slip{transform:rotate(-1.5deg)}
@media(min-width:1024px){.president-letter{font-size:clamp(24px,2vw,30px);line-height:1.95}}
@media(max-width:360px){.president-letter{font-size:21px}}

/* Representative message: Gothic oblique, with consistent letterforms. */
.president-message,.president-heading h2{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-style:oblique;font-synthesis:style}
.president-heading h2{font-weight:600}
.president-letter{font-style:oblique;font-synthesis:style;font-weight:400;transform:none}

/* Company and service: verified company profile and sales education model. */
.business-inner{max-width:1440px;margin:auto}.company-overview,.service-overview{padding:70px 6%;color:#123d32;background:#fff}.business-label{color:#00845a;font-size:13px;font-weight:700;letter-spacing:.2em;margin-bottom:12px}.business-heading h2{font-size:clamp(28px,3.5vw,46px);line-height:1.4;scroll-margin-top:40px}.company-statement{font-size:clamp(23px,2.5vw,34px);font-weight:700;line-height:1.7;margin:26px 0 20px}.company-statement em{font-style:normal;color:#00845a}.business-copy{font-size:15px;line-height:2}.company-facts{margin:32px 0 0}.company-facts>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding:19px 0;border-bottom:1px solid #cee5db;font-size:14px;line-height:1.9}.company-facts dt{font-weight:700}.company-facts dd{margin:0}.company-facts a{text-decoration:underline;text-underline-offset:4px}.service-overview{background:linear-gradient(150deg,#f3fff9,#eafaf5 65%,#e2f8f4)}.service-catch{font-size:clamp(25px,3vw,43px);line-height:1.65;margin:32px 0 20px;letter-spacing:-.035em}.service-catch span{color:#00845a}.service-lead{font-size:clamp(16px,1.5vw,20px);line-height:2}.service-partnership{display:grid;gap:12px;margin:42px 0 30px;align-items:stretch}.partner-node{background:#fff;border:1px solid #c4e5d8;border-radius:24px;text-align:center;padding:25px 18px}.partner-node svg{width:64px;height:64px;color:#00845a;margin-bottom:10px}.partner-node h4{font-size:21px;margin:8px 0 12px}.partner-node p{font-size:14px;line-height:1.9}.partner-node .node-kicker{font-size:13px;font-weight:700;letter-spacing:.07em}.remix-node{background:#004c35;color:#fff;border-color:#004c35;box-shadow:0 14px 28px #004c3515}.remix-node svg{color:#73f7b4}.customer-node{background:#fafffc}.diagram-join{text-align:center;align-self:center;font-size:32px;color:#00845a;line-height:1}.diagram-arrow{transform:rotate(90deg)}.service-fields{text-align:center;margin:30px 0 60px}.service-fields>p{font-weight:700;font-size:17px;line-height:1.8}.service-fields ul{padding:0;margin:20px 0 0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.service-fields li{padding:8px 14px;border:1px solid #b9dccc;border-radius:50px;font-size:12px;background:#ffffff90}.sales-academy{border-top:1px solid #b9dccc;padding-top:48px}.academy-heading h3{font-size:clamp(25px,2.7vw,38px);line-height:1.7;margin-bottom:20px}.academy-heading h3 span{color:#00845a}.academy-heading>p:last-child{font-size:15px;line-height:2}.academy-flow{display:grid;gap:22px;margin-top:32px}.academy-step{position:relative;background:#fff;border-radius:22px;padding:28px 24px;overflow:hidden}.academy-number{position:absolute;right:20px;top:14px;font-size:58px;font-weight:800;color:#e5f6ee;line-height:1}.step-phase{position:relative;color:#00845a;font-size:13px;font-weight:700;letter-spacing:.12em}.academy-step h4{position:relative;font-size:22px;margin:14px 0}.academy-step>p:not(.step-phase){font-size:14px;line-height:1.95}.academy-step ol{padding-left:24px;font-size:13px;line-height:2.1;border-top:1px solid #dceee5;padding-top:16px;margin:20px 0 0}.academy-step li::marker{color:#00845a;font-weight:700}.academy-return{padding:24px 16px;text-align:center;font-size:15px;line-height:1.9;color:#00583e}.academy-return>span{font-size:28px;vertical-align:middle;margin-right:8px}.academy-return strong{display:block}.company-overview .reveal,.service-overview .reveal{scroll-margin-top:30px}
@media(min-width:1024px){.company-overview,.service-overview{padding:100px 6vw}.company-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start}.company-facts{margin:0}.company-facts>div{grid-template-columns:120px 1fr;font-size:16px}.service-partnership{grid-template-columns:1fr 44px 1.1fr 44px 1fr;gap:14px;margin-top:50px}.diagram-arrow{transform:none}.partner-node{padding:32px 20px}.partner-node svg{width:76px;height:76px}.partner-node h4{font-size:24px}.academy-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.academy-step{padding:32px 28px}.academy-return strong{display:inline;margin-left:1em}.service-fields{margin-bottom:70px}}
@media(prefers-reduced-motion:reduce){.company-overview .reveal,.service-overview .reveal{transition:none}}

/* Company details live in the bottom band. */
footer.company-footer{display:block;padding:0;text-align:left;background:var(--logo-emerald);color:#fff}
.company-footer .footer-company{background:transparent;color:#fff;padding:60px 6% 35px}
.company-footer .business-label,.company-footer .company-statement em{color:#b0ffe0}
.company-footer .business-heading p{font-size:15px;line-height:1.9;margin-top:0}
.company-footer .business-heading .business-label{font-size:13px;margin-bottom:12px}
.company-footer .business-heading .company-statement{font-size:clamp(23px,2.5vw,34px);line-height:1.7;margin:26px 0 20px}
.company-footer .company-facts>div{border-color:#ffffff40}
.company-footer-bottom{max-width:1440px;margin:auto;padding:24px 6% 35px;border-top:1px solid #ffffff40;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;font-size:14px}
.company-footer .company-footer-bottom p{margin:0;font-size:12px}
@media(min-width:1024px){.company-footer .footer-company{padding:80px 6vw 50px}}

.service-lead+.service-lead{margin-top:22px}.service-lead strong{color:#00583e}

/* Partnership illustration: two sources converge on the customer. */
.service-overview{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(155deg,#f5fff9 0%,#d9faed 55%,#e0f8f5 100%)}
.service-overview:before,.service-overview:after{content:"";position:absolute;z-index:-1;width:65vw;height:65vw;max-width:900px;max-height:900px;border:1px solid #00a87620;border-radius:50%;pointer-events:none;transform:translateY(calc(var(--service-progress,0)*-80px))}
.service-overview:before{top:9%;left:-35%}.service-overview:after{bottom:0;right:-40%;border-width:35px;border-color:#70efbc18}
.service-partnership.triangle-diagram{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px;max-width:940px;margin:45px auto 36px;align-items:stretch}
.triangle-diagram .partner-node{position:relative;padding:15px 10px 20px;border-radius:24px;box-shadow:0 12px 32px #004c350d;min-width:0}
.triangle-diagram .partner-node .service-scene{display:block;width:100%;height:auto;max-width:280px;margin:0 auto 8px;overflow:visible}
.triangle-diagram .node-kicker{font-size:9px;letter-spacing:.06em}.triangle-diagram .partner-node h4{font-size:clamp(16px,4.2vw,26px);margin:5px 0 8px;line-height:1.5}.triangle-diagram .partner-node p:not(.node-kicker){font-size:12px;line-height:1.8}
.triangle-diagram .company-node{grid-column:1;grid-row:1}.triangle-diagram .remix-node{grid-column:2;grid-row:1}
.partnership-cross{position:absolute;z-index:2;left:50%;top:42%;top:125px;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:27px;background:#c8ffdf;color:#005b40;box-shadow:0 0 0 5px #e6fcf1}
.delivery-paths{grid-column:1/-1;position:relative;height:110px}.delivery-paths svg{width:100%;height:100%;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}.delivery-track{stroke:#b0e3cd;stroke-width:3}.delivery-stream{stroke:#00a579;stroke-width:5;stroke-dasharray:12 17;animation:delivery-flow 1.5s linear infinite;animation-play-state:paused}.delivery-tip{stroke:#00a579;stroke-width:5}.delivery-paths span{position:absolute;left:50%;top:27%;transform:translateX(-50%);white-space:nowrap;background:#e2fbf0;border:1px solid #9de5c6;border-radius:50px;padding:7px 17px;font-size:12px;font-weight:700;color:#006c4a}
.triangle-diagram .customer-node{grid-column:1/-1;width:80%;max-width:450px;justify-self:center;background:#fff;border:2px solid #6edcac;padding:14px 14px 22px}.triangle-diagram .customer-node .service-scene{width:75%;max-width:240px}.triangle-diagram .customer-node h4{font-size:25px}.triangle-diagram .customer-node p:not(.node-kicker){font-size:13px}.diagram-caption{grid-column:1/-1;text-align:center;font-size:18px;margin-top:26px;line-height:1.8}.diagram-caption strong{color:#00845a}
.triangle-diagram.is-visible .delivery-stream{animation-play-state:running}.triangle-diagram.is-visible .scene-lift{animation:service-float 3.3s ease-in-out infinite}.triangle-diagram.is-visible .scene-spark{animation:service-spark 2.4s ease-in-out infinite;transform-origin:center}.triangle-diagram.is-visible .scene-line{stroke-dasharray:150;animation:service-draw 2.8s ease-in-out infinite}.triangle-diagram.is-visible .customer-node{animation:customer-arrives .9s .35s both cubic-bezier(.2,.8,.2,1)}
.academy-flow{position:relative}.academy-step{border:1px solid #c8e9d9}.academy-step:not(:last-child):after{content:"↓";display:block;font-size:26px;color:#00a579;text-align:center;margin-top:18px}.academy-step.is-visible .academy-number{animation:customer-arrives .7s both}.academy-return{border:1px solid #a8dfc8;border-radius:60px;background:#ffffff90;margin-top:25px}
@keyframes delivery-flow{to{stroke-dashoffset:-58}}@keyframes service-float{50%{transform:translateY(-5px)}}@keyframes service-spark{50%{opacity:.35;transform:translateY(-4px)}}@keyframes service-draw{0%{stroke-dashoffset:150;opacity:0}25%,80%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes customer-arrives{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:768px){.service-partnership.triangle-diagram{column-gap:80px;margin-top:60px}.triangle-diagram .partner-node{padding:26px 24px}.triangle-diagram .node-kicker{font-size:11px}.triangle-diagram .partner-node p:not(.node-kicker){font-size:16px}.partnership-cross{top:180px;width:54px;height:54px;font-size:38px}.delivery-paths{height:150px}.delivery-paths span{font-size:15px;padding:10px 25px}.triangle-diagram .customer-node{width:55%}.diagram-caption{font-size:25px}.academy-step:not(:last-child):after{content:"→"}}
@media(prefers-reduced-motion:reduce){.triangle-diagram *{animation:none!important}.service-overview:before,.service-overview:after{transform:none}}

.diagram-caption{font-size:clamp(20px,2.5vw,32px);font-weight:700;line-height:1.85;margin-top:32px;padding:26px 16px;border-radius:22px;background:#004c35;color:#fff}.diagram-caption strong{background:var(--remix-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#40efd0;font-weight:800}

/* Education lab: three concrete systems, holographic diagrams and replayable light. */
.education-lab{position:relative;isolation:isolate;overflow:hidden;margin:65px -6.82% -70px;padding:70px 6%;background:radial-gradient(ellipse at 0 10%,#0d4a49 0,transparent 50%),radial-gradient(ellipse at 100% 65%,#2c2558 0,transparent 55%),#071724;color:#f4fffc;border-top:1px solid #8affdc66}
.edu-grid-bg{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#69ffdb0c 1px,transparent 1px),linear-gradient(90deg,#69ffdb0c 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(#000,transparent 90%);pointer-events:none}.edu-eyebrow{font:700 11px/1.6 monospace;letter-spacing:.17em;color:#8df9df;margin-bottom:24px}.edu-heading h3{font-size:clamp(36px,5.2vw,68px);font-weight:900;letter-spacing:.02em;line-height:1.3;text-shadow:1px 2px #1b6968,2px 4px #0c464d,3px 6px #092b37,0 10px 28px #43ffc126;scroll-margin-top:35px}.edu-heading h3 span{display:inline-block;background:linear-gradient(120deg,#b3ffcc,#57f3ed 52%,#baabff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #215960);text-shadow:none}.edu-catch{font-size:clamp(23px,2.8vw,37px);font-weight:700;line-height:1.65;margin:28px 0 20px}.edu-intro{font-size:15px;line-height:2;color:#bed4db}.edu-intro strong{color:#d8fff2}.edu-cards{display:grid;gap:24px;margin-top:38px}.edu-card{position:relative;padding:24px;border:1px solid #65e9d566;border-radius:22px;background:linear-gradient(135deg,#133d458c,#0c1c32dd);box-shadow:inset 0 1px #b8ffef22,0 18px 50px #0003;overflow:hidden}.edu-card:nth-child(2){border-color:#75deff66;background:linear-gradient(135deg,#153d568c,#0c1c32dd)}.edu-card:nth-child(3){border-color:#b39cff77;background:linear-gradient(135deg,#36335b8c,#0c1c32dd)}.edu-card-top{display:flex;align-items:center;gap:12px;color:#83ffe2;font-family:monospace}.edu-card-top>span{font-size:27px;font-weight:700}.edu-card-top p{font-size:12px;letter-spacing:.12em}.edu-card-top i{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#8bffcf;box-shadow:0 0 12px #8bffcf}.edu-hologram{position:relative;max-width:290px;margin:10px auto 14px;overflow:hidden;color:#7cffe0}.edu-card:nth-child(2) .edu-hologram{color:#7cdfff}.edu-card:nth-child(3) .edu-hologram{color:#bca9ff}.edu-hologram svg{display:block;width:100%;height:auto;filter:drop-shadow(0 0 7px #65ffe02b)}.edu-scan{position:absolute;left:8%;right:8%;height:2px;top:5%;background:linear-gradient(90deg,transparent,#c5fff5,transparent);box-shadow:0 -8px 30px #4cffd855;opacity:0}.edu-card h4{font-size:21px;line-height:1.6;color:#fff}.edu-card-catch{font-size:17px;font-weight:700;color:#98ffe3;margin:12px 0}.edu-card-body{font-size:14px;line-height:2;color:#c1d4dd}.edu-mini-flow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:18px;margin-top:22px;gap:7px;font-size:11px;color:#b4ffeb}.edu-mini-flow span{flex:1;text-align:center}.edu-mini-flow span+span:before{content:'›';float:left;color:#55ecd2}.edu-card.is-visible .edu-scan{animation:edu-scan 3.5s ease-in-out infinite}.edu-card.is-visible .edu-hologram svg{animation:edu-hover 4s ease-in-out infinite}.edu-card:nth-child(2) .edu-hologram svg{animation-delay:.5s}.edu-card:nth-child(3) .edu-hologram svg{animation-delay:1s}.edu-card.is-visible .edu-card-top i{animation:edu-light 2s ease-in-out infinite}.edu-cycle{position:relative;margin-top:35px;padding:26px 10px 10px;text-align:center}.edu-cycle p{display:flex;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#b1ffdf}.edu-cycle b{color:#69b5cf}.edu-cycle-line{height:20px;border:1px solid #74e6d766;border-top:0;border-radius:0 0 20px 20px;margin:10px auto 20px;width:90%;position:relative;overflow:hidden}.edu-cycle-line:after{content:'';position:absolute;height:2px;bottom:0;width:25%;background:linear-gradient(90deg,transparent,#92ffe3,#a5acff,transparent);box-shadow:0 0 12px #9effdf}.edu-cycle.is-visible .edu-cycle-line:after{animation:edu-return 3s linear infinite}.edu-cycle strong{display:block;font-size:20px;line-height:1.7}.edu-cycle small{display:block;color:#bfd5dc;font-size:13px;line-height:1.9;margin-top:8px}
@keyframes edu-scan{0%,100%{top:5%;opacity:0}15%,75%{opacity:.8}85%{top:90%;opacity:0}}@keyframes edu-hover{50%{transform:translateY(-7px)}}@keyframes edu-light{50%{opacity:.4;box-shadow:0 0 3px #8bffcf}}@keyframes edu-return{from{left:100%}to{left:-25%}}
@media(min-width:1024px){.education-lab{margin:80px 0 0;padding:65px 40px;border:1px solid #8affdc55;border-radius:32px}.edu-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.edu-card{padding:24px 20px}.edu-card h4{font-size:20px}.edu-mobile{display:none}.edu-cycle p{gap:30px;font-size:17px}.edu-cycle{max-width:780px;margin:40px auto 0}}
@media(prefers-reduced-motion:reduce){.education-lab *{animation:none!important}.edu-scan{display:none}}

/* Editorial emphasis and human-centered learning diagrams */
.results-heading h2,.results-heading h2 em,.edu-heading h3,.edu-catch,.service-heading h2,#members-title,#topics-title,#entry-title{font-style:oblique 10deg;font-synthesis:style}
.edu-heading h3{padding-right:.2em}.edu-eyebrow,.edu-card-top{font-family:inherit}.edu-eyebrow{font-size:14px;letter-spacing:.08em}.edu-card-top p{font-size:14px;letter-spacing:.02em;font-weight:700}.edu-hologram{max-width:310px}
.edu-mini-flow{gap:17px;font-size:13px;font-weight:700;align-items:stretch}.edu-mini-flow span{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;padding:9px 4px;border:1px solid #8dffe16b;border-radius:11px;background:linear-gradient(135deg,#24665e,#183a50);color:#f0fff9;box-shadow:inset 0 1px #c7ffec33}.edu-mini-flow span+span:before{content:'→';position:absolute;left:-16px;top:50%;transform:translateY(-50%);font-size:13px;float:none;color:#a4ffe8}.edu-card:nth-child(2) .edu-mini-flow span{background:linear-gradient(135deg,#20536a,#19364e)}.edu-card:nth-child(3) .edu-mini-flow span{background:linear-gradient(135deg,#48416b,#263653)}
.edu-cycle-ring{padding:23px 12px;border:2px solid #84f7db;border-radius:999px;background:linear-gradient(110deg,#174b4b99,#312d5899);box-shadow:0 0 20px #70f8d923,inset 0 0 16px #76e5ed10;margin:0 auto 24px}.edu-cycle-ring p{gap:8px;font-size:13px;white-space:nowrap}.edu-cycle{padding:20px 0 10px}.edu-cycle.is-visible .edu-cycle-ring{animation:edu-ring-glow 3s ease-in-out infinite}@keyframes edu-ring-glow{50%{border-color:#baa9ff;box-shadow:0 0 24px #8bafff38,inset 0 0 16px #76e5ed15}}
@media(min-width:1024px){.edu-cycle-ring{padding:28px}.edu-cycle-ring p{gap:30px;font-size:19px}}
@media(prefers-reduced-motion:reduce){.edu-cycle.is-visible .edu-cycle-ring{animation:none}}

.service-catch>span{display:inline-block;white-space:nowrap}.service-catch .catch-plain{background:none;-webkit-text-fill-color:currentColor;color:var(--ink)}.service-catch{font-size:clamp(23px,3.3vw,43px);line-height:1.65;text-wrap:balance}
.delivery-track{stroke:url(#delivery-gradient);stroke-width:10;filter:drop-shadow(0 3px 5px #28bfc64d)}.delivery-stream{stroke:#e4fff7;stroke-width:2.5;stroke-dasharray:7 35;opacity:.85}.delivery-tip{stroke:url(#delivery-gradient);stroke-width:10}
.edu-photo-collage{height:260px;position:relative;overflow:hidden;margin:10px auto 20px;max-width:310px;background:radial-gradient(ellipse at 50% 55%,#49e9c52b,transparent 68%)}.edu-photo-collage img{position:absolute;width:300%;max-width:none;height:100%;object-fit:fill;left:0}.edu-card:nth-child(2) .edu-photo-collage img{left:-100%}.edu-card:nth-child(3) .edu-photo-collage img{left:-200%}.edu-card.is-visible .edu-photo-collage{animation:edu-hover 4s ease-in-out infinite}.edu-card:nth-child(2) .edu-photo-collage{animation-delay:.4s}.edu-card:nth-child(3) .edu-photo-collage{animation-delay:.8s}
@media(max-width:600px){.service-catch{font-size:clamp(21px,5.8vw,30px)}.service-catch .catch-plain{display:block}.edu-photo-collage{height:275px}}
@media(prefers-reduced-motion:reduce){.edu-card.is-visible .edu-photo-collage{animation:none}}

.edu-photo-collage{width:180px;max-width:100%;height:270px}@media(max-width:600px){.edu-photo-collage{width:184px;height:276px}}

/* Three situation-based photographic scenes */
.edu-photo-collage{width:100%;max-width:340px;height:auto;aspect-ratio:1/1}.edu-photo-collage img{width:300%;height:100%;object-fit:fill}@media(max-width:600px){.edu-photo-collage{width:100%;height:auto;aspect-ratio:1/1}}

/* Clean type and fluid Japanese wrapping across phone widths. */
h1,h2,h3,h4,h1 span,h2 span,h2 em,h3 span,.edu-catch,.service-catch,.diagram-caption,.diagram-caption strong,.edu-card-catch,.cinema-top-action strong{ text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important; }
.president-message,.president-heading h2,.president-letter,.president-letter p{font-style:normal;font-synthesis:none;transform:none}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.business-heading,.edu-heading,.edu-card,.president-letter,.results-heading{min-width:0}
.service-lead,.edu-intro,.edu-card-body,.president-letter p{word-break:normal;overflow-wrap:break-word;line-break:strict;text-wrap:pretty}
@media(max-width:767px){
 .business-heading h2,.edu-heading h3,.results-heading h2,.edu-catch,.service-catch,#members-title,#entry-title{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:balance}
 .service-catch{font-size:clamp(20px,5.65vw,36px);letter-spacing:-.02em}
 .service-catch>span{max-width:100%;white-space:normal}
 .service-catch .catch-plain{display:block}
 .service-catch .catch-color{white-space:nowrap}
 .service-lead br,.edu-intro br{display:none}
 .service-lead{font-size:clamp(15px,4vw,19px);line-height:1.9}
 .edu-heading h3{font-size:clamp(27px,7.9vw,52px);letter-spacing:0}
 .edu-catch{font-size:clamp(20px,5.3vw,30px)}
 .president-letter{font-size:clamp(17px,4.7vw,23px);padding:28px clamp(18px,5vw,30px);line-height:1.95;letter-spacing:.015em}
 .edu-card{padding:clamp(16px,5vw,24px)}
 .edu-card h4{font-size:clamp(18px,5vw,23px);text-wrap:balance}
 .edu-mini-flow{gap:16px;font-size:clamp(11px,3.2vw,14px)}
 .edu-mini-flow span{min-width:0;padding:9px 3px}
 .edu-cycle-ring{padding:20px 8px}.edu-cycle-ring p{gap:clamp(4px,1.7vw,10px);font-size:clamp(11px,3.2vw,16px)}
 .diagram-caption{font-size:clamp(18px,4.9vw,26px);line-height:1.8;text-wrap:balance}.diagram-caption br{display:none}
}

/* Prominent service title and replayable upward entrances. */
.service-overview .business-label{font-size:17px;letter-spacing:.14em;font-style:oblique 10deg;font-synthesis:style;margin-bottom:8px}
.service-overview #service-title{font-size:clamp(26px,6.4vw,38px);line-height:1.5;font-weight:600;font-style:oblique 10deg;font-synthesis:style}
@media(min-width:1024px){.service-overview .business-label{font-size:22px}.service-overview #service-title{font-size:42px}}
.motion-ready .feature-rise{transition:opacity 900ms cubic-bezier(.16,1,.3,1),transform 900ms cubic-bezier(.16,1,.3,1);transition-delay:0ms}
.motion-ready .feature-rise:not(.is-visible){opacity:0;transform:translate3d(0,56px,0)}
.motion-ready .feature-rise.is-visible{opacity:1;transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){.motion-ready .feature-rise:not(.is-visible){opacity:1;transform:none}.motion-ready .feature-rise{transition:none}}

.edu-conversation{position:relative;height:146px;margin:22px 0 0;z-index:2}
.edu-bubble{position:absolute;max-width:88%;padding:12px 15px;border-radius:18px;background:#e1fff2;color:#123d36;font-size:14px;line-height:1.65;font-weight:700;box-shadow:0 5px 18px #0002;margin:0}
.edu-bubble:after{content:'';position:absolute;bottom:-12px;border-top:15px solid #e1fff2;border-left:5px solid transparent;border-right:13px solid transparent;left:24px}
.bubble-first{top:0;left:0}.bubble-second{top:76px;right:0;background:#e9e3ff;color:#302b50}.bubble-second:after{left:auto;right:24px;border-top-color:#e9e3ff;border-left-width:13px;border-right-width:5px}
.edu-conversation+.edu-photo-collage{margin-top:0}
.conversations-ready .edu-bubble{opacity:0;transform:translateY(25px) scale(.96);transition:opacity .6s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.conversations-ready .edu-bubble.is-speaking{opacity:1;transform:translateY(0) scale(1)}
@media(prefers-reduced-motion:reduce){.conversations-ready .edu-bubble{opacity:1;transform:none;transition:none}}

/* Clear service section hierarchy, without a BR-generated empty line. */
.service-overview .business-label{display:inline-block;padding:7px 18px;margin-bottom:12px;border-radius:999px;background:#075d48;color:#fff;font-size:clamp(17px,2vw,23px);letter-spacing:.16em;font-weight:800}
.service-overview #service-title{font-size:clamp(46px,8vw,80px);font-weight:900;line-height:1.15;letter-spacing:.035em;padding-bottom:14px;margin-bottom:0;color:#075d48}
.service-catch{margin:25px 0 24px;line-height:1.45;letter-spacing:-.025em;text-wrap:initial;font-size:clamp(24px,3.1vw,42px)}
.service-catch>.catch-line,.service-catch>.catch-line.catch-plain{display:block;max-width:100%;white-space:normal}
.service-catch>.catch-line+ .catch-line{margin-top:.16em}
.service-catch .catch-line>span{display:inline-block;white-space:nowrap}
.service-catch .catch-plain>span{color:var(--ink);-webkit-text-fill-color:currentColor}
.service-catch .catch-color>span{color:#00845a}
@media(max-width:767px){.service-catch{font-size:clamp(23px,6.1vw,36px);line-height:1.42;margin-top:24px}.service-catch>.catch-line.catch-plain>span{display:block}.service-catch>.catch-line.catch-color>span{display:inline-block}.service-catch>.catch-line+ .catch-line{margin-top:.26em}}

/* Requested brand alignment and optical clipping correction. */
:root{--education-gradient:linear-gradient(120deg,#b3ffcc,#57f3ed 52%,#baabff)}
.hero-artwork .hero-official-logo{width:16.6667%}
@media(min-width:1024px){.hero-artwork .hero-official-logo{width:clamp(80px,6.6667vw,113.333px)}}
.president-signature{margin-bottom:26px;line-height:1.5}
.president-signature span{display:block;font-size:12px;letter-spacing:.15em;color:#527168;margin-bottom:5px}
.president-signature strong{display:block;font-size:clamp(22px,4.8vw,30px);font-weight:700;color:#17392d}
.president-letter .message-emphasis{color:#00845a;font-weight:700}
.service-overview .business-label{color:#8df9df;background:#0c2630}
.edu-heading h3 span,.service-overview #service-title,.service-catch>.catch-color{background:var(--education-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.service-catch .catch-color>span{color:inherit;-webkit-text-fill-color:inherit}
.service-overview #service-title{width:fit-content;padding-right:.2em}
.results-heading h2{overflow:visible;padding-right:.22em}
.results-heading h2 em{display:inline-block;padding:0 .22em .12em .03em;margin-left:-.03em;line-height:1.5;max-width:100%;box-sizing:border-box}

/* Service contrast and staff story. */
.service-overview #service-title,.service-catch>.catch-color{background-image:linear-gradient(120deg,#007342,#009f69 52%,#007e79)}
.results-more{max-width:1600px;margin:32px auto 0;color:#e3f8ed;font-size:13px;line-height:1.9;text-align:center}.results-more strong{font-weight:600}
.yasuno-open{width:100%;border:0;text-align:left;cursor:pointer;font-family:inherit;color:#fff;background:linear-gradient(transparent,#082c25e6);padding-top:60px}
.yasuno-role{font-size:13px;letter-spacing:.08em}.yasuno-open h3{font-size:24px;margin:5px 0 8px}.yasuno-open p{font-size:14px;line-height:1.7}.yasuno-read{display:block;margin-top:12px;font-size:12px;color:#9bffd5}
.yasuno-dialog{border:0;border-radius:24px;width:min(760px,92vw);max-height:88dvh;padding:28px clamp(22px,5vw,56px) 48px;color:#17392d;background:#f9fffc;overscroll-behavior:contain;box-shadow:0 24px 100px #0004}
.yasuno-dialog::backdrop{background:#06251ed0;backdrop-filter:blur(6px)}.yasuno-dialog form{position:sticky;top:0;text-align:right;z-index:1}.yasuno-close{width:42px;height:42px;border:1px solid #bbd9cd;border-radius:50%;background:#fff;color:#175f48;font-size:28px;cursor:pointer}.yasuno-dialog h2{font-size:clamp(22px,4.8vw,32px);line-height:1.6;margin:16px 0 30px;color:#00764e}.yasuno-dialog article>p{font-size:16px;line-height:2;margin-top:22px}.yasuno-dialog article>.yasuno-role{font-size:14px;font-weight:700}.yasuno-open:focus-visible{outline:3px solid #53ffb7;outline-offset:-4px}

.yasuno-panel[hidden]{display:none!important}
.yasuno-panel{position:relative;max-width:880px;margin:36px auto 48px;width:90%;padding:28px clamp(22px,5vw,56px) 44px;background:#f9fffc;border:1px solid #c3e9d9;border-radius:24px;box-shadow:0 18px 55px #0a57331c;scroll-margin-top:26px;opacity:0;transform:translateY(28px);transition:opacity .45s ease,transform .45s ease;color:#17392d}
.yasuno-panel.is-open{opacity:1;transform:none}.yasuno-panel>.yasuno-close{display:block;margin-left:auto}.yasuno-panel h2{font-size:clamp(22px,4.8vw,32px);line-height:1.6;margin:16px 0 30px;color:#00764e}.yasuno-panel article>p{font-size:16px;line-height:2;margin-top:22px}.yasuno-panel article>.yasuno-role{font-size:14px;font-weight:700}.yasuno-return{display:block;margin:32px auto 0;border:1px solid #abcdbd;border-radius:30px;padding:14px 20px;background:#e2f8ed;color:#075a3d;font:600 14px/1.6 inherit;cursor:pointer}.yasuno-card>img{object-position:center 58%}
@media(prefers-reduced-motion:reduce){.yasuno-panel{transition:none}}

.yasuno-panel{scroll-margin-top:100px}.yasuno-panel>.yasuno-close{margin-right:0}

.member-introduction{width:88%;max-width:520px;margin:12px auto 25px;padding:22px 25px;background:#ffffffbd;border:1px solid #b9e9d7;border-radius:20px;color:#123d32;min-height:165px}.member-introduction[hidden]{display:none}.member-name{font-size:25px;font-weight:800;line-height:1.5;margin-bottom:12px}.member-message{font-size:16px;line-height:1.9;white-space:pre-line;word-break:normal;overflow-wrap:break-word}
@media(min-width:1024px){.members-heading{grid-column:1;grid-row:1;align-self:start;padding-top:50px}.member-introduction{grid-column:1;grid-row:1;align-self:center;margin:150px 0 0;width:100%;max-width:580px}.members-controls{grid-row:2}.member-name{font-size:30px}.member-message{font-size:18px}}

/* Original portrait: image bytes unchanged; responsive framing only. */
.member-badge strong{display:flex;align-items:center;gap:12px;white-space:nowrap}
.member-badge .member-badge-name{font-family:inherit;font-size:clamp(16px,4cqw,24px);letter-spacing:0}
.hero-artwork-light{display:none!important}
@media(max-width:1023px){
.hero-artwork{height:100svh;min-height:620px;aspect-ratio:auto;position:relative}
.hero-artwork-frame{position:absolute;inset:0}
.hero-artwork-image{height:100%;width:100%;object-fit:cover;object-position:51% center;filter:none}
.hero-artwork .hero-title.artwork-accessible{top:auto!important;bottom:13%;left:5%!important;width:90%!important;height:auto!important;font-size:clamp(30px,8.7vw,70px)!important;line-height:1.5;clip-path:none;overflow:visible;white-space:normal;color:white;z-index:3;text-shadow:0 2px 10px #00180c99;margin:0}
.hero-title.artwork-accessible>span{display:block}
.hero-title.artwork-accessible>span:last-child{background:var(--remix-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-official-logo{z-index:4}
}
@media(max-width:1023px){.hero-logo-backing{display:none}.hero-artwork .hero-title.artwork-accessible>span:not(:last-child){background:none;color:#fff;-webkit-text-fill-color:#fff}}

/* Banners use untouched source photographs alongside live typography. */
.magazine-heading.original-people-banner,#social .sns-heading.original-people-banner{display:grid;grid-template-columns:27% 46% 27%;align-items:stretch;width:100%;height:auto;min-height:0;background:#f5fcf9;padding:0;isolation:isolate}
.original-people-banner .banner-person{position:static;inset:auto;width:100%;height:100%;min-height:0;object-fit:cover;filter:none;mix-blend-mode:normal;transform:none}
.original-people-banner .banner-woman{object-position:50% 48%}.original-people-banner .banner-man{object-position:52% center}
.original-people-banner .banner-copy{padding:clamp(20px,4vw,60px) 10px;text-align:center;align-self:center}
.original-people-banner .banner-eyebrow{font:700 clamp(12px,2vw,24px)/1.3 Arial,sans-serif;letter-spacing:.25em;color:#008568;margin-bottom:16px}
.original-people-banner h2{display:block;font-size:clamp(24px,4.6vw,64px);font-weight:900;line-height:1.25;letter-spacing:-.04em;white-space:normal;margin:0;color:#102e3d}
.original-people-banner h2 em{font-style:normal;background:linear-gradient(110deg,#007342,#00af79,#008d83);background-clip:text;-webkit-background-clip:text;color:transparent}
.original-people-banner .banner-description{font-size:clamp(11px,1.5vw,20px);line-height:1.9;margin-top:22px;color:#173e36}
.member-badge .member-badge-heading{display:flex;align-items:center;gap:8px}.member-role{font-size:12px;letter-spacing:0;white-space:nowrap}
@media(max-width:600px){.original-people-banner .banner-copy{padding:24px 6px}.original-people-banner h2{font-size:clamp(21px,6vw,34px)}.original-people-banner .banner-eyebrow{margin-bottom:12px;font-size:10px}.original-people-banner .banner-description{font-size:10px;line-height:1.8;margin-top:14px}.member-role{font-size:11px}}
@media(max-width:600px){.original-people-banner .banner-description br{display:none}.original-people-banner .banner-description{text-wrap:pretty}}

.mobile-copy-break{display:none}
@media(max-width:1023px){
.hero-artwork-image{height:108%;transform:translateY(-7.4%);object-position:51% center}
.hero-artwork .hero-title.artwork-accessible{bottom:21%}
.mobile-copy-break{display:block}.desktop-copy-break{display:none}
.service-fields>p{font-size:clamp(12px,3.5vw,18px);line-height:1.8}
.results-more .results-more-line,.results-more>strong{display:block;white-space:nowrap}
.results-more{font-size:clamp(10px,2.65vw,13px);line-height:1.9;padding-inline:0}
}

/* One continuous banner canvas; original photo pixels remain unretouched. */
.magazine-heading.original-people-banner,#social .sns-heading.original-people-banner{display:block;position:relative;aspect-ratio:2.65;min-height:240px;background:linear-gradient(110deg,#cde9d7 0%,#dff6e8 40%,#d6f1e5 62%,#b8dec9 100%);border-radius:0;overflow:hidden}
.original-people-banner .banner-person{position:absolute;top:0;bottom:0;height:100%;width:38%;object-fit:cover;z-index:0;filter:none;transform:none}
.original-people-banner .banner-woman{left:0;right:auto;object-position:50% 34%;mask-image:linear-gradient(to right,#000 0%,#000 66%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 66%,transparent 100%)}
.original-people-banner .banner-man{right:0;left:auto;object-position:51% 42%;mask-image:linear-gradient(to left,#000 0%,#000 66%,transparent 100%);-webkit-mask-image:linear-gradient(to left,#000 0%,#000 66%,transparent 100%)}
.original-people-banner .banner-copy{position:relative;z-index:1;width:46%;margin:0 auto;padding:clamp(24px,4vw,54px) 0;background:none}
.original-people-banner h2{font-size:clamp(25px,4.5vw,60px)}
.original-people-banner .banner-description{font-size:clamp(10px,1.35vw,18px);line-height:1.8;margin-top:16px}
@media(max-width:600px){
.magazine-heading.original-people-banner,#social .sns-heading.original-people-banner{aspect-ratio:auto;min-height:245px}
.original-people-banner .banner-person{width:39%}
.original-people-banner .banner-copy{width:43%;padding:29px 0 24px}
.original-people-banner h2{font-size:clamp(21px,6vw,34px)}
.original-people-banner .banner-eyebrow{margin-bottom:12px}
.original-people-banner .banner-description{font-size:10px;margin-top:12px}
}

/* Service contrast and brighter first view; source photos unchanged. */
.service-overview{background:radial-gradient(ellipse at 100% 0,#89e8bc66,transparent 48%),linear-gradient(135deg,#e3fff0,#bcefdc 60%,#d6f8ee);border-top:4px solid #00a978}
.service-overview .business-heading>.business-label{color:#006344;background:#b4f4d8;display:inline-block;padding:10px 18px;border:1px solid #47bf93;border-radius:99px;letter-spacing:.16em;font-weight:900}
.service-overview #service-title{font-size:clamp(52px,9vw,88px);background-image:linear-gradient(110deg,#004d32,#00884e 48%,#006b65)}
.service-catch>.catch-color{background-image:linear-gradient(110deg,#005b36,#008c57 55%,#006e68)}
.hero-artwork-image,.hero-artwork .desktop-hero-photo{filter:brightness(1.13)}
@media(min-width:1024px){.hero-artwork .hero-artwork-backdrop{background:linear-gradient(90deg,rgba(5,25,18,.20),rgba(5,25,18,.06) 48%,transparent 100%)}}

/* Brighter hero and energetic typography; original image files preserved. */
.hero-artwork-image,.hero-artwork .desktop-hero-photo{filter:brightness(1.24)}
.hero-artwork .hero-title.artwork-accessible{font-style:oblique 12deg;font-synthesis:style;letter-spacing:-.055em;transform:rotate(-3deg);transform-origin:left center;line-height:1.4;text-shadow:0 2px 10px #12332555}
@media(min-width:1024px){
.hero-artwork .hero-artwork-backdrop{background:linear-gradient(90deg,rgba(5,25,18,.08),transparent 60%)}
.hero-artwork .hero-title.artwork-accessible{font-size:clamp(60px,6.1vw,112px)!important;left:5%!important;top:35%!important}
.results-inner{row-gap:22px}.results-more{grid-column:2;grid-row:2;width:100%;max-width:none;margin:0;text-align:center}.results-heading{grid-column:1;grid-row:1}.results-grid{grid-column:2;grid-row:1}
}
@media(max-width:1023px){.hero-artwork .hero-title.artwork-accessible{font-size:clamp(34px,9.8vw,78px)!important;left:4%!important;width:92%!important;line-height:1.5}}

/* Reserve the leafy left side for copy; move only the image crop. */
@media(min-width:1024px){
.hero-artwork .desktop-hero-photo{width:125%;max-width:none;left:0;right:auto;object-position:0% 40%}
.hero-artwork .hero-title.artwork-accessible{font-size:clamp(54px,5.7vw,104px)!important;left:5%!important}
}
@media(max-width:1023px){
.hero-artwork-image{object-position:30% center}
.hero-artwork .hero-title.artwork-accessible{width:68%!important;font-size:clamp(30px,8.5vw,64px)!important;bottom:24%;left:4%!important;line-height:1.55}
}
@media(max-width:1023px){.hero-artwork-image{object-position:38% center}.hero-artwork .hero-title.artwork-accessible{bottom:43%;width:65%!important;font-size:clamp(29px,8.3vw,62px)!important}}
@media(max-width:1023px){.hero-artwork .hero-title.artwork-accessible{bottom:57%}}

.hero-mobile-break{display:none}@media(max-width:1023px){.hero-mobile-break{display:block}.hero-artwork .hero-title.artwork-accessible{font-size:clamp(28px,7.7vw,58px)!important}}

/* Keep italic overhang visible and copy clear of the white shirt. */
.hero-artwork .hero-title.artwork-accessible>span{overflow:visible;padding-right:.35em;clip-path:none;mask-image:none;-webkit-mask-image:none}
@media(min-width:1024px){.hero-artwork .hero-title.artwork-accessible{font-size:clamp(62px,6.4vw,116px)!important;width:60%!important;right:auto;overflow:visible}.hero-artwork .hero-title.artwork-accessible>span{white-space:nowrap}}
@media(max-width:1023px){.hero-artwork .hero-title.artwork-accessible{bottom:19%;width:65%!important;font-size:clamp(34px,9.4vw,70px)!important;line-height:1.4}.hero-artwork .hero-title.artwork-accessible>span{white-space:nowrap}}
.desktop-intro-copy{color:#fff!important;-webkit-text-fill-color:#fff;font-style:oblique 12deg;font-synthesis:style;overflow:visible}
.desktop-intro-copy>span:last-child{-webkit-text-fill-color:#31c8a5;color:#31c8a5}

/* Two-line headline and mild non-generative display sharpening. */
.hero-artwork-image,.hero-artwork .desktop-hero-photo{filter:url(#hero-detail) brightness(1.24)}
.hero-artwork .hero-title.artwork-accessible>span{white-space:nowrap;line-height:1.5}
@media(min-width:1024px){.hero-artwork .hero-title.artwork-accessible{width:75%!important;top:43%!important;font-size:clamp(38px,4.4vw,80px)!important}.hero-artwork .hero-title.artwork-accessible>span:last-child{font-size:1.48em}}
@media(max-width:1023px){.hero-artwork .hero-title.artwork-accessible{bottom:18%;width:92%!important;font-size:clamp(21px,6.8vw,48px)!important}.hero-artwork .hero-title.artwork-accessible>span:last-child{font-size:1.55em}}

/* Supplied photo is preserved byte-for-byte; brighten background areas only. */
.hero-artwork-image,.hero-artwork .desktop-hero-photo{filter:none}
.hero-artwork .hero-artwork-backdrop{background:radial-gradient(ellipse at 12% 10%,#f5ffd83b,transparent 53%);display:block;inset:0;filter:none;pointer-events:none}
.hero-artwork:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#f0ffcf20,transparent 48%);pointer-events:none;z-index:1}
.hero-artwork .hero-title.artwork-accessible{z-index:3}
.hero-artwork .hero-title.artwork-accessible>span:last-child{font-size:1em}
@media(min-width:1024px){.hero-artwork .hero-title.artwork-accessible{top:35%!important;width:65%!important;font-size:clamp(62px,6.4vw,116px)!important}}
@media(max-width:1023px){.hero-artwork .hero-title.artwork-accessible{bottom:18%;width:82%!important;font-size:clamp(32px,8.7vw,66px)!important;line-height:1.45}.hero-artwork .hero-title.artwork-accessible>span{line-height:1.45}}

/* Keep mobile hero geometry stable while browser bars collapse on scroll. */
@media(max-width:1023px){
 .hero-artwork{height:var(--mobile-hero-height,100svh);min-height:620px}
 .hero-artwork-image{animation:none!important;transition:none!important;will-change:auto}
 .hero-artwork .hero-title.artwork-accessible{bottom:23%;font-size:clamp(35px,9.4vw,71px)!important;line-height:1.22;width:92%!important}
 .hero-artwork .hero-title.artwork-accessible>span{line-height:1.22}
}

/* Match the intro landing geometry to the final compact headline. */
.hero-artwork .hero-title.artwork-accessible,.hero-artwork .hero-title.artwork-accessible>span{line-height:1.22}
@media(max-width:1023px){.hero-artwork .hero-title.artwork-accessible{bottom:30%}}
@media(min-width:1024px){.hero-artwork .hero-title.artwork-accessible{top:28%!important;font-size:clamp(66px,6.8vw,122px)!important;width:70%!important}}

/* Mobile copy sits in the foliage beside the face. */
@media(max-width:1023px){.hero-artwork .hero-title.artwork-accessible{top:23%!important;bottom:auto;left:4%!important;width:57%!important;font-size:clamp(21px,6.3vw,48px)!important;line-height:1.25}.hero-artwork .hero-title.artwork-accessible>span{line-height:1.25}}

/* Reference headline styling only; retain the current photo and logo. */
@media(max-width:1023px){
 .hero-artwork .hero-title.artwork-accessible{top:auto!important;bottom:24%;left:4%!important;width:94%!important;font-size:clamp(36px,10.8vw,82px)!important;font-weight:900;font-style:oblique 8deg;letter-spacing:-.065em;transform:rotate(-8deg);transform-origin:left center;line-height:1.23;text-shadow:0 4px 7px #00130c80,0 10px 20px #00130c40}
 .hero-artwork .hero-title.artwork-accessible>span{line-height:1.23;animation:none}
 .hero-artwork .hero-title.artwork-accessible>span:last-child{filter:drop-shadow(0 5px 6px #00130c70);text-shadow:none}
}
/* Hero shadows are explicitly exempt from the generic heading reset. */
.hero-artwork #hero-title>span:not(:last-child){text-shadow:0 3px 3px #0005,0 6px 8px #0008,0 12px 18px #0005!important}
.hero-artwork #hero-title>span:last-child{filter:drop-shadow(0 6px 5px #0008)!important}
@media(max-width:1023px){.hero-artwork #hero-title{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-weight:900;font-synthesis:weight style;font-style:oblique 8deg;transform:rotate(-8deg);bottom:23%}}
@media(max-width:1023px){.hero-artwork #hero-title{font-size:clamp(39px,11.7vw,88px)!important;line-height:1.28}.hero-artwork #hero-title>span{font-weight:900;line-height:1.28;-webkit-text-stroke:.45px currentColor!important}.hero-artwork #hero-title>span:last-child{-webkit-text-stroke:0!important}}
/* Raise only the headline by approximately one CSS centimetre. */
@media(max-width:1023px){.hero-artwork #hero-title{bottom:calc(23% + 1cm)}}
@media(min-width:1024px){.hero-artwork #hero-title{top:calc(28% - 1cm)!important}}

/* Each scene is a separate original-pixel cutout, including on mobile. */
.edu-card .edu-photo-collage{width:100%;max-width:440px;height:auto;aspect-ratio:auto;overflow:visible}
.edu-card .edu-photo-collage picture{display:block;width:100%}
.edu-card .edu-photo-collage img{position:static;display:block;width:100%;max-width:100%;height:auto;object-fit:contain;filter:none;transform:none}
.training-preview{grid-column:1/-1;width:min(100%,1080px);margin:64px auto 0;text-align:center}
.training-preview h3{font-size:clamp(26px,4vw,46px);font-weight:900;color:#fff;letter-spacing:.04em;margin:0 0 24px}
.training-preview-image{position:relative;overflow:hidden;border-radius:24px;border:1px solid #6aead66b;box-shadow:0 16px 50px #0003}
.training-preview-image img{display:block;width:100%;height:auto}
.training-confidential{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);padding:16px 36px;white-space:nowrap;border:4px solid #c82535;color:#b71429;background:#fff8efed;font-size:clamp(30px,6vw,70px);font-weight:900;box-shadow:0 6px 24px #0003;letter-spacing:.08em}
@media(max-width:600px){.training-preview{margin-top:40px}.training-confidential{padding:12px 24px;border-width:3px}.training-preview-image{border-radius:16px}}

/* Soft white halo follows the cutout alpha without altering the source pixels. */
.edu-card .edu-photo-collage img{filter:drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 7px rgba(255,255,255,.8)) drop-shadow(0 0 14px rgba(255,255,255,.45))}

/* Keep the glow on the cutout, with no rectangular image backdrop. */
.edu-card .edu-photo-collage,.edu-card .edu-photo-collage picture{background:none;border:0;outline:0;box-shadow:none}
.edu-card:first-child .edu-photo-collage img{border:0;outline:0;box-shadow:none;}
@media(min-width:1024px){
 .edu-cards{align-items:stretch}
 .edu-card{display:flex;flex-direction:column}
 .edu-card .edu-photo-collage{flex-shrink:0}
 .edu-card-body{margin-bottom:22px}
 .edu-card .edu-mini-flow{margin-top:auto;flex-shrink:0}
}

/* Keep the education introduction stable at viewport boundaries. */
.education-lab .edu-intro{transform:none!important;opacity:1!important;animation:none!important;transition:none!important}

.ohashi-card>img{object-position:center 25%}.ohashi-panel h2{overflow-wrap:anywhere;text-wrap:balance}

/* Vertical photo panels: each next story covers the previous one naturally. */
.lp{overflow:clip}
.magazine-rail.magazine-stack{display:block;overflow:visible;padding:0;margin:0;scroll-snap-type:none;isolation:isolate}
.magazine-stack .mag-card{position:sticky;top:0;width:100%;height:88svh;min-height:540px;max-height:none;border-radius:0;box-shadow:0 -12px 35px #092c2420}
.magazine-stack .mag-card>img{height:100%;width:100%;object-fit:cover;object-position:center 30%}
.magazine-stack .card-caption{inset:auto 0 0;min-height:48%;padding:40px 7% 110px;background:linear-gradient(transparent,#082c25dd 55%);justify-content:flex-end}
.magazine-stack .card-caption h3{font-size:clamp(28px,4vw,48px);line-height:1.4;margin-bottom:10px}
.magazine-stack .card-caption p{font-size:clamp(16px,2vw,22px);line-height:1.7}
.magazine-stack .yasuno-read{font-size:15px;border:1px solid #ffffff80;border-radius:40px;padding:12px 20px;width:fit-content;margin-top:18px;color:white}
.magazine-stack .pill{position:absolute;top:32px;left:7%;font-size:clamp(17px,2vw,24px);z-index:2;background:#064d3dcc;color:white;padding:10px 18px;border-radius:30px}
.magazine-chapter{position:absolute;right:7%;bottom:100px;z-index:2;font-size:12px;letter-spacing:.12em;color:white;pointer-events:none}
@media(min-width:900px){.magazine-stack .mag-card{height:90svh;min-height:620px}.magazine-stack .mag-card>img{object-position:center 35%}.magazine-stack .card-caption{padding-left:10%;background:linear-gradient(0deg,#082c25e8,transparent)}.magazine-stack .pill{left:10%}}
@media(prefers-reduced-motion:reduce){.magazine-stack .mag-card{position:relative}}

/* Expanded messages belong directly to their portrait; keep following photos below. */
.magazine-stack.has-open-story .mag-card{position:relative;top:auto}
.magazine-stack>.yasuno-panel{position:relative;z-index:4;max-width:960px;margin:0 auto;padding-top:38px;padding-bottom:50px;scroll-margin-top:24px;border-radius:0;box-shadow:none;border:0;width:100%;padding-left:max(24px,6%);padding-right:max(24px,6%)}
@media(min-width:900px){
 .magazine-rail.magazine-stack{max-width:1200px;margin:0 auto;background:#f9fffc}
 .magazine-stack .mag-card{height:760px;max-height:90svh;min-height:600px;background:#e4eee8}
 .magazine-stack .mag-card>img{width:56%;margin-left:auto;object-position:center 40%}
 .magazine-stack .card-caption{inset:0 44% 0 0;min-height:0;padding:130px 40px 70px 55px;justify-content:center;background:linear-gradient(120deg,#073e31,#12614b);text-align:left}
 .magazine-stack .pill{left:55px;top:40px;background:#ffffff20;max-width:38%;font-size:22px}
 .magazine-stack .card-caption h3{font-size:40px}
 .magazine-stack .card-caption p{font-size:19px}
 .magazine-stack .magazine-chapter{left:55px;right:auto;bottom:40px}
 .magazine-stack>.yasuno-panel{padding:54px 80px 64px}
 .magazine-stack>.yasuno-panel article>p{font-size:18px;line-height:2.1}
}
@media(min-width:900px){.magazine-stack .card-caption{width:auto}}

/* Handwritten quote only; bright heartbeat calls to read the two stories. */
@font-face{font-family:RemixQuote;src:url('./assets/fonts/Yomogi-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
.magazine-stack .yasuno-card .card-caption>p{font-family:RemixQuote,cursive;font-weight:400;font-size:clamp(23px,5.7vw,30px);line-height:1.65;letter-spacing:-.025em}
.magazine-stack .yasuno-read{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(115deg,#ad1755,#df3374);color:#fff;border:1px solid #ffbdd5;padding:14px 26px;min-height:52px;font-weight:800;box-shadow:0 5px 22px #a00d5545;transform-origin:center;animation:storyHeartbeat 2.4s ease-in-out infinite}
.magazine-stack .yasuno-read>span{font-size:21px}
.magazine-stack .card-caption:hover .yasuno-read{background:linear-gradient(115deg,#941047,#cb1c62)}
@keyframes storyHeartbeat{0%,38%,100%{transform:scale(1)}10%{transform:scale(1.14)}18%{transform:scale(1.02)}27%{transform:scale(1.1)}}
@media(min-width:900px){.magazine-stack .yasuno-card .card-caption>p{font-size:29px}}
@media(prefers-reduced-motion:reduce){.magazine-stack .yasuno-read{animation:none}}

/* A handwritten excerpt rises over Yasuno's photograph before the full article. */
.magazine-stack .story-stage{position:relative;isolation:isolate}
.magazine-stack .story-stage>.mag-card{position:sticky;top:0;z-index:1!important}
.magazine-stack .story-glass{position:relative;z-index:3;margin:0 0 0;min-height:78svh;padding:60px max(28px,7%) 110px;background:rgba(140,147,151,.56);color:#fff;text-shadow:0 1px 5px #23332e66;display:flex;flex-direction:column;justify-content:center;gap:24px}
.story-glass .glass-label{font-size:13px;letter-spacing:.12em}
.story-glass h3{font:400 clamp(25px,6vw,36px)/1.65 RemixQuote,cursive}
.story-glass>p:not(.glass-label){font-size:clamp(17px,4.2vw,22px);line-height:1.95}
.glass-read{align-self:flex-start;padding:0;border:0;background:none;color:inherit;cursor:pointer;font-family:inherit}
.glass-read:focus-visible{outline:3px solid #fff;outline-offset:8px;border-radius:40px}
.magazine-stack .yasuno-card .card-caption>p{font-weight:400;letter-spacing:.035em;font-size:clamp(22px,5.4vw,30px)}
.pen-line{display:inline-block;transform:rotate(-2deg);transform-origin:left center}
.pen-line+br+.pen-line{transform:rotate(1deg);margin-top:4px}
@media(min-width:900px){
 .magazine-stack .story-glass{padding:70px 10% 100px;min-height:680px;background:rgba(140,147,151,.57)}
 .story-glass h3{font-size:36px}.story-glass>p:not(.glass-label){font-size:22px}
 .magazine-stack .yasuno-card .card-caption>p{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.magazine-stack .story-stage>.mag-card{position:relative}.magazine-stack .story-glass{background:#75827c}}

.story-stage .card-caption,.story-stage .magazine-chapter,.story-stage .pill{opacity:var(--front-copy-opacity,1)}

/* Unified stories and restrained emphasis. */
.magazine-stack .card-caption>p,.magazine-stack .yasuno-card .card-caption>p,.story-glass h3{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;font-weight:700;font-style:normal}
.pen-line,.pen-line+br+.pen-line{transform:none;margin-top:0}
.yasuno-panel strong{color:#00735b;font-weight:800}
.story-glass strong{color:#fff2a8;font-weight:800}
.member-portrait[data-member-role="営業統括"] img{transform:scale(1.22);transform-origin:50% 27%}
/* Shine is clipped to the original glyphs: no duplicate text or moving glyphs. */
.hero-artwork #hero-title>span{opacity:1!important;visibility:visible!important;--base-ink:linear-gradient(#fff,#fff);background-image:linear-gradient(110deg,transparent 36%,rgba(166,245,230,.5) 46%,#fff 50%,transparent 64%),var(--base-ink)!important;background-size:250% 100%,100% 100%!important;background-repeat:no-repeat!important;background-position:150% 0,0 0;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;animation:originalGlyphShine 7s ease-in-out infinite!important;animation-delay:2.8s!important}
.hero-artwork #hero-title>span:nth-child(2){animation-delay:3.35s!important}
.hero-artwork #hero-title>span:last-child{--base-ink:var(--remix-gradient);animation-delay:4.1s!important}
@keyframes originalGlyphShine{0%{background-position:150% 0,0 0}18%,100%{background-position:-150% 0,0 0}}
@media(prefers-reduced-motion:reduce){.hero-artwork #hero-title>span{animation:none!important;background-position:150% 0,0 0}}
.hero-artwork #hero-title>span:not(:last-child){text-shadow:none!important;filter:drop-shadow(0 3px 3px #0005) drop-shadow(0 6px 8px #0008)!important}

/* Keep a real photograph behind the hero even during image decode or Safari repaint. */
.hero-artwork{background-image:url('./assets/nakata-hero-8307.jpg')!important;background-size:cover!important;background-position:38% center!important}
@media(max-width:1023px){.hero-artwork .hero-artwork-image{visibility:visible!important;opacity:1!important;backface-visibility:hidden}.hero-artwork-frame{isolation:auto}}
html:not(.intro-pending) #hero-title{visibility:visible!important;opacity:1!important}
.edu-card .edu-photo-collage img{filter:none!important;box-shadow:none!important;border:0!important;outline:0!important}
.edu-card .edu-photo-collage img.alpha-ready{filter:drop-shadow(0 0 2px #fffffff2) drop-shadow(0 0 7px #ffffffcc) drop-shadow(0 0 14px #ffffff73)!important}
@media(min-width:1024px){.instagram-more{display:none!important}}
