/* ============================================================
   Mood Boost Studio — Landing page styles
   ============================================================ */
:root{
  --yellow:#FFC83D;
  --yellow-soft:#FFE38A;
  --amber:#E89A00;
  --pink:#FF9ECF;
  --pink-deep:#ff7fbf;
  --ink:#2b2118;
  --ink-soft:#6b5d4d;
  --cream:#FFF8E9;
  --white:#ffffff;
  --radius:26px;
  --shadow-sm:0 10px 30px rgba(232,154,0,.12);
  --shadow-md:0 22px 60px rgba(232,154,0,.18);
  --font-head:'Baloo 2', system-ui, sans-serif;
  --font-body:'Nunito', system-ui, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--font-head);line-height:1.08;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
section{position:relative;z-index:1}
.hl{color:var(--pink-deep)}

/* ---------- background decor ---------- */
.bg-decor{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.5}
.blob--1{width:420px;height:420px;background:var(--yellow-soft);top:-120px;right:-80px}
.blob--2{width:360px;height:360px;background:var(--pink);bottom:8%;left:-120px;opacity:.32}
.blob--3{width:300px;height:300px;background:var(--yellow);top:42%;right:-90px;opacity:.28}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px clamp(18px,5vw,64px);
  background:rgba(255,248,233,.78);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(232,154,0,.12);
}
.nav__brand{display:flex;align-items:center;gap:10px}
.nav__logo{display:grid;place-items:center;filter:drop-shadow(0 4px 8px rgba(232,154,0,.25))}
.mini-mood{transition:transform .3s}
.nav__brand:hover .mini-mood{transform:rotate(-8deg) scale(1.08)}
.nav__name{font-family:var(--font-head);font-weight:800;font-size:1.35rem;letter-spacing:-.02em}
.nav__name span{color:var(--pink-deep)}
.nav__links{display:flex;align-items:center;gap:clamp(10px,2vw,28px);font-weight:700;font-size:.96rem}
.nav__links a:not(.nav__cta){color:var(--ink-soft);transition:color .2s}
.nav__links a:not(.nav__cta):hover{color:var(--ink)}
.nav__cta{
  background:var(--ink);color:var(--white);
  padding:9px 20px;border-radius:999px;transition:transform .2s,background .2s;
}
.nav__cta:hover{transform:translateY(-2px);background:var(--pink-deep)}

/* language toggle */
.lang-toggle{display:inline-flex;background:var(--white);border:2px solid rgba(43,33,24,.1);border-radius:999px;padding:3px;gap:2px}
.lang-btn{
  font-family:var(--font-body);font-weight:800;font-size:.82rem;letter-spacing:.02em;
  border:none;background:transparent;color:var(--ink-soft);
  padding:5px 12px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s;
}
.lang-btn:hover{color:var(--ink)}
.lang-btn.is-active{background:var(--yellow);color:var(--ink)}

@media(max-width:680px){.nav__links a:not(.nav__cta){display:none}}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-family:var(--font-head);font-weight:700;
  padding:14px 30px;border-radius:999px;font-size:1.02rem;
  transition:transform .2s ease, box-shadow .2s ease, background .2s;
  cursor:pointer;border:none;
}
.btn--primary{background:var(--ink);color:var(--white);box-shadow:var(--shadow-sm)}
.btn--primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);background:var(--pink-deep)}
.btn--ghost{background:var(--white);color:var(--ink);border:2px solid rgba(43,33,24,.12)}
.btn--ghost:hover{transform:translateY(-3px);border-color:var(--pink-deep);color:var(--pink-deep)}
.btn--lg{padding:17px 40px;font-size:1.12rem}

/* ---------- hero ---------- */
.hero{
  max-width:1180px;margin:0 auto;
  padding:clamp(36px,7vw,80px) clamp(18px,5vw,64px) 40px;
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
}
.eyebrow{
  display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--amber);
  background:var(--white);padding:8px 16px;border-radius:999px;
  box-shadow:var(--shadow-sm);margin-bottom:22px;
}
.hero__title{font-size:clamp(2.7rem,6vw,4.4rem);font-weight:800;margin-bottom:20px}
.hero__lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--ink-soft);max-width:34ch;margin-bottom:30px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.hero__motto{font-family:var(--font-head);font-weight:700;color:var(--amber);font-size:1.1rem}

