/* ==========================================================================
   Tender Greens clone — interior pages
   ========================================================================== */

/* =========================== Locations ================================== */

.loc-hero {
    padding: 60px var(--page-pad) 0;
    text-align: center;
}
.loc-hero__script {
    width: min(318px, 82vw);
    max-width: none;
    margin: 0 auto;
}
.loc-hero__script img { width: 100%; height: auto; }
.loc-hero h1 {
    margin: 61px 0 0;
    font-size: 46.5px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}
.loc-region-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 26px;
    width: fit-content;
    max-width: 340px;
    margin: 28px auto 0;
    text-align: left;
}
.loc-region-nav a {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .9px;
    text-transform: uppercase;
}
.loc-region-nav a:hover { color: var(--accent); }

.loc-region { margin-top: 77px; scroll-margin-top: 60px; }
.loc-region + .loc-region { margin-top: 0; }
.loc-region__hero {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    height: 425px;
    padding-top: 44px;
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
}
.loc-region__hero h2 {
    max-width: 300px;
    color: var(--green);
    font-size: 59px;
    font-weight: 900;
    line-height: .92;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
    text-shadow: 0 0 22px rgba(250, 245, 232, .22);
}
.loc-cards {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-top: -215px;
    padding: 0 14px 101px;
}
.loc-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 500px;
    border: 1px solid var(--green);
    background: var(--cream);
    box-shadow: 0 16px 24px rgba(0, 71, 61, .14);
    text-align: center;
}
.loc-card__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    padding: 88px 24px 34px;
}
.loc-card h3 {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}
.loc-card__more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    margin-top: 36px;
    padding: 12px 20px;
    border: 0;
    border-radius: 999px;
    background: var(--green);
    color: var(--cream);
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    transition: background .25s var(--ease);
}
.loc-card__more:hover { background: var(--accent); }
.loc-card__address {
    margin-top: 34px;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.45;
}
.loc-card__directions {
    margin-top: 32px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.loc-card__directions:hover { color: var(--accent); }
.loc-card__status {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 74px;
    padding: 12px;
    background: var(--green);
    color: var(--cream);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

/* =========================== Our story ================================== */

.story-hero {
    height: 263px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.story-intro {
    padding: 90px var(--page-pad) 250px;
    text-align: center;
}
.story-intro h1 {
    max-width: 980px;
    margin: 0 auto;
    font-size: 40px;
    font-weight: 900;
    line-height: .94;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.story-intro h1 span { display: block; color: var(--orange); }
.story-card {
    max-width: 1150px;
    margin: 0 auto;
    border: 1px solid var(--green);
    background: var(--cream);
    box-shadow: 0 22px 28px rgba(0, 71, 61, .12);
}
.story-about {
    display: grid;
    grid-template-columns: 1fr;
}
.story-about__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 66px 34px 119px;
    text-align: center;
}
.story-about__text h2 {
    font-size: 30px;
    font-weight: 800;
    line-height: .98;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}
.story-about__text p {
    max-width: 310px;
    margin-top: 30px;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.55;
}
.story-about__media img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}
.story-stats {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 34px;
    margin-top: 10px;
    padding: 104px var(--page-pad);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: var(--white);
    text-align: center;
}
.story-stat__num {
    font-size: 64px;
    font-weight: 900;
    line-height: .9;
    letter-spacing: 1px;
}
.story-stat p {
    max-width: 320px;
    margin: 16px auto 0;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.45;
}
.story-goodfood {
    margin-top: 50px;
    padding: 120px 26px 177px;
    text-align: center;
}
.story-goodfood h2 {
    font-size: 38px;
    font-weight: 900;
    line-height: .94;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.story-goodfood p {
    max-width: 590px;
    margin: 32px auto 0;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.55;
}
.story-careers {
    padding: 96px var(--page-pad) 180px;
    text-align: center;
}
.story-careers h2 {
    max-width: 780px;
    margin: 0 auto;
    color: var(--orange);
    font-size: 38px;
    font-weight: 900;
    line-height: .94;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.story-careers p {
    max-width: 460px;
    margin: 24px auto 0;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.5;
}
.story-careers .tg-btn { margin-top: 28px; }

/* =========================== Rewards ==================================== */

.rewards-hero {
    background: var(--green);
    color: var(--cream);
}
.rewards-hero__media { display: none; }
.rewards-hero__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 495px;
    padding: 112px 26px 10px;
    text-align: center;
}
.rewards-hero__logo { width: 310px; max-width: 78vw; }
.rewards-hero__panel .tg-btn { margin-top: auto; }
.tg-btn--sky {
    background: var(--sky);
    border-color: var(--sky);
    color: var(--green);
}
.tg-btn--sky:hover { background: var(--cream); border-color: var(--cream); color: var(--green); }

.rewards-intro {
    display: flex;
    flex-direction: column;
    padding: 305px var(--page-pad) 20px;
}
.rewards-intro__copy h2 {
    color: var(--green);
    font-size: 42px;
    font-weight: 900;
    line-height: .93;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.rewards-underline {
    display: block;
    width: 100%;
    max-width: 380px;
    height: 13px;
    margin-top: 12px;
    object-fit: contain;
    object-position: left center;
}
.rewards-intro__copy > p,
.rewards-intro__copy li {
    font-family: var(--serif);
    font-size: 15px;
    line-height: 23px;
}
.rewards-intro__copy > p { margin-top: 18px; }
.rewards-intro__copy h3 {
    margin-top: 16px;
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 400;
}
.rewards-list {
    margin-top: 8px;
    padding-left: 26px;
    list-style: disc;
}
.rewards-list li { margin-bottom: 0; }
.rewards-intro__copy .rewards-note { margin-top: 24px; }
.rewards-apps {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
    order: 3;
}
.rewards-apps img { width: 150px; height: auto; }
.rewards-phone {
    order: 2;
    width: 183px;
    max-width: 82vw;
    margin: 46px auto 0;
}
.rewards-grid-wrap {
    padding: 50px var(--page-pad) 40px;
}
.rewards-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px 18px;
    max-width: 1180px;
    margin: 0 auto;
}
.reward-card { text-align: center; }
.reward-card__media {
    position: relative;
    overflow: hidden;
}
.reward-card__media > img:first-child {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.reward-card--special .reward-card__media {
    background: var(--cream);
    border: 1px solid var(--green);
}
.reward-card--special .reward-card__media > img:first-child { object-fit: contain; }
.reward-badge {
    position: absolute;
    top: -8px;
    left: -10px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
}
.reward-badge img { position: absolute; inset: 0; width: 100%; height: 100%; }
.reward-badge span {
    position: relative;
    z-index: 1;
    font-size: 17px;
    font-weight: 900;
    line-height: .95;
    letter-spacing: .5px;
    color: var(--green);
    transform: rotate(-9deg);
}
.reward-card p {
    max-width: 260px;
    margin: 12px auto 0;
    font-family: var(--serif);
    font-size: 13px;
    line-height: 1.4;
}
.rewards-questions {
    max-width: 1180px;
    margin: 0 auto;
    padding: 126px var(--page-pad) 90px;
}
.rewards-questions h2 {
    font-size: 39px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
.rewards-questions .tg-accordion { margin-top: 26px; }
.rewards-questions .tg-accordion__trigger { padding: 19px 0; }

/* Generic accordion */
.tg-accordion { border-top: 1px solid rgba(0, 71, 61, .55); }
.tg-accordion__item { border-bottom: 1px solid rgba(0, 71, 61, .55); }
.faq-body .tg-accordion__item { margin-bottom: 2px; }
.tg-accordion__trigger {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 42px 0;
    border: 0;
    background: transparent;
    font-family: var(--serif);
    font-size: 16px;
    line-height: 1.35;
    text-align: left;
}
.tg-accordion__icon {
    position: relative;
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
}
.tg-accordion__icon::before,
.tg-accordion__icon::after {
    content: "";
    position: absolute;
    top: 6px;
    left: 0;
    width: 13px;
    height: 1px;
    background: var(--green);
    transition: transform .25s var(--ease);
}
.tg-accordion__icon::after { transform: rotate(90deg); }
.tg-accordion__item.is-open .tg-accordion__icon::after { transform: rotate(0); }
.tg-accordion__panel {
    display: none;
    padding: 0 0 22px 27px;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.55;
}
.tg-accordion__item.is-open .tg-accordion__panel { display: block; }
.tg-accordion__panel p + p { margin-top: 12px; }
.tg-accordion__panel a { text-decoration: underline; text-underline-offset: 3px; }

/* =========================== Catering =================================== */

.catering-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 34px var(--page-pad) 0;
}
.catering-top .tg-btn { width: 100%; max-width: 340px; }
.catering-main {
    padding: 76px var(--page-pad) 80px;
    text-align: center;
}
.catering-main h1 {
    max-width: 760px;
    margin: 0 auto;
    font-size: 38px;
    font-weight: 900;
    line-height: .92;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.catering-main__copy {
    max-width: 590px;
    margin: 22px auto 0;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.55;
}
.catering-main__media {
    max-width: 970px;
    margin: 9px calc(-1 * var(--page-pad)) 0;
}
.catering-main__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.catering-questions {
    padding: 60px var(--page-pad) 50px;
    text-align: center;
}
.catering-questions h2 {
    font-size: 34px;
    font-weight: 800;
    line-height: .96;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}
.catering-questions .tg-btn { margin-top: 22px; }

/* =========================== Careers ==================================== */

.careers-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    padding: 60px 20px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
    color: var(--white);
}
.careers-hero h1 {
    max-width: 620px;
    font-size: 46px;
    font-weight: 900;
    line-height: .97;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-shadow: 0 2px 30px rgba(0, 0, 0, .35);
}
.careers-hero .tg-btn {
    margin-top: 28px;
    background: var(--green);
    border-color: var(--green);
    color: var(--cream);
}
.careers-grid {
    max-width: 1180px;
    margin: 0 auto;
    padding: 50px 0 0;
}
.careers-row {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
}
.careers-cell { order: 2; }
.careers-media { order: 1; overflow: hidden; }
.careers-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 250px;
    padding: 48px 28px;
    background: var(--cream);
    text-align: center;
}
.careers-cell h2 {
    max-width: 330px;
    font-size: 29px;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}
.careers-cell p {
    max-width: 355px;
    margin-top: 14px;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.45;
}
.careers-media img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.careers-together {
    padding: 66px var(--page-pad) 80px;
    text-align: center;
}
.careers-together h2 {
    max-width: 720px;
    margin: 0 auto;
    font-size: 38px;
    font-weight: 900;
    line-height: .95;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.careers-together .tg-btn { margin-top: 30px; }
.careers-together__copy {
    max-width: 610px;
    margin: 34px auto 0;
    font-family: var(--serif);
    font-size: 12px;
    line-height: 1.5;
}

/* =========================== Contact ==================================== */

.contact-hero {
    padding: 90px var(--page-pad) 40px;
    text-align: center;
}
.contact-hero h1 {
    font-size: 45px;
    font-weight: 900;
    line-height: .95;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.contact-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 1155px;
    min-height: 395px;
    margin: 0 auto;
    padding: 60px 24px;
    background: var(--green);
    color: var(--cream);
    text-align: center;
}
.contact-banner h2 {
    font-size: 38px;
    font-weight: 900;
    line-height: .95;
    letter-spacing: .9px;
    text-transform: uppercase;
}
.contact-banner p {
    max-width: 420px;
    margin-top: 10px;
    font-family: var(--serif);
    font-size: 15px;
    line-height: 1.5;
}
.contact-banner .tg-btn { margin-top: 24px; }
.contact-banner .tg-btn--outline { color: var(--cream); border-color: var(--cream); }
.contact-banner .tg-btn--outline:hover { background: var(--cream); color: var(--green); }
.contact-alt {
    padding: 43px var(--page-pad) 0;
    text-align: center;
}
.contact-alt h2 {
    max-width: 340px;
    margin: 0 auto;
    font-size: 39px;
    font-weight: 800;
    line-height: .98;
    letter-spacing: .5px;
    text-transform: uppercase;
}
.contact-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 12px;
    max-width: 760px;
    margin: 34px auto 0;
}
.contact-tab {
    padding: 14px 20px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.contact-tab.is-active { background: var(--green); color: var(--cream); }
.contact-tab:hover { border-color: var(--green); }
.contact-form-wrap {
    max-width: 790px;
    margin: 30px auto 0;
    padding: 0 var(--page-pad) 450px;
}
.contact-form-card {
    background: var(--white);
    padding: 78px 16px 58px;
}
.contact-form-card h3 {
    font-size: 29px;
    font-weight: 800;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
}
.contact-form-card__req {
    margin: 4px 0 24px;
    font-size: 11px;
    letter-spacing: .6px;
    text-align: center;
    text-transform: uppercase;
}
.contact-form { display: flex; flex-direction: column; gap: 40px; margin-top: 58px; }
.contact-form .tg-field__label { font-size: 11px; }
.contact-form .tg-input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    min-height: 68px;
    padding: 12px 20px;
    border: 1px solid rgba(0, 71, 61, .55);
    border-radius: 999px;
    background: transparent;
    font-family: var(--serif);
    font-size: 15px;
    outline: none;
    appearance: none;
}
.contact-form textarea.tg-input, .contact-form textarea { min-height: 240px; border-radius: 26px; resize: vertical; }
.contact-form select {
    background-image: linear-gradient(45deg, transparent 50%, var(--green) 50%), linear-gradient(135deg, var(--green) 50%, transparent 50%);
    background-position: calc(100% - 20px) 32px, calc(100% - 14px) 32px;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}
.contact-form__row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr;
    gap: 10px;
}
.contact-upload {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 104px;
    padding: 14px;
    border: 1px solid rgba(0, 71, 61, .55);
    border-radius: 28px;
    font-family: var(--serif);
    font-size: 13px;
    text-align: center;
    cursor: pointer;
}
.contact-upload input { display: none; }
.contact-upload svg { width: 24px; height: 24px; stroke: currentColor; fill: none; }
.contact-form__success {
    padding: 14px 18px;
    border-radius: 10px;
    background: rgba(0, 71, 61, .08);
    font-family: var(--serif);
    font-size: 15px;
    text-align: center;
}
.contact-form__success[hidden] { display: none; }

/* =========================== FAQ ======================================== */

.faq-hero {
    padding: 89px var(--page-pad) 0;
    background: var(--green);
    text-align: center;
}
.faq-hero h1 {
    padding: 10px 0 32px;
    color: var(--cream);
    font-size: 48px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.faq-help {
    max-width: 1155px;
    margin: 0 10px -82px;
    padding: 50px 22px 50px;
    border: 1px solid var(--green);
    border-radius: 8px;
    background: var(--cream);
    text-align: center;
}
.faq-help h2 {
    font-size: 38px;
    font-weight: 900;
    line-height: .95;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.faq-help .tg-btn { margin-top: 24px; }
.faq-body {
    max-width: 1180px;
    margin: 0 auto;
    padding: 217px var(--page-pad) 90px;
}
.faq-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px 22px;
    margin-bottom: 44px;
}
.faq-tabs a {
    font-size: 13px;
    font-weight: 800;
    line-height: 2.2;
    letter-spacing: .8px;
    text-transform: uppercase;
}
.faq-tabs a:hover { color: var(--accent); }
.faq-layout { display: block; }
.faq-side { display: none; }
.faq-group { margin-bottom: 92px; scroll-margin-top: 110px; }
.faq-group h2 {
    margin-bottom: 16px;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.faq-group .tg-accordion__trigger { font-size: 16px; }
.faq-side a {
    display: block;
    padding: 9px 0;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .8px;
    text-transform: uppercase;
}
.faq-side a:hover { color: var(--accent); }

/* =========================== Blog ======================================= */

.blog-hero {
    padding: 236px var(--page-pad) 20px;
    text-align: center;
}
.blog-hero h1 {
    max-width: 900px;
    margin: 0 auto;
    font-size: 48px;
    font-weight: 900;
    line-height: .95;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.blog-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 28px;
    max-width: 900px;
    margin: 136px auto 0;
    padding: 0 var(--page-pad);
}
.blog-filter {
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 13px;
    font-weight: 800;
    line-height: 2;
    letter-spacing: .9px;
    text-transform: uppercase;
}
.blog-filter.is-active { text-decoration: underline; text-underline-offset: 5px; }
.blog-filter:hover { color: var(--accent); }
.blog-list {
    max-width: 1180px;
    margin: 0 auto;
    padding: 70px var(--page-pad) 80px;
}
.blog-post {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 100px;
}
.blog-post__media img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.blog-post__body { padding: 24px 0 0; }
.blog-post__body h2 {
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.blog-post__body h2 a { color: var(--accent); }
.blog-post__date {
    margin-top: 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.blog-post__excerpt {
    margin-top: 18px;
    font-family: var(--serif);
    font-size: 18px;
    line-height: 1.5;
}
.blog-post__excerpt a { text-decoration: underline; text-underline-offset: 3px; }

.blog-article {
    max-width: 820px;
    margin: 0 auto;
    padding: 64px var(--page-pad) 84px;
}
.blog-article__back {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.blog-article h1 {
    margin-top: 22px;
    font-size: 44px;
    font-weight: 800;
    line-height: .97;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.blog-article__date {
    margin-top: 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.blog-article__hero { margin: 28px 0 34px; }
.blog-article__hero img { width: 100%; }
.blog-article__body p,
.blog-article__body li {
    margin-bottom: 16px;
    font-family: var(--serif);
    font-size: 18px;
    line-height: 1.6;
}
.blog-article__body h2,
.blog-article__body h3 {
    margin: 30px 0 14px;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.blog-article__body ul { padding-left: 24px; list-style: disc; }

/* =========================== Legal ====================================== */

.legal-hero {
    padding: 56px var(--page-pad) 34px;
    text-align: center;
}
.legal-hero h1 {
    font-size: 44px;
    font-weight: 900;
    line-height: .98;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.legal-toc {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 24px;
    max-width: 900px;
    margin: 22px auto 0;
}
.legal-toc a {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .9px;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.legal-body {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px var(--page-pad) 90px;
    font-family: var(--serif);
    font-size: 14px;
    line-height: 1.5;
}
.legal-body h1 { display: none; }
.legal-body h2 {
    margin: 34px 0 14px;
    font-family: var(--sans);
    font-size: 27px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: .8px;
    text-transform: uppercase;
    scroll-margin-top: 110px;
}
.legal-body h3 {
    margin: 30px 0 10px;
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.legal-body p { margin: 0 0 14px; }
.legal-body ul, .legal-body ol { margin: 0 0 16px 24px; list-style: disc; }
.legal-body ol { list-style: decimal; }
.legal-body li { margin-bottom: 8px; }
.legal-body a { text-decoration: underline; text-underline-offset: 3px; }
.legal-body table {
    width: 100%;
    margin: 16px 0 24px;
    border-collapse: collapse;
    font-size: 13px;
}
.legal-body th, .legal-body td {
    padding: 8px;
    border: 1px solid rgba(0, 71, 61, .35);
    text-align: left;
    vertical-align: top;
}

/* =========================== Account ==================================== */

.account-page {
    min-height: calc(100vh - var(--header-h) - 400px);
    padding: 58px var(--page-pad) 90px;
}
.account-wrap {
    max-width: 980px;
    margin: 0 auto;
}
.account-head { text-align: center; }
.account-head h1 {
    font-size: 44px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.account-head p {
    max-width: 470px;
    margin: 16px auto 0;
    font-family: var(--serif);
    font-size: 16px;
    line-height: 1.5;
}
.account-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    margin-top: 40px;
}
.account-card {
    padding: 30px 22px;
    border: 1px solid var(--green);
    background: var(--cream);
}
.account-card h2 {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.account-card .tg-auth__form { margin-top: 20px; }
.account-signed {
    display: none;
    margin-top: 40px;
    padding: 32px 22px;
    border: 1px solid var(--green);
    background: var(--cream);
    text-align: center;
}
.account-page.is-signed .account-grid { display: none; }
.account-page.is-signed .account-signed { display: block; }
.account-signed h2 {
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.account-points {
    margin-top: 18px;
    font-size: 64px;
    font-weight: 900;
    line-height: 1;
    color: var(--accent);
}
.account-points small {
    display: block;
    margin-top: 6px;
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--green);
    text-transform: uppercase;
}
.account-perks {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 30px;
    text-align: left;
}
.account-perk {
    padding: 16px;
    border: 1px solid rgba(0, 71, 61, .25);
}
.account-perk strong {
    display: block;
    font-size: 15px;
    letter-spacing: .8px;
    text-transform: uppercase;
}
.account-perk span {
    display: block;
    margin-top: 4px;
    font-family: var(--serif);
    font-size: 14px;
}
.account-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 28px;
}
.account-actions .tg-btn { min-height: 48px; padding: 16px 28px; font-size: 12px; }

/* =========================== Gift cards ================================= */

.gift-hero {
    padding: 60px var(--page-pad) 40px;
    text-align: center;
}
.gift-hero h1 {
    font-size: 48px;
    font-weight: 900;
    line-height: .96;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.gift-hero p {
    max-width: 520px;
    margin: 18px auto 0;
    font-family: var(--serif);
    font-size: 17px;
    line-height: 1.5;
}
.gift-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
    max-width: 980px;
    margin: 0 auto;
    padding: 20px var(--page-pad) 80px;
}
.gift-card {
    padding: 26px;
    border: 1px solid var(--green);
    background: var(--green);
    color: var(--cream);
    text-align: center;
}
.gift-card h2 {
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}
.gift-card p {
    margin-top: 8px;
    font-family: var(--serif);
    font-size: 14px;
}
.gift-card .tg-btn {
    margin-top: 20px;
    background: var(--cream);
    border-color: var(--cream);
    color: var(--green);
}
.gift-note {
    padding: 0 var(--page-pad) 70px;
    text-align: center;
    font-family: var(--serif);
    font-size: 13px;
}

/* =========================== Desktop pages ============================== */

@media (min-width: 1100px) {
    /* locations */
    .loc-hero { padding: 40px 60px 0; }
    .loc-hero__script { width: 841px; }
    .loc-hero h1 { margin-top: 62px; font-size: 59px; }
    .loc-region-nav {
        display: flex;
        justify-content: center;
        gap: 52px;
        max-width: none;
        margin-top: 26px;
        text-align: center;
    }
    .loc-region-nav a { font-size: 14px; letter-spacing: 1.6px; }
    .loc-region { margin-top: 70px; scroll-margin-top: 90px; }
    .loc-region + .loc-region { margin-top: 0; }
    .loc-region__hero { height: 360px; padding-top: 35px; }
    .loc-region__hero h2 { max-width: none; font-size: 59px; }
    .loc-cards {
        gap: 30px;
        margin-top: -215px;
        padding: 0 60px 90px;
    }
    .loc-region:last-of-type .loc-cards { padding-bottom: 150px; }
    .loc-card { width: 260px; min-height: 500px; }
    .loc-card__body { padding: 88px 20px 28px; }
    .loc-card h3 { font-size: 24px; line-height: 1.05; }
    .loc-card__more { min-height: 54px; margin-top: 34px; font-size: 13px; letter-spacing: 1.2px; }
    .loc-card__address { margin-top: 34px; font-size: 15px; }
    .loc-card__directions { margin-top: 30px; font-size: 13px; }
    .loc-card__status { min-height: 74px; font-size: 13px; }

    /* story */
    .story-hero { height: 525px; }
    .story-intro { padding: 174px 60px 44px; }
    .story-intro h1 { font-size: 88.5px; line-height: .96; letter-spacing: 4.4px; }
    .story-about { grid-template-columns: 1fr 1fr; align-items: stretch; }
    .story-about__text { padding: 80px 70px; }
    .story-about__text h2 { font-size: 30px; }
    .story-about__text p { max-width: 300px; font-size: 15px; }
    .story-about__media img { min-height: 690px; }
    .story-stats { grid-template-columns: 1fr 1fr; margin-top: 20px; padding: 72px 60px; min-height: 500px; gap: 26px; }
    .story-stat__num { font-size: 68px; }
    .story-stat p { font-size: 15px; max-width: 270px; }
    .story-goodfood { margin-top: 289px; padding: 110px 60px 180px; }
    .story-goodfood h2 { font-size: 70.5px; line-height: 1.02; }
    .story-goodfood p { font-size: 15px; }
    .story-careers { padding: 267px 60px 110px; }
    .story-careers h2 { font-size: 70.5px; line-height: 1.02; }
    .story-careers p { font-size: 15px; }

    /* rewards */
    .rewards-hero {
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: 810px;
    }
    .rewards-hero__media {
        display: block;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
    }
    .rewards-hero__panel { min-height: 810px; padding: 120px 60px 40px; }
    .rewards-hero__logo { width: 640px; max-width: 100%; }
    .rewards-hero__panel .tg-btn { margin-top: auto; }
    .rewards-intro {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 427px;
        grid-template-rows: auto auto;
        align-items: start;
        gap: 0 44px;
        max-width: 1180px;
        margin: 0 auto;
        padding: 88px 60px 159px;
    }
    .rewards-intro__copy { grid-column: 1; grid-row: 1; max-width: 600px; padding-top: 103px; }
    .rewards-intro__copy h2 { font-size: 80px; line-height: .93; letter-spacing: .01em; }
    .rewards-underline { height: 18px; max-width: 480px; margin-top: 14px; }
    .rewards-phone {
        grid-column: 2; grid-row: 1 / span 2;
        order: initial;
        width: 427px;
        max-width: 100%;
        margin: 0;
        align-self: start;
    }
    .rewards-apps {
        grid-column: 1; grid-row: 2;
        order: initial;
        justify-content: flex-start;
        margin-top: 34px;
    }
    .rewards-apps img { width: 300px; }
    .rewards-grid-wrap { padding: 70px 60px 40px; }
    .rewards-grid { max-width: 1154px; grid-template-columns: repeat(4, 1fr); gap: 55px 27px; }
    .reward-badge { width: 86px; height: 86px; top: -14px; left: -14px; }
    .reward-badge span { font-size: 22px; }
    .reward-card p { margin-top: 15px; font-size: 15px; max-width: 260px; }
    .rewards-questions { padding: 81px 60px 180px; }
    .rewards-questions h2 { font-size: 52px; }
    .rewards-questions .tg-accordion { margin-top: 32px; }
    .rewards-questions .tg-accordion__trigger { padding: 24px 0; }

    /* catering */
    .catering-top { padding-top: 26px; }
    .catering-main { padding: 124px 60px 74px; }
    .catering-main h1 { font-size: 70.5px; }
    .catering-main__copy { font-size: 15px; }
    .catering-main__media { margin: 95px auto 0; }
    .catering-questions { padding: 5px 60px 191px; }
    .catering-questions h2 { font-size: 39px; }
    .tg-btn { min-height: 56px; }

    /* careers */
    .careers-hero { min-height: 525px; padding: 80px 60px; }
    .careers-hero h1 { max-width: 900px; font-size: 88.5px; line-height: .96; }
    .careers-grid { padding: 130px 30px 0; }
    .careers-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
    }
    .careers-cell { order: initial; min-height: 438px; padding: 50px; }
    .careers-media { order: initial; }
    .careers-cell h2 { font-size: 29px; }
    .careers-cell p { font-size: 15px; }
    .careers-media img { min-height: 438px; height: 438px; aspect-ratio: auto; }
    .careers-together { padding: 120px 60px 152px; }
    .careers-together h2 { font-size: 70.5px; line-height: .96; }
    .careers-together__copy { font-size: 12px; }

    /* contact */
    .contact-hero { padding: 110px 60px 55px; }
    .contact-hero h1 { font-size: 88.5px; }
    .contact-banner { min-height: 488px; padding: 100px 60px; }
    .contact-banner h2 { font-size: 70.5px; }
    .contact-banner p { font-size: 15px; max-width: 520px; }
    .contact-alt { padding-top: 40px; }
    .contact-alt h2 { max-width: 900px; font-size: 39px; }
    .contact-tabs { gap: 14px 22px; margin-top: 28px; }
    .contact-tab { font-size: 13px; padding: 15px 24px; }
    .contact-form-wrap { max-width: 1155px; margin-top: 30px; padding-bottom: 150px; }
    .contact-form-card { padding: 78px 100px 68px; }
    .contact-form { max-width: 500px; margin-left: auto; margin-right: auto; }
    .contact-form-card h3, .contact-form-card__req { text-align: center; }
    .contact-form__row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .contact-form { gap: 40px; }
    .contact-alt { padding-bottom: 70px; }

    /* faq */
    .faq-hero { padding: 44px 60px 0; }
    .faq-hero h1 { padding: 0 0 50px; font-size: 70px; }
    .faq-help { padding: 60px 60px 100px; margin: 0 auto -88px; }
    .faq-help h2 { font-size: 58px; }
    .faq-help .tg-btn { margin-top: 26px; }
    .faq-body { padding: 200px 60px 110px; }
    .faq-group { margin-bottom: 110px; }
    .faq-tabs { display: none; }
    .faq-layout {
        display: grid;
        grid-template-columns: 230px minmax(0, 1fr);
        gap: 60px;
        align-items: start;
    }
    .faq-side {
        display: block;
        position: sticky;
        top: 120px;
    }
    .faq-content { max-width: 800px; }
    .faq-group h2 { font-size: 27px; }
    .faq-group { margin-bottom: 110px; }
    .faq-body .tg-accordion__item { margin-bottom: 5px; }

    /* blog */
    .blog-hero { padding: 48px 60px 0; }
    .blog-hero h1 { font-size: 84px; }
    .blog-filters { margin-top: 66px; gap: 10px 34px; }
    .blog-filter { font-size: 12px; }
    .blog-list { padding: 40px 30px 90px; }
    .blog-post {
        flex-direction: row;
        align-items: stretch;
        margin-bottom: 94px;
    }
    .blog-post:nth-child(even) { flex-direction: row; }
    .blog-post__body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 50%;
        padding: 20px 40px 20px 0;
    }
    .blog-post__media { width: 50%; }
    .blog-post__media img { aspect-ratio: 500 / 330; height: 100%; }
    .blog-post__body h2 { font-size: 32px; }
    .blog-post__excerpt { font-size: 15px; max-width: 380px; }
    .blog-article { padding: 82px 60px 100px; }
    .blog-article h1 { font-size: 58px; }

    /* legal */
    .legal-hero { padding: 66px 60px 34px; }
    .legal-hero h1 { font-size: 54px; }
    .legal-body { padding: 30px 60px 110px; font-size: 15px; }
    .legal-body h2 { font-size: 30px; }

    /* account */
    .account-page { padding: 74px 60px 110px; }
    .account-head h1 { font-size: 58px; }
    .account-grid { grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 50px; }
    .account-card { padding: 38px 34px; }
    .account-signed { padding: 50px 60px; }
    .account-perks { grid-template-columns: repeat(3, 1fr); }
    .account-points { font-size: 84px; }

    /* gift */
    .gift-hero { padding: 76px 60px 40px; }
    .gift-hero h1 { font-size: 66px; }
    .gift-grid { grid-template-columns: repeat(3, 1fr); gap: 30px; padding: 30px 60px 90px; }
    .gift-card { padding: 40px 26px; }
}

/* =========================== Additions & fixes ========================== */

/* Legal hero + quick links (matches the live legal page) */
.legal-hero {
    padding: 64px var(--page-pad);
    background: var(--green);
    color: var(--cream);
    text-align: center;
}
.legal-hero h1 {
    color: var(--cream);
    font-size: 48px;
    font-weight: 800;
    line-height: .98;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.legal-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px 18px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 38px var(--page-pad) 22px;
    text-align: center;
}
.legal-link h2 {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: .8px;
    text-transform: uppercase;
}
.legal-link .tg-btn {
    min-height: 42px;
    margin-top: 14px;
    padding: 12px 18px;
    font-size: 10px;
    letter-spacing: 1px;
}
.legal-body { padding-top: 30px; }
.legal-body ul, .legal-body ol { padding-left: 4px; }
.legal-body table { display: block; overflow-x: auto; }

/* Location modal */
.loc-modal {
    position: fixed;
    inset: 0;
    z-index: 3200;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 24px 16px;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s var(--ease), visibility .3s var(--ease);
}
.loc-modal.is-open { opacity: 1; visibility: visible; }
.loc-modal__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 71, 61, .62);
    backdrop-filter: blur(2px);
}
.loc-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 520px);
    margin: auto;
    padding: 42px 26px 32px;
    background: var(--cream);
    border-radius: 8px;
    box-shadow: 0 30px 80px rgba(0, 30, 25, .35);
    text-align: center;
}
.loc-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
}
.loc-modal__close span {
    position: absolute;
    left: 2px;
    top: 15px;
    width: 28px;
    height: 2px;
    background: var(--green);
    transform: rotate(45deg);
}
.loc-modal__close span:last-child { transform: rotate(-45deg); }
.loc-modal__eyebrow {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--accent);
}
.loc-modal__title {
    margin-top: 8px;
    font-size: 36px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.loc-modal__address {
    margin-top: 18px;
    font-family: var(--serif);
    font-size: 16px;
    line-height: 1.5;
}
.loc-modal__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.loc-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #1f8a4c;
}
.loc-modal__hours {
    margin-top: 20px;
    border-top: 1px solid rgba(0, 71, 61, .25);
    border-bottom: 1px solid rgba(0, 71, 61, .25);
    padding: 14px 0;
    font-family: var(--serif);
    font-size: 15px;
}
.loc-modal__hours div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 5px 0;
    text-align: left;
}
.loc-modal__note {
    margin-top: 14px;
    font-family: var(--serif);
    font-size: 12px;
    line-height: 1.5;
    opacity: .8;
}
.loc-modal__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 22px;
}
.loc-modal__actions .tg-btn {
    min-height: 48px;
    padding: 16px 24px;
    font-size: 12px;
}

/* Gift form */
.gift-form-wrap {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 var(--page-pad) 80px;
}
.gift-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 32px 20px 34px;
    background: var(--white);
}
.gift-form h2 {
    margin-bottom: 4px;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
}
.gift-form__row { display: grid; grid-template-columns: 1fr; gap: 18px; }
.gift-form textarea { min-height: 110px; border-radius: 24px; }
.gift-form .tg-input { background: transparent; }
.gift-form__success {
    padding: 14px 18px;
    background: rgba(0, 71, 61, .08);
    border-radius: 10px;
    font-family: var(--serif);
    font-size: 15px;
    text-align: center;
}
.gift-form__success[hidden] { display: none; }
.gift-form .gift-note {
    padding: 0;
    font-size: 12px;
    text-align: center;
}

/* Blog empty state */
.blog-empty {
    padding: 20px 0 80px;
    font-family: var(--serif);
    font-size: 18px;
    text-align: center;
}

/* FAQ rich answers */
.tg-accordion__panel ul { margin: 8px 0 0 22px; list-style: disc; }
.tg-accordion__panel li { margin-bottom: 6px; }
.tg-accordion__panel p:first-child { margin-top: 0; }

/* Anchors below the fixed header */
.menu-category,
.legal-body h2,
#faq-covid { scroll-margin-top: 86px; }

@media (min-width: 768px) {
    .legal-links { grid-template-columns: repeat(4, 1fr); gap: 22px; }
    .loc-modal__dialog { padding: 46px 44px 36px; }
    .loc-modal__actions .tg-btn { padding: 16px 28px; }
    .gift-form { padding: 42px 48px 44px; }
    .gift-form__row { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1100px) {
    .legal-hero { padding: 78px 60px 88px; }
    .legal-hero h1 { font-size: 76px; letter-spacing: 2px; }
    .legal-links { padding: 42px 60px 22px; gap: 30px; }
    .legal-link h2 { font-size: 15px; }
    .legal-link .tg-btn { min-height: 48px; padding: 14px 22px; font-size: 11px; }
    .legal-body { max-width: 900px; padding: 30px 60px 110px; }
    .menu-category { scroll-margin-top: 110px; }
    .legal-body h2 { scroll-margin-top: 110px; }
    .gift-form-wrap { padding-bottom: 100px; }
}

/* Legal content containment */
.legal-body { overflow-wrap: anywhere; }
.legal-body table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    table-layout: fixed;
}
.legal-body table th,
.legal-body table td { min-width: 0; word-break: break-word; }

/* Extra state styles */
.contact-upload.is-dragover {
    border-color: var(--green);
    background: rgba(0, 71, 61, .06);
}
.gift-card .tg-btn.is-selected {
    background: var(--cream);
    border-color: var(--cream);
    color: var(--green);
    box-shadow: 0 0 0 3px var(--yellow);
}
.legal-hero { scroll-margin-top: 90px; }
@media (min-width: 1100px) {
    .legal-hero { scroll-margin-top: 110px; }
}

/* iOS: keep focused form controls at 16px to avoid auto-zoom */
@media (max-width: 1099px) {
    .tg-input,
    .contact-form .tg-input,
    .contact-form select,
    .contact-form textarea { font-size: 16px; }
}

@media (max-width: 359px) {
    .contact-form__row-3 { gap: 8px; }
    .contact-form__row-3 select {
        padding-left: 10px;
        padding-right: 24px;
        background-position: calc(100% - 15px) 32px, calc(100% - 9px) 32px;
        background-size: 5px 5px, 5px 5px;
    }
}

@media(min-width:1100px){#loc-los-angeles .loc-cards{display:grid;grid-template-columns:repeat(8,116px);justify-content:center;gap:30px 28px}#loc-los-angeles .loc-card{grid-column:span 2}#loc-los-angeles .loc-card:nth-child(5),#loc-los-angeles .loc-card:nth-child(13){grid-column:3/span 2}#loc-los-angeles .loc-card:nth-child(7){grid-column:1/span 2}#loc-los-angeles .loc-card:nth-child(11){grid-column:2/span 2}.loc-card__more{min-height:44px;margin-top:68px;font-size:15px}.loc-card__address{margin-top:46px}.loc-card__status{min-height:68px}}
/* Match the last Los Angeles row without forcing Westwood to a fifth row. */
@media(min-width:1100px){#loc-los-angeles .loc-card:nth-child(13){grid-column:span 2}}
.rewards-hero__panel{min-height:760px;padding:132px 20px 220px}.rewards-hero__logo{width:350px;max-width:calc(100vw - 40px)}.rewards-hero__panel .tg-btn{min-height:38px;padding:10px 25px;font-size:14px;letter-spacing:2px}
@media(min-width:1100px){.rewards-hero__panel{min-height:900px;padding:120px 60px 80px}.rewards-hero__logo{width:640px;max-width:100%}.rewards-hero__panel .tg-btn{min-height:44px}}
