/* Thrive Homes GR: site stylesheet.
   Tokens are copied from the Thrive Homes GR Design System
   (Claude Design project 3ced2ec2-3a47-428b-828b-adc0ef568dac, tokens/*.css).
   Do not introduce colors outside this token block.
   Chrome and component classes are prefixed t- so they never collide with
   older page-level CSS on guide pages. */

:root{
  --thrive-teal:#176A83;--thrive-teal-light:#6CB9CD;--thrive-teal-pale:#C4E1E9;--thrive-teal-deep:#0F787A;
  --thrive-orange:#D6802A;--thrive-green:#3BAC88;--thrive-green-dark:#284C45;--thrive-plum:#632F53;--thrive-pink:#BB5E94;
  --thrive-paper:#F7FAFB;--thrive-off-white:#EFF4F5;--thrive-light-bg:#E7F1F5;--thrive-text-dark:#1A2A30;--thrive-text-muted:#6B7C84;--thrive-white:#FFFFFF;

  --text-body:var(--thrive-text-dark);--text-muted:var(--thrive-text-muted);--text-heading:var(--thrive-text-dark);
  --text-accent:var(--thrive-teal);--text-on-dark:#F2F7F8;--text-muted-on-dark:rgba(242,247,248,.64);
  --text-link:var(--thrive-teal);--text-link-hover:var(--thrive-teal-deep);

  --surface-page:var(--thrive-paper);--surface-card:var(--thrive-white);--surface-subtle:var(--thrive-off-white);
  --surface-tint:var(--thrive-light-bg);--surface-dark:var(--thrive-text-dark);--surface-dark-deep:#132126;

  --border-hairline:rgba(26,42,48,.10);--border-strong:rgba(26,42,48,.20);--border-on-dark:rgba(242,247,248,.16);
  --action-primary:var(--thrive-orange);--action-primary-hover:#BE6E1F;--focus-ring:var(--thrive-teal-light);

  --accent-buy:var(--thrive-teal);--accent-sell:var(--thrive-orange);--accent-relocate:var(--thrive-green);
  --accent-invest:var(--thrive-plum);--accent-community:var(--thrive-pink);

  --thrive-rainbow:linear-gradient(to right,#D6802A 0 16.6667%,#176A83 16.6667% 33.3333%,#3BAC88 33.3333% 50%,#6CB9CD 50% 66.6667%,#632F53 66.6667% 83.3333%,#BB5E94 83.3333% 100%);
  --thrive-rainbow-height:6px;
  --thrive-highlighter:linear-gradient(180deg,transparent 65%,rgba(214,128,42,.22) 65%);
  --ghost-word-color:rgba(23,106,131,.06);

  --font-display:"League Spartan","Arial Black",Arial,sans-serif;
  --font-body:"Montserrat",Arial,Helvetica,sans-serif;
  --size-display-1:clamp(44px,7vw,88px);--size-display-2:clamp(34px,5vw,60px);--size-display-3:clamp(28px,3.4vw,44px);
  --size-heading:28px;--size-subheading:21px;--size-lead:20px;--size-body:17px;--size-body-sm:15px;--size-caption:13px;--size-eyebrow:12px;
  --leading-display:1.02;--leading-heading:1.14;--leading-body:1.68;
  --tracking-display:-.02em;--tracking-eyebrow:.18em;--tracking-label:.09em;

  --space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;
  --measure-page:1200px;--measure-narrow:760px;--gutter:clamp(20px,5vw,56px);--section-y:clamp(64px,9vw,128px);

  --radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-card:14px;--radius-pill:999px;
  --shadow-card:0 2px 6px rgba(26,42,48,.06),0 12px 28px rgba(26,42,48,.05);
  --shadow-card-hover:0 4px 10px rgba(26,42,48,.08),0 20px 42px rgba(26,42,48,.09);
  --glass-bg:rgba(242,247,248,.82);--glass-blur:saturate(160%) blur(14px);
  --ease-standard:cubic-bezier(.4,0,.2,1);--duration-fast:120ms;--duration-base:200ms;

  /* Aliases so older guide-page CSS (which used --cream, --offwhite, --light-bg)
     picks up the design system surfaces. Cream is retired. */
  --cream:var(--thrive-paper);--offwhite:var(--thrive-off-white);--light-bg:var(--thrive-light-bg);
}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--size-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
::selection{background:rgba(214,128,42,.24)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- Layout ---------- */
.t-wrap{max-width:var(--measure-page);margin:0 auto;padding:0 var(--gutter)}
.t-narrow{max-width:var(--measure-narrow)}
.t-section{padding:var(--section-y) 0;position:relative;overflow:hidden}
.t-section--subtle{background:var(--surface-subtle)}
.t-section--tint{background:var(--surface-tint)}
.t-section--dark{background:var(--surface-dark);color:var(--text-on-dark)}
.t-section--dark h2,.t-section--dark h3{color:#fff}
.t-section--tight{padding:clamp(40px,6vw,72px) 0}

/* ---------- Type ---------- */
.t-h1,.t-h2,.t-h3,.t-h4{font-family:var(--font-display);font-weight:800;color:var(--text-heading);margin:0 0 var(--space-4);letter-spacing:var(--tracking-display)}
.t-h1{font-size:var(--size-display-1);line-height:var(--leading-display);max-width:14ch}
.t-h2{font-size:var(--size-display-2);line-height:1.04;max-width:20ch}
.t-h3{font-size:var(--size-heading);line-height:var(--leading-heading);letter-spacing:-.01em}
.t-h4{font-size:var(--size-subheading);line-height:1.25;letter-spacing:-.01em}
.t-section--dark .t-h2,.t-section--dark .t-h3{color:#fff}
.t-eyebrow{font-family:var(--font-display);font-weight:700;font-size:var(--size-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent);margin:0 0 var(--space-4);display:block}
.t-section--dark .t-eyebrow{color:var(--thrive-teal-light)}
.t-lead{font-size:var(--size-lead);line-height:1.6;max-width:58ch;color:var(--text-body)}
.t-muted{color:var(--text-muted)}
.t-section--dark .t-muted{color:var(--text-muted-on-dark)}
.t-hl{background:var(--thrive-highlighter);font-weight:700}
.t-em{font-style:italic;color:var(--text-accent)}
.t-section--dark .t-em{color:var(--thrive-teal-light)}
.t-link{color:var(--text-link);text-decoration:none;border-bottom:1px solid rgba(23,106,131,.32);transition:color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}
.t-link:hover{color:var(--text-link-hover);border-bottom-color:var(--text-link-hover)}

/* ---------- Rainbow stripe: six hard stops, never blended ---------- */
.t-stripe{height:var(--thrive-rainbow-height);background:var(--thrive-rainbow);width:100%}

/* ---------- Buttons ---------- */
.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:var(--tracking-label);text-transform:uppercase;text-decoration:none;border-radius:var(--radius-pill);padding:15px 26px;border:2px solid transparent;cursor:pointer;transition:background var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard);line-height:1.1}
.t-btn--primary{background:var(--action-primary);color:#fff}
.t-btn--primary:hover{background:var(--action-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-card)}
.t-btn--ghost{background:transparent;color:var(--thrive-teal);border-color:var(--thrive-teal)}
.t-btn--ghost:hover{background:rgba(23,106,131,.08)}
.t-section--dark .t-btn--ghost{color:#fff;border-color:rgba(255,255,255,.6)}
.t-btn:active{transform:scale(.985)}
.t-btn--sm{padding:11px 18px;font-size:12.5px}
.t-btn--block{width:100%}

/* ---------- Cards ---------- */
.t-card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:32px;position:relative}
.t-card--accent{border-top:3px solid var(--card-accent,var(--thrive-teal))}
a.t-card{display:block;color:inherit;text-decoration:none;transition:transform var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}
a.t-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}

/* ---------- Grid ---------- */
.t-grid{display:grid;gap:24px}
.t-grid--3{grid-template-columns:repeat(3,1fr)}
.t-grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.t-grid--3,.t-grid--2{grid-template-columns:1fr}}

/* ---------- Forms ---------- */
.t-field{display:block;width:100%;box-sizing:border-box;font-family:var(--font-body);font-size:16px;color:var(--text-body);background:#fff;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:14px 16px;transition:border-color var(--duration-base),box-shadow var(--duration-base)}
.t-field:focus{outline:none;border-color:var(--thrive-teal);box-shadow:0 0 0 3px rgba(108,185,205,.35)}
textarea.t-field{min-height:96px;resize:vertical}
.t-label{display:block;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}
.t-form-note{font-size:var(--size-caption);color:var(--text-muted);margin:10px 0 0}
.t-stack>*+*{margin-top:12px}

/* ---------- Nav ---------- */
.t-top{position:sticky;top:0;z-index:50}
.t-nav{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-hairline)}
.t-nav__inner{max-width:var(--measure-page);margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;gap:24px}
.t-nav__brand{display:block;border:0;flex:0 0 auto;line-height:0}
.t-nav__brand img{height:44px;width:auto}
.t-nav__links{display:flex;align-items:center;gap:22px;margin-left:auto;list-style:none;padding:0;margin-top:0;margin-bottom:0}
.t-nav__links a{white-space:nowrap;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-body);text-decoration:none;border:0;padding:6px 0;transition:color var(--duration-base)}
.t-nav__links a:hover,.t-nav__links a[aria-current="page"]{color:var(--thrive-teal)}
.t-nav__links a.t-btn{color:#fff;padding:11px 18px}
.t-nav__toggle{display:none;margin-left:auto;background:none;border:0;padding:10px;cursor:pointer;border-radius:var(--radius-md)}
.t-nav__toggle span{display:block;width:24px;height:2px;background:var(--text-body);margin:5px 0;transition:transform var(--duration-base)}
@media (max-width:1180px){
  .t-nav__toggle{display:block}
  .t-nav__links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--surface-page);border-bottom:1px solid var(--border-hairline);padding:8px var(--gutter) 20px;box-shadow:var(--shadow-card)}
  .t-nav__links.is-open{display:flex}
  .t-nav__links a{padding:14px 0;border-bottom:1px solid var(--border-hairline);font-size:14px}
  .t-nav__links li:last-child a{margin-top:14px;border-bottom:0;text-align:center;justify-content:center;display:flex}
  .t-nav__brand img{height:36px}
}

