@charset "UTF-8";
/* Public pages (home, plans, not found): their layouts. The tokens and the shared pieces (header, footer,
   buttons, links, tags) are in beta.css, linked before this file. */

:root{font-family:var(--text);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* While a window is open the page behind stays still; the padding takes the place of the hidden scrollbar. */
html.sheet-open{overflow:hidden;padding-right:var(--scrollbar-gap,0px)}
body{margin:0;color:var(--ink);background:var(--paper);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg,picture{display:block;max-width:100%}
p,h1,h2,h3,blockquote,footer{overflow-wrap:break-word}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
button,input{font:inherit}
button,a,input,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.55}
h2[tabindex="-1"]:focus,main[tabindex="-1"]:focus{outline:none}
::selection{background:var(--ink);color:var(--paper)}
[hidden]{display:none!important}

/* Home: the first screen is only the title, one sentence, Start free, its note, the link and the picture. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,4vw,56px);padding:clamp(8px,2vw,24px) 0 clamp(48px,7vw,96px)}
.hero h1{margin:0;font-size:clamp(2.5rem,1.75rem + 2.8vw,3.75rem);line-height:1.05;font-weight:600;letter-spacing:-.035em;text-wrap:balance}
.hero-lede{max-width:32ch;margin:20px 0 0;color:#45413a;font-size:clamp(1.125rem,1rem + .5vw,1.3125rem);line-height:1.5;text-wrap:pretty}
.hero-actions{margin-top:32px}
.hero-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.hero-buttons .text-link{min-height:52px}
.hero-note{margin:12px 0 0;color:var(--muted);font-size:.875rem;line-height:1.4}

/* The fox in its poses (fox/): a decorative picture, WebP with a PNG fallback, sized by its height; the text
   beside it says who it is. The small face sits in a paper circle with the hairline. */
.fox{display:block;width:fit-content;max-width:100%;margin:0}
.fox img{display:block;width:auto;max-width:100%;object-fit:contain}
.fox-face{display:block;flex-shrink:0;overflow:hidden;border:1px solid var(--hairline);border-radius:50%;background:var(--paper)}
.fox-face img{display:block;width:100%;height:100%;object-fit:cover}
/* The picture: the fox points at what it saved. The bubble floats by the pointing hand, over the empty upper
   right of the image and out to the column's edge (it ends on the same line as the header's Sign in), its
   bottom just above the finger; both measures come from the fox's height. Only this fox carries the drop
   shadow and the idle bob. */
.hero-fox{--fox-height:clamp(320px,38vw,520px);position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;margin:0}
.hero-fox .fox{height:var(--fox-height)}
.hero-fox .fox img{height:var(--fox-height);filter:drop-shadow(0 24px 28px rgba(26,25,21,.16))}
.hero-fox .bubble{position:absolute;right:0;bottom:calc(var(--fox-height) * .63);max-width:calc(100% - var(--fox-height) * .73);border-radius:20px 20px 20px 6px}
.bubble{position:relative;z-index:1;width:fit-content;max-width:min(92%,430px);margin:0;padding:12px 16px;border:1px solid var(--hairline);border-radius:6px 20px 20px 20px;background:var(--surface);box-shadow:var(--shadow-2)}
.bubble-text{margin:0;font-size:.9375rem;line-height:1.45;text-wrap:pretty}
.bubble-saved{display:block;font-weight:600}
.bubble-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}

/* Below the features: the coming-soon note, a small label beside one sentence. */
.soon{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;max-width:820px;margin:clamp(40px,6vw,72px) auto;text-align:center}
.soon-label{display:inline-flex;align-items:center;min-height:28px;margin:0;padding:3px 12px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:.8125rem;font-weight:650;line-height:1.3;letter-spacing:0}
.soon-text{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.55;text-wrap:pretty}

