:root {
  color-scheme: light;
  --red: #ff6f4e;
  --blue: #087f8c;
  --yellow: #ffe56b;
  --white: #fff6de;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { overflow:auto; }
body {
  --shell-bg: #f6b6ca;
  --shell-ink: #087f8c;
  --shell-panel: #fff6de;
  --shell-line: #087f8c;
  --shell-accent: #ff6f4e;
  --shell-pop: #ffe56b;
  --card-edge: var(--shell-ink);
  --card-shadow: 18px 18px 0 var(--shell-ink);
  margin: 0;
  color: var(--shell-ink);
  background: var(--shell-bg);
  font-family: Arial, Helvetica, sans-serif;
  overflow: hidden;
}

.topbar,
.footer {
  position: fixed;
  z-index: 20;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  color: var(--shell-ink);
  background: var(--shell-panel);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.topbar { top: 0; height: 56px; border-bottom: 1px solid var(--shell-line); }
.footer { bottom: 0; height: 44px; border-top: 1px solid var(--shell-line); }

.theme-picker { position:absolute; left:50%; display:flex; gap:8px; transform:translateX(-50%); }
.theme-picker button { position:relative; display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid var(--shell-ink); border-radius:50%; background:var(--shell-panel); cursor:pointer; }
.theme-picker button i { width:14px; height:14px; border-radius:50%; background:var(--swatch); }
.theme-picker button[aria-pressed="true"]::after { content:""; position:absolute; inset:-4px; border:1px solid var(--shell-ink); border-radius:50%; }
.theme-picker button:nth-child(1) { --swatch:#f6b6ca; }
.theme-picker button:nth-child(2) { --swatch:#ff3eb5; }
.theme-picker button:nth-child(3) { --swatch:#0b6b66; }
.theme-picker button:nth-child(4) { --swatch:#ff7139; }
.theme-picker button:focus-visible { outline:3px solid var(--shell-pop); outline-offset:2px; }

.daily-stage {
  width: 100vw;
  height: 100svh;
  display: grid;
  place-items: center;
  padding: 88px 5vw 72px;
  background:
    linear-gradient(var(--shell-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--shell-line) 1px, transparent 1px),
    var(--shell-bg);
  background-size: 7vw 7vw;
}

.postcard-controls {
  position: fixed;
  z-index: 30;
  left: 50%;
  bottom: 54px;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
}
.flip {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--shell-ink);
  background: var(--shell-panel);
  border: 1px solid var(--shell-line);
  border-radius: 50%;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.flip:hover { color: var(--shell-panel); background: var(--shell-ink); transform: translateY(-2px); }
.flip:focus-visible { outline: 3px solid var(--shell-pop); outline-offset: 2px; }

.postcard {
  --sun-x: 76%;
  --sun-y: 30%;
  --sun-size: 29%;
  --wave-y: 58%;
  --tilt: -2deg;
  --copy-x: 7%;
  --copy-y: 24%;
  --ripple-gap: 8%;
  position: relative;
  width: min(1180px, 82vw);
  aspect-ratio: 3 / 2;
  max-height: calc(100svh - 160px);
  overflow: hidden;
  color: var(--blue);
  background: var(--white);
  border: 2px solid var(--card-edge);
  box-shadow: var(--card-shadow);
  transform: rotate(var(--tilt));
  isolation: isolate;
}

.postcard-art { position: absolute; inset: 0; z-index: -1; }
.photo-frame {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 60%;
  margin: 0;
  overflow: hidden;
  border-left: 2px solid var(--blue);
  background: var(--white);
}
.daily-photo { width: 100%; height: 100%; display: block; object-fit: cover; }
.paper-field {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 42%;
  background: var(--white);
}
.postcard[data-layout="2"] .photo-frame { left: 0; right: auto; border-right: 2px solid var(--blue); border-left: 0; }
.postcard[data-layout="2"] .paper-field { left: auto; right: 0; }
.postcard[data-layout="3"] .photo-frame { left: 0; width: 100%; border: 0; }
.postcard[data-layout="3"] .paper-field { width: 44%; border-right: 2px solid var(--blue); }
.sun {
  position: absolute;
  z-index: 3;
  left: var(--sun-x);
  top: var(--sun-y);
  width: var(--sun-size);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 2px solid var(--blue);
  border-radius: 50%;
  background: var(--yellow);
}
.horizon {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: var(--wave-y);
  height: 26%;
  background: var(--blue);
}
.waves {
  position: absolute;
  z-index: 4;
  left: -10%;
  width: 120%;
  height: 46%;
  background: repeating-radial-gradient(
    ellipse 72% 34% at 50% 118%,
    transparent 0 var(--ripple-gap),
    var(--blue) calc(var(--ripple-gap) + .15%) calc(var(--ripple-gap) + .55%),
    transparent calc(var(--ripple-gap) + .7%) calc(var(--ripple-gap) + 4%)
  );
}
.waves { top: 38%; }
.red-mark {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  width: 5%;
  height: 100%;
  background: var(--red);
}

.postcard-copy {
  position: absolute;
  left: var(--copy-x);
  top: var(--copy-y);
  z-index: 5;
  width: 36%;
}
.made,
.florida {
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 5px 7px;
  color: var(--blue);
  background: var(--white);
  border: 1px solid var(--blue);
  font-size: clamp(8px, .75vw, 11px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.postcard h1 {
  margin: 10px 0 0;
  color: #111;
  font-family: 'Brush Script MT','Segoe Script','Snell Roundhand',cursive;
  font-size: clamp(58px, 7.2vw, 112px);
  font-weight: 400;
  line-height: .82;
  letter-spacing: -.045em;
  -webkit-text-stroke: 0;
}
.tagline {
  margin: 22px 0 28px;
  color: var(--yellow);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(25px, 2.8vw, 44px);
  font-style: italic;
  line-height: 1;
  letter-spacing: -.04em;
  -webkit-text-stroke: 1px var(--blue);
}
.postcard-day {
  position: absolute;
  right: 2.5%;
  bottom: 3%;
  z-index: 6;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: var(--white);
  background: var(--red);
  border: 2px solid var(--blue);
  border-radius: 50%;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}

.postcard[data-layout="2"] .postcard-copy,
.postcard[data-layout="6"] .postcard-copy { text-align: right; }
.postcard[data-layout="2"] .postcard-copy { left:62%; width:32%; }
.postcard[data-layout="2"] h1 { font-size:clamp(54px,6vw,94px); }
.postcard[data-layout="2"] .tagline { font-size:clamp(24px,2.4vw,38px); }
.postcard[data-layout="2"] .made,
.postcard[data-layout="2"] .florida,
.postcard[data-layout="6"] .made,
.postcard[data-layout="6"] .florida { margin-left: auto; }
.postcard[data-layout="4"] .postcard-copy { width: 72%; text-align: center; }
.postcard[data-layout="4"] .made,
.postcard[data-layout="4"] .florida { margin-left: auto; margin-right: auto; }

/* Four switchable 1980s Miami page worlds */
body[data-theme="ocean-drive"] {
  --shell-bg:#f6b6ca; --shell-ink:#087f8c; --shell-panel:#fff6de; --shell-line:#087f8c; --shell-accent:#ff6f4e; --shell-pop:#ffe56b;
  --red:#ff6f4e; --blue:#087f8c; --yellow:#ffe56b; --white:#fff6de;
  --card-edge:#087f8c; --card-shadow:18px 18px 0 #087f8c;
}
body[data-theme="ocean-drive"] .daily-stage {
  background:linear-gradient(135deg,transparent 0 47%,var(--shell-accent) 47% 48%,transparent 48% 100%),linear-gradient(var(--shell-line) 1px,transparent 1px),linear-gradient(90deg,var(--shell-line) 1px,transparent 1px),var(--shell-bg);
  background-size:100% 100%,7vw 7vw,7vw 7vw,auto;
}
body[data-theme="ocean-drive"] .topbar > span:first-child { font-style:italic; font-size:14px; }

body[data-theme="neon-night"] {
  --shell-bg:#100b3d; --shell-ink:#2cf2e8; --shell-panel:#17104f; --shell-line:#2cf2e8; --shell-accent:#ff3eb5; --shell-pop:#ffe03b;
  --red:#ff3eb5; --blue:#2cf2e8; --yellow:#ffe03b; --white:#17104f;
  --card-edge:#2cf2e8; --card-shadow:10px 10px 0 #ff3eb5,20px 20px 0 #2cf2e8;
}
body[data-theme="neon-night"] .daily-stage {
  background:linear-gradient(to bottom,transparent 0 58%,#ff3eb5 58% 58.3%,transparent 58.3%),repeating-linear-gradient(170deg,transparent 0 7vw,#2cf2e8 7vw calc(7vw + 1px),transparent calc(7vw + 1px) 14vw),var(--shell-bg);
}
body[data-theme="neon-night"] .topbar,body[data-theme="neon-night"] .footer { box-shadow:0 0 18px #2cf2e8; }
body[data-theme="neon-night"] .topbar > span:first-child { color:#ff3eb5; text-shadow:2px 0 #2cf2e8; font-size:14px; }

body[data-theme="hotel-lobby"] {
  --shell-bg:#f3dfbd; --shell-ink:#0b6b66; --shell-panel:#fff8e8; --shell-line:#0b6b66; --shell-accent:#ef6a5b; --shell-pop:#f3bd45;
  --red:#ef6a5b; --blue:#0b6b66; --yellow:#f3bd45; --white:#fff8e8;
  --card-edge:#0b6b66; --card-shadow:0 0 0 8px #fff8e8,0 0 0 10px #0b6b66,18px 18px 0 #ef6a5b;
}
body[data-theme="hotel-lobby"] .daily-stage {
  background:radial-gradient(circle at 50% 52%,var(--shell-pop) 0 12vw,transparent calc(12vw + 1px)),repeating-linear-gradient(0deg,transparent 0 42px,var(--shell-line) 42px 43px),var(--shell-bg);
}
body[data-theme="hotel-lobby"] .topbar > span:first-child,body[data-theme="hotel-lobby"] .footer { font-family:Georgia,'Times New Roman',serif; font-style:italic; text-transform:none; }

body[data-theme="vhs-sunset"] {
  --shell-bg:#c7b8ff; --shell-ink:#3a185f; --shell-panel:#f8edff; --shell-line:#3a185f; --shell-accent:#ff7139; --shell-pop:#63e0ce;
  --red:#ff7139; --blue:#3a185f; --yellow:#63e0ce; --white:#f8edff;
  --card-edge:#3a185f; --card-shadow:8px 8px 0 #63e0ce,16px 16px 0 #ff7139;
}
body[data-theme="vhs-sunset"] .daily-stage {
  background:linear-gradient(to bottom,var(--shell-bg) 0 38%,var(--shell-accent) 38% 38.7%,var(--shell-pop) 38.7% 39.4%,var(--shell-bg) 39.4%),repeating-linear-gradient(0deg,transparent 0 5px,#3a185f 5px 6px),var(--shell-bg);
}
body[data-theme="vhs-sunset"] .topbar > span:first-child,body[data-theme="vhs-sunset"] .day-count { font-family:'Courier New',monospace; letter-spacing:.22em; }
body[data-theme="vhs-sunset"] .postcard { filter:saturate(1.12) contrast(1.03); }

@media (max-width: 720px) {
  .topbar, .footer { padding: 0 14px; font-size: 8px; }
  .daily-stage { padding: 78px 18px 64px; background-size: 18vw 18vw; }
  .postcard {
    width: min(88vw, 520px);
    aspect-ratio: 2 / 3;
    max-height: calc(100svh - 158px);
    box-shadow: var(--card-shadow);
  }
  .postcard-copy,
  .postcard[data-layout="2"] .postcard-copy,
  .postcard[data-layout="4"] .postcard-copy,
  .postcard[data-layout="6"] .postcard-copy {
    left: 8%;
    top: 61%;
    width: 84%;
    text-align: left;
  }
  .postcard[data-layout="2"] .made,
  .postcard[data-layout="2"] .florida,
  .postcard[data-layout="4"] .made,
  .postcard[data-layout="4"] .florida,
  .postcard[data-layout="6"] .made,
  .postcard[data-layout="6"] .florida { margin-left: 0; margin-right: 0; }
  .postcard h1 { font-size: clamp(54px, 17vw, 78px); }
  .tagline { margin:14px 0 18px; font-size: clamp(24px, 7.5vw, 34px); }
  .photo-frame,
  .postcard[data-layout="2"] .photo-frame,
  .postcard[data-layout="3"] .photo-frame { left:0; right:0; top:0; bottom:auto; width:100%; height:55%; border:0; border-bottom:2px solid var(--blue); }
  .paper-field,
  .postcard[data-layout="2"] .paper-field,
  .postcard[data-layout="3"] .paper-field { left:0; right:0; top:52%; bottom:0; width:100%; border:0; }
  .sun { left: 76%; top: 51%; width: 34%; }
  .horizon { top: 49%; height: 14%; }
  .waves { top: 34%; height: 38%; }
  .red-mark { width: 7%; }
  .postcard-day { width: 44px; height: 44px; }
  .postcard-controls { bottom: 50px; }
  .flip { width: 40px; height: 40px; }
  .theme-picker { gap:5px; }
  .theme-picker button { width:25px; height:25px; }
  .theme-picker button i { width:11px; height:11px; }
}

@media (prefers-reduced-motion: no-preference) {
  .waves { animation: ripple 7s ease-in-out infinite alternate; }
  .sun { animation: glow 8s ease-in-out infinite alternate; }
  @keyframes ripple { to { transform: translateY(-7%) scaleY(1.1); } }
  @keyframes glow { to { transform: translate(-50%, -54%); } }
}

/* The viewport itself is the postcard. Interface controls read as postal marks. */
.topbar { z-index:40; height:auto; inset:16px 0 auto; padding:0 20px; color:var(--blue); background:transparent; border:0; box-shadow:none!important; pointer-events:none; }
.topbar > span:first-child { display:none; }
.theme-picker { position:relative; left:0; padding:6px 8px; background:var(--white); border:1px solid var(--blue); transform:none; pointer-events:auto; }
.day-count { position:absolute; right:20px; padding:9px 12px; color:var(--blue); background:var(--white); border:1px solid var(--blue); border-radius:50%; pointer-events:auto; }
.page-link { color:var(--blue); background:var(--white); border:1px solid var(--blue); text-decoration:none; pointer-events:auto; }
.wholesale-link { position:absolute; left:194px; padding:10px 14px; }
.page-link:hover, .page-link:focus-visible { color:var(--white); background:var(--blue); }
.daily-stage { padding:0; background:var(--white)!important; }
.daily-stage { position:relative; }
.postcard { width:100vw; height:100svh; max-height:none; aspect-ratio:auto; border:0; box-shadow:none; transform:none; }
.postcard-controls { position:absolute; z-index:45; bottom:18px; }
.flip { color:var(--blue); background:var(--white); border-color:var(--blue); }
.flip:hover { color:var(--white); background:var(--blue); }

@media (max-width:720px) {
  .topbar { inset:12px 0 auto; padding:0 12px; }
  .theme-picker { gap:4px; padding:5px 6px; }
  .day-count { right:12px; padding:8px 10px; }
  .postcard { width:100vw; height:100svh; max-height:none; aspect-ratio:auto; border:0; box-shadow:none; }
  .postcard-controls { bottom:14px; }
}

.home-page { display:flex; flex-direction:column; overflow:auto; background:var(--white); scroll-behavior:smooth; }
.brand-signature { color:#111!important; font-family:'Brush Script MT','Segoe Script','Snell Roundhand',cursive!important; font-weight:400!important; letter-spacing:-.035em!important; text-transform:none!important; }
.menu-toggle { position:absolute; left:194px; padding:10px 14px; font:inherit; letter-spacing:inherit; text-transform:uppercase; cursor:pointer; }
.site-menu { position:fixed; z-index:100; inset:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:center; gap:0 7vw; padding:clamp(28px,6vw,96px); color:var(--blue); background:var(--white); }
.site-menu[hidden] { display:none; }
.menu-heading { position:absolute; top:24px; left:clamp(28px,6vw,96px); right:clamp(28px,6vw,96px); display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; border-bottom:1px solid var(--blue); }
.menu-heading .brand-signature { font-size:clamp(38px,4vw,64px); }
.menu-close { padding:10px 14px; color:var(--blue); background:transparent; border:1px solid var(--blue); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }
.site-menu > a { padding:18px 0; color:var(--blue); border-bottom:1px solid var(--blue); font-family:Georgia,'Times New Roman',serif; font-size:clamp(28px,4vw,64px); font-style:italic; line-height:1; text-decoration:none; }
.site-menu > a:hover,.site-menu > a:focus-visible,.site-menu > a[aria-current="page"] { color:var(--red); }
.menu-open { overflow:hidden!important; }

.home-details { order:-1; position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr); gap:clamp(44px,6vw,96px); align-items:center; width:100%; height:100svh; min-height:700px; padding:clamp(92px,10vh,126px) clamp(34px,8vw,128px) clamp(54px,7vh,82px); overflow:hidden; color:var(--blue); background:var(--white); border-bottom:2px solid var(--blue); }
.home-details-copy { max-width:820px; }
.home-details-copy::after { content:""; display:block; clear:both; }
.home-details h2 { margin:0 0 34px; color:var(--red); font-size:clamp(74px,10vw,160px); font-weight:500; line-height:.75; letter-spacing:-.08em; -webkit-text-stroke:1px var(--blue); }
.home-details p { margin:0 0 22px; font-size:clamp(16px,1.35vw,21px); line-height:1.5; }
.home-details .intro { font-family:Georgia,'Times New Roman',serif; font-size:clamp(26px,2.7vw,44px); font-style:italic; line-height:1.14; letter-spacing:-.035em; }
.home-details-photo { margin:0; padding:10px; background:var(--white); border:2px dashed var(--red); transform:rotate(1.5deg); }
.home-details-photo img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; }
.home-details-photo figcaption { padding:10px 4px 2px; font-size:9px; font-weight:700; letter-spacing:.16em; text-align:center; text-transform:uppercase; }
.home-visuals { position:relative; }
.home-product-card { position:relative; float:left; left:auto; bottom:auto; width:clamp(220px,18vw,290px); margin:2px 30px 18px -18px; padding:9px; color:var(--blue); background:var(--white); border:2px solid var(--blue); transform:rotate(-2deg); }
.home-product-card img { display:block; width:100%; aspect-ratio:2/3; object-fit:contain; background:transparent; }
.home-product-card figcaption { padding-top:7px; font-size:8px; font-weight:700; letter-spacing:.1em; text-align:center; text-transform:uppercase; }

/* Wholesale is the written reverse of the postcard. */
.wholesale-page { min-height:100svh; overflow:auto; background:var(--white); }
.wholesale-page .wholesale-topbar { position:fixed; }
.wholesale-page .wholesale-topbar > .home-link { display:block; position:relative; left:0; padding:4px 12px 7px; font-size:25px; line-height:1; }
.wholesale-page .theme-picker { left:50%; position:absolute; transform:translateX(-50%); }
.wholesale-page .menu-toggle { left:auto; right:20px; }
.wholesale-postcard {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.9fr) 2px minmax(0,1.1fr);
  gap:clamp(30px,4vw,64px);
  align-items:center;
  width:100%;
  min-height:100svh;
  padding:clamp(104px,12vh,150px) clamp(36px,7vw,112px) clamp(72px,10vh,110px);
  overflow:hidden;
  color:var(--blue);
  background:var(--white);
}
.wholesale-message,.wholesale-address { position:relative; z-index:2; }
.wholesale-message { align-self:center; max-width:660px; }
.eyebrow { display:inline-flex; align-items:baseline; gap:10px; margin:0 0 26px; padding:7px 9px; color:var(--blue); background:var(--yellow); border:1px solid var(--blue); font-size:10px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow .brand-signature { font-size:22px; line-height:.7; }
.wholesale-message h1 { margin:0 0 34px; color:var(--red); font-size:clamp(70px,9vw,154px); font-weight:500; line-height:.72; letter-spacing:-.085em; -webkit-text-stroke:1px var(--blue); }
.wholesale-message h1.long-title { font-size:clamp(60px,7.4vw,120px); line-height:.72; }
.wholesale-message p,.wholesale-address p { max-width:610px; margin:0 0 22px; color:var(--blue); background:color-mix(in srgb,var(--white) 92%,transparent); font-size:clamp(16px,1.35vw,21px); line-height:1.5; }
.wholesale-address > p:nth-of-type(2) { clear:both; }
.wholesale-message .intro { font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,2.6vw,42px); font-style:italic; line-height:1.14; letter-spacing:-.035em; }
.postcard-divider { align-self:stretch; width:2px; background:var(--blue); }
.wholesale-address { display:block; align-self:center; padding-top:0; }
.postage-stamp { position:relative; float:left; width:clamp(200px,16vw,264px); margin:0 24px 16px 0; padding:8px; background:var(--white); border:2px dashed var(--red); transform:rotate(-1.5deg); }
.postage-stamp img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; filter:saturate(.9) contrast(1.05); }
.postage-stamp.product-card img { aspect-ratio:2/3; object-fit:contain; background:transparent; filter:none; }
.postage-stamp figcaption { padding-top:7px; color:var(--blue); font-size:9px; font-weight:700; letter-spacing:.14em; text-align:center; text-transform:uppercase; }
.inline-email { color:inherit; font-weight:700; overflow-wrap:anywhere; text-decoration-thickness:1px; text-underline-offset:3px; }
.email-button { display:table; clear:both; margin-top:14px; padding:16px 20px; color:var(--white); background:var(--red); border:2px solid var(--blue); box-shadow:7px 7px 0 var(--yellow); font-size:clamp(14px,1.3vw,19px); font-weight:700; letter-spacing:.04em; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.email-button:hover,.email-button:focus-visible { transform:translate(3px,3px); box-shadow:4px 4px 0 var(--yellow); }

@media (min-width:761px) {
  .section-page:not(.home-section-page) .wholesale-address[aria-label="General contact"] > p:nth-of-type(2),
  .section-page:not(.home-section-page) .wholesale-address[aria-label="General contact"] .email-button { clear:none; }
}

@media (max-width:760px) {
  .menu-toggle { left:150px; padding:9px 10px; font-size:8px; }
  .site-menu { grid-template-columns:1fr; align-content:start; gap:0; padding:108px 24px 28px; overflow:auto; }
  .menu-heading { top:18px; left:24px; right:24px; }
  .menu-heading .brand-signature { font-size:38px; }
  .site-menu > a { padding:13px 0; font-size:clamp(27px,9vw,42px); }
  .home-details { display:block; height:auto; min-height:100svh; padding:104px 24px 72px; overflow:visible; }
  .home-details h2 { font-size:clamp(70px,22vw,94px); }
  .home-details .intro { font-size:clamp(25px,7.5vw,34px); }
  .home-details-photo { width:min(78vw,330px); margin:44px 0 0; }
  .home-visuals { width:min(86vw,350px); margin-top:44px; padding:0; }
  .home-visuals .home-details-photo { width:100%; margin:0; }
  .home-product-card { float:none; left:auto; width:min(72vw,270px); margin:0 0 28px; }
  .wholesale-page .wholesale-topbar > .home-link { padding:4px 9px 6px; font-size:20px; }
  .wholesale-page .theme-picker { left:50%; }
  .wholesale-page .menu-toggle { right:12px; }
  .wholesale-postcard { display:block; min-height:100svh; padding:102px 24px 72px; overflow:auto; }
  .wholesale-message { max-width:none; }
  .eyebrow { margin-bottom:20px; }
  .wholesale-message h1 { margin-bottom:28px; font-size:clamp(66px,22vw,92px); }
  .wholesale-message h1.long-title { font-size:clamp(52px,17vw,74px); }
  .wholesale-message .intro { font-size:clamp(25px,7.5vw,34px); }
  .postcard-divider { display:block; width:100%; height:2px; margin:38px 0; }
  .wholesale-address { padding-top:0; }
  .postage-stamp { float:none; width:min(62.4vw,240px); margin:0 0 19px; padding:6px; }
  .email-button { display:block; width:100%; text-align:center; overflow-wrap:anywhere; }
}

/* Slim postcard mastheads place a different Miami image and page title at the top. */
.section-banner {
  position:relative;
  height:210px;
  min-height:210px;
  overflow:hidden;
  color:var(--blue);
  background:var(--white);
  border-bottom:2px solid var(--blue);
  border-right:34px solid var(--red);
}
.postcard-source {
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  width:36%;
  height:100%;
  margin:0;
  overflow:hidden;
  background:var(--white);
  border-right:2px solid var(--blue);
}
.postcard-source img { display:block; width:100%; height:100%; min-height:0; object-fit:cover; }
.postcard-source figcaption {
  padding:5px 10px 6px;
  overflow:hidden;
  color:var(--blue);
  background:var(--white);
  border-top:1px solid var(--blue);
  font-size:7px;
  font-weight:700;
  letter-spacing:.07em;
  line-height:1.15;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.section-banner > div { position:absolute; left:40%; right:5%; top:50%; display:grid; grid-template-columns:auto 1fr; align-items:baseline; gap:4px 18px; transform:translateY(-40%); }
.section-banner h1 { grid-column:1 / -1; margin:8px 0 0; color:var(--red); font-size:clamp(52px,6vw,92px); font-weight:500; line-height:.72; letter-spacing:-.07em; -webkit-text-stroke:1px var(--blue); }
.section-banner h1.partnership-title { font-size:clamp(46px,5.2vw,78px); }
.postcard-quote {
  grid-column:1 / -1;
  margin:10px 0 0;
  color:var(--blue);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(13px,1.2vw,18px);
  font-style:italic;
  line-height:1.1;
  letter-spacing:-.02em;
}

.section-page .wholesale-postcard { min-height:calc(100svh - 210px); padding-top:clamp(48px,6vh,72px); padding-bottom:clamp(42px,5vh,62px); }
.section-page .wholesale-message > .eyebrow,
.section-page .wholesale-message > h1 { display:none; }

.home-page .daily-stage { order:-2; height:210px; min-height:210px; }
.home-page .daily-stage .postcard { height:210px; min-height:210px; }
.home-page .daily-stage .photo-frame,
.home-page .daily-stage .postcard[data-layout] .photo-frame { left:0; right:auto; top:0; bottom:0; width:36%; height:100%; border:0; border-right:2px solid var(--blue); }
.home-page .daily-stage .paper-field,
.home-page .daily-stage .postcard[data-layout] .paper-field { left:36%; right:0; top:0; bottom:0; width:64%; height:100%; border:0; }
.home-page .daily-stage .sun,
.home-page .daily-stage .horizon,
.home-page .daily-stage .waves { display:none; }
.home-page .daily-stage .red-mark { width:34px; }
.home-page .daily-stage .postcard-copy,
.home-page .daily-stage .postcard[data-layout] .postcard-copy { left:40%; top:31%; width:28%; text-align:left; }
.home-page .daily-stage .postcard-copy h1 { margin:0; font-size:52px; line-height:.7; }
.home-page .daily-stage .tagline { margin:10px 0 0; font-size:22px; }
.home-page .daily-stage .florida { display:none; }
.page-banner-title { position:absolute; z-index:7; right:8%; top:50%; color:var(--red); font-size:clamp(54px,6vw,88px); font-weight:500; line-height:.75; letter-spacing:-.07em; transform:translateY(-36%); -webkit-text-stroke:1px var(--blue); }
.home-page .daily-stage .postcard-day { right:3.5%; bottom:14px; width:38px; height:38px; font-size:8px; }
.home-page .daily-stage .postcard-controls { bottom:10px; }
.home-page .daily-stage .flip { width:32px; height:32px; }
.home-page .home-details { height:calc(100svh - 210px); min-height:560px; grid-template-columns:1fr; padding-top:clamp(54px,6vh,72px); padding-bottom:clamp(42px,5vh,60px); border-bottom:0; }
.home-page .home-details-copy { max-width:1120px; }
.home-page .home-details .eyebrow,
.home-page .home-details h2,
.home-page .home-visuals { display:none; }
.home-page .home-product-card { width:clamp(270px,23vw,350px); margin:4px 38px 18px -20px; }

@media (max-width:760px) {
  .section-banner { height:160px; min-height:160px; border-right-width:16px; }
  .postcard-source { width:42%; }
  .postcard-source figcaption { padding:4px 6px 5px; font-size:6px; letter-spacing:.04em; white-space:normal; }
  .section-banner > div { left:46%; right:4%; top:54%; display:block; }
  .section-banner h1 { margin-top:10px; font-size:clamp(34px,10vw,46px); line-height:.78; }
  .section-banner h1.partnership-title { font-size:clamp(27px,7.5vw,34px); line-height:.82; }
  .section-banner h1.partnership-title span { display:block; }
  .postcard-quote { margin-top:4px; max-width:190px; font-size:11px; line-height:1; }
  .section-page .wholesale-postcard { min-height:calc(100svh - 160px); padding-top:46px; }
  .home-page .daily-stage,
  .home-page .daily-stage .postcard { height:160px; min-height:160px; }
  .home-page .daily-stage .photo-frame,
  .home-page .daily-stage .postcard[data-layout] .photo-frame { width:42%; }
  .home-page .daily-stage .paper-field,
  .home-page .daily-stage .postcard[data-layout] .paper-field { left:42%; width:58%; }
  .home-page .daily-stage .postcard-copy,
  .home-page .daily-stage .postcard[data-layout] .postcard-copy { left:46%; top:38%; width:24%; }
  .home-page .daily-stage .postcard-copy h1 { font-size:28px; }
  .home-page .daily-stage .tagline { display:none; }
  .page-banner-title { right:7%; top:55%; font-size:38px; }
  .home-page .daily-stage .postcard-day { display:none; }
  .home-page .daily-stage .postcard-controls { left:58%; bottom:8px; }
  .home-page .daily-stage .flip { width:27px; height:27px; }
  .home-page .home-details { height:auto; min-height:calc(100svh - 160px); padding-top:46px; }
  .home-page .home-details .intro { font-size:24px; }
  .home-page .home-product-card { float:left; width:170px; margin:2px 18px 12px -4px; }
}

/* Persistent postcard navigation and matching site footer. */
body { padding-top:46px; overflow-x:hidden; }
.topbar,
.wholesale-page .wholesale-topbar {
  position:fixed;
  z-index:60;
  inset:0 0 auto;
  height:46px;
  padding:0 14px;
  color:var(--blue);
  background:color-mix(in srgb,var(--white) 96%,transparent);
  border:0;
  border-bottom:1px solid var(--blue);
  box-shadow:none!important;
  pointer-events:auto;
}
.topbar > span:first-child,
.wholesale-page .wholesale-topbar > .home-link {
  display:block!important;
  width:142px;
  padding:0;
  color:#111;
  background:transparent;
  border:0;
  font-family:'Brush Script MT','Segoe Script','Snell Roundhand',cursive!important;
  font-size:24px!important;
  font-style:normal!important;
  font-weight:400;
  letter-spacing:-.035em!important;
  line-height:1;
  text-decoration:none;
  text-transform:none!important;
}
.site-menu,
.site-menu[hidden] {
  position:fixed;
  z-index:65;
  inset:0 14px auto 264px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:clamp(18px,2.4vw,38px);
  height:46px;
  padding:0;
  color:var(--blue);
  background:transparent;
}
.site-menu .menu-heading { display:none; }
.site-menu > a {
  flex:0 0 auto;
  padding:5px 0 4px;
  color:var(--blue);
  border:0;
  border-bottom:2px solid transparent;
  font-family:Arial,Helvetica,sans-serif;
  font-size:9px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
  text-decoration:none;
  text-transform:uppercase;
}
.site-menu > a:hover,
.site-menu > a:focus-visible,
.site-menu > a[aria-current="page"] { color:var(--red); border-bottom-color:var(--red); }
.menu-toggle { display:none!important; }
.header-tagline {
  position:absolute;
  left:121px;
  top:50%;
  color:var(--blue);
  font-family:Georgia,'Times New Roman',serif;
  font-size:10px;
  font-style:italic;
  letter-spacing:-.01em;
  line-height:1;
  text-transform:none;
  transform:translateY(-48%);
}
.theme-picker,
.wholesale-page .theme-picker {
  position:absolute;
  left:auto;
  right:14px;
  gap:5px;
  padding:0;
  background:transparent;
  border:0;
  transform:none;
}
.theme-picker button { width:20px; height:20px; }
.theme-picker button i { width:9px; height:9px; }
.theme-picker button[aria-pressed="true"]::after { inset:-3px; }
.day-count {
  right:126px;
  padding:5px 7px;
  color:var(--blue);
  background:transparent;
  border:1px solid var(--blue);
  font-size:7px;
}
#postcard,#home { scroll-margin-top:46px; }
.section-page .wholesale-postcard,
.home-page .home-details { min-height:calc(100svh - 256px); }
.home-page .home-details { height:calc(100svh - 256px); }

.site-footer {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:170px 1fr auto;
  align-items:center;
  gap:28px;
  width:100%;
  min-height:126px;
  padding:30px clamp(24px,5vw,76px);
  color:var(--blue);
  background:var(--white);
  border-top:2px solid var(--blue);
}
.footer-brand { color:#111; font-size:32px; line-height:1; text-decoration:none; }
.footer-nav {
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,1fr));
  gap:14px clamp(26px,4vw,64px);
  justify-self:center;
  width:min(100%,480px);
}
.footer-nav a,
.footer-email {
  color:var(--blue);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  text-decoration:none;
  text-transform:uppercase;
}
.footer-nav a:hover,
.footer-nav a:focus-visible,
.footer-email:hover,
.footer-email:focus-visible { color:var(--red); text-decoration:underline; text-underline-offset:4px; }
.footer-legal {
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-top:16px;
  border-top:1px solid color-mix(in srgb,var(--blue) 24%,transparent);
  color:var(--blue);
  font-size:7px;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.4;
  text-transform:uppercase;
}

@media (max-width:760px) {
  body { padding-top:72px; }
  .topbar,
  .wholesale-page .wholesale-topbar { height:72px; padding:0 12px 36px; }
  .topbar > span:first-child,
  .wholesale-page .wholesale-topbar > .home-link { width:118px; font-size:22px!important; }
  .site-menu,
  .site-menu[hidden] {
    inset:35px 0 auto;
    justify-content:flex-end;
    gap:20px;
    height:37px;
    padding:0 12px;
    background:var(--white);
    border-top:1px solid color-mix(in srgb,var(--blue) 24%,transparent);
  }
  .site-menu::-webkit-scrollbar { display:none; }
  .site-menu > a { font-size:8px; }
  .header-tagline { left:136px; top:18px; font-size:8px; }
  .theme-picker,
  .wholesale-page .theme-picker { right:12px; }
  .day-count { display:none; }
  #postcard,#home { scroll-margin-top:72px; }
  .section-page .wholesale-postcard,
  .home-page .home-details { min-height:calc(100svh - 232px); }
  .home-page .home-details { height:auto; }
  .site-footer { grid-template-columns:1fr; gap:22px; padding:30px 24px 34px; text-align:center; }
  .footer-brand { font-size:30px; }
  .footer-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 28px; width:100%; text-align:left; }
  .footer-email { justify-self:center; }
  .footer-legal { flex-direction:column; align-items:center; gap:5px; padding-top:14px; text-align:center; }
}
