:root{
    --navy-900:#050d1c;
    --navy-800:#0a1730;
    --navy-700:#112347;
    --navy-600:#1b3366;
    --gold:#c9a25e;
    --gold-light:#e6c88c;
    --cream:#f6f1e7;
    --cream-2:#ece4d4;
    --ink:#1a2238;
    --muted:#5d6478;
    --radius:18px;
    --heading-font:'Cormorant Garamond';
    --body-font:'Jost';
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body-font),system-ui,sans-serif;font-weight:300;color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  .wrap{width:min(1120px,92vw);margin-inline:auto}
  h1,h2,h3{font-family:var(--heading-font),serif;font-weight:500;line-height:1.15}
  .script{font-family:'Great Vibes',cursive;font-weight:400}
  .eyebrow{font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:500;display:inline-flex;align-items:center;gap:.8rem}
  .eyebrow::before,.eyebrow::after{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
  .section{padding:clamp(70px,10vw,120px) 0}
  .section-head{text-align:center;max-width:640px;margin:0 auto clamp(40px,6vw,64px)}
  .section-head h2{font-size:clamp(2.2rem,4.6vw,3.3rem);margin:.6rem 0 .8rem;color:var(--navy-800)}
  .section-head p{color:var(--muted)}
  .dark .section-head h2{color:var(--cream)}
  .dark .section-head p{color:#aab3c8}

  .btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.8rem;border-radius:999px;font-weight:500;font-size:.95rem;letter-spacing:.04em;transition:transform .25s,box-shadow .25s,background .25s}
  .btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--navy-900);box-shadow:0 10px 30px -10px rgba(201,162,94,.6)}
  .btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(201,162,94,.75)}
  .btn-ghost{border:1px solid rgba(230,200,140,.55);color:var(--gold-light)}
  .btn-ghost:hover{background:rgba(230,200,140,.08)}
  .btn svg{width:18px;height:18px}

  /* NAV */
  nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,box-shadow .3s}
  nav.scrolled{background:rgba(5,13,28,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(201,162,94,.2)}
  .nav-in{display:flex;align-items:center;justify-content:space-between;height:74px}
  .brand{display:flex;align-items:baseline;gap:.45rem;color:var(--gold-light)}
  .brand b{font-family:var(--heading-font),serif;font-weight:600;font-size:1.55rem;letter-spacing:.14em}
  .brand span{font-family:'Great Vibes',cursive;font-size:1.35rem}
  .nav-links{display:flex;gap:2rem;align-items:center;font-size:.9rem;letter-spacing:.06em;color:#d9dfeb}
  .nav-links a:not(.btn):hover{color:var(--gold-light)}
  .nav-links .btn{padding:.6rem 1.2rem;font-size:.85rem}
  .menu-btn{display:none;background:none;border:0;color:var(--gold-light);cursor:pointer}
  .menu-btn svg{width:28px;height:28px}

  /* HERO */
  .hero{position:relative;min-height:100vh;display:grid;place-items:center;text-align:center;overflow:hidden;color:var(--cream);
    background:radial-gradient(ellipse at 50% 35%,var(--navy-700) 0%,var(--navy-800) 38%,var(--navy-900) 80%)}
  #stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
  .hero-in{position:relative;z-index:2;padding:110px 0 70px}
  .hero-logo{width:min(330px,68vw);aspect-ratio:1;border-radius:50%;margin:0 auto 1.6rem;overflow:hidden;
    box-shadow:0 0 0 1px rgba(201,162,94,.25),0 30px 80px -20px rgba(201,162,94,.35);animation:glow 5s ease-in-out infinite}
  @keyframes glow{50%{box-shadow:0 0 0 1px rgba(201,162,94,.4),0 30px 100px -10px rgba(230,200,140,.45)}}
  .hero h1{font-size:clamp(2rem,4.4vw,3.2rem);font-style:italic;font-weight:400;color:var(--cream);max-width:760px;margin:0 auto}
  .hero p.lead{color:#b9c2d6;margin:1rem auto 2.2rem;max-width:520px;font-size:1.05rem}
  .hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
  .trust{display:flex;gap:2.2rem;justify-content:center;flex-wrap:wrap;margin-top:3rem;font-size:.85rem;letter-spacing:.05em;color:#c9d0de}
  .trust div{display:flex;align-items:center;gap:.5rem}
  .trust svg{width:18px;height:18px;color:var(--gold)}
  .scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:var(--gold);opacity:.7;z-index:2;animation:bob 2.4s infinite}
  @keyframes bob{50%{transform:translate(-50%,8px)}}

  /* SERVICES */
  .services{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
  .svc{background:#fff;border-radius:var(--radius);padding:2rem 1.8rem;border:1px solid var(--cream-2);position:relative;transition:transform .3s,box-shadow .3s}
  .svc:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(10,23,48,.35)}
  .svc .ico{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--navy-800);color:var(--gold-light);margin-bottom:1.2rem}
  .svc .ico svg{width:22px;height:22px}
  .svc h3{font-size:1.6rem;color:var(--navy-800);margin-bottom:.4rem}
  .svc p{color:var(--muted);font-size:.95rem;margin-bottom:1.3rem}
  .svc .meta{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--cream-2);padding-top:1rem;font-size:.9rem}
  .svc .price{font-family:var(--heading-font),serif;font-size:1.45rem;font-weight:600;color:var(--navy-700)}
  .svc .dur{color:var(--muted)}
  .svc.featured{background:var(--navy-800);border-color:var(--navy-800)}
  .svc.featured h3,.svc.featured .price{color:var(--gold-light)}
  .svc.featured p,.svc.featured .dur{color:#aab3c8}
  .svc.featured .ico{background:var(--gold);color:var(--navy-900)}
  .svc.featured .meta{border-color:rgba(255,255,255,.12)}
  .tag{position:absolute;top:1.2rem;right:1.2rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--navy-900);padding:.3rem .7rem;border-radius:999px;font-weight:500}
  .note{text-align:center;color:var(--muted);font-size:.88rem;margin-top:2rem}

  /* WHY */
  .dark{background:var(--navy-900);color:var(--cream);position:relative;overflow:hidden}
  .why{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
  .why div{padding:1.8rem 1.4rem;border:1px solid rgba(201,162,94,.2);border-radius:var(--radius);text-align:center;background:linear-gradient(180deg,rgba(17,35,71,.5),rgba(5,13,28,.2))}
  .why svg{width:34px;height:34px;color:var(--gold);margin:0 auto 1rem}
  .why h3{font-size:1.4rem;color:var(--gold-light);margin-bottom:.4rem}
  .why p{font-size:.92rem;color:#aab3c8}

  /* GALLERY */
  .gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px;grid-auto-flow:dense}
  .g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
  .g:hover img{transform:scale(1.05)}
  .g.has-img::after{display:none}
  .g{border-radius:14px;overflow:hidden;position:relative;display:grid;place-items:center;color:rgba(255,255,255,.85);font-size:.82rem;letter-spacing:.08em;text-align:center}
  .g.tall{grid-row:span 2}
  .g.wide{grid-column:span 2}
  .g::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(255,255,255,.35),transparent 45%)}
  .g span{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.4rem}
  .g svg{width:26px;height:26px;opacity:.8}
  .p1{background:linear-gradient(150deg,#e9cfc4,#c99d92)}
  .p2{background:linear-gradient(150deg,#1b3366,#0a1730)}
  .p3{background:linear-gradient(150deg,#f1e3d0,#d5b893)}
  .p4{background:linear-gradient(150deg,#c7b2d6,#8f77a8)}
  .p5{background:linear-gradient(150deg,#e6c88c,#b38a45)}
  .p6{background:linear-gradient(150deg,#f3d6d9,#d99aa3)}
  .p7{background:linear-gradient(150deg,#2a4a85,#112347)}
  .ig-row{text-align:center;margin-top:2.4rem}
  .ig-row .btn{border:1px solid var(--navy-800);color:var(--navy-800)}
  .ig-row .btn:hover{background:var(--navy-800);color:var(--cream)}

  /* ABOUT */
  .about{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,80px);align-items:center}
  .about-img{position:relative}
  .about-img img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;width:100%;box-shadow:0 40px 80px -40px rgba(5,13,28,.6)}
  .about-img .cap{position:absolute;left:-18px;bottom:28px;background:var(--cream);color:var(--navy-800);padding:.9rem 1.2rem;border-radius:12px;box-shadow:0 20px 40px -20px rgba(0,0,0,.4);font-size:.85rem;max-width:230px}
  .about-img .cap b{display:block;font-family:var(--heading-font),serif;font-size:1.25rem;font-weight:600}
  .about h2{font-size:clamp(2.2rem,4.4vw,3.2rem);color:var(--navy-800);margin:.6rem 0 1.2rem}
  .about h2 .script{color:var(--gold);font-size:1.15em}
  .about p{color:var(--muted);margin-bottom:1rem}
  .cert{display:flex;gap:1rem;align-items:center;margin-top:1.8rem;padding:1.1rem 1.3rem;border-radius:14px;border:1px solid var(--cream-2);background:#fff}
  .cert .seal{flex:none;width:56px;height:56px;border-radius:50%;background:var(--navy-800);color:var(--gold-light);display:grid;place-items:center}
  .cert .seal svg{width:28px;height:28px}
  .cert b{display:block;color:var(--navy-800);font-weight:500}
  .cert small{color:var(--muted)}

  /* QUOTE */
  .quote{text-align:center;padding:clamp(60px,8vw,90px) 0;background:var(--navy-800);color:var(--gold-light)}
  .quote p{font-family:'Great Vibes',cursive;font-size:clamp(2rem,5vw,3.4rem);line-height:1.3}
  .quote small{display:block;margin-top:.6rem;color:#aab3c8;letter-spacing:.3em;text-transform:uppercase;font-size:.72rem}

  /* FAQ */
  .faq{max-width:760px;margin:0 auto}
  details{border-bottom:1px solid var(--cream-2);padding:1.2rem 0}
  summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--heading-font),serif;font-size:1.35rem;font-weight:500;color:var(--navy-800)}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";font-family:var(--body-font);font-weight:300;font-size:1.6rem;color:var(--gold);transition:transform .25s}
  details[open] summary::after{transform:rotate(45deg)}
  details p{color:var(--muted);margin-top:.7rem;padding-right:2rem}

  /* CONTACT */
  .contact{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:stretch}
  .card-dark{background:linear-gradient(160deg,var(--navy-700),var(--navy-900));color:var(--cream);border-radius:22px;padding:clamp(28px,4vw,48px);position:relative;overflow:hidden}
  .card-dark h2{font-size:clamp(2rem,4vw,2.8rem);color:var(--gold-light);margin:.6rem 0 1rem}
  .card-dark p{color:#b9c2d6;margin-bottom:1.8rem}
  .card-dark .btn{margin:0 .6rem .8rem 0}
  .info{background:#fff;border:1px solid var(--cream-2);border-radius:22px;padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;gap:1.4rem}
  .info div{display:flex;gap:1rem;align-items:flex-start}
  .info svg{flex:none;width:22px;height:22px;color:var(--gold);margin-top:3px}
  .info b{display:block;font-weight:500;color:var(--navy-800)}
  .info span{color:var(--muted);font-size:.95rem}

  footer{background:var(--navy-900);color:#8f99b0;padding:44px 0;font-size:.85rem}
  .foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
  footer .brand b{font-size:1.3rem}

  .wa-float{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(0,0,0,.45);transition:transform .25s}
  .wa-float:hover{transform:scale(1.08)}
  .wa-float svg{width:30px;height:30px}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}

  @media (max-width:960px){
    .services{grid-template-columns:1fr 1fr}
    .why{grid-template-columns:1fr 1fr}
    .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
    .about,.contact{grid-template-columns:1fr}
    .about-img{max-width:440px;margin:0 auto}
    .about-img .cap{left:12px}
  }
  @media (max-width:760px){
    .nav-links{position:fixed;inset:74px 0 auto 0;background:rgba(5,13,28,.97);flex-direction:column;padding:1.6rem 0 2rem;gap:1.3rem;transform:translateY(-130%);transition:transform .35s}
    .nav-links.open{transform:none}
    .menu-btn{display:block}
    nav{background:rgba(5,13,28,.92)}
  }
  @media (max-width:560px){
    .services,.why{grid-template-columns:1fr}
    .trust{gap:1rem 1.6rem}
  }
  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

  .hidden{display:none!important}
  .lb{position:fixed;inset:0;z-index:80;background:rgba(5,13,28,.92);display:none;place-items:center;padding:4vw;cursor:zoom-out}
  .lb.open{display:grid}
  .lb img{max-height:88vh;max-width:92vw;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
  .g.has-img{cursor:zoom-in}
