:root { --paper:#f7f3ea; --paper-deep:#ece5d8; --ink:#11100e; --muted:#6f685f; --line:#d8cdbb; --coral:#c9a45d; --coral-dark:#9e7734; --mint:#c9ddd2; --blue:#3c5360; --lavender:#d9d2e6; --serif:'Instrument Serif',Georgia,serif; --sans:'DM Sans',Arial,sans-serif; --mono:'DM Mono',monospace; --max:1180px; --ease:cubic-bezier(.2,.75,.25,1); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.5; -webkit-font-smoothing:antialiased; overflow-x:hidden; } a { color:inherit; text-decoration:none; } img,video { display:block; max-width:100%; } .wrap { width:min(calc(100% - 48px),var(--max)); margin:auto; }
.site-header { position:fixed; inset:18px 0 auto; z-index:10; transition:transform .3s var(--ease); }.nav-shell { width:min(calc(100% - 34px),1140px); min-height:62px; margin:auto; padding:8px 9px 8px 18px; display:flex; align-items:center; gap:28px; border:1px solid rgba(17,16,14,.1); border-radius:18px; background:rgba(247,243,234,.78); backdrop-filter:blur(16px); transition:box-shadow .25s,background .25s; }.is-scrolled .nav-shell { background:rgba(247,243,234,.96); box-shadow:0 10px 28px rgba(17,16,14,.08); }.brand { display:inline-flex; align-items:center; white-space:nowrap; }.brand img { width:118px; height:auto; border-radius:0; }.nav-links { display:flex; align-items:center; gap:20px; margin-right:auto; }.nav-links a,.login-link { color:#615a52; font-size:14px; font-weight:600; }.nav-links a:hover,.login-link:hover { color:var(--ink); }.nav-actions { display:flex; align-items:center; gap:14px; }.login-link span { color:var(--coral-dark); }.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:0 20px; border-radius:12px; font-size:14px; font-weight:700; letter-spacing:-.15px; transition:transform .2s var(--ease),box-shadow .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button-dark { color:white; background:var(--ink); box-shadow:0 8px 18px rgba(17,16,14,.15); }.button-coral { color:var(--ink); background:var(--coral); box-shadow:0 10px 20px rgba(201,164,93,.24); }.button-coral:hover { color:#fff; background:var(--coral-dark); box-shadow:0 14px 26px rgba(158,119,52,.28); }.button-outline { border:1px solid var(--ink); }.button-outline:hover { background:var(--ink); color:white; }.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font-size:14px; font-weight:700; border-bottom:1px solid var(--ink); padding-bottom:4px; }.text-link span { color:var(--coral-dark); }
.site-header > .container { width:min(calc(100% - 34px),1140px); min-height:62px; margin:auto; padding:8px 18px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(25,33,42,.1); border-radius:18px; background:rgba(248,247,242,.94); }.main-nav .cta { display:inline-flex; min-height:40px; align-items:center; padding:0 14px; border-radius:10px; color:#fff; background:var(--ink); font-size:13px; font-weight:700; }
.hero { position:relative; min-height:780px; padding:176px 0 102px; overflow:hidden; }.hero-grid { display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:48px; position:relative; z-index:1; }.hero-glow { position:absolute; width:520px; height:520px; border-radius:50%; filter:blur(4px); opacity:.55; }.glow-one { top:-175px; left:-140px; background:#ead8ae; }.glow-two { right:-210px; bottom:-180px; background:#d4e4dc; }.kicker,.eyebrow { margin:0; font:500 11px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.kicker { display:inline-flex; align-items:center; gap:9px; color:#514b44; padding:8px 11px; border:1px solid #d4cab9; border-radius:999px; background:rgba(255,255,255,.36); }.kicker-dot { width:7px; height:7px; border-radius:50%; background:var(--coral); box-shadow:0 0 0 5px rgba(201,164,93,.14); }.hero h1 { max-width:640px; margin:20px 0 22px; font-size:clamp(59px,7vw,98px); font-weight:500; letter-spacing:-.075em; line-height:.89; }.hero h1 em,.section-copy h2 em,.section-title h2 em,.formats-heading h2 em,.contact-box h2 em,.push-copy h2 em { font-family:var(--serif); font-weight:400; }.hero-intro { max-width:500px; margin:0; color:var(--muted); font-size:18px; line-height:1.55; }.hero-actions { display:flex; align-items:center; gap:24px; margin-top:34px; }.hero-facts { display:flex; flex-wrap:wrap; gap:0; margin-top:56px; }.hero-facts div { display:grid; gap:2px; padding:0 22px; border-left:1px solid #cfc4b3; }.hero-facts div:first-child { padding-left:0; border:0; }.hero-facts strong { font-size:14px; }.hero-facts span { color:var(--muted); font-size:12px; }
.hero-stage { position:relative; min-height:520px; }.stage-grid { position:absolute; inset:18px 0 0 42px; border-radius:30px; background-image:linear-gradient(rgba(60,83,96,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(60,83,96,.11) 1px,transparent 1px); background-size:26px 26px; background-color:#dfeae6; transform:rotate(-4deg); }.phone-frame { position:absolute; top:21px; left:50%; width:294px; padding:10px 10px 15px; border:8px solid #11100e; border-radius:40px; background:#f7f3ea; box-shadow:20px 24px 0 rgba(17,16,14,.09),0 30px 40px rgba(17,16,14,.18); transform:translateX(-50%) rotate(4deg); animation:phone-bob 5s ease-in-out infinite; }.phone-top { display:flex; justify-content:space-between; align-items:center; height:23px; padding:0 4px 0 9px; }.phone-top span:first-child { width:66px; height:6px; border-radius:20px; background:#11100e; }.phone-top span:last-child { width:7px; height:7px; border-radius:50%; background:#11100e; }.loyalty-pass { margin-top:13px; min-height:340px; padding:18px; color:#fff; border-radius:21px; overflow:hidden; background:linear-gradient(140deg,#11100e 16%,#3c352a 100%); position:relative; }.loyalty-pass::after { content:""; position:absolute; width:280px; height:280px; border-radius:50%; right:-136px; bottom:-148px; border:1px solid rgba(201,164,93,.38); box-shadow:0 0 0 28px rgba(201,164,93,.07),0 0 0 58px rgba(201,164,93,.04); }.pass-topline { display:flex; align-items:center; gap:8px; font-size:12px; position:relative; z-index:1; }.pass-topline img { width:30px; height:30px; border-radius:8px; }.pass-topline b { margin-left:auto; letter-spacing:2px; }.pass-label { margin:45px 0 7px; color:#d8c18f; font:11px var(--mono); letter-spacing:.06em; }.loyalty-pass h2 { margin:0; font-size:29px; letter-spacing:-.06em; line-height:1; }.pass-count { display:flex; align-items:flex-end; gap:8px; margin-top:38px; }.pass-count strong { font:76px/.72 var(--serif); }.pass-count span { font-size:12px; line-height:1.2; color:#d9cbae; }.pass-progress { position:relative; z-index:1; height:7px; overflow:hidden; margin-top:20px; border-radius:100px; background:rgba(255,255,255,.22); }.pass-progress i { display:block; width:70%; height:100%; border-radius:inherit; background:var(--coral); }.pass-footer { position:relative; z-index:1; display:flex; justify-content:space-between; margin-top:15px; font-size:10px; color:#d9cbae; }.phone-caption { margin:14px 0 0 10px; color:#6f685f; font-size:11px; }.qr-tile { position:absolute; right:3px; bottom:14px; display:grid; gap:6px; padding:11px; border-radius:12px; background:#fff; box-shadow:0 13px 28px rgba(17,16,14,.15); transform:rotate(-9deg); animation:tile-bob 4.2s ease-in-out infinite .4s; }.qr-tile img { width:91px; height:91px; }.qr-tile span { text-align:center; color:#555; font-size:10px; font-weight:700; }.floating-note { position:absolute; z-index:2; padding:10px 12px; border-radius:9px; background:#fff; box-shadow:0 12px 28px rgba(17,16,14,.1); color:#3f3932; font-size:11px; font-weight:600; }.note-one { left:1px; top:88px; animation:note-bob 4s ease-in-out infinite 1s; }.note-two { right:-8px; top:76px; background:#d8bc83; transform:rotate(7deg); }.note-two span { color:#71511d; }.mini-dot { display:inline-block; width:7px; height:7px; margin-right:4px; border-radius:50%; background:#5dbd94; } @keyframes phone-bob { 50% { transform:translateX(-50%) rotate(2deg) translateY(-12px); } } @keyframes tile-bob { 50% { transform:rotate(-6deg) translateY(-8px); } } @keyframes note-bob { 50% { transform:translateY(-7px); } }
.ticker { overflow:hidden; padding:17px 0; color:#f7f3ea; background:var(--ink); }.ticker-track { display:flex; align-items:center; gap:28px; width:max-content; font:500 15px var(--mono); white-space:nowrap; animation:ticker 28s linear infinite; }.ticker-track i { color:var(--coral); font-style:normal; } @keyframes ticker { to { transform:translateX(-50%); } }
.proof-section,.journey-section,.counter-section,.formats-section,.blog-section,.contact-section,.push-section { padding:130px 0; }.proof-section { background:#fff; }.proof-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:84px; align-items:center; }.section-copy h2,.section-title h2,.formats-heading h2,.contact-box h2,.push-copy h2 { margin:12px 0 22px; font-size:clamp(39px,4.5vw,66px); font-weight:500; letter-spacing:-.065em; line-height:.98; }.section-copy > p:not(.eyebrow) { max-width:480px; color:var(--muted); font-size:16px; }.check-list { display:grid; gap:13px; margin:31px 0 0; padding:0; list-style:none; }.check-list li { display:flex; align-items:center; gap:13px; font-size:14px; font-weight:600; }.check-list span { display:grid; width:29px; height:29px; place-items:center; border-radius:50%; color:var(--coral-dark); background:#f0e4c9; font:10px var(--mono); }.demo-video { margin:0; overflow:hidden; padding:10px; border:1px solid #d9d0c2; border-radius:20px; background:#fbf8f1; box-shadow:16px 16px 0 #dfd0ad; }.demo-video video { width:100%; border-radius:12px; background:var(--ink); aspect-ratio:16/9; }.demo-video figcaption { display:flex; justify-content:space-between; padding:10px 3px 0; color:var(--muted); font:10px var(--mono); }
.push-section { color:#f7f3ea; background:var(--ink); }.push-card { position:relative; min-height:470px; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding:64px; border:1px solid rgba(201,164,93,.35); border-radius:28px; background:linear-gradient(145deg,#11100e 45%,#1c1914 100%); }.push-copy { position:relative; z-index:2; }.push-copy .eyebrow { color:var(--coral); }.push-copy p:not(.eyebrow) { max-width:560px; color:#c9c0b1; font-size:17px; }.push-copy small { display:block; max-width:560px; margin-top:24px; color:#968b7b; font:10px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.04em; }.push-phone { position:relative; min-height:310px; display:grid; place-items:center; }.push-pill { position:relative; z-index:2; display:grid; grid-template-columns:48px 1fr auto; gap:13px; align-items:center; width:min(100%,470px); padding:13px 16px 13px 13px; color:#11100e; border-radius:20px; background:rgba(247,243,234,.96); box-shadow:0 24px 70px rgba(0,0,0,.35); transform:rotate(-3deg); }.push-pill img { width:48px; height:48px; border-radius:13px; }.push-pill span { display:grid; color:#5c554b; font-size:12px; line-height:1.3; }.push-pill b { color:#11100e; font-size:13px; }.push-pill time { align-self:start; color:#8e8474; font:9px var(--mono); }.push-orbit { position:absolute; border:1px solid rgba(201,164,93,.34); border-radius:50%; }.orbit-one { width:340px; height:340px; }.orbit-two { width:240px; height:240px; box-shadow:0 0 80px rgba(201,164,93,.12); }
.journey-section { background:var(--paper-deep); }.section-title { display:flex; align-items:end; justify-content:space-between; }.journey-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:52px; }.journey-card { min-height:335px; padding:22px; border-radius:18px; position:relative; overflow:hidden; transition:transform .25s var(--ease),box-shadow .25s; }.journey-card:hover { transform:translateY(-7px) rotate(-.5deg); box-shadow:0 16px 22px rgba(17,16,14,.1); }.journey-card.coral { background:#dfc995; }.journey-card.mint { background:var(--mint); }.journey-card.lavender { background:var(--lavender); }.card-number { font:11px var(--mono); }.journey-card h3 { margin:36px 0 8px; font-size:23px; letter-spacing:-.05em; }.journey-card p { max-width:290px; color:#453f38; font-size:14px; }.journey-icon { position:absolute; right:21px; bottom:25px; width:125px; height:125px; opacity:.9; }.qr-icon { display:grid; grid-template:repeat(5,1fr)/repeat(5,1fr); gap:7px; padding:12px; border:4px solid var(--ink); border-radius:8px; transform:rotate(-8deg); }.qr-icon span { background:var(--ink); }.qr-icon span:first-child { grid-area:1/1/3/3; }.qr-icon span:nth-child(2) { grid-area:1/4/3/6; }.qr-icon span:nth-child(3) { grid-area:4/1/6/3; }.qr-icon span:nth-child(4) { grid-area:3/3/6/6; }.card-icon { padding:20px; border:3px solid var(--ink); border-radius:17px; transform:rotate(9deg); }.card-icon span { display:block; height:7px; margin-bottom:10px; border-radius:99px; background:var(--ink); }.card-icon span:nth-child(2) { width:70%; }.card-icon span:nth-child(3) { width:40%; }.reward-icon { display:grid; place-items:center; color:var(--coral-dark); font-size:95px; transform:rotate(13deg); }
.counter-section { background:#fff; }.counter-layout { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:94px; }.counter-art { position:relative; min-height:450px; border-radius:22px; overflow:hidden; background:#c9d8cf; }.counter-shadow { position:absolute; width:480px; height:118px; bottom:-58px; left:50%; background:rgba(32,54,49,.23); border-radius:50%; filter:blur(22px); transform:translateX(-50%); }.counter-sign { position:absolute; left:50%; top:35px; width:267px; min-height:365px; padding:20px 20px 18px; border-radius:18px 18px 7px 7px; text-align:center; background:#f7f3ea; box-shadow:16px 20px 0 rgba(28,53,47,.14); transform:translateX(-50%) rotate(-2deg); }.counter-logo { display:flex; align-items:center; justify-content:center; }.counter-logo img { width:96px; height:auto; border-radius:0; }.counter-sign strong { display:block; margin:27px 0 15px; font:39px/.9 var(--serif); letter-spacing:-.04em; }.counter-qr { width:119px; margin:auto; padding:8px; background:#fff; border:1px solid #dbd8d0; }.counter-sign small { display:block; margin-top:13px; color:var(--muted); font:10px var(--mono); text-transform:uppercase; letter-spacing:.05em; }.counter-plant { position:absolute; width:90px; height:130px; bottom:-28px; right:55px; border-radius:60% 9% 60% 8%; background:#3b765d; transform:rotate(-30deg); box-shadow:-27px -45px 0 -13px #4f8a68,-60px -11px 0 -22px #3b765d; }
.formats-section { background:var(--ink); color:#f9f8f1; }.formats-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; }.formats-heading .eyebrow { color:var(--coral); }.formats-heading h2 { margin-bottom:0; }.formats-heading .button-outline { border-color:#f9f8f1; }.format-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:50px; }.format-card { position:relative; min-height:430px; overflow:hidden; border-radius:15px; background:#e9e4d8; }.format-card img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .5s var(--ease); }.format-card:hover img { transform:scale(1.04); }.format-card::after { content:""; position:absolute; inset:auto 0 0; height:36%; background:linear-gradient(transparent,rgba(0,0,0,.68)); }.format-card span { position:absolute; z-index:1; bottom:19px; left:18px; display:grid; color:#fff; }.format-card b { font-size:19px; letter-spacing:-.04em; }.format-card small { font:10px var(--mono); opacity:.78; text-transform:uppercase; letter-spacing:.04em; }
.blog-section { background:#fff; }.blog-section .formats-heading .eyebrow { color:var(--coral-dark); }.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:50px; }.blog-card { min-height:320px; display:flex; flex-direction:column; padding:25px; border:1px solid var(--line); border-radius:18px; background:var(--paper); transition:transform .25s var(--ease),box-shadow .25s,border-color .25s; }.blog-card:hover { transform:translateY(-7px); border-color:var(--coral); box-shadow:0 18px 36px rgba(17,16,14,.08); }.blog-card > span { color:var(--coral-dark); font:10px var(--mono); text-transform:uppercase; letter-spacing:.05em; }.blog-card h3 { margin:38px 0 14px; font-size:27px; line-height:1.05; letter-spacing:-.055em; }.blog-card p { margin:0; color:var(--muted); font-size:14px; }.blog-card b { margin-top:auto; padding-top:28px; font-size:13px; }
.contact-section { padding-top:0; background:var(--ink); }.contact-box { display:flex; justify-content:space-between; gap:40px; align-items:end; padding:58px; border-radius:22px 22px 0 0; color:var(--ink); background:#d6b66f; }.contact-box .eyebrow { color:#63491f; }.contact-box h2 { margin-bottom:0; max-width:640px; }.contact-action { min-width:260px; }.contact-action p { margin:0 0 21px; color:#4f3c20; font-size:14px; }.contact-action .button { width:100%; }.site-footer { padding:26px 0; color:#e5e6df; background:var(--ink); border-top:1px solid rgba(255,255,255,.12); }.site-footer .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; }.site-footer .brand img { width:112px; height:auto; }.site-footer > .wrap > div { display:flex; gap:18px; }.site-footer a,.site-footer small { color:#b8afa1; font-size:12px; }.site-footer a:hover { color:white; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s var(--ease),transform .75s var(--ease); }.reveal.is-visible { opacity:1; transform:none; }.delay-1 { transition-delay:.12s; }.delay-2 { transition-delay:.24s; }
.legal-page { width:min(calc(100% - 48px),780px); margin:auto; padding:145px 0 90px; }.legal-page h1 { font-size:50px; letter-spacing:-.06em; }.legal-page h2 { margin-top:34px; font-size:21px; }.legal-page p,.legal-page li { color:var(--muted); }.legal-page a { color:var(--coral-dark); text-decoration:underline; }.legal-page .todo { padding:14px; border-radius:10px; background:#f0e4c9; color:#6f5425; }
.blog-hero { padding:165px 0 74px; background:var(--paper); }.blog-hero .eyebrow { color:var(--coral-dark); }.blog-hero h1 { max-width:840px; margin:14px 0 20px; font-size:clamp(52px,7vw,88px); line-height:.9; letter-spacing:-.075em; font-weight:500; }.blog-hero h1 em { font-family:var(--serif); font-weight:400; }.blog-hero > .wrap > p:not(.eyebrow) { max-width:620px; color:var(--muted); font-size:18px; }.blog-list { padding:72px 0 120px; background:#fff; }.article-page { width:min(calc(100% - 48px),760px); margin:auto; padding:165px 0 110px; }.article-page .article-meta { color:var(--coral-dark); font:10px var(--mono); text-transform:uppercase; letter-spacing:.06em; }.article-page h1 { margin:18px 0 26px; font-size:clamp(48px,6vw,72px); line-height:.95; letter-spacing:-.065em; }.article-page .lead { color:#403a33; font-size:21px; line-height:1.55; }.article-page h2 { margin:52px 0 14px; font-size:32px; letter-spacing:-.045em; }.article-page p,.article-page li { color:var(--muted); font-size:17px; line-height:1.75; }.article-page a { color:var(--coral-dark); text-decoration:underline; }.article-note { margin:38px 0; padding:24px; border-left:3px solid var(--coral); background:#f2eadb; }.article-cta { margin-top:60px; padding:30px; color:#f7f3ea; border-radius:18px; background:var(--ink); }.article-cta p { color:#c9c0b1; }.identity-page { padding:150px 0 100px; }.identity-page h1 { font-size:64px; letter-spacing:-.065em; }.identity-board { display:grid; gap:22px; }.identity-card { padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; }.identity-card img { width:100%; border-radius:12px; }.palette-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.swatch { min-height:150px; display:flex; align-items:end; padding:14px; border-radius:14px; font:10px var(--mono); }.swatch-dark { color:#fff; background:#11100e; }.swatch-gold { color:#11100e; background:#c9a45d; }.swatch-ivory { background:#f7f3ea; border:1px solid var(--line); }.swatch-taupe { color:#fff; background:#6f685f; }
.review-page { min-height:100vh; background:radial-gradient(circle at 8% 6%,#ead8ae 0,transparent 31rem),radial-gradient(circle at 90% 94%,#c9ddd2 0,transparent 27rem),var(--paper); }.review-main { width:min(calc(100% - 48px),610px); min-height:100vh; margin:auto; padding:38px 0 62px; display:flex; flex-direction:column; justify-content:center; }.review-brand { align-self:center; margin-bottom:30px; }.review-brand img { width:126px; height:auto; }.review-card { padding:clamp(30px,7vw,54px); border:1px solid rgba(17,16,14,.1); border-radius:26px; background:rgba(255,255,255,.72); box-shadow:0 24px 70px rgba(17,16,14,.1); backdrop-filter:blur(14px); }.review-loading { padding:40px 0; text-align:center; color:var(--muted); font-size:15px; }.review-card .eyebrow { color:var(--coral-dark); }.review-card h1 { max-width:470px; margin:12px 0 16px; font-size:clamp(42px,8vw,61px); font-weight:500; letter-spacing:-.07em; line-height:.91; }.review-card h1 em { display:block; font-family:var(--serif); font-weight:400; }.review-intro { max-width:430px; margin:0; color:var(--muted); font-size:16px; }.rating-fieldset { margin:36px 0 27px; padding:0; border:0; }.rating-fieldset legend,.review-text-label { display:block; margin-bottom:11px; font-size:14px; font-weight:700; }.rating-stars { display:flex; gap:7px; }.rating-stars input { position:absolute; opacity:0; pointer-events:none; }.rating-stars label { display:grid; width:50px; height:50px; place-items:center; border:1px solid var(--line); border-radius:14px; color:#beb5a7; background:#fff; cursor:pointer; font-size:29px; line-height:1; transition:transform .18s var(--ease),color .18s,background .18s,border-color .18s; }.rating-stars label:hover { transform:translateY(-3px); border-color:var(--coral); color:var(--coral); }.rating-stars label.is-active { color:#6f5425; border-color:#d6b66f; background:#f1e2bd; box-shadow:0 5px 12px rgba(158,119,52,.16); }.rating-stars input:focus-visible + label { outline:3px solid rgba(60,83,96,.38); outline-offset:2px; }.review-text-label span { color:var(--muted); font-weight:400; }.review-card textarea { width:100%; min-height:126px; resize:vertical; padding:14px 15px; color:var(--ink); border:1px solid var(--line); border-radius:13px; outline:0; background:rgba(255,255,255,.84); font:15px/1.5 var(--sans); transition:border-color .2s,box-shadow .2s; }.review-card textarea::placeholder { color:#998f80; }.review-card textarea:focus { border-color:var(--coral-dark); box-shadow:0 0 0 4px rgba(201,164,93,.18); }.form-error { margin:12px 0 0; color:#9e3b2c; font-size:13px; font-weight:600; }.review-submit { width:100%; margin-top:22px; border:0; cursor:pointer; }.review-submit:disabled { cursor:wait; opacity:.7; transform:none; }.review-thank-you { padding:42px 0 12px; text-align:center; }.thank-you-mark,.review-error-mark { display:grid; width:54px; height:54px; margin:0 auto 18px; place-items:center; border-radius:50%; color:#406656; background:#dcebe1; font-size:28px; font-weight:700; }.review-thank-you h2,.review-error h1 { margin:0 0 8px; font-size:31px; letter-spacing:-.055em; line-height:1; }.review-thank-you p,.review-error p { margin:0; color:var(--muted); font-size:16px; }.review-error { padding:24px 0; text-align:center; }.review-error-mark { color:#75501d; background:#f1e2bd; font-size:25px; }.review-toast { position:fixed; z-index:20; bottom:28px; left:50%; width:min(calc(100% - 32px),620px); padding:15px 20px; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(17,16,14,.94); box-shadow:0 14px 34px rgba(17,16,14,.25); text-align:center; font-size:14px; font-weight:600; line-height:1.4; transform:translateX(-50%); animation:toast-in .25s var(--ease); } @keyframes toast-in { from { opacity:0; transform:translate(-50%,10px); } to { opacity:1; transform:translate(-50%,0); } }
.sentiment-choice { margin-top:38px; }.sentiment-choice h2,.feedback-form h2 { margin:0 0 17px; font-size:22px; letter-spacing:-.045em; line-height:1.1; }.sentiment-actions { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.sentiment-button { min-height:172px; display:grid; place-content:center; gap:9px; padding:18px 12px; border:1px solid; border-radius:18px; cursor:pointer; font:700 14px/1.2 var(--sans); transition:transform .18s var(--ease),box-shadow .18s,background .18s; }.sentiment-button:hover { transform:translateY(-4px); }.sentiment-button:focus-visible { outline:3px solid rgba(60,83,96,.42); outline-offset:3px; }.sentiment-button-happy { color:#285a3b; border-color:#9acaaa; background:#e1f0e5; box-shadow:0 8px 18px rgba(41,112,66,.1); }.sentiment-button-happy:hover { background:#cfe8d6; box-shadow:0 13px 24px rgba(41,112,66,.16); }.sentiment-button-unhappy { color:#963a36; border-color:#e3aaa5; background:#f9e2df; box-shadow:0 8px 18px rgba(136,46,42,.09); }.sentiment-button-unhappy:hover { background:#f5d1cd; box-shadow:0 13px 24px rgba(136,46,42,.14); }.sentiment-face { display:block; font-size:69px; font-family:Arial,sans-serif; line-height:.9; }.feedback-form { margin-top:38px; }.feedback-form > p { margin:-5px 0 23px; color:var(--muted); font-size:15px; }
.social-step { margin-top:34px; text-align:center; }.social-step-mark { display:grid; width:52px; height:52px; margin:0 auto 17px; place-items:center; border-radius:50%; color:#285a3b; background:#dcebe1; font-size:26px; font-weight:700; }.social-step h2 { margin:9px 0 7px; font-size:29px; letter-spacing:-.055em; line-height:1.05; }.social-step > p:not(.eyebrow):not(.redirect-countdown) { margin:0 auto; color:var(--muted); font-size:15px; }.social-links { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:24px 0; text-align:left; }.social-links a { display:flex; min-height:56px; align-items:center; gap:11px; padding:9px 12px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:transform .18s var(--ease),border-color .18s,box-shadow .18s; }.social-links a:hover { transform:translateY(-2px); border-color:var(--coral); box-shadow:0 8px 18px rgba(17,16,14,.08); }.social-links span { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:10px; color:#fff; background:var(--ink); font:700 12px var(--sans); }.social-links strong { font-size:13px; }.social-google-link { width:100%; }.redirect-countdown { margin:11px 0 0; color:var(--muted); font:11px var(--mono); }
.review-admin-page { min-height:100vh; }.review-admin-card { max-width:650px; }.review-admin-card h1 { margin-bottom:17px; }.review-admin-form { display:grid; gap:10px; margin-top:34px; }.review-admin-form label { font-size:14px; font-weight:700; }.review-admin-form input,.created-link input { width:100%; min-height:48px; padding:11px 13px; color:var(--ink); border:1px solid var(--line); border-radius:12px; outline:0; background:#fff; font:15px var(--sans); }.review-admin-form input:focus,.created-link input:focus { border-color:var(--coral-dark); box-shadow:0 0 0 4px rgba(201,164,93,.18); }.review-admin-form .review-submit { margin-top:11px; }.review-help { margin:0; color:var(--muted); font-size:13px; }.review-admin-heading { display:flex; align-items:start; justify-content:space-between; gap:16px; }.review-logout { padding:8px 0; color:var(--muted); border:0; background:transparent; cursor:pointer; font:600 13px var(--sans); }.review-logout:hover { color:var(--ink); }.created-link { margin-top:25px; padding:18px; border:1px solid #b7d7c1; border-radius:15px; background:#ebf5ed; }.created-link p { margin:0 0 11px; color:#285a3b; font-size:14px; font-weight:700; }.created-link div { display:flex; gap:8px; }.created-link input { min-width:0; color:#31523b; border-color:#b7d7c1; }.created-link button,.review-links-list button { padding:0 14px; color:#fff; border:0; border-radius:10px; background:#285a3b; cursor:pointer; font:700 13px var(--sans); }.review-links-list { margin-top:36px; padding-top:27px; border-top:1px solid var(--line); }.review-links-list h2 { margin:0 0 13px; font-size:21px; letter-spacing:-.045em; }.review-links-list ul { display:grid; gap:0; margin:0; padding:0; list-style:none; }.review-links-list li { display:grid; grid-template-columns:1fr auto; gap:5px 14px; align-items:center; padding:16px 0; border-top:1px solid var(--line); }.review-links-list li strong { font-size:15px; }.review-links-list li span { grid-column:1; overflow:hidden; color:var(--muted); font:11px var(--mono); text-overflow:ellipsis; white-space:nowrap; }.review-links-list li button { grid-column:2; grid-row:1/3; min-height:34px; }
.social-fields { display:grid; gap:10px; margin:18px 0 4px; padding:19px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.4); }.social-fields legend { padding:0 7px; font-size:15px; font-weight:700; }.social-fields legend span { color:var(--muted); font-weight:400; }.social-fields .review-help { margin:-3px 0 6px; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal { opacity:1; transform:none; transition:none; }.phone-frame,.qr-tile,.note-one,.ticker-track { animation:none!important; } }
@media (max-width:900px) { .nav-links { display:none; }.hero { padding-top:142px; }.hero-grid,.proof-grid,.counter-layout,.push-card { grid-template-columns:1fr; }.hero-stage { width:min(100%,520px); margin:0 auto; }.proof-grid,.counter-layout { gap:50px; }.journey-grid,.format-grid,.blog-grid { grid-template-columns:1fr 1fr; }.push-card { gap:16px; padding:48px; }.counter-art { order:2; }.formats-heading { align-items:start; flex-direction:column; }.contact-box { align-items:start; flex-direction:column; }.contact-action { width:100%; }.contact-action .button { width:auto; }.palette-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { .wrap { width:min(calc(100% - 32px),var(--max)); }.site-header { top:10px; }.nav-shell { width:calc(100% - 20px); min-height:55px; padding:7px 8px 7px 13px; border-radius:14px; gap:10px; }.brand img { width:98px; }.nav-actions { margin-left:auto; }.login-link { display:none; }.button-dark { min-height:39px; padding:0 13px; font-size:12px; }.hero { min-height:auto; padding:126px 0 68px; }.hero h1 { font-size:clamp(52px,16vw,72px); }.hero-intro { font-size:16px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }.hero-facts { margin-top:40px; }.hero-facts div { padding:0 11px; }.hero-facts strong { font-size:12px; }.hero-facts span { font-size:10px; }.hero-stage { min-height:458px; }.stage-grid { left:14px; }.phone-frame { width:260px; }.loyalty-pass { min-height:305px; }.loyalty-pass h2 { font-size:25px; }.pass-count { margin-top:31px; }.pass-count strong { font-size:65px; }.qr-tile { right:0; bottom:8px; }.floating-note { font-size:9px; }.note-two { display:none; }.ticker-track { font-size:13px; }.proof-section,.journey-section,.counter-section,.formats-section,.blog-section,.push-section { padding:82px 0; }.section-copy h2,.section-title h2,.formats-heading h2,.contact-box h2,.push-copy h2 { font-size:46px; }.proof-grid { gap:38px; }.journey-grid,.format-grid,.blog-grid { grid-template-columns:1fr; }.push-card { width:calc(100% - 20px); padding:34px 24px; border-radius:20px; }.push-phone { min-height:230px; }.push-pill { grid-template-columns:42px 1fr; }.push-pill img { width:42px; height:42px; }.push-pill time { display:none; }.orbit-one { width:250px; height:250px; }.orbit-two { width:180px; height:180px; }.journey-card { min-height:265px; }.format-card { min-height:370px; }.counter-art { min-height:390px; }.counter-sign { top:29px; width:236px; min-height:326px; }.counter-sign strong { font-size:34px; }.counter-plant { right:29px; }.contact-box { margin:0 -16px; padding:40px 24px; border-radius:19px 19px 0 0; }.contact-section { padding:0; }.site-footer .wrap { align-items:flex-start; flex-direction:column; }.site-footer small { order:3; }.legal-page,.article-page { width:calc(100% - 32px); padding-top:115px; }.legal-page h1 { font-size:42px; }.article-page h1 { font-size:46px; }.article-page .lead { font-size:18px; }.blog-hero { padding-top:130px; }.palette-grid { grid-template-columns:1fr; }.identity-page h1 { font-size:48px; } }
@media (max-width:380px) { .review-main { width:calc(100% - 28px); padding-top:24px; }.review-card { padding:26px 18px; border-radius:21px; }.review-brand { margin-bottom:20px; }.rating-stars { gap:5px; }.rating-stars label { width:calc((100vw - 86px) / 5); height:calc((100vw - 86px) / 5); min-width:38px; min-height:38px; border-radius:11px; font-size:24px; }.review-card h1 { font-size:40px; } }
@media (max-width:500px) { .created-link div { flex-direction:column; }.created-link button { min-height:43px; }.review-links-list li { grid-template-columns:1fr; }.review-links-list li span { grid-column:1; max-width:100%; }.review-links-list li button { grid-column:1; grid-row:auto; width:max-content; margin-top:6px; min-height:36px; }.social-links { grid-template-columns:1fr; } }
