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

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

    body{
      line-height:1.22;
    }

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

    /* HEADER */

    .menu-header{
      margin-bottom:30px;
    }

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

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

    /* SECTION TITLES */

    .section{
      margin-top:37px;
    }

    .section-title{
      font-family:"DM Serif Display",serif;
      color:#111;
      font-weight:400;
      letter-spacing:-.5px;
      font-size:37px;
      line-height:1;
      display:flex;
      align-items:center;
      gap:11px;
      margin-bottom:18px;
    }

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

.double-title{
      display:grid;
      grid-template-columns:auto minmax(70px,170px) auto 1fr;
      align-items:center;
      column-gap:10px;
      font-family:"DM Serif Display",serif;
      color:#111;
      font-size:37px;
      line-height:1;
      letter-spacing:-.5px;
      margin-bottom:16px;
    }

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

    .mobile-only{
      display:none;
    }

    /* UPDATED MENU LAYOUT */

    .hero-grid{
      display:grid;
      grid-template-columns:300px minmax(0,1fr);
      gap:42px;
      align-items:start;
    }

    .hero-left .menu-header{
      margin-bottom:65px;
    }

    .hero-left .section{
      margin-top:0;
    }

    .espresso-panel{
      padding-top:27px;
    }

    .espresso-grid{
      display:grid;
      grid-template-columns:minmax(300px,1fr) minmax(330px,1fr);
      gap:48px;
      align-items:start;
    }

    .row-grid{
      display:grid;
      grid-template-columns:minmax(430px,1fr) minmax(430px,1fr);
      gap:58px;
      align-items:start;
    }

    .matcha-refreshers-grid{
      grid-template-columns:minmax(610px,1.45fr) minmax(330px,.72fr);
      gap:58px;
    }

    .tea-bubble-grid{
      grid-template-columns:minmax(640px,1.55fr) minmax(310px,.65fr);
      gap:58px;
    }

    .matcha-tables,
    .tea-tables{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:44px;
      align-items:start;
    }

    /* GRIDS FROM ORIGINAL */

.bottom-grid{
      display:grid;
      grid-template-columns:320px minmax(640px,1fr);
      gap:68px;
      align-items:start;
    }

    /* SCRIPT LABELS */

    .sub-script{
      font-family:"Great Vibes",cursive;
      font-size:31px;
      line-height:.95;
      margin:0 0 8px;
      color:#333;
      font-weight:400;
      letter-spacing:.1px;
    }

    .script-center{
      padding-left:41px;
    }

    .script-iced{
      padding-left:30px;
    }

/* TABLES */

    table{
      width:100%;
      border-collapse:collapse;
      table-layout:fixed;
    }

    th{
      font-family:"DM Serif Display",serif;
      font-size:19px;
      line-height:1;
      font-weight:400;
      text-align:right;
      padding:0 0 7px 0;
      color:#393939;
    }

    th:first-child{
      text-align:left;
      width:66%;
    }

    th:nth-child(2),
    th:nth-child(3){
      width:17%;
    }

    tbody th[scope="row"]{
      padding:2px 13px 2px 0;
      color:var(--text);
      font-family:"Inter",sans-serif;
      font-size:17px;
      font-weight:400;
      line-height:1.26;
      letter-spacing:1.6px;
      text-align:left;
      vertical-align:top;
    }

    td{
      padding:2px 0;
      font-size:17px;
      line-height:1.26;
      vertical-align:top;
      font-weight:400;
      color:var(--text);
    }

    td:first-child{
      text-align:left;
      letter-spacing:1.6px;
      padding-right:13px;
    }

    td:nth-child(2),
    td:nth-child(3){
      text-align:right;
      white-space:nowrap;
      letter-spacing:.3px;
    }

    .iced-table th:first-child,
    .iced-table td:first-child{
      width:66%;
    }

    .wide-name th:first-child,
    .wide-name td:first-child{
      width:70%;
    }

    .wide-name th:nth-child(2),
    .wide-name th:nth-child(3),
    .wide-name td:nth-child(2),
    .wide-name td:nth-child(3){
      width:15%;
    }

    .single-size-table th:first-child,
    .single-size-table td:first-child{
      width:76%;
    }

    .single-size-table th:nth-child(2),
    .single-size-table td:nth-child(2){
      width:24%;
      text-align:right;
      white-space:nowrap;
    }

