/* ════════════════════════════════════════════════════════════════
   Flourish Web Co — Production Component CSS
   Source: reference/themes/flourishweb-co/components/reviewer.html
   Generated: 2026-06-14
   Components: 80
   
   Usage: Load this file globally in the Vertical child theme,
   AFTER fw-tokens.css.
   ════════════════════════════════════════════════════════════════ */

/* ─── Base Section / Container ─── */
.fw-section {
  width: 100%;
  padding-top: var(--fw-section-py);
  padding-bottom: var(--fw-section-py);
  padding-left: var(--fw-body-gutter);
  padding-right: var(--fw-body-gutter);
}
.fw-section--compact {
  padding-top: var(--fw-section-py-sm);
  padding-bottom: var(--fw-section-py-sm);
}
.fw-section--flush { padding-top: 0; padding-bottom: 0; }
.fw-section__container {
  width: 100%;
  max-width: var(--fw-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--fw-container-px);
  padding-right: var(--fw-container-px);
}
.fw-section__container--md { max-width: var(--fw-container-md); }
.fw-section__container--sm { max-width: var(--fw-container-sm); }

/* ─── hero-image-overlay ─── */
.fw-hero--image-overlay { position:relative; min-height:85vh; display:flex; align-items:center; overflow:hidden; }
.fw-hero__media { position:absolute; inset:0; z-index:0; }
.fw-hero__media img { width:100%; height:100%; object-fit:cover; }
.fw-hero__overlay { position:absolute; inset:0; background:var(--fw-overlay-dark); z-index:1; }
.fw-hero__container { position:relative; z-index:2; }
.fw-hero__content { max-width:720px; display:flex; flex-direction:column; gap:var(--fw-space-md); }
.fw-hero__eyebrow { font-family:var(--fw-font-body); font-size: var(--fw-fs-eyebrow); font-weight:500; text-transform:uppercase; letter-spacing: var(--fw-tracking-body); color:var(--fw-brand); display:inline-block; align-self:flex-start; background:var(--fw-glass-bg-dark); -webkit-backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); border:1px solid var(--fw-glass-border-dark); border-radius:var(--fw-glass-radius); padding:6px 14px; box-shadow:var(--fw-glass-shadow-dark); }
.fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(3rem,6vw,4.5rem); font-weight:400; line-height: var(--fw-leading-tight); color:var(--fw-text-on-dark); }
.fw-hero__subtext { font-family:var(--fw-font-body); font-size:1.05rem; font-weight:300; line-height: var(--fw-leading-normal); color:var(--fw-text-on-dark-mid); max-width:520px; }
.fw-hero__actions { display:flex; align-items:center; gap:var(--fw-space-lg); margin-top:var(--fw-space-sm); }
.fw-btn--primary { background:var(--fw-brand); color:var(--fw-text); border:none; border-radius:var(--fw-radius-button); padding:12px 28px; font-weight:500; font-size: var(--fw-fs-btn); }
.fw-btn--text-light { color:var(--fw-text-on-dark); background:transparent; border:none; padding:14px 0; font-weight:300; }

/* ─── hero-split ─── */
.fw-hero--split { background:var(--fw-bg); }
.fw-hero--split .fw-hero__container { display:grid; grid-template-columns:1fr 1fr; gap:var(--fw-grid-gap-lg); align-items:center; }
.fw-hero--split .fw-hero__media img { width:100%; border-radius:var(--fw-radius); object-fit:cover; aspect-ratio:4/3; }

/* ─── hero-minimal ─── */
.fw-hero--minimal { background:var(--fw-bg-alt); }
.fw-hero--minimal .fw-hero__content { max-width:640px; display:flex; flex-direction:column; gap:var(--fw-space-md); }
.fw-hero--minimal .fw-hero__headline { font-family:var(--fw-font-accent); font-size:clamp(2rem,4vw,3.2rem); font-weight:500; color:var(--fw-text); }

/* ─── hero-landing-split ─── */
.fw-hero--landing-split { background:var(--fw-bg-white,#ffffff); }
.fw-hero--landing-split .fw-hero__container { display:grid; grid-template-columns:1fr 1fr; gap:var(--fw-grid-gap-lg); align-items:stretch; min-height:85vh; }
.fw-hero--landing-split .fw-hero__content { display:flex; flex-direction:column; justify-content:flex-end; gap:var(--fw-space-md); padding:var(--fw-section-py) 0; }
.fw-hero--landing-split .fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(2.4rem,5vw,3.8rem); font-weight:600; line-height:1.08; color:var(--fw-text); letter-spacing: var(--fw-tracking-tight); }
.fw-hero--landing-split .fw-hero__subtext { font-style:italic; color:var(--fw-text-mid); font-size:0.95rem; }
.fw-hero--landing-split .fw-hero__actions { display:flex; align-items:center; gap:var(--fw-space-md); }
.fw-hero--landing-split .fw-hero__text-link { font-weight:500; font-size: var(--fw-fs-btn); color:var(--fw-text); display:flex; align-items:center; gap:4px; }
.fw-hero--landing-split .fw-hero__asterisk { color:var(--fw-brand-hot); font-size: var(--fw-fs-subhead); }
.fw-hero--landing-split .fw-hero__breadcrumb { margin-top:auto; font-size: var(--fw-fs-caption); color:var(--fw-text-light); display:flex; align-items:center; gap:6px; }
.fw-hero--landing-split .fw-hero__breadcrumb a { color:var(--fw-text-light); text-decoration:none; }
.fw-hero--landing-split .fw-hero__breadcrumb-sep { font-size:0.5rem; }
.fw-hero--landing-split .fw-hero__media { position:relative; overflow:hidden; border-radius:var(--fw-radius); }
.fw-hero--landing-split .fw-hero__media img { width:100%; height:100%; object-fit:cover; }
.fw-hero--landing-split .fw-hero__media-tags { position:absolute; top:16px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:2; }
.fw-tag--surface { background:var(--fw-glass-bg); -webkit-backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); border:1px solid var(--fw-glass-border); border-radius:var(--fw-glass-radius); padding:8px 18px; font-family:var(--fw-font-mono); font-size:0.68rem; font-weight:500; text-transform:uppercase; letter-spacing: var(--fw-tracking-caps); color:var(--fw-text); box-shadow:var(--fw-glass-shadow); }
@media(max-width:768px){ .fw-hero--landing-split .fw-hero__container { grid-template-columns:1fr; min-height:auto; }
.fw-hero--landing-split .fw-hero__media { order:-1; aspect-ratio:16/10; }
}

/* ─── hero-article ─── */
.fw-hero--article { background:var(--fw-bg-alt); }
.fw-hero__featured-image { position:relative; max-width:960px; margin:0 auto; border-radius:var(--fw-radius-lg); overflow:hidden; aspect-ratio:16/7; }
.fw-hero__featured-image img { width:100%; height:100%; object-fit:cover; }
.fw-hero__image-breadcrumb { position:absolute; top:16px; left:20px; display:flex; align-items:center; gap:6px; z-index:2; font-size:0.68rem; background:var(--fw-glass-bg-dark); -webkit-backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); border:1px solid var(--fw-glass-border-dark); border-radius:var(--fw-glass-radius); padding:6px 14px; box-shadow:var(--fw-glass-shadow-dark); }
.fw-hero__image-breadcrumb a { color:rgba(255,255,255,0.88); text-decoration:none; }
.fw-hero__image-breadcrumb .fw-hero__breadcrumb-sep { font-size:0.5rem; color:rgba(255,255,255,0.5); }
.fw-hero__image-breadcrumb .fw-hero__breadcrumb-current { color:#fff; text-decoration:underline; text-underline-offset:2px; }
.fw-hero__author-row { display:flex; align-items:center; justify-content:space-between; max-width:960px; margin:var(--fw-space-md) auto 0; padding:var(--fw-space-sm) 0; border-bottom:1px solid var(--fw-border-subtle); }
.fw-hero__author-info { display:flex; align-items:center; gap:10px; }
.fw-hero__author-avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.fw-hero__author-label { display:block; font-size: var(--fw-fs-xs); color:var(--fw-text-light); }
.fw-hero__author-name { display:block; font-family:var(--fw-font-accent); font-size: var(--fw-fs-body); font-weight:600; color:var(--fw-text); }
.fw-hero__author-role { display:block; font-size:0.68rem; color:var(--fw-text-mid); }
.fw-tag--outline { background:var(--fw-glass-bg); -webkit-backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); border:1px solid var(--fw-glass-border); border-radius:var(--fw-glass-radius); padding:7px 16px; font-family:var(--fw-font-mono); font-size:0.62rem; font-weight:500; text-transform:uppercase; letter-spacing: var(--fw-tracking-caps); color:var(--fw-text); box-shadow:var(--fw-glass-shadow); }
.fw-hero__article-content { max-width:960px; margin:var(--fw-space-xl) auto 0; display:flex; flex-direction:column; gap:var(--fw-space-md); }
.fw-hero__text-link { font-weight:500; font-size: var(--fw-fs-btn); color:var(--fw-text); display:flex; align-items:center; gap:4px; text-decoration:none; }
.fw-hero__asterisk { color:var(--fw-brand-hot); font-size: var(--fw-fs-subhead); }
.fw-hero--article .fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(2rem,4.5vw,3.4rem); font-weight:600; line-height:1.12; color:var(--fw-text); letter-spacing: var(--fw-tracking-tight); max-width:780px; }
.fw-hero__date-badges { display:flex; gap:10px; flex-wrap:wrap; }
.fw-hero__date-badge { font-size: var(--fw-fs-sm); color:var(--fw-text-mid); background:var(--fw-glass-bg); -webkit-backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); border:1px solid var(--fw-glass-border); border-radius:var(--fw-glass-radius); padding:6px 14px; box-shadow:var(--fw-glass-shadow); }
.fw-hero__date-badge strong { font-weight:600; color:var(--fw-text); }
@media(max-width:768px){ .fw-hero__featured-image { aspect-ratio:16/9; border-radius:var(--fw-radius); }
.fw-hero__author-row { flex-direction:column; align-items:flex-start; gap:10px; }
.fw-hero--article .fw-hero__headline { font-size:clamp(1.5rem,6vw,2.2rem); }
}

/* ─── hero-archive-mosaic ─── */
.fw-hero--archive-mosaic { background:var(--fw-bg-dark); position:relative; overflow:hidden; min-height:520px; }
.fw-hero__mosaic-bg { position:absolute; inset:0; display:grid; grid-template-columns:1.2fr 0.8fr 1fr; grid-template-rows:1fr 1fr; gap:6px; padding:6px; opacity:0.18; }
.fw-hero__mosaic-img { overflow:hidden; border-radius:var(--fw-radius-sm); }
.fw-hero__mosaic-img img { width:100%; height:100%; object-fit:cover; }
.fw-hero__mosaic-img:first-child { grid-row:1/3; }
.fw-hero__mosaic-gradient { position:absolute; inset:0; background:linear-gradient(180deg, rgba(23,21,40,0.55) 0%, rgba(23,21,40,0.92) 55%, var(--fw-bg-dark) 100%); z-index:1; }
.fw-hero--archive-mosaic .fw-hero__body { position:relative; z-index:2; display:flex; flex-direction:column; align-items:flex-start; gap:var(--fw-space-md); max-width:none; }
.fw-hero--archive-mosaic .fw-hero__eyebrow { font-family:var(--fw-font-mono); font-size:0.62rem; font-weight:500; text-transform:uppercase; letter-spacing:0.1em; color:var(--fw-brand); }
.fw-hero--archive-mosaic .fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(2.2rem,5vw,3.6rem); font-weight:600; line-height:1.08; color:#f0f0f1; letter-spacing: var(--fw-tracking-tight); }
.fw-hero--archive-mosaic .fw-hero__subtext { font-size: var(--fw-fs-body-lg); line-height: var(--fw-leading-relaxed); color:var(--fw-text-on-dark); max-width:56ch; }
.fw-hero__stat-badges { display:flex; gap:10px; flex-wrap:wrap; }
.fw-hero__stat-badge { background:var(--fw-glass-bg-dark); -webkit-backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); backdrop-filter:blur(var(--fw-glass-blur)) saturate(var(--fw-glass-saturate)); border:1px solid var(--fw-glass-border-dark); border-radius:var(--fw-glass-radius); padding:8px 18px; box-shadow:var(--fw-glass-shadow-dark); display:flex; align-items:baseline; gap:6px; }
.fw-hero__stat-val { font-family:var(--fw-font-display); font-size: var(--fw-fs-subhead); font-weight:700; color:#fff; }
.fw-hero__stat-lbl { font-family:var(--fw-font-mono); font-size:0.52rem; text-transform:uppercase; letter-spacing: var(--fw-tracking-caps); color:rgba(255,255,255,0.6); }
.fw-hero__search { width:100%; max-width:480px; }
.fw-hero__search-field { width:100%; padding:12px 20px; font-family:var(--fw-font-body); font-size: var(--fw-fs-body); color:#fff; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12); border-radius:var(--fw-radius-input); outline:none; transition:border-color 0.2s; }
.fw-hero__search-field::placeholder { color:rgba(255,255,255,0.35); }
.fw-hero__search-field:focus { border-color:var(--fw-brand-hot); }
.fw-hero__filters { display:flex; gap:8px; flex-wrap:wrap; }
.fw-hero__filter-chip { font-family:var(--fw-font-body); font-size: var(--fw-fs-caption); font-weight:500; color:rgba(255,255,255,0.65); background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:var(--fw-radius-tag); padding:6px 16px; text-decoration:none; transition:all 0.2s; }
.fw-hero__filter-chip:hover { color:#fff; border-color:rgba(255,255,255,0.25); }
.fw-hero__filter-chip--active { background:var(--fw-brand-hot); color:#fff; border-color:var(--fw-brand-hot); }
@media(max-width:768px){ .fw-hero--archive-mosaic { min-height:auto; }
.fw-hero__mosaic-bg { grid-template-columns:1fr 1fr; }
.fw-hero__mosaic-img:first-child { grid-row:auto; }
.fw-hero--archive-mosaic .fw-hero__headline { font-size:clamp(1.6rem,6vw,2.4rem); }
.fw-hero__search { max-width:100%; }
}

/* ─── hero-archive-marquee ─── */
.fw-hero--archive-marquee { background:var(--fw-bg); position:relative; overflow:hidden; }
.fw-hero--archive-marquee::before { content:''; position:absolute; top:-40%; left:50%; transform:translateX(-50%); width:140%; height:100%; background:radial-gradient(ellipse at center, rgba(173,188,235,0.12) 0%, transparent 65%); pointer-events:none; }
.fw-hero--archive-marquee .fw-hero__body { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--fw-space-md); padding-bottom:0; }
.fw-hero--archive-marquee .fw-hero__eyebrow { font-family:var(--fw-font-mono); font-size:0.62rem; font-weight:500; text-transform:uppercase; letter-spacing:0.1em; color:var(--fw-brand-hot); }
.fw-hero--archive-marquee .fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(2.2rem,5vw,3.8rem); font-weight:600; line-height:1.06; color:var(--fw-text); letter-spacing:-0.025em; max-width:18ch; }
.fw-hero--archive-marquee .fw-hero__subtext { font-size: var(--fw-fs-body-lg); line-height: var(--fw-leading-relaxed); color:var(--fw-text-mid); max-width:50ch; }
.fw-hero--archive-marquee .fw-hero__actions { display:flex; align-items:center; gap:var(--fw-space-md); }
.fw-hero__marquee-strip { position:relative; z-index:1; margin-top:var(--fw-space-xl); padding-bottom:var(--fw-section-py-sm); overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%); }
.fw-hero__marquee-track { display:flex; gap:10px; width:max-content; animation:fw-marquee 28s linear infinite; }
@keyframes fw-marquee { 0%{transform:translateX(0)}
100%{transform:translateX(-50%)}
}
.fw-hero__marquee-pill { display:inline-flex; align-items:center; gap:6px; font-family:var(--fw-font-body); font-size: var(--fw-fs-body-sm); font-weight:500; color:var(--fw-text-mid); background:var(--fw-bg-card); border:1px solid var(--fw-border-subtle); border-radius:var(--fw-radius-tag); padding:8px 18px; white-space:nowrap; text-decoration:none; transition:all 0.2s; }
.fw-hero__marquee-pill:hover { border-color:var(--fw-brand-hot); color:var(--fw-text); }
.fw-hero__marquee-count { font-family:var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight:600; color:var(--fw-brand-hot); background:var(--fw-brand-light); border-radius:50%; width:22px; height:22px; display:flex; align-items:center; justify-content:center; }
.fw-hero__divider { height:1px; background:var(--fw-border-subtle); }
@media(max-width:768px){ .fw-hero--archive-marquee .fw-hero__headline { font-size:clamp(1.8rem,7vw,2.6rem); }
.fw-hero__marquee-pill { font-size:0.7rem; padding:6px 14px; }
}

/* ─── hero-archive-editorial ─── */
.fw-hero--archive-editorial { background:var(--fw-bg); position:relative; overflow:hidden; }
.fw-hero--archive-editorial::before { content:''; position:absolute; top:0; right:0; width:45%; height:100%; background:linear-gradient(135deg, rgba(255,122,60,0.04) 0%, rgba(23,21,40,0.03) 100%); pointer-events:none; }
.fw-hero--archive-editorial .fw-hero__body { position:relative; z-index:1; }
.fw-hero__ed-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--fw-space-sm); }
.fw-hero__ed-nav { display:flex; gap:4px; align-items:center; }
.fw-hero__ed-nav-link { font-family:var(--fw-font-mono); font-size:0.62rem; font-weight:500; text-transform:uppercase; letter-spacing: var(--fw-tracking-widest); color:var(--fw-text-mid); text-decoration:none; padding:6px 14px; border-radius:var(--fw-radius-tag); border:1px solid transparent; transition:all 0.2s; }
.fw-hero__ed-nav-link:hover { color:var(--fw-text); border-color:var(--fw-border-subtle); }
.fw-hero__ed-nav-link--active { color:var(--fw-brand-hot); background:var(--fw-brand-light); border-color:transparent; }
.fw-hero__ed-count { font-family:var(--fw-font-mono); font-size: var(--fw-fs-xs); color:var(--fw-text-mid); letter-spacing: var(--fw-tracking-wide); }
.fw-hero__ed-headline { margin:var(--fw-space-lg) 0; }
.fw-hero--archive-editorial .fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(2.6rem,5.5vw,4.2rem); font-weight:700; line-height:1.04; letter-spacing:-0.03em; color:var(--fw-text); max-width:16ch; }
.fw-hero__ed-keyword { color:var(--fw-brand-hot); font-style:italic; position:relative; }
.fw-hero__ed-keyword::after { content:''; position:absolute; bottom:2px; left:0; width:100%; height:3px; background:var(--fw-brand-hot); opacity:0.25; border-radius:2px; }
.fw-hero--archive-editorial .fw-hero__subtext { font-size: var(--fw-fs-body-lg); line-height: var(--fw-leading-relaxed); color:var(--fw-text-mid); max-width:48ch; margin-top:var(--fw-space-sm); }
.fw-hero__ed-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--fw-grid-gap); margin-top:var(--fw-space-xl); }
.fw-hero__ed-card { background:var(--fw-bg-card); border:1px solid var(--fw-border-subtle); border-radius:var(--fw-radius); overflow:hidden; transition:transform 0.25s, box-shadow 0.25s; }
.fw-hero__ed-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,0.06); }
.fw-hero__ed-card--featured { grid-row:span 2; position:relative; }
.fw-hero__ed-card--featured .fw-hero__ed-card-img { height:100%; min-height:240px; aspect-ratio:auto; }
.fw-hero__ed-card--featured .fw-hero__ed-card-body { display:none; }
.fw-hero__ed-card--featured::after { content:attr(data-label); position:absolute; bottom:14px; left:14px; font-family:var(--fw-font-mono); font-size:0.58rem; font-weight:600; text-transform:uppercase; letter-spacing: var(--fw-tracking-caps); color:#fff; background:rgba(0,0,0,0.55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-radius:var(--fw-radius-tag); padding:6px 14px; }
.fw-hero__ed-card-img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.fw-hero__ed-card-body { padding:14px 16px; }
.fw-hero__ed-card-cat { display:block; font-family:var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight:600; text-transform:uppercase; letter-spacing: var(--fw-tracking-caps); color:var(--fw-brand-hot); margin-bottom:4px; }
.fw-hero__ed-card-title { font-family:var(--fw-font-display); font-size: var(--fw-fs-btn); font-weight:600; color:var(--fw-text); line-height:1.25; }
.fw-hero__divider { height:1px; background:var(--fw-border-subtle); }
@media(max-width:768px){ .fw-hero__ed-grid { grid-template-columns:1fr 1fr; }
.fw-hero__ed-card--featured { grid-row:auto; }
.fw-hero--archive-editorial .fw-hero__headline { font-size:clamp(1.8rem,6vw,2.8rem); }
.fw-hero__ed-nav-link { font-size: var(--fw-fs-2xs); padding:5px 10px; }
}

/* ─── hero-archive-ticker ─── */
.fw-hero--archive-ticker { background:var(--fw-bg-dark); position:relative; overflow:hidden; }
.fw-hero--archive-ticker::before { content:''; position:absolute; top:-30%; left:50%; transform:translateX(-50%); width:120%; height:80%; background:radial-gradient(ellipse at center, rgba(255,122,60,0.08) 0%, transparent 60%); pointer-events:none; }
.fw-hero--archive-ticker .fw-hero__body { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--fw-space-md); }
.fw-hero--archive-ticker .fw-hero__eyebrow { font-family:var(--fw-font-mono); font-size: var(--fw-fs-xs); font-weight:500; text-transform:uppercase; letter-spacing:0.12em; color:var(--fw-brand-hot); display:flex; align-items:center; gap:8px; }
.fw-hero__live-dot { width:6px; height:6px; border-radius:50%; background:var(--fw-brand-hot); animation:fw-live-pulse 2s ease-in-out infinite; }
@keyframes fw-live-pulse { 0%,100%{opacity:1}
50%{opacity:0.3}
}
.fw-hero--archive-ticker .fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(2.2rem,5vw,3.6rem); font-weight:700; line-height:1.06; letter-spacing:-0.025em; color:#fff; max-width:18ch; }
.fw-hero--archive-ticker .fw-hero__subtext { font-size:0.9rem; line-height: var(--fw-leading-relaxed); color:rgba(255,255,255,0.55); max-width:48ch; }
.fw-hero--archive-ticker .fw-hero__actions { display:flex; gap:var(--fw-space-md); align-items:center; }
.fw-hero__ghost-link { font-family:var(--fw-font-body); font-size:0.8rem; font-weight:500; color:rgba(255,255,255,0.6); text-decoration:none; transition:color 0.2s; }
.fw-hero__ghost-link:hover { color:#fff; }
.fw-hero__ticker-strip { position:relative; z-index:1; margin-top:var(--fw-space-xl); overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 6%, black 94%, transparent 100%); mask-image:linear-gradient(90deg, transparent 0%, black 6%, black 94%, transparent 100%); }
.fw-hero__ticker-track { display:flex; gap:16px; width:max-content; animation:fw-ticker 32s linear infinite; }
@keyframes fw-ticker { 0%{transform:translateX(0)}
100%{transform:translateX(-50%)}
}
.fw-hero__ticker-card { flex-shrink:0; width:240px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); border-radius:var(--fw-radius); overflow:hidden; text-decoration:none; transition:border-color 0.2s; display:block; }
.fw-hero__ticker-card:hover { border-color:rgba(255,255,255,0.18); }
.fw-hero__ticker-card-img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.fw-hero__ticker-card-body { padding:12px 14px; }
.fw-hero__ticker-card-tag { display:block; font-family:var(--fw-font-mono); font-size:0.5rem; font-weight:600; text-transform:uppercase; letter-spacing: var(--fw-tracking-caps); color:var(--fw-brand-hot); margin-bottom:4px; }
.fw-hero__ticker-card-title { display:block; font-family:var(--fw-font-display); font-size: var(--fw-fs-body-sm); font-weight:600; color:rgba(255,255,255,0.88); line-height: var(--fw-leading-snug); }
.fw-hero__ticker-card-meta { display:block; font-family:var(--fw-font-mono); font-size:0.48rem; color:rgba(255,255,255,0.35); margin-top:6px; text-transform:uppercase; letter-spacing: var(--fw-tracking-wide); }
.fw-hero__gradient-edge { height:60px; background:linear-gradient(to top, var(--fw-bg-dark), transparent); position:relative; z-index:2; }
@media(max-width:768px){ .fw-hero--archive-ticker .fw-hero__headline { font-size:clamp(1.6rem,6vw,2.4rem); }
.fw-hero__ticker-card { width:200px; }
}

/* ─── hero-archive-ticker-deep ─── */
.fw-hero--archive-ticker-deep { background:#0a0a0f; }
.fw-hero--archive-ticker-deep::before { background:radial-gradient(ellipse at center, rgba(255,87,9,0.06) 0%, transparent 55%); }
.fw-hero--archive-ticker-deep .fw-hero__subtext { color:rgba(255,255,255,0.65); }
.fw-hero--archive-ticker-deep .fw-hero__ticker-card { background:rgba(255,255,255,0.03); border-color:rgba(255,255,255,0.06); }
.fw-hero--archive-ticker-deep .fw-hero__ticker-card:hover { border-color:rgba(255,255,255,0.14); }
.fw-hero--archive-ticker-deep .fw-hero__ticker-card-title { color:rgba(255,255,255,0.92); }
.fw-hero--archive-ticker-deep .fw-hero__ticker-card-meta { color:rgba(255,255,255,0.4); }
.fw-hero--archive-ticker-deep .fw-hero__ghost-link { color:rgba(255,255,255,0.7); }
.fw-hero--archive-ticker-deep .fw-hero__gradient-edge { background:linear-gradient(to top, #0a0a0f, transparent); }

/* ─── hero-archive-ticker-grain ─── */
.fw-hero--archive-ticker-grain { background:#0e0d1a; }
.fw-hero--archive-ticker-grain::before { background: radial-gradient(ellipse 60% 50% at 25% 20%, rgba(255,87,9,0.10) 0%, transparent 70%), radial-gradient(ellipse 50% 60% at 75% 70%, rgba(173,188,235,0.08) 0%, transparent 65%), radial-gradient(circle at 55% 45%, rgba(255,122,60,0.05) 0%, transparent 50%); }
.fw-hero--archive-ticker-grain::after { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E"); background-size:128px 128px; pointer-events:none; opacity:0.6; mix-blend-mode:overlay; }
.fw-hero--archive-ticker-grain .fw-hero__eyebrow { color:var(--fw-brand); }
.fw-hero--archive-ticker-grain .fw-hero__live-dot { background:var(--fw-brand); }
.fw-hero--archive-ticker-grain .fw-hero__subtext { color:rgba(255,255,255,0.68); }
.fw-hero--archive-ticker-grain .fw-hero__ticker-card { background:rgba(255,255,255,0.04); border-color:rgba(255,255,255,0.07); }
.fw-hero--archive-ticker-grain .fw-hero__ticker-card:hover { border-color:rgba(255,255,255,0.16); background:rgba(255,255,255,0.06); }
.fw-hero--archive-ticker-grain .fw-hero__ticker-card-tag { color:var(--fw-brand); }
.fw-hero--archive-ticker-grain .fw-hero__ticker-card-title { color:rgba(255,255,255,0.92); }
.fw-hero--archive-ticker-grain .fw-hero__ticker-card-meta { color:rgba(255,255,255,0.42); }
.fw-hero--archive-ticker-grain .fw-hero__ghost-link { color:rgba(255,255,255,0.72); }
.fw-hero--archive-ticker-grain .fw-hero__gradient-edge { background:linear-gradient(to top, #0e0d1a, transparent); }

/* ─── hero-archive-ticker-light ─── */
.fw-hero--archive-ticker-light { background:var(--fw-bg); }
.fw-hero--archive-ticker-light::before { background: radial-gradient(ellipse 70% 60% at 20% 15%, rgba(255,122,60,0.09) 0%, transparent 65%), radial-gradient(ellipse 60% 70% at 80% 80%, rgba(173,188,235,0.12) 0%, transparent 60%), radial-gradient(circle at 50% 50%, rgba(239,243,250,0.6) 0%, transparent 70%); }
.fw-hero--archive-ticker-light .fw-hero__eyebrow { color:var(--fw-brand-hot); }
.fw-hero--archive-ticker-light .fw-hero__live-dot { background:var(--fw-brand-hot); }
.fw-hero--archive-ticker-light .fw-hero__headline { color:var(--fw-text); }
.fw-hero--archive-ticker-light .fw-hero__subtext { color:var(--fw-text-mid); }
.fw-hero--archive-ticker-light .fw-hero__ghost-link { color:var(--fw-text-mid); }
.fw-hero--archive-ticker-light .fw-hero__ghost-link:hover { color:var(--fw-text); }
.fw-hero--archive-ticker-light .fw-hero__ticker-card { background:var(--fw-bg-card); border-color:var(--fw-border-subtle); }
.fw-hero--archive-ticker-light .fw-hero__ticker-card:hover { border-color:var(--fw-border-strong, rgba(12,52,90,0.16)); transform:translateY(-3px); box-shadow:0 8px 24px rgba(12,52,90,0.06); }
.fw-hero--archive-ticker-light .fw-hero__ticker-card-tag { color:var(--fw-brand-hot); }
.fw-hero--archive-ticker-light .fw-hero__ticker-card-title { color:var(--fw-text); }
.fw-hero--archive-ticker-light .fw-hero__ticker-card-meta { color:var(--fw-text-light); }
.fw-hero--archive-ticker-light .fw-hero__gradient-edge { background:linear-gradient(to top, var(--fw-bg), transparent); }
.fw-hero--archive-ticker-light .fw-hero__divider { background:var(--fw-border-subtle); }

/* ─── hero-cinematic ─── */
.fw-hero--cinematic { position:relative; min-height:85vh; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.fw-hero--cinematic .fw-hero__media { position:absolute; inset:0; z-index:0; }
.fw-hero--cinematic .fw-hero__media img { width:100%; height:100%; object-fit:cover; }
.fw-hero--cinematic .fw-hero__overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.05) 40%, rgba(0,0,0,0.3) 100%); }
.fw-hero--cinematic .fw-hero__container { position:relative; z-index:2; }
.fw-hero--cinematic .fw-hero__content--center { max-width:720px; margin:0 auto; }
.fw-hero--cinematic .fw-hero__pill { display:inline-flex; align-items:center; gap:8px; padding:8px 20px; border-radius: var(--fw-radius-button); margin-bottom:28px; background:var(--fw-glass-bg-dark, rgba(255,255,255,0.12)); backdrop-filter:blur(var(--fw-glass-blur, 12px)); font-family:var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.85); }
.fw-hero--cinematic .fw-hero__pill-dot { width:6px; height:6px; border-radius:50%; background:var(--fw-brand); }
.fw-hero--cinematic .fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(2rem,6vw,4rem); font-weight:300; color:#fff; line-height:1.06; letter-spacing:-0.03em; }
.fw-hero--cinematic .fw-hero__subtext { font-size:1rem; color:rgba(255,255,255,0.65); margin-bottom:28px; line-height: var(--fw-leading-normal); }
.fw-hero--cinematic .fw-btn--pill { display:inline-block; padding:14px 32px; border-radius: var(--fw-radius-button); background:#fff; color:#1a1a1a; font-family:var(--fw-font-accent); font-size: var(--fw-fs-btn); font-weight:500; text-decoration:none; transition:transform 0.2s, box-shadow 0.2s; }
.fw-hero--cinematic .fw-btn--pill:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,0,0,0.2); }
.fw-hero--cinematic .fw-hero__logo-bar { position:absolute; bottom:24px; left:0; right:0; z-index:2; display:flex; justify-content:center; align-items:center; gap:36px; padding:0 var(--fw-container-px); }
.fw-hero--cinematic .fw-hero__logo-img { height:20px; opacity:0.5; filter:brightness(10); }

/* ─── hero-contained-card ─── */
.fw-hero--contained-card { padding:0 var(--fw-body-gutter) var(--fw-body-gutter); background:var(--fw-bg); }
.fw-hero__card-frame { position:relative; border-radius:var(--fw-radius, 16px); overflow:hidden; min-height:85vh; }
.fw-hero__card-frame .fw-hero__media { position:absolute; inset:0; }
.fw-hero__card-frame .fw-hero__media img { width:100%; height:100%; object-fit:cover; display:block; }
.fw-hero__card-frame .fw-hero__overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.1) 50%, transparent 100%); }
.fw-hero__card-content { position:absolute; bottom:0; left:0; right:0; z-index:2; padding:36px 40px; }
.fw-hero__card-content .fw-hero__headline { font-family:var(--fw-font-display); font-size:clamp(1.6rem,5vw,3rem); font-weight:400; color:#fff; line-height: var(--fw-leading-tight); letter-spacing: var(--fw-tracking-tight); }
.fw-hero__card-content .fw-hero__subtext { font-size:0.9rem; color:rgba(255,255,255,0.7); max-width:500px; line-height: var(--fw-leading-normal); margin-top:10px; }

/* ─── testimonial-card-grid ─── */
.fw-testimonials { background:var(--fw-bg); }
.fw-testimonials__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--fw-grid-gap); }
.fw-testimonial-card { background:var(--fw-bg-card); border-radius:var(--fw-radius); padding:40px; display:flex; flex-direction:column; gap:var(--fw-space-md); transition:transform 0.25s ease; }
.fw-testimonial-card:hover { transform:translateY(-4px); }
.fw-testimonial-card__stars { color:var(--fw-accent); letter-spacing:2px; }

