/* ============================================================
   adamrodriguez.io — redesign theme (light "bright cockpit")
   Shared across home + services + community + newsletter + notes.
   Single source of truth for chrome (header/footer) + components.
   ============================================================ */

:root{
  --ink:#171B24; --muted:#2E3440; --blue:#2E48C0; --blue-bright:#4169E1;
  --gold:#D4AF37; --gold-deep:#BE9A2C; --line:#E3E5E3;
  --page:#EDEFEA; --alt:#F5F6F2; --card:#FFFFFF; --r:16px;
  /* offering category accents (chakra logic): fitness=heart green, business=azure, protection=root red, integration=gold (where it leads) */
  --cat-business:#2D8FE6; --cat-fitness:#03DD34; --cat-protection:#C5342B; --cat-integration:#D4AF37;
  --halo:0 0 2px rgba(255,255,255,0.95), 0 1px 10px rgba(255,255,255,0.92), 0 2px 26px rgba(255,255,255,0.62);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; color:var(--ink); background:var(--page);
  font-family:"Space Grotesk",system-ui,sans-serif; -webkit-font-smoothing:antialiased; line-height:1.55; }
h1,h2,h3{ font-family:"Manrope",system-ui,sans-serif; margin:0; line-height:1.07; letter-spacing:-0.02em; }
p{ margin:0; } a{ color:inherit; text-decoration:none; }
.mono{ font-family:"DM Mono",ui-monospace,Menlo,monospace; }
.wrap{ width:100%; max-width:1480px; margin:0 auto; padding:0 32px; }
.gline{ width:34px; height:2px; background:var(--gold); border-radius:2px; margin-bottom:18px; }
.eyebrow{ font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--blue); font-weight:500; }
*:focus-visible{ outline:3px solid var(--blue); outline-offset:3px; }

/* ---- buttons ---- */
.btn{ font-family:"Manrope"; font-weight:700; padding:14px 26px; border-radius:11px; cursor:pointer;
  border:1px solid transparent; transition:.15s; display:inline-flex; align-items:center; font-size:1rem; }
