:root{
    --navy:#1e3a5f;
    --navy-light:#2d4a6f;
    --coral:#ff6b6b;
    --coral-dark:#ff5252;
    --gold:#d4a853;
    --cream:#faf9f6;
}
*,*::before,*::after{
    box-sizing:border-box;
    margin:0;
    padding:0;
}
html{
    scroll-behavior:smooth;
}
body{
    font-family:"DM Sans",sans-serif;
    color:#1a1a1a;
    background:#fff;
    overflow-x:hidden;
}
h1,h2,h3,h4{
    font-family:"Cormorant Garamond",serif;
}
nav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:100;
    transition:all .4s;
    padding:0 2rem;
}
nav.scrolled{
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    box-shadow:0 2px 30px rgba(0,0,0,.08);
}
.nav-inner{
    max-width:1280px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.5rem 0;
}
.nav-logo img{
    height:90px;
    width:auto;}
.nav-links{
    display:flex;
    align-items:center;
    gap:2rem;}
.nav-links a{
    font-size:.9rem;
    font-weight:500;
    text-decoration:none;
    transition:color .2s;
    color:rgba(255,255,255,.9);
}
nav.scrolled .nav-links a{
    color:#555;
}
.nav-links a:hover{
    color:var(--navy)!important;
}
.btn-book{
    background:var(--coral);
    color:white!important;
    padding:.55rem 1.4rem;
    border-radius:999px;
    font-size:.85rem;
    font-weight:600;
}
.btn-book:hover{
    background:var(--coral-dark)!important;
    transform:scale(1.04);
}
.hamburger{
    display:none;
    background:none;
    border:none;
    cursor:pointer;
    padding:4px;
}
.hamburger span{
    display:block;
    width:24px;
    height:2px;
    margin:5px 0;
    background:white;
    transition:all .3s;
}
nav.scrolled .hamburger span{
    background:var(--navy);
}
.mobile-menu{
    display:none;
    position:fixed;
    inset:0;
    background:var(--navy);
    z-index:200;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2rem;
}
.mobile-menu.open{
    display:flex;
}
.mobile-menu a{
    color:white;
    text-decoration:none;
    font-size:1.5rem;
    font-family:"Cormorant Garamond",serif;
    font-weight:600;
}
.mobile-close{
    position:absolute;
    top:1.5rem;
    right:1.5rem;
    background:none;
    border:none;
    color:white;
    font-size:2rem;
    cursor:pointer;
}
#hero{
    min-height:92vh;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.hero-bg{
    position:absolute;
    inset:0;
    background:url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1920&q=80") center/cover no-repeat;
}
.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom,rgba(30,58,95,.72),rgba(30,58,95,.5),rgba(30,58,95,.82));
}
.hero-content{
    position:relative;
    z-index:2;
    text-align:center;
    padding:0 1.5rem;
    max-width:900px;
    margin:0 auto;
    animation:fadeUp .9s ease both;
}
.hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:var(--gold);
    font-size:.8rem;
    font-weight:600;
    letter-spacing:.2em;
    text-transform:uppercase;
    margin-bottom:1.5rem;
}
.hero-eyebrow::before,.hero-eyebrow::after{
    content:"✦";
    font-size:.65rem;
}
.hero-title{
    font-size:clamp(3rem,7vw,5.5rem);
    font-weight:700;
    color:white;
    line-height:1.1;
    margin-bottom:1.5rem;
}
.hero-title span{
    color:var(--coral);
}
.hero-sub{
    font-size:clamp(1rem,2.5vw,1.3rem);
    color:rgba(255,255,255,.88);
    font-weight:300;
    margin-bottom:2.5rem;
    max-width:560px;
    margin-inline:auto;
}
.hero-cta{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    background:var(--coral);
    color:white;
    text-decoration:none;
    padding:1rem 2.5rem;
    border-radius:999px;
    font-size:1.05rem;
    font-weight:600;
    box-shadow:0 20px 60px rgba(255,107,107,.35);
    transition:all .3s;
}
.hero-cta:hover{
    background:var(--coral-dark);
    transform:scale(1.05);
}
.section-inner{
    max-width:1280px;
    margin:0 auto;
    padding:0 1.5rem;
}
.section-header{
    text-align:center;
    margin-bottom:4rem;
}
.section-icon{
    width:64px;
    height:64px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:1.25rem;
    font-size:1.6rem;
}
.icon-dark{
    background:rgba(30,58,95,.1);
}
.icon-light{
    background:rgba(255,255,255,.12);
}
.section-title{
    font-size:clamp(2rem,4vw,3.2rem);
    font-weight:700;
    margin-bottom:1rem;
}
.title-dark{
    color:var(--navy);
}
.title-light{
    color:white;
}
.section-sub{
    font-size:1.05rem;
    max-width:600px;
    margin:0 auto;
    font-weight:300;
}
.sub-dark{
    color:#777;
}
.sub-light{
    color:rgba(255,255,255,.78);
}
.cards-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:1.5rem;
}
.dest-card{
    position:relative;
    border-radius:1.25rem;
    overflow:hidden;
    aspect-ratio:16/9;
    cursor:pointer;
    text-decoration:none;
    display:block;
}
.dest-card-bg{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    transition:transform .7s ease;
}
.dest-card:hover .dest-card-bg{
    transform:scale(1.08);
}
.dest-card-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.15) 50%,transparent 100%);
}
.dest-card-content{
    position:absolute;
    inset:0;
    padding:1.5rem;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    transition:transform .4s ease;
}
.dest-card:hover .dest-card-content{
    transform:translateY(-6px);
}
.dest-card-title{
    font-family:"Cormorant Garamond",serif;
    font-size:1.4rem;
    font-weight:700;
    color:white;
    margin-bottom:.4rem;
}
.dest-card-desc{
    font-size:.8rem;
    color:rgba(255,255,255,.78);
    line-height:1.4;
    margin-bottom:.75rem;
}
.dest-card-link{
    display:inline-flex;
    align-items:center;
    gap:.3rem;
    color:var(--coral);
    font-size:.8rem;
    font-weight:600;
    opacity:0;
    transition:opacity .3s;
}
.dest-card:hover .dest-card-link{
    opacity:1;
}
.dest-card-ext{
    position:absolute;
    top:1rem;
    right:1rem;
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(6px);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity .3s;
}
.dest-card:hover .dest-card-ext{
    opacity:1;
}
#disney{
    padding:6rem 1.5rem;
    background:linear-gradient(to bottom,white,var(--cream));
}
#universal{
    padding:6rem 1.5rem;
    background:var(--navy);
}
#cruises{
    padding:6rem 1.5rem;
    background:linear-gradient(to bottom,var(--cream),white);
}
#resorts{
    padding:6rem 1.5rem;
    background:linear-gradient(135deg,rgba(255,107,107,.08),white,rgba(212,168,83,.08));
}
#cta{
    padding:6rem 1.5rem;
    background:var(--navy);
    position:relative;
    overflow:hidden;
}
#cta::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:rgba(255,107,107,.15);
    filter:blur(80px);
    top:-150px;
    left:-150px;
}
#cta::after{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    border-radius:50%;
    background:rgba(212,168,83,.15);
    filter:blur(80px);
    bottom:-100px;
    right:-100px;
}
.cta-inner{
    max-width:800px;
    margin:0 auto;
    text-align:center;
    position:relative;
    z-index:2;
}
.cta-icon{width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:2rem;}
.cta-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:white;margin-bottom:1rem;}
.cta-title span{
    color:var(--coral);
}
.cta-sub{
    font-size:1.1rem;
    color:rgba(255,255,255,.78);
    margin-bottom:2.5rem;
    font-weight:300;
}
.cta-badges{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.75rem;
    margin-bottom:3rem;
}
.cta-badge{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(8px);
    padding:.5rem 1.1rem;
    border-radius:999px;
    color:white;
    font-size:.85rem;
}
.cta-badge::before{
    content:"✓";
    color:var(--gold);
    font-weight:700;
}
.cta-btn{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    background:var(--coral);
    color:white;
    text-decoration:none;
    padding:1.1rem 3rem;
    border-radius:999px;
    font-size:1.1rem;
    font-weight:600;
    box-shadow:0 20px 60px rgba(255,107,107,.4);
    transition:all .3s;
    margin-bottom:1.5rem;
}
.cta-btn:hover{
    background:var(--coral-dark);
    transform:scale(1.04);
}
.cta-why{
    display:block;
    color:rgba(255,255,255,.65);
    font-size:.9rem;
    text-decoration:underline;
}
.cta-why:hover{
    color:white;
}
footer{
    background:#0f1f33;
    color:white;
    padding:5rem 1.5rem 2rem;
}
.footer-inner{
    max-width:1280px;
    margin:0 auto;
}
.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:3rem;
    margin-bottom:3rem;
}
.footer-logo img{
    height:120px;
    width:auto;
    margin-bottom:1rem;
}
.footer-desc{
    color:rgba(255,255,255,.6);
    font-size:.9rem;
    line-height:1.7;
    max-width:380px;
}
.footer-col h3{
    font-family:"Cormorant Garamond",serif;
    font-size:1.1rem;
    font-weight:600;
    color:var(--gold);
    margin-bottom:1.25rem;
}
.footer-col ul{
    list-style:none;
}
.footer-col ul li{
    margin-bottom:.6rem;
}
.footer-col ul li a{
    color:rgba(255,255,255,.6);
    text-decoration:none;
    font-size:.9rem;
    transition:color .2s;
}
.footer-col ul li a:hover{
    color:white;
}
.footer-contact li{
    display:flex;
    align-items:flex-start;
    gap:.6rem;
    color:rgba(255,255,255,.6);
    font-size:.88rem;
    margin-bottom:.75rem;
}
.contact-icon{
    color:var(--coral);
    flex-shrink:0;
    margin-top:2px;
}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:2rem;
    text-align:center;
    color:rgba(255,255,255,.35);
    font-size:.82rem;
}
.hyatt-hero{
    background:linear-gradient(to bottom,var(--navy),var(--navy-light));
    padding:8rem 1.5rem 4rem;
}
.hyatt-hero-inner{
    max-width:1280px;
    margin:0 auto;
}
.back-btn{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    color:rgba(255,255,255,.75);
    font-size:.9rem;
    margin-bottom:2rem;
    transition:color .2s;
    background:none;
    border:none;
    cursor:pointer;
}
.back-btn:hover{
    color:white;
}
.hyatt-title{
    font-size:clamp(2rem,4vw,3.2rem);
    font-weight:700;
    color:white;
    margin-bottom:.75rem;
}
.hyatt-sub{
    font-size:1.1rem;
    color:rgba(255,255,255,.75);
    font-weight:300;
}
.hyatt-grid-section{
    padding:4rem 1.5rem 6rem;
    background:linear-gradient(to bottom,var(--navy-light),#1a3050);
}
.hyatt-grid{
    max-width:1280px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:1.5rem;
}
.hyatt-card{
    position:relative;
    border-radius:1.25rem;
    overflow:hidden;
    aspect-ratio:16/9;
    cursor:pointer;
    text-decoration:none;
    display:block;
}
.hyatt-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .5s;
}
.hyatt-card:hover img{
    transform:scale(1.08);
}
.hyatt-card-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.35) 50%,transparent);
}
.hyatt-card-content{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:1.5rem;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
}
.hyatt-card-title{
    font-family:"Cormorant Garamond",serif;
    font-size:1.3rem;
    font-weight:700;
    color:white;
    margin-bottom:.3rem;
}
.hyatt-card-desc{
    font-size:.8rem;
    color:rgba(255,255,255,.75);
}
.hyatt-ext{
    color:rgba(255,255,255,.5);
    transition:color .2s;
    flex-shrink:0;
    margin-left:.75rem;
}
.hyatt-card:hover .hyatt-ext{
    color:white;
}
.certs-hero{
    background:linear-gradient(135deg,var(--navy),var(--navy-light),var(--navy));
    padding:8rem 1.5rem 4rem;
    min-height:40vh;
    display:flex;
    align-items:flex-end;
}
.certs-hero-inner{
    max-width:1280px;
    margin:0 auto;
    width:100%;
}
.cert-badge-pill{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(8px);
    border-radius:999px;
    padding:.4rem 1rem;
    color:white;
    font-size:.85rem;
    font-weight:500;
    margin-bottom:1.5rem;
}
.cert-badge-pill::before{
    content:"🏅";
}
.certs-title{
    font-size:clamp(2rem,4vw,3.5rem);
    font-weight:700;
    color:white;
    margin-bottom:.75rem;
}
.certs-sub{
    font-size:1.1rem;
    color:rgba(255,255,255,.72);
    font-weight:300;
}
.certs-grid-section{
    padding:4rem 1.5rem 6rem;
    background:linear-gradient(135deg,var(--navy),#1a3050,var(--navy));
}
.certs-grid{
    max-width:1280px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:1.5rem;
}
.cert-card{
    background:white;
    border-radius:1.25rem;
    overflow:hidden;
    box-shadow:0 4px 24px rgba(0,0,0,.12);
    transition:all .3s;
    text-decoration:none;
    display:block;
}
.cert-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 48px rgba(0,0,0,.18);
}
.cert-img-wrap{
    aspect-ratio:16/9;
    overflow:hidden;
    position:relative;
    background-size:cover;
    background-position:center;
}
.cert-img-wrap::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(10,20,40,.5) 0%,transparent 50%);
}
.cert-brand-badge{
    position:absolute;
    bottom:.75rem;
    left:.75rem;
    z-index:2;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(8px);
    color:white;
    font-size:.78rem;
    font-weight:600;
    padding:.3rem .75rem;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.25);
}
.cert-ext-icon{
    position:absolute;
    top:.75rem;
    right:.75rem;
    z-index:2;
    width:32px;
    height:32px;
    border-radius:50%;
    background:rgba(255,255,255,.9);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity .3s;
    font-size:.75rem;
}
.cert-card:hover .cert-ext-icon{
    opacity:1;
}
.cert-info{
    padding:1.25rem;
}
.cert-name{
    font-family:"Cormorant Garamond",serif;
    font-size:1.15rem;
    font-weight:600;
    color:var(--navy);
    margin-bottom:.25rem;
}
.cert-issuer{
    font-size:.82rem;
    color:#888;
}
@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(30px);
    }to{
        opacity:1;
        transform:translateY(0);
    }
}
.fade-up{
    opacity:0;
    transform:translateY(30px);
    transition:opacity .6s ease,transform .6s ease;
}
.fade-up.visible{
    opacity:1;
    transform:translateY(0);
}
@media(max-width:768px){
    .nav-links{
        display:none;
    }
    .hamburger{
        display:block;
    }
    .footer-grid{
        grid-template-columns:1fr;
        gap:2rem;
    }
    .cards-grid{
        grid-template-columns:1fr;
    }
    .certs-grid{
        grid-template-columns:1fr;
    }
}