/* ─── review-stats-bar ─── */
.fw-review-bar { background:var(--fw-bg-alt); padding:var(--fw-space-md) 0; border-top:1px solid var(--fw-border); border-bottom:1px solid var(--fw-border); }
.fw-review-bar__container { display:flex; align-items:center; justify-content:center; gap:var(--fw-space-md); flex-wrap:wrap; }
.fw-review-bar__star { color:var(--fw-accent); }
.fw-review-bar__number { font-family:var(--fw-font-accent); font-weight:500; }

/* ─── trust-badges-strip ─── */
.fw-trust-badges { background:var(--fw-bg); padding-top:var(--fw-space-xl); padding-bottom:var(--fw-space-xl); }
.fw-trust-badges__container { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--fw-grid-gap-sm); }
.fw-trust-badge { display:flex; align-items:flex-start; gap:var(--fw-space-md); }
.fw-trust-badge__icon { width:40px; height:40px; color:var(--fw-text-mid); }
.fw-trust-badge__label { font-size:0.875rem; font-weight:500; display:block; }
.fw-trust-badge__sublabel { font-size:0.8rem; color:var(--fw-text-light); }

/* ─── client-logo-wall ─── */
.fw-logo-wall { background:var(--fw-bg-alt); padding-top:var(--fw-space-2xl); padding-bottom:var(--fw-space-2xl); text-align:center; }
.fw-logo-wall__grid { display:flex; align-items:center; justify-content:center; gap:var(--fw-space-xl); flex-wrap:wrap; }
.fw-logo-wall__logo { height:36px; filter:grayscale(100%); opacity:0.5; transition:all 0.3s ease; }
.fw-logo-wall__logo:hover { filter:grayscale(0%); opacity:1; }

/* ─── team-strip ─── */
/* Team Strip — Row */
.fw-team-strip { text-align: center; }
.fw-team-strip__heading {
  font-family: var(--fw-font-display);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 600; color: var(--fw-text);
  margin-bottom: var(--fw-space-lg);
}
.fw-team-strip__row {
  display: flex; justify-content: center;
  gap: var(--fw-grid-gap-lg); flex-wrap: wrap;
}
.fw-team-strip__member {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.fw-team-strip__photo {
  width: 72px; height: 72px; border-radius: 50%;
  overflow: hidden; border: 2px solid var(--fw-bg-card);
  box-shadow: var(--fw-shadow);
}
.fw-team-strip__photo img { width: 100%; height: 100%; object-fit: cover; }
.fw-team-strip__name {
  font-family: var(--fw-font-accent);
  font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text);
}
.fw-team-strip__role {
  font-family: var(--fw-font-mono);
  font-size: 0.58rem; text-transform: uppercase;
  letter-spacing: var(--fw-tracking-wide); color: var(--fw-text-light);
}
/* Card Grid */
.fw-team-cards__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--fw-grid-gap);
}
.fw-team-card {
  background: var(--fw-bg-card); border-radius: var(--fw-radius);
  border: 1px solid var(--fw-border-subtle); overflow: hidden; text-align: center;
}
.fw-team-card__photo { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.fw-team-card__body { padding: var(--fw-space-md) var(--fw-space-lg); }
.fw-team-card__name {
  font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-lg);
  font-weight: 600; color: var(--fw-text); margin-bottom: 2px;
}
.fw-team-card__role {
  font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs);
  text-transform: uppercase; letter-spacing: var(--fw-tracking-wide);
  color: var(--fw-brand-hot); margin-bottom: 8px;
}
.fw-team-card__bio { font-size: var(--fw-fs-body-sm); color: var(--fw-text-mid); line-height: var(--fw-leading-normal); }
/* Compact (overlapping avatars) */
.fw-team-compact__inner {
  display: flex; align-items: center; justify-content: center; gap: var(--fw-space-md);
}
.fw-team-compact__avatars { display: flex; }
.fw-team-compact__avatar {
  width: 40px; height: 40px; border-radius: 50%;
  overflow: hidden; border: 2px solid var(--fw-bg);
  margin-left: -10px;
}
.fw-team-compact__avatar:first-child { margin-left: 0; }
.fw-team-compact__avatar img { width: 100%; height: 100%; object-fit: cover; }
.fw-team-compact__label { font-size: var(--fw-fs-body); color: var(--fw-text-mid); }
.fw-team-compact__label strong { color: var(--fw-text); }
@media (max-width: 768px) {
  .fw-team-cards__grid { grid-template-columns: 1fr; }
.fw-team-strip__photo { width: 56px; height: 56px; }
}

/* ─── fw-service-card ─── */
.fw-services { background:var(--fw-bg); }
.fw-services__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:var(--fw-grid-gap); }
.fw-service-card { background:var(--fw-bg-card); border-radius:var(--fw-radius); padding:40px 40px 48px; display:flex; flex-direction:column; gap:var(--fw-space-md); transition:transform 0.25s ease; }
.fw-service-card:hover { transform:translateY(-4px); }
.fw-service-card__eyebrow { color:var(--fw-brand); }
.fw-service-card__tag { font-family:var(--fw-font-mono); font-size: var(--fw-fs-sm); text-transform:uppercase; letter-spacing: var(--fw-tracking-caps); background:var(--fw-brand-light); color:var(--fw-brand); padding:4px 12px; border-radius:var(--fw-radius-tag); align-self:flex-start; }

/* ─── pricing-table ─── */
.fw-pricing { background:var(--fw-bg-alt); }
.fw-pricing__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--fw-grid-gap); align-items:start; }
.fw-pricing-tier { background:var(--fw-bg-card); border-radius:var(--fw-radius); padding:40px; position:relative; }
.fw-pricing-tier--recommended { background:var(--fw-bg-dark); color:var(--fw-text-on-dark); transform:scale(1.03); z-index:1; }
.fw-pricing-tier__badge { position:absolute; top:-12px; left:40px; background:var(--fw-brand); color:var(--fw-text); font-family:var(--fw-font-mono); font-size: var(--fw-fs-sm); text-transform:uppercase; padding:4px 14px; border-radius:var(--fw-radius-tag); }

/* ─── feature-comparison-grid ─── */
.fw-comparison__table-wrap { background:var(--fw-surface-white); border-radius:var(--fw-radius); overflow:hidden; }
.fw-comparison__table { width:100%; border-collapse:collapse; }
.fw-comparison__us-col { background:var(--fw-brand-light); text-align:center; }
.fw-comparison__table td { padding:14px 24px; border-bottom:1px solid var(--fw-border); }
.check { color:var(--fw-brand); font-weight:600; }
.x { color:var(--fw-text-light); }

/* ─── numbered-step-timeline ─── */
.fw-process--dark { background:var(--fw-bg-dark); color:var(--fw-text-on-dark); }
.fw-process__steps { list-style:none; display:flex; flex-direction:column; gap:var(--fw-space-2xl); max-width:640px; }
.fw-process-step { display:flex; gap:var(--fw-space-lg); align-items:flex-start; position:relative; }
.fw-process-step__number { font-family:var(--fw-font-display); font-size:2.5rem; color:var(--fw-brand); line-height:1; min-width:40px; }
.fw-process-step:not(:last-child)::after { content:''; position:absolute; left:20px; top:56px; bottom:-40px; width:1px; background:rgba(255,255,255,0.1); }

/* ─── icon-process-row ─── */
.fw-icon-process { background:var(--fw-bg-alt); padding-top:var(--fw-space-2xl); padding-bottom:var(--fw-space-2xl); text-align:center; }
.fw-icon-process__row { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--fw-space-xl); position:relative; }
.fw-icon-step__icon { width:56px; height:56px; border-radius:var(--fw-radius-sm); background:var(--fw-brand-light); display:flex; align-items:center; justify-content:center; color:var(--fw-brand); margin:0 auto 8px; }

/* ─── before-after-split ─── */
.fw-before-after__pair { display:grid; grid-template-columns:1fr 1fr; gap:var(--fw-space-lg); }
.fw-before-after__frame { position:relative; overflow:hidden; border-radius:var(--fw-radius); }
.fw-before-after__frame img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.fw-before-after__label { position:absolute; top:var(--fw-space-md); left:var(--fw-space-md); font-family:var(--fw-font-mono); font-size: var(--fw-fs-sm); text-transform:uppercase; letter-spacing: var(--fw-tracking-caps); padding:4px 12px; border-radius:var(--fw-radius-tag); }
.fw-before-after__frame--before .fw-before-after__label { background:var(--fw-bg-dark); color:var(--fw-text-on-dark); }
.fw-before-after__frame--after .fw-before-after__label { background:var(--fw-brand); color:var(--fw-text); }

/* ─── review-card-grid ─── */
.fw-reviews__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--fw-space-lg); }
.fw-review-card { background:var(--fw-bg-card); border-radius:var(--fw-radius); padding:36px; display:flex; flex-direction:column; gap:var(--fw-space-md); }
.fw-review-card__header { display:flex; align-items:center; justify-content:space-between; }
.fw-review-card__stars { color:var(--fw-accent); font-size:1rem; letter-spacing:2px; }
.fw-review-card__platform { font-family:var(--fw-font-mono); font-size: var(--fw-fs-sm); text-transform:uppercase; color:var(--fw-text-light); }
.fw-review-card__verified { font-family:var(--fw-font-mono); font-size: var(--fw-fs-xs); background:var(--fw-brand-light); color:var(--fw-brand); padding:2px 8px; border-radius:var(--fw-radius-tag); }
.fw-review-card__name { font-family:var(--fw-font-accent); font-size: var(--fw-fs-btn); font-weight:500; }
.fw-review-card__meta { font-size: var(--fw-fs-body-sm); color:var(--fw-text-mid); }
.fw-review-card__date { font-family:var(--fw-font-mono); font-size:0.7rem; color:var(--fw-text-light); }

/* ─── review-card-featured ─── */
.fw-review-card--featured { padding:48px 56px; grid-column:1/-1; max-width:800px; }
.fw-review-card--featured .fw-review-card__body p { font-size:1.15rem; line-height: var(--fw-leading-loose); }
.fw-review-card--featured .fw-review-card__stars { font-size:1.2rem; }
.fw-review-card--featured .fw-review-card__attribution { flex-direction:row; align-items:center; gap:var(--fw-space-sm); flex-wrap:wrap; }

/* ─── review-card-compact ─── */
.fw-review-card--compact { padding:20px 24px; gap:var(--fw-space-sm); border-radius:var(--fw-radius-sm); }
.fw-review-card--compact .fw-review-card__stars { font-size:0.8rem; letter-spacing:1px; }
.fw-review-card--compact .fw-review-card__body p { font-size: var(--fw-fs-body); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fw-review-card--compact .fw-review-card__name { font-size: var(--fw-fs-eyebrow); }
.fw-review-card--compact .fw-review-card__date { font-size: var(--fw-fs-sm); }

/* ─── review-card-row ─── */
.fw-review-card--row { flex-direction:row; align-items:center; gap:var(--fw-space-lg); padding:24px 32px; border-radius:var(--fw-radius-sm); }
.fw-review-card--row .fw-review-card__body { flex:1; min-width:0; }
.fw-review-card--row .fw-review-card__body p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fw-review-card--row .fw-review-card__attribution { flex-shrink:0; margin-top:0; text-align:right; }

/* ─── listing-card-grid ─── */
.fw-listings__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--fw-space-lg); }
.fw-listing-card { background:var(--fw-bg-card); border-radius:var(--fw-radius); overflow:hidden; display:flex; flex-direction:column; }
.fw-listing-card__image { width:100%; aspect-ratio:16/10; object-fit:cover; }
.fw-listing-card__body { padding:28px 32px 36px; display:flex; flex-direction:column; gap:var(--fw-space-sm); flex:1; }
.fw-listing-card__tag { align-self:flex-start; font-family:var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight:500; text-transform:uppercase; background:var(--fw-brand-light); color:var(--fw-brand); padding:4px 12px; border-radius:var(--fw-radius-tag); }
.fw-listing-card__title { font-family:var(--fw-font-accent); font-size:clamp(1.1rem,2vw,1.35rem); font-weight:500; color:var(--fw-text); }
.fw-listing-card__excerpt { font-size:0.9rem; font-weight:300; line-height: var(--fw-leading-relaxed); color:var(--fw-text-mid); -webkit-line-clamp:3; }
.fw-listing-card__meta-item { font-family:var(--fw-font-mono); font-size:0.7rem; color:var(--fw-text-light); }
.fw-listing-card__cta { font-size: var(--fw-fs-btn); color:var(--fw-text); text-decoration:none; }

/* ─── listing-card-featured ─── */
.fw-listing-card--featured { flex-direction:row; grid-column:1/-1; }
.fw-listing-card--featured .fw-listing-card__image-link { flex:0 0 45%; max-width:45%; }
.fw-listing-card--featured .fw-listing-card__image { aspect-ratio:16/12; height:100%; }
.fw-listing-card--featured .fw-listing-card__body { padding:40px 48px; justify-content:center; }
.fw-listing-card--featured .fw-listing-card__title { font-size:clamp(1.4rem,2.5vw,1.8rem); }
.fw-listing-card--featured .fw-listing-card__excerpt { -webkit-line-clamp:4; }

/* ─── listing-card-compact ─── */
.fw-listing-card--compact { flex-direction:row; align-items:center; border-radius:var(--fw-radius-sm); }
.fw-listing-card--compact .fw-listing-card__image { width:72px; height:72px; aspect-ratio:1; flex-shrink:0; }
.fw-listing-card--compact .fw-listing-card__body { padding:12px 16px; gap:4px; }
.fw-listing-card--compact .fw-listing-card__title { font-size: var(--fw-fs-btn); }
.fw-listing-card--compact .fw-listing-card__excerpt { display:none; }
.fw-listing-card--compact .fw-listing-card__cta { display:none; }

/* ─── listing-card-row ─── */
.fw-listing-card--row { flex-direction:row; align-items:center; border-radius:var(--fw-radius-sm); }
.fw-listing-card--row .fw-listing-card__image-link { flex:0 0 200px; }
.fw-listing-card--row .fw-listing-card__image { aspect-ratio:4/3; height:100%; }
.fw-listing-card--row .fw-listing-card__body { padding:24px 32px; flex:1; min-width:0; }
.fw-listing-card--row .fw-listing-card__cta { flex-shrink:0; padding:24px 32px; font-weight:500; }

/* ─── listing-card-overlay-grid ─── */
.fw-listing-card--overlay { position:relative; overflow:hidden; min-height:380px; padding:0; }
.fw-listing-card--overlay .fw-listing-card__image-link { position:absolute; inset:0; z-index:0; }
.fw-listing-card--overlay .fw-listing-card__image { width:100%; height:100%; object-fit:cover; aspect-ratio:unset; border-radius:0; }
.fw-listing-card--overlay::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.08) 100%); z-index:1; pointer-events:none; }
.fw-listing-card--overlay .fw-listing-card__body { position:relative; z-index:2; margin-top:auto; }
.fw-listing-card--overlay .fw-listing-card__tag { background:rgba(255,255,255,0.15); color:#fff; backdrop-filter:blur(4px); }
.fw-listing-card--overlay .fw-listing-card__title, .fw-listing-card--overlay .fw-listing-card__title a { color:#fff; }
.fw-listing-card--overlay .fw-listing-card__excerpt { color:rgba(255,255,255,0.75); }
.fw-listing-card--overlay .fw-listing-card__meta-item { color:rgba(255,255,255,0.55); }
.fw-listing-card--overlay .fw-listing-card__cta { color:#fff; }

/* ─── listing-card-overlay-featured ─── */
.fw-listing-card--overlay-featured { min-height:420px; grid-column:1/-1; }
.fw-listing-card--overlay-featured .fw-listing-card__body { padding:36px 40px 40px; }
.fw-listing-card--overlay-featured .fw-listing-card__title { font-size:clamp(1.4rem,2.5vw,1.8rem); }
.fw-listing-card--overlay-featured .fw-listing-card__excerpt { -webkit-line-clamp:3; font-size: var(--fw-fs-body-lg); }

/* ─── listing-card-overlay-compact ─── */
.fw-listing-card--overlay-compact { min-height:200px; border-radius:var(--fw-radius-sm); }
.fw-listing-card--overlay-compact::after { border-radius:var(--fw-radius-sm); }
.fw-listing-card--overlay-compact .fw-listing-card__body { padding:16px 18px 20px; }
.fw-listing-card--overlay-compact .fw-listing-card__title { font-size: var(--fw-fs-btn); }
.fw-listing-card--overlay-compact .fw-listing-card__excerpt { display:none; }
.fw-listing-card--overlay-compact .fw-listing-card__tag { font-size: var(--fw-fs-2xs); padding:2px 8px; }

/* ─── sidebar-card-system ─── */
/* Sidebar card base */
.fw-sidebar-card {
  background: var(--fw-bg-card);
  border-radius: var(--fw-radius);
  padding: var(--fw-space-md);
  border: 1px solid var(--fw-border-subtle);
}
.fw-sidebar-card__title {
  font-family: var(--fw-font-accent);
  font-size: var(--fw-fs-body-sm); font-weight: 600;
  color: var(--fw-text);
  margin-bottom: 10px; padding-bottom: 8px;
  border-bottom: 1px solid var(--fw-border-subtle);
}
/* Info list */
.fw-sidebar-card__list { list-style: none; }
.fw-sidebar-card__item {
  display: flex; justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-sidebar-card__item:last-child { border-bottom: none; }
.fw-sidebar-card__label { font-size: var(--fw-fs-caption); color: var(--fw-text-light); }
.fw-sidebar-card__value { font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text); }
/* Body text */
.fw-sidebar-card__text {
  font-size: var(--fw-fs-eyebrow); color: var(--fw-text-mid);
  line-height: var(--fw-leading-normal); margin-bottom: 12px;
}
/* Nav list */
.fw-sidebar-card__link {
  display: block; font-size: var(--fw-fs-eyebrow);
  color: var(--fw-text-mid); text-decoration: none;
  padding: 6px 8px; border-radius: var(--fw-radius-sm);
}
.fw-sidebar-card__link:hover { color: var(--fw-text); background: rgba(0,0,0,0.03); }
.fw-sidebar-card__link--active {
  color: var(--fw-text); font-weight: 500;
  background: var(--fw-brand-light);
  border-left: 3px solid var(--fw-brand-hot);
}
/* Dark CTA */
.fw-sidebar-cta {
  background: var(--fw-bg-dark);
  border-radius: var(--fw-radius);
  padding: var(--fw-space-lg); text-align: center;
}
.fw-sidebar-cta__heading {
  font-family: var(--fw-font-accent);
  font-size: 0.88rem; font-weight: 500;
  color: var(--fw-text-on-dark-bright);
  margin-bottom: 6px;
}
.fw-sidebar-cta__body {
  font-size: var(--fw-fs-caption); color: var(--fw-text-on-dark);
  margin-bottom: 14px;
}
/* Sticky modifier */
.fw-sidebar-card--sticky,
.fw-sidebar-cta--sticky { position: sticky; top: 40px; }

/* ─── archive-directory ─── */
/* ── Archive / Directory Page ── */
.fw-archive { background: var(--fw-bg); }
.fw-archive__container { /* structural layout from .fw-section__container */ }
/* Header */
.fw-archive__header { padding: var(--fw-section-py-sm) var(--fw-container-px) 0; }
.fw-archive__eyebrow { font-family: var(--fw-font-body); font-size: var(--fw-fs-eyebrow); font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-body); color: var(--fw-text-mid); margin-bottom: var(--fw-space-sm); }
.fw-archive__heading { font-family: var(--fw-font-accent); font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 500; letter-spacing: -0.015em; color: var(--fw-text); margin-bottom: var(--fw-space-xs); }
.fw-archive__subtitle { font-family: var(--fw-font-body); font-size: 0.95rem; font-weight: 300; color: var(--fw-text-mid); max-width: 600px; }
/* Toolbar */
.fw-archive__toolbar { display: flex; align-items: center; justify-content: space-between; padding: var(--fw-space-lg) var(--fw-container-px); gap: var(--fw-space-md); border-bottom: 1px solid var(--fw-border-subtle); flex-wrap: wrap; }
.fw-archive__toolbar-left { display: flex; align-items: center; gap: var(--fw-space-sm); flex-wrap: wrap; flex: 1; }
.fw-archive__toolbar-right { display: flex; align-items: center; gap: var(--fw-space-md); }
/* Search */
.fw-archive__search { display: flex; align-items: center; gap: var(--fw-space-sm); background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-input); padding: 8px 16px; }
.fw-archive__search-input { border: none; background: transparent; font-family: var(--fw-font-body); font-size: var(--fw-fs-btn); color: var(--fw-text); outline: none; }
/* Filter Pills */
.fw-archive__filters { display: flex; gap: var(--fw-space-xs); flex-wrap: wrap; }
.fw-archive__filter-pill { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-wide); padding: 6px 16px; border-radius: var(--fw-radius-tag); border: 1px solid var(--fw-border); background: transparent; color: var(--fw-text-mid); cursor: pointer; transition: all 0.2s ease; }
.fw-archive__filter-pill:hover { border-color: var(--fw-text-light); color: var(--fw-text); }
.fw-archive__filter-pill--active { background: var(--fw-brand); color: var(--fw-text); border-color: var(--fw-brand); }
/* Sort */
.fw-archive__sort { font-family: var(--fw-font-mono); font-size: 0.7rem; text-transform: uppercase; letter-spacing: var(--fw-tracking-wide); padding: 8px 32px 8px 14px; border-radius: var(--fw-radius-input); border: 1px solid var(--fw-border); background: var(--fw-bg-card); color: var(--fw-text-mid); }
/* View Toggle */
.fw-archive__view-toggle { display: flex; border: 1px solid var(--fw-border); border-radius: var(--fw-radius-input); overflow: hidden; }
.fw-archive__view-btn { padding: 8px 12px; border: none; background: transparent; color: var(--fw-text-light); cursor: pointer; }
.fw-archive__view-btn--active { background: var(--fw-brand-light); color: var(--fw-brand); }
/* Active Filters */
.fw-archive__active-filters { display: flex; align-items: center; gap: var(--fw-space-sm); padding: var(--fw-space-md) var(--fw-container-px) 0; flex-wrap: wrap; }
.fw-archive__active-chip { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight: 500; text-transform: uppercase; padding: 4px 12px; border-radius: var(--fw-radius-tag); background: var(--fw-brand-light); color: var(--fw-brand); display: inline-flex; align-items: center; gap: 4px; }
.fw-archive__chip-remove { background: none; border: none; color: inherit; opacity: 0.6; cursor: pointer; }
.fw-archive__clear-all { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); color: var(--fw-text-light); text-decoration: underline; background: none; border: none; cursor: pointer; }
/* Results Count */
.fw-archive__results-count { font-family: var(--fw-font-mono); font-size: 0.7rem; color: var(--fw-text-light); padding: var(--fw-space-md) var(--fw-container-px) 0; }
/* Layout */
.fw-archive__layout { display: grid; grid-template-columns: 240px 1fr; gap: var(--fw-space-xl); padding: var(--fw-space-lg) var(--fw-container-px) var(--fw-section-py); }
.fw-archive__layout--no-sidebar { grid-template-columns: 1fr; }
/* Facets */
.fw-archive__facets { display: flex; flex-direction: column; gap: var(--fw-space-lg); }
.fw-archive__facet-title { font-family: var(--fw-font-accent); font-size: var(--fw-fs-btn); font-weight: 500; color: var(--fw-text); margin-bottom: var(--fw-space-sm); }
.fw-archive__facet-option { display: flex; align-items: center; gap: var(--fw-space-sm); padding: 4px 0; cursor: pointer; font-family: var(--fw-font-body); font-size: var(--fw-fs-body); color: var(--fw-text-mid); }
.fw-archive__facet-count { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); color: var(--fw-text-light); margin-left: auto; }
/* Grid */
.fw-archive__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--fw-space-lg); transition: grid-template-columns 0.3s ease; }
.fw-archive__grid--list { grid-template-columns: 1fr; gap: 12px; }
.fw-archive__grid--list .fw-listing-card { flex-direction: row; align-items: stretch; border-radius: var(--fw-radius-sm); padding: 8px; }
.fw-archive__grid--list .fw-listing-card__image-link { flex: 0 0 180px; }
.fw-archive__grid--list .fw-listing-card__image { aspect-ratio: 4/3; border-radius: calc(var(--fw-radius-sm) - 4px); }
.fw-archive__grid--list .fw-listing-card__body { padding: 12px 24px; flex: 1; min-width: 0; justify-content: center; }
.fw-archive__grid--list .fw-listing-card__title { font-size: 1rem; }
.fw-archive__grid--list .fw-listing-card__excerpt { -webkit-line-clamp: 2; }
/* Pagination */
.fw-archive__pagination { display: flex; align-items: center; justify-content: center; gap: 6px; padding: var(--fw-space-xl) var(--fw-container-px) var(--fw-section-py); }
.fw-archive__page-btn { font-family: var(--fw-font-mono); font-size: var(--fw-fs-eyebrow); font-weight: 500; min-width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: var(--fw-radius-tag); border: 1px solid var(--fw-border); background: transparent; color: var(--fw-text-mid); text-decoration: none; transition: all 0.15s ease; }
.fw-archive__page-btn:hover { border-color: var(--fw-text-light); color: var(--fw-text); }
.fw-archive__page-btn--active { background: var(--fw-brand); color: var(--fw-text); border-color: var(--fw-brand); }
.fw-archive__page-btn--disabled { opacity: 0.3; pointer-events: none; }
.fw-archive__page-ellipsis { font-family: var(--fw-font-mono); font-size: var(--fw-fs-eyebrow); color: var(--fw-text-light); }
/* Responsive */
@media (max-width: 1024px) {
  .fw-archive__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .fw-archive__layout { grid-template-columns: 1fr; }
.fw-archive__facets { display: none; /* Toggle via JS drawer on mobile */ }
.fw-archive__grid { grid-template-columns: 1fr; }
.fw-archive__toolbar { flex-direction: column; align-items: stretch; }
}

/* ─── archive-no-sidebar ─── */
/* No-sidebar variant simply removes the grid sidebar column */
.fw-archive__layout--no-sidebar { grid-template-columns: 1fr; }
/* All other styles inherited from the base archive component */

/* ─── feature-detail-page ─── */
/* See feature-detail-page.md for complete CSS — key rules: */
.fw-feature-detail__hero { background: var(--fw-bg-alt); }
.fw-feature-detail__heading { font-family: var(--fw-font-display); font-size: clamp(1.8rem,4vw,3rem); font-weight: 400; letter-spacing: var(--fw-tracking-tight); }
.fw-feature-detail__layout-container { display: grid; grid-template-columns: 1fr 280px; gap: var(--fw-space-xl); align-items: start; }
.fw-feature-detail__sidebar { position: sticky; top: 24px; }
.fw-feature-detail__sidebar-inner { background: var(--fw-bg-card); border-radius: var(--fw-radius); padding: var(--fw-space-lg); border: 1px solid var(--fw-border-subtle); }
.fw-feature-detail__sidebar-link--active { color: var(--fw-text); font-weight: 500; background: var(--fw-brand-light); }
.fw-feature-detail__highlights { background: var(--fw-bg-card); border-radius: var(--fw-radius); padding: var(--fw-space-lg) var(--fw-space-xl); }
.fw-feature-detail__highlight-check { color: var(--fw-brand); font-weight: 700; }
@media (max-width: 768px) { .fw-feature-detail__layout-container { grid-template-columns: 1fr; }
}

/* ─── faq-detail-page ─── */
/* FAQ Detail Page — key rules */
.fw-faq-detail__breadcrumb-bar { padding: var(--fw-space-sm) 0; border-bottom: 1px solid var(--fw-border-subtle); }
.fw-faq-detail__hero { background: var(--fw-bg-alt); }
.fw-faq-detail__heading { font-family: var(--fw-font-display); font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 500; letter-spacing: var(--fw-tracking-tight); line-height: 1.15; }
.fw-faq-detail__category-tag { display: inline-block; font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-caps); color: var(--fw-brand-hot); background: rgba(255, 87, 9, 0.08); padding: 4px 12px; border-radius: var(--fw-radius-tag); }
.fw-faq-detail__layout-container { display: grid; grid-template-columns: 1fr 280px; gap: var(--fw-space-xl); align-items: start; }
.fw-faq-detail__sidebar { position: sticky; top: 24px; }
.fw-faq-detail__takeaway { background: var(--fw-bg-alt); border-left: 3px solid var(--fw-brand-hot); border-radius: 0 var(--fw-radius-sm) var(--fw-radius-sm) 0; padding: var(--fw-space-md) var(--fw-space-lg); }
.fw-faq-detail__cta-banner { background: var(--fw-bg-dark); border-radius: var(--fw-radius); padding: var(--fw-space-lg) var(--fw-space-xl); display: flex; align-items: center; gap: var(--fw-space-lg); }
.fw-faq-detail__services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--fw-grid-gap); }
.fw-faq-detail__faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--fw-grid-gap); }
.fw-faq-detail__sidebar-cta { background: var(--fw-bg-dark); border-radius: var(--fw-radius); padding: var(--fw-space-lg); text-align: center; }
@media (max-width: 768px) {
  .fw-faq-detail__layout-container { grid-template-columns: 1fr; }
.fw-faq-detail__sidebar { position: static; }
.fw-faq-detail__services-grid { grid-template-columns: 1fr; }
.fw-faq-detail__faq-grid { grid-template-columns: 1fr; }
.fw-faq-detail__cta-banner { flex-direction: column; text-align: center; }
}

