:root{
      --bg:#ffffff;
      --rule:#111;
    }

    html,
    body{
      width:100%;
      max-width:100%;
    }

    body{
      line-height:1.2;
    }

    .menu-wrap{
      max-width:1290px;
      margin:0 auto;
      padding:56px 76px 62px;
      background:var(--bg);
    }

    /* HEADER */

    .cone-top{
      display:grid;
      grid-template-columns:315px minmax(0,1fr);
      column-gap:34px;
      align-items:start;
    }

    .menu-logo{
      padding-top:30px;
    }

    .script{
      font-family:"Great Vibes",cursive;
      font-size:104px;
      line-height:.62;
      color:#111;
      font-weight:400;
      letter-spacing:.1px;
    }

    .title{
      font-family:"DM Serif Display",serif;
      font-size:80px;
      line-height:.88;
      letter-spacing:.8px;
      color:#000;
      font-weight:400;
    }

    /* SECTION TITLES */

    .section-title,
    .paired-title{
      font-family:"DM Serif Display",serif;
      color:#111;
      font-weight:400;
      letter-spacing:-.6px;
      text-transform:uppercase;
    }

    .section-title{
      font-size:36px;
      line-height:1;
      display:flex;
      align-items:center;
      gap:10px;
      margin-bottom:12px;
      white-space:nowrap;
    }

    .section-title::after{
      content:"";
      flex:1;
      height:3px;
      background:var(--rule);
      transform:translateY(2px);
      min-width:30px;
    }

    .paired-title{
      display:grid;
      grid-template-columns:auto minmax(34px,1fr) auto minmax(34px,1fr);
      align-items:center;
      column-gap:10px;
      font-size:36px;
      line-height:1;
      margin-bottom:6px;
    }

    .paired-title .line{
      height:3px;
      background:var(--rule);
      transform:translateY(2px);
    }

    .mobile-title{
      display:none;
    }

    /* BASICS */

    .basics-title{
      margin-bottom:4px;
    }

    .basics-note{
      font-size:16px;
      line-height:1.15;
      color:#333;
      font-style:italic;
      font-weight:600;
      letter-spacing:.25px;
      margin:0 0 7px 8px;
    }

    .basics-prices{
      display:grid;
      grid-template-columns:minmax(180px,230px) minmax(230px,300px);
      column-gap:58px;
      align-items:start;
      margin-left:8px;
    }

    .basic-group .sub-script{
      display:block;
      text-align:center;
      font-family:"Great Vibes",cursive;
      font-size:42px;
      line-height:.62;
      color:#444;
      font-weight:400;
      letter-spacing:.1px;
      margin:0 0 6px;
    }

    .basic-price-grid{
      display:grid;
      grid-template-columns:repeat(2,max-content);
      justify-content:center;
      column-gap:38px;
      text-align:center;
      color:#333;
      font-size:17px;
      line-height:1.12;
    }

    .basic-price-grid .money{
      margin-top:7px;
      font-weight:600;
      letter-spacing:.2px;
    }

    /* TOP FLAVORS / SAUCES */

    .flavors-sauces{
      display:grid;
      grid-template-columns:minmax(0,1.84fr) minmax(315px,.94fr);
      column-gap:28px;
      align-items:start;
      margin-top:-8px;
    }

    .flavor-columns{
      display:grid;
      grid-template-columns:.86fr 1.45fr 1.35fr 1.55fr;
      column-gap:24px;
      margin-top:14px;
    }

    .sauce-columns{
      display:grid;
      grid-template-columns:1fr 1fr;
      column-gap:26px;
      margin-top:4px;
    }

    .text-list{
      list-style:none;
      padding-left:0;
      margin:0;
      font-size:18px;
      line-height:1.28;
      letter-spacing:.55px;
      font-weight:400;
    }

    .text-list li{
      margin-bottom:7px;
    }

    .text-list .italic-item{
      font-style:italic;
      font-weight:500;
    }

    .sauce-note,
    .toppings-note{
      font-size:15px;
      line-height:1;
      color:#333;
      font-style:italic;
      font-weight:600;
      letter-spacing:.2px;
    }

    .sauce-note{
      margin:2px 0 10px 17px;
    }

    /* TOPPINGS */

    .toppings-band{
      margin-top:10px;
    }

    .toppings-band .section-title{
      margin-bottom:2px;
    }

    .toppings-note{
      margin:0 0 13px 21px;
    }

    .toppings-grid{
      display:grid;
      grid-template-columns:1.12fr 1.25fr 1.11fr 1.26fr 1.08fr;
      column-gap:29px;
    }

    .toppings-grid .text-list{
      font-size:17px;
      line-height:1.26;
    }

    .toppings-grid .text-list li{
      margin-bottom:8px;
    }

    /* PAIR ROWS */

    .dual-row{
      margin-top:14px;
    }

    .dual-content{
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(0,1fr);
      column-gap:18px;
      align-items:start;
    }

    .row-kicker{
      display:flex;
      align-items:flex-start;
      gap:16px;
      margin:1px 0 14px 3px;
      color:#333;
      font-family:"DM Serif Display",serif;
      font-size:19px;
      line-height:1;
      letter-spacing:.25px;
    }

    .row-kicker .sub-line{
      max-width:350px;
      text-align:center;
      font-size:18px;
      line-height:.95;
      letter-spacing:.07em;
      color:#3b3b3b;
    }

    .item-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:26px;
      align-items:start;
    }

    .menu-item{
      margin-bottom:9px;
    }

    .item-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:12px;
      color:#222;
      font-size:18px;
      line-height:1.08;
      font-weight:500;
      letter-spacing:.1px;
    }

    .item-head .price{
      flex:0 0 auto;
      font-weight:400;
      letter-spacing:.2px;
      white-space:nowrap;
    }

    .item-desc{
      margin:4px 0 0;
      color:#3f3f3f;
      font-size:15px;
      line-height:1.55;
      font-weight:500;
      font-style:italic;
      letter-spacing:.15px;
    }

    /* BOTTOM */

    .bottom-row{
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(420px,.93fr);
      column-gap:24px;
      align-items:start;
      margin-top:8px;
    }

    .specialty-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      column-gap:30px;
      margin-top:6px;
    }

    .sandwich-list{
      margin-top:7px;
    }

    .sandwich-list .menu-item{
      margin-bottom:15px;
    }

