/* Local design study: the reference's dots, circles and offset paper edges.
   All decoration is non-interactive and does not change content dimensions. */
.swipe-section { isolation:isolate; overflow:hidden; }
.swipe-section > .slide-content { position:relative; z-index:1; }
.swipe-section:not(.dots)::before,
.swipe-section:not(.dots)::after { content:''; position:absolute; pointer-events:none; z-index:0; }
/* Blue scenes alternate their decorative corners. */
.blue:not(.contact-section)::before {
 width:140px; height:180px; left:-34px; top:22px;
 background:url('assets/decorations/dots-cream.svg'); transform:rotate(-12deg);
}
.blue:not(.contact-section)::after {
 width:240px; height:240px; border:1px solid rgba(255,246,229,.42);
 border-radius:50%; right:-132px; bottom:38px;
 box-shadow:0 0 0 15px rgba(255,246,229,.07),0 0 0 32px rgba(255,246,229,.05);
}
.blue:nth-of-type(even):not(.contact-section)::before { left:auto; right:-44px; top:30px; transform:rotate(12deg); }
.blue:nth-of-type(even):not(.contact-section)::after { right:auto; left:-160px; bottom:80px; }
/* Keep large cream fields quiet behind copy; texture lives at their edges. */
.cover-section::before,.infrastructure-scene::before,.team-section::before,
.work-scene-section::before,.mentoring-section::before,.newcomer-section::before,.safety-section::before {
 width:120px; height:170px; right:-48px; top:16px;
 background:url('assets/decorations/dots-blue.svg'); transform:rotate(12deg);
}
.team-section::before,.mentoring-section::before { right:auto; left:-60px; transform:rotate(-12deg); }
.cover-section::after,.infrastructure-scene::after,.team-section::after,
.work-scene-section::after,.mentoring-section::after,.newcomer-section::after,.safety-section::after {
 width:160px; height:120px; left:-128px; bottom:30px;
 border:2px solid var(--brand-orange); border-radius:50%; transform:rotate(-24deg);
}
.newcomer-section::after,.mentoring-section::after,.team-section::after { left:auto; right:-128px; bottom:46px; }
/* Local texture anchors the people instead of another full-width panel. */
.leader-art-wrap::before,.newcomer-art-wrap::before {
 content:''; position:absolute; pointer-events:none; width:65%; height:56%; bottom:8px;
 background:url('assets/decorations/dots-blue.svg'); border-radius:50%;
}
.leader-art-wrap::before { right:0; }
.newcomer-art-wrap::before { left:0; }
.leader-art,.newcomer-art { z-index:1; }
/* Existing rectangular paper cards gain a crisp second layer. */
.recruit-page .recruit-card {
 box-shadow:6px 6px 0 var(--brand-blue),8px 8px 0 #000,12px 12px 0 rgba(0,0,0,.12);
}
.recruit-page .salary-number { border:2px solid #000; box-shadow:5px 5px 0 #000; }
.recruit-page .speech-label { box-shadow:3px 3px 0 rgba(0,0,0,.16); }
/* Graphic rules reinforce important text without adding extra words. */
#team .copy strong,#strength .everyday-copy strong {
 text-decoration:underline; text-decoration-color:var(--brand-orange);
 text-decoration-thickness:3px; text-underline-offset:6px;
}
.safety-section .plain-list li { padding-bottom:3px; border-bottom:1px solid rgba(2,107,255,.2); }
.company-details { border-top:1px solid rgba(255,246,229,.35); padding-top:16px; }
.black::before { width:110px; height:150px; right:-42px; top:22px; background:url('assets/decorations/dots-cream.svg'); }
.black::after { width:150px; height:150px; left:-112px; bottom:40px; border:2px solid var(--brand-orange); border-radius:50%; }
/* Form edges only: fields and scrolling area remain unobstructed. */
.contact-section::before { width:70px; height:160px; right:-42px; top:12px; background:url('assets/decorations/dots-cream.svg'); }
.contact-section::after { display:none; }
@media(max-width:350px) {
 .blue:not(.contact-section)::before { width:90px; opacity:.65; }
 .cover-section::before,.infrastructure-scene::before,.team-section::before,
 .work-scene-section::before,.mentoring-section::before,.newcomer-section::before,.safety-section::before { width:90px; opacity:.7; }
}

@media(max-width:350px) {
 .cover-section::after,.infrastructure-scene::after,.work-scene-section::after,.safety-section::after { left:-146px; }
 .newcomer-section::after,.mentoring-section::after,.team-section::after { right:-146px; }
}