.btn-gold{ background:var(--gold); color:#231b03; box-shadow:0 10px 26px rgba(212,175,55,0.32); }
.btn-gold:hover{ background:var(--gold-deep); transform:translateY(-2px); }
.btn-ghost{ background:rgba(255,255,255,0.8); border-color:var(--line); color:var(--ink); }
.btn-ghost:hover{ border-color:var(--blue); color:var(--blue); transform:translateY(-2px); }
.btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

/* ============================================================
   SHARED CHROME — header bar + footer (identical on every page)
   ============================================================ */
.bar{ position:sticky; top:0; z-index:50; background:rgba(237,239,234,0.28);
  backdrop-filter:saturate(150%) blur(12px); border-bottom:1px solid rgba(0,0,0,0.06); }
.bar-in{ display:flex; align-items:center; justify-content:space-between; height:64px; }
.lock{ display:flex; align-items:center; gap:10px; }
.glyph{ width:20px; height:20px; border-radius:5px; background:var(--blue); }
.ar-mark{ height:30px; width:auto; display:block; }
.lock b{ font-family:"Manrope"; font-weight:700; font-size:1rem; }
.nav{ display:flex; align-items:center; gap:28px; }
.nav .links{ display:flex; gap:28px; }
.nav a.link{ font-size:.92rem; color:var(--muted); }
.nav a.link:hover{ color:var(--ink); }
.nav a.link.active{ color:var(--ink); }
.nav .cta{ font-family:"Manrope"; font-weight:700; color:var(--ink); background:var(--gold);
  padding:9px 18px; border-radius:8px; font-size:.88rem; }
.nav .cta:hover{ background:var(--gold-deep); }

footer{ background:var(--page); border-top:1px solid var(--line); padding:46px 0 56px; }
.foot{ display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.foot a{ color:var(--muted); font-size:.92rem; }
.foot a:hover{ color:var(--blue); }
.foot-links{ display:flex; gap:22px; flex-wrap:wrap; }
.foot small{ display:block; color:var(--muted); font-size:.78rem; margin-top:16px; }
.foot-copy{ margin-top:30px; font-size:.78rem; color:var(--muted); text-align:center; }
/* copyright pinned to the bottom of an image section (footerless pages: newsletter, notes) */
.sec-copy{ position:absolute; bottom:20px; left:0; right:0; z-index:3; text-align:center;
  font-size:.78rem; color:var(--muted); text-shadow:0 1px 6px rgba(255,255,255,0.8); }
.sec-copy a{ color:var(--muted); } .sec-copy a:hover{ color:var(--blue); }
.foot-copy a{ color:var(--muted); } .foot-copy a:hover{ color:var(--blue); }

/* ============================================================
   ROOM SECTIONS (full-bleed image sections — home + page heroes)
   ============================================================ */
.room{ position:relative; background-size:cover; background-position:center; display:flex; align-items:center; }
/* SECTION SEAM — lit azure reveal recessed into the surface, where one scene meets the next (new floor) */
/* recessed dark gap: gives the blue light something to glow against */
:is(.room,.rsec,.page-hero) + :is(.room,.rsec,.page-hero)::after{
  content:""; position:absolute; top:-9px; left:0; right:0;
  width:100%; height:18px; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, transparent 0%, rgba(8,12,18,0) 10%, rgba(8,12,18,0.60) 50%, rgba(8,12,18,0) 90%, transparent 100%);
  filter:blur(3px);
}
/* bright azure LED core + blue bloom inside the reveal */
:is(.room,.rsec,.page-hero) + :is(.room,.rsec,.page-hero)::before{
  content:""; position:absolute; top:-1.5px; left:0; right:0;
  width:100%; height:3px; z-index:3; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, #6FB6FF 8%, #DCEBFF 50%, #6FB6FF 92%, transparent 100%);
  filter:blur(0.8px);
  box-shadow:0 0 10px rgba(82,168,255,0.90), 0 0 26px rgba(82,168,255,0.55), 0 0 50px rgba(82,168,255,0.30);
}
/* anchor-nav: land the section below the sticky bar */
section[id]{ scroll-margin-top:72px; }
/* home Resources section: two columns (Newsletter + Blog) */
.resource-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
@media (max-width:820px){ .resource-grid{ grid-template-columns:1fr; } }
.room-in{ position:relative; z-index:3; width:100%; padding-top:120px; padding-bottom:120px; }
.scrim{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(245,246,243,0.6) 0%, rgba(245,246,243,0.12) 44%, rgba(245,246,243,0) 70%),
             linear-gradient(180deg, rgba(245,246,243,0) 60%, rgba(245,246,243,0.35) 100%); }

/* slight HAZE behind just the words — soft feathered white pool */
.haze{ display:inline-block; padding:34px 58px 40px; border-radius:64px;
  background:radial-gradient(ellipse 72% 72% at 50% 50%, rgba(255,255,255,0.50) 0%, rgba(255,255,255,0.28) 52%, rgba(255,255,255,0) 80%); }

/* home section background images */
.s-hero{ background-image:url('/assets/img/redesign/hero-desktop.webp'); min-height:100vh; }
.s-services{ background-image:url('/assets/img/redesign/home-services-desktop.webp'); min-height:90vh; }
.s-work{ background-image:url('/assets/img/redesign/section2-desktop.webp'); min-height:90vh; }
.s-proof{ background-image:url('/assets/img/redesign/section3-desktop.webp'); min-height:90vh; }
.s-book{ background-image:url('/assets/img/redesign/section4-desktop.webp'); min-height:90vh; }
.s-hero .scrim, .s-book .scrim{ background:transparent; }