/* ─── team-member-bio-sidebar ─── */
/* Team Member — Bio + Sidebar Layout */
.fw-team-member__hero { background: var(--fw-bg-dark); }
.fw-team-member__hero-container { display: flex; align-items: stretch; }
.fw-team-member__hero-photo { flex: 0 0 40%; }
.fw-team-member__photo-img { width: 100%; height: 100%; object-fit: cover; }
.fw-team-member__hero-info { flex: 1; padding: var(--fw-space-xl); display: flex; flex-direction: column; justify-content: center; }
.fw-team-member__eyebrow { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); text-transform: uppercase; letter-spacing: var(--fw-tracking-widest); color: var(--fw-brand-hot); }
.fw-team-member__name { font-family: var(--fw-font-display); font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 700; color: var(--fw-text-on-dark); }
.fw-team-member__title-role { font-family: var(--fw-font-accent); color: rgba(255,255,255,0.65); }
.fw-team-member__social a { width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.6); display: inline-flex; align-items: center; justify-content: center; }
.fw-team-member__body-container { display: grid; grid-template-columns: 1fr 280px; gap: var(--fw-grid-gap-lg); }
.fw-team-member__section-title { font-family: var(--fw-font-accent); font-size: var(--fw-fs-btn); text-transform: uppercase; border-bottom: 2px solid var(--fw-brand-hot); display: inline-block; }
.fw-team-member__tabs { display: flex; border-bottom: 1px solid var(--fw-border-subtle); }
.fw-team-member__tabs button { padding: 10px 20px; font-family: var(--fw-font-mono); font-size: 0.68rem; text-transform: uppercase; border: none; background: none; border-bottom: 2px solid transparent; }
.fw-team-member__tabs button[aria-selected="true"] { color: var(--fw-brand-hot); border-bottom-color: var(--fw-brand-hot); }
.fw-team-member__services-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.fw-team-member__portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.fw-team-member__sidebar { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 20px; }
.fw-team-member__sidebar-card { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); padding: var(--fw-space-lg); }
.fw-team-member__book-cta { background: linear-gradient(135deg, var(--fw-brand-hot), #e65c00); border-radius: var(--fw-radius); padding: var(--fw-space-lg); text-align: center; }
@media (max-width: 768px) {
  .fw-team-member__hero-container { flex-direction: column; }
.fw-team-member__hero-photo { flex: none; aspect-ratio: 16/9; }
.fw-team-member__body-container { grid-template-columns: 1fr; }
.fw-team-member__sidebar { position: static; }
.fw-team-member__portfolio-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─── team-member-split-grid ─── */
/* Team Member — Split Panel + Card Grid */
.fw-team-split__hero-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 360px; }
.fw-team-split__photo-side { position: relative; overflow: hidden; }
.fw-team-split__photo-img { width: 100%; height: 100%; object-fit: cover; }
.fw-team-split__photo-overlay { position: absolute; bottom: 0; left: 0; right: 0; padding: var(--fw-space-md) var(--fw-space-lg); background: linear-gradient(to top, rgba(0,0,0,0.7), transparent); }
.fw-team-split__info-side { background: var(--fw-bg-dark); padding: var(--fw-space-xl); display: flex; flex-direction: column; justify-content: center; }
.fw-team-split__eyebrow { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); text-transform: uppercase; letter-spacing: var(--fw-tracking-widest); color: var(--fw-brand-hot); }
.fw-team-split__name { font-family: var(--fw-font-display); font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 700; color: var(--fw-text-on-dark); }
.fw-team-split__title-role { font-family: var(--fw-font-accent); color: rgba(255,255,255,0.6); }
.fw-team-split__bio { font-size: var(--fw-fs-btn); color: rgba(255,255,255,0.5); line-height: var(--fw-leading-relaxed); }
.fw-team-split__social a { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.5); display: inline-flex; align-items: center; justify-content: center; }
.fw-team-split__cta-row { display: flex; gap: 10px; flex-wrap: wrap; }
.fw-team-split__card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fw-team-split__grid-card { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); padding: var(--fw-space-lg); }
.fw-team-split__grid-card--featured-testimonial { grid-column: span 2; background: var(--fw-bg-alt); }
.fw-team-split__cta-band .fw-section__container { display: flex; align-items: center; justify-content: space-between; gap: var(--fw-space-lg); }
@media (max-width: 768px) {
  .fw-team-split__hero-grid { grid-template-columns: 1fr; }
.fw-team-split__photo-side { aspect-ratio: 16/9; }
.fw-team-split__card-grid { grid-template-columns: repeat(2, 1fr); }
.fw-team-split__grid-card--featured-testimonial { grid-column: auto; }
.fw-team-split__cta-band .fw-section__container { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
  .fw-team-split__card-grid { grid-template-columns: 1fr; }
}

/* ─── team-member-editorial ─── */
/* Team Member — Editorial Magazine Layout */
.fw-team-editorial__hero { position: relative; aspect-ratio: 16/8; overflow: hidden; }
.fw-team-editorial__hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fw-team-editorial__hero-badge { position: absolute; bottom: var(--fw-space-lg); left: var(--fw-space-lg); background: var(--fw-bg-dark); padding: var(--fw-space-md) var(--fw-space-lg); border-radius: var(--fw-radius); z-index: 2; }
.fw-team-editorial__badge-label { font-family: var(--fw-font-mono); font-size: var(--fw-fs-2xs); text-transform: uppercase; letter-spacing: var(--fw-tracking-widest); color: var(--fw-brand-hot); }
.fw-team-editorial__name { font-family: var(--fw-font-display); font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 700; color: var(--fw-text-on-dark); }
.fw-team-editorial__role { font-family: var(--fw-font-accent); color: rgba(255,255,255,0.55); }
.fw-team-editorial__intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--fw-grid-gap-lg); }
.fw-team-editorial__intro-lead { font-family: var(--fw-font-display); font-size: clamp(1rem, 2.5vw, 1.5rem); font-weight: 600; color: var(--fw-text); line-height: 1.35; }
.fw-team-editorial__interview-container { max-width: 720px; }
.fw-team-editorial__qa-question { font-family: var(--fw-font-display); font-size: 0.95rem; font-weight: 700; color: var(--fw-text); margin-bottom: 8px; }
.fw-team-editorial__qa-answer { font-size: var(--fw-fs-body); color: var(--fw-text-mid); line-height: var(--fw-leading-loose); }
.fw-team-editorial__section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--fw-space-lg); }
.fw-team-editorial__work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fw-team-editorial__work-card { border-radius: var(--fw-radius); overflow: hidden; background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); text-decoration: none; }
.fw-team-editorial__work-thumb { aspect-ratio: 4/3; overflow: hidden; }
.fw-team-editorial__article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fw-team-editorial__article-card { border-radius: var(--fw-radius); overflow: hidden; background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); text-decoration: none; }
.fw-team-editorial__team-heading { font-family: var(--fw-font-display); font-size: clamp(1rem, 2.5vw, 1.5rem); text-align: center; margin-bottom: var(--fw-space-lg); }
.fw-team-editorial__team-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.fw-team-editorial__team-photo { aspect-ratio: 3/4; border-radius: var(--fw-radius); overflow: hidden; }
.fw-team-editorial__next-member { position: relative; aspect-ratio: 16/6; overflow: hidden; }
.fw-team-editorial__next-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fw-team-editorial__next-info { position: absolute; bottom: var(--fw-space-lg); left: var(--fw-space-lg); z-index: 2; }
@media (max-width: 768px) {
  .fw-team-editorial__intro-grid { grid-template-columns: 1fr; }
.fw-team-editorial__work-grid { grid-template-columns: repeat(2, 1fr); }
.fw-team-editorial__article-grid { grid-template-columns: repeat(2, 1fr); }
.fw-team-editorial__team-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .fw-team-editorial__work-grid { grid-template-columns: 1fr; }
.fw-team-editorial__article-grid { grid-template-columns: 1fr; }
}

/* ─── content-split-classic ─── */
.fw-split--classic { background: var(--fw-bg); }
.fw-split__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg);
  align-items: center;
}
.fw-split__content {
  display: flex;
  flex-direction: column;
  gap: var(--fw-space-md);
}
.fw-split__media img {
  width: 100%;
  height: auto;
  border-radius: var(--fw-radius);
  object-fit: cover;
  aspect-ratio: 4 / 3;
}
.fw-split__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fw-split__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9rem;
}
.fw-split__list li::before {
  content: '✓';
  color: var(--fw-brand);
  font-weight: 700;
  flex-shrink: 0;
}
/* Variant: media-left */
.fw-split--media-left .fw-split__media { order: -1; }
@media (max-width: 768px) {
  .fw-split__container { grid-template-columns: 1fr; }
.fw-split--media-left .fw-split__media { order: -1; }
}

/* ─── content-split-sticky ─── */
.fw-split--sticky { background: var(--fw-bg-alt); }
.fw-split--sticky .fw-split__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg);
  align-items: start;
}
.fw-split__scroll-track {
  display: flex;
  flex-direction: column;
  gap: var(--fw-space-2xl);
}
.fw-split__scroll-block {
  padding: var(--fw-space-lg) 0;
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-split__scroll-num {
  font-family: var(--fw-font-display);
  font-size: 2.5rem;
  font-weight: 400;
  color: var(--fw-brand);
  line-height: 1;
  margin-bottom: 12px;
}
.fw-split__pinned {
  position: sticky;
  top: var(--fw-space-lg);
}
.fw-split__pinned-media {
  border-radius: var(--fw-radius);
  overflow: hidden;
  aspect-ratio: 3 / 4;
}
.fw-split__pinned-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  .fw-split--sticky .fw-split__container { grid-template-columns: 1fr; }
.fw-split__pinned { position: static; }
.fw-split__pinned-media { aspect-ratio: 16 / 9; }
}

/* ─── content-split-tabbed ─── */
.fw-split--tabbed { background: var(--fw-bg); }
.fw-split--tabbed .fw-split__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg);
  align-items: center;
}
.fw-split__tab-triggers {
  display: flex;
  flex-direction: column;
  border-left: 2px solid var(--fw-border-subtle);
}
.fw-split__tab-trigger {
  padding: 16px 20px;
  cursor: pointer;
  border: none;
  background: none;
  text-align: left;
  border-left: 2px solid transparent;
  margin-left: -2px;
  transition: all 0.2s ease;
}
.fw-split__tab-trigger.active {
  border-left-color: var(--fw-brand);
  background: var(--fw-bg-card);
}
.fw-split__tab-trigger p {
  display: none;
}
.fw-split__tab-trigger.active p {
  display: block;
}
.fw-split__tab-media {
  border-radius: var(--fw-radius);
  overflow: hidden;
  aspect-ratio: 4 / 3;
  position: relative;
}
.fw-split__tab-panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.fw-split__tab-panel.active { opacity: 1; }
.fw-split__tab-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  .fw-split--tabbed .fw-split__container { grid-template-columns: 1fr; }
.fw-split__tab-triggers {
    flex-direction: row;
    border-left: none;
    border-top: 2px solid var(--fw-border-subtle);
    overflow-x: auto;
  }
.fw-split__tab-trigger {
    border-left: none;
    border-top: 2px solid transparent;
    margin-left: 0;
    margin-top: -2px;
    white-space: nowrap;
  }
.fw-split__tab-trigger.active {
    border-top-color: var(--fw-brand);
    border-left-color: transparent;
  }
.fw-split__tab-trigger p { display: none !important; }
}

/* ─── content-split-overlap ─── */
.fw-split--overlap { background: var(--fw-bg-alt); overflow: hidden; }
.fw-split--overlap .fw-split__container {
  display: grid;
  grid-template-columns: 5fr 4fr;
  gap: 0;
  align-items: center;
}
.fw-split--overlap .fw-split__content {
  padding-right: var(--fw-space-2xl);
  position: relative;
  z-index: 2;
}
.fw-split__quote {
  font-family: var(--fw-font-display);
  font-size: var(--fw-fs-subhead);
  font-style: italic;
  line-height: 1.4;
  color: var(--fw-text);
  padding-left: 20px;
  border-left: 3px solid var(--fw-brand);
}
.fw-split__quote cite {
  display: block;
  font-style: normal;
  font-family: var(--fw-font-body);
  font-size: var(--fw-fs-body-sm);
  font-weight: 500;
  color: var(--fw-text-mid);
  margin-top: 8px;
}
.fw-split__media-wrap {
  position: relative;
  margin-left: -60px;
  z-index: 1;
}
.fw-split--overlap .fw-split__media {
  border-radius: var(--fw-radius);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  box-shadow: -24px 0 60px rgba(0,0,0,0.08);
}
.fw-split__accent-shape {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: var(--fw-brand-light);
  opacity: 0.5;
}
@media (max-width: 768px) {
  .fw-split--overlap .fw-split__container { grid-template-columns: 1fr; }
.fw-split__media-wrap { margin-left: 0; }
.fw-split--overlap .fw-split__content { padding-right: 0; }
.fw-split__accent-shape { display: none; }
}

/* ─── content-split-stats ─── */
.fw-split--stats {
  background: var(--fw-bg-dark);
  color: var(--fw-text-on-dark);
}
.fw-split--stats .fw-split__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg);
  align-items: center;
}
.fw-split__stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap);
}
.fw-split__stat-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: var(--fw-radius-sm);
  padding: 28px 24px;
  text-align: center;
}
.fw-split__stat-num {
  font-family: var(--fw-font-display);
  font-size: 2.2rem;
  font-weight: 400;
  color: var(--fw-brand);
  line-height: var(--fw-leading-tight);
}
.fw-split__stat-label {
  font-size: var(--fw-fs-body-sm);
  color: var(--fw-text-on-dark-mid);
}
.fw-split__stat-card--accent {
  background: var(--fw-brand);
  border-color: var(--fw-brand);
}
.fw-split__stat-card--accent .fw-split__stat-num { color: var(--fw-text); }
.fw-split__stat-card--accent .fw-split__stat-label { color: var(--fw-text); opacity: 0.8; }
@media (max-width: 768px) {
  .fw-split--stats .fw-split__container { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .fw-split__stats-grid { grid-template-columns: 1fr; }
}

/* ─── content-split-accordion ─── */
.fw-split--accordion { background: var(--fw-bg); }
.fw-split--accordion .fw-split__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg);
  align-items: start;
}
.fw-split__accordion-item {
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-split__accordion-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  cursor: pointer;
  width: 100%;
  background: none;
  border: none;
  text-align: left;
}
.fw-split__accordion-icon {
  font-size: 1.2rem;
  color: var(--fw-text-light);
  transition: transform 0.25s ease;
}
.fw-split__accordion-item.open .fw-split__accordion-icon {
  transform: rotate(45deg);
  color: var(--fw-brand);
}
.fw-split__accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
.fw-split__accordion-item.open .fw-split__accordion-body {
  max-height: 200px;
}
.fw-split--accordion .fw-split__media {
  position: sticky;
  top: var(--fw-space-lg);
  border-radius: var(--fw-radius);
  overflow: hidden;
  aspect-ratio: 4 / 3;
}
.fw-split--accordion .fw-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  .fw-split--accordion .fw-split__container { grid-template-columns: 1fr; }
.fw-split--accordion .fw-split__media { position: static; }
}

/* ─── ai-social-proof-section ─── */
/* AI Social Proof Section */
.fw-ai-social-proof { position: relative; min-height: 420px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.fw-ai-social-proof__photo { position: absolute; border-radius: var(--fw-radius); object-fit: cover; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
.fw-ai-social-proof__center { position: relative; z-index: 2; text-align: center; max-width: 480px; }
.fw-ai-social-proof__heading { font-family: var(--fw-font-display); font-size: clamp(1.6rem, 4vw, 2.8rem); font-weight: 700; color: var(--fw-text); line-height: 1.08; letter-spacing: -0.03em; }
.fw-ai-social-proof__pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.fw-ai-social-proof__pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 22px; border-radius: var(--fw-radius-button); background: #d4f53c; color: #1a1a1a; font-size: var(--fw-fs-body-sm); font-weight: 500; border: none; cursor: pointer; }
.fw-ai-social-proof__pill[aria-selected="true"] { background: #1a1a1a; color: #d4f53c; }
.fw-ai-social-proof__response { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); padding: var(--fw-space-lg); text-align: left; }
@media (max-width: 768px) {
  .fw-ai-social-proof__photo { display: none; }
}
@media (max-width: 480px) {
  .fw-ai-social-proof__pill { padding: 8px 16px; font-size: var(--fw-fs-caption); }
}

/* ─── service-card-fan ─── */
/* Service Card Fan — Overlapping Pillars */
.fw-card-fan { text-align: center; }
.fw-card-fan__heading { font-family: var(--fw-font-display); font-size: clamp(1.3rem, 3vw, 2.4rem); font-weight: 700; max-width: 560px; margin: 0 auto var(--fw-space-xl); }
.fw-card-fan__fan { display: flex; justify-content: center; }
.fw-card-fan__card { width: 220px; min-height: 310px; border-radius: 16px; padding: var(--fw-space-lg); flex-shrink: 0; transition: transform 0.4s cubic-bezier(0.23,1,0.32,1), box-shadow 0.3s; }
.fw-card-fan__card:nth-child(1) { transform: rotate(-6deg); margin-right: -40px; z-index: 1; }
.fw-card-fan__card:nth-child(2) { transform: rotate(-2deg); margin-right: -40px; z-index: 2; }
.fw-card-fan__card:nth-child(3) { transform: rotate(2deg); margin-right: -40px; z-index: 3; }
.fw-card-fan__card:nth-child(4) { transform: rotate(6deg); z-index: 4; }
.fw-card-fan__card:hover { transform: translateY(-8px) rotate(0deg); z-index: 10; box-shadow: 0 16px 48px rgba(0,0,0,0.15); }
.fw-card-fan__card--blue { background: #2b3df5; color: rgba(255,255,255,0.85); }
.fw-card-fan__card--pink { background: #f5b8c8; color: #3a1a24; }
.fw-card-fan__card--wine { background: #4a1a2a; color: rgba(255,255,255,0.8); }
.fw-card-fan__card--purple { background: #5a2d8a; color: rgba(255,255,255,0.85); }
.fw-card-fan__card-title { font-family: var(--fw-font-display); font-size: 1.3rem; font-weight: 700; }
.fw-card-fan__card-desc { font-size: var(--fw-fs-eyebrow); line-height: var(--fw-leading-normal); opacity: 0.85; }
.fw-card-fan__divider { width: 120px; border: none; border-top: 2px solid var(--fw-border-subtle); margin: var(--fw-space-xl) auto 0; }
@media (max-width: 768px) {
  .fw-card-fan__card { width: 180px; min-height: 260px; }
.fw-card-fan__card:nth-child(n) { margin-right: -30px; }
}
@media (max-width: 480px) {
  .fw-card-fan__fan { flex-direction: column; align-items: center; }
.fw-card-fan__card { width: 100%; max-width: 280px; min-height: auto; margin-right: 0; }
.fw-card-fan__card:nth-child(n) { transform: none; margin-right: 0; }
}

/* ─── feature-showcase-mockup ─── */
/* Feature Showcase — Product Mockup */
.fw-feature-showcase { background: #f5f0eb; }
.fw-feature-showcase__header { text-align: center; max-width: 620px; margin: 0 auto var(--fw-space-xl); }
.fw-feature-showcase__heading { font-family: var(--fw-font-display); font-size: clamp(1.3rem, 3vw, 2.2rem); font-weight: 700; }
.fw-feature-showcase__desc { font-size: var(--fw-fs-btn); color: var(--fw-text-mid); line-height: var(--fw-leading-relaxed); }
.fw-feature-showcase__mockup { display: grid; grid-template-columns: 200px 1fr 1fr; border-radius: var(--fw-radius); overflow: hidden; background: var(--fw-bg); box-shadow: 0 8px 40px rgba(0,0,0,0.06); border: 1px solid var(--fw-border-subtle); }
.fw-feature-showcase__sidebar { border-right: 1px solid var(--fw-border-subtle); padding: var(--fw-space-lg); }
.fw-feature-showcase__content { padding: var(--fw-space-lg); border-right: 1px solid var(--fw-border-subtle); }
.fw-feature-showcase__content-title { font-family: var(--fw-font-display); font-size: 1.2rem; color: var(--fw-brand-hot); }
.fw-feature-showcase__image { overflow: hidden; }
.fw-feature-showcase__image img { width: 100%; height: 100%; object-fit: cover; }
.fw-feature-showcase__acc-item { border-top: 1px solid var(--fw-border-subtle); padding: 10px 0; display: flex; flex-direction: column; gap: var(--fw-space-sm); cursor: pointer; }
.fw-feature-showcase__acc-trigger { width: 100%; display: flex; justify-content: space-between; align-items: center; border: none; background: none; cursor: pointer; padding: 0; }
.fw-feature-showcase__acc-body { display: none; font-size: var(--fw-fs-sm); color: var(--fw-text-mid); line-height: var(--fw-leading-relaxed); padding: 0 0 8px; }
.fw-feature-showcase__acc-item[aria-expanded="true"] .fw-feature-showcase__acc-body { display: block; }
.fw-feature-showcase__acc-icon { transition: transform 0.2s; }
.fw-feature-showcase__acc-item[aria-expanded="true"] .fw-feature-showcase__acc-icon { transform: rotate(45deg); }
.fw-feature-showcase__nav-items { display: none; }
.fw-feature-showcase__nav-group[aria-expanded="true"] .fw-feature-showcase__nav-items { display: block; }
@media (max-width: 768px) {
  .fw-feature-showcase__mockup { grid-template-columns: 180px 1fr; }
  .fw-feature-showcase__image { display: none; }
}
@media (max-width: 480px) {
  .fw-feature-showcase__mockup { grid-template-columns: 1fr; }
  .fw-feature-showcase__sidebar { border-right: none; border-bottom: 1px solid var(--fw-border-subtle); }
  .fw-feature-showcase__content { border-right: none; }
}

/* ─── logo-marquee ─── */
/* Logo Marquee — Infinite Scroll */
.fw-logo-marquee { overflow: hidden; border-top: 1px solid var(--fw-border-subtle); border-bottom: 1px solid var(--fw-border-subtle); }
.fw-logo-marquee__header { text-align: center; padding: var(--fw-space-lg) var(--fw-container-px); }
.fw-logo-marquee__heading { font-family: var(--fw-font-display); font-size: clamp(0.92rem, 2vw, 1.3rem); font-weight: 600; }
.fw-logo-marquee__wrap { position: relative; }
.fw-logo-marquee__wrap::before,
.fw-logo-marquee__wrap::after { content: ''; position: absolute; top: 0; bottom: 0; width: 60px; z-index: 2; pointer-events: none; }
.fw-logo-marquee__wrap::before { left: 0; background: linear-gradient(to right, var(--fw-bg), transparent); }
.fw-logo-marquee__wrap::after { right: 0; background: linear-gradient(to left, var(--fw-bg), transparent); }
.fw-logo-marquee__track { display: flex; width: max-content; animation: fwMarquee 30s linear infinite; }
.fw-logo-marquee__track--reverse { animation-direction: reverse; }
.fw-logo-marquee__track:hover { animation-play-state: paused; }
.fw-logo-marquee__set { display: flex; align-items: center; gap: 48px; padding: 0 24px; }
.fw-logo-marquee__logo { display: flex; align-items: center; gap: 8px; opacity: 0.45; transition: opacity 0.3s; }
.fw-logo-marquee__logo:hover { opacity: 1; }
.fw-logo-marquee__logo-img { height: 28px; width: auto; object-fit: contain; }
@keyframes fwMarquee { 0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}

/* ─── bento-feature-grid ─── */
/* Bento Feature Grid */
.fw-bento-grid__header { text-align: center; margin-bottom: var(--fw-space-xl); }
.fw-bento-grid__heading { font-family: var(--fw-font-display); font-size: clamp(1.3rem, 3vw, 2.2rem); font-weight: 700; }
.fw-bento-grid__sub { font-size: var(--fw-fs-btn); color: var(--fw-text-mid); max-width: 480px; margin: 8px auto 0; }
.fw-bento-grid__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.fw-bento-grid__card { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); padding: var(--fw-space-lg); transition: box-shadow 0.2s, transform 0.2s; }
.fw-bento-grid__card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.06); transform: translateY(-2px); }
.fw-bento-grid__card--span-2 { grid-column: span 2; }
.fw-bento-grid__card--stat { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.fw-bento-grid__stat-num { font-family: var(--fw-font-display); font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 700; }
.fw-bento-grid__card--dark { background: var(--fw-bg-dark); border-color: transparent; color: var(--fw-text-on-dark); }
.fw-bento-grid__card--accent { background: linear-gradient(135deg, var(--fw-brand-hot), #e65c00); border-color: transparent; color: #fff; }
.fw-bento-grid__card--image { padding: 0; overflow: hidden; }
.fw-bento-grid__card-img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 768px) {
  .fw-bento-grid__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .fw-bento-grid__grid { grid-template-columns: 1fr; }
.fw-bento-grid__card--span-2 { grid-column: auto; }
}

/* ─── before-after-slider ─── */
/* Before/After Comparison Slider */
.fw-before-after__header { text-align: center; margin-bottom: var(--fw-space-lg); }
.fw-before-after__heading { font-family: var(--fw-font-display); font-size: clamp(1.2rem, 3vw, 2rem); font-weight: 700; }
.fw-before-after__sub { font-size: var(--fw-fs-body); color: var(--fw-text-mid); }
.fw-before-after__slider { position: relative; max-width: 700px; margin: 0 auto; border-radius: var(--fw-radius); overflow: hidden; aspect-ratio: 16/9; user-select: none; cursor: ew-resize; }
.fw-before-after__side { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: var(--fw-space-xl); }
.fw-before-after__side--before { z-index: 1; background: var(--fw-bg-alt); clip-path: inset(0 50% 0 0); }
.fw-before-after__side--after { z-index: 0; background: var(--fw-bg-dark); color: var(--fw-text-on-dark); }
.fw-before-after__handle { position: absolute; top: 0; bottom: 0; left: 50%; z-index: 5; width: 3px; background: #fff; transform: translateX(-50%); }
.fw-before-after__handle::after { content: '⇔'; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 36px; height: 36px; border-radius: 50%; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.2); display: flex; align-items: center; justify-content: center; cursor: ew-resize; }
.fw-before-after__stats { display: flex; justify-content: center; gap: 32px; margin-top: var(--fw-space-lg); }
.fw-before-after__stat { text-align: center; }
.fw-before-after__stat-num { font-family: var(--fw-font-display); font-size: 1.3rem; font-weight: 700; color: #10b981; }
@media (max-width: 480px) {
  .fw-before-after__slider { aspect-ratio: 3/4; }
.fw-before-after__stats { flex-wrap: wrap; gap: 16px; }
}

/* ─── bento-dashboard-grid ─── */
/* Bento Grid — Dashboard (Dark) */
.fw-section.fw-bento-dash { background: var(--fw-bg-dark); }
.fw-bento-dash__header { text-align: center; margin-bottom: var(--fw-space-lg); }
.fw-bento-dash__heading { font-family: var(--fw-font-display); font-size: clamp(1.2rem, 3vw, 2rem); font-weight: 700; color: var(--fw-text-on-dark); }
.fw-bento-dash__sub { font-size: var(--fw-fs-body); color: rgba(255,255,255,0.45); }
.fw-bento-dash__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px; }
.fw-bento-dash__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); border-radius: var(--fw-radius); padding: 22px; overflow: hidden; }
.fw-bento-dash__card--col-8 { grid-column: span 8; }
.fw-bento-dash__card--col-6 { grid-column: span 6; }
.fw-bento-dash__card--col-4 { grid-column: span 4; }
.fw-bento-dash__card--col-3 { grid-column: span 3; }
.fw-bento-dash__metric { font-family: var(--fw-font-display); font-size: clamp(1.8rem, 5vw, 2.8rem); font-weight: 700; color: var(--fw-text-on-dark); }
.fw-bento-dash__metric-change { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); color: #34d399; margin-top: 4px; }
.fw-bento-dash__status-dot { width: 6px; height: 6px; border-radius: 50%; }
.fw-bento-dash__status-dot--green { background: #34d399; }
.fw-bento-dash__status-dot--yellow { background: #fbbf24; }
.fw-bento-dash__status-dot--red { background: #f87171; }
@media (max-width: 768px) {
  .fw-bento-dash__grid { grid-template-columns: repeat(6, 1fr); }
.fw-bento-dash__card--col-8 { grid-column: span 6; }
}
@media (max-width: 480px) {
  .fw-bento-dash__grid { grid-template-columns: 1fr 1fr; }
.fw-bento-dash__card--col-8,
  .fw-bento-dash__card--col-6,
  .fw-bento-dash__card--col-12 { grid-column: span 2; }
}

/* ─── bento-services-grid ─── */
/* Bento Grid — Services Showcase */
.fw-bento-services__header { text-align: center; margin-bottom: var(--fw-space-xl); }
.fw-bento-services__heading { font-family: var(--fw-font-display); font-size: clamp(1.2rem, 3vw, 2rem); font-weight: 700; }
.fw-bento-services__sub { font-size: var(--fw-fs-body); color: var(--fw-text-mid); }
.fw-bento-services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fw-bento-services__card { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); padding: 28px; display: flex; flex-direction: column; }
.fw-bento-services__card--span-2 { grid-column: span 2; }
.fw-bento-services__icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.fw-bento-services__icon--brand { background: linear-gradient(135deg, var(--fw-brand), var(--fw-brand-hot)); }
.fw-bento-services__icon--teal { background: linear-gradient(135deg, #0d9488, #14b8a6); }
.fw-bento-services__features { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.fw-bento-services__feat { font-size: 0.7rem; color: var(--fw-text-mid); }
.fw-bento-services__feat-check { color: #10b981; font-weight: 700; }
.fw-bento-services__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.fw-bento-services__tag { font-family: var(--fw-font-mono); font-size: var(--fw-fs-2xs); padding: 3px 10px; border-radius: var(--fw-radius-tag); background: var(--fw-bg-alt); border: 1px solid var(--fw-border-subtle); }
.fw-bento-services__card--cta { background: var(--fw-bg-dark); border-color: transparent; }
.fw-bento-services__card--cta .fw-bento-services__card-title { color: var(--fw-text-on-dark); }
@media (max-width: 768px) {
  .fw-bento-services__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .fw-bento-services__grid { grid-template-columns: 1fr; }
.fw-bento-services__card--span-2 { grid-column: auto; }
}

/* ─── values-tag-cloud ─── */
.fw-values-tags { padding:var(--fw-section-py) var(--fw-container-px); text-align:center; background:#faf5ef; }
.fw-values-tags__heading { font-family:var(--fw-font-display); font-size:clamp(1.8rem,6vw,3.5rem); font-weight:700; color:var(--fw-text); line-height:1.15; letter-spacing: var(--fw-tracking-tight); max-width:600px; margin:0 auto 48px; }
.fw-values-tags__heading em { font-style:italic; font-weight:400; }
.fw-values-tags__cloud { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; max-width:720px; margin:0 auto; }
.fw-values-tags__pill { display:inline-flex; align-items:center; gap:7px; padding:10px 22px; border-radius: var(--fw-radius-button); font-family:var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--fw-text); transition:transform 0.15s; }
.fw-values-tags__pill:hover { transform:translateY(-2px); }
.fw-values-tags__pill-icon { font-size: var(--fw-fs-btn); }

/* ─── service-area-map ─── */
.fw-service-map { background: var(--fw-bg-alt); }
.fw-service-map__header { text-align: center; margin-bottom: var(--fw-space-xl); }
.fw-service-map__layout { display: grid; grid-template-columns: 1fr 300px; gap: var(--fw-space-lg); margin-bottom: var(--fw-space-xl); }
.fw-service-map__map-wrap { border-radius: var(--fw-radius); overflow: hidden; border: 1px solid var(--fw-border-subtle); min-height: 400px; }
.fw-service-map__iframe { width: 100%; height: 100%; min-height: 400px; border: 0; }
.fw-service-map__zones { background: var(--fw-bg-card); border-radius: var(--fw-radius); border: 1px solid var(--fw-border-subtle); padding: var(--fw-space-lg); }
.fw-service-map__zone { display: flex; align-items: center; gap: var(--fw-space-sm); padding: 10px 0; border-bottom: 1px solid var(--fw-border-subtle); }
.fw-service-map__zone-check { color: var(--fw-brand); font-weight: 600; }
.fw-service-map__cta { text-align: center; }
@media (max-width: 900px) { .fw-service-map__layout { grid-template-columns: 1fr; }
}

/* ─── footer-cta ─── */
/* Footer CTA — centered (default) */
.fw-footer-cta { background: var(--fw-bg-dark); }
.fw-footer-cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--fw-space-md);
}
.fw-footer-cta__title {
  font-family: var(--fw-font-display);
  font-size: clamp(1.2rem, 2.5vw, 1.8rem);
  font-weight: 600;
  color: var(--fw-text-on-dark-bright);
  line-height: 1.2;
}
.fw-footer-cta__text {
  font-size: 0.88rem;
  color: var(--fw-text-on-dark);
  max-width: 52ch;
}
/* Split variant */
.fw-footer-cta--split .fw-footer-cta__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg);
  align-items: center;
}
.fw-footer-cta--split .fw-footer-cta__content {
  display: flex;
  flex-direction: column;
  gap: var(--fw-space-md);
}
.fw-footer-cta--split .fw-footer-cta__media {
  border-radius: var(--fw-radius);
  overflow: hidden;
  aspect-ratio: 4 / 3;
}
.fw-footer-cta--split .fw-footer-cta__media img {
  width: 100%; height: 100%; object-fit: cover;
}
/* Compact variant */
.fw-footer-cta--compact { padding-top: var(--fw-section-py-sm); padding-bottom: var(--fw-section-py-sm); }
.fw-footer-cta--compact .fw-footer-cta__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fw-space-lg);
}
@media (max-width: 768px) {
  .fw-footer-cta--split .fw-footer-cta__grid { grid-template-columns: 1fr; }
.fw-footer-cta--compact .fw-footer-cta__row { flex-direction: column; text-align: center; }
}

/* ─── prev-next-nav ─── */
.fw-prev-next {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap);
  padding: var(--fw-space-lg) 0;
  border-top: 1px solid var(--fw-border-subtle);
}
.fw-prev-next__link {
  text-decoration: none;
  padding: 10px;
  border-radius: var(--fw-radius-sm);
  transition: background 0.2s;
}
.fw-prev-next__link:hover { background: rgba(0,0,0,0.03); }
.fw-prev-next__label {
  font-family: var(--fw-font-mono);
  font-size: var(--fw-fs-xs);
  text-transform: uppercase;
  letter-spacing: var(--fw-tracking-wide);
  color: var(--fw-text-light);
  display: block;
  margin-bottom: 3px;
}
.fw-prev-next__title {
  font-family: var(--fw-font-accent);
  font-size: var(--fw-fs-body);
  font-weight: 500;
  color: var(--fw-text);
}
.fw-prev-next__link--next { text-align: right; }
/* Thumbnail variant */
.fw-prev-next--thumbs .fw-prev-next__link {
  display: flex; align-items: center; gap: 12px;
}
.fw-prev-next--thumbs .fw-prev-next__link--next {
  flex-direction: row-reverse; text-align: right;
}
.fw-prev-next__thumb {
  width: 48px; height: 48px;
  border-radius: var(--fw-radius-sm);
  overflow: hidden; flex-shrink: 0;
}
.fw-prev-next__thumb img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 768px) {
  .fw-prev-next { grid-template-columns: 1fr; gap: 12px; }
.fw-prev-next__link--next { text-align: left; }
.fw-prev-next--thumbs .fw-prev-next__link--next { flex-direction: row; text-align: left; }
}

/* ─── breadcrumb ─── */
.fw-breadcrumb {
  padding: var(--fw-space-sm) 0;
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-breadcrumb__list {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.fw-breadcrumb__link {
  font-family: var(--fw-font-body);
  font-size: var(--fw-fs-caption);
  color: var(--fw-text-light);
  text-decoration: none;
}
.fw-breadcrumb__link:hover { color: var(--fw-text); }
.fw-breadcrumb__sep { font-size: var(--fw-fs-xs); color: var(--fw-text-light); }
.fw-breadcrumb__current {
  font-family: var(--fw-font-body);
  font-size: var(--fw-fs-caption);
  color: var(--fw-text-mid);
  font-weight: 500;
}
/* Dark variant */
.fw-breadcrumb--dark { background: var(--fw-bg-dark); }
.fw-breadcrumb--dark .fw-breadcrumb { border-color: rgba(255,255,255,0.08); }
.fw-breadcrumb--dark .fw-breadcrumb__link { color: var(--fw-text-on-dark-mid); }
.fw-breadcrumb--dark .fw-breadcrumb__link:hover { color: var(--fw-text-on-dark-bright); }
.fw-breadcrumb--dark .fw-breadcrumb__sep { color: var(--fw-text-on-dark-mid); }
.fw-breadcrumb--dark .fw-breadcrumb__current { color: var(--fw-text-on-dark-bright); }

/* ─── contact-form-split ─── */
/* Contact Form Split */
.fw-contact-form { background: var(--fw-bg-alt); }
.fw-contact-form__grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg); align-items: start;
}
.fw-contact-form__heading {
  font-family: var(--fw-font-display);
  font-size: clamp(1.1rem, 2.5vw, 1.5rem);
  font-weight: 600; color: var(--fw-text);
  margin-bottom: var(--fw-space-md);
}
/* Form field base classes */
.fw-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fw-form-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.fw-form-label {
  font-family: var(--fw-font-body); font-size: 0.68rem;
  font-weight: 500; color: var(--fw-text-mid);
  text-transform: uppercase; letter-spacing: var(--fw-tracking-body);
}
.fw-form-input {
  background: var(--fw-bg-card);
  border: 1px solid var(--fw-border-subtle);
  border-radius: var(--fw-radius-input);
  padding: 10px 12px; font-size: var(--fw-fs-body);
  color: var(--fw-text); font-family: var(--fw-font-body);
}
.fw-form-input:focus { border-color: var(--fw-brand); outline: none; }
.fw-form-textarea { min-height: 100px; resize: vertical; }
.fw-form-input--dark {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.12);
  color: #fff;
}
/* Contact info */
.fw-contact-info { display: flex; flex-direction: column; gap: var(--fw-space-lg); }
.fw-contact-info__item { display: flex; gap: 10px; align-items: flex-start; }
.fw-contact-info__icon {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--fw-brand-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.8rem; flex-shrink: 0;
}
.fw-contact-info__label { font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text); }
.fw-contact-info__value { font-size: var(--fw-fs-body-sm); color: var(--fw-text-mid); }
/* Inline bar */
.fw-inline-form-bar { background: var(--fw-bg-dark); padding: var(--fw-space-xl) 0; }
.fw-inline-form-bar__inner {
  display: flex; flex-direction: column; align-items: center;
  gap: var(--fw-space-md); text-align: center;
}
.fw-inline-form-bar__heading {
  font-family: var(--fw-font-display);
  font-size: clamp(1rem, 2vw, 1.3rem);
  font-weight: 600; color: var(--fw-text-on-dark-bright);
}
.fw-inline-form-bar__form {
  display: flex; gap: 8px; width: 100%; max-width: 480px;
}
@media (max-width: 768px) {
  .fw-contact-form__grid { grid-template-columns: 1fr; }
.fw-form-row { grid-template-columns: 1fr; }
.fw-inline-form-bar__form { flex-direction: column; }
}