/* EXTRAS */

    .extras-layout{
      display:grid;
      grid-template-columns:minmax(190px,255px) minmax(250px,1fr);
      gap:32px;
      align-items:start;
    }

    .extras-list{
      list-style:none;
      margin-top:0;
      max-width:328px;
    }

    .extras-list li{
      display:grid;
      grid-template-columns:1fr auto;
      gap:20px;
      align-items:start;
      padding:3px 0;
      font-size:17px;
      line-height:1.22;
      letter-spacing:1.1px;
    }

    .extras-list .price{
      white-space:nowrap;
      letter-spacing:.3px;
    }

    .cold-foam-list{
      list-style:none;
      margin:4px 0 0 29px;
      font-size:15px;
      line-height:1.45;
      color:#333;
      font-style:italic;
      letter-spacing:.55px;
      font-weight:500;
    }

    .flavor-price-row{
      display:grid;
      grid-template-columns:1fr auto;
      gap:20px;
      align-items:start;
      padding:3px 0 8px;
      font-size:17px;
      line-height:1.22;
      letter-spacing:1.1px;
    }

    .flavor-price-row .price{
      white-space:nowrap;
      letter-spacing:.3px;
    }

    .flavors{
      display:grid;
      grid-template-columns:1fr 1.04fr;
      gap:6px 34px;
      margin:0;
      padding:0;
      list-style:none;
      font-size:17px;
      line-height:1.2;
      letter-spacing:.55px;
    }

    .refresher-footnote{
      margin-top:5px;
      padding-left:18px;
      font-size:13px;
      line-height:1.25;
      color:#4b4b4b;
      font-style:italic;
      letter-spacing:.45px;
      font-weight:500;
    }

    /* SMOOTHIES + BUCKETS */

    .smoothie-size{
      font-family:"DM Serif Display",serif;
      font-size:17px;
      line-height:1;
      color:#3b3b3b;
      margin-top:-2px;
      margin-bottom:17px;
      letter-spacing:.2px;
    }

    .smoothies-list{
      list-style:none;
      padding-left:9px;
      font-size:15px;
      line-height:1.75;
      letter-spacing:.55px;
      font-weight:600;
    }

    .bucket-top{
      display:grid;
      grid-template-columns:auto auto auto auto;
      column-gap:28px;
      align-items:start;
      justify-content:start;
      margin-top:-1px;
      margin-bottom:18px;
      font-family:"DM Serif Display",serif;
      font-size:17px;
      line-height:1;
      color:#3b3b3b;
      white-space:nowrap;
    }

    .bucket-block{
      margin-top:13px;
    }

    .bucket-heading{
      font-size:18px;
      line-height:1.18;
      letter-spacing:.6px;
      font-weight:600;
      margin-bottom:8px;
    }

    .bucket-flavors{
      display:grid;
      grid-template-columns:repeat(4, minmax(105px,1fr));
      gap:6px 38px;
      margin:0;
      padding:0;
      list-style:none;
      font-size:14px;
      line-height:1.28;
      letter-spacing:.55px;
      font-weight:600;
    }

    .lemonade-flavors{
      grid-template-columns:repeat(5, minmax(90px,1fr));
      gap:6px 32px;
    }

    .bucket-flavors li{
      white-space:nowrap;
    }

    .iced-bucket-layout{
      display:grid;
      grid-template-columns:minmax(300px,1.15fr) minmax(260px,.85fr);
      column-gap:38px;
      align-items:start;
    }

    .iced-regular-flavors{
      grid-template-columns:repeat(2, minmax(135px,1fr));
      gap:6px 38px;
    }

    .combo-flavors{
      grid-template-columns:repeat(2, minmax(100px,1fr));
      gap:6px 30px;
    }

    .bucket-combo-heading{
      font-size:14px;
      line-height:1.28;
      letter-spacing:.55px;
      font-weight:600;
      font-style:italic;
      text-align:center;
      margin-bottom:5px;
    }

