:root{font-family:Arial,Helvetica,sans-serif;color:#263c4f;background:#e9eef3;color-scheme:light;font-size:16px}*{box-sizing:border-box}body{margin:0;padding:24px}main{max-width:820px;margin:auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 14px 70px #274e7614}header{display:flex;align-items:center;gap:12px;padding:18px 24px;background:#517da2;color:#fff}.avatar{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:#ffffff25;font-size:27px}header>div{min-width:0}h1{font-size:18px;margin:0 0 5px;line-height:1.25}small{font-size:12px;color:#e4eff8}header>span{margin-left:auto;font-size:10px;letter-spacing:.6px;text-align:right;overflow-wrap:anywhere}.notice{background:#f2f7fb;color:#60788c;text-align:center;padding:10px 18px;font-size:11px;line-height:1.4}.actions{padding:24px;min-width:0}label{display:block;font-size:14px;line-height:1.5}input[type=tel]{font:inherit;font-size:18px;width:100%;border:1px solid #bdcddd;border-radius:10px;padding:14px;margin:8px 0 14px;min-height:50px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#536b80;margin:12px 0}.check span{min-width:0;overflow-wrap:anywhere}.check input{margin:2px 0 0;width:20px;height:20px;flex-shrink:0;accent-color:#517da2}button,.button{border:0;width:100%;border-radius:10px;padding:14px 16px;background:#517da2;color:#fff;font:inherit;font-size:14px;line-height:1.35;cursor:pointer;margin:8px 0;min-height:46px;text-align:center;text-decoration:none;display:block;touch-action:manipulation;overflow-wrap:anywhere}button:hover,.button:hover{background:#416c91}.secondary,.quick button{background:#edf4f9;color:#365f80}.secondary:hover,.quick button:hover{background:#ddebf6}button:disabled,input:disabled{opacity:.52;cursor:not-allowed}.quick{display:flex;gap:10px}.quick button{font-size:13px}#status,details{font-size:12px;line-height:1.6;color:#576e82}#status{min-height:18px;margin:12px 0}summary{cursor:pointer;min-height:40px;padding:10px 0}details p{overflow-wrap:anywhere}a{color:#346b96;text-underline-offset:3px}.button{color:white}footer{padding:12px 18px;background:#f7f9fb;color:#6d8193;text-align:center;font-size:11px;line-height:1.4}:focus-visible{outline:3px solid #d5a437;outline-offset:3px}[hidden]{display:none!important}#ad-video{display:block;width:100%;max-height:35dvh;border-radius:12px;background:#15222d}#ad p{font-size:13px;color:#66798a}.portal{padding:0;height:100vh;height:100dvh;overflow:hidden}.portal main{width:100%;max-width:none;height:100%;margin:0;border-radius:0;box-shadow:none;display:grid;grid-template-rows:auto auto minmax(120px,1fr) auto auto;overflow:hidden}.portal header{padding-top:max(14px,env(safe-area-inset-top));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}#messages{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;background-color:#dce7df;background-image:radial-gradient(#bed0c1 1px,transparent 1px);background-size:20px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px max(20px,calc((100vw - 920px)/2));scrollbar-gutter:stable}.bubble{flex-shrink:0;max-width:min(85%,680px);background:#fff;padding:13px 16px;border-radius:14px 14px 14px 3px;line-height:1.6;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 1px 2px #274b3820}.bubble b{display:block;font-size:12px;color:#42779f;margin-bottom:4px}.bubble.user{align-self:flex-end;background:#e4ffc7;border-radius:14px 14px 3px 14px}.portal .actions{width:100%;padding:16px max(20px,calc((100vw - 920px)/2));max-height:59dvh;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #d9e3eb;scrollbar-gutter:stable}.portal footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}@media(min-width:960px){.portal main{grid-template-columns:minmax(0,1fr) minmax(360px,420px);grid-template-rows:auto auto minmax(0,1fr) auto}.portal header,.portal .notice,.portal footer{grid-column:1/-1}.portal #messages{grid-column:1;grid-row:3;padding:36px clamp(24px,5vw,100px)}.portal .actions{grid-column:2;grid-row:3;max-height:none;padding:28px 26px;border-top:0;border-left:1px solid #d9e3eb}.portal h1{font-size:20px}.portal header{padding-bottom:16px}.portal .bubble{max-width:88%}.portal footer{text-align:right;padding-right:26px}}@media(max-width:480px){body:not(.portal){padding:0}body:not(.portal) main{border-radius:0}.portal header{gap:10px;padding-left:14px;padding-right:14px}.avatar{width:38px;height:38px;font-size:24px}h1{font-size:16px}small{font-size:10px}header>span{font-size:8px;max-width:92px}.notice{font-size:10px;padding:8px 12px}#messages{padding:16px 14px;gap:10px}.bubble{max-width:94%;font-size:14px;padding:11px 13px}.portal .actions{padding:12px 16px;max-height:62dvh}.check{font-size:12px;margin:10px 0}footer{font-size:10px;padding:8px 12px}}@media(max-height:560px) and (max-width:959px){.portal main{grid-template-rows:auto auto minmax(70px,1fr) auto auto}.portal .actions{max-height:54dvh}.portal header{padding-top:8px;padding-bottom:8px}.avatar{width:32px;height:32px}.notice{padding:5px}footer{padding:5px;font-size:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(forced-colors:active){.bubble,button,.button,input{border:1px solid CanvasText}}
#ad:not([hidden]){position:fixed;inset:0;z-index:1000;background:#10191f;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}#ad #ad-video{width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0}#ad .ad-timer{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));z-index:2;margin:0;padding:9px 13px;background:#10191fbd;border:1px solid #ffffff40;border-radius:24px;color:#fff;font-size:13px}#ad #ad-sound{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:2;width:auto;min-height:40px;padding:10px 13px;margin:0;background:#10191fbd;color:#fff;border:1px solid #ffffff40;font-size:12px}#ad #ad-play,#ad #ad-finish{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:2;width:min(320px,calc(100% - 40px))}#ad #ad-finish:disabled{display:none}#ad #ad-play{background:#517da2}#ad #ad-finish:not(:disabled){background:#315a42}
/* Moment Coffee visual identity */
:root{--forest:#203e35;--forest-light:#315b4b;--gold:#d9ba80;--ink:#2b3933;--paper:#faf8f2;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}.portal main{background:var(--paper)}.portal header{background:var(--forest);border-bottom:1px solid #ffffff15;padding-left:clamp(18px,3vw,48px);padding-right:clamp(18px,3vw,48px)}.avatar{border:1px solid #d9ba8066;border-radius:14px;background:#ffffff08;color:#e6cf9f;width:48px;height:48px}.avatar svg{width:30px;height:30px}header h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.5px;font-size:24px!important}header small{color:#c1d0c3;font-size:11px;letter-spacing:.2px}header #badge{padding:8px 12px;background:#ffffff0a;border:1px solid #ffffff25;border-radius:30px;color:#e6cf9f;font-size:9px;letter-spacing:1px}.notice{background:#f8f6ee;color:#6b776b;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;padding:11px}.live-dot{width:6px;height:6px;border-radius:50%;background:#5c8867;box-shadow:0 0 0 4px #5c886710}.notice-divider{color:#b6baa9;margin:0 4px}#messages{background-color:#e8ecdf;background-image:radial-gradient(ellipse at 10% 95%,#c7d2bc88,transparent 55%),radial-gradient(ellipse at 90% 10%,#f8f3dfaa,transparent 60%),radial-gradient(#b5bca94a .7px,transparent .7px);background-size:auto,auto,22px 22px;gap:18px}.bubble{border:1px solid #ffffffb0;border-radius:20px 20px 20px 4px;background:#fffef9;box-shadow:0 4px 18px #203e3507;color:#34463b;padding:16px 20px;font-size:14px;line-height:1.7}.bubble b{color:#65816a;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px}.bubble:first-child{font-family:Georgia,serif;font-size:clamp(22px,2.3vw,32px);line-height:1.25;letter-spacing:-.4px;padding:24px;max-width:570px}.bubble:first-child b{font-family:Segoe UI,Arial,sans-serif;font-size:10px;letter-spacing:1.5px;margin-bottom:12px}.bubble.user{background:#d7e7cb;border-color:#d1dfc5;border-radius:20px 20px 4px 20px}.portal .actions{background:var(--paper);border-color:#d9dece}.entry-heading{margin-bottom:22px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:#7d8a78}.entry-heading h2{font:400 42px/1 Georgia,serif;letter-spacing:-1.4px;margin:14px 0}.entry-heading h2 em{font-weight:400;color:#6c8368}.entry-heading p{font-size:12px;color:#879080;margin:0;line-height:1.6}.journey{display:flex;gap:6px;margin:0 0 24px;max-width:400px}.journey span{flex:1;text-align:center;padding:8px 5px;border:1px solid #e0e4d8;border-radius:7px;font-size:10px;color:#8a9385;white-space:nowrap}.journey-phone,body[data-stage=phone] .journey-phone,body[data-stage=call] .journey-call,body[data-stage=online] .journey-online{background:#e6ecdf;color:#385744!important;border-color:#c9d7c0!important}body[data-stage=call] .journey-phone,body[data-stage=online] .journey-phone{background:transparent;color:#8a9385!important;border-color:#e0e4d8!important}label{font-size:12px;color:#53664f}input[type=tel]{border-color:#d9dfd1;background:#fffefb;color:#2b4738;border-radius:12px;padding:15px;font-size:18px;letter-spacing:.5px;min-height:54px}input[type=tel]:focus{outline:2px solid #9baf8c;outline-offset:2px}.check{font-size:11px;color:#778370;line-height:1.65}.check input{accent-color:var(--forest);width:18px;height:18px}a{color:#4b6b4d}button,.button{background:var(--forest);border-radius:12px;font-size:12px;font-weight:600;min-height:48px;letter-spacing:.2px;box-shadow:0 3px 12px #203e350d}button:hover,.button:hover{background:var(--forest-light)}.secondary,.quick button{background:#edf0e6;color:#63775c;box-shadow:none;font-weight:400}.secondary:hover,.quick button:hover{background:#e2e8d7}.quick{gap:8px}.quick button{font-size:11px}.button{color:white}button:disabled,input:disabled{opacity:.48}#status,details{color:#7c8876;font-size:11px}footer{background:#f2f3eb;color:#8b9584;display:flex;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:.2px;border-top:1px solid #e1e5d7;padding-left:24px;padding-right:24px}.portal footer{padding-left:24px;padding-right:24px}#ad .ad-timer{backdrop-filter:blur(12px);border-color:#d9ba8055;color:#ead7b3}#ad #ad-play{background:#203e35}#ad #ad-sound{border-color:#d9ba8055;color:#ead7b3}#ad-video{background:#10191f}@media(min-width:960px){.portal main{grid-template-columns:minmax(0,1fr) minmax(370px,440px)}.portal #messages{padding:clamp(28px,4vw,70px)}.portal .actions{padding:32px clamp(26px,3vw,44px)}.entry-heading h2{font-size:48px}}@media(max-width:959px){.entry-heading{display:none}.journey{margin-bottom:16px;max-width:none}.bubble:first-child{font-size:23px;padding:16px 18px;max-width:92%}.bubble{padding:13px 16px;gap:12px}.portal .actions{padding-top:16px}footer span:first-child{display:none}footer{justify-content:center}}@media(max-width:480px){header h1{font-size:20px!important}.avatar{width:40px;height:40px;border-radius:12px}.avatar svg{width:26px;height:26px}header small{font-size:9px}header #badge{font-size:7px;padding:7px 9px;letter-spacing:.5px}.notice{font-size:9px;gap:7px}.bubble:first-child{font-size:21px;padding:16px}.bubble{font-size:12px}.bubble b{font-size:9px}#messages{gap:12px}.journey{margin-bottom:14px}.portal .actions{padding-top:12px}.check{font-size:11px}.portal footer{padding:8px 12px}}@media(prefers-reduced-motion:no-preference){.bubble{animation:moment-arrive .32s ease-out both}button,.button{transition:background .16s,box-shadow .16s,transform .16s}button:active,.button:active{transform:translateY(1px)}@keyframes moment-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}}
.phone-entry{display:flex;align-items:center;border:1px solid #d9dfd1;border-radius:12px;background:#fffefb;margin:8px 0 6px;min-height:54px;overflow:hidden}.phone-prefix{flex-shrink:0;padding:0 14px 0 16px;font-size:18px;color:#2b4738;line-height:24px;border-right:1px solid #e0e5d7}.phone-entry input[type=tel]{flex:1;min-width:0;width:0;margin:0;border:0;outline:0!important;background:transparent;padding:14px 12px;letter-spacing:.5px}.phone-entry:focus-within{outline:2px solid #9baf8c;outline-offset:2px}.phone-hint{display:block;font-size:10px;color:#879080;line-height:1.5;margin-bottom:14px}

.guest-tools{border:1px solid #dce3d4;border-radius:12px;padding:0 12px;margin:12px 0}.guest-tools>summary{color:#294b3b;font-weight:600}.guest-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guest-links a{padding:12px;background:#edf1e7;border-radius:8px;text-align:center;text-decoration:none;font-size:12px;line-height:1.5}.tools-note{font-size:10px!important;color:#77816f}.wifi-faq{margin:12px 0}.wifi-faq dt{font-size:12px;font-weight:600;margin:14px 0 5px;color:#294b3b}.wifi-faq dd{font-size:12px;line-height:1.6;margin:0;color:#65725f}

#app-code{width:100%;padding:16px;border:1px solid #d9dfd1;border-radius:12px;font:inherit;font-size:24px;letter-spacing:5px;background:#fffefb;color:#203e35;margin:10px 0}#app-code:focus{outline:2px solid #9baf8c;outline-offset:2px}