/* ─── quote-request ─── */
.fw-quote-request { background: var(--fw-bg-dark); }
.fw-quote-request__header {
  text-align: center; margin-bottom: var(--fw-space-xl);
}
.fw-quote-request__title {
  font-family: var(--fw-font-display);
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  font-weight: 600;
  color: var(--fw-text-on-dark-bright);
  margin-bottom: 8px;
}
.fw-quote-request__subtitle {
  font-size: var(--fw-fs-btn); color: var(--fw-text-on-dark);
}
.fw-quote-request__form {
  max-width: 640px; margin: 0 auto;
  display: flex; flex-direction: column; gap: var(--fw-space-md);
}
.fw-quote-request__form .fw-form-label { color: var(--fw-text-on-dark-mid); }
.fw-quote-request__submit { text-align: center; margin-top: var(--fw-space-sm); }
@media (max-width: 768px) {
  .fw-quote-request__form .fw-form-row { grid-template-columns: 1fr; }
}

/* ─── footer-frosted-glass ─── */
.fw-footer--frosted-glass { position:relative; min-height:460px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; }
.fw-footer--frosted-glass .fw-footer__media { position:absolute; inset:0; z-index:0; }
.fw-footer--frosted-glass .fw-footer__media img { width:100%; height:100%; object-fit:cover; }
.fw-footer__glass-bar { position:relative; z-index:2; background:var(--fw-glass-bg-dark, rgba(255,255,255,0.12)); backdrop-filter:blur(var(--fw-glass-blur, 20px)) saturate(var(--fw-glass-saturate, 1.4)); -webkit-backdrop-filter:blur(var(--fw-glass-blur, 20px)) saturate(var(--fw-glass-saturate, 1.4)); border-top:1px solid var(--fw-glass-border-dark, rgba(255,255,255,0.18)); padding:28px 36px; display:grid; grid-template-columns:1fr repeat(4, auto); gap:48px; align-items:start; }
.fw-footer__brand { font-family:var(--fw-font-display); font-size: var(--fw-fs-subhead); font-weight:600; color:rgba(255,255,255,0.9); }
.fw-footer__col-title { font-family:var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight:700; text-transform:uppercase; letter-spacing: var(--fw-tracking-widest); color:rgba(255,255,255,0.7); margin-bottom:10px; }
.fw-footer__col a { display:block; font-size: var(--fw-fs-eyebrow); color:rgba(255,255,255,0.55); text-decoration:none; line-height:2; transition:color 0.15s; }
.fw-footer__col a:hover { color:rgba(255,255,255,0.9); }
.fw-footer__divider { grid-column:1 / -1; height:1px; background:rgba(255,255,255,0.1); margin-top:4px; }
@media (max-width:768px) { .fw-footer__glass-bar { grid-template-columns:1fr 1fr; gap:24px; padding:24px; }
.fw-footer__brand { grid-column:1 / -1; }
}

