/* Happlo selected style: Concept 4 "Center Point" (Austin, September 22, 2026), with the bolder orange moments he kept from Night Poster.
   The file keeps its old name so every page and server that links it stays unchanged. It loads after style.css and brand.css; owner rules
   carry the .happlo-app prefix because email-studio.css and home.css load after it. Every color comes from happlo-tokens.css.
   Source of truth: brand/claude-design-studio-2026-09-21/SELECTED-STYLE-HANDOFF.md (top section) and concept-4/.

   The idea: every heatmap draws the shop as the ringed center dot. That dot is the brand mark (it leads every eyebrow), navy panels float on
   warm paper, cards are white with a thin line and a soft shadow, numbered steps are round stops joined by a dashed orange route, and the
   gecko sits on a cream disc. Decorative dot grids use navy and paper only, never rank colors, so a rank color always means real data. */
:root{--cp-r-lg:24px;--cp-r-md:20px;--cp-r-sm:12px}

/* ===== Shared pieces ===== */
/* the mark: a ringed orange dot. It is inline, so when an eyebrow wraps the dot stays on the first line */
:is(.happlo-app .eyebrow,.rr-overline,.happlo-choices .eyebrow)::before,.upload-intro #upload-business::before{content:"";display:inline-block;flex:none;width:8px;height:8px;margin:0 12px 0 4px;border-radius:50%;background:var(--orange);outline:2px solid var(--ink);outline-offset:2px;vertical-align:1px}
.rr-keyword-heading .rr-overline::before{display:none}
/* navy panels: the neighborhood (a faint 9 by 9 dot grid) sits behind the gecko; focus rings turn orange so they show on navy */
:is(.desk-intro,.desk-report,.happlo-app .home-welcome,.happlo-app .mail-hero,.happlo-app .setup-cover,.rr-month-cover,.upload-intro,.rr-archive-end) :is(.eyebrow,.rr-overline,#upload-business)::before,.upload-intro #upload-business::before{outline-color:var(--ink-on-navy)}
:is(.desk-intro,.desk-report,.happlo-app .home-welcome,.happlo-app .mail-hero,.happlo-app .setup-cover,.rr-month-cover,.upload-intro,.rr-archive-end) :is(button,a,summary,input,select):focus-visible{outline-color:var(--orange);box-shadow:0 0 0 2px var(--surface-navy)}
:is(.desk-intro,.happlo-app .home-welcome,.happlo-app .mail-hero,.happlo-app .setup-cover,.rr-month-cover,.upload-intro){position:relative;overflow:hidden;isolation:isolate}
:is(.desk-intro,.happlo-app .home-welcome,.happlo-app .mail-hero,.happlo-app .setup-cover,.rr-month-cover,.upload-intro)::after{content:"";position:absolute;z-index:-1;right:-72px;top:50%;width:396px;height:396px;margin-top:-198px;background:radial-gradient(circle,var(--ink-on-navy) 0 4px,transparent 4.5px) 0 0/44px 44px;opacity:.16;-webkit-mask:radial-gradient(closest-side,#000 30%,transparent);mask:radial-gradient(closest-side,#000 30%,transparent);pointer-events:none}
/* the gecko on a cream disc */
:is(.desk-gecko,.rr-cover-gecko,.happlo-app .home-welcome img,.happlo-app .mail-hero img,.upload-intro img,.private-login>img,.panel-gecko){box-sizing:border-box;border:0;border-radius:50%;background:var(--gecko-ground);padding:14px;object-fit:contain}
/* round stops, like the heatmap dots */
:is(.work-index,.happlo-app .setup-number,.happlo-app .connection-number){box-sizing:border-box;position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:var(--surface-card);border:2px solid var(--ink);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font:800 15px/1 var(--font-display);letter-spacing:0}

/* ===== Surface 1: the customer monthly report (.rr, #report, .report-controls) ===== */
#report,.rr,.report-controls{font-family:var(--font-body);color:var(--ink)}
.report-controls :is(button,.button),.rr :is(button,.button):not(.rr-point){border-radius:var(--radius-control);min-height:var(--touch-target);padding:var(--space-3) var(--space-6);font:700 15px/20px var(--font-body);border:2px solid var(--line-strong);background:var(--surface-card);color:var(--ink);transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out,transform .16s ease-out,box-shadow .16s ease-out}
.report-controls a.button,.rr a.button{display:inline-flex;align-items:center;text-decoration:none}
.report-controls :is(button,.button):hover,.rr :is(button,.button):not(.rr-point):hover{background:var(--surface-tint);border-color:var(--line-strong)}
.report-controls .primary,.rr .primary,.rr .rr-archive-end :is(button,.button){background:var(--orange);border-color:var(--orange);color:var(--ink-on-orange)}
.report-controls .primary:hover,.rr .primary:hover,.rr .rr-archive-end :is(button,.button):hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--ink-on-orange)}
#report :is(button,a,select,input,summary):focus-visible,.rr :is(button,a,select,input,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-halo)}
.rr-toolbar{gap:var(--space-3)}
.rr-view-label{font-weight:600;color:var(--ink-muted);font-size:14px}
.rr-share summary{min-height:var(--touch-target);display:inline-flex;align-items:center;font-weight:600}
/* frame: one white sheet with a thin line, the contents rail on warm paper */
.rr{grid-template-columns:220px minmax(0,1fr);background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-lg);box-shadow:var(--shadow-card);overflow:hidden}
.rr .rr-sidebar{background:var(--surface-page);border-right:1px solid var(--line);padding:32px 24px}
.rr .rr-sidebar>img{width:140px;height:auto;margin-bottom:32px}
.rr .rr-sidebar>img.client-logo{max-width:140px;max-height:80px;width:auto;margin:0 0 16px}
.rr .rr-overline{color:var(--orange-text);font:700 13px/18px var(--font-display);letter-spacing:.14em;text-transform:uppercase}
.rr .rr-client{font:800 24px/1.1 var(--font-display);letter-spacing:-.02em;color:var(--ink)}
.rr .rr-period{font-size:13px;line-height:18px;color:var(--ink-muted)}
.rr .rr-sidebar nav{margin:24px 0}
.rr .rr-sidebar nav a{display:flex;align-items:center;min-height:var(--touch-target);padding:0 12px;margin:0 -12px;border-radius:var(--cp-r-sm);font:600 14px/20px var(--font-body);color:var(--ink);text-decoration:none}
.rr .rr-sidebar nav a:hover{background:var(--surface-tint);color:var(--ink)}
.rr .rr-sidebar-note{font-size:13px;line-height:18px;color:var(--ink-muted)}
.rr .rr-evidence{border:0;background:var(--surface-tint);border-radius:var(--cp-r-sm);padding:12px 14px;font-size:13px;line-height:18px;color:var(--ink);margin-top:32px}
.rr .rr-body{padding:0 0 40px}
.rr .rr-body>section:not(.rr-cover){padding:0 40px}
.rr .rr-cover{position:relative;padding:0}
/* cover: a navy panel floating on the sheet */
.rr .rr-month-cover{box-shadow:none;display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 24px 0;background:var(--surface-navy);color:var(--ink-on-navy);border:0;border-radius:var(--cp-r-lg);padding:48px 40px}
.rr .rr-month-cover .rr-overline{color:var(--orange);padding:0}
.rr .rr-cover h1{font:800 clamp(40px,4.6vw,64px)/1.02 var(--font-display);letter-spacing:-.035em;color:var(--ink-on-navy);max-width:none;margin:16px 0 12px}
.rr .rr-intro{font-size:18px;line-height:28px;color:var(--ink-on-navy);max-width:40ch;font-weight:700}
.rr .rr-cover-line{font-size:16px;line-height:26px;color:var(--ink-on-navy);opacity:.85;margin:0}
.rr .rr-month-cover .rr-cover-gecko{position:static;display:block;float:none;flex:none;width:168px;height:168px;margin:0}
/* at a glance */
.rr .rr-snapshot{clear:none;background:transparent;color:var(--ink);border:0;border-radius:0;padding:40px 40px 0}
.rr .rr-snapshot>.rr-overline,.rr .rr-snapshot .rr-stat>span,.rr .rr-snapshot .rr-stat strong,.rr .rr-takeaway h3,.rr .rr-takeaway p{color:inherit}
.rr .rr-snapshot .rr-overline{color:var(--orange-text)}
.rr .rr-snapshot h2,.rr .rr-section-head h2,.rr .rr-work-summary h2,.rr .rr-closing h2{font:800 32px/1.08 var(--font-display);letter-spacing:-.03em;margin:8px 0 0;color:var(--ink)}
.rr .rr-summary-title{border:0;padding:0;margin-bottom:24px}
.rr .rr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border:0}
.rr .rr-snapshot .rr-stat,.rr .rr-snapshot .rr-stat:nth-child(n),.rr .rr-snapshot .rr-stat:nth-child(even),.rr .rr-snapshot .rr-stat:nth-child(-n+2),.rr .rr-snapshot .rr-stat:last-child{border:1px solid var(--line);border-radius:var(--cp-r-md);padding:20px 22px;background:var(--surface-card);box-shadow:var(--shadow-card);color:var(--ink)}
.rr .rr-snapshot .rr-stat:first-child{background:var(--surface-navy);border-color:var(--surface-navy);box-shadow:none;color:var(--ink-on-navy)}
.rr .rr-snapshot .rr-stat:first-child>span,.rr .rr-snapshot .rr-stat:first-child strong{color:var(--ink-on-navy)}
.rr .rr-snapshot .rr-stat:first-child strong:not(.is-na){color:var(--orange)}
.rr .rr-snapshot .rr-stat>span{font:600 14px/20px var(--font-body);color:inherit}
.rr .rr-snapshot .rr-stat strong{font:800 48px/1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:10px 0 8px;color:inherit}
.rr .rr-snapshot .rr-stat strong.is-na{font:400 16px/26px var(--font-body);letter-spacing:0;color:var(--ink-muted)}
.rr .rr-snapshot .rr-stat:first-child strong.is-na{color:var(--ink-on-navy);opacity:.85}
.rr .rr-snapshot .rr-stat small{font-size:13px;line-height:18px;color:var(--ink-muted)}
.rr .rr-snapshot .rr-stat:first-child small{color:var(--ink-on-navy);opacity:.85}
.rr .rr-takeaway{border:0;display:flex;gap:16px;align-items:flex-start;margin:20px 0 0;padding:20px 24px;background:var(--surface-tint);border-radius:var(--cp-r-md)}
.rr .rr-takeaway>span{font:800 18px/1 var(--font-display);display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--orange);color:var(--ink-on-orange);font-weight:800;font-size:18px}
.rr .rr-takeaway h3{font:700 16px/24px var(--font-display);margin:0 0 4px}
.rr .rr-takeaway p{font-size:16px;line-height:26px;margin:0}
.rr .rr-data-note,.rr .rr-advanced-note,.rr .rr-caption{font-size:13px;line-height:18px;color:var(--ink-muted)}
.rr .rr-cover>.rr-data-note,.rr .rr-cover>.rr-advanced-note,.rr .rr-cover>.rr-method{margin-left:40px;margin-right:40px}
.rr .rr-data-note{margin-top:16px;margin-bottom:8px}
/* work */
.rr .rr-body>section.rr-work-summary{margin:40px 40px 0;padding:28px;border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card)}
.rr .rr-work-items{margin-top:16px}
.rr .rr-work-items strong{font:800 48px/1 var(--font-display);letter-spacing:-.04em;color:var(--ink)}
.rr .rr-work-items span{font-size:16px;line-height:24px}
.rr .rr-work-items small{font-size:13px;line-height:18px;color:var(--ink-muted)}
.rr .rr-work-note,.rr .rr-empty-work{font-size:14px;line-height:22px;background:var(--status-info-fill);color:var(--status-info-text);padding:12px 16px;border-radius:var(--cp-r-sm);margin:16px 0 0}
/* maps and AI: each search term is a stop */
.rr .rr-section-head{border:0;padding:0;margin:48px 0 16px;align-items:flex-end}
.rr .rr-section-head p{font-size:14px;color:var(--ink-muted)}
.rr .rr-search-intro{font-size:16px;line-height:26px;max-width:60ch}
.rr .rr-keyword-jump{gap:8px;margin:16px 0 8px}
.rr .rr-keyword-jump a{border:2px solid var(--line-strong);border-radius:999px;background:var(--surface-card);color:var(--ink);font:600 14px/20px var(--font-body);min-height:var(--touch-target);display:inline-flex;align-items:center;padding:0 var(--space-4);text-decoration:none}
.rr .rr-keyword-jump a:hover{background:var(--surface-tint);border-color:var(--line-strong)}
.rr .rr-keyword{padding:40px 0;border-bottom:1px solid var(--line)}
.rr .rr-number{display:inline-grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:var(--orange);color:var(--ink-on-orange);font:800 17px/1 var(--font-display);letter-spacing:0}
.rr .rr-keyword-heading{align-items:center}
.rr .rr-keyword-heading h2{font:800 28px/1.15 var(--font-display);letter-spacing:-.02em;text-transform:none}
.rr .rr-keyword-heading .rr-overline{font-size:13px;color:var(--ink-muted)}
.rr .rr-keyword-stat strong{font:800 32px/1.1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rr .rr-keyword-stat{max-width:200px}
.rr .rr-keyword-stat small{font-size:13px;line-height:18px;color:var(--ink-muted)}
.rr .rr-map-label{background:var(--surface-card);border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:var(--cp-r-md) var(--cp-r-md) 0 0;padding:14px 16px}
.rr .rr-map-label+.happlo-heatmap{border-top:0;border-radius:0 0 var(--cp-r-md) var(--cp-r-md)}
.rr .rr-map-label h3{font:700 16px/24px var(--font-display)}
.rr .rr-map-label span{font-size:13px;line-height:18px;color:var(--ink-muted)}
.rr .happlo-heatmap{border:1px solid var(--line);border-radius:var(--cp-r-md);background:var(--surface-card);box-shadow:var(--shadow-card);overflow:hidden}
.rr .rr-map{background-color:var(--surface-card);background-image:none;padding:6%;border:0}
.rr .rr-map.sample-streets{background-image:url('/sample-streets.svg');background-size:100% 100%}
.rr .rr-point{width:88%;min-height:0;padding:0;border-radius:50%;border:2px solid transparent;font:700 clamp(11px,4cqw,16px)/1 var(--font-body);font-variant-numeric:tabular-nums;box-shadow:none;transition:filter .16s ease-out}
.rr .rr-point:hover{filter:brightness(.94);outline:0}
/* the center of the 9 by 9 grid is the shop: it carries the rank-center ring, the same mark the eyebrows use */
.rr .rr-map.grid-nine .rr-point:nth-child(41){box-shadow:0 0 0 2px var(--rank-center-gap),0 0 0 5px var(--rank-center)}
.rr .rr-point[aria-pressed=true]{outline:0;box-shadow:0 0 0 2px var(--rank-center-gap),0 0 0 5px var(--orange-text)}
.rr .rr-map.grid-nine .rr-point:nth-child(41)[aria-pressed=true]{box-shadow:0 0 0 2px var(--rank-center-gap),0 0 0 5px var(--rank-center),0 0 0 8px var(--orange-text)}
.rr .happlo-heatmap .strong,.rr .strong{background:var(--rank-1-3);color:var(--rank-1-3-text)}
.rr .happlo-heatmap .good,.rr .good{background:var(--rank-4-7);color:var(--rank-4-7-text)}
.rr .happlo-heatmap .middle,.rr .middle{background:var(--rank-8-10);color:var(--rank-8-10-text)}
.rr .happlo-heatmap .weak,.rr .weak{background:var(--rank-11-20);color:var(--rank-11-20-text)}
.rr .happlo-heatmap .poor,.rr .poor{background:var(--rank-21-100);color:var(--rank-21-100-text)}
.rr .happlo-heatmap .absent,.rr .absent{background:var(--rank-not-found);color:var(--rank-not-found-text)}
.rr .happlo-heatmap .unknown,.rr .unknown{background:var(--rank-no-data);color:var(--rank-no-data-text);border:1px dashed var(--rank-no-data-border)}
.rr .heatmap-source{font-size:13px;line-height:18px;color:var(--ink-muted);background:var(--surface-page);padding:8px 14px;border-top:1px solid var(--line)}
.rr .heatmap-detail{background:var(--surface-tint);border-top:1px solid var(--line);font-size:14px;line-height:22px;color:var(--ink);padding:12px 16px}
.rr .rr-legend{gap:12px 16px;font-size:13px;line-height:18px;color:var(--ink);margin-top:16px}
.rr .rr-legend i{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font:700 12px/12px var(--font-body);font-style:normal}
.rr .rr-legend .strong::before{content:"1"}.rr .rr-legend .good::before{content:"4"}.rr .rr-legend .middle::before{content:"8"}.rr .rr-legend .weak::before{content:"11"}.rr .rr-legend .poor::before{content:"21"}.rr .rr-legend .absent::before{content:"NF";font-size:10px}.rr .rr-legend .unknown::before{content:"?"}
.rr .rr-no-map{border:2px dashed var(--rank-no-data-border);border-radius:var(--cp-r-md);background:var(--surface-page);color:var(--ink);font-size:14px;line-height:22px}
.rr .rr-ai{background:var(--surface-tint);border:0;border-radius:var(--cp-r-md);box-shadow:none;margin-top:24px}
.rr .rr-ai-heading h3{font:800 20px/1.25 var(--font-display);letter-spacing:-.01em}
.rr .rr-ai-heading>span{font-size:13px;color:var(--ink-muted)}
.rr .rr-ai-row{border-color:color-mix(in srgb,var(--ink) 12%,transparent);font-size:14px;line-height:20px}
.rr .rr-ai-row b{font-size:14px}
.rr .rr-ai-row>span{color:var(--ink)}
.rr .rr-ai-result{display:inline-flex;align-items:center;min-height:24px;padding:2px 12px;border-radius:999px;font:600 13px/18px var(--font-body);justify-self:start}
.rr .rr-ai-result[data-result=mentioned]{background:var(--status-good-fill);color:var(--status-good-text)}
.rr .rr-ai-result[data-result=absent]{background:var(--status-info-fill);color:var(--status-info-text)}
.rr .rr-ai-result[data-result=missing]{background:var(--rank-no-data);color:var(--rank-no-data-text);border:1px dashed var(--rank-no-data-border)}
.rr .rr-ai-row small{font-size:13px;color:var(--ink-muted)}
.rr .rr-ai>.rr-caption{font-size:13px}
.rr .rr-method{border-top:1px solid var(--line);font-size:14px;line-height:22px}
.rr .rr-method summary{display:flex;align-items:center;min-height:var(--touch-target);font:700 14px/20px var(--font-body)}
.rr table{font-size:14px;line-height:20px}.rr th{color:var(--ink);border-bottom:1px solid var(--line-strong)}.rr td{border-bottom:1px solid var(--line)}
/* next steps: the bold orange panel */
.rr .rr-body>section.rr-closing{margin:48px 40px 0;padding:40px;background:var(--orange);color:var(--ink-on-orange);border-radius:var(--cp-r-lg)}
.rr .rr-closing .rr-overline{border:0;color:var(--ink-on-orange)}
.rr .rr-closing .rr-overline::before{background:var(--ink);outline-color:var(--ink)}
.rr .rr-closing h2{color:var(--ink-on-orange)}
.rr .rr-closing :is(.rr-caption,small,.rr-method,th,td){color:var(--ink-on-orange)}
.rr .rr-closing :is(.rr-method,td){border-color:color-mix(in srgb,var(--ink) 25%,transparent)}
.rr .rr-next-line{font-size:17px;line-height:27px;font-weight:600;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);max-width:60ch}
.rr .rr-archive-end{background:var(--surface-navy);color:var(--ink-on-navy);border:0;border-radius:var(--cp-r-md);box-shadow:none}
.rr .rr-archive-end h3{font:800 20px/1.25 var(--font-display);color:var(--ink-on-navy)}
.rr .rr-archive-end p{color:var(--ink-on-navy);opacity:.85;font-size:14px}
.rr .rr-signoff{border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);font-size:14px;line-height:20px}
.rr .rr-signoff small{font-size:13px}
/* send-status panel above the report (owner only) */
#report .panel{border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card)}
/* phones and narrow windows */
@media (max-width:1100px){.rr{grid-template-columns:1fr}.rr .rr-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:16px 20px}.rr .rr-sidebar>img{width:140px;margin:0}}
@media (max-width:760px){.rr{border-radius:var(--cp-r-md)}.rr .rr-body>section:not(.rr-cover){padding:0 20px}.rr .rr-body>section.rr-work-summary{margin:32px 16px 0;padding:20px}.rr .rr-month-cover{flex-direction:column;align-items:flex-start;margin:16px 16px 0;padding:32px 20px 28px}.rr .rr-cover h1{font-size:40px}.rr .rr-month-cover .rr-cover-gecko{order:-1;width:104px;height:104px;padding:10px}.rr .rr-snapshot{padding:32px 20px 0}.rr .rr-cover>.rr-data-note,.rr .rr-cover>.rr-advanced-note,.rr .rr-cover>.rr-method{margin-left:20px;margin-right:20px}.rr .rr-stats{grid-template-columns:1fr 1fr;gap:12px}.rr .rr-snapshot .rr-stat,.rr .rr-snapshot .rr-stat:nth-child(n){padding:14px 16px}.rr .rr-snapshot .rr-stat strong{font-size:36px}.rr .rr-snapshot .rr-stat:first-child{grid-column:1/-1}.rr .rr-maps{margin-left:-20px;margin-right:-20px;max-width:none}.rr .happlo-heatmap{border-left:0;border-right:0;border-radius:0;box-shadow:none}.rr .rr-map-label,.rr .rr-map-label+.happlo-heatmap{border-left:0;border-right:0;border-radius:0}.rr .rr-map{padding:2%}.rr .rr-point{width:96%;font-size:clamp(11px,4cqw,16px)}.rr .rr-legend,.rr .rr-keyword>.rr-caption{padding:0}.rr .rr-ai{padding:12px}.rr .rr-keyword-heading{flex-wrap:wrap}.rr .rr-body>section.rr-closing{margin:32px 16px 0;padding:28px 20px}.rr .rr-snapshot h2,.rr .rr-section-head h2,.rr .rr-work-summary h2,.rr .rr-closing h2{font-size:28px}}
@media (max-width:450px){.rr .rr-cover h1{font-size:36px}.rr .rr-keyword-heading h2{font-size:24px}}
@media (prefers-reduced-motion:reduce){#report *,.rr *{transition-duration:0s!important;animation:none!important}}
@media print{.rr{border:0;box-shadow:none}.rr .rr-month-cover,.rr .rr-snapshot .rr-stat,.rr .rr-point,.rr .rr-legend i,.rr .rr-ai-result,.rr .rr-closing,.rr .rr-number{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* ===== Surface 2: the workspace shell and the customer dashboard (overview, photo library, report archive, search terms and settings) ===== */
.happlo-app{background:var(--surface-page);color:var(--ink);font-family:var(--font-body)}
.happlo-app :is(h1,h2,h3,h4){font-family:var(--font-display);letter-spacing:-.02em;font-weight:800}
.happlo-app button:where(:not(.rr-point)),.happlo-app .button{border-radius:var(--radius-control);min-height:var(--touch-target);padding:var(--space-3) var(--space-6);font:700 15px/20px var(--font-body);border:2px solid var(--line-strong);background:var(--surface-card);color:var(--ink);transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out,transform .16s ease-out,box-shadow .16s ease-out}
.happlo-app a.button{display:inline-flex;align-items:center;gap:8px;text-decoration:none;box-sizing:border-box}
.happlo-app button:where(:not(.rr-point)):hover,.happlo-app .button:hover{background:var(--surface-tint);border-color:var(--line-strong);color:var(--ink)}
.happlo-app button.primary,.happlo-app .button.primary,.happlo-app .desk-report button,.happlo-app .rr-archive-end :is(button,.button){background:var(--orange);border-color:var(--orange);color:var(--ink-on-orange)}
.happlo-app button.primary:hover,.happlo-app .button.primary:hover,.happlo-app .desk-report button:hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--ink-on-orange)}
.happlo-app button:disabled{background:var(--line);border-color:var(--line);color:var(--ink-muted);opacity:1;cursor:not-allowed;transform:none;box-shadow:none}
.happlo-app :is(button,a,select,input,textarea,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-halo)}
.happlo-app :is(select,input,textarea){border:2px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-card);color:var(--ink);font-size:16px;line-height:24px;padding:var(--space-3) var(--space-4)}
.happlo-app input[type=checkbox]{width:24px;height:24px;accent-color:var(--orange);padding:0;border:0}
.happlo-app label{color:var(--ink);font-size:14px;line-height:20px;font-weight:600}
.happlo-app .toggle{background:var(--surface-tint);border-radius:var(--cp-r-sm);min-height:var(--touch-target);font-weight:600}
.happlo-app .panel{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:28px}
.happlo-app .panel h2{font-size:26px;line-height:1.12;letter-spacing:-.025em;margin:4px 0 8px}
.happlo-app .panel p{font-size:16px;line-height:26px}
.happlo-app .fine,.happlo-app small{color:var(--ink-muted)}
.happlo-app .fine,.happlo-app small{font-size:13px;line-height:18px}
.happlo-app .eyebrow{font:700 13px/18px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-text)}
.happlo-app .notice,.happlo-app #message:not(:empty){background:var(--status-warn-fill);color:var(--status-warn-text);border:0;border-radius:var(--cp-r-sm);font-size:16px;line-height:26px;padding:12px 16px}
.happlo-app .empty{background:var(--surface-page);color:var(--ink);border:2px dashed var(--rank-no-data-border);border-radius:var(--cp-r-md);font-size:16px;line-height:26px}
.happlo-app .tag{border:0;background:var(--status-info-fill);color:var(--status-info-text);border-radius:999px;font:600 13px/18px var(--font-body);padding:2px 12px}
.happlo-app .pill{background:var(--surface-tint);color:var(--ink);font:600 13px/18px var(--font-body);padding:4px 12px;border-radius:999px}
/* the local test sign-in panel is orange: ink eyebrow and an ink dot, so both read on orange */
.happlo-app #login .eyebrow{color:var(--ink-on-orange)}
.happlo-app #login .eyebrow::before{background:var(--ink);outline-color:var(--ink)}
/* top bar: navy with the light wordmark and a thin orange line (Austin's pick for the app, September 22; the website keeps its paper bar) */
.happlo-app>header{background:var(--surface-navy);color:var(--ink-on-navy);border-bottom:2px solid var(--orange);padding:8px 20px;min-height:72px;gap:16px}
.happlo-app>header>a{display:inline-flex;align-items:center;min-height:44px}
.happlo-app>header img{height:48px;width:auto}
.happlo-app>header img.hp-logo-navy{display:none}
.happlo-app>header img.hp-logo-light{display:block;height:56px}
.happlo-app>header .pill{background:transparent;color:var(--ink-on-navy);opacity:.9}
.happlo-app>header button{background:transparent;color:var(--ink-on-navy);border-color:var(--ink-on-navy)}
.happlo-app>header button:hover{background:var(--navy-hover);color:var(--ink-on-navy)}
.happlo-app>header :is(a,button):focus-visible{outline-color:var(--orange);box-shadow:0 0 0 2px var(--surface-navy)}
.happlo-app:has(#workspace:not([hidden]))>header{background:var(--surface-navy);border-bottom:2px solid var(--orange);margin-left:240px;padding:8px 32px;min-height:64px}
.happlo-app:has(#workspace:not([hidden]))>header .pill{background:transparent;color:var(--ink-on-navy);opacity:.9;font-size:13px;padding:4px 0}
/* rail: white, with a navy pill for the page you are on */
.workspace-rail{width:240px;background:var(--surface-card);border-right:1px solid var(--line);padding:20px 16px;gap:4px}
.rail-brand{padding:4px 12px 8px}.rail-brand img{width:140px}
.rail-label{font:700 12px/16px var(--font-display);letter-spacing:.14em;color:var(--ink-muted);padding:0 12px 20px}
.workspace-rail .nav{gap:4px}
.workspace-rail .nav button,.workspace-rail .nav button.selected{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border:0;border-radius:var(--cp-r-sm);background:transparent;color:var(--ink);font:600 15px/20px var(--font-body);box-shadow:none;text-align:left}
.workspace-rail .nav button span{font-size:20px;line-height:20px;width:24px;color:var(--ink-muted);font-weight:400}
.workspace-rail .nav button:hover:not(.selected){background:var(--surface-tint)}
.workspace-rail .nav button.selected{background:var(--surface-navy);color:var(--ink-on-navy)}
.workspace-rail .nav button.selected span{color:var(--orange)}
.rail-note{margin:auto 0 0;border:0;border-radius:16px;background:var(--surface-tint);padding:14px;font-size:13px;line-height:18px;color:var(--ink)}
.rail-note b{color:var(--ink)}
.sandbox-dot{background:var(--orange);outline:2px solid var(--ink);outline-offset:2px;margin:0 10px 0 3px}
/* page frame */
.happlo-app:has(#workspace:not([hidden]))>main{margin-left:240px;padding:0 40px 56px;max-width:none}
.happlo-app:has(#workspace:not([hidden]))>footer{margin-left:240px;background:var(--surface-navy);color:var(--ink-on-navy);border-top:0;padding:24px 40px;font-size:13px;line-height:18px}
.happlo-app>footer span{color:var(--ink-on-navy);opacity:.85}
.workspace-page{max-width:1240px;margin:0}
.workspace-top{border-bottom:1px solid var(--line);padding:16px 0}
.top-kicker{color:var(--ink-muted);font-size:14px}
.workspace-top select{border:2px solid var(--line-strong);border-radius:var(--radius-control);font:600 16px/24px var(--font-body);padding:10px 44px 10px 14px}
.workspace-page>.heading{padding:32px 0 20px}
.workspace-page>.heading h1{font-size:40px;line-height:1.05;letter-spacing:-.03em}
.workspace-page>.heading .eyebrow{font-size:13px;letter-spacing:.14em}
.workspace-edition{display:none}
/* overview */
.desk-intro{background:var(--surface-navy);color:var(--ink-on-navy);border:0;border-radius:var(--cp-r-lg);box-shadow:none;padding:48px;gap:32px;min-height:0;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}
.desk-intro .eyebrow{color:var(--orange);font-size:13px;letter-spacing:.14em}
.desk-intro h2{font:800 clamp(36px,4vw,60px)/1.02 var(--font-display);letter-spacing:-.035em;color:var(--ink-on-navy);margin:12px 0 16px}
.desk-intro h2 em{color:var(--orange);font-style:normal}
.desk-intro p:not(.eyebrow){color:var(--ink-on-navy);font-size:18px;line-height:28px;opacity:.9}
.desk-gecko{width:208px;height:208px;flex:0 0 208px;transform:none}
.desk-status{border:0;background:var(--surface-tint);border-radius:var(--cp-r-md);padding:12px 20px;margin:0 0 24px;gap:16px}
.desk-status>span{font:600 16px/24px var(--font-body);color:var(--ink)}
.desk-status p{font-size:14px;line-height:20px;color:var(--ink-muted)}
.desk-status button{font-size:14px;padding:0 12px;min-height:var(--touch-target);border:0;background:transparent;color:var(--orange-text);text-decoration:underline;text-underline-offset:3px}
.desk-status button:hover{background:var(--orange-tint);color:var(--orange-text)}
.status-dot{width:10px;height:10px;border-radius:999px;background:var(--status-good-text);display:inline-block}
.status-dot.is-paused{background:var(--status-warn-text)}
.desk-features{gap:24px;margin-bottom:40px}
.desk-features .eyebrow{font-size:13px}
.desk-features h3{font:800 30px/1.08 var(--font-display);letter-spacing:-.03em;margin:8px 0 12px}
.desk-features p{font-size:16px;line-height:26px}
.desk-photo{background:var(--surface-tint);border:0;border-radius:var(--cp-r-lg);box-shadow:none;padding:32px;gap:24px}
.desk-photo-art img{box-sizing:border-box;width:148px;height:148px;object-fit:contain;padding:12px;border-radius:50%;background:var(--surface-card)}
.desk-report{background:var(--surface-navy);color:var(--ink-on-navy);border:0;border-radius:var(--cp-r-lg);box-shadow:none;padding:32px}
.desk-report:before{display:none}
.desk-report .eyebrow{color:var(--orange)}
.desk-report h3{color:var(--ink-on-navy)}
.desk-report p,.desk-report .fine{color:var(--ink-on-navy);opacity:.9}
.desk-report .report-date{color:var(--ink-on-navy);border-color:var(--navy-hover);font-size:14px;line-height:20px}
.desk-report .report-date b{color:var(--ink-on-navy)}
.desk-work{margin-top:8px}
.desk-section-head{border:0;padding:0;margin-bottom:8px;align-items:flex-end}
.desk-section-head h3{font:800 30px/1.08 var(--font-display);letter-spacing:-.03em;margin:8px 0 0}
.desk-section-head>span{font-size:14px;line-height:20px;color:var(--ink-muted)}
.work-lines{border:1px solid var(--line);border-radius:var(--cp-r-md);background:var(--surface-card);box-shadow:var(--shadow-card);padding:4px 24px;margin-top:16px}
.work-line{display:grid;grid-template-columns:44px 1fr auto auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.work-line:last-child{border-bottom:0}
.work-line h4{font:700 16px/24px var(--font-display);margin:0}
.work-line p{font-size:14px;line-height:20px;color:var(--ink-muted);margin:0}
.work-line strong{font:800 30px/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink)}
.desk-footnote,.desk-attention{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:26px}
/* something needs you: the bold orange strip, with a navy button */
.desk-attention{background:var(--orange);color:var(--ink-on-orange);border:0;border-radius:var(--cp-r-md);padding:16px 20px;margin-top:16px;font-weight:600}
.desk-footnote button{border:0;background:transparent;color:var(--orange-text);text-decoration:underline;text-underline-offset:3px;padding:0 12px}
.happlo-app .desk-attention button{border:2px solid var(--surface-navy);background:var(--surface-navy);color:var(--ink-on-navy);text-decoration:none;padding:0 16px}
.happlo-app .desk-attention button:hover{background:var(--navy-hover);border-color:var(--navy-hover);color:var(--ink-on-navy)}
/* photo library, archive, settings */
.photos{gap:16px}
.photos img{border-radius:var(--radius-image);border:0;box-shadow:var(--shadow-card);height:150px}
.photos small{margin:8px 0 4px;color:var(--ink-muted)}
.photos button{font-size:13px;padding:0 12px;min-height:var(--touch-target);margin:4px 4px 0 0}
.panel-gecko{padding:10px}
/* past reports read as a timeline: one dot per report, joined by a line */
.archive-panel .row{position:relative;border-top:0;padding:12px 0 12px 32px;clear:both}
.archive-panel .row::before{content:"";position:absolute;left:4px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--ink)}
.archive-panel .row::after{content:"";position:absolute;left:8px;top:calc(50% + 10px);height:calc(100% - 20px);border-left:2px solid var(--line)}
.archive-panel .row:last-child::after,.archive-panel .row:has(+ :not(.row))::after{display:none}
.archive-panel .row p{margin:0;font-size:16px;line-height:26px;font-weight:500}
.controls{gap:24px}
.happlo-app textarea{min-height:200px}
/* one-time gecko hello when a page opens, then it holds still; a small wiggle on hover */
@media (prefers-reduced-motion:no-preference){
 :is(.desk-gecko,.rr-cover-gecko,.happlo-app .home-welcome img,.happlo-app .mail-hero img,.upload-intro img,.private-login>img){animation:cp-hello 1.1s cubic-bezier(.2,.8,.2,1) .15s both}
 .happlo-app button.primary:not(:disabled):hover,.happlo-app .button.primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}
 @keyframes cp-hello{0%{opacity:0;transform:translateY(18px) scale(.9)}55%{opacity:1;transform:translateY(-8px) scale(1.02)}72%{transform:translateY(0) rotate(-4deg)}86%{transform:rotate(3deg)}100%{opacity:1;transform:none}}
 @keyframes cp-wiggle{25%{transform:rotate(-5deg)}60%{transform:rotate(4deg)}100%{transform:none}}
}
@media (prefers-reduced-motion:no-preference) and (hover:hover){:is(.desk-gecko,.happlo-app .home-welcome img,.happlo-app .mail-hero img,.rr-cover-gecko):hover{animation:cp-wiggle .6s ease-in-out both}}
@media (prefers-reduced-motion:reduce){.happlo-app *{transition-duration:0s!important;animation:none!important}}
/* phones and narrow windows */
@media (max-width:800px){
 .happlo-app:has(#workspace:not([hidden]))>header{margin-left:0;padding:8px 20px}
 .happlo-app:has(#workspace:not([hidden]))>header>a{display:inline-flex;align-items:center;min-height:44px}
 .happlo-app>header img,.happlo-app>header img.hp-logo-light{width:auto;height:48px}
 .happlo-app>header button{padding:8px 12px;font-size:14px}
 .happlo-app:has(#workspace:not([hidden]))>main{margin-left:0;padding:0 20px 112px}
 .happlo-app:has(#workspace:not([hidden]))>footer{margin-left:0;padding:20px 20px 104px}
 .workspace-rail{position:fixed;inset:auto 0 0 0;width:auto;height:auto;flex-direction:row;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));border-right:0;border-top:1px solid var(--line);background:var(--surface-card);z-index:6;overflow:visible}
 .rail-brand,.rail-label,.rail-note{display:none}
 .workspace-rail .nav{flex-direction:row;flex-wrap:nowrap;width:100%;gap:4px;overflow:hidden;padding:0}
 .workspace-rail .nav button,.workspace-rail .nav button.selected{flex:1 1 0;min-width:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:4px;border:0;border-radius:14px;color:var(--ink-muted);font-size:13px;line-height:16px;text-align:center;white-space:normal;box-shadow:none;background:transparent}
 .workspace-rail .nav button span{color:inherit;width:auto;font-size:22px}
 .workspace-rail .nav button.selected{background:var(--surface-navy);color:var(--ink-on-navy)}
 .workspace-rail .nav button.selected span{color:var(--orange)}
 .workspace-rail .nav button:hover:not(.selected){background:var(--surface-tint)}
 .workspace-top{padding:12px 0}
 .workspace-page>.heading h1{font-size:30px}
 .desk-intro{padding:28px 20px;flex-direction:column;align-items:flex-start}
 .desk-intro h2{font-size:40px}
 .desk-gecko{width:136px;height:136px;flex-basis:136px;padding:10px}
 .desk-features{grid-template-columns:1fr}
 .desk-photo{flex-direction:column;align-items:flex-start;padding:24px 20px}
 .desk-photo-art{display:block}.desk-photo-art img{width:120px;height:120px}
 .desk-report{padding:24px 20px}
 .work-lines{padding:4px 16px}
 .work-line{grid-template-columns:44px 1fr auto;gap:12px}
 .work-line button{grid-column:2/4;justify-self:start}
 .happlo-app .panel{padding:20px}
 .photos{grid-template-columns:1fr 1fr}
}

/* ===== Surface 3: public pages (photo upload link, email choices, private sign-in) ===== */
.happlo-upload,.happlo-choices{background:var(--surface-page);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:26px}
.happlo-upload header,.happlo-app.happlo-login header{background:var(--surface-navy);border-bottom:2px solid var(--orange);padding:8px 20px;min-height:72px;display:flex;align-items:center;gap:16px}
.happlo-upload header img.hp-logo-navy{display:none}
.happlo-upload header img.hp-logo-light{display:block;height:56px;width:auto}
.happlo-upload header .pill{background:transparent;color:var(--ink-on-navy);opacity:.9;font:600 13px/18px var(--font-body);padding:4px 0;margin-left:auto}
.photo-request{max-width:760px;margin:32px auto;padding:0 20px}
.upload-intro{background:var(--surface-navy);color:var(--ink-on-navy);border:0;border-radius:var(--cp-r-lg);box-shadow:none;padding:40px;margin:0 0 24px;gap:24px;align-items:center}
.upload-intro #upload-business{font:700 13px/18px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--orange);max-width:none}
.happlo-upload .upload-intro h1{font:800 clamp(36px,5vw,52px)/1.02 var(--font-display);letter-spacing:-.035em;color:var(--ink-on-navy);margin:12px 0}
.upload-intro p{color:var(--ink-on-navy);font-size:18px;line-height:28px;opacity:.9}
.upload-intro img{width:136px;height:136px;position:static;flex:none}
.upload-card{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:28px;margin:16px 0}
.upload-ask{font-size:16px;line-height:26px;margin:0 0 16px}
.happlo-upload .photo-drop{border:2px dashed var(--line-strong);border-radius:var(--cp-r-md);background:var(--surface-card);padding:28px 16px;min-height:var(--touch-target)}
.happlo-upload .photo-drop:hover{background:var(--surface-tint)}
.photo-drop:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-halo)}
.photo-drop strong{font:700 18px/24px var(--font-display);color:var(--ink)}
.photo-limit,.upload-help,.happlo-upload .fine{font-size:13px;line-height:18px;color:var(--ink-muted)}
.happlo-upload label{color:var(--ink);font-weight:600;font-size:14px;line-height:20px}
.happlo-upload .toggle{background:var(--surface-tint);border-radius:var(--cp-r-sm);padding:12px 16px;font-size:16px;line-height:24px;font-weight:600;min-height:var(--touch-target);align-items:center}
.happlo-upload input[type=checkbox]{width:24px;height:24px;accent-color:var(--orange);margin:0 4px 0 0}
.happlo-upload input[type=date]{border:2px solid var(--line-strong);border-radius:var(--radius-control);font-size:16px;line-height:24px;padding:10px 14px;background:var(--surface-card);color:var(--ink);min-height:var(--touch-target)}
.happlo-upload button,.happlo-choices button{border-radius:var(--radius-control);min-height:var(--touch-target);padding:var(--space-3) var(--space-6);font:700 15px/20px var(--font-body);border:2px solid var(--line-strong);background:var(--surface-card);color:var(--ink);cursor:pointer;transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out}
.happlo-upload button:hover,.happlo-choices button:hover{background:var(--surface-tint);color:var(--ink)}
.happlo-upload button.primary{background:var(--orange);border-color:var(--orange);color:var(--ink-on-orange)}
.happlo-upload button.primary:hover{background:var(--orange-hover);border-color:var(--orange-hover)}
.happlo-upload button:disabled,.happlo-choices button:disabled{background:var(--line);border-color:var(--line);color:var(--ink-muted);opacity:1;cursor:not-allowed}
.happlo-upload :is(button,a,input,summary):focus-visible,.happlo-choices :is(button,a,summary):focus-visible,.happlo-login :is(button,a):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 2px var(--focus-halo)}
.upload-send{border-top:1px solid var(--line);padding-top:20px}
.photo-help{border-top:1px solid var(--line);padding:8px 0 0;font-size:14px;line-height:22px}
.photo-help summary{min-height:var(--touch-target);display:flex;align-items:center;font-weight:700;cursor:pointer}
.upload-help{text-align:left;padding:8px 4px 0}
.upload-help a,.happlo-choices .fine a,.private-login .fine a{color:var(--orange-text);font-weight:700;display:inline-block;padding:12px 0;margin:-12px 0}
#upload-message:not(:empty){background:var(--status-info-fill);color:var(--status-info-text);border-radius:var(--cp-r-sm);padding:12px 16px;margin:0 0 16px;font-size:16px;line-height:26px}
/* done: a lit stop, like the last step on a route */
.upload-done{width:56px;height:56px;background:var(--orange);color:var(--ink-on-orange);border-radius:999px;font-size:28px;font-weight:800}
#upload-success h2{font:800 30px/1.08 var(--font-display);letter-spacing:-.03em;margin:12px 0 8px}
#upload-mode{text-align:center;margin-top:24px}
/* email choices */
.happlo-choices{padding:24px 20px}
.happlo-choices main{max-width:520px;margin:0 auto;background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-lg);box-shadow:var(--shadow-card);padding:36px}
.happlo-choices main>img{width:140px;height:auto;display:block}
.happlo-choices .eyebrow{font:700 13px/18px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-text);margin:28px 0 8px}
.happlo-choices h1{font:800 36px/1.05 var(--font-display);letter-spacing:-.03em;margin:0 0 12px}
.happlo-choices p{font-size:16px;line-height:26px}
.happlo-choices #choices{gap:12px;margin-top:20px}
.happlo-choices button{background:var(--surface-card);color:var(--ink);border:2px solid var(--line-strong)}
.happlo-choices button.quiet{border-color:transparent;color:var(--orange-text);text-decoration:underline;text-underline-offset:3px}
.happlo-choices #status{font-weight:600;padding:12px 16px;background:var(--surface-tint);border-radius:var(--cp-r-sm);margin-top:16px}
.happlo-choices .fine{font-size:13px;line-height:18px;color:var(--ink-muted)}
.happlo-choices a{color:var(--orange-text);font-weight:600}
/* private sign-in */
.happlo-app.happlo-login>header img.hp-logo-navy{display:none}
.happlo-app.happlo-login>header img.hp-logo-light{display:block;height:56px}
.private-login{max-width:1000px;margin:48px auto;padding:24px;gap:32px}
.private-login h1{font:800 clamp(42px,6vw,64px)/1.02 var(--font-display);letter-spacing:-.035em}
.private-login p{font-size:18px;line-height:28px}
.private-login button{background:var(--orange);border-color:var(--orange);color:var(--ink-on-orange);font-size:15px;min-height:var(--touch-target);margin:16px 0}
.private-login button:hover{background:var(--orange-hover);border-color:var(--orange-hover);color:var(--ink-on-orange)}
.private-login>img{padding:20px}
.login-error{border:0;border-left:4px solid var(--status-bad-text);background:var(--status-bad-fill);color:var(--status-bad-text);border-radius:0 var(--cp-r-sm) var(--cp-r-sm) 0;font-size:16px;line-height:26px}
@media (prefers-reduced-motion:reduce){.happlo-upload *,.happlo-choices *{transition-duration:0s!important;animation:none!important}}
@media (max-width:600px){.photo-request{margin:16px auto;padding:0 16px}.upload-intro{padding:28px 20px;flex-direction:column;align-items:flex-start}.upload-intro img{width:108px;height:108px;padding:10px}.upload-card{padding:20px}.photo-queue{grid-template-columns:1fr 1fr}.upload-send button{width:100%}.happlo-choices{padding:16px}.happlo-choices main{padding:24px}.happlo-choices h1{font-size:30px}.private-login{margin:16px auto;padding:16px}.private-login>img{width:132px;grid-row:1;padding:12px}.happlo-upload header img.hp-logo-light,.happlo-app.happlo-login>header img.hp-logo-light{height:48px}}

