/* V14 labor-partner style.css — warm yellow + navy + friendly */
:root{
  --ink:#1f2c46;
  --ink-2:#3a4a6b;
  --navy:#1f2c46;
  --navy-deep:#141d31;
  --yellow:#f4c430;
  --yellow-deep:#d4a420;
  --yellow-soft:#fef3c7;
  --cream:#fffbf0;
  --warm:#fff8e7;
  --rule:#e8dfc4;
  --green:#3d8b5a;
  --demo-red:#c0392b;
  --sans:'Inter','Noto Sans KR',sans-serif;
  --hand:'Caveat',cursive;
  --banner-h:0px;
  --shadow:0 8px 30px rgba(31,44,70,.08);
  --shadow-deep:0 16px 50px rgba(31,44,70,.18);
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
body.has-banner{padding-top:var(--banner-h)}body.drawer-open{overflow:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}

.demo-banner{position:fixed;top:0;left:0;right:0;background:var(--navy-deep);color:var(--yellow-soft);font-size:11px;font-weight:600;padding:9px 18px;text-align:center;letter-spacing:.04em;z-index:200;line-height:1.4}

/* NAV — Floating rounded pill capsule with handwritten brand sub + each menu item is its own pill */
.nav-bar{position:fixed;top:calc(var(--banner-h) + 14px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--cream);border:2px solid var(--navy);border-radius:48px;box-shadow:0 12px 40px rgba(31,44,70,.18);z-index:100;width:max-content;max-width:calc(100% - 32px)}
.nav-brand{display:inline-flex;align-items:baseline;gap:6px;font-size:18px;font-weight:800;color:var(--navy);letter-spacing:-.02em;padding:8px 14px 8px 18px;border-right:2px dashed var(--rule)}
.brand-sub{font-family:var(--hand);font-size:20px;font-weight:700;color:var(--yellow-deep);transform:rotate(-4deg);display:inline-block;margin-left:4px}
.nav-list{list-style:none;display:inline-flex;gap:6px}
.nav-list li a{font-size:13px;font-weight:600;color:var(--navy);padding:8px 16px;display:inline-flex;align-items:baseline;gap:6px;border-radius:24px;transition:background .3s,color .3s,transform .3s;border:2px solid transparent}
.nav-list li a .num{font-family:var(--hand);font-size:16px;color:var(--yellow-deep);font-weight:700;line-height:1}
.nav-list li a:hover{background:var(--yellow-soft);border-color:var(--yellow);transform:translateY(-2px)}
.nav-actions{display:inline-flex;gap:6px;align-items:center;padding-left:8px;border-left:2px dashed var(--rule)}
.nav-login{font-size:12px;color:var(--ink-2);padding:8px 14px;border-radius:20px;font-weight:600;transition:background .3s}
.nav-login:hover{background:var(--warm)}
.nav-signup{font-size:12px;font-weight:600;color:var(--navy);padding:7px 14px;border:2px solid var(--yellow);border-radius:20px;transition:background .3s,transform .3s}
.nav-signup:hover{background:var(--yellow-soft);transform:translateY(-1px)}
.nav-cta{font-family:var(--hand);font-size:18px;font-weight:700;padding:8px 22px;background:var(--yellow);color:var(--navy);border-radius:30px;transition:background .3s,transform .3s,box-shadow .3s;letter-spacing:0;line-height:1}
.nav-cta:hover{background:var(--yellow-deep);color:var(--cream);transform:translateY(-2px) rotate(-2deg);box-shadow:0 8px 20px rgba(244,196,48,.4)}
.nav-burger{display:none;position:fixed;top:calc(var(--banner-h) + 14px);right:16px;width:48px;height:48px;background:var(--yellow);border:none;cursor:pointer;z-index:105;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:50%;box-shadow:var(--shadow-deep)}
.burger-line{width:22px;height:2px;background:var(--navy)}

.drawer{position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;background:var(--navy-deep);color:var(--cream);z-index:150;transform:translateY(-100%);transition:transform .5s cubic-bezier(.7,0,.3,1);overflow-y:auto;visibility:hidden}
.drawer.open{transform:translateY(0);visibility:visible}
.drawer-close{position:absolute;top:calc(var(--banner-h) + 24px);right:24px;width:48px;height:48px;background:var(--yellow);color:var(--navy);border:none;font-size:28px;font-weight:300;cursor:pointer;border-radius:50%;box-shadow:var(--shadow-deep);z-index:2;transition:transform .4s}
.drawer-close:hover{transform:rotate(90deg)}
.drawer-inner{padding:100px 36px 40px;max-width:480px}
.drawer-brand{font-size:24px;font-weight:800;color:var(--cream);margin-bottom:36px}
.drawer-brand span{font-family:var(--hand);font-size:20px;color:var(--yellow);margin-left:8px}
.drawer-list{list-style:none;padding:0;margin:0 0 24px}
.drawer-list li{padding:14px 0;border-bottom:1px solid rgba(244,196,48,.18)}
.drawer-list li a{display:flex;align-items:baseline;gap:14px;font-size:18px;color:var(--cream);font-weight:600}
.drawer-list li a .num{font-size:11px;color:var(--yellow);min-width:30px}
.drawer-rule{border:none;height:1px;background:rgba(244,196,48,.24);margin:24px 0}
.drawer-auth{display:flex;gap:24px;font-size:15px}.drawer-auth a{color:var(--yellow)}
.drawer-foot{font-size:11px;color:rgba(255,251,240,.4);margin-top:14px}
body.drawer-open .nav-bar,body.drawer-open .nav-burger{display:none!important}

section{padding:100px 36px}
.sec-head{max-width:1280px;margin:0 auto 48px}
.eyebrow{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--yellow-deep);margin-bottom:14px;background:var(--yellow-soft);padding:4px 12px;border-radius:12px}
.eyebrow-light{color:var(--yellow);background:rgba(244,196,48,.16)}
.sec-title{font-size:clamp(36px,5vw,52px);font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--navy);margin-bottom:8px}
.sec-title em{font-style:italic;color:var(--yellow-deep);font-weight:500}
.sec-sub{color:var(--ink-2);font-size:15px}
.demo-disclaimer{display:inline-block;padding:2px 8px;background:rgba(192,57,43,.08);color:var(--demo-red);font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.12em;margin-left:6px}