/* ─── footer-cinematic-brand ─── */
.fw-footer--cinematic-brand { position:relative; min-height:480px; overflow:hidden; display:flex; flex-direction:column; background:#0a0a0c; }
.fw-footer--cinematic-brand .fw-footer__media { position:absolute; inset:0; z-index:0; }
.fw-footer--cinematic-brand .fw-footer__media img { width:100%; height:100%; object-fit:cover; opacity:0.85; }
.fw-footer__top-bar { position:relative; z-index:2; display:flex; justify-content:space-between; padding:24px 36px; align-items:flex-start; }
.fw-footer__logo-circle { width:36px; height:36px; border:1.5px solid rgba(255,255,255,0.4); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size: var(--fw-fs-sm); color:rgba(255,255,255,0.7); }
.fw-footer__tagline { font-family:var(--fw-font-accent); font-size:0.68rem; font-weight:700; font-style:italic; text-transform:uppercase; letter-spacing: var(--fw-tracking-wide); color:rgba(220,190,140,0.9); }
.fw-footer__nav-grid { position:relative; z-index:2; margin-top:auto; padding:20px 36px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px; border-top:1px solid rgba(255,255,255,0.12); }
.fw-footer__cta-pill { display:inline-block; padding:8px 18px; border:1px solid rgba(255,255,255,0.35); border-radius: var(--fw-radius-button); font-family:var(--fw-font-accent); font-size:0.68rem; color:rgba(255,255,255,0.75); text-decoration:none; margin-top:8px; transition:all 0.2s; }
.fw-footer__cta-pill:hover { background:rgba(255,255,255,0.08); color:#fff; }
.fw-footer__brand-watermark { position:relative; z-index:2; padding:0 36px 16px; font-family:var(--fw-font-display); font-size:clamp(3rem,12vw,7rem); font-weight:900; text-transform:uppercase; letter-spacing:-0.04em; line-height:0.85; background:linear-gradient(to top, rgba(255,255,255,0.25), rgba(255,255,255,0.06)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
@media (max-width:768px) { .fw-footer__nav-grid { grid-template-columns:1fr; gap:20px; padding:16px 24px; }
.fw-footer__top-bar { padding:20px 24px; }
.fw-footer__brand-watermark { padding:0 24px 12px; }
}

/* ─── ai-summary-bar ─── */
.fw-ai-summary-bar {
  border-bottom: 1px solid var(--fw-border-subtle);
  padding: var(--fw-space-lg) var(--fw-container-px);
}
.fw-ai-summary-bar__inner {
  background: linear-gradient(135deg, rgba(139,92,246,0.06), rgba(59,130,246,0.06));
  border: 1px solid rgba(139,92,246,0.15);
  border-radius: var(--fw-radius);
  padding: 20px 24px;
}
.fw-ai-summary-bar__header {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 12px;
}
.fw-ai-summary-bar__icon {
  width: 28px; height: 28px; border-radius: 8px;
  background: linear-gradient(135deg, #8b5cf6, #3b82f6);
  display: flex; align-items: center; justify-content: center;
  font-size: var(--fw-fs-btn);
}
.fw-ai-summary-bar__title {
  font-family: var(--fw-font-accent);
  font-size: var(--fw-fs-body); font-weight: 600;
  color: var(--fw-text);
}
.fw-ai-summary-bar__subtitle {
  font-size: var(--fw-fs-caption); color: var(--fw-text-light);
}
.fw-ai-summary-bar__chips {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.fw-ai-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: var(--fw-radius-tag);
  background: var(--fw-bg-card);
  border: 1px solid var(--fw-border-subtle);
  font-size: var(--fw-fs-eyebrow); color: var(--fw-text-mid);
  cursor: pointer; transition: all 0.2s ease;
}
.fw-ai-chip:hover {
  border-color: rgba(139,92,246,0.4);
  color: var(--fw-text);
  background: rgba(139,92,246,0.06);
}
.fw-ai-summary-bar__response {
  margin-top: 16px; padding: 16px 20px;
  background: var(--fw-bg-card);
  border-radius: var(--fw-radius-sm);
  border-left: 3px solid #8b5cf6;
}
@media (max-width: 480px) {
  .fw-ai-summary-bar__inner { padding: 16px 18px; }
.fw-ai-chip { font-size: 0.68rem; padding: 6px 10px; }
}

/* ─── ai-assist-widget ─── */
.fw-ai-widget-fab {
  position: fixed; bottom: 24px; right: 24px;
  width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, #8b5cf6, #6366f1);
  color: #fff; border: none; cursor: pointer;
  box-shadow: 0 4px 20px rgba(139,92,246,0.4);
  z-index: 1000; transition: all 0.3s ease;
}
.fw-ai-widget-fab:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 28px rgba(139,92,246,0.5);
}
.fw-ai-widget-panel {
  position: fixed; bottom: 88px; right: 24px;
  width: 320px; background: var(--fw-bg-card);
  border-radius: var(--fw-radius);
  border: 1px solid var(--fw-border-subtle);
  box-shadow: 0 12px 40px rgba(0,0,0,0.15);
  z-index: 1000; overflow: hidden;
}
.fw-ai-widget-panel__header {
  display: flex; align-items: center; gap: 10px;
  padding: 16px 18px;
  background: linear-gradient(135deg,
    rgba(139,92,246,0.08), rgba(59,130,246,0.05));
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-ai-widget-prompt {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: var(--fw-radius-sm);
  background: var(--fw-bg-alt);
  border: 1px solid transparent;
  cursor: pointer; transition: all 0.2s ease;
  width: 100%;
}
.fw-ai-widget-prompt:hover {
  border-color: rgba(139,92,246,0.3);
  background: rgba(139,92,246,0.04);
}
.fw-ai-widget-panel__input {
  display: flex; gap: 8px;
  padding: 12px 18px;
  border-top: 1px solid var(--fw-border-subtle);
}
@media (max-width: 480px) {
  .fw-ai-widget-fab { width: 46px; height: 46px; bottom: 16px; right: 16px; }
.fw-ai-widget-panel { width: calc(100% - 32px); right: 16px; bottom: 72px; }
}

/* ─── ai-insights-card ─── */
.fw-ai-insights__card {
  background: var(--fw-bg-card);
  border-radius: var(--fw-radius);
  border: 1px solid var(--fw-border-subtle);
  overflow: hidden; max-width: 520px; margin: 0 auto;
}
.fw-ai-insights__header {
  display: flex; align-items: center; gap: 12px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--fw-border-subtle);
  background: linear-gradient(135deg,
    rgba(139,92,246,0.04), rgba(16,185,129,0.04));
}
.fw-ai-insights__badge {
  width: 32px; height: 32px; border-radius: 8px;
  background: linear-gradient(135deg, #8b5cf6, #10b981);
  display: flex; align-items: center; justify-content: center;
}
.fw-ai-insights__title {
  font-family: var(--fw-font-accent);
  font-size: var(--fw-fs-body); font-weight: 600;
  color: var(--fw-text);
}
.fw-ai-insights__source {
  font-family: var(--fw-font-mono);
  font-size: 0.58rem; text-transform: uppercase;
  letter-spacing: var(--fw-tracking-wide); color: var(--fw-text-light);
}
.fw-ai-insight-prompt {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 12px 14px; border-radius: var(--fw-radius-sm);
  border: 1px solid var(--fw-border-subtle);
  cursor: pointer; transition: all 0.2s ease;
  width: 100%; background: transparent;
}
.fw-ai-insight-prompt:hover {
  border-color: rgba(139,92,246,0.3);
  background: rgba(139,92,246,0.03);
}
.fw-ai-insight-prompt__num {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--fw-brand-light);
  font-family: var(--fw-font-mono);
  font-size: var(--fw-fs-xs); font-weight: 600;
  color: var(--fw-brand);
  display: flex; align-items: center; justify-content: center;
}
.fw-ai-insights__response {
  margin-top: 14px; padding: 16px 18px;
  background: rgba(139,92,246,0.04);
  border-radius: var(--fw-radius-sm);
  border-left: 3px solid #8b5cf6;
}
.fw-ai-insights__footer {
  padding: 12px 22px;
  border-top: 1px solid var(--fw-border-subtle);
  display: flex; justify-content: space-between;
}
@media (max-width: 480px) {
  .fw-ai-insights__header { padding: 14px 16px; }
.fw-ai-insights__card { max-width: 100%; }
.fw-ai-insight-prompt { padding: 10px 12px; }
}

/* ─── exit-intent-popup ─── */
.fw-popup-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(3px);
  z-index: 999;
}
.fw-popup--exit-intent {
  position: fixed; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 420px; max-width: calc(100vw - 40px);
  background: var(--fw-bg-card);
  border-radius: var(--fw-radius);
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  z-index: 1000; overflow: hidden;
}
.fw-popup__close {
  position: absolute; top: 14px; right: 14px;
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(0,0,0,0.06); border: none;
  cursor: pointer; z-index: 2;
}
.fw-popup__visual {
  width: 100%; aspect-ratio: 16/7;
  background: linear-gradient(135deg, var(--fw-brand-hot), #e65c00);
  display: flex; align-items: center; justify-content: center;
}
.fw-popup__badge {
  background: rgba(255,255,255,0.2);
  backdrop-filter: blur(8px);
  border-radius: var(--fw-radius-tag);
  padding: 8px 18px;
  font-family: var(--fw-font-mono);
  font-size: 0.7rem; font-weight: 600;
  text-transform: uppercase; color: #fff;
}
.fw-popup__body { padding: 28px; text-align: center; }
.fw-popup__title {
  font-family: var(--fw-font-display);
  font-size: clamp(1.1rem, 3vw, 1.5rem);
  font-weight: 700; color: var(--fw-text);
  margin-bottom: 8px;
}
.fw-popup__form {
  display: flex; gap: 8px;
  max-width: 340px; margin: 0 auto 14px;
}
@media (max-width: 480px) {
  .fw-popup--exit-intent { width: calc(100vw - 32px); }
.fw-popup__form { flex-direction: column; }
}

/* ─── contact-popup ─── */
.fw-popup--contact {
  position: fixed; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 520px; max-width: calc(100vw - 40px);
  background: var(--fw-bg-card);
  border-radius: var(--fw-radius);
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
  z-index: 1000; overflow: hidden;
}
.fw-popup__layout {
  display: grid; grid-template-columns: 200px 1fr;
}
.fw-popup__sidebar {
  background: var(--fw-bg-dark); padding: 28px 22px;
  display: flex; flex-direction: column; gap: 18px;
}
.fw-popup__sidebar-title {
  font-family: var(--fw-font-display);
  font-size: 0.95rem; font-weight: 600;
  color: var(--fw-text-on-dark-bright); line-height: var(--fw-leading-snug);
}
.fw-popup__form-panel {
  padding: 28px 24px;
  display: flex; flex-direction: column; gap: 14px;
}
.fw-popup__socials { display: flex; gap: 8px; }
.fw-popup__social {
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  display: flex; align-items: center; justify-content: center;
  color: var(--fw-text-on-dark); text-decoration: none;
}
@media (max-width: 768px) {
  .fw-popup__layout { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .fw-popup--contact { width: calc(100vw - 32px); }
}

/* ─── mobile-nav-overlay ─── */
.fw-mobile-header {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid var(--fw-border-subtle);
  background: var(--fw-bg-card);
  position: relative; z-index: 1001;
}
.fw-mobile-header__logo {
  font-family: var(--fw-font-display);
  font-size: var(--fw-fs-body-lg); font-weight: 700;
  color: var(--fw-text); text-decoration: none;
}
.fw-mobile-header__hamburger {
  width: 36px; height: 36px;
  border: 1px solid var(--fw-border);
  border-radius: var(--fw-radius-sm);
  background: transparent;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 5px;
  cursor: pointer;
}
.fw-mobile-header__hamburger span {
  display: block; width: 18px; height: 2px;
  background: var(--fw-text); border-radius: 1px;
  transition: all 0.3s ease;
}
.fw-mobile-nav-overlay {
  position: fixed; inset: 0;
  background: var(--fw-bg-dark);
  z-index: 1000; padding-top: 65px;
  display: flex; flex-direction: column;
}
.fw-mobile-nav__link {
  font-family: var(--fw-font-accent);
  font-size: 1.4rem; font-weight: 500;
  color: var(--fw-text-on-dark-bright);
  text-decoration: none; padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.fw-mobile-nav__link--sub {
  font-size: var(--fw-fs-body); font-weight: 400;
  color: var(--fw-text-on-dark);
  padding-left: 16px; border-bottom: none;
}
.fw-mobile-nav__cta {
  padding: 0 28px 32px;
  display: flex; flex-direction: column; gap: 12px;
}
@media (max-width: 480px) {
  .fw-mobile-nav__link { font-size: var(--fw-fs-subhead); padding: 10px 0; }
}

/* ─── offcanvas-contact ─── */
.fw-offcanvas-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.45); z-index: 999;
}
.fw-offcanvas {
  position: fixed; top: 0; bottom: 0;
  width: 320px; background: var(--fw-bg-card);
  box-shadow: -8px 0 30px rgba(0,0,0,0.15);
  z-index: 1000; display: flex; flex-direction: column;
  overflow-y: auto;
}
.fw-offcanvas--right { right: 0; }
.fw-offcanvas--left { left: 0; box-shadow: 8px 0 30px rgba(0,0,0,0.15); }
.fw-offcanvas__header {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-offcanvas__body { flex: 1; padding: 20px 22px; }
.fw-offcanvas__footer {
  padding: 16px 22px;
  border-top: 1px solid var(--fw-border-subtle);
}
@media (max-width: 480px) {
  .fw-offcanvas { width: calc(100vw - 48px); }
}

/* ─── offcanvas-filters ─── */
.fw-offcanvas--filters .fw-filter-group {
  margin-bottom: 20px;
}
.fw-filter-group__title {
  font-family: var(--fw-font-accent);
  font-size: var(--fw-fs-body-sm); font-weight: 600;
  color: var(--fw-text); margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-filter-option {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 0; cursor: pointer;
  font-size: var(--fw-fs-eyebrow); color: var(--fw-text-mid);
}
.fw-filter-count {
  font-family: var(--fw-font-mono);
  font-size: 0.58rem; color: var(--fw-text-light);
  margin-left: auto;
}
.fw-filter-chip {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: var(--fw-font-mono);
  font-size: var(--fw-fs-xs); font-weight: 500;
  text-transform: uppercase; letter-spacing: var(--fw-tracking-wide);
  padding: 4px 10px; border-radius: var(--fw-radius-tag);
  background: var(--fw-brand-light); color: var(--fw-brand);
}
.fw-offcanvas__results-count {
  font-family: var(--fw-font-mono);
  font-size: 0.62rem; color: var(--fw-text-light);
  text-align: center; margin-top: 8px;
}
@media (max-width: 480px) {
  .fw-offcanvas--filters { width: calc(100vw - 48px); }
}

/* ─── offcanvas-related ─── */
.fw-offcanvas--related .fw-offcanvas__meta-section {
  margin-bottom: 20px;
}
.fw-offcanvas__meta-title {
  font-family: var(--fw-font-accent);
  font-size: var(--fw-fs-body-sm); font-weight: 600;
  color: var(--fw-text); margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-offcanvas__meta-item {
  display: flex; justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-offcanvas__meta-item dt {
  font-size: 0.68rem; color: var(--fw-text-light);
}
.fw-offcanvas__meta-item dd {
  font-size: var(--fw-fs-caption); font-weight: 500;
  color: var(--fw-text);
}
.fw-offcanvas__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fw-tag {
  font-family: var(--fw-font-mono);
  font-size: 0.58rem; font-weight: 500;
  text-transform: uppercase; letter-spacing: var(--fw-tracking-wide);
  padding: 4px 10px; border-radius: var(--fw-radius-tag);
  background: var(--fw-bg-alt);
  border: 1px solid var(--fw-border-subtle);
  color: var(--fw-text-mid);
}
.fw-offcanvas__related-card {
  display: flex; gap: 12px; padding: 10px;
  border-radius: var(--fw-radius-sm);
  border: 1px solid var(--fw-border-subtle);
  text-decoration: none; transition: all 0.2s ease;
}
.fw-offcanvas__related-card:hover {
  border-color: var(--fw-brand);
}
.fw-offcanvas__related-thumb {
  width: 56px; height: 56px;
  border-radius: calc(var(--fw-radius-sm) - 2px);
  object-fit: cover;
}
.fw-offcanvas__view-all {
  font-family: var(--fw-font-mono);
  font-size: var(--fw-fs-xs); color: var(--fw-brand);
  text-decoration: none;
}
@media (max-width: 480px) {
  .fw-offcanvas--related { width: calc(100vw - 48px); }
}

/* ─── announcement-bar ─── */
.fw-announce-bar {
  background: linear-gradient(90deg, var(--fw-brand-hot), #e65c00);
  position: sticky; top: 0; z-index: 900;
  transition: max-height 0.4s ease, opacity 0.3s ease;
  overflow: hidden;
}
.fw-announce-bar__inner {
  display: flex; align-items: center;
  justify-content: center; gap: 12px;
  padding: 10px 40px 10px 20px;
  min-height: 42px; flex-wrap: wrap;
}
.fw-announce-bar__badge {
  font-family: var(--fw-font-mono);
  font-size: 0.58rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: var(--fw-tracking-caps);
  padding: 3px 10px; border-radius: var(--fw-radius-tag);
  background: rgba(255,255,255,0.2); color: #fff;
}
.fw-announce-bar__text {
  font-size: var(--fw-fs-body-sm); color: #fff;
  text-align: center;
}
.fw-announce-bar__link {
  font-family: var(--fw-font-mono);
  font-size: 0.68rem; font-weight: 600;
  color: #fff; text-decoration: underline;
}
.fw-announce-bar__close {
  position: absolute; right: 12px;
  top: 50%; transform: translateY(-50%);
  width: 24px; height: 24px; border-radius: 50%;
  background: rgba(255,255,255,0.15);
  border: none; color: #fff; cursor: pointer;
}
/* Dark variant */
.fw-announce-bar--dark { background: var(--fw-bg-dark); }
.fw-announce-bar--dark .fw-announce-bar__badge { background: var(--fw-brand-hot); }
/* Accent variant */
.fw-announce-bar--accent { background: linear-gradient(90deg, #8b5cf6, #3b82f6); }
@media (max-width: 480px) {
  .fw-announce-bar__inner { flex-direction: column; gap: 6px; text-align: center; }
.fw-announce-bar__text { font-size: 0.68rem; }
}

/* ─── cookie-consent-banner ─── */
.fw-cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0;
  background: var(--fw-bg-card);
  border-top: 1px solid var(--fw-border-subtle);
  box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
  padding: 20px 24px; z-index: 1000;
  transition: transform 0.4s ease, opacity 0.3s ease;
}
.fw-cookie-banner[hidden] {
  transform: translateY(100%); opacity: 0;
}
.fw-cookie-banner__inner {
  display: flex; align-items: center;
  gap: 16px; max-width: 960px; margin: 0 auto;
}
.fw-cookie-banner__icon { font-size: 1.4rem; flex-shrink: 0; }
.fw-cookie-banner__title {
  font-family: var(--fw-font-accent);
  font-size: var(--fw-fs-body); font-weight: 600;
  color: var(--fw-text); margin-bottom: 4px;
}
.fw-cookie-banner__desc {
  font-size: var(--fw-fs-caption); color: var(--fw-text-mid);
  line-height: var(--fw-leading-normal);
}
.fw-cookie-banner__desc a { color: var(--fw-brand); text-decoration: underline; }
.fw-cookie-banner__actions { display: flex; gap: 8px; flex-shrink: 0; }
.fw-cookie-banner__btn {
  padding: 8px 18px; border-radius: var(--fw-radius-button);
  font-size: var(--fw-fs-caption); font-weight: 600; cursor: pointer;
  border: none; white-space: nowrap;
}
.fw-cookie-banner__btn--accept { background: var(--fw-brand-hot); color: #fff; }
.fw-cookie-banner__btn--decline {
  background: transparent; color: var(--fw-text-mid);
  border: 1px solid var(--fw-border);
}
.fw-cookie-banner__btn--prefs {
  background: transparent; color: var(--fw-text-light);
  text-decoration: underline; font-weight: 400;
}
@media (max-width: 768px) {
  .fw-cookie-banner__inner { flex-direction: column; align-items: flex-start; }
.fw-cookie-banner__actions { width: 100%; }
}
@media (max-width: 480px) {
  .fw-cookie-banner { padding: 16px 18px; }
.fw-cookie-banner__btn { font-size: 0.68rem; padding: 7px 14px; }
}

/* ─── trust-credentials-strip ─── */
.fw-trust-strip {
  background: var(--fw-bg-alt);
  border-bottom: 1px solid var(--fw-border-subtle);
  padding: 12px var(--fw-container-px);
}
.fw-trust-strip__inner {
  display: flex; align-items: center;
  justify-content: center; gap: 24px;
  flex-wrap: wrap;
}
.fw-trust-strip__item {
  display: flex; align-items: center; gap: 8px;
}
.fw-trust-strip__badge {
  width: 28px; height: 28px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-size: var(--fw-fs-btn);
}
.fw-trust-strip__badge--green { background: rgba(16,185,129,0.1); }
.fw-trust-strip__badge--blue { background: rgba(59,130,246,0.1); }
.fw-trust-strip__badge--gold { background: rgba(245,158,11,0.1); }
.fw-trust-strip__label {
  font-family: var(--fw-font-mono);
  font-size: var(--fw-fs-xs); font-weight: 500;
  text-transform: uppercase; letter-spacing: var(--fw-tracking-wide);
  color: var(--fw-text-mid); white-space: nowrap;
}
.fw-trust-strip__sep {
  width: 1px; height: 18px;
  background: var(--fw-border-subtle);
}
.fw-trust-strip__stars { font-size: var(--fw-fs-caption); color: #f59e0b; }
.fw-trust-strip__rating {
  font-family: var(--fw-font-mono);
  font-size: 0.62rem; font-weight: 600;
  color: var(--fw-text);
}
.fw-trust-strip__count {
  font-family: var(--fw-font-mono);
  font-size: var(--fw-fs-2xs); color: var(--fw-text-light);
}
/* Dark variant */
.fw-trust-strip--dark { background: var(--fw-bg-dark); }
.fw-trust-strip--dark .fw-trust-strip__label { color: var(--fw-text-on-dark); }
.fw-trust-strip--dark .fw-trust-strip__sep { background: rgba(255,255,255,0.08); }
@media (max-width: 480px) {
  .fw-trust-strip__inner { gap: 10px; }
.fw-trust-strip__sep { display: none; }
.fw-trust-strip__label { font-size: 0.52rem; }
.fw-trust-strip__badge { width: 24px; height: 24px; font-size: var(--fw-fs-caption); }
}

/* ── plan-feature-matrix ── */
.fw-plan-matrix { background:var(--fw-bg); }
.fw-plan-matrix__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; flex-wrap:wrap; gap:16px; }
.fw-plan-matrix__heading { font-family:var(--fw-font-display); font-size:clamp(1.6rem, 3.5vw, 2.4rem); font-weight:700; color:var(--fw-text); }
.fw-plan-matrix__tabs { display:inline-flex; background:var(--fw-bg-alt); border-radius:var(--fw-radius); border:1px solid var(--fw-border-subtle); padding:4px; }
.fw-plan-matrix__tab { display:flex; align-items:center; gap:8px; padding:10px 24px; border-radius:calc(var(--fw-radius) - 4px); font-family:var(--fw-font-body); font-size:var(--fw-fs-body-sm); font-weight:500; color:var(--fw-text-mid); cursor:pointer; border:none; background:transparent; transition:all 0.2s; }
.fw-plan-matrix__tab.active { background:var(--fw-bg-card); box-shadow:0 1px 4px rgba(0,0,0,0.06); color:var(--fw-text); }
.fw-plan-matrix__tab-dot { width:8px; height:8px; border-radius:50%; background:var(--fw-text-light); }
.fw-plan-matrix__tab.active .fw-plan-matrix__tab-dot { background:var(--fw-brand); }
.fw-plan-matrix__category { font-family:var(--fw-font-accent); font-size:var(--fw-fs-body-lg); font-weight:700; color:var(--fw-text); padding:20px 0 12px; border-bottom:2px solid var(--fw-text); }
.fw-plan-matrix__row { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; align-items:center; padding:16px 0; border-bottom:1px solid var(--fw-border-subtle); }
.fw-plan-matrix__feature { font-family:var(--fw-font-body); font-size:var(--fw-fs-body-sm); color:var(--fw-text-mid); }
.fw-plan-matrix__check { width:22px; height:22px; border-radius:50%; background:var(--fw-text); display:flex; align-items:center; justify-content:center; font-size:0.6rem; color:#fff; justify-self:center; }
.fw-plan-matrix__dash { width:16px; height:2px; background:var(--fw-border-subtle); border-radius:1px; justify-self:center; }
@media(max-width:768px){ .fw-plan-matrix__row { grid-template-columns:1.5fr 1fr 1fr 1fr; } .fw-plan-matrix__tabs { flex-wrap:wrap; } }
@media(max-width:480px){ .fw-plan-matrix__row { grid-template-columns:1fr; gap:8px; } .fw-plan-matrix__check, .fw-plan-matrix__dash { justify-self:start; } }

/* ── process-accordion-split ── */
.fw-process--accordion-split { background:var(--fw-bg); }
.fw-process__header { text-align:center; margin-bottom:40px; }
.fw-process__heading { font-family:var(--fw-font-display); font-size:clamp(1.8rem, 4vw, 2.8rem); font-weight:700; color:var(--fw-text); margin-bottom:10px; }
.fw-process__subheading { font-family:var(--fw-font-body); font-size:var(--fw-fs-body); font-weight:300; color:var(--fw-text-mid); max-width:520px; margin:0 auto; }
.fw-process--accordion-split .fw-process__grid { display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(24px, 4vw, 48px); align-items:start; }
.fw-process__steps { display:flex; flex-direction:column; }
.fw-process__step { border:1px solid var(--fw-border-subtle); padding:20px 24px; cursor:pointer; transition:all 0.25s; background:var(--fw-bg-card); margin-bottom:-1px; }
.fw-process__step:first-child { border-radius:var(--fw-radius) var(--fw-radius) 0 0; }
.fw-process__step:last-child { border-radius:0 0 var(--fw-radius) var(--fw-radius); }
.fw-process__step.active { box-shadow:0 4px 16px rgba(0,0,0,0.06); border-color:var(--fw-border-strong); z-index:1; position:relative; border-radius:var(--fw-radius); }
.fw-process__step-header { display:flex; align-items:center; justify-content:space-between; }
.fw-process__step-left { display:flex; align-items:center; gap:14px; }
.fw-process__step-num { font-family:var(--fw-font-mono); font-size:var(--fw-fs-caption); font-weight:600; color:var(--fw-text-light); width:28px; height:28px; border-radius:50%; border:1px solid var(--fw-border-subtle); display:flex; align-items:center; justify-content:center; }
.fw-process__step.active .fw-process__step-num { background:var(--fw-brand); border-color:var(--fw-brand); color:#fff; }
.fw-process__step-title { font-family:var(--fw-font-accent); font-size:var(--fw-fs-body-lg); font-weight:600; color:var(--fw-text); }
.fw-process__step-chevron { font-size:var(--fw-fs-body); color:var(--fw-text-light); transition:transform 0.25s; }
.fw-process__step.active .fw-process__step-chevron { transform:rotate(90deg); color:var(--fw-brand); }
.fw-process__step-body { max-height:0; overflow:hidden; opacity:0; transition:max-height 0.35s ease, opacity 0.25s; }
.fw-process__step.active .fw-process__step-body { max-height:200px; opacity:1; margin-top:14px; }
.fw-process__step-desc { font-family:var(--fw-font-body); font-size:var(--fw-fs-body-sm); font-weight:300; color:var(--fw-text-mid); line-height:var(--fw-leading-relaxed); margin-bottom:14px; }
.fw-process__visual { border-radius:var(--fw-radius); overflow:hidden; }
.fw-process__visual img { width:100%; height:auto; display:block; border-radius:var(--fw-radius); }
@media(max-width:768px){ .fw-process--accordion-split .fw-process__grid { grid-template-columns:1fr; } }

/* ── location-map-hero ── */
.fw-location__hero {
  position: relative; min-height: 280px;
  display: flex; align-items: flex-end;
}
.fw-location__map {
  position: absolute; inset: 0;
  background: var(--fw-bg-alt-2);
}
.fw-location__hero-overlay {
  position: relative; z-index: 2;
  width: 100%; padding: var(--fw-section-py) var(--fw-container-px);
  background: linear-gradient(to top, rgba(23,21,40,0.85), transparent);
}
.fw-location__title {
  font-family: var(--fw-font-display);
  font-size: clamp(1.8rem, 4.5vw, 2.6rem);
  font-weight: 700; color: #fff;
}
.fw-location__stats {
  display: flex; background: var(--fw-bg-card);
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-location__stat {
  flex: 1; text-align: center; padding: 20px 16px;
  border-right: 1px solid var(--fw-border-subtle);
}
.fw-location__stat:last-child { border-right: none; }
.fw-location__stat-value {
  font-family: var(--fw-font-display);
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  font-weight: 700; color: var(--fw-brand-hot);
}
.fw-location__body {
  display: grid; grid-template-columns: 1fr 280px;
  gap: var(--fw-grid-gap-lg);
  padding: var(--fw-section-py) 0;
}
.fw-location__services-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.fw-location__service-card {
  background: var(--fw-bg-card);
  border: 1px solid var(--fw-border-subtle);
  border-radius: var(--fw-radius-sm);
  padding: 18px;
}

@media (max-width: 768px) {
  .fw-location__body { grid-template-columns: 1fr; }
  .fw-location__stats { flex-wrap: wrap; }
  .fw-location__stat { flex: 1 1 50%; }
}
@media (max-width: 480px) {
  .fw-location__services-grid { grid-template-columns: 1fr; }
}

/* ── location-neighborhood-guide ── */
.fw-location-guide__hero {
  position: relative; min-height: 320px;
  display: flex; align-items: flex-end; overflow: hidden;
}
.fw-location-guide__hero-photo {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0.55;
}
.fw-location-guide__hero-content {
  position: relative; z-index: 2;
  padding: var(--fw-section-py) var(--fw-container-px);
}
.fw-location-guide__eyebrow {
  font-family: var(--fw-font-mono);
  font-size: var(--fw-fs-xs); font-weight: 600;
  text-transform: uppercase; letter-spacing: var(--fw-tracking-caps);
  color: var(--fw-brand);
  background: rgba(255,122,60,0.15);
  padding: 4px 12px; border-radius: var(--fw-radius-tag);
  display: inline-block; margin-bottom: 12px;
}
.fw-location-guide__title {
  font-family: var(--fw-font-display);
  font-size: clamp(2rem, 5vw, 2.8rem);
  font-weight: 700; color: #fff;
}
.fw-location-guide__badges {
  display: flex; gap: 12px; margin-top: 16px; flex-wrap: wrap;
}
.fw-location-guide__badge {
  font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs);
  color: #fff; background: rgba(255,255,255,0.15);
  padding: 6px 14px; border-radius: var(--fw-radius-tag);
}

.fw-location-guide__facts {
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: var(--fw-bg-card);
  border-bottom: 1px solid var(--fw-border-subtle);
}
.fw-location-guide__fact {
  padding: 20px; text-align: center;
  border-right: 1px solid var(--fw-border-subtle);
}
.fw-location-guide__fact:last-child { border-right: none; }
.fw-location-guide__fact-value {
  font-family: var(--fw-font-display);
  font-size: clamp(1.1rem, 2.2vw, 1.5rem);
  font-weight: 700; color: var(--fw-text);
}
.fw-location-guide__fact-label {
  font-family: var(--fw-font-mono);
  font-size: var(--fw-fs-2xs); text-transform: uppercase;
  letter-spacing: var(--fw-tracking-wide);
  color: var(--fw-text-light);
}

.fw-location-guide__about {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg);
  margin-bottom: var(--fw-section-py);
}
.fw-location-guide__highlights {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.fw-location-guide__highlight {
  background: var(--fw-bg-card);
  border: 1px solid var(--fw-border-subtle);
  border-radius: var(--fw-radius-sm); padding: 16px;
}

.fw-location-guide__services-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}

.fw-location-guide__coverage {
  background: var(--fw-bg-alt);
  border-radius: var(--fw-radius-lg); padding: 36px;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: var(--fw-grid-gap-lg);
}
.fw-location-guide__area-tags {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.fw-location-guide__area-tags a {
  font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs);
  padding: 6px 14px; border-radius: var(--fw-radius-tag);
  background: var(--fw-bg-card);
  border: 1px solid var(--fw-border-subtle);
  color: var(--fw-text-mid); text-decoration: none;
}

.fw-location-guide__cta {
  background: var(--fw-bg-dark);
  border-radius: var(--fw-radius-lg);
  padding: 48px; text-align: center;
}
.fw-location-guide__cta h2 {
  font-family: var(--fw-font-display);
  font-size: clamp(1.3rem, 3vw, 1.8rem);
  font-weight: 700; color: #fff;
}

@media (max-width: 768px) {
  .fw-location-guide__about,
  .fw-location-guide__coverage { grid-template-columns: 1fr; }
  .fw-location-guide__services-grid { grid-template-columns: repeat(2, 1fr); }
  .fw-location-guide__facts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .fw-location-guide__services-grid,
  .fw-location-guide__highlights { grid-template-columns: 1fr; }
}

/* ── gallery-masonry ── */
.fw-gallery--masonry { background:var(--fw-bg); }
.fw-gallery__header { text-align:center; margin-bottom:48px; }
.fw-gallery__eyebrow { font-family:var(--fw-font-mono); font-size:var(--fw-fs-eyebrow); font-weight:500; text-transform:uppercase; letter-spacing:var(--fw-tracking-caps); color:var(--fw-brand); margin-bottom:8px; }
.fw-gallery__title { font-family:var(--fw-font-display); font-size:clamp(1.8rem,4vw,2.8rem); font-weight:600; line-height:var(--fw-leading-tight); color:var(--fw-text); }
.fw-gallery--masonry .fw-gallery__grid { columns:3; column-gap:16px; }
.fw-gallery__item { break-inside:avoid; margin-bottom:16px; border-radius:var(--fw-radius-sm); overflow:hidden; position:relative; }
.fw-gallery__item img { width:100%; display:block; transition:transform 0.3s; }
.fw-gallery__item:hover img { transform:scale(1.03); }
.fw-gallery__caption { position:absolute; bottom:0; left:0; right:0; padding:12px 16px; background:linear-gradient(transparent, rgba(0,0,0,0.65)); font-family:var(--fw-font-body); font-size:var(--fw-fs-caption); color:#fff; opacity:0; transition:opacity 0.3s; }
.fw-gallery__item:hover .fw-gallery__caption { opacity:1; }
@media(max-width:768px){ .fw-gallery--masonry .fw-gallery__grid { columns:2; } }
@media(max-width:480px){ .fw-gallery--masonry .fw-gallery__grid { columns:1; } }

/* ── gallery-lightbox-grid ── */
.fw-gallery--lightbox { background:var(--fw-bg-dark); }
.fw-gallery--lightbox .fw-gallery__title { color:#f0f0f1; }
.fw-gallery--lightbox .fw-gallery__grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; }
.fw-gallery--lightbox .fw-gallery__item { position:relative; overflow:hidden; border-radius:var(--fw-radius-sm); aspect-ratio:1; cursor:pointer; }
.fw-gallery--lightbox .fw-gallery__item img { width:100%; height:100%; object-fit:cover; transition:transform 0.3s, filter 0.3s; }
.fw-gallery--lightbox .fw-gallery__item:hover img { transform:scale(1.05); filter:brightness(0.8); }
.fw-gallery__zoom { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.2); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; font-size:var(--fw-fs-body-lg); color:#fff; opacity:0; transition:opacity 0.3s; }
.fw-gallery__item:hover .fw-gallery__zoom { opacity:1; }
.fw-gallery__count { text-align:center; margin-top:24px; font-family:var(--fw-font-mono); font-size:var(--fw-fs-caption); color:var(--fw-text-on-dark); }
@media(max-width:1024px){ .fw-gallery--lightbox .fw-gallery__grid { grid-template-columns:repeat(3, 1fr); } }
@media(max-width:480px){ .fw-gallery--lightbox .fw-gallery__grid { grid-template-columns:repeat(2, 1fr); } }

/* ── gallery-carousel ── */
.fw-gallery--carousel { background:var(--fw-bg-alt); overflow:hidden; }
.fw-gallery--carousel .fw-gallery__header { text-align:center; padding:0 var(--fw-container-px); margin-bottom:40px; }
.fw-gallery__track { display:flex; gap:20px; padding:0 var(--fw-container-px); overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.fw-gallery__track::-webkit-scrollbar { display:none; }
.fw-gallery__slide { flex:0 0 auto; width:340px; scroll-snap-align:start; border-radius:var(--fw-radius); overflow:hidden; }
.fw-gallery__slide img { width:100%; height:260px; object-fit:cover; display:block; }
.fw-gallery__slide-info { padding:16px 18px; background:var(--fw-bg-card); border:1px solid var(--fw-border-subtle); border-top:none; border-radius:0 0 var(--fw-radius) var(--fw-radius); }
.fw-gallery__slide-title { font-family:var(--fw-font-accent); font-size:var(--fw-fs-body); font-weight:600; color:var(--fw-text); margin-bottom:4px; }
.fw-gallery__slide-meta { font-family:var(--fw-font-mono); font-size:var(--fw-fs-xs); color:var(--fw-text-light); text-transform:uppercase; letter-spacing:var(--fw-tracking-wide); }
.fw-gallery__controls { display:flex; justify-content:center; gap:12px; margin-top:28px; padding:0 var(--fw-container-px); }
.fw-gallery__nav-btn { width:44px; height:44px; border-radius:50%; border:1px solid var(--fw-border-strong); background:var(--fw-bg-card); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s; font-size:var(--fw-fs-body); color:var(--fw-text); }
.fw-gallery__nav-btn:hover { background:var(--fw-brand); border-color:var(--fw-brand); color:#fff; }
@media(max-width:768px){ .fw-gallery__slide { width:280px; } .fw-gallery__slide img { height:200px; } }
@media(max-width:480px){ .fw-gallery__slide { width:240px; } .fw-gallery__slide img { height:170px; } }

/* ── gallery-carousel-left ── */
.fw-gallery--carousel-left { background:var(--fw-bg); overflow:hidden; }
.fw-gallery__header--left { text-align:left; max-width:600px; margin-bottom:32px; }
.fw-gallery__subtitle { font-family:var(--fw-font-body); font-size:var(--fw-fs-body); font-weight:300; line-height:var(--fw-leading-normal); color:var(--fw-text-mid); margin-top:12px; }
.fw-gallery__footer { display:flex; align-items:center; justify-content:space-between; margin-top:28px; }
.fw-gallery__view-all { font-family:var(--fw-font-body); font-size:var(--fw-fs-body-sm); font-weight:500; color:var(--fw-brand); text-decoration:none; }
.fw-gallery__view-all:hover { text-decoration:underline; }
@media(max-width:768px){ .fw-gallery--carousel-left .fw-gallery__slide { width:280px; } .fw-gallery__footer { flex-direction:column; gap:16px; align-items:flex-start; } }
@media(max-width:480px){ .fw-gallery--carousel-left .fw-gallery__slide { width:240px; } }

/* ── gallery-carousel-dark ── */
.fw-gallery--carousel-dark { background:var(--fw-bg-dark); overflow:hidden; }
.fw-gallery--carousel-dark .fw-gallery__title { color:#f0f0f1; }
.fw-gallery--carousel-dark .fw-gallery__slide { border:1px solid rgba(255,255,255,0.08); }
.fw-gallery--carousel-dark .fw-gallery__slide-info { background:rgba(255,255,255,0.04); border-top:1px solid rgba(255,255,255,0.06); border-color:transparent; }
.fw-gallery--carousel-dark .fw-gallery__slide-title { color:#f0f0f1; }
.fw-gallery--carousel-dark .fw-gallery__slide-meta { color:rgba(255,255,255,0.45); }
.fw-gallery--carousel-dark .fw-gallery__nav-btn { border-color:rgba(255,255,255,0.15); background:rgba(255,255,255,0.06); color:#f0f0f1; }
.fw-gallery--carousel-dark .fw-gallery__nav-btn:hover { background:var(--fw-brand); border-color:var(--fw-brand); }
@media(max-width:768px){ .fw-gallery--carousel-dark .fw-gallery__slide { width:280px; } .fw-gallery--carousel-dark .fw-gallery__slide img { height:200px; } }
@media(max-width:480px){ .fw-gallery--carousel-dark .fw-gallery__slide { width:220px; } .fw-gallery--carousel-dark .fw-gallery__slide img { height:170px; } }

/* ── video-hero ── */
.fw-video--hero { position:relative; min-height:85vh; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.fw-video__poster { position:absolute; inset:0; z-index:0; }
.fw-video__poster img { width:100%; height:100%; object-fit:cover; filter:brightness(0.4); }
.fw-video--hero .fw-video__overlay { position:relative; z-index:2; text-align:center; padding:var(--fw-section-py) var(--fw-container-px); }
.fw-video__content { max-width:720px; margin:0 auto; }
.fw-video__eyebrow { font-family:var(--fw-font-mono); font-size:var(--fw-fs-eyebrow); font-weight:500; text-transform:uppercase; letter-spacing:var(--fw-tracking-caps); color:var(--fw-brand); display:inline-block; padding:6px 14px; border-radius:var(--fw-glass-radius); background:var(--fw-glass-bg-dark); backdrop-filter:blur(var(--fw-glass-blur)); border:1px solid var(--fw-glass-border-dark); margin-bottom:16px; }
.fw-video__title { font-family:var(--fw-font-display); font-size:clamp(1.8rem, 4.5vw, 3rem); font-weight:500; line-height:var(--fw-leading-tight); color:rgba(240,246,252,0.9); margin-bottom:16px; }
.fw-video__subtitle { font-family:var(--fw-font-body); font-size:var(--fw-fs-body); font-weight:300; line-height:var(--fw-leading-normal); color:rgba(255,255,255,0.55); margin-bottom:28px; max-width:520px; margin-left:auto; margin-right:auto; }
.fw-video__play-btn { width:72px; height:72px; border-radius:50%; border:2px solid rgba(255,255,255,0.3); background:rgba(255,255,255,0.12); backdrop-filter:blur(12px); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.3s; margin-bottom:12px; }
.fw-video__play-btn:hover { background:var(--fw-brand); border-color:var(--fw-brand); transform:scale(1.08); }
.fw-video__play-icon { width:0; height:0; border-style:solid; border-width:12px 0 12px 22px; border-color:transparent transparent transparent #fff; margin-left:4px; }
.fw-video__duration { font-family:var(--fw-font-mono); font-size:var(--fw-fs-xs); color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:var(--fw-tracking-wide); }
@media(max-width:768px){ .fw-video--hero { min-height:60vh; } .fw-video__play-btn { width:60px; height:60px; } .fw-video__play-icon { border-width:10px 0 10px 18px; } }
@media(max-width:480px){ .fw-video--hero { min-height:50vh; } .fw-video__play-btn { width:52px; height:52px; } .fw-video__play-icon { border-width:9px 0 9px 16px; } }

/* ── video-split ── */
.fw-video--split { background:var(--fw-bg); }
.fw-video__container { display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(24px, 4vw, 48px); align-items:center; }
.fw-video__player { position:relative; border-radius:var(--fw-radius); overflow:hidden; aspect-ratio:16/9; background:#111; }
.fw-video__player img { width:100%; height:100%; object-fit:cover; }
.fw-video__play-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,0.25); cursor:pointer; transition:background 0.3s; }
.fw-video__play-overlay:hover { background:rgba(0,0,0,0.35); }
.fw-video__play-circle { width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,0.15); backdrop-filter:blur(10px); border:2px solid rgba(255,255,255,0.3); display:flex; align-items:center; justify-content:center; transition:all 0.3s; }
.fw-video__play-overlay:hover .fw-video__play-circle { background:var(--fw-brand); border-color:var(--fw-brand); transform:scale(1.06); }
.fw-video__play-tri { width:0; height:0; border-style:solid; border-width:10px 0 10px 18px; border-color:transparent transparent transparent #fff; margin-left:3px; }
.fw-video--split .fw-video__eyebrow { margin-bottom:0; padding:0; background:none; border:none; backdrop-filter:none; }
.fw-video__desc { font-family:var(--fw-font-body); font-size:var(--fw-fs-body); font-weight:300; line-height:var(--fw-leading-relaxed); color:var(--fw-text-mid); }
.fw-video__features { list-style:none; padding:0; display:flex; flex-direction:column; gap:10px; }
.fw-video__feature { display:flex; align-items:center; gap:10px; font-family:var(--fw-font-body); font-size:var(--fw-fs-body-sm); color:var(--fw-text); }
.fw-video__feature-icon { width:24px; height:24px; border-radius:50%; background:rgba(255,122,60,0.1); display:flex; align-items:center; justify-content:center; font-size:var(--fw-fs-caption); color:var(--fw-brand); flex-shrink:0; }
@media(max-width:768px){ .fw-video__container { grid-template-columns:1fr; } .fw-video__play-circle { width:52px; height:52px; } .fw-video__play-tri { border-width:8px 0 8px 14px; } }
@media(max-width:480px){ .fw-video__features { gap:8px; } }

/* ── comparison-highlight-table ── */
.fw-comparison-highlight { background:var(--fw-bg-alt); border-radius:var(--fw-radius); }
.fw-comparison-highlight__heading { font-family:var(--fw-font-display); font-size:clamp(1.6rem, 4vw, 2.6rem); font-weight:700; color:var(--fw-text); text-align:center; margin-bottom:40px; }
.fw-comparison-highlight__grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:0; align-items:start; }
.fw-comparison-highlight__col-title { font-family:var(--fw-font-accent); font-size:var(--fw-fs-body-lg); font-weight:700; color:var(--fw-text); padding:24px 24px 16px; }
.fw-comparison-highlight__col--hero { background:var(--fw-bg-dark); border-radius:var(--fw-radius); z-index:1; }
.fw-comparison-highlight__col--hero .fw-comparison-highlight__col-title { color:#f0f0f1; display:flex; align-items:center; justify-content:space-between; }
.fw-comparison-highlight__row { display:flex; align-items:center; gap:10px; padding:16px 24px; border-bottom:1px solid var(--fw-border-subtle); }
.fw-comparison-highlight__col--hero .fw-comparison-highlight__row { border-color:rgba(255,255,255,0.08); }
.fw-comparison-highlight__row:last-child { border-bottom:none; }
.fw-comparison-highlight__icon-yes { width:20px; height:20px; border-radius:50%; background:rgba(34,197,94,0.15); display:flex; align-items:center; justify-content:center; font-size:0.65rem; color:#22c55e; flex-shrink:0; }
.fw-comparison-highlight__icon-no { width:20px; height:20px; border-radius:50%; background:rgba(150,150,150,0.1); display:flex; align-items:center; justify-content:center; font-size:0.65rem; color:var(--fw-text-light); flex-shrink:0; }
.fw-comparison-highlight__col--hero .fw-comparison-highlight__row span:last-child { color:rgba(255,255,255,0.8); }
.fw-comparison-highlight__row span:last-child { font-family:var(--fw-font-body); font-size:var(--fw-fs-body-sm); color:var(--fw-text-mid); }
@media(max-width:768px){ .fw-comparison-highlight__grid { grid-template-columns:1fr 1fr; gap:16px; } .fw-comparison-highlight__col--hero { grid-column:1/-1; } }
@media(max-width:480px){ .fw-comparison-highlight__grid { grid-template-columns:1fr; } }

/* ── map-pins-explorer ── */
.fw-map-explorer { background: var(--fw-bg); }
.fw-map-explorer__header { text-align: center; margin-bottom: var(--fw-space-lg); }
.fw-map-explorer__eyebrow { font-family: var(--fw-font-mono); font-size: var(--fw-fs-eyebrow); text-transform: uppercase; letter-spacing: var(--fw-tracking-caps); color: var(--fw-brand-hot); margin-bottom: 8px; }
.fw-map-explorer__heading { font-family: var(--fw-font-display); font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 500; color: var(--fw-text); margin-bottom: 8px; }
.fw-map-explorer__subtitle { font-size: var(--fw-fs-body-sm); color: var(--fw-text-mid); max-width: 560px; margin: 0 auto; }
.fw-map-explorer__filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: var(--fw-space-md); }
.fw-map-explorer__filter-btn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: var(--fw-radius-tag); border: 1px solid var(--fw-border-subtle); background: var(--fw-bg-card); font-size: var(--fw-fs-caption); color: var(--fw-text-mid); cursor: pointer; transition: all 0.2s; }
.fw-map-explorer__filter-btn.is-active { border-color: var(--fw-brand); color: var(--fw-text); background: var(--fw-brand-light); }
.fw-map-explorer__filter-dot { width: 8px; height: 8px; border-radius: 50%; }
.fw-map-explorer__layout { display: grid; grid-template-columns: 1fr 340px; gap: var(--fw-space-lg); }
.fw-map-explorer__map-wrap { border-radius: var(--fw-radius); overflow: hidden; min-height: 420px; border: 1px solid var(--fw-border-subtle); }
.fw-map-explorer__sidebar { display: flex; flex-direction: column; gap: 10px; max-height: 420px; overflow-y: auto; }
.fw-map-explorer__card { display: flex; gap: 12px; padding: 14px; background: var(--fw-bg-card); border-radius: var(--fw-radius); border: 1px solid var(--fw-border-subtle); cursor: pointer; transition: all 0.2s; }
.fw-map-explorer__card:hover { border-color: var(--fw-brand); }
.fw-map-explorer__card.is-active { border-color: var(--fw-brand); background: var(--fw-brand-light); }
.fw-map-explorer__card-thumb { width: 64px; height: 64px; border-radius: var(--fw-radius-sm); object-fit: cover; flex-shrink: 0; }
.fw-map-explorer__card-name { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); }
.fw-map-explorer__card-address { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); }
.fw-map-explorer__card-rating { font-size: var(--fw-fs-caption); color: #f59e0b; }
@media (max-width: 900px) { .fw-map-explorer__layout { grid-template-columns: 1fr; } .fw-map-explorer__sidebar { max-height: 240px; } }

/* ── map-cards-split ── */
.fw-map-split { background: var(--fw-bg-alt); }
.fw-map-split__header { margin-bottom: var(--fw-space-md); }
.fw-map-split__header-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.fw-map-split__title { font-family: var(--fw-font-display); font-size: clamp(1.3rem, 2.8vw, 1.8rem); font-weight: 500; color: var(--fw-text); }
.fw-map-split__count { font-family: var(--fw-font-mono); font-size: var(--fw-fs-eyebrow); color: var(--fw-text-light); text-transform: uppercase; letter-spacing: var(--fw-tracking-caps); }
.fw-map-split__search { display: flex; gap: 8px; }
.fw-map-split__search-input { flex: 1; padding: 10px 14px; border-radius: var(--fw-radius-sm); border: 1px solid var(--fw-border-subtle); background: var(--fw-bg-card); font-size: var(--fw-fs-caption); color: var(--fw-text); }
.fw-map-split__sort-btn { padding: 10px 14px; border-radius: var(--fw-radius-sm); border: 1px solid var(--fw-border-subtle); background: var(--fw-bg-card); font-family: var(--fw-font-mono); font-size: var(--fw-fs-eyebrow); color: var(--fw-text-mid); cursor: pointer; }
.fw-map-split__layout { display: grid; grid-template-columns: 380px 1fr; gap: var(--fw-space-lg); }
.fw-map-split__list { display: flex; flex-direction: column; gap: 10px; max-height: 480px; overflow-y: auto; }
.fw-map-split__item { display: flex; gap: 14px; padding: 14px; background: var(--fw-bg-card); border-radius: var(--fw-radius); border: 1px solid var(--fw-border-subtle); cursor: pointer; transition: all 0.2s; }
.fw-map-split__item:hover { border-color: var(--fw-brand); }
.fw-map-split__item.is-active { border-color: var(--fw-brand); box-shadow: 0 0 0 2px var(--fw-brand-light); }
.fw-map-split__item-img { width: 80px; height: 80px; border-radius: var(--fw-radius-sm); object-fit: cover; flex-shrink: 0; }
.fw-map-split__item-name { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); margin-bottom: 3px; }
.fw-map-split__item-address { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); margin-bottom: 3px; }
.fw-map-split__item-meta { display: flex; align-items: center; gap: 8px; font-size: var(--fw-fs-caption); color: var(--fw-text-light); }
.fw-map-split__item-stars { color: #f59e0b; }
.fw-map-split__item-phone { font-family: var(--fw-font-mono); }
.fw-map-split__map-wrap { border-radius: var(--fw-radius); overflow: hidden; min-height: 480px; border: 1px solid var(--fw-border-subtle); }
@media (max-width: 900px) { .fw-map-split__layout { grid-template-columns: 1fr; } .fw-map-split__list { max-height: 260px; } }

/* ── map-rental-directory ── */
.fw-map-rental { background: var(--fw-bg); }

/* Search bar */
.fw-map-rental__search { display: flex; align-items: stretch; background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); overflow: hidden; margin-bottom: var(--fw-space-md); box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.fw-map-rental__search-segment { display: flex; flex-direction: column; gap: 2px; padding: 10px 16px; border-right: 1px solid var(--fw-border-subtle); flex: 1; }
.fw-map-rental__search-segment:last-of-type { border-right: none; }
.fw-map-rental__search-label { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); text-transform: uppercase; letter-spacing: var(--fw-tracking-caps); color: var(--fw-text-mid); }
.fw-map-rental__search-input { border: none; background: none; font-size: var(--fw-fs-caption); color: var(--fw-text); padding: 0; }
.fw-map-rental__search-btn { padding: 0 24px; background: var(--fw-brand-hot); color: #fff; font-weight: 600; border: none; cursor: pointer; }

/* AI bar */
.fw-map-rental__ai-bar { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; border-radius: var(--fw-radius-sm); background: linear-gradient(135deg, rgba(139,92,246,0.05), rgba(59,130,246,0.05)); border: 1px solid rgba(139,92,246,0.12); margin-bottom: var(--fw-space-md); }
.fw-map-rental__ai-info { display: flex; align-items: center; gap: 8px; }
.fw-map-rental__ai-sparkle { width: 24px; height: 24px; border-radius: 6px; background: linear-gradient(135deg, #8b5cf6, #3b82f6); display: flex; align-items: center; justify-content: center; font-size: 0.65rem; color: #fff; }
.fw-map-rental__ai-toggle { width: 42px; height: 24px; border-radius: 12px; background: var(--fw-border-subtle); cursor: pointer; border: none; position: relative; transition: background 0.25s; }
.fw-map-rental__ai-toggle[aria-checked="true"] { background: linear-gradient(135deg, #8b5cf6, #3b82f6); }
.fw-map-rental__ai-toggle-knob { width: 20px; height: 20px; border-radius: 50%; background: #fff; position: absolute; top: 2px; left: 2px; transition: left 0.25s; box-shadow: 0 1px 3px rgba(0,0,0,0.15); }
.fw-map-rental__ai-toggle[aria-checked="true"] .fw-map-rental__ai-toggle-knob { left: 20px; }

/* Filters */
.fw-map-rental__filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: var(--fw-space-md); }
.fw-map-rental__filter { padding: 7px 16px; border-radius: 20px; border: 1px solid var(--fw-border-subtle); background: var(--fw-bg-card); font-size: var(--fw-fs-caption); color: var(--fw-text-mid); cursor: pointer; transition: all 0.2s; }
.fw-map-rental__filter.is-active { background: var(--fw-bg-dark); color: #fff; border-color: var(--fw-bg-dark); }
.fw-map-rental__filters-clear { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); color: var(--fw-text-light); cursor: pointer; text-decoration: underline; }

/* Layout */
.fw-map-rental__layout { display: grid; grid-template-columns: 1fr 1fr; gap: var(--fw-space-lg); }
.fw-map-rental__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-content: start; }
.fw-map-rental__card { background: var(--fw-bg-card); border-radius: var(--fw-radius); border: 1px solid var(--fw-border-subtle); overflow: hidden; cursor: pointer; transition: all 0.2s; }
.fw-map-rental__card:hover { border-color: var(--fw-brand); box-shadow: 0 4px 16px rgba(0,0,0,0.07); transform: translateY(-2px); }
.fw-map-rental__card.is-active { border-color: var(--fw-brand); box-shadow: 0 0 0 2px var(--fw-brand-light); }
.fw-map-rental__card-img-wrap { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.fw-map-rental__card-img { width: 100%; height: 100%; object-fit: cover; }
.fw-map-rental__card-badge { position: absolute; top: 10px; left: 10px; padding: 4px 10px; border-radius: var(--fw-radius-tag); background: rgba(0,0,0,0.6); backdrop-filter: blur(6px); color: #fff; font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); font-weight: 700; text-transform: uppercase; }
.fw-map-rental__card-fav { position: absolute; top: 10px; right: 10px; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,0.85); border: none; cursor: pointer; font-size: 0.75rem; display: flex; align-items: center; justify-content: center; }
.fw-map-rental__card-name { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); margin-bottom: 3px; }
.fw-map-rental__card-location { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); margin-bottom: 6px; }
.fw-map-rental__card-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.fw-map-rental__card-tag { font-size: var(--fw-fs-xs); padding: 2px 8px; border-radius: 10px; background: var(--fw-bg-alt); color: var(--fw-text-mid); }
.fw-map-rental__card-bottom { display: flex; align-items: flex-end; justify-content: space-between; padding-top: 8px; border-top: 1px solid var(--fw-border-subtle); }
.fw-map-rental__card-price { font-family: var(--fw-font-accent); font-weight: 700; color: var(--fw-text); }
.fw-map-rental__card-price-unit { font-weight: 400; color: var(--fw-text-light); font-size: var(--fw-fs-caption); }
.fw-map-rental__card-meta { font-size: var(--fw-fs-caption); color: var(--fw-text-light); }

/* Map */
.fw-map-rental__map-wrap { border-radius: var(--fw-radius); overflow: hidden; min-height: 540px; border: 1px solid var(--fw-border-subtle); position: sticky; top: 0; }
@media (max-width: 900px) {
  .fw-map-rental__layout { grid-template-columns: 1fr; }
  .fw-map-rental__grid { grid-template-columns: 1fr 1fr; }
  .fw-map-rental__map-wrap { min-height: 320px; position: static; order: -1; }
  .fw-map-rental__search { flex-direction: column; }
  .fw-map-rental__search-segment { border-right: none; border-bottom: 1px solid var(--fw-border-subtle); }
}
@media (max-width: 480px) {
  .fw-map-rental__grid { grid-template-columns: 1fr; }
}

/* ── footer-mega ── */
.fw-footer--mega { background:var(--fw-bg); padding-bottom:0; }
.fw-footer__upper { display:grid; grid-template-columns:1fr 2.5fr; gap:clamp(24px, 4vw, 60px); }
.fw-footer__contact-card { background:var(--fw-bg-card); border:1px solid var(--fw-border-subtle); border-radius:var(--fw-radius); padding:28px 24px; }
.fw-footer__contact-title { font-family:var(--fw-font-display); font-size:var(--fw-fs-subhead); font-weight:700; color:var(--fw-text); margin-bottom:16px; }
.fw-footer__contact-item { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-family:var(--fw-font-body); font-size:var(--fw-fs-body-sm); color:var(--fw-text-mid); }
.fw-footer__contact-icon { font-size:var(--fw-fs-caption); flex-shrink:0; }
.fw-footer__socials { display:flex; gap:10px; margin-top:20px; }
.fw-footer__social-icon { width:38px; height:38px; border-radius:50%; border:1px solid var(--fw-border-subtle); display:flex; align-items:center; justify-content:center; font-size:var(--fw-fs-body-sm); color:var(--fw-text-mid); text-decoration:none; transition:all 0.2s; }
.fw-footer__social-icon:hover { background:var(--fw-text); color:#fff; border-color:var(--fw-text); }
.fw-footer--mega .fw-footer__nav-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:32px; padding:0; border:none; position:static; margin:0; }
.fw-footer--mega .fw-footer__col-title { margin-bottom:16px; }
.fw-footer--mega .fw-footer__col a { display:block; font-family:var(--fw-font-body); font-size:var(--fw-fs-body-sm); color:var(--fw-text-mid); text-decoration:none; padding:5px 0; transition:color 0.15s; }
.fw-footer--mega .fw-footer__col a:hover { color:var(--fw-text); }
.fw-footer__brand-bar { padding:40px var(--fw-container-px) 24px; overflow:hidden; }
.fw-footer__brand-mega { font-family:var(--fw-font-display); font-size:clamp(3rem, 14vw, 8rem); font-weight:900; text-transform:lowercase; letter-spacing:-0.04em; line-height:0.85; color:var(--fw-text); opacity:0.08; }
@media(max-width:768px){ .fw-footer__upper { grid-template-columns:1fr; } .fw-footer--mega .fw-footer__nav-grid { grid-template-columns:repeat(3, 1fr); } }
@media(max-width:480px){ .fw-footer--mega .fw-footer__nav-grid { grid-template-columns:1fr; gap:24px; } }

/* ── mobile-nav-tabbed ── */
.fw-mobile-nav--tabbed { position: fixed; inset: 0; z-index: 999; background: var(--fw-bg-card); display: flex; flex-direction: column; padding-top: 60px; }
.fw-mobile-nav__search { display: flex; align-items: center; gap: 8px; margin: 0 20px 10px; padding: 10px 14px; background: var(--fw-bg-alt); border-radius: var(--fw-radius-sm); }
.fw-mobile-nav__search-input { border: none; background: none; flex: 1; font-size: var(--fw-fs-caption); color: var(--fw-text); }
.fw-mobile-nav__tab-bar { display: flex; border-bottom: 1px solid var(--fw-border-subtle); padding: 0 20px; }
.fw-mobile-nav__tab { flex: 1; padding: 12px 0; text-align: center; font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--fw-text-light); border: none; background: none; cursor: pointer; border-bottom: 2px solid transparent; }
.fw-mobile-nav__tab.is-active { color: var(--fw-text); border-bottom-color: var(--fw-brand-hot); }
.fw-mobile-nav__tab-content { flex: 1; overflow-y: auto; }
.fw-mobile-nav__pane { display: none; padding: 20px; }
.fw-mobile-nav__pane.is-active { display: block; }
.fw-mobile-nav__link { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--fw-border-subtle); font-family: var(--fw-font-accent); font-size: 1.1rem; font-weight: 500; color: var(--fw-text); text-decoration: none; }
.fw-mobile-nav__industry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fw-mobile-nav__cta { padding: 16px 20px; border-top: 1px solid var(--fw-border-subtle); display: flex; flex-direction: column; gap: 8px; }

/* ── megamenu-industries ── */
.fw-megamenu { background: var(--fw-bg-card); border-radius: var(--fw-radius); overflow: hidden; box-shadow: 0 16px 48px rgba(0,0,0,0.12); }
.fw-megamenu__topbar { display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; border-bottom: 1px solid var(--fw-border-subtle); }
.fw-megamenu__logo { font-family: var(--fw-font-display); font-size: var(--fw-fs-body-lg); font-weight: 700; color: var(--fw-text); text-decoration: none; }
.fw-megamenu__nav { display: flex; gap: 24px; }
.fw-megamenu__nav-link { font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text-mid); text-decoration: none; padding: 4px 0; border-bottom: 2px solid transparent; }
.fw-megamenu__nav-link.is-active { color: var(--fw-text); border-bottom-color: var(--fw-brand-hot); }
.fw-megamenu__cta { padding: 8px 20px; border-radius: var(--fw-radius-button); background: var(--fw-brand-hot); color: #fff; font-weight: 600; text-decoration: none; font-size: var(--fw-fs-caption); }
.fw-megamenu__panel { padding: 28px 32px; }
.fw-megamenu__panel-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; }
.fw-megamenu__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.fw-megamenu__card { background: var(--fw-bg); border-radius: var(--fw-radius); padding: 18px; text-decoration: none; transition: all 0.2s; border: 1px solid transparent; display: flex; flex-direction: column; gap: 6px; }
.fw-megamenu__card:hover { border-color: var(--fw-border-subtle); box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.fw-megamenu__card-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.fw-megamenu__card-name { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); }
.fw-megamenu__card-desc { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); line-height: 1.4; }
.fw-megamenu__card-count { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); color: var(--fw-text-light); margin-top: auto; }
.fw-megamenu__featured { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--fw-border-subtle); display: flex; align-items: center; gap: 16px; }
.fw-megamenu__featured-img { width: 80px; height: 56px; border-radius: var(--fw-radius-sm); object-fit: cover; flex-shrink: 0; }
@media (max-width: 900px) { .fw-megamenu__grid { grid-template-columns: repeat(2, 1fr); } .fw-megamenu__nav { display: none; } }
@media (max-width: 480px) { .fw-megamenu__grid { grid-template-columns: 1fr; } }

/* ── megamenu-tabbed ── */
.fw-megamenu--tabbed .fw-megamenu__tabbed-layout { display: grid; grid-template-columns: 200px 1fr; min-height: 340px; }
.fw-megamenu__sidebar { background: var(--fw-bg-alt); padding: 20px 0; border-right: 1px solid var(--fw-border-subtle); }
.fw-megamenu__sidebar-tab { display: flex; align-items: center; gap: 8px; padding: 10px 20px; width: 100%; font-family: var(--fw-font-accent); font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text-mid); cursor: pointer; border: none; background: none; border-left: 3px solid transparent; text-align: left; transition: all 0.15s; }
.fw-megamenu__sidebar-tab:hover { color: var(--fw-text); background: rgba(0,0,0,0.02); }
.fw-megamenu__sidebar-tab.is-active { color: var(--fw-text); font-weight: 600; border-left-color: var(--fw-brand-hot); background: var(--fw-bg-card); }
.fw-megamenu__sidebar-icon { width: 24px; height: 24px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 0.7rem; flex-shrink: 0; }
.fw-megamenu__sidebar-count { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); color: var(--fw-text-light); margin-left: auto; }
.fw-megamenu__main { padding: 24px 28px; }
.fw-megamenu__pane { display: none; }
.fw-megamenu__pane.is-active { display: block; }
.fw-megamenu__pane-title { font-family: var(--fw-font-display); font-size: clamp(0.9rem, 1.5vw, 1.1rem); font-weight: 500; color: var(--fw-text); margin-bottom: 3px; }
.fw-megamenu__pane-subtitle { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); margin-bottom: 16px; }
.fw-megamenu__items-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.fw-megamenu__item { display: flex; gap: 10px; padding: 12px; border-radius: var(--fw-radius-sm); text-decoration: none; transition: background 0.15s; }
.fw-megamenu__item:hover { background: var(--fw-bg-alt); }
.fw-megamenu__item-icon { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; flex-shrink: 0; }
.fw-megamenu__item-name { font-family: var(--fw-font-accent); font-size: var(--fw-fs-caption); font-weight: 600; color: var(--fw-text); margin-bottom: 2px; }
.fw-megamenu__item-desc { font-size: var(--fw-fs-xs); color: var(--fw-text-mid); line-height: 1.4; }
.fw-megamenu__item-tag { display: inline-block; font-family: var(--fw-font-mono); font-size: 0.4rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; padding: 2px 6px; border-radius: var(--fw-radius-tag); margin-top: 4px; }
.fw-megamenu__footer { padding: 14px 28px; border-top: 1px solid var(--fw-border-subtle); background: var(--fw-bg-alt); display: flex; align-items: center; justify-content: space-between; }
.fw-megamenu__footer-text { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); }
.fw-megamenu__footer-link { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--fw-brand); text-decoration: none; }
@media (max-width: 900px) { .fw-megamenu--tabbed .fw-megamenu__tabbed-layout { grid-template-columns: 1fr; } .fw-megamenu__sidebar { display: flex; overflow-x: auto; border-right: none; border-bottom: 1px solid var(--fw-border-subtle); padding: 0; } .fw-megamenu__sidebar-tab { border-left: none; border-bottom: 3px solid transparent; white-space: nowrap; } .fw-megamenu__sidebar-tab.is-active { border-left-color: transparent; border-bottom-color: var(--fw-brand-hot); } .fw-megamenu__items-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .fw-megamenu__items-grid { grid-template-columns: 1fr; } .fw-megamenu__sidebar-count { display: none; } }


/* ═══════════════════════════════════════════════════════
   Accepted Insurance — Grouped Accordion
   ═══════════════════════════════════════════════════════ */
.fw-accepted-insurance__header { text-align: center; max-width: 640px; margin: 0 auto var(--fw-space-xl); }
.fw-accepted-insurance__eyebrow { font-family: var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight: 600; text-transform: uppercase; letter-spacing: var(--fw-tracking-widest); color: var(--fw-brand); margin-bottom: 8px; }
.fw-accepted-insurance__heading { font-family: var(--fw-font-display); font-size: clamp(1.3rem, 3vw, 2.2rem); font-weight: 700; }
.fw-accepted-insurance__desc { font-size: var(--fw-fs-btn); color: var(--fw-text-mid); line-height: var(--fw-leading-relaxed); }
.fw-accepted-insurance__search { max-width: 400px; margin: 0 auto var(--fw-space-lg); position: relative; }
.fw-accepted-insurance__search-input { width: 100%; padding: 10px 16px 10px 38px; border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); font-size: var(--fw-fs-body-sm); background: var(--fw-bg-card); }
.fw-accepted-insurance__search-input:focus { border-color: var(--fw-brand); outline: none; }
.fw-accepted-insurance__search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); }
.fw-accepted-insurance__accordion { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 8px; }
.fw-accepted-insurance__group { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); overflow: hidden; }
.fw-accepted-insurance__group-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; cursor: pointer; border: none; background: none; gap: 12px; }
.fw-accepted-insurance__group-left { display: flex; align-items: center; gap: 12px; }
.fw-accepted-insurance__group-icon { width: 36px; height: 36px; border-radius: 8px; background: var(--fw-brand-light); display: flex; align-items: center; justify-content: center; }
.fw-accepted-insurance__group-name { font-family: var(--fw-font-accent); font-weight: 600; }
.fw-accepted-insurance__group-count { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); color: var(--fw-text-light); }
.fw-accepted-insurance__group-chevron { transition: transform 0.25s; }
.fw-accepted-insurance__group[aria-expanded="true"] .fw-accepted-insurance__group-chevron { transform: rotate(180deg); }
.fw-accepted-insurance__group-body { display: none; padding: 0 20px 20px; }
.fw-accepted-insurance__group[aria-expanded="true"] .fw-accepted-insurance__group-body { display: block; }
.fw-accepted-insurance__carriers { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.fw-accepted-insurance__carrier { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: var(--fw-bg); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); transition: border-color 0.15s; }
.fw-accepted-insurance__carrier:hover { border-color: var(--fw-brand); }
.fw-accepted-insurance__carrier-logo { width: 28px; height: 28px; border-radius: 6px; overflow: hidden; flex-shrink: 0; }
.fw-accepted-insurance__carrier-logo img { width: 100%; height: 100%; object-fit: contain; }
.fw-accepted-insurance__carrier-name { font-size: var(--fw-fs-caption); font-weight: 500; }
.fw-accepted-insurance__footer { text-align: center; max-width: 540px; margin: var(--fw-space-xl) auto 0; padding-top: var(--fw-space-lg); border-top: 1px solid var(--fw-border-subtle); }
.fw-accepted-insurance__footer-text { font-size: var(--fw-fs-body-sm); color: var(--fw-text-mid); margin-bottom: 12px; }
@media (max-width: 480px) {
  .fw-accepted-insurance__carriers { grid-template-columns: 1fr 1fr; }
}

/* ═══════════════════════════════════════════════════════
   Directory Homepage — Map-Centric (production stubs)
   ═══════════════════════════════════════════════════════ */
/* Production CSS to be built during Bricks implementation */

/* ═══════════════════════════════════════════════════════
   Directory Homepage — Feed-Centric
   ═══════════════════════════════════════════════════════ */
/* ── Iconoir icon subset — https://iconoir.com (MIT License) ── */
.fw-directory-feed [class^='iconoir-']::before,
.fw-directory-feed [class*=' iconoir-']::before {
  content: ' ';
  display: block;
  background: currentColor;
  mask-size: cover;
  -webkit-mask-size: cover;
  width: 1em;
  height: 1em;
}
.fw-directory-feed [class^='iconoir-'],
.fw-directory-feed [class*=' iconoir-'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fw-directory-feed .iconoir-star-solid::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.58737 8.23597L11.1849 3.00376C11.5183 2.33208 12.4817 2.33208 12.8151 3.00376L15.4126 8.23597L21.2215 9.08017C21.9668 9.18848 22.2638 10.0994 21.7243 10.6219L17.5217 14.6918L18.5135 20.4414C18.6409 21.1798 17.8614 21.7428 17.1945 21.3941L12 18.678L6.80547 21.3941C6.1386 21.7428 5.35909 21.1798 5.48645 20.4414L6.47825 14.6918L2.27575 10.6219C1.73617 10.0994 2.03322 9.18848 2.77852 9.08017L8.58737 8.23597Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.58737 8.23597L11.1849 3.00376C11.5183 2.33208 12.4817 2.33208 12.8151 3.00376L15.4126 8.23597L21.2215 9.08017C21.9668 9.18848 22.2638 10.0994 21.7243 10.6219L17.5217 14.6918L18.5135 20.4414C18.6409 21.1798 17.8614 21.7428 17.1945 21.3941L12 18.678L6.80547 21.3941C6.1386 21.7428 5.35909 21.1798 5.48645 20.4414L6.47825 14.6918L2.27575 10.6219C1.73617 10.0994 2.03322 9.18848 2.77852 9.08017L8.58737 8.23597Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-cutlery::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 20H9M12 20H9M9 20V15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 20V12C17 12 19.5 11 19.5 9C19.5 7.24264 19.5 4.5 19.5 4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 8.5V4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4.49999 11C5.49991 13.1281 8.99999 15 8.99999 15C8.99999 15 12.5001 13.1281 13.5 11C14.5795 8.70257 13.5 4.5 13.5 4.5L4.49999 4.5C4.49999 4.5 3.42047 8.70257 4.49999 11Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 20H9M12 20H9M9 20V15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 20V12C17 12 19.5 11 19.5 9C19.5 7.24264 19.5 4.5 19.5 4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 8.5V4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4.49999 11C5.49991 13.1281 8.99999 15 8.99999 15C8.99999 15 12.5001 13.1281 13.5 11C14.5795 8.70257 13.5 4.5 13.5 4.5L4.49999 4.5C4.49999 4.5 3.42047 8.70257 4.49999 11Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-bag::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.50828 20H19.4917C19.785 20 20.0353 19.788 20.0836 19.4986L21.8836 8.69864C21.9445 8.33292 21.6625 8 21.2917 8H2.70828C2.33751 8 2.05549 8.33292 2.11644 8.69864L3.91644 19.4986C3.96466 19.788 4.21497 20 4.50828 20Z" stroke="currentColor" stroke-width="1.5"/><path d="M7 8V6C7 4.89543 7.89543 4 9 4H15C16.1046 4 17 4.89543 17 6V8" stroke="currentColor" stroke-width="1.5"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.50828 20H19.4917C19.785 20 20.0353 19.788 20.0836 19.4986L21.8836 8.69864C21.9445 8.33292 21.6625 8 21.2917 8H2.70828C2.33751 8 2.05549 8.33292 2.11644 8.69864L3.91644 19.4986C3.96466 19.788 4.21497 20 4.50828 20Z" stroke="currentColor" stroke-width="1.5"/><path d="M7 8V6C7 4.89543 7.89543 4 9 4H15C16.1046 4 17 4.89543 17 6V8" stroke="currentColor" stroke-width="1.5"/></svg>');}
.fw-directory-feed .iconoir-microphone::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="2" width="6" height="12" rx="3" stroke="currentColor" stroke-width="1.5"/><path d="M5 10V11C5 14.866 8.13401 18 12 18V18V18C15.866 18 19 14.866 19 11V10" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 18V22M12 22H9M12 22H15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="9" y="2" width="6" height="12" rx="3" stroke="currentColor" stroke-width="1.5"/><path d="M5 10V11C5 14.866 8.13401 18 12 18V18V18C15.866 18 19 14.866 19 11V10" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 18V22M12 22H9M12 22H15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-journal::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 6L18 6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 10H18" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M13 14L18 14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M13 18L18 18" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M2 21.4V2.6C2 2.26863 2.26863 2 2.6 2H21.4C21.7314 2 22 2.26863 22 2.6V21.4C22 21.7314 21.7314 22 21.4 22H2.6C2.26863 22 2 21.7314 2 21.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 18V14H9V18H6Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 6L18 6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 10H18" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M13 14L18 14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M13 18L18 18" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M2 21.4V2.6C2 2.26863 2.26863 2 2.6 2H21.4C21.7314 2 22 2.26863 22 2.6V21.4C22 21.7314 21.7314 22 21.4 22H2.6C2.26863 22 2 21.7314 2 21.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 18V14H9V18H6Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-hospital::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.4 8C6.73137 8 7 7.73137 7 7.4V3.6C7 3.26863 7.26863 3 7.6 3H16.4C16.7314 3 17 3.26863 17 3.6V7.4C17 7.73137 17.2686 8 17.6 8H19.4C19.7314 8 20 8.26863 20 8.6V20.4C20 20.7314 19.7314 21 19.4 21H4.6C4.26863 21 4 20.7314 4 20.4V8.6C4 8.26863 4.26863 8 4.6 8H6.4Z" stroke="currentColor" stroke-width="1.5"/><path d="M9.99219 8H11.9922M13.9922 8H11.9922M11.9922 8V6M11.9922 8V10" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 17.01L16.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 13.01L16.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 13.01L12.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 13.01L8.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 17.01L8.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 17.01L12.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.4 8C6.73137 8 7 7.73137 7 7.4V3.6C7 3.26863 7.26863 3 7.6 3H16.4C16.7314 3 17 3.26863 17 3.6V7.4C17 7.73137 17.2686 8 17.6 8H19.4C19.7314 8 20 8.26863 20 8.6V20.4C20 20.7314 19.7314 21 19.4 21H4.6C4.26863 21 4 20.7314 4 20.4V8.6C4 8.26863 4.26863 8 4.6 8H6.4Z" stroke="currentColor" stroke-width="1.5"/><path d="M9.99219 8H11.9922M13.9922 8H11.9922M11.9922 8V6M11.9922 8V10" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 17.01L16.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 13.01L16.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 13.01L12.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 13.01L8.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 17.01L8.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 17.01L12.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-tools::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.0503 10.6066L2.97923 17.6777C2.19818 18.4587 2.19818 19.7251 2.97923 20.5061V20.5061C3.76027 21.2872 5.0266 21.2872 5.80765 20.5061L12.8787 13.4351" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17.1927 13.7994L21.071 17.6777C21.8521 18.4587 21.8521 19.7251 21.071 20.5061V20.5061C20.29 21.2872 19.0236 21.2872 18.2426 20.5061L12.0341 14.2977" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.73267 5.90381L4.61135 6.61092L2.49003 3.07539L3.90424 1.66117L7.43978 3.78249L6.73267 5.90381ZM6.73267 5.90381L9.5629 8.73404" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.0503 10.6066C9.2065 8.45359 9.37147 5.62861 11.111 3.8891C12.8505 2.14958 16.0607 1.76778 17.8285 2.82844L14.7878 5.86911L14.5052 8.98015L17.6162 8.69754L20.6569 5.65686C21.7176 7.42463 21.3358 10.6349 19.5963 12.3744C17.8567 14.1139 15.0318 14.2789 12.8788 13.435" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.0503 10.6066L2.97923 17.6777C2.19818 18.4587 2.19818 19.7251 2.97923 20.5061V20.5061C3.76027 21.2872 5.0266 21.2872 5.80765 20.5061L12.8787 13.4351" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17.1927 13.7994L21.071 17.6777C21.8521 18.4587 21.8521 19.7251 21.071 20.5061V20.5061C20.29 21.2872 19.0236 21.2872 18.2426 20.5061L12.0341 14.2977" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.73267 5.90381L4.61135 6.61092L2.49003 3.07539L3.90424 1.66117L7.43978 3.78249L6.73267 5.90381ZM6.73267 5.90381L9.5629 8.73404" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.0503 10.6066C9.2065 8.45359 9.37147 5.62861 11.111 3.8891C12.8505 2.14958 16.0607 1.76778 17.8285 2.82844L14.7878 5.86911L14.5052 8.98015L17.6162 8.69754L20.6569 5.65686C21.7176 7.42463 21.3358 10.6349 19.5963 12.3744C17.8567 14.1139 15.0318 14.2789 12.8788 13.435" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-music-double-note::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 14V3L9 5V16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 19H18C19.1046 19 20 18.1046 20 17V14H17C15.8954 14 15 14.8954 15 16V17C15 18.1046 15.8954 19 17 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 21H7C8.10457 21 9 20.1046 9 19V16H6C4.89543 16 4 16.8954 4 18V19C4 20.1046 4.89543 21 6 21Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 14V3L9 5V16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 19H18C19.1046 19 20 18.1046 20 17V14H17C15.8954 14 15 14.8954 15 16V17C15 18.1046 15.8954 19 17 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 21H7C8.10457 21 9 20.1046 9 19V16H6C4.89543 16 4 16.8954 4 18V19C4 20.1046 4.89543 21 6 21Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-suitcase::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 7H4C2.89543 7 2 7.89543 2 9V19C2 20.1046 2.89543 21 4 21H20C21.1046 21 22 20.1046 22 19V9C22 7.89543 21.1046 7 20 7H16M8 7V3.6C8 3.26863 8.26863 3 8.6 3H15.4C15.7314 3 16 3.26863 16 3.6V7M8 7H16" stroke="currentColor" stroke-width="1.5"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 7H4C2.89543 7 2 7.89543 2 9V19C2 20.1046 2.89543 21 4 21H20C21.1046 21 22 20.1046 22 19V9C22 7.89543 21.1046 7 20 7H16M8 7V3.6C8 3.26863 8.26863 3 8.6 3H15.4C15.7314 3 16 3.26863 16 3.6V7M8 7H16" stroke="currentColor" stroke-width="1.5"/></svg>');}
.fw-directory-feed .iconoir-leaf::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 21C7 21 7.5 16.5 11 12.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.1297 4.24224L19.7243 10.4167C20.0984 14.3026 17.1849 17.7626 13.2989 18.1367C9.486 18.5039 6.03191 15.7168 5.66477 11.9039C5.29763 8.09099 8.09098 4.70237 11.9039 4.33523L18.475 3.70251C18.8048 3.67074 19.098 3.91239 19.1297 4.24224Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 21C7 21 7.5 16.5 11 12.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.1297 4.24224L19.7243 10.4167C20.0984 14.3026 17.1849 17.7626 13.2989 18.1367C9.486 18.5039 6.03191 15.7168 5.66477 11.9039C5.29763 8.09099 8.09098 4.70237 11.9039 4.33523L18.475 3.70251C18.8048 3.67074 19.098 3.91239 19.1297 4.24224Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-apple-half::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.1471 21.2646L12 21.2351L11.8529 21.2646C9.47627 21.7399 7.23257 21.4756 5.59352 20.1643C3.96312 18.86 2.75 16.374 2.75 12C2.75 7.52684 3.75792 5.70955 5.08541 5.04581C5.77977 4.69863 6.67771 4.59759 7.82028 4.72943C8.96149 4.86111 10.2783 5.21669 11.7628 5.71153L12.0235 5.79841L12.2785 5.69638C14.7602 4.70367 16.9909 4.3234 18.5578 5.05463C20.0271 5.7403 21.25 7.59326 21.25 12C21.25 16.374 20.0369 18.86 18.4065 20.1643C16.7674 21.4756 14.5237 21.7399 12.1471 21.2646Z" stroke="currentColor" stroke-width="1.5"/><path d="M12 5.5C12 3 11 2 9 2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 6V21" stroke="currentColor" stroke-width="1.5"/><path d="M15 12L15 14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.1471 21.2646L12 21.2351L11.8529 21.2646C9.47627 21.7399 7.23257 21.4756 5.59352 20.1643C3.96312 18.86 2.75 16.374 2.75 12C2.75 7.52684 3.75792 5.70955 5.08541 5.04581C5.77977 4.69863 6.67771 4.59759 7.82028 4.72943C8.96149 4.86111 10.2783 5.21669 11.7628 5.71153L12.0235 5.79841L12.2785 5.69638C14.7602 4.70367 16.9909 4.3234 18.5578 5.05463C20.0271 5.7403 21.25 7.59326 21.25 12C21.25 16.374 20.0369 18.86 18.4065 20.1643C16.7674 21.4756 14.5237 21.7399 12.1471 21.2646Z" stroke="currentColor" stroke-width="1.5"/><path d="M12 5.5C12 3 11 2 9 2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 6V21" stroke="currentColor" stroke-width="1.5"/><path d="M15 12L15 14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-map-pin::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 10C20 14.4183 12 22 12 22C12 22 4 14.4183 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10Z" stroke="currentColor" stroke-width="1.5"/><path d="M12 11C12.5523 11 13 10.5523 13 10C13 9.44772 12.5523 9 12 9C11.4477 9 11 9.44772 11 10C11 10.5523 11.4477 11 12 11Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 10C20 14.4183 12 22 12 22C12 22 4 14.4183 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10Z" stroke="currentColor" stroke-width="1.5"/><path d="M12 11C12.5523 11 13 10.5523 13 10C13 9.44772 12.5523 9 12 9C11.4477 9 11 9.44772 11 10C11 10.5523 11.4477 11 12 11Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-calendar::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15 4V2M15 4V6M15 4H10.5M3 10V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V10H3Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 10V6C3 4.89543 3.89543 4 5 4H7" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 2V6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 10V6C21 4.89543 20.1046 4 19 4H18.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15 4V2M15 4V6M15 4H10.5M3 10V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V10H3Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 10V6C3 4.89543 3.89543 4 5 4H7" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M7 2V6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 10V6C21 4.89543 20.1046 4 19 4H18.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-directory-feed .iconoir-help-circle::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M9 9C9 5.49997 14.5 5.5 14.5 9C14.5 11.5 12 10.9999 12 13.9999" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 18.01L12.01 17.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M9 9C9 5.49997 14.5 5.5 14.5 9C14.5 11.5 12 10.9999 12 13.9999" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 18.01L12.01 17.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}

/* === Directory Homepage — Feed-Centric === */
.fw-directory-feed { background: var(--fw-bg); }

/* Hero */
.fw-directory-feed .dir-hero { padding: var(--fw-section-py) var(--fw-container-px); text-align: center; background: var(--fw-bg-card); border-bottom: 1px solid var(--fw-border-subtle); }
.fw-directory-feed .dir-hero-eyebrow { font-family: var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight: 600; text-transform: uppercase; letter-spacing: var(--fw-tracking-widest); color: var(--fw-brand); margin-bottom: 8px; }
.fw-directory-feed .dir-hero-heading { font-family: var(--fw-font-display); font-size: clamp(1.6rem, 4vw, 2.6rem); font-weight: 700; color: var(--fw-text); letter-spacing: var(--fw-tracking-tight); margin-bottom: 10px; }
.fw-directory-feed .dir-hero-sub { font-size: var(--fw-fs-body); color: var(--fw-text-mid); margin-bottom: 20px; max-width: 540px; margin-left: auto; margin-right: auto; line-height: var(--fw-leading-relaxed); }
.fw-directory-feed .dir-hero-cats { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.fw-directory-feed .dir-hero-cat { display: flex; align-items: center; gap: 6px; padding: 8px 16px; background: var(--fw-bg); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text); cursor: pointer; transition: all 0.15s; }
.fw-directory-feed .dir-hero-cat:hover { border-color: var(--fw-brand); color: var(--fw-brand); }
.fw-directory-feed .dir-hero-cat-icon { font-size: 1rem; }

/* Feed body layout */
.fw-directory-feed .dir-body { display: grid; grid-template-columns: 1fr 300px; gap: 0; }

/* Main feed */
.fw-directory-feed .dir-main-feed { padding: 24px var(--fw-container-px); }
.fw-directory-feed .dir-feed-tabs { display: flex; gap: 0; border-bottom: 2px solid var(--fw-border-subtle); margin-bottom: 20px; }
.fw-directory-feed .dir-feed-tab { font-family: var(--fw-font-body); font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text-light); padding: 10px 18px; border: none; background: none; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.15s; }
.fw-directory-feed .dir-feed-tab:hover { color: var(--fw-text); }
.fw-directory-feed .dir-feed-tab.active { color: var(--fw-brand-hot); border-bottom-color: var(--fw-brand-hot); font-weight: 600; }

