:root{--bg:#08060a;--panel:#100c12;--ink:#f8f4f9;--muted:#c6b8c9;--purple:#a52abd;--purple2:#d45bea;--line:#302136}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

header{position:sticky;top:0;z-index:50;background:rgba(8,6,10,.96);border-bottom:1px solid #251a29;backdrop-filter:blur(12px)}
.wrap{width:min(1180px,92%);margin:auto}
.nav{min-height:90px;display:flex;align-items:center;gap:28px}
.logo{display:flex;width:220px;height:78px;border-radius:8px;overflow:hidden;background:#000;padding:5px}
.logo img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff;border-radius:5px}
nav{margin-left:auto;display:flex;align-items:center;gap:24px}
nav a{font-size:12px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:#e5dce7}
nav a:hover{color:#dc75ef}
.menu{display:none;background:transparent;color:#fff;border:0;font-size:27px;cursor:pointer}

.btn,.book{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:13px 20px;background:linear-gradient(135deg,#8d20a5,#c54ddd);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.8px;font-size:12px;border:1px solid #d17de3}
.btn:hover,.book:hover{filter:brightness(1.12)}
.outline{display:inline-flex;align-items:center;justify-content:center;border:1px solid #80508b;border-radius:8px;padding:13px 20px;text-transform:uppercase;letter-spacing:.8px;font-size:12px;font-weight:700}
.outline:hover{border-color:#d17de3;color:#efc8f6}

.hero{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;width:min(1180px,92%);margin:auto;gap:55px;padding:70px 0}
.hero-copy{position:relative;z-index:2}
.eyebrow{text-transform:uppercase;letter-spacing:3px;color:#ce6ee0;font-size:11px;font-weight:800}
.hero h1{font-family:Georgia,serif;font-size:clamp(54px,7vw,94px);line-height:.9;margin:14px 0 20px;letter-spacing:-3px}
.hero h1 em{font-weight:400;color:#d46be6}
.hero h1 span{display:block}
.script{font-family:Georgia,serif;font-style:italic;color:#dc84eb;font-size:25px}
.hero-copy>p:not(.eyebrow):not(.script){max-width:610px;line-height:1.75;color:#c9bdcc}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.book small{margin-left:7px;font-weight:400;opacity:.8}
.hero-art{position:relative;min-height:490px;display:flex;align-items:center;justify-content:center}
.hero-art img{width:100%;max-height:560px;object-fit:cover;border-radius:30px;border:1px solid #3a2940;box-shadow:0 35px 80px rgba(0,0,0,.55)}
.panther{position:absolute;right:-15px;bottom:5px;font-size:48px;color:#d665e9;text-shadow:0 0 35px #b833d2}

.benefits{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #2b1e30;border-bottom:1px solid #2b1e30;background:#0d0910}
.benefits div{padding:27px 20px;text-align:center;border-right:1px solid #2b1e30}
.benefits div:last-child{border-right:0}
.benefits b{display:block;color:#d35ce8;font-size:22px;margin-bottom:8px}
.benefits strong{display:block;font-family:Georgia,serif;font-size:17px}
.benefits span{display:block;margin-top:5px;color:#aa9cad;font-size:11px}

.split{display:grid;grid-template-columns:1fr 1fr;min-height:570px}
.image-panel{overflow:hidden}
.image-panel img{width:100%;height:100%;object-fit:cover}
.copy-panel{display:flex;flex-direction:column;justify-content:center;padding:70px max(7vw,50px);background:linear-gradient(145deg,#130d16,#09070b)}
.copy-panel h2,.about h2,.info h2,.faq h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,64px);line-height:1;margin:10px 0 22px}
.copy-panel p:not(.eyebrow){line-height:1.8;color:#c9bdcc;max-width:580px}
.copy-panel .book{align-self:flex-start;margin-top:20px}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:min(1180px,92%);margin:75px auto}
.gallery article{background:#110c14;border:1px solid #322337;border-radius:18px;overflow:hidden}
.gallery .crop{height:360px;background-size:cover;background-position:center}
.gallery .c1{background-image:url("assets/approved-reference.jpeg")}
.gallery .c2{background-image:url("assets/approved-reference.jpeg");background-position:55% center}
.gallery .c3{background-image:url("assets/approved-reference.jpeg");background-position:75% center}
.gallery span{display:block;padding:18px;text-align:center;text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:800}

.about{width:min(1180px,92%);margin:85px auto;display:grid;grid-template-columns:.8fr 1fr .9fr;gap:50px;align-items:center}
.carmen-photo img{width:100%;border-radius:25px;border:1px solid #3a2940}
.about p{color:#c9bdcc;line-height:1.75}
.about blockquote{font-family:Georgia,serif;font-style:italic;font-size:26px;line-height:1.5;color:#ead9ed;border-left:2px solid #b94bd0;padding-left:28px;margin:0}
.about cite{display:block;margin-top:18px;color:#c064d2;font-size:14px}

.info{padding:90px 5%;text-align:center;background:linear-gradient(180deg,#0e0911,#08060a)}
.info p{max-width:700px;margin:0 auto 28px;color:#c8bacb;line-height:1.8}

.faq{width:min(850px,90%);margin:80px auto}
.faq h2{text-align:center}
.faq details{border-bottom:1px solid #36263b;padding:20px 5px}
.faq summary{cursor:pointer;font-family:Georgia,serif;font-size:20px}
.faq details p{color:#bcaec0;line-height:1.7}

footer{padding:38px 5%;border-top:1px solid #302136;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#09070b;color:#c9bdcc}
footer small{color:#8e8191}
footer .script{font-size:18px}

.footer-business{display:grid;grid-template-columns:1.25fr 1.55fr .8fr;gap:26px;align-items:center}
.footer-brand{display:flex;flex-direction:column;gap:6px}
.footer-brand strong{font-family:Georgia,serif;font-size:18px;color:#f6f0f8}
.footer-brand span,.footer-contact span{font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:1.1px}
.footer-contact{display:flex;flex-direction:column;gap:6px}
.footer-contact a{font-size:11px;color:#d9b6e2}
.footer-contact a:hover{color:#efccf6}
.footer-rating{justify-self:end;text-align:center;padding:11px 15px;border:1px solid #4b3152;border-radius:14px;background:#0d0910}
.footer-rating .stars{display:block;letter-spacing:2px;color:#d966ee;font-size:14px;margin-bottom:4px}
.footer-rating strong{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#eee7f0}
.footer-business>.social{grid-column:1/-1;margin:0;padding-top:15px;border-top:1px solid #2a1d2f}

/* Desktop header alignment */
.nav{display:grid!important;grid-template-columns:240px 1fr;align-items:center;gap:28px}
.logo{grid-column:1;justify-self:start;margin:0!important;width:220px;height:78px}
nav{grid-column:2;justify-self:end;display:flex;align-items:center;justify-content:flex-end}
.menu{grid-column:2;justify-self:end}

/* =========================================================
   V20 — MOBILE HEADER / HAMBURGER FIX
   Phone-only overrides. Desktop styling above is unchanged.
   ========================================================= */

@media (max-width:800px){

  header{
    min-height:0!important;
  }

  .wrap.nav{
    position:relative!important;
    height:64px!important;
    min-height:64px!important;
    padding:5px 16px!important;
    display:grid!important;
    grid-template-columns:138px 1fr 44px!important;
    align-items:center!important;
    gap:8px!important;
  }

  .nav .logo{
    grid-column:1!important;
    width:138px!important;
    height:54px!important;
    margin:0!important;
    padding:3px!important;
    justify-self:start!important;
    align-self:center!important;
    border-radius:7px!important;
    overflow:hidden!important;
    background:#000!important;
  }

  .nav .logo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    mix-blend-mode:normal!important;
    filter:none!important;
    background:#fff!important;
    border-radius:5px!important;
  }

  .menu{
    grid-column:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:end!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    color:#fff!important;
    border:1px solid #71487a!important;
    border-radius:8px!important;
    font-size:24px!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  .nav nav{
    display:none!important;
    position:absolute!important;
    top:64px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:100!important;
    grid-column:1/-1!important;
    justify-self:stretch!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:10px 18px 16px!important;
    background:rgba(8,6,10,.985)!important;
    border-top:1px solid #2b1d31!important;
    border-bottom:1px solid #4b3152!important;
    box-shadow:0 16px 30px rgba(0,0,0,.5)!important;
  }

  .nav nav.open{
    display:flex!important;
  }

  .nav nav a{
    display:block!important;
    width:100%!important;
    padding:13px 8px!important;
    text-align:center!important;
    border-bottom:1px solid #241a29!important;
  }

  .nav nav a.btn{
    margin-top:10px!important;
    border-bottom:1px solid #d17de3!important;
  }

  .hero{
    grid-template-columns:1fr;
    padding:45px 0;
    min-height:auto;
  }

  .hero h1{
    font-size:52px;
  }

  .hero-art{
    min-height:auto;
  }

  .benefits{
    grid-template-columns:1fr 1fr;
  }

  .split{
    grid-template-columns:1fr;
  }

  .image-panel{
    min-height:390px;
  }

  .gallery{
    grid-template-columns:1fr;
  }

  .about{
    grid-template-columns:1fr;
  }

  footer{
    flex-direction:column;
    text-align:center;
  }

  .footer-business{
    grid-template-columns:1fr;
    text-align:center;
  }

  .footer-rating{
    justify-self:center;
  }

  .footer-business>.social{
    grid-column:1;
    justify-content:center;
  }
}