/* TABLET */

    @media (max-width:1180px){
      .menu-wrap{
        padding:48px 44px 52px;
      }

      .cone-top{
        grid-template-columns:280px minmax(0,1fr);
        column-gap:26px;
      }

      .script{
        font-size:92px;
      }

      .title{
        font-size:72px;
      }

      .flavors-sauces{
        grid-template-columns:1.55fr .95fr;
        column-gap:22px;
      }

      .section-title,
      .paired-title{
        font-size:32px;
      }

      .text-list,
      .item-head{
        font-size:16px;
      }

      .toppings-grid .text-list{
        font-size:15px;
      }

      .item-desc{
        font-size:13.5px;
      }

      .row-kicker{
        font-size:17px;
      }

      .row-kicker .sub-line{
        font-size:16px;
      }
    }

    @media (max-width:1020px){
      .cone-top,
      .flavors-sauces,
      .dual-content,
      .bottom-row{
        grid-template-columns:1fr;
      }

      .menu-logo{
        padding-top:0;
        margin-bottom:28px;
      }

      .flavors-sauces{
        row-gap:26px;
        margin-top:30px;
      }

      .dual-content,
      .bottom-row{
        row-gap:34px;
      }

      .paired-title{
        display:none;
      }

      .mobile-title{
        display:flex;
      }

      .milkshakes-block .mobile-title,
      .sandwiches .mobile-title{
        margin-top:2px;
      }

      .bottom-row{
        margin-top:28px;
      }

      .specialty-grid{
        column-gap:42px;
      }
    }

    /* MOBILE */

    @media (max-width:760px){
      body{
        background:#fff;
      }

      .menu-wrap{
        max-width:100%;
        padding:31px 18px 38px;
      }

      .script{
        font-size:68px;
        line-height:.65;
      }

      .title{
        font-size:56px;
        line-height:.88;
      }

      .basics-prices{
        grid-template-columns:1fr;
        row-gap:24px;
        margin-left:0;
      }

      .basic-group .sub-script{
        text-align:left;
        font-size:34px;
        line-height:1.05;
        padding-left:18px;
        margin-bottom:12px;
      }

      .basic-price-grid{
        justify-content:start;
        column-gap:44px;
        padding-left:20px;
      }

      .section-title{
        font-size:29px;
        letter-spacing:-.35px;
        gap:9px;
        white-space:normal;
        overflow-wrap:anywhere;
      }

      .section-title::after{
        min-width:0;
      }

      .basics-note{
        font-size:14px;
        margin-left:0;
      }

      .flavor-columns,
      .sauce-columns,
      .item-grid,
      .specialty-grid{
        grid-template-columns:1fr;
        gap:0;
      }

      .toppings-grid{
        grid-template-columns:1fr 1fr;
        column-gap:24px;
        row-gap:0;
      }

      .text-list,
      .toppings-grid .text-list{
        font-size:15px;
        line-height:1.32;
      }

      .item-head{
        font-size:17px;
      }

      .item-desc{
        font-size:14px;
        line-height:1.48;
      }

      .row-kicker{
        display:block;
        font-size:17px;
        margin-bottom:15px;
      }

      .row-kicker .sub-line{
        display:block;
        max-width:100%;
        text-align:left;
        margin-top:6px;
        font-size:16px;
        line-height:1.1;
      }

}

    @media (max-width:440px){
      .menu-wrap{
        padding-left:14px;
        padding-right:14px;
      }

      .script{
        font-size:62px;
      }

      .title{
        font-size:50px;
      }

      .section-title{
        font-size:26px;
      }

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

      .text-list,
      .toppings-grid .text-list{
        font-size:14px;
      }

      .item-head{
        font-size:16px;
      }

      .item-desc{
        font-size:13px;
      }
    }
@font-face {
  font-family: "Great Vibes";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/great-vibes-latin-v21.woff2") format("woff2");
}
