:root{
    --bg:#000000;
    --bg-alt:#0a0a0a;
    --surface:#111111;
    --surface-2:#161616;
    --gold:#c9a227;
    --gold-soft:#e8cf7a;
    --gold-dim:#8a712a;
    --ink:#f2ece0;
    --muted:#bdbdbd;
    --line:rgba(201,162,39,0.18);
    --radius:6px;
    --shadow:0 14px 34px -16px rgba(0,0,0,0.85);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:'Inter',sans-serif;font-weight:400;line-height:1.7;letter-spacing:0.005em;
    letter-spacing:0.01em;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:'Playfair Display',serif;font-weight:700;margin:0;letter-spacing:0.01em;color:var(--ink);}
  .script{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;color:var(--gold-soft);}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:0.3em;
    text-transform:uppercase;color:var(--gold);font-weight:500;
  }
  .eyebrow .spot{width:14px;height:14px;flex:none;}
  :focus-visible{outline:1.5px solid var(--gold);outline-offset:3px;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  /* ---------- Spotlight signature mark (reused sprite) ---------- */
  .sprite-defs{position:absolute;width:0;height:0;overflow:hidden;}

  /* ---------- Top strip ---------- */
  .topstrip{background:#000000;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted);}
  .topstrip .wrap{display:flex;justify-content:space-between;align-items:center;padding:9px 28px;flex-wrap:wrap;gap:8px;}
  .topstrip a{transition:color .2s;}
  .topstrip a:hover{color:var(--gold-soft);}
  .topstrip .contact-bits{display:flex;gap:22px;flex-wrap:wrap;}
  .topstrip .contact-bits span{display:inline-flex;align-items:center;gap:7px;}
  .topstrip .socials{display:flex;gap:16px;}

  /* ---------- Header ---------- */
  header.site{position:sticky;top:0;z-index:50;background:rgba(0,0,0,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand .logo-img{height:40px;width:auto;flex:none;}
  .brand-word{font-family:'Playfair Display',serif;font-size:23px;font-weight:700;letter-spacing:0.06em;line-height:1;color:var(--ink);}
  .brand-sub{display:block;font-family:'Inter',sans-serif;font-size:9.5px;letter-spacing:0.35em;color:var(--gold);margin-top:3px;}
  .nav ul{list-style:none;display:flex;gap:32px;margin:0;padding:0;font-size:13.5px;letter-spacing:0.03em;font-weight:500;}
  .nav ul a{position:relative;padding:4px 0;color:var(--ink);opacity:.92;transition:opacity .2s;}
  .nav ul a:hover{opacity:1;}
  .nav ul a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .25s;}
  .nav ul a:hover::after{width:100%;}
  .nav-cta{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gold);color:var(--gold-soft);border-radius:999px;padding:9px 20px;font-size:12.5px;letter-spacing:.05em;transition:background .2s,color .2s;white-space:nowrap;}
  .nav-cta:hover{background:var(--gold);color:#0d0d0c;}
  .menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);padding:8px 10px;font-size:19px;line-height:1;border-radius:6px;cursor:pointer;}

  /* ---------- Mobile menu ---------- */
  .mobile-menu{display:none;}

  /* ---------- Hero ---------- */
  .hero{position:relative;padding:88px 0 56px;overflow:hidden;background:radial-gradient(circle at 82% 6%, rgba(201,162,39,0.09), transparent 45%), radial-gradient(circle at 6% 92%, rgba(201,162,39,0.06), transparent 45%);}
  .hero .wrap{position:relative;z-index:2;text-align:center;}
  .hero .wrap > .reveal{max-width:760px;margin:0 auto;}
  .location-pill{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);padding:7px 18px 7px 10px;border-radius:999px;font-size:12px;color:var(--muted);margin-bottom:28px;}
  .location-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none;}
  .hero h1{font-size:clamp(38px,5.6vw,64px);max-width:780px;line-height:1.12;font-weight:700;margin-left:auto;margin-right:auto;}
  .hero p.lede{max-width:500px;margin:24px auto 38px;color:var(--muted);font-size:16.5px;}
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
  .btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-size:13.5px;letter-spacing:.04em;border:1px solid transparent;border-radius:999px;transition:transform .2s, background .2s, color .2s, border-color .2s, box-shadow .2s;cursor:pointer;font-family:'Inter',sans-serif;}
  .btn-primary{background:var(--gold);color:#0d0d0c;font-weight:500;box-shadow:0 12px 26px -10px rgba(201,162,39,0.45);}
  .btn-primary:hover{background:var(--gold-soft);transform:translateY(-2px);}
  .btn-ghost{border-color:var(--line);color:var(--ink);}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft);transform:translateY(-2px);}

  .hero-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;margin-top:60px;height:400px;}
  .collage-panel{border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow);border:1px solid var(--line);}
  .collage-panel.tall{grid-row:1/3;}
  .collage-panel .art-bg{position:absolute;inset:0;background:linear-gradient(155deg,#0a0a0a,#131313 65%,#1a1a1a);}
  .collage-panel .art-bg::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 22%, rgba(201,162,39,0.14), transparent 55%);}
  .collage-panel svg{position:relative;z-index:2;width:56%;}
  .collage-panel.tall svg{width:60%;}
  .collage-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
  .collage-panel::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(0deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.05) 45%, transparent 65%);pointer-events:none;}
  .collage-panel .art-label{position:absolute;left:16px;bottom:14px;z-index:3;font-family:'Playfair Display',serif;font-style:italic;color:var(--gold-soft);font-size:15px;}

  /* ---------- Photo gallery grid (multi-image showcase) ---------- */
  .photo-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
  .photo-gallery .collage-panel{aspect-ratio:3/4;}
  .photo-gallery .collage-panel .art-label{font-size:13px;left:12px;bottom:12px;}

  /* ---------- Studio banner slider ---------- */
  .studio-banner{
    position:relative;
    --ink:#141414;--muted:#4a4a4a;--line:rgba(0,0,0,0.14);
    --surface:#f1f1f1;--surface-2:#e9e9e9;--bg-alt:#ffffff;
    --gold:#96700f;--gold-soft:#7a5c12;--gold-dim:#5c470e;
    --shadow:0 14px 34px -16px rgba(0,0,0,0.18);
    background:#ffffff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0 56px;
  }
  .banner-head{margin-top:34px;max-width:720px;}
  .banner-head h2{margin-top:14px;font-size:clamp(24px,3vw,34px);}
  .banner-head p{margin:10px 0 0;color:var(--muted);font-size:14.5px;}
  .banner-head .banner-address{margin-top:18px;color:var(--gold-soft);font-size:13.5px;letter-spacing:.02em;}
  .banner-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px;}
  .banner-action-btn{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;font-size:13px;letter-spacing:.03em;border-radius:999px;border:1px solid var(--line);color:var(--ink);transition:transform .2s,background .2s,color .2s,border-color .2s;white-space:nowrap;}
  .banner-action-btn svg{width:16px;height:16px;flex:none;}
  .banner-action-btn:hover{transform:translateY(-2px);}
  .banner-action-btn.primary{background:var(--gold);color:#0d0d0c;border-color:var(--gold);font-weight:500;}
  .banner-action-btn.primary:hover{background:var(--gold-soft);border-color:var(--gold-soft);}
  .banner-action-btn:not(.primary):not(.whatsapp):hover{border-color:var(--gold);color:var(--gold-soft);}
  .banner-action-btn.whatsapp{background:#25d366;color:#ffffff;border-color:#25d366;}
  .banner-action-btn.whatsapp:hover{background:#1ebe5b;border-color:#1ebe5b;}
  @media (max-width:520px){
    .banner-action-btn{flex:1 1 auto;justify-content:center;}
  }
  .banner-slider{position:relative;width:100%;height:480px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);}
  .banner-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;}
  .banner-slide.active{opacity:1;z-index:2;}
  .banner-slide img{width:100%;height:100%;object-fit:cover;display:block;}
  .banner-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,0.55) 0%, transparent 30%, rgba(0,0,0,0.1) 100%);}
  .banner-arrows{position:absolute;right:20px;top:20px;z-index:4;display:flex;gap:10px;}
  .banner-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,0.5);backdrop-filter:blur(6px);color:var(--gold-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;}
  .banner-arrow:hover{border-color:var(--gold);background:rgba(0,0,0,0.7);}
  .banner-arrow svg{width:16px;height:16px;}
  .banner-dots{position:absolute;left:0;right:0;bottom:18px;z-index:4;display:flex;justify-content:center;gap:10px;}
  .banner-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--gold);background:transparent;cursor:pointer;padding:0;transition:background .25s,transform .25s;}
  .banner-dot.active{background:var(--gold);transform:scale(1.15);}
  @media (max-width:768px){
    .studio-banner{padding:48px 0 40px;}
    .banner-slider{height:320px;}
    .banner-arrows{right:14px;top:14px;}
  }

  /* ---------- Floating quick-contact rail ---------- */
  .quick-contact{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:14px;}
  .quick-contact a{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px -8px rgba(0,0,0,0.55);transition:transform .2s;border:1px solid rgba(255,255,255,0.15);}
  .quick-contact a:hover{transform:scale(1.08);}
  .quick-contact a svg{width:22px;height:22px;}
  .quick-contact .qc-book{background:var(--gold-dim);color:#f2ece0;}
  .quick-contact .qc-whatsapp{background:var(--gold);color:#0d0d0c;}
  .quick-contact .qc-call{background:#0d0d0c;color:#f2ece0;}
  @media (max-width:768px){
    .quick-contact{left:10px;gap:10px;}
    .quick-contact a{width:44px;height:44px;}
    .quick-contact a svg{width:18px;height:18px;}
  }

  /* ---------- Marquee ---------- */
  .marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#000000;overflow:hidden;white-space:nowrap;padding:15px 0;}
  .marquee-track{display:inline-flex;animation:scroll 36s linear infinite;}
  .marquee-track span{font-family:'Playfair Display',serif;font-style:italic;font-size:18px;color:var(--muted);padding:0 28px;display:inline-flex;align-items:center;gap:28px;}
  .marquee-track span::after{content:"✦";color:var(--gold);font-style:normal;font-size:11px;}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

  /* ---------- Section shell ---------- */
  section{padding:100px 0;}
  .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:50px;flex-wrap:wrap;}
  .section-head h2{font-size:clamp(28px,3.2vw,38px);max-width:520px;}
  .section-head p{color:var(--muted);max-width:360px;font-size:14.5px;margin:0;}

  /* ---------- About ---------- */
  .about{
    --ink:#141414;--muted:#4a4a4a;--line:rgba(0,0,0,0.14);
    --surface:#f1f1f1;--surface-2:#e9e9e9;--bg-alt:#ffffff;
    --gold:#96700f;--gold-soft:#7a5c12;--gold-dim:#5c470e;
    --shadow:0 14px 34px -16px rgba(0,0,0,0.18);
    background:#ffffff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  .about-copy p{color:var(--muted);font-size:15px;margin-top:18px;}
  .about-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px;}
  .about-list li{display:flex;gap:12px;font-size:14px;color:var(--ink);align-items:flex-start;}
  .about-list li svg{flex:none;margin-top:2px;width:15px;height:15px;}
  .portrait-frame{width:100%;aspect-ratio:1/1;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
  .portrait-frame svg{position:relative;z-index:2;width:72%;}
  .stat-row{display:flex;flex-wrap:wrap;gap:56px;margin-top:40px;border-top:1px solid var(--line);padding-top:34px;}
  .stat{flex:0 1 auto;border-right:1px solid var(--line);padding-right:56px;}
  .stat:last-child{border-right:none;padding-right:0;}
  .stat .num{font-family:'Playfair Display',serif;font-size:38px;color:var(--gold-soft);line-height:1;font-weight:700;}
  .stat .label{font-size:12.5px;color:var(--muted);letter-spacing:.02em;margin-top:8px;max-width:160px;}

  /* ---------- Services ---------- */
  .services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .service-card{background:var(--bg);padding:32px 26px;transition:background .25s;}
  .service-card:hover{background:var(--surface-2);}
  .service-card svg{width:26px;height:26px;color:var(--gold);margin-bottom:18px;}
  .service-card h3{font-size:18px;font-weight:700;margin-bottom:8px;}
  .service-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.6;}

  /* ---------- Service photo cards (image + service inline) ---------- */
  .services-photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:26px;}
  .service-photo-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);}
  .service-photo-card .spc-img{position:relative;aspect-ratio:4/3;overflow:hidden;}
  .service-photo-card .spc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .service-photo-card .spc-body{padding:18px 18px 22px;}
  .service-photo-card h3{font-size:16px;font-weight:700;margin:0 0 6px;}
  .service-photo-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;}

  /* ---------- Bridal spotlight ---------- */
  .bridal{
    position:relative;
    --ink:#141414;--muted:#4a4a4a;--line:rgba(0,0,0,0.14);
    --surface:#f1f1f1;--surface-2:#e9e9e9;--bg-alt:#ffffff;
    --gold:#96700f;--gold-soft:#7a5c12;--gold-dim:#5c470e;
    --shadow:0 14px 34px -16px rgba(0,0,0,0.18);
    background:#ffffff;
  }
  .bridal-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
  .bridal-copy p{color:var(--muted);font-size:15px;margin-top:18px;max-width:440px;}
  .bridal-art{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;}
  .bridal-art .art-bg{position:absolute;inset:0;background:linear-gradient(160deg,#0a0a0a,#151515 60%,#1f1f1f);}
  .bridal-art .art-bg::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 15%, rgba(232,207,122,0.18), transparent 55%);}
  .bridal-art svg{position:relative;z-index:2;width:58%;}

  /* ---------- Brands strip ---------- */
  .brands{background:#000000;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0;}
  #signature-services{padding:64px 0 76px;}
  .brands .wrap{text-align:center;}
  .brands .eyebrow{margin-bottom:22px;justify-content:center;}
  .brand-list{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 34px;font-family:'Playfair Display',serif;font-size:19px;color:var(--muted);letter-spacing:.03em;}
  .brand-list span{color:var(--gold-soft);}

  /* ---------- Testimonials ---------- */
  .testimonials{
    --ink:#141414;--muted:#4a4a4a;--line:rgba(0,0,0,0.14);
    --surface:#f1f1f1;--surface-2:#e9e9e9;--bg-alt:#ffffff;
    --gold:#96700f;--gold-soft:#7a5c12;--gold-dim:#5c470e;
    --shadow:0 14px 34px -16px rgba(0,0,0,0.18);
    background:#ffffff;border-bottom:1px solid var(--line);
  }
  .t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .t-card{background:var(--surface);padding:32px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
  .t-card .quote-mark{font-family:'Playfair Display',serif;font-size:42px;color:var(--gold);line-height:1;display:block;margin-bottom:6px;}
  .t-card p.quote{color:var(--ink);font-size:14.5px;min-height:105px;}
  .t-card .who{margin-top:18px;display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);letter-spacing:.02em;}
  .t-card .avatar{width:32px;height:32px;border-radius:50%;flex:none;background:linear-gradient(155deg,var(--gold),var(--gold-dim));color:#0d0d0c;font-family:'Playfair Display',serif;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center;}
  .t-card .who strong{color:var(--gold-soft);font-weight:500;display:block;}

  /* ---------- Location ---------- */
  /* ---------- Location ---------- */
  .location-section{
    --ink:#141414;--muted:#4a4a4a;--line:rgba(0,0,0,0.14);
    --surface:#f1f1f1;--surface-2:#e9e9e9;--bg-alt:#f5f5f3;
    --gold:#96700f;--gold-soft:#7a5c12;--gold-dim:#5c470e;
    --shadow:0 14px 34px -16px rgba(0,0,0,0.18);
    background:#ffffff;
  }
  .location-section .wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
  .loc-info{padding:52px 46px;background:var(--surface);}
  .loc-info .eyebrow{margin-bottom:16px;}
  .loc-info h2{font-size:28px;margin-bottom:16px;}
  .loc-detail{display:flex;gap:14px;margin-top:20px;font-size:14px;color:var(--muted);}
  .loc-detail svg{flex:none;margin-top:2px;color:var(--gold);width:17px;height:17px;}
  .loc-detail strong{display:block;color:var(--ink);font-weight:500;margin-bottom:2px;}
  .hours-table{margin-top:26px;border-top:1px solid var(--line);padding-top:18px;font-size:13.5px;}
  .hours-table div{display:flex;justify-content:space-between;padding:5px 0;color:var(--muted);}
  .hours-table div span:last-child{color:var(--ink);}
  .map-frame{min-height:400px;border-left:1px solid var(--line);position:relative;overflow:hidden;}
  .map-art{width:100%;height:100%;min-height:400px;display:block;}
  .map-caption{position:absolute;left:16px;top:16px;z-index:2;background:var(--surface);border:1px solid var(--line);padding:12px 16px;border-radius:8px;box-shadow:var(--shadow);font-size:12px;color:var(--muted);max-width:210px;line-height:1.5;}
  .map-caption strong{display:block;color:var(--gold-soft);font-family:'Playfair Display',serif;font-size:14.5px;margin-bottom:3px;}
  .map-fallback{position:absolute;right:14px;bottom:14px;z-index:3;background:var(--gold);color:#0d0d0c;font-size:12px;font-weight:500;padding:10px 18px;border-radius:999px;box-shadow:var(--shadow);transition:background .2s, transform .2s;}
  .map-fallback:hover{background:var(--gold-soft);transform:translateY(-2px);}

  /* ---------- Booking form ---------- */
  .booking{
    --ink:#141414;--muted:#4a4a4a;--line:rgba(0,0,0,0.14);
    --surface:#f1f1f1;--surface-2:#e9e9e9;--bg-alt:#ffffff;
    --gold:#96700f;--gold-soft:#7a5c12;--gold-dim:#5c470e;
    --shadow:0 14px 34px -16px rgba(0,0,0,0.18);
    background:#ffffff;
  }
  .booking input,.booking select,.booking textarea{background:#ffffff;}
  .booking .wrap{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;}
  .booking-copy p{color:var(--muted);font-size:15px;margin-top:18px;max-width:400px;}
  form.appointment{border:1px solid var(--line);padding:38px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
  .form-field{display:flex;flex-direction:column;gap:8px;}
  .form-field.full{grid-column:1/-1;}
  label{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
  input,select,textarea{background:#050505;border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14px;}
  input:focus,select:focus,textarea:focus{border-color:var(--gold);}
  textarea{resize:vertical;min-height:88px;}
  .form-note{font-size:12px;color:var(--muted);margin:16px 0 20px;display:flex;gap:8px;align-items:flex-start;}
  .form-note input{width:auto;margin-top:2px;}

  /* ---------- Footer ---------- */
  footer{border-top:1px solid var(--line);padding:54px 0 26px;background:#000000;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:46px;}
  .footer-brand-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
  .footer-brand-row .logo-img{height:46px;width:auto;flex:none;}
  .footer-brand p{color:var(--muted);font-size:13.5px;max-width:280px;}
  footer h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px;font-weight:500;font-family:'Inter',sans-serif;}
  footer ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:13.5px;color:var(--muted);}
  footer ul li{line-height:1.5;}
  footer ul a:hover{color:var(--gold-soft);}
  .footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted);}
  .footer-socials{display:flex;gap:14px;margin-top:18px;}
  .footer-socials a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:border-color .2s,color .2s;}
  .footer-socials a:hover{border-color:var(--gold);color:var(--gold-soft);}
  .footer-socials svg{width:18px;height:18px;}

  /* ---------- Reveal on scroll ---------- */
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- Responsive ---------- */
  @media (max-width: 980px){
    .nav ul{display:none;}
    .menu-toggle{display:inline-block;}
    .mobile-menu{
      display:block;position:absolute;top:100%;left:0;right:0;
      background:#000000;border-top:1px solid var(--line);box-shadow:var(--shadow);
      padding:22px 28px 28px;max-height:0;overflow:hidden;opacity:0;
      transition:max-height .3s ease, opacity .25s ease;z-index:60;
    }
    .mobile-menu.open{max-height:460px;opacity:1;}
    .mobile-menu ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:18px;font-size:15px;}
    .mobile-menu ul a{color:var(--ink);}
    .mobile-menu .btn{width:100%;justify-content:center;}
    .about-grid,.bridal-grid,.booking .wrap{grid-template-columns:1fr;}
    .bridal-grid{display:flex;flex-direction:column-reverse;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .services-photo-grid{grid-template-columns:repeat(3,1fr);}
    .t-grid{grid-template-columns:1fr;}
    .location-section .wrap{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .hero-collage{grid-template-columns:1fr 1fr;height:320px;}
    .photo-gallery{grid-template-columns:repeat(3,1fr);}
    .stat-row{flex-direction:column;gap:20px;}
    .stat{border-right:none;border-bottom:1px solid var(--line);padding-bottom:18px;padding-right:0;}
    .stat:last-child{border-bottom:none;padding-bottom:0;}
  }
  @media (max-width: 560px){
    .services-grid{grid-template-columns:1fr;}
    .services-photo-grid{grid-template-columns:repeat(2,1fr);}
    .form-row{grid-template-columns:1fr;}
    .hero-collage{grid-template-columns:1fr;height:auto;}
    .collage-panel{aspect-ratio:4/3;}
    .collage-panel.tall{grid-row:auto;}
    .photo-gallery{grid-template-columns:repeat(2,1fr);}
    .footer-grid{grid-template-columns:1fr;}
    .topstrip .contact-bits{display:none;}
    .brand-list{gap:10px 20px;font-size:16px;}
  }

  .nav ul a.active{opacity:1;}
  .nav ul a.active::after{width:100%;}