/* ===== Surface 5: the owner workspace (home, business setup, emails, connections, system health) =====
   Same pieces as the customer dashboard. Rules carry the .happlo-app prefix because home.css and email-studio.css load after this file. */
/* navy panels float on paper: no offset shadows and no orange rule */
.happlo-app .home-welcome,.happlo-app .mail-hero,.happlo-app .setup-cover{background:var(--surface-navy);color:var(--ink-on-navy);border:0;border-radius:var(--cp-r-lg);box-shadow:none;padding:48px;margin:0 0 24px}
.happlo-app .home-welcome .eyebrow,.happlo-app .mail-hero .eyebrow,.happlo-app .setup-cover .eyebrow{color:var(--orange);font-size:13px}
.happlo-app .home-welcome h2,.happlo-app .mail-hero h2,.happlo-app .setup-cover h2{font:800 clamp(36px,3.8vw,56px)/1.02 var(--font-display);letter-spacing:-.035em;color:var(--ink-on-navy);margin:12px 0 16px}
.happlo-app .home-welcome p:not(.eyebrow),.happlo-app .mail-hero p:not(.eyebrow),.happlo-app .setup-cover p:not(.eyebrow){color:var(--ink-on-navy);opacity:.9;font-size:17px;line-height:27px}
.happlo-app .home-welcome img,.happlo-app .mail-hero img{width:176px;height:176px;flex:0 0 176px}
.happlo-app .home-welcome .primary{background:var(--orange);border-color:var(--orange);color:var(--ink-on-orange);min-height:var(--touch-target)}
.happlo-app .setup-cover{gap:32px}
.happlo-app .setup-progress,.happlo-app .connection-stamp{align-self:center;background:var(--surface-card);color:var(--ink);border:0;border-radius:var(--cp-r-md);box-shadow:none;padding:22px 26px}
.happlo-app .setup-progress strong{font:800 60px/1 var(--font-display);letter-spacing:-.04em;color:var(--ink)}
.happlo-app .setup-progress strong span{color:var(--ink-muted);font-size:22px;letter-spacing:-.01em}
.happlo-app .setup-progress p,.happlo-app .setup-cover .setup-progress p:not(.eyebrow),.happlo-app .setup-cover .connection-stamp p:not(.eyebrow){color:var(--ink);opacity:1;font:700 16px/24px var(--font-body);margin:6px 0}
.happlo-app .setup-progress small{color:var(--ink-muted);font-size:13px;line-height:18px}
.happlo-app .connection-stamp{font:700 13px/18px var(--font-display);letter-spacing:.14em;text-transform:uppercase}
.happlo-app .connection-stamp strong{font:800 40px/1 var(--font-display);letter-spacing:-.03em;color:var(--ink);margin:6px 0}
.happlo-app .connection-stamp span{color:var(--ink-muted);font-size:13px;letter-spacing:0;text-transform:none}
/* the setup checklist is a route: round stops joined by a dashed orange line; done stops light up orange */
.happlo-app .setup-checklist{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:4px 24px}
.happlo-app .setup-check{position:relative;grid-template-columns:44px 1fr auto;gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
.happlo-app .setup-check:last-child{border-bottom:0}
.happlo-app .setup-check:not(:last-child)::before{content:"";position:absolute;left:20.5px;top:60px;bottom:-16px;border-left:3px dashed var(--orange)}
.happlo-app .setup-check>:is(a,button){align-self:center}
.happlo-app .setup-check.done .setup-number{background:var(--orange);border-color:var(--orange);color:var(--ink-on-orange)}
.happlo-app .setup-check h3{font:700 16px/24px var(--font-display);margin:0}
.happlo-app .setup-check p{font-size:14px;line-height:20px;color:var(--ink-muted)}
.happlo-app .setup-check>a{display:inline-flex;align-items:center;min-height:var(--touch-target);padding:0 16px;border:2px solid var(--line-strong);border-radius:var(--radius-control);font:700 14px/20px var(--font-body);color:var(--ink);text-decoration:none;background:var(--surface-card)}
.happlo-app .setup-check>a:hover{background:var(--surface-tint)}
.happlo-app .setup-check a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.happlo-app .setup-review{background:var(--surface-tint);border-radius:var(--cp-r-md);padding:20px 24px;margin:24px 0 32px;gap:16px}
.happlo-app .connection-row{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:28px;margin-bottom:16px;grid-template-columns:44px 1fr;gap:20px}
.happlo-app .connection-row h2{font:800 26px/1.12 var(--font-display);letter-spacing:-.025em;margin:8px 0}
.happlo-app .connection-row h3{font:700 15px/22px var(--font-display);letter-spacing:0;text-transform:none}
.happlo-app .connection-row li{font-size:14px;line-height:22px}
.happlo-app .connection-next{border:0;background:var(--surface-tint);border-radius:var(--cp-r-sm);padding:12px 16px;font-size:14px;line-height:22px}
/* home */
.happlo-app .home-summary>div{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:22px 26px}
.happlo-app .home-summary strong{font:800 36px/1.05 var(--font-display);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.happlo-app .home-summary span{color:var(--ink-muted);font-size:14px;line-height:20px}
.happlo-app .home-google{background:var(--surface-tint);border:0;border-radius:var(--cp-r-md);padding:20px 24px}
.happlo-app .home-google-mark{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-sm);color:var(--ink)}
.happlo-app .home-google p{color:var(--ink);font-size:14px;line-height:20px}
.happlo-app .home-businesses{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:28px}
.happlo-app .home-list-head h2{font:800 30px/1.08 var(--font-display);letter-spacing:-.03em}
.happlo-app .home-list-head p,.happlo-app .home-business-list p{color:var(--ink-muted);font-size:14px;line-height:20px}
.happlo-app .home-business-list li{border-top:1px solid var(--line);padding:16px 0}
.happlo-app .home-initial{background:var(--surface-navy);color:var(--ink-on-navy);border-radius:999px;font:800 18px/1 var(--font-display)}
.happlo-app .home-state{background:var(--status-info-fill);color:var(--status-info-text);border-radius:999px;font:600 13px/18px var(--font-body);padding:4px 12px}
.happlo-app .picker-empty{background:var(--surface-page);border:2px dashed var(--rank-no-data-border);border-radius:var(--cp-r-md)}
.happlo-app .picker-confirm{background:var(--surface-tint);border:0;border-radius:var(--cp-r-sm)}
.happlo-app .picker-list article{border-bottom:1px solid var(--line)}
/* emails (the owner's email studio): the picked email turns navy */
.happlo-app .mail-types button{background:var(--surface-card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-card);padding:18px;display:grid;gap:8px;text-align:left;font:400 14px/20px var(--font-body);color:var(--ink)}
.happlo-app .mail-types button:hover{background:var(--surface-tint);border-color:var(--line)}
.happlo-app .mail-types button[aria-pressed=true]{border-color:var(--surface-navy);background:var(--surface-navy);color:var(--ink-on-navy);box-shadow:none;padding:18px}
.happlo-app .mail-number{color:var(--orange-text);font:800 13px/18px var(--font-display);letter-spacing:.14em}
.happlo-app .mail-types b{font:700 17px/24px var(--font-display);color:var(--ink)}
.happlo-app .mail-types small{color:var(--ink-muted);font-size:13px;line-height:18px}
.happlo-app .mail-types button[aria-pressed=true] .mail-number{color:var(--orange)}
.happlo-app .mail-types button[aria-pressed=true] :is(b,small){color:var(--ink-on-navy)}
.happlo-app .mail-types button[aria-pressed=true] small{opacity:.85}
.happlo-app .mail-details{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:24px}
.happlo-app .mail-details h3{font:800 26px/1.12 var(--font-display);letter-spacing:-.025em}
.happlo-app .mail-details h4{font:700 14px/20px var(--font-display)}
.happlo-app .mail-details p{font-size:14px;line-height:22px}
.happlo-app .mail-details .eyebrow{font-size:13px}
.happlo-app .mail-details a.button{white-space:normal;line-height:20px;padding:10px 16px;text-align:left}
.happlo-app .mail-off{background:var(--status-warn-fill);color:var(--status-warn-text);border-radius:var(--cp-r-sm);padding:12px 16px}
.happlo-app .mail-preview-panel{border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);background:var(--surface-tint);overflow:hidden}
.happlo-app .mail-preview-top{background:var(--surface-card);border-bottom:1px solid var(--line);padding:16px 20px}
.happlo-app .mail-preview-top p{color:var(--ink-muted);font-size:13px;line-height:18px}
.happlo-app .mail-preview-top button[aria-pressed=true],.happlo-app .email-activity button[aria-pressed=true]{background:var(--surface-navy);border-color:var(--surface-navy);color:var(--ink-on-navy)}
.happlo-app .mail-envelope{background:var(--surface-page);border-top:1px solid var(--line);padding:12px 20px}
.happlo-app .mail-envelope p{font-size:13px;line-height:18px}
.happlo-app .mail-preview-panel .email-preview{background:var(--surface-page)}
.happlo-app .email-log-row{border-top:1px solid var(--line);padding:12px 0}
.happlo-app .email-log-row small{color:var(--ink-muted);font-size:13px;line-height:18px}
.happlo-app .email-copy-settings{border-top:1px solid var(--line)}
.happlo-app .mail-history h3{font:800 26px/1.12 var(--font-display)}
.happlo-app .mail-layout button:focus-visible,.happlo-app .mail-types button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
/* system health, business facts, tables and the business finder */
.happlo-app table{font-size:14px;line-height:20px}
.happlo-app th{font:700 13px/18px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);border-bottom:1px solid var(--line-strong)}
.happlo-app td{border-bottom:1px solid var(--line);padding:12px 8px}
.happlo-app .ai-row,.happlo-app .book-fact{border-bottom:1px solid var(--line)}
.happlo-app .book-review{border-top:1px solid var(--line)}
.happlo-app .business-book{border-top:1px solid var(--line)}
.happlo-app .business-book blockquote{border-left:3px solid var(--orange);padding-left:16px}
.happlo-app details summary{font-weight:700;min-height:var(--touch-target);padding:10px 0;box-sizing:border-box}
.happlo-app #content :is(p,.panel,.fine)>a:not(.button){display:inline-block;padding:12px 0;margin:-12px 0;color:var(--orange-text);font-weight:700;text-decoration-thickness:2px;text-underline-offset:4px}
.happlo-app input[type=color]{min-height:var(--touch-target);min-width:72px;padding:4px}
.happlo-app .business-tools summary{display:inline-flex;align-items:center;min-height:var(--touch-target);color:var(--orange-text);font-weight:700;text-decoration-thickness:2px;text-underline-offset:4px}
.happlo-app .business-tools>div{border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-float);padding:20px;background:var(--surface-card)}
/* phones and narrow windows: nine owner tabs scroll sideways; four customer tabs still share the width */
@media (max-width:800px){
 .happlo-app .workspace-rail .nav,.happlo-app #workspace.at-home .workspace-rail .nav{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0;flex-wrap:nowrap}
 .happlo-app .workspace-rail .nav::-webkit-scrollbar{display:none}
 .happlo-app .workspace-rail .nav button span{display:block}
 .happlo-app .workspace-page>.heading{align-items:flex-start}
 .happlo-app .workspace-rail .nav button,.happlo-app .workspace-rail .nav button.selected,.happlo-app #workspace.at-home .workspace-rail .nav button{flex:1 1 0;min-width:76px;max-width:none;white-space:normal}
 .happlo-app .home-welcome,.happlo-app .mail-hero,.happlo-app .setup-cover{padding:28px 20px;flex-direction:column;align-items:flex-start;grid-template-columns:1fr;gap:20px}
 .happlo-app .home-welcome h2,.happlo-app .mail-hero h2,.happlo-app .setup-cover h2{font-size:36px}
 .happlo-app .home-welcome img,.happlo-app .mail-hero img{display:block;width:124px;height:124px;flex-basis:124px;align-self:flex-start;position:static;padding:10px}
 .happlo-app .setup-progress,.happlo-app .connection-stamp{align-self:stretch}
 .happlo-app .home-summary{grid-template-columns:repeat(3,1fr);gap:8px}
 .happlo-app .home-summary>div{padding:12px}
 .happlo-app .home-summary strong{font-size:22px}
 .happlo-app .setup-checklist{padding:4px 16px}
 .happlo-app .setup-check{grid-template-columns:44px 1fr;gap:12px}
 .happlo-app .setup-check>a,.happlo-app .setup-check>button{grid-column:2;justify-self:start}
 .happlo-app .connection-row{grid-template-columns:44px 1fr;gap:12px;padding:20px}
 .happlo-app .mail-types button,.happlo-app .mail-types button[aria-pressed=true]{padding:14px}
 .happlo-app .home-businesses,.happlo-app .mail-details,.happlo-app .home-google{padding:20px}
 .happlo-app .home-google button{margin-left:0;width:100%}
}

