/* HOME DESKTOP REBUILD — Lulu r1 v2 (2026-08-06 Figma layer handoff).
   AUTHORITATIVE TOKENS from the file's Properties panel (Loren's handoff spec):
   Graphite #2E2926 · Ivory #F9F7F3 · Dusty Rose #DDB6B5 · Blush #F6E7E4 ·
   Clay #BE8B7C · Rosewood #BC7F84 · neutrals #6B635E / #E8E0D8.
   THE THREE PINKS: Rosewood = button fill + hover-link color; Dusty Rose =
   button-hover fill, icon fill, open-accordion chevron; Clay = eyebrows.
   Type: Playfair Display + DM Sans. Ramp: H2 45/55 (+italic), Eyebrow 14/24,
   H3 Statement 22/34, H4 18/30, Body Large 20/32, Body Small 16/28, Reviews
   18/30, Buttons 14/20 bold uppercase. Desktop-only per scope (mobile comes
   with Lulu's mobile design). Scoped to body.efw-r1 — never on the paid path. */

/* Lulu QA r2 (8/8): --soft = Body copy color = 80% Graphite (was #6B635E);
   --line20 = the ruled 20%-graphite 0.1rem divider/outline used site-wide. */
.efw-r1{--graphite:#2E2926;--ivory:#F9F7F3;--rose:#DDB6B5;--blush:#F6E7E4;--clay:#BE8B7C;--rosewood:#BC7F84;--soft:rgba(46,41,38,.8);--line:#E8E0D8;--line20:rgba(46,41,38,.2);
  --display:'Playfair Display',serif;--body:'DM Sans',sans-serif;
  margin:0;font-family:var(--body);background:var(--ivory);color:var(--graphite);font-size:1rem;line-height:1.75rem;-webkit-font-smoothing:antialiased}
.efw-r1 *,.efw-r1 *::before,.efw-r1 *::after{box-sizing:border-box}
.efw-r1 :where(h1,h2,h3,h5,p,ul,figure){margin:0;padding:0}
.efw-r1 img{max-width:100%;display:block}

/* ── Lulu QA r1 (8/7): FIXED-SCALE layout — the earlier vw ramp made the
   whole page scale with the viewport ("comically large" on wide screens).
   Her designs assume a centred 1200px content container: root font-size is
   16px at every width, content containers cap at 75rem and centre. ── */

/* ── type system ── */
.r1-h2{font-family:var(--display);font-weight:400;font-size:2.8125rem;line-height:3.4375rem;letter-spacing:-.01em;color:var(--graphite);margin-bottom:1.875rem}
.r1-h2--italic{font-style:italic}
.r1-eyebrow{font-family:var(--body);font-weight:700;font-size:0.875rem;line-height:1.5rem;letter-spacing:.15em;text-transform:uppercase;color:var(--clay);margin-bottom:0.625rem}
.r1-lede{font-size:1.25rem;line-height:2rem;color:var(--soft);max-width:56rem;margin:0 auto}
.r1-center{text-align:center;margin-top:2.75rem}

/* ── buttons: 50h, r40; Rosewood → Dusty Rose hover. Lulu r2: 600 weight,
   true vertical centring via flex (text sat slightly high on the line box),
   outlined variants 0.1rem. ── */
/* Lulu V2: 2px top pad = optical centring; ALL hovers unified Dusty Rose fill
   + White text (ghosts included) — only the CTA-section button differs. */
