@font-face {font-family: 'Fraunces'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/fraunces-latin-ext-0.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'Fraunces'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/fraunces-latin-1.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'Fraunces'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/fraunces-latin-ext-0.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'Fraunces'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/fraunces-latin-1.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'Fraunces'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/fraunces-latin-ext-0.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'Fraunces'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/fraunces-latin-1.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/ibm-plex-mono-latin-ext-2.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/ibm-plex-mono-latin-3.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/ibm-plex-mono-latin-ext-4.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/ibm-plex-mono-latin-5.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url(/fonts/ibm-plex-sans-latin-ext-6.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url(/fonts/ibm-plex-sans-latin-7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url(/fonts/ibm-plex-sans-latin-ext-6.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url(/fonts/ibm-plex-sans-latin-7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url(/fonts/ibm-plex-sans-latin-ext-6.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url(/fonts/ibm-plex-sans-latin-7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face {font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url(/fonts/ibm-plex-sans-latin-ext-6.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face {font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 700; font-stretch: 100%; font-display: swap; src: url(/fonts/ibm-plex-sans-latin-7.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

  :root{color-scheme:light;}
  [hidden]:not([hidden=until-found i]){display:none!important;}
  :root{
    --paper:#F3F6F5; --paper-alt:#E7EEEC; --paper-raised:#FFFFFF;
    --ink:#22323A; --ink-soft:#596D75; --ink-faint:#5D6C6F;
    --navy-950:#0B2E36; --navy-900:#123C46; --navy-800:#163F49; --navy-700:#1F4C57;
    --blue-500:#1F4C57; --blue-100:#E7EEEC;
    --gold-500:#B8863A; --gold-600:#866429; --gold-100:#E9D2A0;
    --line:#D7DFDD; --line-soft:#E7ECEA;
    --success:#2F6F4E; --success-bg:#E3F0E9; --error:#B3413A; --error-bg:#FBEAE7;
    --shadow:rgba(11,46,54,.10); --shadow-lg:rgba(11,46,54,.16);
    --whatsapp:#25D366; --whatsapp-dark:#128C4A;
    --radius-s:6px; --radius-m:10px; --radius-l:16px;
    --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-6:48px; --sp-8:64px;
    --container:1180px;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --paper:#0A1F24; --paper-alt:#0D262C; --paper-raised:#0F2B31;
      --ink:#E7EFED; --ink-soft:#9FB6B1; --ink-faint:#7E9AA0;
      --navy-950:#0B2E36; --navy-900:#123C46; --navy-800:#163F49; --navy-700:#1F4C57;
      --blue-500:#6FA3AE; --blue-100:#123239;
      --gold-500:#D3A968; --gold-600:#E7C489; --gold-100:#2A2114;
      --line:#25464D; --line-soft:#1D3A40;
      --success:#4FA57C; --success-bg:#12291F; --error:#D97B63; --error-bg:#2E1811;
      --shadow:rgba(0,0,0,.35); --shadow-lg:rgba(0,0,0,.5);
    }
  }
  :root[data-theme="dark"]{
    --paper:#0A1F24; --paper-alt:#0D262C; --paper-raised:#0F2B31;
    --ink:#E7EFED; --ink-soft:#9FB6B1; --ink-faint:#7E9AA0;
    --navy-950:#0B2E36; --navy-900:#123C46; --navy-800:#163F49; --navy-700:#1F4C57;
    --blue-500:#6FA3AE; --blue-100:#123239;
    --gold-500:#D3A968; --gold-600:#E7C489; --gold-100:#2A2114;
    --line:#25464D; --line-soft:#1D3A40;
    --success:#4FA57C; --success-bg:#12291F; --error:#D97B63; --error-bg:#2E1811;
    --shadow:rgba(0,0,0,.35); --shadow-lg:rgba(0,0,0,.5);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.001ms !important; transition-duration:.001ms !important;} }
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font-family:'IBM Plex Sans', system-ui, -apple-system, Segoe UI, sans-serif;
    font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:'Fraunces', Georgia, serif; margin:0; text-wrap:balance; color:var(--navy-950); font-weight:600;}
  :root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3, :root[data-theme="dark"] h4{color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) h1, :root:not([data-theme="light"]) h2, :root:not([data-theme="light"]) h3, :root:not([data-theme="light"]) h4{color:var(--ink);} }
  p{margin:0;}
  a{color:inherit;}
  img,svg{max-width:100%;display:block;}
  button{font-family:inherit;}
  .mono{font-family:'IBM Plex Mono', ui-monospace, monospace; font-variant-numeric:tabular-nums;}
  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:12.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--gold-600); font-weight:600;}
  .container{max-width:var(--container); margin:0 auto; padding:0 var(--sp-3);}
  @media (max-width:640px){ .container{padding:0 var(--sp-2);} }

  /* Skip link */
  .skip-link{position:absolute; left:-999px; top:0; background:var(--navy-950); color:#fff; padding:12px 18px; z-index:999; border-radius:0 0 8px 0;}
  .skip-link:focus{left:0;}

  /* Focus visibility */
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible{
    outline:3px solid var(--blue-500); outline-offset:2px; border-radius:4px;
  }

  /* ===== Header ===== */
  header.site{
    position:sticky; top:0; z-index:60; background:color-mix(in srgb, var(--paper) 92%, transparent);
    backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
  }
  .topbar{display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); height:76px;}
  .brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
  .brand-mark{width:38px; height:38px; flex:none; color:var(--navy-950);}
  :root[data-theme="dark"] .brand-mark{color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .brand-mark{color:var(--ink);} }
  .brand-word{line-height:1.15;}
  .brand-word b{display:block; font-family:'Fraunces'; font-weight:600; font-size:20px; color:var(--navy-950);}
  .ledger-rule{display:flex; flex-direction:column; gap:3px; margin:var(--sp-3) 0; max-width:220px;}
  .ledger-rule span{display:block; height:1px; background:var(--line);}
  .ledger-rule span:last-child{height:2px; background:var(--gold-500); opacity:1;}
  .dark-section .ledger-rule span{background:rgba(255,255,255,.25);}
  .dark-section .ledger-rule span:last-child{background:var(--gold-500);}
  :root[data-theme="dark"] .brand-word b{color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .brand-word b{color:var(--ink);} }
  .brand-word small{display:block; font-family:'IBM Plex Mono'; font-size:10.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-faint);}
  nav.primary{display:flex; align-items:center; gap:var(--sp-4);}
  nav.primary ul{list-style:none; display:flex; gap:var(--sp-3); margin:0; padding:0;}
  nav.primary a{text-decoration:none; font-weight:600; font-size:14.5px; color:var(--ink-soft); padding:8px 2px; border-bottom:2px solid transparent;}
  nav.primary a:hover{color:var(--navy-950);}
  :root[data-theme="dark"] nav.primary a:hover{color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) nav.primary a:hover{color:var(--ink);} }
  nav.primary a[aria-current="page"]{color:var(--navy-950); border-bottom-color:var(--gold-500);}
  :root[data-theme="dark"] nav.primary a[aria-current="page"]{color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) nav.primary a[aria-current="page"]{color:var(--ink);} }
  .header-actions{display:flex; align-items:center; gap:var(--sp-3);}
  .tel-link{display:flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; text-decoration:none; white-space:nowrap;}
  .tel-link svg{width:17px;height:17px;flex:none;}
  .hamburger{display:none; background:none; border:1px solid var(--line); border-radius:10px; width:44px; height:44px; align-items:center; justify-content:center; cursor:pointer;}
  .hamburger svg{width:20px;height:20px;}
  .mobile-panel{display:none; position:fixed; inset:77px 0 0 0; overscroll-behavior:contain; background:var(--paper); z-index:55; padding:var(--sp-4) var(--sp-3); overflow:auto;}
  .mobile-panel.open{display:block;}
  .mobile-panel ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px;}
  .mobile-panel a{display:block; padding:16px 4px; text-decoration:none; font-family:'Fraunces'; font-weight:600; font-size:19px; color:var(--navy-950); border-bottom:1px solid var(--line);}
  :root[data-theme="dark"] .mobile-panel a{color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .mobile-panel a{color:var(--ink);} }
  .mobile-contact{display:flex; gap:12px; margin-top:var(--sp-3);}

  @media (max-width:980px){
    nav.primary ul{display:none;}
    .tel-link span{display:none;}
    .tel-link{width:44px; height:44px; justify-content:center; border:1px solid var(--line); border-radius:10px;}
    .hamburger{display:flex;}
    .header-actions{gap:10px;}
  }
  @media (min-width:981px){ .mobile-panel{display:none !important;} }

  /* ===== Buttons ===== */
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:700; font-size:15px; padding:14px 24px; border-radius:6px; border:2px solid transparent; cursor:pointer; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; line-height:1.1;}
  .btn svg{width:17px;height:17px;flex:none;}
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:#BA893F; color:var(--navy-950);}
  .btn-primary:hover{background:#C99B55; box-shadow:0 8px 20px var(--shadow-lg);}
  .btn-outline{background:transparent; border-color:var(--navy-800); color:var(--navy-950);}
  :root[data-theme="dark"] .btn-outline{border-color:var(--line); color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .btn-outline{border-color:var(--line); color:var(--ink);} }
  .btn-outline:hover{background:var(--paper-alt);}
  .btn-ghost{background:transparent; color:var(--navy-800); padding:10px 6px; border-radius:6px;}
  :root[data-theme="dark"] .btn-ghost{color:var(--blue-500);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .btn-ghost{color:var(--blue-500);} }
  .btn-ghost:hover{text-decoration:underline;}
  .btn-whats{background:var(--whatsapp); color:#fff;}
  .btn-whats:hover{background:var(--whatsapp-dark); box-shadow:0 8px 20px var(--shadow-lg);}
  .btn-block{width:100%;}
  .btn-lg{padding:17px 28px; font-size:16px;}

  /* ===== Sections / layout ===== */
  main{display:block;}
  [data-page]{display:none;}
  [data-page].active{display:block;}
  section{padding:var(--sp-8) 0;}
  section.tight{padding:var(--sp-6) 0;}
  .alt{background:var(--paper-alt);}
  .dark-section{background:var(--navy-950); color:#EAF0F4;}
  .dark-section h1,.dark-section h2,.dark-section h3{color:#fff;}
  .dark-section .ink-soft-on-dark{color:#B8C6D1;}
  .section-head{max-width:640px; margin:0 0 var(--sp-4);}
  .section-head h2{font-size:clamp(1.6rem,2.6vw,2.2rem); margin-top:8px;}
  .section-head p{color:var(--ink-soft); margin-top:12px; font-size:16.5px;}
  .breadcrumb{font-family:'IBM Plex Mono'; font-size:12.5px; color:var(--ink-faint); display:flex; gap:6px; align-items:center; margin-bottom:var(--sp-2);}
  .breadcrumb a{text-decoration:none; color:var(--ink-faint);}
  .breadcrumb a:hover{color:var(--blue-500);}

  /* reveal on scroll */
  .reveal{opacity:1; transform:none;}
  @media (prefers-reduced-motion: no-preference){
    .reveal{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease;}
    .reveal.in-view{opacity:1; transform:none;}
  }

  /* ===== Hero ===== */
  .hero{padding-top:var(--sp-8); padding-bottom:var(--sp-8);}
  .hero-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:var(--sp-6); align-items:center;}
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr; gap:var(--sp-4);} }
  .hero h1{font-size:clamp(2.1rem,4.4vw,3.15rem); line-height:1.08; letter-spacing:-.01em;}
  .hero .lede{font-size:19px; color:var(--ink-soft); margin-top:var(--sp-2); max-width:52ch;}
  .persona-row{display:flex; gap:14px; margin-top:var(--sp-4); flex-wrap:wrap;}
  .trust-line{display:flex; align-items:center; gap:10px; margin-top:var(--sp-4); font-size:13.5px; color:var(--ink-faint);}
  .trust-line svg{width:16px;height:16px; color:var(--gold-500); flex:none;}
  .page-hero{padding:var(--sp-6) 0 var(--sp-4);}
  .page-hero h1{font-size:clamp(1.9rem,3.6vw,2.7rem);}
  .page-hero .lede{font-size:18px; color:var(--ink-soft); margin-top:12px; max-width:60ch;}
  .cta-row{display:flex; gap:14px; margin-top:var(--sp-3); flex-wrap:wrap;}

  /* ===== Cards ===== */
  .grid-2{display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3);}
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-3);}
  .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-2);}
  @media (max-width:900px){ .grid-3{grid-template-columns:1fr 1fr;} .grid-4{grid-template-columns:1fr 1fr;} }
  @media (max-width:640px){ .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} }

  .card{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-m); padding:var(--sp-3); transition:box-shadow .2s ease, transform .2s ease;}
  .card.hoverable:hover{box-shadow:0 14px 30px var(--shadow); transform:translateY(-2px);}
  .card .icon-wrap{width:46px; height:46px; border-radius:12px; background:var(--blue-100); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
  .card .icon-wrap svg{width:23px;height:23px; color:var(--blue-500);}
  .card h3, .card h2{font-size:18px; margin-bottom:8px;}
  .price-card h2{font-size:1.17em;}
  .card p{color:var(--ink-soft); font-size:15px;}
  .card .link{display:inline-flex; align-items:center; gap:6px; margin-top:4px; padding:10px 0; min-height:44px; font-weight:700; font-size:14px; text-decoration:none; color:var(--navy-800);}
  :root[data-theme="dark"] .card .link{color:var(--blue-500);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .card .link{color:var(--blue-500);} }
  .card .link svg{width:14px;height:14px;}

  .pillar-card{background:var(--navy-950); color:#EAF0F4; border-radius:var(--radius-l); padding:var(--sp-4); position:relative; overflow:hidden;}
  .pillar-card h3{color:#fff; font-size:22px;}
  .pillar-card p{color:#B8C6D1;}
  .pillar-card ul{list-style:none; margin:var(--sp-2) 0 0; padding:0; display:flex; flex-direction:column; gap:9px;}
  .pillar-card li{display:flex; gap:10px; font-size:14.5px; color:#DCE6EC;}
  .pillar-card li svg{width:16px;height:16px; color:var(--gold-500); flex:none; margin-top:2px;}

  .badge-row{display:flex; flex-wrap:wrap; gap:12px;}
  .badge{display:flex; align-items:center; gap:10px; background:var(--paper-raised); border:1px solid var(--line); padding:12px 16px; border-radius:100px; font-size:13.5px; font-weight:600;}
  .badge svg{width:18px;height:18px; color:var(--gold-500); flex:none;}

  .quote-card{border:1px dashed var(--line); border-radius:var(--radius-m); padding:var(--sp-3); background:var(--paper-raised);}
  .quote-card .avatar{width:40px;height:40px; border-radius:50%; background:var(--paper-alt); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-family:'Fraunces'; font-weight:700; color:var(--ink-faint); font-size:13px;}
  .quote-card .stars{color:var(--gold-500); letter-spacing:2px; font-size:13px; margin-bottom:8px;}
  .quote-card blockquote{margin:10px 0 0; font-size:14.5px; color:var(--ink-faint); font-style:italic;}
  .quote-card footer{margin-top:12px; display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-faint);}
  .placeholder-tag{display:inline-block; margin-top:var(--sp-2); font-family:'IBM Plex Mono'; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); border:1px solid var(--line); border-radius:100px; padding:5px 10px;}

  .price-card{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-l); padding:var(--sp-4);}
  .price-card.featured{border-color:var(--gold-500); box-shadow:0 14px 34px var(--shadow);}
  .price-card .amount{font-family:'Fraunces'; font-weight:700; font-size:42px; color:var(--navy-950); margin:10px 0 2px;}
  :root[data-theme="dark"] .price-card .amount{color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .price-card .amount{color:var(--ink);} }
  .price-card .amount small{font-family:'IBM Plex Sans'; font-weight:500; font-size:14px; color:var(--ink-faint);}
  .price-card ul{list-style:none; margin:var(--sp-3) 0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .price-card li{display:flex; gap:10px; font-size:14.5px;}
  .price-card li svg{width:17px;height:17px; color:var(--success); flex:none; margin-top:2px;}

  .step{display:flex; gap:var(--sp-3); align-items:flex-start;}
  .step .num{font-family:'Fraunces'; font-weight:700; font-size:26px; color:var(--gold-600); flex:none; width:52px;}
  .step h3{font-size:17.5px; margin-bottom:6px;}
  .step p{color:var(--ink-soft); font-size:14.5px;}
  .steps-list{display:flex; flex-direction:column; gap:var(--sp-4);}

  /* FAQ accordion */
  .faq-group{display:flex; flex-direction:column; gap:10px;}
  .faq-item{border:1px solid var(--line); border-radius:var(--radius-m); background:var(--paper-raised); overflow:hidden;}
  .faq-q{width:100%; text-align:left; background:none; border:none; padding:18px 20px; display:flex; justify-content:space-between; align-items:center; gap:16px; cursor:pointer; font-weight:700; font-size:15.5px; color:var(--navy-950);}
  :root[data-theme="dark"] .faq-q{color:var(--ink);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .faq-q{color:var(--ink);} }
  .faq-q svg{width:18px;height:18px; flex:none; transition:transform .2s ease; color:var(--ink-faint);}
  .faq-item[data-open="true"] .faq-q svg{transform:rotate(180deg);}
  .faq-a{padding:0 20px; max-height:0; overflow:hidden; transition:max-height .25s ease, padding .25s ease;}
  .faq-item[data-open="true"] .faq-a{padding:0 20px 20px; max-height:400px;}
  .faq-a p{color:var(--ink-soft); font-size:14.5px;}
  .faq-tabs{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:var(--sp-3);}
  .faq-tab{padding:10px 18px; border-radius:100px; border:1px solid var(--line); background:var(--paper-raised); font-weight:700; font-size:14px; cursor:pointer;}
  .faq-tab[aria-selected="true"]{background:var(--navy-950); color:#fff; border-color:var(--navy-950);}

  /* Forms */
  .form-card{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius-l); padding:var(--sp-4);}
  .field{margin-bottom:var(--sp-2);}
  .field label{display:block; font-weight:700; font-size:13.5px; margin-bottom:7px;}
  .field input[type="text"], .field input[type="tel"], .field input[type="email"], .field textarea{
    width:100%; padding:13px 14px; border-radius:var(--radius-s); border:1.5px solid var(--line); background:var(--paper); color:var(--ink); font-size:16px; font-family:inherit;
  }
  .field textarea{resize:vertical; min-height:90px;}
  .field input:focus, .field textarea:focus{border-color:var(--blue-500);}
  .field.invalid input, .field.invalid textarea{border-color:var(--error);}
  .field .err{display:none; color:var(--error); font-size:12.5px; margin-top:6px; font-weight:600;}
  .field.invalid .err{display:block;}
  .persona-toggle{display:flex; gap:10px; flex-wrap:wrap;}
  .persona-opt{flex:1; min-width:180px; border:1.5px solid var(--line); border-radius:var(--radius-s); padding:14px; cursor:pointer; display:flex; gap:10px; align-items:flex-start;}
  .persona-opt input{margin-top:3px;}
  .persona-opt span{font-size:14px; font-weight:600;}
  .persona-opt:has(input:checked){border-color:var(--gold-500); background:var(--gold-100);}
  .consent{display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--ink-soft); margin:var(--sp-2) 0;}
  .consent input{margin-top:3px;}
  .consent a{color:var(--blue-500); font-weight:600;}
  .form-success{display:none; text-align:center; padding:var(--sp-4) var(--sp-2);}
  .form-success.show{display:block;}
  .form-success .icon{width:56px;height:56px; border-radius:50%; background:var(--success-bg); color:var(--success); display:flex; align-items:center; justify-content:center; margin:0 auto 16px;}
  .form-success .icon svg{width:28px;height:28px;}
  .form-fields.hidden-after-success{display:none;}
  .form-error{display:none; background:var(--error-bg); color:var(--error); border-radius:var(--radius-s); padding:12px 14px; font-size:13.5px; font-weight:600; margin-top:14px;}
  .form-error.show{display:block;}
  .hp-field{position:absolute; left:-9999px; width:1px; height:1px; opacity:0; overflow:hidden;}


  /* Floating WhatsApp */
  .whatsapp-float{position:fixed; right:20px; bottom:20px; z-index:70; width:60px; height:60px; border-radius:50%; background:var(--whatsapp); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(0,0,0,.28); text-decoration:none;}
  .whatsapp-float svg{width:30px;height:30px; color:#fff;}
  .whatsapp-float:hover{background:var(--whatsapp-dark);}
  @media (max-width:640px){ .whatsapp-float{width:54px;height:54px; right:14px; bottom:14px;} }

  /* Footer */
  footer.site{background:var(--navy-950); color:#C8D4DC; padding:var(--sp-6) 0 var(--sp-3);}
  .footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:var(--sp-4);}
  @media (max-width:860px){ .footer-grid{grid-template-columns:1fr 1fr; row-gap:var(--sp-4);} }
  @media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }
  footer.site .footer-title{color:#fff; font-size:13px; font-weight:600; line-height:1.3; letter-spacing:.08em; text-transform:uppercase; font-family:'IBM Plex Mono'; margin-bottom:16px;}
  footer.site ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  footer.site a{color:#C8D4DC; text-decoration:none; font-size:14.5px;}
  footer.site a:hover{color:#fff; text-decoration:underline;}
  .footer-brand p{color:#9FB0BB; font-size:14px; margin-top:12px; max-width:34ch;}
  .footer-social{display:flex; gap:10px; margin-top:16px;}
  .footer-social a{width:38px;height:38px; border-radius:50%; border:1px solid #2C4258; display:flex; align-items:center; justify-content:center;}
  .footer-social svg{width:18px;height:18px;}
  .footer-bottom{border-top:1px solid #1E3247; margin-top:var(--sp-4); padding-top:var(--sp-3); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:#9DB0BC;}
  .footer-bottom a{color:#9DB0BC; text-decoration:underline;}

  /* legal page */
  .legal h2{font-size:19px; margin:var(--sp-4) 0 10px;}
  .legal p, .legal li{color:var(--ink-soft); font-size:15px;}
  .legal ul{padding-left:20px;}
  .legal-nav{position:sticky; top:96px;}
  .legal-nav a{display:block; padding:8px 0; font-size:13.5px; color:var(--ink-soft); text-decoration:none; border-left:2px solid var(--line); padding-left:12px;}
  .legal-nav a:hover{color:var(--blue-500); border-color:var(--blue-500);}
  .legal-grid{display:grid; grid-template-columns:220px 1fr; gap:var(--sp-6);}
  @media (max-width:800px){ .legal-grid{grid-template-columns:1fr;} .legal-nav{position:static; display:flex; flex-wrap:wrap; gap:4px 16px;} .legal-nav a{border-left:none; border-bottom:2px solid transparent; padding-left:0;} }

  .photo-slot{border:1.5px dashed var(--line); border-radius:var(--radius-m); background:var(--paper-alt); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:var(--sp-4); text-align:center; min-height:220px;}
  .photo-slot svg{width:34px;height:34px; color:var(--ink-faint);}
  .photo-slot span{font-family:'IBM Plex Mono'; font-size:12px; color:var(--ink-faint); max-width:26ch;}
  .photo-real{border-radius:var(--radius-l); overflow:hidden; box-shadow:0 14px 34px var(--shadow); min-height:220px;}
  .photo-real img{width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:3/4;}

  .divider-skyline{height:64px; overflow:hidden; opacity:.5;}
  .divider-skyline svg{width:100%; height:100%; display:block;}

  .not-found{min-height:60vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:var(--sp-8) 0;}

  /* News */
  .news-feature{display:grid; grid-template-columns:auto 1fr auto; gap:var(--sp-3); align-items:center; background:var(--paper-raised); border:1px solid var(--line); border-left:4px solid var(--gold-500); border-radius:var(--radius-m); padding:var(--sp-3); margin-bottom:var(--sp-3); text-decoration:none; color:inherit; transition:box-shadow .2s ease, transform .2s ease;}
  .news-feature:hover{box-shadow:0 14px 30px var(--shadow); transform:translateY(-2px);}
  .news-feature .icon-wrap{width:46px; height:46px; border-radius:12px; background:var(--blue-100); display:flex; align-items:center; justify-content:center;}
  .news-feature .icon-wrap svg{width:23px; height:23px; color:var(--blue-500);}
  .news-feature h3{font-size:19px; margin:4px 0 6px;}
  .news-feature p{color:var(--ink-soft); font-size:15px;}
  .news-feature .link{font-weight:700; font-size:14px; white-space:nowrap; color:var(--navy-800);}
  :root[data-theme="dark"] .news-feature .link{color:var(--blue-500);}
  @media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .news-feature .link{color:var(--blue-500);} }
  @media (max-width:640px){ .news-feature{grid-template-columns:1fr; gap:var(--sp-2);} }
  .article{max-width:72ch;}
  .article h2{font-size:clamp(1.3rem,2vw,1.6rem); margin:var(--sp-4) 0 10px;}
  .article p, .article li{color:var(--ink-soft); font-size:16.5px;}
  .article p + p{margin-top:12px;}
  .article ul{padding-left:20px; display:flex; flex-direction:column; gap:8px; margin:12px 0 0;}
  .article strong{color:var(--ink);}
  .article a:not(.btn){color:var(--blue-500); font-weight:600;}
  .article .grid-2{margin-top:var(--sp-2);}
  .article .card p, .article .card li{font-size:15px;}
  .article-meta{font-family:'IBM Plex Mono'; font-size:12.5px; color:var(--ink-faint); margin-top:12px;}
  .callout{border:1px solid var(--gold-500); border-radius:var(--radius-m); padding:var(--sp-3); background:var(--gold-100); color:var(--ink); margin:var(--sp-3) 0;}
  .callout p{color:var(--ink);}
  .callout .big{font-family:'Fraunces'; font-weight:700; font-size:22px; color:var(--ink); margin-bottom:4px;}
  .sources{border-top:1px solid var(--line); margin-top:var(--sp-4); padding-top:var(--sp-3);}
  .sources p, .sources li{font-size:14px;}

  /* Mobile fixes */
  .hero-grid > *, .grid-2 > *, .grid-3 > *, .footer-grid > *{min-width:0;}
  a[href^="mailto:"]{overflow-wrap:anywhere;}
  main, .legal h2{scroll-margin-top:96px;}
  body.menu-open{overflow:hidden;}
  body.menu-open .whatsapp-float{display:none !important;}
  @media (max-height:700px){
    .mobile-panel{padding-top:var(--sp-2); padding-bottom:var(--sp-2);}
    .mobile-panel a{padding:12px 4px; font-size:17px;}
    .mobile-contact{margin-top:var(--sp-2);}
  }
  @media (max-width:640px){
  }
  .hamburger .icon-close{display:none;}
  .hamburger[aria-expanded="true"] .icon-open{display:none;}
  .hamburger[aria-expanded="true"] .icon-close{display:block;}
  .eyebrow.on-dark{color:#D1A866;}

/* estilos que estavam em style="" */
.s-8d8429.s-8d8429.s-8d8429{margin-top:14px;}
.s-910f53.s-910f53.s-910f53{margin-top:20px;}
.s-bdf7dc.s-bdf7dc.s-bdf7dc{background:var(--navy-800);}
.s-51f536.s-51f536.s-51f536{display:flex; align-items:baseline; gap:16px; margin-bottom:var(--sp-3); flex-wrap:wrap;}
.s-f76d47.s-f76d47.s-f76d47{font-family:'Fraunces'; font-weight:700; font-size:clamp(2.6rem,5vw,3.6rem); color:var(--navy-950); line-height:1;}
.s-bffa3f.s-bffa3f.s-bffa3f{font-weight:600; color:var(--ink-soft); font-size:17px; max-width:32ch;}
.s-f5ee69.s-f5ee69.s-f5ee69{border-style:solid;}
.s-8629cb.s-8629cb.s-8629cb{border-color:var(--success); color:var(--success);}
.s-bb984d.s-bb984d.s-bb984d{margin-top:12px; font-size:16.5px;}
.s-00e8a6.s-00e8a6.s-00e8a6{color:var(--ink-faint); font-size:13.5px;}
.s-7b2069.s-7b2069.s-7b2069{margin-top:var(--sp-3);}
.s-2c4bd0.s-2c4bd0.s-2c4bd0{color:var(--ink-soft); margin-top:8px;}
.s-9c3785.s-9c3785.s-9c3785{font-weight:700;}
.s-f62bc9.s-f62bc9.s-f62bc9{justify-content:flex-start;}
.s-834689.s-834689.s-834689{max-width:640px; margin:0 auto;}
.s-d84d0e.s-d84d0e.s-d84d0e{font-size:22px; margin-bottom:6px;}
.s-47006f.s-47006f.s-47006f{color:var(--ink-soft); margin-bottom:var(--sp-3);}
.s-1d436e.s-1d436e.s-1d436e{margin-top:6px;}
.s-9ee31b.s-9ee31b.s-9ee31b{margin-top:12px; font-size:16.5px; max-width:70ch;}
.s-68d35a.s-68d35a.s-68d35a{margin-top:10px; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px;}
.s-1760c0.s-1760c0.s-1760c0{color:var(--ink-soft); font-size:14.5px;}
.s-07b105.s-07b105.s-07b105{margin-top:var(--sp-2); color:var(--ink-soft);}
.s-e97357.s-e97357.s-e97357{margin-top:10px; color:var(--ink-soft);}
.s-76977c.s-76977c.s-76977c{margin-top:16px;}
.s-a33b8f.s-a33b8f.s-a33b8f{margin-top:8px;}
.s-2bdf5a.s-2bdf5a.s-2bdf5a{text-decoration:none; font-weight:700;}
.s-d0466a.s-d0466a.s-d0466a{display:none;}
.s-141abd.s-141abd.s-141abd{display:flex; flex-direction:column; gap:16px;}
.s-afab25.s-afab25.s-afab25{text-decoration:none; font-weight:700; color:inherit;}
.s-89ac7b.s-89ac7b.s-89ac7b{padding-top:0;}
.s-b6d781.s-b6d781.s-b6d781{margin-top:12px;}
.s-bcd15d.s-bcd15d.s-bcd15d{margin:12px auto 0;}
.s-402c92.s-402c92.s-402c92{justify-content:center; margin-top:var(--sp-4);}
.s-a85c61.s-a85c61.s-a85c61{text-decoration:none;}
.s-ef8357.s-ef8357.s-ef8357{color:#fff;}
.s-1b2a09.s-1b2a09.s-1b2a09{color:#8AA0AF;}