/* TABLET */

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

      .hero-grid{
        grid-template-columns:270px minmax(0,1fr);
        gap:30px;
      }

      .espresso-grid{
        gap:34px;
      }

      .row-grid,
      .matcha-refreshers-grid,
      .tea-bubble-grid{
        gap:42px;
      }

      .bottom-grid{
        grid-template-columns:270px minmax(0,1fr);
        gap:38px;
      }

      .bucket-top{
        column-gap:22px;
        font-size:16px;
      }

      td,
      .extras-list li,
      .flavors,
      .flavor-price-row{
        font-size:16px;
      }

      .lemonade-flavors{
        grid-template-columns:repeat(4, minmax(90px,1fr));
      }
    }

    @media (max-width:1000px){
      .hero-grid,
      .row-grid,
      .matcha-refreshers-grid,
      .tea-bubble-grid{
        grid-template-columns:1fr;
      }

      .hero-left .menu-header{
        margin-bottom:42px;
      }

      .espresso-panel{
        padding-top:0;
      }

      .espresso-grid,
      .matcha-tables,
      .tea-tables{
        grid-template-columns:1fr 1fr;
      }

      .extras-layout{
        grid-template-columns:minmax(300px,390px) minmax(300px,1fr);
        column-gap:52px;
      }

.mobile-only{
        display:flex;
      }

      .bottom-grid{
        grid-template-columns:1fr;
        gap:28px;
      }

      .bucket-top{
        grid-template-columns:auto auto auto auto;
        column-gap:24px;
        justify-content:start;
      }
    }

    /* MOBILE */

    @media (max-width:760px){
      tbody th[scope="row"]{
        font-size:15px;
        letter-spacing:.7px;
      }

      body{
        background:#fff;
      }

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

      .menu-header{
        margin-bottom:28px;
      }

      .hero-left .menu-header{
        margin-bottom:32px;
      }

      .script{
        font-size:58px;
        line-height:.74;
      }

      .title{
        font-size:55px;
        line-height:.92;
      }

      .section{
        margin-top:32px;
      }

      .section-title,
      .double-title{
        font-size:31px;
        letter-spacing:-.3px;
      }

.double-title{
        grid-template-columns:auto 1fr;
      }

      .double-title .line:first-of-type,
      .double-title .bucket-word,
      .double-title .line:last-of-type{
        display:none;
      }

      .mobile-buckets-title{
        margin-top:32px;
      }

      .espresso-grid,
      .matcha-tables,
      .tea-tables,
      .extras-layout{
        display:grid;
        grid-template-columns:1fr;
        gap:26px;
      }

      .sub-script{
        font-size:29px;
        margin-bottom:8px;
      }

      .script-center,
      .script-iced{
        padding-left:22px;
      }

th{
        font-size:17px;
      }

      th:first-child,
      .iced-table th:first-child,
      .wide-name th:first-child{
        width:62%;
      }

      th:nth-child(2),
      th:nth-child(3),
      .wide-name th:nth-child(2),
      .wide-name th:nth-child(3){
        width:19%;
      }

      .single-size-table th:first-child,
      .single-size-table td:first-child{
        width:72%;
      }

      .single-size-table th:nth-child(2),
      .single-size-table td:nth-child(2){
        width:28%;
      }

      td{
        font-size:15px;
        line-height:1.27;
      }

      td:first-child{
        letter-spacing:.75px;
        padding-right:8px;
      }

      .refresher-footnote{
        font-size:12px;
        letter-spacing:.25px;
      }

      .extras-list{
        max-width:100%;
      }

      .extras-list li,
      .flavors,
      .flavor-price-row{
        font-size:15px;
      }

      .flavors{
        grid-template-columns:1fr 1fr;
        gap:7px 24px;
      }

      .cold-foam-list{
        margin-left:22px;
        font-size:14px;
      }

      .bottom-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:0;
      }

      .bottom-grid > *,
      .buckets,
      .bucket-flavors,
      .iced-bucket-layout,
      .iced-combo-group{
        width:100%;
        min-width:0;
      }

      .smoothies-list{
        padding-left:4px;
      }

      .bucket-top{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
        white-space:normal;
        margin-bottom:16px;
      }

      .bucket-flavors,
      .lemonade-flavors{
        grid-template-columns:1fr 1fr;
        gap:8px 22px;
      }

      .bucket-flavors li{
        white-space:normal;
        overflow-wrap:anywhere;
      }

      .iced-bucket-layout{
        grid-template-columns:1fr;
        row-gap:10px;
      }

      .iced-regular-flavors,
      .combo-flavors{
        grid-template-columns:1fr 1fr;
        gap:8px 22px;
      }

      .bucket-combo-heading{
        text-align:left;
        margin-top:4px;
        margin-bottom:4px;
      }

}

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

      .script{
        font-size:52px;
      }

      .title{
        font-size:48px;
      }

      .section-title,
      .double-title{
        font-size:28px;
      }

      td{
        font-size:14px;
      }

      th{
        font-size:16px;
      }

      .extras-list li,
      .flavors,
      .flavor-price-row{
        font-size:14px;
      }

      .bucket-flavors{
        font-size:13px;
      }

      .bucket-combo-heading{
        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");
}