.r1-btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.125rem;background:var(--rosewood);color:#fff;font-family:var(--body);font-weight:600;font-size:0.875rem;line-height:1.25rem;letter-spacing:0.0938rem;text-transform:uppercase;padding:0.125rem 1.875rem 0;border-radius:2.5rem;text-decoration:none;border:0.1rem solid transparent;transition:background .2s,color .2s,border-color .2s;cursor:pointer}
.r1-btn:hover{background:var(--rose);color:#fff}
.r1-btn--ghost-white{background:rgba(255,255,255,.2);border-color:#fff}
.r1-btn--ghost-white:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.r1-btn--ghost-rose{background:transparent;border-color:var(--rosewood);color:var(--rosewood)}
.r1-btn--ghost-rose:hover{background:var(--rose);border-color:var(--rose);color:#fff}
.r1-btn--dark{background:var(--graphite)}
.r1-btn--dark:hover{background:#4a423d}

/* ── announcement bar + nav — Lulu r2: top bar 14/19.5/0 DM Sans SemiBold;
   nav links + nav button 13.5px 600; 20px above/below the 130×62 logo;
   dropdown chevron = the Figma chevron-down SVG (dropdown ITSELF comes from
   the live site at push time — not designed in Figma). ── */
.r1-announce{background:var(--graphite);color:var(--ivory);font-family:var(--body);font-weight:500;font-size:0.875rem;line-height:1.21875rem;letter-spacing:0;text-align:center;padding:0.6875rem 1.25rem}
.r1-nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--ivory);padding:1.25rem 3.5rem;border-bottom:0.0625rem solid var(--line)}
.r1-logo img{width:8.125rem;height:3.875rem}
.r1-nav-links{display:flex;align-items:center;gap:2.125rem}
.r1-nav-links a{font-family:var(--body);font-weight:600;font-size:0.84375rem;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);text-decoration:none;transition:color .2s}
.r1-nav-links a:hover{color:var(--rosewood)}
.r1-nav-tel{white-space:nowrap}
.r1-nav-links .r1-btn{color:#fff}
.r1-nav-links .r1-btn:hover{color:#fff}
.r1-caret{display:inline-block;width:0.625rem;height:0.625rem;background:url(../img/r1/svg/efw-r1-ui-chevron-down.svg) center/contain no-repeat;vertical-align:-0.0625rem;margin-left:0.25rem}
.r1-nav-links a:hover .r1-caret{filter:invert(58%) sepia(11%) saturate(1050%) hue-rotate(314deg) brightness(93%) contrast(86%)}

/* ── hero: photo + graphite gradient 60/30/5 ── */
.r1-hero{position:relative;min-height:86vh;display:flex;align-items:center;background:url('https://estheticfinesse.com/wp-content/uploads/ef-assets/hero-home-v3.webp') center/cover no-repeat var(--graphite)}
.r1-hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(46,41,38,.6) 0%,rgba(46,41,38,.3) 60%,rgba(46,41,38,.05) 100%),linear-gradient(90deg,rgba(46,41,38,.2),rgba(46,41,38,.2))}
/* Lulu final (8/11): 200px is a MAXIMUM — padding relaxes to the centred
   1200px grid as the viewport narrows (min(200px,(vw-1200)/2)), floored at
   the site's 3.5rem gutter so it tracks the grid below 1312px. */
.r1-hero-in{position:relative;width:100%;padding:5rem clamp(3.5rem,(100vw - 75rem)/2,12.5rem)}
.r1-hero-h1{font-family:var(--display);font-weight:400;font-size:5.625rem;line-height:5.9375rem;letter-spacing:normal;color:var(--ivory)}
.r1-hero-h1 em{font-style:italic;color:var(--rose);display:block}
.r1-hero-sub{font-family:var(--body);font-weight:400;font-size:1.375rem;line-height:2.125rem;letter-spacing:0.01rem;color:#fff;opacity:.94;max-width:41.25rem;margin-top:1.875rem}
.r1-hero-cta{display:flex;gap:0.9375rem;margin-top:1.875rem}
.r1-hero-credit{font-size:1rem;line-height:1.3813rem;letter-spacing:normal;color:#fff;opacity:.85;margin-top:1.875rem}

/* ── trust strip (dark) — Lulu r2 re-run: 200px side padding, elements
   full-width within it (space-between, not centred); Figma SVG stars,
   larger five-star text, Featured In 14px, larger featured logos. ── */
/* Lulu V2 trust spec: 3 groups (Reviews · Divider · Featured In); ONLY the
   space between groups flexes (space-between, no gap); internal spacing fixed
   — stars 11.8×11 w/ 6px gaps, 30px stars↔text, 30px label↔logos, logos 52px. */
.r1-trust{background:var(--graphite);color:var(--ivory);padding:1.875rem clamp(3.5rem,(100vw - 75rem)/2,12.5rem)}
.r1-trust-in{display:flex;align-items:center;justify-content:space-between}
.r1-trust-div{flex:0 0 auto;width:0.0625rem;height:2.75rem;background:rgba(249,247,243,.25)}
.r1-trust-rev{display:flex;align-items:center;gap:1.875rem}
.r1-stars{display:inline-flex;gap:0.375rem;align-items:center}
.r1-stars img{width:1rem;height:auto}
/* Lulu V3: stars 17×16; gap held at 6px after optical check at the new size */
.r1-trust .r1-stars img{width:1.0625rem;height:1rem}
.r1-trust-count{font-family:var(--display);font-style:italic;font-size:1.375rem;line-height:1.75rem;color:var(--ivory);display:block;white-space:nowrap}
.r1-trust-sub{font-size:0.75rem;letter-spacing:.08em;color:rgba(249,247,243,.62)}
.r1-trust-feat{display:flex;align-items:center;gap:1.5rem}
.r1-trust-kicker{font-weight:600;font-size:0.875rem;line-height:1.25rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);white-space:nowrap}
/* Lulu V3: the 5-logo PNG set (shared 400×300 artboard → natural size
   variance), displayed at 4.5rem */
/* Lulu V3.1 (approved w/ Loren 8/10): logos 3.6rem with 15px gaps between,
   1.5rem kicker→first logo. Progressive hide instead of early stacking —
   drop AZ Foothills first, then StyleCraze (OK!/Authority/Bustle kept
   longest, Loren-approved order) at MEASURED breakpoints where the row
   can no longer hold Lulu's 15px minimum on both sides of the divider;
   stack only when even 3 logos don't fit. Breakpoints verified ±1px. */
.r1-featured-set{display:flex;align-items:center;gap:0.9375rem}
.r1-featured-set img{height:3.6rem;width:auto}
/* RE-MEASURED under Lulu's final padding formula (8/11): content follows the
   1200px grid (56px gutters below 1312px), so all 5 logos + 15px minimums
   (need 1048px) FIT from 1160px viewport up — including 1440. Hide AZF
   ≤1159, StyleCraze ≤1067, stack below 976 (all 5 return stacked). */
@media (max-width: 1159px) {
  .efw-r1 .r1-featured-azf-img{display:none}
}
@media (max-width: 1067px) {
  .efw-r1 .r1-featured-sc-img{display:none}
}
@media (max-width: 975px) {
  .r1-trust-in{flex-direction:column;align-items:center;gap:1.5rem}
  .r1-trust-div{display:none}
  .efw-r1 .r1-featured-azf-img,.efw-r1 .r1-featured-sc-img{display:block}
}

/* ── statements (blush) ── */
.r1-statement{background:var(--blush);text-align:center;padding:6.875rem 3.5rem}
.r1-statement .r1-h2{max-width:56.25rem;margin:0 auto 1.875rem}
.r1-statement-sub{font-family:var(--body);font-weight:400;font-size:1.25rem;line-height:2rem;color:var(--soft);max-width:56rem;margin:0 auto}
/* Lulu r2: 60px between the statement body copy and the button */
.r1-statement--2 .r1-center{margin-top:3.75rem}

/* ── method ── */
.r1-method{background:var(--ivory);text-align:center;padding:6.875rem 3.5rem}
.r1-method-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:75rem;margin:3.25rem auto 0;text-align:left}
.r1-mcard{background:var(--blush);border:0.0625rem solid rgba(46,41,38,.06);border-radius:0.75rem;padding:1.875rem 1.625rem 1.625rem;display:flex;flex-direction:column;align-items:flex-start}
.r1-step{font-weight:700;font-size:0.875rem;line-height:1.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--clay)}
.r1-icon-circle{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:50%;background:var(--ivory);margin:1.375rem 0}
.r1-icon-circle img{width:2rem;height:2rem;object-fit:contain}
.r1-mcard-t{font-family:var(--display);font-weight:500;font-size:1.375rem;line-height:1.875rem;color:var(--graphite)}
/* Lulu V2 chat rule: Playfair heads INSIDE cards = Normal (FHM + Treatment
   boxes); outside cards stays Italic (Why, FAQ, trust). */
