.tlaw-app {
    --tlaw-accent: var(--ssb-accent, #1fa968);
    --tlaw-ink: #173428;
    --tlaw-muted: #65736c;
    --tlaw-line: #dfe9e3;
    --tlaw-soft: #f3f8f5;
    width: min(1180px, calc(100% - 32px));
    margin: 26px auto;
    overflow: hidden;
    color: var(--tlaw-ink);
    background: #fff;
    border: 1px solid var(--tlaw-line);
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(19, 53, 40, .09);
    font: 15px/1.5 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tlaw-app *, .tlaw-app *::before, .tlaw-app *::after { box-sizing: border-box; }
.tlaw-app button, .tlaw-app input, .tlaw-app select, .tlaw-app textarea { font: inherit; }
.tlaw-app button { cursor: pointer; }
.tlaw-app [hidden] { display: none !important; }

.tlaw-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 30px;
    color: #fff;
    background:
        radial-gradient(circle at 92% 8%, rgba(255,255,255,.2), transparent 28%),
        linear-gradient(135deg, #173d2c, #1b6a43 62%, #24a969);
}

.tlaw-hero h2, .tlaw-section-head h3, .tlaw-meal-card h3, .tlaw-plan-summary h3,
.tlaw-mini-meal h4, .tlaw-plan-card h3, .tlaw-program-card h3, .tlaw-repeat h3 {
    margin: 4px 0 6px;
    line-height: 1.15;
}
.tlaw-hero h2 { color: #fff; font-size: clamp(25px, 4vw, 39px); }
.tlaw-hero p { max-width: 690px; margin: 0; color: rgba(255,255,255,.84); }
.tlaw-eyebrow { display: block; color: var(--tlaw-accent); font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.tlaw-hero .tlaw-eyebrow { color: #baf5d1; }
.tlaw-hero-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.tlaw-hero-badges span { padding: 7px 11px; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: rgba(255,255,255,.1); font-size: 12px; font-weight: 700; white-space: nowrap; }

.tlaw-tabs {
    display: flex;
    gap: 4px;
    padding: 8px;
    overflow-x: auto;
    background: #fff;
    border-bottom: 1px solid var(--tlaw-line);
    scrollbar-width: thin;
}
.tlaw-tabs button { min-height: 42px; padding: 8px 16px; color: #4e6258; background: transparent; border: 0; border-radius: 13px; font-weight: 750; white-space: nowrap; }
.tlaw-tabs button:hover, .tlaw-tabs button.is-active { color: #fff; background: var(--tlaw-accent); }

.tlaw-panel { padding: 28px 30px; }
.tlaw-panel.is-active { animation: tlaw-in .2s ease both; }
@keyframes tlaw-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.tlaw-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tlaw-grid--profile { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tlaw-app label > span, .tlaw-inline-controls label > span { display: block; margin-bottom: 6px; color: #486056; font-size: 12px; font-weight: 800; }
.tlaw-app input[type="text"], .tlaw-app input[type="tel"], .tlaw-app input[type="email"],
.tlaw-app input[type="password"], .tlaw-app input[type="number"], .tlaw-app select, .tlaw-app textarea {
    width: 100%; min-height: 44px; padding: 10px 12px; color: var(--tlaw-ink); background: #fff;
    border: 1px solid #cbd9d1; border-radius: 12px; outline: none;
}
.tlaw-app input:-webkit-autofill,
.tlaw-app input:-webkit-autofill:hover,
.tlaw-app input:-webkit-autofill:focus {
    -webkit-text-fill-color: var(--tlaw-ink);
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
    border-color: #cbd9d1;
}
.tlaw-app input:focus, .tlaw-app select:focus, .tlaw-app textarea:focus { border-color: var(--tlaw-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tlaw-accent) 18%, transparent); }
.tlaw-profile-form fieldset, .tlaw-auth fieldset { margin: 22px 0 0; padding: 0; border: 0; }
.tlaw-profile-form legend, .tlaw-auth legend { margin-bottom: 9px; font-size: 14px; font-weight: 850; }
.tlaw-auth .tlaw-grid--profile { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tlaw-auth [data-tlaw-login] { max-width: 720px; }
.tlaw-auth [data-tlaw-login] .tlaw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tlaw-register-progress {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;
    max-width: 880px; margin: 0 0 24px; padding: 0; list-style: none;
}
.tlaw-register-progress li { display: flex; align-items: center; gap: 9px; padding: 10px 12px; color: var(--tlaw-muted); background: var(--tlaw-soft); border: 1px solid var(--tlaw-line); border-radius: 13px; font-size: 13px; font-weight: 800; }
.tlaw-register-progress li > span { display: grid; width: 28px; height: 28px; margin: 0; place-items: center; color: #52665c; background: #fff; border: 1px solid var(--tlaw-line); border-radius: 50%; }
.tlaw-register-progress li.is-active { color: #17623d; background: #e7f7ee; border-color: #8ad5aa; }
.tlaw-register-progress li.is-active > span { color: #fff; background: var(--tlaw-accent); border-color: var(--tlaw-accent); }
.tlaw-register-step { max-width: 880px; }
.tlaw-register-step.is-active { animation: tlaw-in .2s ease both; }
.tlaw-step-heading { margin-bottom: 18px; }
.tlaw-step-heading h3 { margin: 0 0 4px; font-size: 21px; line-height: 1.2; }
.tlaw-step-heading p { margin: 0; color: var(--tlaw-muted); }
.tlaw-check-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.tlaw-check-grid label, .tlaw-consent { display: flex; align-items: center; gap: 8px; margin: 0; padding: 9px 11px; background: var(--tlaw-soft); border: 1px solid var(--tlaw-line); border-radius: 12px; }
.tlaw-check-grid label:has(input:checked) { background: #e7f7ee; border-color: #8ad5aa; }
.tlaw-check-grid input, .tlaw-consent input { width: 17px; height: 17px; margin: 0; accent-color: var(--tlaw-accent); }
.tlaw-check-grid label > span, .tlaw-consent > span { margin: 0; color: var(--tlaw-ink); font-size: 13px; font-weight: 650; }
.tlaw-consent { align-items: flex-start; margin-top: 20px; background: #fffaf0; border-color: #ead9b6; }

.tlaw-actions, .tlaw-inline-controls, .tlaw-section-head, .tlaw-meal-head, .tlaw-plan-summary, .tlaw-repeat,
.tlaw-program-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tlaw-actions { justify-content: flex-start; margin-top: 18px; }
.tlaw-button {
    min-height: 43px; padding: 9px 16px; color: var(--tlaw-ink); background: #fff;
    border: 1px solid #bfcfc6; border-radius: 12px; font-weight: 800;
}
.tlaw-button:hover { border-color: var(--tlaw-accent); }
.tlaw-button--primary { color: #fff; background: var(--tlaw-accent); border-color: var(--tlaw-accent); box-shadow: 0 8px 20px color-mix(in srgb, var(--tlaw-accent) 22%, transparent); }
.tlaw-button:disabled { opacity: .55; cursor: wait; }
.tlaw-link { padding: 6px; color: #27744e; background: none; border: 0; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.tlaw-inline-controls { justify-content: flex-start; flex-wrap: wrap; margin: 20px 0; padding: 15px; background: var(--tlaw-soft); border-radius: 16px; }
.tlaw-inline-controls label { width: min(310px, 100%); }
.tlaw-section-head { align-items: flex-end; }
.tlaw-plan-controls { display: flex; align-items: flex-end; flex: 0 0 auto; gap: 10px; }
.tlaw-plan-controls label { width: 130px; }
.tlaw-section-head p, .tlaw-meal-head p, .tlaw-mini-meal p, .tlaw-plan-card p, .tlaw-program-card p, .tlaw-repeat p { margin: 0; color: var(--tlaw-muted); }

.tlaw-result { margin-top: 18px; }
.tlaw-state { display: flex; align-items: center; justify-content: center; gap: 11px; min-height: 92px; padding: 20px; text-align: center; background: var(--tlaw-soft); border: 1px solid var(--tlaw-line); border-radius: 16px; }
.tlaw-state.is-error { color: #8c2727; background: #fff4f4; border-color: #edc7c7; }
.tlaw-state.is-success { color: #14613a; background: #effaf4; border-color: #b8e5ca; }
.tlaw-spinner { width: 20px; height: 20px; border: 3px solid #cce7d7; border-top-color: var(--tlaw-accent); border-radius: 50%; animation: tlaw-spin .7s linear infinite; }
@keyframes tlaw-spin { to { transform: rotate(360deg); } }

.tlaw-meal-card { padding: 20px; border: 1px solid var(--tlaw-line); border-radius: 18px; background: linear-gradient(180deg, #fff, #fbfdfc); }
.tlaw-meal-head { align-items: flex-start; }
.tlaw-meal-head > div > span, .tlaw-mini-meal > span { color: var(--tlaw-accent); font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.tlaw-nutrition-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 17px 0; }
.tlaw-nutrition-grid > div { padding: 12px 8px; text-align: center; background: var(--tlaw-soft); border-radius: 12px; }
.tlaw-nutrition-grid span, .tlaw-nutrition-grid small { display: block; color: var(--tlaw-muted); font-size: 11px; }
.tlaw-nutrition-grid strong { display: inline-block; margin-top: 2px; font-size: 19px; }
.tlaw-quality { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.tlaw-quality span { padding: 5px 9px; color: #7b5620; background: #fff4dd; border-radius: 999px; font-size: 11px; font-weight: 800; }
.tlaw-quality.is-verified span { color: #16623c; background: #e6f7ed; }
.tlaw-ingredient-list, .tlaw-swap-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tlaw-ingredient-list > div, .tlaw-swap-list > div { padding: 11px 12px; background: #fff; border: 1px solid var(--tlaw-line); border-radius: 12px; }
.tlaw-ingredient-list strong, .tlaw-ingredient-list span, .tlaw-swap-list strong, .tlaw-swap-list span { display: block; }
.tlaw-ingredient-list span, .tlaw-swap-list span { margin-top: 3px; color: var(--tlaw-muted); font-size: 12px; }
.tlaw-disclaimer, .tlaw-muted { margin: 14px 0 0; color: var(--tlaw-muted); font-size: 12px; }

.tlaw-plan-summary { margin: 18px 0 4px; }
.tlaw-plan-meals, .tlaw-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 15px; }
.tlaw-mini-meal, .tlaw-plan-card { padding: 16px; border: 1px solid var(--tlaw-line); border-radius: 16px; background: #fff; }
.tlaw-mini-meal small { display: block; margin: 10px 0; color: #556b60; }
.tlaw-plan-card { display: flex; flex-direction: column; align-items: flex-start; }
.tlaw-plan-card > span { color: var(--tlaw-accent); font-size: 12px; font-weight: 800; }
.tlaw-plan-card > strong { margin: 12px 0; font-size: 18px; }
.tlaw-plan-card .tlaw-button { margin-top: auto; }

.tlaw-program-result { margin-top: 18px; }
.tlaw-program-builder { padding: 20px; border: 1px solid var(--tlaw-line); border-radius: 18px; background: #fbfdfc; }
.tlaw-program-builder .tlaw-plan-summary { align-items: flex-start; margin-top: 0; }
.tlaw-program-builder .tlaw-plan-summary p { margin: 5px 0 0; color: var(--tlaw-muted); }
.tlaw-program-builder .tlaw-plan-summary > strong { padding: 7px 11px; color: #14613a; background: #e5f7ed; border-radius: 999px; white-space: nowrap; }
.tlaw-program-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 15px 0; padding: 12px 14px; color: #155f39; background: #eaf8f0; border: 1px solid #b7e2c8; border-radius: 13px; }
.tlaw-program-status span { color: #416d57; font-size: 12px; }
.tlaw-program-totals { margin-top: 16px; padding: 16px; background: #fff; border: 1px solid var(--tlaw-line); border-radius: 16px; }
.tlaw-program-totals > div > span { font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.tlaw-program-totals .tlaw-nutrition-grid { margin-bottom: 8px; }
.tlaw-program-totals > p { margin: 0; color: var(--tlaw-muted); font-size: 12px; }
.tlaw-program-meals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.tlaw-program-meal { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 15px; background: #fff; border: 1px solid var(--tlaw-line); border-radius: 14px; }
.tlaw-program-meal > div > span { color: var(--tlaw-accent); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.tlaw-program-meal h4 { margin: 3px 0 0; line-height: 1.25; }
.tlaw-program-meal p { margin: 0; overflow-wrap: anywhere; color: #52665c; font-size: 12px; }
.tlaw-program-meal small { color: var(--tlaw-muted); }
.tlaw-program-meal .tlaw-link { align-self: flex-start; margin-top: auto; }
.tlaw-program-approval { margin-top: 18px; padding: 17px; background: #fff; border: 1px solid var(--tlaw-line); border-radius: 16px; }

.tlaw-repeat { margin-top: 18px; padding: 16px 18px; background: #eef9f3; border: 1px solid #c8e8d5; border-radius: 16px; }
.tlaw-rewards-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tlaw-rewards-summary > div { padding: 20px; color: #fff; background: linear-gradient(135deg, #17432f, #258659); border-radius: 17px; }
.tlaw-rewards-summary span, .tlaw-rewards-summary strong { display: block; }
.tlaw-rewards-summary span { color: rgba(255,255,255,.75); font-size: 12px; font-weight: 750; }
.tlaw-rewards-summary strong { margin-top: 5px; font-size: 30px; }
.tlaw-reward-list { display: grid; gap: 9px; margin-top: 14px; }
.tlaw-reward-list article { display: flex; justify-content: space-between; gap: 14px; padding: 14px 16px; border: 1px solid var(--tlaw-line); border-radius: 14px; opacity: .72; }
.tlaw-reward-list article.is-unlocked { opacity: 1; background: #edfaf2; border-color: #9ed8b5; }
.tlaw-reward-list article span { color: var(--tlaw-accent); font-size: 11px; font-weight: 850; text-transform: uppercase; }
.tlaw-reward-list article h3, .tlaw-reward-list article p { margin: 2px 0; }
.tlaw-reward-list article p { color: var(--tlaw-muted); font-size: 12px; }
.tlaw-reward-list article > strong { align-self: center; font-size: 20px; }

.tlaw-program-card { align-items: flex-end; padding: 18px; background: var(--tlaw-soft); border-radius: 17px; }
.tlaw-program-progress { min-width: 260px; text-align: right; }
.tlaw-program-progress > div { height: 10px; overflow: hidden; background: #d5e3db; border-radius: 999px; }
.tlaw-program-progress > div span { display: block; height: 100%; background: var(--tlaw-accent); border-radius: inherit; }
.tlaw-program-progress strong, .tlaw-program-progress small { display: block; margin-top: 5px; }
.tlaw-program-progress small { color: var(--tlaw-muted); }
.tlaw-plan-form { margin-top: 18px; padding: 18px; border: 1px solid var(--tlaw-line); border-radius: 16px; }

.tlaw-safety { padding: 18px 30px 22px; color: #596a62; background: #f6f8f7; border-top: 1px solid var(--tlaw-line); font-size: 12px; }
.tlaw-safety strong { color: #334b40; }
.tlaw-safety p { margin: 5px 0 0; }
.tlaw-toast { position: fixed; z-index: 999999; right: 20px; bottom: 20px; max-width: min(420px, calc(100vw - 40px)); padding: 13px 16px; color: #fff; background: #173d2c; border-radius: 13px; box-shadow: 0 16px 40px rgba(0,0,0,.2); font-weight: 750; }
.tlaw-toast.is-error { background: #8b2d2d; }

@media (max-width: 820px) {
    .tlaw-app { width: min(100% - 20px, 1180px); margin: 16px auto; border-radius: 18px; }
    .tlaw-hero { align-items: flex-start; flex-direction: column; padding: 22px; }
    .tlaw-hero-badges { justify-content: flex-start; }
    .tlaw-panel { padding: 20px; }
    .tlaw-grid--profile, .tlaw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tlaw-nutrition-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tlaw-plan-meals, .tlaw-plan-grid { grid-template-columns: 1fr; }
    .tlaw-program-meals { grid-template-columns: 1fr; }
    .tlaw-program-card, .tlaw-section-head, .tlaw-plan-summary { align-items: stretch; flex-direction: column; }
    .tlaw-plan-controls { width: 100%; }
    .tlaw-program-status { align-items: flex-start; flex-direction: column; }
    .tlaw-program-progress { min-width: 0; text-align: left; }
}

@media (max-width: 520px) {
    .tlaw-app { width: calc(100% - 12px); margin: 10px auto; border-radius: 15px; }
    .tlaw-hero, .tlaw-panel, .tlaw-safety { padding-left: 16px; padding-right: 16px; }
    .tlaw-tabs { position: sticky; top: 0; z-index: 20; }
    .tlaw-grid--profile, .tlaw-grid, .tlaw-auth .tlaw-grid--profile, .tlaw-auth [data-tlaw-login] .tlaw-grid, .tlaw-ingredient-list, .tlaw-swap-list, .tlaw-rewards-summary { grid-template-columns: 1fr; }
    .tlaw-actions, .tlaw-inline-controls, .tlaw-plan-controls, .tlaw-meal-head, .tlaw-repeat { align-items: stretch; flex-direction: column; }
    .tlaw-plan-controls label { width: 100%; }
    .tlaw-button { width: 100%; }
    .tlaw-link { align-self: flex-start; }
    .tlaw-nutrition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Google account access */
.tlaw-google-auth { width: min(400px, 100%); max-width: 100%; margin-top: 18px; overflow: hidden; }
.tlaw-google-auth.is-loading { opacity: .62; pointer-events: none; }
.tlaw-auth-divider { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--tlaw-muted); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.tlaw-auth-divider::before, .tlaw-auth-divider::after { content: ''; flex: 1 1 auto; height: 1px; background: var(--tlaw-line); }
.tlaw-auth-divider span { flex: 0 0 auto; }
.tlaw-google-button { width: 100%; max-width: 100%; min-height: 44px; overflow: hidden; }
.tlaw-google-button > div, .tlaw-google-button iframe { max-width: 100% !important; }
@media (max-width: 520px) {
    .tlaw-google-auth { width: 100%; }
    .tlaw-google-button { width: 100%; }
}


/* Visitor-facing Wellness landing page */
.tlaw-visitor { overflow: hidden; }
.tlaw-visitor-hero {
    position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 34px;
    align-items: center; padding: clamp(30px, 5vw, 58px); color: #fff;
    background:
        radial-gradient(circle at 88% 5%, rgba(182,255,209,.23), transparent 27%),
        radial-gradient(circle at 8% 94%, rgba(255,255,255,.10), transparent 30%),
        linear-gradient(135deg, #123527 0%, #185f3d 54%, #1fa968 100%);
}
.tlaw-visitor-hero::after { content: ''; position: absolute; inset: auto -80px -110px auto; width: 280px; height: 280px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; pointer-events: none; }
.tlaw-visitor-hero-copy { position: relative; z-index: 1; }
.tlaw-visitor-hero .tlaw-eyebrow { color: #bff5d3; }
.tlaw-visitor-hero h2 { max-width: 760px; margin: 7px 0 14px; color: #fff; font-size: clamp(31px, 5vw, 56px); line-height: 1.03; letter-spacing: -.035em; }
.tlaw-visitor-hero-copy > p { max-width: 760px; margin: 0; color: rgba(255,255,255,.84); font-size: clamp(15px, 1.8vw, 18px); }
.tlaw-visitor-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.tlaw-visitor .tlaw-visitor-primary { min-height: 49px; padding-inline: 20px; background: #fff; border-color: #fff; color: #17613d; box-shadow: 0 12px 30px rgba(5,30,18,.2); }
.tlaw-visitor .tlaw-visitor-primary:hover { border-color: #d9f6e4; background: #effbf4; }
.tlaw-visitor .tlaw-visitor-secondary { min-height: 49px; padding-inline: 20px; color: #fff; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.3); }
.tlaw-visitor .tlaw-visitor-secondary:hover { border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.15); }
.tlaw-visitor-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.tlaw-visitor-pills span { padding: 7px 10px; color: rgba(255,255,255,.88); background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.17); border-radius: 999px; font-size: 12px; font-weight: 750; }
.tlaw-visitor-preview { position: relative; z-index: 1; padding: 18px; color: var(--tlaw-ink); background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.72); border-radius: 22px; box-shadow: 0 24px 60px rgba(4,31,18,.26); }
.tlaw-preview-top, .tlaw-preview-goal, .tlaw-preview-meal { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tlaw-preview-top { padding-bottom: 13px; border-bottom: 1px solid var(--tlaw-line); }
.tlaw-preview-top span, .tlaw-preview-goal span, .tlaw-preview-kicker { color: var(--tlaw-muted); font-size: 12px; font-weight: 750; }
.tlaw-preview-top strong { padding: 5px 9px; color: #17623d; background: #e8f8ef; border-radius: 999px; font-size: 11px; }
.tlaw-preview-goal { margin: 14px 0; padding: 12px 13px; background: #f3f8f5; border: 1px solid var(--tlaw-line); border-radius: 13px; }
.tlaw-preview-goal b { font-size: 12px; }
.tlaw-preview-meal { padding: 15px; background: linear-gradient(135deg, #eef9f2, #fff); border: 1px solid #cfe8d9; border-radius: 15px; }
.tlaw-preview-meal div { display: grid; gap: 3px; }
.tlaw-preview-check { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; color: #fff; background: var(--tlaw-accent); border-radius: 50%; font-weight: 900; }
.tlaw-preview-nutrition { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 10px; }
.tlaw-preview-nutrition span { padding: 9px 5px; color: #496157; background: #f7faf8; border: 1px solid var(--tlaw-line); border-radius: 10px; text-align: center; font-size: 11px; font-weight: 800; }
.tlaw-visitor-preview > p { margin: 12px 2px 0; color: var(--tlaw-muted); font-size: 12px; }

.tlaw-visitor-section, .tlaw-visitor-how, .tlaw-visitor-programs, .tlaw-visitor-trust { padding: clamp(30px, 5vw, 52px); }
.tlaw-visitor-section { background: #fff; }
.tlaw-visitor-section-head { max-width: 760px; margin-bottom: 23px; }
.tlaw-visitor-section-head h3 { margin: 5px 0 8px; color: var(--tlaw-ink); font-size: clamp(24px, 3.5vw, 35px); line-height: 1.12; letter-spacing: -.02em; }
.tlaw-visitor-section-head p { margin: 0; color: var(--tlaw-muted); }
.tlaw-visitor-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.tlaw-visitor-feature { position: relative; min-height: 220px; padding: 20px; overflow: hidden; background: #f7faf8; border: 1px solid var(--tlaw-line); border-radius: 18px; }
.tlaw-visitor-feature::after { content: ''; position: absolute; width: 90px; height: 90px; right: -34px; bottom: -40px; background: #e4f6eb; border-radius: 50%; }
.tlaw-feature-icon { display: grid; width: 38px; height: 38px; margin-bottom: 18px; place-items: center; color: #17623d; background: #e2f5ea; border-radius: 11px; font-size: 12px; font-weight: 900; }
.tlaw-visitor-feature h4 { margin: 0 0 8px; font-size: 19px; line-height: 1.15; }
.tlaw-visitor-feature p { position: relative; z-index: 1; margin: 0; color: var(--tlaw-muted); font-size: 13px; }

.tlaw-visitor-how { background: linear-gradient(180deg, #f4f9f6, #fff); border-top: 1px solid var(--tlaw-line); border-bottom: 1px solid var(--tlaw-line); }
.tlaw-visitor-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tlaw-visitor-steps li { padding: 18px; background: #fff; border: 1px solid var(--tlaw-line); border-radius: 16px; }
.tlaw-visitor-steps li > span { display: grid; width: 34px; height: 34px; margin-bottom: 13px; place-items: center; color: #fff; background: var(--tlaw-accent); border-radius: 50%; font-weight: 900; }
.tlaw-visitor-steps strong { display: block; margin-bottom: 6px; font-size: 15px; }
.tlaw-visitor-steps p { margin: 0; color: var(--tlaw-muted); font-size: 13px; }

.tlaw-visitor-programs { background: #fff; }
.tlaw-visitor-program-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tlaw-visitor-program-grid article { display: grid; gap: 7px; padding: 18px; background: linear-gradient(150deg, #173e2d, #1d7148); border-radius: 17px; color: #fff; }
.tlaw-visitor-program-grid article > span { color: #bdf3d2; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tlaw-visitor-program-grid article > strong { font-size: 19px; }
.tlaw-visitor-program-grid article > p { margin: 0; color: rgba(255,255,255,.78); font-size: 13px; }

.tlaw-visitor-trust { background: #f7faf8; border-top: 1px solid var(--tlaw-line); }
.tlaw-visitor-trust-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tlaw-visitor-trust-grid > div { padding: 18px; background: #fff; border: 1px solid var(--tlaw-line); border-radius: 15px; }
.tlaw-visitor-trust-grid strong { display: block; margin-bottom: 6px; }
.tlaw-visitor-trust-grid p { margin: 0; color: var(--tlaw-muted); font-size: 13px; }

.tlaw-visitor-account { scroll-margin-top: 20px; background: #fff; border-top: 1px solid var(--tlaw-line); }
.tlaw-visitor-account-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px; background: linear-gradient(135deg, #fbfdfc, #f0f8f3); }
.tlaw-visitor-account-head > div:first-child { max-width: 720px; }
.tlaw-visitor-account-head h3 { margin: 4px 0 6px; font-size: clamp(22px, 3vw, 30px); line-height: 1.15; }
.tlaw-visitor-account-head p { margin: 0; color: var(--tlaw-muted); }
.tlaw-visitor-account .tlaw-guide-entry { flex: 0 0 auto; }

@media (max-width: 900px) {
    .tlaw-visitor-hero { grid-template-columns: 1fr; }
    .tlaw-visitor-preview { max-width: 620px; }
    .tlaw-visitor-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tlaw-visitor-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tlaw-visitor-account-head { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 620px) {
    .tlaw-visitor-hero, .tlaw-visitor-section, .tlaw-visitor-how, .tlaw-visitor-programs, .tlaw-visitor-trust { padding: 22px 16px; }
    .tlaw-visitor-hero h2 { font-size: clamp(30px, 10vw, 42px); }
    .tlaw-visitor-actions { display: grid; grid-template-columns: 1fr; }
    .tlaw-visitor-actions .tlaw-button { width: 100%; }
    .tlaw-preview-nutrition { grid-template-columns: repeat(2, 1fr); }
    .tlaw-visitor-feature-grid, .tlaw-visitor-steps, .tlaw-visitor-program-grid, .tlaw-visitor-trust-grid { grid-template-columns: 1fr; }
    .tlaw-visitor-feature { min-height: 0; }
    .tlaw-visitor-account-head { padding: 22px 16px; }
}
