/* ==========================================================
   FUTURYCRAFT - REDESIGN DA HOME (PORTAL STAFF)
   Visual: dark / galáctico / tecnológico / premium.
   Carregado APENAS na Home (última camada do index.html).
   Não altera lógica, formulários, APIs, banco ou painel.
   Reutiliza tokens do upgrade.css (--fc-*).
========================================================== */

/* ---------- WRAPPER E SEÇÕES ---------- */
.home-shell{
    position:relative;
    z-index:1;
}

.home-wrap{
    max-width:1080px;
    margin-inline:auto;
    padding-inline:20px;
}

.home-sec{
    padding-top:86px;
}

.home-sec-slim{
    padding-top:60px;
}

section[id]{
    scroll-margin-top:96px;
}

/* ---------- CABEÇALHO DE SEÇÃO ---------- */
.sec-head{
    text-align:center;
    margin-bottom:44px;
}

.sec-head-sm{
    margin-bottom:30px;
}

.sec-badge{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.44rem 1rem;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(76,194,255,.16),rgba(123,92,255,.14));
    border:1px solid rgba(76,194,255,.28);
    color:var(--fc-primary);
    font-size:.68rem;
    font-weight:800;
    letter-spacing:2.5px;
    text-transform:uppercase;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.sec-title{
    margin-top:16px;
    font-size:clamp(1.55rem,4vw,2.4rem);
    font-weight:800;
    letter-spacing:.6px;
    line-height:1.15;
    text-wrap:balance;
}

.sec-sub{
    margin-top:12px;
    font-size:1rem;
    line-height:1.65;
    color:var(--fc-text-2);
    max-width:600px;
    margin-inline:auto;
}

/* ---------- HERO ---------- */
.hero-staff{
    position:relative;
    overflow:hidden;
    min-height:calc(100vh - 60px);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:56px 20px 64px;
}