/* mood character */
.hero__character{display:flex;flex-direction:column;align-items:center;gap:22px}
.mood-stage{position:relative;width:min(100%,400px);display:grid;place-items:center}
.mood{width:100%;height:auto;animation:float 5s ease-in-out infinite;transform-origin:center}
.mood-shadow{
  position:absolute;bottom:6%;left:50%;transform:translateX(-50%);
  width:54%;height:26px;background:rgba(232,154,0,.28);border-radius:50%;
  filter:blur(9px);animation:shadowPulse 5s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes shadowPulse{0%,100%{transform:translateX(-50%) scale(1);opacity:.28}50%{transform:translateX(-50%) scale(.85);opacity:.18}}
.mood-bow{transform-origin:160px 58px;animation:bowWiggle 5s ease-in-out infinite}
@keyframes bowWiggle{0%,100%{transform:rotate(0)}50%{transform:rotate(4deg)}}
.cheek{opacity:.85}
.eye{transform-origin:center;animation:blink 5.4s infinite}
@keyframes blink{0%,92%,100%{transform:scaleY(1)}96%{transform:scaleY(.12)}}
.mood-mouth{transition:d .35s ease}
.mood--bounce{animation:bounce .5s ease}
@keyframes bounce{0%{transform:scale(1)}30%{transform:scale(1.07,.93)}60%{transform:scale(.96,1.04)}100%{transform:scale(1)}}

/* mood switch */
.mood-switch{text-align:center}
.mood-switch__q{font-family:var(--font-head);font-weight:700;color:var(--ink-soft);margin-bottom:12px}
.mood-switch__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:380px}
.m-chip{
  font-family:var(--font-body);font-weight:700;font-size:.9rem;
  background:var(--white);color:var(--ink-soft);
  border:2px solid rgba(43,33,24,.08);border-radius:999px;padding:8px 15px;
  cursor:pointer;transition:transform .15s,border-color .2s,color .2s,background .2s;
}
.m-chip:hover{transform:translateY(-2px);border-color:var(--pink)}
.m-chip.is-active{background:var(--yellow);border-color:var(--amber);color:var(--ink)}

@media(max-width:860px){
  .hero{grid-template-columns:1fr;text-align:center}
  .hero__lead{margin-left:auto;margin-right:auto}
  .hero__actions{justify-content:center}
  .hero__character{order:-1}
}

/* ---------- marquee ---------- */
.marquee{
  background:var(--ink);color:var(--yellow);overflow:hidden;white-space:nowrap;
  padding:16px 0;font-family:var(--font-head);font-weight:700;font-size:1.05rem;
  transform:rotate(-1.4deg) scale(1.03);margin:34px 0;
}
.marquee__track{display:inline-flex;animation:scroll 26s linear infinite}
.marquee__track span{padding-right:0}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- section heads ---------- */
.section-head{max-width:700px;margin:0 auto clamp(34px,5vw,52px);text-align:center}
.kicker{
  display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--pink-deep);margin-bottom:14px;
}
.section-head h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:14px}
.section-head p{color:var(--ink-soft);font-size:1.1rem}

