/* v20 — final visual corrections from desktop/mobile Figma references */

/* ---------- Global safeguards ---------- */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}

/* ---------- ORIGIN: desktop composition ---------- */
@media (min-width:1025px){
  .origin{position:relative;overflow:hidden;padding:86px 0 0!important;background:#fff}
  .origin .container.origin-layout{
    position:relative;
    width:min(calc(100% - 80px),1280px)!important;
    max-width:1280px!important;
    min-height:650px!important;
    margin:0 auto!important;
    padding-bottom:82px!important;
    display:grid!important;
    grid-template-columns:minmax(420px,.95fr) minmax(460px,1.08fr)!important;
    column-gap:70px!important;
    align-items:center!important;
  }
  .origin-photo-wrap{position:relative!important;width:100%!important;max-width:520px!important;margin:0!important;z-index:2}
  .origin-photo{width:100%!important;height:575px!important;object-fit:cover!important;object-position:45% center!important;border-radius:28px!important;display:block}
  .floating-stat{background:#fff!important;border:1px solid rgba(13,26,53,.05)!important;border-radius:999px!important;box-shadow:0 18px 50px rgba(13,26,53,.11)!important;padding:14px 20px!important;display:flex!important;gap:12px!important;align-items:center!important}
  .floating-stat img{width:27px!important;height:27px!important;object-fit:contain!important}
  .floating-stat strong{font-size:23px!important;line-height:1!important}
  .floating-stat span{font-size:10px!important;line-height:1.25!important;letter-spacing:.12em!important}
  .stat-top{left:-34px!important;top:28px!important}
  .stat-bottom{right:-30px!important;bottom:-26px!important}

  .origin-copy{position:relative!important;z-index:3!important;max-width:600px!important;padding:34px 0 72px!important}
  .origin-copy>.eyebrow{position:absolute!important;top:-12px!important;left:0!important;margin:0!important}
  .talsa-link{display:inline-flex!important;margin:34px 0 20px!important}
  .talsa-logo{width:210px!important;height:auto!important;margin:0!important}
  .origin-copy h2{font-size:44px!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:0 0 20px!important}
  .origin-copy h2 span{color:#89bc00!important}
  .origin-intro{max-width:560px!important;font-size:16px!important;line-height:1.62!important;margin:0 0 22px!important;color:#596477!important}
  .origin-feature{display:flex!important;align-items:flex-start!important;gap:14px!important;margin:16px 0!important;max-width:570px!important}
  .origin-feature>img{width:46px!important;height:46px!important;min-width:46px!important;box-sizing:border-box!important;padding:11px!important;border-radius:999px!important;background:rgba(137,188,0,.11)!important;object-fit:contain!important}
  .origin-feature h3{font-size:15px!important;line-height:1.25!important;margin:1px 0 4px!important}
  .origin-feature p{font-size:14px!important;line-height:1.5!important;margin:0!important;color:#626d80!important}
  .origin-crate{
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    width:350px!important;
    max-width:27vw!important;
    right:0!important;
    bottom:-18px!important;
    transform:none!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    pointer-events:none!important;
  }
}

/* ---------- CERTIFICATIONS: no dead space + intro visible ---------- */
.certifications{background:#fff!important}
.certifications .section-heading .eyebrow{display:block!important;order:1!important;margin:0 0 12px!important}
.certifications .cert-intro,.certifications .section-heading p.cert-intro{display:block!important;visibility:visible!important;opacity:1!important;order:3!important}
.certifications .section-heading h2{order:2!important}
.cert-link{background:transparent!important;box-shadow:none!important;border:0!important}
.cert-link:hover{box-shadow:none!important;transform:translateY(-2px)!important}

@media (min-width:1025px){
  .certifications{padding:78px 0 72px!important}
  .certifications .narrow-wide{width:min(calc(100% - 80px),1180px)!important;max-width:1180px!important}
  .certifications .section-heading{margin:0 auto 38px!important}
  .certifications .section-heading h2{font-size:40px!important;line-height:1.12!important;max-width:760px!important;margin:10px auto 0!important}
  .certifications .section-heading p.cert-intro{font-size:17px!important;line-height:1.55!important;max-width:700px!important;margin:20px auto 0!important;color:#71809d!important}
  .cert-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:20px 28px!important;
    max-width:1120px!important;
    margin:0 auto!important;
    align-items:center!important;
  }
  .cert-link{min-height:72px!important;padding:8px 10px!important;border-radius:0!important}
  .cert-link img{height:56px!important;max-width:125px!important;width:100%!important;object-fit:contain!important}
}

/* ---------- CONTACT: exact cleaner desktop hierarchy ---------- */
.contact{background:#fff!important;padding:82px 0 72px!important}
.contact-layout{position:relative!important}
.contact-links a img{
  object-fit:contain!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #edf1f7!important;
  box-shadow:0 10px 25px rgba(0,55,176,.08)!important;
}

@media (min-width:1025px){
  .contact .container.contact-layout{
    width:min(calc(100% - 96px),1280px)!important;
    max-width:1280px!important;
    display:grid!important;
    grid-template-columns:minmax(430px,.88fr) minmax(520px,1.12fr)!important;
    grid-template-areas:"copy map" "cta map"!important;
    column-gap:72px!important;
    row-gap:26px!important;
    align-items:start!important;
  }
  .contact-copy{grid-area:copy!important;max-width:520px!important;padding-top:4px!important}
  .contact-copy>.eyebrow{margin-bottom:12px!important}
  .contact-copy h2{font-size:54px!important;line-height:1!important;letter-spacing:-.045em!important;margin:0 0 22px!important}
  .contact-lead{font-size:18px!important;line-height:1.45!important;font-weight:600!important;color:#2563ff!important;max-width:510px!important;margin:0!important}
  .contact-links{display:grid!important;gap:20px!important;margin:32px 0 0!important}
  .contact-links a{display:flex!important;align-items:center!important;gap:18px!important;font-size:16px!important;font-weight:650!important;color:#18233a!important;min-width:0!important}
  .contact-links a img{width:46px!important;height:46px!important;min-width:46px!important;padding:13px!important}
  .contact-links a span{display:grid!important;min-width:0!important}
  .contact-links small{font-size:10px!important;line-height:1.2!important;letter-spacing:.14em!important;margin-bottom:5px!important;color:#73809a!important}
  .map-card-real{grid-area:map!important;height:320px!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 16px 46px rgba(17,35,90,.10)!important;margin-top:4px!important}
  .map-overlay{right:18px!important;left:auto!important;bottom:18px!important;text-align:center!important;border-radius:999px!important;padding:10px 18px!important}
  .contact-actions{grid-area:cta!important;margin:0!important;align-self:start!important}
  .contact-actions .contact-cta{width:360px!important;max-width:100%!important;min-height:54px!important;border-radius:999px!important;justify-content:center!important}
  .site-footer{margin-top:0!important}
}

/* ---------- Footer: stable / no strange gap ---------- */
.site-footer{background:#0a244d!important;margin:0!important}
@media (min-width:1025px){
  .site-footer{padding:50px 0 20px!important}
  .site-footer .container{width:min(calc(100% - 96px),1280px)!important;max-width:1280px!important}
  .footer-grid{grid-template-columns:1.35fr .8fr 1.05fr 1.2fr!important;gap:52px!important}
  .site-footer .footer-grid>div:nth-child(3){display:block!important}
  .site-footer .footer-grid>div:nth-child(3) h4{display:block!important}
}

/* ---------- Tablet ---------- */
@media (min-width:768px) and (max-width:1024px){
  .origin{overflow:hidden!important;padding-bottom:0!important}
  .origin-layout{position:relative!important;padding-bottom:52px!important}
  .origin-feature>img{width:42px!important;height:42px!important;min-width:42px!important;padding:10px!important;border-radius:50%!important;background:rgba(137,188,0,.11)!important;box-sizing:border-box!important}
  .origin-crate{display:none!important}

  .certifications{padding:68px 0 64px!important}
  .certifications .section-heading p.cert-intro{display:block!important;max-width:610px!important;margin:18px auto 0!important;font-size:16px!important}
  .cert-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px 24px!important;margin-top:34px!important}
  .cert-link{min-height:68px!important;padding:8px!important}
  .cert-link img{height:52px!important;max-width:112px!important}

  .contact{padding:68px 0 60px!important}
  .contact-links a img{width:44px!important;height:44px!important;padding:12px!important}
  .contact-actions .contact-cta{max-width:430px!important}
}

/* ---------- Mobile: preserve exact stacking shown in references ---------- */
@media (max-width:767px){
  .origin{padding:56px 0!important;overflow:hidden!important}
  .origin-layout{width:min(calc(100% - 40px),390px)!important;margin:0 auto!important;padding:0!important}
  .origin-copy{width:100%!important}
  .origin-feature>img{width:36px!important;height:36px!important;min-width:36px!important;padding:8px!important;border-radius:50%!important;background:rgba(137,188,0,.11)!important;box-sizing:border-box!important;object-fit:contain!important}
  .origin-crate{display:none!important}

  .certifications{padding:64px 0 56px!important}
  .certifications .narrow-wide{width:min(calc(100% - 80px),390px)!important}
  .certifications .section-heading h2{font-size:30px!important;line-height:1.18!important;max-width:310px!important;margin:10px auto 0!important}
  .certifications .section-heading p.cert-intro{display:block!important;font-size:17px!important;line-height:1.55!important;max-width:310px!important;margin:20px auto 0!important;color:#71809d!important}
  .cert-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 28px!important;margin:34px auto 0!important;width:100%!important}
  .cert-link{min-height:58px!important;padding:4px!important}
  .cert-link img{height:48px!important;max-width:100px!important}

  .contact{padding:56px 0 44px!important}
  .contact .container.contact-layout{width:min(calc(100% - 40px),390px)!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"copy" "map" "cta"!important;gap:28px!important}
  .contact-copy h2{font-size:32px!important;line-height:1.05!important;margin:8px 0 12px!important}
  .contact-lead{font-size:16px!important;line-height:1.5!important;color:#2563ff!important;font-weight:550!important}
  .contact-links{display:grid!important;gap:18px!important;margin:26px 0 0!important}
  .contact-links a{display:flex!important;align-items:center!important;gap:14px!important;font-size:15px!important;font-weight:650!important;min-width:0!important}
  .contact-links a img{width:40px!important;height:40px!important;min-width:40px!important;padding:11px!important}
  .contact-links a span{min-width:0!important;overflow-wrap:anywhere!important}
  .contact-links small{font-size:10px!important;letter-spacing:.12em!important;margin-bottom:4px!important}
  .map-card-real{height:250px!important;border-radius:22px!important;overflow:hidden!important}
  .map-overlay{right:14px!important;left:auto!important;bottom:14px!important;border-radius:999px!important;padding:9px 14px!important}
  .contact-actions{margin:0!important}
  .contact-actions .contact-cta{width:100%!important;min-height:52px!important;justify-content:center!important;border-radius:999px!important}
  .site-footer{margin:0!important;padding-top:40px!important}
}

/* Narrow / foldable phones */
@media (max-width:430px){
  .certifications .narrow-wide{width:min(calc(100% - 48px),390px)!important}
  .cert-grid{gap:20px 20px!important}
}
@media (max-width:360px){
  .origin-layout,.contact .container.contact-layout{width:calc(100% - 28px)!important}
  .certifications .narrow-wide{width:calc(100% - 32px)!important}
  .certifications .section-heading h2{font-size:27px!important}
  .certifications .section-heading p.cert-intro{font-size:15px!important}
  .contact-copy h2{font-size:29px!important}
  .contact-links a{font-size:14px!important}
}

/* Large desktops / TVs */
@media (min-width:1600px){
  .origin .container.origin-layout,.contact .container.contact-layout,.site-footer .container{max-width:1400px!important}
  .origin-crate{width:440px!important;max-width:29vw!important}
}
