  /* 0F1D2E 1c385a*/
  :root{
    --navy:#1B2E45;
    --navy-2:#1B2E45;
    --slate:#5A6B7E;
    --slate-2:#3A4B5E;
    --gold:#B8935A;
    --gold-light:#D3A868;
    --amber:#E8A33D;
    --cream:#F7F2E9;
    --paper:#EFE9DC;
    --ink:#1C2733;
    --muted:#5C6B7A;
    --hair:#E3DBC8;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;background:#B8935A;}
  body{font-family:'Work Sans',Helvetica,Arial,sans-serif;color:var(--ink);}
  h1,h2{font-family:'Fraunces',Georgia,serif;margin:0;font-weight:500;}
  .mono{font-family:'IBM Plex Mono','Courier New',monospace;}
/* 0f1820 182734*/
  .page{max-width:950px;margin:0 auto;background:var(--cream);box-shadow:0 40px 80px -40px rgba(15,29,46,0.35);border:1px solid var(--cream);}

  /* ---------- HEADER / PARALLAX ---------- */
  .hero{
    position:relative;
    height:300px;
    overflow:hidden;
    background:linear-gradient(180deg,#0A1420 0%, var(--navy) 45%, #16283D 75%, #22384F 100%);
    cursor:default;
  }
  .hero-glow{
    position:absolute; inset:0;
    background:radial-gradient(circle at 50% 12%, rgba(232,163,61,0.18), transparent 55%);
    pointer-events:none;
  }
  .hero-clouds{
    position:absolute; inset:0; z-index:2;
    overflow:hidden; pointer-events:none;
    mix-blend-mode:screen;
  }
  .cloud{
    position:absolute; border-radius:50%;
    background:radial-gradient(ellipse at 42% 42%, rgba(226,238,255,0.95) 0%, rgba(226,238,255,0.4) 45%, transparent 72%);
    filter:blur(22px);
  }
  @keyframes cloudDrift{
    from{ left:-45%; }
    to{ left:135%; }
  }
  @media (prefers-reduced-motion: reduce){
    .cloud{ animation:none !important; left:20%; }
  }
  .eyebrow-row{
    position:relative; z-index:5;
    text-align:center; padding:24px 24px 0;
  }
  .eyebrow{
    color:var(--gold); font-size:11px; letter-spacing:3px; text-transform:uppercase;
  }
  .hero-copy{
    position:relative; z-index:5;
    text-align:center; padding: 14px 40px 0;
  }
  .hero-copy h1{ color:var(--cream); font-size:42px; line-height:1.15; }
  .hero-copy p{ color:#B9C2CC; font-size:15px; line-height:24px; max-width:420px; margin:16px auto 0; }
  .nameplate{ display:inline-block; max-width:420px; width:88%; }
  .nameplate img{ display:block; width:100%; height:auto; margin:0 auto; margin-top: 30px; }

  /* altitude gauge — reacts opposite to mouse, reinforcing depth */
  .altitude{
    position:absolute; right:26px; top:120px; bottom:150px; width:34px;
    z-index:6; display:flex; flex-direction:column; align-items:center;
    transition: transform 0.15s ease-out;
  }
  .altitude .line{ flex:1; width:1px; background:linear-gradient(180deg, var(--gold), transparent); }
  .altitude .tag{ color:var(--gold); writing-mode:vertical-rl; letter-spacing:2px; font-size:10px; margin-top:8px; white-space:nowrap; }
  .altitude .dot{ width:6px; height:6px; border-radius:50%; background:var(--amber); box-shadow:0 0 10px 2px rgba(232,163,61,0.6); }

  /* skyline parallax layers */
  .skyline-wrap{ position:absolute; left:0; right:0; bottom:0; height:220px; z-index:3; }
  .layer{ position:absolute; left:-6%; right:-6%; bottom:0; height:100%; transition: transform 0.12s linear; will-change: transform; overflow:hidden; }
  .layer img{ width:100%; height:100%; display:block; object-fit:cover; object-position:top center; }
  .layer-back{ opacity:0.5; }
  .layer-back img{ transform:scale(0.94); filter:blur(0.5px); }
  .layer-mid{ opacity:0.75; }
  .layer-mid img{ transform:scale(1.02); }
  .layer-front{ opacity:1; }
  .layer-front img{ transform:scale(1.1); }

  .horizon-rule{
    position:absolute; left:24px; right:24px; bottom:56px; height:1px; background:rgba(184,147,90,0.55); z-index:4;
  }
  .landmarks{
    position:absolute; left:24px; right:24px; bottom:26px; z-index:6;
    display:flex; justify-content:space-between;
  }
  .landmarks span{
    font-size:9px; letter-spacing:1px; color:#7C8A99; transition: color 0.2s ease, transform 0.2s ease;
    cursor:default;
  }
  .landmarks span:hover{ color:var(--amber); transform:translateY(-3px); }
  .landmarks span.hl{ color:var(--amber); }

  /* ---------- VALUE PROPS ---------- */
  .props{ display:flex; padding:36px 24px; gap:8px; }
  .prop{
    flex:1; text-align:center; padding:18px 10px; border-radius:3px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  }
  .prop:hover{
    transform: translateY(-6px);
    background:#fff;
    box-shadow:0 18px 30px -18px rgba(15,29,46,0.35);
  }
  .prop .num{ color:var(--gold); font-size:24px; }
  .prop .lbl{ font-size:12px; font-weight:600; margin-top:6px; letter-spacing:0.3px; }
  .prop .sub{ font-size:12px; color:var(--muted); margin-top:4px; line-height:17px; }

  /* ---------- SPECS ---------- */
  .specs{ margin:0 24px 8px; border:1px solid var(--hair); border-radius:3px; overflow:hidden; }
  .specs-head{ padding:22px 24px 10px; }
  .specs-head span{ color:var(--gold); font-size:10px; letter-spacing:2px; }
  table.spec-table{ width:100%; border-collapse:collapse; }
  table.spec-table td{ padding:11px 24px; font-size:14px; border-top:1px solid var(--paper); transition: background 0.15s ease, padding-left 0.15s ease; }
  table.spec-table tr:hover td{ background:var(--paper); padding-left:28px; }
  table.spec-table td:last-child{ text-align:right; }

  /* ---------- CTA ---------- */
  .cta-wrap{ text-align:center; padding:32px 24px 44px; cursor:pointer; }
  .price{ font-size:32px; }
  .price-sub{ font-size:12px; color:var(--muted); margin:4px 0 26px; }
  .btn{
    display:inline-block; padding:16px 40px; background:var(--gold); color:var(--navy);
    text-decoration:none; font-size:13px; letter-spacing:1px; text-transform:uppercase; font-weight:600;
    border-radius:2px; transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow:0 10px 24px -12px rgba(184,147,90,0.7);
  }
  .btn:hover{ background:var(--gold-light); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(184,147,90,0.85); }

  /* ---------- LEAD MODAL ---------- */
  .lead-modal{
    position:fixed; inset:0; z-index:1100;
    background:rgba(10,16,26,0.72);
    display:flex; align-items:center; justify-content:center;
    padding:20px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .3s ease, visibility 0s linear .3s;
  }
  .lead-modal.active{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .3s ease; }
  .lead-modal-panel{
    position:relative; width:100%; max-width:460px;
    background:var(--cream); border-radius:8px;
    box-shadow:0 40px 90px -30px rgba(0,0,0,0.5);
    padding:36px 32px 28px;
    transform:translateY(14px) scale(0.98); transition:transform .32s ease;
    max-height:90vh; overflow-y:auto;
  }
  .lead-modal.active .lead-modal-panel{ transform:translateY(0) scale(1); }
  .lead-modal-close{
    position:absolute; top:14px; right:14px;
    width:36px; height:36px; border-radius:50%;
    background:var(--paper); border:1px solid var(--hair);
    color:var(--muted); font-size:20px; line-height:1; font-family:Arial,sans-serif;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .lead-modal-close:hover{ background:var(--gold); color:#fff; border-color:var(--gold); }
  .lead-modal-head span{ font-size:10px; letter-spacing:2px; }
  .lead-modal-head h2{ font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:24px; color:var(--ink); margin:8px 0 4px; }
  .lead-modal-head p{ margin:0 0 22px; color:var(--muted); font-size:13px; line-height:1.6; }
  .lead-field-row{ display:flex; gap:12px; margin-bottom:14px; }
  .lead-field{ flex:1; display:flex; flex-direction:column; gap:6px; }
  .lead-field label{ font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
  .lead-field input{
    border:1px solid var(--hair); border-radius:3px; padding:11px 12px;
    font-size:14px; font-family:inherit; color:var(--ink); background:#fff;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .lead-field input:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,147,90,0.18); }
  .lead-honeypot{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
  .lead-check{
    display:flex; gap:10px; align-items:flex-start; margin:16px 0 20px;
    font-size:12px; line-height:1.6; color:var(--muted); cursor:pointer;
  }
  .lead-check input{ margin-top:3px; flex-shrink:0; }
  .lead-check a{ color:var(--gold); }
  .lead-submit{ width:100%; border:none; cursor:pointer; }
  .lead-submit:disabled{ opacity:.6; cursor:default; }
  .lead-msg{ margin-top:14px; font-size:13px; text-align:center; min-height:18px; }
  .lead-msg.ok{ color:#2E7D4F; }
  .lead-msg.err{ color:#B0392C; }
  @media (max-width:600px){
    .lead-field-row{ flex-direction:column; gap:14px; }
    .lead-modal-panel{ padding:28px 22px 22px; }
  }

  /* ---------- PRIVACY MODAL ---------- */
  .privacy-modal{
    position:fixed; inset:0; z-index:1200;
    background:rgba(10,16,26,0.72);
    display:flex; align-items:center; justify-content:center;
    padding:20px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .3s ease, visibility 0s linear .3s;
  }
  .privacy-modal.active{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .3s ease; }
  .privacy-modal-panel{
    position:relative; width:100%; max-width:620px; max-height:82vh;
    background:var(--cream); border-radius:8px;
    box-shadow:0 40px 90px -30px rgba(0,0,0,0.5);
    padding:36px 36px 30px;
    transform:translateY(14px) scale(0.98); transition:transform .32s ease;
    overflow-y:auto;
  }
  .privacy-modal.active .privacy-modal-panel{ transform:translateY(0) scale(1); }
  .privacy-modal-body h2{ font-family:'Fraunces',Georgia,serif; font-weight:500; font-size:22px; color:var(--ink); margin:8px 0 2px; }
  .privacy-updated{ color:var(--muted); font-size:12px; margin:0 0 20px; }
  .privacy-modal-body h3{ font-family:'Work Sans',sans-serif; font-size:13px; letter-spacing:0.5px; color:var(--gold); text-transform:uppercase; margin:22px 0 8px; }
  .privacy-modal-body p, .privacy-modal-body li{ font-size:13.5px; line-height:1.7; color:var(--ink); }
  .privacy-modal-body ul{ margin:6px 0; padding-left:20px; }
  .privacy-modal-body a{ color:var(--gold); }
  .privacy-disclaimer{ margin-top:22px; padding-top:16px; border-top:1px solid var(--hair); color:var(--muted); font-size:12px; }
  @media (max-width:600px){
    .privacy-modal-panel{ padding:28px 22px 22px; max-height:88vh; }
  }

  /* ---------- COOKIE CONSENT ---------- */
  .cookie-banner{
    position:fixed; right:20px; bottom:20px; z-index:1300;
    width:380px; max-width:calc(100vw - 40px);
    background:var(--navy); color:var(--cream);
    border-radius:8px; box-shadow:0 30px 70px -20px rgba(0,0,0,0.55);
    padding:22px 26px;
    transform:translateY(0); opacity:1;
    transition:transform .4s ease, opacity .4s ease;
  }
  .cookie-banner.leaving{ transform:translateY(140%); opacity:0; }
  .cookie-banner-panel{ display:flex; flex-direction:column; align-items:stretch; gap:16px; }
  .cookie-banner-text{ flex:1; min-width:0; }
  .cookie-banner-text strong{ font-size:14px; letter-spacing:0.3px; }
  .cookie-banner-text p{ margin:6px 0 0; font-size:12.5px; line-height:1.6; color:#B9C2CC; }
  .cookie-banner-text a{ color:var(--gold-light); }
  .cookie-banner-actions{ display:flex; gap:10px; flex-wrap:wrap; }
  .cookie-btn{
    border:none; border-radius:2px; padding:11px 18px; font-size:12px; letter-spacing:0.5px;
    text-transform:uppercase; font-weight:600; cursor:pointer; white-space:nowrap;
    transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
  }
  .cookie-btn-solid{ background:var(--gold); color:var(--navy); }
  .cookie-btn-solid:hover{ background:var(--gold-light); transform:translateY(-2px); }
  .cookie-btn-outline{ background:transparent; color:var(--cream); border:1px solid rgba(255,255,255,0.3); }
  .cookie-btn-outline:hover{ border-color:var(--gold); color:var(--gold-light); }
  .cookie-btn-ghost{ background:transparent; color:#B9C2CC; border:1px solid transparent; }
  .cookie-btn-ghost:hover{ color:var(--gold-light); }
  .cookie-settings{ margin-top:20px; padding-top:18px; border-top:1px solid rgba(255,255,255,0.15); }
  .cookie-setting-row{
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .cookie-setting-row:last-of-type{ border-bottom:none; }
  .cookie-setting-row strong{ font-size:13px; }
  .cookie-setting-row p{ margin:4px 0 0; font-size:12px; color:#B9C2CC; line-height:1.5; }
  .cookie-switch{ position:relative; width:42px; height:24px; flex-shrink:0; }
  .cookie-switch input{ opacity:0; width:0; height:0; }
  .cookie-switch span{
    position:absolute; inset:0; background:rgba(255,255,255,0.2); border-radius:24px;
    transition:background .2s ease; cursor:pointer;
  }
  .cookie-switch span::before{
    content:""; position:absolute; left:3px; top:3px; width:18px; height:18px;
    background:#fff; border-radius:50%; transition:transform .2s ease;
  }
  .cookie-switch input:checked + span{ background:var(--gold); }
  .cookie-switch input:checked + span::before{ transform:translateX(18px); }
  .cookie-switch-disabled span{ background:rgba(184,147,90,0.5); cursor:default; }
  .cookie-switch-disabled input:checked + span::before{ transform:translateX(18px); }
  @media (max-width:600px){
    .cookie-banner{ left:12px; right:12px; bottom:12px; width:auto; padding:18px 18px; }
    .cookie-banner-actions{ justify-content:stretch; }
    .cookie-banner-actions .cookie-btn{ flex:1; }
  }
  .cookie-fab{
    position:fixed; left:20px; bottom:20px; z-index:1300;
    width:52px; height:52px; border-radius:50%;
    background:var(--navy); color:var(--gold-light);
    border:1px solid rgba(255,255,255,0.15);
    box-shadow:0 14px 30px -10px rgba(0,0,0,0.5);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:transform .2s ease, background .2s ease;
  }
  .cookie-fab:hover{ transform:translateY(-3px); background:#22384F; }
  .cookie-fab svg{ width:24px; height:24px; }

  .hero-photo{ margin:18px 24px 0; border:1px solid var(--hair); border-radius:6px; overflow:hidden; background:#000; position:relative; }
  .hero-photo img{ width:100%; height:auto; display:block; background-color: #F7F2E9; }

  .plano-gallery{
    display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px;
    margin:2px 2px 0;
  }
  .plano-slot{
    min-height:220px; border:1px solid var(--hair); border-radius:6px;
    background:linear-gradient(180deg, #fffdf9 0%, #f3ede2 100%);
    display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden;
  }
  .plano-slot::before{
    content:""; position:absolute; inset:14px;
    border:1px dashed rgba(184,147,90,0.55); border-radius:4px;
  }
  .plano-slot span{
    position:relative; z-index:1;
    color:var(--gold); font-size:11px; letter-spacing:2px; text-transform:uppercase;
  }
  .plano-img{ cursor:zoom-in; transition:transform .3s ease, filter .3s ease; }
  .plano-img:hover, .plano-img:focus-visible{ transform:scale(1.015); filter:brightness(1.03); }

  .plano-cta{
    display:flex; align-items:center; justify-content:center; gap:8px;
    width:fit-content; margin:14px auto 0; padding:20px 20px;
    border:1px solid var(--hair); border-radius:10px; background:#ffffff;
    color:var(--muted); text-decoration:none;
    font-family:'IBM Plex Mono','Courier New',monospace; font-size:15px; letter-spacing:3px; text-transform:uppercase;
    transition:border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .plano-cta svg{ width:14px; height:14px; display:block; transition:transform .5s ease; }
  .plano-cta:hover{
    border-color:var(--gold); color:var(--gold);
    transform:translateY(-2px); box-shadow:0 10px 22px -14px rgba(184,147,90,0.6);
  }
  .plano-cta:hover svg{ transform:rotate(180deg); }

  /* ---------- PLANO · HOTSPOTS DE VISTA ---------- */
  .plano-hotspot{
    position:absolute; width:42px; height:42px; margin:0; padding:0; border-radius:50%;
    transform:translate(-50%,-50%);
    background:rgba(184, 90, 90, 0.7);  border:2px solid rgba(184, 90, 90, 0.7);
    -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
    display:flex; align-items:center; justify-content:center;
    color:var(--red); cursor:pointer;
    box-shadow:0 0 0 0 rgba(232,163,61,0.4);
    animation:hsPulse 2.8s ease-in-out infinite;
    transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  }
  .plano-hotspot svg{ width:19px; height:19px; display:block; }
  .plano-hotspot:hover, .plano-hotspot:focus-visible{
    background:rgb(229, 175, 175); color:var(--navy); transform:translate(-50%,-50%) scale(1.14);
    box-shadow:0 6px 18px -6px rgba(184,147,90,0.8); outline:none;
  }
  @keyframes hsPulse{
    0%,100%{ box-shadow:0 0 0 0 rgba(232, 61, 95, 0.727); }
    50%{ box-shadow:0 0 0 9px rgba(232,163,61,0); }
  }

  /* ---------- LIGHTBOX ---------- */
  .lightbox{
    position:fixed; inset:0; z-index:1000;
    background:rgba(10,16,26,0.97);
    display:flex; align-items:center; justify-content:center;
    padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .28s ease, visibility 0s linear .28s;
  }
  .lightbox.active{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .28s ease; }
  .lightbox.single .lightbox-nav{ display:none; }
  .lightbox img{
    max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;
    border-radius:4px; box-shadow:0 30px 90px -20px rgba(0,0,0,0.65);
    transform:scale(0.96); transition:transform .28s ease;
  }
  .lightbox.active img{ transform:scale(1); }
  .lightbox-close{
    position:absolute; top:max(18px, env(safe-area-inset-top)); right:max(18px, env(safe-area-inset-right));
    width:44px; height:44px; border-radius:50%; z-index:2;
    background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25);
    color:var(--cream); font-size:24px; line-height:1; font-family:Arial,sans-serif;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .lightbox-close:hover{ background:var(--gold); color:var(--navy); border-color:var(--gold); }
  .lightbox-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:46px; height:46px; border-radius:50%; z-index:2; margin:0; padding:0;
    background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25);
    color:var(--cream); display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
  }
  .lightbox-nav svg{ width:20px; height:20px; display:block; }
  .lightbox-nav:hover{ background:var(--gold); color:var(--navy); border-color:var(--gold); }
  .lightbox-prev{ left:max(14px, env(safe-area-inset-left)); }
  .lightbox-next{ right:max(14px, env(safe-area-inset-right)); }
  @media (max-width:600px){
    .lightbox-nav{ width:38px; height:38px; }
    .lightbox-nav svg{ width:16px; height:16px; }
  }
  .lightbox-caption{
    position:absolute; left:16px; right:16px; bottom:max(20px, env(safe-area-inset-bottom));
    text-align:center; color:var(--gold-light); font-size:11px; letter-spacing:2.5px; text-transform:uppercase;
  }

  /* ---------- TOUR MODAL (vista panorámica) ---------- */
  .tour-modal{
    position:fixed; inset:0; z-index:1000;
    background:rgba(10,16,26,0.97);
    display:flex; align-items:center; justify-content:center;
    padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .28s ease, visibility 0s linear .28s;
  }
  .tour-modal.active{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .28s ease; }
  .tour-modal-frame{
    width:100%; height:100%; border:0; border-radius:4px;
    box-shadow:0 30px 90px -20px rgba(0,0,0,0.65);
    background:#0a101a;
    transform:scale(0.96); transition:transform .28s ease;
  }
  .tour-modal.active .tour-modal-frame{ transform:scale(1); }
  .tour-modal-close{
    position:absolute; top:max(18px, env(safe-area-inset-top)); right:max(18px, env(safe-area-inset-right));
    width:44px; height:44px; border-radius:50%; z-index:2;
    background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25);
    color:var(--cream); font-size:24px; line-height:1; font-family:Arial,sans-serif;
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .tour-modal-close:hover{ background:var(--gold); color:var(--navy); border-color:var(--gold); }

  /* ---------- ROTATE HINT (solo móvil, sugiere girar a horizontal) ---------- */
  .rotate-hint{
    position:absolute; inset:0; z-index:3;
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:14px;
    background:rgba(10,16,26,0.94); text-align:center; padding:24px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .3s ease, visibility 0s linear .3s;
  }
  .rotate-hint.show{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity .3s ease; }
  .rotate-hint-icon{ width:50px; height:50px; color:var(--gold-light); animation:rotateHintTilt 2.2s ease-in-out infinite; }
  .rotate-hint span{
    font-family:'IBM Plex Mono','Courier New',monospace; font-size:11px; letter-spacing:2px;
    text-transform:uppercase; color:var(--gold-light); max-width:210px; line-height:1.7;
  }
  @keyframes rotateHintTilt{
    0%, 12%{ transform:rotate(0deg); }
    45%, 60%{ transform:rotate(-90deg); }
    92%, 100%{ transform:rotate(0deg); }
  }
  @media not all and (max-width:600px){ .rotate-hint{ display:none !important; } }
  @media (orientation:landscape){ .rotate-hint{ display:none !important; } }

  @media (max-width:600px){
    .plano-hotspot{ width:36px; height:36px; }
    .plano-hotspot svg{ width:16px; height:16px; }
  }

  .section{ padding:34px 15px 0; }
  .section-kicker{ color:var(--gold); font-size:10px; letter-spacing:2px; text-transform:uppercase; }
  .section h2{ font-size:32px; line-height:1.12; color:var(--ink); margin:10px 0 0; }
  .lead{ margin:12px 0 0; font-size:15px; line-height:1.75; color:var(--muted); max-width:720px; }
  .split{ display:flex; gap:18px; align-items:flex-start; margin-top:18px; }
  .split .main{ flex:1.2; min-width:0; }
  .split .side{ flex:0.8; min-width:0; }
  .bullets{ margin:14px 0 0; padding-left:18px; color:var(--ink); line-height:1.85; }
  .cardbox{ border:1px solid var(--hair); border-radius:6px; background:#fffdf9; padding:22px; }
  .cardbox2{ border:1px solid var(--hair); border-radius:6px; background:#fffdf9; padding:5px; }
  .card-title{ margin-top:14px; font-family:'Fraunces',Georgia,serif; font-size:26px; line-height:1.18; color:var(--ink); }
  .card-text{ margin-top:30px; font-size:18px; line-height:1.7; color:var(--muted); }
  .cards{ display:flex; gap:14px; margin-top:18px; }
  .cards .cardbox{ flex:1; }
  .cardbox.dark{ background:var(--navy); border-color:#2A3B4E; color:#B9C2CC; }
  .cardbox.dark .section-kicker{ color:var(--gold); }
  .cardbox.dark h2{ color:var(--cream); }
  .cardbox.dark .lead{ color:#B9C2CC; }
  .cardbox2.dark{ background:var(--navy); border-color:#2A3B4E; color:#B9C2CC; }
  .cardbox2.dark .section-kicker{ color:var(--gold); }
  .cardbox2.dark h2{ color:var(--cream); }
  .cardbox2.dark .lead{ color:#B9C2CC; }
  .img-carousel{
    position:relative; margin-top:18px; border-radius:6px; overflow:hidden;
    background:var(--navy); border:3px solid #2A3B4E;
  }
  .carousel-track{ position:relative; width:100%; aspect-ratio:16/10; }
  .carousel-slide{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    opacity:0; transition:opacity .5s ease; pointer-events:none;
  }
  .carousel-slide.active{ opacity:1; pointer-events:auto; }
  .carousel-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:2; margin:0; padding:0;
    width:44px; height:44px; border-radius:50%;
    background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25);
    color:var(--cream); display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition:background .2s ease, color .2s ease, border-color .2s ease;
  }
  .carousel-arrow svg{ width:20px; height:20px; display:block; }
  .carousel-arrow:hover{ background:var(--gold); color:var(--navy); border-color:var(--gold); }
  .carousel-prev{ left:14px; }
  .carousel-next{ right:14px; }
  .carousel-dots{
    position:absolute; left:0; right:0; bottom:14px; z-index:2;
    display:flex; justify-content:center; gap:8px;
  }
  .carousel-dot{
    width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,0.35);
    cursor:pointer; transition:background .2s ease, transform .2s ease;
  }
  .carousel-dot.active{ background:var(--gold); transform:scale(1.2); }
  @media (max-width:600px){
    .carousel-arrow{ width:38px; height:38px; }
    .carousel-arrow svg{ width:16px; height:16px; }
  }
  .video-gallery{
    display:flex; flex-direction:column; gap:18px;
    margin-top:18px;
  }
  .gallery-video{
    width:100%; height:auto; display:block;
    border-radius:6px; border:1px solid var(--hair); background:#000;
  }
  .resource-grid{ display:flex; gap:10px; margin-top:16px; }
  .resource{ flex:1; display:block; text-decoration:none; }
  .resource img{ width:100%; height:auto; display:block; border-radius:6px; border:1px solid #2A3B4E; }
  .resource-label{ margin-top:10px; font-size:12px; line-height:1.4; text-align:center; color:var(--cream); }
  .contact-line{ margin:16px 0 0; font-size:14px; line-height:1.8; color:var(--muted); }
  .contact-line a{ color:var(--ink); text-decoration:none; font-weight:700; }
  .wa-icon{ width:16px; height:16px; vertical-align:-3px; margin-left:6px; }

  /* ---------- FOOTER ---------- */
  .footer{ background:var(--navy); padding:28px 32px; }
  .footer strong{ color:var(--cream); }
  .footer, .footer a{ color:#B9C2CC; font-size:12px; line-height:19px; }
  .footer a{ color:#B9C2CC; text-decoration:none; }
  .footer .fine{ padding-top:16px; margin-top:16px; border-top:1px solid #2A3B4E; color:#5C6B7A; font-size:11px; line-height:17px; }
  .footer-grid{ display:flex; gap:26px; align-items:flex-start; }
  .footer-logo{ width:180px; }
  .footer-logo img{ width:140px; height:auto; display:block; border-radius:12px; padding:10px; background:#6A1A16; }

  /* ---------- FLOATING CTA (sticky al hacer scroll) ---------- */
  .floating-cta{
    position:fixed; top:16px; left:50%; z-index:1150;
    transform:translate(-50%,-90px);
    opacity:0; pointer-events:none;
    transition:transform .35s ease, opacity .35s ease;
  }
  .floating-cta.show{ transform:translate(-50%,0); opacity:1; pointer-events:auto; }
  .floating-cta-btn{
    display:flex; align-items:right; gap:8px;
    padding:13px 26px; border-radius:10px; border:2px solid var(--navy); cursor:pointer;
    background:var(--navy); color:var(--cream);
    font-family:'Work Sans',Helvetica,Arial,sans-serif;
    font-size:12.5px; letter-spacing:1px; text-transform:uppercase; font-weight:600;
    box-shadow:0 14px 30px -10px rgba(15,29,46,0.45), 0 0 0 1px rgba(255,255,255,0.15) inset;
    transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  .floating-cta-btn svg{ width:14px; height:14px; flex-shrink:0; }
  .floating-cta-btn:hover{ background:var(--gold-light); transform:translateY(-2px); box-shadow:0 18px 34px -10px rgba(15,29,46,0.55); }
  @media (max-width:600px){
    .floating-cta{ top:12px; }
    .floating-cta-btn{ padding:11px 20px; font-size:11.5px; }
  }

  @media (max-width:600px){
    .page{ max-width:100%; }
    .hero{ height:100vh; height:100dvh; }
    .hero-copy{
      position:absolute !important; top:40%; left:0; right:0;
      transform:translateY(-50%); margin-top:0 !important;
    }
    .hero-copy h1{ font-size:32px; }
    .props{ flex-direction:column; align-items:center; padding:24px 0; gap:14px; }
    .prop{ width:90%; padding:24px 16px; }
    .prop .num{ font-size:34px; }
    .prop .lbl{ font-size:14px; }
    .prop .sub{ font-size:13px; line-height:19px; }
    .altitude{ display:none; }
    .plano-gallery{ grid-template-columns:1fr; margin:18px 16px 0; }
    #videos{ width:99%; margin-left:auto; margin-right:auto; }
    .plano-slot{ min-height:180px; }
    .hero-photo{ margin:16px 16px 0; }
    .split{ flex-direction:column; }
    .cards{ flex-direction:column; }
    .resource-grid{ flex-direction:column; }
    .footer-grid{ flex-direction:column; }
    .footer-logo{ width:auto; }
    #recursos{ width:99%; margin-left:auto; margin-right:auto; }
  }
