/* ============================================================================
   Chestatee Real Estate — "Riverstone" design system
   chestateerealestate.com · Chestatee River + golf-community real estate (→ GPR)
   Type: DM Serif Display (editorial display) + Figtree (humanist grotesque)
   Palette: cool greige · slate ink · deep river slate-blue · burnished copper · river mist
   Distinct from sibling chestateeriver.com (Playfair/Montserrat, green/gold/teal).
   Enqueued by cr-design.php. Motion gated behind .cr-js + prefers-reduced-motion. v1 2026-07-06
   ========================================================================== */

:root{
  --cr-paper:#ece8e1;      /* cool greige paper           */
  --cr-paper-2:#e0dbcf;    /* deeper stone (alt bands)    */
  --cr-ink:#20272b;        /* slate charcoal              */
  --cr-ink-2:#414b4e;      /* slate body text             */
  --cr-river:#274b57;      /* deep river slate-blue (primary) */
  --cr-river-deep:#183640;
  --cr-copper:#b06a3c;     /* burnished copper accent     */
  --cr-copper-ink:#8a4e28; /* copper for small on-light text (a11y) */
  --cr-copper-lt:#d68b52;  /* copper for small on-dark text (a11y)  */
  --cr-mist:#5f7377;       /* river mist gray-blue        */
  --cr-line:rgba(32,39,43,.14);
  --cr-line-2:rgba(32,39,43,.08);
  --cr-wrap:1200px;
  --cr-serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --cr-sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --cr-shadow:0 26px 64px -30px rgba(24,32,36,.6);
  --cr-shadow-sm:0 12px 32px -20px rgba(24,32,36,.55);
}

/* ── Full-bleed reset (TT2025 double-nests global padding) — proven pattern ── */
.cr-scope{ width:100%; max-width:100%; margin:0; overflow-x:clip; }
body.home .wp-block-post-title,
body.home .wp-block-post-content > .wp-block-spacer:first-child{ display:none !important; }
body.home main,
body.home main .has-global-padding,
body.home .wp-block-post-content{ padding-left:0 !important; padding-right:0 !important; max-width:none !important; }
body.home main .alignfull{ margin-left:0 !important; margin-right:0 !important; }
body.home .wp-block-post-content{ margin-block:0 !important; }
body.home main{ margin-top:0 !important; padding-top:0 !important; }
body.home main .has-global-padding{ padding-top:0 !important; }

/* ── Base ── */
body.cr{ background:var(--cr-paper); color:var(--cr-ink-2); }
.cr-scope,.cr-scope *{ box-sizing:border-box; }
.cr-scope{
  font-family:var(--cr-sans);
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.7; color:var(--cr-ink-2);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.cr-scope h1,.cr-scope h2,.cr-scope h3,.cr-scope h4{
  font-family:var(--cr-serif); color:var(--cr-ink); font-weight:400;
  line-height:1.08; letter-spacing:0; margin:0 0 .5em;
}
.cr-scope p{ margin:0 0 1.1em; max-width:66ch; }
.cr-scope a{ color:var(--cr-river); text-decoration:none; }
.cr-scope img{ max-width:100%; height:auto; display:block; }

.cr-wrap{ max-width:var(--cr-wrap); margin-inline:auto; padding-inline:clamp(1.25rem,5vw,3.25rem); }
.cr-wrap--narrow{ max-width:820px; }
.cr-sec{ position:relative; padding-block:clamp(3.75rem,7vw,7rem); overflow:clip; }
.cr-center{ text-align:center; margin-inline:auto; }

/* ── Eyebrow ── */
.cr-eyebrow{ display:inline-flex; align-items:center; gap:.7rem; font-family:var(--cr-sans);
  font-weight:700; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--cr-copper-ink); margin:0 0 1.1rem; }
.cr-eyebrow::before{ content:""; width:30px; height:2px; background:var(--cr-copper); border-radius:2px; }
.cr-eyebrow.is-light{ color:var(--cr-copper-lt); }
.cr-eyebrow.is-light::before{ background:var(--cr-copper-lt); }
.cr-eyebrow.is-center{ justify-content:center; }

/* ── Type scale ── */
.cr-h1{ font-size:clamp(2.6rem,1.9rem + 4.4vw,5rem); }
.cr-h2{ font-size:clamp(2rem,1.5rem + 2.3vw,3.25rem); }
.cr-h3{ font-size:clamp(1.35rem,1.15rem + 1vw,1.85rem); }
.cr-lead{ font-size:clamp(1.1rem,1.03rem + .5vw,1.36rem); line-height:1.6; color:var(--cr-ink-2); }
.cr-river-t{ color:var(--cr-river); }

