:root{--navy:#162e50;--teal:#226c73;--ink:#192f43;--muted:#576c7a;--line:#dbe4e9;--bg:#f2f5f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #aa7327}a{color:var(--teal)}.demo-bar{background:var(--navy);color:#fff;padding:8px 5%;font-size:12px;letter-spacing:.06em;display:flex;gap:20px;justify-content:space-between}.demo-bar span{letter-spacing:0;opacity:.85}header{background:#fff;padding:20px 5%;border-bottom:1px solid var(--line);display:flex;gap:30px;align-items:center}.wordmark{font:700 38px/1 Georgia,serif;color:var(--navy);text-decoration:none;letter-spacing:-2px}.wordmark span{display:block;font:600 9px/1.8 system-ui;letter-spacing:2px}nav{display:flex;gap:6px;flex:1;flex-wrap:wrap}nav button{border:0;background:transparent;padding:12px 16px;border-radius:8px;color:var(--muted);font-size:14px;font-weight:600}nav button.active{background:#e9f1f5;color:var(--navy)}nav span{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1px 6px;margin-left:4px}.mode,.badge{border:1px solid var(--line);border-radius:20px;padding:6px 12px;font-size:12px;white-space:nowrap}.mode{color:var(--teal);background:#eff8f6}main{max-width:1320px;margin:auto;padding:36px 34px 50px;min-height:70vh}h1{font:500 clamp(30px,4vw,44px)/1.15 Georgia,serif;letter-spacing:-.025em;margin:8px 0 12px}h2{font-size:23px;line-height:1.25;margin:0 0 16px}h3{font-size:19px;margin:0 0 8px}p{margin:0 0 16px}.eyebrow{color:var(--teal);font-size:12px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:13px;color:var(--muted)}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px}.intro p{max-width:650px}.btn{border:1px solid var(--line);background:white;color:var(--navy);border-radius:8px;padding:11px 17px;min-height:44px;font-weight:600;font-size:14px}.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.teal{background:var(--teal);color:white;border-color:var(--teal)}.text-btn{border:0;background:none;color:var(--teal);text-decoration:underline;font-size:13px;padding:8px 0}.sell-grid{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:28px;align-items:start}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filters button{border:1px solid var(--line);background:white;border-radius:25px;padding:8px 17px;font-size:14px;min-height:42px}.filters .selected{background:var(--teal);color:white;border-color:var(--teal)}.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.product{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.brand-face{min-height:150px;padding:28px;display:flex;flex-direction:column;justify-content:center;color:white}.brand-face .name{font:500 29px/1.2 Georgia,serif}.brand-face .tagline{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-top:12px;opacity:.9}.harbor{background:#245d61}.ember{background:#6c3433}.studio{background:#353d70}.roast{background:#6b4a31}.product-body{padding:22px}.product-body p{font-size:14px}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.basket{position:sticky;top:20px}.basket-item{padding:15px 0;border-bottom:1px solid var(--line)}.flex{display:flex;justify-content:space-between;gap:14px;align-items:center}.basket-item strong{font-size:14px}.basket-item p{margin:4px 0 0;font-size:13px;color:var(--muted)}.row{display:flex;justify-content:space-between;gap:16px;padding:10px 0}.sum{border-top:1px solid var(--line);font-weight:700;font-size:21px;margin-top:8px}.full{width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hint{background:#eef5f7;padding:14px;border-radius:8px;font-size:13px;margin:16px 0}.empty{padding:26px 0;color:var(--muted)}.brand-strip{display:flex;align-items:center;gap:20px;margin:28px 0;padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.brand-strip img{width:72px;height:90px;object-fit:contain}.brand-strip p{margin:0;font-size:14px}dialog{width:min(540px,calc(100% - 28px));border:0;border-radius:16px;padding:28px;color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#10233eaa}.close{background:none;border:0;font-size:24px;min-width:44px;min-height:44px}.fields{display:grid;gap:16px;margin-top:20px}label{display:grid;gap:6px;font-size:14px;font-weight:600}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #b5c5cf;border-radius:7px;background:#fff;color:var(--ink);min-height:45px}textarea{resize:vertical;min-height:80px}.error{color:#a02222;min-height:20px;font-size:14px}.gift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.receipt{border-radius:14px;background:white;overflow:hidden;border:1px solid var(--line)}.receipt .brand-face{min-height:220px}.gift-value{font:500 46px/1.2 Georgia,serif;margin:20px 0 8px}.receipt-body{padding:22px}.receipt-body p{font-size:14px}.code{font:14px ui-monospace,monospace;letter-spacing:.08em;padding:12px 0}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.metric{background:white;padding:24px;border:1px solid var(--line);border-radius:12px}.metric strong{display:block;font-size:32px;margin-top:9px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line)}th{font-size:12px;letter-spacing:.04em;color:var(--muted)}.story{display:grid;grid-template-columns:1.3fr .7fr;gap:45px;align-items:center}.story img{width:100%;max-height:430px;object-fit:contain}.story .lead{font-size:20px;line-height:1.6}.story-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}.story-points .panel{border-top:4px solid var(--teal)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:14px 22px;border-radius:9px;max-width:90%;box-shadow:0 8px 30px #10233e22;z-index:5;display:none}footer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;padding:25px 5%;color:var(--muted);font-size:12px}#print-area{display:none}@media(max-width:1000px){header{flex-wrap:wrap;gap:15px}.mode{display:none}.sell-grid{grid-template-columns:minmax(0,1fr) 300px}main{padding:25px 20px}.catalog{grid-template-columns:1fr}}@media(max-width:700px){header{padding:18px}nav{order:2;flex-basis:100%;gap:2px}nav button{padding:10px;font-size:13px}.demo-bar{padding:8px 18px;flex-wrap:wrap;gap:2px}.demo-bar span{font-size:11px}.intro{display:block}.intro .btn{margin-bottom:10px}.sell-grid,.gift-grid,.story,.story-points{grid-template-columns:1fr}.basket{position:static}.catalog{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.metric{display:flex;align-items:center;justify-content:space-between}.metric strong{margin:0}.story img{max-height:300px}.brand-strip{align-items:start}h1{font-size:34px}}@media print{body>*{display:none!important}#print-area{display:block!important;padding:20px}.receipt{max-width:600px;margin:auto;print-color-adjust:exact;-webkit-print-color-adjust:exact}.actions{display:none}}
/* Phone-first gifting: one clear column, thumb-sized controls, tablet split view. */
.massage-envy{background:#35264c}.outback{background:#8b2430}
.brand-face .name{overflow-wrap:anywhere}.product-bottom{align-items:flex-start}.product-bottom .btn{flex-shrink:0}
@media(max-width:1100px){.mode{display:none}main{padding:22px 16px 90px}.sell-grid{grid-template-columns:1fr}.catalog{grid-template-columns:1fr}.basket{position:static}header{padding:15px 16px;gap:16px}nav{order:2;flex-basis:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}nav button{padding:10px 5px;font-size:13px;min-height:48px}.wordmark{font-size:32px}.intro{display:block;margin-bottom:18px}.intro h1{font-size:34px}.intro p{font-size:16px}.intro .btn{width:100%}.filters{display:flex}.filters button{flex:1;min-height:46px}.brand-face{min-height:125px;padding:24px}.product-body{padding:20px}.btn{min-height:48px}.product-bottom .btn{min-width:135px}.gift-grid{grid-template-columns:1fr}input,select,textarea{font-size:16px;min-height:48px}dialog{padding:22px;max-height:88dvh}.metrics{grid-template-columns:1fr}.metric{display:flex;justify-content:space-between;align-items:center}.metric strong{font-size:28px;margin:0}.story{grid-template-columns:1fr}.story-points{grid-template-columns:1fr}.story img{max-height:270px}.brand-strip{margin:20px 0}.basket{scroll-margin-top:15px}.actions .btn{flex:1}.receipt .brand-face{min-height:190px}}
@media(min-width:650px) and (max-width:1100px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.basket{max-width:700px;margin:auto;width:100%}nav{max-width:650px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{display:block}.metric strong{margin-top:8px}}

/* Sandbox brand-reference cards, not partner offers. */
.brand-logo{height:56px;width:56px;object-fit:contain;background:#fff;padding:8px;border-radius:14px;margin-bottom:14px;box-shadow:0 2px 8px #0002}
.brand-face.starbucks{background:#006241}
.brand-face.sephora{background:#111}
.brand-face.home-depot{background:#eb5f14}
.brand-face.chipotle{background:#661e13}

/* Wallet-size printable field-sales demonstration card. */
.print-sheet{max-width:8in;margin:0 auto;font-family:system-ui,Arial,sans-serif;color:#172c42}
.physical-card{width:3.375in;height:2.125in;margin:0 auto;border:2px solid #162e50;border-radius:15px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;background:#f7f9fb;overflow:hidden}
.physical-card-top,.physical-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.physical-brand{display:flex;align-items:center;gap:8px;font-size:16px}
.physical-brand .brand-logo{width:30px;height:30px;margin:0;border-radius:6px;padding:3px}
.print-demo-label{font-size:9px;font-weight:800;color:#9a3333;letter-spacing:.04em}
.physical-card-mid{display:flex;flex-direction:column;gap:3px;font-size:10px}
.physical-card-mid strong{font-size:26px}
.physical-card-bottom{font-size:8px;letter-spacing:.03em}
.print-notice{font-size:11px;line-height:1.5;margin:20px auto;max-width:5in;text-align:center}
@media print{@page{size:letter;margin:.5in}#print-area{display:block!important;visibility:visible;padding:0}.physical-card{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:white}}
