.escala-page { --navy:#102d44; --deep:#0a2032; --orange:#ff6f0f; --ink:#163247; --muted:#5c7280; color:var(--ink); background:#fff; overflow:hidden }
.escala-page *, .escala-page *::before, .escala-page *::after { box-sizing:border-box }
.escala-page h1,.escala-page h2,.escala-page h3 { font-family:Poppins,sans-serif; letter-spacing:-.04em; line-height:1.1; margin:0 }
.escala-page p { line-height:1.75; margin:0 0 1.15rem }
.escala-page a:focus-visible,.escala-page button:focus-visible,.escala-page input:focus-visible,.escala-page textarea:focus-visible { outline:3px solid #ffa461; outline-offset:3px }
.escala-topbar { align-items:center; backdrop-filter:blur(18px) saturate(135%); -webkit-backdrop-filter:blur(18px) saturate(135%); background:rgba(8,31,49,.48); border-bottom:1px solid rgba(255,255,255,.2); display:flex; justify-content:space-between; left:0; min-height:88px; padding:.65rem max(4vw,calc((100vw - 1320px)/2)); position:absolute; right:0; top:0; z-index:10 }
.escala-brand { align-items:center; color:#fff; display:inline-flex; font-family:Poppins,sans-serif; font-size:1.22rem; font-weight:700; gap:.6rem; white-space:nowrap }
.escala-brand img { border-radius:50%; height:58px; object-fit:cover; width:58px }
.escala-brand span span { color:var(--orange) }
.escala-brand:hover { color:#fff }
.escala-topbar-link { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.48); border-radius:999px; color:#fff; font-size:.86rem; font-weight:700; padding:.72rem 1.2rem }
.escala-topbar-link:hover { background:rgba(255,255,255,.22); color:#fff }
.escala-topbar-link i { margin-left:.55rem }
.escala-hero { background:var(--deep); min-height:690px; position:relative; display:flex; flex-direction:column; justify-content:space-between }
.escala-hero-photo { background-image:url('../img/escala-5x2-hero.png'); background-position:center top; background-repeat:no-repeat; background-size:cover; bottom:0; left:0; position:absolute; right:0; top:88px }
.escala-hero::before { background:linear-gradient(90deg,rgba(4,23,39,.95) 0%,rgba(7,30,49,.88) 31%,rgba(8,31,48,.35) 59%,rgba(5,23,35,.08) 100%),linear-gradient(0deg,rgba(6,24,39,.55),transparent 38%); content:""; inset:0; position:absolute; z-index:1 }
.escala-hero-content { align-items:center; display:flex; flex:1; min-height:690px; padding-top:88px; position:relative; z-index:2 }
.escala-hero-copy { max-width:730px; padding:5rem 0 5.5rem }
.escala-eyebrow { align-items:center; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#ffe0c4; display:inline-flex; font-family:Poppins,sans-serif; font-size:.74rem; font-weight:700; gap:.65rem; letter-spacing:.1em; padding:.7rem 1rem; text-transform:uppercase }
.escala-eyebrow span { background:#ff8a39; border-radius:50%; box-shadow:0 0 0 5px rgba(255,111,15,.17); height:7px; width:7px }
.escala-hero h1 { color:#fff; font-size:clamp(2.7rem,4.4vw,4.9rem); margin:1.45rem 0 1.45rem; text-wrap:balance }
.escala-hero h1 em { color:#ff964f; font-style:normal }
.escala-hero-copy > p { color:#e1eaf0; font-size:clamp(1rem,1.4vw,1.2rem); max-width:34rem }
.escala-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem }
.escala-button { align-items:center; border:2px solid transparent; border-radius:.8rem; display:inline-flex; font-family:Poppins,sans-serif; font-size:.88rem; font-weight:700; gap:1rem; justify-content:center; min-height:3.6rem; padding:.78rem 1.3rem; transition:transform .2s,background .2s,box-shadow .2s }
.escala-button:hover { transform:translateY(-2px) }
.escala-button-orange { background:var(--orange); box-shadow:0 14px 32px rgba(0,0,0,.2); color:#fff }
.escala-button-orange:hover { background:#df5300; color:#fff }
.escala-button-outline { border-color:rgba(255,255,255,.56); color:#fff }
.escala-button-outline:hover { background:rgba(255,255,255,.13); color:#fff }
.escala-hero-stamp { align-items:center; background:#fff; border-radius:50%; box-shadow:0 20px 45px rgba(0,0,0,.18); color:var(--navy); display:flex; flex-direction:column; height:138px; justify-content:center; position:absolute; right:1%; bottom:4.5rem; transform:rotate(9deg); width:138px }
.escala-hero-stamp strong { font-family:Poppins,sans-serif; font-size:2.7rem; letter-spacing:-.09em; line-height:1 }
.escala-hero-stamp strong span { color:var(--orange); font-size:1.4rem; margin:0 .2rem }
.escala-hero-stamp small { color:#d5580a; font-size:.65rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase }
.escala-hero-footer { background:rgba(5,23,36,.77); border-top:1px solid rgba(255,255,255,.2); position:relative; z-index:2 }
.escala-hero-footer .container { display:flex; gap:clamp(1.5rem,5vw,5rem); padding-top:1.1rem; padding-bottom:1.1rem }
.escala-hero-footer span { color:#e1eaf0; font-size:.84rem; font-weight:600 }
.escala-hero-footer i { color:#ff914a; margin-right:.45rem }
@keyframes escala-photo-enter { from { opacity:.35; transform:scale(1.08) } to { opacity:1; transform:scale(1) } }
@keyframes escala-rise-enter { from { opacity:0; transform:translateY(24px) } to { opacity:1; transform:translateY(0) } }
@keyframes escala-stamp-enter { 0% { opacity:0; transform:translateY(30px) rotate(-7deg) scale(.68) } 70% { opacity:1; transform:translateY(-5px) rotate(12deg) scale(1.06) } 100% { opacity:1; transform:translateY(0) rotate(9deg) scale(1) } }
@keyframes escala-dot-pulse { 0%,100% { box-shadow:0 0 0 5px rgba(255,111,15,.17) } 50% { box-shadow:0 0 0 12px rgba(255,111,15,0) } }
.escala-hero-photo { animation:escala-photo-enter 1.5s cubic-bezier(.2,.7,.2,1) both }
.escala-hero .escala-eyebrow { animation:escala-rise-enter .6s cubic-bezier(.2,.7,.2,1) .15s both }
.escala-hero h1 { animation:escala-rise-enter .75s cubic-bezier(.2,.7,.2,1) .3s both }
.escala-hero-copy > p { animation:escala-rise-enter .7s cubic-bezier(.2,.7,.2,1) .5s both }
.escala-hero-actions { animation:escala-rise-enter .7s cubic-bezier(.2,.7,.2,1) .68s both }
.escala-hero-stamp { animation:escala-stamp-enter .9s cubic-bezier(.2,.7,.2,1) .75s both }
.escala-hero-footer span { animation:escala-rise-enter .55s ease-out both }
.escala-hero-footer span:nth-child(1) { animation-delay:.85s }
.escala-hero-footer span:nth-child(2) { animation-delay:1s }
.escala-hero-footer span:nth-child(3) { animation-delay:1.15s }
.escala-eyebrow span { animation:escala-dot-pulse 1.1s ease-out 1.2s 2 }
.escala-section { padding:clamp(4.5rem,8vw,7.5rem) 0 }
.escala-kicker { color:#d7560a; display:block; font-family:Poppins,sans-serif; font-size:.78rem; font-weight:700; letter-spacing:.12em; margin-bottom:1rem; text-transform:uppercase }
.escala-page h2 { color:var(--navy); font-size:clamp(2.2rem,3.5vw,3.6rem); margin-bottom:1.4rem }
.escala-page h2 span { color:var(--orange) }
.escala-page .escala-lead { color:var(--ink); font-size:1.25rem; font-weight:600 }
.escala-intro-grid,.escala-union-grid,.escala-form-grid { align-items:center; display:grid; gap:clamp(2rem,7vw,7rem); grid-template-columns:1fr 1fr }
.escala-intro-grid > div > p:last-child,.escala-union-grid > div > p { color:var(--muted); font-size:1.05rem }
.escala-alert { background:#fff4e9; border:1px solid #ffdcbe; border-radius:1.5rem; box-shadow:18px 18px 0 #f5f8fa; padding:clamp(1.7rem,4vw,3.3rem) }
.escala-alert-icon { align-items:center; background:var(--orange); border-radius:1rem; color:#fff; display:flex; font-size:1.5rem; height:3.8rem; justify-content:center; margin-bottom:2rem; width:3.8rem }
.escala-alert-label { color:#b84c08; display:block; font-size:.8rem; font-weight:700; letter-spacing:.11em; margin-bottom:.55rem; text-transform:uppercase }
.escala-alert h3 { color:var(--navy); font-size:clamp(1.8rem,3vw,2.6rem); margin-bottom:1.5rem }
.escala-alert p { border-top:1px solid #f3c9aa; color:#654c3c; padding-top:1.3rem }
.escala-alert a { color:#a53f00; font-size:.85rem; font-weight:700 }
.escala-alert a i { margin-left:.4rem }
.escala-voice { background:#eef4f7 }
.escala-voice-grid { display:grid; gap:clamp(2rem,7vw,6rem); grid-template-columns:.5fr 1.5fr; align-items:center }
.escala-voice-mark { align-items:center; background:linear-gradient(145deg,#ff8a35,#d84e03); border-radius:2rem; box-shadow:20px 20px 0 #dce9ef; color:#fff; display:flex; font-size:clamp(6rem,12vw,12rem); justify-content:center; min-height:340px }
.escala-voice h2 { max-width:17ch }
.escala-voice p { color:#526d7b; max-width:46rem }
.escala-voice .escala-button { margin-top:.8rem }
.escala-union-grid { align-items:start }
.escala-union-card { background:var(--navy); border-radius:1.6rem; color:#d7e6ee; padding:clamp(2rem,4vw,3.4rem) }
.escala-union-card > span { align-items:center; background:rgba(255,111,15,.2); border-radius:.9rem; color:#ffa05f; display:flex; font-size:1.6rem; height:3.8rem; justify-content:center; margin-bottom:1.5rem; width:3.8rem }
.escala-union-card h3 { color:#fff; font-size:clamp(1.6rem,2.5vw,2.5rem); margin-bottom:1.3rem }
.escala-union-card p:last-child { color:#ffbd8d; font-weight:600; margin-bottom:0 }
.escala-manifesto { background:linear-gradient(125deg,#0d3048,#071d2b); color:#fff; padding:5.5rem 0; text-align:center }
.escala-manifesto span { color:#ffa76b; font-size:.78rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase }
.escala-manifesto h2 { color:#fff; font-size:clamp(2.2rem,4vw,4rem); margin:1.2rem 0 }
.escala-manifesto h2 em { color:#ff9a56; font-style:normal }
.escala-manifesto p { color:#c5d8e1; margin:0 auto; max-width:53rem }
.escala-form-section { background:#f5f8fa; scroll-margin-top:1rem }
.escala-form-grid { grid-template-columns:.85fr 1.15fr; align-items:start }
.escala-form-copy { padding-top:1rem }
.escala-form-copy > p { color:var(--muted); font-size:1.05rem }
.escala-form-reassurance { align-items:flex-start; border-top:1px solid #dce6eb; border-bottom:1px solid #dce6eb; display:flex; gap:1rem; margin:2rem 0; padding:1.5rem 0 }
.escala-form-reassurance i { align-items:center; background:#fff0e6; border-radius:.7rem; color:#d45607; display:flex; height:2.8rem; justify-content:center; min-width:2.8rem }
.escala-form-reassurance span { color:var(--muted); display:flex; flex-direction:column; font-size:.9rem }
.escala-form-reassurance strong { color:var(--navy) }
.escala-phone a { color:var(--navy); font-size:1.2rem; font-weight:700 }
.escala-form-card { background:#fff; border:1px solid #dce6eb; border-radius:1.5rem; box-shadow:0 25px 70px rgba(16,43,63,.11); padding:clamp(1.4rem,4vw,2.5rem) }
.escala-form-heading { align-items:center; border-bottom:1px solid #e1e8ed; display:flex; gap:.85rem; margin-bottom:1.6rem; padding-bottom:1.4rem }
.escala-form-heading > span { align-items:center; background:var(--navy); border-radius:.7rem; color:#fff; display:flex; height:2.9rem; justify-content:center; width:2.9rem }
.escala-form-heading div { display:flex; flex-direction:column }.escala-form-heading strong { color:var(--navy); font-family:Poppins,sans-serif }.escala-form-heading small { color:var(--muted) }
.escala-fields-grid { display:grid; gap:1.15rem; grid-template-columns:repeat(2,minmax(0,1fr)) }.escala-field-full { grid-column:1/-1 }
.escala-field label { color:var(--navy); display:block; font-size:.84rem; font-weight:700; margin-bottom:.45rem }.escala-field label span { color:#ce4b05 }
.escala-field .form-control { background:#fbfdfe; border:1px solid #ccdce4; border-radius:.75rem; color:var(--ink); min-height:3.25rem; padding:.8rem 1rem }.escala-field textarea.form-control { min-height:9rem; resize:vertical }
.escala-field .form-control:focus { background:#fff; border-color:var(--orange); box-shadow:0 0 0 .22rem rgba(255,111,15,.14) }.escala-field .input-validation-error { border-color:#c93b3b }
.escala-field .text-danger { display:block; font-size:.75rem; margin-top:.35rem }.escala-field-meta { display:flex; justify-content:space-between }.escala-field-meta > span:last-child { color:#8799a3; font-size:.72rem; margin-top:.35rem }
.escala-privacy { color:var(--muted); font-size:.78rem; line-height:1.55; margin:1.35rem 0 }.escala-privacy p:last-child { margin-bottom:0 }
.escala-submit { align-items:center; background:var(--orange); border:0; border-radius:.8rem; color:#fff; display:flex; font-family:Poppins,sans-serif; font-weight:700; gap:.7rem; justify-content:center; min-height:3.55rem; padding:.85rem 1.2rem; width:100% }.escala-submit:hover { background:#d94f00 }
.escala-required-note { color:#7c909c; font-size:.72rem; margin:.85rem 0 0; text-align:center }.escala-validation-summary { background:#fff1f1; border:1px solid #f1c4c4; border-radius:.65rem; color:#8b2525; margin-bottom:1rem; padding:.8rem }.escala-validation-summary:empty,.escala-validation-summary.validation-summary-valid { display:none }
.escala-footer { background:#061b2a; color:#fff; padding:2rem 0 }.escala-footer .container { align-items:center; display:flex; justify-content:space-between; gap:1rem }.escala-footer .container > div { display:flex; flex-direction:column }.escala-footer strong { font-family:Poppins,sans-serif; letter-spacing:.05em }.escala-footer span { color:#b6cad5; font-size:.88rem }.escala-footer a { color:#ffa668; font-weight:700 }
.escala-float-actions { align-items:center; bottom:calc(1.5rem + env(safe-area-inset-bottom)); display:flex; gap:.6rem; opacity:0; pointer-events:none; position:fixed; right:1.5rem; transform:translateY(12px); transition:opacity .2s ease,transform .2s ease; z-index:100 }
.escala-float-actions.is-visible { opacity:1; pointer-events:auto; transform:translateY(0) }
.escala-float-actions a { align-items:center; box-shadow:0 10px 28px rgba(7,29,43,.22); display:inline-flex; font-family:Poppins,sans-serif; font-size:.82rem; font-weight:700; justify-content:center; min-height:3.25rem; transition:background .2s ease,transform .2s ease }
.escala-float-actions a:hover { transform:translateY(-2px) }
.escala-float-question { background:var(--orange); border:1px solid #ff9b54; border-radius:999px; color:#fff; gap:.65rem; padding:.75rem 1.1rem }
.escala-float-question:hover { background:#d94f00; color:#fff }
.escala-float-actions.is-at-form .escala-float-question { display:none }
.escala-float-top { background:var(--navy); border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; width:3.25rem }
.escala-float-top:hover { background:#214c67; color:#fff }
@media(max-width:991.98px) { .escala-hero { min-height:650px }.escala-hero-copy { max-width:580px }.escala-hero-stamp { display:none }.escala-intro-grid,.escala-union-grid,.escala-form-grid { grid-template-columns:1fr }.escala-voice-grid { grid-template-columns:1fr }.escala-voice-mark { display:none } }
@media(max-width:767.98px) { .escala-topbar { min-height:72px; padding:.5rem 1rem }.escala-brand { font-size:1rem }.escala-brand img { height:48px; width:48px }.escala-topbar-link { font-size:.72rem; padding:.55rem .7rem }.escala-hero { min-height:0 }.escala-hero-photo { background-position:68% top; height:calc(54% - 72px); bottom:auto; top:72px }.escala-hero::before { background:linear-gradient(0deg,#082337 0%,#082337 35%,rgba(8,35,55,.95) 49%,rgba(8,35,55,.1) 85%); }.escala-hero-content { align-items:end; min-height:720px; padding-top:17rem }.escala-hero-copy { padding:0 0 3rem }.escala-hero h1 { font-size:clamp(2.35rem,9vw,3.5rem) }.escala-hero-copy > p { font-size:.98rem }.escala-hero-actions { flex-direction:column }.escala-button { width:100% }.escala-hero-footer .container { flex-wrap:wrap; gap:.7rem 1.3rem }.escala-hero-footer span { font-size:.72rem }.escala-section { padding:4.5rem 0 }.escala-alert { box-shadow:10px 10px 0 #f5f8fa }.escala-fields-grid { grid-template-columns:1fr }.escala-field-full { grid-column:auto }.escala-footer .container { align-items:flex-start; flex-direction:column } }
@media(max-width:400px) { .escala-topbar-link { font-size:0 }.escala-topbar-link i { font-size:1rem; margin:0 }.escala-hero-content { min-height:760px }.escala-hero h1 { font-size:2.25rem } }
@media(max-width:767.98px) { .escala-float-actions { bottom:calc(1rem + env(safe-area-inset-bottom)); right:1rem }.escala-float-question { padding:.65rem .9rem }.escala-float-actions a { font-size:.76rem; min-height:3rem }.escala-float-top { width:3rem } }
@media(prefers-reduced-motion:reduce) { .escala-page * { animation:none!important; scroll-behavior:auto!important; transition:none!important } }
