/* PERF LOCK v5.0.8 — DO NOT REVERT without re-running mobile PageSpeed.
   Goals: reduce critical-path fonts, protect LCP, keep marquees moving. */

/* Decorative Latin fonts: never block first paint */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:200 800;font-display:optional;src:url(../fonts/bricolage-grotesque-latin-wght-normal.woff2) format('woff2-variations'),url(../fonts/bricolage-grotesque-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Syne';font-style:normal;font-weight:400 800;font-display:optional;src:url(../fonts/syne-latin-wght-normal.woff2) format('woff2-variations'),url(../fonts/syne-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:700;font-display:optional;src:url(../fonts/fraunces-latin-700-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/outfit-latin-wght-normal.woff2) format('woff2-variations'),url(../fonts/outfit-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Mobile first-paint: map decorative families to Outfit so those files are not requested */
@media (max-width:900px){
  html:not(.lang-bn) body,
  html:not(.lang-bn) button,
  html:not(.lang-bn) input,
  html:not(.lang-bn) select,
  html:not(.lang-bn) textarea{
    font-family:Outfit,system-ui,-apple-system,sans-serif;
  }
  html:not(.lang-bn) :where(
    h1,h2,h3,h4,h5,
    .brand-copy strong,
    .idea-hero h1,.idea-hero em,
    .hero h1,.toon-head h2,.toon-card strong,
    .section-head h2,.page-hero h1,.service-detail-hero h1,
    .inner-hero h1,.team-hero h1
  ){
    font-family:Outfit,system-ui,-apple-system,sans-serif!important;
  }
}

/* LCP hero image: reserve space, never lazy, never content-visibility (was delaying LCP paint) */
.factory-complete,
main .hero.idea-hero.hero-repaired .factory-scene .factory-complete{
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:963/592;
  content-visibility:visible;
  contain:none;
}

/* Marquee must keep moving — never freeze with prefers-reduced-motion !important */
.toon-marquee-track,
.alin-marquee-js .toon-marquee-track{
  will-change:transform;
}

/* Brand logo display size lock */
.site-header .brand img,
.bd504-footer .brand img{
  object-fit:contain;
}
.site-header .brand img{width:54px;height:54px}
.bd504-footer .brand img{width:44px;height:44px}

/* Footer career column */
.bd504-footer .bd504-footer-grid{grid-template-columns:1.1fr .75fr .7fr 1.1fr}
.bd504-career .bd504-footer-nav{display:flex;flex-direction:column;gap:7px}
@media(max-width:800px){
  .bd504-footer .bd504-footer-grid{grid-template-columns:1fr 1fr}
  .bd504-footer-brand{grid-column:1/-1}
}
@media(max-width:480px){
  .bd504-footer .bd504-footer-grid{grid-template-columns:1fr}
}

/* Hiring page */
.alin-hiring{padding:28px 0 56px;background:#fff8ec;color:#33241b}
.alin-hiring .site-shell{max-width:920px}
.alin-hiring-hero{padding:calc(var(--alin-header-offset,120px) + 18px) 0 8px;background:#fff8ec}
.alin-hiring-hero h1{font:800 clamp(32px,5vw,52px)/1.08 Outfit,system-ui,sans-serif;letter-spacing:-.035em;margin:0 0 12px}
.alin-hiring-hero p{font-size:17px;line-height:1.7;max-width:62ch;margin:0 0 18px;color:#4a3b32}
.alin-hiring-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}
.alin-hiring-card{background:#fff;border:1px solid #edd7c3;border-radius:18px;padding:18px 16px;box-shadow:0 10px 30px #31180a0f}
.alin-hiring-card h2{font:800 18px/1.3 Outfit,system-ui,sans-serif;margin:0 0 8px}
.alin-hiring-card p{margin:0;font-size:14px;line-height:1.65;color:#4a3b32}
.alin-hiring-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.alin-hiring-cta a{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.alin-hiring-cta .is-primary{background:#193b35;color:#fff}
.alin-hiring-cta .is-ghost{background:#fff;color:#193b35;border:1px solid #c9b39f}
@media(max-width:700px){.alin-hiring-grid{grid-template-columns:1fr}}