/* ---------- Footer ---------- */
.t-footer{background:var(--surface-dark-deep);color:var(--text-muted-on-dark);font-size:14.5px;line-height:1.7}
.t-footer__inner{max-width:var(--measure-page);margin:0 auto;padding:64px var(--gutter) 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.t-footer img{height:40px;width:auto;margin-bottom:18px}
.t-footer h3{font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:#fff;margin:0 0 14px}
.t-footer ul{list-style:none;margin:0;padding:0}
.t-footer a{color:var(--text-on-dark);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--duration-base)}
.t-footer a:hover{border-bottom-color:var(--thrive-teal-light)}
.t-footer p{margin:0 0 8px}
.t-footer__legal{max-width:var(--measure-page);margin:0 auto;padding:22px var(--gutter) 32px;border-top:1px solid var(--border-on-dark);display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;font-size:13px}
.t-eho{display:inline-flex;align-items:center;gap:8px}
.t-eho svg{width:22px;height:22px;fill:currentColor}
@media (max-width:900px){.t-footer__inner{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.t-footer__inner{grid-template-columns:1fr}}

/* ---------- Cold CTA band (every page) ---------- */
.t-ask{background:var(--surface-tint)}
.t-ask__inner{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
.t-ask form{display:flex;gap:12px;flex-wrap:wrap}
.t-ask .t-field{flex:1 1 260px}
.t-ask__alt{margin-top:14px;font-size:var(--size-body-sm);color:var(--text-muted)}
@media (max-width:900px){.t-ask__inner{grid-template-columns:1fr;gap:24px}}

/* ---------- Ghost word ---------- */
.t-ghost{position:absolute;font-family:var(--font-display);font-weight:900;font-size:clamp(160px,26vw,360px);line-height:.8;color:var(--ghost-word-color);letter-spacing:-.04em;pointer-events:none;user-select:none;white-space:nowrap;z-index:0}
.t-section>.t-wrap{position:relative;z-index:1}

/* ---------- Freshness stamp ---------- */
.t-stamp{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);background:var(--surface-subtle);border:1px solid var(--border-hairline);border-radius:var(--radius-pill);padding:6px 12px}

/* Screen-reader only text */
.t-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
