/* Dale Floripa — shared base styles v2.4 */
:root{--celeste:#1E6FD9;--sol:#FF5A1F;--lima:#D4FF3A;--mata:#0B3D2E;--crema:#F4ECDC;--tinta:#0A0E14;--tinta-soft:#1a1f2b;--line:rgba(10,14,20,.10);--max:1240px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--crema);color:var(--tinta);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:0}
::selection{background:var(--lima);color:var(--tinta)}
:focus-visible{outline:3px solid var(--lima);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--tinta);color:var(--lima);padding:14px 20px;font-weight:700;z-index:100000}
.skip-link:focus{left:12px;top:12px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:90;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;background:rgba(244,236,220,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-logo{height:38px;color:var(--tinta);display:flex;align-items:center}
.nav-logo svg{height:100%;width:auto}
.nav-links{display:flex;gap:6px;align-items:center}
.nav-links a{padding:14px 18px;border-radius:99px;font-weight:500;font-size:.92rem;min-height:44px;display:inline-flex;align-items:center;transition:.3s var(--ease)}
.nav-links a:hover{background:rgba(10,14,20,.06)}
.nav-cta{background:var(--lima);color:var(--tinta)!important;padding:14px 22px!important;font-weight:700;border-radius:99px;min-height:44px}
.nav-cta:hover{background:var(--tinta);color:var(--lima)!important}
.nav-toggle{display:none;width:44px;height:44px;border-radius:50%;background:var(--lima);color:var(--tinta);align-items:center;justify-content:center}
.nav-toggle span{display:block;width:18px;height:2px;background:currentColor;position:relative;transition:.3s var(--ease)}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:.3s var(--ease)}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.nav-open .nav-toggle span{background:transparent}
.nav-open .nav-toggle span::before{top:0;transform:rotate(45deg)}
.nav-open .nav-toggle span::after{top:0;transform:rotate(-45deg)}
.nav-drawer{position:fixed;inset:0;background:var(--tinta);color:var(--crema);z-index:95;padding:100px 32px 40px;transform:translateY(-100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;gap:8px;visibility:hidden}
.nav-open .nav-drawer{transform:none;visibility:visible}
.nav-drawer a{font-family:'Bricolage Grotesque';font-weight:800;font-size:2rem;letter-spacing:-.04em;padding:14px 0;border-bottom:1px solid rgba(244,236,220,.12);min-height:44px;display:flex;align-items:center}
.nav-drawer a:last-child{margin-top:auto;background:var(--lima);color:var(--tinta);text-align:center;border-radius:99px;padding:18px 24px;justify-content:center;border:0;font-size:1.2rem}
@media(max-width:880px){.nav{padding:14px 18px}.nav-links a:not(.nav-cta){display:none}.nav-toggle{display:flex}.nav-cta{display:none}}

/* PAGE HERO */
.page-hero{padding:140px 32px 60px;position:relative;overflow:hidden;background:var(--tinta);color:var(--crema)}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%,rgba(255,90,31,.45),transparent),radial-gradient(50% 70% at 0% 100%,rgba(30,111,217,.45),transparent);filter:blur(60px);opacity:.7}
.page-hero-inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto}
.crumb{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lima);margin-bottom:24px;font-weight:600}
.crumb a:hover{color:#fff}
.page-hero h1{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(2.6rem,7vw,6rem);line-height:.94;letter-spacing:-.05em;margin-bottom:24px;max-width:1000px}
.page-hero h1 em{font-style:italic;color:var(--sol)}
.page-hero h1 u{text-decoration:none;background:linear-gradient(transparent 60%,rgba(212,255,58,.45) 60%);padding:0 .08em}
.page-hero p{font-size:1.15rem;max-width:600px;color:rgba(244,236,220,.78)}

/* SECTION */
.section{padding:90px 32px}
.section.dark{background:var(--tinta);color:var(--crema)}
.section.green{background:var(--mata);color:var(--crema)}
.section.sun{background:var(--sol);color:var(--tinta)}
.wrap{max-width:var(--max);margin:0 auto}
.section-eyebrow{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--celeste);font-weight:700;margin-bottom:18px;display:inline-flex;align-items:center;gap:12px}
.section-eyebrow::before{content:"";width:32px;height:2px;background:currentColor}
.dark .section-eyebrow,.green .section-eyebrow{color:var(--lima)}
.section-title{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(2rem,5vw,4.4rem);line-height:.96;letter-spacing:-.04em;margin-bottom:24px;max-width:980px}
.section-title em{font-style:italic;color:var(--sol)}
.section-title u{text-decoration:none;background:linear-gradient(transparent 60%,var(--lima) 60%);padding:0 .08em}
.dark .section-title em{color:var(--lima)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--tinta);color:#fff;padding:18px 28px;border-radius:99px;font-family:'Bricolage Grotesque';font-weight:700;font-size:1rem;transition:.3s var(--ease);min-height:44px}
.btn:hover{background:var(--lima);color:var(--tinta);transform:scale(1.03)}
.btn.btn-sun{background:var(--sol);color:#fff}
.btn.btn-sun:hover{background:var(--lima);color:var(--tinta)}
.btn.btn-lima{background:var(--lima);color:var(--tinta)}
.btn.btn-lima:hover{background:#fff}
.btn .dot{width:10px;height:10px;border-radius:50%;background:var(--lima);box-shadow:0 0 0 0 rgba(212,255,58,.5);animation:pulse2 2s infinite}
.btn:hover .dot{background:var(--tinta)}
@keyframes pulse2{0%{box-shadow:0 0 0 0 rgba(212,255,58,.6)}70%{box-shadow:0 0 0 12px rgba(212,255,58,0)}}

/* CARDS */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(10,14,20,.10)}
.card h3{font-family:'Bricolage Grotesque';font-weight:800;font-size:1.4rem;letter-spacing:-.03em;margin-bottom:10px}
.card p{color:rgba(10,14,20,.72)}
@media(max-width:880px){.card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.card-grid{grid-template-columns:1fr}}

/* FOOTER */
.footer{background:var(--tinta);color:rgba(244,236,220,.6);padding:80px 32px 32px}
.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;border-bottom:1px solid rgba(244,236,220,.12);padding-bottom:48px}
.footer h5{font-family:'Bricolage Grotesque';color:var(--crema);font-size:.84rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px;font-weight:700}
.footer ul{list-style:none}
.footer li{margin-bottom:8px;font-size:.92rem}
.footer a:hover{color:var(--lima)}
.footer-brand{font-family:'Bricolage Grotesque';font-weight:800;font-size:2.4rem;letter-spacing:-.04em;color:var(--crema);margin-bottom:14px}
.footer-bottom{max-width:var(--max);margin:32px auto 0;display:flex;justify-content:space-between;font-size:.84rem;flex-wrap:wrap;gap:14px}
@media(max-width:720px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{font-size:1.8rem}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* WA FLOAT */
.wa{position:fixed;right:20px;bottom:20px;z-index:80;background:#25D366;color:#fff;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;box-shadow:0 16px 40px rgba(37,211,102,.4);transition:transform .3s var(--ease)}
.wa:hover{transform:scale(1.1)}
.wa svg{width:28px;height:28px;fill:#fff}

/* REVEAL */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);animation:revealFallback .8s 2s var(--ease) forwards}
.reveal.in{opacity:1;transform:none;animation:none}
@keyframes revealFallback{to{opacity:1;transform:none}}

/* RESPONSIVE BASE */
@media(max-width:720px){.section{padding:60px 20px}.page-hero{padding:120px 20px 50px}}