.sec-hero{height:100vh;min-height:720px;padding:0;position:relative;background:var(--warm);color:var(--navy);overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.92) saturate(1.05)}
.hero-grad{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,248,231,.65) 0%,rgba(254,243,199,.4) 70%)}
.hero-inner{position:relative;z-index:3;max-width:1280px;padding:0 36px;width:100%}
.hero-tag{font-family:var(--hand);font-size:22px;color:var(--yellow-deep);margin-bottom:14px;font-weight:700}
.hero-title{font-size:clamp(52px,8vw,108px);font-weight:900;line-height:.98;color:var(--navy);margin-bottom:24px;letter-spacing:-.04em}
.hero-title em{font-family:var(--hand);font-style:normal;color:var(--yellow-deep);font-weight:700;font-size:1.05em}
.hero-sub{font-size:clamp(17px,2.2vw,22px);color:var(--ink-2);margin-bottom:36px;max-width:680px;font-weight:500}
.hero-cta-row{display:inline-flex;gap:24px;align-items:center;flex-wrap:wrap}
.hero-cta{font-size:14px;font-weight:700;background:var(--navy);color:var(--cream);padding:18px 36px;border-radius:30px;transition:background .3s,transform .3s}
.hero-cta:hover{background:var(--navy-deep);transform:translateY(-2px)}
.hero-link{font-size:14px;color:var(--navy);border-bottom:2px solid var(--yellow);padding-bottom:4px;font-weight:600}