/* home hero copy: centered, full-width title, halo on words */
.s-hero h1, .s-hero .lede, .s-hero .eyebrow, .s-hero .meta-line,
.s-book .sec-h, .s-book .sec-sub, .s-book .eyebrow,
.page-hero h1, .page-hero .lede, .page-hero .eyebrow{ text-shadow:var(--halo); }
.s-hero .room-in{ text-align:center; }
.s-hero .gline{ margin-left:auto; margin-right:auto; }
.s-hero h1{ max-width:none; margin-left:auto; margin-right:auto; }
.s-hero .lede{ max-width:56ch; margin-left:auto; margin-right:auto; }
.s-hero .btns{ justify-content:center; }
.s-book .book-card{ max-width:none; }
.s-book .sec-h{ font-size:clamp(1.9rem,4vw,2.6rem); font-weight:700; }
.s-book .sec-sub{ font-size:clamp(1.05rem,2.2vw,1.32rem); }

h1{ font-size:clamp(2.6rem,6.6vw,4.7rem); font-weight:800; margin:14px 0 0; max-width:15ch; }
.lede{ font-size:clamp(1.05rem,2.2vw,1.32rem); color:var(--muted); margin-top:22px; max-width:42ch; }
.meta-line{ margin-top:40px; font-size:.9rem; color:var(--muted); }

/* glass panels + home components */
.panel{ background:rgba(255,255,255,0.20); backdrop-filter:blur(7px) saturate(115%); border:1px solid rgba(255,255,255,0.42);
  border-radius:var(--r); box-shadow:0 28px 60px rgba(16,20,38,0.26), 0 2px 14px rgba(46,72,192,0.16); max-width:680px; }
.panel.pad{ padding:44px 42px; } .panel.right{ margin-left:auto; }
.sec-h{ font-weight:700; font-size:clamp(1.9rem,4vw,2.6rem); } .sec-sub{ color:var(--muted); margin-top:12px; font-size:1.04rem; }
.door{ background:rgba(255,255,255,0.24); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,0.42);
  border-top:2px solid var(--gold); border-radius:11px; padding:22px 20px; display:flex; align-items:center; }
.door h3{ font-weight:700; font-size:1.28rem; } .door p{ color:var(--muted); margin-top:6px; font-weight:500; font-size:.96rem; }
.door.cat-business{ border-top-color:var(--cat-business); }
.door.cat-fitness{ border-top-color:var(--cat-fitness); }
.door.cat-protection{ border-top-color:var(--cat-protection); }
.door.cat-integration{ border-top-color:var(--cat-integration); }
.doors{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:26px; }
.three{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; margin-top:26px; }
.three .n{ font-family:"Manrope"; font-weight:800; color:var(--blue); font-size:1.2rem; }
.three h3{ font-weight:700; margin:8px 0 6px; font-size:1.22rem; } .three p{ color:var(--muted); font-weight:500; font-size:1.02rem; line-height:1.6; }
.quotes{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-top:26px; align-items:stretch; }
.q{ display:flex; flex-direction:column; }
.q p{ line-height:1.6; font-size:1.05rem; } .q .who{ margin-top:auto; padding-top:14px; font-family:"Manrope"; font-weight:700; font-size:.94rem; }
/* CONGRUENCY: equal-size glass panels across services/work/proof + inner boxes in all three */
/* every home content panel is ONE uniform size (width + height), alternating left/right */
.room .panel{ max-width:800px; min-height:480px; }
.three > div, .q{ background:rgba(255,255,255,0.24); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.42); border-top:2px solid var(--gold); border-radius:11px; padding:18px 18px 20px; }
.q .who span{ color:var(--muted); font-weight:400; }
.book-card{ text-align:center; max-width:640px; margin:0 auto; }
.book-card .gline{ margin:0 auto 18px; }
.book-card .sec-sub{ margin-left:auto; margin-right:auto; max-width:42ch; }
.book-card .btns{ justify-content:center; }

/* ============================================================
   PAGE HERO (shorter image hero for inner pages)
   ============================================================ */
.page-hero{ position:relative; background-size:cover; background-position:center; min-height:64vh;
  display:flex; align-items:center; text-align:center; }
