@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root{--ink:#07151e;--ink2:#0d2733;--gold:#c99a3b;--gold2:#e2bd68;--paper:#f4f2ec;--white:#fff;--muted:#69777d;--line:#dce1e1;--green:#19b968}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:#fff;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.65}
body.menu-open{overflow:hidden}
img,video{max-width:100%}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;line-height:1.08;margin:0 0 16px}
h1{font-size:clamp(42px,12vw,62px);letter-spacing:-2.5px}
h2{font-size:clamp(32px,9vw,48px);letter-spacing:-1.8px}
h3{font-size:21px}
p{color:var(--muted);margin:0 0 17px}
.container{width:calc(100% - 32px);max-width:1180px;margin:auto}
.eyebrow{font-size:9px;font-weight:800;letter-spacing:2.4px;color:var(--gold2);text-transform:uppercase;margin-bottom:13px}
.eyebrow.dark{color:#96702c}

/* Sticky mobile header */
.header{height:70px;position:sticky;top:0;z-index:1000;background:rgba(5,19,28,.94);backdrop-filter:blur(16px);display:flex;align-items:center;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 7px 25px rgba(0,0,0,.14);color:#fff}
.brand{display:flex;align-items:center;gap:9px;margin-right:auto;font:800 13px Manrope;letter-spacing:.8px}
.brand small{display:block;font:700 6px "DM Sans";letter-spacing:1.5px;color:#9aaab0;margin-top:2px}
.brand-mark{width:34px;height:34px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold2);font:800 19px Manrope}
.menu-trigger{width:42px;height:42px;flex:0 0 42px;position:relative;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.menu-trigger i,.menu-trigger:before,.menu-trigger:after{content:"";position:absolute;width:18px;height:2px;background:#fff;transition:.25s}
.menu-trigger:before{transform:translateY(-6px)}
.menu-trigger:after{transform:translateY(6px)}
.menu-trigger.open i{opacity:0}
.menu-trigger.open:before{transform:rotate(45deg)}
.menu-trigger.open:after{transform:rotate(-45deg)}

/* Mobile-first mega menu */
.mega{position:fixed;z-index:999;left:0;right:0;top:70px;bottom:0;background:#061720;color:#fff;overflow:auto;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .22s,transform .28s,visibility 0s linear .28s}
.mega.open{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition:opacity .22s,transform .28s}
.mega-inner{width:calc(100% - 32px);margin:auto;padding:34px 0 70px}
.mega-grid{display:grid;grid-template-columns:1fr;gap:30px}
.mega-intro{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.12)}
.mega h2{font-size:34px}
.mega h3{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold2);margin-bottom:8px}
.mega a{display:block;color:#b7c2c6;font-size:15px;padding:9px 0}
.mega a:active{color:#fff}
.mega-feature{margin-top:15px;padding:22px;background:linear-gradient(135deg,#102f3b,#091b25);border:1px solid rgba(255,255,255,.1)}
.mega-feature strong{display:block;font:700 19px Manrope}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid transparent;font-size:12px;font-weight:800;cursor:pointer;transition:.2s}
.btn-gold{background:var(--gold);color:#07151e}
.btn-outline{border-color:rgba(255,255,255,.38);color:#fff}
.btn-green{background:var(--green);color:#fff}

/* Hero */
.video-hero{min-height:calc(100svh - 70px);position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,14,21,.35),rgba(3,14,21,.92) 78%),linear-gradient(90deg,rgba(3,14,21,.3),transparent)}
.hero-content{position:relative;z-index:2;width:100%;padding:70px 0 80px}
.hero-content h1{max-width:700px}
.hero-content h1 em{font-style:normal;color:var(--gold2)}
.hero-content .lead{max-width:580px;color:#d5dee1;font-size:16px}
.hero-actions{display:grid;gap:10px;margin-top:25px}
.hero-actions .btn{width:100%}
.scroll-cue{display:none}

/* Sections */
.section{padding:64px 0}
.paper{background:var(--paper)}
.dark{background:var(--ink);color:#fff}
.dark p{color:#aebbc0}
.section-head{display:block;margin-bottom:32px}
.section-head .btn{margin-top:7px}
.split{display:flex;flex-direction:column;gap:35px}
.split-image{height:330px;background-size:cover;background-position:center;order:0}
.split>div:last-child{order:1}
.gold-line{width:58px;height:3px;background:var(--gold);margin:22px 0}
.statement{font:600 20px Manrope;color:var(--ink)}
.dark .statement{color:#fff}

/* Counters */
.counter-band{background:var(--gold);color:#07151e}
.counter-grid{display:grid;grid-template-columns:1fr 1fr}
.counter{padding:24px 12px;border-bottom:1px solid rgba(0,0,0,.12)}
.counter:nth-child(odd){border-right:1px solid rgba(0,0,0,.12)}
.counter strong{display:block;font:800 34px Manrope;letter-spacing:-1.5px}
.counter span{text-transform:uppercase;letter-spacing:1px;font-size:8px;font-weight:800}

/* Cards */
.cards{display:grid;grid-template-columns:1fr;gap:13px}
.card{position:relative;min-height:245px;padding:28px;border:1px solid var(--line);background:#fff;transition:.25s}
.card .num{color:var(--gold);font:800 10px Manrope;letter-spacing:1.5px}
.card .arrow{position:absolute;right:23px;bottom:18px;color:var(--gold);font-size:23px}
.dark .card{background:#0b202b;border-color:#1e3b47}
.dark .card h3{color:#fff}
.dark .card p{color:#9eafb5}

/* Timeline */
.timeline{position:relative;margin-top:32px}
.timeline:before{content:"";position:absolute;left:17px;top:0;bottom:0;width:1px;background:#ccd2d2}
.timeline-item{display:grid;grid-template-columns:36px 1fr;gap:18px;padding-bottom:34px;opacity:0;transform:translateY(22px);transition:.65s}
.timeline-item.reveal{opacity:1;transform:none}
.timeline-dot{width:11px;height:11px;border-radius:50%;background:var(--gold);margin:5px 0 0 12px;box-shadow:0 0 0 6px var(--paper)}
.timeline-year{font:800 12px Manrope;color:#98712e;letter-spacing:1px}

/* Projects */
.projects{display:grid;grid-template-columns:1fr;gap:13px}
.project{min-height:330px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.project.small{min-height:260px}
.project-stack{display:grid;gap:13px}
.project:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,14,21,.92),transparent 68%)}
.project-content{position:relative;z-index:1;padding:24px;color:#fff}
.project-content p{color:#c5d0d3}
.project-tag{font-size:8px;letter-spacing:1.8px;color:var(--gold2);font-weight:800}

/* Parallax: disabled on touch/mobile for performance */
.parallax{min-height:430px;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;color:#fff}
.parallax:before{content:"";position:absolute;inset:0;background:rgba(3,14,21,.64)}
.parallax .container{position:relative;z-index:1}
.parallax p{color:#d0d9dc}

/* CTA/footer */
.cta{padding:30px;background:var(--paper)}
footer{background:#041018;color:#b4c0c5;padding:55px 0 0}
.footer-grid{display:grid;grid-template-columns:1fr;gap:28px;padding-bottom:35px}
.footer-grid h4{font-size:13px;color:#fff}
.footer-grid a:not(.brand){display:block;color:#89989f;font-size:13px;padding:4px 0}
.copyright{border-top:1px solid #1b2a31;padding:16px; text-align:center;font-size:9px;color:#66767d}

/* WhatsApp */
.wa-pro{position:fixed;right:14px;bottom:14px;z-index:900;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#1dbf68;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.wa-icon{width:42px;height:42px;border-radius:50%;background:#fff;color:#1dbf68;display:grid;place-items:center;font-size:20px}
.wa-pro>span:not(.wa-icon){display:none}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
.reveal.delay-1{transition-delay:.08s}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}

/* Inner pages */
.page-hero{min-height:340px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:70px 0;position:relative;color:#fff}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,14,21,.35),rgba(3,14,21,.9))}
.page-hero .container{position:relative}
.page-hero p:not(.eyebrow){color:#d3dcdf;max-width:620px}
.contact-grid{display:flex;flex-direction:column;gap:35px}
.contact-info{display:grid;gap:16px;margin:28px 0}
.contact-info b{display:block;text-transform:uppercase;letter-spacing:1.3px;font-size:9px}
.contact-info span{color:var(--muted)}
.form{background:var(--paper);padding:25px}
label{display:block;font-size:10px;font-weight:800;margin:14px 0}
input,textarea,select{width:100%;padding:12px;border:1px solid #ccd4d6;background:#fff;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--gold)}

/* Tablet */
@media(min-width:601px){
 .container{width:calc(100% - 56px)}
 .hero-actions{display:flex}.hero-actions .btn{width:auto}
 .cards{grid-template-columns:repeat(2,1fr)}
 .projects{grid-template-columns:1.25fr .75fr}
 .project-stack{grid-template-columns:1fr}
 .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}
 .footer-grid{grid-template-columns:2fr 1fr 1fr}
 .mega-grid{grid-template-columns:1.2fr 1fr 1fr}
 .mega-intro{grid-column:1/-1}
}

/* Desktop enhancement */
@media(min-width:901px){
 body{font-size:16px}
 .header{height:82px;padding:0 4%}
 .brand{font-size:16px}.brand-mark{width:38px;height:38px}.brand small{font-size:7px}
 .mega{top:82px}
 .mega-inner{width:min(1180px,92%);padding:70px 0}
 .mega-grid{grid-template-columns:1.25fr 1fr 1fr 1fr;gap:30px}
 .mega-intro{grid-column:auto;border-right:1px solid rgba(255,255,255,.12);border-bottom:0;padding-right:40px}
 .mega-feature{margin-top:50px;display:flex;justify-content:space-between;align-items:center;gap:30px}
 .video-hero{min-height:calc(100vh - 82px);align-items:center}
 .hero-content{padding:90px 0}
 .hero-content .lead{font-size:18px}
 .scroll-cue{display:flex;position:absolute;z-index:2;bottom:30px;left:4%;font-size:9px;letter-spacing:2px;color:#cbd4d7;gap:10px;align-items:center}
 .scroll-cue:before{content:"";width:45px;height:1px;background:var(--gold)}
 .section{padding:110px 0}
 .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}
 .split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
 .split-image{height:560px}.split>div:last-child{order:0}
 .counter-grid{grid-template-columns:repeat(4,1fr)}
 .counter{padding:40px 30px;border-right:1px solid rgba(0,0,0,.14);border-bottom:0}
 .counter:nth-child(odd){border-right:1px solid rgba(0,0,0,.14)}
 .counter:last-child{border-right:0}
 .counter strong{font-size:48px}
 .cards{grid-template-columns:repeat(3,1fr)}
 .card{min-height:300px;padding:38px}
 .timeline-item{grid-template-columns:42px 1fr;gap:28px;padding-bottom:45px}
 .timeline-dot{margin-left:14px}
 .projects{grid-template-columns:1.3fr .7fr;gap:18px}
 .project{min-height:420px}.project.small{min-height:201px}.project-stack{gap:18px}
 .cta{padding:55px;display:flex;align-items:center;justify-content:space-between}
 .footer-grid{grid-template-columns:2fr 1fr 1fr;gap:60px}
 .wa-pro{right:25px;bottom:25px;width:auto;height:auto;border-radius:40px;padding:10px 17px 10px 11px;display:flex;gap:10px;font-size:12px}
 .wa-pro>span:not(.wa-icon){display:block}.wa-pro small{display:block;font-weight:500;opacity:.85}
 .form{padding:38px}
}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.reveal,.timeline-item{transition:none}.parallax{background-attachment:scroll}
}