/* Feed items */
.fw-directory-feed .dir-feed-list { display: flex; flex-direction: column; gap: 14px; }
.fw-directory-feed .dir-feed-item { display: flex; gap: 14px; padding: 16px; background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); transition: border-color 0.15s; }
.fw-directory-feed .dir-feed-item:hover { border-color: var(--fw-brand); }
.fw-directory-feed .dir-feed-item-badge { font-family: var(--fw-font-mono); font-size: 0.55rem; font-weight: 600; text-transform: uppercase; letter-spacing: var(--fw-tracking-caps); padding: 3px 8px; border-radius: var(--fw-radius-tag); flex-shrink: 0; align-self: flex-start; }
.fw-directory-feed .dir-feed-item-badge.event { background: #e8f0fe; color: #1a73e8; }
.fw-directory-feed .dir-feed-item-badge.news { background: #fef3e0; color: #e65100; }
.fw-directory-feed .dir-feed-item-badge.business { background: #e8f5e9; color: #2e7d32; }
.fw-directory-feed .dir-feed-item-badge.listing { background: #f3e5f5; color: #7b1fa2; }
.fw-directory-feed .dir-feed-item-content { flex: 1; min-width: 0; }
.fw-directory-feed .dir-feed-item-title { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); margin-bottom: 4px; }
.fw-directory-feed .dir-feed-item-desc { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); line-height: var(--fw-leading-relaxed); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fw-directory-feed .dir-feed-item-meta { display: flex; gap: 10px; margin-top: 6px; font-family: var(--fw-font-mono); font-size: 0.6rem; color: var(--fw-text-light); }
.fw-directory-feed .dir-feed-item-thumb { width: 80px; height: 80px; border-radius: 6px; background: var(--fw-bg-alt); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; overflow: hidden; }

/* Sidebar */
.fw-directory-feed .dir-sidebar { background: var(--fw-bg-card); border-left: 1px solid var(--fw-border-subtle); padding: 24px 20px; display: flex; flex-direction: column; gap: 24px; }

/* Sidebar section */
.fw-directory-feed .dir-sidebar-section { }
.fw-directory-feed .dir-sidebar-title { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--fw-border-subtle); }

/* Trending list */
.fw-directory-feed .dir-trending-list { display: flex; flex-direction: column; gap: 8px; }
.fw-directory-feed .dir-trending-item { display: flex; align-items: center; gap: 10px; }
.fw-directory-feed .dir-trending-rank { font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); font-weight: 700; color: var(--fw-brand-hot); width: 20px; text-align: center; }
.fw-directory-feed .dir-trending-name { font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text); }
.fw-directory-feed .dir-trending-cat { font-family: var(--fw-font-mono); font-size: 0.55rem; color: var(--fw-text-light); margin-left: auto; }

