/* ===================================================================
   HOME PAGE — PAGE-SPECIFIC STYLES
   Hero slideshow, awards strip, pre-wedding banner, gallery, video
   grid, and testimonials. Header/footer/menu/enquiry-modal live in
   common.css so every page shares the exact same design.
=================================================================== */
a[href*="elfsight"],
div[class*="Branding"] {
    display: none !important;
}

  html,body{
    margin:0;
    padding:0;
    height:100%;
    font-family:'Jost', sans-serif;
    background:#000;
  }

  /* ===== HERO ===== */
  .hero{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
    background:#000;
  }

  /* slideshow layer */
  .hero-slides{
    position:absolute;
    inset:0;
  }
  .hero-slide{
    position:absolute;
    inset:0;
    background-size:cover;
    /* every slide below sets its own vertical anchor so faces/subjects
       never get cropped out on short-wide screens (portrait photos +
       100vh hero = the old centre-crop was cutting heads off). */
    background-position:center 20%;
    opacity:0;
    transform:scale(1.08);
    animation-name:fadeSlide;
    animation-duration:24s; /* total cycle = 24s / 4 images = 6s each */
    animation-iteration-count:infinite;
    animation-timing-function:ease-in-out;
  }
  .hero-slide:nth-child(1){
    background-image:url('images/horse_prewedding.jpg');
    background-position:center 22%;
    animation-delay:0s;
  }
  .hero-slide:nth-child(2){
    background-image:url('images/wedding_pheras.jpg');
    background-position:center 18%;
    animation-delay:6s;
  }
  .hero-slide:nth-child(3){
    background-image:url('images/wedding_aisle.jpg');
    background-position:center 14%;
    animation-delay:12s;
  }
  .hero-slide:nth-child(4){
    background-image:url('images/haldi_bride.jpg');
    background-position:center 14%;
    animation-delay:18s;
  }

  /* On short/very wide screens the crop still gets tight even with the
     upward bias above — ease it further at wider aspect ratios. */
  @media (min-width:1400px) and (max-height:820px){
    .hero-slide{background-position-y:10% !important;}
  }

  @keyframes fadeSlide{
    0%{opacity:0; transform:scale(1.08);}
    4%{opacity:1; transform:scale(1);}
    21%{opacity:1; transform:scale(1.03);}
    25%{opacity:0; transform:scale(1.06);}
    100%{opacity:0;}
  }

  /* dark wash so text/border stay legible */
  .hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 70%, rgba(0,0,0,.35) 100%);
    z-index:2;
    pointer-events:none;
  }

  /* thin white inset frame/border like the reference site */
  .hero-frame{
    position:absolute;
    inset: var(--gap);
    border:1px solid rgba(255,255,255,.75);
    z-index:3;
    pointer-events:none;
  }

  /* ===== TOP BAR ===== */
  .hero-topbar{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding: calc(var(--gap) + 20px) calc(var(--gap) + 26px) 0;
    color:#fff;
    background:transparent;
    transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
  }
  .hero-topbar.scrolled{
    background:#2b2119;
    padding-top:16px;
    padding-bottom:16px;
    box-shadow:0 4px 18px rgba(0,0,0,.18);
  }

  .menu-btn{
    display:flex;
    align-items:center;
    gap:14px;
    background:rgba(60,50,42,.55);
    border:0;
    color:#fff;
    letter-spacing:3px;
    font-size:14px;
    font-family:'Jost', sans-serif;
    font-weight:500;
    text-transform:uppercase;
    cursor:pointer;
    padding:14px 22px;
    transition:.3s;
  }
  .menu-btn:hover{
    background:rgba(60,50,42,.8);
  }
  .menu-btn .bars{
    display:flex;
    flex-direction:column;
    gap:5px;
  }
  .menu-btn .bars span{
    display:block;
    width:26px;
    height:1px;
    background:#fff;
  }

  .enquire-btn{
    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    text-decoration:none;
    letter-spacing:3px;
    font-size:14px;
    font-family:'Jost', sans-serif;
    font-weight:500;
    text-transform:uppercase;
    background:rgba(60,50,42,.55);
    border:0;
    padding:14px 22px;
    transition:.3s;
  }
  .enquire-btn svg{width:16px;height:16px;flex:none;}
  .enquire-btn:hover{
    background:rgba(60,50,42,.8);
  }

  .hero-quote{
    text-align:center;
    color:#fff;
    line-height:1.35;
    font-family:'Jost',sans-serif;
    letter-spacing:2px;
    font-weight:500;
    font-size:15px;
    text-transform:uppercase;
    position:absolute;
    left:50%;
    top:calc(var(--gap) + 28px);
    transform:translateX(-50%);
    white-space:nowrap;
  }
  .hero-quote .q{
    font-family:'Cormorant Garamond', serif;
    font-size:30px;
    line-height:.4;
    display:inline-block;
    position:relative;
    top:6px;
  }
  .hero-quote-logo{
    height:70px;
    width:auto;
    display:block;
  }

  /* ===== LOGO BOTTOM RIGHT ===== */
  .hero-logo{
    position:absolute;
    right: calc(var(--gap) + 14px);
    bottom: calc(var(--gap) + 14px);
    z-index:5;
    display:flex;
    align-items:center;
    color:#fff;
    text-align:right;
  }
  .hero-logo .brush{
    position:relative;
    padding:18px 14px 18px 22px;
  }
  .hero-logo .brush::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg, transparent 6%, rgba(255,255,255,.92) 6%, rgba(255,255,255,.92) 94%, transparent 94%);
    clip-path:polygon(6% 0%, 100% 4%, 96% 100%, 0% 96%);
    z-index:-1;
  }
  .hero-logo .name{
    font-family:'Cormorant Garamond', serif;
    font-size:40px;
    color:#1b1b1b;
    line-height:1;
  }
  .hero-logo .name small{
    display:block;
    font-family:'Jost',sans-serif;
    font-size:11px;
    letter-spacing:6px;
    color:#1b1b1b;
    margin-top:4px;
  }
  .hero-logo .studio-tag{
    writing-mode:vertical-rl;
    background:var(--accent);
    color:#fff;
    letter-spacing:4px;
    font-size:12px;
    padding:10px 6px;
    margin-left:2px;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  /* dots / progress indicator (subtle nicety, not in ref but helps show it's a slideshow) */
  .hero-progress{
    position:absolute;
    left:calc(var(--gap) + 26px);
    bottom:calc(var(--gap) + 26px);
    z-index:5;
    display:flex;
    gap:8px;
  }
  .hero-progress span{
    width:26px;
    height:2px;
    background:rgba(255,255,255,.35);
    overflow:hidden;
    position:relative;
  }
  .hero-progress span::after{
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;
    width:0%;
    background:#fff;
    animation:barFill 24s infinite linear;
  }
  .hero-progress span:nth-child(1)::after{animation-delay:0s;}
  .hero-progress span:nth-child(2)::after{animation-delay:-18s;}
  .hero-progress span:nth-child(3)::after{animation-delay:-12s;}
  .hero-progress span:nth-child(4)::after{animation-delay:-6s;}
  @keyframes barFill{
    0%{width:0%;}
    25%{width:100%;}
    100%{width:100%;}
  }

  @media (max-width: 767px){
    :root{--gap:12px;}
    .hero-topbar{padding: calc(var(--gap) + 12px) calc(var(--gap) + 12px) 0;}
    .hero-quote{display:none;}
    .menu-btn span.label, .enquire-btn span.label{display:none;}
    .hero-logo .name{font-size:28px;}
    .hero-progress{display:none;}
  }

  /* ===== FEATURED IN / AWARDS STRIP ===== */
  .featured-strip{
    background:var(--paper);
    padding:70px clamp(24px, 6vw, 120px);
  }
  .featured-strip .featured-inner{
    max-width:1400px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:40px;
  }
  .featured-logo{
    flex:1 1 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-width:120px;
    text-align:center;
  }
  .featured-logo svg{
    height:90px;
    width:auto;
    max-width:100%;
    display:block;
  }
  .featured-logo i{
    font-size:34px;
    color:var(--accent);
  }
  .featured-logo span{
    font-family:'Jost', sans-serif;
    letter-spacing:2px;
    font-size:13px;
    text-transform:uppercase;
    color:var(--ink);
    line-height:1.4;
  }
  @media (max-width: 991px){
    .featured-strip{padding:40px 28px;}
    .featured-strip .featured-inner{
      justify-content:center;
      gap:30px 24px;
    }
    .featured-logo{flex:0 1 40%;}
    .featured-logo svg{height:64px;}
    .featured-logo i{font-size:28px;}
  }

  /* ===== PRE-WEDDING BANNER ===== */
  .preview-banner{
    position:relative;
    width:100%;
    height:92vh;
    overflow:hidden;
    background:#000;
  }
  .preview-banner img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 20%;
  }
  .preview-banner .pb-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0) 55%, rgba(0,0,0,.55) 100%);
    z-index:1;
  }
  .preview-banner .pb-title{
    position:absolute;
    left:60px;
    bottom:60px;
    z-index:2;
    margin:0;
    color:#fff;
    font-family:'Jost', sans-serif;
    font-weight:300;
    letter-spacing:4px;
    font-size:56px;
    text-transform:uppercase;
  }
  .preview-banner .pb-social{
    position:absolute;
    right:40px;
    bottom:40px;
    z-index:2;
    display:flex;
    gap:12px;
  }
  .preview-banner .pb-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:18px;
    text-decoration:none;
    transition:.3s;
  }
  .preview-banner .pb-social a.ig1{background:radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);}
  .preview-banner .pb-social a.ig2{background:radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);}
  .preview-banner .pb-social a.fb{background:#3b5998;}
  .preview-banner .pb-social a.yt{background:#ff0000;}
  .preview-banner .pb-social a.pin{background:#e60023;}
  .preview-banner .pb-social a:hover{transform:translateY(-3px);}

  @media (max-width:767px){
    .preview-banner{height:70vh;}
    .preview-banner .pb-title{left:24px; bottom:32px; font-size:32px; letter-spacing:2px;}
    .preview-banner .pb-social{right:20px; bottom:20px;}
    .preview-banner .pb-social a{width:34px; height:34px; font-size:14px;}
  }

  /* ===== GALLERY GRID ===== */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:0;
    background:#000;
  }
  .gallery-item{
    position:relative;
    aspect-ratio:4/5;
    overflow:hidden;
  }
  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 20%;
    display:block;
    transition:transform .6s ease;
  }
  .gallery-item:hover img{
    transform:scale(1.06);
  }
  .gallery-item .gi-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.6) 100%);
    pointer-events:none;
  }
  .gallery-item .gi-name{
    position:absolute;
    left:0;
    bottom:0;
    z-index:2;
    color:#fff;
    font-family:'Jost', sans-serif;
    letter-spacing:2px;
    font-size:17px;
    font-weight:500;
    padding:14px 22px;
    background:rgba(20,20,20,.4);
    text-decoration:none;
    display:inline-block;
  }

  @media (max-width:767px){
    .gallery-grid{grid-template-columns:1fr;}
  }

  /* ===== VIDEO / FILMS SECTION ===== */
  .video-section{
    background:var(--paper);
    padding:100px 0 0;
  }
  .video-section-title{
    text-align:center;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:44px;
    letter-spacing:3px;
    color:var(--ink);
    margin:0 0 50px;
  }

  /* ===== VIDEO / FILMS GRID ===== */
  .video-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:2px;
    background:#000;
  }
  .video-card{
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#111;
  }
  .video-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 15%;
    display:block;
  }
  .video-card .vc-topbar{
    position:absolute;
    top:0; left:0; right:0;
    z-index:2;
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 20px;
    background:linear-gradient(180deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 100%);
  }
  .video-card .vc-avatar{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
    overflow:hidden;
  }
  .video-card .vc-avatar svg{width:20px;height:20px;}
  .video-card .vc-titles{color:#fff;}
  .video-card .vc-titles .vc-title{
    font-family:'Jost', sans-serif;
    font-weight:600;
    font-size:15px;
    line-height:1.2;
  }
  .video-card .vc-titles .vc-sub{
    font-family:'Jost', sans-serif;
    font-size:12px;
    opacity:.8;
  }
  .video-card .vc-play{
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    z-index:2;
    width:72px;
    height:50px;
    background:#e30f0f;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:22px;
    box-shadow:0 4px 14px rgba(0,0,0,.4);
  }
  .video-card .vc-bottom{
    position:absolute;
    left:0; right:0; bottom:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 18px;
    background:linear-gradient(0deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 100%);
  }
  .video-card .vc-arrow{
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(0,0,0,.45);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    text-decoration:none;
  }
  .video-card .vc-watch{
    display:flex;
    align-items:center;
    gap:8px;
    background:rgba(0,0,0,.55);
    color:#fff;
    font-family:'Jost', sans-serif;
    font-size:13px;
    letter-spacing:.5px;
    padding:8px 14px;
    border-radius:4px;
    text-decoration:none;
  }
  .video-card .vc-watch i{color:#e30f0f; font-size:16px;}
  .video-card iframe{
    width:100%;
    height:100%;
    display:block;
    border:0;
  }
  .video-card .vc-watermark{
    position:absolute;
    left:16px;
    bottom:56px;
    z-index:1;
    color:rgba(255,255,255,.85);
    font-family:'Jost', sans-serif;
    font-weight:600;
    font-size:44px;
    letter-spacing:2px;
    text-transform:uppercase;
    pointer-events:none;
  }

  @media (max-width:767px){
    .video-grid{grid-template-columns:1fr;}
    .video-card .vc-watermark{font-size:30px; bottom:48px;}
  }

  /* ===== INSTAGRAM REELS ===== */
  .insta-section{
    background:var(--paper);
    padding:100px 0 90px;
    text-align:center;
  }
  .insta-section-title{
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:44px;
    letter-spacing:3px;
    color:var(--ink);
    margin:0 0 10px;
  }
  .insta-section-sub{
    font-family:'Jost', sans-serif;
    font-size:15px;
    letter-spacing:1px;
    color:#8a7f74;
    margin:0 0 40px;
  }
  .insta-slider{
    display:flex;
    gap:16px;
    overflow-x:auto;
    padding:0 var(--gap) 20px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .insta-slider::-webkit-scrollbar{display:none;height:0;}
  .insta-card{
    position:relative;
    flex:none;
    width:220px;
    aspect-ratio:9/16;
    border-radius:14px;
    overflow:hidden;
    scroll-snap-align:start;
    box-shadow:0 8px 24px rgba(0,0,0,.15);
  }
  .insta-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .insta-play{
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    width:54px;
    height:54px;
    border-radius:50%;
    background:rgba(0,0,0,.45);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    backdrop-filter:blur(2px);
  }
  .insta-tag{
    position:absolute;
    top:12px; left:12px;
    display:flex;
    align-items:center;
    gap:6px;
    background:rgba(0,0,0,.5);
    color:#fff;
    font-family:'Jost', sans-serif;
    font-size:12px;
    letter-spacing:.5px;
    padding:5px 10px;
    border-radius:20px;
  }
  .insta-follow-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:10px;
    padding:14px 32px;
    border-radius:30px;
    background:radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
    color:#fff;
    font-family:'Jost', sans-serif;
    font-size:15px;
    letter-spacing:1px;
    text-decoration:none;
  }

  @media (max-width:767px){
    .insta-card{width:160px;}
    .insta-section-title{font-size:30px;}
  }

  /* ===== TESTIMONIALS ===== */
  .testimonials{
    background:var(--paper);
    padding:100px var(--gap) 80px;
  }
  .testimonials-title{
    text-align:center;
    font-family:'Jost', sans-serif;
    font-weight:400;
    font-size:44px;
    letter-spacing:3px;
    color:var(--ink);
    margin:0 0 50px;
  }
  .testimonials-summary{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    margin:-24px auto 44px;
    font-family:'Jost', sans-serif;
  }
  .testimonials-summary:empty{display:none;}
  .testimonials-summary .ts-badge{
    width:28px; height:28px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 1px rgba(0,0,0,.1);
    display:flex; align-items:center; justify-content:center;
    color:#4285F4;
    font-size:14px;
  }
  .testimonials-summary .ts-rating{
    font-weight:600;
    font-size:17px;
    color:var(--ink);
  }
  .testimonials-summary .ts-stars{color:#e0a63c; font-size:13px; letter-spacing:2px;}
  .testimonials-summary .ts-count{
    font-size:13px;
    color:#666;
    letter-spacing:.5px;
  }
  .testimonials-summary .ts-link{
    margin-left:6px;
    font-size:12px;
    letter-spacing:1px;
    text-transform:uppercase;
    color:var(--accent);
    text-decoration:underline;
  }
  .testimonials-wrap{
    position:relative;
    max-width:1400px;
    margin:0 auto;
  }
  .testimonial-track{
    overflow:hidden;
  }
  .testimonial-grid{
    display:flex;
    gap:36px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px;
  }
  .testimonial-grid::-webkit-scrollbar{display:none;}
  .testimonial-grid{scrollbar-width:none;}
  .testimonial-card{
    flex:0 0 calc((100% - 72px)/3);
    scroll-snap-align:start;
    text-align:center;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    padding:36px 28px;
  }
  .testimonial-card .tc-avatar{
    width:64px;
    height:64px;
    margin:0 auto 18px;
    border-radius:50%;
    background:var(--accent);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Cormorant Garamond', serif;
    font-size:28px;
    overflow:hidden;
  }
  .testimonial-card .tc-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .testimonial-card .tc-stars{
    color:#e0a63c;
    font-size:13px;
    letter-spacing:3px;
    margin-bottom:16px;
  }
  .testimonial-card .tc-name{
    font-family:'Jost', sans-serif;
    font-weight:600;
    letter-spacing:1.5px;
    font-size:16px;
    color:var(--ink);
    margin-bottom:16px;
  }
  .testimonial-card .tc-name span{
    display:block;
    font-family:'Jost', sans-serif;
    font-weight:400;
    letter-spacing:1px;
    font-size:12px;
    text-transform:uppercase;
    color:var(--accent);
    margin-top:4px;
  }
  .testimonial-card .tc-quote{
    font-family:'Jost', sans-serif;
    font-size:15px;
    line-height:1.8;
    color:#555;
  }
  .t-arrow{
    position:absolute;
    top:130px;
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(0,0,0,.2);
    background:transparent;
    color:var(--ink);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    cursor:pointer;
    transition:.3s;
  }
  .t-arrow:hover{background:var(--ink); color:#fff; border-color:var(--ink);}
  .t-prev{left:-56px;}
  .t-next{right:-56px;}
  .testimonials-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:28px;
  }
  .testimonials-dots .t-dot{
    width:8px; height:8px;
    border-radius:50%;
    background:rgba(0,0,0,.18);
    border:none;
    cursor:pointer;
    padding:0;
    transition:.3s;
  }
  .testimonials-dots .t-dot.active{
    background:var(--accent);
    width:22px;
    border-radius:5px;
  }

  @media (max-width:991px){
    .testimonial-card{flex:0 0 calc((100% - 36px)/2);}
    .t-prev{left:-8px;}
    .t-next{right:-8px;}
  }
  @media (max-width:576px){
    .testimonial-card{flex:0 0 88%;}
    .testimonials-title{font-size:30px;}
    .video-section-title{font-size:30px;}
  }

  /* ===== SCROLL REVEAL ANIMATIONS ===== */
  .reveal{
    opacity:0;
    transform:translateY(40px);
    transition:opacity .8s ease, transform .8s ease;
  }
  .reveal.in-view{
    opacity:1;
    transform:translateY(0);
  }
  .testimonials-title.reveal{transform:translateY(20px);}
  .pb-title, .pb-social{
    opacity:0;
    animation:pbFadeUp .9s ease forwards;
  }
  .pb-social{animation-delay:.15s;}
  @keyframes pbFadeUp{
    from{opacity:0; transform:translateY(24px);}
    to{opacity:1; transform:translateY(0);}
  }
  .menu-btn, .enquire-btn{
    transition:transform .25s ease, background .3s ease;
  }
  .menu-btn:hover, .enquire-btn:hover{
    transform:translateY(-2px);
  }
  .menu-overlay .menu-grid{
    opacity:0;
    transform:translateY(16px);
    transition:opacity .35s ease, transform .35s ease;
  }
  .menu-overlay.open .menu-grid{
    opacity:1;
    transform:translateY(0);
  }
  @media (prefers-reduced-motion: reduce){
    .reveal, .pb-title, .pb-social{opacity:1 !important; transform:none !important; animation:none !important;}
  }