/* Windows ("sheets"). sheets.js opens them as modal dialogs; without it they stay in the page as sections. */
dialog.sheet{width:min(640px,calc(100% - 32px));max-width:none;max-height:min(88dvh,820px);margin:auto;padding:0;border:0;border-radius:var(--radius-l);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-3);overflow:auto;overscroll-behavior:contain}
dialog.sheet-small{width:min(480px,calc(100% - 32px))}
dialog.sheet-wide{width:min(900px,calc(100% - 32px))}
dialog.sheet::backdrop{background:rgba(26,25,21,.4)}
.sheet-body{padding:0 32px 32px}
.sheet-head{position:sticky;top:0;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 -32px 8px;padding:24px 20px 14px 32px;background:var(--surface)}
.sheet-head h2{margin:0;padding-top:6px;font-size:1.375rem;line-height:1.3;font-weight:650;letter-spacing:-.02em}
.sheet-head .tag{margin-bottom:8px}
.sheet-close{display:grid;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--soft);color:var(--ink);transition:background-color .15s ease}
.sheet-close:hover{background:#e2dbcc}
.sheet-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
dialog.sheet:not([open]){position:static;width:auto;max-height:none;margin:0 0 20px;overflow:visible;border:1px solid var(--hairline);box-shadow:var(--shadow-1)}
dialog.sheet:not([open]) .sheet-head{position:static;background:none}
dialog.sheet:not([open]) .sheet-close{display:none}
html:not(.has-sheets) dialog.sheet:target{display:block}
.steps{display:grid;gap:12px;margin:8px 0 0;padding:0;list-style:none}
.step{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;padding:18px;border-radius:var(--radius-m);background:var(--paper)}
.step-icon{display:grid;grid-row:1/span 2;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface)}
.step-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.step h3{margin:2px 0 4px;font-size:1.0625rem;font-weight:650;line-height:1.35;letter-spacing:-.01em}
.step p{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.55}
.feed{display:grid;margin:4px 0 0;padding:0;list-style:none}
.feed-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:14px 0}
.feed-item+.feed-item{border-top:1px solid var(--hairline)}
.feed-avatar{width:36px;height:36px}
.feed-line{margin:7px 0 0;font-size:.9375rem;line-height:1.5}
.feed-line b{font-weight:650}
.feed-meta{color:var(--muted)}
.feed-quote{margin:10px 0 0;padding:12px 16px;border-radius:6px 18px 18px 18px;background:var(--paper)}
.feed-quote .quote{margin:0;font-size:1.1875rem;line-height:1.4}
.sheet-note{margin:16px 0 0;color:var(--muted);font-size:.8125rem;line-height:1.5}
.sheet-intro{margin:0 0 4px;color:var(--muted);font-size:.9375rem;line-height:1.55}
.sheet-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px}