.sec-services{background:var(--cream)}
.services-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{background:var(--warm);border:2px solid var(--rule);padding:28px;transition:transform .3s,box-shadow .3s,border-color .3s,background .3s;border-radius:18px;position:relative}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-deep);border-color:var(--yellow);background:var(--yellow-soft)}
.service-card::before{content:attr(data-num);position:absolute;top:14px;right:18px;font-family:var(--hand);font-size:48px;color:var(--yellow-deep);line-height:1;opacity:.5}
.service-card img{width:60px;height:60px;object-fit:cover;background:var(--yellow);margin-bottom:18px;border-radius:50%}
.service-card .ko{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:4px}
.service-card .en{font-family:var(--hand);font-size:18px;color:var(--yellow-deep);margin-bottom:14px;font-weight:700}
.service-card .desc{font-size:14px;color:var(--ink-2);line-height:1.6}

.sec-qa{background:var(--warm)}
.qa-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.qa-item{background:var(--cream);border:2px solid var(--rule);border-radius:14px;overflow:hidden;transition:border-color .3s}
.qa-item.open{border-color:var(--yellow)}
.qa-q{display:flex;align-items:center;gap:18px;padding:20px 24px;cursor:pointer;background:var(--cream);transition:background .3s}
.qa-q:hover{background:var(--yellow-soft)}
.qa-q .qmark{width:36px;height:36px;border-radius:50%;background:var(--yellow);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0}
.qa-q .ttl{flex:1;font-size:16px;font-weight:600;color:var(--navy);line-height:1.4}
.qa-q .arrow{font-size:24px;color:var(--yellow-deep);transition:transform .4s}
.qa-item.open .qa-q .arrow{transform:rotate(180deg)}
.qa-a{max-height:0;overflow:hidden;transition:max-height .5s,padding .4s;padding:0 24px}
.qa-item.open .qa-a{max-height:300px;padding:0 24px 24px}
.qa-a-inner{display:flex;gap:18px;padding-left:54px;font-size:14px;color:var(--ink-2);line-height:1.7;border-left:3px solid var(--yellow);padding:14px 18px;background:var(--warm)}
.qa-foot{max-width:880px;margin:36px auto 0;font-size:13px;color:var(--demo-red);text-align:center;padding:18px;background:rgba(192,57,43,.04);border:1px dashed var(--demo-red);border-radius:8px;line-height:1.7}
.qa-foot strong{font-weight:700}

.sec-toggle{background:var(--cream)}
.toggle-card{max-width:1080px;margin:0 auto;background:var(--warm);border:2px solid var(--yellow);border-radius:18px;overflow:hidden}
.toggle-tabs{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}
.toggle-tab{padding:22px;font-size:18px;font-weight:700;color:var(--ink-2);background:var(--cream);border:none;cursor:pointer;border-bottom:4px solid transparent;transition:background .3s,color .3s,border-color .3s;font-family:var(--sans)}
.toggle-tab.active{background:var(--yellow-soft);color:var(--navy);border-bottom-color:var(--yellow-deep)}
.toggle-body{padding:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.toggle-cell{background:var(--cream);padding:20px;border-left:4px solid var(--yellow);border-radius:8px}
.toggle-cell .ttl{font-size:16px;font-weight:800;color:var(--navy);margin-bottom:8px}
.toggle-cell .ct{font-size:13px;color:var(--ink-2);line-height:1.6}

.sec-cases{background:var(--warm)}
.cases-timeline{max-width:1080px;margin:0 auto;list-style:none;padding:0;display:flex;flex-direction:column;gap:18px;position:relative}
.cases-timeline::before{content:'';position:absolute;left:80px;top:30px;bottom:30px;width:2px;background:var(--yellow)}
.case-step{display:grid;grid-template-columns:80px 32px 1fr 200px;gap:18px;align-items:start;padding:14px 0}
.case-step .y{font-family:var(--hand);font-size:24px;font-weight:700;color:var(--yellow-deep);text-align:right}
.case-step .dot{width:14px;height:14px;border-radius:50%;background:var(--yellow);border:3px solid var(--cream);box-shadow:0 0 0 2px var(--yellow);margin-top:8px}
.case-step .body{padding-left:6px}
.case-step .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;background:var(--navy);color:var(--yellow);padding:4px 12px;margin-bottom:8px;border-radius:12px}
.case-step .title{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:6px}
.case-step .detail{font-size:13px;color:var(--ink-2);line-height:1.6}
.case-step .anon{font-family:var(--hand);font-size:18px;color:var(--demo-red);text-align:right;font-weight:700}
.cases-foot{max-width:1080px;margin:36px auto 0;font-size:13px;color:var(--demo-red);text-align:center;padding:16px;background:rgba(192,57,43,.04);border:1px dashed var(--demo-red);border-radius:8px;font-weight:600}

