:root{
    --landing-bg:#070b10;
    --landing-panel:rgba(6,10,16,.74);
    --landing-panel-border:rgba(235,172,78,.22);
    --landing-text:#f5f6f8;
    --landing-muted:#cfd5df;
    --landing-gold:#ecb85f;
    --landing-gold-strong:#f3b03b;
}

html{background:#05080c}
body.public-home{
    min-height:100vh;
    min-height:100dvh;
    margin:0;
    overflow-x:hidden;
    color:var(--landing-text);
    background:
        linear-gradient(180deg, rgba(2,4,8,.58), rgba(3,5,10,.78)),
        url('../img/landing-bg-desktop.webp') center center / cover no-repeat fixed;
}
body.public-home::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(rgba(210,178,125,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(210,178,125,.05) 1px, transparent 1px);
    background-size:52px 52px;
    mask-image:linear-gradient(180deg, rgba(0,0,0,.95), rgba(0,0,0,.55));
}
body.landing-dialog-open{overflow:hidden}

.public-home .landing-shell{
    width:min(1520px,100%);
    margin:0 auto;
    min-height:100vh;
    min-height:100dvh;
    display:flex;
    flex-direction:column;
    position:relative;
    padding:12px clamp(12px,3vw,36px) 10px;
}
.public-home .landing-jet-art{display:none}
.public-home .landing-hero{
    flex:1 0 auto;
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    gap:20px;
    align-items:center;
    padding:2px 0 6px;
}

.public-home .landing-visual{
    grid-column:1;
    grid-row:1;
    position:relative;
    width:100%;
    max-width:742px;
    aspect-ratio:1/1;
    margin:0 auto;
    overflow:hidden;
    background:transparent;
    filter:none;
}
.public-home .landing-media{
    position:absolute;
    inset:8.7% 8.8% 8.9% 8.8%;
    width:82.4%;
    height:82.4%;
    object-fit:cover;
    object-position:center center;
    display:block;
    border-radius:18px;
    background:#1f160f;
    box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.public-home .landing-media--fallback{object-fit:contain;padding:10%}
.public-home .landing-video-frame{
    position:absolute;
    inset:2.8%;
    width:94.4%;
    height:94.4%;
    object-fit:contain;
    clip-path:inset(2.2% 2.2% 2.2% 2.2%);
    z-index:4;
    pointer-events:none;
}
.public-home .landing-coordinate{
    position:absolute;
    z-index:5;
    font-size:clamp(7px,.72vw,10px);
    font-weight:800;
    letter-spacing:.15em;
    color:#fff1d2;
    text-shadow:0 2px 8px rgba(0,0,0,.85);
    pointer-events:none;
}
.public-home .landing-coordinate--top{top:14.1%;left:12.8%}
.public-home .landing-coordinate--bottom{right:12.6%;bottom:13.1%;text-align:right}
.public-home .landing-frame-corner{display:none}

.public-home .landing-copy{
    grid-column:2;
    grid-row:1;
    position:relative;
    min-width:0;
    padding:18px 20px 16px;
    border-radius:28px;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(4,7,12,.58), rgba(4,8,13,.76));
    border:1px solid var(--landing-panel-border);
    box-shadow:0 18px 40px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter:blur(6px);
}
.public-home .landing-copy::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(5,9,14,.88) 0%, rgba(5,9,14,.76) 38%, rgba(5,9,14,.55) 100%);
    z-index:-1;
}