/* ---------- vmp ---------- */
.vmp{max-width:1180px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.vmp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.vmp-card{
  background:var(--white);border-radius:var(--radius);padding:34px 30px;
  box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;
  border:1px solid rgba(232,154,0,.08);
}
.vmp-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}
.vmp-card__icon{font-size:2.4rem;display:block;margin-bottom:14px}
.vmp-card h3{font-size:1.05rem;color:var(--amber);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.vmp-card__big{font-family:var(--font-head);font-weight:700;font-size:1.45rem;margin-bottom:10px;line-height:1.2}
.vmp-card>p:last-child{color:var(--ink-soft)}
@media(max-width:820px){.vmp__grid{grid-template-columns:1fr}}

/* ---------- beliefs ---------- */
.beliefs{max-width:1180px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.beliefs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.belief{
  background:linear-gradient(160deg,var(--white),var(--cream));
  border-radius:var(--radius);padding:30px 28px;position:relative;overflow:hidden;
  border:1px solid rgba(232,154,0,.1);transition:transform .3s,box-shadow .3s;
}
.belief:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.belief__num{font-family:var(--font-head);font-weight:800;font-size:2.2rem;color:var(--pink);opacity:.55;display:block;margin-bottom:6px}
.belief h3{font-size:1.3rem;margin-bottom:10px}
.belief p{color:var(--ink-soft)}
.belief__chain{
  display:inline-block;margin-top:14px;font-family:var(--font-head);font-weight:700;
  font-size:.86rem;color:var(--amber);background:var(--yellow-soft);
  padding:6px 12px;border-radius:999px;
}
.belief--cta{
  background:var(--ink);color:var(--white);display:flex;flex-direction:column;justify-content:center;
  border:none;
}
.belief--cta:hover{transform:translateY(-6px)}
.belief__quote{font-family:var(--font-head);font-weight:700;font-size:1.5rem;color:var(--yellow);margin-bottom:12px;line-height:1.25}
.belief__sub{color:rgba(255,255,255,.78)}
@media(max-width:900px){.beliefs__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.beliefs__grid{grid-template-columns:1fr}}

/* ---------- philosophy ---------- */
.philosophy{
  background:linear-gradient(180deg,transparent,rgba(255,158,207,.1),transparent);
  padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px);
}
.philo__grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.philo{
  background:var(--white);border-radius:var(--radius);padding:32px 26px;text-align:center;
  box-shadow:var(--shadow-sm);transition:transform .3s;border:1px solid rgba(232,154,0,.08);
}
.philo:hover{transform:translateY(-8px) rotate(-1deg)}
.philo__emoji{font-size:2.6rem;display:block;margin-bottom:14px}
.philo h3{font-size:1.25rem;margin-bottom:8px}
.philo p{color:var(--ink-soft);font-size:.98rem}
@media(max-width:900px){.philo__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.philo__grid{grid-template-columns:1fr}}

/* ---------- meet mood ---------- */
.meet{padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.meet__inner{
  max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;
  gap:50px;align-items:center;
  background:linear-gradient(150deg,var(--yellow),var(--yellow-soft));
  border-radius:40px;padding:clamp(28px,5vw,56px);box-shadow:var(--shadow-md);
}
.expr-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.expr-wall span{
  background:var(--white);border-radius:20px;aspect-ratio:1;display:grid;place-items:center;
  font-size:clamp(1.8rem,4vw,2.6rem);box-shadow:0 8px 20px rgba(232,154,0,.18);
  transition:transform .25s;
}
.expr-wall span:hover{transform:translateY(-6px) scale(1.06) rotate(4deg)}
.meet__copy h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:16px}
.meet__lead{font-size:1.2rem;font-weight:700;margin-bottom:14px}
.meet__copy p{margin-bottom:14px}
.meet__promise-label{font-weight:700;margin-bottom:12px!important}
.meet__promise{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.meet__promise li{
  background:var(--ink);color:var(--white);font-family:var(--font-head);font-weight:700;
  padding:8px 18px;border-radius:999px;font-size:.95rem;
}
@media(max-width:820px){.meet__inner{grid-template-columns:1fr;gap:32px}.meet__art{order:-1}}

/* ---------- expression sets ---------- */
.iconset{max-width:1180px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.iconset__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.iconset-card{margin:0}
.iconset-card__btn{
  display:block;width:100%;padding:0;border:6px solid var(--white);cursor:zoom-in;
  background:linear-gradient(150deg,var(--yellow-soft),var(--cream));
  border-radius:26px;overflow:hidden;position:relative;
  box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s;
}
.iconset-card__btn:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.iconset-card__btn img{display:block;width:100%;height:auto}
.iconset-card__zoom{
  position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;background:rgba(43,33,24,.7);color:#fff;font-size:1.1rem;
  opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s;
}
.iconset-card__btn:hover .iconset-card__zoom{opacity:1;transform:scale(1)}
.iconset-card figcaption{display:flex;align-items:baseline;gap:10px;padding:14px 6px 0;flex-wrap:wrap}
.iconset-card figcaption strong{font-family:var(--font-head);font-weight:800;font-size:1.2rem}
.iconset-card figcaption span{color:var(--ink-soft);font-size:.95rem}
@media(max-width:760px){.iconset__grid{grid-template-columns:1fr}}

/* ---------- lightbox ---------- */
.lightbox{
  position:fixed;inset:0;z-index:200;display:none;place-items:center;
  background:rgba(43,33,24,.86);backdrop-filter:blur(4px);padding:24px;
  opacity:0;transition:opacity .25s;
}
.lightbox.is-open{display:grid;opacity:1}
.lightbox__img{max-width:96vw;max-height:90vh;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:lbPop .28s ease}
@keyframes lbPop{from{transform:scale(.94);opacity:.4}to{transform:scale(1);opacity:1}}
.lightbox__close{
  position:absolute;top:18px;right:22px;width:46px;height:46px;border-radius:50%;
  border:none;background:rgba(255,255,255,.16);color:#fff;font-size:1.2rem;cursor:pointer;
  transition:background .2s,transform .2s;
}
.lightbox__close:hover{background:var(--pink-deep);transform:rotate(90deg)}

/* ---------- culture ---------- */
.culture{max-width:1180px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.culture__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.culture-card{
  background:var(--white);border-radius:var(--radius);padding:28px 24px;
  border-bottom:5px solid var(--pink);box-shadow:var(--shadow-sm);
  transition:transform .3s,border-color .3s;
}
.culture-card:hover{transform:translateY(-6px);border-color:var(--amber)}
.culture-card h3{font-size:1.18rem;margin-bottom:8px}
.culture-card p{color:var(--ink-soft);font-size:.98rem}
@media(max-width:900px){.culture__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.culture__grid{grid-template-columns:1fr}}

/* ---------- studio / office ---------- */
.studio{max-width:1180px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.studio__frame{
  position:relative;margin:0;border-radius:34px;overflow:hidden;
  box-shadow:var(--shadow-md);border:6px solid var(--white);
  background:linear-gradient(150deg,var(--yellow-soft),var(--pink));
}
.studio__img{display:block;width:100%;height:auto;object-fit:cover}
.studio__cap{
  position:absolute;left:0;right:0;bottom:0;padding:46px 28px 24px;
  background:linear-gradient(to top,rgba(43,33,24,.62),transparent);
}
.studio__tag{
  display:inline-block;font-family:var(--font-head);font-weight:800;
  color:var(--white);font-size:clamp(1.05rem,2.4vw,1.6rem);letter-spacing:.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
/* graceful fallback when image file isn't present yet */
.studio__frame.is-missing{min-height:340px;display:grid;place-items:center}
.studio__frame.is-missing .studio__img{display:none}
.studio__frame.is-missing::before{
  content:"🏢  assets/office.png";
  font-family:var(--font-head);font-weight:700;color:var(--ink);opacity:.55;font-size:1.05rem;
}
.studio__frame.is-missing .studio__cap{background:none;position:static;text-align:center;padding-top:0}
.studio__frame.is-missing .studio__tag{color:var(--ink);text-shadow:none}

/* ---------- success ---------- */
.success{max-width:1000px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.success__cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.success-col{
  background:var(--white);border-radius:var(--radius);padding:34px 32px;
  box-shadow:var(--shadow-sm);border:1px solid rgba(232,154,0,.1);
}
.success-col--joy{background:linear-gradient(160deg,var(--yellow-soft),var(--white));border-color:var(--yellow)}
.success-col h3{font-size:1.4rem;margin-bottom:18px}
.success-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.success-col li{
  position:relative;padding-left:30px;font-weight:600;color:var(--ink);
}
.success-col li::before{
  content:"✦";position:absolute;left:0;color:var(--pink-deep);font-weight:800;
}
.success-col--joy li::before{content:"💛";font-size:.9rem}
@media(max-width:680px){.success__cols{grid-template-columns:1fr}}

/* ---------- careers teaser (landing) ---------- */
.careers-teaser{max-width:1180px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.careers-teaser__card{
  background:linear-gradient(150deg,var(--ink),#3a2c1d);color:var(--white);border-radius:34px;
  padding:clamp(30px,5vw,54px);display:flex;align-items:center;justify-content:space-between;
  gap:30px;flex-wrap:wrap;box-shadow:var(--shadow-md);position:relative;overflow:hidden;
}
.careers-teaser__card::before{
  content:"";position:absolute;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,var(--amber),transparent 70%);top:-120px;right:-60px;opacity:.4;
}
.careers-teaser__text{position:relative}
.careers-teaser__card .kicker{color:var(--pink)}
.careers-teaser__card h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:10px}
.careers-teaser__text p{color:rgba(255,255,255,.8);margin-bottom:16px;max-width:46ch}
.careers-teaser__roles{display:flex;gap:10px;flex-wrap:wrap}
.careers-teaser__roles span{
  background:rgba(255,255,255,.12);padding:8px 16px;border-radius:999px;
  font-family:var(--font-head);font-weight:700;font-size:.92rem;
}
.careers-teaser .btn{position:relative;flex-shrink:0}
@media(max-width:720px){.careers-teaser__card{flex-direction:column;align-items:flex-start}}

/* ---------- subpage header ---------- */
.subpage-hero{
  max-width:940px;margin:0 auto;
  padding:clamp(30px,6vw,64px) clamp(18px,5vw,64px) 6px;text-align:center;
}
.subpage-back{
  display:inline-block;font-weight:700;color:var(--ink-soft);margin-bottom:18px;
  transition:color .2s,transform .2s;
}
.subpage-back:hover{color:var(--pink-deep);transform:translateX(-3px)}
.subpage-hero .eyebrow{margin-bottom:18px}
.subpage-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;margin-bottom:14px}
.subpage-hero p{color:var(--ink-soft);font-size:1.1rem;max-width:56ch;margin:0 auto}
.nav__links a.is-current{color:var(--ink);position:relative}
.nav__links a.is-current::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:2.5px;border-radius:2px;background:var(--pink-deep);
}

/* ---------- careers ---------- */
.careers{max-width:940px;margin:0 auto;padding:clamp(40px,7vw,80px) clamp(18px,5vw,64px)}
.careers__list{display:flex;flex-direction:column;gap:18px}
.job{
  background:var(--white);border:1px solid rgba(232,154,0,.14);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .3s,border-color .3s;
}
.job[open]{box-shadow:var(--shadow-md);border-color:var(--yellow)}
.job summary{list-style:none;cursor:pointer;padding:24px clamp(18px,3vw,28px)}
.job summary::-webkit-details-marker{display:none}
.job summary:focus-visible{outline:3px solid var(--pink);outline-offset:-3px;border-radius:var(--radius)}
.job__head{display:flex;align-items:center;gap:16px}
.job__emoji{font-size:2.1rem;flex-shrink:0}
.job__headtext{min-width:0}
.job__head h3{font-size:1.35rem;margin-bottom:4px}
.job__mission{color:var(--ink-soft);font-size:.96rem}
.job__toggle{
  margin-left:auto;flex-shrink:0;font-family:var(--font-head);font-weight:700;
  color:var(--pink-deep);font-size:.9rem;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
}
.job__toggle::after{content:"\25BE";transition:transform .3s;font-size:.8rem}
.job[open] .job__toggle::after{transform:rotate(180deg)}

.job__body{padding:4px clamp(18px,3vw,28px) 28px}
.job-section{margin-top:24px;padding-top:22px;border-top:1px dashed rgba(232,154,0,.22)}
.job-section__label{
  font-family:var(--font-head);font-weight:800;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.09em;color:var(--amber);margin-bottom:14px;
}
.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.job-grid--2{grid-template-columns:repeat(2,1fr)}
.job-group{background:var(--cream);border-radius:16px;padding:16px 18px}
.job-group--must{background:linear-gradient(160deg,var(--yellow-soft),var(--cream));border:1px solid var(--yellow)}
.job-group__title{font-family:var(--font-head);font-weight:700;font-size:1.02rem;margin-bottom:8px}
.job-group ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.job-group li{position:relative;padding-left:18px;color:var(--ink-soft);font-size:.93rem;line-height:1.5}
.job-group li::before{content:"•";position:absolute;left:5px;color:var(--pink-deep);font-weight:800}

.metric-row{display:flex;gap:12px;align-items:baseline;margin-bottom:12px;flex-wrap:wrap}
.metric-row__k{font-family:var(--font-head);font-weight:700;font-size:.9rem;min-width:78px;color:var(--ink)}
.job-metrics{display:flex;flex-wrap:wrap;gap:8px}
.metric-chip{background:var(--yellow-soft);color:var(--ink);font-weight:700;font-size:.82rem;padding:6px 13px;border-radius:999px}

.job-ideal{background:var(--ink);color:var(--white);border-radius:18px;padding:20px 24px;margin-top:24px}
.job-ideal__label{font-family:var(--font-head);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;color:var(--pink);margin-bottom:8px}
.job-ideal__q{font-family:var(--font-head);font-weight:700;color:var(--yellow);font-size:1.2rem;margin-bottom:6px}
.job-ideal__t{color:rgba(255,255,255,.82);font-size:.96rem}

.job__apply{margin-top:26px}
.careers__foot{text-align:center;color:var(--ink-soft);margin-top:36px;max-width:48ch;margin-left:auto;margin-right:auto}
.careers__foot-cta{text-align:center;margin-top:16px}
@media(max-width:600px){
  .job-grid,.job-grid--2{grid-template-columns:1fr}
  .job__toggle{font-size:0;gap:0}
  .job__toggle::after{font-size:.85rem}
}

/* ---------- closing ---------- */
.closing{padding:clamp(40px,7vw,90px) clamp(18px,5vw,64px)}
.closing__card{
  max-width:760px;margin:0 auto;text-align:center;
  background:var(--ink);color:var(--white);border-radius:40px;
  padding:clamp(36px,6vw,64px);box-shadow:var(--shadow-md);position:relative;overflow:hidden;
}
.closing__card::before{
  content:"";position:absolute;width:300px;height:300px;background:radial-gradient(circle,var(--amber),transparent 70%);
  top:-120px;right:-80px;opacity:.4;
}
.closing__emoji{font-size:3rem;display:block;margin-bottom:14px;position:relative}
.closing__card h2{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:18px;position:relative}
.closing__lead{color:rgba(255,255,255,.7);position:relative}
.closing__quote{font-family:var(--font-head);font-weight:700;font-size:clamp(1.4rem,3vw,2rem);color:var(--yellow);margin:8px 0 14px;position:relative}
.closing__sub{color:rgba(255,255,255,.7);margin-bottom:28px;position:relative}
.closing__mottos{display:flex;flex-direction:column;gap:8px;margin-bottom:32px;position:relative}
.closing__mottos span{
  font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--pink);
}
.closing .btn{position:relative}

/* ---------- footer ---------- */
.footer{
  max-width:1180px;margin:0 auto;padding:48px clamp(18px,5vw,64px) 40px;
  display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(232,154,0,.14);
}
.footer__brand .nav__name{font-size:1.4rem}
.footer__brand p{color:var(--amber);font-family:var(--font-head);font-weight:600;margin-top:4px}
.footer__links{display:flex;gap:22px;font-weight:700;color:var(--ink-soft)}
.footer__links a:hover{color:var(--pink-deep)}
.footer__copy{width:100%;color:var(--ink-soft);font-size:.9rem;padding-top:14px;border-top:1px dashed rgba(232,154,0,.2)}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important}
  .reveal{opacity:1;transform:none}
}