.sec-consultants{background:var(--cream)}
.consultants-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cons-card{background:var(--warm);border:2px solid var(--rule);border-radius:18px;overflow:hidden;text-align:center;transition:transform .3s,box-shadow .3s,border-color .3s}
.cons-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--yellow)}
.cons-card img{width:100%;height:200px;object-fit:cover;background:var(--yellow-soft)}
.cons-card .body{padding:18px}
.cons-card .name{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:4px}
.cons-card .role{font-family:var(--hand);font-size:18px;color:var(--yellow-deep);margin-bottom:8px;font-weight:700}
.cons-card .cred{font-size:12px;color:var(--ink-2)}

.sec-process{background:var(--warm)}
.process-steps{max-width:1080px;margin:0 auto;list-style:none;padding:0;display:flex;flex-direction:column;gap:14px;position:relative}
.process-steps::before{content:'';position:absolute;left:30px;top:30px;bottom:30px;width:2px;background:var(--yellow)}
.process-step{display:grid;grid-template-columns:60px 110px 1fr;gap:24px;align-items:center;padding:14px 0}
.process-step .roman{font-size:14px;font-weight:700;color:var(--navy);background:var(--yellow);width:50px;height:50px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}
.process-step img{width:100px;height:80px;object-fit:cover;border:1px solid var(--rule);background:var(--cream);border-radius:8px}
.process-step .title{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:4px}
.process-step .dur{font-family:var(--hand);font-size:18px;color:var(--yellow-deep);margin-bottom:6px;font-weight:700}
.process-step .desc{font-size:13px;color:var(--ink-2);line-height:1.55}

.sec-salary{background:var(--cream)}
.salary-card{max-width:680px;margin:0 auto;background:var(--warm);border:2px solid var(--yellow);border-radius:14px;padding:32px}
.salary-card .title{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:20px;text-align:center;border-bottom:2px dashed var(--yellow);padding-bottom:14px}
.salary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--rule);font-size:14px;color:var(--ink-2)}
.salary-row:last-child{border-bottom:none}
.salary-row .v{font-family:var(--hand);font-size:18px;font-weight:700;color:var(--navy);min-width:140px;text-align:right}
.salary-row.bold{padding:14px 0;border-top:2px solid var(--yellow);border-bottom-color:var(--yellow)}
.salary-row.bold .l{font-weight:800;color:var(--navy)}
.salary-row.bold .v{font-size:24px;color:var(--navy)}
.salary-row.green .v{color:var(--green)}

.sec-downloads{background:var(--warm)}
.downloads-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dl-card{background:var(--cream);border:2px solid var(--rule);border-radius:14px;padding:18px;text-align:center;cursor:pointer;transition:transform .3s,box-shadow .3s,border-color .3s}
.dl-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--yellow)}
.dl-card img{width:100%;height:120px;object-fit:cover;margin-bottom:14px;border-radius:8px}
.dl-card .title{font-size:14px;font-weight:600;color:var(--navy);line-height:1.4;margin-bottom:8px}
.dl-card .btn{display:inline-block;font-size:11px;font-weight:700;color:var(--navy);background:var(--yellow);padding:5px 14px;border-radius:12px;letter-spacing:.04em}