.r1-mcard-t em,.r1-tx-t em{font-style:normal}
.r1-why-t em{font-style:italic}
.r1-mcard p{font-size:1rem;line-height:1.75rem;color:var(--soft);margin:0.75rem 0 1.375rem}
.r1-readmore{font-weight:600;font-size:0.875rem;letter-spacing:.02em;color:var(--rosewood);text-decoration:underline;text-underline-offset:0.1875rem}
/* Lulu r2: link arrow = the Figma chevron SVG (was a text arrow glyph) */
.r1-readmore::after{content:"";display:inline-block;width:0.625rem;height:0.625rem;background:url(../img/r1/svg/efw-r1-ui-chevron-next-rosewood.svg) center/contain no-repeat;margin-left:0.375rem;vertical-align:-0.0625rem}
.r1-mcard .r1-readmore{margin-top:auto}
/* Lulu V2: hover = text AND chevron to Clay */
.r1-readmore:hover{color:var(--clay)}
.r1-readmore:hover::after{background-image:url(../img/r1/svg/efw-r1-ui-chevron-next-clay.svg)}
/* Lulu r2: 60px between the method cards and the button */
.r1-method .r1-center{margin-top:3.75rem}

/* ── B/A (LIGHT per Loren's play screenshots 8/6 — the layer export carried a
   dark-bg artifact) — 3 complete tiles, arrows bottom-left, no dots ── */