.page-hero .scrim{ background:transparent; }
.page-hero .room-in{ padding-top:90px; padding-bottom:90px; }
.page-hero .gline{ margin:0 auto 18px; }
.page-hero h1{ max-width:none; margin:0 auto; }
.page-hero .lede{ margin:22px auto 0; max-width:54ch; }
.page-hero .btns{ justify-content:center; }
.ph-services{ background-image:url('/assets/img/redesign/services-hero-desktop.webp'); }
.ph-community{ background-image:url('/assets/img/redesign/community-hero-desktop.webp'); }
.ph-newsletter{ background-image:url('/assets/img/redesign/newsletter-hero-desktop.webp'); }
.ph-notes{ background-image:url('/assets/img/redesign/notes-hero-desktop.webp'); }
/* home community + resources sections */
.hm-community{ background-image:url('/assets/img/redesign/home-community-desktop.webp'); }
.hm-resources{ background-image:url('/assets/img/redesign/home-resources-desktop.webp'); }
/* community page sections */
.cm-why{ background-image:url('/assets/img/redesign/community-why-desktop.webp'); }
.cm-place{ background-image:url('/assets/img/redesign/community-place-desktop.webp'); }
.cm-proof{ background-image:url('/assets/img/redesign/community-proof-desktop.webp'); }
.cm-inside{ background-image:url('/assets/img/redesign/community-inside-desktop.webp'); }
.cm-framework{ background-image:url('/assets/img/redesign/community-framework-desktop.webp'); }
.cm-fast{ background-image:url('/assets/img/redesign/community-fast-desktop.webp'); }
.cm-cta{ background-image:url('/assets/img/redesign/community-cta-desktop.webp'); }

/* ============================================================
   CONTENT SECTIONS (text-on-light, alternating)
   ============================================================ */
.sec{ padding:92px 0; text-align:center; }
.sec-alt{ background:var(--alt); }
.section-label{ font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--blue); font-weight:500;
  font-family:"DM Mono",monospace; margin-bottom:14px; }
.section-headline{ font-size:clamp(1.9rem,4vw,2.6rem); font-weight:700; max-width:20ch; margin:0 auto; }
.section-headline em{ font-style:normal; color:inherit; }
.journey{ margin:28px auto 0; max-width:680px; display:grid; gap:18px; text-align:left; }
.journey p{ color:var(--muted); font-size:1.14rem; line-height:1.8; }

/* ---- services cards ---- */
.services-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:40px auto 0; max-width:860px; text-align:left; }
.service-card{ background:rgba(255,255,255,0.24); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.42); border-top:3px solid var(--gold);
  border-radius:14px; padding:34px 30px; text-align:center; }
.service-tag{ font-family:"Manrope"; font-weight:700; font-size:1.45rem; }
.service-desc{ color:var(--muted); margin-top:12px; font-size:1.08rem; line-height:1.7; }
.service-card.cat-business{ border-top-color:var(--cat-business); }
.service-card.cat-fitness{ border-top-color:var(--cat-fitness); }
.service-card.cat-protection{ border-top-color:var(--cat-protection); }
.service-card.cat-integration{ border-top-color:var(--cat-integration); }
.hero-stats{ display:flex; align-items:center; justify-content:center; gap:14px; margin-top:26px; font-family:"DM Mono"; }
.hero-stat-value{ font-weight:500; color:var(--ink); } .hero-stat-label{ color:var(--muted); }
.hero-stat-sep{ color:var(--gold); }

/* ---- pillars (community framework) ---- */
.pillar-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; margin:38px auto 0; max-width:980px; text-align:left; }
.pillar-card{ background:rgba(255,255,255,0.24); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.42); border-top:2px solid var(--gold); border-radius:14px; padding:30px 28px; }
.pillar-number{ font-family:"DM Mono"; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--blue); }
.pillar-name{ font-family:"Manrope"; font-weight:800; font-size:1.4rem; margin:8px 0 12px; }
.pillar-body{ color:var(--muted); font-size:1rem; line-height:1.65; }