.sec-stats{background:var(--navy);color:var(--cream);padding:80px 36px}
.stats-inner{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:36px;text-align:center}
.stat-cell .n{font-size:64px;font-weight:900;color:var(--yellow);line-height:1;margin-bottom:14px;letter-spacing:-.02em}
.stat-cell .l{font-size:12px;color:rgba(255,251,240,.7);letter-spacing:.06em}
.stats-foot{max-width:1080px;margin:24px auto 0;text-align:center;font-size:11px;color:rgba(255,251,240,.4)}

.sec-recog{background:var(--cream)}
.recog-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.recog-card{background:var(--warm);padding:18px;text-align:center;border:2px solid var(--rule);border-radius:14px;transition:border-color .3s,transform .3s}
.recog-card:hover{border-color:var(--yellow);transform:translateY(-3px)}
.recog-card img{width:100%;height:120px;object-fit:cover;margin-bottom:14px;border-radius:8px}
.recog-card .title{font-size:13px;font-weight:600;color:var(--navy);line-height:1.4}

.sec-cta{background:var(--navy-deep);color:var(--cream);padding:100px 36px}
.cta-inner{max-width:720px;margin:0 auto}
.sec-cta .sec-title{color:var(--cream)}
.cta-form{display:flex;flex-direction:column;gap:14px;background:rgba(255,251,240,.04);padding:36px;border:2px solid rgba(244,196,48,.4);margin-top:24px;border-radius:18px}
.cta-form label{font-size:12px;color:var(--yellow);display:flex;flex-direction:column;gap:6px;letter-spacing:.06em;font-weight:600}
.cta-form input,.cta-form select,.cta-form textarea{font-family:var(--sans);font-size:16px;padding:14px;background:var(--cream);color:var(--navy);border:1px solid var(--yellow);width:100%;font-weight:500;border-radius:10px}
.cta-form textarea{resize:vertical;min-height:100px}
.cta-submit{font-size:14px;font-weight:700;background:var(--yellow);color:var(--navy);padding:18px 36px;border:none;cursor:pointer;margin-top:12px;transition:background .3s,transform .3s;letter-spacing:.04em;border-radius:30px}
.cta-submit:hover{background:var(--yellow-deep);transform:translateY(-2px)}
.cta-foot{margin-top:14px;font-size:11px;color:var(--demo-red);text-align:center}

.footer{background:#0d172b;color:rgba(255,251,240,.7);padding:56px 36px 26px;border-top:3px solid var(--yellow);font-size:13px}
.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-bottom:30px;border-bottom:1px solid rgba(244,196,48,.2)}
.footer-brand{font-size:24px;font-weight:900;color:var(--cream);margin-bottom:14px}
.footer-brand span{font-family:var(--hand);font-size:22px;color:var(--yellow);margin-left:8px}
.footer-tag{font-family:var(--hand);color:var(--yellow);font-size:18px;margin-bottom:20px}
.footer-sns{display:flex;gap:18px;margin-top:14px}
.footer-sns a{color:var(--yellow);font-size:12px;text-transform:uppercase;font-weight:600}
.footer-copy{margin-top:20px;font-size:11px;color:rgba(255,251,240,.4);text-align:center}

