
    :root { --ink:#152b45; --navy:#112b52; --blue:#1b548b; --gold:#ffc950; --gold-light:#fff0c6; --cream:#fffdf9; --paper:#f5f7f8; --teal:#087f76; --teal-light:#e5f5f1; --purple:#7953a6; --line:#e3e9ee; --muted:#637489; --danger:#aa453c; --shadow:0 20px 55px rgba(21,43,69,.08); --radius:22px; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:94px; }
    body { margin:0; background:var(--cream); color:var(--ink); font-family:Inter,"Segoe UI",Arial,sans-serif; line-height:1.5; }
    button,input,select { font:inherit; }
    button { cursor:pointer; }
    a { color:inherit; text-decoration:none; }
    img { display:block; max-width:100%; }
    .container { width:min(1180px,calc(100% - 42px)); margin-inline:auto; }
    .topstrip { background:#0d2445; color:#f4f8fa; font-size:12px; letter-spacing:.05em; text-align:center; padding:8px 10px; }
    .topstrip span { color:var(--gold); }
    .site-header { position:sticky; top:0; z-index:30; background:rgba(255,253,249,.95); backdrop-filter:blur(18px); border-bottom:1px solid rgba(21,43,69,.08); }
    .nav-wrap { height:80px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
    .brand { display:flex; gap:11px; align-items:center; min-width:205px; }
    .mark { width:44px; height:44px; border-radius:13px; display:grid; place-items:center; color:var(--navy); background:var(--gold); transform:rotate(-6deg); font-size:25px; box-shadow:0 4px 0 #ebae35; }
    .brand strong { display:block; font-size:15px; letter-spacing:.045em; line-height:1.08; font-weight:900; }
    .brand small { display:block; color:var(--muted); margin-top:4px; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
    .nav { display:flex; gap:28px; align-items:center; font-size:13px; font-weight:800; }
    .nav a:not(.btn):hover { color:var(--teal); }
    .btn { display:inline-flex; gap:10px; align-items:center; justify-content:center; border:0; border-radius:13px; padding:14px 20px; color:var(--navy); background:var(--gold); font-weight:900; font-size:14px; transition:transform .15s,filter .15s,box-shadow .15s; text-align:center; }
    .btn:hover { transform:translateY(-2px); filter:saturate(1.07); box-shadow:0 7px 18px rgba(240,172,36,.18); }
    .btn:focus-visible,.qty-btn:focus-visible,input:focus-visible,.tab:focus-visible { outline:3px solid #52b4c7; outline-offset:2px; }
    .btn-outline { color:var(--navy); border:1px solid #cfdae3; background:white; }
    .btn-dark { background:var(--navy); color:white; }
    .btn-small { padding:12px 17px; }
    .mobile-menu { display:none; border:1px solid var(--line); border-radius:12px; background:white; padding:8px 11px; font-size:22px; }
    .hero { padding:58px 0 60px; background:linear-gradient(145deg,#fff8e8 0%,#fbfcf9 40%,#edf6f5 100%); border-bottom:1px solid #e5eeeb; overflow:hidden; }
    .hero-grid { display:grid; grid-template-columns:1.02fr .98fr; gap:48px; align-items:center; }
    .eyebrow { display:inline-flex; border-radius:999px; padding:9px 13px; gap:8px; align-items:center; background:#e5f6ee; color:#137658; font-size:12px; letter-spacing:.06em; text-transform:uppercase; font-weight:900; }
    h1,h2,h3,p { margin-top:0; }
    h1 { font-size:clamp(39px,4.9vw,68px); line-height:1.06; letter-spacing:-.053em; font-weight:900; margin:20px 0 20px; max-width:610px; }
    h1 em { font-style:normal; color:var(--teal); }
    .lead { font-size:18px; color:#586a7a; max-width:560px; margin-bottom:26px; }
    .hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
    .hero-metas { display:flex; flex-wrap:wrap; gap:18px; margin-top:27px; color:#496073; font-size:13px; font-weight:700; }
    .hero-metas span { display:flex; gap:8px; align-items:center; }
    .check { color:var(--teal); font-weight:900; }
    .hero-media { position:relative; padding:10px 4px 30px 15px; }
    .hero-media:before { content:""; position:absolute; inset:2% 5% 8% 8%; border-radius:38px; background:#d4ece7; transform:rotate(7deg); }
    .hero-img-wrap { position:relative; height:430px; overflow:hidden; border-radius:32px; box-shadow:0 22px 50px rgba(24,44,65,.15); background:#d3edf0; }
    .hero-img-wrap img { height:100%; width:100%; object-fit:cover; object-position:center; }
    .hero-tag { position:absolute; left:-12px; bottom:-2px; background:white; padding:16px 22px; border-radius:18px; box-shadow:0 12px 32px rgba(10,35,70,.14); display:flex; align-items:center; gap:13px; }
    .hero-tag .circle { background:var(--gold-light); width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-size:21px; }
    .hero-tag strong { display:block; font-size:14px; }
    .hero-tag small { color:var(--muted); display:block; margin-top:1px; font-size:11px; }
    .section { padding:78px 0; }
    .section-muted { background:#f4f8fa; border-top:1px solid #edf1f3; border-bottom:1px solid #e9eef1; }
    .kicker { text-transform:uppercase; letter-spacing:.16em; color:var(--teal); font-size:11px; font-weight:900; display:block; margin-bottom:10px; }
    .heading { font-size:clamp(30px,3.6vw,44px); letter-spacing:-.045em; line-height:1.14; font-weight:900; margin-bottom:13px; }
    .section-desc { font-size:16px; color:var(--muted); max-width:670px; }
    .section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px; }
    .step-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin-top:27px; }
    .step { border:1px solid var(--line); border-radius:20px; padding:25px 23px; background:white; }
    .step-icon { background:#ffefc2; width:52px; height:52px; border-radius:15px; display:grid; place-items:center; font-size:25px; margin-bottom:17px; }
    .step h3 { font-size:17px; letter-spacing:-.02em; margin-bottom:9px; }
    .step p { font-size:13px; color:var(--muted); margin-bottom:0; }
    .filter-tabs { display:flex; flex-wrap:wrap; gap:9px; }
    .tab { border:1px solid var(--line); background:#fff; color:#53667c; padding:10px 16px; border-radius:999px; font-size:13px; font-weight:800; }
    .tab.active { background:var(--navy); color:white; border-color:var(--navy); }
    .product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
    .product-card { background:white; border:1px solid #e0e9ed; border-radius:23px; overflow:hidden; box-shadow:0 3px 0 rgba(30,63,81,.02); display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
    .product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
    .product-card[hidden] { display:none; }
    .product-photo { height:215px; background:#e9f3f0; overflow:hidden; position:relative; }
    .product-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
    .product-photo.moto img { object-position:center 49%; }
    .product-badge { position:absolute; top:14px; left:14px; border-radius:999px; padding:7px 12px; font-weight:900; font-size:11px; box-shadow:0 4px 12px rgba(0,0,0,.07); }
    .product-badge.essencial { background:#e5f4ef; color:#047a5c; }
    .product-badge.premium { background:#fff0cd; color:#815100; }
    .product-body { padding:19px; flex:1; display:flex; flex-direction:column; }
    .product-body h3 { font-size:19px; font-weight:900; line-height:1.2; letter-spacing:-.03em; margin:0 0 6px; }
    .product-desc { font-size:12px; color:var(--muted); min-height:36px; margin:0; }
    .spec-row { margin-top:16px; margin-bottom:16px; display:flex; flex-wrap:wrap; gap:7px; }
    .spec { background:#f1f5f7; color:#4b6076; border-radius:8px; padding:6px 9px; font-size:11px; font-weight:800; }
    .product-bottom { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:13px; border-top:1px solid var(--line); }
    .unit-price { font-size:11px; color:var(--muted); line-height:1.5; }
    .unit-price strong { display:block; font-size:20px; font-weight:900; letter-spacing:-.035em; color:var(--navy); line-height:1.15; }
    .unit-price small { color:var(--muted); }
    .counter { display:flex; gap:7px; align-items:center; white-space:nowrap; }
    .qty-btn { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:#eef5f7; border:1px solid #d8e5e9; color:var(--navy); font-size:20px; font-weight:800; }
    .qty-btn:hover:not(:disabled) { background:var(--gold-light); border-color:#edd7a5; }
    .qty-btn:disabled { opacity:.35; cursor:not-allowed; }
    .qty-count { width:24px; text-align:center; font-size:15px; font-weight:900; font-variant-numeric:tabular-nums; }
    .micro-note { margin-top:17px; font-size:12px; color:#64778a; line-height:1.7; }
    .pricing-table-wrap { border:1px solid #e3e9ee; background:#fff; border-radius:21px; overflow:hidden; box-shadow:0 4px 25px rgba(27,60,84,.04); }
    table { width:100%; border-collapse:collapse; }
    th,td { padding:17px 18px; text-align:left; border-bottom:1px solid #e9eff2; }
    th { font-size:12px; color:#415d75; background:#eff6f7; font-weight:900; }
    td { font-size:15px; }
    tr:last-child td { border-bottom:0; }
    td strong { font-weight:900; }
    .price-highlight { font-size:21px; color:var(--navy); font-weight:900; }
    .pricing-bottom { background:#f9fbf9; padding:15px 18px; color:#586d81; font-size:12px; border-top:1px solid #e9eff2; }
    .pricing-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:26px; align-items:stretch; }
    .price-explanation { border-radius:24px; background:var(--navy); color:white; padding:29px; position:relative; overflow:hidden; }
    .price-explanation:after { content:""; width:280px; height:280px; border-radius:50%; position:absolute; right:-160px; bottom:-190px; border:48px solid rgba(255,255,255,.05); }
    .price-explanation h3 { font-size:24px; letter-spacing:-.04em; margin-bottom:12px; }
    .price-explanation p { color:#cbdbe9; font-size:14px; }
    .price-example { margin:24px 0; padding:18px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.12); border-radius:15px; }
    .price-example small { color:#d4e5ec; }
    .price-example strong { display:block; font-size:27px; color:var(--gold); margin-top:5px; }
    .price-explanation ul { padding-left:18px; font-size:13px; line-height:2; color:#e1edf4; margin-bottom:0; }
    .quote-section { padding:80px 0; background:#e9f3f2; }
    .quote-layout { display:grid; grid-template-columns:1.16fr .84fr; gap:22px; align-items:start; }
    .quote-intro { margin-bottom:27px; }
    .quote-pane { border-radius:24px; background:white; padding:28px; box-shadow:0 15px 46px rgba(28,64,83,.07); border:1px solid #d9e8e7; }
    .quote-pane h3 { font-size:21px; letter-spacing:-.03em; margin-bottom:8px; }
    .form-label { display:block; color:#27435a; font-size:13px; font-weight:900; margin:0 0 9px; }
    .hour-chooser { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:22px; }
    .hour-option { border:1px solid #d7e3e4; border-radius:13px; padding:12px 22px; background:white; color:#3e586c; font-weight:900; font-size:14px; }
    .hour-option.selected { background:var(--navy); border-color:var(--navy); color:white; }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
    .form-group { margin-top:14px; }
    .field { width:100%; border:1px solid #dbe5e9; border-radius:11px; background:#fbfdfd; height:46px; padding:0 12px; color:var(--navy); font-size:14px; }
    .field::placeholder { color:#9aa7b2; }
    .calc-detail { color:var(--muted); font-size:13px; margin:14px 0 22px; }
    .quote-aside { position:sticky; top:105px; }
    .summary-top { background:var(--navy); color:white; border-radius:18px; padding:23px; margin-bottom:17px; }
    .summary-top .eyebrow2 { color:#bad5e3; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
    .summary-top .total-value { font-size:clamp(32px,4vw,45px); letter-spacing:-.05em; font-weight:900; margin:10px 0 6px; line-height:1.1; color:var(--gold); }
    .summary-top .caption { color:#d7e4eb; font-size:12px; }
    .summary-items { margin:0; padding:0; list-style:none; }
    .summary-items li { border-bottom:1px solid #e5ecec; display:flex; justify-content:space-between; gap:15px; padding:13px 0; font-size:13px; }
    .summary-items li strong { color:var(--navy); text-align:right; }
    .summary-items li:last-child { border-bottom:0; }
    .validity { border-radius:11px; background:#e7f7ef; color:#06684b; padding:12px 14px; font-size:12px; font-weight:800; margin-top:8px; }
    .validity.invalid { background:#fff3e3; color:#8b5626; }
    .summary-buttons { display:grid; gap:9px; margin-top:18px; }
    .summary-buttons .btn { width:100%; }
    .summary-buttons .btn:disabled { opacity:.45; cursor:not-allowed; transform:none; }
    .tiny-help { font-size:11px; color:#6e8292; line-height:1.65; margin-top:15px; }
    .capacity-section { background:white; }
    .capacity-card { border:1px solid #dde7e7; border-radius:22px; overflow:hidden; background:white; }
    .capacity-card th { background:#eaf3f1; }
    .capacity-card td { font-size:13px; }
    .capacity-card td:last-child { font-weight:800; color:var(--navy); }
    .capacity-layout { display:grid; grid-template-columns:.84fr 1.16fr; gap:26px; align-items:start; }
    .capacity-explain { padding:28px; border-radius:21px; background:#fff3d8; }
    .capacity-explain h3 { font-size:23px; letter-spacing:-.04em; }
    .capacity-explain p { font-size:14px; color:#735b35; }
    .capacity-result { margin:20px 0 0; border-radius:13px; background:white; padding:16px; border:1px solid #f2dfb3; }
    .capacity-result strong { display:block; color:#193756; font-size:21px; margin-top:5px; }
    .faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; }
    .faq-list details { border-bottom:1px solid #dce6eb; padding:17px 0; }
    .faq-list summary { cursor:pointer; font-size:15px; font-weight:900; list-style:none; position:relative; padding-right:30px; }
    .faq-list summary::-webkit-details-marker { display:none; }
    .faq-list summary:after { content:'+'; position:absolute; right:5px; font-size:22px; top:-4px; }
    .faq-list details[open] summary:after { content:'−'; }
    .faq-list p { color:var(--muted); margin:11px 0 1px; font-size:13px; }
    .cta-band { background:#102b51; padding:44px 0; color:white; }
    .cta-inner { display:flex; justify-content:space-between; gap:25px; align-items:center; }
    .cta-inner h2 { font-size:31px; letter-spacing:-.045em; margin:0 0 7px; }
    .cta-inner p { margin:0; font-size:14px; color:#d2e0eb; }
    footer { background:#0b213f; color:#d5e1ec; padding:35px 0; font-size:12px; }
    footer .footer-grid { display:flex; justify-content:space-between; gap:30px; }
    footer strong { display:block; margin-bottom:8px; color:white; font-size:15px; }
    .footer-note { max-width:750px; line-height:1.8; }
    .toast { position:fixed; bottom:22px; left:50%; transform:translateX(-50%) translateY(30px); background:#112b52; color:white; padding:13px 19px; border-radius:12px; opacity:0; pointer-events:none; transition:.2s; z-index:100; box-shadow:0 8px 30px rgba(0,0,0,.18); font-size:13px; text-align:center; width:max-content; max-width:calc(100% - 24px); }
    .toast.visible { opacity:1; transform:translateX(-50%) translateY(0); }
    .mobile-bar { display:none; }
    @media(max-width:1000px) {
      .hero-grid { gap:24px; }
      .hero-img-wrap { height:390px; }
      .nav { gap:14px; }
      .nav a { font-size:12px; }
      .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .quote-layout { grid-template-columns:1fr .84fr; }
      .quote-pane { padding:23px; }
    }
    @media(max-width:760px) {
      .container { width:min(100% - 30px,600px); }
      .topstrip { font-size:10px; }
      .nav-wrap { height:68px; }
      .brand { min-width:0; }
      .brand strong { font-size:13px; }
      .brand small { font-size:9px; }
      .mark { width:39px; height:39px; }
      .mobile-menu { display:block; }
      .nav { display:none; position:absolute; top:68px; left:0; right:0; padding:20px; flex-direction:column; align-items:stretch; gap:0; background:white; border-bottom:1px solid var(--line); box-shadow:0 20px 30px rgba(0,0,0,.06); }
      .nav.open { display:flex; }
      .nav a:not(.btn) { padding:13px 6px; font-size:14px; }
      .nav .btn { margin-top:10px; }
      .hero { padding:44px 0 49px; }
      .hero-grid { grid-template-columns:1fr; }
      h1 { font-size:44px; }
      .lead { font-size:16px; }
      .hero-media { max-width:520px; padding-top:22px; }
      .hero-img-wrap { height:330px; }
      .section { padding:58px 0; }
      .section-head { display:block; }
      .filter-tabs { margin-top:20px; }
      .step-grid { grid-template-columns:1fr; }
      .pricing-layout,.quote-layout,.capacity-layout,.faq-grid { grid-template-columns:1fr; }
      .quote-section { padding:60px 0; }
      .quote-aside { position:static; }
      .cta-inner { display:block; }
      .cta-inner .btn { margin-top:18px; }
      footer .footer-grid { display:block; }
      footer .copyright { margin-top:25px; }
      .mobile-bar { position:fixed; z-index:27; display:flex; gap:10px; align-items:center; justify-content:space-between; bottom:0; left:0; right:0; background:white; padding:9px 16px calc(9px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(23,52,72,.12); }
      .mobile-bar strong { display:block; line-height:1.1; color:var(--navy); font-size:18px; }
      .mobile-bar small { font-size:10px; color:var(--muted); }
      .mobile-bar .btn { padding:11px 14px; font-size:12px; }
      body { padding-bottom:70px; }
    }
    @media(max-width:470px) {
      .hero-actions .btn { flex:1; }
      .hero-img-wrap { height:300px; }
      .hero-tag { left:7px; bottom:0; padding:12px; }
      .hero-metas { gap:11px; }
      .heading { font-size:31px; }
      .product-grid { gap:11px; }
      .product-photo { height:154px; }
      .product-body { padding:13px; }
      .product-body h3 { font-size:15px; }
      .product-desc { font-size:11px; min-height:48px; }
      .spec-row { margin-top:11px; margin-bottom:11px; }
      .spec { font-size:10px; }
      .product-bottom { flex-wrap:wrap; gap:11px; }
      .unit-price strong { font-size:17px; }
      .counter { margin-left:auto; }
      .qty-btn { width:30px; height:30px; }
      .quote-pane { padding:18px; }
      .form-grid { grid-template-columns:1fr; gap:0; }
      .hour-option { flex:1; padding:12px; }
      .price-explanation { padding:21px; }
      th,td { padding:13px 10px; }
      .capacity-card th,.capacity-card td { font-size:12px; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; } }
  /* ===== TEMA INFANTIL ===== */
:root{
  --ink:#17315c;
  --navy:#163b8c;
  --blue:#2f72ff;
  --sky:#ecf8ff;
  --gold:#ffd13f;
  --gold-light:#fff2b6;
  --cream:#fffaf0;
  --paper:#ffffff;
  --teal:#16b8c8;
  --teal-light:#e6fbff;
  --purple:#7c58d7;
  --pink:#ff5b87;
  --pink-light:#ffe2ea;
  --green:#60cd61;
  --line:#d7e4ff;
  --muted:#5f7191;
  --danger:#b95047;
  --shadow:0 14px 35px rgba(34,71,148,.12);
  --radius:26px;
}
html{scroll-padding-top:88px}
body{
  background:
    radial-gradient(circle at 10% 0%, #fff8c8 0, #fff8c8 6%, transparent 7%),
    radial-gradient(circle at 90% 8%, #dff7ff 0, #dff7ff 7%, transparent 8%),
    linear-gradient(180deg,#89d9ff 0%,#effbff 19%,#fffaf0 42%,#ffffff 100%);
  font-family:"Trebuchet MS","Arial Rounded MT Bold","Segoe UI",Arial,sans-serif;
}
.topstrip{
  background:linear-gradient(90deg,#ff5f84,#ff7f45);
  color:#fff;
  font-weight:900;
  letter-spacing:.03em;
  padding:10px 12px;
}
.topstrip span{color:#fff6a8}
.site-header{
  background:rgba(255,255,255,.92);
  border-bottom:2px solid rgba(47,114,255,.12);
  box-shadow:0 6px 20px rgba(33,80,156,.06);
}
.nav-wrap{height:76px}
.mark{
  width:46px;height:46px;border-radius:16px;background:linear-gradient(180deg,#ffe56f,#ffd13f);
  color:#163b8c; box-shadow:0 5px 0 #efb72a; transform:rotate(-8deg);
}
.brand strong{font-size:16px;letter-spacing:.03em;color:var(--navy)}
.brand small{color:var(--pink);font-size:10px;letter-spacing:.14em}
.nav a:not(.btn){color:var(--navy);font-weight:900}
.btn{
  border-radius:999px;
  background:linear-gradient(180deg,#ffe157,#ffd13f);
  color:var(--navy);
  box-shadow:0 6px 0 #ebb325,0 10px 20px rgba(255,209,63,.22);
}
.btn:hover{transform:translateY(-2px)}
.btn-outline{
  background:#fff;
  border:2px solid #d7e4ff;
  box-shadow:none;
}
.btn-dark{
  background:linear-gradient(180deg,#22c15e,#17a548);
  color:#fff;
  box-shadow:0 6px 0 #11873a,0 10px 20px rgba(23,165,72,.2);
}
.mobile-menu{border:2px solid #d8e5ff;color:var(--navy);border-radius:14px}
.hero{
  position:relative;
  padding:54px 0 62px;
  background:
   radial-gradient(circle at 13% 10%, #fff0a8 0 3%, transparent 3.2%),
   radial-gradient(circle at 89% 12%, #fff0a8 0 2.8%, transparent 3%),
   linear-gradient(180deg,#67cfff 0%,#9ce6ff 32%,#fff6df 33%,#fffaf3 100%);
  border-bottom:0;
}
.hero:after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;height:18px;
  background:repeating-linear-gradient(45deg,#1d2b58 0 18px,#fff 18px 36px);
  opacity:.95;
}
.eyebrow{
  background:#fff; color:var(--navy); border:2px dashed #cddcff;
  font-weight:900; box-shadow:var(--shadow); border-radius:999px;
}
h1{
  font-size:clamp(40px,5.2vw,70px);
  line-height:1.0;
  color:var(--navy);
  letter-spacing:-.05em;
  max-width:700px;
  text-shadow:0 3px 0 rgba(255,255,255,.7);
}
h1 em{
  color:#ffb400;
  text-shadow:-2px -2px 0 #163b8c,2px -2px 0 #163b8c,-2px 2px 0 #163b8c,2px 2px 0 #163b8c,0 5px 0 rgba(22,59,140,.15);
}
.lead{font-size:18px;color:#30507c}
.hero-metas span{
  background:rgba(255,255,255,.8);
  border:1px solid #dceaff;padding:10px 12px;border-radius:999px;
}
.hero-media:before{background:#ffeb8b;transform:rotate(6deg);inset:6% 8% 5% 8%}
.hero-img-wrap{border-radius:36px;border:6px solid #fff;box-shadow:0 20px 45px rgba(29,69,120,.2)}
.hero-tag{
  border-radius:22px;border:2px solid #dfe9ff;background:#fffdf3;
}
.hero-tag .circle{background:#ffe16b}
.section{padding:72px 0}
.section-muted{background:linear-gradient(180deg,#fff7ec 0%,#f6fbff 100%);border:0}
.kicker{
  display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
  background:#fff;border:2px solid #dbe7ff;color:var(--pink);font-size:12px;letter-spacing:.08em;
  box-shadow:var(--shadow)
}
.heading{
  font-size:clamp(32px,3.8vw,46px);color:var(--navy);letter-spacing:-.05em;line-height:1.08;
}
.section-desc{color:#4f6484}
.step,.product-card,.pricing-table-wrap,.quote-pane,.capacity-card,.capacity-explain,.step,.faq-list details,.price-explanation,.summary-top{
  border-radius:26px;
}
.step,.product-card,.quote-pane,.capacity-card,.capacity-explain,.pricing-table-wrap{
  border:2px solid #dce7ff; box-shadow:var(--shadow);
}
.step{background:#fffef8}
.step-icon{background:#ffe16b;border-radius:16px;box-shadow:0 4px 0 #edba2d}
.filter-tabs .tab{border-radius:999px;border:2px solid #d9e6ff;font-weight:900;background:#fff}
.filter-tabs .tab.active,.filter-tabs .tab[aria-pressed="true"]{background:#ff5b87;color:#fff;border-color:#ff5b87}
.product-card{
  background:linear-gradient(180deg,#fffefb 0%,#f8fcff 100%);
  overflow:hidden;
}
.product-card:hover{transform:translateY(-4px)}
.product-image{padding:12px 12px 0}
.product-image img{border-radius:22px;border:4px solid #fff;box-shadow:0 10px 18px rgba(24,63,125,.12)}
.product-card .category-badge,.product-badge,.pill, .badge{
  border-radius:999px !important;
}
.product-badge{font-weight:900}
.price-chip,.weight-chip{
  border-radius:999px !important;
  font-weight:900 !important;
}
.pricing-table-wrap table th{background:#edf6ff;color:var(--navy)}
.price-highlight{color:#ff5b87}
.price-explanation{
  background:linear-gradient(145deg,#173b8c 0%,#264db1 100%);
}
.price-explanation h3{color:#fff}
.price-example{
  background:rgba(255,255,255,.13);border:2px dashed rgba(255,255,255,.25)
}
.quote-section{background:linear-gradient(180deg,#eefcff 0%,#fffaf1 100%)}
.hour-option{
  border:2px solid #d9e7ff;border-radius:18px;font-weight:900;background:#fff;
}
.hour-option.selected{background:#ff5b87;border-color:#ff5b87;color:#fff}
.field{
  border:2px solid #dce7ff;border-radius:14px;background:#fff;
}
.summary-top{
  background:linear-gradient(145deg,#173b8c 0%,#2f72ff 100%);
  border:3px solid #fff;
  box-shadow:var(--shadow)
}
.summary-top .total-value{color:#ffe158}
.validity{border-radius:14px;font-weight:900}
.capacity-section{background:#fff}
.capacity-explain{background:linear-gradient(180deg,#fff7d3 0%,#fffdf4 100%);border:2px solid #ffe6a4}
.capacity-card{overflow:hidden}
.capacity-card th{background:#edf6ff;color:var(--navy)}
.faq-list details{background:#fff;border:2px solid #e1ebff;padding:18px 18px;margin-bottom:12px}
.faq-list summary{color:var(--navy)}
.cta-band{background:linear-gradient(135deg,#163b8c 0%,#284da9 100%);position:relative}
.cta-band:before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background:repeating-linear-gradient(45deg,#fff 0 18px,#ffd13f 18px 36px)}
footer{background:#17315c}
.mobile-bar{border-top:2px solid #d7e4ff}
@media(max-width:760px){
  .hero{padding:42px 0 54px}
  .nav{background:#fffefb;border-bottom:2px solid #e2ebff}
  .hero-metas span{font-size:12px}
}


/* Calendário e pagamento */
.booking-section{border:2px solid #dce7ff;border-radius:24px;background:linear-gradient(180deg,#fffdf4,#f6fbff);padding:20px;margin:26px 0 22px}
.booking-section h3{color:var(--navy);margin:0 0 6px}
.booking-label{font-size:13px;color:#5c7195;line-height:1.55;margin:0 0 16px}
.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.calendar-head strong{color:#173b8c;font-size:17px;text-transform:capitalize}
.calendar-head .cal-nav{width:37px;height:37px;display:grid;place-items:center;border:2px solid #d4e3ff;color:#143c8b;background:white;border-radius:12px;font-size:23px;cursor:pointer}
.calendar-head .cal-nav:disabled{opacity:.3;cursor:not-allowed}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.calendar-grid .weekday{text-align:center;font-size:11px;font-weight:900;padding:5px 0;color:#7890b3}
.cal-day{aspect-ratio:1/1;border:1px solid #cdebd8;background:#eafaef;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#20693f;font-weight:900;font-size:13px;min-width:0;cursor:pointer;position:relative}
.cal-day:hover:not(:disabled){box-shadow:0 0 0 2px #3c7bf9;transform:translateY(-1px)}
.cal-day.selected{background:#ffd951;border:3px solid #2558cb;color:#173765}
.cal-day.booked{background:#ffe9ec;border-color:#ffe1e6;color:#9b4a57}
.cal-day.held{background:#fff0d3;border-color:#ffe3af;color:#96651e}
.cal-day.offline{background:#f0f3fa;border-color:#e6eaf0;color:#586981}
.cal-day:disabled{opacity:.52;cursor:not-allowed}
.cal-day.blank{border:0;background:none;pointer-events:none}
.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 15px;margin:14px 0 8px;font-size:11px;color:#5d7194}
.calendar-legend span{display:flex;align-items:center;gap:6px}
.dot{width:10px;height:10px;display:inline-block;border-radius:50%;background:#73d49c}
.dot.held{background:#ffce7c}.dot.booked{background:#f59eae}.dot.offline{background:#afb9cd}
.calendar-status{margin-top:14px;padding:11px 13px;background:white;border:1px solid #e1eafb;border-radius:12px;color:#4c6489;font-size:12px;line-height:1.5}
.calendar-status strong{color:#153d8a}
.booking-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.booking-inline div{background:#fff;border:1px solid #dce7ff;border-radius:13px;padding:12px}
.booking-inline small{display:block;font-weight:800;color:#58749b;font-size:11px}
.booking-inline strong{font-size:17px;color:#173b8c;display:block;margin-top:3px}
#checkoutButton{width:100%;margin-top:12px;background:linear-gradient(180deg,#ff7897,#ff4f78);color:white;box-shadow:0 5px 0 #e23760}
#checkoutButton:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
#checkoutHelp{font-size:11px;line-height:1.55;color:#687b99;margin:11px 0 0}
.pix-overlay{position:fixed;z-index:200;inset:0;background:rgba(8,26,60,.7);display:none;align-items:center;justify-content:center;padding:16px;overflow:auto}
.pix-overlay.open{display:flex}
.pix-dialog{background:#fff;border:4px solid #ffe05f;border-radius:24px;padding:24px;width:min(490px,100%);max-height:96vh;overflow:auto;box-shadow:0 22px 70px rgba(0,0,0,.25);position:relative;text-align:center}
.pix-dialog h2{color:#173b8c;margin:8px 0;font-size:25px}
.pix-dialog p{font-size:13px;color:#576d91}
.pix-close{position:absolute;right:12px;top:10px;border:0;background:#f0f5ff;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer}
.pix-qr{width:190px;height:190px;margin:12px auto;border:1px solid #e8eef6;padding:6px;object-fit:contain}
.pix-code{width:100%;height:80px;border:1px solid #ccd9ee;border-radius:10px;padding:12px;resize:none;overflow:auto;font-size:12px;background:#f8fbff;color:#1f3d70}
.pix-actions{display:grid;gap:10px;margin-top:10px}
.pix-status{font-size:13px;font-weight:800;background:#f7fbff;border:1px solid #dde9ff;border-radius:12px;padding:12px;margin:12px 0}
@media(max-width:500px){.booking-section{padding:15px;margin:20px 0}.calendar-grid{gap:4px}.cal-day{border-radius:9px}.booking-inline{grid-template-columns:1fr}}


    /* ================================================================
       QUATRO RODINHAS — IDENTIDADE VISUAL 2026
       Paleta retirada do logotipo escolhido. Sem alterações na calculadora
       de valores, fotos originais nem lógica de reservas/Pix.
       ================================================================ */
    :root { --ink:#142959; --navy:#0b285f; --blue:#087fe1; --gold:#ffcb37; --gold-light:#fff3c4; --cream:#fffefa; --paper:#fff8ee; --teal:#138ed2; --teal-light:#dff5ff; --purple:#7559d6; --line:#e6eafa; --muted:#5c6b85; --danger:#b32f4a; --shadow:0 16px 42px rgba(14,44,101,.11); --radius:25px; --red:#f43e40; --green:#65bb33; --orange:#ff9637; }
    body { font-family:Nunito, "Trebuchet MS", "Arial Rounded MT Bold", Arial, sans-serif; color:var(--ink); background:var(--cream); }
    .topstrip { font-weight:1000; font-size:12px; letter-spacing:.075em; color:#fff; padding:9px 12px; background:repeating-linear-gradient(125deg, #122e6c 0, #122e6c 120px, #153878 120px, #153878 240px); }
    .topstrip-star { color:#ffe45a; font-size:15px; margin:0 8px; }
    .topstrip-divider { color:#ffcd37; margin:0 12px; }
    .site-header { background:rgba(255,255,255,.97); border-bottom:3px solid #ffe2a2; }
    .nav-wrap { height:99px; }
    .brand { gap:7px; min-width:255px; flex-shrink:0; }
    .brand-logo { width:91px; height:84px; object-fit:contain; border-radius:14px; }
    .brand-words strong { font-size:20px; color:var(--navy); letter-spacing:-.045em; font-weight:1000; line-height:.96; text-shadow:.6px .6px 0 #e8eeff; }
    .brand-words strong span { color:#ef403e; }
    .brand-words small { font-size:9px; font-weight:1000; letter-spacing:.10em; text-transform:uppercase; color:var(--blue); margin-top:6px; }
    .nav { gap:23px; }
    .nav a:not(.btn) { font-weight:900; color:#2d466d; }
    .nav a:not(.btn):hover { color:#ec4244; }
    .btn { border-radius:17px; background:#ffcd39; color:#142959; box-shadow:0 5px 0 #eba92a; font-weight:1000; letter-spacing:.005em; }
    .btn:hover { box-shadow:0 7px 0 #e7a429,0 10px 25px rgba(228,124,13,.13); }
    .btn-dark { background:#112f73; color:white; box-shadow:0 5px 0 #081f4c; }
    .btn-outline { background:white; border:2px solid #c6d8f5; box-shadow:0 5px 0 #e2eaf7; }
    .hero { position:relative; padding:48px 0 70px; border-bottom:7px solid #ffeaaa; background:radial-gradient(circle at 16% 22%,rgba(254,221,85,.27) 0 110px,transparent 111px), radial-gradient(circle at 80% 82%,rgba(72,187,245,.16) 0 180px,transparent 181px), #fff9e9; }
    .hero:before { position:absolute; z-index:0; left:0; right:0; bottom:0; content:""; height:18px; background:repeating-linear-gradient(90deg,#0b285f 0,#0b285f 38px,#fff 38px,#fff 74px); opacity:.9; }
    .hero-grid { position:relative; z-index:1; gap:40px; }
    .hero-brand-row { display:flex; align-items:center; gap:15px; margin:0 0 15px; }
    .hero-brand-logo { width:130px; height:130px; object-fit:contain; flex-shrink:0; padding:5px; border-radius:27px; background:#fff; box-shadow:0 8px 23px rgba(16,41,88,.08); transform:rotate(-5deg); }
    .hero-brand-note { display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
    .hero-note-small { color:#6680a5; font-size:11px; font-weight:950; letter-spacing:.02em; }
    .eyebrow { color:#a8313f; background:#ffe4e5; border:2px solid #ffccd1; text-transform:none; font-size:12px; font-weight:1000; letter-spacing:.02em; }
    h1 { font-weight:1000; color:#152c60; font-size:clamp(39px,4.7vw,66px); letter-spacing:-.048em; line-height:1.09; margin:15px 0 17px; }
    h1 em { color:#e74742; text-shadow:none; text-decoration:underline; text-decoration-color:#ffcb3f; text-underline-offset:8px; text-decoration-thickness:6px; }
    .lead { color:#506381; font-size:17px; line-height:1.65; }
    .lead b { color:#eb3e43; }
    .hero-metas { gap:12px; }
    .hero-metas span { border-radius:999px; background:white; color:#243d66; border:1px solid #f0e6d3; padding:8px 11px; font-size:11px; }
    .check { color:#55a82d; }
    .hero-media:before { background:#cbeeff; border:5px solid #fff; box-shadow:0 0 0 3px #89c8fb; transform:rotate(5deg); }
    .hero-img-wrap { border:6px solid #fff; border-radius:35px; box-shadow:0 19px 0 rgba(16,50,124,.07),0 25px 50px rgba(22,58,119,.16); }
    .hero-float { position:absolute; font-size:48px; color:#ffca28; text-shadow:0 3px 0 #f2a912; z-index:2; pointer-events:none; }
    .hero-float-one { top:-16px; right:6px; transform:rotate(12deg); }
    .hero-float-two { bottom:70px; right:-18px; color:#fb5954; font-size:38px; }
    .hero-float-three { top:36%; left:-11px; color:#63bd36; font-size:38px; }
    .hero-tag { border:2px solid #fff2bc; box-shadow:0 8px 0 #ffca50,0 14px 30px rgba(20,52,118,.10); }
    .section { padding-top:80px; padding-bottom:80px; }
    .section-muted { background:#f1f8ff; border-color:#dceafb; }
    .kicker { color:#db4946; font-weight:1000; letter-spacing:.1em; }
    .heading { font-weight:1000; color:#102e6c; letter-spacing:-.048em; }
    .heading-pop { color:#ee4547; }
    .step,.product-card,.price-explanation,.pricing-table-wrap,.quote-pane,.capacity-explain,.capacity-card,.faq-list details { border-radius:22px; }
    .step { border:2px solid #deebfc; box-shadow:0 7px 0 #edf1fb; }
    .step-icon { background:#fff1c6; border:2px solid #ffda70; }
    .step:nth-child(2) .step-icon { background:#dff6ff; border-color:#93dbf7; }
    .step:nth-child(3) .step-icon { background:#ffe4eb; border-color:#f8c0d1; }
    .filter-tabs { border:2px solid #e3eefa; border-radius:18px; }
    .tab.active { background:#142e6e; color:#fff; }
    .product-card { box-shadow:0 7px 0 rgba(12,58,126,.07),0 12px 28px rgba(20,52,118,.06); border:2px solid #e3ecfa; }
    .product-card:hover { border-color:#ffc63c; }
    .quote-section { background:linear-gradient(180deg,#fff7da,#fffdf3 140px,#fffdf9 320px); }
    .quote-pane { box-shadow:0 6px 0 #ecf3ff,0 16px 38px rgba(16,45,100,.07); border:2px solid #e3ebf8; }
    .quote-aside { border-top:7px solid #ffcc38; }
    .price-highlight,.total-value { color:#122e6a; }
    .hour-option.selected,.cal-day.selected { border-color:#fdba2d; background:#fff0b3; color:#102b65; }
    .booking-section { background:#f3f9ff; border:2px dashed #a1caf5; border-radius:21px; }
    .calendar-status { font-weight:800; }
    .capacity-section { background:#fffdfa; }
    .faq-list details[open] { border-color:#acd9fc; background:#f7fbff; }
    .cta-band { background:linear-gradient(115deg,#102a63,#1b4b99); position:relative; overflow:hidden; }
    .cta-band:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.09; background:repeating-linear-gradient(130deg,transparent 0 18px,white 18px 20px,transparent 20px 52px); }
    .cta-inner { position:relative; }
    .cta-inner h2 span { color:#ffcd3a; }
    footer { background:#071b43; }
    .footer-note strong { font-size:17px; color:#ffca38; }
    @media(max-width:1050px) { .nav { gap:12px; } .nav-wrap { height:84px; } .brand { min-width:209px; } .brand-logo { width:71px; height:71px; } .brand-words strong { font-size:17px; } .hero-brand-logo { width:110px; height:110px; } }
    @media(max-width:760px) { .nav-wrap { height:80px; } .brand-logo { width:67px; height:67px; } .brand-words strong { font-size:17px; } .hero { padding:32px 0 54px; } .hero-grid { gap:28px; } .hero-brand-logo { width:96px; height:96px; border-radius:20px; } .hero-brand-note { gap:6px; } .eyebrow { font-size:10px; } .hero-note-small { font-size:10px; } .hero-media { padding:0 3px 25px 6px; } .hero-media:before { inset:0 6% 8% 4%; } .hero-float-one { top:-15px; right:5px; } .hero-float-two { right:0; } .hero-metas { gap:6px; } .hero-metas span { font-size:10px; } .topstrip { font-size:10px; } .section { padding:60px 0; } }
    @media(max-width:420px) { .brand { min-width:auto; } .brand-words strong { font-size:16px; } .brand-logo { width:61px; height:61px; } .hero-brand-logo { width:84px; height:84px; } .hero-note-small { font-size:9px; } .hero-brand-row { gap:10px; } h1 { font-size:39px; } .topstrip-divider { margin:0 3px; } .topstrip-star { margin:0 2px; } }

/* Ícones locais: traço consistente, cor herdada e tamanho estável. */
.site-icon {
  display:inline-block;
  width:1.15em;
  height:1.15em;
  flex-shrink:0;
  vertical-align:-.18em;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.step-icon .site-icon { width:28px; height:28px; color:#946109; }
.step:nth-child(2) .step-icon .site-icon { color:#0879b0; }
.step:nth-child(3) .step-icon .site-icon { color:#d43e65; }
.hero-tag .circle .site-icon { width:24px; height:24px; }
.hero-float .site-icon { width:1em; height:1em; stroke-width:2; }
.hero-float { line-height:1; }
.topstrip-star .site-icon { width:14px; height:14px; }
.spec { display:inline-flex; align-items:center; gap:5px; }
.spec .site-icon { width:14px; height:14px; }
.mobile-menu, .cal-nav, .pix-close { align-items:center; justify-content:center; }
.cal-nav, .pix-close { display:inline-flex; }
.mobile-menu .site-icon, .pix-close .site-icon { width:22px; height:22px; }
.cal-nav .site-icon { width:19px; height:19px; }

.order-submit { margin:18px 0; }
.order-submit > .btn { width:100%; }
.order-status { font-size:13px; line-height:1.55; font-weight:800; color:var(--navy); overflow-wrap:anywhere; }
.order-receipt { margin:16px 0; padding:18px; border:1px solid #b9dcd7; border-radius:16px; background:#f1faf7; }
.order-receipt[hidden], .order-actions [hidden] { display:none !important; }
.order-receipt h4 { margin:0 0 12px; color:var(--navy); font-size:18px; }
.order-label { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:#49646b; }
.order-reference { display:block; margin:5px 0 12px; font-size:13px; overflow-wrap:anywhere; }
.order-receipt p { font-size:13px; line-height:1.55; margin:8px 0; }
.order-expiry { font-weight:900; color:#086958; }
.order-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.order-actions .btn { flex:1 1 140px; padding:10px 12px; font-size:12px; }

  