.r1-ba{background:var(--ivory);color:var(--graphite);text-align:center;padding:0 3.5rem 6.875rem}
/* Lulu r2: content-width divider above the section (20% graphite, 0.1rem),
   110px to the header per the Figma section frame (4001:3199) */
.r1-ba::before{content:"";display:block;width:100%;max-width:75rem;margin:0 auto 6.875rem;border-top:0.1rem solid var(--line20)}
.r1-ba .r1-eyebrow{color:var(--clay)}
.r1-ba-car{max-width:75rem;margin:3.75rem auto 0}
.bac-r1 .bac-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0.25rem 0.125rem}
.bac-r1 .bac-track::-webkit-scrollbar{display:none}
.bac-r1 .bac-slide{flex:0 0 calc((100% - 3rem)/3);scroll-snap-align:start;margin:0}
.bac-r1 .bac-dots{display:none}
/* Lulu r2 card spec (Figma 4011:5839): Ivory fill, 0.1rem 20% graphite
   outline, r10; 30px above images, 15px images→pills, 30px pills→bottom */
.r1-ba-card{background:var(--ivory);border:0.1rem solid var(--line20);border-radius:0.625rem;overflow:hidden;text-align:center}
.r1-ba-head{background:var(--blush);color:var(--rosewood);font-family:var(--body);font-weight:600;font-size:1.125rem;line-height:1.875rem;padding:1.25rem;min-height:6.625rem;display:flex;align-items:center;justify-content:center}
.r1-ba-imgs{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;padding:1.875rem 1.25rem 0}
.r1-ba-imgs img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:0.625rem}
.r1-ba-pills{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;padding:0.9375rem 1.25rem 1.875rem}
.r1-ba-pills span{background:var(--blush);color:var(--rosewood);font-weight:600;font-size:0.875rem;line-height:0.875rem;padding:0.9375rem 0;border-radius:2.5rem}
/* Lulu r2: 40px between the boxes and the Book Now / More Reviews row */
.r1-car-foot{display:flex;align-items:center;justify-content:space-between;margin-top:2.5rem}
.r1-car-arrows{display:flex;gap:0.75rem}
/* Lulu V2 chat addition: More Results (outlined) beside Book Now, 0.75rem gap */
.r1-ba-ctas{display:flex;gap:0.75rem}
/* Lulu V2: click-to-enlarge (live-site parity) */
.r1-ba-imgs img{cursor:zoom-in}
.r1-lightbox{position:fixed;inset:0;z-index:200;background:rgba(46,41,38,.88);display:flex;align-items:center;justify-content:center;cursor:zoom-out}
.r1-lightbox img{max-width:88vw;max-height:88vh;border-radius:0.625rem}
/* Arrows per Figma 4012:7297 + Lulu r2: 45px circle, 20% graphite 0.1rem
   outline, 5% white fill; chevron = Figma SVG, Rosewood, 5×8 glyph */
.bac-r1 .bac-arrow{position:static;width:2.8125rem;height:2.8125rem;border-radius:50%;border:0.1rem solid var(--line20);background-color:rgba(255,255,255,.05);background-repeat:no-repeat;background-position:center;background-size:0.75rem;font-size:0;line-height:1;cursor:pointer;transition:background-color .2s,border-color .2s}
.bac-r1 .bac-prev{background-image:url(../img/r1/svg/efw-r1-ui-chevron-back-rosewood.svg)}
.bac-r1 .bac-next{background-image:url(../img/r1/svg/efw-r1-ui-chevron-next-rosewood.svg)}
.bac-r1 .bac-arrow:hover{background-color:var(--rose);border-color:transparent}
.bac-r1 .bac-prev:hover{background-image:url(../img/r1/svg/efw-r1-ui-chevron-back-ivory.svg)}
.bac-r1 .bac-next:hover{background-image:url(../img/r1/svg/efw-r1-ui-chevron-next-ivory.svg)}
/* Reviews carousel arrows (Lulu r2 R9): White 20% 0.1rem outline, 5% White
   fill, same Rosewood chevrons */
