.up-welcome { width: min(920px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #ffffff30; border-radius: 22px; color: #181b18; background: #fafbf8; box-shadow: 0 32px 120px #0006; font-family: "Maven Pro", Arial, sans-serif; overflow: auto; }
.up-welcome[open] { display: grid; grid-template-columns: .92fr 1.08fr; }
.up-welcome::backdrop { background: #080e0bd0; backdrop-filter: blur(7px); }
.up-welcome-close { position: absolute; right: 16px; top: 16px; z-index: 2; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #18201820; border-radius: 50%; background: transparent; color: #343b34; font-size: 25px; cursor: pointer; transition: background .2s; }
.up-welcome-close:hover { background: #e5ebdf; }
.up-welcome-art { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 28px 36px; overflow: hidden; background: #14251d; color: #e4f4dc; text-align: center; }
.up-welcome-art::before { content: ""; position: absolute; z-index: -1; width: 340px; height: 340px; top: 140px; left: 50%; transform: translateX(-50%); border-radius: 50%; background: #c9eace; box-shadow: 0 0 0 24px #c9eace0a, 0 0 0 50px #c9eace05; }
.up-welcome-brand { align-self: flex-start; display: flex; align-items: center; gap: 9px; margin-bottom: 44px; color: white; font-size: 42px; line-height: .8; font-weight: 900; letter-spacing: -.09em; }
.up-welcome-brand span { border-left: 1px solid #ffffff60; padding-left: 10px; font-size: 9px; line-height: 1.3; text-align: left; letter-spacing: .1em; font-weight: 600; }
.up-welcome-art > span { border: 1px solid #c9eace55; border-radius: 30px; padding: 9px 14px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.up-welcome-art img { width: 112%; max-width: none; height: 230px; object-fit: contain; transform: rotate(-13deg); mix-blend-mode: multiply; filter: drop-shadow(0 22px 12px #0003); margin: 6px 0 12px; }
.up-welcome-art strong { display: flex; flex-direction: column; align-items: center; gap: 4px; position: relative; margin-top: 16px; }
.up-welcome-art strong > span { font-size: 18px; font-weight: 500; }
.up-welcome-art b { color: #c9eace; font-size: 53px; font-weight: 900; line-height: 1; letter-spacing: -.055em; }
.up-welcome-content { padding: 58px 42px 36px; }
.up-welcome-eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 22px; color: #526c52; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.up-welcome-eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #6c9566; }
.up-welcome h2 { margin: 0 0 24px; font-size: clamp(30px, 4vw, 44px); line-height: 1.04; font-weight: 900; letter-spacing: -.055em; }
.up-welcome h2 em { color: #63875f; font-style: normal; }
.up-welcome-content #up-welcome-copy p { margin: 0 0 18px; color: #5a6259; font-size: 14px; line-height: 1.65; }
.up-welcome-content #up-welcome-copy .up-welcome-gift { padding: 16px 18px; border-left: 3px solid #81a878; border-radius: 0 10px 10px 0; background: #eaf0e4; color: #344331; }
.up-welcome-gift strong { color: #1a2c1b; font-weight: 800; }
.up-welcome-content #up-welcome-copy p:last-child { margin-bottom: 0; font-size: 12px; }
.up-welcome-continue { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; margin-top: 26px; padding: 17px 20px; border: 0; border-radius: 9px; background: #17291e; color: white; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .2s, transform .2s; }
.up-welcome-continue span { font-size: 22px; line-height: 1; }
.up-welcome-continue:hover { background: #31513a; transform: translateY(-1px); }
.up-welcome button:focus-visible { outline: 3px solid #81a878; outline-offset: 3px; }
@media (max-width: 600px) { .up-welcome { border-radius: 16px; } .up-welcome[open] { grid-template-columns: 1fr; } .up-welcome-art { min-height: 205px; padding: 24px; align-items: flex-start; text-align: left; } .up-welcome-brand { font-size: 30px; margin-bottom: 20px; } .up-welcome-brand span { font-size: 7px; } .up-welcome-art::before { width: 190px; height: 190px; top: 5px; left: 82%; } .up-welcome-art > span { font-size: 8px; padding: 7px 10px; } .up-welcome-art img { position: absolute; width: 57%; height: 155px; right: -7px; top: 22px; } .up-welcome-art strong { align-items: flex-start; margin-top: 12px; } .up-welcome-art strong > span { font-size: 13px; } .up-welcome-art b { font-size: 30px; } .up-welcome-close { background: #fafbf8; right: 10px; top: 10px; } .up-welcome-content { padding: 26px 24px; } .up-welcome-eyebrow { margin-bottom: 16px; font-size: 9px; } .up-welcome h2 { font-size: 34px; } }

/* Keep the gift label readable over the desktop artwork. */
.up-welcome-art > span { position: relative; z-index: 1; padding: 11px 16px; border: 1px solid #c9eace; background: #14251d; color: #f4fff0; font-size: 12px; line-height: 1.4; letter-spacing: .08em; }
@media (max-width: 600px) { .up-welcome-art > span { padding: 8px 11px; font-size: 9px; } }
.up-welcome-art strong { z-index: 1; padding: 12px 24px; border-radius: 14px; background: #14251d; color: #f4fff0; }
@media (min-width: 601px) { .up-welcome-art::before { width: 290px; height: 290px; top: 50%; transform: translate(-50%, -50%); } }
@media (max-width: 600px) { .up-welcome-art strong { padding: 0; border-radius: 0; background: transparent; } }

/* Use the original brand artwork without product-image transforms. */
.up-welcome-art .up-welcome-brand img { position:static; display:block; width:230px; max-width:100%; height:auto; margin:0; transform:none; mix-blend-mode:normal; filter:none; }
@media (max-width:600px) { .up-welcome-art .up-welcome-brand img { width:150px; } }

/* Homepage palette. */
.up-welcome { background:#fff; border-color:#fff; }
.up-welcome::backdrop { background:#10161099; }
.up-welcome-art { background:#edf3e5; color:#101510; }
.up-welcome-art::before { background:#c9eace; box-shadow:0 0 0 24px #c9eace33,0 0 0 50px #c9eace1a; }
.up-welcome-art .up-welcome-brand img { filter:brightness(0); }
.up-welcome-art > span { background:#fff; color:#162018; border-color:#b9d0b3; }
.up-welcome-art strong { background:#edf3e5; color:#101510; }
.up-welcome-art b { color:#050505; }
.up-welcome h2 em { color:#050505; }
.up-welcome-eyebrow { color:#4c6048; }
.up-welcome-content #up-welcome-copy .up-welcome-gift { background:#edf5e9; border-color:#91b982; color:#32432f; }
.up-welcome-continue { background:#050505; }
.up-welcome-continue:hover { background:#2c332b; }
@media(max-width:600px) { .up-welcome-art strong { background:transparent; } .up-welcome-close { background:#fff; } }

.up-welcome h2 .up-welcome-energy { color:#397b45; }

.up-welcome-content { container-type:inline-size; }
.up-welcome h2 em { display:block; white-space:nowrap; font-size:clamp(18px, 8.2cqi, 34px); }