/* ===== Surface 5b: the owner's business overview (.owner-desk). Older rules in brand.css drew it; these bring it into Center Point. ===== */
.happlo-app:has(.owner-desk){background:var(--surface-page)}
.happlo-app .owner-desk{font-size:16px;line-height:26px}
.happlo-app .owner-desk button{font:700 15px/20px var(--font-body);min-height:var(--touch-target);padding:var(--space-3) 20px;border:2px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-card);color:var(--ink);letter-spacing:0}
.happlo-app .owner-desk button:hover{background:var(--surface-tint);border-color:var(--line-strong)}
.happlo-app .owner-welcome{background:var(--surface-navy);color:var(--ink-on-navy);border-radius:var(--cp-r-lg);box-shadow:none;margin:0 0 24px;padding:40px 48px;min-height:0;gap:32px;position:relative;overflow:hidden;isolation:isolate}
.happlo-app .owner-welcome::after{content:"";position:absolute;z-index:-1;right:-72px;top:50%;width:396px;height:396px;margin-top:-198px;background:radial-gradient(circle,var(--ink-on-navy) 0 4px,transparent 4.5px) 0 0/44px 44px;opacity:.16;-webkit-mask:radial-gradient(closest-side,#000 30%,transparent);mask:radial-gradient(closest-side,#000 30%,transparent);pointer-events:none}
.happlo-app .owner-welcome p:first-child{font:700 13px/18px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.happlo-app .owner-welcome p:first-child::before{content:"";display:inline-block;width:8px;height:8px;margin:0 12px 0 4px;border-radius:50%;background:var(--orange);outline:2px solid var(--ink-on-navy);outline-offset:2px;vertical-align:1px}
.happlo-app .owner-welcome h2{font:800 clamp(34px,3.6vw,52px)/1.02 var(--font-display);letter-spacing:-.035em;color:var(--ink-on-navy);margin:12px 0}
.happlo-app .owner-welcome p{font-size:17px;line-height:27px;color:var(--ink-on-navy);opacity:.9}
.happlo-app .owner-welcome p:first-child{opacity:1}
.happlo-app .owner-welcome img{box-sizing:border-box;width:156px;height:156px;flex:0 0 156px;border-radius:50%;background:var(--gecko-ground);padding:14px;object-fit:contain}
.happlo-app .owner-state{background:var(--surface-tint);border-radius:var(--cp-r-md);padding:10px 12px 10px 20px;font-size:14px;line-height:20px;color:var(--ink)}
.happlo-app .owner-cards{gap:16px}
.happlo-app .owner-cards>section{border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:24px}
.happlo-app .owner-cards strong{font:800 44px/1 var(--font-display);letter-spacing:-.04em;margin:4px 0 12px}
.happlo-app .owner-cards h3{font:700 16px/24px var(--font-display);letter-spacing:0}
.happlo-app .owner-cards p{font-size:14px;line-height:20px;color:var(--ink-muted)}
.happlo-app .owner-card-icon{color:var(--orange-text)}
.happlo-app .owner-cards>.owner-control{background:var(--surface-navy);border-color:var(--surface-navy);box-shadow:none}
.happlo-app .owner-control h3{font:800 24px/1.12 var(--font-display);letter-spacing:-.025em;color:var(--ink-on-navy)}
.happlo-app .owner-control p{color:var(--ink-on-navy);opacity:.9}
.happlo-app .owner-control .owner-card-kicker{color:var(--orange);font:700 13px/18px var(--font-display);letter-spacing:.14em;opacity:1}
.happlo-app .owner-desk .owner-control button{background:var(--orange);border-color:var(--orange);color:var(--ink-on-orange)}
.happlo-app .owner-desk .owner-control button:hover{background:var(--orange-hover);border-color:var(--orange-hover)}
.happlo-app .owner-control :focus-visible{outline-color:var(--orange);box-shadow:0 0 0 2px var(--surface-navy)}
/* something needs you: the bold orange strip */
.happlo-app .owner-alert{background:var(--orange);color:var(--ink-on-orange);border-radius:var(--cp-r-md);padding:14px 20px;font-size:15px;line-height:22px}
.happlo-app .owner-desk .owner-alert button{background:var(--surface-navy);border-color:var(--surface-navy);color:var(--ink-on-navy)}
.happlo-app .owner-desk .owner-alert button:hover{background:var(--navy-hover);border-color:var(--navy-hover)}
/* recent activity reads as a timeline (Austin's pick, September 22): one stop per change, joined by a line; a change that needs a check is an orange stop */
.happlo-app .owner-activity{border:1px solid var(--line);border-radius:var(--cp-r-md);box-shadow:var(--shadow-card);padding:28px}
.happlo-app .owner-section-head h3{font:800 26px/1.12 var(--font-display);letter-spacing:-.025em}
.happlo-app .owner-section-head p,.happlo-app .owner-section-head>span{font-size:14px;line-height:20px;color:var(--ink-muted)}
.happlo-app .owner-activity ul{grid-template-columns:1fr;gap:0}
.happlo-app .owner-activity li{position:relative;background:transparent;border-radius:0;padding:8px 0;gap:16px}
.happlo-app .owner-activity li:not(:last-child)::after{content:"";position:absolute;left:13px;top:calc(50% + 14px);height:calc(100% - 28px);border-left:2px solid var(--line)}
.happlo-app .owner-event-mark{box-sizing:border-box;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:var(--surface-card);border:2px solid var(--ink);color:var(--ink);font:800 13px/1 var(--font-display)}
.happlo-app .owner-event-mark.needs-check{background:var(--orange);border-color:var(--orange);color:var(--ink-on-orange)}
.happlo-app .owner-activity li>div{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px}
.happlo-app .owner-activity li b{font-size:15px;line-height:22px;font-weight:600}
.happlo-app .owner-desk .owner-activity li button{border:0;background:transparent;min-height:var(--touch-target);padding:0 8px;margin:0 -8px;font:700 14px/20px var(--font-body);color:var(--orange-text);text-decoration:underline;text-underline-offset:3px}
.happlo-app .owner-desk .owner-activity li button:hover{background:var(--surface-tint)}
.happlo-app .owner-activity time{font-size:13px;line-height:18px;color:var(--ink-muted)}
.happlo-app .owner-empty{font-size:16px;line-height:26px;color:var(--ink-muted)}
.happlo-app .owner-bottom{font-size:14px;line-height:20px}
.happlo-app .owner-desk>.fine{font-size:13px;line-height:18px;color:var(--ink-muted)}
@media (prefers-reduced-motion:no-preference){.happlo-app .owner-welcome img{animation:cp-hello 1.1s cubic-bezier(.2,.8,.2,1) .15s both}}
@media (max-width:800px){
 .happlo-app .owner-welcome{padding:28px 20px;flex-direction:column;align-items:flex-start;gap:16px}
 .happlo-app .owner-welcome img{order:-1;width:112px;height:112px;flex-basis:112px;padding:10px}
 .happlo-app .owner-welcome h2{font-size:34px}
 .happlo-app .owner-cards>section{padding:18px 16px}
 .happlo-app .owner-cards strong{font-size:34px}
 .happlo-app .owner-desk .owner-cards button{font-size:14px;padding:10px 12px;white-space:normal;text-align:left}
 .happlo-app .owner-activity{padding:20px 16px}
 .happlo-app .owner-alert{flex-wrap:wrap}
}

/* ===== Progress bars (Austin's pick, September 22): only where there is a real share of real checks or steps. A missing number gets
   no bar, so an empty bar never stands in for zero. ===== */
.rr-meter,.happlo-app .setup-meter{-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;margin:10px 0 8px;border:0;border-radius:999px;background:#e6e9ed;overflow:hidden}
.rr-meter::-webkit-meter-bar,.happlo-app .setup-meter::-webkit-meter-bar{background:#e6e9ed;border:0;border-radius:999px;height:6px}
.rr-meter::-webkit-meter-optimum-value,.rr-meter::-webkit-meter-suboptimum-value,.rr-meter::-webkit-meter-even-less-good-value,.happlo-app .setup-meter::-webkit-meter-optimum-value,.happlo-app .setup-meter::-webkit-meter-suboptimum-value,.happlo-app .setup-meter::-webkit-meter-even-less-good-value{background:var(--orange);border-radius:999px}
.rr-meter::-moz-meter-bar,.happlo-app .setup-meter::-moz-meter-bar{background:var(--orange);border-radius:999px}
.rr .rr-snapshot .rr-stat:first-child .rr-meter{background:var(--navy-hover)}
@media print{.rr-meter{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* ===== The gecko helper in motion (Austin left placement to Claude, September 22): each clip plays once when it loads and holds its
   last pose; with reduced motion the browser shows the still pose instead. One moving gecko per screen. ===== */
.gecko-motion{display:contents}
.happlo-app .gecko-motion img,.happlo-app .gecko-motion img:hover,.rr .gecko-motion img{animation:none}
.happlo-app .gecko-motion-flip img{transform:scaleX(-1)}
.happlo-upload .upload-cheer img{display:block;box-sizing:border-box;width:136px;height:136px;margin:0 auto 8px;padding:8px;border-radius:50%;background:var(--gecko-ground);object-fit:contain}
.rr .rr-search-explain{display:flex;align-items:center;gap:20px;max-width:760px}
.rr .rr-search-explain .rr-search-intro{margin:0}
.rr .rr-map-gecko img{flex:none;box-sizing:border-box;width:120px;height:120px;padding:8px;border-radius:50%;background:var(--gecko-ground);object-fit:contain}
@media (max-width:760px){.rr .rr-map-gecko img{width:88px;height:88px;padding:6px}.rr .rr-search-explain{gap:14px}}
@media print{.rr .rr-map-gecko{display:none}}
