  :root{
    --paper:#F4F7FB; --paper-2:#E4ECF6; --ink:#14224A; --ink-soft:#3E4A66;
    --navy:#203D7F; --blue:#1473B7; --blue-dark:#0F5C95; --sky:#1F9BD7; --night:#101C40;
    --stone:#66738F; --line:#D3DCEA; --white:#FFFFFF; --on-dark:#7CC4EA;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--paper); color:var(--ink); font-family:'IBM Plex Sans',sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;}
  .serif{font-family:'Fraunces',serif;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  ::selection{background:var(--blue); color:var(--white);}
  :focus-visible{outline:2px solid var(--blue); outline-offset:3px;}

  header{position:sticky; top:0; z-index:50; background:rgba(244,247,251,.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
  nav{display:flex; align-items:center; justify-content:space-between; padding:20px 32px; max-width:1180px; margin:0 auto;}
  .logo{display:inline-flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-weight:600; font-size:21px; letter-spacing:-.01em; color:var(--navy);}
  .logo img{height:36px; width:auto;}
  .logo small{font-family:'IBM Plex Sans',sans-serif; font-weight:500; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-left:2px;}
  .logo.light{color:#fff;} .logo.light img{filter:brightness(0) invert(1);} .logo.light small{color:var(--on-dark);}
  .nav-links{display:flex; gap:36px; align-items:center;}
  .nav-links a:not(.btn){font-size:14px; color:var(--ink-soft); font-weight:500; position:relative; padding-bottom:4px;}
  .nav-links a:not(.btn)::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--blue); transition:width .25s ease;}
  .nav-links a:not(.btn):hover::after{width:100%;}
  .btn{display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:2px; font-size:14px; font-weight:600; border:1px solid var(--ink); cursor:pointer; transition:all .25s ease; font-family:inherit;}
  .btn-primary{background:var(--navy); border-color:var(--navy); color:#fff;}
  .btn-primary:hover{background:var(--blue); border-color:var(--blue);}
  .btn-ghost{border-color:var(--line); color:var(--ink);}
  .btn-ghost:hover{border-color:var(--ink);}
  .menu-toggle{display:none; background:none; border:none; font-size:24px; cursor:pointer; color:var(--ink);}

  .hero{padding-block:110px 90px; display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center;}
  .eyebrow{display:inline-block; font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-dark); margin-bottom:22px; border-bottom:1px solid var(--blue); padding-bottom:6px;}
  h1{font-family:'Fraunces',serif; font-weight:500; font-size:52px; line-height:1.08; letter-spacing:-.015em;}
  h1 em{font-style:italic; color:var(--blue);}
  .lead{margin-top:24px; font-size:17px; color:var(--ink-soft); max-width:470px;}
  .hero-ctas{display:flex; gap:14px; margin-top:36px; flex-wrap:wrap;}

  .ledger{background:var(--white); border:1px solid var(--line); padding:28px 26px 22px; position:relative;}
  .ledger::before{content:''; position:absolute; top:10px; left:10px; right:-10px; bottom:-10px; border:1px solid var(--line); z-index:-1;}
  .ledger-head{display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid var(--ink); padding-bottom:12px; margin-bottom:6px;}
  .ledger-head span:first-child{font-family:'Fraunces',serif; font-style:italic; font-size:15px;}
  .ledger-head span:last-child{font-size:11px; color:var(--stone); letter-spacing:.05em;}
  .ledger-cols,.ledger-row{display:grid; grid-template-columns:1.6fr .7fr .5fr; gap:8px;}
  .ledger-cols{font-size:11px; color:var(--stone); letter-spacing:.06em; text-transform:uppercase; padding:10px 0 8px; border-bottom:1px solid var(--line);}
  .ledger-cols span:nth-child(n+2),.ledger-row span:nth-child(n+2){text-align:right;}
  .ledger-row{font-size:13.5px; padding:11px 0; border-bottom:1px solid var(--line);}
  .ledger-row .ok{color:var(--navy); font-weight:600;}
  .ledger-total{display:flex; justify-content:space-between; margin-top:14px; padding-top:14px; border-top:1px solid var(--ink); font-weight:600;}
  .ledger-total span:last-child{color:var(--blue-dark);}

  .strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:34px 0; background:var(--paper-2);}
  .strip .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px;}
  .strip-item{flex:1; min-width:170px;}
  .strip-item .n{font-family:'Fraunces',serif; font-size:30px; color:var(--blue-dark);}
  .strip-item .l{font-size:13px; color:var(--stone); margin-top:4px;}

  section{padding:100px 0;}
  section.wrap{padding-top:70px; padding-bottom:70px;}
  section.wrap.hero{padding-top:110px; padding-bottom:90px;}
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head .eyebrow{margin-bottom:16px;}
  h2{font-family:'Fraunces',serif; font-weight:500; font-size:34px; letter-spacing:-.01em;}
  .section-head p{margin-top:16px; color:var(--ink-soft); font-size:16px;}

  .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .service{background:var(--paper); padding:34px 30px; min-height:210px; display:flex; flex-direction:column; gap:14px;}
  .service .idx{font-family:'Fraunces',serif; font-style:italic; color:var(--blue); font-size:14px;}
  .service h3{font-family:'Fraunces',serif; font-weight:500; font-size:19px;}
  .service p{font-size:14px; color:var(--ink-soft);}

  .callout{background:var(--navy); color:var(--white); padding:64px 56px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
  .callout .eyebrow{color:var(--on-dark); border-color:var(--on-dark);}
  .callout h2{color:var(--white); font-size:30px;}
  .callout p{color:#D5DEF1; margin-top:16px; font-size:15.5px;}
  .callout ul{list-style:none; display:flex; flex-direction:column; gap:10px;}
  .callout li{font-size:14.5px; padding-left:20px; position:relative; color:#EAF0FB;}
  .callout li::before{content:'—'; position:absolute; left:0; color:var(--on-dark);}

  /* PLATAFORMA */
  .platform-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
  .tool{background:var(--white); border:1px solid var(--line); padding:34px 32px; display:flex; flex-direction:column; gap:14px; position:relative;}
  .tool .tag{align-self:flex-start; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:4px 10px; border:1px solid var(--blue); color:var(--blue-dark);}
  .tool .tag.soon{border-color:var(--stone); color:var(--stone);}
  .tool h3{font-family:'Fraunces',serif; font-weight:500; font-size:22px;}
  .tool p{font-size:14.5px; color:var(--ink-soft);}
  .tool .addr{font-size:13px; color:var(--stone); font-variant-numeric:tabular-nums;}
  .tool .btn{align-self:flex-start; margin-top:6px;}
  .tool .btn[aria-disabled="true"]{opacity:.45; pointer-events:none;}

  .about{display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:start;}
  .avatar{width:100%; aspect-ratio:1; background:var(--white); display:flex; align-items:center; justify-content:center; border:1px solid var(--line);}
  .avatar img{width:62%; height:auto;}
  .cred{padding:16px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:16px;}
  .cred span:first-child{font-size:13px; color:var(--stone);}
  .cred span:last-child{font-size:14px; font-weight:500; text-align:right;}
  .about-credentials{margin-top:24px;}
  .about h2{margin-bottom:8px;}
  .about > div:last-child p{color:var(--ink-soft); font-size:16px; margin-bottom:18px;}

  .contact{background:var(--night); color:var(--paper);}
  .contact .eyebrow{color:var(--on-dark); border-color:var(--on-dark);}
  .contact h2{color:var(--paper);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
  .contact-info{display:flex; flex-direction:column; gap:22px;}
  .contact-info .item{border-top:1px solid #2A3868; padding-top:18px;}
  .contact-info .l{font-size:12px; color:#A3B1D1; text-transform:uppercase; letter-spacing:.08em;}
  .contact-info .v{font-size:16px; margin-top:6px; font-family:'Fraunces',serif;}
  form{display:flex; flex-direction:column; gap:16px;}
  form input,form textarea,form select{background:transparent; border:none; border-bottom:1px solid #3A4A7C; color:var(--paper); font-family:inherit; font-size:15px; padding:12px 2px; outline:none; transition:border-color .2s ease; border-radius:0;}
  form select option{color:#14224A;}
  form input::placeholder,form textarea::placeholder{color:#8E9CC0;}
  form input:focus,form textarea:focus,form select:focus{border-color:var(--on-dark);}
  form textarea{resize:vertical; min-height:90px;}
  form button{margin-top:8px; align-self:flex-start; background:var(--blue); border-color:var(--blue); color:var(--white);}
  form button:hover{background:var(--blue-dark); border-color:var(--blue-dark);}
  .hp{position:absolute; left:-9999px; height:0; overflow:hidden;}
  .consent{font-size:12.5px; color:#A3B1D1;}

  footer{padding:36px 0; border-top:1px solid #2A3868; background:var(--night); color:#A3B1D1;}
  footer .wrap{display:flex; justify-content:space-between; align-items:center; font-size:13px; flex-wrap:wrap; gap:12px;}

  .kicker{font-size:15px; font-weight:500; color:var(--blue-dark); margin-bottom:18px;}
  .steps{list-style:none; counter-reset:paso; display:grid; grid-template-columns:repeat(4,1fr); gap:32px; border-top:2px solid var(--navy);}
  .steps li{counter-increment:paso; padding-top:22px;}
  .steps li::before{content:counter(paso); display:block; font-family:'Fraunces',serif; font-size:36px; line-height:1; color:var(--blue); margin-bottom:14px;}
  .steps h3{font-family:'Fraunces',serif; font-weight:500; font-size:20px; margin-bottom:8px;}
  .steps p{font-size:14.5px; color:var(--ink-soft);}
  .faq{max-width:780px; border-top:1px solid var(--line);}
  .faq details{border-bottom:1px solid var(--line);}
  .faq summary{cursor:pointer; list-style:none; padding:20px 40px 20px 0; font-family:'Fraunces',serif; font-size:19px; position:relative;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{content:'+'; position:absolute; right:6px; top:50%; transform:translateY(-50%); font-family:'IBM Plex Sans',sans-serif; font-size:24px; color:var(--blue); transition:transform .2s ease;}
  .faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
  .faq details p{padding:0 40px 22px 0; color:var(--ink-soft); font-size:15.5px;}
  .skip{position:absolute; left:-9999px; top:8px; background:var(--navy); color:#fff; padding:10px 16px; z-index:100;}
  .skip:focus{left:8px;}
  .sticky-cta{display:none;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;} .faq summary::after,.btn{transition:none;}}

  @media (max-width:860px){
    nav{padding:16px 20px;}
    .nav-links{position:fixed; top:64px; left:0; right:0; background:var(--paper); flex-direction:column; align-items:flex-start; padding:20px; border-bottom:1px solid var(--line); gap:18px; transform:translateY(-120%); transition:transform .3s ease; z-index:40;}
    .nav-links.open{transform:none;}
    .menu-toggle{display:block;}
    .wrap{padding:0 20px;}
    section.wrap{padding-top:48px; padding-bottom:48px;}
    section.wrap.hero{grid-template-columns:1fr; padding-top:56px; padding-bottom:56px; gap:40px;}
    h1{font-size:36px;}
    .services-grid,.platform-grid{grid-template-columns:1fr;}
    .callout{grid-template-columns:1fr; padding:40px 24px;}
    .about{grid-template-columns:1fr;}
    .avatar{max-width:180px;}
    .contact-grid{grid-template-columns:1fr; gap:36px;}
    section.contact{padding:64px 0;}
    .steps{grid-template-columns:1fr; gap:0;}
    .steps li{border-bottom:1px solid var(--line); padding:20px 0;}
    .faq summary{font-size:17px;}
    .sticky-cta{display:flex; position:fixed; left:0; right:0; bottom:0; padding:10px 16px; background:rgba(244,247,251,.96); border-top:1px solid var(--line); z-index:45; transition:transform .25s ease; transform:translateY(110%);}
    .sticky-cta.on{transform:none;}
    .sticky-cta .btn{flex:1; justify-content:center;}
    footer{padding-bottom:88px;}
  }
.band-emp{display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; border-top:2px solid var(--navy); padding-top:28px;}
.band-emp h2{font-size:26px; margin-bottom:6px;}
.band-emp p{color:var(--ink-soft); max-width:560px;}
.nav-links a[aria-current="page"]{color:var(--navy);}