.r1-reviews .bac-r1 .bac-arrow{border-color:rgba(255,255,255,.2);background-color:rgba(255,255,255,.05)}
.r1-reviews .bac-r1 .bac-arrow:hover{background-color:var(--rose);border-color:transparent}

/* ── founder (LIGHT per Loren's play screenshots 8/6) ── */
.r1-founder{background:var(--ivory);color:var(--graphite);padding:6.875rem 3.5rem}
/* Lulu r2: image column 384px max */
.r1-founder-in{max-width:75rem;margin:0 auto;display:grid;grid-template-columns:24rem 1fr;gap:4.5rem;align-items:center}
.r1-founder-card{position:relative;border-radius:0.875rem;overflow:hidden}
.r1-founder-card img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:top}
/* Lulu r2: pillbox label 80% graphite, 14px horizontal / 7px vertical padding */
/* Lulu V2: optical pillbox padding */
.r1-founder-card figcaption{position:absolute;left:1rem;bottom:1rem;background:#fff;color:var(--soft);font-size:0.8125rem;font-weight:500;padding:0.15rem 1rem 0.1rem;border-radius:1.5rem}
.r1-founder .r1-eyebrow{color:var(--clay)}
.r1-founder-lede{font-size:1.25rem;line-height:2rem;color:var(--soft);margin:0 0 0.5rem}
.r1-founder-list{list-style:none;margin:1.125rem 0 1.875rem}
.r1-founder-list li{position:relative;padding:0.875rem 0 0.875rem 1.375rem;font-size:1rem;line-height:1.75rem;color:var(--soft);border-bottom:0.1rem solid var(--line20)}
.r1-founder-list li:last-child{border-bottom:0}
.r1-founder-list li::before{content:"";position:absolute;left:0;top:1.5rem;width:0.4375rem;height:0.4375rem;border-radius:50%;background:var(--rosewood)}

/* ── treatments ── */
/* Lulu r2: section bg = 70% White over Ivory; boxes Ivory + 0.1rem 20%
   graphite outline; 40px internal padding; 30px body→Explore; 60px to button */
.r1-treatments{background:rgba(255,255,255,.7);text-align:center;padding:6.875rem 3.5rem}
.r1-tx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:75rem;margin:3.25rem auto 0}
.r1-tx-card{background:var(--ivory);border:0.1rem solid var(--line20);border-radius:0.75rem;padding:2.5rem;display:flex;flex-direction:column;align-items:center}
.r1-tx-card .r1-readmore{margin-top:auto}
.r1-tx-card .r1-icon-circle{background:#fff;margin:0 0 1.5rem}
.r1-treatments .r1-center{margin-top:3.75rem}
.r1-tx-t{font-family:var(--display);font-weight:500;font-size:1.375rem;line-height:1.875rem;color:var(--graphite)}
.r1-tx-card p{font-size:1rem;line-height:1.75rem;color:var(--soft);margin:0.625rem 0 1.875rem;max-width:16.25rem}

/* ── why (numbered list) ── */
.r1-why{background:var(--ivory);text-align:center;padding:6.875rem 3.5rem}
.r1-why .r1-h2{max-width:47.5rem;margin:0 auto 1.875rem}
/* Lulu r2: right copy column widened (heading hugs, ~20px gutter), copy
   right-aligned single-line by default; dividers 20% graphite 0.1rem */
.r1-why-list{max-width:71.25rem;margin:3.5rem auto 0;text-align:left}
.r1-why-row{display:grid;grid-template-columns:2.125rem max-content 1fr;align-items:baseline;gap:1.25rem;padding:1.375rem 0;border-bottom:0.1rem solid var(--line20)}
.r1-why-row:last-child{border-bottom:0}
.r1-why-n{font-weight:600;font-size:1.5rem;color:var(--rosewood)}
.r1-why-t{font-family:var(--display);font-weight:500;font-size:1.5rem;line-height:2rem;color:var(--graphite)}
.r1-why-row p{font-size:1rem;line-height:1.75rem;color:var(--soft);text-align:right}

/* ── reviews (dark, matching carousel) ── */
/* Lulu r2: header left-aligns with the first testimonial (75rem container);
   cards 500px high, 5% White fill, White 20% 0.1rem outline + internal
   divider; 40px above/below the Name/Google Review block; stars aligned to
   the reviewer-name line only; "Google Review" 50% Ivory. */
.r1-reviews{background:var(--graphite);color:var(--ivory);padding:6.875rem 3.5rem}
.r1-reviews .r1-eyebrow{color:var(--rosewood)}
.r1-rev-head{max-width:75rem;margin:0 auto}
.r1-reviews .r1-h2{color:var(--ivory)}
.r1-rev-car{max-width:75rem;margin:3.25rem auto 0}
.bac-reviews .bac-slide.r1-rev-card{background:rgba(255,255,255,.05);border:0.1rem solid rgba(255,255,255,.2);border-radius:0.75rem;padding:2.125rem 1.875rem 2.5rem;display:flex;flex-direction:column;justify-content:space-between;min-height:31.25rem;text-align:left}
.r1-rev-card p{font-size:1.125rem;line-height:1.875rem;color:rgba(249,247,243,.86)}
.r1-rev-who{display:flex;align-items:flex-start;justify-content:space-between;border-top:0.1rem solid rgba(255,255,255,.2);padding-top:2.5rem;margin-top:1.625rem}
.r1-rev-who b{color:var(--rose);font-weight:600;font-size:1rem;line-height:1.75rem}
.r1-rev-who span{font-size:0.875rem;line-height:1.375rem;color:rgba(249,247,243,.5)}
.r1-rev-who .r1-stars img{width:0.9375rem;height:auto;margin-top:0.25rem}

/* ── CTA (dusty rose) — Lulu r2: 90px top/bottom padding, 65px column gap
   (divider↔image), 20% graphite 0.1rem divider, button hover gains a White
   0.1rem outline (Lulu addition, not in Figma) ── */
.r1-cta{background:var(--rose);padding:5.625rem 3.5rem}
.r1-cta-in{max-width:75rem;margin:0 auto;display:grid;grid-template-columns:1fr 30rem;gap:4.0625rem;align-items:center}
.r1-cta .r1-eyebrow{color:var(--rosewood)}
.r1-cta-credit{font-size:1.25rem;line-height:2rem;color:var(--graphite);opacity:.85;margin:0 0 1.875rem}
.r1-cta-img{width:100%;height:auto;border-radius:0.875rem}
.r1-cta-div{border:0;border-top:0.1rem solid var(--line20);margin:2.75rem 0 1.875rem;max-width:45rem}
.r1-cta .r1-btn:hover{border-color:#fff}
.r1-cta-note{font-size:1rem;line-height:1.75rem;color:var(--graphite);opacity:.8;max-width:32.5rem}

/* ── FAQ: two-column, 2.8125rem chevron circles, four authoritative states ── */
.r1-faq{background:var(--ivory);padding:6.875rem 3.5rem}
/* Lulu r2: left column 384px max; dividers 20% graphite 0.1rem, none after
   the last item; accordion closed by default (home-r1.js) */
.r1-faq-in{max-width:75rem;margin:0 auto;display:grid;grid-template-columns:24rem 1fr;gap:5rem;align-items:start}
.r1-faq-list .faq-item{border-bottom:0.1rem solid var(--line20);padding:0}
.r1-faq-list .faq-item:first-child{border-top:0}
.r1-faq-list .faq-item:has(+ .r1-faq-more){border-bottom:0}
.efw-r1 .faq-q{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;background:none;border:0;cursor:pointer;text-align:left;padding:1.75rem 0;font-family:var(--display);font-weight:500;font-size:1.5rem;line-height:2rem;color:var(--graphite)}
.efw-r1 .faq-q em{font-style:italic}
/* chevron 45x45 r30 — Lulu r2: circle outline 20% graphite 0.1rem; chevron =
   Figma SVG, Rosewood at 10.8×6.5 glyph (default + hover); Open: Dusty Rose
   circle, ivory chevron up (rotated); Open-Hover: Blush, dusty-rose chevron up. */
.r1-chev{flex:0 0 auto;width:2.8125rem;height:2.8125rem;border-radius:1.875rem;background:var(--ivory);border:0.1rem solid var(--line20);position:relative;transition:background .2s,border-color .2s}
.r1-chev::before{content:"";position:absolute;inset:0;background:url(../img/r1/svg/efw-r1-ui-chevron-down-rosewood.svg) center/0.84375rem no-repeat;transition:background .2s,transform .3s}
.efw-r1 .faq-q:hover .r1-chev{background:var(--blush);border-color:rgba(46,41,38,.5)}
.efw-r1 .faq-item.open .r1-chev{background:var(--rose);border-color:transparent}
.efw-r1 .faq-item.open .r1-chev::before{background-image:url(../img/r1/svg/efw-r1-ui-chevron-down-ivory.svg);transform:rotate(180deg)}
.efw-r1 .faq-item.open .faq-q:hover .r1-chev{background:var(--blush);border-color:rgba(46,41,38,.5)}
.efw-r1 .faq-item.open .faq-q:hover .r1-chev::before{background-image:url(../img/r1/svg/efw-r1-ui-chevron-down-dustyrose.svg)}
.efw-r1 .faq-a{overflow:hidden;max-height:0;transition:max-height .3s ease}
.efw-r1 .faq-item.open .faq-a{max-height:15rem}
/* Lulu V2 fix: the pull-up must sit on the CONTAINER — a negative margin on
   the <p> inside overflow:hidden clipped the answer's first line. 12px
   question-text→answer-text = Q pad 28 + 8 chevron overhang − 24. */
.efw-r1 .faq-item.open .faq-a{margin-top:-1.5rem}
.efw-r1 .faq-a p{font-size:1rem;line-height:1.75rem;color:var(--soft);padding:0 4.375rem 1.625rem 0}
.r1-faq-more{margin-top:2.5rem}

/* ── footer (dark) — Lulu r2 (Loren's 8/8 list): reverse brandmark 130×62;
   columns 1/2+1/6+1/6+1/6; body 14/26; contact Ivory; links Ivory 80%→100%
   hover, 5px apart; contact column bottom-aligns with the right columns;
   footer bottom 50% Ivory 12px, no divider; socials 12px apart, Figma FB/IG
   (white circle + graphite glyph — TikTok/YT restyled to match, Lulu to draw). ── */
.r1-foot{background:var(--graphite);color:var(--ivory)}
.r1-foot-main{padding:5rem 3.5rem 4rem}
.r1-foot-cols{max-width:75rem;margin:0 auto;display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:2.5rem}
.r1-foot-brand{display:flex;flex-direction:column;align-items:flex-start}
.r1-foot-brand img{width:8.125rem;height:3.875rem}
.r1-foot-addr{font-size:0.875rem;line-height:1.625rem;color:var(--ivory);margin-top:auto;padding-top:1.625rem}
.r1-foot-tag{font-family:var(--display);font-style:italic;font-size:1.375rem;line-height:2rem;color:var(--rose);margin-top:0.625rem}
.r1-foot-col{text-align:right}
.r1-foot-col h5{font-family:var(--body);font-weight:600;font-size:1.25rem;line-height:2rem;color:var(--rose);margin-bottom:1.125rem}
.r1-foot-col a{display:block;font-size:0.875rem;line-height:1.625rem;color:rgba(249,247,243,.8);text-decoration:none;padding:0.15625rem 0;transition:color .2s}
.r1-foot-col a:hover{color:var(--ivory)}
/* Lulu V2: footer bottom = full-bleed 5% White band over Graphite; socials =
   her supplied SVG set (Dusty Rose default / Rosewood hover), 12px apart. */
.r1-foot-btm-band{background:rgba(255,255,255,.05)}
.r1-foot-btm{max-width:75rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;font-size:0.75rem;color:rgba(249,247,243,.5)}
.r1-foot-social{display:flex;gap:0.75rem;align-items:center}
.r1-soc{display:block;width:1.875rem;height:1.875rem;background-position:center;background-repeat:no-repeat;background-size:contain}
.r1-soc-fb{background-image:url(../img/r1/svg/efw-r1-social-fb-default.svg)}
.r1-soc-fb:hover{background-image:url(../img/r1/svg/efw-r1-social-fb-hover.svg)}
.r1-soc-ig{background-image:url(../img/r1/svg/efw-r1-social-ig-default.svg)}
.r1-soc-ig:hover{background-image:url(../img/r1/svg/efw-r1-social-ig-hover.svg)}
.r1-soc-tt{background-image:url(../img/r1/svg/efw-r1-social-tt-default.svg)}
.r1-soc-tt:hover{background-image:url(../img/r1/svg/efw-r1-social-tt-hover.svg)}
.r1-soc-yt{background-image:url(../img/r1/svg/efw-r1-social-yt-default.svg)}
.r1-soc-yt:hover{background-image:url(../img/r1/svg/efw-r1-social-yt-hover.svg)}

/* ── Text-us popup per Frame 71 (behavior unchanged per gap resolution ③) ── */
.r1-textus{position:fixed;right:1.375rem;bottom:1.375rem;z-index:121;font-family:var(--body)}
.r1-textus-launch{width:4rem;height:4rem;border-radius:50%;border:0.125rem solid #fff;padding:0;background:none;cursor:pointer;box-shadow:0 0.5rem 1.625rem -0.5rem rgba(46,41,38,.5);display:block;margin-left:auto}
.r1-textus-launch img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.r1-textus-card{position:absolute;right:0;bottom:5rem;background:#fff;border:0.0625rem solid var(--line);border-radius:1rem;box-shadow:0 0.875rem 2.5rem -1rem rgba(46,41,38,.4);padding:1.125rem 1.25rem;display:flex;align-items:flex-start;gap:0.875rem;width:18.75rem}
.r1-textus-card img{width:3rem;height:3rem;border-radius:50%;object-fit:cover;flex:0 0 auto}
.r1-textus-card p{font-size:0.875rem;line-height:1.375rem;color:var(--graphite)}
.r1-textus-btn{display:inline-block;background:var(--rose);color:#fff;font-weight:600;font-size:0.75rem;line-height:1.125rem;letter-spacing:0.075rem;text-transform:uppercase;padding:0.5625rem 1.375rem;border-radius:2.5rem;text-decoration:none;margin-top:0.75rem;transition:background .2s}
.r1-textus-btn:hover{background:var(--rosewood)}
.r1-textus-close{position:absolute;top:-0.6875rem;left:-0.6875rem;width:1.875rem;height:1.875rem;border-radius:50%;background:var(--graphite);color:#fff;border:0;font-size:0.9375rem;line-height:1;cursor:pointer}
.efw-r1 .ef-textus[data-state="collapsed"] .ef-textus-card{display:none}

/* Site-standard right-side action rail (Loren 8/7: parity with the live
   organic pages). Organic number law: office 480 line. Hidden until the
   visitor scrolls past the hero (body.ef-past-hero, set by home-r1.js) —
   same behavior as the live rail. */
.efw-r1 .ef-stack{position:fixed;right:0.875rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:0.75rem;z-index:120;opacity:0;pointer-events:none;transition:opacity .25s}
body.efw-r1.ef-past-hero .ef-stack{opacity:1;pointer-events:auto}
.efw-r1 .ef-stack a{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background:var(--rosewood);box-shadow:0 0.375rem 1.125rem -0.375rem rgba(46,41,38,.45);transition:background .2s}
.efw-r1 .ef-stack a:hover{background:#a86b70}
.efw-r1 .ef-stack svg{width:1.25rem;height:1.25rem;fill:#fff}


/* Nav dropdowns (Loren 8/11: exact old-site wiring, r1 skin). Hover + :focus-within;
   panels sit under the sticky nav; mega = the locked 3-column services menu. */
.r1-navitem{position:relative;display:flex;align-items:center}
.r1-navitem > a{font-family:var(--body);font-weight:600;font-size:0.84375rem;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);text-decoration:none;transition:color .2s;padding:0.625rem 0}
.r1-navitem > a:hover{color:var(--rosewood)}
.r1-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--ivory);border:0.0625rem solid var(--line);border-radius:0.625rem;box-shadow:0 0.875rem 2.25rem -0.875rem rgba(46,41,38,.35);padding:0.875rem 0;min-width:13.75rem;display:none;z-index:70}
.r1-navitem:hover .r1-dropdown,.r1-navitem:focus-within .r1-dropdown{display:block}
.r1-dropdown a{display:block;font-family:var(--body);font-weight:500;font-size:0.84375rem;letter-spacing:.04em;text-transform:none;color:var(--graphite);text-decoration:none;padding:0.4375rem 1.375rem;white-space:nowrap;transition:color .2s,background .2s}
.r1-dropdown a:hover{color:var(--rosewood);background:var(--blush)}
.r1-dropdown--mega{display:none;left:0;transform:none;padding:1.375rem 0.5rem;min-width:0}
.r1-navitem:hover .r1-dropdown--mega,.r1-navitem:focus-within .r1-dropdown--mega{display:flex;gap:0.5rem}
.r1-dropdown--mega > div{padding:0 0.875rem}
.r1-dh{display:block;font-weight:700;font-size:0.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--clay);padding:0 1.375rem 0.375rem}
