@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#13212b;--yellow:#ffe629;--paper:#fffef9;--cyan:#50d7ef;--pink:#ffb4cf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #2559df;outline-offset:6px}header{height:88px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:2px solid var(--ink);position:relative;z-index:5}.brand{display:flex;gap:10px;align-items:center;font-family:Arial,sans-serif;font-size:12px;font-weight:900;line-height:1.15;letter-spacing:.7px}.brand-icon{font-size:42px;line-height:48px;font-style:italic;letter-spacing:-7px;position:relative;padding-right:17px}.brand-icon span{font-size:25px;position:absolute;right:0;top:-7px}nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:700}nav a{transition:color .2s}nav a:hover{color:#147da5}.nav-about{padding:12px 19px;border:1.5px solid;border-radius:30px}.nav-about span{margin-left:20px}.motion-control{border:1.5px solid;border-radius:50%;width:34px;height:34px;background:transparent;margin-left:15px;font-size:14px}.hero{position:relative;overflow:hidden;background:var(--yellow);border-bottom:2px solid var(--ink);min-height:min(850px,calc(100svh - 88px));display:flex;flex-direction:column}.hero-grid{position:absolute;inset:0;background-image:radial-gradient(#17262c30 .7px,transparent .7px);background-size:16px 16px;mask-image:linear-gradient(to right,transparent,#000)}.hero-inner{position:relative;max-width:1600px;margin:auto;width:100%;padding:52px 5% 36px;display:grid;grid-template-columns:44% 56%;align-items:center;flex:1}.hero-copy{position:relative;z-index:2}.eyebrow{font:700 12px Arial,sans-serif;letter-spacing:1.3px;display:flex;align-items:center;gap:8px;margin:0 0 22px}.eyebrow span{width:8px;height:8px;background:var(--ink);border-radius:50%}.hero-catch{font-weight:800;font-size:clamp(18px,1.7vw,26px);line-height:1.55;margin:0 0 14px}h1{margin:0;line-height:1.12;font-size:clamp(54px,6.4vw,102px);letter-spacing:-.055em;font-weight:900;transform:rotate(-4deg);transform-origin:left center;width:max-content}h1>span{display:block}h1 .title-small{font-size:.65em;letter-spacing:.03em}h1>span:nth-child(2){background:var(--ink);color:white;padding:0 .15em .09em;margin-left:-.08em;box-shadow:7px 7px 0 #fff;line-height:1.2}.hub-line{font-size:1.3em;display:flex!important;align-items:center;gap:8px}.hub-line i{font-style:italic}.title-star{color:#fc688d;font-size:.7em;-webkit-text-stroke:2px var(--ink);margin-left:12px;animation:rotate 22s linear infinite}.hero-description{font-size:15px;line-height:1.9;font-weight:600;margin:22px 0}.hero-cta{display:inline-flex;gap:26px;align-items:center;padding:17px 21px;background:white;border:2px solid var(--ink);border-radius:50px;font-size:14px;font-weight:800;box-shadow:4px 4px 0 var(--ink);transition:transform .2s,box-shadow .2s}.hero-cta:hover{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.hero-cta span{font-size:22px}.hero-visual{min-width:0;position:relative;aspect-ratio:1.05;display:flex;align-items:center;isolation:isolate;margin-left:-15px}.art-disc{width:89%;aspect-ratio:1;position:absolute;background:var(--cyan);border:2px solid var(--ink);border-radius:50%;left:9%;top:6%;z-index:-1;box-shadow:13px 10px 0 #fff8}.hero-art{width:120%;max-width:none;margin-left:-7%;position:relative;z-index:1;object-fit:contain;mix-blend-mode:multiply;animation:float 7s ease-in-out infinite;transition:transform .4s}.code-sticker{position:absolute;left:3%;top:7%;font:bold 48px monospace;transform:rotate(-13deg);background:white;padding:8px 14px;border:2px solid;box-shadow:5px 5px 0 var(--ink);z-index:2;animation:float 5s ease-in-out infinite}.hello-sticker{position:absolute;right:0;top:5%;font-size:16px;padding:17px 24px;background:white;border:2px solid;border-radius:50%;transform:rotate(9deg);z-index:2;line-height:1.6}.place-sticker{position:absolute;bottom:4%;left:20%;background:#fff;padding:12px 20px;border:2px solid;transform:rotate(-6deg);font:12px/1.7 monospace;letter-spacing:1px;z-index:2;box-shadow:4px 4px 0 var(--ink)}.place-sticker b{font-size:15px}.spark{font-size:78px;position:absolute;right:2%;bottom:9%;color:#ff88b0;-webkit-text-stroke:2px var(--ink);animation:rotate 24s linear infinite;z-index:2}.orbit{border:2px solid #fff9;width:110%;height:210px;border-radius:50%;position:absolute;top:37%;left:-5%;transform:rotate(-18deg)}.orbit-two{transform:rotate(23deg);top:51%}.hero-bottom{position:relative;display:flex;justify-content:space-between;align-items:center;padding:18px 4%;border-top:1px solid #13212b35;font:700 11px Arial,sans-serif;letter-spacing:1px}.hero-bottom a{display:flex;gap:16px;align-items:center}.hero-bottom a span{font-size:24px;animation:down 1.6s ease-in-out infinite}.weather{font-family:'Noto Sans JP';letter-spacing:.1em}.ticker{overflow:hidden;background:var(--ink);color:white;padding:17px 0;font:900 21px Arial,sans-serif;letter-spacing:1.5px;white-space:nowrap}.ticker>div{width:max-content;animation:marquee 35s linear infinite}.ticker span{color:var(--yellow);margin:0 34px}.content-section{padding:80px 6%;scroll-margin-top:10px}.section-top{display:flex;justify-content:space-between;align-items:center}.section-label{font:700 12px Arial,sans-serif;letter-spacing:1.5px;margin:0}.section-note{font-size:13px;font-weight:600}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 38px;gap:24px}.section-heading h2{font-size:clamp(28px,3.3vw,47px);font-weight:900;letter-spacing:-.045em;margin:0}.section-heading p{font-size:14px;line-height:1.9;margin:0}.underline{background:linear-gradient(transparent 73%,var(--yellow) 73%)}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.path-card{text-align:left;position:relative;border:2px solid var(--ink);border-radius:5px;padding:25px 27px 0;box-shadow:6px 6px 0 var(--ink);transition:transform .25s,box-shadow .25s;overflow:hidden}.path-card:hover{transform:translateY(-7px) rotate(-1deg);box-shadow:9px 13px 0 var(--ink)}.blue{background:var(--cyan)}.pink{background:var(--pink)}.yellow{background:var(--yellow)}.card-kicker{display:flex;justify-content:space-between;font:bold 11px Arial,sans-serif;letter-spacing:1px}.path-symbol{font:bold 80px Arial;display:block;line-height:1.15;margin-top:25px;transition:transform .35s}.path-card:hover .path-symbol{transform:translateX(13px) rotate(12deg)}.path-card h3{font-size:clamp(21px,2vw,29px);letter-spacing:-.04em;margin:10px 0 12px;font-weight:900}.path-card p{font-size:14px;line-height:1.85;margin:0 0 26px}.card-bottom{border-top:1.5px solid;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;padding:16px 0}.card-bottom b{border:1.5px solid;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:20px;background:#fff7}.jobs{background:#f0f3f5;border-top:2px solid;border-bottom:2px solid}.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.job-card{position:relative;display:flex;align-items:center;gap:22px;padding:25px 26px;border:1.5px solid;border-radius:5px;background:white;text-align:left;transition:background .25s,transform .25s,box-shadow .25s}.job-card:hover{background:var(--yellow);transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}.job-number{position:absolute;top:10px;left:12px;font:11px monospace;color:#52606a}.job-code{font:bold 38px monospace;width:62px;flex-shrink:0;text-align:center}.job-card:nth-child(3n+1) .job-code{color:#14778b}.job-card:nth-child(3n+2) .job-code{color:#c14b7f}.job-body{display:flex;flex-direction:column;gap:4px}.job-body small{font-size:12px}.job-body strong{font-size:22px;font-weight:900}.job-body em{font:10px Arial,sans-serif;letter-spacing:1px;margin-top:3px}.job-arrow{margin-left:auto;font-size:25px}.about{background:var(--ink);color:white;position:relative;overflow:hidden;padding-top:65px;padding-bottom:65px}.about h2{font-size:clamp(30px,4vw,52px);margin:22px 0;line-height:1.5;font-weight:900}.about p:not(.section-label){font-size:14px;line-height:1.9}.about a{display:inline-flex;gap:50px;margin-top:20px;border-bottom:1px solid;padding-bottom:10px;font-size:14px;font-weight:700}.about-star{position:absolute;right:10%;top:30px;font-size:300px;line-height:1.2;color:var(--yellow);animation:rotate 50s linear infinite}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:35px 4%}footer p,footer>a:last-child{font:bold 11px Arial;letter-spacing:1px}dialog{width:min(560px,calc(100% - 32px));padding:45px 35px 32px;border:2px solid;border-radius:8px;color:var(--ink);box-shadow:10px 10px 0 var(--yellow)}dialog::backdrop{background:#13212bbd;backdrop-filter:blur(5px)}dialog h2{font-size:28px;margin:26px 0 15px}dialog p{font-size:15px;line-height:1.85}.dialog-close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:30px}.detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.detail-tags span{font-size:13px;border:1px solid;padding:8px 12px;border-radius:30px;background:var(--yellow)}dialog .prototype-note{font-size:12px;color:#59616b;border-top:1px solid #ddd;padding-top:16px}.dialog-back{width:100%;display:flex;justify-content:space-between;background:var(--ink);color:#fff;border:0;padding:15px;font-weight:700;font-size:14px}.mobile-break{display:none}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s,transform .65s}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}.hero-copy{animation:enter .8s both}.hero-visual{animation:enter 1s .15s both}.motion-paused *, .motion-paused *::before{animation-play-state:paused!important}.motion-paused{scroll-behavior:auto}@keyframes enter{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes rotate{to{rotate:360deg}}@keyframes down{50%{translate:0 5px}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1500px){.hero-inner{padding-top:60px;padding-bottom:50px}.hero{min-height:850px}}@media(max-width:1000px){nav{gap:18px}.hero-inner{padding-top:45px;grid-template-columns:46% 54%}.hero-catch{font-size:20px}.hello-sticker{font-size:13px;padding:13px 18px}.code-sticker{font-size:32px}.hero-description{font-size:13px}.hero-cta{font-size:12px;gap:14px;padding:14px}.path-card{padding:20px 18px 0}.path-card p{font-size:13px}.section-heading p{font-size:13px}.path-grid{gap:17px}.job-body strong{font-size:20px}.job-card{padding:25px 18px;gap:15px}.job-code{width:46px}.weather{display:none}.about-star{font-size:230px;right:5%;top:80px}}
@media(max-width:680px){header{height:70px;padding:0 5%}.brand{font-size:10px}.brand-icon{font-size:36px;line-height:42px}nav{gap:16px;font-size:12px}.nav-about{display:none}.motion-control{width:29px;height:29px;margin-left:8px}.hero{min-height:auto}.hero-inner{display:flex;flex-direction:column;padding:30px 6% 22px;align-items:stretch}.hero-copy{z-index:3}.eyebrow{font-size:9px;margin-bottom:15px;letter-spacing:.8px}.hero-catch{font-size:18px;margin:0 0 14px;line-height:1.5}.hero-catch br{display:none}h1{font-size:clamp(47px,12.7vw,76px)}h1 .title-small{font-size:.56em}.hub-line{font-size:1.12em}.hero-description{font-size:12px;margin:16px 0 19px;line-height:1.8}.hero-cta{font-size:12px;padding:12px 17px;gap:22px}.hero-visual{aspect-ratio:1.35;margin:-45px -5% -5px 12%;pointer-events:none;z-index:2}.hero-art{width:112%;margin-left:0}.art-disc{width:77%;left:18%;top:5%}.code-sticker{font-size:25px;left:0;top:38%;padding:4px 9px;box-shadow:3px 3px 0}.hello-sticker{font-size:11px;right:0;top:2%;padding:10px 13px}.place-sticker{font-size:9px;padding:7px 11px;left:7%;bottom:0}.place-sticker b{font-size:10px}.spark{font-size:48px;right:0;bottom:1%}.hero-bottom{padding:12px 6%;font-size:8px}.hero-bottom>a{font-size:8px;gap:8px}.hero-bottom>a span{font-size:19px}.hero-bottom>span:first-child{max-width:130px;line-height:1.7}.ticker{font-size:16px;padding:13px 0}.ticker span{margin:0 22px}.content-section{padding:48px 6%}.section-note{display:none}.section-label{font-size:10px}.section-heading{display:block;margin:19px 0 28px}.section-heading h2{font-size:29px}.section-heading p{font-size:12px;line-height:1.8;margin-top:16px}.section-heading p br{display:none}.path-grid{grid-template-columns:1fr;gap:22px}.path-card{padding:22px 23px 0}.path-symbol{position:absolute;right:23px;top:40px;margin:0;font-size:72px}.path-card h3{font-size:24px;margin:28px 0 13px}.path-card p{font-size:13px;padding-right:45px;margin-bottom:20px}.card-kicker{font-size:10px}.card-bottom{font-size:12px;padding:12px 0}.card-bottom b{width:28px;height:28px}.job-grid{grid-template-columns:1fr;gap:14px}.job-card{padding:22px 16px;gap:17px}.job-code{font-size:33px;width:49px}.job-body strong{font-size:20px}.job-body small{font-size:11px}.job-body em{font-size:9px}.job-number{font-size:9px;top:7px;left:8px}.about{padding-top:45px;padding-bottom:45px}.about h2{font-size:32px;position:relative;z-index:1}.about p:not(.section-label){font-size:12px;position:relative;z-index:1;max-width:83%}.about-star{font-size:175px;right:-58px;top:37px;opacity:.4}.desktop-break{display:none}footer{padding:26px 6%;flex-wrap:wrap}footer p{order:3;width:100%;font-size:9px;margin:8px 0 0}footer>a:last-child{font-size:9px}dialog{padding:40px 24px 24px}dialog h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

.hero-art{width:100%;margin-left:2%;aspect-ratio:1;object-fit:cover;border:2px solid var(--ink);border-radius:48% 48% 43% 43%;mix-blend-mode:normal;box-shadow:9px 9px 0 var(--ink)}.art-disc{width:102%;left:0;top:0;background:var(--cyan);transform:rotate(-9deg);border-radius:42% 55% 48% 45%}@media(max-width:680px){.hero-visual{margin-top:-15px;aspect-ratio:1.12;margin-left:20%}.hero-art{width:100%;margin-left:0}.art-disc{width:100%;left:0;top:0}.code-sticker{left:-13%;top:40%}.hello-sticker{right:-3%;top:0}}

/* Category navigation and more visible hero motion */
.path-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.green{background:#a5e7b8}.path-card{padding:22px 20px 0;display:flex;flex-direction:column}.path-card h3{font-size:clamp(20px,1.75vw,27px);min-height:72px;display:flex;align-items:center;line-height:1.4}.path-card p{font-size:13px;flex:1}.path-symbol{font-size:70px}.card-kicker{font-size:10px;letter-spacing:.5px}.card-bottom{font-size:12px}.hero-copy h1>span{animation:title-pop .7s cubic-bezier(.2,.9,.25,1.2) both}.hero-copy h1>span:nth-child(1){animation-delay:.15s}.hero-copy h1>span:nth-child(2){animation-delay:.35s}.hero-copy h1>span:nth-child(3){animation-delay:.55s}.hero-art{animation:hero-float 4.5s ease-in-out infinite}.code-sticker{animation:sticker-float 3.4s ease-in-out infinite}.hello-sticker{animation:sticker-float 4.2s .7s ease-in-out infinite}.place-sticker{animation:sticker-float 5s 1.2s ease-in-out infinite}.title-star{animation-duration:14s}.spark{animation-duration:16s}.hero-cta{animation:enter .8s .8s both}.orbit-one{animation:orbit-drift 12s ease-in-out infinite}.orbit-two{animation:orbit-drift 15s reverse ease-in-out infinite}@keyframes title-pop{from{opacity:0;translate:0 30px;scale:.9}to{opacity:1;translate:0 0;scale:1}}@keyframes hero-float{0%,100%{translate:0 0;rotate:-1.2deg}50%{translate:0 -21px;rotate:1.2deg}}@keyframes sticker-float{0%,100%{translate:0 0}50%{translate:0 -17px}}@keyframes orbit-drift{50%{translate:0 30px;scale:1.05}}
@media(max-width:1100px){.path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.path-card h3{font-size:26px;min-height:73px}.path-card p{font-size:14px}.card-kicker{font-size:11px}.card-bottom{font-size:13px}}
@media(max-width:680px){.path-grid{grid-template-columns:1fr}.path-card{padding:22px 23px 0}.path-card h3{font-size:24px;min-height:0;margin:28px 0 13px;padding-right:55px}.path-card h3 br{display:none}.path-symbol{font-size:60px;right:18px;top:44px}.path-card p{font-size:13px}.hero-art{animation-duration:4s}.card-kicker{font-size:10px}.card-bottom{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-copy h1>span,.hero-art,.code-sticker,.hello-sticker,.place-sticker,.hero-cta,.orbit-one,.orbit-two{animation:none!important}}
/* Full-bleed photographic collage, with a central wordmark. */
.photo-hero{height:calc(100svh - 88px);min-height:650px;max-height:950px;background:var(--yellow);display:block;isolation:isolate;padding:0}.photo-wall{position:absolute;inset:14px;display:grid;grid-template-columns:1fr 1.17fr 1fr;grid-template-rows:1fr 1fr;gap:12px;transform:translate(var(--px,0px),var(--py,0px)) scale(1.025);transition:transform .6s ease;z-index:-3}.photo-tile{margin:0;position:relative;overflow:hidden;background:#64747b;animation:photo-arrive 1s cubic-bezier(.2,.7,.2,1) both;min-width:0;min-height:0}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block;animation:photo-breathe 14s ease-in-out infinite alternate}.tile-1{clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}.tile-2{margin-left:-5%;margin-right:-5%;clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);animation-delay:.12s}.tile-3{clip-path:polygon(0 0,100% 0,100% 100%,6% 100%);animation-delay:.25s}.tile-4{clip-path:polygon(0 0,94% 0,100% 100%,0 100%);animation-delay:.36s}.tile-5{margin-left:-5%;margin-right:-5%;clip-path:polygon(0 0,100% 0,95% 100%,5% 100%);animation-delay:.18s}.tile-6{clip-path:polygon(6% 0,100% 0,100% 100%,0 100%);animation-delay:.42s}.tile-2 img,.tile-5 img{animation-direction:alternate-reverse;animation-duration:18s}.tile-3 img,.tile-6 img{animation-duration:16s;object-position:60% center}.photo-tile figcaption{position:absolute;background:white;border:2px solid var(--ink);border-radius:40px;padding:10px 17px;font-size:13px;font-weight:800;box-shadow:3px 3px 0 var(--ink);z-index:2}.tile-1 figcaption{top:23%;left:9%;rotate:-5deg}.tile-3 figcaption{top:20%;right:8%;rotate:5deg}.tile-5 figcaption{bottom:21%;left:10%;rotate:-4deg}.collage-shade{position:absolute;inset:0;background:linear-gradient(180deg,#08172350,transparent 25%,#08172312 65%,#0817238a);z-index:-2;pointer-events:none}.collage-topline{position:absolute;top:33px;left:4%;right:4%;display:flex;justify-content:space-between;color:#fff;font:700 11px Arial,sans-serif;letter-spacing:1.7px;text-shadow:0 1px 4px #000}.collage-brand{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%) rotate(-6deg);width:max-content;max-width:94%;text-align:center;filter:drop-shadow(6px 9px 0 #13212b);animation:brand-arrive .85s .45s cubic-bezier(.2,.8,.2,1.12) both}.collage-tagline{display:inline-block;margin:0 0 9px;padding:8px 26px;background:var(--ink);color:#fff;font-size:clamp(12px,1.3vw,19px);font-weight:800;letter-spacing:.04em;border:2px solid white}.collage-logo{font-size:clamp(52px,7.8vw,118px);line-height:1.28;width:auto;margin:0;transform:none;letter-spacing:-.065em;font-style:italic;text-align:left;font-weight:900}.collage-logo .logo-place{display:flex;align-items:center;justify-content:space-between;width:max-content;min-width:32%;font-size:.54em;letter-spacing:.02em;line-height:1.35;background:var(--yellow);padding:0 .4em 0 .23em;border:3px solid var(--ink);border-bottom:0;margin:0 0 -3px 5%;position:relative;z-index:1}.logo-cross{font-size:.8em;margin-left:.7em}.collage-logo .logo-main{display:block;color:var(--ink);background:#fff;border:3px solid var(--ink);padding:0 .18em .07em;line-height:1.3;margin:0;box-shadow:none}.logo-hub{background:var(--yellow);padding-right:.07em;margin-left:.05em;letter-spacing:-.075em}.collage-subline{display:inline-block;background:var(--yellow);border:2px solid var(--ink);font-size:clamp(14px,1.6vw,22px);font-weight:900;letter-spacing:.05em;padding:9px 24px;margin:12px 0 0}.collage-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;color:var(--ink);background:white;border:2px solid var(--ink);border-radius:40px;padding:14px 22px;box-shadow:4px 4px 0 var(--yellow);font-size:13px;font-weight:800;white-space:nowrap;transition:background .2s}.collage-scroll:hover{background:var(--yellow)}.collage-scroll b{font-size:24px;animation:down 1.7s ease-in-out infinite}.collage-caption{position:absolute;bottom:17px;right:22px;font-size:10px;color:#fff;text-shadow:0 1px 3px #000}.photo-hero .collage-logo>span:nth-child(2){background:white;color:var(--ink);box-shadow:none}.photo-hero .collage-logo>span{animation:none}.job-grid .job-card:last-child:nth-child(odd){grid-column:auto}@keyframes photo-arrive{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}@keyframes photo-breathe{from{transform:scale(1.03) translateX(-.5%)}to{transform:scale(1.13) translateX(.5%)}}@keyframes brand-arrive{from{opacity:0;scale:.85;translate:0 24px}to{opacity:1;scale:1;translate:0 0}}
@media(max-width:900px){.photo-hero{min-height:630px}.collage-topline{font-size:9px}.photo-tile figcaption{font-size:11px;padding:8px 12px}.tile-5 figcaption{left:0;bottom:23%}.collage-logo{font-size:8.5vw}.collage-caption{font-size:9px}}
@media(max-width:680px){.photo-hero{height:calc(100svh - 70px);min-height:620px;max-height:850px}.photo-wall{inset:8px;gap:8px;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr}.photo-tile{clip-path:none;margin:0}.tile-1{grid-row:1;grid-column:1}.tile-2{grid-row:1;grid-column:2}.tile-3{grid-row:2;grid-column:1}.tile-4{grid-row:2;grid-column:2}.tile-5{grid-row:3;grid-column:1}.tile-6{grid-row:3;grid-column:2}.tile-1 img{object-position:60% center}.collage-topline{top:24px;left:6%;font-size:8px;letter-spacing:1px}.collage-topline span:last-child{display:none}.collage-brand{top:46%;width:90%;max-width:90%;filter:drop-shadow(3px 6px 0 #13212b)}.collage-logo{font-size:11.3vw;letter-spacing:-.065em}.collage-logo .logo-place{font-size:.65em;border-width:2px;padding:0 .3em}.collage-logo .logo-main{border-width:2px;padding:.06em .12em .1em;white-space:nowrap}.collage-tagline{font-size:10px;letter-spacing:0;padding:7px 12px;margin-bottom:8px}.collage-subline{font-size:12px;padding:8px 13px;margin-top:10px}.photo-tile figcaption{font-size:9px;border-width:1.5px;padding:7px 9px;box-shadow:2px 2px 0 var(--ink);white-space:nowrap}.tile-1 figcaption{top:31%;left:7%;rotate:-5deg}.tile-3 figcaption{top:auto;bottom:12%;right:auto;left:6%;rotate:-4deg}.tile-5 figcaption{bottom:47%;left:8%;font-size:8px}.collage-scroll{bottom:48px;font-size:11px;padding:12px 17px;gap:15px}.collage-scroll b{font-size:21px}.collage-caption{font-size:8px;bottom:16px;right:15px}}
@media(prefers-reduced-motion:reduce){.photo-tile,.photo-tile img,.collage-brand{animation:none!important}.photo-wall{transform:none;transition:none}}
/* Two photo belts, opposite directions, clearly visible motion. */
.film-wall{display:flex;flex-direction:column;inset:10px;gap:12px;transform:none;transition:none;overflow:hidden}.film-row{flex:1;min-height:0;overflow:hidden}.film-track{display:flex;height:100%;width:max-content;animation:film-left 28s linear infinite}.film-row-2 .film-track{animation-direction:reverse;animation-duration:32s}.film-set{display:flex;height:100%;gap:12px;padding-right:12px;flex-shrink:0}.film-photo{position:relative;margin:0;width:33vw;height:100%;overflow:hidden;flex-shrink:0;background:#425260}.film-photo:nth-child(3n+2){width:28vw}.film-photo:nth-child(3n){width:38vw}.film-photo img{width:100%;height:100%;display:block;object-fit:cover}.film-photo figcaption{position:absolute;top:20%;left:10%;background:white;color:var(--ink);padding:10px 15px;border:2px solid;border-radius:30px;font-size:13px;font-weight:800;rotate:-4deg;box-shadow:3px 3px 0 var(--ink)}.film-row-2 figcaption{top:auto;bottom:25%;rotate:3deg}.hero-motion{position:absolute;bottom:43px;left:25px;z-index:3;background:var(--ink);color:white;border:1.5px solid white;border-radius:30px;padding:12px 17px;font-size:12px;font-weight:700}.hero-motion:hover{background:white;color:var(--ink)}.motion-enabled .film-track{animation:film-left 28s linear infinite!important}.motion-enabled .film-row-2 .film-track{animation:film-left 32s linear infinite reverse!important}.motion-paused .film-track{animation-play-state:paused!important}@keyframes film-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.job-body strong{font-size:clamp(17px,1.65vw,24px);line-height:1.55;letter-spacing:-.025em}.job-guide{font-size:12px;font-weight:700;margin-top:10px;text-decoration:underline;text-underline-offset:4px}.job-body em{font-size:10px}.job-card{gap:17px}.job-code{width:48px;font-size:32px}.job-arrow{flex-shrink:0}.market{background:#fffef9;border-bottom:2px solid var(--ink)}.market-date{font-size:12px;border:1px solid;padding:8px 12px;border-radius:25px}.market .section-heading{align-items:flex-end}.market .section-heading h2{font-size:clamp(26px,2.85vw,43px);line-height:1.5}.market-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:26px}.salary-panel,.freelance-panel{padding:30px;border:2px solid;border-radius:6px;box-shadow:6px 6px 0 var(--ink);display:flex;flex-direction:column}.salary-panel{background:#f2f5f6}.freelance-panel{background:#ffe629}.panel-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.data-kicker{font:bold 11px Arial,sans-serif;letter-spacing:.7px}.data-period{font-size:12px;font-weight:700}.market h3{font-size:23px;font-weight:900;letter-spacing:-.03em;margin:24px 0 12px;line-height:1.5}.data-definition{font-size:14px;line-height:1.7;margin:0 0 25px}.data-definition small{font-size:12px;color:#45515b}.salary-label{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;margin-bottom:9px}.salary-label b{font:bold 42px Arial,sans-serif;letter-spacing:-1px}.salary-track{height:18px;background:#d8dfe2;border-radius:3px;overflow:hidden}.salary-fill{display:block;height:100%;width:100%;background:var(--ink);border-radius:3px}.okayama-fill{width:73.7676%;background:#25aeca}.salary-line+.salary-line{margin-top:22px}.salary-difference{margin:25px 0 0;padding:16px 0;border-top:1px solid #bcc6cc;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:10px}.salary-difference strong{font:bold 33px Arial,sans-serif}.salary-difference small{font:700 12px 'Noto Sans JP',sans-serif;margin-left:7px}.panel-copy{font-size:14px;line-height:1.95;margin:24px 0}.market-cta{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ink);color:white;border:2px solid var(--ink);padding:16px;font-size:13px;font-weight:800;margin-top:auto;transition:background .2s,color .2s}.market-cta:hover{background:white;color:var(--ink)}.market-cta span{font-size:20px}.data-caveat{font-size:12px;line-height:1.85;color:#35434d;margin:18px 0}.data-source{font-size:11px;line-height:1.9;border-top:1px solid #13212b40;padding-top:16px;margin:0}.data-source a{text-decoration:underline;text-underline-offset:3px}.scope-tag{display:inline-block;border:1px solid;border-radius:20px;padding:1px 8px;margin-left:8px;font-size:11px}.big-fee{display:flex;align-items:baseline;gap:12px;margin:9px 0 27px;line-height:1}.big-fee>b{font:900 clamp(65px,8vw,112px) Arial,sans-serif;letter-spacing:-5px}.big-fee>span{font-size:24px;font-weight:900}.big-fee small{display:block;font-size:13px;text-align:right;margin-top:12px}.remote-fee{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid;border-bottom:1px solid;gap:10px}.remote-fee>span{font-size:13px}.remote-fee strong{font:bold 30px Arial,sans-serif}.remote-fee small{font-size:12px}.market .reveal.visible .salary-fill{animation:bar-reveal .8s ease both;transform-origin:left}@keyframes bar-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1000px){.market-grid{grid-template-columns:1fr 1fr;gap:20px}.salary-panel,.freelance-panel{padding:24px}.market h3{font-size:21px}.panel-top{align-items:flex-start}.data-kicker{font-size:10px}.salary-difference{flex-wrap:wrap}.market-cta{font-size:12px;padding:14px}.remote-fee{flex-wrap:wrap}.job-code{width:38px;font-size:28px}.job-card{gap:12px;padding-left:18px;padding-right:18px}}
@media(max-width:680px){.film-wall{inset:7px;gap:8px}.film-set{gap:8px;padding-right:8px}.film-photo{width:69vw}.film-photo:nth-child(3n+2){width:59vw}.film-photo:nth-child(3n){width:74vw}.film-photo figcaption{font-size:10px;padding:8px 11px;top:26%}.film-row-2 figcaption{top:auto;bottom:28%}.hero-motion{left:14px;bottom:15px;font-size:10px;padding:9px 11px}.collage-caption{bottom:23px;font-size:8px;max-width:45%;text-align:right}.collage-scroll{bottom:74px}.collage-brand{top:45%}.market-grid{grid-template-columns:1fr;gap:24px}.market-date{font-size:10px;padding:6px 9px}.market .section-heading h2{font-size:25px;line-height:1.55}.market .section-heading p{font-size:13px}.salary-panel,.freelance-panel{padding:24px 20px}.market h3{font-size:22px}.panel-copy{font-size:14px}.big-fee>b{font-size:96px}.salary-label b{font-size:43px}.salary-difference{flex-wrap:nowrap}.salary-difference strong{font-size:31px}.salary-difference small{font-size:10px}.job-body strong{font-size:18px}.job-body small{font-size:12px}.job-guide{font-size:12px}.job-code{width:37px;font-size:27px}.job-card{padding:24px 17px;gap:13px}.job-body{min-width:0}.job-arrow{font-size:22px}.data-source{font-size:12px}}
@media(prefers-reduced-motion:reduce){.film-track{animation:none}.salary-fill{animation:none!important}}
/* Role detail overlay */
.role-dialog{width:min(950px,calc(100% - 36px));max-height:88svh;padding:0;border:2px solid var(--ink);border-radius:9px;box-shadow:10px 10px 0 var(--yellow);color:var(--ink);background:#fffef9;overflow:auto}.role-dialog::backdrop{background:#0c1e2bd6;backdrop-filter:blur(6px)}.role-close{position:sticky;top:14px;float:right;margin:14px 16px -54px 0;z-index:5;border:1.5px solid;border-radius:50%;background:white;color:var(--ink);width:38px;height:38px;font-size:27px;display:grid;place-items:center;line-height:1}.role-head{padding:38px 40px 28px;background:var(--yellow);border-bottom:2px solid}.role-head .section-label{font-size:11px;letter-spacing:1.1px;padding-right:35px}.role-head h2{font-size:clamp(24px,3vw,36px);font-weight:900;margin:19px 0 15px;line-height:1.5;letter-spacing:-.04em;padding-right:25px}.role-head p:last-child{font-size:15px;line-height:1.95;margin:0;max-width:740px}.role-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:30px;padding:30px 40px}.role-dialog h3{font-size:16px;margin:0 0 14px;font-weight:800}.role-work ul{margin:0 0 24px;padding-left:21px;font-size:14px;line-height:2}.role-skills{display:flex;gap:8px;flex-wrap:wrap}.role-skills span{padding:7px 10px;background:#eaf0f3;border:1px solid #bbc6cd;border-radius:25px;font-size:12px}.role-salary{background:#e8f5f8;border:1.5px solid;padding:22px;align-self:start;box-shadow:4px 4px 0 var(--ink)}.role-local{font:700 10px Arial,sans-serif;letter-spacing:.6px;display:block;margin-bottom:15px}.role-salary .role-salary-value{font-size:28px;font-weight:900;line-height:1.5;margin:22px 0}.role-salary p{font-size:13px;line-height:1.85;margin:12px 0 0}.role-salary #role-salary-meta{border-top:1px solid #aabfc9;padding-top:12px;font-size:12px;color:#394c58}.role-actions{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 40px;border-top:1px solid #bdc7cc;background:#f1f4f5}.role-actions>div>span{font-weight:800;font-size:14px}.role-actions p{font-size:12px;margin:7px 0 0;line-height:1.8}.role-actions a{display:flex;gap:25px;align-items:center;justify-content:space-between;background:var(--ink);color:white;padding:17px 20px;font-weight:800;font-size:13px;flex-shrink:0}.role-actions a:hover{background:#23657b}.role-actions a span{font-size:22px}.role-dialog[open]{animation:detail-open .22s ease-out}@keyframes detail-open{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@media(max-width:680px){.role-dialog{width:calc(100% - 24px);max-height:90svh;box-shadow:5px 5px 0 var(--yellow)}.role-head{padding:30px 22px 24px}.role-head h2{font-size:23px}.role-head p:last-child{font-size:14px}.role-columns{grid-template-columns:1fr;padding:25px 22px;gap:25px}.role-actions{display:block;padding:23px 22px}.role-actions a{margin-top:16px;font-size:12px;padding:15px;gap:12px}.role-close{top:10px;width:34px;height:34px;margin:10px 10px -44px 0}.role-head .section-label{font-size:10px}.role-salary{padding:20px}}
/* Twelve Japan / Okayama-inspired scenes; original sheets are displayed as sprites. */
.scene-image{position:absolute;left:50%;top:50%;height:100%;aspect-ratio:3/2;min-width:100%;transform:translate(-50%,-50%);background-size:200% 200%;background-repeat:no-repeat}.film-track{animation-duration:96s}.film-row-2 .film-track{animation-duration:110s}.motion-enabled .film-track{animation:film-left 96s linear infinite!important}.motion-enabled .film-row-2 .film-track{animation:film-left 110s linear infinite reverse!important}.motion-paused .film-track{animation-play-state:paused!important}.data-definition>strong{display:block;font-size:13px;background:#dfedf1;padding:9px 10px;border-left:3px solid #23839e;margin-bottom:5px}
/* Narrower frames, original 3:2 scene proportions, no stretching. */
.film-photo,.film-photo:nth-child(3n+2),.film-photo:nth-child(3n){width:clamp(240px,25vw,380px)}.film-photo:nth-child(3n+2){width:clamp(220px,23vw,350px)}.film-photo:nth-child(3n){width:clamp(250px,27vw,400px)}.scene-image{width:auto;min-width:0;height:100%;aspect-ratio:3/2}.film-photo.code-photo img{object-fit:cover;object-position:50% 22%}.code-photo figcaption{font-size:11px;top:auto;bottom:14%;left:6%}.film-row-2 .code-photo figcaption{bottom:14%}.film-track{animation-duration:110s}.film-row-2 .film-track{animation-duration:125s}.motion-enabled .film-track{animation:film-left 110s linear infinite!important}.motion-enabled .film-row-2 .film-track{animation:film-left 125s linear infinite reverse!important}.motion-paused .film-track{animation-play-state:paused!important}
/* A clearly actionable, role-specific article entrance. */
.role-actions{display:block;background:#cceef6;padding:28px 40px 32px;border-top:2px solid var(--ink)}.role-next-kicker{font:700 11px Arial,sans-serif;letter-spacing:.5px}.role-next-copy h3{font-size:20px;margin:12px 0 12px;line-height:1.6}.role-next-copy ul{display:flex;flex-wrap:wrap;column-gap:28px;row-gap:8px;margin:0 0 23px;padding-left:18px;font-size:12px;line-height:1.6}.role-actions #role-article{display:flex;align-items:center;justify-content:space-between;background:var(--yellow);color:var(--ink);border:2px solid;border-radius:6px;padding:20px 24px;box-shadow:5px 5px 0 var(--ink);gap:20px;transition:transform .2s,box-shadow .2s,background .2s}.role-actions #role-article:hover{background:#fff;transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.role-actions #role-article:focus-visible{outline:3px solid #154fcd;outline-offset:5px}.role-actions #role-article .role-cta-text{display:flex;flex-direction:column;gap:7px;min-width:0}.role-cta-text small{font-size:15px;font-weight:800;line-height:1.6}.role-cta-text strong{font-size:23px;font-weight:900;line-height:1.5}.role-cta-text em{font-size:12px;font-style:normal;text-decoration:underline;text-underline-offset:3px}.role-actions #role-article .role-cta-arrow{font-size:30px;display:grid;place-items:center;width:51px;height:51px;flex-shrink:0;border:2px solid;border-radius:50%;background:var(--ink);color:white}
/* Shared footer and placeholder information pages. */
footer.site-footer{display:block;background:#0c1821;color:#fff;padding:50px 6% 23px}.footer-main{display:flex;justify-content:space-between;gap:55px;align-items:flex-start;padding-bottom:35px}.footer-identity .brand{font-size:13px;color:#ffe629}.footer-identity .brand-icon{font-size:48px;line-height:52px;padding-right:20px}.footer-identity p{font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:400;letter-spacing:0;line-height:1.8;margin:18px 0 0}.footer-navigation{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;min-width:420px}.footer-navigation a{display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:13px;font-weight:500;padding:15px 0;border-bottom:1px solid #ffffff35}.footer-navigation a span{color:var(--yellow)}.footer-navigation a:hover{color:var(--yellow)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff40;padding-top:23px}.footer-bottom p{margin:0;font-size:11px;font-family:Arial,'Noto Sans JP',sans-serif;letter-spacing:0;font-weight:400}.footer-bottom a{display:flex;gap:18px;align-items:center;font-size:12px}.footer-bottom a span{color:var(--yellow);font-size:20px}.info-page{min-height:100svh;display:flex;flex-direction:column}.info-main{width:min(1100px,100%);margin:0 auto;padding:40px 6% 70px;flex:1;min-height:480px}.info-back{display:inline-block;font-size:13px;margin-bottom:50px;text-decoration:underline;text-underline-offset:4px}.info-main h1{font-size:clamp(26px,4vw,42px);transform:none;font-style:normal;letter-spacing:-.03em;width:auto;line-height:1.5;margin:18px 0 35px}.info-empty{border-top:2px solid var(--ink);padding:30px 0}.info-empty p{font-size:16px;color:#485865}
@media(max-width:800px){.footer-main{flex-direction:column;gap:25px}.footer-navigation{width:100%;min-width:0}.role-cta-text strong{font-size:21px}}
@media(max-width:680px){.film-photo,.film-photo:nth-child(3n+2),.film-photo:nth-child(3n){width:clamp(215px,63vw,290px)}.film-photo:nth-child(3n+2){width:clamp(205px,60vw,280px)}.film-photo:nth-child(3n){width:clamp(220px,66vw,300px)}.role-actions{padding:24px 22px 29px}.role-next-copy h3{font-size:18px}.role-next-copy ul{display:block;font-size:12px;margin-bottom:17px}.role-next-copy li+li{margin-top:5px}.role-actions #role-article{padding:17px 15px;gap:12px;margin-top:0}.role-cta-text small{font-size:12px}.role-cta-text strong{font-size:18px}.role-cta-text em{font-size:11px}.role-actions #role-article .role-cta-arrow{width:37px;height:37px;font-size:24px}.code-photo figcaption{font-size:9px}.footer-navigation{gap:0 22px;grid-template-columns:1fr}.footer-navigation a{font-size:13px;padding:13px 0}.footer-bottom{align-items:flex-start;gap:20px;flex-direction:column}.footer-bottom p{order:0;width:auto;margin:0;font-size:10px}.footer-bottom a{font-size:11px}.footer-identity p{font-size:12px}.info-main{padding:30px 6% 40px}.info-back{margin-bottom:35px}.info-main h1{font-size:28px}}
/* Editorial refinements: independent image selections, generous frames. */
.film-photo,.film-photo:nth-child(3n+2),.film-photo:nth-child(3n){width:clamp(310px,32vw,520px)}.film-photo:nth-child(3n+2){width:clamp(290px,30vw,480px)}.film-photo:nth-child(3n){width:clamp(335px,35vw,560px)}.scene-svg{display:block;width:100%;height:100%;overflow:hidden}.film-track{animation-duration:78s}.film-row-2 .film-track{animation-duration:88s}.motion-enabled .film-track{animation:film-left 78s linear infinite!important}.motion-enabled .film-row-2 .film-track{animation:film-left 88s linear infinite reverse!important}.motion-paused .film-track{animation-play-state:paused!important}.film-photo figcaption.photo-bubble{inset:auto;max-width:80%;padding:10px 15px;border:1.5px solid #15252d;border-radius:24px;font-size:13px;font-weight:700;line-height:1.5;box-shadow:2px 3px 0 #15252d;background:#fff;white-space:normal;rotate:0deg}.film-photo figcaption.photo-bubble{--bubble-fill:#fff;--tail-left:21px;--tail-right:auto;--tail-flip:1;width:max-content;background:var(--bubble-fill)}
.film-photo .photo-bubble::before,.film-photo .photo-bubble::after{content:"";position:absolute;left:var(--tail-left);right:var(--tail-right);width:18px;height:13px;bottom:-12px;background:#15252d;clip-path:polygon(0 0,100% 0,12% 100%);transform:scaleX(var(--tail-flip));border:0}
.film-photo .photo-bubble::after{width:14px;height:10px;bottom:-9px;margin-left:2px;margin-right:2px;background:var(--bubble-fill)}
.film-photo figcaption.bubble-lower-right,.film-photo figcaption.bubble-upper-right{--tail-left:auto;--tail-right:21px;--tail-flip:-1}
.film-photo figcaption.bubble-lower-right,.film-photo figcaption.bubble-mid-left{--bubble-fill:#fff6c3}.film-photo figcaption.bubble-upper-left{top:12%;left:7%;rotate:-5deg}.film-photo figcaption.bubble-lower-right{bottom:18%;right:6%;rotate:4deg;background:#fff6c3}.film-photo figcaption.bubble-upper-right{top:18%;right:7%;rotate:3deg}.film-photo figcaption.bubble-lower-left{bottom:22%;left:7%;rotate:-3deg}.film-photo figcaption.bubble-mid-left{top:32%;left:12%;rotate:-4deg;background:#fff6c3}
/* Crisp type, drawn by the browser, with deliberate kerning and outlines. */
.editorial-brand{top:48%;max-width:94%;width:max-content;filter:none;transform:translate(-50%,-50%) rotate(-4deg);animation:brand-arrive .7s .25s ease-out both}.editorial-tagline{width:max-content;max-width:96%;margin:0 0 8px 5%;padding:7px 16px;background:#111f29;color:#fff;border:1.5px solid #fff;font-size:clamp(12px,1.3vw,19px);font-weight:700;letter-spacing:.05em;line-height:1.6}.editorial-wordmark{position:relative;display:block;width:max-content;margin:0;transform:skewX(-5deg);font-size:clamp(55px,7.7vw,118px);font-weight:900;letter-spacing:-.055em;line-height:1.24;font-style:normal;text-align:left;filter:drop-shadow(4px 7px 0 #101e28)}.editorial-wordmark .wordmark-place{display:block;width:max-content;background:var(--yellow);color:#13212b;font-size:.47em;line-height:1.32;border:3px solid #13212b;padding:.01em .34em .07em;letter-spacing:.04em;margin:0 0 -.02em .25em;box-shadow:none}.editorial-wordmark .wordmark-main{display:block;background:none!important;color:#fff!important;margin:0!important;padding:0 .1em .06em 0!important;border:0!important;line-height:1.24;box-shadow:none!important;-webkit-text-stroke:.08em #101e28;paint-order:stroke fill;text-shadow:1px 0 #fff,-1px 0 #fff}.wordmark-hub{color:var(--yellow);margin-left:.035em;letter-spacing:-.065em;text-shadow:1px 0 var(--yellow),-1px 0 var(--yellow)}.compact-logo{display:flex;flex-direction:column;gap:2px;transform:skewX(-5deg);font-family:'Noto Sans JP',sans-serif;font-weight:900;letter-spacing:-.05em;line-height:1.25}.compact-logo small{font-size:12px;font-weight:900;letter-spacing:.08em}.compact-logo strong{font-size:22px;font-weight:900}.footer-identity .compact-logo strong{font-size:29px}.footer-identity .compact-logo small{font-size:15px}.section-label{font-family:'Noto Sans JP',sans-serif;font-size:13px;letter-spacing:.05em;font-weight:700}.section-heading h2{font-size:clamp(28px,3vw,43px);letter-spacing:-.035em;line-height:1.5}.section-note{font-size:13px;color:#51616a}.path-card{padding-top:28px;box-shadow:3px 4px 0 var(--ink)}.path-card h3{margin:0 0 17px;min-height:74px;font-size:24px}.path-card:hover{rotate:0deg;transform:translateY(-4px);box-shadow:4px 7px 0 var(--ink)}.path-card p{font-size:14px}.job-card{padding:26px 28px;border-radius:4px}.job-body{gap:6px}.job-body strong{font-size:22px;line-height:1.45}.job-body small{font-size:13px;color:#53636a}.job-guide{margin-top:9px;font-size:12px}.job-arrow{border:1px solid;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:21px}.job-card:hover{transform:translateY(-2px);box-shadow:2px 3px 0 var(--ink);background:#fff6c1}.market .section-heading h2{font-size:clamp(28px,2.8vw,41px)}.about{padding-top:55px;padding-bottom:55px}.about h2{font-size:clamp(28px,3vw,43px)}.about .section-label{color:#c3d2da}.role-head .section-label{font-family:Arial,sans-serif}.info-main .section-label{font-family:Arial,sans-serif}
@media(max-width:1000px){.path-card h3{font-size:25px;min-height:70px}.job-body strong{font-size:20px}.job-card{padding:23px}.compact-logo strong{font-size:20px}}
@media(max-width:680px){.film-photo,.film-photo:nth-child(3n+2),.film-photo:nth-child(3n){width:76vw;min-width:260px;max-width:360px}.film-photo:nth-child(3n+2){width:70vw;min-width:245px;max-width:340px}.film-photo:nth-child(3n){width:80vw;max-width:380px}.editorial-brand{width:max-content;max-width:94%;top:46%}.editorial-tagline{font-size:10px;padding:6px 10px;letter-spacing:0;margin-left:3%;max-width:94%;margin-bottom:7px}.editorial-wordmark{font-size:11.6vw;letter-spacing:-.065em;filter:drop-shadow(2px 4px 0 #101e28)}.editorial-wordmark .wordmark-place{font-size:.55em;border-width:2px}.editorial-wordmark .wordmark-main{-webkit-text-stroke:.075em #101e28}.compact-logo small{font-size:10px}.compact-logo strong{font-size:17px}.film-photo figcaption.photo-bubble{font-size:11px;padding:9px 12px}.section-heading h2{font-size:28px}.section-label{font-size:12px}.path-card h3{min-height:0;font-size:24px;margin:0 0 13px;padding-right:0}.path-card{padding-top:25px}.path-card p{padding-right:0;font-size:14px}.job-card{padding:22px 19px}.job-body strong{font-size:18px}.job-body small{font-size:12px}.job-arrow{width:30px;height:30px;flex-shrink:0}.market .section-heading h2{font-size:27px}.hero-motion{font-size:10px}.footer-identity .compact-logo strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.editorial-brand{animation:none!important}}
/* Six distinct photographic scenes per row, autoplay with stop-only control. */
.film-track{animation-duration:60s}.film-row-2 .film-track{animation-duration:68s}.motion-enabled .film-track{animation:film-left 60s linear infinite!important}.motion-enabled .film-row-2 .film-track{animation:film-left 68s linear infinite reverse!important}.motion-paused .film-track{animation-play-state:paused!important}.hero-motion:disabled{opacity:.8;cursor:default;background:#13212b;color:#fff}
/* Restore a distinct brand mark in header and footer. */
.brand{gap:14px}.brand .restored-mark{display:block;font-family:Arial,sans-serif;font-size:49px;font-weight:900;font-style:italic;line-height:54px;letter-spacing:-5px;padding-right:17px;position:relative;flex-shrink:0}.brand .restored-mark>span{font-size:28px;position:absolute;top:-7px;right:0;line-height:1}.brand .compact-logo{gap:3px;transform:none;letter-spacing:-.035em}.brand .compact-logo small{font-size:12px;letter-spacing:.12em}.brand .compact-logo strong{font-size:23px}.footer-identity .brand{gap:20px}.footer-identity .restored-mark{font-size:69px;line-height:74px;padding-right:23px}.footer-identity .restored-mark>span{font-size:37px;top:-8px}.footer-identity .compact-logo strong{font-size:30px}.footer-identity .compact-logo small{font-size:15px}.footer-identity .brand{color:var(--yellow)}
@media(max-width:680px){header .brand{gap:9px}header .brand .restored-mark{font-size:37px;line-height:42px;padding-right:13px}header .brand .restored-mark>span{font-size:23px;top:-6px}header .brand .compact-logo strong{font-size:16px}header .brand .compact-logo small{font-size:10px}header nav{gap:12px;font-size:11px}.footer-identity .restored-mark{font-size:58px;line-height:62px;padding-right:20px}.footer-identity .restored-mark>span{font-size:32px}.footer-identity .compact-logo strong{font-size:25px}.footer-identity .compact-logo small{font-size:13px}.footer-identity .brand{gap:15px}}
@media(max-width:380px){header{padding-left:4%;padding-right:4%}header .brand .compact-logo strong{font-size:14px}header nav{gap:8px;font-size:10px}header .brand .restored-mark{font-size:32px;line-height:38px}}

/* Category palette follows the yellow and ink identity. */
.paths .path-card{border-color:var(--ink);color:var(--ink);border-radius:4px;box-shadow:3px 4px 0 var(--ink)}
.paths .path-card.blue{background:var(--yellow)}
.paths .path-card.pink{background:var(--ink);color:#fff;box-shadow:3px 4px 0 var(--yellow)}
.paths .path-card.yellow,.paths .path-card.green{background:#fff}
.paths .path-card .card-bottom{border-color:#13212b40}
.paths .path-card .card-bottom b{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.paths .path-card.pink .card-bottom{border-color:#ffffff50}
.paths .path-card.pink .card-bottom b{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.paths .path-card:hover{box-shadow:4px 7px 0 var(--ink)}
.paths .path-card.pink:hover{box-shadow:4px 7px 0 var(--yellow)}
.paths .path-card.yellow:hover,.paths .path-card.green:hover{background:#fffbe1}

/* Crisp sign lettering, with a continuous extruded edge. */
.collage-brand{filter:none;transform:translate(-50%,-50%) rotate(-5deg)}
.collage-logo{font-style:normal;transform:skewX(-5deg);font-weight:900;font-size:clamp(52px,7.8vw,118px);letter-spacing:-.065em;isolation:isolate}
.collage-logo .logo-place{min-width:0;margin-left:4%;padding:.04em .3em .12em;font-size:.52em;line-height:1.18;letter-spacing:.06em;border:3px solid var(--ink);border-bottom:0;box-shadow:3px 0 0 var(--ink);text-shadow:1px 1px 0 #fff8}
.photo-hero .collage-logo .logo-main{position:relative;z-index:2;display:block;padding:.05em .15em .12em;line-height:1.3;border:3px solid var(--ink);background:#fff;color:var(--ink);text-shadow:.018em .025em 0 var(--yellow);box-shadow:1px 1px 0 var(--ink),2px 2px 0 var(--ink),3px 3px 0 var(--ink),4px 4px 0 var(--ink),5px 5px 0 var(--ink),6px 6px 0 var(--ink),7px 7px 0 var(--ink),8px 8px 0 var(--ink),9px 9px 0 var(--ink),10px 10px 0 var(--ink),12px 12px 0 #fff}
.collage-logo .logo-hub{display:inline-block;position:relative;margin-left:.07em;padding:0 .05em .025em;line-height:1.08;background:var(--ink);color:var(--yellow);letter-spacing:-.08em;-webkit-text-stroke:.025em var(--ink);paint-order:stroke fill;text-shadow:.014em .016em 0 #fff;transform:rotate(-2deg);box-shadow:.022em .025em 0 var(--yellow)}
.collage-tagline{font-size:clamp(12px,1.3vw,19px);letter-spacing:.025em;box-shadow:3px 3px 0 var(--ink);margin-bottom:12px}
.collage-subline{margin-top:25px;background:var(--yellow);box-shadow:3px 4px 0 var(--ink);font-weight:800;letter-spacing:.02em}
@media(max-width:680px){.collage-brand{width:90%;max-width:90%}.collage-logo{font-size:11.3vw}.collage-logo .logo-place{font-size:.6em;border-width:2px}.photo-hero .collage-logo .logo-main{padding:.08em .12em .14em;border-width:2px;box-shadow:1px 1px 0 var(--ink),2px 2px 0 var(--ink),3px 3px 0 var(--ink),4px 4px 0 var(--ink),5px 5px 0 var(--ink),6px 6px 0 var(--ink),8px 8px 0 #fff}.collage-tagline{font-size:11px;padding:7px 10px}.collage-subline{font-size:13px;padding:8px 12px;margin-top:20px}}

/* The extrusion follows each glyph, rather than a rectangular sign. */
.collage-brand:has(.dimensional-logo){filter:none;transform:translate(-50%,-50%) rotate(-6deg)}
.collage-logo.dimensional-logo{--letter-edge:#080d10;--letter-depth:.012em .016em 0 var(--letter-edge),.024em .032em 0 var(--letter-edge),.036em .048em 0 var(--letter-edge),.048em .064em 0 var(--letter-edge),.06em .08em 0 var(--letter-edge),.072em .096em 0 var(--letter-edge),.084em .112em 0 var(--letter-edge);transform:skewX(-9deg);font-style:normal;line-height:1.3;padding-right:.1em}
.collage-logo.dimensional-logo .logo-place{display:block;min-width:0;width:max-content;margin:0 0 -.06em .12em;padding:0 .08em .04em;border:0;background:none;color:var(--yellow);box-shadow:none;font-size:.53em;font-weight:900;letter-spacing:.015em;line-height:1.28;-webkit-text-stroke:.075em var(--letter-edge);paint-order:stroke fill;text-shadow:var(--letter-depth)}
.photo-hero .collage-logo.dimensional-logo .logo-main{display:block;position:relative;margin:0;padding:0 .07em .16em 0;border:0;background:none;color:#fff;box-shadow:none;font-weight:900;line-height:1.3;letter-spacing:-.065em;-webkit-text-stroke:.075em var(--letter-edge);paint-order:stroke fill;text-shadow:var(--letter-depth);white-space:nowrap}
.collage-logo.dimensional-logo .logo-hub{display:inline;margin-left:.015em;padding:0;line-height:inherit;background:none;color:var(--yellow);box-shadow:none;letter-spacing:-.075em;transform:none;-webkit-text-stroke:inherit;paint-order:stroke fill;text-shadow:inherit}
.collage-brand:has(.dimensional-logo) .collage-tagline{margin-bottom:14px}
.collage-brand:has(.dimensional-logo) .collage-subline{margin-top:10px}
@media(max-width:680px){.collage-logo.dimensional-logo{font-size:11.3vw}.collage-logo.dimensional-logo .logo-place{font-size:.6em}.photo-hero .collage-logo.dimensional-logo .logo-main{padding:0 .07em .16em 0;border:0;box-shadow:none}.collage-brand:has(.dimensional-logo) .collage-subline{margin-top:12px}}

/* 1.0.1: distinct directory card and centered mobile brand group. */
.paths .path-card.green{background:#d4e7ee}
.paths .path-card.green:hover{background:#bfdae6}
.role-public-source[hidden]{display:none!important}
.role-public-source a{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.role-salary #role-salary-local{font-family:inherit;font-size:12px;line-height:1.6}
@media(max-width:680px){
 .collage-brand:has(.dimensional-logo){top:50%;left:50%;width:max-content;max-width:92%;transform:translate(-50%,-50%) rotate(-6deg);transform-origin:center center}
 .collage-logo.dimensional-logo{width:max-content;max-width:100%;margin-inline:auto;transform-origin:center center}
 .collage-brand:has(.dimensional-logo) .collage-tagline{max-width:100%;box-sizing:border-box}
}

/* 1.0.2: Latin Hub keeps the existing fill, outline, depth and overall tilt. */
.collage-logo.dimensional-logo .logo-hub{letter-spacing:-.025em;margin-left:.045em}

/* 1.0.4: category navigation and automatically populated latest posts. */
header .oeh-primary-nav{gap:clamp(18px,2.2vw,36px);font-size:14px;font-weight:700}
header .oeh-primary-nav a{line-height:1.6;white-space:nowrap}
.oeh-nav-toggle{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 12px;background:transparent;border:1.5px solid var(--ink);border-radius:5px;font-size:13px;font-weight:700}
.oeh-nav-toggle[hidden],header .oeh-primary-nav[hidden]{display:none!important}
.oeh-menu-icon{display:block;width:19px;height:14px;border-top:2px solid;border-bottom:2px solid;position:relative}
.oeh-menu-icon::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid}
.oeh-latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.oeh-latest-item{min-width:0}
.oeh-latest-card{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#fff;border:1.5px solid var(--ink);border-radius:5px;transition:background .2s,transform .2s,box-shadow .2s}
.oeh-latest-card:hover,.oeh-latest-card:focus-visible{background:var(--yellow);transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}
.oeh-latest-image{aspect-ratio:16/9;overflow:hidden;border-bottom:1.5px solid var(--ink);background:var(--yellow)}
.oeh-latest-image img{display:block;width:100%;height:100%;object-fit:cover}
.oeh-latest-placeholder{display:grid;place-items:center;width:100%;height:100%;padding:20px;color:var(--ink);font:bold 22px/1.4 Arial,sans-serif;text-align:center}
.oeh-latest-body{padding:20px 21px 25px}
.oeh-latest-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px}
.oeh-latest-category{display:inline-block;max-width:100%;padding:5px 10px;background:var(--ink);color:white;border-radius:3px;font-size:12px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.oeh-latest-meta time{font:13px/1.6 Arial,sans-serif;color:#52606a}
.oeh-latest-body h3{margin:0;font-size:19px;font-weight:800;line-height:1.65;overflow-wrap:anywhere}
.oeh-latest-bottom{margin-top:32px;text-align:center}
.oeh-latest-all{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 24px;background:white;border:1.5px solid var(--ink);border-radius:5px;font-size:14px;font-weight:800;box-shadow:3px 3px 0 var(--ink);transition:background .2s}
.oeh-latest-all:hover{background:var(--yellow)}
.oeh-latest-all span{font-size:22px}
@media(max-width:1100px){
 header:has(.oeh-primary-nav){height:auto;min-height:88px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:12px}
 header .oeh-primary-nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;order:3;font-size:14px}
 header .oeh-primary-nav a{padding:14px 3px;border-bottom:1px solid #13212b35;white-space:normal;overflow-wrap:anywhere}
 header:has(.oeh-nav-toggle:not([hidden])) .oeh-primary-nav{position:absolute;left:0;right:0;top:100%;padding:10px 5% 18px;background:var(--paper);border-bottom:2px solid var(--ink);box-shadow:0 8px 0 #13212b15;max-height:calc(100svh - 90px);overflow:auto}
}
@media(max-width:680px){
 .oeh-latest-grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .oeh-latest-body{padding:18px 19px 23px}
 .oeh-latest-body h3{font-size:18px}
 header .oeh-primary-nav{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:680px){header:has(.oeh-primary-nav){min-height:70px}}