/* Quick links */
.fw-directory-feed .dir-quick-links { display: flex; flex-direction: column; gap: 6px; }
.fw-directory-feed .dir-quick-link { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: var(--fw-bg); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); font-size: var(--fw-fs-caption); color: var(--fw-text); text-decoration: none; transition: border-color 0.15s; cursor: pointer; }
.fw-directory-feed .dir-quick-link:hover { border-color: var(--fw-brand); }
.fw-directory-feed .dir-quick-link-icon { font-size: 0.9rem; }

/* Newsletter signup */
.fw-directory-feed .dir-newsletter { background: var(--fw-bg); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); padding: 18px; text-align: center; }
.fw-directory-feed .dir-newsletter-heading { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); margin-bottom: 6px; }
.fw-directory-feed .dir-newsletter-text { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); margin-bottom: 10px; line-height: var(--fw-leading-relaxed); }
.fw-directory-feed .dir-newsletter-form { display: flex; gap: 6px; }
.fw-directory-feed .dir-newsletter-input { flex: 1; padding: 8px 12px; border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); font-size: var(--fw-fs-caption); }
.fw-directory-feed .dir-newsletter-btn { padding: 8px 14px; background: var(--fw-brand-hot); color: #fff; border: none; border-radius: var(--fw-radius-sm); font-size: var(--fw-fs-caption); font-weight: 600; cursor: pointer; white-space: nowrap; }

/* ─── Responsive ─── */
@media (max-width: 768px) {
  .fw-directory-feed .dir-body { grid-template-columns: 1fr; }
  .fw-directory-feed .dir-sidebar { border-left: none; border-top: 1px solid var(--fw-border-subtle); flex-direction: row; flex-wrap: wrap; }
  .fw-directory-feed .dir-sidebar-section { flex: 1 1 200px; min-width: 180px; }
}

@media (max-width: 480px) {
  .fw-directory-feed .dir-hero-heading { font-size: 1.4rem; }
  .fw-directory-feed .dir-hero-cats { gap: 6px; }
  .fw-directory-feed .dir-hero-cat { padding: 6px 10px; font-size: 0.65rem; }
  .fw-directory-feed .dir-feed-item { flex-direction: column; }
  .fw-directory-feed .dir-feed-item-thumb { width: 100%; height: 120px; }
  .fw-directory-feed .dir-sidebar { flex-direction: column; }
  .fw-directory-feed .dir-newsletter-form { flex-direction: column; }
}

/* ═══════════════════════════════════════════════════════
   Rental Property Listing — Long-Term
   ═══════════════════════════════════════════════════════ */
/* ── Iconoir icon subset — https://iconoir.com (MIT License) ── */
.fw-rental-listing [class^='iconoir-']::before,
.fw-rental-listing [class*=' iconoir-']::before {
  content: ' ';
  display: block;
  background: currentColor;
  mask-size: cover;
  -webkit-mask-size: cover;
  width: 1em;
  height: 1em;
}
.fw-rental-listing [class^='iconoir-'],
.fw-rental-listing [class*=' iconoir-'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fw-rental-listing .iconoir-home-simple::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 21H7C4.79086 21 3 19.2091 3 17V10.7076C3 9.30887 3.73061 8.01175 4.92679 7.28679L9.92679 4.25649C11.2011 3.48421 12.7989 3.48421 14.0732 4.25649L19.0732 7.28679C20.2694 8.01175 21 9.30887 21 10.7076V17C21 19.2091 19.2091 21 17 21Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M9 17H15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 21H7C4.79086 21 3 19.2091 3 17V10.7076C3 9.30887 3.73061 8.01175 4.92679 7.28679L9.92679 4.25649C11.2011 3.48421 12.7989 3.48421 14.0732 4.25649L19.0732 7.28679C20.2694 8.01175 21 9.30887 21 10.7076V17C21 19.2091 19.2091 21 17 21Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M9 17H15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-sofa::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 16L2 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 9V7C4 5.89543 4.89543 5 6 5L18 5C19.1046 5 20 5.89543 20 7V9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 9C18.8954 9 18 9.89543 18 11V13H6V11C6 9.89543 5.10457 9 4 9C2.89543 9 2 9.89543 2 11V17H22V11C22 9.89543 21.1046 9 20 9Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 16L22 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 16L2 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 9V7C4 5.89543 4.89543 5 6 5L18 5C19.1046 5 20 5.89543 20 7V9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 9C18.8954 9 18 9.89543 18 11V13H6V11C6 9.89543 5.10457 9 4 9C2.89543 9 2 9.89543 2 11V17H22V11C22 9.89543 21.1046 9 20 9Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 16L22 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-dishwasher::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3H18.9999C20.1045 3 20.9999 3.89543 20.9999 4.99999L21 19C21 20.1046 20.1046 21 19 21H16.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 7H3.00006" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 16V21M12 21H10M12 21H14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 16C13.6569 16 15 14.5076 15 12.6667V10H9V12.6667C9 14.5076 10.3431 16 12 16Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 5.01L18.01 4.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M15 5.01L15.01 4.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3H18.9999C20.1045 3 20.9999 3.89543 20.9999 4.99999L21 19C21 20.1046 20.1046 21 19 21H16.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 7H3.00006" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 16V21M12 21H10M12 21H14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 16C13.6569 16 15 14.5076 15 12.6667V10H9V12.6667C9 14.5076 10.3431 16 12 16Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 5.01L18.01 4.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M15 5.01L15.01 4.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-camera::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 19V9C2 7.89543 2.89543 7 4 7H4.5C5.12951 7 5.72229 6.70361 6.1 6.2L8.32 3.24C8.43331 3.08892 8.61115 3 8.8 3H15.2C15.3889 3 15.5667 3.08892 15.68 3.24L17.9 6.2C18.2777 6.70361 18.8705 7 19.5 7H20C21.1046 7 22 7.89543 22 9V19C22 20.1046 21.1046 21 20 21H4C2.89543 21 2 20.1046 2 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 17C14.2091 17 16 15.2091 16 13C16 10.7909 14.2091 9 12 9C9.79086 9 8 10.7909 8 13C8 15.2091 9.79086 17 12 17Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 19V9C2 7.89543 2.89543 7 4 7H4.5C5.12951 7 5.72229 6.70361 6.1 6.2L8.32 3.24C8.43331 3.08892 8.61115 3 8.8 3H15.2C15.3889 3 15.5667 3.08892 15.68 3.24L17.9 6.2C18.2777 6.70361 18.8705 7 19.5 7H20C21.1046 7 22 7.89543 22 9V19C22 20.1046 21.1046 21 20 21H4C2.89543 21 2 20.1046 2 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 17C14.2091 17 16 15.2091 16 13C16 10.7909 14.2091 9 12 9C9.79086 9 8 10.7909 8 13C8 15.2091 9.79086 17 12 17Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-heart::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 8.86222C22 10.4087 21.4062 11.8941 20.3458 12.9929C17.9049 15.523 15.5374 18.1613 13.0053 20.5997C12.4249 21.1505 11.5042 21.1304 10.9488 20.5547L3.65376 12.9929C1.44875 10.7072 1.44875 7.01723 3.65376 4.73157C5.88044 2.42345 9.50794 2.42345 11.7346 4.73157L11.9998 5.00642L12.2648 4.73173C13.3324 3.6245 14.7864 3 16.3053 3C17.8242 3 19.2781 3.62444 20.3458 4.73157C21.4063 5.83045 22 7.31577 22 8.86222Z" stroke="currentColor" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M22 8.86222C22 10.4087 21.4062 11.8941 20.3458 12.9929C17.9049 15.523 15.5374 18.1613 13.0053 20.5997C12.4249 21.1505 11.5042 21.1304 10.9488 20.5547L3.65376 12.9929C1.44875 10.7072 1.44875 7.01723 3.65376 4.73157C5.88044 2.42345 9.50794 2.42345 11.7346 4.73157L11.9998 5.00642L12.2648 4.73173C13.3324 3.6245 14.7864 3 16.3053 3C17.8242 3 19.2781 3.62444 20.3458 4.73157C21.4063 5.83045 22 7.31577 22 8.86222Z" stroke="currentColor" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-bed::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 4V20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20V4C3 2.89543 3.89543 2 5 2H19C20.1046 2 21 2.89543 21 4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 8L11 8L11 6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 8L13 8L13 6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 4V20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20V4C3 2.89543 3.89543 2 5 2H19C20.1046 2 21 2.89543 21 4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 8L11 8L11 6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 8L13 8L13 6" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-bathroom::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 13V16C21 18.2091 19.2091 20 17 20H7C4.79086 20 3 18.2091 3 16V13.6C3 13.2686 3.26863 13 3.6 13H21Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 20L17 22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 20L7 22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 13V7C21 4.79086 19.2091 3 17 3H12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M15.4 8H8.60003C8.26865 8 8.00393 7.7317 8.04019 7.4023C8.18624 6.07539 8.86312 3 12 3C15.1369 3 15.8138 6.07539 15.9598 7.4023C15.9961 7.73169 15.7314 8 15.4 8Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 13V16C21 18.2091 19.2091 20 17 20H7C4.79086 20 3 18.2091 3 16V13.6C3 13.2686 3.26863 13 3.6 13H21Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 20L17 22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 20L7 22" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M21 13V7C21 4.79086 19.2091 3 17 3H12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M15.4 8H8.60003C8.26865 8 8.00393 7.7317 8.04019 7.4023C8.18624 6.07539 8.86312 3 12 3C15.1369 3 15.8138 6.07539 15.9598 7.4023C15.9961 7.73169 15.7314 8 15.4 8Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-ruler::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16 7V2.6C16 2.26863 15.7314 2 15.4 2H8.6C8.26863 2 8 2.26863 8 2.6V21.4C8 21.7314 8.26863 22 8.6 22H15.4C15.7314 22 16 21.7314 16 21.4V17M16 7H13M16 7V12M16 12H13M16 12V17M16 17H13" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16 7V2.6C16 2.26863 15.7314 2 15.4 2H8.6C8.26863 2 8 2.26863 8 2.6V21.4C8 21.7314 8.26863 22 8.6 22H15.4C15.7314 22 16 21.7314 16 21.4V17M16 7H13M16 7V12M16 12H13M16 12V17M16 17H13" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-building::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 9.01L10.01 8.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 9.01L14.01 8.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 13.01L10.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 13.01L14.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 17.01L10.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 17.01L14.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 20.4V5.6C6 5.26863 6.26863 5 6.6 5H12V3.6C12 3.26863 12.2686 3 12.6 3H17.4C17.7314 3 18 3.26863 18 3.6V20.4C18 20.7314 17.7314 21 17.4 21H6.6C6.26863 21 6 20.7314 6 20.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 9.01L10.01 8.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 9.01L14.01 8.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 13.01L10.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 13.01L14.01 12.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 17.01L10.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M14 17.01L14.01 16.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 20.4V5.6C6 5.26863 6.26863 5 6.6 5H12V3.6C12 3.26863 12.2686 3 12.6 3H17.4C17.7314 3 18 3.26863 18 3.6V20.4C18 20.7314 17.7314 21 17.4 21H6.6C6.26863 21 6 20.7314 6 20.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-key::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 12C10 14.2091 8.20914 16 6 16C3.79086 16 2 14.2091 2 12C2 9.79086 3.79086 8 6 8C8.20914 8 10 9.79086 10 12ZM10 12H22V15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 12V15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 12C10 14.2091 8.20914 16 6 16C3.79086 16 2 14.2091 2 12C2 9.79086 3.79086 8 6 8C8.20914 8 10 9.79086 10 12ZM10 12H22V15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 12V15" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-leaf::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 21C7 21 7.5 16.5 11 12.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.1297 4.24224L19.7243 10.4167C20.0984 14.3026 17.1849 17.7626 13.2989 18.1367C9.486 18.5039 6.03191 15.7168 5.66477 11.9039C5.29763 8.09099 8.09098 4.70237 11.9039 4.33523L18.475 3.70251C18.8048 3.67074 19.098 3.91239 19.1297 4.24224Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 21C7 21 7.5 16.5 11 12.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.1297 4.24224L19.7243 10.4167C20.0984 14.3026 17.1849 17.7626 13.2989 18.1367C9.486 18.5039 6.03191 15.7168 5.66477 11.9039C5.29763 8.09099 8.09098 4.70237 11.9039 4.33523L18.475 3.70251C18.8048 3.67074 19.098 3.91239 19.1297 4.24224Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-bicycle::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 19C7.20914 19 9 17.2091 9 15C9 12.7909 7.20914 11 5 11C2.79086 11 1 12.7909 1 15C1 17.2091 2.79086 19 5 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.5 7.5L14.5 7.5M19 15L15 7.5L14.5 7.5M14.5 7.5L16.5 4.5M16.5 4.5L14 4.5M16.5 4.5L18.5 4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M5 15L8.5 7.5L12 14L15 14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.5 7.5C8.16667 6.5 7 4.5 5 4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19 19C21.2091 19 23 17.2091 23 15C23 12.7909 21.2091 11 19 11C16.7909 11 15 12.7909 15 15C15 17.2091 16.7909 19 19 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 19C7.20914 19 9 17.2091 9 15C9 12.7909 7.20914 11 5 11C2.79086 11 1 12.7909 1 15C1 17.2091 2.79086 19 5 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.5 7.5L14.5 7.5M19 15L15 7.5L14.5 7.5M14.5 7.5L16.5 4.5M16.5 4.5L14 4.5M16.5 4.5L18.5 4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M5 15L8.5 7.5L12 14L15 14" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8.5 7.5C8.16667 6.5 7 4.5 5 4.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19 19C21.2091 19 23 17.2091 23 15C23 12.7909 21.2091 11 19 11C16.7909 11 15 12.7909 15 15C15 17.2091 16.7909 19 19 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-snow-flake::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 7L6.5 9M21 17L17.5 15M12 12L6.5 9M12 12L6.5 15M12 12V5M12 12V18.5M12 12L17.5 15M12 12L17.5 9M12 2V5M12 22V18.5M21 7L17.5 9M3 17L6.5 15M6.5 9L3 10M6.5 9L6 5.5M6.5 15L3 14M6.5 15L6 18.5M12 5L9.5 4M12 5L14.5 4M12 18.5L14.5 20M12 18.5L9.5 20M17.5 15L18 18.5M17.5 15L21 14M17.5 9L21 10M17.5 9L18 5.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 7L6.5 9M21 17L17.5 15M12 12L6.5 9M12 12L6.5 15M12 12V5M12 12V18.5M12 12L17.5 15M12 12L17.5 9M12 2V5M12 22V18.5M21 7L17.5 9M3 17L6.5 15M6.5 9L3 10M6.5 9L6 5.5M6.5 15L3 14M6.5 15L6 18.5M12 5L9.5 4M12 5L14.5 4M12 18.5L14.5 20M12 18.5L9.5 20M17.5 15L18 18.5M17.5 15L21 14M17.5 9L21 10M17.5 9L18 5.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-washing-machine::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.9999 3.99999L21 20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20V4C3 2.89543 3.89543 2 5 2H18.9999C20.1045 2 20.9999 2.89543 20.9999 3.99999Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 5.01L18.01 4.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 19C15.3137 19 18 16.3137 18 13C18 9.68629 15.3137 7 12 7C8.68629 7 6 9.68629 6 13C6 16.3137 8.68629 19 12 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 16C10.3431 16 9 14.6569 9 13" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.9999 3.99999L21 20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20V4C3 2.89543 3.89543 2 5 2H18.9999C20.1045 2 20.9999 2.89543 20.9999 3.99999Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 5.01L18.01 4.99889" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 19C15.3137 19 18 16.3137 18 13C18 9.68629 15.3137 7 12 7C8.68629 7 6 9.68629 6 13C6 16.3137 8.68629 19 12 19Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 16C10.3431 16 9 14.6569 9 13" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-antenna-signal::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.5 8C17.5 8 19 9.5 19 12C19 14.5 17.5 16 17.5 16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20.5 5C20.5 5 23 7.5 23 12C23 16.5 20.5 19 20.5 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.5 8C6.5 8 5 9.5 5 12C5 14.5 6.5 16 6.5 16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.5 5C3.5 5 1 7.5 1 12C1 16.5 3.5 19 3.5 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.5 8C17.5 8 19 9.5 19 12C19 14.5 17.5 16 17.5 16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20.5 5C20.5 5 23 7.5 23 12C23 16.5 20.5 19 20.5 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.5 8C6.5 8 5 9.5 5 12C5 14.5 6.5 16 6.5 16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.5 5C3.5 5 1 7.5 1 12C1 16.5 3.5 19 3.5 19" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-gym::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.4 7H4.6C4.26863 7 4 7.26863 4 7.6V16.4C4 16.7314 4.26863 17 4.6 17H7.4C7.73137 17 8 16.7314 8 16.4V7.6C8 7.26863 7.73137 7 7.4 7Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.4 7H16.6C16.2686 7 16 7.26863 16 7.6V16.4C16 16.7314 16.2686 17 16.6 17H19.4C19.7314 17 20 16.7314 20 16.4V7.6C20 7.26863 19.7314 7 19.4 7Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 14.4V9.6C1 9.26863 1.26863 9 1.6 9H3.4C3.73137 9 4 9.26863 4 9.6V14.4C4 14.7314 3.73137 15 3.4 15H1.6C1.26863 15 1 14.7314 1 14.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M23 14.4V9.6C23 9.26863 22.7314 9 22.4 9H20.6C20.2686 9 20 9.26863 20 9.6V14.4C20 14.7314 20.2686 15 20.6 15H22.4C22.7314 15 23 14.7314 23 14.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 12H16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.4 7H4.6C4.26863 7 4 7.26863 4 7.6V16.4C4 16.7314 4.26863 17 4.6 17H7.4C7.73137 17 8 16.7314 8 16.4V7.6C8 7.26863 7.73137 7 7.4 7Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M19.4 7H16.6C16.2686 7 16 7.26863 16 7.6V16.4C16 16.7314 16.2686 17 16.6 17H19.4C19.7314 17 20 16.7314 20 16.4V7.6C20 7.26863 19.7314 7 19.4 7Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M1 14.4V9.6C1 9.26863 1.26863 9 1.6 9H3.4C3.73137 9 4 9.26863 4 9.6V14.4C4 14.7314 3.73137 15 3.4 15H1.6C1.26863 15 1 14.7314 1 14.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M23 14.4V9.6C23 9.26863 22.7314 9 22.4 9H20.6C20.2686 9 20 9.26863 20 9.6V14.4C20 14.7314 20.2686 15 20.6 15H22.4C22.7314 15 23 14.7314 23 14.4Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 12H16" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-package::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 5.99999L20 18C20 19.1046 19.1046 20 18 20H6C4.89543 20 4 19.1046 4 18V6C4 4.89543 4.89543 4 6 4H18C19.1045 4 19.9999 4.89543 20 5.99999Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 9V4" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 5.99999L20 18C20 19.1046 19.1046 20 18 20H6C4.89543 20 4 19.1046 4 18V6C4 4.89543 4.89543 4 6 4H18C19.1045 4 19.9999 4.89543 20 5.99999Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 9V4" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-parking::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 15.5V12.7M10 12.7C10.4762 12.7 11.7143 12.7 12.8571 12.7C13.5714 12.7 15 12.7 15 10.6C15 8.5 13.5714 8.5 12.8571 8.5L10 8.5V12.7Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="12" r="10" stroke="currentColor" /></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 15.5V12.7M10 12.7C10.4762 12.7 11.7143 12.7 12.8571 12.7C13.5714 12.7 15 12.7 15 10.6C15 8.5 13.5714 8.5 12.8571 8.5L10 8.5V12.7Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="12" r="10" stroke="currentColor" /></svg>');}
.fw-rental-listing .iconoir-map::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9 19L3.78974 20.7368C3.40122 20.8663 3 20.5771 3 20.1675L3 5.43246C3 5.1742 3.16526 4.94491 3.41026 4.86325L9 3M9 19L15 21M9 19L9 3M15 21L20.5897 19.1368C20.8347 19.0551 21 18.8258 21 18.5675L21 3.83246C21 3.42292 20.5988 3.13374 20.2103 3.26325L15 5M15 21L15 5M15 5L9 3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9 19L3.78974 20.7368C3.40122 20.8663 3 20.5771 3 20.1675L3 5.43246C3 5.1742 3.16526 4.94491 3.41026 4.86325L9 3M9 19L15 21M9 19L9 3M15 21L20.5897 19.1368C20.8347 19.0551 21 18.8258 21 18.5675L21 3.83246C21 3.42292 20.5988 3.13374 20.2103 3.26325L15 5M15 21L15 5M15 5L9 3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-metro::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14 16.01L14.01 15.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 16.01L10.01 15.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 12V15C22 17.7614 19.7614 20 17 20H7C4.23858 20 2 17.7614 2 15V12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 12V15C18 17.7614 15.7614 20 13 20H11C8.23858 20 6 17.7614 6 15V12C6 9.23858 8.23858 7 11 7H13C15.7614 7 18 9.23858 18 12Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 20L8.5 22.5" stroke="currentColor" stroke-linecap="round"/><path d="M13.5 20L15.5 22.5" stroke="currentColor" stroke-linecap="round"/><path d="M16.5 20L18.5 22.5" stroke="currentColor" stroke-linecap="round"/><path d="M7.5 20L5.5 22.5" stroke="currentColor" stroke-linecap="round"/><path d="M11.7857 10H12.2143C13.2005 10 14 10.7995 14 11.7857C14 11.9041 13.9041 12 13.7857 12H10.2143C10.0959 12 10 11.9041 10 11.7857C10 10.7995 10.7995 10 11.7857 10Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14 16.01L14.01 15.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 16.01L10.01 15.9989" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 12V15C22 17.7614 19.7614 20 17 20H7C4.23858 20 2 17.7614 2 15V12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M18 12V15C18 17.7614 15.7614 20 13 20H11C8.23858 20 6 17.7614 6 15V12C6 9.23858 8.23858 7 11 7H13C15.7614 7 18 9.23858 18 12Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M10.5 20L8.5 22.5" stroke="currentColor" stroke-linecap="round"/><path d="M13.5 20L15.5 22.5" stroke="currentColor" stroke-linecap="round"/><path d="M16.5 20L18.5 22.5" stroke="currentColor" stroke-linecap="round"/><path d="M7.5 20L5.5 22.5" stroke="currentColor" stroke-linecap="round"/><path d="M11.7857 10H12.2143C13.2005 10 14 10.7995 14 11.7857C14 11.9041 13.9041 12 13.7857 12H10.2143C10.0959 12 10 11.9041 10 11.7857C10 10.7995 10.7995 10 11.7857 10Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-cart::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 22C20.3284 22 21 21.3284 21 20.5C21 19.6716 20.3284 19 19.5 19C18.6716 19 18 19.6716 18 20.5C18 21.3284 18.6716 22 19.5 22Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M9.5 22C10.3284 22 11 21.3284 11 20.5C11 19.6716 10.3284 19 9.5 19C8.67157 19 8 19.6716 8 20.5C8 21.3284 8.67157 22 9.5 22Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M5 4H22L20 15H7L5 4ZM5 4C4.83333 3.33333 4 2 2 2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 15H7H5.23077C3.44646 15 2.5 15.7812 2.5 17C2.5 18.2188 3.44646 19 5.23077 19H19.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 22C20.3284 22 21 21.3284 21 20.5C21 19.6716 20.3284 19 19.5 19C18.6716 19 18 19.6716 18 20.5C18 21.3284 18.6716 22 19.5 22Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M9.5 22C10.3284 22 11 21.3284 11 20.5C11 19.6716 10.3284 19 9.5 19C8.67157 19 8 19.6716 8 20.5C8 21.3284 8.67157 22 9.5 22Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M5 4H22L20 15H7L5 4ZM5 4C4.83333 3.33333 4 2 2 2" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M20 15H7H5.23077C3.44646 15 2.5 15.7812 2.5 17C2.5 18.2188 3.44646 19 5.23077 19H19.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-coffee-cup::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 11.6V15C17 18.3137 14.3137 21 11 21H9C5.68629 21 3 18.3137 3 15V11.6C3 11.2686 3.26863 11 3.6 11H16.4C16.7314 11 17 11.2686 17 11.6Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 9C12 8 12.7143 7 14.1429 7V7C15.7208 7 17 5.72081 17 4.14286V3.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 9V8.5C8 6.84315 9.34315 5.5 11 5.5V5.5C12.1046 5.5 13 4.60457 13 3.5V3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 11H18.5C19.8807 11 21 12.1193 21 13.5C21 14.8807 19.8807 16 18.5 16H17" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 11.6V15C17 18.3137 14.3137 21 11 21H9C5.68629 21 3 18.3137 3 15V11.6C3 11.2686 3.26863 11 3.6 11H16.4C16.7314 11 17 11.2686 17 11.6Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 9C12 8 12.7143 7 14.1429 7V7C15.7208 7 17 5.72081 17 4.14286V3.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 9V8.5C8 6.84315 9.34315 5.5 11 5.5V5.5C12.1046 5.5 13 4.60457 13 3.5V3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 11H18.5C19.8807 11 21 12.1193 21 13.5C21 14.8807 19.8807 16 18.5 16H17" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-tree::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22L12 14M12 10L12 14M12 14L16 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 7C17 4.23858 14.7614 2 12 2C9.23858 2 7 4.23858 7 7" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 18H7.5C4.46243 18 2 15.5376 2 12.5C2 9.46243 4.46243 7 7.5 7H9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 18H16.5C19.5376 18 22 15.5376 22 12.5C22 9.63102 19.8033 7.27508 17 7.02246" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22L12 14M12 10L12 14M12 14L16 12" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M17 7C17 4.23858 14.7614 2 12 2C9.23858 2 7 4.23858 7 7" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 18H7.5C4.46243 18 2 15.5376 2 12.5C2 9.46243 4.46243 7 7.5 7H9" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 18H16.5C19.5376 18 22 15.5376 22 12.5C22 9.63102 19.8033 7.27508 17 7.02246" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-star-solid::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.58737 8.23597L11.1849 3.00376C11.5183 2.33208 12.4817 2.33208 12.8151 3.00376L15.4126 8.23597L21.2215 9.08017C21.9668 9.18848 22.2638 10.0994 21.7243 10.6219L17.5217 14.6918L18.5135 20.4414C18.6409 21.1798 17.8614 21.7428 17.1945 21.3941L12 18.678L6.80547 21.3941C6.1386 21.7428 5.35909 21.1798 5.48645 20.4414L6.47825 14.6918L2.27575 10.6219C1.73617 10.0994 2.03322 9.18848 2.77852 9.08017L8.58737 8.23597Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.58737 8.23597L11.1849 3.00376C11.5183 2.33208 12.4817 2.33208 12.8151 3.00376L15.4126 8.23597L21.2215 9.08017C21.9668 9.18848 22.2638 10.0994 21.7243 10.6219L17.5217 14.6918L18.5135 20.4414C18.6409 21.1798 17.8614 21.7428 17.1945 21.3941L12 18.678L6.80547 21.3941C6.1386 21.7428 5.35909 21.1798 5.48645 20.4414L6.47825 14.6918L2.27575 10.6219C1.73617 10.0994 2.03322 9.18848 2.77852 9.08017L8.58737 8.23597Z" fill="currentColor" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');}
.fw-rental-listing .iconoir-check-circle::before{mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 12.5L10 15.5L17 8.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg width="24" height="24" stroke-width="1.5" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 12.5L10 15.5L17 8.5" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/></svg>');}

/* === Rental Property Listing — Long-Term Apartment === */
.fw-rental-listing { background: var(--fw-bg); }

/* Gallery hero */
.fw-rental-listing .rl-gallery { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 280px 138px; gap: var(--fw-space-sm); position: relative; border-radius: var(--fw-radius); overflow: hidden; }
.fw-rental-listing .rl-gallery-main { grid-row: 1 / -1; }
.fw-rental-listing .rl-gallery-thumb { }
.fw-rental-listing .rl-gallery-img { width: 100%; height: 100%; object-fit: cover; background: linear-gradient(135deg, var(--fw-bg-alt), #d4cdc4); display: flex; align-items: center; justify-content: center; font-size: 2rem; cursor: pointer; transition: opacity 0.2s; }
.fw-rental-listing .rl-gallery-img:hover { opacity: 0.88; }
.fw-rental-listing .rl-gallery-badge { position: absolute; bottom: 14px; right: 14px; background: rgba(0,0,0,0.72); color: #fff; font-family: var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight: 600; padding: 6px 14px; border-radius: var(--fw-radius-tag); backdrop-filter: blur(4px); cursor: pointer; border: none; }
.fw-rental-listing .rl-gallery-save { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.9); border: none; display: flex; align-items: center; justify-content: center; font-size: 1rem; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,0.1); transition: transform 0.15s; }
.fw-rental-listing .rl-gallery-save:hover { transform: scale(1.1); }

/* Body layout — content + sticky sidebar */
.fw-rental-listing .rl-body { display: grid; grid-template-columns: 1fr 360px; gap: var(--fw-grid-gap-lg); padding: var(--fw-section-py) var(--fw-container-px); max-width: var(--fw-container); margin: 0 auto; align-items: start; }

/* Left content column */
.fw-rental-listing .rl-content { display: flex; flex-direction: column; gap: var(--fw-grid-gap); }

/* Title bar */
.fw-rental-listing .rl-title-bar { }
.fw-rental-listing .rl-title { font-family: var(--fw-font-display); font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; color: var(--fw-text); letter-spacing: var(--fw-tracking-tight); margin-bottom: var(--fw-space-sm); }
.fw-rental-listing .rl-subtitle { font-size: var(--fw-fs-body); color: var(--fw-text-mid); margin-bottom: var(--fw-space-sm); }
.fw-rental-listing .rl-meta-row { display: flex; align-items: center; gap: var(--fw-space-md); flex-wrap: wrap; }
.fw-rental-listing .rl-meta-pill { display: flex; align-items: center; gap: var(--fw-space-xs); font-family: var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight: 500; color: var(--fw-text-light); padding: var(--fw-space-xs) var(--fw-space-sm); background: var(--fw-bg-alt); border-radius: var(--fw-radius-tag); }
.fw-rental-listing .rl-meta-pill-icon { font-size: 0.8rem; }
.fw-rental-listing .rl-rating { display: flex; align-items: center; gap: var(--fw-space-xs); font-family: var(--fw-font-mono); font-size: var(--fw-fs-xs); font-weight: 600; color: var(--fw-text); }
.fw-rental-listing .rl-rating-stars { color: #f5a623; }
.fw-rental-listing .rl-rating-count { color: var(--fw-text-light); font-weight: 400; }

/* Divider */
.fw-rental-listing .rl-divider { border: none; border-top: 1px solid var(--fw-border-subtle); margin: 0; }

/* Host strip */
.fw-rental-listing .rl-host { display: flex; align-items: center; gap: var(--fw-space-md); }
.fw-rental-listing .rl-host-avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, var(--fw-brand-light), var(--fw-bg-alt)); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; font-weight: 600; color: var(--fw-brand); }
.fw-rental-listing .rl-host-info { }
.fw-rental-listing .rl-host-name { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body); font-weight: 600; color: var(--fw-text); }
.fw-rental-listing .rl-host-detail { font-size: var(--fw-fs-caption); color: var(--fw-text-light); }
.fw-rental-listing .rl-host-badge { margin-left: auto; font-family: var(--fw-font-mono); font-size: 0.55rem; font-weight: 600; text-transform: uppercase; letter-spacing: var(--fw-tracking-caps); padding: var(--fw-space-xs) var(--fw-space-sm); border-radius: var(--fw-radius-tag); background: var(--fw-brand-light); color: var(--fw-brand); }

/* Highlights strip */
.fw-rental-listing .rl-highlights { display: flex; flex-direction: column; gap: var(--fw-space-md); }
.fw-rental-listing .rl-highlight { display: flex; gap: var(--fw-space-md); align-items: flex-start; }
.fw-rental-listing .rl-highlight-icon { width: 40px; height: 40px; border-radius: var(--fw-radius-sm); background: var(--fw-bg-alt); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.fw-rental-listing .rl-highlight-text { }
.fw-rental-listing .rl-highlight-title { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); margin-bottom: 2px; }
.fw-rental-listing .rl-highlight-desc { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); line-height: var(--fw-leading-relaxed); }

/* Description */
.fw-rental-listing .rl-description { }
.fw-rental-listing .rl-section-title { font-family: var(--fw-font-display); font-size: var(--fw-fs-subhead); font-weight: 700; color: var(--fw-text); letter-spacing: var(--fw-tracking-tight); margin-bottom: var(--fw-space-md); }
.fw-rental-listing .rl-desc-text { font-size: var(--fw-fs-body-sm); color: var(--fw-text-mid); line-height: var(--fw-leading-relaxed); }
.fw-rental-listing .rl-desc-more { font-family: var(--fw-font-body); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); text-decoration: underline; text-underline-offset: 3px; border: none; background: none; cursor: pointer; margin-top: var(--fw-space-sm); display: inline-block; }