/* ---- testimonials ---- */
.testimonial-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px; margin:38px auto 0; max-width:940px; text-align:left; }
.testimonial-card{ background:rgba(255,255,255,0.24); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.42); border-top:2px solid var(--gold); border-radius:14px; padding:30px 28px; display:flex; flex-direction:column; }
.testimonial-quote{ font-size:1rem; line-height:1.6; }
.testimonial-name{ font-family:"Manrope"; font-weight:700; margin-top:auto; padding-top:16px; }
.testimonial-role{ color:var(--muted); font-size:.9rem; }

/* ---- community / newsletter opt-in ---- */
.cm-optin{ margin-top:30px; max-width:520px; }
.cm-optin-center{ margin-left:auto; margin-right:auto; text-align:center; }
.cm-optin-label{ font-size:.88rem; color:var(--muted); margin-bottom:10px; }
.cm-form{ display:flex; gap:10px; flex-wrap:wrap; }
.cm-input{ flex:1; min-width:220px; padding:14px 16px; border:1px solid var(--line); border-radius:10px;
  font-family:"Space Grotesk"; font-size:1rem; background:#fff; color:var(--ink); }
.cm-input:focus{ outline:none; border-color:var(--blue); }
.cm-submit{ font-family:"Manrope"; font-weight:700; padding:14px 24px; border:none; border-radius:10px;
  background:var(--gold); color:#231b03; cursor:pointer; }
.cm-submit:hover{ background:var(--gold-deep); }
.cm-success{ display:none; margin-top:14px; color:var(--blue); font-weight:600; }
.cm-note{ font-size:.8rem; color:var(--muted); margin-top:10px; }

/* ---- FAST guide cover ---- */
.guide-wrap{ display:grid; grid-template-columns:240px 1fr; gap:34px; margin:38px auto 0; max-width:900px; align-items:center; text-align:left; }
.guide-image{ aspect-ratio:3/4; border-radius:14px; overflow:hidden; box-shadow:0 18px 44px rgba(16,20,38,0.16);
  background:var(--card) center/cover no-repeat; }
.guide-image.has-img{ background-image:url('/assets/img/redesign/fast-cover.webp'); }
.guide-placeholder{ height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:linear-gradient(160deg,#fff,#EDEFEA); border:1px solid var(--line); }
.ph-eyebrow{ font-family:"DM Mono"; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--blue); }
.ph-title{ font-family:"Manrope"; font-weight:800; font-size:2.6rem; color:var(--ink); }
.ph-sub{ font-family:"Manrope"; font-weight:500; color:var(--muted); }
.guide-copy{ display:grid; gap:16px; } .guide-copy p{ color:var(--muted); font-size:1.14rem; line-height:1.8; }

/* ---- newsletter hero + modal ---- */
.nl-hero .has-guide{ display:grid; grid-template-columns:1fr 320px; gap:40px; align-items:center; }
.nl-rule{ width:48px; height:2px; background:var(--gold); margin:18px 0; }
.nl-body{ color:var(--muted); font-size:1.08rem; line-height:1.75; margin-top:14px; max-width:48ch; }
.btn-nl{ font-family:"Manrope"; font-weight:700; padding:14px 28px; border:none; border-radius:11px;
  background:var(--gold); color:#231b03; cursor:pointer; font-size:1rem; margin-top:8px; }
.btn-nl:hover{ background:var(--gold-deep); }
.nl-overlay{ display:none; position:fixed; inset:0; z-index:100; background:rgba(16,20,38,0.55);
  backdrop-filter:blur(4px); align-items:center; justify-content:center; padding:24px; }
.nl-overlay.open{ display:flex; }
.nl-modal{ background:var(--alt); border:1px solid var(--line); border-radius:20px; padding:34px 32px 30px; max-width:480px; width:100%;
  box-shadow:0 40px 120px rgba(16,20,38,0.45), 0 0 80px rgba(212,175,55,0.14); position:relative; }
.nl-modal-close{ position:absolute; top:14px; right:16px; background:none; border:none; cursor:pointer;
  font-family:"DM Mono"; font-size:.8rem; color:var(--muted); }
.nl-modal-eyebrow{ font-family:"DM Mono"; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--blue); }
.nl-modal-headline{ font-family:"Manrope"; font-weight:800; font-size:1.7rem; margin:8px 0 8px; }
.nl-modal-sub{ color:var(--muted); margin-bottom:18px; }
.nl-modal-form{ display:grid; gap:12px; min-width:0; }
.nl-modal-form > *{ min-width:0; }
.nl-modal-input{ width:100%; min-width:0; padding:12px 14px; border:1px solid var(--line); border-radius:10px; font-family:"Space Grotesk"; font-size:.95rem; background:#fff; }
.nl-modal-input:focus{ outline:none; border-color:var(--blue); }
.nl-modal-submit{ font-family:"Manrope"; font-weight:700; padding:14px; border:none; border-radius:10px;
  background:var(--gold); color:#231b03; cursor:pointer; }
.nl-modal-note{ font-size:.78rem; color:var(--muted); text-align:center; }
/* divider + Continue with Google (ported from haven-landing.html, light-theme colors) */
.divider{ display:flex; align-items:center; gap:12px; color:var(--muted);
  font-size:0.72rem; letter-spacing:.08em; margin:16px 0; text-transform:uppercase; }
.divider::before,.divider::after{ content:""; flex:1; height:1px; background:var(--line); }
.google{ width:100%; display:flex; align-items:center; justify-content:center; gap:10px;
  background:#fff; color:var(--ink);
  border:1px solid color-mix(in srgb,var(--gold) 45%,transparent); border-radius:11px; padding:13px;
  font-size:0.95rem; font-weight:600; font-family:"Space Grotesk"; cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.google:hover{ transform:translateY(-2px); border-color:color-mix(in srgb,var(--gold) 70%,transparent); background:rgba(212,175,55,.07); }
.g-ico{ width:18px; height:18px; }
.nl-modal-success{ display:none; text-align:center; }
.nl-modal-success-mark{ font-size:2.4rem; color:var(--blue); }
.nl-modal-success-headline{ font-family:"Manrope"; font-weight:800; font-size:1.6rem; margin:6px 0; }
.nl-modal-success-body{ color:var(--muted); }

/* ---- notes ---- */
.notes-hero{ padding:140px 0 40px; text-align:center; }
.notes-eyebrow{ font-family:"DM Mono"; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--blue); }
.notes-headline{ font-family:"Manrope"; font-weight:800; font-size:clamp(2rem,4.4vw,3rem); margin:14px auto 0; max-width:18ch; }
.notes-sub{ color:var(--muted); margin:16px auto 0; max-width:46ch; }
.post-grid{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px; max-width:1000px; margin:0 auto; text-align:left; }
.post-card{ background:rgba(255,255,255,0.24); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.42); border-top:2px solid var(--gold); border-radius:14px; padding:24px 22px;
  display:flex; flex-direction:column; }
.post-card[hidden]{ display:none !important; }
.post-card-image{ width:100%; border-radius:10px; margin-bottom:14px; }
.post-card-meta{ display:flex; align-items:center; gap:10px; }
.post-card-tag{ font-family:"DM Mono"; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.post-card-date{ font-family:"DM Mono"; font-size:.74rem; color:var(--muted); }
.post-card-title{ font-family:"Manrope"; font-weight:700; font-size:1.15rem; margin:8px 0; display:block; }
.post-card-title:hover{ color:var(--blue); }
.post-card-excerpt{ color:var(--muted); font-size:.95rem; line-height:1.6; flex:1; }
.post-card-link{ color:var(--blue); font-family:"Manrope"; font-weight:700; font-size:.9rem; margin-top:14px; }
.empty-state{ color:var(--muted); text-align:center; padding:40px 0; }
/* Notes/blog HUD (adapted from Metaplexus Intel, in the light-glass style) */
.notes-tools{ display:flex; flex-direction:column; gap:16px; align-items:center; margin:32px 0 30px; }
.notes-search-input{ width:100%; max-width:440px; padding:13px 18px; border:1px solid rgba(255,255,255,0.55);
  background:rgba(255,255,255,0.55); border-radius:10px; font-family:"Space Grotesk"; font-size:1rem; color:var(--ink); }
.notes-search-input:focus{ outline:none; border-color:var(--blue); }
.notes-cats{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.notes-cat{ font-family:"DM Mono"; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
  background:rgba(255,255,255,0.4); border:1px solid rgba(255,255,255,0.5); border-radius:999px; padding:8px 16px; cursor:pointer; transition:.15s; }
.notes-cat:hover{ color:var(--ink); }
.notes-cat.active{ background:var(--blue); color:#fff; border-color:var(--blue); }
.notes-cat-n{ opacity:.6; }
.notes-more{ display:block; margin:32px auto 0; }
.notes-empty{ text-align:center; color:var(--muted); padding:24px 0; }

/* ---- closing CTA (text version, inner pages) ---- */
.cta-section{ padding:96px 0; text-align:center; background:var(--alt); }
.cta-eyebrow{ font-family:"DM Mono"; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:var(--blue); }
.cta-headline{ font-family:"Manrope"; font-weight:800; font-size:clamp(2rem,4.6vw,3.2rem); margin:14px auto 0; max-width:20ch; }
.cta-headline em{ font-style:normal; color:inherit; }
.cta-body{ color:var(--muted); margin:16px auto 24px; max-width:42ch; }

/* ---- reveal-on-scroll ---- */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.reveal.visible{ opacity:1; transform:none; }

.section-divider{ height:1px; background:var(--line); }

/* ============================================================
   INNER-PAGE ROOM SECTIONS — match the home: full-bleed image + frosted glass panel
   (replaces the old flat .sec look on services/community/newsletter/notes)
   ============================================================ */
.rsec{ position:relative; background-size:cover; background-position:center; display:flex; align-items:center;
  min-height:88vh; padding:96px 0; text-align:center; }
.rsec .scrim{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(245,246,243,0.34) 0%, rgba(245,246,243,0.12) 55%, rgba(245,246,243,0.30) 100%); }
.rsec .wrap{ position:relative; z-index:3; }
.gpanel{ background:rgba(255,255,255,0.20); -webkit-backdrop-filter:blur(7px) saturate(115%); backdrop-filter:blur(7px) saturate(115%);
  border:1px solid rgba(255,255,255,0.42); box-shadow:0 28px 60px rgba(16,20,38,0.26), 0 2px 14px rgba(46,72,192,0.16);
  border-radius:20px; padding:48px 46px; max-width:1040px; margin:0 auto; }
.gpanel.wide{ max-width:1040px; }
/* Community content panels: ONE uniform width + height (baseline = "why this exists"), alternating left/right */
.gpanel.left{ max-width:880px; min-height:560px; margin-left:0; margin-right:auto; }
.gpanel.right{ max-width:880px; min-height:560px; margin-left:auto; margin-right:0; }
/* TEXT-ALIGN TREND: centered panels center their copy; left/right panels left-align it (matches the home) */
.gpanel{ text-align:center; }
.gpanel.left, .gpanel.right{ text-align:left; }
.gpanel.left .section-headline, .gpanel.right .section-headline{ margin-left:0; margin-right:0; max-width:none; }
/* grids fill the panel (the cards are already their own boxes) */
.gpanel .services-grid, .gpanel .pillar-grid,
.gpanel .testimonial-grid{ max-width:none; margin-left:0; margin-right:0; }
/* SUB-BOX trend: body copy sits in its own glass box inside the panel (matches the card sections) */
.gpanel .journey,
.gpanel .guide-wrap{ max-width:none; margin:24px 0 0; background:rgba(255,255,255,0.24);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,0.42);
  border-top:2px solid var(--gold); border-radius:14px; padding:30px 32px; }
/* closing CTA rooms (services/community) mimic the home CTA: full-bleed image + haze, no box */
.cta-room{ min-height:78vh; }
.cta-room .scrim{ background:transparent; }
.cta-room .sec-h{ font-size:clamp(1.9rem,4vw,2.6rem); font-weight:700; }
.cta-room .book-card{ max-width:none; }
.cta-room .sec-h, .cta-room .eyebrow{ text-shadow:var(--halo); }
.rsec .journey{ margin-top:24px; }
.rsec .services-grid, .rsec .pillar-grid, .rsec .testimonial-grid, .rsec .guide-wrap{ margin-top:34px; }
/* TEMP background utilities = home rooms; real per-section images drop on top when generated */
.bg-1{ background-image:url('/assets/img/redesign/section1-desktop.webp'); }
.bg-2{ background-image:url('/assets/img/redesign/section2-desktop.webp'); }
.bg-3{ background-image:url('/assets/img/redesign/section3-desktop.webp'); }
.bg-4{ background-image:url('/assets/img/redesign/section4-desktop.webp'); }
.bg-5{ background-image:url('/assets/img/redesign/hero-desktop.webp'); }

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width:820px){
  .s-hero{ background-image:url('/assets/img/redesign/hero-mobile.webp'); }
  .s-services{ background-image:url('/assets/img/redesign/home-services-mobile.webp'); }
  .s-work{ background-image:url('/assets/img/redesign/section2-mobile.webp'); }
  .s-proof{ background-image:url('/assets/img/redesign/section3-mobile.webp'); }
  .s-book{ background-image:url('/assets/img/redesign/section4-mobile.webp'); }
  .ph-services{ background-image:url('/assets/img/redesign/services-hero-mobile.webp'); }
  .ph-community{ background-image:url('/assets/img/redesign/community-hero-mobile.webp'); }
  .ph-newsletter{ background-image:url('/assets/img/redesign/newsletter-hero-mobile.webp'); }
  .ph-notes{ background-image:url('/assets/img/redesign/notes-hero-mobile.webp'); }
  .hm-community{ background-image:url('/assets/img/redesign/home-community-mobile.webp'); }
  .hm-resources{ background-image:url('/assets/img/redesign/home-resources-mobile.webp'); }
  .cm-why{ background-image:url('/assets/img/redesign/community-why-mobile.webp'); }
  .cm-place{ background-image:url('/assets/img/redesign/community-place-mobile.webp'); }
  .cm-proof{ background-image:url('/assets/img/redesign/community-proof-mobile.webp'); }
  .cm-inside{ background-image:url('/assets/img/redesign/community-inside-mobile.webp'); }
  .cm-framework{ background-image:url('/assets/img/redesign/community-framework-mobile.webp'); }
  .cm-fast{ background-image:url('/assets/img/redesign/community-fast-mobile.webp'); }
  .cm-cta{ background-image:url('/assets/img/redesign/community-cta-mobile.webp'); }
  .bg-1{ background-image:url('/assets/img/redesign/section1-mobile.webp'); }
  .bg-2{ background-image:url('/assets/img/redesign/section2-mobile.webp'); }
  .bg-3{ background-image:url('/assets/img/redesign/section3-mobile.webp'); }
  .bg-4{ background-image:url('/assets/img/redesign/section4-mobile.webp'); }
  .bg-5{ background-image:url('/assets/img/redesign/hero-mobile.webp'); }
  .rsec{ min-height:auto; padding:72px 0; }
  .gpanel{ padding:32px 24px; }
  .nav .links{ display:none; }
  .room-in{ padding-top:90px; padding-bottom:90px; }
  .panel.pad{ padding:30px 24px; }
  .doors{ grid-template-columns:1fr; }
  .three{ grid-template-columns:1fr; }
  .quotes{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
  .pillar-grid{ grid-template-columns:1fr; }
  .testimonial-grid{ grid-template-columns:1fr; }
  .post-grid{ grid-template-columns:1fr; }
  .guide-wrap{ grid-template-columns:1fr; }
  .nl-hero .has-guide{ grid-template-columns:1fr; }
  .sec{ padding:60px 0; }
}