/* ── FAB ── */
  #chat-fab {
    position: fixed; 
    bottom: 28px; 
    right: 28px; 
    z-index: 1000;
    width: 64px; 
    height: 64px; 
    border-radius: 50%; 
    border: none;
    background: linear-gradient(135deg, #c8a96e 0%, #a07840 100%);
    cursor: pointer;
    box-shadow: 0 8px 32px rgba(200,169,110,.4), 0 2px 8px rgba(0,0,0,.3);
    font-size: 26px; 
    color: #0d1628;
    display: flex; 
    align-items: center; 
    justify-content: center;
    transition: transform .2s, box-shadow .2s;
  }
  #chat-fab:hover { 
    transform: scale(1.08); 
    box-shadow: 0 12px 40px rgba(200,169,110,.5), 0 4px 12px rgba(0,0,0,.3); }
  .fab-pulse {
    position: absolute; 
    inset: -4px; 
    border-radius: 50%;
    border: 2px solid rgba(200,169,110,.4);
    animation: pulse 2s ease-out infinite; 
    pointer-events: none;
  }

  #chat-fab {
    position: fixed; bottom: 28px; right: 28px; z-index: 1000;
    width: 64px; height: 64px; border-radius: 50%; border: none;
    background: linear-gradient(135deg, #c8a96e 0%, #a07840 100%);
    cursor: pointer;
    box-shadow: 0 8px 32px rgba(200,169,110,.4), 0 2px 8px rgba(0,0,0,.3);
    font-size: 26px; color: #0d1628;
    display: flex; align-items: center; justify-content: center;
    transition: transform .2s, box-shadow .2s;
  }
  #chat-fab:hover { transform: scale(1.08); }
  .fab-pulse {
    position: absolute; inset: -4px; border-radius: 50%;
    border: 2px solid rgba(200,169,110,.4);
    animation: cpulse 2s ease-out infinite; pointer-events: none;
  }
  @keyframes cpulse { 0%{transform:scale(1);opacity:1} 100%{transform:scale(1.5);opacity:0} }

  #chat-window {
    position: fixed; bottom: 104px; right: 28px; z-index: 999;
    width: 380px; height: 580px; border-radius: 20px; overflow: hidden;
    display: none; flex-direction: column; background: #0d1f3a;
    box-shadow: 0 24px 80px rgba(0,0,0,.5), 0 0 0 1px rgba(200,169,110,.15);
    font-family: 'DM Sans', sans-serif;
  }
  #chat-window.cray-open {
    display: flex;
    animation: cslideUp .3s cubic-bezier(.34,1.56,.64,1) forwards;
  }
  @keyframes cslideUp {
    from { opacity:0; transform:translateY(20px) scale(.97); }
    to   { opacity:1; transform:translateY(0) scale(1); }
  }
  .cray-header {
    background: linear-gradient(135deg,#112240,#0d1a30);
    border-bottom: 1px solid rgba(200,169,110,.15);
    padding: 16px 20px; display: flex; align-items: center; gap: 12px; flex-shrink: 0;
  }
  .cray-avatar {
    width: 40px; height: 40px; border-radius: 50%;
    background: linear-gradient(135deg,#c8a96e,#a07840);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; flex-shrink: 0; color: #0d1628;
    box-shadow: 0 0 0 3px rgba(200,169,110,.2);
  }
  .cray-agent-name { font-weight: 500; color: #f0e8d8; font-size: 14px; }
  .cray-agent-status { font-size: 11px; color: #c8a96e; display: flex; align-items: center; gap: 5px; margin-top: 2px; }
  .cray-dot { width: 6px; height: 6px; border-radius: 50%; background: #4ade80; animation: cblink 2s ease-in-out infinite; }
  @keyframes cblink { 0%,100%{opacity:1} 50%{opacity:.4} }
  .cray-close { background: none; border: none; color: rgba(240,232,216,.4); cursor: pointer; font-size: 20px; padding: 4px; transition: color .2s; margin-left: auto; }
  .cray-close:hover { color: #f0e8d8; }

  #cray-messages {
    flex: 1; overflow-y: auto; padding: 20px 16px;
    display: flex; flex-direction: column; gap: 12px;
    scrollbar-width: thin; scrollbar-color: rgba(200,169,110,.2) transparent;
  }
  #cray-messages::-webkit-scrollbar { width: 4px; }
  #cray-messages::-webkit-scrollbar-thumb { background: rgba(200,169,110,.2); border-radius: 4px; }

  .cray-row { display: flex; align-items: flex-end; gap: 8px; animation: cmsgIn .25s ease; }
  .cray-row.user { flex-direction: row-reverse; }
  @keyframes cmsgIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

  .cray-bubble { max-width: 82%; padding: 11px 15px; font-size: 14px; line-height: 1.55; font-weight: 300; }
  .cray-bubble.assistant {
    background: #112240; color: #e8dcc8;
    border-radius: 4px 18px 18px 18px; border: 1px solid rgba(200,169,110,.1);
  }
  .cray-bubble.user {
    background: linear-gradient(135deg,#c8a96e,#a07840);
    color: #0d1628; font-weight: 400; border-radius: 18px 18px 4px 18px;
  }
  .cray-mini-av {
    width: 26px; height: 26px; border-radius: 50%;
    background: linear-gradient(135deg,#c8a96e,#a07840);
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; flex-shrink: 0; color: #0d1628;
  }
  .cray-typing {
    display: flex; align-items: center; gap: 5px;
    padding: 12px 16px; background: #112240;
    border-radius: 4px 18px 18px 18px; border: 1px solid rgba(200,169,110,.1);
    width: fit-content;
  }
  .cray-typing span {
    width: 7px; height: 7px; border-radius: 50%; background: #c8a96e;
    animation: cbounce 1.2s ease infinite;
  }
  .cray-typing span:nth-child(2){animation-delay:.15s}
  .cray-typing span:nth-child(3){animation-delay:.3s}
  @keyframes cbounce { 0%,60%,100%{transform:translateY(0);opacity:.5} 30%{transform:translateY(-5px);opacity:1} }

  #cray-qr { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 10px; flex-shrink: 0; }
  .cray-qr-btn {
    background: rgba(200,169,110,.1); border: 1px solid rgba(200,169,110,.25);
    color: #c8a96e; border-radius: 20px; padding: 6px 12px;
    font-size: 12px; cursor: pointer; font-family: 'DM Sans',sans-serif; transition: all .2s;
  }
  .cray-qr-btn:hover { background: rgba(200,169,110,.2); border-color: #c8a96e; }

  #cray-lead-banner {
    display: none; align-items: center; gap: 8px;
    background: rgba(74,222,128,.08); border: 1px solid rgba(74,222,128,.2);
    border-radius: 10px; padding: 10px 14px; margin: 0 16px 10px;
    font-size: 12px; color: #4ade80;
  }
  .cray-input-row {
    border-top: 1px solid rgba(200,169,110,.1); padding: 14px 16px;
    display: flex; gap: 10px; align-items: center; background: #0d1f3a; flex-shrink: 0;
  }
  #cray-input {
    flex: 1; background: #112240; border: 1px solid rgba(200,169,110,.15);
    border-radius: 24px; padding: 10px 16px; color: #f0e8d8;
    font-size: 14px; font-family: 'DM Sans',sans-serif; font-weight: 300; outline: none;
    transition: border-color .2s;
  }
  #cray-input::placeholder { color: rgba(240,232,216,.3); }
  #cray-input:focus { border-color: rgba(200,169,110,.4); }
  #cray-send {
    width: 40px; height: 40px; border-radius: 50%; border: none;
    background: linear-gradient(135deg,#c8a96e,#a07840); color: #0d1628;
    cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: transform .15s, opacity .2s;
  }
  #cray-send:hover:not(:disabled) { transform: scale(1.08); }
  #cray-send:disabled { opacity: .4; cursor: default; }
  .cray-footer { padding: 8px; text-align: center; font-size: 10px; color: rgba(240,232,216,.2); letter-spacing: 1px; flex-shrink: 0; }

  @media(max-width:420px){
    #chat-window{ right:12px; left:12px; width:auto; bottom:90px; }
    #chat-fab{ right:16px; bottom:16px; }
  }