/* ── Buttons ── */
.cr-btn{ --_bg:var(--cr-river); --_fg:#f4f1ea;
  display:inline-flex; align-items:center; gap:.6rem; cursor:pointer;
  font-family:var(--cr-sans); font-weight:700; font-size:.93rem; letter-spacing:.01em;
  padding:.95rem 1.6rem; border-radius:3px; border:1.5px solid transparent;
  background:var(--_bg); color:var(--_fg);
  transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.cr-btn svg{ width:1.05em; height:1.05em; transition:transform .25s ease; }
.cr-btn:hover{ background:var(--cr-river-deep); box-shadow:var(--cr-shadow-sm); }
.cr-btn:hover svg{ transform:translateX(4px); }
.cr-btn--copper{ background:var(--cr-copper); color:#241203; }
.cr-btn--copper:hover{ background:#c07a49; box-shadow:0 12px 34px -16px rgba(176,106,60,.7); }
.cr-btn--ghost{ background:transparent; color:var(--cr-ink); border-color:var(--cr-line); }
.cr-btn--ghost:hover{ background:var(--cr-ink); color:var(--cr-paper); border-color:var(--cr-ink); }
.cr-btn--ghost-dark{ background:transparent; color:#f4f1ea; border-color:rgba(244,241,234,.35); }
.cr-btn--ghost-dark:hover{ background:rgba(244,241,234,.12); border-color:rgba(244,241,234,.6); }
.cr-scope a.cr-btn{ color:var(--_fg); }
.cr-scope a.cr-btn--copper{ color:#241203; }
.cr-scope a.cr-btn--ghost{ color:var(--cr-ink); }
.cr-scope a.cr-btn--ghost:hover{ color:var(--cr-paper); }
.cr-scope a.cr-btn--ghost-dark{ color:#f4f1ea; }

/* ── Reveal ── */
.cr-js .cr-reveal{ opacity:0; transform:translateY(20px); }
.cr-js .cr-reveal.is-in{ opacity:1; transform:none; transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); }
.cr-js .cr-reveal.d1{ transition-delay:.08s; }
.cr-js .cr-reveal.d2{ transition-delay:.16s; }
.cr-js .cr-reveal.d3{ transition-delay:.24s; }
@media (prefers-reduced-motion:reduce){
  .cr-js .cr-reveal,.cr-js .cr-reveal.is-in{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ── Grain ── */
.cr-grain::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ============================ SPLIT HERO ============================ */
.cr-hero{ display:grid; grid-template-columns:1fr; isolation:isolate; }
@media (min-width:960px){ .cr-hero{ grid-template-columns:minmax(430px,43%) 1fr; min-height:clamp(600px,90vh,900px); } }
.cr-hero__panel{ position:relative; background:var(--cr-river-deep); color:#f4f1ea; overflow:clip;
  padding:clamp(2.75rem,6vw,4.75rem) clamp(1.5rem,5vw,3.5rem); display:flex; flex-direction:column; justify-content:center; }
.cr-hero__panel::before{ content:""; position:absolute; inset:0; z-index:0;
  background:radial-gradient(120% 80% at 20% 10%,rgba(95,115,119,.28),transparent 55%); }
.cr-hero__panel > *{ position:relative; z-index:1; }
.cr-hero__panel .cr-eyebrow{ color:var(--cr-copper-lt); }
.cr-hero__panel .cr-eyebrow::before{ background:var(--cr-copper-lt); }
.cr-hero h1{ color:#f7f4ee; max-width:14ch; }
.cr-hero h1 em{ color:var(--cr-copper-lt); font-style:italic; }
.cr-hero__sub{ color:rgba(244,241,234,.85); max-width:44ch; font-size:clamp(1.03rem,1rem + .4vw,1.24rem); line-height:1.6; margin-top:.3rem; }
.cr-hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.cr-hero__facts{ display:flex; flex-wrap:wrap; gap:1.2rem 2rem; margin-top:2.25rem; padding-top:1.4rem; border-top:1px solid rgba(244,241,234,.2); }
.cr-hero__fact b{ display:block; font-family:var(--cr-serif); font-size:1.4rem; color:#f7f4ee; font-weight:400; line-height:1; }
.cr-hero__fact span{ display:block; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(244,241,234,.7); margin-top:.35rem; }
.cr-hero__media{ position:relative; min-height:56vw; overflow:clip; }
@media (min-width:960px){ .cr-hero__media{ min-height:100%; } }
.cr-hero__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.05); }
.cr-js .cr-hero__media img{ animation:cr-ken 24s ease-out forwards; }
@keyframes cr-ken{ from{ transform:scale(1.12); } to{ transform:scale(1.02); } }
@media (prefers-reduced-motion:reduce){ .cr-js .cr-hero__media img{ animation:none; transform:scale(1.02); } }
.cr-hero__media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(24,54,64,.35),transparent 30%); } /* seam into panel */
.cr-hero__seam{ position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--cr-copper),transparent); z-index:2; }
/* staggered entrance */
.cr-js .cr-hero__panel > *{ opacity:0; transform:translateY(20px); animation:cr-rise .9s cubic-bezier(.2,.7,.2,1) forwards; }
.cr-js .cr-hero__panel > *:nth-child(1){ animation-delay:.15s; }
.cr-js .cr-hero__panel > *:nth-child(2){ animation-delay:.3s; }
.cr-js .cr-hero__panel > *:nth-child(3){ animation-delay:.45s; }
.cr-js .cr-hero__panel > *:nth-child(4){ animation-delay:.6s; }
@keyframes cr-rise{ to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .cr-js .cr-hero__panel > *{ opacity:1; transform:none; animation:none; } }

/* ============================ INTRO ============================ */
.cr-intro{ background:var(--cr-paper); }
.cr-intro__grid{ display:grid; grid-template-columns:1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:start; }
@media (min-width:900px){ .cr-intro__grid{ grid-template-columns:.85fr 1.15fr; } }
.cr-intro__answer{ font-family:var(--cr-serif); font-size:clamp(1.5rem,1.2rem + 1.6vw,2.35rem); line-height:1.24; color:var(--cr-ink); }
.cr-intro__answer em{ color:var(--cr-river); font-style:italic; }
.cr-intro__body p:last-child{ margin-bottom:0; }
.cr-inline-link{ color:var(--cr-river); font-weight:600; border-bottom:1.5px solid rgba(39,75,87,.32); transition:border-color .2s; }
.cr-inline-link:hover{ border-color:var(--cr-river); }

/* ============================ RIVER FEATURE BAND ============================ */
.cr-feature{ background:var(--cr-paper-2); }
.cr-feature__grid{ display:grid; grid-template-columns:1fr; gap:clamp(1.75rem,4vw,3.5rem); align-items:center; }
@media (min-width:940px){ .cr-feature__grid{ grid-template-columns:1.05fr .95fr; } }
.cr-feature__figure{ position:relative; border-radius:4px; overflow:clip; box-shadow:var(--cr-shadow); }
.cr-feature__figure img{ width:100%; aspect-ratio:16/11; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.cr-feature__figure:hover img{ transform:scale(1.04); }
.cr-feature__badge{ position:absolute; left:1.1rem; bottom:1.1rem; background:rgba(24,54,64,.85); color:#f4f1ea;
  font-family:var(--cr-sans); font-weight:600; font-size:.8rem; letter-spacing:.04em; padding:.5rem .85rem; border-radius:3px; backdrop-filter:blur(3px); }
.cr-feature__body .cr-h2{ margin-bottom:.4em; }
.cr-feature__rule{ width:56px; height:3px; background:var(--cr-copper); border-radius:3px; margin:0 0 1.4rem; }

/* ============================ KNOW GRID (2x2) ============================ */
.cr-know{ background:var(--cr-paper); }
.cr-know__grid{ display:grid; grid-template-columns:1fr; gap:1.1rem; margin-top:2.5rem; }
@media (min-width:640px){ .cr-know__grid{ grid-template-columns:1fr 1fr; } }
.cr-know__card{ padding:1.75rem 1.6rem; border:1px solid var(--cr-line); border-radius:4px; background:#f5f2eb;
  transition:border-color .25s,transform .25s,box-shadow .25s; }
.cr-know__card:hover{ border-color:rgba(176,106,60,.55); transform:translateY(-3px); box-shadow:var(--cr-shadow-sm); }
.cr-know__n{ font-family:var(--cr-serif); font-size:1.5rem; color:var(--cr-copper-ink); line-height:1; }
.cr-know__card h3{ font-family:var(--cr-sans); font-weight:700; font-size:1.08rem; color:var(--cr-ink); margin:.7rem 0 .35rem; }
.cr-know__card p{ margin:0; font-size:.95rem; color:var(--cr-ink-2); max-width:44ch; }
.cr-know__card a{ color:var(--cr-river); font-weight:600; }

/* ============================ TWO WAYS (split) ============================ */
.cr-ways{ background:var(--cr-river); color:#f4f1ea; position:relative; overflow:clip; }
.cr-ways .cr-eyebrow{ color:var(--cr-copper-lt); }
.cr-ways h2{ color:#f7f4ee; }
.cr-ways__lead{ color:rgba(244,241,234,.82); }
.cr-ways__grid{ display:grid; grid-template-columns:1fr; gap:1.1rem; margin-top:2.5rem; }
@media (min-width:760px){ .cr-ways__grid{ grid-template-columns:1fr 1fr; } }
.cr-way{ display:flex; flex-direction:column; padding:1.9rem 1.7rem; border:1px solid rgba(244,241,234,.18); border-radius:4px;
  background:rgba(244,241,234,.04); text-decoration:none; transition:background .25s,border-color .25s,transform .25s; }
.cr-way:hover{ background:rgba(244,241,234,.08); border-color:rgba(214,139,82,.55); transform:translateY(-3px); }
.cr-way__tag{ font-family:var(--cr-sans); font-weight:700; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cr-copper-lt); }
.cr-way h3{ color:#f7f4ee; font-size:1.5rem; margin:.7rem 0 .5rem; }
.cr-way p{ color:rgba(244,241,234,.78); font-size:.96rem; margin:0 0 1.1rem; }
.cr-way__go{ margin-top:auto; font-family:var(--cr-sans); font-weight:700; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:#f4f1ea; display:inline-flex; align-items:center; gap:.4rem; }
.cr-way__go svg{ width:1em; height:1em; transition:transform .25s; }
.cr-way:hover .cr-way__go svg{ transform:translateX(4px); }

/* ============================ GUIDES ============================ */
.cr-guides{ background:var(--cr-paper); }
.cr-guides__grid{ display:grid; grid-template-columns:1fr; gap:1.1rem; margin-top:2.5rem; }
@media (min-width:680px){ .cr-guides__grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .cr-guides__grid{ grid-template-columns:repeat(3,1fr); } }
.cr-guide{ display:flex; flex-direction:column; padding:1.6rem 1.5rem; border:1px solid var(--cr-line); border-radius:4px;
  background:#f5f2eb; text-decoration:none; transition:border-color .25s,transform .25s,box-shadow .25s; }
.cr-guide:hover{ border-color:rgba(176,106,60,.5); transform:translateY(-3px); box-shadow:var(--cr-shadow-sm); }
.cr-guide__tag{ font-family:var(--cr-sans); font-weight:700; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cr-copper-ink); }
.cr-guide h3{ color:var(--cr-ink); font-size:1.22rem; margin:.7rem 0 .5rem; line-height:1.16; }
.cr-guide p{ color:var(--cr-ink-2); font-size:.92rem; margin:0 0 1.1rem; }
.cr-guide__go{ margin-top:auto; font-family:var(--cr-sans); font-weight:700; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--cr-river); display:inline-flex; align-items:center; gap:.4rem; }
.cr-guide__go svg{ width:1em; height:1em; transition:transform .25s; }
.cr-guide:hover .cr-guide__go svg{ transform:translateX(4px); }
.cr-guides__all{ margin-top:2.5rem; text-align:center; }

/* ============================ FAQ ============================ */
.cr-faq{ background:var(--cr-paper-2); }
.cr-faq__grid{ display:grid; grid-template-columns:1fr; gap:clamp(1.5rem,4vw,3.5rem); align-items:start; }
@media (min-width:900px){ .cr-faq__grid{ grid-template-columns:.8fr 1.2fr; } }
.cr-acc{ border-top:1px solid var(--cr-line); }
.cr-acc details{ border-bottom:1px solid var(--cr-line); }
.cr-acc summary{ cursor:pointer; list-style:none; padding:1.25rem 2.5rem 1.25rem 0; position:relative;
  font-family:var(--cr-serif); font-size:clamp(1.1rem,1rem + .5vw,1.32rem); color:var(--cr-ink); }
.cr-acc summary::-webkit-details-marker{ display:none; }
.cr-acc summary::after{ content:"+"; position:absolute; right:.2rem; top:50%; transform:translateY(-50%);
  font-family:var(--cr-sans); font-size:1.6rem; color:var(--cr-copper-ink); transition:transform .25s; line-height:1; }
.cr-acc details[open] summary::after{ content:"\2013"; }
.cr-acc summary:hover{ color:var(--cr-river); }
.cr-acc summary:focus-visible{ outline:2px solid var(--cr-river); outline-offset:3px; border-radius:2px; }
.cr-acc__body{ padding:0 2.5rem 1.5rem 0; }
.cr-acc__body p{ margin:0; color:var(--cr-ink-2); }

/* ============================ FINAL CTA ============================ */
.cr-final{ position:relative; background:var(--cr-river-deep); color:#f4f1ea; overflow:clip; text-align:center; isolation:isolate; }
.cr-final::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(120% 90% at 50% 0%,rgba(176,106,60,.26),transparent 60%); }
.cr-final .cr-eyebrow{ color:var(--cr-copper-lt); justify-content:center; }
.cr-final h2{ color:#f7f4ee; max-width:18ch; margin-inline:auto; }
.cr-final__rule{ width:60px; height:3px; background:var(--cr-copper); margin:1.5rem auto; border-radius:3px; }
.cr-final p{ margin-inline:auto; color:rgba(244,241,234,.85); }
.cr-final__cta{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; margin-top:2rem; }
.cr-final__phone{ display:block; margin-top:1.6rem; font-family:var(--cr-serif); font-size:1.15rem; color:#f7f4ee; }
.cr-final__phone a{ color:var(--cr-copper-lt); }

/* ============================ HEADER / FOOTER (template parts = <div>, wrapper provides landmark) ============================ */
.cr-mast{ position:sticky; top:0; z-index:40; background:var(--cr-paper); border-bottom:1px solid var(--cr-line); }
.cr-mast__row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:.85rem; }
.cr-brand{ display:inline-flex; align-items:center; gap:.65rem; text-decoration:none; }
.cr-brand__mark{ width:34px; height:34px; flex:0 0 auto; }
.cr-brand__name{ font-family:var(--cr-serif); font-size:1.28rem; color:var(--cr-ink); line-height:1; }
.cr-brand__name span{ color:var(--cr-river); }
.cr-nav{ display:none; align-items:center; gap:1.9rem; }
@media (min-width:900px){ .cr-nav{ display:flex; } }
.cr-nav a{ font-family:var(--cr-sans); font-weight:600; font-size:.92rem; color:var(--cr-ink); position:relative; padding:.3rem 0; }
.cr-nav a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--cr-copper); transition:width .28s ease; }
.cr-nav a:hover::after{ width:100%; }
.cr-mast .cr-btn{ padding:.65rem 1.15rem; font-size:.85rem; }
.cr-form-card{ max-width:640px; margin:0 auto; text-align:center; }
.cr-form-card .fluentform{ text-align:left; margin-top:2rem; }
.cr-form-card .ff-el-group{ margin-bottom:1.1rem; }
.cr-form-card .ff-el-input--label label{ font-family:var(--cr-sans); font-weight:600; font-size:.85rem; color:var(--cr-ink); }
.cr-form-card .ff-el-form-control{ font-family:var(--cr-sans); font-size:1rem; padding:.85rem 1rem; border:1px solid var(--cr-line); border-radius:6px; background:var(--cr-paper); color:var(--cr-ink); }
.cr-form-card .ff-el-form-control:focus{ outline:none; border-color:var(--cr-copper); box-shadow:0 0 0 3px rgba(176,106,60,.15); }
.cr-form-card .ff-btn-submit,.cr-form-card button[type="submit"]{ font-family:var(--cr-sans); font-weight:600; border-radius:6px; padding:.85rem 1.9rem !important; background-color:#b06a3c !important; border-color:#b06a3c !important; }
.cr-form-card .ff-btn-submit:hover,.cr-form-card button[type="submit"]:hover{ background-color:#9a5a30 !important; }

.cr-mnav{ display:none; }
.cr-mnav__toggle{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; cursor:pointer; list-style:none; color:var(--cr-ink); }
.cr-mnav__toggle::-webkit-details-marker{ display:none; }
.cr-mnav__toggle::marker{ content:""; }
.cr-mnav__toggle svg{ width:24px; height:24px; }
.cr-mnav__panel{ display:flex; flex-direction:column; gap:.2rem; position:absolute; top:100%; left:0; right:0; background:var(--cr-paper); border-bottom:1px solid var(--cr-line); padding:.5rem 1.25rem 1.25rem; box-shadow:0 12px 24px -8px rgba(21,51,56,.18); }
.cr-mnav__panel a{ font-family:var(--cr-sans); font-weight:600; font-size:1rem; color:var(--cr-ink); padding:.85rem 0; border-bottom:1px solid var(--cr-line); }
.cr-mnav__panel a:last-child{ border-bottom:none; }
@media (max-width:899px){
  .cr-mnav{ display:block; }
  .cr-mast .cr-btn{ display:none; }
}

.cr-foot{ background:var(--cr-ink); color:rgba(236,232,225,.72); }
.cr-foot__grid{ display:grid; grid-template-columns:1fr; gap:2.25rem; padding-block:clamp(2.75rem,5vw,4rem); }
@media (min-width:760px){ .cr-foot__grid{ grid-template-columns:1.4fr 1fr 1fr; } }
.cr-foot__brand .cr-brand__name{ color:var(--cr-paper); }
.cr-foot__brand .cr-brand__name span{ color:var(--cr-copper-lt); }
.cr-foot__brand p{ margin:1rem 0 0; font-size:.92rem; color:rgba(236,232,225,.58); max-width:42ch; }
.cr-foot h3{ font-family:var(--cr-sans); font-weight:700; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cr-copper-lt); margin:0 0 1rem; }
.cr-foot ul{ list-style:none; margin:0; padding:0; }
.cr-foot li{ margin-bottom:.6rem; }
.cr-foot a{ color:rgba(236,232,225,.72); font-size:.94rem; }
.cr-foot a:hover{ color:var(--cr-copper-lt); }
.cr-foot__bar{ border-top:1px solid rgba(236,232,225,.12); padding-block:1.25rem; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; justify-content:space-between; font-size:.82rem; color:rgba(236,232,225,.66); }

/* ============================ RESPONSIVE ============================ */
@media (max-width:520px){
  .cr-hero__cta .cr-btn,.cr-final__cta .cr-btn{ width:100%; justify-content:center; }
}

/* ============================================================================

/* ============================================================================

/* ============================================================================

/* ============================================================================
   CR-ARTICLE-LAYER-v1  ·  Editorial blog + archive + interior-page system
   Extends the Riverstone design system to single posts, the blog archive,
   and interior landing pages. Added 2026-07-14 (Web Design Factory overhaul).
   ========================================================================== */

/* ── Interior page baseline: give non-home pages the paper + type treatment ── */
body:not(.home).cr .wp-block-post-content,
body:not(.home).cr .entry-content{ color:var(--cr-ink-2); }

/* ============================ SINGLE POST ============================ */
.cr-article{ background:var(--cr-paper); }
.cr-article__inner{ max-width:1180px; margin-inline:auto; padding-inline:clamp(1.25rem,5vw,3.25rem); }

/* Header block: eyebrow(category) + title + byline, centered narrow */
.cr-article__head{ max-width:760px; margin-inline:auto; padding-top:clamp(2.25rem,5vw,4rem); text-align:center; }
.cr-article__head .cr-eyebrow{ justify-content:center; }
.cr-article__cat{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--cr-sans);
  font-weight:700; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--cr-copper-ink); text-decoration:none; margin:0 0 1.1rem; }
.cr-article__cat::before{ content:""; width:26px; height:2px; background:var(--cr-copper); border-radius:2px; }
.cr-article__cat:hover{ color:var(--cr-river); }
.cr-article .wp-block-post-title,
.cr-article__head h1{ font-family:var(--cr-serif); color:var(--cr-ink); font-weight:400;
  font-size:clamp(2.05rem,1.55rem + 2.6vw,3.5rem); line-height:1.1; letter-spacing:-.005em;
  margin:0 auto .2em; max-width:20ch; }
.cr-article__byline{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.5rem .9rem;
  font-family:var(--cr-sans); font-size:.86rem; color:var(--cr-mist); margin-top:1rem; }
.cr-article__byline strong{ color:var(--cr-ink); font-weight:600; }
.cr-article__byline a{ color:var(--cr-river); font-weight:600; }
.cr-article__byline p{ margin:0; }
.cr-article__byline .wp-block-post-date::before{ content:"·"; color:var(--cr-copper); margin-right:.85rem; font-weight:700; }
.cr-article__byline .wp-block-post-date{ font-size:.86rem; color:var(--cr-mist); }

/* Hero featured image */
.cr-article__hero{ margin:clamp(1.75rem,4vw,3rem) auto clamp(1.5rem,3vw,2.5rem); max-width:1120px; }
.cr-article__hero img,
.cr-article__hero .wp-block-post-featured-image img{ width:100%; aspect-ratio:16/9; object-fit:cover;
  border-radius:6px; box-shadow:var(--cr-shadow); }

/* Reading column */
.cr-article__body{ max-width:720px; margin-inline:auto; padding-bottom:clamp(2rem,4vw,3.5rem); }

/* Prose typography (targets native post-content children) */
.cr-prose{ font-size:clamp(1.06rem,1.02rem + .25vw,1.19rem); line-height:1.78; color:var(--cr-ink-2); }
.cr-prose > *{ margin-block:0 1.25em; }
.cr-prose p{ max-width:none; }
.cr-prose > p:first-of-type{ font-size:1.16em; line-height:1.6; color:var(--cr-ink); }  /* lede */
.cr-prose h2{ font-family:var(--cr-serif); font-weight:400; color:var(--cr-ink);
  font-size:clamp(1.7rem,1.4rem + 1.3vw,2.35rem); line-height:1.16; margin-top:2.1em; margin-bottom:.5em; }
.cr-prose h2::before{ content:""; display:block; width:48px; height:3px; background:var(--cr-copper); border-radius:3px; margin-bottom:.7rem; }
.cr-prose h3{ font-family:var(--cr-serif); font-weight:400; color:var(--cr-ink);
  font-size:clamp(1.3rem,1.15rem + .7vw,1.6rem); line-height:1.2; margin-top:1.7em; margin-bottom:.4em; }
.cr-prose h4{ font-family:var(--cr-sans); font-weight:700; color:var(--cr-ink); font-size:1.08rem; margin-top:1.5em; }
.cr-prose a{ color:var(--cr-river); font-weight:600; border-bottom:1.5px solid rgba(39,75,87,.32); transition:border-color .2s; }
.cr-prose a:hover{ border-color:var(--cr-river); }
.cr-prose ul,.cr-prose ol{ padding-left:1.3em; }
.cr-prose li{ margin-bottom:.5em; }
.cr-prose ul li::marker{ color:var(--cr-copper); }
.cr-prose blockquote{ margin:1.8em 0; padding:.2em 0 .2em 1.4rem; border-left:3px solid var(--cr-copper);
  font-family:var(--cr-serif); font-size:1.3em; line-height:1.35; color:var(--cr-ink); font-style:normal; }
.cr-prose blockquote p{ margin:0; }
.cr-prose img,.cr-prose .wp-block-image img{ border-radius:5px; box-shadow:var(--cr-shadow-sm); }
.cr-prose figcaption{ font-size:.85rem; color:var(--cr-mist); text-align:center; margin-top:.6rem; }
.cr-prose strong{ color:var(--cr-ink); }
.cr-prose hr{ border:0; height:1px; background:var(--cr-line); margin:2.4em auto; max-width:120px; }
/* tables */
.cr-prose table{ width:100%; border-collapse:collapse; font-size:.95rem; margin:1.6em 0; }
.cr-prose th,.cr-prose td{ padding:.7rem .85rem; border-bottom:1px solid var(--cr-line); text-align:left; }
.cr-prose thead th{ font-family:var(--cr-sans); font-weight:700; color:var(--cr-ink); background:var(--cr-paper-2); }

/* Tags row */
.cr-article__tags{ max-width:720px; margin:2rem auto 0; display:flex; flex-wrap:wrap; gap:.55rem; }
.cr-article__tags a{ font-family:var(--cr-sans); font-size:.8rem; font-weight:600; letter-spacing:.02em;
  color:var(--cr-ink-2); background:#f5f2eb; border:1px solid var(--cr-line); border-radius:100px; padding:.4rem .9rem; text-decoration:none; transition:.2s; }
.cr-article__tags a:hover{ border-color:var(--cr-copper); color:var(--cr-river); }

/* In-article GPR CTA band (reuses .cr-final vocabulary) */
.cr-cta{ position:relative; background:var(--cr-river-deep); color:#f4f1ea; overflow:clip; text-align:center; isolation:isolate;
  border-radius:8px; padding:clamp(2.25rem,5vw,3.5rem) clamp(1.5rem,5vw,3rem); margin:clamp(2.5rem,5vw,4rem) auto 0; max-width:900px; }
.cr-cta::before{ content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(120% 90% at 50% 0%,rgba(176,106,60,.28),transparent 60%); }
.cr-cta h2{ font-family:var(--cr-serif); font-weight:400; color:#f7f4ee; font-size:clamp(1.5rem,1.2rem + 1.3vw,2.15rem); line-height:1.15; margin:0 auto .5em; max-width:22ch; }
.cr-cta p{ color:rgba(244,241,234,.85); max-width:52ch; margin:0 auto 1.6rem; }
.cr-cta__row{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; }
.cr-cta__phone{ display:block; margin-top:1.4rem; font-family:var(--cr-serif); font-size:1.12rem; color:#f7f4ee; }
.cr-cta__phone a{ color:var(--cr-copper-lt); text-decoration:none; }

/* Related / More posts */
.cr-related{ background:var(--cr-paper-2); padding-block:clamp(3rem,6vw,5rem); margin-top:clamp(2.5rem,5vw,4rem); }
.cr-related__head{ max-width:var(--cr-wrap); margin:0 auto 2rem; padding-inline:clamp(1.25rem,5vw,3.25rem); }
.cr-related__grid,
.cr-related .wp-block-post-template{ list-style:none; margin:0 auto; padding-inline:clamp(1.25rem,5vw,3.25rem); max-width:var(--cr-wrap);
  display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:680px){ .cr-related .wp-block-post-template{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .cr-related .wp-block-post-template{ grid-template-columns:repeat(3,1fr); } }
.cr-related .wp-block-post-template > li{ margin:0; background:#f5f2eb; border:1px solid var(--cr-line); border-radius:6px;
  overflow:clip; transition:border-color .25s,transform .25s,box-shadow .25s; display:flex; flex-direction:column; }
.cr-related .wp-block-post-template > li:hover{ border-color:rgba(176,106,60,.5); transform:translateY(-3px); box-shadow:var(--cr-shadow-sm); }
.cr-related .wp-block-post-featured-image{ margin:0; }
.cr-related .wp-block-post-featured-image img{ width:100%; aspect-ratio:16/10; object-fit:cover; }
.cr-related .wp-block-post-title{ font-family:var(--cr-serif); font-size:1.18rem; line-height:1.2; margin:1rem 1.15rem .3rem; }
.cr-related .wp-block-post-title a{ color:var(--cr-ink); text-decoration:none; }
.cr-related .wp-block-post-title a:hover{ color:var(--cr-river); }
.cr-related .wp-block-post-date{ font-size:.8rem; color:var(--cr-mist); margin:0 1.15rem 1.15rem; }

/* ============================ BLOG ARCHIVE (magazine grid) ============================ */
.cr-blogx{ background:var(--cr-paper); }
.cr-blogx__intro{ max-width:var(--cr-wrap); margin-inline:auto; padding:clamp(2.75rem,6vw,4.75rem) clamp(1.25rem,5vw,3.25rem) 0; text-align:center; }
.cr-blogx__intro h1{ font-family:var(--cr-serif); font-weight:400; color:var(--cr-ink);
  font-size:clamp(2.4rem,1.8rem + 3vw,4rem); line-height:1.05; margin:0 0 .3em; }
.cr-blogx__intro p{ font-size:clamp(1.05rem,1rem + .4vw,1.28rem); color:var(--cr-ink-2); max-width:60ch; margin:0 auto; }
/* Style the TT5 query loop that home.html renders */
body.blog .wp-block-query .wp-block-post-template,
.cr-blogx .wp-block-post-template{ list-style:none; display:grid; grid-template-columns:1fr; gap:clamp(1.5rem,3vw,2.25rem);
  max-width:var(--cr-wrap); margin:clamp(2.5rem,5vw,3.5rem) auto; padding-inline:clamp(1.25rem,5vw,3.25rem); }
@media (min-width:680px){ body.blog .wp-block-post-template{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ body.blog .wp-block-post-template{ grid-template-columns:repeat(3,1fr); } }
body.blog .wp-block-post-template > li{ background:#f5f2eb; border:1px solid var(--cr-line); border-radius:6px; overflow:clip;
  display:flex; flex-direction:column; transition:border-color .25s,transform .25s,box-shadow .25s; }
body.blog .wp-block-post-template > li:hover{ border-color:rgba(176,106,60,.5); transform:translateY(-4px); box-shadow:var(--cr-shadow-sm); }
body.blog .wp-block-post-featured-image{ margin:0; }
body.blog .wp-block-post-featured-image img{ width:100%; aspect-ratio:16/10; object-fit:cover; }
body.blog li > .wp-block-group,
body.blog li .wp-block-post-template__inner{ padding:1.15rem 1.25rem 1.4rem; display:flex; flex-direction:column; flex:1; }
body.blog .wp-block-post-terms{ font-family:var(--cr-sans); font-weight:700; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--cr-copper-ink); margin:0 1.25rem; }
body.blog .wp-block-post-title{ font-family:var(--cr-serif); font-weight:400; font-size:1.3rem; line-height:1.18; margin:.5rem 1.25rem .4rem; }
body.blog .wp-block-post-title a{ color:var(--cr-ink); text-decoration:none; }
body.blog .wp-block-post-title a:hover{ color:var(--cr-river); }
body.blog .wp-block-post-excerpt{ margin:0 1.25rem 1rem; }
body.blog .wp-block-post-excerpt__excerpt{ font-size:.95rem; color:var(--cr-ink-2); line-height:1.6; }
body.blog .wp-block-post-date{ font-size:.8rem; color:var(--cr-mist); margin:auto 1.25rem 1.25rem; }
/* card body group: children get flush horizontal margins (group provides padding) */
body.blog .cr-card__body{ padding:1.15rem 1.35rem 1.4rem; display:flex; flex-direction:column; flex:1; }
body.blog .cr-card__body > *{ margin-left:0; margin-right:0; }
body.blog .cr-card__body .wp-block-post-terms{ margin:0 0 .1rem; }
body.blog .cr-card__body .wp-block-post-title{ margin:.4rem 0 .35rem; }
body.blog .cr-card__body .wp-block-post-excerpt{ margin:0 0 1rem; }
body.blog .cr-card__body .wp-block-post-date{ margin:auto 0 0; }
body.blog .wp-block-query-pagination{ justify-content:center; max-width:var(--cr-wrap); margin:0 auto clamp(3rem,6vw,5rem); gap:.5rem; }
body.blog .wp-block-query-pagination a,
body.blog .wp-block-query-pagination .wp-block-query-pagination-numbers{ color:var(--cr-river); font-family:var(--cr-sans); font-weight:600; }

/* ============================ INTERIOR LANDING PAGES (community/trust/guides) ============================ */
/* full-bleed like the homepage — neutralize TT5 constrained/global padding on cr-landing pages */
body.cr-landing .wp-block-post-content{ padding-inline:0 !important; max-width:none !important; margin-inline:0 !important; margin-block:0 !important; }
body.cr-landing main{ margin-top:0 !important; padding-top:0 !important; }
body.cr-landing .wp-block-post-content > .has-global-padding{ padding-inline:0 !important; }
body.cr-landing .wp-block-post-title{ display:none !important; }
.cr-scope .cr-prose > h2:first-child{ margin-top:0; }
.cr-page-hero{ position:relative; background:var(--cr-river-deep); color:#f4f1ea; overflow:clip; isolation:isolate; }
.cr-page-hero__media{ position:absolute; inset:0; z-index:-2; }
.cr-page-hero__media img{ width:100%; height:100%; object-fit:cover; opacity:.42; }
.cr-page-hero::after{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(24,54,64,.55),rgba(24,54,64,.82)); }
.cr-page-hero__inner{ max-width:var(--cr-wrap); margin-inline:auto; padding:clamp(4rem,10vw,7rem) clamp(1.25rem,5vw,3.25rem); }
.cr-page-hero h1{ font-family:var(--cr-serif); font-weight:400; color:#f7f4ee; font-size:clamp(2.4rem,1.8rem + 3.4vw,4.4rem); line-height:1.05; max-width:18ch; margin:0 0 .3em; }
.cr-page-hero h1 em{ color:var(--cr-copper-lt); font-style:italic; }
.cr-page-hero p{ color:rgba(244,241,234,.86); max-width:52ch; font-size:clamp(1.05rem,1rem + .45vw,1.3rem); line-height:1.6; }
.cr-page-hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }

.cr-block{ padding-block:clamp(3rem,6vw,5.5rem); }
.cr-block--stone{ background:var(--cr-paper-2); }
.cr-block__inner{ max-width:var(--cr-wrap); margin-inline:auto; padding-inline:clamp(1.25rem,5vw,3.25rem); }
.cr-block__inner--narrow{ max-width:820px; }
.cr-split{ display:grid; grid-template-columns:1fr; gap:clamp(1.75rem,4vw,3.5rem); align-items:center; }
@media (min-width:900px){ .cr-split{ grid-template-columns:1.05fr .95fr; } }
.cr-split--rev > .cr-split__media{ order:-1; }
@media (min-width:900px){ .cr-split--rev > .cr-split__media{ order:1; } }
.cr-split__media img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; box-shadow:var(--cr-shadow); }
.cr-stat-row{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem; margin-top:2rem; }
@media (min-width:720px){ .cr-stat-row{ grid-template-columns:repeat(4,1fr); } }
.cr-stat{ border:1px solid var(--cr-line); border-radius:5px; background:#f5f2eb; padding:1.3rem 1.2rem; text-align:center; }
.cr-stat b{ display:block; font-family:var(--cr-serif); font-size:1.75rem; color:var(--cr-river); line-height:1; }
.cr-stat span{ display:block; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--cr-mist); margin-top:.45rem; }

/* ============================ BRAND WORDMARK (v2 emblem + stacked tagline) ============================ */
.cr-brand__mark{ width:38px; height:38px; }
.cr-brand__name{ display:flex; flex-direction:column; justify-content:center; line-height:1;
  font-family:var(--cr-serif); font-size:1.34rem; color:var(--cr-ink); letter-spacing:.005em; }
.cr-brand__name > .cr-brand__sub{ font-family:var(--cr-sans); font-weight:700; font-size:.555rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--cr-river); margin-top:.34rem; }
.cr-foot__brand .cr-brand__name{ color:var(--cr-paper); }
.cr-foot__brand .cr-brand__name > .cr-brand__sub{ color:var(--cr-copper-lt); }
@media (max-width:520px){ .cr-brand__name{ font-size:1.18rem; } .cr-brand__mark{ width:34px; height:34px; } }