.hero-grid{
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(76,194,255,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(76,194,255,.07) 1px,transparent 1px);
    background-size:56px 56px;
    -webkit-mask-image:radial-gradient(ellipse 75% 60% at 50% 0%,#000 25%,transparent 78%);
    mask-image:radial-gradient(ellipse 75% 60% at 50% 0%,#000 25%,transparent 78%);
    pointer-events:none;
}

.hero-glow{
    position:absolute;
    inset:0;
    background:
        radial-gradient(1100px 520px at 50% -6%,rgba(76,194,255,.16),transparent 62%),
        radial-gradient(720px 380px at 88% 108%,rgba(123,92,255,.12),transparent 62%),
        radial-gradient(620px 320px at 10% 105%,rgba(37,99,235,.10),transparent 60%);
    pointer-events:none;
}

.hero-staff-inner{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.hero-logo{
    width:88px;
    height:auto;
    margin-bottom:12px;
    filter:drop-shadow(0 0 26px rgba(0,217,255,.45));
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    padding:.5rem 1.1rem;
    border-radius:999px;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--fc-primary);
    background:rgba(76,194,255,.08);
    border:1px solid rgba(76,194,255,.32);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 0 24px rgba(76,194,255,.12);
}

.hero-badge i{
    font-size:.85rem;
}

.hero-title{
    margin:14px 0 0;
    font-size:clamp(2rem,6vw,3.7rem);
    font-weight:800;
    letter-spacing:1px;
    line-height:1.06;
    text-wrap:balance;
}

.hero-title .grad{
    background:linear-gradient(94deg,#6ee7ff 0%,#4cc2ff 42%,#7b5cff 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero-sub{
    margin:14px auto 0;
    max-width:640px;
    font-size:clamp(.92rem,1.9vw,1.08rem);
    line-height:1.65;
    color:var(--fc-text-2);
}

.hero-actions{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    justify-content:center;
}

.btn-staff{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.6rem;
    min-height:54px;
    padding:.2rem 1.9rem;
    border-radius:999px;
    font-size:.86rem;
    font-weight:800;
    letter-spacing:1.4px;
    text-decoration:none;
    color:#fff;
    background:linear-gradient(135deg,#38bdf8 0%,#2563eb 52%,#4f46e5 100%);
    background-size:160% 160%;
    background-position:0% 0%;
    border:none;
    box-shadow:0 14px 34px rgba(37,99,235,.38), inset 0 1px 0 rgba(255,255,255,.28);
    transition:transform var(--fc-motion), box-shadow var(--fc-motion), background-position var(--fc-motion), filter var(--fc-motion);
}

.btn-staff:hover{
    transform:translateY(-2px);
    background-position:100% 100%;
    filter:saturate(1.08);
    box-shadow:0 22px 48px rgba(37,99,235,.5), inset 0 1px 0 rgba(255,255,255,.28);
}

.btn-staff:active{
    transform:scale(.97);
}

.btn-staff-lg{
    min-height:60px;
    padding:.2rem 2.2rem;
    font-size:.95rem;
}

.hero-note{
    margin-top:16px;
    font-size:.78rem;
    color:var(--fc-text-2);
    opacity:.85;
}

.hero-note a{
    color:var(--fc-primary);
    font-weight:700;
    text-decoration:none;
}

.hero-note a:hover{
    text-decoration:underline;
}

.hero-scroll{
    margin-top:28px;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    color:var(--fc-text-2);
    text-decoration:none;
    font-size:.7rem;
    font-weight:700;
    letter-spacing:2.5px;
    transition:color var(--fc-motion);
}

.hero-scroll:hover{
    color:var(--fc-primary);
}

.hero-scroll i{
    font-size:.95rem;
    animation:heroBounce 1.9s infinite ease-in-out;
    transition:none;
}

@keyframes heroBounce{
    0%,100%{ transform:translateY(0); opacity:.55; }
    50%{ transform:translateY(7px); opacity:1; }
}

/* ---------- COMO FUNCIONA (timeline) ---------- */
.steps-timeline{
    display:grid;
    grid-template-columns:1fr 44px 1fr 44px 1fr 44px 1fr;
    align-items:start;
    gap:6px;
}

.step-link{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    height:100%;
    padding-top:42px;
}

.step-link::before{
    content:"";
    position:absolute;
    top:52%;
    left:14px;
    right:14px;
    height:1px;
    background:linear-gradient(90deg,rgba(76,194,255,.35),rgba(123,92,255,.35));
}

.step-link i{
    position:relative;
    z-index:1;
    font-size:.75rem;
    color:var(--fc-primary);
    background:#070d17;
    padding:4px;
    border-radius:50%;
}

.step-node{
    position:relative;
    text-align:center;
    padding:22px 16px 20px;
    border-radius:18px;
    background:linear-gradient(160deg,rgba(19,29,50,.55),rgba(9,14,27,.62));
    border:1px solid var(--fc-border);
    overflow:hidden;
    transition:transform var(--fc-motion), border-color var(--fc-motion), box-shadow var(--fc-motion);
}

.step-node::before{
    content:"";
    position:absolute;
    top:0; left:15%;
    width:70%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(76,194,255,.5),transparent);
}

.step-node:hover{
    transform:translateY(-4px);
    border-color:rgba(76,194,255,.32);
    box-shadow:0 18px 40px rgba(0,0,0,.35), 0 0 22px rgba(76,194,255,.06);
}

.step-num{
    display:block;
    font-size:2.3rem;
    font-weight:800;
    line-height:1;
    color:transparent;
    -webkit-text-stroke:1px rgba(76,194,255,.55);
    text-stroke:1px rgba(76,194,255,.55);
    margin-bottom:14px;
}

.step-icon{
    width:46px;
    height:46px;
    margin:0 auto 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.05rem;
    color:var(--fc-primary);
    border-radius:50%;
    background:linear-gradient(135deg,rgba(76,194,255,.16),rgba(123,92,255,.14));
    border:1px solid rgba(76,194,255,.3);
}

.step-node h3{
    font-size:.82rem;
    font-weight:800;
    letter-spacing:1.6px;
    margin-bottom:8px;
}

.step-node p{
    font-size:.78rem;
    line-height:1.6;
    color:var(--fc-text-2);
}

/* ---------- ESTRUTURA DA EQUIPE ---------- */
.roles-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(182px,1fr));
    gap:14px;
}

.role-tile{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    gap:10px;
    padding:20px 18px 18px;
    border-radius:18px;
    background:linear-gradient(160deg,rgba(19,29,50,.55),rgba(9,14,27,.62));
    border:1px solid var(--fc-border);
    color:var(--fc-text);
    font-family:inherit;
    cursor:pointer;
    overflow:hidden;
    transition:transform var(--fc-motion), border-color var(--fc-motion), box-shadow var(--fc-motion);
}

.role-tile::before{
    content:"";
    position:absolute;
    top:0; left:14%;
    width:72%;
    height:1px;
    background:var(--role-accent,rgba(76,194,255,.55));
    opacity:.75;
}

.role-tile:hover{
    transform:translateY(-4px);
    border-color:rgba(76,194,255,.34);
    box-shadow:0 20px 44px rgba(0,0,0,.38), 0 0 24px rgba(76,194,255,.07);
}

.role-level{
    font-size:.62rem;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--fc-text-2);
    opacity:.85;
}