/* Plans: three light cards with the name, the price, three points and the button; the rest opens in windows. */
.payments-heading{padding:clamp(16px,4vw,40px) 0 32px}
.payments-heading h1{max-width:22ch;margin:0;font-size:clamp(2rem,1.4rem + 2.6vw,3.25rem);line-height:1.08;font-weight:650;letter-spacing:-.035em;text-wrap:balance}
.payment-plans{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.payment-plan{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 24px 24px;border:1px solid var(--hairline);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-1)}
.payment-plan-featured{border:1.5px solid var(--ink);box-shadow:var(--shadow-2)}
.plan-badge{position:absolute;top:24px;right:20px;display:inline-flex;align-items:center;min-height:22px;margin:0;padding:2px 10px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:.75rem;font-weight:600;line-height:1.3}
.payment-plan>h2{margin:0 0 12px;font-size:1.25rem;font-weight:650;line-height:1.3;letter-spacing:-.01em}
.payment-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;font-size:2.5rem;line-height:1.1;font-weight:650;letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums}
.payment-price span{color:var(--muted);font-size:.875rem;font-weight:500;letter-spacing:0}
.payment-price .payment-from{font-weight:600}
.payment-price output{font:inherit;letter-spacing:inherit;font-variant-numeric:inherit}
.plan-points,.plan-allowance{display:grid;align-content:start;gap:10px;margin:24px 0 0;padding:0;list-style:none;font-size:.9375rem;line-height:1.45}
.plan-points li,.plan-allowance li{position:relative;padding-left:26px}
.plan-points li::before,.plan-allowance li::before{content:"";position:absolute;top:.15em;left:0;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%231a1915' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.plan-allowance .plan-excluded{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
.plan-allowance .plan-excluded::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='%235b574e' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
.plan-actions{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:auto;padding-top:28px;text-align:center}
.plan-actions .payment-cta{width:100%;max-width:none;margin-bottom:4px}
.payment-yearly{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:.9375rem;font-weight:600;text-decoration:underline;text-decoration-color:rgba(26,25,21,.35);text-underline-offset:4px;transition:text-decoration-color .15s ease}
.payment-yearly:hover{text-decoration-color:currentColor}
.plan-note{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.5}
.agency-config{min-width:0;margin:0}
.agency-price{margin:4px 0 8px}
.agency-builder{display:grid;gap:12px;padding:8px 0 0}
.agency-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:12px;text-align:left}
.agency-control label{font-size:.875rem;font-weight:600;line-height:1.5}
.agency-control output{font-size:1.125rem;font-weight:650;font-variant-numeric:lining-nums tabular-nums}
.agency-control input[type=range]{grid-column:1/-1;width:100%;height:44px;margin:0;padding:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;--fill:0%}
.agency-control input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--ink) var(--fill),#d9d2c4 var(--fill))}
.agency-control input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:#d9d2c4}
.agency-control input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--ink)}
.agency-control input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9px;border:2px solid var(--ink);border-radius:50%;background:var(--surface);box-shadow:var(--shadow-1);-webkit-appearance:none;appearance:none}
.agency-control input[type=range]::-moz-range-thumb{width:18px;height:18px;border:2px solid var(--ink);border-radius:50%;background:var(--surface)}
.agency-rates{margin:2px 0 0;color:var(--muted);font-size:.8125rem;line-height:1.5;text-align:left}
#agency-plan .sheet-actions .payment-cta{width:100%}
.payment-more{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 32px;margin:28px 0 clamp(40px,6vw,72px)}
.included-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}
.included-plan{min-width:0;padding:20px;border-radius:var(--radius-m);background:var(--paper)}
.included-plan h3,.included-credits h3{margin:0;font-size:1.0625rem;font-weight:650;line-height:1.35;letter-spacing:-.01em}
.included-plan .plan-allowance{margin-top:14px}
.included-credits{margin-top:28px}
.included-credits h3{margin-bottom:10px}
.payment-credits{display:grid;gap:20px}
.payment-credits>*{min-width:0}
.credits-intro p{margin:0 0 10px;color:var(--muted);font-size:.9375rem;line-height:1.55}
.addon-list{margin:0;padding:4px 18px;border-radius:var(--radius-m);background:var(--paper)}
.addon-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:12px 0}
.addon-list>div+div{border-top:1px solid var(--hairline)}
.addon-list dt{font-size:.9375rem;line-height:1.4}
.addon-list dd{margin:0;font-size:1.25rem;font-weight:650;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.addon-note{margin:10px 0 0;color:var(--muted);font-size:.8125rem;line-height:1.5}
.payment-details dl{display:grid;gap:12px;margin:0}
.payment-details dl>div{padding:16px 18px;border-radius:var(--radius-m);background:var(--paper)}
.payment-details dt{font-size:.9375rem;font-weight:650;line-height:1.4}
.payment-details dd{margin:6px 0 0;color:var(--muted);font-size:.9375rem;line-height:1.55}
.payment-details a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* Not found */
.not-found{max-width:640px;min-height:60vh;padding:48px 0 96px}
.not-found h1{margin:12px 0 16px;font-size:clamp(2.25rem,1.6rem + 3vw,3.5rem);line-height:1.06;font-weight:650;letter-spacing:-.035em}
.not-found-links{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:24px}

/* Measurement choices (privacy-choices.js): a small card; accepting and rejecting look the same. */
.privacy-banner{position:fixed;z-index:90;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;max-width:720px;max-height:calc(100dvh - 32px);margin:0 auto;padding:16px 18px;overflow:auto;border:1px solid var(--hairline);border-radius:var(--radius-m);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-3);overscroll-behavior:contain}
.privacy-banner p{flex:1 1 100%;margin:0;font-size:.875rem;line-height:1.55}
.privacy-banner button{flex:1 1 160px;min-height:44px;padding:10px 16px;border:1px solid var(--edge);border-radius:999px;background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:600}
.privacy-banner button:hover:not(:disabled){border-color:var(--ink)}
.privacy-banner button:disabled{cursor:not-allowed;opacity:.55}
.privacy-banner a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:.875rem;text-decoration:underline;text-underline-offset:4px}

