:root{
  --bg:#0B1626;
  --bg2:#091221;
  --text:#EAF0F7;
  --muted:#B9C3CF;
  --light:#F6F6F7;
  --card:#0E1B2E;
  --accent:#1F6FEB; /* azul */
  --accent2:#E53935; /* vermelho */
  --shadow:0 18px 50px rgba(0,0,0,.25);
  --radius:22px;
  --radius2:28px;
  --max:1120px;
  --serif:"Playfair Display", serif;
  --sans:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--sans);color:#0F172A;background:var(--light);}
img{max-width:100%;display:block;}
.container{width:min(var(--max), calc(100% - 40px));margin:0 auto;}

/* Header */
.header{position:sticky;top:0;z-index:50;background:linear-gradient(180deg, rgba(11,22,38,.98), rgba(11,22,38,.94));backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);min-width:200px;}
.brand__logo{width:44px;height:44px;object-fit:contain;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);}
.brand__name{font-family:var(--serif);letter-spacing:.5px;font-size:18px;color:#fff;}
.brand__tag{font-size:12px;letter-spacing:2px;color:rgba(234,240,247,.85);}

.nav{display:flex;gap:26px;align-items:center;}
.nav a{color:rgba(234,240,247,.9);text-decoration:none;font-weight:600;}
.nav a:hover{color:#fff;}

.header__cta{display:flex;align-items:center;gap:10px;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer;user-select:none;}
.btn--primary{background:linear-gradient(135deg, var(--accent), #2B8BFF);color:#061021;box-shadow:0 10px 25px rgba(31,111,235,.22);}
.btn--primary:hover{filter:brightness(1.03);}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.25);color:#fff;}
.btn--ghost:hover{border-color:rgba(255,255,255,.45);}
.btn--wa{background:#25D366;color:#062012;}
.btn--wide{width:100%;}

.burger{display:none;border:0;background:transparent;color:rgba(234,240,247,.95);font-size:22px;cursor:pointer;padding:10px;border-radius:12px;}
.burger:focus{outline:2px solid rgba(255,255,255,.25);outline-offset:2px;}

/* Mobile menu: hidden on desktop, toggled on mobile */
.mobile{display:none;}
.mobile.is-open{display:flex;flex-direction:column;gap:12px;padding:0 20px 18px;}
.mobile a{color:rgba(234,240,247,.92);text-decoration:none;font-weight:700;}

/* Hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;padding:42px 0 56px;background:var(--bg);color:var(--text);overflow:hidden;}
.hero__bg{position:absolute;inset:0;background-image:url("../img/hero.png");background-size:cover;background-position:center;transform:scale(1.02);filter:saturate(.95) contrast(.98);}
.hero__overlay{position:absolute;inset:0;background:radial-gradient(900px 520px at 18% 30%, rgba(31,111,235,.18), transparent 60%),linear-gradient(90deg, rgba(11,22,38,.92), rgba(11,22,38,.62) 55%, rgba(11,22,38,.18));}
.hero__content{position:relative;padding-top:14px;}
.pill{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(11,22,38,.35);color:rgba(234,240,247,.95);font-weight:700;margin-bottom:14px;}
.hero__title{font-family:var(--serif);font-size:clamp(38px, 4.2vw, 62px);line-height:1.02;margin:8px 0 14px;letter-spacing:.2px;}
.accent{color:#9EC5FF;}
.hero__subtitle{max-width:740px;color:rgba(234,240,247,.85);font-size:18px;line-height:1.6;margin:0 0 22px;}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;}

.badge{position:absolute;left:0;bottom:-36px;background:linear-gradient(135deg, rgba(229,57,53,.95), rgba(255,122,122,.92));color:#061021;border-radius:18px;padding:16px 18px;width:220px;box-shadow:var(--shadow);}
.badge__big{font-family:var(--serif);font-size:40px;line-height:1;}
.badge__small{font-weight:900;opacity:.92;}

/* Sections */
.section{padding:78px 0;}
.section--light{background:var(--light);}
.section--dark{background:linear-gradient(180deg, var(--bg), var(--bg2));color:var(--text);}

.section__head{text-align:center;margin-bottom:30px;}
.kicker{letter-spacing:3px;font-weight:800;font-size:12px;color:rgba(15,23,42,.55);}
.section--dark .kicker{color:rgba(158,197,255,.95);}
.section__title{font-family:var(--serif);font-size:clamp(30px, 3vw, 44px);margin:10px 0 8px;}
.section__desc{margin:0 auto;max-width:780px;color:rgba(15,23,42,.68);line-height:1.7;}
.section--dark .section__desc{color:rgba(234,240,247,.78);}

/* Cards */
.grid{display:grid;grid-template-columns:repeat(12, 1fr);gap:22px;margin-top:28px;}
.card{grid-column:span 6;border-radius:var(--radius2);overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.10);border:1px solid rgba(15,23,42,.06);}
.card__media img{width:100%;height:240px;object-fit:cover;}
.card__body{padding:20px 22px 22px;}
.card__icon{width:48px;height:48px;border-radius:16px;background:#0B1626;color:#9EC5FF;display:flex;align-items:center;justify-content:center;font-size:20px;margin-top:-44px;border:4px solid #fff;}
.card h3{font-family:var(--serif);margin:14px 0 8px;font-size:26px;}
.card p{margin:0 0 14px;color:rgba(15,23,42,.72);line-height:1.65;}
.card__link{color:#0B1626;font-weight:900;text-decoration:none;}
.card__link:hover{text-decoration:underline;}

/* Projects */
.projects{display:grid;grid-template-columns:repeat(12, 1fr);gap:22px;margin-top:28px;}
.project{grid-column:span 6;border-radius:var(--radius2);overflow:hidden;background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 18px 45px rgba(15,23,42,.10);}
.project img{width:100%;height:280px;object-fit:cover;}
.project__body{padding:16px 18px 18px;}
.project__title{font-weight:900;margin:0 0 6px;}
.project__desc{margin:0;color:rgba(15,23,42,.68);line-height:1.6;}

/* About */
.about{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch;}
.divider{width:90px;height:3px;background:rgba(158,197,255,.95);border-radius:999px;margin:14px 0 18px;}
.section--dark p{color:rgba(234,240,247,.78);line-height:1.75;}
.features{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}
.feature{display:flex;gap:12px;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);}
.feature__icon{width:42px;height:42px;border-radius:14px;background:rgba(31,111,235,.18);display:flex;align-items:center;justify-content:center;}
.feature__title{font-weight:900;color:#fff;}
.feature__desc{color:rgba(234,240,247,.72);font-size:14px;margin-top:2px;}
.about__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.about__media{border-radius:var(--radius2);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08);}
.about__image{height:100%;min-height:380px;background-image:url("../img/about.png");background-size:cover;background-position:center;}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;}
.contact__card{background:linear-gradient(180deg, var(--bg), var(--bg2));border-radius:var(--radius2);padding:22px;color:var(--text);box-shadow:var(--shadow);}
.contact__card h3{font-family:var(--serif);margin:0 0 14px;font-size:26px;}
.contact__item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);}
.contact__item:last-of-type{border-bottom:0;}
.contact__icon{width:46px;height:46px;border-radius:16px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#9EC5FF;}
.contact__label{color:rgba(234,240,247,.70);font-size:13px;}
.contact__value{color:#fff;font-weight:900;text-decoration:none;}
.contact__actions{margin-top:14px;}
.small-note{color:rgba(234,240,247,.75);margin-bottom:10px;}
.contact__buttons{display:flex;gap:12px;}

.contact__form{background:#fff;border-radius:var(--radius2);padding:22px;box-shadow:0 18px 45px rgba(15,23,42,.10);border:1px solid rgba(15,23,42,.06);}
.contact__form h3{font-family:var(--serif);margin:0 0 14px;font-size:26px;}
label{display:block;font-weight:800;margin:12px 0 6px;}
input, select, textarea{width:100%;padding:12px 12px;border-radius:14px;border:1px solid rgba(15,23,42,.14);outline:none;font-family:var(--sans);font-size:15px;}
input:focus, select:focus, textarea:focus{border-color:rgba(31,111,235,.9);box-shadow:0 0 0 4px rgba(31,111,235,.14);}
.form-note{color:rgba(15,23,42,.65);font-size:13px;margin:10px 0 0;}

/* Footer */
.footer{background:linear-gradient(180deg, var(--bg), var(--bg2));color:rgba(234,240,247,.85);padding:56px 0 24px;}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:22px;}
.footer__name{font-family:var(--serif);color:#fff;font-size:22px;}
.footer__tag{letter-spacing:2px;font-size:12px;margin-bottom:12px;color:rgba(234,240,247,.8);}
.footer__title{font-weight:900;color:#fff;margin-bottom:10px;}
.footer a{display:block;color:rgba(234,240,247,.85);text-decoration:none;margin:8px 0;}
.footer a:hover{color:#fff;}
.muted{display:block;margin-top:10px;color:rgba(234,240,247,.70);}
.footer__bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:20px;padding-top:16px;color:rgba(234,240,247,.70);font-size:13px;}

/* Floating WhatsApp */
.wa-float{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:999px;background:#25D366;color:#062012;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:24px;box-shadow:0 16px 40px rgba(0,0,0,.25);z-index:60;}

/* Responsive */
@media (max-width: 980px){
  .nav{display:none;}
  .burger{display:inline-flex;}
}

@media (max-width: 920px){
  .badge{position:relative;left:auto;bottom:auto;margin-top:18px;}
  .grid .card{grid-column:span 12;}
  .projects .project{grid-column:span 12;}
  .about{grid-template-columns:1fr;}
  .about__image{min-height:260px;}
  .contact{grid-template-columns:1fr;}
  .footer__grid{grid-template-columns:1fr;}
}

@media (max-width: 560px){
  .container{width:min(var(--max), calc(100% - 28px));}
  .brand__text{display:none;}
  .header__cta .btn{padding:10px 12px;}
  .header__cta .btn span.txt{display:none;}
  .hero{min-height:72vh;}
  .hero__actions{flex-direction:column;align-items:stretch;}
  .hero__actions .btn{width:100%;}
  .card__media img{height:190px;}
  .project img{height:220px;}
  .features{grid-template-columns:1fr;}
  .contact__buttons{flex-direction:column;}
}
