/*
Theme Name: Squirrels Fresh Seafood
Theme URI: https://squirrelsfreshseafood.com
Author: Squirrels, Fresh Seafood
Description: Custom one-page site for Squirrels, Fresh Seafood in Oxford, MS. Displays the menu and links out to a Shopify store, which handles all online ordering and payment.
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: squirrels-fresh-seafood
*/

  :root{
    --navy-deep:#071a30;
    --navy:#0e2a47;
    --navy-soft:#15375c;
    --orange:#f2701c;
    --orange-light:#ff9448;
    --cream:#fbf6ea;
    --cream-dim:#f2ead9;
    --gold:#e8a33d;
    --white:#ffffff;
    --ink:#1a1f27;
    --line: rgba(255,255,255,0.14);
    --shadow: 0 20px 45px rgba(7,26,48,0.28);
    --radius-card: 4px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Figtree', sans-serif;
    background:var(--cream);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  h1,h2,h3{
    font-family:'Anton', sans-serif;
    font-weight:400;
    letter-spacing:0.01em;
    line-height:1.02;
    margin:0;
  }
  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 28px;
  }
  ::selection{background:var(--orange); color:var(--white);}
  [hidden]{ display:none !important; }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  /* ---------- NAV ---------- */
  header.site-nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:transparent;
    transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
    padding:18px 0;
  }
  header.site-nav.scrolled{
    background:rgba(7,26,48,0.94);
    box-shadow:0 8px 24px rgba(0,0,0,0.18);
    padding:10px 0;
    backdrop-filter:blur(6px);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    gap:20px;
  }
  .brand{display:flex; align-items:center; gap:12px;}
  .brand img{height:52px; width:auto; transition:height .35s ease;}
  header.site-nav.scrolled .brand img{height:40px;}
  .brand-text{
    font-family:'Anton', sans-serif;
    color:var(--white);
    font-size:1.15rem;
    letter-spacing:0.02em;
    line-height:1;
  }
  .brand-text span{
    display:block;
    font-family:'Figtree', sans-serif;
    font-weight:600;
    font-size:0.62rem;
    letter-spacing:0.18em;
    color:var(--orange-light);
    margin-top:4px;
  }
  nav.nav-links{
    display:flex; align-items:center; gap:34px;
  }
  nav.nav-links li{
    list-style:none; margin:0; padding:0; display:contents;
  }
  nav.nav-links a{
    color:var(--white);
    font-weight:600;
    font-size:0.95rem;
    position:relative;
    padding:6px 0;
    opacity:0.88;
    transition:opacity .2s ease;
  }
  nav.nav-links a::after{
    content:"";
    position:absolute; left:0; bottom:0;
    width:0; height:2px;
    background:var(--orange);
    transition:width .25s ease;
  }
  nav.nav-links a:hover{opacity:1;}
  nav.nav-links a:hover::after, nav.nav-links a.active::after{width:100%;}
  nav.nav-links a.active{opacity:1;}
  .nav-cta{
    background:var(--orange);
    color:var(--white) !important;
    padding:11px 22px;
    border-radius:3px;
    font-weight:700;
    font-size:0.9rem;
    white-space:nowrap;
    transition:background .2s ease, transform .2s ease;
  }
  .nav-cta:hover{background:var(--orange-light); transform:translateY(-1px);}
  .hamburger{
    display:none;
    flex-direction:column; gap:5px;
    background:none; border:none; cursor:pointer; padding:6px;
    z-index:110;
  }
  .hamburger span{
    width:26px; height:2.5px; background:var(--white); border-radius:2px;
    transition:transform .3s ease, opacity .3s ease;
  }
  .hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .hamburger.open span:nth-child(2){opacity:0;}
  .hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    background:
      radial-gradient(1100px 620px at 82% -10%, rgba(242,112,28,0.22), transparent 60%),
      linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);
    padding:168px 0 120px;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(115deg, rgba(255,255,255,0.035) 0 2px, transparent 2px 90px);
    pointer-events:none;
  }
  .hero-grid{
    position:relative; z-index:2;
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:40px;
    align-items:center;
  }
  .badge-pill{
    display:inline-flex; align-items:center; gap:9px;
    background:rgba(242,112,28,0.14);
    border:1px solid rgba(242,112,28,0.5);
    color:var(--orange-light);
    padding:8px 16px 8px 12px;
    border-radius:100px;
    font-size:0.8rem;
    font-weight:700;
    letter-spacing:0.03em;
    margin-bottom:26px;
    opacity:0;
    animation:riseIn .7s ease forwards;
    animation-delay:.05s;
  }
  .badge-pill .dot{
    width:8px; height:8px; border-radius:50%;
    background:var(--orange);
    box-shadow:0 0 0 0 rgba(242,112,28,0.6);
    animation:pulseDot 2s infinite;
  }
  @keyframes pulseDot{
    0%{box-shadow:0 0 0 0 rgba(242,112,28,0.55);}
    70%{box-shadow:0 0 0 9px rgba(242,112,28,0);}
    100%{box-shadow:0 0 0 0 rgba(242,112,28,0);}
  }
  .hero h1{
    color:var(--white);
    font-size:clamp(2.7rem, 5.6vw, 4.6rem);
    opacity:0;
    animation:riseIn .75s ease forwards;
    animation-delay:.15s;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--orange);
  }
  .hero p.lede{
    color:rgba(255,255,255,0.78);
    font-size:1.2rem;
    max-width:520px;
    margin:24px 0 36px;
    line-height:1.55;
    opacity:0;
    animation:riseIn .75s ease forwards;
    animation-delay:.28s;
  }
  .hero-ctas{
    display:flex; gap:16px; flex-wrap:wrap;
    opacity:0;
    animation:riseIn .75s ease forwards;
    animation-delay:.4s;
  }
  @keyframes riseIn{
    from{opacity:0; transform:translateY(16px);}
    to{opacity:1; transform:translateY(0);}
  }
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    padding:15px 28px;
    border-radius:3px;
    font-weight:700;
    font-size:0.98rem;
    cursor:pointer;
    border:2px solid transparent;
    transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
  }
  .btn-primary{background:var(--orange); color:var(--white);}
  .btn-primary:hover{background:var(--orange-light); transform:translateY(-2px);}
  .btn-ghost{border-color:rgba(255,255,255,0.35); color:var(--white);}
  .btn-ghost:hover{border-color:var(--white); background:rgba(255,255,255,0.06); transform:translateY(-2px);}
  .btn-dark{background:var(--navy-deep); color:var(--white);}
  .btn-dark:hover{background:var(--navy-soft); transform:translateY(-2px);}

  .hero-art{
    position:relative;
    display:flex; justify-content:center; align-items:center;
    opacity:0;
    animation:heroArtIn .9s cubic-bezier(.2,.9,.25,1) forwards;
    animation-delay:.25s;
  }
  @keyframes heroArtIn{
    from{opacity:0; transform:scale(.88) rotate(-4deg);}
    to{opacity:1; transform:scale(1) rotate(0deg);}
  }
  .hero-art .ring{
    position:absolute;
    width:420px; height:420px;
    border-radius:50%;
    border:1.5px dashed rgba(242,112,28,0.35);
    animation:spinSlow 60s linear infinite;
  }
  @keyframes spinSlow{ to{ transform:rotate(360deg); } }
  .hero-art img{
    width:min(430px, 90%);
    filter:drop-shadow(0 25px 40px rgba(0,0,0,0.45));
  }

  .hero-stats{
    position:relative; z-index:2;
    margin-top:72px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);
    padding-top:30px;
  }
  .hero-stats div{padding:0 24px; border-left:1px solid var(--line);}
  .hero-stats div:first-child{border-left:none; padding-left:0;}
  .hero-stats strong{
    display:block;
    font-family:'Anton', sans-serif;
    font-size:1.5rem;
    color:var(--orange-light);
    margin-bottom:6px;
  }
  .hero-stats span{
    color:rgba(255,255,255,0.68);
    font-size:0.88rem;
  }

  /* ---------- WAVE DIVIDER ---------- */
  .wave{ display:block; width:100%; height:auto; margin-bottom:-2px; position:relative; z-index:1;}

  /* ---------- MARQUEE ---------- */
  .marquee{
    background:var(--orange);
    overflow:hidden;
    padding:13px 0;
    border-top:1px solid rgba(0,0,0,0.08);
    border-bottom:1px solid rgba(0,0,0,0.08);
  }
  .marquee-track{
    display:flex; width:max-content;
    animation:scrollLeft 32s linear infinite;
  }
  .marquee:hover .marquee-track{ animation-play-state:paused; }
  .marquee-track span{
    display:flex; align-items:center;
    font-family:'Anton', sans-serif;
    font-size:1.05rem;
    letter-spacing:0.02em;
    color:var(--navy-deep);
    padding:0 26px;
    white-space:nowrap;
  }
  .marquee-track span::after{
    content:"•";
    margin-left:26px;
    color:rgba(7,26,48,0.4);
  }
  @keyframes scrollLeft{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ---------- SECTION BASE ---------- */
  section{padding:104px 0;}
  .eyebrow-free-title{
    font-size:clamp(2rem, 3.6vw, 2.9rem);
    color:var(--navy-deep);
    max-width:640px;
  }
  .section-lede{
    color:#5b6472;
    font-size:1.08rem;
    max-width:560px;
    line-height:1.6;
    margin-top:18px;
  }

  /* ---------- STORY ---------- */
  .story{background:var(--cream);}
  .story-grid{
    display:grid;
    grid-template-columns:1fr 0.86fr;
    gap:70px;
    align-items:center;
  }
  .story-copy p{
    color:#4a525f;
    font-size:1.06rem;
    line-height:1.75;
    margin:20px 0 0;
  }
  .story-copy .signoff{
    margin-top:30px;
    font-family:'Anton', sans-serif;
    color:var(--orange);
    font-size:1.05rem;
  }
  .story-photo{
    position:relative;
    display:flex; justify-content:center;
  }
  .story-photo .frame{
    background:var(--white);
    padding:14px 14px 54px;
    box-shadow:var(--shadow);
    transform:rotate(-3deg);
    border-radius:2px;
    max-width:380px;
    transition:transform .4s ease;
  }
  .story-photo .frame:hover{ transform:rotate(0deg); }
  .story-photo img{ border-radius:1px; }
  .story-photo .frame p{
    font-family:'Anton', sans-serif;
    color:var(--navy-deep);
    font-size:0.95rem;
    text-align:center;
    margin:14px 0 0;
  }
  .story-photo .tag{
    position:absolute;
    top:-14px; left:-14px;
    background:var(--navy-deep);
    color:var(--white);
    font-weight:700;
    font-size:0.78rem;
    padding:9px 16px;
    border-radius:3px;
    box-shadow:0 10px 20px rgba(7,26,48,0.28);
  }

  /* ---------- FEATURES ---------- */
  .features{background:var(--navy-deep); color:var(--white);}
  .features .eyebrow-free-title{color:var(--white);}
  .features .section-lede{color:rgba(255,255,255,0.68);}
  .feature-list{
    margin-top:56px;
    border-top:1px solid var(--line);
  }
  .feature-row{
    display:grid;
    grid-template-columns:64px 220px 1fr;
    gap:32px;
    align-items:center;
    padding:32px 0;
    border-bottom:1px solid var(--line);
  }
  .feature-row .ficon{
    width:56px; height:56px;
    border-radius:50%;
    background:rgba(242,112,28,0.14);
    display:flex; align-items:center; justify-content:center;
    color:var(--orange-light);
  }
  .feature-row h3{
    font-size:1.35rem;
    color:var(--white);
  }
  .feature-row p{
    color:rgba(255,255,255,0.66);
    line-height:1.6;
    margin:0;
  }

  /* ---------- MENU ---------- */
  .menu{background:var(--cream);}
  .menu-head{
    display:flex; justify-content:space-between; align-items:flex-end; gap:24px;
    flex-wrap:wrap;
  }
  .menu-tabs{
    display:flex; gap:10px; margin-top:34px; flex-wrap:wrap;
  }
  .menu-tabs button{
    background:transparent;
    border:1.5px solid #d8cfba;
    color:var(--navy-deep);
    padding:10px 20px;
    border-radius:100px;
    font-weight:700;
    font-size:0.9rem;
    font-family:'Figtree', sans-serif;
    cursor:pointer;
    transition:all .2s ease;
  }
  .menu-tabs button:hover{border-color:var(--orange);}
  .menu-tabs button.active{
    background:var(--navy-deep);
    border-color:var(--navy-deep);
    color:var(--white);
  }

  .menu-board{
    margin-top:44px;
    background:var(--navy-deep);
    border-radius:6px;
    padding:12px;
    box-shadow:var(--shadow);
  }
  .menu-board-inner{
    background:
      radial-gradient(900px 300px at 10% 0%, rgba(242,112,28,0.08), transparent 60%),
      var(--navy);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:3px;
    padding:44px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px 60px;
  }
  .menu-item{
    display:none;
    padding:20px 0;
    border-bottom:1px dashed rgba(255,255,255,0.16);
  }
  .menu-item.show{display:block;}
  .menu-item-top{
    display:flex; align-items:baseline; gap:10px;
  }
  .menu-item-top h4{
    font-family:'Anton', sans-serif;
    font-weight:400;
    color:var(--white);
    font-size:1.15rem;
    white-space:nowrap;
    letter-spacing:0.01em;
  }
  .menu-item-top .leader{
    flex:1;
    border-bottom:1px dotted rgba(255,255,255,0.28);
    transform:translateY(-5px);
  }
  .menu-item-top .price{
    font-family:'Anton', sans-serif;
    color:var(--orange-light);
    font-size:1.15rem;
    white-space:nowrap;
  }
  .order-link{
    align-self:center;
    flex:none;
    display:inline-flex; align-items:center; gap:6px;
    padding:7px 16px;
    border-radius:100px;
    border:1.5px solid rgba(242,112,28,0.55);
    background:rgba(242,112,28,0.1);
    color:var(--orange-light);
    font-size:0.78rem;
    font-weight:700;
    white-space:nowrap;
    margin-left:14px;
    text-decoration:none;
    transition:background .2s ease, border-color .2s ease, color .2s ease;
  }
  .order-link:hover{ background:var(--orange); border-color:var(--orange); color:var(--white); }
  .order-link.is-soon{
    opacity:0.5; pointer-events:none; border-style:dashed;
  }
  .menu-item p{
    color:rgba(255,255,255,0.6);
    font-size:0.93rem;
    margin:8px 0 0;
    line-height:1.55;
    max-width:420px;
  }

  .menu-cta-row{
    margin-top:36px;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:18px;
  }
  .menu-poster-link{
    display:inline-flex; align-items:center; gap:10px;
    color:var(--navy-deep);
    font-weight:700;
    border-bottom:2px solid var(--orange);
    padding-bottom:3px;
    cursor:pointer;
  }
  .menu-poster-link:hover{ color:var(--orange); }

  .sides-strip{
    margin-top:26px;
    display:flex; flex-wrap:wrap; gap:12px;
  }
  .sides-strip span{
    background:var(--cream-dim);
    border:1px solid #e3d9c1;
    color:var(--navy-deep);
    font-weight:700;
    font-size:0.88rem;
    padding:9px 18px;
    border-radius:100px;
  }

  .shopify-cta{
    margin-top:36px;
    display:flex; align-items:center; gap:18px; flex-wrap:wrap;
    background:var(--navy-deep);
    border-radius:6px;
    padding:24px 28px;
  }
  .shopify-cta p{
    color:rgba(255,255,255,0.7);
    font-size:0.92rem;
    margin:4px 0 0;
    max-width:440px;
  }
  .shopify-cta h3{
    color:var(--white);
    font-size:1.2rem;
  }
  .shopify-cta .btn{ flex:none; }

  /* ---------- LOCATION ---------- */
  .location{background:var(--white);}
  .location-grid{
    display:grid;
    grid-template-columns:0.95fr 1.05fr;
    gap:60px;
    margin-top:48px;
    align-items:stretch;
  }
  .location-info{
    background:var(--navy-deep);
    color:var(--white);
    border-radius:6px;
    padding:44px;
    display:flex; flex-direction:column;
  }
  .status-tag{
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(242,112,28,0.16);
    color:var(--orange-light);
    font-weight:700;
    font-size:0.8rem;
    padding:7px 14px;
    border-radius:100px;
    width:fit-content;
    margin-bottom:22px;
  }
  .location-info h3{
    font-size:1.7rem;
    color:var(--white);
    margin-bottom:18px;
  }
  .addr-line{
    display:flex; gap:14px; align-items:flex-start;
    margin-top:18px;
    color:rgba(255,255,255,0.82);
    line-height:1.5;
  }
  .addr-line svg{flex:none; margin-top:2px;}
  .pay-title{
    margin-top:34px;
    font-weight:700;
    font-size:0.82rem;
    letter-spacing:0.06em;
    color:rgba(255,255,255,0.5);
  }
  .pay-icons{
    display:flex; flex-wrap:wrap; gap:10px;
    margin-top:14px;
  }
  .pay-icons span{
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.14);
    border-radius:4px;
    padding:9px 14px;
    font-size:0.84rem;
    font-weight:600;
    color:rgba(255,255,255,0.85);
    display:flex; align-items:center; gap:8px;
  }
  .location-map{
    border-radius:6px;
    overflow:hidden;
    box-shadow:var(--shadow);
    min-height:340px;
    border:1px solid #eee;
  }
  .location-map iframe{ width:100%; height:100%; min-height:340px; border:0; }

  /* ---------- NOTIFY ---------- */
  .notify{
    background:
      radial-gradient(700px 300px at 85% 20%, rgba(242,112,28,0.35), transparent 65%),
      var(--navy-deep);
    color:var(--white);
    text-align:center;
  }
  .notify .wrap{max-width:640px;}
  .notify h2{font-size:clamp(2rem,4vw,2.6rem); color:var(--white);}
  .notify p{color:rgba(255,255,255,0.72); margin-top:16px; font-size:1.05rem;}
  .notify-form{
    margin-top:34px;
    display:flex; gap:12px;
    max-width:460px;
    margin-left:auto; margin-right:auto;
  }
  .notify-form input{
    flex:1;
    padding:15px 18px;
    border-radius:3px;
    border:1.5px solid rgba(255,255,255,0.2);
    background:rgba(255,255,255,0.06);
    color:var(--white);
    font-size:0.95rem;
    font-family:'Figtree', sans-serif;
  }
  .notify-form input::placeholder{color:rgba(255,255,255,0.4);}
  .notify-form input:focus{ outline:none; border-color:var(--orange); }
  .notify-msg{
    margin-top:16px;
    font-size:0.9rem;
    min-height:20px;
    font-weight:600;
  }
  .notify-msg.ok{color:#8fe3b0;}
  .notify-msg.err{color:#ff9c9c;}

  /* ---------- FOOTER ---------- */
  footer{
    background:var(--navy-deep);
    border-top:1px solid var(--line);
    padding:52px 0 30px;
    color:rgba(255,255,255,0.6);
  }
  .footer-grid{
    display:flex; justify-content:space-between; align-items:flex-start;
    flex-wrap:wrap; gap:36px;
  }
  .footer-brand{ display:flex; align-items:center; gap:12px; }
  .footer-brand img{height:42px;}
  .footer-brand strong{
    font-family:'Anton', sans-serif;
    color:var(--white);
    font-size:1.1rem;
  }
  .footer-links{ display:flex; gap:30px; flex-wrap:wrap; }
  .footer-links a{ font-weight:600; font-size:0.92rem; }
  .footer-links a:hover{ color:var(--orange-light); }
  .footer-social{ display:flex; gap:12px; }
  .footer-social a{
    width:38px; height:38px; border-radius:50%;
    border:1px solid rgba(255,255,255,0.16);
    display:flex; align-items:center; justify-content:center;
    transition:border-color .2s ease, background .2s ease;
  }
  .footer-social a:hover{ border-color:var(--orange); background:rgba(242,112,28,0.12); }
  .footer-bottom{
    margin-top:40px; padding-top:24px;
    border-top:1px solid var(--line);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    font-size:0.82rem;
  }

  /* ---------- LIGHTBOX ---------- */
  .lightbox{
    position:fixed; inset:0; z-index:200;
    background:rgba(7,10,15,0.86);
    display:flex; align-items:center; justify-content:center;
    padding:30px;
    opacity:0; pointer-events:none;
    transition:opacity .25s ease;
  }
  .lightbox.open{ opacity:1; pointer-events:all; }
  .lightbox-inner{
    max-width:520px; width:100%;
    max-height:88vh;
    display:flex; flex-direction:column;
    transform:scale(.96);
    transition:transform .25s ease;
  }
  .lightbox.open .lightbox-inner{ transform:scale(1); }
  .lightbox-inner img{
    border-radius:6px;
    box-shadow:0 30px 60px rgba(0,0,0,0.5);
    max-height:80vh;
    object-fit:contain;
    width:auto;
    margin:0 auto;
  }
  .lightbox-close{
    align-self:flex-end;
    background:var(--orange);
    color:var(--white);
    border:none;
    width:38px; height:38px;
    border-radius:50%;
    font-size:1.1rem;
    cursor:pointer;
    margin-bottom:12px;
  }

  /* ---------- MOBILE NAV PANEL ---------- */
  .mobile-panel{
    position:fixed; top:0; right:0; height:100vh; width:min(320px, 82vw);
    background:var(--navy-deep);
    z-index:105;
    transform:translateX(100%);
    transition:transform .35s ease;
    padding:100px 30px 30px;
    display:flex; flex-direction:column; gap:24px;
    box-shadow:-10px 0 30px rgba(0,0,0,0.3);
  }
  .mobile-panel.open{ transform:translateX(0); }
  .mobile-panel li{
    list-style:none; margin:0; padding:0; display:contents;
  }
  .mobile-panel a{
    color:var(--white);
    font-weight:700;
    font-size:1.1rem;
  }
  .mobile-backdrop{
    position:fixed; inset:0; background:rgba(0,0,0,0.4);
    z-index:104; opacity:0; pointer-events:none; transition:opacity .3s ease;
  }
  .mobile-backdrop.open{ opacity:1; pointer-events:all; }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:980px){
    nav.nav-links, .nav-cta{ display:none; }
    .hamburger{ display:flex; }
    .hero-grid{ grid-template-columns:1fr; }
    .hero-art{ order:-1; margin-bottom:10px; }
    .hero-art img{ width:min(320px, 70%); }
    .hero-stats{ grid-template-columns:1fr; gap:18px; }
    .hero-stats div{ border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:18px; }
    .hero-stats div:first-child{ border-top:none; padding-top:0; }
    .story-grid, .location-grid{ grid-template-columns:1fr; }
    .story-photo{ order:-1; }
    .feature-row{ grid-template-columns:56px 1fr; }
    .feature-row h3{ grid-column:2; }
    .feature-row p{ grid-column:1/-1; }
    .menu-board-inner{ grid-template-columns:1fr; padding:32px 24px; }
    .notify-form{ flex-direction:column; }
  }
  @media (max-width:560px){
    section{ padding:76px 0; }
    .hero{ padding:140px 0 80px; }
    .wrap{ padding:0 20px; }
    .shopify-cta{ flex-direction:column; align-items:flex-start; }
  }

  :focus-visible{
    outline:3px solid var(--orange-light);
    outline-offset:2px;
  }