.role-icon{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.15rem;
    color:var(--role-accent,#4cc2ff);
    border-radius:50%;
    background:linear-gradient(135deg,color-mix(in srgb,var(--role-accent,#4cc2ff) 16%,transparent),transparent);
    border:1px solid color-mix(in srgb,var(--role-accent,#4cc2ff) 35%,transparent);
}

.role-tile.lv2{ --role-accent:#38bdf8; }
.role-tile.lv3{ --role-accent:#60a5fa; }
.role-tile.lv4{ --role-accent:#7b5cff; }
.role-tile.lv5{ --role-accent:#a78bfa; }

.role-name{
    display:block;
    font-size:.8rem;
    font-weight:800;
    letter-spacing:1.6px;
    margin-top:2px;
}

.role-desc{
    font-size:.76rem;
    line-height:1.55;
    color:var(--fc-text-2);
}

.role-more{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:auto;
    padding-top:8px;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:1px;
    color:var(--fc-primary);
    opacity:0;
    transform:translateX(-4px);
    transition:opacity var(--fc-motion), transform var(--fc-motion);
}

.role-tile:hover .role-more,
.role-tile:focus-visible .role-more{
    opacity:1;
    transform:translateX(0);
}

/* ---------- HIERARQUIA ---------- */
.hierarchy{
    max-width:920px;
    margin-inline:auto;
}

.hier-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.hier-node{
    flex:0 1 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    text-align:center;
    min-width:92px;
}

.hier-dot{
    width:13px;
    height:13px;
    border-radius:50%;
    background:linear-gradient(135deg,#4cc2ff,#7b5cff);
    box-shadow:0 0 14px rgba(76,194,255,.65);
}

.hier-node b{
    font-size:.72rem;
    font-weight:800;
    letter-spacing:1.4px;
    color:var(--fc-text);
    white-space:nowrap;
}

.hier-node small{
    font-size:.62rem;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--fc-text-2);
    opacity:.8;
}

.hier-link{
    flex:1 1 auto;
    height:2px;
    min-width:18px;
    background:linear-gradient(90deg,rgba(76,194,255,.4),rgba(123,92,255,.4));
    opacity:.7;
    margin:0 4px;
}

.hier-note{
    margin:30px auto 0;
    max-width:600px;
    text-align:center;
    font-size:.82rem;
    line-height:1.65;
    color:var(--fc-text-2);
}

/* ---------- O QUE PROCURAMOS ---------- */
.values-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:18px;
    max-width:820px;
    margin-inline:auto;
}

.value-panel{
    padding:28px 26px;
    border-radius:20px;
    background:linear-gradient(160deg,rgba(19,29,50,.6),rgba(9,14,27,.66));
    border:1px solid var(--fc-border);
    box-shadow:0 20px 44px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform var(--fc-motion), border-color var(--fc-motion);
}

.value-panel:hover{
    transform:translateY(-4px);
    border-color:rgba(76,194,255,.3);
}

.value-kicker{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    margin-bottom:8px;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:2.4px;
    color:var(--fc-primary);
}

.value-kicker i{
    font-size:.9rem;
    opacity:.9;
}

.value-panel ul{
    list-style:none;
    margin:0;
    padding:0;
}

.value-panel li{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 2px;
    border-bottom:1px dashed rgba(255,255,255,.07);
    font-size:.92rem;
    color:var(--fc-text);
}

.value-panel li:last-child{
    border-bottom:none;
}

.value-panel li i{
    flex:0 0 20px;
    width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.62rem;
    color:#34d399;
    border-radius:50%;
    background:rgba(52,211,153,.14);
    border:1px solid rgba(52,211,153,.3);
}

/* ---------- POR QUE FAZER PARTE ---------- */
.reasons-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:18px;
}

.reason-card{
    padding:34px 22px 30px;
    border-radius:20px;
    text-align:center;
    background:linear-gradient(160deg,rgba(19,29,50,.6),rgba(9,14,27,.66));
    border:1px solid var(--fc-border);
    box-shadow:0 20px 44px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform var(--fc-motion), border-color var(--fc-motion), box-shadow var(--fc-motion);
}

.reason-card:hover{
    transform:translateY(-4px);
    border-color:rgba(123,92,255,.35);
    box-shadow:0 26px 52px rgba(0,0,0,.36), 0 0 26px rgba(123,92,255,.08);
}

.reason-icon{
    width:58px;
    height:58px;
    margin:0 auto 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    color:var(--fc-primary);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(76,194,255,.18),rgba(123,92,255,.16));
    border:1px solid rgba(123,92,255,.35);
}

.reason-card h3{
    font-size:.86rem;
    font-weight:800;
    letter-spacing:2px;
    margin-bottom:10px;
}

.reason-card p{
    font-size:.84rem;
    line-height:1.65;
    color:var(--fc-text-2);
}

/* ---------- CTA FINAL ---------- */
.cta-box{
    position:relative;
    padding:60px 26px;
    border-radius:26px;
    text-align:center;
    background:
        radial-gradient(700px 300px at 50% -20%,rgba(76,194,255,.14),transparent 65%),
        linear-gradient(160deg,rgba(19,29,50,.72),rgba(9,14,27,.78));
    border:1px solid rgba(76,194,255,.22);
    overflow:hidden;
    box-shadow:0 30px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
}

.cta-box::before{
    content:"";
    position:absolute;
    top:0; left:15%;
    width:70%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(76,194,255,.65),rgba(123,92,255,.65),transparent);
}

.cta-title{
    position:relative;
    font-size:clamp(1.5rem,4vw,2.3rem);
    font-weight:800;
    letter-spacing:.6px;
    line-height:1.2;
    text-wrap:balance;
}

.cta-sub{
    position:relative;
    margin:16px auto 30px;
    max-width:560px;
    font-size:.98rem;
    line-height:1.65;
    color:var(--fc-text-2);
}

/* ---------- OUTROS PROGRAMAS (secundário) ---------- */
.prog-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:14px;
    max-width:680px;
    margin-inline:auto;
}

.prog-card{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px 18px;
    border-radius:18px;
    background:linear-gradient(160deg,rgba(19,29,50,.45),rgba(9,14,27,.5));
    border:1px solid var(--fc-border);
    text-decoration:none;
    transition:transform var(--fc-motion), border-color var(--fc-motion), background var(--fc-motion);
}

.prog-card:hover{
    transform:translateY(-3px);
    border-color:rgba(76,194,255,.3);
    background:linear-gradient(160deg,rgba(22,34,58,.55),rgba(10,16,30,.6));
}

.prog-icon{
    flex:0 0 auto;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.25rem;
    border-radius:14px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.09);
}

.prog-body{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
}

.prog-body b{
    font-size:.76rem;
    font-weight:800;
    letter-spacing:1.8px;
    color:var(--fc-text);
}

.prog-body small{
    font-size:.74rem;
    line-height:1.45;
    color:var(--fc-text-2);
}

.prog-btn{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:.46rem .82rem;
    border-radius:999px;
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.8px;
    color:var(--fc-text-2);
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.12);
    white-space:nowrap;
    transition:color var(--fc-motion), background var(--fc-motion), border-color var(--fc-motion);
}

.prog-card:hover .prog-btn{
    color:var(--fc-primary);
    background:rgba(76,194,255,.1);
    border-color:rgba(76,194,255,.35);
}

/* ---------- FOOTER ---------- */
.home-footer{
    display:block;
    margin-top:96px;
    padding-top:0;
    border-top:1px solid rgba(255,255,255,.08);
    background:rgba(3,6,12,.6);
    backdrop-filter:blur(8px);
}

.foot-grid{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:52px 20px 34px;
}

.foot-brand{
    display:flex;
    align-items:center;
    gap:14px;
}

.foot-brand img{
    width:48px;
    height:48px;
    object-fit:contain;
}

.foot-brand h3{
    font-size:.92rem;
    font-weight:800;
    letter-spacing:2px;
    margin-bottom:2px;
}

.foot-brand p{
    font-size:.78rem;
    color:var(--fc-text-2);
}

.foot-links{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.foot-links a{
    padding:.45rem .85rem;
    border-radius:999px;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.6px;
    color:var(--fc-text-2);
    text-decoration:none;
    transition:color var(--fc-motion), background var(--fc-motion), border-color var(--fc-motion);
}

.foot-links a:hover{
    color:var(--fc-text);
    background:rgba(76,194,255,.1);
}

.foot-social{
    display:flex;
    gap:8px;
}

.foot-social a{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.95rem;
    color:var(--fc-text-2);
    border-radius:50%;
    border:1px solid var(--fc-border);
    background:rgba(255,255,255,.03);
    text-decoration:none;
    transition:transform var(--fc-motion), color var(--fc-motion), border-color var(--fc-motion), box-shadow var(--fc-motion);
}

.foot-social a:hover{
    transform:translateY(-3px);
    color:var(--fc-primary);
    border-color:rgba(76,194,255,.45);
    box-shadow:0 0 18px rgba(76,194,255,.15);
}

.foot-bottom{
    border-top:1px solid rgba(255,255,255,.06);
    padding:20px 0;
    text-align:center;
}

.foot-bottom span{
    font-size:.74rem;
    letter-spacing:.6px;
    color:var(--fc-text-2);
}

/* ---------- SCROLL REVEAL (hoje via js/home.js) ---------- */
html.js-reveal .reveal{
    opacity:0;
    transform:translateY(26px);
}

html.js-reveal .reveal.revealed{
    opacity:1;
    transform:translateY(0);
    transition:opacity .65s ease, transform .65s cubic-bezier(.22,.61,.36,1);
}

@media (prefers-reduced-motion:reduce){
    html.js-reveal .reveal,
    html.js-reveal .reveal.revealed{
        opacity:1;
        transform:none;
        transition:none;
    }
}

/* ---------- RESPONSIVO ---------- */
@media (max-width:900px){
    .steps-timeline{
        grid-template-columns:1fr;
        gap:0;
        max-width:460px;
        margin-inline:auto;
    }

    .step-link{
        height:46px;
        padding:0;
    }

    .step-link::before{
        top:0; bottom:0; left:50%; right:auto;
        width:1px; height:100%;
        background:linear-gradient(180deg,rgba(76,194,255,.35),rgba(123,92,255,.35));
    }

    .step-link i{
        transform:rotate(90deg);
    }

    .hier-row{
        flex-direction:column;
        align-items:center;
        gap:14px;
    }

    .hier-node{
        width:100%;
        flex-direction:row;
        justify-content:center;
        gap:12px;
        min-width:0;
        padding:10px 0;
    }

    .hier-node b{
        white-space:normal;
    }

    .hier-link{
        width:2px;
        min-width:0;
        min-height:20px;
        height:auto;
        background:linear-gradient(180deg,rgba(76,194,255,.4),rgba(123,92,255,.4));
        margin:0;
    }
}

@media (max-width:640px){
    .home-sec{
        padding-top:64px;
    }

    .hero-staff{
        min-height:auto;
        padding:70px 16px 96px;
    }

    .hero-logo{
        width:84px;
    }

    .hero-actions{
        flex-direction:column;
        width:100%;
    }

    .btn-staff{
        width:100%;
    }

    .hero-scroll{
        margin-top:48px;
    }

    .roles-grid{
        grid-template-columns:1fr;
    }

    .values-grid,
    .reasons-grid{
        grid-template-columns:1fr;
    }

    .prog-grid{
        grid-template-columns:1fr;
        max-width:380px;
    }

    .cta-box{
        padding:46px 20px;
    }

    .foot-grid{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    .foot-links{
        justify-content:center;
    }
}

/* ==========================================================
   FULL SCREEN SNAP (uma seção por scroll)
   Aplicado só na Home (html.snap-home).
========================================================== */
html.snap-home{
    scroll-snap-type:y mandatory;
    scroll-behavior:smooth;
}

html.snap-home main{
    overflow-x:hidden;
}

html.snap-home .hero-staff,
html.snap-home .home-sec{
    scroll-snap-align:start;
    scroll-snap-stop:always;
}

html.snap-home .hero-staff{
    min-height:calc(100vh - 60px);
}

html.snap-home .home-sec{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:70px 0 60px;
}

html.snap-home .home-sec .home-wrap{
    width:100%;
}

html.snap-home .home-sec-slim{
    padding:60px 0 50px;
}

@media (max-width:900px){
    html.snap-home .hero-staff{
        min-height:calc(100vh - 60px);
    }

    html.snap-home .home-sec{
        min-height:100vh;
        padding:64px 0 56px;
    }

    html.snap-home .steps-timeline{
        margin:0 auto;
    }
}

@media (max-width:640px){
    html.snap-home .home-sec{
        padding:70px 0 60px;
    }
}