/* Slides requested September 24. Only these five sections are restyled. */
/* User follow-up: explanatory copy is centered throughout the LP; tables/forms retain alignment. */
.copy-section .copy-stack p,.copy-section .point-block>p,.copy-section .section-inner>p,.entry-intro{text-align:center;width:100%}
.copy-section .copy-stack,.copy-section .point-block{width:100%}
.copy-section .point-block>.lead{text-align:center}
.section-title-image{width:100%;max-width:400px;height:112px;margin-inline:auto;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.section-title-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
@media(max-height:740px){.section-title-image{height:92px}}
:is(#company,#island,#work,.merit-point){--section-pale:#e0ebf0;background:var(--section-pale);isolation:isolate}
:is(#company,#island,#work,.merit-point) .section-inner{position:relative;gap:18px;padding:30px 20px 24px;justify-content:center;align-items:stretch}
:is(#company,#island,#work,.merit-point) h2{font-family:'Darumadrop One','Zen Maru Gothic',sans-serif;font-size:32px;line-height:1.22;letter-spacing:.025em}
:is(#company,#island,#work,.merit-point) .eyebrow{font-family:'Darumadrop One',sans-serif;color:var(--base);font-size:15px;line-height:1.2}
:is(#company,#island,#work,.merit-point) .copy-stack{gap:12px;font-size:14px;line-height:1.81}
:is(#company,#island,#work,.merit-point) .lead{color:var(--base);font-size:18px;line-height:1.41}
#company{overflow:hidden}
#company .section-inner{z-index:auto}
#company .company-map,#work .work-map{position:absolute;z-index:0;left:-10%;top:55%;width:120%;max-width:none;height:auto;opacity:.16;pointer-events:none}
#company .company-image-title{position:relative;width:100%;margin:0 auto}
#company .company-image-title>img:first-child{width:100%;mix-blend-mode:multiply}
#company .company-color-filter{position:absolute;width:0;height:0;overflow:hidden}
#company .company-accent-lettering{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;clip-path:inset(47% 66.6% 15.7% 0);filter:url(#company-island-accent)}
#company .company-scene{position:relative;display:flex;justify-content:center;align-items:flex-end;align-self:stretch;flex-shrink:0}
#company .company-visual{width:min(82%,300px);aspect-ratio:6/5;align-self:center;margin:0;border:3px solid var(--ink);border-radius:46% 54% 49% 51% / 52% 45% 55% 48%;overflow:hidden;background:#fff;box-shadow:4px 5px 0 var(--accent)}
#company .company-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
#company .company-cat{position:absolute;z-index:2;right:0;bottom:0;width:48px;aspect-ratio:1;pointer-events:none;filter:drop-shadow(2px 3px 2px #16362c44)}
#company .company-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#company .company-cat-body{clip-path:polygon(25% 0,55% 0,55% 27%,64% 37%,66% 53%,100% 59%,100% 100%,0 100%,0 78%,26% 73%,28% 48%,25% 43%)}
#company .company-cat-head{clip-path:polygon(48% 0,100% 0,100% 62%,63% 63%,48% 47%);transform-origin:62% 47%;animation:company-cat-look 5.6s ease-in-out infinite}
#company .company-cat-tail{clip-path:polygon(0 34%,40% 34%,40% 82%,0 82%);transform-origin:35% 58%;animation:company-cat-tail-swish 3.6s ease-in-out infinite}
@keyframes company-cat-look{0%,15%,100%{transform:rotate(0)}30%,44%{transform:rotate(-5deg)}62%,78%{transform:rotate(4deg)}}
@keyframes company-cat-tail-swish{0%,100%{transform:rotate(-2deg)}35%{transform:rotate(3deg)}65%{transform:rotate(-1deg)}80%{transform:rotate(2deg)}}
@media(prefers-reduced-motion:reduce){#company .company-cat-head,#company .company-cat-tail{animation:none;transform:none}}
@media(max-width:500px){#company .company-visual{width:min(74%,260px)}#company .company-cat{width:44px}}
#company .lead{text-align:center;color:var(--ink);font-family:'Darumadrop One','Zen Maru Gothic',sans-serif;font-size:24px}
#island::before{content:'';position:absolute;inset:0 0 auto;height:150px;background:#fff;clip-path:polygon(0 0,75% 0,0 100%);z-index:-1}
#island .eyebrow,#island h2{text-align:center}
#island h2{color:var(--base)}
#island .island-photo{width:100%;max-width:none;margin:0 auto;aspect-ratio:1920/1281;object-fit:contain;flex-shrink:0;border:3px solid var(--ink);border-radius:14px;box-shadow:3px 4px 0 var(--accent)}
#island .section-inner{gap:14px}
#island .lead{font-size:18px}
#mobility{background:#f6fcfe url('images/sections/mobility-backdrop.png') center/100% 100% no-repeat;overflow:hidden;isolation:isolate}
#mobility .section-inner{padding:126px 24px 142px;gap:10px;justify-content:center;align-items:stretch}
#mobility .section-title-image{height:106px;max-width:390px;flex-shrink:0}
#mobility .copy-stack{gap:7px;font-size:14px;line-height:1.6}
#mobility .lead{text-align:center;font-family:'Darumadrop One','Zen Maru Gothic',sans-serif;font-size:23px;line-height:1.35}
#mobility .section-inner>p:last-child{text-align:center;font-size:14px;line-height:1.65}
#mobility .mobility-sea-lane{position:absolute;z-index:2;left:0;right:0;top:6%;height:16%;overflow:hidden;pointer-events:none}
#mobility .mobility-ferry{position:absolute;left:10%;bottom:2px;width:94px;animation:mobility-ferry-cross 14s ease-in-out infinite alternate}
#mobility .mobility-ferry img{width:100%;height:auto;animation:mobility-ferry-bob 2.3s ease-in-out infinite}
#mobility .mobility-road{position:absolute;z-index:2;inset:auto 0 0;height:25%;overflow:hidden;pointer-events:none}
#mobility .mobility-car{position:absolute;left:2%;bottom:1%;width:34%;height:auto;filter:drop-shadow(2px 4px 2px #203d4566);animation:mobility-car-drive 8s ease-in-out -2s infinite alternate}
#mobility .mobility-bus{position:absolute;right:0;bottom:20%;width:42%;height:auto;filter:drop-shadow(2px 4px 2px #203d4566);animation:mobility-bus-drive 9s ease-in-out -3s infinite alternate}
@keyframes mobility-ferry-cross{from{left:10%}to{left:68%}}
@keyframes mobility-ferry-bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}
@keyframes mobility-car-drive{0%{left:2%;transform:translateY(3px) rotate(-.5deg)}100%{left:16%;transform:translateY(-3px) rotate(.5deg)}}
@keyframes mobility-bus-drive{0%{right:0;transform:translateY(-2px) rotate(.4deg)}100%{right:5%;transform:translateY(3px) rotate(-.4deg)}}
@media(prefers-reduced-motion:reduce){#mobility .mobility-ferry,#mobility .mobility-ferry img,#mobility .mobility-car,#mobility .mobility-bus{animation:none;transform:none}#mobility .mobility-ferry{left:12%}#mobility .mobility-car{left:6%}#mobility .mobility-bus{right:4%}}
#work{background:#cceff1;overflow:hidden}
#work::before{content:'';position:absolute;inset:0;opacity:.34;background:radial-gradient(circle at 9% 14%,#fff7ca 0 16px,transparent 17px),radial-gradient(circle at 93% 83%,#fead84 0 11px,transparent 12px),repeating-linear-gradient(-11deg,transparent 0 39px,#56bfc021 40px 41px)}
#work .section-inner{z-index:auto;gap:12px}
#work .section-inner::before{content:'';position:absolute;z-index:0;inset:17px 9px 12px;background:#fff9eb;border:2px solid #10242a;border-radius:12px 25px 15px 20px / 19px 13px 23px 14px;box-shadow:5px 6px 0 #10c6b1;transform:rotate(-1deg);pointer-events:none}
#work .work-map{z-index:1}
#work .section-inner>*:not(.work-map){position:relative;z-index:2}
#work .section-title-image{mix-blend-mode:multiply}
#work .work-visual{position:relative;width:100%;margin:0 auto;height:170px;flex-shrink:0;background:var(--section-pale);border:2px solid var(--ink);border-radius:15px 24px 60% 15% / 18px 15px 35% 12%}
#work .work-visual::before{content:'';position:absolute;left:5%;bottom:0;width:90%;height:65%;border-radius:50%;background:#10c6b11a}
#work .work-car{position:absolute;right:5%;bottom:9%;width:65%;height:85%;object-fit:contain}
#work .work-person{position:absolute;left:10%;bottom:3%;width:34%;height:94%;object-fit:contain}
#work .eyebrow{margin-top:6px}
#work h2{color:var(--ink)}
#work .section-title-image{height:100px}
#work .section-inner .copy-stack{font-size:13px;line-height:1.65;gap:8px}
#work .cta{align-self:center;font-family:'Darumadrop One',sans-serif;font-size:16px;padding:6px 34px 6px 14px;border:2px solid var(--ink);border-radius:3px 7px 4px 2px;min-height:34px}
#work .cta::before{content:none}
:is(#merit-time,#merit-overtime,#merit-skill,#merit-specialty){background:#fdf6e7 url('images/sections/worklife-scrapbook-background.png') center/cover no-repeat}
.merit-point::before{content:none}
:is(#merit-time,#merit-overtime,#merit-skill,#merit-specialty) .section-inner{gap:14px;padding-inline:34px}
.merit-point h2{color:var(--ink);font-size:30px}
.merit-point .point-block{gap:9px;font-size:14px;line-height:1.81}
.merit-point .point-block h3{font-family:'Darumadrop One','Zen Maru Gothic',sans-serif;font-size:22px;color:var(--base)}
.merit-point .section-title-image{mix-blend-mode:multiply}
.merit-point .worklife-card{position:relative;width:min(100%,370px);margin:0 auto;padding:8px 8px 18px;background:#fffdf7;border:1px solid #d0c8ad;transform:rotate(-4deg);box-shadow:3px 5px 8px #1735283b}
.merit-point .worklife-card::before{content:'';position:absolute;z-index:1;top:-7px;left:37%;width:25%;height:18px;background:#ffcb659e;transform:rotate(-7deg);clip-path:polygon(2% 0,100% 6%,97% 100%,0 93%)}
.merit-point .worklife-card::after{content:'POST CARD  ◌  IRIOMOTE';position:absolute;right:8px;bottom:3px;color:#1a8c91;font-size:8px;line-height:1;letter-spacing:.15em}
.merit-point .worklife-card img{display:block;width:100%;height:auto}
.merit-point .worklife-scene{position:relative;width:100%;aspect-ratio:1.75;overflow:hidden;background:#fff}
.merit-point .worklife-card .worklife-scene img{position:absolute;left:0;top:-132%;width:200%;height:auto;max-width:none}
.merit-point .worklife-card .worklife-scene--night img{left:-100%}
.worklife-card .travel-flower{position:absolute;z-index:3;left:-24px;bottom:-17px;color:#f16846;font-size:68px;line-height:1;text-shadow:1px 2px 0 #ac452a;transform:rotate(-18deg)}
.merit-point .travel-flower{display:none}
.worklife-card--pair{aspect-ratio:3/2;transform:rotate(4deg)!important}
.worklife-card--pair img{position:absolute;width:58%!important;height:auto;box-shadow:2px 4px 6px #163b4430;background:#fff}
.worklife-card--pair img:first-child{left:1%;top:2%;transform:rotate(-7deg)}
.worklife-card--pair img:nth-child(2){right:1%;bottom:7%;transform:rotate(7deg)}
.merit-point .point-block{padding:8px 12px;background:#fffdf7;border:1px solid #cbd4c9;border-radius:5px 11px 7px 10px;box-shadow:2px 3px 0 #10c6b14d}
.merit-point .point-block h3{letter-spacing:.025em}
.merit-point .point-block:last-child{transform:rotate(-1deg)}
.island-collage{position:relative;isolation:isolate;height:225px;width:min(100%,370px);align-self:center;flex-shrink:0;margin:3px 0 8px}
.postcard{position:absolute;width:min(65%,215px);background:#fffaf0;padding:7px 7px 4px;box-shadow:2px 4px 7px #17352835;border:1px solid #d4cec0}
.postcard img{width:100%;aspect-ratio:3/2;object-fit:contain}
.postcard span{display:block;color:#657d76;text-align:left;font-size:9px;line-height:1.4;letter-spacing:.2em;padding-top:3px}
.postcard--one{left:2%;top:0;transform:rotate(-8deg)}
.postcard--two{right:2%;top:37px;transform:rotate(8deg)}
.postmark{position:absolute;right:0;top:-7px;z-index:3;width:61px;height:61px;border:2px solid #315449;border-radius:50%;display:grid;place-content:center;transform:rotate(16deg);font-size:8px;line-height:1.3;text-align:center;letter-spacing:.1em;color:#315449;background:#fff6}
.collage-flower{position:absolute;left:5%;bottom:-9px;font-size:74px;line-height:1;color:#ed633e;text-shadow:1px 1px #d84120;z-index:3;transform:rotate(-15deg)}
.collage-leaf{position:absolute;width:72px;height:25px;border-radius:100% 0 100% 0;background:repeating-linear-gradient(45deg,transparent 0 8px,#f6f3d644 9px 10px),#3b8b62;z-index:-1}
.collage-leaf--one{left:-8px;bottom:9px;transform:rotate(-40deg)}
.collage-leaf--two{right:-5px;top:0;transform:rotate(60deg)}
.island-collage--skill .postcard--one{transform:rotate(-5deg)}
.island-collage--skill .postcard--two{transform:rotate(11deg)}
@media(max-height:780px){
 :is(#company,#island,#work,.merit-point) .section-inner{gap:12px;padding-top:22px;padding-bottom:18px}
 #company .company-visual{width:min(66%,230px)}#company .company-cat{width:42px}
 #work .section-inner{gap:8px}
 #work .work-visual{height:112px}
 #work .section-title-image{height:78px}
 #work .section-inner .copy-stack{font-size:12px;line-height:1.52;gap:6px}
 .island-collage{height:195px;width:min(90%,340px);align-self:center}
 .merit-point .worklife-card{width:min(90%,340px)}
 .postcard{width:min(61%,190px)}.postcard--two{top:24px}
 :is(#company,#island,#work,.merit-point) .copy-stack,.merit-point .point-block{font-size:13px;line-height:1.72;gap:9px}
 #island .island-photo{max-height:205px;background:#d6e5e7}
 #mobility .section-inner{padding-top:110px;padding-bottom:112px;gap:8px}
 #mobility .section-title-image{height:92px}
 #mobility .copy-stack{font-size:13px;line-height:1.52;gap:5px}
 #mobility .lead{font-size:21px}
 #mobility .section-inner>p:last-child{font-size:13px;line-height:1.55}
}
@media(max-height:690px){
 :is(#company,#island,#work,.merit-point) .section-inner{gap:9px;padding-top:18px;padding-bottom:12px}
 #company .company-image-title{width:86%}#company .company-visual{width:min(55%,190px)}#company .company-cat{width:40px}#company .lead{font-size:21px}
 #island h2,#work h2,.merit-point h2{font-size:27px}
 #island .island-photo{max-height:170px}
 #island .lead,#work .lead{font-size:16px}
 #work .section-inner{gap:5px;padding-top:14px;padding-bottom:9px}
 #work .work-visual{height:92px}
 #work .section-title-image{height:70px}
 #work .section-inner .copy-stack{font-size:11.8px;line-height:1.43;gap:5px}
 #work .cta{font-size:14px;min-height:30px;padding-block:3px}
 .island-collage{height:170px;width:72%;margin-bottom:9px}
 .merit-point .worklife-card{width:72%}
 .postcard{width:58%}
 .merit-point .point-block h3{font-size:20px}
 #mobility .section-inner{padding-top:82px;padding-bottom:85px;gap:5px}
 #mobility .section-title-image{height:78px}
 #mobility .copy-stack{font-size:12px;line-height:1.45;gap:4px}
 #mobility .lead{font-size:18px}
 #mobility .section-inner>p:last-child{font-size:12px;line-height:1.45}
 #mobility .mobility-sea-lane{top:3%;height:14%}
 #mobility .mobility-road{height:19%}
}
/* The shared turquoise accent carries through the sections after the FV. */
:is(#company,#island,#mobility,#work,.merit-point) .lead{color:var(--accent)}
.swipe-section:not(.hero) .lead,.swipe-section:not(.hero) .job-facts dt{color:var(--accent)}
:is(#company,#island,#mobility,#work,.merit-point) .copy-stack p:first-child::before{content:'';display:block;width:32px;height:3px;margin:0 auto 8px;border-radius:99px;background:var(--accent)}
.merit-point .point-block h3{color:var(--accent)}
:is(#day-morning,#day-afternoon) .job-facts dt{color:var(--accent)}
.merit-point .postmark{border-color:var(--accent);color:#087e72}
:is(#merit-time,#merit-overtime,#merit-skill,#merit-specialty) .merit-title{position:relative;display:block;align-self:center;width:min(100%,400px);height:104px;margin-top:24px;background:#fff9ec;border-radius:13px 8px 16px 10px;box-shadow:3px 4px 0 #e6c98691;overflow:hidden;mix-blend-mode:normal}
.merit-title .merit-kicker{position:absolute;z-index:2;top:5px;left:0;width:100%;text-align:center;white-space:nowrap;color:#283fc5;font-family:'Darumadrop One','Zen Maru Gothic',sans-serif;font-size:18px;line-height:1.1;letter-spacing:.015em}
.merit-title img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;clip-path:inset(36% 0 0 0);mix-blend-mode:multiply}
#merit-time .merit-title img,#merit-overtime .merit-title img{clip-path:inset(42% 0 0 0)}
@media(max-height:690px){:is(#merit-time,#merit-overtime,#merit-skill,#merit-specialty) .merit-title{height:82px;margin-top:15px}.merit-title .merit-kicker{font-size:15px}}
#day-morning{background:#fff;overflow:hidden}
#day-morning .day-layout{width:min(100%,480px);margin:auto;padding:42px 18px 54px}
#day-morning .day-heading{text-align:center;margin:0 0 30px}
#day-morning .day-heading h2{width:100%;margin:0}
#day-morning .day-heading img{display:block;width:100%;height:auto}
#day-morning .day-timeline{position:relative}
#day-morning .day-axis{position:absolute;z-index:0;top:0;bottom:0;left:15px;width:3px;background:#dce4f8;border-radius:4px}
#day-morning .day-axis::after{content:'';display:block;width:100%;height:var(--line-progress,0%);background:#2445c8;border-radius:4px;transition:height .55s ease-out}
#day-morning .day-events{list-style:none;display:grid;gap:17px;margin:0;padding:0 0 0 36px}
#day-morning .day-event{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);gap:11px;align-items:center;min-height:115px;opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s ease}
#day-morning .day-event.is-visible{opacity:1;transform:none}
#day-morning .day-event::before{content:'';position:absolute;z-index:1;left:-29px;top:50%;width:16px;height:16px;border:3px solid #2445c8;border-radius:50%;background:#ffe630;transform:translateY(-50%);box-shadow:0 0 0 3px #fff}
#day-morning .day-scene{width:130px;height:112px;border-radius:13px;border:2px solid #071a25;background-image:url('images/sections/mechanic-day-timeline.png');background-repeat:no-repeat;background-size:470.5px 836px;background-position:var(--scene-x) var(--scene-y);box-shadow:3px 4px 0 #d5e7f4}
#day-morning .day-event:nth-child(5) .day-scene{width:115px}
#day-morning .day-event-copy{min-width:0}
#day-morning .day-event-copy time{display:inline-block;padding:1px 10px;border-radius:100px;background:#2445c8;color:#fff;font:400 18px/1.15 'Darumadrop One',sans-serif}
#day-morning .day-event-copy h3{width:fit-content;max-width:100%;margin:3px 0 5px;padding:2px 11px;border-radius:100px;background:#ffe630;color:#071a25;font:400 24px/1.12 'Darumadrop One',sans-serif}
#day-morning .day-event-copy p{text-align:left;font-size:12px;line-height:1.55;letter-spacing:0}
@media(max-width:380px){#day-morning .day-layout{padding-inline:12px}#day-morning .day-event{grid-template-columns:115px minmax(0,1fr);gap:8px}#day-morning .day-scene{width:115px}#day-morning .day-event-copy h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){#day-morning .day-axis::after{height:100%!important;transition:none}#day-morning .day-event{opacity:1;transform:none;transition:none}}
@media(scripting:none){#day-morning .day-axis::after{height:100%}#day-morning .day-event{opacity:1;transform:none}}
#people{isolation:isolate;overflow:hidden;background:#fff url('images/sections/people-island-background-tall.png') center/100% 100% no-repeat}
#people .section-inner{position:relative;height:100%;min-height:0;padding:35px 24px 48px;gap:12px;align-items:center;justify-content:center}
#people .people-title{width:100%;height:auto;max-width:420px;mix-blend-mode:multiply}
#people .people-title img{width:100%;height:auto}
#people .story-image{width:80px;max-height:none;aspect-ratio:138/134;flex-shrink:0}
#people .copy-stack{gap:10px;font-size:13px;line-height:1.7;letter-spacing:0}
#people .lead{font-size:17px;line-height:1.5}
#people .people-voice{padding-top:12px;border-top:2px solid #10c6b140}
#people .people-voice strong{display:block;margin:6px 0;color:var(--accent);font-size:16px;line-height:1.5}
@media(max-height:740px){#people .section-inner{padding:24px 21px 32px;gap:8px}#people .people-title{max-width:290px}#people .story-image{width:58px}#people .copy-stack{font-size:12px;line-height:1.6;gap:7px}#people .lead{font-size:15px}#people .people-voice{padding-top:8px}#people .people-voice strong{font-size:14px;margin:4px 0}}
#company-profile .section-inner{gap:15px;padding:28px 24px;justify-content:center}
#company-profile .job-facts{font-size:13px;line-height:1.7}
#company-profile .job-facts>div{grid-template-columns:65px minmax(0,1fr);gap:12px;padding-block:10px}
#company-profile .job-facts dd p+p{margin-top:7px}
#requirements{overflow:hidden;touch-action:pan-y pinch-zoom;background:#e7f7f5}
#requirements .section-inner{min-height:0;gap:12px;padding:24px 20px 20px;align-items:stretch;justify-content:flex-start}
#requirements .section-title-image{height:92px;flex:none}
#requirements .requirements-scroll-hint{flex:none;margin:0;text-align:center;font-size:11px;color:#426963;line-height:1.4}
#requirements .requirements-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;padding:0 16px;background:#fff;border:2px solid #143b3a;border-radius:16px;scrollbar-width:thin;scrollbar-color:#10c6b1 #edf6f3;scrollbar-gutter:stable}
#requirements .requirements-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
#requirements .job-facts{border-top:0;font-size:14px;line-height:1.8}
#requirements .job-facts>div{display:block;padding:15px 0;border-bottom:1px solid #cde4df}
#requirements .job-facts>div:last-child{border-bottom:0}
#requirements .job-facts dt{margin-bottom:5px;font-size:15px}
#requirements .job-facts dd{overflow-wrap:anywhere}
#requirements .job-facts dd p+p{margin-top:6px}
#requirements .recruit-space{margin-top:18px}
#requirements .recruit-indent{padding-left:1em;margin:8px 0 12px}
@media(max-height:690px){#company-profile .section-inner{padding:20px;gap:10px}#company-profile .section-title-image{height:80px}#company-profile .job-facts>div{padding-block:8px}#requirements .section-inner{padding:19px 18px 15px;gap:9px}#requirements .section-title-image{height:72px}}
#entry{position:relative;isolation:isolate;overflow:hidden;touch-action:pan-y pinch-zoom;background:#e8f7f7}
#entry::before,#entry::after{content:'';position:absolute;z-index:-1;left:0;right:0;pointer-events:none;background-image:url('images/sections/mobility-backdrop.png');background-repeat:no-repeat;background-size:100% auto}
#entry::before{top:0;height:300px;background-position:center top;mask-image:linear-gradient(#000 65%,transparent)}
#entry::after{bottom:0;height:170px;background-position:center bottom}
#entry .section-inner{position:relative;height:100%;min-height:0;padding:108px 22px 26px;gap:10px;align-items:stretch;justify-content:flex-start}
#entry .section-title-image{height:100px;width:100%;max-width:410px;mix-blend-mode:multiply;flex:none}
#entry .section-title-image img{height:100%;object-fit:contain}
#entry .section-inner>.lead{width:100%;text-align:center;margin:2px auto 0;color:var(--accent);font-size:22px;font-weight:700}
#entry .entry-intro{font-size:14px;line-height:1.8}
#entry .contact-form{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#10c6b1 #edf6f3;scrollbar-gutter:stable;padding:24px 20px 28px;margin-top:4px;border:2px solid #123d40;border-radius:24px 18px 28px 20px;background:#fffef9;box-shadow:5px 6px 0 #10c6b1}
#entry .form-notice{color:#587071;font-size:11px;padding-bottom:18px;border-bottom:2px dashed #c3e1db;margin-bottom:23px}
#entry .form-fields{gap:24px;margin-bottom:28px}
#entry .field{gap:9px}
#entry .field label{color:#113439;font-weight:700;font-size:15px}
#entry .required{background:var(--base);color:#fff;padding:1px 8px;margin-left:5px;font-size:10px;border-radius:5px;line-height:1.6}
#entry .optional{color:#638781;margin-left:5px;font-size:11px}
#entry .field input,#entry .field select,#entry .field textarea{border:1px solid #8ebcb4;background:#f4fbf8;border-radius:9px;padding-inline:13px}
#entry .field input:focus,#entry .field select:focus,#entry .field textarea:focus{background:#fff;outline:2px solid var(--accent);outline-offset:2px}
#entry .field input::placeholder,#entry .field textarea::placeholder{color:#829c98}
#entry .field textarea{min-height:140px}
#entry .form-submit{font-weight:700;font-size:18px;min-height:50px}
@media(max-width:380px){#entry .section-inner{padding-inline:17px}#entry .contact-form{padding-inline:16px}}
@media(max-height:740px){#entry .section-inner{padding:80px 20px 20px;gap:7px}#entry .section-title-image{height:78px}#entry .section-inner>.lead{font-size:18px}#entry .entry-intro{font-size:12px;line-height:1.6}#entry .contact-form{padding:20px 16px 24px}}
/* Keep the complete work composition centered, with breathing room between every group. */
#work .section-inner{height:100%;padding:clamp(30px,5dvh,54px) 24px;gap:clamp(12px,2.7dvh,28px);justify-content:center}
#work .work-visual{height:clamp(110px,21dvh,200px)}
#work .section-title-image{height:clamp(78px,12dvh,110px)}
#work .section-inner .copy-stack{gap:clamp(9px,1.8dvh,18px);font-size:13px;line-height:1.75}
#work .work-map{top:auto;bottom:24px;left:0;width:100%;max-height:47%;object-fit:contain}
@media(max-height:740px){#work .section-inner{padding:30px 23px;gap:12px}#work .work-visual{height:112px}#work .section-title-image{height:78px}#work .section-inner .copy-stack{font-size:12px;line-height:1.6;gap:8px}}
@media(max-height:600px){#work .section-inner{padding:24px 20px;gap:8px}#work .work-visual{height:86px}#work .section-title-image{height:65px}#work .section-inner .copy-stack{font-size:11.5px;line-height:1.5;gap:6px}}
#company-profile{background:#cceff1;isolation:isolate;overflow:hidden}
#company-profile .section-inner{position:relative;padding:38px 28px;gap:25px}
#company-profile .section-inner::before{content:'';position:absolute;z-index:0;inset:17px 12px 16px;background:#fff9eb;border:2px solid #10242a;border-radius:12px 25px 15px 20px / 19px 13px 23px 14px;box-shadow:5px 6px 0 #10c6b1;transform:rotate(-.6deg)}
#company-profile .profile-map{position:absolute;z-index:0;left:0;bottom:30px;width:100%;height:auto;opacity:.14;pointer-events:none}
#company-profile .section-title-image,#company-profile .job-facts{position:relative;z-index:1}
#company-profile .section-title-image{mix-blend-mode:multiply}
#company-profile .job-facts{border-color:#c4d8cc}
#company-profile a[href^="tel:"]{color:#010d15}
#company-profile .job-facts>div{padding-block:13px;border-color:#c4d8cc}
@media(max-height:740px){#company-profile .section-inner{padding:30px 27px;gap:16px}#company-profile .job-facts>div{padding-block:9px}}
@media(max-height:600px){#company-profile .section-inner{gap:10px;padding:26px 24px}#company-profile .section-title-image{height:65px}#company-profile .job-facts{font-size:12px;line-height:1.55}#company-profile .job-facts>div{padding-block:7px}}
/* Sea decoration fades out before the entry title starts. */
#entry::before{height:135px;mask-image:linear-gradient(#000 35%,transparent 100%)}
#entry .section-inner{padding-top:142px}
@media(max-height:740px){#entry::before{height:108px}#entry .section-inner{padding-top:115px}}
/* ==== SPINOVA FB 2026-09-25 ==== */
/* (1) Requirements and entry scroll with the page instead of inside a box. */
#requirements,#entry{height:auto;max-height:none;min-height:calc(100dvh - var(--header-height))}
#requirements .section-inner,#entry .section-inner{height:auto;min-height:calc(100dvh - var(--header-height))}
#requirements .requirements-scroll,#entry .contact-form{flex:none;min-height:0;max-height:none;overflow:visible}
#requirements .requirements-scroll{padding-bottom:22px}
#entry .section-inner{padding-bottom:190px}
/* (2) Pop lettering stays in the image titles; every HTML text uses Zen Maru Gothic. */
#company .lead,#mobility .lead{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:20px;line-height:1.5}
.merit-point .point-block h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:18px;line-height:1.45}
.merit-title .merit-kicker{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em}
#work .cta{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:15px}
#day-morning .day-event-copy time{font:700 15px/1.3 'Zen Maru Gothic',sans-serif}
#day-morning .day-event-copy h3{font:700 18px/1.3 'Zen Maru Gothic',sans-serif}
@media(max-height:690px){.merit-title .merit-kicker{font-size:12px}}
/* (3) POINT text card: a tilted postcard laid over the illustration, like the scrapbook reference. */
.merit-point .worklife-card{z-index:1;transform:translateX(-10px) rotate(-4deg)}
.merit-point .point-block{position:relative;z-index:2;width:calc(100% - 12px);margin:-34px 0 0 auto;padding:18px 22px 20px;background:#fffaf0;border:1px solid #d9ccaa;border-radius:3px;box-shadow:4px 6px 10px #17352833;transform:rotate(2.5deg)}
.merit-point .point-block:last-child{transform:rotate(2.5deg)}
.merit-point .point-block::before{content:'';position:absolute;top:-9px;left:calc(50% - 38px);width:76px;height:20px;background:#ffcb659e;transform:rotate(-4deg);clip-path:polygon(2% 0,100% 6%,97% 100%,0 93%)}
:is(#merit-overtime,#merit-specialty) .worklife-card{transform:translateX(10px) rotate(3.5deg)}
:is(#merit-overtime,#merit-specialty) .point-block,:is(#merit-overtime,#merit-specialty) .point-block:last-child{margin:-34px auto 0 0;transform:rotate(-2.5deg)}
@media(max-height:740px){.merit-point .point-block{margin-top:-26px;padding:14px 18px 16px}}
/* (4) Colleague voice as a speech bubble. */
#people .people-voice{position:relative;width:100%;margin-top:6px;padding:26px 18px 16px;border:2px solid #10242a;border-top:2px solid #10242a;border-radius:22px;background:#fff;box-shadow:3px 4px 0 #10c6b1}
#people .people-voice::before,#people .people-voice::after{content:'';position:absolute;left:34px;width:0;height:0;border-style:solid}
#people .people-voice::before{bottom:-17px;border-width:17px 0 0 22px;border-color:#10242a transparent transparent}
#people .people-voice::after{bottom:-13px;left:36.5px;border-width:14px 0 0 17px;border-color:#fff transparent transparent}
#people .people-voice .voice-label{position:absolute;top:-14px;left:50%;width:auto;transform:translateX(-50%);margin:0;padding:3px 16px;border-radius:99px;background:var(--base);color:#fff;font-size:13px;font-weight:700;line-height:1.5;white-space:nowrap}
@media(max-height:740px){#people .people-voice{padding:22px 14px 12px}}
/* (5) Staff illustration speaking the bubble: small, under the bubble so it never gets clipped; the tail points at it. */
#people .people-voice{--staff-h:96px}
#people .people-staff{position:absolute;z-index:2;left:6px;top:calc(100% - 14px);width:auto;height:var(--staff-h);max-width:none;filter:drop-shadow(2px 3px 0 #ffffffcc);pointer-events:none}
#people .people-voice::before{left:calc(10px + var(--staff-h) * .72)}
#people .people-voice::after{left:calc(12.5px + var(--staff-h) * .72)}
@media(max-height:740px){#people .people-voice{--staff-h:76px}}
@media(max-height:650px){#people .people-voice{--staff-h:56px}}