@media (max-width:1024px){
  .services-grid,.consultants-grid,.recog-grid,.downloads-grid{grid-template-columns:repeat(2,1fr)}
  .stats-inner{grid-template-columns:repeat(2,1fr);gap:24px}
  .toggle-body{grid-template-columns:1fr;gap:12px}
  .case-step{grid-template-columns:60px 24px 1fr;gap:12px}
  .cases-timeline::before{left:60px}
  .case-step .anon{grid-column:1/-1;text-align:left;padding-left:80px}
}
@media (max-width:768px){
  .nav-bar{display:none}.nav-burger{display:inline-flex}
  section{padding:60px 22px}
  .services-grid,.consultants-grid,.downloads-grid,.recog-grid{grid-template-columns:1fr}
  .stats-inner{grid-template-columns:repeat(2,1fr)}.stat-cell .n{font-size:42px}
  .toggle-tab{font-size:14px;padding:18px 8px}
  .qa-q{padding:16px 18px}.qa-q .ttl{font-size:14px}
  .process-step{grid-template-columns:50px 80px 1fr;gap:14px}
  .process-step img{width:70px;height:60px}
  .footer-inner{grid-template-columns:1fr}
}

/* 1D 인터랙션 추가 (universal patch 2026-04-28) */
.reveal-init{opacity:0; transform:translateY(20px); transition:opacity .8s ease, transform .8s ease}
.reveal-in{opacity:1 !important; transform:none !important}
.hero-bg{transition:transform .4s ease-out}
@keyframes pulse-anim{0%,100%{opacity:.85}50%{opacity:1}}
[class*="brand-stamp"], [class*="brand-glyph"], [class*="brand-orb"], [class*="brand-tag"], [class*="brand-frame"], [class*="brand-icon"]{animation:pulse-anim 3s ease-in-out infinite; display:inline-block}

/* 1D 강화 — 시각적 cursor follower + magnetic CTA + card tilt (universal patch v2) */
.cursor-follower{position:fixed; top:0; left:0; width:32px; height:32px; border:2px solid currentColor; border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:transform .15s ease-out, width .25s, height .25s, background .25s; mix-blend-mode:difference; opacity:.85}
.cursor-follower.cursor-grow{width:60px; height:60px; background:rgba(255,255,255,.1)}
.cursor-follower.cursor-shrink{width:8px; height:8px}
.nav-cta, .nav-signup, [class*="-form-submit"], [class*="-cta"] a{transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .3s !important}
[class*="-card"]{transition:transform .35s cubic-bezier(.2,.85,.4,1.275), box-shadow .35s, border-color .25s !important}
@media (max-width:768px){.cursor-follower{display:none !important}}

/* 1D-2 cursor diversify — warm brown */
.cursor-follower{border-color:#8b5a3c; mix-blend-mode:normal; box-shadow:0 0 14px rgba(139,90,60,.4)}
.cursor-follower::before{content:"·"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:#8b5a3c; font-size:24px; font-weight:700}

/* 1D-4 mobile interaction — touch ripple + particle (universal) */
@media (max-width:768px){
  .touch-ripple{position:fixed; pointer-events:none; z-index:9998; border-radius:50%; transform:translate(-50%,-50%); animation:touch-ripple-anim .6s ease-out forwards; mix-blend-mode:multiply}
  @keyframes touch-ripple-anim{
    0%{width:10px; height:10px; opacity:.7; border:2px solid currentColor; background:transparent}
    100%{width:80px; height:80px; opacity:0; border:1px solid currentColor; background:transparent}
  }
  .touch-particle{position:fixed; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:all 1.2s ease-out; opacity:.9; font-size:14px}
  /* iOS smooth scroll + active feedback */
  a, button, [class*="-card"]{-webkit-tap-highlight-color:transparent}
  a:active, button:active, [class*="-card"]:active{transform:scale(.97); transition:transform .1s}
}


/* ===========================================
   RETROFIT v1.27 — motionsites integration
   slug: labor-partner
   effects: Q
   =========================================== */
/* === retrofit v1.27 motionsites marquee (MIT) === */
.marquee, .ticker, .scroll-x { overflow: hidden; }
.marquee > *:first-child, .ticker > *:first-child {
  display: flex; gap: 60px; width: max-content;
  animation: rt-marquee 30s linear infinite;
}
@keyframes rt-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .marquee > *, .ticker > * { animation: none; } }