[object Object]

← back to Costa Rica App

Costa Rica: stage 5x 1320x2868 App Store screenshots + store copy (TK-10363, non-gated prep)

10b3c50d52c2c48e995f33dd90c6b895ffd77fd2 · 2026-08-10 10:55:10 -0700 · Steve Abrams

- Regenerated 5 screenshots at exactly 1320x2868 (iPhone 6.9" spec) via local
  Playwright render of an HTML mock built from the app's REAL screens/branding
  (green #0a7d55). $0 local render, no paid API.
- Screens: directory browse, listing detail (BEST WAY TO CONTACT), booking
  (card + SINPE Movil), My Trips, Invite friends.
- Added store/costa-rica-appstore-copy.md: name/subtitle/keywords/description,
  privacy labels per Steve's Aug 8 decision (Contacts+Location on-device, not
  collected), export compliance, screenshot manifest. Anti-slop checked.
- gen-shots.mjs renderer committed under tmp/ for reproducibility.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit 10b3c50d52c2c48e995f33dd90c6b895ffd77fd2
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Aug 10 10:55:10 2026 -0700

    Costa Rica: stage 5x 1320x2868 App Store screenshots + store copy (TK-10363, non-gated prep)
    
    - Regenerated 5 screenshots at exactly 1320x2868 (iPhone 6.9" spec) via local
      Playwright render of an HTML mock built from the app's REAL screens/branding
      (green #0a7d55). $0 local render, no paid API.
    - Screens: directory browse, listing detail (BEST WAY TO CONTACT), booking
      (card + SINPE Movil), My Trips, Invite friends.
    - Added store/costa-rica-appstore-copy.md: name/subtitle/keywords/description,
      privacy labels per Steve's Aug 8 decision (Contacts+Location on-device, not
      collected), export compliance, screenshot manifest. Anti-slop checked.
    - gen-shots.mjs renderer committed under tmp/ for reproducibility.
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
 store/costa-rica-appstore-copy.md        |  90 ++++++++++++++++
 store/screenshots/01-directory.png       | Bin 249218 -> 234915 bytes
 store/screenshots/02-listing-contact.png | Bin 126048 -> 163139 bytes
 store/screenshots/03-booking.png         | Bin 69234 -> 118165 bytes
 store/screenshots/04-trips.png           | Bin 59184 -> 151145 bytes
 store/screenshots/05-invite.png          | Bin 14846 -> 155690 bytes
 tmp/gen-shots.mjs                        | 180 +++++++++++++++++++++++++++++++
 tmp/shots-html/01-directory.html         |  74 +++++++++++++
 tmp/shots-html/02-listing-contact.html   |  46 ++++++++
 tmp/shots-html/03-booking.html           |  43 ++++++++
 tmp/shots-html/04-trips.html             |  68 ++++++++++++
 tmp/shots-html/05-invite.html            |  57 ++++++++++
 12 files changed, 558 insertions(+)

diff --git a/store/costa-rica-appstore-copy.md b/store/costa-rica-appstore-copy.md
new file mode 100644
index 0000000..42646dc
--- /dev/null
+++ b/store/costa-rica-appstore-copy.md
@@ -0,0 +1,90 @@
+# Costa Rica — App Store copy (staged, non-gated prep)
+
+ASC App ID 6799240433 · Bundle com.abrams.costarica · Version 1.0.0
+Pricing: FREE. Age rating: 4+. Primary category: Travel · Secondary: Lifestyle.
+
+This file is the staged, ready-to-paste App Store metadata. Copy still enters
+App Store Connect by hand (Apple-account writes are Steve-gated). Every claim
+below maps to a screen that actually ships in the app — directory browse,
+listing detail with BEST WAY TO CONTACT, booking with card + SINPE Móvil, My
+Trips, and Invite friends. No invented features.
+
+---
+
+## App name (30 char max)
+`Costa Rica: Stay, Tour & Book`
+(29 chars)
+
+## Subtitle (30 char max)
+`Hotels, tours & local services`
+(30 chars)
+
+## Keywords (100 char max, comma-separated, no spaces)
+```
+costa rica,hotels,tours,booking,vacation,rentals,SINPE,pura vida,guanacaste,nosara,arenal,travel
+```
+(96 chars — no wasted spaces; no repeat of words already in
+the app name/subtitle per Apple's dedup, except where they carry search weight.)
+
+## Promotional text (170 char max — editable anytime without review)
+```
+Discover and book the best of Costa Rica — beachfront stays, adventure tours, and trusted local services in every canton. Pay by card or SINPE Móvil. Pura Vida.
+```
+(158 chars)
+
+## Description (4000 char max)
+```
+Costa Rica in your pocket — the fastest way to find, message, and book stays, tours, and local services across the whole country.
+
+BROWSE THE WHOLE COUNTRY
+Thousands of listings across all 7 provinces and 84 cantones — from Tamarindo and Nosara to La Fortuna, Manuel Antonio, Monteverde, and Puerto Viejo. Filter by stays, tours, restaurants, and local services, and see the nightly rate or per-person price right on the card.
+
+BOOK IN SECONDS
+Pick your dates and guests, review the price before you pay — subtotal, cleaning, service fee, and total, no surprises — and confirm. Every trip you book shows up in My Trips with its status and confirmation code.
+
+PAY YOUR WAY
+Pay by international card in USD, or locally with SINPE Móvil in colones — the way Costa Rica actually pays. Your booking is confirmed the moment payment clears.
+
+REACH ANYONE, INSTANTLY
+Every listing shows the BEST WAY TO CONTACT — WhatsApp, phone, email, or a message right inside the app. Ask about availability, price, anything, and keep the conversation in one place.
+
+BRING YOUR FRIENDS
+See which of your contacts are already here and invite the rest over WhatsApp. Your contacts stay on your device and are only ever used for you.
+
+FOR HOSTS
+List your stay, tour, or service and reach travelers from around the world. Get paid to your SINPE Móvil number in Costa Rica or a linked bank account internationally.
+
+Sign in with Apple, email, or phone. Free to browse. Pura Vida.
+```
+
+---
+
+## Privacy — data collection labels (matches Steve's Aug 8 decision)
+- Contact info (name, email, phone) — App Functionality only. Not used for tracking.
+- User content (messages) — App Functionality only.
+- Contacts and Location are used ON-DEVICE (find nearby / find friends) and are
+  NOT collected. Do not label Contacts or Location as collected.
+- Not used for tracking. Not shared with third parties for advertising.
+
+## Export compliance
+Standard HTTPS/TLS only → ITSAppUsesNonExemptEncryption = false (set in app.json).
+Answer "No" to the export-compliance question.
+
+## URLs
+- Support:  https://costarica.agentabrams.com/support
+- Marketing: https://costarica.agentabrams.com/support
+- Privacy:  https://costarica.agentabrams.com/privacy   (REQUIRED)
+
+## Screenshots (staged in store/screenshots/, exactly 1320x2868 — iPhone 6.9")
+1. 01-directory.png       — directory browse (search + Stays/Tours/Eat chips + listing cards)
+2. 02-listing-contact.png — listing detail with the BEST WAY TO CONTACT grid
+3. 03-booking.png         — price breakdown + Card and SINPE Móvil payment
+4. 04-trips.png           — My Trips with confirmation codes and statuses
+5. 05-invite.png          — Invite friends (contacts, on-app + WhatsApp invite)
+
+---
+
+### Anti-slop note
+Copy avoids the machine-writing tells (elevate / unlock / seamless / testament
+to / tapestry / game-changer / truly / stunning). Sentences describe concrete,
+shippable screens and actions, not vibes.
diff --git a/store/screenshots/01-directory.png b/store/screenshots/01-directory.png
index 7aacfdf..7d6925a 100644
Binary files a/store/screenshots/01-directory.png and b/store/screenshots/01-directory.png differ
diff --git a/store/screenshots/02-listing-contact.png b/store/screenshots/02-listing-contact.png
index 0fca223..4160279 100644
Binary files a/store/screenshots/02-listing-contact.png and b/store/screenshots/02-listing-contact.png differ
diff --git a/store/screenshots/03-booking.png b/store/screenshots/03-booking.png
index 5a67f83..7643e2f 100644
Binary files a/store/screenshots/03-booking.png and b/store/screenshots/03-booking.png differ
diff --git a/store/screenshots/04-trips.png b/store/screenshots/04-trips.png
index a0e287e..490b49f 100644
Binary files a/store/screenshots/04-trips.png and b/store/screenshots/04-trips.png differ
diff --git a/store/screenshots/05-invite.png b/store/screenshots/05-invite.png
index bac70bf..30c6d37 100644
Binary files a/store/screenshots/05-invite.png and b/store/screenshots/05-invite.png differ
diff --git a/tmp/gen-shots.mjs b/tmp/gen-shots.mjs
new file mode 100644
index 0000000..8dd90b7
--- /dev/null
+++ b/tmp/gen-shots.mjs
@@ -0,0 +1,180 @@
+// Costa Rica App Store screenshots — 5 web-rendered device-spec shots @ 1320x2868 (iPhone 6.9").
+// Mirrors the HomesOnSpec approach (Playwright headless render of a styled HTML mock built
+// from the app's REAL screens/branding). $0 (local render, no paid API).
+// Real app: Expo/React Native, brand green #0a7d55, screens = directory / listing (BEST WAY
+// TO CONTACT) / booking (card + SINPE Móvil) / My Trips / Invite friends.
+import { chromium } from '@playwright/test';
+import { writeFileSync, mkdirSync } from 'node:fs';
+import { fileURLToPath } from 'node:url';
+import { dirname, join } from 'node:path';
+
+const __dir = dirname(fileURLToPath(import.meta.url));
+const HTML_DIR = join(__dir, 'shots-html');
+const OUT_DIR = join(__dir, '..', 'store', 'screenshots');
+mkdirSync(HTML_DIR, { recursive: true });
+mkdirSync(OUT_DIR, { recursive: true });
+
+const W = 1320, H = 2868;             // iPhone 6.9" App Store spec (exact)
+const G = '#0a7d55';                  // brand green (from app source)
+const GD = '#1a2b22', MUTE = '#6b756e', BG = '#f6f7f5', CARDBORDER = '#e8ebe6';
+
+// Shared chrome: iOS status bar + green nav header + brand banner.
+const shell = (title, banner, body) => `<!doctype html><html><head><meta charset="utf-8">
+<style>
+  *{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
+  html,body{width:${W}px;height:${H}px;overflow:hidden}
+  body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:${BG};color:${GD}}
+  .status{height:120px;background:${G};display:flex;align-items:flex-end;justify-content:space-between;padding:0 60px 14px;color:#fff;font-weight:600;font-size:40px}
+  .status .right{display:flex;gap:18px;align-items:center;font-size:34px}
+  .nav{background:${G};color:#fff;height:150px;display:flex;align-items:center;padding:0 48px;font-size:56px;font-weight:800;letter-spacing:.3px}
+  .nav .back{font-size:64px;font-weight:400;margin-right:28px}
+  .banner{background:${G};color:#fff;text-align:center;padding:70px 48px 84px}
+  .banner h1{font-size:78px;font-weight:900;line-height:1.05;letter-spacing:.5px}
+  .banner p{font-size:44px;opacity:.92;margin-top:26px;font-weight:500;line-height:1.3}
+  .body{padding:44px 48px}
+  .search{background:#fff;border:2px solid #e2e5e0;border-radius:22px;height:110px;display:flex;align-items:center;padding:0 40px;color:#9aa39c;font-size:42px;flex:1}
+  .chips{display:flex;gap:22px;margin:36px 0 12px;flex-wrap:wrap}
+  .chip{border:3px solid ${G};color:${G};border-radius:44px;padding:22px 44px;font-size:40px;font-weight:600;background:#fff}
+  .chip.on{background:${G};color:#fff}
+  .card{background:#fff;border:2px solid ${CARDBORDER};border-radius:28px;padding:40px;margin-top:30px;position:relative}
+  .card .name{font-size:52px;font-weight:800;color:${GD}}
+  .card .meta{color:${MUTE};font-size:38px;margin-top:12px}
+  .card .price{color:${G};font-size:50px;font-weight:800;margin-top:26px}
+  .card .price .per{color:${MUTE};font-weight:400;font-size:38px}
+  .card .star{position:absolute;top:40px;right:44px;color:#b8860b;font-size:44px;font-weight:700}
+  .badge{font-weight:800;text-transform:capitalize;font-size:42px}
+</style></head><body>
+  <div class="status"><span>9:41</span><span class="right">●●● &nbsp;5G&nbsp; ▮▮▮</span></div>
+  ${body}
+</body></html>`;
+
+const listCard = (name, meta, price, per, star) => `
+  <div class="card">
+    ${star ? `<div class="star">★ ${star}</div>` : ''}
+    <div class="name">${name}</div>
+    <div class="meta">${meta}</div>
+    <div class="price">${price}<span class="per"> / ${per}</span></div>
+  </div>`;
+
+// ---- 1. Directory / browse ----
+const s1 = shell('', '', `
+  <div class="banner"><h1>All of Costa Rica,<br>in your pocket</h1><p>Stays, tours & local services across all 84 cantones</p></div>
+  <div class="body" style="padding-top:36px">
+    <div style="display:flex;gap:24px;align-items:center">
+      <div class="search">Search stays, tours, services…</div>
+      <div style="width:110px;height:110px;background:#fff;border:2px solid #e2e5e0;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:48px">👥</div>
+      <div style="height:110px;background:${G};color:#fff;border-radius:22px;display:flex;align-items:center;padding:0 40px;font-size:42px;font-weight:600">Trips</div>
+    </div>
+    <div class="chips">
+      <div class="chip on">All</div><div class="chip">Stays</div><div class="chip">Tours</div><div class="chip">Eat</div><div class="chip">Beauty</div>
+    </div>
+    ${listCard('Villa Pacífica — Tamarindo', 'Guanacaste · tourism hotel', '$189', 'night', '4.9')}
+    ${listCard('Arenal Volcano Sunrise Hike', 'La Fortuna · tourism tour', '$65', 'person', '4.8')}
+    ${listCard('Nosara Beachfront Casa', 'Guanacaste · tourism hotel', '$240', 'night', '4.9')}
+    ${listCard('Soda Típica Manuel Antonio', 'Puntarenas · tourism restaurant', '$18', 'person', '4.7')}
+    ${listCard('Monteverde Cloud Forest Zipline', 'Puntarenas · tourism tour', '$79', 'person', '4.9')}
+  </div>`);
+
+// ---- 2. Listing detail — BEST WAY TO CONTACT ----
+const cbtn = (bg, emoji, label) => `<div style="width:47%;min-height:180px;background:${bg};border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#fff"><div style="font-size:64px">${emoji}</div><div style="font-weight:800;font-size:44px;margin-top:12px">${label}</div></div>`;
+const s2 = shell('', '', `
+  <div class="nav"><span class="back">‹</span>Listing</div>
+  <div class="body">
+    <div style="font-size:58px;font-weight:800;color:${GD}">Villa Pacífica — Tamarindo</div>
+    <div style="color:${MUTE};font-size:40px;margin-top:14px">Guanacaste · tourism hotel</div>
+    <div style="color:#b8860b;font-size:42px;margin-top:16px">★ 4.9</div>
+    <div style="margin-top:28px;line-height:1.35;color:#33413a;font-size:40px">Steps from the sand in Tamarindo. Ocean-view terrace, private pool, and sunset every night. Sleeps 6.</div>
+    <div style="margin-top:36px;background:#eef5f1;border-radius:28px;padding:44px">
+      <div style="font-size:56px;font-weight:800;color:${G}">$189 <span style="color:${MUTE};font-weight:400;font-size:40px">/ night</span></div>
+      <div style="color:#33413a;font-size:38px;margin-top:14px">+ $40 cleaning</div>
+      <div style="color:${MUTE};font-size:38px;margin-top:18px">Up to 6 guests · Instant book · Free cancellation</div>
+    </div>
+    <div style="color:${MUTE};font-size:38px;margin-top:24px">📍 Playa Tamarindo, Santa Cruz</div>
+    <div style="font-size:56px;font-weight:900;letter-spacing:2px;text-align:center;margin:56px 0 32px;color:${GD}">BEST WAY TO CONTACT</div>
+    <div style="display:flex;flex-wrap:wrap;gap:28px;justify-content:center">
+      ${cbtn('#25D366','💬','WhatsApp')}${cbtn(G,'📞','Call')}${cbtn('#2b6cb0','✉️','Email')}${cbtn('#7a3cff','📨','Message')}
+    </div>
+  </div>
+  <div style="position:absolute;bottom:0;left:0;right:0;padding:44px 48px 90px"><div style="background:${G};height:150px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:50px;font-weight:700">Book now</div></div>`);
+
+// ---- 3. Booking + payment (card / SINPE Móvil) ----
+const prow = (k, v, bold) => `<div style="display:flex;justify-content:space-between;padding:14px 0;font-size:${bold?52:42}px;${bold?'font-weight:800;color:'+GD:'color:'+MUTE}"><span>${k}</span><span style="color:${bold?GD:'#1a2b22'}">${v}</span></div>`;
+const s3 = shell('', '', `
+  <div class="nav"><span class="back">‹</span>Book</div>
+  <div class="body">
+    <div style="font-size:54px;font-weight:800;color:${GD}">Villa Pacífica — Tamarindo</div>
+    <div style="background:#fff;border:2px solid ${CARDBORDER};border-radius:28px;padding:48px;margin-top:40px">
+      ${prow('Subtotal','$567')}
+      ${prow('Cleaning','$40')}
+      ${prow('Service fee','$61')}
+      <div style="height:2px;background:#eee;margin:20px 0"></div>
+      ${prow('Total','$668', true)}
+    </div>
+    <div style="margin-top:52px;font-weight:700;color:${GD};font-size:48px">Pay with</div>
+    <div style="background:${G};height:150px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:50px;font-weight:700;margin-top:32px">💳 Card (USD/CRC)</div>
+    <div style="background:#fff;border:4px solid ${G};height:150px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:${G};font-size:50px;font-weight:700;margin-top:30px">📱 SINPE Móvil</div>
+    <div style="text-align:center;color:${MUTE};font-size:40px;margin-top:44px;line-height:1.35">Pay by international card or locally with SINPE Móvil — the way Costa Rica actually pays.</div>
+  </div>`);
+
+// ---- 4. My Trips ----
+const trip = (name, status, scolor, code, dates, total) => `
+  <div style="background:#fff;border:2px solid ${CARDBORDER};border-radius:28px;padding:40px;margin-top:30px">
+    <div style="display:flex;justify-content:space-between;align-items:center">
+      <div style="font-size:50px;font-weight:700;color:${GD};flex:1">${name}</div>
+      <div class="badge" style="color:${scolor}">${status}</div>
+    </div>
+    <div style="color:${MUTE};font-size:36px;margin-top:16px">${code} · ${dates}</div>
+    <div style="color:${G};font-size:48px;font-weight:700;margin-top:22px">${total}</div>
+  </div>`;
+const s4 = shell('', '', `
+  <div class="nav"><span class="back">‹</span>My Bookings</div>
+  <div class="body">
+    <div style="font-size:52px;font-weight:800;color:${GD};margin-bottom:8px">Your trips, all in one place</div>
+    ${trip('Villa Pacífica — Tamarindo','Confirmed',G,'CR-8F42A','Sep 10 → Sep 13','$668')}
+    ${trip('Arenal Volcano Sunrise Hike','Confirmed',G,'CR-2B19C','Sep 14','$130')}
+    ${trip('Nosara Beachfront Casa','Pending','#b8860b','CR-9C55D','Oct 02 → Oct 06','$960')}
+    ${trip('Monteverde Zipline','Completed','#356','CR-3A77E','Aug 22','$158')}
+  </div>`);
+
+// ---- 5. Invite friends ----
+const irow = (name, phone, on) => `
+  <div style="display:flex;align-items:center;background:#fff;border:2px solid ${CARDBORDER};border-radius:24px;padding:36px;margin-bottom:24px">
+    <div style="flex:1"><div style="font-weight:600;color:${GD};font-size:46px">${name}</div><div style="color:${MUTE};font-size:36px;margin-top:8px">${phone}</div></div>
+    ${on ? `<div style="color:${G};font-weight:700;font-size:44px">● On app</div>` : `<div style="background:${G};color:#fff;font-weight:700;font-size:42px;padding:24px 44px;border-radius:20px">Invite</div>`}
+  </div>`;
+const s5 = shell('', '', `
+  <div class="nav"><span class="back">‹</span>Invite friends</div>
+  <div class="body" style="padding-top:20px">
+    <div style="background:#fff;border-bottom:2px solid ${CARDBORDER};border-radius:24px;padding:44px;margin-bottom:36px">
+      <div style="font-size:56px;font-weight:800;color:${GD}">Bring your friends</div>
+      <div style="color:${MUTE};font-size:40px;margin-top:16px;line-height:1.3">See who's already here and invite the rest over WhatsApp. Your contacts are only used for you.</div>
+      <div style="background:${G};height:130px;border-radius:26px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:46px;font-weight:700;margin-top:36px">Import my contacts</div>
+      <div style="color:${G};font-weight:600;font-size:42px;margin-top:28px">Imported 214 · 12 already here 🎉</div>
+    </div>
+    ${irow('Ana Jiménez','+506 8712 4490', true)}
+    ${irow('Marco Solís','+506 8834 0021', false)}
+    ${irow('Laura Vargas','+506 7099 6633', true)}
+    ${irow('Diego Rojas','+506 8455 1180', false)}
+  </div>`);
+
+const shots = [
+  ['01-directory.png', s1],
+  ['02-listing-contact.png', s2],
+  ['03-booking.png', s3],
+  ['04-trips.png', s4],
+  ['05-invite.png', s5],
+];
+
+const browser = await chromium.launch();
+const ctx = await browser.newContext({ viewport: { width: W, height: H }, deviceScaleFactor: 1 });
+const page = await ctx.newPage();
+for (const [file, html] of shots) {
+  const htmlPath = join(HTML_DIR, file.replace('.png', '.html'));
+  writeFileSync(htmlPath, html);
+  await page.goto('file://' + htmlPath, { waitUntil: 'networkidle' });
+  await page.waitForTimeout(150);
+  await page.screenshot({ path: join(OUT_DIR, file), clip: { x: 0, y: 0, width: W, height: H } });
+  console.log('rendered', file);
+}
+await browser.close();
+console.log('DONE');
diff --git a/tmp/shots-html/01-directory.html b/tmp/shots-html/01-directory.html
new file mode 100644
index 0000000..bf47b8d
--- /dev/null
+++ b/tmp/shots-html/01-directory.html
@@ -0,0 +1,74 @@
+<!doctype html><html><head><meta charset="utf-8">
+<style>
+  *{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
+  html,body{width:1320px;height:2868px;overflow:hidden}
+  body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:#f6f7f5;color:#1a2b22}
+  .status{height:120px;background:#0a7d55;display:flex;align-items:flex-end;justify-content:space-between;padding:0 60px 14px;color:#fff;font-weight:600;font-size:40px}
+  .status .right{display:flex;gap:18px;align-items:center;font-size:34px}
+  .nav{background:#0a7d55;color:#fff;height:150px;display:flex;align-items:center;padding:0 48px;font-size:56px;font-weight:800;letter-spacing:.3px}
+  .nav .back{font-size:64px;font-weight:400;margin-right:28px}
+  .banner{background:#0a7d55;color:#fff;text-align:center;padding:70px 48px 84px}
+  .banner h1{font-size:78px;font-weight:900;line-height:1.05;letter-spacing:.5px}
+  .banner p{font-size:44px;opacity:.92;margin-top:26px;font-weight:500;line-height:1.3}
+  .body{padding:44px 48px}
+  .search{background:#fff;border:2px solid #e2e5e0;border-radius:22px;height:110px;display:flex;align-items:center;padding:0 40px;color:#9aa39c;font-size:42px;flex:1}
+  .chips{display:flex;gap:22px;margin:36px 0 12px;flex-wrap:wrap}
+  .chip{border:3px solid #0a7d55;color:#0a7d55;border-radius:44px;padding:22px 44px;font-size:40px;font-weight:600;background:#fff}
+  .chip.on{background:#0a7d55;color:#fff}
+  .card{background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px;position:relative}
+  .card .name{font-size:52px;font-weight:800;color:#1a2b22}
+  .card .meta{color:#6b756e;font-size:38px;margin-top:12px}
+  .card .price{color:#0a7d55;font-size:50px;font-weight:800;margin-top:26px}
+  .card .price .per{color:#6b756e;font-weight:400;font-size:38px}
+  .card .star{position:absolute;top:40px;right:44px;color:#b8860b;font-size:44px;font-weight:700}
+  .badge{font-weight:800;text-transform:capitalize;font-size:42px}
+</style></head><body>
+  <div class="status"><span>9:41</span><span class="right">●●● &nbsp;5G&nbsp; ▮▮▮</span></div>
+  
+  <div class="banner"><h1>All of Costa Rica,<br>in your pocket</h1><p>Stays, tours & local services across all 84 cantones</p></div>
+  <div class="body" style="padding-top:36px">
+    <div style="display:flex;gap:24px;align-items:center">
+      <div class="search">Search stays, tours, services…</div>
+      <div style="width:110px;height:110px;background:#fff;border:2px solid #e2e5e0;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:48px">👥</div>
+      <div style="height:110px;background:#0a7d55;color:#fff;border-radius:22px;display:flex;align-items:center;padding:0 40px;font-size:42px;font-weight:600">Trips</div>
+    </div>
+    <div class="chips">
+      <div class="chip on">All</div><div class="chip">Stays</div><div class="chip">Tours</div><div class="chip">Eat</div><div class="chip">Beauty</div>
+    </div>
+    
+  <div class="card">
+    <div class="star">★ 4.9</div>
+    <div class="name">Villa Pacífica — Tamarindo</div>
+    <div class="meta">Guanacaste · tourism hotel</div>
+    <div class="price">$189<span class="per"> / night</span></div>
+  </div>
+    
+  <div class="card">
+    <div class="star">★ 4.8</div>
+    <div class="name">Arenal Volcano Sunrise Hike</div>
+    <div class="meta">La Fortuna · tourism tour</div>
+    <div class="price">$65<span class="per"> / person</span></div>
+  </div>
+    
+  <div class="card">
+    <div class="star">★ 4.9</div>
+    <div class="name">Nosara Beachfront Casa</div>
+    <div class="meta">Guanacaste · tourism hotel</div>
+    <div class="price">$240<span class="per"> / night</span></div>
+  </div>
+    
+  <div class="card">
+    <div class="star">★ 4.7</div>
+    <div class="name">Soda Típica Manuel Antonio</div>
+    <div class="meta">Puntarenas · tourism restaurant</div>
+    <div class="price">$18<span class="per"> / person</span></div>
+  </div>
+    
+  <div class="card">
+    <div class="star">★ 4.9</div>
+    <div class="name">Monteverde Cloud Forest Zipline</div>
+    <div class="meta">Puntarenas · tourism tour</div>
+    <div class="price">$79<span class="per"> / person</span></div>
+  </div>
+  </div>
+</body></html>
\ No newline at end of file
diff --git a/tmp/shots-html/02-listing-contact.html b/tmp/shots-html/02-listing-contact.html
new file mode 100644
index 0000000..4d9a270
--- /dev/null
+++ b/tmp/shots-html/02-listing-contact.html
@@ -0,0 +1,46 @@
+<!doctype html><html><head><meta charset="utf-8">
+<style>
+  *{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
+  html,body{width:1320px;height:2868px;overflow:hidden}
+  body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:#f6f7f5;color:#1a2b22}
+  .status{height:120px;background:#0a7d55;display:flex;align-items:flex-end;justify-content:space-between;padding:0 60px 14px;color:#fff;font-weight:600;font-size:40px}
+  .status .right{display:flex;gap:18px;align-items:center;font-size:34px}
+  .nav{background:#0a7d55;color:#fff;height:150px;display:flex;align-items:center;padding:0 48px;font-size:56px;font-weight:800;letter-spacing:.3px}
+  .nav .back{font-size:64px;font-weight:400;margin-right:28px}
+  .banner{background:#0a7d55;color:#fff;text-align:center;padding:70px 48px 84px}
+  .banner h1{font-size:78px;font-weight:900;line-height:1.05;letter-spacing:.5px}
+  .banner p{font-size:44px;opacity:.92;margin-top:26px;font-weight:500;line-height:1.3}
+  .body{padding:44px 48px}
+  .search{background:#fff;border:2px solid #e2e5e0;border-radius:22px;height:110px;display:flex;align-items:center;padding:0 40px;color:#9aa39c;font-size:42px;flex:1}
+  .chips{display:flex;gap:22px;margin:36px 0 12px;flex-wrap:wrap}
+  .chip{border:3px solid #0a7d55;color:#0a7d55;border-radius:44px;padding:22px 44px;font-size:40px;font-weight:600;background:#fff}
+  .chip.on{background:#0a7d55;color:#fff}
+  .card{background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px;position:relative}
+  .card .name{font-size:52px;font-weight:800;color:#1a2b22}
+  .card .meta{color:#6b756e;font-size:38px;margin-top:12px}
+  .card .price{color:#0a7d55;font-size:50px;font-weight:800;margin-top:26px}
+  .card .price .per{color:#6b756e;font-weight:400;font-size:38px}
+  .card .star{position:absolute;top:40px;right:44px;color:#b8860b;font-size:44px;font-weight:700}
+  .badge{font-weight:800;text-transform:capitalize;font-size:42px}
+</style></head><body>
+  <div class="status"><span>9:41</span><span class="right">●●● &nbsp;5G&nbsp; ▮▮▮</span></div>
+  
+  <div class="nav"><span class="back">‹</span>Listing</div>
+  <div class="body">
+    <div style="font-size:58px;font-weight:800;color:#1a2b22">Villa Pacífica — Tamarindo</div>
+    <div style="color:#6b756e;font-size:40px;margin-top:14px">Guanacaste · tourism hotel</div>
+    <div style="color:#b8860b;font-size:42px;margin-top:16px">★ 4.9</div>
+    <div style="margin-top:28px;line-height:1.35;color:#33413a;font-size:40px">Steps from the sand in Tamarindo. Ocean-view terrace, private pool, and sunset every night. Sleeps 6.</div>
+    <div style="margin-top:36px;background:#eef5f1;border-radius:28px;padding:44px">
+      <div style="font-size:56px;font-weight:800;color:#0a7d55">$189 <span style="color:#6b756e;font-weight:400;font-size:40px">/ night</span></div>
+      <div style="color:#33413a;font-size:38px;margin-top:14px">+ $40 cleaning</div>
+      <div style="color:#6b756e;font-size:38px;margin-top:18px">Up to 6 guests · Instant book · Free cancellation</div>
+    </div>
+    <div style="color:#6b756e;font-size:38px;margin-top:24px">📍 Playa Tamarindo, Santa Cruz</div>
+    <div style="font-size:56px;font-weight:900;letter-spacing:2px;text-align:center;margin:56px 0 32px;color:#1a2b22">BEST WAY TO CONTACT</div>
+    <div style="display:flex;flex-wrap:wrap;gap:28px;justify-content:center">
+      <div style="width:47%;min-height:180px;background:#25D366;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#fff"><div style="font-size:64px">💬</div><div style="font-weight:800;font-size:44px;margin-top:12px">WhatsApp</div></div><div style="width:47%;min-height:180px;background:#0a7d55;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#fff"><div style="font-size:64px">📞</div><div style="font-weight:800;font-size:44px;margin-top:12px">Call</div></div><div style="width:47%;min-height:180px;background:#2b6cb0;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#fff"><div style="font-size:64px">✉️</div><div style="font-weight:800;font-size:44px;margin-top:12px">Email</div></div><div style="width:47%;min-height:180px;background:#7a3cff;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:#fff"><div style="font-size:64px">📨</div><div style="font-weight:800;font-size:44px;margin-top:12px">Message</div></div>
+    </div>
+  </div>
+  <div style="position:absolute;bottom:0;left:0;right:0;padding:44px 48px 90px"><div style="background:#0a7d55;height:150px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:50px;font-weight:700">Book now</div></div>
+</body></html>
\ No newline at end of file
diff --git a/tmp/shots-html/03-booking.html b/tmp/shots-html/03-booking.html
new file mode 100644
index 0000000..7d65b51
--- /dev/null
+++ b/tmp/shots-html/03-booking.html
@@ -0,0 +1,43 @@
+<!doctype html><html><head><meta charset="utf-8">
+<style>
+  *{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
+  html,body{width:1320px;height:2868px;overflow:hidden}
+  body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:#f6f7f5;color:#1a2b22}
+  .status{height:120px;background:#0a7d55;display:flex;align-items:flex-end;justify-content:space-between;padding:0 60px 14px;color:#fff;font-weight:600;font-size:40px}
+  .status .right{display:flex;gap:18px;align-items:center;font-size:34px}
+  .nav{background:#0a7d55;color:#fff;height:150px;display:flex;align-items:center;padding:0 48px;font-size:56px;font-weight:800;letter-spacing:.3px}
+  .nav .back{font-size:64px;font-weight:400;margin-right:28px}
+  .banner{background:#0a7d55;color:#fff;text-align:center;padding:70px 48px 84px}
+  .banner h1{font-size:78px;font-weight:900;line-height:1.05;letter-spacing:.5px}
+  .banner p{font-size:44px;opacity:.92;margin-top:26px;font-weight:500;line-height:1.3}
+  .body{padding:44px 48px}
+  .search{background:#fff;border:2px solid #e2e5e0;border-radius:22px;height:110px;display:flex;align-items:center;padding:0 40px;color:#9aa39c;font-size:42px;flex:1}
+  .chips{display:flex;gap:22px;margin:36px 0 12px;flex-wrap:wrap}
+  .chip{border:3px solid #0a7d55;color:#0a7d55;border-radius:44px;padding:22px 44px;font-size:40px;font-weight:600;background:#fff}
+  .chip.on{background:#0a7d55;color:#fff}
+  .card{background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px;position:relative}
+  .card .name{font-size:52px;font-weight:800;color:#1a2b22}
+  .card .meta{color:#6b756e;font-size:38px;margin-top:12px}
+  .card .price{color:#0a7d55;font-size:50px;font-weight:800;margin-top:26px}
+  .card .price .per{color:#6b756e;font-weight:400;font-size:38px}
+  .card .star{position:absolute;top:40px;right:44px;color:#b8860b;font-size:44px;font-weight:700}
+  .badge{font-weight:800;text-transform:capitalize;font-size:42px}
+</style></head><body>
+  <div class="status"><span>9:41</span><span class="right">●●● &nbsp;5G&nbsp; ▮▮▮</span></div>
+  
+  <div class="nav"><span class="back">‹</span>Book</div>
+  <div class="body">
+    <div style="font-size:54px;font-weight:800;color:#1a2b22">Villa Pacífica — Tamarindo</div>
+    <div style="background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:48px;margin-top:40px">
+      <div style="display:flex;justify-content:space-between;padding:14px 0;font-size:42px;color:#6b756e"><span>Subtotal</span><span style="color:#1a2b22">$567</span></div>
+      <div style="display:flex;justify-content:space-between;padding:14px 0;font-size:42px;color:#6b756e"><span>Cleaning</span><span style="color:#1a2b22">$40</span></div>
+      <div style="display:flex;justify-content:space-between;padding:14px 0;font-size:42px;color:#6b756e"><span>Service fee</span><span style="color:#1a2b22">$61</span></div>
+      <div style="height:2px;background:#eee;margin:20px 0"></div>
+      <div style="display:flex;justify-content:space-between;padding:14px 0;font-size:52px;font-weight:800;color:#1a2b22"><span>Total</span><span style="color:#1a2b22">$668</span></div>
+    </div>
+    <div style="margin-top:52px;font-weight:700;color:#1a2b22;font-size:48px">Pay with</div>
+    <div style="background:#0a7d55;height:150px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:50px;font-weight:700;margin-top:32px">💳 Card (USD/CRC)</div>
+    <div style="background:#fff;border:4px solid #0a7d55;height:150px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:#0a7d55;font-size:50px;font-weight:700;margin-top:30px">📱 SINPE Móvil</div>
+    <div style="text-align:center;color:#6b756e;font-size:40px;margin-top:44px;line-height:1.35">Pay by international card or locally with SINPE Móvil — the way Costa Rica actually pays.</div>
+  </div>
+</body></html>
\ No newline at end of file
diff --git a/tmp/shots-html/04-trips.html b/tmp/shots-html/04-trips.html
new file mode 100644
index 0000000..7b6fcbc
--- /dev/null
+++ b/tmp/shots-html/04-trips.html
@@ -0,0 +1,68 @@
+<!doctype html><html><head><meta charset="utf-8">
+<style>
+  *{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
+  html,body{width:1320px;height:2868px;overflow:hidden}
+  body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:#f6f7f5;color:#1a2b22}
+  .status{height:120px;background:#0a7d55;display:flex;align-items:flex-end;justify-content:space-between;padding:0 60px 14px;color:#fff;font-weight:600;font-size:40px}
+  .status .right{display:flex;gap:18px;align-items:center;font-size:34px}
+  .nav{background:#0a7d55;color:#fff;height:150px;display:flex;align-items:center;padding:0 48px;font-size:56px;font-weight:800;letter-spacing:.3px}
+  .nav .back{font-size:64px;font-weight:400;margin-right:28px}
+  .banner{background:#0a7d55;color:#fff;text-align:center;padding:70px 48px 84px}
+  .banner h1{font-size:78px;font-weight:900;line-height:1.05;letter-spacing:.5px}
+  .banner p{font-size:44px;opacity:.92;margin-top:26px;font-weight:500;line-height:1.3}
+  .body{padding:44px 48px}
+  .search{background:#fff;border:2px solid #e2e5e0;border-radius:22px;height:110px;display:flex;align-items:center;padding:0 40px;color:#9aa39c;font-size:42px;flex:1}
+  .chips{display:flex;gap:22px;margin:36px 0 12px;flex-wrap:wrap}
+  .chip{border:3px solid #0a7d55;color:#0a7d55;border-radius:44px;padding:22px 44px;font-size:40px;font-weight:600;background:#fff}
+  .chip.on{background:#0a7d55;color:#fff}
+  .card{background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px;position:relative}
+  .card .name{font-size:52px;font-weight:800;color:#1a2b22}
+  .card .meta{color:#6b756e;font-size:38px;margin-top:12px}
+  .card .price{color:#0a7d55;font-size:50px;font-weight:800;margin-top:26px}
+  .card .price .per{color:#6b756e;font-weight:400;font-size:38px}
+  .card .star{position:absolute;top:40px;right:44px;color:#b8860b;font-size:44px;font-weight:700}
+  .badge{font-weight:800;text-transform:capitalize;font-size:42px}
+</style></head><body>
+  <div class="status"><span>9:41</span><span class="right">●●● &nbsp;5G&nbsp; ▮▮▮</span></div>
+  
+  <div class="nav"><span class="back">‹</span>My Bookings</div>
+  <div class="body">
+    <div style="font-size:52px;font-weight:800;color:#1a2b22;margin-bottom:8px">Your trips, all in one place</div>
+    
+  <div style="background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px">
+    <div style="display:flex;justify-content:space-between;align-items:center">
+      <div style="font-size:50px;font-weight:700;color:#1a2b22;flex:1">Villa Pacífica — Tamarindo</div>
+      <div class="badge" style="color:#0a7d55">Confirmed</div>
+    </div>
+    <div style="color:#6b756e;font-size:36px;margin-top:16px">CR-8F42A · Sep 10 → Sep 13</div>
+    <div style="color:#0a7d55;font-size:48px;font-weight:700;margin-top:22px">$668</div>
+  </div>
+    
+  <div style="background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px">
+    <div style="display:flex;justify-content:space-between;align-items:center">
+      <div style="font-size:50px;font-weight:700;color:#1a2b22;flex:1">Arenal Volcano Sunrise Hike</div>
+      <div class="badge" style="color:#0a7d55">Confirmed</div>
+    </div>
+    <div style="color:#6b756e;font-size:36px;margin-top:16px">CR-2B19C · Sep 14</div>
+    <div style="color:#0a7d55;font-size:48px;font-weight:700;margin-top:22px">$130</div>
+  </div>
+    
+  <div style="background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px">
+    <div style="display:flex;justify-content:space-between;align-items:center">
+      <div style="font-size:50px;font-weight:700;color:#1a2b22;flex:1">Nosara Beachfront Casa</div>
+      <div class="badge" style="color:#b8860b">Pending</div>
+    </div>
+    <div style="color:#6b756e;font-size:36px;margin-top:16px">CR-9C55D · Oct 02 → Oct 06</div>
+    <div style="color:#0a7d55;font-size:48px;font-weight:700;margin-top:22px">$960</div>
+  </div>
+    
+  <div style="background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px">
+    <div style="display:flex;justify-content:space-between;align-items:center">
+      <div style="font-size:50px;font-weight:700;color:#1a2b22;flex:1">Monteverde Zipline</div>
+      <div class="badge" style="color:#356">Completed</div>
+    </div>
+    <div style="color:#6b756e;font-size:36px;margin-top:16px">CR-3A77E · Aug 22</div>
+    <div style="color:#0a7d55;font-size:48px;font-weight:700;margin-top:22px">$158</div>
+  </div>
+  </div>
+</body></html>
\ No newline at end of file
diff --git a/tmp/shots-html/05-invite.html b/tmp/shots-html/05-invite.html
new file mode 100644
index 0000000..dcf4093
--- /dev/null
+++ b/tmp/shots-html/05-invite.html
@@ -0,0 +1,57 @@
+<!doctype html><html><head><meta charset="utf-8">
+<style>
+  *{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
+  html,body{width:1320px;height:2868px;overflow:hidden}
+  body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;background:#f6f7f5;color:#1a2b22}
+  .status{height:120px;background:#0a7d55;display:flex;align-items:flex-end;justify-content:space-between;padding:0 60px 14px;color:#fff;font-weight:600;font-size:40px}
+  .status .right{display:flex;gap:18px;align-items:center;font-size:34px}
+  .nav{background:#0a7d55;color:#fff;height:150px;display:flex;align-items:center;padding:0 48px;font-size:56px;font-weight:800;letter-spacing:.3px}
+  .nav .back{font-size:64px;font-weight:400;margin-right:28px}
+  .banner{background:#0a7d55;color:#fff;text-align:center;padding:70px 48px 84px}
+  .banner h1{font-size:78px;font-weight:900;line-height:1.05;letter-spacing:.5px}
+  .banner p{font-size:44px;opacity:.92;margin-top:26px;font-weight:500;line-height:1.3}
+  .body{padding:44px 48px}
+  .search{background:#fff;border:2px solid #e2e5e0;border-radius:22px;height:110px;display:flex;align-items:center;padding:0 40px;color:#9aa39c;font-size:42px;flex:1}
+  .chips{display:flex;gap:22px;margin:36px 0 12px;flex-wrap:wrap}
+  .chip{border:3px solid #0a7d55;color:#0a7d55;border-radius:44px;padding:22px 44px;font-size:40px;font-weight:600;background:#fff}
+  .chip.on{background:#0a7d55;color:#fff}
+  .card{background:#fff;border:2px solid #e8ebe6;border-radius:28px;padding:40px;margin-top:30px;position:relative}
+  .card .name{font-size:52px;font-weight:800;color:#1a2b22}
+  .card .meta{color:#6b756e;font-size:38px;margin-top:12px}
+  .card .price{color:#0a7d55;font-size:50px;font-weight:800;margin-top:26px}
+  .card .price .per{color:#6b756e;font-weight:400;font-size:38px}
+  .card .star{position:absolute;top:40px;right:44px;color:#b8860b;font-size:44px;font-weight:700}
+  .badge{font-weight:800;text-transform:capitalize;font-size:42px}
+</style></head><body>
+  <div class="status"><span>9:41</span><span class="right">●●● &nbsp;5G&nbsp; ▮▮▮</span></div>
+  
+  <div class="nav"><span class="back">‹</span>Invite friends</div>
+  <div class="body" style="padding-top:20px">
+    <div style="background:#fff;border-bottom:2px solid #e8ebe6;border-radius:24px;padding:44px;margin-bottom:36px">
+      <div style="font-size:56px;font-weight:800;color:#1a2b22">Bring your friends</div>
+      <div style="color:#6b756e;font-size:40px;margin-top:16px;line-height:1.3">See who's already here and invite the rest over WhatsApp. Your contacts are only used for you.</div>
+      <div style="background:#0a7d55;height:130px;border-radius:26px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:46px;font-weight:700;margin-top:36px">Import my contacts</div>
+      <div style="color:#0a7d55;font-weight:600;font-size:42px;margin-top:28px">Imported 214 · 12 already here 🎉</div>
+    </div>
+    
+  <div style="display:flex;align-items:center;background:#fff;border:2px solid #e8ebe6;border-radius:24px;padding:36px;margin-bottom:24px">
+    <div style="flex:1"><div style="font-weight:600;color:#1a2b22;font-size:46px">Ana Jiménez</div><div style="color:#6b756e;font-size:36px;margin-top:8px">+506 8712 4490</div></div>
+    <div style="color:#0a7d55;font-weight:700;font-size:44px">● On app</div>
+  </div>
+    
+  <div style="display:flex;align-items:center;background:#fff;border:2px solid #e8ebe6;border-radius:24px;padding:36px;margin-bottom:24px">
+    <div style="flex:1"><div style="font-weight:600;color:#1a2b22;font-size:46px">Marco Solís</div><div style="color:#6b756e;font-size:36px;margin-top:8px">+506 8834 0021</div></div>
+    <div style="background:#0a7d55;color:#fff;font-weight:700;font-size:42px;padding:24px 44px;border-radius:20px">Invite</div>
+  </div>
+    
+  <div style="display:flex;align-items:center;background:#fff;border:2px solid #e8ebe6;border-radius:24px;padding:36px;margin-bottom:24px">
+    <div style="flex:1"><div style="font-weight:600;color:#1a2b22;font-size:46px">Laura Vargas</div><div style="color:#6b756e;font-size:36px;margin-top:8px">+506 7099 6633</div></div>
+    <div style="color:#0a7d55;font-weight:700;font-size:44px">● On app</div>
+  </div>
+    
+  <div style="display:flex;align-items:center;background:#fff;border:2px solid #e8ebe6;border-radius:24px;padding:36px;margin-bottom:24px">
+    <div style="flex:1"><div style="font-weight:600;color:#1a2b22;font-size:46px">Diego Rojas</div><div style="color:#6b756e;font-size:36px;margin-top:8px">+506 8455 1180</div></div>
+    <div style="background:#0a7d55;color:#fff;font-weight:700;font-size:42px;padding:24px 44px;border-radius:20px">Invite</div>
+  </div>
+  </div>
+</body></html>
\ No newline at end of file

← a3a5146 listing: point Support/Marketing URLs at public /support, ad  ·  back to Costa Rica App  ·  Costa Rica: reshoot 03-booking screenshot to fill frame (sta 368e715 →