:root{--royal-blue:#1D3C6A;--gold:#C5A059;--gold-hover:#b08d4b;--radius:10px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{height:100%;font-family:'Inter',sans-serif;overflow:hidden}
h1,h2,h3,h4,.font-serif{font-family:'Playfair Display',serif;color:#fff}
h1.display-3,h2.display-3{font-size:clamp(1.8rem,5vw,3rem)}
.text-gold{color:var(--gold)}
i,.fa-regular,.fa-brands,.fas,.fab{color:var(--gold)}
a{cursor:pointer}
.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;background:var(--gold);color:#000;padding:.5rem 1.25rem;font-weight:700;font-size:.9rem;border-radius:0 0 var(--radius) var(--radius);text-decoration:none;transition:top .2s}
.skip-link:focus{top:0}
.snap-container{height:100dvh;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.snap-section{min-height:100dvh;width:100%;scroll-snap-align:start;position:relative;display:flex;align-items:center;justify-content:center;padding:100px 15px 70px;background-color:var(--royal-blue);color:#fff}
@media(min-width:768px){.snap-section{padding:100px 20px 80px}}
.snap-section--hero{overflow:hidden;background-color:var(--royal-blue)}
.hero-video-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:100%;min-height:100%;z-index:0;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:rgba(29,60,106,.82);z-index:1}
.snap-section--hero .container,.snap-section--hero .row{position:relative;z-index:2}
.logo-floating{position:fixed;top:16px;left:15px;z-index:100;font-family:'Playfair Display',serif;font-weight:700;font-size:1.2rem;text-decoration:none;color:#fff;white-space:nowrap}
@media(min-width:768px){.logo-floating{top:30px;left:30px;font-size:1.8rem}}
.btn-work-floating{position:fixed;top:12px;right:15px;z-index:100;height:40px;padding:0 18px;font-weight:600;font-size:.85rem;text-decoration:none;display:flex;align-items:center;background:transparent;color:#fff;border:1px solid transparent;border-radius:var(--radius);transition:all .2s}
@media(min-width:768px){.btn-work-floating{top:30px;right:30px;height:48px;padding:0 28px;font-size:.95rem}}
.btn-work-floating:hover{background:rgba(255,255,255,.05);border-color:var(--gold);color:#fff;transform:translateY(-2px)}
.btn-standard{height:48px;padding:0 28px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;text-decoration:none;border-radius:var(--radius);transition:all .2s;cursor:pointer;border:none;background:none}
.btn-gold-outline{background:transparent;color:#fff;border:1px solid var(--gold)!important}
.btn-gold-outline:hover{background:rgba(255,255,255,.05);color:#fff;transform:translateY(-2px)}
.btn-gold-filled{background:var(--gold);color:#fff;border:1px solid var(--gold)!important}
.btn-gold-filled:hover{background:var(--gold-hover);border-color:var(--gold-hover)!important;color:#fff;transform:translateY(-2px)}
.btn-whatsapp{background:#25D366;color:#fff;border:1px solid #25D366!important}
.btn-whatsapp:hover{background:#1ebe5d;border-color:#1ebe5d!important;color:#fff;transform:translateY(-2px)}
.btn-outline-white{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7)!important}
.btn-outline-white:hover{border-color:var(--gold)!important;color:var(--gold);transform:translateY(-2px)}
.btn-standard:focus-visible,.btn-work-floating:focus-visible,.service-card-btn:focus-visible,.progress-dot:focus-visible,.skip-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn-float{position:fixed;width:56px;height:56px;bottom:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;z-index:1000;text-decoration:none;transition:transform .2s}
.btn-float:hover{transform:scale(1.1)}
.btn-float-left{left:24px;background:#25D366}
.btn-float-left i{color:#fff!important}
.form-control{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;padding:16px 20px;border-radius:var(--radius)}
.form-control::placeholder{color:rgba(255,255,255,.5)}
.form-control:focus{background:rgba(255,255,255,.15);border-color:var(--gold);color:#fff;box-shadow:none}
.honeypot{display:none!important;opacity:0!important;position:absolute!important;left:-9999px!important;pointer-events:none!important}
.modal-content{background:var(--royal-blue);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius)}
.modal-dialog{margin:15px}
@media(min-width:576px){.modal-dialog{margin:auto}}
.section-divider{width:60px;height:3px;background:var(--gold);margin:20px auto;border-radius:2px}
.badges-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}
.info-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.25);padding:10px 16px;border-radius:var(--radius);font-size:.875rem;color:rgba(255,255,255,.75);width:100%;max-width:420px;justify-content:center;position:relative;overflow:hidden}
.info-badge i{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:3.5rem;color:var(--gold);opacity:.13;pointer-events:none;line-height:1;transition:opacity .3s,transform .3s}
.info-badge span{position:relative}
.hero-usp{font-size:1rem;margin-bottom:.75rem}
.hero-usp .fa-gift{color:var(--gold);margin-right:.4rem}
.hero-cta-wrap{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}
.integridy-card{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);padding:28px 20px;height:100%;text-align:center;display:block;text-decoration:none;color:#fff;border-radius:var(--radius);transition:all .3s;position:relative;overflow:hidden}
@media(min-width:768px){.integridy-card{padding:40px 30px}}
.integridy-card i{position:absolute;top:50%;right:12px;transform:translateY(-50%);font-size:6.5rem;opacity:.13;pointer-events:none;line-height:1;transition:opacity .3s,transform .3s}
.integridy-card:hover i{opacity:.2;transform:translateY(-50%) scale(1.1)}
.integridy-card h3{font-size:1.1rem;margin-bottom:8px;position:relative}
.integridy-card p{color:rgba(255,255,255,.5);font-size:.875rem;margin:0;position:relative}
.integridy-card:hover{border-color:var(--gold);background:rgba(255,255,255,.1);transform:translateY(-5px);color:#fff}
.contact-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);padding:32px 24px;border-radius:var(--radius);max-width:700px;margin:0 auto;text-align:center;position:relative;overflow:hidden}
@media(min-width:768px){.contact-card{padding:50px 40px}}
.contact-card h3,.contact-card p,.contact-card .d-flex{position:relative}
.crown-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);font-size:6.5rem;margin:0;opacity:.13;pointer-events:none;line-height:1;transition:opacity .3s,transform .3s;color:var(--gold)}
.contact-card:hover .crown-icon{opacity:.2;transform:translateY(-50%) scale(1.1)}
.trust-note{font-size:.88rem;opacity:.65}
.trust-note .fa-star{font-size:.8rem;margin-right:.3rem}
.content-container{width:100%}
.scroll-down{position:absolute;bottom:16px;left:0;width:100%;text-align:center;animation:bounce 2s infinite;cursor:pointer;z-index:10;text-decoration:none;display:block}
@media(min-width:768px){.scroll-down{bottom:30px}}
.scroll-up{position:absolute;top:58px;left:0;width:100%;text-align:center;cursor:pointer;z-index:10;text-decoration:none;display:block}
@media(min-width:768px){.scroll-up{top:80px}}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}
.footer-link{color:rgba(255,255,255,.7);text-decoration:none;display:block;margin-bottom:8px;font-size:.875rem;transition:all .2s}
.footer-link:hover{color:var(--gold);padding-left:5px}
.footer-sublabel{display:block;font-size:.875rem;font-weight:600;color:#fff;margin-top:8px;margin-bottom:8px}
.hover-gold{transition:color .2s}
.hover-gold:hover{color:var(--gold)!important}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;max-width:900px;align-items:stretch}
@media(max-width:991px){.service-grid{grid-template-columns:1fr;gap:12px}}
.service-card-wrapper{text-decoration:none;color:#fff;display:flex;height:100%}
.service-card{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);padding:20px 16px;border-radius:var(--radius);text-align:center;transition:all .3s;width:100%;position:relative;overflow:hidden}
@media(min-width:768px){.service-card{padding:28px 20px}}
.service-card-wrapper:hover .service-card,.service-card-btn:hover .service-card{border-color:var(--gold);background:rgba(255,255,255,.1);transform:translateY(-4px);color:#fff}
.service-icon{position:absolute;top:50%;right:12px;transform:translateY(-50%);font-size:6.5rem;color:var(--gold);opacity:.13;pointer-events:none;line-height:1;transition:opacity .3s,transform .3s}
.service-card-wrapper:hover .service-icon,.service-card-btn:hover .service-icon{opacity:.2;transform:translateY(-50%) scale(1.1)}
.service-card h3{font-family:'Inter',sans-serif;font-size:.95rem;margin-bottom:6px;color:#fff;position:relative}
.service-card p{font-size:.8rem;color:rgba(255,255,255,.5);margin:0;position:relative}
.service-card-btn{appearance:none;-webkit-appearance:none;background:none;border:none;padding:0;cursor:pointer;text-align:left;width:100%;color:inherit;display:flex;height:100%}
.badge-wrapper{margin-bottom:10px;min-height:24px;position:relative}
.badge-wrapper .badge{font-size:.7rem;font-weight:500}
.cv-upload-zone{border:2px dashed rgba(255,255,255,.3);background:rgba(255,255,255,.05);border-radius:var(--radius);padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s;position:relative}
.cv-upload-zone:hover,.cv-upload-zone.dragover{border-color:var(--gold);background:rgba(255,255,255,.1)}
.cv-upload-zone input[type="file"]{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer}
.cv-upload-zone .upload-icon{font-size:2.5rem;color:var(--gold);margin-bottom:10px}
.cv-upload-zone .upload-text{color:rgba(255,255,255,.75);font-size:.9rem}
.cv-upload-zone.has-file{border-color:var(--gold);background:rgba(197,160,89,.15)}
.cv-filename{color:var(--gold);font-weight:600;margin-top:10px;word-break:break-word}
.page-progress{position:fixed;right:1.2rem;top:50%;transform:translateY(-50%);z-index:1000;display:flex;flex-direction:column;gap:.6rem}
.progress-dot{display:block;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);border:2px solid rgba(255,255,255,.5);transition:background .3s,transform .3s,border-color .3s;text-decoration:none}
.progress-dot:hover,.progress-dot.active{background:var(--gold);border-color:var(--gold);transform:scale(1.35)}
@media(max-width:576px){.page-progress{display:none}}