/* Approved homepage v2, 2026-09-05. Scoped separately from the catalog and account. */
.cw99-concept { --cw99-blue:#2457c6; --cw99-blue-hover:#1c47a6; --cw99-yellow:#ffc73b; --cw99-card:#fafafa; --cw99-line:#e9e9e9; --cw99-dark:#242424; --cw99-muted:#5b6472; --cw99-r:clamp(10px,1.05vw,16px); --cw99-r-lg:clamp(14px,1.5vw,20px); margin:0; background:#fff; color:#000; font:400 16px/1.4 futura-pt,sans-serif; }
.cw99-concept *, .cw99-concept *::before, .cw99-concept *::after { box-sizing:border-box; }
.cw99-concept a { color:inherit; text-decoration:none; }
.cw99-concept button, .cw99-concept input { font:inherit; }
.cw99-concept button { cursor:pointer; }
.cw99-concept svg { display:block; width:22px; height:22px; flex-shrink:0; }
.cw99-concept a:focus-visible, .cw99-concept button:focus-visible, .cw99-concept input:focus-visible { outline:3px solid var(--cw99-blue); outline-offset:4px; }
.cw99-concept .cw99-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.cw99-concept .cw99-skip { position:absolute; top:8px; left:4vw; padding:12px; background:#fff; transform:translateY(-180%); z-index:20; }
.cw99-concept .cw99-skip:focus { transform:none; }
.cw99-concept .cw99-header { display:flex; align-items:center; gap:32px; min-height:84px; padding:12px 4vw; border-bottom:1px solid var(--cw99-line); }
.cw99-concept .cw99-logo { display:flex; align-items:center; width:182px; min-height:44px; }
.cw99-concept .cw99-logo svg { width:100%; height:auto; }
.cw99-concept .cw99-nav { margin-left:auto; display:flex; gap:32px; align-items:center; font-size:15px; }
.cw99-concept .cw99-nav a { display:inline-flex; align-items:center; min-height:44px; }
.cw99-concept .cw99-nav a:hover { color:var(--cw99-blue); }
.cw99-concept .cw99-add { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 20px; border-radius:999px; color:#000; background:var(--cw99-yellow); font-weight:700; white-space:nowrap; }
.cw99-concept .cw99-add > span:first-child { font-size:24px; line-height:1; font-weight:400; }
.cw99-concept .cw99-add .cw99-sr { display:none; }
.cw99-concept .cw99-menu { display:none; }
.cw99-concept .cw99-main { padding:0 4vw; }
.cw99-concept .cw99-hero { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:8vw; padding:44px 0 40px; align-items:center; }
.cw99-concept .cw99-find h1 { font-size:clamp(30px,3.5vw,56px); line-height:1.04; font-weight:700; margin:0 0 16px; }
.cw99-concept .cw99-find h1 span { color:var(--cw99-blue); }
.cw99-concept .cw99-intro { margin:0 0 22px; color:#000; opacity:.6; font-size:18px; line-height:1.4; }
.cw99-concept .cw99-mobile-break { display:none; }
.cw99-concept .cw99-search { display:flex; align-items:center; gap:12px; padding:8px 8px 8px 18px; box-shadow:0 0 22px rgba(0,0,0,.08); border-radius:var(--cw99-r); }
.cw99-concept .cw99-search-icon { color:var(--cw99-blue); }
.cw99-concept .cw99-search input { min-width:0; flex:1; border:0; background:transparent; height:46px; padding:0; color:#000; font-size:18px; }
.cw99-concept .cw99-search input::placeholder { color:#000; opacity:.55; }
.cw99-concept .cw99-search button { display:flex; align-items:center; gap:12px; min-height:46px; border:0; border-radius:6px; padding:10px 18px; font-weight:700; color:#fff; background:var(--cw99-blue); background-image:none; }
.cw99-concept .cw99-search button:hover { background:var(--cw99-blue-hover); }
.cw99-concept .cw99-search button svg { width:18px; }
.cw99-concept .cw99-categories { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.cw99-concept .cw99-categories a { display:flex; align-items:center; min-height:44px; padding:8px 17px; background:var(--cw99-card); border-radius:999px; font-size:15px; font-weight:500; }
.cw99-concept .cw99-categories a:hover { background:#eef2fc; color:var(--cw99-blue); }
.cw99-concept .cw99-ai-options { padding:8px 0 0; }
.cw99-concept .cw99-ai-options h2 { margin:0 0 4px; font-weight:700; font-size:clamp(22px,1.95vw,36px); line-height:1.2; }
.cw99-concept .cw99-ai-intro { margin:0 0 18px; color:#000; opacity:.6; font-size:16px; }
.cw99-concept .cw99-providers { display:flex; flex-direction:column; gap:4px; }
.cw99-concept .cw99-providers > a { display:flex; gap:14px; align-items:center; min-height:48px; padding:8px 12px 8px 0; border-radius:6px; }
.cw99-concept .cw99-providers > a:hover { background:var(--cw99-card); }
.cw99-concept .cw99-provider-icon svg { width:26px; height:26px; }
.cw99-concept .cw99-provider-name { font-size:18px; font-weight:700; }
.cw99-concept .cw99-provider-cta { margin-left:auto; color:var(--cw99-blue); font-size:14px; }
.cw99-concept .cw99-providers > a > svg { width:18px; color:var(--cw99-blue); }
.cw99-concept .cw99-ai-help { display:inline-flex; gap:6px; align-items:center; min-height:44px; color:var(--cw99-blue); font-size:14px; margin-top:8px; }
.cw99-concept .cw99-ai-help svg { width:17px; }
.cw99-concept .cw99-listings { padding-top:16px; }
.cw99-concept .cw99-section-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:22px; }
.cw99-concept .cw99-section-heading h2 { font-size:clamp(22px,1.95vw,36px); line-height:1.2; margin:0 0 6px; font-weight:700; }
.cw99-concept .cw99-section-heading p { margin:0; opacity:.6; color:#000; font-size:16px; }
.cw99-concept .cw99-section-heading > a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--cw99-blue); font-weight:500; font-size:16px; white-space:nowrap; }
.cw99-concept .cw99-all-narrow { display:none; }
.cw99-concept .cw99-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 20px; }
.cw99-concept .cw99-card { position:relative; min-width:0; background:#fff; border-radius:var(--cw99-r); box-shadow:0 0 16px rgba(0,0,0,.07); }
.cw99-concept .cw99-card:hover { box-shadow:0 0 20px rgba(0,0,0,.12); }
.cw99-concept .cw99-card-link { display:block; border-radius:var(--cw99-r); overflow:hidden; }
.cw99-concept .cw99-card-media { position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--cw99-card); }
.cw99-concept .cw99-card-media img { display:block; width:100%; height:100%; object-fit:cover; }
.cw99-concept .cw99-card-category { position:absolute; left:12px; bottom:12px; background:#fff; color:#000; font-weight:500; padding:5px 12px; border-radius:999px; font-size:13px; }
.cw99-concept .cw99-card-details { padding:16px 18px 18px; }
.cw99-concept .cw99-card-demo { display:block; color:#000; opacity:.6; font-size:13px; margin-bottom:5px; }
.cw99-concept .cw99-card h3 { font-size:17px; line-height:1.25; font-weight:700; margin:0 0 8px; min-height:2.5em; }
.cw99-concept .cw99-card-price { font-size:19px; color:var(--cw99-blue); font-weight:700; margin:0 0 8px; }
.cw99-concept .cw99-card-city { margin:0; color:#000; opacity:.6; font-size:14px; }
.cw99-concept .cw99-favorite { position:absolute; top:10px; right:10px; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#fff; box-shadow:0 0 12px rgba(0,0,0,.05); }
.cw99-concept .cw99-favorite:hover { color:var(--cw99-blue); }
.cw99-concept .cw99-demo-note { margin:20px 0 0; font-size:14px; color:#000; opacity:.6; }
.cw99-concept .cw99-invite { padding:36px 0 38px; margin-top:30px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.cw99-concept .cw99-invite h2 { font-size:clamp(22px,1.95vw,36px); margin:0 0 5px; font-weight:700; }
.cw99-concept .cw99-invite p { margin:0; color:#000; opacity:.6; }
.cw99-concept .cw99-invite > a { display:flex; align-items:center; gap:10px; min-height:44px; color:var(--cw99-blue); font-size:18px; font-weight:700; }
.cw99-concept .cw99-footer { padding:28px 4vw; display:flex; justify-content:space-between; gap:24px; align-items:center; color:#fff; background:var(--cw99-dark); }
.cw99-concept .cw99-footer-name { font-weight:700; font-size:20px; display:flex; align-items:center; min-height:44px; }
.cw99-concept .cw99-footer nav { display:flex; gap:24px; }
.cw99-concept .cw99-footer nav a { min-height:44px; display:flex; align-items:center; color:#bdbdbd; }
@media (min-width:1026px) {
  .cw99-concept .cw99-hero { padding-top:32px; padding-bottom:28px; }
  .cw99-concept .cw99-listings { padding-top:8px; }
  .cw99-concept .cw99-section-heading { margin-bottom:18px; }
  .cw99-concept .cw99-cards { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 18px; }
  .cw99-concept .cw99-card-details { padding:14px 16px 16px; }
  .cw99-concept .cw99-card h3 { font-size:clamp(13px,.98vw,17px); line-height:1.3; min-height:2.6em; }
  .cw99-concept .cw99-card-price { font-size:17px; line-height:1.3; }
}
@media (min-width:761px) and (max-width:1025px) {
  .cw99-concept .cw99-header { gap:20px; }
  .cw99-concept .cw99-nav { gap:18px; }
  .cw99-concept .cw99-hero { gap:5vw; grid-template-columns:1.45fr 1fr; }
  .cw99-concept .cw99-provider-cta { display:none; }
  .cw99-concept .cw99-providers > a > svg { margin-left:auto; }
  .cw99-concept .cw99-categories { gap:6px; }
  .cw99-concept .cw99-categories a { padding:8px 12px; }
}
@media (max-width:760px) {
  .cw99-concept .cw99-header { min-height:68px; padding:10px 4vw; gap:12px; position:relative; }
  .cw99-concept .cw99-logo { width:158px; }
  .cw99-concept .cw99-nav { display:none; }
  .cw99-concept .cw99-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; position:absolute; z-index:10; top:100%; left:4vw; right:4vw; padding:10px 18px; background:#fff; border-radius:var(--cw99-r); box-shadow:0 0 20px rgba(0,0,0,.12); }
  .cw99-concept .cw99-add { margin-left:auto; width:44px; height:44px; padding:0; justify-content:center; }
  .cw99-concept .cw99-add > span:first-child { font-size:30px; }
  .cw99-concept .cw99-add-text { display:none; }
  .cw99-concept .cw99-add .cw99-sr { display:block; }
  .cw99-concept .cw99-menu { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; color:#000; background:transparent; }
  .cw99-concept .cw99-hero { display:block; padding:28px 0 26px; }
  .cw99-concept .cw99-find h1 { font-size:38px; margin-bottom:12px; }
  .cw99-concept .cw99-intro { font-size:16px; line-height:1.35; margin-bottom:18px; }
  .cw99-concept .cw99-mobile-break { display:block; }
  .cw99-concept .cw99-search { gap:8px; padding:7px 7px 7px 14px; }
  .cw99-concept .cw99-search-icon { display:none; }
  .cw99-concept .cw99-search input { font-size:16px; height:44px; }
  .cw99-concept .cw99-search button { min-height:44px; padding:9px 14px; }
  .cw99-concept .cw99-search button svg { display:none; }
  .cw99-concept .cw99-categories { gap:6px; margin-top:12px; }
  .cw99-concept .cw99-categories a { font-size:14px; padding:8px 12px; }
  .cw99-concept .cw99-ai-options { padding:0; margin-top:22px; }
  .cw99-concept .cw99-ai-options h2 { font-size:15px; font-weight:500; margin:0 0 5px; }
  .cw99-concept .cw99-ai-intro, .cw99-concept .cw99-ai-help { display:none; }
  .cw99-concept .cw99-providers { flex-direction:row; justify-content:space-between; gap:8px; }
  .cw99-concept .cw99-providers > a { min-height:44px; gap:8px; padding:6px 6px 6px 0; }
  .cw99-concept .cw99-provider-icon svg { width:21px; height:21px; }
  .cw99-concept .cw99-provider-name { font-size:16px; font-weight:500; }
  .cw99-concept .cw99-provider-cta, .cw99-concept .cw99-providers > a > svg { display:none; }
  .cw99-concept .cw99-listings { padding-top:0; }
  .cw99-concept .cw99-section-heading { align-items:flex-start; gap:8px; margin-bottom:16px; }
  .cw99-concept .cw99-section-heading h2 { font-size:24px; margin-bottom:5px; }
  .cw99-concept .cw99-section-heading p { font-size:14px; }
  .cw99-concept .cw99-section-heading > a { min-height:44px; font-size:14px; justify-content:center; gap:5px; }
  .cw99-concept .cw99-all-wide { display:none; }
  .cw99-concept .cw99-all-narrow { display:inline; }
  .cw99-concept .cw99-section-heading > a svg { width:22px; }
  .cw99-concept .cw99-cards { grid-template-columns:minmax(0,1fr); gap:16px; }
  .cw99-concept .cw99-card-link { display:grid; grid-template-columns:104px minmax(0,1fr); }
  .cw99-concept .cw99-card-media { height:100%; min-height:158px; aspect-ratio:auto; }
  .cw99-concept .cw99-card--sofa .cw99-card-media img { object-position:left center; }
  .cw99-concept .cw99-card-category { display:none; }
  .cw99-concept .cw99-card-details { padding:12px 12px 12px 14px; }
  .cw99-concept .cw99-card-demo { font-size:12px; margin-bottom:5px; }
  .cw99-concept .cw99-card h3 { font-size:16px; line-height:1.2; min-height:0; margin-bottom:7px; }
  .cw99-concept .cw99-card-price { font-size:17px; line-height:1.2; margin-bottom:5px; }
  .cw99-concept .cw99-card-city { font-size:13px; }
  .cw99-concept .cw99-favorite { width:44px; height:44px; top:auto; right:auto; left:6px; bottom:6px; }
  .cw99-concept .cw99-favorite svg { width:20px; height:20px; }
  .cw99-concept .cw99-demo-note { font-size:13px; margin-top:16px; }
  .cw99-concept .cw99-invite { display:block; padding:20px 0 30px; margin-top:18px; }
  .cw99-concept .cw99-invite h2 { font-size:24px; }
  .cw99-concept .cw99-invite p { font-size:15px; }
  .cw99-concept .cw99-invite > a { font-size:16px; margin-top:8px; }
  .cw99-concept .cw99-footer { display:block; padding:22px 4vw; }
  .cw99-concept .cw99-footer nav { flex-wrap:wrap; gap:0 18px; font-size:14px; }
}

/* WordPress/HivePress defaults must not alter the approved homepage shell. */
body.cw99-concept { padding:0; }
.cw99-concept .cw99-main, .cw99-concept .cw99-header, .cw99-concept .cw99-footer { font-family:futura-pt,sans-serif; }
.cw99-concept .cw99-main h1, .cw99-concept .cw99-main h2, .cw99-concept .cw99-main h3 { font-family:inherit; color:#000; }
.cw99-concept .cw99-search { margin:0; }
.cw99-concept .cw99-search input { width:0; box-shadow:none; border-radius:0; }
.cw99-concept .cw99-search button, .cw99-concept .cw99-menu { box-shadow:none; }
.cw99-concept .cw99-favorite i { display:none; }
.cw99-concept .cw99-favorite[data-state="active"] svg { fill:var(--cw99-blue); color:var(--cw99-blue); }
.cw99-concept .cw99-card-empty { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; height:100%; min-height:158px; background:var(--cw99-blue); color:#fff; }
.cw99-concept .cw99-footer__cookies { font:inherit; color:#bdbdbd; background:none; border:0; padding:0; min-height:44px; box-shadow:none; }

.cw99-concept .cw99-ai-intro, .cw99-concept .cw99-section-heading p, .cw99-concept .cw99-card-city, .cw99-concept .cw99-demo-note, .cw99-concept .cw99-invite p { line-height:1.4; }
.cw99-concept .cw99-cc__desc { opacity:1; color:var(--cw99-muted); }

/* Six service connections: direct install for Claude, setup for other clients. */
.cw99-concept .cw99-provider-icon > span { color:var(--cw99-blue); font-size:24px; font-weight:700; }
@media (max-width:760px) {
  .cw99-concept .cw99-providers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; }
  .cw99-concept .cw99-ai-options h2 { font-size:20px; font-weight:700; }
}

@media (max-width:760px) {
  .cw99-concept .cw99-providers > a { display:grid; grid-template-columns:24px minmax(0,1fr); column-gap:8px; row-gap:0; }
  .cw99-concept .cw99-provider-icon { grid-row:1 / 3; }
  .cw99-concept .cw99-provider-cta { display:block; grid-column:2; margin-left:0; font-size:13px; }
}

/* Campaign direction approved by owner: oversized type, photographic objects, blue 99. */
.cw99-concept .cw99-header { border-bottom:0; min-height:100px; }
.cw99-concept .cw99-logo { width:220px; }
.cw99-concept .cw99-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2vw; padding:42px 0 46px; }
.cw99-concept .cw99-find h1 { font-size:clamp(52px,6.3vw,108px); line-height:.98; margin-bottom:24px; }
.cw99-concept .cw99-find h1 span { display:block; }
.cw99-concept .cw99-intro { opacity:1; font-size:clamp(18px,1.6vw,26px); font-weight:500; }
.cw99-concept .cw99-campaign-art img { display:block; width:100%; height:auto; }
.cw99-concept .cw99-ai-band { padding:30px 0 38px; margin:0 0 30px; }
.cw99-concept .cw99-ai-band h2 { font-size:clamp(28px,3vw,48px); }
.cw99-concept .cw99-ai-band .cw99-ai-intro { display:block; font-size:20px; margin:8px 0 18px; }
.cw99-concept .cw99-ai-band .cw99-providers { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.cw99-concept .cw99-ai-band .cw99-providers > a { display:grid; grid-template-columns:28px minmax(0,1fr); gap:0 10px; padding:12px 4px; }
.cw99-concept .cw99-ai-band .cw99-provider-icon { grid-row:1 / 3; }
.cw99-concept .cw99-ai-band .cw99-provider-cta { grid-column:2; display:block; margin:0; }
.cw99-concept .cw99-ai-band .cw99-providers > a > svg { display:none; }
.cw99-concept .cw99-section-heading h2 { font-size:clamp(28px,3vw,46px); }
.cw99-concept .cw99-invite { padding:48px 0; }
.cw99-concept .cw99-invite h2 { font-size:clamp(28px,3vw,46px); }
@media(max-width:1025px) {
 .cw99-concept .cw99-ai-band .cw99-providers { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .cw99-concept .cw99-header { min-height:76px; }
 .cw99-concept .cw99-logo { width:166px; }
 .cw99-concept .cw99-hero { display:flex; flex-direction:column; gap:16px; padding:24px 0 16px; }
 .cw99-concept .cw99-find { width:100%; }
 .cw99-concept .cw99-find h1 { font-size:clamp(46px,12vw,76px); margin-bottom:18px; }
 .cw99-concept .cw99-find h1 span { display:block; }
 .cw99-concept .cw99-campaign-art { width:100%; }
 .cw99-concept .cw99-campaign-art img { max-height:260px; object-fit:contain; }
 .cw99-concept .cw99-ai-band { padding:20px 0; margin-bottom:20px; }
 .cw99-concept .cw99-ai-band .cw99-providers { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; }
 .cw99-concept .cw99-ai-band .cw99-ai-intro { font-size:17px; }
 .cw99-concept .cw99-invite { padding:30px 0; }
}