/* Administrator code form, only on the computer that runs ClientPulse locally (added by the server). */
.public-clean .workspace-access{margin:0 0 56px;padding:28px;border:1px solid var(--hairline);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-1)}
.public-clean .workspace-access h2{font:650 1.5rem/1.25 var(--text);letter-spacing:-.02em}
.public-clean .access-field{overflow:hidden;border-color:rgba(26,25,21,.25);border-radius:999px}
.public-clean .access-field button:hover{background:#000}

@media (min-width:861px){
  .payment-plans.payment-plans-three{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto 1fr auto}
  /* Name, price, the three points and the buttons share rows across the three plans. */
  .payment-plans-three .payment-plan{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
  .payment-plans-three .plan-actions{justify-content:flex-start;margin-top:0}
}
@media (min-width:861px) and (max-width:1023px){
  /* Two columns still, but nearly equal, so the title keeps its two lines and the bubble its room by the hand. */
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  .hero-fox{--fox-height:clamp(300px,34vw,560px)}
}
@media (max-width:860px){
  .hero{grid-template-columns:minmax(0,1fr);gap:40px}
  /* One column: the fox centred under the copy, the bubble under the fox and aligned with the text. */
  .hero-fox{align-items:center}
  .hero-fox .bubble{position:relative;right:auto;bottom:auto;align-self:flex-start;margin:20px 0 0;max-width:min(92%,430px);border-radius:6px 20px 20px 20px}
}
@media (max-width:640px){
  .hero{gap:36px;padding-top:12px}
  .hero-actions{display:flex;flex-direction:column;margin-top:28px}
  .hero-buttons{display:contents}
  .hero-buttons .cta{order:1;width:100%}
  .hero-note{order:2;text-align:center}
  .hero-buttons .text-link{order:3;align-self:center;min-height:44px;margin-top:8px}
  .hero-fox{--fox-height:280px}
  .hero-fox .bubble{margin-top:16px;max-width:100%}
  .soon{flex-direction:column;gap:8px}
  dialog.sheet[open]{width:100%;max-height:92dvh;margin:auto 0 0;border-radius:24px 24px 0 0}
  .sheet-body{padding:0 20px max(24px,env(safe-area-inset-bottom))}
  .sheet-head{margin:0 -20px 4px;padding:18px 12px 12px 20px}
  .step{padding:16px}
  .payment-plan{padding:24px 20px 20px}
  .included-plans{grid-template-columns:minmax(0,1fr)}
  .included-plan{padding:16px 18px}
}
@media (prefers-reduced-motion:no-preference){
  .bubble{animation:bubble-in .5s cubic-bezier(.2,.8,.2,1) 1.2s both}
  .hero-fox .fox{animation:fox-idle 5s ease-in-out infinite}
  dialog.sheet[open]{animation:sheet-in .24s cubic-bezier(.2,.8,.2,1)}
  dialog.sheet[open]::backdrop{animation:fade-in .24s ease}
}
@media (prefers-reduced-motion:no-preference) and (max-width:640px){
  dialog.sheet[open]{animation-name:sheet-up}
}
@keyframes bubble-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fox-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes sheet-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sheet-up{from{opacity:.6;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
@media (forced-colors:active){
  .payment-plan,dialog.sheet,.listening-card,.listening-tile,.bubble,.sheet-close,.privacy-banner,.privacy-banner button{border:1px solid CanvasText}
  .agency-control input[type=range],.agency-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:auto;appearance:auto}
}

/* === home rebrand (raposa) 2026-10-22 === */
body.home-page .cta{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:var(--shadow-1)}
body.home-page .cta:hover{background:var(--muted);border-color:var(--muted)}
body.home-page .hero{min-height:680px;gap:clamp(32px,4vw,56px);padding:48px 0 96px}
body.home-page .hero h1{font-size:clamp(2.75rem,1.6rem + 3.4vw,4.5rem);font-weight:550;letter-spacing:-.045em;line-height:1.06}
body.home-page .hero-lede{max-width:31ch;margin-top:24px}
body.home-page .home-features{display:grid;gap:96px;padding:32px 0 96px}
body.home-page .feature-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(32px,6vw,88px)}
body.home-page .feature-row:nth-child(even) .feature-copy{order:2}
body.home-page .feature-copy{max-width:440px}
body.home-page .feature-copy h2{margin:0;font-size:clamp(1.75rem,1.15rem + 1.5vw,2.5rem);font-weight:550;line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
body.home-page .feature-copy p{margin:20px 0 0;max-width:39ch;color:var(--muted);line-height:1.65;text-wrap:pretty}
body.home-page .feature-copy .text-link{margin-top:16px;font-size:.9375rem}
body.home-page .feature-visual{display:grid;place-items:center;min-height:320px;min-width:0;padding:36px;border-radius:var(--radius-l);background:var(--soft)}
body.home-page .listening-card,body.home-page .quote-card,body.home-page .account-list{width:100%;max-width:340px;min-width:0;border:1px solid var(--hairline);border-radius:var(--radius-m);background:var(--surface);box-shadow:var(--shadow-2)}
/* A call window: the sitting fox in its tile, named as the bot names itself in a call, and the platforms. */
body.home-page .listening-card{padding:20px}
body.home-page .listening-top{display:flex;gap:5px}
body.home-page .listening-top span{width:6px;height:6px;border-radius:50%;background:var(--line)}
body.home-page .listening-tile{position:relative;display:grid;justify-items:center;margin-top:16px;padding:20px 16px 60px;border-radius:16px;background:var(--paper)}
body.home-page .listening-tile .fox img{height:200px}
body.home-page .listening-name{position:absolute;left:12px;bottom:12px;max-width:calc(100% - 24px);margin:0;padding:4px 10px;border-radius:999px;background:rgba(255,253,249,.92);color:var(--ink);font-size:.75rem;font-weight:500;line-height:1.35}
body.home-page .platform-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
body.home-page .platform-chips span{padding:5px 12px;border:1px solid var(--hairline);border-radius:999px;color:var(--muted);font-size:.75rem}
/* The notes and thinking foxes stand beside their cards, feet on the card's bottom edge. */
body.home-page .feature-scene{display:flex;align-items:flex-end;justify-content:center;gap:12px;width:100%}
body.home-page .feature-scene .fox{flex:none}
body.home-page .feature-scene .fox img{height:200px}
body.home-page .feature-scene>.quote-card,body.home-page .feature-scene>.account-list{flex:1 1 auto}
body.home-page .quote-card{padding:24px}
body.home-page .quote-card-top{display:flex;align-items:center;gap:12px}
body.home-page .quote-card-top .fox-face{width:40px;height:40px}
body.home-page .abstract-line{display:block;width:100%;height:7px;border-radius:999px;background:var(--line)}
body.home-page .quote-card-top>.abstract-line{width:42%;height:6px}
body.home-page .abstract-quote{display:flex;align-items:flex-start;gap:16px;margin:24px 0;padding:20px 0}
body.home-page .abstract-quote svg{flex-shrink:0;width:24px;height:18px;fill:var(--line-strong)}
body.home-page .abstract-quote>div{display:grid;gap:14px;width:100%}
body.home-page .abstract-quote .abstract-line:last-child{width:64%}
body.home-page .quote-source{display:flex;align-items:center;gap:8px}
body.home-page .quote-source i{width:8px;height:8px;flex-shrink:0;border:1px solid var(--line-strong);border-radius:50%}
body.home-page .quote-source .abstract-line{width:32%;height:5px}
body.home-page .account-list{padding:8px}
body.home-page .account-row{display:flex;align-items:center;gap:14px;padding:18px 12px;min-height:88px}
body.home-page .account-first{border-radius:14px;background:var(--paper)}
body.home-page .account-row>div{display:grid;gap:12px;flex:1;min-width:0}
body.home-page .account-row>div .abstract-line:first-child{width:70%;height:6px}
body.home-page .account-row>div .abstract-line:last-child{width:50%;height:5px}
body.home-page .account-first .fox-face{width:48px;height:48px}
body.home-page .account-placeholder{width:48px;height:48px;flex-shrink:0;border-radius:50%;background:var(--soft)}
body.home-page .account-signal,body.home-page .account-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--signal)}
body.home-page .account-dot{background:var(--line)}
body.home-page .soon{margin:8px 0 96px;padding:24px 28px;border:0;border-radius:var(--radius-m);background:var(--soft)}
body.home-page .home-plans{padding:0 0 80px}
body.home-page .home-plans>h2{margin:0 0 32px;font-size:clamp(2rem,1.5rem + 1.2vw,2.75rem);font-weight:550;line-height:1.15;letter-spacing:-.035em}
body.home-page .home-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.home-page .home-plan{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px 24px;border:1px solid var(--hairline);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-1)}
body.home-page .home-plan h3{margin:0 0 24px;font-size:1.125rem;font-weight:600}
body.home-page .home-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin:0;font-size:2.5rem;font-weight:550;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:lining-nums tabular-nums}
body.home-page .home-price span{font-size:.8125rem;font-weight:500;letter-spacing:0;color:var(--muted)}
body.home-page .home-price span:first-child{margin-right:4px}
body.home-page .home-yearly{margin:8px 0 0;font-size:.875rem;color:var(--muted)}
body.home-page .home-plan .button{width:100%;margin-top:auto;min-height:48px;background:transparent}
body.home-page .home-plan .button:hover{background:var(--paper);border-color:var(--ink)}
body.home-page .home-faq{max-width:760px;margin:0 auto;padding:16px 0 72px}
body.home-page .home-faq details{padding:8px 0;border-bottom:1px solid var(--line)}
body.home-page .home-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;min-width:44px;list-style:none;padding:12px 4px;font-size:1rem;font-weight:550;line-height:1.5;cursor:pointer}
body.home-page .home-faq summary::-webkit-details-marker{display:none}
body.home-page .home-faq summary::after{content:'+';content:'+' / '';flex-shrink:0;font-size:1.375rem;font-weight:400}
body.home-page .home-faq details[open] summary::after{content:'−';content:'−' / ''}
body.home-page .home-faq details p{margin:0;padding:4px 32px 24px 4px;font-size:.9375rem;color:var(--muted);line-height:1.65}
body.home-page .home-final{display:flex;flex-direction:column;align-items:center;gap:28px;margin:24px 0 64px;padding:64px 24px 72px;border-radius:var(--radius-l);background:var(--soft);text-align:center}
body.home-page .home-final .fox img{height:200px}
body.home-page :where(a,button,summary):focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media (max-width:1023px){
  /* Narrower panels: a tighter call window so the agent's name stays on one line beside the fox. */
  body.home-page .feature-visual{padding:24px}
  body.home-page .listening-card{padding:16px}
  body.home-page .listening-tile{padding:16px 12px 52px}
  body.home-page .listening-name{left:10px;bottom:10px;max-width:calc(100% - 20px);font-size:.6875rem}
}
@media (min-width:861px) and (max-width:1023px){
  body.home-page .feature-scene .fox img{height:160px}
}
@media (max-width:860px){
  body.home-page .hero{min-height:0;padding:32px 0 80px;gap:40px}
  body.home-page .home-features{gap:64px;padding-top:0}
  /* One column, as the hero: the copy, then the visual with room for the fox beside its card. */
  body.home-page .feature-row{grid-template-columns:minmax(0,1fr);gap:24px}
  body.home-page .feature-row:nth-child(even) .feature-copy{order:0}
  body.home-page .home-plan-grid{grid-template-columns:minmax(0,1fr)}
  body.home-page .home-plan{padding:28px}
  body.home-page .home-plan h3{margin-bottom:16px}
  body.home-page .home-plan .button{max-width:280px}
}
@media (max-width:640px){
  body.home-page .hero{padding-top:24px;padding-bottom:72px}
  body.home-page .hero h1{font-size:clamp(2.75rem,1.75rem + 4vw,3.5rem)}
  body.home-page .hero-lede{max-width:30ch;font-size:1.125rem}
  body.home-page .listening-tile .fox img,body.home-page .feature-scene .fox img{height:150px}
  body.home-page .home-features{gap:64px;padding-bottom:64px}
  body.home-page .feature-copy h2{max-width:22ch;font-size:1.875rem}
  body.home-page .feature-copy p{margin-top:16px}
  body.home-page .feature-visual{min-height:300px}
  body.home-page .soon{margin:0 0 64px;padding:24px}
  body.home-page .home-plans{padding-bottom:48px}
  body.home-page .home-plans>h2{margin-bottom:24px}
  body.home-page .home-plan .button{max-width:none}
  body.home-page .home-faq{padding-bottom:48px}
  body.home-page .home-faq summary{min-height:72px;gap:16px}
  body.home-page .home-final{gap:24px;margin:16px 0 40px;padding:40px 24px 48px}
  body.home-page .home-final .fox img{height:160px}
}
@media (prefers-reduced-motion:reduce){
  body.home-page *,body.home-page *::before,body.home-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* === fim home rebrand === */

/* === Prisma home review 2026-10-22 === */
body.home-page .account-signal{background:var(--ink)}
body.home-page .home-plan > p:last-of-type{margin-bottom:28px}
body.home-page .home-plan .button{margin-top:auto}
/* === fim Prisma home review === */

/* === public pages rebrand (raposa) 2026-10-22 === */
body.payments-page .payments-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:56px 0 64px}
body.payments-page .payments-heading-copy{max-width:720px}
body.payments-page .payments-heading h1{max-width:18ch;font-size:clamp(2.75rem,1.6rem + 3.4vw,4.5rem);font-weight:550;letter-spacing:-.045em;line-height:1.06}
body.payments-page .payments-avatar{flex-shrink:0}
body.payments-page .payments-avatar img{height:160px}
body.payments-page .payment-plans{gap:20px}
body.payments-page .payment-plan{padding:32px 28px;border-radius:var(--radius-l);box-shadow:var(--shadow-1)}
body.payments-page .payment-plan-featured{border-width:1px;border-color:var(--ink);box-shadow:var(--shadow-2)}
body.payments-page .payment-plan>h2{font-size:1.125rem;font-weight:600;margin-bottom:24px}
body.payments-page .payment-price{font-weight:550}
body.payments-page .plan-points{gap:14px;color:var(--muted)}
body.payments-page .plan-actions{padding-top:32px}
body.payments-page .payment-cta,body.not-found-page .cta{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:var(--shadow-1)}
body.payments-page .payment-cta:hover,body.not-found-page .cta:hover{background:var(--muted);border-color:var(--muted);text-decoration:none}
body.payments-page .payment-cta-secondary{background:transparent;border-color:var(--edge);color:var(--ink);box-shadow:none}
body.payments-page .payment-cta-secondary:hover{background:var(--paper);border-color:var(--ink)}
body.payments-page .payment-more{margin:36px 0 80px;gap:8px 32px}
body.home-page .sheet-head h2,body.payments-page .sheet-head h2{font-weight:550;letter-spacing:-.035em}
body.payments-page .sheet-body{padding-bottom:32px}
body.payments-page .included-plan,body.payments-page .payment-details dl>div{border-radius:var(--radius-m)}
body.payments-page .payment-details a{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
body.payments-page .agency-price{margin-top:16px}
body.not-found-page .not-found{display:flex;flex-direction:column;align-items:center;max-width:none;min-height:calc(100svh - 190px);padding:64px 24px 96px;text-align:center}
body.not-found-page .not-found-avatar{margin-bottom:24px}
body.not-found-page .not-found-avatar img{height:180px}
body.not-found-page .not-found .eyebrow{font-size:.875rem;letter-spacing:0;color:var(--muted);text-transform:lowercase}
body.not-found-page .not-found h1{max-width:12ch;margin:16px 0 0;font-size:clamp(2.75rem,1.6rem + 3.4vw,4.5rem);font-weight:550;letter-spacing:-.045em;line-height:1.06}
body.not-found-page .not-found-links{align-items:center;justify-content:center;gap:12px 28px;margin-top:32px}
body.payments-page :where(a,button,input):focus-visible,body.not-found-page :where(a,button):focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media (max-width:860px){
  body.payments-page .payments-heading{gap:24px;padding:32px 0 40px}
  body.payments-page .payment-plans{gap:16px}
  body.payments-page .payment-plan{padding:28px}
}
@media (max-width:640px){
  body.payments-page .payments-heading{flex-direction:column-reverse;align-items:flex-start;gap:24px;padding:24px 0 40px}
  body.payments-page .payments-heading h1{font-size:clamp(2.75rem,1.75rem + 4vw,3.5rem)}
  body.payments-page .payments-avatar img{height:104px}
  body.payments-page .payment-plan{padding:28px 24px}
  body.payments-page .payment-more{align-items:flex-start;flex-direction:column;gap:8px;margin:24px 0 48px}
  body.not-found-page .not-found{min-height:calc(100svh - 250px);padding:40px 0 64px}
  body.not-found-page .not-found-avatar img{height:150px}
  body.not-found-page .not-found h1{font-size:clamp(2.75rem,1.75rem + 4vw,3.5rem)}
  body.not-found-page .not-found-links{flex-direction:column;width:100%;gap:8px}
  body.not-found-page .not-found-links .cta{width:100%}
}
@media (prefers-reduced-motion:reduce){
  body.payments-page *,body.payments-page *::before,body.payments-page *::after,body.not-found-page *,body.not-found-page *::before,body.not-found-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* Less on the screen (26/10/2026): one surface per idea. The cards stand on the paper without a second panel
   around them, "Coming soon" and the last Start free are text on the page, and on a phone a plan is one row. */
body.home-page .feature-visual{min-height:0;padding:12px 0;border-radius:0;background:transparent}
body.home-page .soon{margin:0 auto 88px;padding:0;background:transparent}
body.home-page .home-final{margin:8px 0 56px;padding:24px 0 8px;border-radius:0;background:transparent}
@media (max-width:1023px){
  body.home-page .feature-visual{padding:8px 0}
}
@media (max-width:640px){
  body.home-page .feature-visual{min-height:0}
  body.home-page .soon{margin:0 auto 56px;padding:0}
  body.home-page .home-final{margin:0 0 32px;padding:16px 0 0}
  body.home-page .home-plan-grid{gap:10px}
  body.home-page .home-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:16px 18px;border-radius:var(--radius-m);box-shadow:none}
  body.home-page .home-plan h3{grid-column:1;margin:0 0 2px;font-size:1rem}
  body.home-page .home-price{grid-column:1;font-size:1.625rem}
  body.home-page .home-yearly{grid-column:1;margin:2px 0 0;font-size:.8125rem}
  body.home-page .home-plan > p:last-of-type{margin-bottom:0}
  body.home-page .home-plan .button{grid-column:2;grid-row:1 / span 3;width:auto;min-height:44px;margin:0;padding-inline:18px}
}
/* === fim public pages rebrand === */
