:root {
    --forest:#103b30;
    --forest2:#1b5945;
    --gold:#c5a45a;
    --cream:#f5f7f3;
    --ink:#192720;
    --muted:#43534a;
    --line:#dfe7df;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
}
body {
    margin:0;
    background:#fff;
    color:var(--ink);
    font-family:Inter,Arial,sans-serif;
    line-height:1.65;
}
a {
    color:inherit;
    text-decoration:none;
}
.wrap {
    width:min(1160px,calc(100% - 40px));
    margin:auto;
}
header {
    background:#fff;
    position:sticky;
    top:0;
    z-index:10;
    border-bottom:1px solid #e8eee8;
}
.nav {
    height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.brand {
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:850;
    letter-spacing:.05em;
    color:var(--forest);
}
.logo {
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    overflow:hidden;
    padding:0;
    border:0;
    border-radius:0;
}
.logo img {
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.links {
    display:flex;
    gap:25px;
    color:#4d5b52;
    font-size:.92rem;
}
.links a:hover {
    color:var(--forest2);
}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border-radius:6px;
    font-weight:750;
    transition:.25s;
}
.btn:hover {
    transform:translateY(-2px);
}
.btn.dark {
    background:var(--forest);
    color:white;
}
.btn.gold {
    background:var(--gold);
    color:#1b2b22;
}
.btn.outline {
    border:1px solid #ffffff8a;
    color:white;
}
.hero {
    position:relative;
    overflow:hidden;
    background:var(--forest);
    color:white;
    padding:88px 0 78px;
}
.hero:after {
    content:"";
    position:absolute;
    right:-120px;
    top:-180px;
    width:650px;
    height:650px;
    border:1px solid #c5a45a40;
    border-radius:50%;
    box-shadow:0 0 0 55px #ffffff05,0 0 0 115px #ffffff04;
}
.hero-grid {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:45px;
    align-items:center;
}
.eyebrow {
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#b28f42;
}
.hero h1 {
    font-size:clamp(2.5rem,5vw,4.35rem);
    letter-spacing:-.045em;
    line-height:1.06;
    margin:18px 0;
}
.hero p {
    font-size:1.1rem;
    color:#d9e5dd;
    max-width:650px;
}
.actions {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:27px;
}
.hero-visual {
    min-height:315px;
    position:relative;
    display:grid;
    place-items:center;
}
.ring {
    width:250px;
    height:250px;
    border:1px solid #c5a45a8c;
    border-radius:50%;
    position:absolute;
    animation:rotate 40s linear infinite;
}
.ring:before {
    content:"";
    position:absolute;
    inset:18px;
    border:1px solid #ffffff26;
    border-radius:50%;
}
.ring:after {
    content:"";
    position:absolute;
    inset:-25px;
    border:1px dashed #c5a45a55;
    border-radius:50%;
}
.bull {
    width:clamp(6rem,13vw,9rem);
    height:clamp(6rem,13vw,9rem);
    object-fit:contain;
    filter:drop-shadow(0 15px 30px #071b14);
    animation:float 4s ease-in-out infinite;
}
.mini {
    position:absolute;
    background:#0b2c23;
    border:1px solid #c5a45a6b;
    padding:8px 12px;
    border-radius:7px;
    font-size:.82rem;
}
.mini.one {
    top:24px;
    right:0;
}
.mini.two {
    bottom:22px;
    left:0;
}
.trust {
    background:var(--cream);
    border-bottom:1px solid var(--line);
}
.trustrow {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    padding:22px 0;
    gap:18px;
}
.trustitem {
    display:flex;
    align-items:center;
    gap:12px;
    color:#4e5f54;
    font-size:.92rem;
}
.dot {
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--gold);
    flex-shrink:0;
}
section {
    padding:78px 0;
}
.section-head {
    max-width:760px;
    margin-bottom:34px;
}
.section-head h2 {
    font-size:clamp(2rem,3.3vw,3rem);
    letter-spacing:-.035em;
    line-height:1.13;
    margin:10px 0 14px;
}
.section-head p {
    color:var(--muted);
    font-size:1.04rem;
}
.split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center;
}
.about-panel {
    background:var(--cream);
    padding:30px;
    border-radius:12px;
    border:1px solid var(--line);
}
.about-panel h3 {
    margin-top:0;
    color:var(--forest);
}
.about-panel p {
    color:var(--muted);
}
.services {
    background:var(--cream);
    position:relative;
}
.service-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 42px;
    border-top:1px solid #cbd8cf;
}
.service {
    background:transparent;
    border:0;
    border-bottom:1px solid #cbd8cf;
    border-radius:0;
    padding:25px 42px 25px 0;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:8px;
    align-items:flex-start;
    position:relative;
    overflow:visible;
    transition:background .2s,padding .2s;
}
.service:hover {
    transform:none;
    box-shadow:none;
    border-color:#b7cbbd;
    background:#edf2ec;
    padding-left:10px;
    padding-right:42px;
}
.service .index {
    font-size:.72rem;
    letter-spacing:.1em;
    font-weight:800;
    color:#9b7830;
    padding-top:0;
    line-height:1.5;
    max-width:100%;
    overflow-wrap:anywhere;
}
.service h3 {
    margin:0 0 2px;
    font-size:1.15rem;
    line-height:1.35;
    color:var(--forest);
    max-width:100%;
    overflow-wrap:anywhere;
}
.service p {
    margin:0;
    color:var(--muted);
    line-height:1.6;
    max-width:100%;
    overflow-wrap:anywhere;
}
.service .expand {
    max-height:none;
    opacity:1;
    overflow:visible;
    transition:none;
    color:#43534a;
    font-size:.92rem;
    line-height:1.6;
    margin-top:0;
    max-width:100%;
    overflow-wrap:anywhere;
}
.service:after {
    content:'↗';
    color:#a9863d;
    font-size:1.15rem;
    font-weight:700;
    position:absolute;
    right:10px;
    top:27px;
}
.process-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}
.process {
    border-top:2px solid var(--gold);
    padding:18px 16px;
    background:#fff;
}
.process strong {
    display:block;
    color:var(--forest);
    margin-bottom:7px;
}
.process p {
    font-size:.93rem;
    color:var(--muted);
    margin:0;
}
.innovation {
    background:#f1f5ef;
}
.innovationbox {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:45px;
    align-items:center;
}
.future {
    background:var(--forest);
    color:white;
    border-radius:12px;
    padding:30px;
    position:relative;
    overflow:hidden;
}
.future:after {
    content:"";
    position:absolute;
    right:-65px;
    bottom:-130px;
    width:260px;
    height:260px;
    border:1px solid #c5a45a50;
    border-radius:50%;
}
.future h3 {
    font-size:1.55rem;
    line-height:1.25;
    margin:12px 0;
}
.future p {
    color:#d6e4dc;
    position:relative;
    z-index:1;
}
.future small {
    color:var(--gold);
    font-weight:800;
    letter-spacing:.12em;
}
.contact {
    background:#e8efe8;
    padding:68px 0;
}
.contactbox {
    display:grid;
    grid-template-columns:minmax(0,1fr) 250px;
    align-items:center;
    gap:44px;
    background:#fff;
    border:1px solid #d5e0d7;
    border-radius:16px;
    padding:42px 44px;
    box-shadow:0 14px 35px #0b30200a;
}
.contactbox h2 {
    font-size:clamp(1.8rem,3vw,2.55rem);
    letter-spacing:-.03em;
    line-height:1.13;
    margin:8px 0 12px;
    max-width:760px;
}
.contactbox p {
    color:var(--muted);
    max-width:670px;
    margin:0;
}
.contact-action {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:12px;
    padding-left:28px;
    border-left:1px solid var(--line);
}
.contact-action small {
    color:#56675c;
    font-size:.84rem;
    line-height:1.5;
}
.contact-action .btn {
    white-space:nowrap;
}
footer {
    background:#0a2921;
    color:#dce6df;
    padding:26px 0;
    font-size:.9rem;
}
.foot {
    display:flex;
    justify-content:space-between;
    gap:15px;
    flex-wrap:wrap;
}
.reveal {
    opacity:0;
    transform:translateY(20px);
    transition:opacity .65s,transform .65s;
}
.reveal.in {
    opacity:1;
    transform:none;
}
@keyframes float {
    0%,100% {
        transform:translateY(0) rotate(-2deg);
    }
    50% {
        transform:translateY(-10px) rotate(2deg);
    }
}
@keyframes rotate {
    to {
        transform:rotate(360deg);
    }
}
@media(max-width:800px) {
    .links {
        display:none;
    }
    .hero-grid,.split,.innovationbox {
        grid-template-columns:1fr;
    }
    .hero-visual {
        min-height:230px;
        order:-1;
    }
    .ring {
        width:205px;
        height:205px;
    }
    .bull {
        font-size:7rem;
    }
    .trustrow {
        grid-template-columns:1fr;
    }
    .service-grid {
        grid-template-columns:1fr;
        gap:0;
    }
    .process-grid {
        grid-template-columns:1fr 1fr;
    }
    .contactbox {
        grid-template-columns:1fr;
        gap:24px;
    }
    .contact-action {
        border-left:0;
        border-top:1px solid var(--line);
        padding:20px 0 0;
    }
    .contactbox .btn {
        margin-top:0;
    }
}
@media(max-width:520px) {
    .wrap {
        width:calc(100% - 28px);
    }
    .nav {
        height:68px;
    }
    .service-grid,.process-grid {
        grid-template-columns:1fr;
    }
    .contactbox {
        padding:26px 22px;
    }
    .hero {
        padding:48px 0;
    }
    .hero h1 {
        font-size:2.45rem;
    }
    section {
        padding:58px 0;
    }
    .contactbox {
        padding:24px;
    }
}
@media(max-width:800px) {
    #solucoes .services-interactive {
        grid-template-columns:1fr;
        gap:18px;
    }
    #solucoes .service-tabs {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        border:0;
    }
    #solucoes .service-tab {
        border:1px solid #cbd8cf;
        border-radius:8px;
        padding:15px 12px;
        grid-template-columns:28px minmax(0,1fr) 14px;
    }
    #solucoes .service-tab[aria-selected="true"] {
        padding-left:12px;
    }
    #solucoes .service-detail {
        min-height:260px;
    }
}
@media(max-width:520px) {
    #solucoes .service-tabs {
        grid-template-columns:1fr;
    }
    #solucoes .service-detail {
        padding:25px 22px;
        min-height:0;
    }
    #solucoes .service-tab .tab-title {
        font-size:.94rem;
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important;
    }
    .reveal {
        opacity:1;
        transform:none;
    }
}
.section-head p,.about-panel p,.service p,.service .expand,.process p,.contactbox p {
    color:#43534a;
}
.section-head p {
    max-width:700px;
}
.process {
    border:1px solid #dfe7df;
    border-top:3px solid var(--gold);
    border-radius:0 0 10px 10px;
    padding:22px 18px;
    background:#fff;
}
.process strong {
    font-size:1rem;
}
.service-grid {
    column-gap:34px;
}
.service {
    padding-top:28px;
    padding-bottom:28px;
}
.service:hover {
    background:#eaf0e9;
}
.contactbox .eyebrow {
    color:#9b7830;
}
/* Correção da lista interativa: categoria e seta alinhadas, sem textos sobrepostos */
#solucoes .service-tabs {
    display:flex;
    flex-direction:column;
    gap:0;
    align-self:start;
}
#solucoes .service-tab {
    display:grid;
    grid-template-columns:minmax(0,1fr) 18px;
    align-items:center;
    column-gap:12px;
    row-gap:0;
    width:100%;
    min-height:60px;
    padding:17px 14px;
    border:0;
    border-top:1px solid var(--line);
    border-radius:0;
    background:transparent;
    text-align:left;
    cursor:pointer;
    transition:background .2s,color .2s,padding .2s;
}
#solucoes .service-tab:last-child {
    border-bottom:1px solid var(--line);
}
#solucoes .service-tab:hover {
    background:#e8efe8;
}
#solucoes .service-tab[aria-selected="true"] {
    background:var(--forest);
    color:#fff;
    border-radius:8px;
    border-bottom-color:transparent;
    padding-left:18px;
}
#solucoes .service-tab .tab-title {
    display:block;
    min-width:0;
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.09em;
    line-height:1.45;
    text-transform:uppercase;
    overflow-wrap:normal;
    word-break:normal;
    color:var(--ink);
}
#solucoes .service-tab[aria-selected="true"] .tab-title {
    color:#fff;
}
#solucoes .service-tab .tab-arrow {
    font-size:1.1rem;
    line-height:1;
    color:#a9863d;
    justify-self:end;
}
#solucoes .service-tab .tab-num,#solucoes .service-tab .tab-summary {
    display:none!important;
}
@media(max-width:800px) {
    #solucoes .services-interactive {
        grid-template-columns:1fr;
        gap:18px;
    }
    #solucoes .service-tabs {
        display:flex;
        flex-direction:column;
        gap:0;
        border:0;
    }
    #solucoes .service-tab {
        grid-template-columns:minmax(0,1fr) 18px;
        padding:15px 12px;
        min-height:56px;
    }
    #solucoes .service-tab[aria-selected="true"] {
        padding-left:16px;
    }
    #solucoes .service-detail {
        min-height:260px;
    }
}
@media(max-width:520px) {
    #solucoes .service-detail {
        padding:25px 22px;
        min-height:0;
    }
}
/* Serviços: painéis expansíveis inspirados na referência enviada */
#solucoes .service-grid {
    display:flex;
    gap:14px;
    border:0;
    align-items:stretch;
    min-height:360px;
}
#solucoes .service {
    flex:1 1 0;
    min-width:0;
    min-height:360px;
    padding:26px 22px;
    border:1px solid rgba(197,164,90,.22);
    border-radius:16px;
    background:linear-gradient(160deg,#174638 0%,#0d3329 100%);
    color:#f7f8f4;
    overflow:hidden;
    gap:14px;
    justify-content:space-between;
    box-shadow:0 10px 30px rgba(10,35,27,.08);
    transition:flex .45s cubic-bezier(.2,.8,.2,1), background .3s, border-color .3s, transform .3s;
}
#solucoes .service::after {
    content:"↗";
    color:var(--gold);
    font-size:1.25rem;
    position:absolute;
    right:20px;
    top:18px;
    transition:transform .3s;
}
#solucoes .service .index {
    color:#e0bd6a;
    font-size:.7rem;
    letter-spacing:.14em;
    line-height:1.5;
    max-width:85%;
}
#solucoes .service h3 {
    color:#fff;
    font-size:clamp(1.05rem,1.35vw,1.35rem);
    line-height:1.25;
    margin:auto 0 0;
    max-width:100%;
    overflow-wrap:anywhere;
}
#solucoes .service p, #solucoes .service .expand {
    color:#dce8e1;
    font-size:.94rem;
    line-height:1.65;
    margin:0;
    max-width:100%;
    overflow-wrap:anywhere;
}
#solucoes .service p, #solucoes .service .expand {
    opacity:0;
    max-height:0;
    overflow:hidden;
    transform:translateY(8px);
    transition:opacity .25s ease, transform .25s ease, max-height .35s ease;
}
#solucoes .service:first-child, #solucoes .service:hover, #solucoes .service:focus-within {
    flex:2.25 1 0;
    background:linear-gradient(145deg,#1c5945 0%,#103b30 70%);
    border-color:rgba(197,164,90,.65);
    transform:translateY(-3px);
    justify-content:flex-start;
}
/* Conteúdo do card aberto fica agrupado no topo, sem grandes vazios entre título e descrição. */
#solucoes .service:first-child h3, #solucoes .service:hover h3, #solucoes .service:focus-within h3 {
    margin:22px 0 2px;
}
#solucoes .service:first-child p, #solucoes .service:hover p, #solucoes .service:focus-within p {
    margin-top:0;
}
#solucoes .service:first-child p, #solucoes .service:first-child .expand, #solucoes .service:hover p, #solucoes .service:hover .expand, #solucoes .service:focus-within p, #solucoes .service:focus-within .expand {
    opacity:1;
    max-height:180px;
    transform:translateY(0);
}
#solucoes .service:hover::after, #solucoes .service:focus-within::after {
    transform:translate(3px,-3px);
}
@media (hover:hover) {
    #solucoes .service-grid:has(.service:hover) .service:not(:hover) {
        flex:.78 1 0;
    }
}
@media (max-width:850px) {
    #solucoes .service-grid {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        min-height:0;
    }
    #solucoes .service {
        min-height:260px;
    }
    #solucoes .service:first-child {
        grid-column:span 2;
    }
    #solucoes .service p,#solucoes .service .expand,   #solucoes .service:first-child p,#solucoes .service:first-child .expand {
        opacity:1;
        max-height:180px;
        transform:none;
    }
}
@media (max-width:560px) {
    #solucoes .service-grid {
        grid-template-columns:1fr;
        gap:12px;
    }
    #solucoes .service,#solucoes .service:first-child {
        grid-column:auto;
        min-height:0;
        padding:22px;
        gap:12px;
    }
    #solucoes .service p,#solucoes .service .expand {
        opacity:1;
        max-height:200px;
        transform:none;
    }
    #solucoes .service h3 {
        margin-top:18px;
    }
}
/* Soluções em abas interativas: dinâmica clara e sem espaços vazios */
#solucoes .services-interactive {
    display:grid;
    grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
    gap:24px;
    align-items:stretch;
    margin-top:28px;
}
#solucoes .service-tabs {
    display:flex;
    flex-direction:column;
    border-top:1px solid #cbd8cf;
}
#solucoes .service-tab {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 20px;
    gap:12px;
    align-items:center;
    text-align:left;
    width:100%;
    padding:19px 14px;
    border:0;
    border-bottom:1px solid #cbd8cf;
    background:transparent;
    color:var(--forest);
    cursor:pointer;
    font:inherit;
    transition:background .2s,padding .2s;
}
#solucoes .service-tab:hover {
    background:#e8efe8;
}
#solucoes .service-tab[aria-selected="true"] {
    background:var(--forest);
    color:#fff;
    border-radius:8px;
    border-bottom-color:transparent;
    padding-left:18px;
}
#solucoes .service-tab .tab-num {
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.08em;
    color:#a9863d;
}
#solucoes .service-tab[aria-selected="true"] .tab-num {
    color:#e0bd6a;
}
#solucoes .service-tab .tab-title {
    font-size:1rem;
    font-weight:750;
    line-height:1.35;
}
#solucoes .service-tab .tab-arrow {
    font-size:1.1rem;
    color:#a9863d;
    justify-self:end;
}
#solucoes .service-tab .tab-num {
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    color:#a9863d;
    line-height:1.4;
}
#solucoes .service-tab .tab-title {
    display:block;
    font-weight:750;
    line-height:1.35;
}
#solucoes .service-tab .tab-title {
    font-size:.68rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--ink);
}
#solucoes .service-tab[aria-selected="true"] .tab-title {
    color:#fff;
}
#solucoes .service-tab .tab-summary {
    display:block;
    grid-column:2 / 3;
    font-size:.83rem;
    line-height:1.55;
    color:var(--muted);
    margin-top:5px;
}
#solucoes .service-tab[aria-selected="true"] .tab-summary {
    color:#e4eee8;
}
#solucoes .service-tab {
    align-content:center;
    row-gap:5px;
}
@media(max-width:800px) {
    #solucoes .service-tab .tab-summary {
        grid-column:2 / 3;
    }
}
#solucoes .service-detail {
    min-height:320px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(25px,4vw,48px);
    border:1px solid #d5e0d7;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 32px #0b30200a;
    position:relative;
    overflow:hidden;
}
#solucoes .service-detail:before {
    content:"";
    position:absolute;
    right:-95px;
    top:-120px;
    width:250px;
    height:250px;
    border:1px solid #c5a45a55;
    border-radius:50%;
    pointer-events:none;
}
#solucoes .service-detail .detail-index {
    color:#9b7830;
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    position:relative;
}
#solucoes .service-detail h3 {
    font-size:clamp(1.55rem,2.7vw,2.2rem);
    line-height:1.15;
    letter-spacing:-.03em;
    color:var(--forest);
    margin:14px 0 16px;
    position:relative;
}
#solucoes .service-detail p {
    max-width:610px;
    color:var(--muted);
    font-size:1.02rem;
    line-height:1.75;
    margin:0 0 12px;
    position:relative;
}
#solucoes .service-detail .detail-note {
    padding-top:14px;
    border-top:1px solid var(--line);
    font-size:.92rem;
    margin-top:8px;
}
#solucoes .service-detail .detail-mark {
    margin-top:22px;
    color:#a9863d;
    font-size:1.5rem;
    position:relative;
}
#solucoes .service-detail .detail-content {
    animation:detailIn .28s ease both;
}
@keyframes detailIn {
    from {
        opacity:.25;
        transform:translateY(6px);
    }
    to {
        opacity:1;
        transform:translateY(0);
    }
}
@media(max-width:800px) {
    #solucoes .services-interactive {
        grid-template-columns:1fr;
        gap:18px;
    }
    #solucoes .service-tabs {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        border:0;
    }
    #solucoes .service-tab {
        border:1px solid #cbd8cf;
        border-radius:8px;
        padding:15px 12px;
        grid-template-columns:28px minmax(0,1fr) 14px;
    }
    #solucoes .service-tab[aria-selected="true"] {
        padding-left:12px;
    }
    #solucoes .service-detail {
        min-height:260px;
    }
}
@media(max-width:520px) {
    #solucoes .service-tabs {
        grid-template-columns:1fr;
    }
    #solucoes .service-detail {
        padding:25px 22px;
        min-height:0;
    }
    #solucoes .service-tab .tab-title {
        font-size:.94rem;
    }
}
/* Ajuste solicitado: sem glifo semelhante a signo; manter apenas órbitas e pontos animados */
.hero-emblem {
    display:grid;
    place-items:center;
    position:relative;
}
.hero-emblem-glow {
    display:block;
    width:30px;
    height:30px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(225,184,91,.35),rgba(225,184,91,0) 72%);
    box-shadow:0 0 24px rgba(225,184,91,.12);
}
.hero-emblem::before,.hero-emblem::after {
    content:none!important;
}
.site-header .contact-button,.nav-cta {
    background:transparent!important;
    color:#e8d8a7!important;
    border:1px solid rgba(210,176,91,.65)!important;
    box-shadow:none!important;
}
.hero-dots {
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(14px,2.2vw,30px);
    pointer-events:none;
}
.hero-dots span {
    display:block;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#d7b45f;
    opacity:.6;
    box-shadow:0 0 12px rgba(215,180,95,.5);
    animation:itaiDotFloat 3.8s ease-in-out infinite;
}
.hero-dots span:nth-child(2) {
    transform:translateY(-42px);
    animation-delay:-.6s;
}
.hero-dots span:nth-child(3) {
    transform:translateY(38px);
    animation-delay:-1.2s;
}
.hero-dots span:nth-child(4) {
    transform:translateY(-78px);
    animation-delay:-1.8s;
}
.hero-dots span:nth-child(5) {
    transform:translateY(75px);
    animation-delay:-2.4s;
}
.hero-dots span:nth-child(6) {
    transform:translateY(-15px);
    animation-delay:-3s;
}
.hero-dots span:nth-child(7) {
    transform:translateY(15px);
    animation-delay:-3.4s;
}
@keyframes itaiDotFloat {
    0%,100% {
        translate:0 0;
        opacity:.35;
    }
    50% {
        translate:0 -9px;
        opacity:.95;
    }
}
@media(prefers-reduced-motion:reduce) {
    .hero-dots span {
        animation:none;
    }
}