.public-home .landing-nav{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin:0 0 14px;
}
.public-home .landing-brand{width:clamp(186px,20vw,318px);line-height:0;flex:0 0 auto}
.public-home .landing-brand img{display:block;width:100%;height:auto;max-height:118px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.48))}
.public-home .landing-login{
    flex:0 0 auto;
    font:700 12px/1 system-ui,-apple-system,'Segoe UI',sans-serif;
    color:#f0cb87;
    border:1px solid rgba(231,177,81,.55);
    border-radius:11px;
    background:rgba(8,12,18,.72);
    padding:11px 16px;
    text-decoration:none;
    transition:border-color .15s, background .15s, transform .15s;
}
.public-home .landing-login:hover,
.public-home .landing-login:focus-visible{background:#2a1d10;border-color:#f3cb8a;transform:translateY(-1px)}
.public-home .landing-pilot{max-width:220px}
.public-home .landing-kicker{
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-size:clamp(9px,.9vw,12px);
    font-weight:900;
    letter-spacing:.25em;
    color:#efbc61;
}
.public-home .landing-kicker::before,
.public-home .landing-kicker::after{content:"";width:34px;height:2px;background:#dda03e;flex:0 0 34px}
.public-home .landing-copy h1{
    margin:12px 0 10px;
    font-size:clamp(38px,3.95vw,68px);
    line-height:.96;
    letter-spacing:-.055em;
    font-weight:950;
    text-shadow:0 8px 18px rgba(0,0,0,.62);
}
.public-home .landing-copy h1 span{display:inline-block;color:var(--landing-gold);font-size:.60em;letter-spacing:-.03em}
.public-home .landing-lead{
    margin:0;
    max-width:620px;
    color:var(--landing-muted);
    font-size:clamp(15px,1.1vw,18px);
    line-height:1.54;
}
.public-home .landing-actions{display:block;margin:18px 0 12px}
.public-home .landing-primary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:64px;
    width:min(465px,100%);
    border:1px solid #ffcb63;
    border-radius:14px;
    padding:0 22px;
    gap:14px;
    font-size:clamp(20px,1.65vw,27px);
    font-weight:950;
    color:#1d1307;
    background:linear-gradient(180deg,#ffe18a 0%,#f2ad33 68%,#d78412 100%);
    box-shadow:0 14px 28px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.56);
    text-decoration:none;
    transition:transform .17s,border-color .17s,box-shadow .17s;
}
.public-home .landing-primary:hover,
.public-home .landing-primary:focus-visible{transform:translateY(-2px);border-color:#fff1ba;box-shadow:0 17px 32px rgba(0,0,0,.38),0 0 24px rgba(238,160,42,.20)}
.public-home .landing-primary > span:not(.landing-arrow){color:#1a1307}
.public-home .landing-primary svg{width:22px;height:26px;flex:0 0 auto;fill:currentColor}
.public-home .landing-primary .landing-arrow{font-size:30px;color:#251600;line-height:1}

.public-home .landing-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.public-home .landing-platform{
    appearance:none;
    border:1px solid rgba(110,119,133,.45);
    border-radius:12px;
    min-height:68px;
    min-width:0;
    padding:12px 12px;
    background:rgba(7,11,16,.78);
    display:flex;
    align-items:center;
    gap:10px;
    text-align:left;
    font:inherit;
    color:#f6f7f9;
    text-decoration:none;
    cursor:pointer;
    transition:transform .16s,border-color .16s,background .16s;
    backdrop-filter:blur(4px);
}
.public-home .landing-platform:hover,
.public-home .landing-platform:focus-visible{transform:translateY(-2px);border-color:#e1ab55;background:rgba(22,27,34,.92)}
.public-home .landing-platform-icon{width:28px;height:28px;flex:0 0 28px;fill:currentColor;color:#f3f5f7}
.public-home .landing-platform-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.public-home .landing-platform-copy strong{display:block;font-size:clamp(12px,1vw,15px);line-height:1.2;color:#fff}
.public-home .landing-platform-copy small{display:block;font-size:clamp(10px,.82vw,12px);line-height:1.25;color:#bfc5ce}
.public-home .landing-platform-next{font-size:24px;color:#e3bc77;line-height:1;margin-left:auto}

.public-home .landing-benefits{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    width:100%;
    margin:4px 0 8px;
}
.public-home .landing-benefit{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-height:118px;
    border:1px solid rgba(168,112,37,.62);
    border-radius:14px;
    background:#0d1118;
    box-shadow:0 10px 18px rgba(0,0,0,.24), inset 0 0 22px rgba(213,133,24,.05);
}
.public-home .landing-benefit::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background-position:var(--art-pos, left center);
    background-size:var(--art-size, 52% auto);
    background-repeat:no-repeat;
    opacity:1;
    filter:brightness(1.02) saturate(1.02);
}
.public-home .landing-benefit::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg, rgba(6,9,14,.06) 0%, rgba(6,9,14,.14) 34%, rgba(6,9,14,.72) 56%, rgba(6,9,14,.96) 78%, rgba(6,9,14,.98) 100%);
}
.public-home .landing-benefit--build{--art-size:48% auto;--art-pos:4% 50%;}
.public-home .landing-benefit--build::before{background-image:url('../img/landing-card-build.webp')}
.public-home .landing-benefit--modules{--art-size:50% auto;--art-pos:3% 52%;}
.public-home .landing-benefit--modules::before{background-image:url('../img/landing-card-modules.webp')}
.public-home .landing-benefit--battle{--art-size:56% auto;--art-pos:0% 50%;}
.public-home .landing-benefit--battle::before{background-image:url('../img/landing-card-battle.webp')}
.public-home .landing-benefit-copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:118px;
    padding:14px 18px 14px max(44%, 168px);
}
.public-home .landing-benefit h2{margin:0;color:#f3c978;font-size:clamp(15px,1.05vw,18px);line-height:1.18}
.public-home .landing-benefit p{margin:7px 0 0;color:#d0d5de;font-size:clamp(11px,.92vw,14px);line-height:1.38;max-width:31ch}

.public-home .landing-footer{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    margin:0;
    padding:6px 0 0;
    border-top:1px solid rgba(255,255,255,.09);
    color:#9aa4b1;
    font-size:11px;
    line-height:1.35;
    font-weight:650;
}
.public-home .landing-socials{display:flex;align-items:center;gap:18px}
.public-home .landing-socials a{display:inline-flex;align-items:center;gap:7px;color:#f2f4f7;text-decoration:none;font-size:13px;font-weight:700}
.public-home .landing-socials a:hover{color:#ffcd75}
.public-home .landing-socials svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.public-home .landing-legal{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.public-home .landing-legal a{text-decoration:none;color:#d7dcea;font-size:11px}
.public-home .landing-legal a:hover{color:#f6c275}
.public-home .landing-footer-sep{color:#6e5941}

.public-home .landing-platform:focus-visible,
.public-home .landing-primary:focus-visible,
.public-home .landing-socials a:focus-visible,
.public-home .landing-dialog-close:focus-visible,
.public-home .landing-dialog-done:focus-visible,
.public-home .landing-login:focus-visible{outline:3px solid #ffe398;outline-offset:3px}

.landing-ios-dialog{
    position:fixed;
    inset:0;
    width:min(490px,calc(100vw - 28px));
    max-height:calc(100dvh - 34px);
    overflow-y:auto;
    margin:auto;
    padding:clamp(19px,4vw,28px);
    border:1px solid #bd883e;
    border-radius:18px;
    background:#101720;
    color:#f7f8fb;
    box-shadow:0 30px 85px rgba(0,0,0,.75);
    font:normal 15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;
}
.landing-ios-dialog::backdrop{background:rgba(2,5,9,.8);backdrop-filter:blur(5px)}
.landing-dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.landing-dialog-kicker{font-size:10px;letter-spacing:.16em;font-weight:850;color:#e9b566}
.landing-dialog-head h2{margin:6px 0 10px;font-size:clamp(21px,4.5vw,29px);line-height:1.2}
.landing-dialog-close{width:34px;height:34px;flex:0 0 34px;border:1px solid #495363;border-radius:9px;color:#fff;background:#1d2732;font:normal 26px/1 system-ui;cursor:pointer}
.landing-ios-dialog p{margin:3px 0 18px;color:#c7d0da;font-size:14px}
.landing-dialog-steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:11px}
.landing-dialog-steps li{counter-increment:step;position:relative;padding:12px 12px 12px 50px;background:#18232e;border:1px solid #334150;border-radius:11px}
.landing-dialog-steps li::before{content:counter(step);position:absolute;top:13px;left:12px;width:26px;height:26px;display:grid;place-items:center;background:#d99d49;border-radius:50%;color:#1a1106;font-weight:900}
.landing-dialog-steps strong,.landing-dialog-steps span{display:block}
.landing-dialog-steps strong{font-size:13px;line-height:1.32;color:#f5daaa}
.landing-dialog-steps span{margin-top:4px;color:#becad7;font-size:12px;line-height:1.45}
.landing-share-icon{display:inline-block;width:16px;height:16px;vertical-align:-3px;color:#fff}
.landing-dialog-done{margin-top:18px;width:100%;min-height:44px;border:1px solid #e7aa53;border-radius:9px;background:linear-gradient(180deg,#f6c676,#d99c40);color:#221709;font:850 14px system-ui;cursor:pointer}

@media (max-width:1180px){
    .public-home .landing-shell{padding:16px 20px 14px}
    .public-home .landing-hero{gap:22px}
    .public-home .landing-copy h1{font-size:clamp(36px,3.9vw,58px)}
    .public-home .landing-media{inset:8.2%;width:83.6%;height:83.6%}
    .public-home .landing-benefit-copy{padding-left:max(51%, 170px)}
}

@media (max-width:980px){
    body.public-home{background:
        linear-gradient(180deg, rgba(2,4,8,.58), rgba(3,5,10,.78)),
        url('../img/landing-bg-mobile.webp') center top / cover no-repeat fixed;}
    .public-home .landing-shell{padding:16px 18px 18px}
    .public-home .landing-hero{grid-template-columns:1fr;gap:18px;padding-bottom:12px}
    .public-home .landing-copy{grid-column:1;grid-row:1;max-width:760px;margin:0 auto;padding:18px 16px 16px}
    .public-home .landing-visual{grid-column:1;grid-row:2;max-width:620px}
    .public-home .landing-copy h1{font-size:clamp(36px,6vw,62px)}
    .public-home .landing-lead{font-size:16px;max-width:none}
    .public-home .landing-benefits{grid-template-columns:1fr;gap:10px}
    .public-home .landing-benefit{min-height:132px}
    .public-home .landing-benefit-copy{min-height:132px;padding-left:max(43%, 170px)}
}

@media (max-width:560px){
    body.public-home{background:
        linear-gradient(180deg, rgba(2,4,8,.66), rgba(3,5,10,.82)),
        url('../img/landing-bg-mobile.webp') center top / cover no-repeat;}
    .public-home .landing-shell{padding:12px 12px calc(18px + env(safe-area-inset-bottom))}
    .public-home .landing-nav{margin-bottom:10px}
    .public-home .landing-brand{width:162px}
    .public-home .landing-login{font-size:11px;padding:10px 14px}
    .public-home .landing-kicker{font-size:9px;letter-spacing:.14em;gap:9px}
    .public-home .landing-kicker::before,
    .public-home .landing-kicker::after{width:18px;flex-basis:18px}
    .public-home .landing-copy{padding:16px 14px 14px;border-radius:20px}
    .public-home .landing-copy h1{font-size:clamp(29px,7.8vw,44px);margin:10px 0 11px;line-height:1}
    .public-home .landing-copy h1 span{font-size:.72em}
    .public-home .landing-lead{font-size:14px;line-height:1.45}
    .public-home .landing-actions{margin:14px 0 14px}
    .public-home .landing-primary{width:100%;min-height:58px;font-size:20px;padding:0 18px}
    .public-home .landing-platforms{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .public-home .landing-platform{min-height:68px;padding:10px 10px;gap:8px}
    .public-home .landing-platform-icon{width:24px;height:24px;flex-basis:24px}
    .public-home .landing-platform-copy strong{font-size:13px}
    .public-home .landing-platform-copy small{font-size:10px}
    .public-home .landing-platform-next{font-size:20px}
    .public-home .landing-platform-pc{grid-column:1/-1;min-height:56px}
    .public-home .landing-platform-pc .landing-platform-copy{flex-direction:row;align-items:center;gap:12px}
    .public-home .landing-platform-pc .landing-platform-copy small{font-size:11px}
    .public-home .landing-hero{gap:14px;padding-bottom:10px}
    .public-home .landing-visual{max-width:500px}
    .public-home .landing-media{inset:8.3%;width:83.4%;height:83.4%;border-radius:15px}
    .public-home .landing-coordinate{font-size:clamp(6px,1.6vw,9px);letter-spacing:.1em}
    .public-home .landing-benefit{min-height:124px}
    .public-home .landing-benefit--build{--art-size:42% auto;--art-pos:3% 52%;}
    .public-home .landing-benefit--modules{--art-size:44% auto;--art-pos:2% 54%;}
    .public-home .landing-benefit--battle{--art-size:48% auto;--art-pos:0% 50%;}
    .public-home .landing-benefit::after{background:linear-gradient(90deg, rgba(6,9,14,.04) 0%, rgba(6,9,14,.14) 24%, rgba(6,9,14,.72) 52%, rgba(6,9,14,.95) 74%, rgba(6,9,14,.98) 100%)}
    .public-home .landing-benefit-copy{padding:14px 14px 14px max(44%, 142px);min-height:124px;justify-content:center}
    .public-home .landing-benefit h2{font-size:15px}
    .public-home .landing-benefit p{font-size:12px;margin-top:4px;max-width:none}
    .public-home .landing-footer{justify-content:center;gap:10px;text-align:center}
    .public-home .landing-socials{gap:18px}
    .public-home .landing-legal{width:100%;gap:7px;font-size:10px}
    .public-home .landing-legal a{font-size:10px}
}

@media (max-width:355px){
    .public-home .landing-brand{width:148px}
    .public-home .landing-copy h1{font-size:28px}
    .public-home .landing-platform-next{display:none}
    .public-home .landing-platform-copy small{font-size:9px}
    .public-home .landing-primary{font-size:18px}
}

@media(prefers-reduced-motion:reduce){
    .public-home .landing-primary,.public-home .landing-platform,.public-home .landing-login{transition:none}
}

@media (min-width:981px) and (max-height:930px){
    .public-home .landing-shell{padding:8px 20px 8px;}
    .public-home .landing-hero{gap:16px;padding-bottom:4px;}
    .public-home .landing-visual{max-width:676px;}
    .public-home .landing-copy{padding:16px 18px 14px;}
    .public-home .landing-brand{width:250px;}
    .public-home .landing-copy h1{font-size:clamp(34px,3.6vw,54px);margin:10px 0 8px;}
    .public-home .landing-lead{font-size:15px;line-height:1.46;}
    .public-home .landing-actions{margin:14px 0 10px;}
    .public-home .landing-primary{min-height:58px;font-size:23px;}
    .public-home .landing-platform{min-height:62px;padding:10px 10px;}
    .public-home .landing-benefits{gap:8px;margin:2px 0 6px;}
    .public-home .landing-benefit{min-height:104px;}
    .public-home .landing-benefit-copy{min-height:104px;padding:12px 14px 12px max(42%,160px);}
    .public-home .landing-benefit h2{font-size:16px;}
    .public-home .landing-benefit p{font-size:12px;line-height:1.32;}
    .public-home .landing-footer{padding-top:4px;}
}

/* Remover contornos herdados do layout antigo */
.public-home .landing-visual {
    border: none;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
    background: transparent;
}

.public-home .landing-visual::before,
.public-home .landing-visual::after {
    content: none;
    display: none;
}