/* Amenities grid */
.fw-rental-listing .rl-amenities { }
.fw-rental-listing .rl-amenities-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--fw-grid-gap-sm); margin-bottom: var(--fw-grid-gap-sm); }
.fw-rental-listing .rl-amenity { display: flex; align-items: center; gap: var(--fw-grid-gap-sm); padding: var(--fw-space-sm) var(--fw-space-md); background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); transition: border-color 0.15s; }
.fw-rental-listing .rl-amenity:hover { border-color: var(--fw-brand); }
.fw-rental-listing .rl-amenity-icon { font-size: 1.1rem; width: 28px; text-align: center; flex-shrink: 0; }
.fw-rental-listing .rl-amenity-name { font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text); }
.fw-rental-listing .rl-amenities-more { font-family: var(--fw-font-body); font-size: var(--fw-fs-caption); font-weight: 600; color: var(--fw-text); text-decoration: underline; text-underline-offset: 3px; border: none; background: none; cursor: pointer; }

/* Lease terms */
.fw-rental-listing .rl-lease { }
.fw-rental-listing .rl-lease-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--fw-grid-gap-sm); }
.fw-rental-listing .rl-lease-item { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); padding: var(--fw-space-md); text-align: center; }
.fw-rental-listing .rl-lease-value { font-family: var(--fw-font-display); font-size: var(--fw-fs-subhead); font-weight: 700; color: var(--fw-text); margin-bottom: var(--fw-space-xs); }
.fw-rental-listing .rl-lease-label { font-family: var(--fw-font-mono); font-size: 0.58rem; font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-caps); color: var(--fw-text-light); }

/* Location / neighborhood */
.fw-rental-listing .rl-location { }
.fw-rental-listing .rl-map-placeholder { width: 100%; aspect-ratio: 16/9; border-radius: var(--fw-radius); background: linear-gradient(135deg, #e8e0d8, #d4cdc4); display: flex; align-items: center; justify-content: center; font-size: 2.5rem; opacity: 0.35; margin-bottom: var(--fw-space-md); }
.fw-rental-listing .rl-location-address { font-size: var(--fw-fs-body-sm); color: var(--fw-text-mid); margin-bottom: var(--fw-space-md); }
.fw-rental-listing .rl-scores { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--fw-grid-gap-sm); }
.fw-rental-listing .rl-score { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); padding: var(--fw-space-md); display: flex; align-items: center; gap: var(--fw-space-sm); }
.fw-rental-listing .rl-score-value { font-family: var(--fw-font-display); font-size: var(--fw-fs-body-lg); font-weight: 700; color: var(--fw-brand); }
.fw-rental-listing .rl-score-info { }
.fw-rental-listing .rl-score-label { font-size: var(--fw-fs-caption); font-weight: 600; color: var(--fw-text); }
.fw-rental-listing .rl-score-desc { font-size: 0.6rem; color: var(--fw-text-light); }
.fw-rental-listing .rl-nearby { margin-top: var(--fw-space-md); }
.fw-rental-listing .rl-nearby-title { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); margin-bottom: var(--fw-space-sm); }
.fw-rental-listing .rl-nearby-list { display: flex; flex-direction: column; gap: var(--fw-space-sm); }
.fw-rental-listing .rl-nearby-item { display: flex; align-items: center; justify-content: space-between; padding: var(--fw-space-sm) var(--fw-space-md); background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); }
.fw-rental-listing .rl-nearby-item-left { display: flex; align-items: center; gap: var(--fw-space-sm); }
.fw-rental-listing .rl-nearby-item-icon { font-size: 1rem; }
.fw-rental-listing .rl-nearby-item-name { font-size: var(--fw-fs-caption); font-weight: 500; color: var(--fw-text); }
.fw-rental-listing .rl-nearby-item-dist { font-family: var(--fw-font-mono); font-size: 0.6rem; color: var(--fw-text-light); }

/* Booking / inquiry sidebar (sticky) */
.fw-rental-listing .rl-sidebar { position: sticky; top: var(--fw-space-lg); }
.fw-rental-listing .rl-booking-card { background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius); padding: var(--fw-space-lg); box-shadow: var(--fw-shadow); }
.fw-rental-listing .rl-price-row { display: flex; align-items: baseline; gap: var(--fw-space-sm); margin-bottom: var(--fw-space-xs); }
.fw-rental-listing .rl-price { font-family: var(--fw-font-display); font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 700; color: var(--fw-text); }
.fw-rental-listing .rl-price-period { font-size: var(--fw-fs-body-sm); color: var(--fw-text-light); font-weight: 400; }
.fw-rental-listing .rl-price-compare { font-size: var(--fw-fs-caption); color: var(--fw-text-light); text-decoration: line-through; margin-bottom: var(--fw-space-md); display: block; }

/* Move-in date / lease selector */
.fw-rental-listing .rl-date-row { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); overflow: hidden; margin-bottom: var(--fw-space-sm); }
.fw-rental-listing .rl-date-field { padding: var(--fw-space-sm) var(--fw-space-md); }
.fw-rental-listing .rl-date-field + .rl-date-field { border-left: 1px solid var(--fw-border-subtle); }
.fw-rental-listing .rl-date-label { font-family: var(--fw-font-mono); font-size: 0.52rem; font-weight: 700; text-transform: uppercase; letter-spacing: var(--fw-tracking-caps); color: var(--fw-text); display: block; margin-bottom: 2px; }
.fw-rental-listing .rl-date-value { font-size: var(--fw-fs-caption); color: var(--fw-text-mid); }

/* Lease length selector */
.fw-rental-listing .rl-lease-select { width: 100%; padding: var(--fw-space-sm) var(--fw-space-md); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); font-family: var(--fw-font-body); font-size: var(--fw-fs-caption); color: var(--fw-text-mid); background: var(--fw-bg); margin-bottom: var(--fw-space-md); }

.fw-rental-listing .rl-cta-btn { width: 100%; padding: var(--fw-space-md); background: linear-gradient(135deg, var(--fw-brand-hot), #e65c00); color: #fff; border: none; border-radius: var(--fw-radius-button); font-family: var(--fw-font-body); font-size: var(--fw-fs-btn); font-weight: 600; cursor: pointer; transition: opacity 0.15s; margin-bottom: var(--fw-space-sm); }
.fw-rental-listing .rl-cta-btn:hover { opacity: 0.9; }
.fw-rental-listing .rl-cta-note { text-align: center; font-size: var(--fw-fs-caption); color: var(--fw-text-light); margin-bottom: var(--fw-space-md); }

/* Price breakdown */
.fw-rental-listing .rl-breakdown { border-top: 1px solid var(--fw-border-subtle); padding-top: var(--fw-space-md); display: flex; flex-direction: column; gap: var(--fw-space-sm); }
.fw-rental-listing .rl-breakdown-line { display: flex; justify-content: space-between; font-size: var(--fw-fs-caption); color: var(--fw-text-mid); }
.fw-rental-listing .rl-breakdown-line.total { border-top: 1px solid var(--fw-border-subtle); padding-top: var(--fw-space-sm); margin-top: var(--fw-space-xs); font-weight: 700; color: var(--fw-text); font-size: var(--fw-fs-body-sm); }

/* ─── Responsive ─── */
@media (max-width: 768px) {
  .fw-rental-listing .rl-body { grid-template-columns: 1fr; gap: var(--fw-grid-gap); }
  .fw-rental-listing .rl-sidebar { position: static; }
  .fw-rental-listing .rl-gallery { grid-template-rows: 240px 118px; }
  .fw-rental-listing .rl-lease-grid { grid-template-columns: repeat(3, 1fr); }
  .fw-rental-listing .rl-scores { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 480px) {
  .fw-rental-listing .rl-gallery { grid-template-columns: 1fr; grid-template-rows: 220px 100px 100px; }
  .fw-rental-listing .rl-gallery-main { grid-row: auto; }
  .fw-rental-listing .rl-title { font-size: 1.3rem; }
  .fw-rental-listing .rl-amenities-grid { grid-template-columns: 1fr; }
  .fw-rental-listing .rl-lease-grid { grid-template-columns: 1fr; }
  .fw-rental-listing .rl-scores { grid-template-columns: 1fr; }
  .fw-rental-listing .rl-date-row { grid-template-columns: 1fr; }
  .fw-rental-listing .rl-date-field + .rl-date-field { border-left: none; border-top: 1px solid var(--fw-border-subtle); }
}


/* ─── listings-browse-all ─── */
/* ── Listings — Browse / Filter All ── */
.fw-listings-browse { background: var(--fw-bg); width: 100%; }
.fw-listings-browse__container { max-width: var(--fw-container); margin: 0 auto; width: 100%; }

/* ── Header ── */
.fw-listings-browse__header { padding: var(--fw-section-py-sm) var(--fw-container-px) 0; }
.fw-listings-browse__eyebrow { font-family: var(--fw-font-mono); font-size: var(--fw-fs-eyebrow); font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-wide); color: var(--fw-brand); margin-bottom: var(--fw-space-sm); }
.fw-listings-browse__heading { font-family: var(--fw-font-display); font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 600; letter-spacing: var(--fw-tracking-tight); color: var(--fw-text); margin-bottom: var(--fw-space-xs); }
.fw-listings-browse__subtitle { font-family: var(--fw-font-body); font-size: var(--fw-fs-body-lg); font-weight: 300; color: var(--fw-text-mid); line-height: var(--fw-leading-normal); max-width: 620px; margin: 0; }

/* ── Browse by Type tiles ── */
.fw-listings-browse__types { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--fw-grid-gap-sm); padding: var(--fw-space-lg) var(--fw-container-px); }
.fw-listings-browse__type-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--fw-space-sm); text-align: center; padding: 18px 10px; background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); cursor: pointer; text-decoration: none; transition: all 0.18s ease; }
.fw-listings-browse__type-tile:hover { border-color: var(--fw-brand); transform: translateY(-2px); box-shadow: var(--fw-shadow); }
.fw-listings-browse__type-tile--active { border-color: var(--fw-brand); background: var(--fw-brand-light); }
.fw-listings-browse__type-icon { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; color: var(--fw-brand); }
.fw-listings-browse__type-icon svg { width: 24px; height: 24px; }
.fw-listings-browse__type-name { font-family: var(--fw-font-accent); font-size: var(--fw-fs-body-sm); font-weight: 600; color: var(--fw-text); line-height: var(--fw-leading-tight); }
.fw-listings-browse__type-count { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); color: var(--fw-text-light); }

/* ── Toolbar ── */
.fw-listings-browse__toolbar { display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding: var(--fw-space-md) var(--fw-container-px); gap: var(--fw-grid-gap-sm); border-top: 1px solid var(--fw-border-subtle); border-bottom: 1px solid var(--fw-border-subtle); flex-wrap: wrap; width: 100%; }
.fw-listings-browse__toolbar-left { display: flex; flex-direction: row; align-items: center; gap: var(--fw-space-sm); flex-wrap: wrap; flex: 1; min-width: 0; }
.fw-listings-browse__toolbar-right { display: flex; flex-direction: row; align-items: center; gap: var(--fw-space-md); flex-shrink: 0; }
.fw-listings-browse__search { display: flex; flex-direction: row; align-items: center; gap: var(--fw-space-sm); background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-input); padding: 6px 14px; min-width: 180px; }
.fw-listings-browse__search-input { border: none; background: transparent; font-family: var(--fw-font-body); font-size: var(--fw-fs-body); color: var(--fw-text); outline: none; width: 100%; line-height: var(--fw-leading-normal); }

/* Transaction pills */
.fw-listings-browse__pills { display: flex; flex-direction: row; gap: 6px; flex-wrap: wrap; }
.fw-listings-browse__pill { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-wide); padding: 6px 14px; border-radius: var(--fw-radius-tag); border: 1px solid var(--fw-border); background: transparent; color: var(--fw-text-mid); cursor: pointer; transition: all 0.2s ease; }
.fw-listings-browse__pill:hover { border-color: var(--fw-text-light); color: var(--fw-text); }
.fw-listings-browse__pill--active { background: var(--fw-brand); color: #fff; border-color: var(--fw-brand); }

.fw-listings-browse__sort { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-wide); padding: 6px 28px 6px 12px; border-radius: var(--fw-radius-input); border: 1px solid var(--fw-border); background: var(--fw-bg-card); color: var(--fw-text-mid); cursor: pointer; }
.fw-listings-browse__view-toggle { display: flex; flex-direction: row; border: 1px solid var(--fw-border); border-radius: var(--fw-radius-input); overflow: hidden; }
.fw-listings-browse__view-btn { padding: 7px 11px; border: none; background: transparent; color: var(--fw-text-light); cursor: pointer; }
.fw-listings-browse__view-btn--active { background: var(--fw-brand-light); color: var(--fw-brand); }

/* Active filters + results */
.fw-listings-browse__active-filters { display: flex; flex-direction: row; align-items: center; gap: var(--fw-space-sm); padding: var(--fw-space-md) var(--fw-container-px) 0; flex-wrap: wrap; }
.fw-listings-browse__active-chip { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight: 500; text-transform: uppercase; padding: 4px 12px; border-radius: var(--fw-radius-tag); background: var(--fw-brand-light); color: var(--fw-brand); display: inline-flex; align-items: center; gap: 6px; }
.fw-listings-browse__chip-remove { background: none; border: none; color: inherit; opacity: 0.6; cursor: pointer; }
.fw-listings-browse__clear-all { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); color: var(--fw-text-light); text-decoration: underline; background: none; border: none; cursor: pointer; }
.fw-listings-browse__results-count { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); color: var(--fw-text-light); padding: var(--fw-space-sm) var(--fw-container-px) 0; }

/* ── Layout: facets + grid ── */
.fw-listings-browse__layout { display: grid; grid-template-columns: 240px 1fr; gap: var(--fw-grid-gap-lg); padding: var(--fw-space-lg) var(--fw-container-px) var(--fw-section-py); width: 100%; }
.fw-listings-browse__layout--no-sidebar { grid-template-columns: 1fr; }

/* Facets */
.fw-listings-browse__facets { display: flex; flex-direction: column; gap: var(--fw-space-lg); align-items: stretch; }
.fw-listings-browse__facet-group { border-bottom: 1px solid var(--fw-border-subtle); padding-bottom: var(--fw-space-md); }
.fw-listings-browse__facet-title { font-family: var(--fw-font-accent); font-size: var(--fw-fs-btn); font-weight: 600; color: var(--fw-text); margin-bottom: 10px; }
.fw-listings-browse__facet-option { display: flex; flex-direction: row; align-items: center; gap: var(--fw-space-sm); padding: 3px 0; cursor: pointer; font-family: var(--fw-font-body); font-size: var(--fw-fs-body); color: var(--fw-text-mid); }
.fw-listings-browse__facet-count { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); color: var(--fw-text-light); margin-left: auto; }

/* Price range */
.fw-listings-browse__price-inputs { display: flex; flex-direction: row; align-items: center; gap: var(--fw-space-sm); }
.fw-listings-browse__price-field { flex: 1; display: flex; flex-direction: row; align-items: center; gap: 4px; background: var(--fw-bg-card); border: 1px solid var(--fw-border); border-radius: var(--fw-radius-input); padding: 6px 10px; }
.fw-listings-browse__price-field span { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); color: var(--fw-text-light); }
.fw-listings-browse__price-field input { border: none; background: transparent; font-family: var(--fw-font-body); font-size: var(--fw-fs-body); color: var(--fw-text); outline: none; width: 100%; }
.fw-listings-browse__price-dash { color: var(--fw-text-light); }

/* Conditional (type-specific) facet panel */
.fw-listings-browse__facet-conditional { background: var(--fw-brand-light); border: 1px dashed var(--fw-brand); border-radius: var(--fw-radius-sm); padding: 14px; }
.fw-listings-browse__facet-conditional .fw-listings-browse__facet-group:last-child { border-bottom: none; padding-bottom: 0; }
.fw-listings-browse__conditional-note { display: flex; flex-direction: row; align-items: center; gap: 6px; font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-wide); color: var(--fw-brand); margin-bottom: 12px; }
.fw-listings-browse__conditional-note svg { width: 14px; height: 14px; }
/* Conditional facet sets: hidden until a matching listing type is active (toggled via data-active-type + JS/query filter) */
.fw-listings-browse__type-facets { display: none; }
.fw-listings-browse__type-facets--visible { display: block; }
.fw-listings-browse__facet-select { width: 100%; font-family: var(--fw-font-body); font-size: var(--fw-fs-body); padding: 7px 26px 7px 10px; border-radius: var(--fw-radius-input); border: 1px solid var(--fw-border); background: var(--fw-bg-card); color: var(--fw-text-mid); }

/* Grid + cards */
.fw-listings-browse__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--fw-grid-gap); align-content: start; width: 100%; transition: grid-template-columns 0.3s ease; }
.fw-listings-browse__card { display: flex; flex-direction: column; background: var(--fw-bg-card); border: 1px solid var(--fw-border-subtle); border-radius: var(--fw-radius-sm); overflow: hidden; text-decoration: none; transition: transform 0.18s ease, box-shadow 0.18s ease; }
.fw-listings-browse__card:hover { transform: translateY(-3px); box-shadow: var(--fw-shadow); }
.fw-listings-browse__card-img { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.fw-listings-browse__card-img img { width: 100%; height: 100%; object-fit: cover; }
.fw-listings-browse__card-txn { position: absolute; top: 10px; left: 10px; font-family: var(--fw-font-mono); font-size: var(--fw-fs-2xs); font-weight: 600; text-transform: uppercase; letter-spacing: var(--fw-tracking-wide); color: #fff; background: rgba(23, 21, 40, 0.82); padding: 3px 10px; border-radius: var(--fw-radius-tag); }
.fw-listings-browse__card-body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 18px; flex: 1; }
.fw-listings-browse__card-type { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); font-weight: 500; text-transform: uppercase; letter-spacing: var(--fw-tracking-wide); color: var(--fw-brand); }
.fw-listings-browse__card-title { font-family: var(--fw-font-accent); font-size: var(--fw-fs-subhead); font-weight: 600; color: var(--fw-text); line-height: var(--fw-leading-snug); margin: 0; }
.fw-listings-browse__card-price { font-family: var(--fw-font-display); font-size: var(--fw-fs-body-lg); font-weight: 700; color: var(--fw-text); }
.fw-listings-browse__card-meta { display: flex; flex-direction: row; flex-wrap: wrap; gap: 4px 12px; margin-top: 2px; }
.fw-listings-browse__card-meta span { font-family: var(--fw-font-mono); font-size: var(--fw-fs-sm); color: var(--fw-text-light); }
.fw-listings-browse__card-cta { margin-top: auto; padding-top: 10px; font-family: var(--fw-font-body); font-size: var(--fw-fs-btn); font-weight: 600; color: var(--fw-brand); text-decoration: none; }

/* List view */
.fw-listings-browse__grid--list { grid-template-columns: 1fr; gap: 12px; }
.fw-listings-browse__grid--list .fw-listings-browse__card { flex-direction: row; align-items: stretch; padding: 8px; }
.fw-listings-browse__grid--list .fw-listings-browse__card-img { flex: 0 0 180px; aspect-ratio: 4/3; border-radius: calc(var(--fw-radius-sm) - 4px); }
.fw-listings-browse__grid--list .fw-listings-browse__card-body { padding: 12px 24px; justify-content: center; }

/* Pagination */
.fw-listings-browse__pagination { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 6px; padding: var(--fw-space-2xl) var(--fw-container-px) 0; }
.fw-listings-browse__page-btn { font-family: var(--fw-font-mono); font-size: var(--fw-fs-eyebrow); font-weight: 500; min-width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: var(--fw-radius-tag); border: 1px solid var(--fw-border); background: transparent; color: var(--fw-text-mid); text-decoration: none; cursor: pointer; transition: all 0.15s ease; }
.fw-listings-browse__page-btn:hover { border-color: var(--fw-text-light); color: var(--fw-text); }
.fw-listings-browse__page-btn--active { background: var(--fw-brand); color: #fff; border-color: var(--fw-brand); }
.fw-listings-browse__page-btn--disabled { opacity: 0.3; pointer-events: none; }
.fw-listings-browse__page-ellipsis { font-family: var(--fw-font-mono); font-size: var(--fw-fs-eyebrow); color: var(--fw-text-light); }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .fw-listings-browse__types { grid-template-columns: repeat(3, 1fr); }
  .fw-listings-browse__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .fw-listings-browse__layout { grid-template-columns: 1fr; }
  .fw-listings-browse__facets { display: none; }
  .fw-listings-browse__types { grid-template-columns: repeat(2, 1fr); }
  .fw-listings-browse__grid { grid-template-columns: 1fr; }
  .fw-listings-browse__toolbar { flex-direction: column; align-items: stretch; }
}
