@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800&display=swap");


:root{--launch-red:#e1261c;--launch-ink:#11110f;--launch-paper:#f2efe7;--launch-paper2:#f7f4ed;--launch-line:rgba(17,17,15,.24)}

/* GLOBAL INTERACTION LANGUAGE — no scale distortion */
.interactive-word{transition:color 150ms ease,background-color 150ms ease!important;transform:none!important}
button:hover .interactive-word,button:focus-visible .interactive-word,.interactive-word:hover{transform:none!important;letter-spacing:inherit!important}

/* Shared directional symbol language */
.direction-line{position:relative!important;width:1.05em!important;height:1.05em!important;color:currentColor!important;display:inline-grid!important;place-items:center!important;flex:0 0 auto!important}
.direction-line::before{position:static!important;width:auto!important;height:auto!important;background:none!important;border:0!important;transform:none!important;font-family:Arial,Helvetica,sans-serif!important;font-size:.88em!important;line-height:1!important;color:currentColor!important}
.direction-line::after{display:none!important;content:none!important}
.direction-line--right::before{content:"▶"!important}.direction-line--left::before{content:"◀"!important}.direction-line--down::before{content:"▼"!important}
.small{width:1.05em!important}

/* Horizontal state system */
.experience-track{width:200vw!important;display:flex!important;align-items:flex-start!important;transform:translateX(0)!important;transition:transform 680ms cubic-bezier(.22,.78,.18,1)!important;will-change:transform}
.experience-track[data-state="detail"]{transform:translateX(-100vw)!important}
.site-state{flex:0 0 100vw!important;width:100vw!important;min-width:0!important;position:relative!important}

/* Header */
.launch-header{position:absolute!important;z-index:60!important;top:0!important;left:0!important;right:0!important;height:92px!important;min-height:0!important;padding:30px var(--x) 0!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;pointer-events:none}
.launch-header>*{pointer-events:auto}
.site-brand{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(23px,2.2vw,34px)!important;font-weight:700!important;line-height:1!important;letter-spacing:.025em!important}
.launch-contact{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:9px 13px 10px!important;border:1px solid var(--launch-ink)!important;border-radius:10px!important;background:#fff!important;color:var(--launch-ink)!important;cursor:pointer!important;transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease!important}
.launch-contact .interactive-word{font-family:"Courier New",Courier,monospace!important;font-size:clamp(10px,.78vw,12px)!important;font-weight:700!important;line-height:1!important;letter-spacing:.07em!important;color:currentColor!important}
.launch-contact .direction-line{font-size:12px!important;color:currentColor!important}
.launch-contact:hover,.launch-contact:focus-visible{background:var(--launch-ink)!important;color:#fff!important;border-color:var(--launch-ink)!important}

/* COVER */
.launch-cover{position:relative!important;height:100svh!important;min-height:700px!important;overflow:hidden!important;background:var(--launch-paper)!important}
.launch-cover-grid{position:absolute;inset:0;display:grid;grid-template-columns:minmax(420px,44%) 1fr;align-items:stretch}
.launch-copy{position:relative;z-index:20;padding:clamp(150px,18vh,190px) 0 72px var(--x);display:flex;flex-direction:column;align-items:flex-start}
.launch-meta{width:min(100%,560px)!important;display:grid!important;grid-template-columns:auto auto auto 1fr!important;gap:12px!important;align-items:center!important;padding-bottom:13px!important;border-bottom:1px solid var(--launch-line)!important;font-size:clamp(9px,.68vw,11px)!important;letter-spacing:.08em!important}
.launch-meta .offer-meta__date{justify-self:end!important}
.launch-title{margin:clamp(26px,3vh,40px) 0 20px!important;display:grid!important;justify-items:start!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(66px,6.2vw,103px)!important;line-height:.82!important;font-weight:500!important;letter-spacing:-.055em!important}
.launch-title>span:first-child,.launch-title>span:last-child{display:block!important}
.launch-title .offer-title__plus{justify-self:center!important;color:var(--launch-red)!important;font-family:"Courier New",Courier,monospace!important;font-size:.28em!important;line-height:1!important;margin:.18em 0 .17em!important;font-weight:700!important;letter-spacing:0!important}
.launch-campaign{margin:0!important;font-family:"Courier New",Courier,monospace!important;font-size:clamp(14px,1.08vw,18px)!important;line-height:1.32!important;letter-spacing:.11em!important;font-weight:700!important}
.launch-summary{margin:17px 0 0!important;max-width:460px!important;font-family:"Courier New",Courier,monospace!important;font-size:clamp(10px,.72vw,12px)!important;line-height:1.55!important}
.launch-explore{margin-top:28px!important;display:inline-flex!important;align-items:center!important;gap:12px!important;padding:0!important;color:var(--launch-red)!important;cursor:pointer!important;font-family:"Courier New",Courier,monospace!important;font-size:clamp(13px,.95vw,16px)!important;font-weight:700!important;letter-spacing:.08em!important}
.launch-explore .direction-line{font-size:16px!important}
.launch-explore:hover,.launch-explore:focus-visible{color:var(--launch-ink)!important}
.launch-visual{position:absolute;z-index:5;inset:0 0 0 38%;margin:0!important;overflow:hidden;background:#d7d0c5}
.launch-visual img{width:100%;height:100%;object-fit:cover;object-position:58% center;display:block;filter:saturate(.82) contrast(.98)}
.launch-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--launch-paper) 0%,rgba(242,239,231,.98) 10%,rgba(242,239,231,.74) 22%,rgba(242,239,231,.18) 38%,transparent 52%)}
.launch-visual figcaption,.launch-detail-visual figcaption{position:absolute;z-index:3;right:18px;bottom:14px;font-size:8px;letter-spacing:.08em;color:rgba(17,17,15,.42);font-family:"Courier New",Courier,monospace}

/* Navigation begins after the offer viewport and sticks */
.launch-navigation{position:sticky!important;top:0!important;z-index:95!important;height:72px!important;background:rgba(242,239,231,.97)!important;border-top:1px solid var(--launch-line)!important;border-bottom:1px solid var(--launch-line)!important;backdrop-filter:blur(8px)!important}
.launch-navigation .section-navigation__inner{height:100%!important;max-width:1080px!important;margin:0 auto!important;padding:0 28px!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:18px!important;align-items:center!important;justify-items:center!important}
.launch-navigation .section-nav-link{font-size:clamp(10px,.75vw,12px)!important;letter-spacing:.08em!important;cursor:pointer!important;white-space:nowrap!important}
.launch-navigation .section-nav-link:hover,.launch-navigation .section-nav-link:focus-visible{color:var(--launch-red)!important}
.launch-navigation .section-nav-link--accent{color:var(--launch-red)!important;font-weight:700!important}

/* DETAIL STATE */
.launch-detail{position:relative!important;height:100svh!important;min-height:760px!important;overflow:hidden!important;background:var(--launch-paper)!important;padding:0!important}
.launch-back{position:absolute!important;z-index:62!important;left:var(--x)!important;top:104px!important;display:inline-flex!important;align-items:center!important;gap:8px!important;color:var(--launch-red)!important;font-family:"Courier New",Courier,monospace!important;font-size:10px!important;letter-spacing:.09em!important;cursor:pointer!important}
.launch-back:hover,.launch-back:focus-visible{color:var(--launch-ink)!important}
.launch-detail-grid{position:absolute;inset:0;display:grid;grid-template-columns:minmax(560px,48%) 1fr;gap:0}
.launch-detail-copy{position:relative;z-index:20;padding:150px 42px 54px var(--x);overflow:hidden;background:linear-gradient(90deg,var(--launch-paper) 0%,var(--launch-paper) 84%,rgba(242,239,231,.92) 100%)}
.launch-detail-heading .section-kicker{margin:0 0 14px!important}
.detail-title{margin:0 0 15px!important;display:grid!important;width:max-content!important;justify-items:start!important;font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(48px,4.4vw,72px)!important;line-height:.82!important;letter-spacing:-.05em!important;font-weight:500!important}
.detail-title .detail-plus{justify-self:center!important;margin:.15em 0!important;font-family:"Courier New",Courier,monospace!important;color:var(--launch-red)!important;font-size:.30em!important;line-height:1!important;font-weight:700!important}
.launch-detail-heading .detail-copy{margin:16px 0 0!important;max-width:610px!important;font-size:11px!important;line-height:1.6!important;color:#2b2925!important}
.detail-configs{margin-top:26px;padding-top:16px;border-top:1px solid var(--launch-line)}
.detail-section-label{display:block;margin-bottom:12px;font-size:9px;letter-spacing:.09em;color:var(--launch-red);font-weight:700}
.detail-config-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(17,17,15,.08)}
.detail-config-grid article{padding:14px 15px 12px 0;border-right:1px solid rgba(17,17,15,.12);min-height:122px}
.detail-config-grid article+article{padding-left:15px}.detail-config-grid article:last-child{border-right:0}
.detail-config-grid article>span{font-size:9px;color:var(--launch-red);letter-spacing:.08em}
.detail-config-grid h3{margin:9px 0 8px;font-size:10px;letter-spacing:.06em}
.detail-config-grid p{margin:0;font-size:9px;line-height:1.45;color:#4e4a43}
.detail-fit{margin-top:18px;padding-top:15px;border-top:1px solid var(--launch-line);display:grid;grid-template-columns:1fr 1fr;gap:26px}
.detail-fit p{margin:0;font-size:9px;line-height:1.5;color:#4e4a43}
.launch-detail-visual-column{position:relative;min-width:0;height:100%}
.launch-detail-visual{position:absolute;inset:0;margin:0;overflow:hidden;background:#d7d0c5}
.launch-detail-visual img{width:100%;height:100%;object-fit:cover;object-position:55% center;filter:saturate(.82) contrast(.98)}
.launch-detail-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(242,239,231,.38),transparent 28%)}
.launch-mini-form{position:absolute!important;z-index:30!important;right:var(--x)!important;bottom:46px!important;width:min(360px,calc(100% - 56px))!important;margin:0!important;padding:22px!important;border:1px solid rgba(17,17,15,.34)!important;border-radius:14px!important;background:rgba(247,244,237,.94)!important;backdrop-filter:blur(10px)!important;box-shadow:0 16px 44px rgba(0,0,0,.12)!important}
.launch-mini-form h2{margin:0 0 8px;font-family:Arial,Helvetica,sans-serif;font-size:22px;letter-spacing:-.02em}
.launch-mini-form>p{margin:0 0 16px;font-size:9px;line-height:1.5}
.launch-mini-form .step1-mock{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.launch-mini-form .step1-mock label{gap:4px!important;font-size:8px!important}
.launch-mini-form .step1-mock input{padding:7px 0 8px!important}
.launch-mini-form .mock-submit{grid-column:1!important;margin-top:8px!important;padding:10px 12px!important;border-radius:8px!important;background:var(--launch-red)!important;color:#fff!important;gap:8px!important}
.launch-mini-form .mock-submit:hover,.launch-mini-form .mock-submit:focus-visible{background:var(--launch-ink)!important}

/* Lower site placeholders */
.launch-page-body .page-section{background:var(--launch-paper)!important}
.launch-contact-zone{background:var(--launch-paper2)!important}
.launch-footer{background:var(--launch-paper)!important}

/* Mobile */
@media(max-width:860px){
  .launch-header{height:74px!important;padding:22px var(--x) 0!important}
  .launch-contact{gap:6px!important;padding:7px 10px 8px!important;border-radius:8px!important}.launch-contact .interactive-word{font-size:9px!important}.launch-contact .direction-line{font-size:10px!important}
  .launch-cover{min-height:760px!important}.launch-cover-grid{display:block!important}.launch-copy{padding:112px var(--x) 46px!important;width:100%!important}.launch-meta{width:100%!important;font-size:8px!important}.launch-title{font-size:clamp(54px,15vw,72px)!important;margin-top:25px!important}.launch-campaign{font-size:13px!important}.launch-summary{font-size:9px!important;max-width:78%!important}.launch-explore{font-size:11px!important;margin-top:19px!important}
  .launch-visual{inset:auto 0 0 0!important;height:40%!important}.launch-visual::after{background:linear-gradient(180deg,var(--launch-paper) 0%,rgba(242,239,231,.78) 18%,transparent 50%)!important}
  .launch-navigation{overflow-x:auto!important;height:62px!important}.launch-navigation .section-navigation__inner{width:max-content!important;max-width:none!important;min-width:100%!important;display:flex!important;gap:27px!important;padding:0 20px!important}.launch-navigation .section-nav-link{font-size:9px!important}
  .launch-detail{height:auto!important;min-height:100svh!important;overflow:visible!important}.launch-back{top:76px!important}.launch-detail-grid{position:relative!important;display:block!important;padding-top:110px!important}.launch-detail-copy{padding:30px var(--x) 36px!important}.detail-title{font-size:clamp(48px,13vw,62px)!important}.detail-config-grid{grid-template-columns:1fr!important}.detail-config-grid article{border-right:0!important;border-bottom:1px solid rgba(17,17,15,.10)!important;padding:12px 0!important;min-height:0!important}.detail-fit{grid-template-columns:1fr!important}.launch-detail-visual-column{height:auto!important;min-height:720px!important}.launch-detail-visual{height:420px!important;inset:0 0 auto!important}.launch-mini-form{right:var(--x)!important;left:var(--x)!important;bottom:30px!important;width:auto!important}.launch-detail-visual figcaption{bottom:auto!important;top:396px!important}
}


/* =========================================================
   LAUNCH UI LOCK v002 — TYPOGRAPHY OPTION 5
   PLUS JAKARTA SANS
   Boot v012 remains locked and is not restyled here.
   ========================================================= */
:root{
  --launch-font:"Plus Jakarta Sans",Arial,Helvetica,sans-serif;
}

/* Primary launch UI reading system */
.launch-cover,
.launch-detail,
.launch-navigation,
.launch-page-body,
.launch-contact,
.launch-back,
.launch-meta,
.launch-campaign,
.launch-summary,
.launch-explore,
.launch-detail-copy,
.launch-detail-copy button,
.launch-detail-copy input,
.launch-detail-copy label,
.launch-detail-copy p,
.launch-detail-copy h2,
.launch-detail-copy h3,
.launch-detail-copy span,
.launch-detail-form,
.launch-detail-form input,
.launch-detail-form button,
.launch-detail-form label{
  font-family:var(--launch-font)!important;
}

/* Brand target + large offer typography.
   Visible boot RuGo remains governed by locked styles.css. */
.site-brand,
.launch-title,
.detail-title{
  font-family:var(--launch-font)!important;
}

/* Readability pass */
.launch-meta{
  font-weight:600!important;
  letter-spacing:.055em!important;
}
.launch-campaign{
  font-weight:700!important;
  letter-spacing:.065em!important;
  line-height:1.30!important;
}
.launch-summary{
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:1.60!important;
}
.launch-explore{
  font-weight:700!important;
  letter-spacing:.045em!important;
}
.launch-contact .interactive-word{
  font-family:var(--launch-font)!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
}
.launch-navigation .section-nav-link{
  font-family:var(--launch-font)!important;
  font-weight:600!important;
  letter-spacing:.045em!important;
}
.launch-back{
  font-family:var(--launch-font)!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
}
.launch-detail-heading .section-kicker,
.detail-section-label{
  font-family:var(--launch-font)!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
}
.launch-detail-heading .detail-copy{
  font-family:var(--launch-font)!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
.detail-config-grid article>span{
  font-family:var(--launch-font)!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
}
.detail-config-grid h3{
  font-family:var(--launch-font)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
}
.detail-config-grid p,
.detail-fit p{
  font-family:var(--launch-font)!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.55!important;
  letter-spacing:0!important;
}

/* Step 1 card: prioritize legibility */
.launch-step-card,
.launch-step-card *{
  font-family:var(--launch-font)!important;
}
.launch-step-card .section-kicker{
  font-weight:700!important;
  letter-spacing:.05em!important;
}
.launch-step-card h2{
  font-weight:700!important;
  letter-spacing:-.025em!important;
}
.launch-step-card p{
  font-weight:400!important;
  line-height:1.55!important;
}
.launch-step-card label{
  font-weight:600!important;
  letter-spacing:.035em!important;
}
.launch-step-card input{
  font-weight:400!important;
}
.launch-step-card .mock-submit{
  font-weight:700!important;
  letter-spacing:.035em!important;
}

/* Keep the directional glyph clean and proportional. */
.direction-line::before{
  font-family:var(--launch-font)!important;
  font-weight:700!important;
}


/* =========================================================
   LAUNCH UI LOCK v003 — DESKTOP COMPOSITION PASS
   Base typography: Plus Jakarta Sans (APPROVED DIRECTION)
   Boot / movement / JS interactions: LOCKED
   ========================================================= */

@media(min-width:861px){

  /* ---------- Shared desktop frame ---------- */
  .launch-header{
    height:104px!important;
    padding:32px var(--x) 0!important;
  }

  .launch-contact{
    gap:8px!important;
    padding:10px 14px 11px!important;
    border-radius:11px!important;
  }
  .launch-contact .interactive-word{
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:.025em!important;
  }
  .launch-contact .direction-line{
    font-size:11px!important;
  }

  /* ---------- COVER / ACTIVE OFFER ---------- */
  .launch-cover{
    min-height:720px!important;
  }

  .launch-cover-grid{
    grid-template-columns:45% 55%!important;
  }

  .launch-copy{
    padding:clamp(160px,18vh,190px) 52px 62px var(--x)!important;
    justify-content:flex-start!important;
  }

  .launch-meta{
    width:min(100%,540px)!important;
    gap:10px!important;
    padding-bottom:12px!important;
    font-size:10px!important;
    line-height:1.2!important;
  }

  .launch-title{
    margin:clamp(30px,3.6vh,42px) 0 22px!important;
    font-size:clamp(72px,6.25vw,98px)!important;
    line-height:.84!important;
    letter-spacing:-.058em!important;
  }

  .launch-title .offer-title__plus{
    margin:.16em 0 .13em!important;
    font-size:.27em!important;
  }

  .launch-campaign{
    font-size:15px!important;
    line-height:1.34!important;
    letter-spacing:.055em!important;
  }

  .launch-summary{
    width:min(100%,445px)!important;
    margin-top:14px!important;
    font-size:12px!important;
    line-height:1.58!important;
  }

  .launch-explore{
    margin-top:26px!important;
    gap:10px!important;
    font-size:14px!important;
    letter-spacing:.025em!important;
  }

  .launch-explore .direction-line{
    font-size:14px!important;
  }

  .launch-visual{
    inset:0 0 0 40%!important;
  }

  .launch-visual img{
    object-position:60% center!important;
  }

  .launch-visual::after{
    background:
      linear-gradient(
        90deg,
        var(--launch-paper) 0%,
        rgba(242,239,231,.98) 9%,
        rgba(242,239,231,.80) 18%,
        rgba(242,239,231,.28) 32%,
        transparent 48%
      )!important;
  }

  /* Navigation belongs to the next vertical state, not the hero */
  .launch-navigation{
    height:68px!important;
  }
  .launch-navigation .section-navigation__inner{
    max-width:1040px!important;
    gap:12px!important;
  }
  .launch-navigation .section-nav-link{
    font-size:11px!important;
    letter-spacing:.025em!important;
  }

  /* ---------- DETAIL / ACTIVE OFFER ---------- */
  .launch-detail{
    min-height:760px!important;
  }

  .launch-back{
    top:112px!important;
    gap:7px!important;
    font-size:10px!important;
  }

  .launch-detail-grid{
    grid-template-columns:52% 48%!important;
  }

  .launch-detail-copy{
    padding:154px 48px 46px var(--x)!important;
    background:
      linear-gradient(
        90deg,
        var(--launch-paper) 0%,
        var(--launch-paper) 90%,
        rgba(242,239,231,.94) 100%
      )!important;
  }

  .launch-detail-heading{
    max-width:650px!important;
  }

  .launch-detail-heading .section-kicker{
    margin-bottom:10px!important;
    font-size:10px!important;
  }

  .detail-title{
    margin-bottom:16px!important;
    font-size:clamp(50px,4.25vw,68px)!important;
    line-height:.86!important;
    letter-spacing:-.052em!important;
  }

  .detail-title .detail-plus{
    margin:.12em 0!important;
  }

  .launch-detail-heading .launch-campaign{
    font-size:13px!important;
    line-height:1.32!important;
  }

  .launch-detail-heading .detail-copy{
    max-width:600px!important;
    margin-top:13px!important;
    font-size:13px!important;
    line-height:1.60!important;
  }

  /* Configurations become a clear editorial comparison strip */
  .detail-configs{
    margin-top:23px!important;
    padding-top:14px!important;
  }

  .detail-section-label{
    margin-bottom:10px!important;
    font-size:9px!important;
    line-height:1.25!important;
  }

  .detail-config-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .detail-config-grid article{
    min-height:120px!important;
    padding:13px 15px 13px 0!important;
  }
  .detail-config-grid article+article{
    padding-left:15px!important;
  }

  .detail-config-grid article>span{
    font-size:9px!important;
  }

  .detail-config-grid h3{
    margin:7px 0 7px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }

  .detail-config-grid p{
    font-size:10px!important;
    line-height:1.52!important;
  }

  /* Two short explanation zones only */
  .detail-fit{
    margin-top:16px!important;
    padding-top:14px!important;
    grid-template-columns:1.15fr .85fr!important;
    gap:30px!important;
  }

  .detail-fit p{
    font-size:10.5px!important;
    line-height:1.55!important;
  }

  /* Visual retains breathing room */
  .launch-detail-visual-column{
    overflow:hidden!important;
  }

  .launch-detail-visual img{
    object-position:59% center!important;
  }

  .launch-detail-visual::after{
    background:
      linear-gradient(
        90deg,
        rgba(242,239,231,.28) 0%,
        rgba(242,239,231,.08) 18%,
        transparent 35%
      )!important;
  }

  /* Step 1 is smaller, readable and deliberately anchored */
  .launch-mini-form{
    right:clamp(28px,3vw,48px)!important;
    bottom:clamp(34px,4vh,48px)!important;
    width:min(330px,calc(100% - 56px))!important;
    padding:20px!important;
    border-radius:12px!important;
    background:rgba(247,244,237,.965)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.13)!important;
  }

  .launch-mini-form .section-kicker{
    margin-bottom:10px!important;
    font-size:9px!important;
  }

  .launch-mini-form h2{
    margin:0 0 7px!important;
    font-family:var(--launch-font)!important;
    font-size:20px!important;
    line-height:1.12!important;
    font-weight:700!important;
    letter-spacing:-.025em!important;
  }

  .launch-mini-form>p{
    margin:0 0 14px!important;
    font-size:10px!important;
    line-height:1.45!important;
  }

  .launch-mini-form .step1-mock{
    gap:9px!important;
  }

  .launch-mini-form .step1-mock label{
    gap:3px!important;
    font-size:8px!important;
    letter-spacing:.025em!important;
  }

  .launch-mini-form .step1-mock input{
    padding:7px 0 8px!important;
  }

  .launch-mini-form .mock-submit{
    margin-top:7px!important;
    padding:10px 12px!important;
    font-size:10px!important;
  }

  /* Keep the first viewport composition intentionally clean */
  .launch-cover .prototype-note,
  .launch-detail .prototype-note{
    opacity:.14!important;
  }
}


/* =========================================================
   LAUNCH UI LOCK v004 — COMPOSITION CORRECTION PASS
   ========================================================= */
@media(min-width:861px){

  /* One visible RuGo_ only in Detail. */
  .site-state[data-state-name="detail"] .offer-header .site-brand{
    opacity:0!important;
    visibility:hidden!important;
  }

  /* Shared metadata row: exact position, wording, date and rule. */
  .launch-meta,
  .launch-meta--detail{
    width:min(100%,540px)!important;
    min-height:34px!important;
    display:grid!important;
    grid-template-columns:auto auto 1fr auto!important;
    align-items:center!important;
    gap:10px!important;
    padding:0 0 12px!important;
    margin:0!important;
    border-bottom:1px solid var(--launch-line)!important;
    font-family:var(--launch-font)!important;
    font-size:10px!important;
    line-height:1.15!important;
    font-weight:600!important;
    letter-spacing:.045em!important;
  }

  .launch-meta .accent,
  .launch-meta--detail .accent{
    white-space:nowrap!important;
  }

  .launch-meta__date,
  .launch-meta--detail .launch-meta__date{
    justify-self:end!important;
    white-space:nowrap!important;
  }

  .launch-detail-heading .launch-meta--detail{
    margin-bottom:22px!important;
  }

  /* Larger identical + on both screens. */
  .launch-plus,
  .launch-title .offer-title__plus,
  .detail-title .detail-plus{
    color:var(--launch-accent)!important;
    font-family:var(--launch-font)!important;
    font-weight:500!important;
    font-size:.40em!important;
    line-height:1!important;
    margin:.10em 0 .09em!important;
    justify-self:center!important;
  }

  /* VOLVER anchored bottom-left. */
  .launch-back-bottom{
    position:absolute!important;
    left:var(--x)!important;
    bottom:24px!important;
    z-index:55!important;
  }

  .launch-back-bottom .launch-back{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:0!important;
    margin:0!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:.035em!important;
  }

  /* Exactly five navigation items, centered and more prominent. */
  .launch-navigation{
    height:72px!important;
  }

  .launch-navigation .section-navigation__inner{
    width:min(100%,860px)!important;
    max-width:860px!important;
    margin:0 auto!important;
    padding:0 22px!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:28px!important;
    align-items:center!important;
    justify-items:center!important;
  }

  .launch-navigation .section-nav-link{
    font-family:var(--launch-font)!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:700!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
  }

  /* Keep detail rhythm aligned with Home. */
  .launch-detail-copy{
    padding-top:154px!important;
  }

  .launch-detail-heading{
    max-width:650px!important;
  }

  .launch-detail-heading .detail-title{
    margin-top:0!important;
  }
}


/* =========================================================
   LAUNCH UI LOCK v005 — DARK COMPOSITION PASS
   ========================================================= */

:root{
  --launch-dark:#070707;
  --launch-light:#f3f0e9;
  --launch-panel:#f4f1ea;
}

/* Main surfaces */
.launch-cover,
.launch-detail,
.launch-navigation{
  background:var(--launch-dark)!important;
  color:var(--launch-light)!important;
}

/* Keep only a white landing zone behind RuGo_ */
.launch-header{
  background:transparent!important;
}
.launch-header::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  top:0;
  width:192px;
  height:88px;
  background:var(--launch-panel);
  pointer-events:none;
}

/* Contact button inversion for dark UI */
.launch-contact{
  background:var(--launch-dark)!important;
  border-color:var(--launch-light)!important;
  color:var(--launch-light)!important;
}
.launch-contact .interactive-word,
.launch-contact .direction-line,
.launch-contact .direction-line::before{
  color:var(--launch-light)!important;
}
.launch-contact:hover,
.launch-contact:focus-visible{
  background:var(--launch-light)!important;
  color:var(--launch-dark)!important;
  border-color:var(--launch-light)!important;
}
.launch-contact:hover .interactive-word,
.launch-contact:focus-visible .interactive-word,
.launch-contact:hover .direction-line,
.launch-contact:focus-visible .direction-line,
.launch-contact:hover .direction-line::before,
.launch-contact:focus-visible .direction-line::before{
  color:var(--launch-dark)!important;
}

/* Metadata / text */
.launch-meta,
.launch-meta--detail{
  color:var(--launch-light)!important;
  border-bottom-color:rgba(243,240,233,.48)!important;
}
.launch-meta .accent,
.launch-meta--detail .accent{
  color:var(--launch-accent)!important;
}

.launch-title,
.launch-campaign,
.launch-summary,
.detail-title,
.detail-dream-line{
  color:var(--launch-light)!important;
}

.launch-plus,
.launch-title .offer-title__plus,
.detail-title .detail-plus{
  color:var(--launch-accent)!important;
}

.launch-explore{
  color:var(--launch-accent)!important;
}

/* Photography tuned for black composition */
.launch-visual img,
.launch-detail-visual img{
  filter:brightness(.48) saturate(.84) contrast(1.03)!important;
}
.launch-visual::after{
  background:linear-gradient(
    90deg,
    var(--launch-dark) 0%,
    rgba(7,7,7,.99) 10%,
    rgba(7,7,7,.90) 20%,
    rgba(7,7,7,.48) 34%,
    transparent 53%
  )!important;
}
.launch-detail-visual::after{
  background:linear-gradient(
    90deg,
    rgba(7,7,7,.34) 0%,
    rgba(7,7,7,.13) 20%,
    transparent 42%
  )!important;
}

/* Detail panel */
.launch-detail-copy{
  background:var(--launch-dark)!important;
  color:var(--launch-light)!important;
}
.launch-detail-heading,
.launch-detail-heading .detail-copy,
.detail-config-grid,
.detail-config-grid article,
.detail-fit{
  color:var(--launch-light)!important;
}
.detail-configs,
.detail-fit{
  border-top-color:rgba(243,240,233,.28)!important;
}
.detail-config-grid article+article{
  border-left-color:rgba(243,240,233,.18)!important;
}
.detail-config-grid p,
.detail-fit p{
  color:rgba(243,240,233,.76)!important;
}
.detail-section-label,
.detail-config-grid article>span{
  color:var(--launch-accent)!important;
}

/* Detail equation */
.detail-title--equation{
  display:block!important;
  width:min(100%,700px)!important;
  margin:0 0 18px!important;
  font-family:var(--launch-font)!important;
}
.detail-title__equation{
  display:flex!important;
  align-items:baseline!important;
  gap:.13em!important;
  white-space:nowrap!important;
  font-size:clamp(34px,3.15vw,52px)!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
}
.detail-title__equation .detail-plus{
  font-size:.72em!important;
  margin:0!important;
  align-self:center!important;
}
.detail-equals{
  color:var(--launch-light)!important;
  font-weight:500!important;
}
.detail-dream-line{
  display:block!important;
  margin-top:8px!important;
  font-size:clamp(24px,2.20vw,36px)!important;
  line-height:1.10!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
}

/* Step 1 remains white */
.launch-mini-form{
  background:rgba(244,241,234,.97)!important;
  color:#111!important;
}
.launch-mini-form .section-kicker{
  color:var(--launch-accent)!important;
}
.launch-mini-form .mock-submit{
  background:var(--launch-accent)!important;
  color:#fff!important;
}
.launch-mini-form input{
  border-bottom-color:#111!important;
}

/* Navigation inside same screen, large and centered */
.launch-navigation{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  z-index:70!important;
  height:78px!important;
  border-top:1px solid rgba(243,240,233,.38)!important;
  border-bottom:0!important;
  backdrop-filter:none!important;
}
.launch-navigation .section-navigation__inner{
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  height:100%!important;
  margin:0 auto!important;
  padding:0 34px!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:36px!important;
  align-items:center!important;
  justify-items:center!important;
}
.launch-navigation .section-nav-link{
  color:var(--launch-light)!important;
  font-size:clamp(18px,1.55vw,24px)!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
  transform:none!important;
}
.launch-navigation .section-nav-link:hover,
.launch-navigation .section-nav-link:focus-visible{
  color:var(--launch-accent)!important;
  transform:none!important;
}

/* Make room for nav within viewport */
.launch-cover,
.launch-detail{
  padding-bottom:78px!important;
}

/* VOLVER visible lower-left */
.launch-back-bottom{
  left:var(--x)!important;
  bottom:98px!important;
  z-index:75!important;
}
.launch-back-bottom .launch-back{
  color:var(--launch-light)!important;
  font-size:14px!important;
}

/* Hide prototype note */
.prototype-note{
  display:none!important;
}

@media(min-width:861px){
  .launch-detail-copy{
    padding-bottom:128px!important;
  }
  .launch-mini-form{
    bottom:104px!important;
  }
}


/* =========================================================
   LAUNCH UI LOCK v006 — DARK SURGICAL CORRECTION
   ========================================================= */

/* FULL WHITE TOP BAR — not a local patch behind RuGo. */
.launch-header{
  background:#fff!important;
  height:108px!important;
  padding:28px var(--x) 0!important;
  z-index:100!important;
}
.launch-header::before{
  display:none!important;
  content:none!important;
}

/* Contact button on white bar: black default, inverted on hover. */
.launch-contact{
  background:#080808!important;
  border:1px solid #080808!important;
  color:#fff!important;
}
.launch-contact .interactive-word,
.launch-contact .direction-line,
.launch-contact .direction-line::before{
  color:#fff!important;
}
.launch-contact:hover,
.launch-contact:focus-visible{
  background:#fff!important;
  border-color:#080808!important;
  color:#080808!important;
}
.launch-contact:hover .interactive-word,
.launch-contact:focus-visible .interactive-word,
.launch-contact:hover .direction-line,
.launch-contact:focus-visible .direction-line,
.launch-contact:hover .direction-line::before,
.launch-contact:focus-visible .direction-line::before{
  color:#080808!important;
}

/* True dark system below header, including the continuation of the site. */
html,
body,
.site-state,
.launch-page-body,
.launch-page-body .page-section,
.launch-contact-zone,
.launch-footer{
  background:#070707!important;
  color:#f3f0e9!important;
}
.launch-page-body .page-section{
  border-color:rgba(243,240,233,.18)!important;
}
.launch-page-body p,
.launch-page-body h2,
.launch-page-body label,
.launch-footer{
  color:#f3f0e9!important;
}
.launch-page-body .section-kicker{
  color:var(--launch-accent)!important;
}
.placeholder-grid>div{
  border-color:rgba(243,240,233,.30)!important;
  color:#f3f0e9!important;
}

/* Restore and protect RuGo red accents. */
.accent,
.launch-meta .accent,
.launch-meta--detail .accent,
.launch-plus,
.offer-title__plus,
.detail-plus,
.launch-explore,
.detail-section-label,
.detail-config-grid article>span,
.launch-mini-form .section-kicker,
.launch-page-body .section-kicker.accent{
  color:var(--launch-accent)!important;
}

/* STEP 1 card stays white. All form text is explicitly black,
   except the red action button with white contents. */
.launch-mini-form{
  background:#f4f1ea!important;
  color:#111!important;
}
.launch-mini-form h2,
.launch-mini-form p,
.launch-mini-form label,
.launch-mini-form label span,
.launch-mini-form input{
  color:#111!important;
}
.launch-mini-form .mock-submit{
  background:var(--launch-accent)!important;
  border-color:var(--launch-accent)!important;
  color:#fff!important;
}
.launch-mini-form .mock-submit .interactive-word,
.launch-mini-form .mock-submit .direction-line,
.launch-mini-form .mock-submit .direction-line::before{
  color:#fff!important;
}
.launch-mini-form .mock-submit:hover,
.launch-mini-form .mock-submit:focus-visible{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}
.launch-mini-form .mock-submit:hover .interactive-word,
.launch-mini-form .mock-submit:focus-visible .interactive-word,
.launch-mini-form .mock-submit:hover .direction-line,
.launch-mini-form .mock-submit:focus-visible .direction-line,
.launch-mini-form .mock-submit:hover .direction-line::before,
.launch-mini-form .mock-submit:focus-visible .direction-line::before{
  color:#fff!important;
}

/* NAVIGATION IS NOW STRUCTURALLY INSIDE EACH VIEWPORT. */
.launch-cover,
.launch-detail{
  position:relative!important;
  padding-bottom:0!important;
}

.launch-navigation{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:92px!important;
  z-index:80!important;
  background:rgba(7,7,7,.92)!important;
  border-top:1px solid rgba(243,240,233,.30)!important;
  border-bottom:0!important;
  backdrop-filter:none!important;
}

.launch-navigation .section-navigation__inner{
  width:min(100%,1160px)!important;
  max-width:1160px!important;
  height:100%!important;
  margin:0 auto!important;
  padding:0 38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
}

/* Artistic hierarchy: large gray words separated by large dots. */
.launch-navigation .section-nav-link{
  position:relative!important;
  flex:0 0 auto!important;
  color:#a7a7a7!important;
  font-family:var(--launch-font)!important;
  font-size:clamp(24px,2.25vw,34px)!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.012em!important;
  padding:0 34px!important;
  transform:none!important;
}
.launch-navigation .section-nav-link:not(:last-child)::after{
  content:"•";
  position:absolute;
  right:-5px;
  top:50%;
  transform:translateY(-52%);
  color:#777!important;
  font-size:1.35em!important;
  line-height:1!important;
}
.launch-navigation .section-nav-link:hover,
.launch-navigation .section-nav-link:focus-visible{
  color:#fff!important;
  transform:none!important;
}

/* VOLVER at lower-left, above the artistic nav. */
.launch-back-bottom{
  position:absolute!important;
  left:var(--x)!important;
  bottom:118px!important;
  z-index:85!important;
}
.launch-back-bottom .launch-back{
  color:#f3f0e9!important;
  font-size:14px!important;
  font-weight:700!important;
}
.launch-back-bottom .direction-line,
.launch-back-bottom .direction-line::before{
  color:var(--launch-accent)!important;
}

/* Cover/detail content must clear top white bar and bottom nav. */
.launch-copy{
  padding-top:164px!important;
  padding-bottom:126px!important;
}
.launch-detail-copy{
  padding-top:154px!important;
  padding-bottom:152px!important;
}

/* Keep Step 1 above the nav. */
.launch-mini-form{
  bottom:118px!important;
}

/* Ensure imagery occupies dark composition without reintroducing cream. */
.launch-visual,
.launch-detail-visual-column{
  background:#070707!important;
}


/* =========================================================
   LAUNCH UI LOCK v007 — ACCENT COLOR RESTORATION
   Rule: any text/symbol previously approved as RuGo accent red
   is explicitly protected against dark-mode/global color overrides.
   ========================================================= */

/* Core accent token remains the original RuGo red. */
:root{
  --launch-accent:#e1261c;
}

/* Brand accent / offer status */
.brand-mark-final,
.boot-cursor-line,
.accent,
.launch-meta .accent,
.launch-meta--detail .accent{
  color:var(--launch-accent)!important;
}
.brand-mark-final,
.boot-cursor-line{
  background:var(--launch-accent)!important;
}

/* Offer title + symbols */
.launch-plus,
.offer-title__plus,
.detail-plus{
  color:var(--launch-accent)!important;
}

/* Primary active actions */
.launch-explore,
.launch-explore .interactive-word,
.launch-explore .direction-line,
.launch-explore .direction-line::before,
.launch-explore .direction-line::after{
  color:var(--launch-accent)!important;
  border-color:var(--launch-accent)!important;
}

/* Detail return action */
.launch-back-bottom .launch-back,
.launch-back-bottom .launch-back .interactive-word,
.launch-back-bottom .launch-back .direction-line,
.launch-back-bottom .launch-back .direction-line::before,
.launch-back-bottom .launch-back .direction-line::after{
  color:var(--launch-accent)!important;
  border-color:var(--launch-accent)!important;
}

/* Configuration / editorial accent labels */
.detail-section-label,
.detail-config-grid article>span,
.detail-configs .detail-section-label,
.detail-fit .detail-section-label{
  color:var(--launch-accent)!important;
}

/* Step 1 / contact kickers and status */
.launch-mini-form .section-kicker.accent,
.launch-mini-form .section-kicker,
.launch-contact-zone .section-kicker.accent,
.launch-page-body .section-kicker.accent,
.mock-form-status{
  color:var(--launch-accent)!important;
}

/* Primary submit action: red field, white content.
   Protect symbol/text from white-card inheritance. */
.mock-submit,
.launch-mini-form .mock-submit{
  background:var(--launch-accent)!important;
  border-color:var(--launch-accent)!important;
  color:#fff!important;
}
.mock-submit .interactive-word,
.mock-submit .direction-line,
.mock-submit .direction-line::before,
.mock-submit .direction-line::after,
.launch-mini-form .mock-submit .interactive-word,
.launch-mini-form .mock-submit .direction-line,
.launch-mini-form .mock-submit .direction-line::before,
.launch-mini-form .mock-submit .direction-line::after{
  color:#fff!important;
  border-color:#fff!important;
}

/* Lower-page approved accent kickers remain red.
   Neutral section labels are not recolored unless already marked accent. */
.launch-page-body .section-kicker.accent{
  color:var(--launch-accent)!important;
}

/* Navigation remains intentionally gray per latest composition decision.
   Hover uses RuGo accent instead of generic white. */
.launch-navigation .section-nav-link:hover,
.launch-navigation .section-nav-link:focus-visible{
  color:var(--launch-accent)!important;
}

/* Contactanos is explicitly excluded from red restoration:
   latest approved dark-layout rule is black button on white header,
   inverted to white on hover. */
.launch-contact,
.launch-contact .interactive-word,
.launch-contact .direction-line,
.launch-contact .direction-line::before{
  color:#fff!important;
}
.launch-contact:hover .interactive-word,
.launch-contact:focus-visible .interactive-word,
.launch-contact:hover .direction-line,
.launch-contact:focus-visible .direction-line,
.launch-contact:hover .direction-line::before,
.launch-contact:focus-visible .direction-line::before{
  color:#080808!important;
}

/* =========================================================
   LAUNCH UI LOCK v008 — LIGHT RESTORATION
   Admin decision 2026-08-19:
   - restore the pre-dark light composition;
   - remove the visually separate white top bar;
   - revert every non-accent color to the prior light system;
   - preserve all approved RuGo accent-red elements;
   - preserve v007 structure, typography, navigation geometry and logic.
   ========================================================= */

:root{
  --launch-accent:#e1261c;
  --launch-paper:#f2efe7;
  --launch-paper2:#f7f4ed;
  --launch-ink:#11110f;
  --launch-muted:#68645d;
  --launch-line:rgba(17,17,15,.24);
}

/* LIGHT GLOBAL SURFACES — remove dark continuation introduced in v005/v006. */
html,
body,
.site-state,
.launch-cover,
.launch-detail,
.launch-page-body,
.launch-page-body .page-section,
.launch-contact-zone,
.launch-footer{
  background:var(--launch-paper)!important;
  color:var(--launch-ink)!important;
}

/* HEADER — no independent white bar or local patch. Header rides on the page. */
.launch-header{
  background:transparent!important;
}
.launch-header::before{
  display:none!important;
  content:none!important;
  background:none!important;
}

/* Revert Contactanos to the prior light-composition treatment. */
.launch-contact{
  background:#fff!important;
  border:1px solid var(--launch-ink)!important;
  color:var(--launch-ink)!important;
}
.launch-contact .interactive-word,
.launch-contact .direction-line,
.launch-contact .direction-line::before{
  color:var(--launch-ink)!important;
}
.launch-contact:hover,
.launch-contact:focus-visible{
  background:var(--launch-ink)!important;
  border-color:var(--launch-ink)!important;
  color:#fff!important;
}
.launch-contact:hover .interactive-word,
.launch-contact:focus-visible .interactive-word,
.launch-contact:hover .direction-line,
.launch-contact:focus-visible .direction-line,
.launch-contact:hover .direction-line::before,
.launch-contact:focus-visible .direction-line::before{
  color:#fff!important;
}

/* Home typography / metadata back to ink; approved accent remains protected below. */
.launch-meta,
.launch-meta--detail{
  color:var(--launch-ink)!important;
  border-bottom-color:var(--launch-line)!important;
}
.launch-title,
.launch-campaign,
.launch-summary,
.detail-title,
.detail-title__equation,
.detail-equals,
.detail-dream-line{
  color:var(--launch-ink)!important;
}

/* Restore light photographic treatment and light-side fades. */
.launch-visual{
  background:#d7d0c5!important;
}
.launch-detail-visual-column{
  background:var(--launch-paper)!important;
}
.launch-visual img,
.launch-detail-visual img{
  filter:saturate(.82) contrast(.98)!important;
}
.launch-visual::after{
  background:linear-gradient(
    90deg,
    var(--launch-paper) 0%,
    rgba(242,239,231,.98) 9%,
    rgba(242,239,231,.80) 18%,
    rgba(242,239,231,.28) 32%,
    transparent 48%
  )!important;
}
.launch-detail-visual::after{
  background:linear-gradient(
    90deg,
    rgba(242,239,231,.28) 0%,
    rgba(242,239,231,.08) 18%,
    transparent 35%
  )!important;
}

/* Detail copy returns to the prior light panel and text hierarchy. */
.launch-detail-copy{
  background:linear-gradient(
    90deg,
    var(--launch-paper) 0%,
    var(--launch-paper) 90%,
    rgba(242,239,231,.94) 100%
  )!important;
  color:var(--launch-ink)!important;
}
.launch-detail-heading,
.launch-detail-heading .detail-copy,
.detail-config-grid,
.detail-config-grid article,
.detail-fit{
  color:var(--launch-ink)!important;
}
.launch-detail-heading .detail-copy{
  color:#2b2925!important;
}
.detail-configs,
.detail-fit{
  border-top-color:var(--launch-line)!important;
}
.detail-config-grid{
  border-top-color:rgba(17,17,15,.08)!important;
}
.detail-config-grid article{
  border-right-color:rgba(17,17,15,.12)!important;
}
.detail-config-grid article+article{
  border-left-color:rgba(17,17,15,.12)!important;
}
.detail-config-grid p,
.detail-fit p{
  color:#4e4a43!important;
}

/* Lower site surfaces / typography return to the original light system. */
.launch-page-body .page-section{
  background:var(--launch-paper)!important;
  border-color:rgba(17,17,15,.13)!important;
}
.launch-contact-zone{
  background:var(--launch-paper2)!important;
}
.launch-footer{
  background:var(--launch-paper)!important;
}
.launch-page-body p,
.launch-page-body h2,
.launch-page-body label,
.launch-footer{
  color:var(--launch-ink)!important;
}
.placeholder-grid>div{
  border-color:rgba(17,17,15,.24)!important;
  color:var(--launch-ink)!important;
}

/* Navigation stays in the same v007 geometry, but reverts to the light palette. */
.launch-navigation{
  background:rgba(242,239,231,.97)!important;
  border-top:1px solid rgba(17,17,15,.24)!important;
  border-bottom:0!important;
  color:var(--launch-ink)!important;
}
.launch-navigation .section-nav-link{
  color:var(--launch-muted)!important;
}
.launch-navigation .section-nav-link:not(:last-child)::after{
  color:rgba(17,17,15,.42)!important;
}
.launch-navigation .section-nav-link:hover,
.launch-navigation .section-nav-link:focus-visible{
  color:var(--launch-accent)!important;
}

/* Step 1 remains light/readable. */
.launch-mini-form{
  background:rgba(247,244,237,.965)!important;
  color:var(--launch-ink)!important;
}
.launch-mini-form h2,
.launch-mini-form p,
.launch-mini-form label,
.launch-mini-form label span,
.launch-mini-form input{
  color:var(--launch-ink)!important;
}
.launch-mini-form input{
  border-bottom-color:var(--launch-ink)!important;
}

/* Accent protection — intentionally repeated after light restoration. */
.brand-mark-final,
.boot-cursor-line,
.accent,
.launch-meta .accent,
.launch-meta--detail .accent,
.launch-plus,
.offer-title__plus,
.detail-plus,
.launch-explore,
.launch-explore .interactive-word,
.launch-explore .direction-line,
.launch-explore .direction-line::before,
.launch-back-bottom .launch-back,
.launch-back-bottom .launch-back .interactive-word,
.launch-back-bottom .launch-back .direction-line,
.launch-back-bottom .launch-back .direction-line::before,
.detail-section-label,
.detail-config-grid article>span,
.launch-mini-form .section-kicker,
.launch-contact-zone .section-kicker.accent,
.launch-page-body .section-kicker.accent,
.mock-form-status{
  color:var(--launch-accent)!important;
}
.brand-mark-final,
.boot-cursor-line{
  background:var(--launch-accent)!important;
}
.mock-submit,
.launch-mini-form .mock-submit{
  background:var(--launch-accent)!important;
  border-color:var(--launch-accent)!important;
  color:#fff!important;
}
.mock-submit .interactive-word,
.mock-submit .direction-line,
.mock-submit .direction-line::before,
.launch-mini-form .mock-submit .interactive-word,
.launch-mini-form .mock-submit .direction-line,
.launch-mini-form .mock-submit .direction-line::before{
  color:#fff!important;
}

/* =========================================================
   LAUNCH UI LOCK v009 — INTERACTION CORRECTION
   Scope locked to two defects confirmed in Admin browser QA:
   1) Explore / Volver hover+focus must transition red -> ink.
   2) Vertical document scroll must remain locked during Boot.
   No Boot timing/JS/geometry changes.
   ========================================================= */

/* DEFECT 03.01.02-UI-INT-009-A — restore approved interactive color change.
   This final specificity layer intentionally overrides the v007/v008
   accent-protection layer only while the applicable control is interactive. */
.launch-explore:hover,
.launch-explore:hover .interactive-word,
.launch-explore:hover .direction-line,
.launch-explore:hover .direction-line::before,
.launch-explore:hover .direction-line::after,
.launch-explore:focus-visible,
.launch-explore:focus-visible .interactive-word,
.launch-explore:focus-visible .direction-line,
.launch-explore:focus-visible .direction-line::before,
.launch-explore:focus-visible .direction-line::after,
.launch-back-bottom .launch-back:hover,
.launch-back-bottom .launch-back:hover .interactive-word,
.launch-back-bottom .launch-back:hover .direction-line,
.launch-back-bottom .launch-back:hover .direction-line::before,
.launch-back-bottom .launch-back:hover .direction-line::after,
.launch-back-bottom .launch-back:focus-visible,
.launch-back-bottom .launch-back:focus-visible .interactive-word,
.launch-back-bottom .launch-back:focus-visible .direction-line,
.launch-back-bottom .launch-back:focus-visible .direction-line::before,
.launch-back-bottom .launch-back:focus-visible .direction-line::after{
  color:var(--launch-ink)!important;
  border-color:var(--launch-ink)!important;
}

/* DEFECT 03.01.02-UI-BOOT-SCROLL-009-B — lock document scrolling while Boot
   is active. prototype.js already adds .boot-complete at approved handoff,
   so scroll unlocks automatically without modifying the locked Boot script. */
body:not(.boot-complete){
  overflow:hidden!important;
  height:100svh!important;
  max-height:100svh!important;
}

/* =========================================================
   LAUNCH UI LOCK v012 — EDGE STATE + BRANCH CORRECTION
   ADMIN QA CORRECTION / 2026-08-21

   Approved behavior:
   - Edge words remain at their native scale.
   - Rest = 50% visible.
   - Hover/focus = 100% visible; no scaling.
   - Arrival hint = 50% -> 75% -> 50% on every activated screen.
   - Native document scrolling is disabled after Boot. Vertical wheel intent
     controls the spatial state machine instead of exposing adjacent rows.
   - First wheel intent reveals the relevant destination word to 100%; a
     continued wheel gesture performs the transition.
   - Core branch geometry: Services <- RuGo -> RuGo Lab Space.
   - Core Services/Lab use one bottom PROYECTOS gate; the 2/3 + 1/3 split
     exists only on the next branch row, never as two competing bottom words.
   - Express CONTÁCTANOS on Offer Home is word-only, fully visible and accent red.
   ========================================================= */

:root{
  --edge-nav-color:var(--launch-ink);
  --edge-nav-ease:cubic-bezier(.22,.78,.18,1);
  --spatial-duration:720ms;
}

html,body{
  width:100%;
  height:100%;
  overflow-x:hidden!important;
}
body.boot-complete{
  overflow:hidden!important;
  height:100svh!important;
  max-height:100svh!important;
}

.spatial-experience{
  position:relative;
  width:100%;
  height:100svh;
  overflow:hidden;
  background:var(--launch-paper);
}
.spatial-vertical-track{
  width:100%;
  height:400svh;
  display:flex;
  flex-direction:column;
  transform:translateY(0);
  transition:transform var(--spatial-duration) var(--edge-nav-ease);
  will-change:transform;
}
.spatial-vertical-track[data-spatial-level="offer"]{transform:translateY(0)}
.spatial-vertical-track[data-spatial-level="core"]{transform:translateY(-100svh)}
.spatial-vertical-track[data-spatial-level="branch"]{transform:translateY(-200svh)}
.spatial-vertical-track[data-spatial-level="contact"]{transform:translateY(-300svh)}

.spatial-row{
  position:relative;
  flex:0 0 100svh;
  width:100%;
  height:100svh;
  min-height:0;
  overflow:hidden;
}
.spatial-row--offer .experience-track,
.spatial-row--offer .site-state,
.spatial-row--offer .launch-cover,
.spatial-row--offer .launch-detail{
  height:100svh!important;
  min-height:0!important;
}

/* Retired conventional footer/back navigation remains out of the spatial system. */
.launch-navigation,
.launch-back-bottom{
  display:none!important;
}

/* ---------- Edge navigation: stable hit zones + clipped visual words ---------- */
.edge-nav{
  --edge-color:var(--edge-nav-color);
  position:absolute!important;
  z-index:120!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--edge-color)!important;
  font-family:var(--launch-font)!important;
  font-size:var(--edge-font-size,var(--spatial-nav-font-size,72px))!important; /* v014: perimeter words = 2x Home CONTÁCTANOS reference */
  font-weight:800!important;
  line-height:.88!important;
  letter-spacing:-.045em!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  overflow:visible!important;
  outline:none!important;
}
.edge-nav__word{
  position:absolute!important;
  display:block!important;
  width:0!important;
  height:0!important;
  color:inherit!important;
  font:inherit!important;
  transition:transform 360ms var(--edge-nav-ease),color 150ms ease!important;
  will-change:transform!important;
  pointer-events:none!important;
}
.edge-nav__text{
  position:absolute!important;
  left:0!important;
  top:0!important;
  display:block!important;
  width:max-content!important;
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  white-space:nowrap!important;
  transform-origin:center!important;
}
[data-theme="dark"] .edge-nav{--edge-color:#fff}

/* Hitboxes stay fully inside the active viewport. The zero-size word anchor
   sits exactly on the edge; only its depth shifts outside. This avoids the
   v010 lateral bug where 50% of the full word length was pushed offscreen. */
.edge-nav--left,
.edge-nav--right{
  top:50%!important;
  width:max(52px,3.4vw)!important;
  height:48vh!important;
  transform:translateY(-50%)!important;
}
.edge-nav--left{left:0!important}
.edge-nav--right{right:0!important}
.edge-nav--top,
.edge-nav--bottom{
  left:50%!important;
  width:42vw!important;
  height:max(56px,6.5vh)!important;
  transform:translateX(-50%)!important;
}
.edge-nav--top{top:0!important}
.edge-nav--bottom{bottom:0!important}

.edge-nav--left .edge-nav__word{left:0;top:50%;transform:translateX(0)}
.edge-nav--right .edge-nav__word{right:0;top:50%;transform:translateX(0)}
.edge-nav--top .edge-nav__word{left:50%;top:0;transform:translateY(0)}
.edge-nav--bottom .edge-nav__word{left:50%;bottom:0;transform:translateY(0)}

.edge-nav--left .edge-nav__text{transform:translate(-50%,-50%) rotate(-90deg)}
.edge-nav--right .edge-nav__text{transform:translate(-50%,-50%) rotate(90deg)}
.edge-nav--top .edge-nav__text,
.edge-nav--bottom .edge-nav__text{transform:translate(-50%,-50%)}

/* Rest = exactly 50% visible: the word center sits on the viewport edge.
   Hover/focus/wheel-ready = 100% visible: shift the center inward by half
   the typographic depth. Font size remains unchanged. */
.edge-nav--left:hover .edge-nav__word,
.edge-nav--left:focus-visible .edge-nav__word,
.edge-nav--left.is-wheel-ready .edge-nav__word{transform:translateX(.44em)!important}
.edge-nav--right:hover .edge-nav__word,
.edge-nav--right:focus-visible .edge-nav__word,
.edge-nav--right.is-wheel-ready .edge-nav__word{transform:translateX(-.44em)!important}
.edge-nav--top:hover .edge-nav__word,
.edge-nav--top:focus-visible .edge-nav__word,
.edge-nav--top.is-wheel-ready .edge-nav__word{transform:translateY(.44em)!important}
.edge-nav--bottom:hover .edge-nav__word,
.edge-nav--bottom:focus-visible .edge-nav__word,
.edge-nav--bottom.is-wheel-ready .edge-nav__word{transform:translateY(-.44em)!important}

.edge-nav:focus-visible{
  outline:2px solid currentColor!important;
  outline-offset:-8px!important;
}

/* Arrival hint: 50% -> 75% -> 50%.
   Rest is centered on the edge (50% visible); the hint shifts inward only
   one quarter of typographic depth so it never reveals the full word. */
@keyframes edgeHintLeft{0%,100%{transform:translateX(0)}46%,62%{transform:translateX(.22em)}}
@keyframes edgeHintRight{0%,100%{transform:translateX(0)}46%,62%{transform:translateX(-.22em)}}
@keyframes edgeHintTop{0%,100%{transform:translateY(0)}46%,62%{transform:translateY(.22em)}}
@keyframes edgeHintBottom{0%,100%{transform:translateY(0)}46%,62%{transform:translateY(-.22em)}}
.edge-nav--left.is-arrival-hint .edge-nav__word{animation:edgeHintLeft 900ms var(--edge-nav-ease) both}
.edge-nav--right.is-arrival-hint .edge-nav__word{animation:edgeHintRight 900ms var(--edge-nav-ease) both}
.edge-nav--top.is-arrival-hint .edge-nav__word{animation:edgeHintTop 900ms var(--edge-nav-ease) both}
.edge-nav--bottom.is-arrival-hint .edge-nav__word{animation:edgeHintBottom 900ms var(--edge-nav-ease) both}

/* Bottom split destinations: visual centers honor the 2/3 + 1/3 architecture. */
.edge-nav--bottom.edge-nav--segment{
  left:auto!important;
  transform:none!important;
  width:auto!important;
  height:max(74px,11vh)!important;
}
.edge-nav--segment-2of3-start{left:0!important;width:66.6667%!important}
.edge-nav--segment-1of3-end{right:0!important;width:33.3333%!important}
.edge-nav--segment-1of3-start{left:0!important;width:33.3333%!important}
.edge-nav--segment-2of3-end{right:0!important;width:66.6667%!important}
.edge-nav--segment .edge-nav__word{left:50%!important}

/* Transactional prepositioning: hidden horizontal destination state is
   resolved before the visible vertical A -> B transition begins. */
.experience-track.is-spatial-prepositioning,
.core-track.is-spatial-prepositioning,
.branch-track.is-spatial-prepositioning{transition:none!important}

/* ---------- Core horizontal row ---------- */
.core-track,
.branch-track{
  width:300vw;
  height:100%;
  display:flex;
  align-items:stretch;
  transition:transform 680ms var(--edge-nav-ease);
  will-change:transform;
}
.core-track{transform:translateX(-100vw)}
.core-track[data-core-state="services"]{transform:translateX(0)}
.core-track[data-core-state="rugo"]{transform:translateX(-100vw)}
.core-track[data-core-state="lab"]{transform:translateX(-200vw)}
.branch-track{transform:translateX(-100vw)}
.branch-track[data-branch-state="services"]{transform:translateX(0)}
.branch-track[data-branch-state="projects"]{transform:translateX(-100vw)}
.branch-track[data-branch-state="lab"]{transform:translateX(-200vw)}

.core-panel,
.branch-panel{
  flex:0 0 100vw;
  width:100vw;
  height:100%;
  position:relative;
  overflow:hidden;
  background:var(--launch-paper);
  color:var(--launch-ink);
}

/* ---------- Structural shells ---------- */
.spatial-screen{
  position:relative;
  overflow:hidden;
  background:var(--launch-paper);
  color:var(--launch-ink);
}
.spatial-screen-copy{
  position:absolute;
  z-index:20;
  left:50%;top:50%;
  width:min(720px,66vw);
  transform:translate(-50%,-50%);
  text-align:center;
}
.spatial-screen-copy .section-kicker,
.branch-area .section-kicker{
  display:block;
  margin-bottom:20px!important;
  color:var(--launch-muted)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:.10em!important;
}
.spatial-screen-copy h2,
.branch-area h2{
  margin:0!important;
  font-family:var(--launch-font)!important;
  font-size:clamp(56px,7vw,112px)!important;
  line-height:.9!important;
  font-weight:600!important;
  letter-spacing:-.06em!important;
  color:var(--launch-ink)!important;
}
.spatial-screen-copy p,
.branch-area p{
  width:min(620px,100%);
  margin:28px auto 0!important;
  font-size:13px!important;
  line-height:1.7!important;
  color:rgba(17,17,15,.70)!important;
}
.projects-screen{background:var(--launch-paper2)!important}

/* 2/3 + 1/3 branch shell. Content is structural/provisional only. */
.branch-split{
  position:absolute;
  inset:0;
  display:grid;
  background:var(--launch-paper);
}
.branch-split--services{grid-template-columns:2fr 1fr}
.branch-split--lab{grid-template-columns:1fr 2fr}
.branch-area{
  position:relative;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--launch-ink);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:10vw 6vw;
}
.branch-area--primary{background:var(--launch-paper)}
.branch-area--teaser{
  cursor:pointer;
  background:var(--launch-paper2);
  border-left:1px solid rgba(17,17,15,.14);
}
.branch-split--lab .branch-area--teaser{border-left:0;border-right:1px solid rgba(17,17,15,.14)}
.branch-area--teaser strong{
  font-family:var(--launch-font);
  font-size:clamp(38px,4.4vw,74px);
  letter-spacing:-.05em;
  line-height:.92;
}
.branch-area--teaser > span:last-child{
  max-width:320px;
  margin-top:18px;
  font-size:12px;
  line-height:1.6;
  color:rgba(17,17,15,.64);
}

.contact-screen{
  height:100%!important;
  min-height:0!important;
  padding:0 var(--x)!important;
  display:grid!important;
  grid-template-columns:.9fr 1.1fr!important;
  gap:9vw!important;
  align-items:center!important;
  background:var(--launch-paper)!important;
}
.contact-screen__intro h2{
  margin:0!important;
  font-family:var(--launch-font)!important;
  font-size:clamp(48px,5.5vw,86px)!important;
  line-height:.94!important;
  letter-spacing:-.05em!important;
  font-weight:600!important;
}
.contact-screen__intro p{max-width:520px;line-height:1.7!important;font-size:13px!important}
.contact-screen__form{margin:0!important}

/* ---------- Express Contact on Offer Home ----------
   Word-only, fully visible after its one-time Boot reveal, approx. 2/10 of
   viewport width, accent hierarchy. It remains the scale reference; all
   perimeter navigation words are exactly 2x this font size in v014. */
.launch-cover .launch-contact{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--launch-accent)!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transform:translateY(0);
  will-change:transform;
}
.launch-cover .launch-contact .interactive-word{
  display:block!important;
  font-family:var(--launch-font)!important;
  font-size:var(--express-contact-size,36px)!important;
  font-weight:800!important;
  line-height:.9!important;
  letter-spacing:-.045em!important;
  color:inherit!important;
  transform:none!important;
  transition:color 150ms ease!important;
}
.launch-cover .launch-contact:hover,
.launch-cover .launch-contact:focus-visible,
.launch-cover .launch-contact:hover .interactive-word,
.launch-cover .launch-contact:focus-visible .interactive-word{
  background:transparent!important;
  color:var(--launch-ink)!important;
}

/* Prevent pre-Boot paint from flashing the final Contact state. The element
   keeps its layout box so JS can measure the exact final top/right location. */
body:not(.boot-complete) .launch-cover .launch-contact,
.launch-cover .launch-contact.is-boot-staged{
  visibility:hidden!important;
}

/* Boot-only express Contact reveal. Geometry mirrors the perimeter language:
   50% visible at the TOP edge -> 75% visible -> final 100% at its approved
   upper-right location. It translates vertically; it never scales or clips. */
@keyframes expressContactBootReveal{
  0%{transform:translateY(var(--express-contact-offset-50, -60px))}
  46%,62%{transform:translateY(var(--express-contact-offset-75, -30px))}
  100%{transform:translateY(0)}
}
.launch-cover .launch-contact.is-boot-reveal{
  visibility:visible!important;
  animation:expressContactBootReveal 900ms var(--edge-nav-ease) both!important;
}
.launch-cover .launch-contact.is-boot-reveal-complete{
  visibility:visible!important;
  transform:translateY(0)!important;
}

@media(max-width:860px){
  /* Mobile remains outside the current gate; keep the spatial model functional
     without claiming final responsive design approval. */
  .edge-nav{font-size:32px!important}
  .edge-nav--left,.edge-nav--right{width:72px!important;height:44vh!important}
  .edge-nav--top,.edge-nav--bottom{width:55vw!important;height:72px!important}
  .spatial-screen-copy{width:calc(100% - 96px)}
  .spatial-screen-copy h2,.branch-area h2{font-size:clamp(42px,12vw,62px)!important}
  .branch-area{padding:12vw 5vw}
  .contact-screen{
    padding:100px var(--x)!important;
    display:block!important;
    overflow:auto!important;
  }
  .contact-screen__form{margin-top:48px!important}
}

@media(prefers-reduced-motion:reduce){
  .spatial-vertical-track,
  .core-track,
  .branch-track,
  .edge-nav__word{transition:none!important}
  .edge-nav.is-arrival-hint .edge-nav__word{animation:none!important}
}

/* =========================================================
   LAUNCH UI LOCK v015 — HOME-ONLY WORDMARK SCOPE
   The approved Boot wordmark remains the exact same rendered element.
   v015 changes only its post-Boot visibility scope:
   visible on Offer Home / cover; hidden everywhere else.
   ========================================================= */
body.boot-complete .boot-screen.is-final .brand-lockup--boot{
  opacity:0!important;
  visibility:hidden!important;
}

body.boot-complete.spatial-cover-home-active .boot-screen.is-final .brand-lockup--boot{
  opacity:1!important;
  visibility:visible!important;
}
