/* Abode & Bloom homepage styles — approved design, scoped under .ab-home. */
.ab-home{
  --ink:#1B2A21;
  --moss:#34553F;
  --fern:#5B7F5C;
  --sage:#9CB18C;
  --sage-soft:#E7EDE0;
  --canvas:#F4F6F1;
  --cream:#FBFAF6;
  --marigold:#E2A23B;
  --marigold-deep:#C9871F;
  --muted:#6B7166;
  --line:#E2E6DC;
  --line-strong:#D2D8C8;

  --shadow-sm:0 1px 2px rgba(27,42,33,.05), 0 2px 8px rgba(27,42,33,.05);
  --shadow-md:0 6px 24px rgba(27,42,33,.10);
  --radius:18px;
  --radius-sm:12px;
  --radius-pill:999px;

  --maxw:1200px;
  --gut:20px;

  --f-display:"Fraunces", Georgia, "Times New Roman", serif;
  --f-body:"DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}.ab-home *, .ab-home *::before, .ab-home *::after{box-sizing:border-box}.ab-home{-webkit-text-size-adjust:100%}.ab-home{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}.ab-home img{max-width:100%;display:block}.ab-home a{color:inherit;text-decoration:none}.ab-home button{font-family:inherit;cursor:pointer}.ab-home h1, .ab-home h2, .ab-home h3, .ab-home h4{margin:0;font-family:var(--f-display);font-weight:600;line-height:1.12;color:var(--ink)}.ab-home h1{letter-spacing:-.01em}.ab-home p{margin:0}.ab-home ul{margin:0;padding:0;list-style:none}.ab-home :focus-visible{outline:3px solid var(--marigold);outline-offset:2px;border-radius:6px}.ab-home .wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.ab-home .section{padding-block:48px}.ab-home .section + .section{padding-top:0}.ab-home .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.ab-home .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-body);font-weight:600;font-size:12.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fern);
  margin-bottom:10px;
}.ab-home .eyebrow svg{width:16px;height:16px;flex:none}.ab-home .section-title{font-size:clamp(26px,6vw,38px)}.ab-home .section-title em{font-style:italic;color:var(--moss)}.ab-home .see-all{
  font-weight:600;font-size:14px;color:var(--moss);white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;flex:none;
  border-bottom:1.5px solid transparent;transition:border-color .2s,gap .2s;
}.ab-home .see-all:hover{border-color:var(--moss);gap:9px}.ab-home .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:600;font-size:15px;line-height:1;
  padding:13px 20px;border-radius:var(--radius-pill);
  border:1.5px solid transparent;transition:transform .15s, background .2s, color .2s, box-shadow .2s;
  min-height:44px;
}.ab-home .btn--solid{background:var(--moss);color:#fff}.ab-home .btn--solid:hover{background:#2A4733;transform:translateY(-1px)}.ab-home .btn--accent{background:var(--marigold);color:#3a2a06}.ab-home .btn--accent:hover{background:var(--marigold-deep);color:#fff;transform:translateY(-1px)}.ab-home .btn--ghost{background:transparent;color:var(--moss);border-color:var(--line-strong)}.ab-home .btn--ghost:hover{border-color:var(--moss);background:#fff}.ab-home .tag{
  display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;color:var(--moss);background:var(--sage-soft);
  padding:5px 11px;border-radius:var(--radius-pill);
}.ab-home .meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.ab-home .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--sage)}.ab-home .ph{
  position:relative;aspect-ratio:1/1;border-radius:var(--radius-sm);overflow:hidden;
  background:linear-gradient(135deg,#dfe7d6,#c9d6bd);
  display:grid;place-items:center;
}.ab-home .ph--decor{background:linear-gradient(135deg,#e9ddcb,#d9c3a3)}.ab-home .ph--garden{background:linear-gradient(135deg,#d4e2c4,#9fbe8c)}.ab-home .ph--outdoor{background:linear-gradient(135deg,#cfe0db,#a7c6bb)}.ab-home .ph--diy{background:linear-gradient(135deg,#ece1d4,#caa98a)}.ab-home .ph--interior{background:linear-gradient(135deg,#e3e2dc,#bfc2b3)}.ab-home .ph--lifestyle{background:linear-gradient(140deg,#efe2cf,#e2c79c)}.ab-home .ph::after{
  content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='none' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M50 78 C50 58 50 44 50 30'/><path d='M50 52 C40 50 30 44 27 33 C40 34 49 40 50 52Z'/><path d='M50 44 C60 42 71 37 74 26 C61 27 51 33 50 44Z'/><path d='M50 64 C42 63 33 59 30 50 C41 51 49 55 50 64Z'/></g></svg>") center/46% no-repeat;
  opacity:.85;
}.ab-home .topbar{background:var(--moss);color:#dfeada;font-size:12.5px;letter-spacing:.04em}.ab-home .topbar .wrap{display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;text-align:center}.ab-home .topbar a{color:#fff;text-decoration:underline;text-underline-offset:2px}.ab-home .header{position:sticky;top:0;z-index:60;background:rgba(251,250,246,.92);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}.ab-home .header .wrap{display:flex;align-items:center;gap:14px;min-height:64px}.ab-home .brand{display:inline-flex;align-items:center;gap:10px;margin-right:auto}.ab-home .brand-mark{width:34px;height:34px;flex:none}.ab-home .brand-name{font-family:var(--f-display);font-weight:600;font-size:20px;letter-spacing:-.01em;line-height:1}.ab-home .brand-name .amp{color:var(--fern);font-style:italic}.ab-home .brand-sub{display:block;font-family:var(--f-body);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:3px}.ab-home .nav{display:none}.ab-home .nav-list{display:flex;align-items:center;gap:4px}.ab-home .nav-item{position:relative}.ab-home .nav-link{
  display:inline-flex;align-items:center;gap:5px;
  padding:10px 12px;border-radius:10px;font-weight:600;font-size:15px;color:var(--ink);
  transition:background .15s,color .15s;white-space:nowrap;
}.ab-home .nav-link:hover{background:var(--sage-soft);color:var(--moss)}.ab-home .nav-link .chev{width:14px;height:14px;transition:transform .2s}.ab-home .nav-item:hover .nav-link .chev, .ab-home .nav-item:focus-within .nav-link .chev{transform:rotate(180deg)}.ab-home .dropdown{
  position:absolute;top:calc(100% + 10px);left:0;min-width:230px;
  background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);
  padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .18s, transform .18s, visibility .18s;z-index:5;
}.ab-home .nav-item:hover .dropdown, .ab-home .nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0)}.ab-home .dropdown::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.ab-home .dropdown-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fern);padding:6px 12px 8px}.ab-home .dropdown a{
  display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:9px;
  font-weight:500;font-size:14.5px;color:var(--ink);transition:background .15s,color .15s;
}.ab-home .dropdown a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--sage);flex:none;transition:background .15s}.ab-home .dropdown a:hover{background:var(--sage-soft);color:var(--moss)}.ab-home .dropdown a:hover::before{background:var(--marigold)}.ab-home .dropdown--wide{min-width:430px}.ab-home .dropdown--wide .dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.ab-home .header-cta{margin-left:8px;display:none}.ab-home .header-cta .btn{padding:11px 18px;font-size:14px}.ab-home .burger{
  margin-left:auto;display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;
}.ab-home .burger span{display:block;height:2px;width:20px;margin-inline:auto;background:var(--ink);border-radius:2px;transition:.25s}.ab-home .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.ab-home .burger[aria-expanded="true"] span:nth-child(2){opacity:0}.ab-home .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.ab-home .cta-compact{display:inline-flex}.ab-home .cta-compact .btn{padding:10px 14px;font-size:13px}.ab-home .scrim{position:fixed;inset:0;background:rgba(27,42,33,.45);opacity:0;visibility:hidden;transition:.25s;z-index:70}.ab-home .scrim.open{opacity:1;visibility:visible}.ab-home .panel{
  position:fixed;top:0;right:0;height:100dvh;width:min(86vw,360px);background:var(--cream);
  z-index:80;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(27,42,33,.2);
}.ab-home .panel.open{transform:translateX(0)}.ab-home .panel-top{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.ab-home .panel-close{width:42px;height:42px;border:1px solid var(--line-strong);border-radius:11px;background:#fff;font-size:20px;line-height:1;color:var(--ink)}.ab-home .panel-body{overflow-y:auto;padding:10px 12px 24px;flex:1}.ab-home .acc{border-bottom:1px solid var(--line)}.ab-home .acc-head{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:none;border:0;padding:15px 8px;font-weight:600;font-size:16px;color:var(--ink);text-align:left;
}.ab-home .acc-head .chev{width:18px;height:18px;color:var(--fern);transition:transform .2s}.ab-home .acc-head[aria-expanded="true"] .chev{transform:rotate(180deg)}.ab-home .acc-panel{display:none;padding:0 8px 12px}.ab-home .acc-panel.open{display:block}.ab-home .acc-panel a{display:block;padding:9px 12px;border-radius:8px;color:var(--muted);font-weight:500;font-size:15px}.ab-home .acc-panel a:hover{background:var(--sage-soft);color:var(--moss)}.ab-home .acc-solo{display:block;padding:15px 8px;font-weight:600;font-size:16px;color:var(--ink);border-bottom:1px solid var(--line)}.ab-home .panel-foot{padding:16px}.ab-home .panel-foot .btn{width:100%}.ab-home .hero{padding-top:30px}.ab-home .hero-grid{display:grid;gap:14px}.ab-home .story{position:relative;display:block;border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}.ab-home .story .ph{border-radius:0}.ab-home .story-lead .ph{aspect-ratio:4/3}.ab-home .story-body{padding:18px}.ab-home .story-lead .story-body{padding:22px}.ab-home .story h2{font-size:clamp(22px,5.4vw,30px);margin:12px 0 8px}.ab-home .story-lead h2{font-size:clamp(26px,7vw,40px)}.ab-home .story p.dek{color:var(--muted);font-size:15px;margin-top:4px}.ab-home .story .badge{
  position:absolute;top:14px;left:14px;z-index:2;
  background:var(--marigold);color:#3a2a06;font-weight:700;font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;padding:6px 12px;border-radius:var(--radius-pill);
}.ab-home .story-sec{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;padding:12px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}.ab-home .story-sec .ph{border-radius:10px}.ab-home .story-sec h3{font-size:17px;margin-top:8px;line-height:1.2}.ab-home .chips{display:flex;gap:10px;overflow-x:auto;padding-block:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ab-home .chips::-webkit-scrollbar{display:none}.ab-home .chip{
  flex:none;display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-pill);padding:9px 15px;font-weight:600;font-size:13.5px;color:var(--ink);
  transition:border-color .2s,color .2s,background .2s;
}.ab-home .chip:hover{border-color:var(--sage);color:var(--moss);background:var(--sage-soft)}.ab-home .chip .hash{color:var(--marigold-deep)}.ab-home .card{display:block;background:transparent}.ab-home .card .ph{margin-bottom:12px;box-shadow:var(--shadow-sm)}.ab-home .card .card-tags{display:flex;align-items:center;gap:10px;margin-bottom:9px}.ab-home .card h3{font-size:18px;line-height:1.22;transition:color .2s}.ab-home .card:hover h3{color:var(--moss)}.ab-home .card .meta{margin-top:9px}.ab-home .grid{display:grid;gap:24px 18px;grid-template-columns:1fr 1fr}.ab-home .showcase{background:var(--cream);border:1px solid var(--line);border-radius:24px;padding:26px 18px}.ab-home .showcase + .showcase{margin-top:22px}.ab-home .showcase .intro{color:var(--muted);font-size:15px;max-width:60ch;margin:2px 0 22px}.ab-home .showcase .grid{gap:22px 16px}.ab-home .trend-band{background:var(--moss);color:#eef3ea;border-radius:24px;padding:30px 0 34px;overflow:hidden}.ab-home .trend-band .wrap{max-width:none;padding-inline:0}.ab-home .trend-band .inner{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.ab-home .trend-band .eyebrow{color:var(--sage)}.ab-home .trend-band .section-title{color:#fff}.ab-home .trend-band .section-title em{color:var(--marigold)}.ab-home .trend-scroll{display:flex;gap:16px;overflow-x:auto;padding:4px var(--gut) 6px;scroll-snap-type:x mandatory;scrollbar-width:none}.ab-home .trend-scroll::-webkit-scrollbar{display:none}.ab-home .trend-card{
  flex:0 0 230px;scroll-snap-align:start;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:12px;color:#fff;
  transition:background .2s,transform .15s;
}.ab-home .trend-card:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}.ab-home .trend-card .ph{margin-bottom:12px}.ab-home .trend-rank{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--marigold);margin-bottom:7px}.ab-home .trend-rank .flame{width:15px;height:15px}.ab-home .trend-card h3{color:#fff;font-size:16.5px;line-height:1.25}.ab-home .trend-card .meta{color:#bcccb6;margin-top:9px}.ab-home .mostread-list{display:grid;gap:6px}.ab-home .mr-item{
  position:relative;display:grid;grid-template-columns:auto 76px 1fr;align-items:center;gap:14px;
  padding:16px 8px;border-top:1px solid var(--line);
}.ab-home .mr-item:last-child{border-bottom:1px solid var(--line)}.ab-home .mr-num{
  font-family:var(--f-display);font-weight:600;font-size:46px;line-height:1;
  color:transparent;-webkit-text-stroke:1.4px var(--sage);letter-spacing:-.03em;width:54px;
  transition:-webkit-text-stroke-color .2s,color .2s;
}.ab-home .mr-item:hover .mr-num{-webkit-text-stroke-color:var(--marigold);color:rgba(226,162,59,.12)}.ab-home .mr-item .ph{border-radius:10px}.ab-home .mr-body h3{font-size:16px;line-height:1.25}.ab-home .mr-body .card-tags{margin-bottom:6px}.ab-home .mr-body .meta{margin-top:6px}.ab-home .news{background:var(--sage-soft);border-radius:24px;padding:34px 20px;text-align:center}.ab-home .news .eyebrow{justify-content:center}.ab-home .news h2{font-size:clamp(24px,6vw,34px);margin-bottom:8px}.ab-home .news p{color:var(--muted);max-width:48ch;margin:0 auto 20px}.ab-home .news-form{display:flex;flex-direction:column;gap:10px;max-width:440px;margin-inline:auto}.ab-home .news-form input{
  width:100%;padding:14px 16px;border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);
  background:#fff;font-family:inherit;font-size:15px;color:var(--ink);min-height:48px;
}.ab-home .news-form input:focus{outline:none;border-color:var(--fern)}.ab-home .news-form .btn{width:100%}.ab-home .news small{display:block;margin-top:12px;color:var(--muted);font-size:12.5px}.ab-home .about{display:grid;gap:22px;align-items:center}.ab-home .about .ph{aspect-ratio:4/3;border-radius:var(--radius)}.ab-home .about h2{font-size:clamp(26px,6.4vw,40px);margin:10px 0 12px}.ab-home .about h2 em{font-style:italic;color:var(--moss)}.ab-home .about p{color:var(--muted);font-size:15.5px;margin-bottom:14px}.ab-home .about .pillars{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 22px}.ab-home .about .pillars .tag{background:#fff;border:1px solid var(--line)}.ab-home .about-cta{display:flex;flex-wrap:wrap;gap:12px}.ab-home .footer{background:var(--ink);color:#cdd6cb;margin-top:56px}.ab-home .footer a{color:#cdd6cb;transition:color .15s}.ab-home .footer a:hover{color:#fff}.ab-home .footer-top{display:grid;gap:30px;padding-block:46px}.ab-home .f-brand .brand-name{color:#fff}.ab-home .f-brand .brand-name .amp{color:var(--sage)}.ab-home .f-brand p{color:#9fab9c;font-size:14px;margin:14px 0 18px;max-width:36ch}.ab-home .f-social{display:flex;gap:10px}.ab-home .f-social a{
  width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.16);
  display:grid;place-items:center;font-size:13px;font-weight:600;letter-spacing:.02em;
}.ab-home .f-social a:hover{background:rgba(255,255,255,.1);border-color:transparent}.ab-home .f-col h4{color:#fff;font-family:var(--f-body);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.ab-home .f-col li{margin-bottom:11px}.ab-home .f-col a{font-size:14.5px}.ab-home .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:20px;display:grid;gap:12px;text-align:center}.ab-home .footer-bottom .legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}.ab-home .footer-bottom .legal a{font-size:13px}.ab-home .footer-bottom .copy{font-size:13px;color:#8a958800}.ab-home .footer-bottom .copy{color:#8a9588}


@media (min-width:560px){.ab-home .grid{gap:28px 22px}.ab-home .news-form{flex-direction:row}.ab-home .news-form input{flex:1}.ab-home .news-form .btn{width:auto;flex:none}.ab-home .story-lead .ph{aspect-ratio:16/10}
}

@media (min-width:760px){.ab-home .section{padding-block:64px}.ab-home .hero-grid{grid-template-columns:1.55fr 1fr;grid-template-rows:auto auto}.ab-home .story-lead{grid-row:1 / span 2}.ab-home .grid--3{grid-template-columns:repeat(3,1fr)}.ab-home .grid--4{grid-template-columns:repeat(4,1fr)}.ab-home .showcase{padding:34px 30px}.ab-home .trend-band{padding:40px 0 46px}.ab-home .about{grid-template-columns:1fr 1fr;gap:40px}.ab-home .about--reverse .about-media{order:2}.ab-home .footer-top{grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-block:60px}.ab-home .footer-bottom{grid-template-columns:1fr auto;text-align:left}.ab-home .footer-bottom .legal{justify-content:flex-end}
}

@media (min-width:1024px){.ab-home{--gut:32px}.ab-home .nav{display:block}.ab-home .burger{display:none}.ab-home .cta-compact{display:none}.ab-home .header-cta{display:inline-flex}.ab-home .section-title{font-size:clamp(30px,3.4vw,40px)}.ab-home .grid--4{gap:30px 26px}.ab-home .mr-item{grid-template-columns:auto 92px 1fr;gap:18px;padding:20px 10px}.ab-home .mr-num{font-size:58px;width:64px}.ab-home .mostread-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:34px}.ab-home .mostread-grid .mr-item:nth-child(2){border-top:1px solid var(--line)}
}

@media (prefers-reduced-motion:reduce){.ab-home *{transition:none !important;animation:none !important;scroll-behavior:auto !important}
}

/* ==========================================================================
   WORDPRESS INTEGRATION LAYER
   Added by the child theme. Re-homes body-level styles onto the .ab-home
   wrapper and lets real WordPress featured images fill the 1:1 media boxes.
   Does NOT change the approved visual design.
   ========================================================================== */
.ab-home{background:var(--canvas);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ab-home .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.ab-home .ph.has-img::after{display:none}
.ab-home .ph a{display:block;position:absolute;inset:0}
/* Astra full-width front page: neutralise inherited container padding */
.ab-home{width:100%}

/* Trending slider: header actions + navigation arrows */
.ab-home .trend-head-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ab-home .trend-nav{display:flex;gap:8px}
.ab-home .trend-band.no-scroll .trend-nav{display:none}
.ab-home .trend-arrow{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,transform .18s ease,opacity .2s ease}
.ab-home .trend-arrow:hover:not(:disabled){background:rgba(255,255,255,.16);transform:translateY(-1px)}
.ab-home .trend-arrow:disabled{opacity:.32;cursor:default}
.ab-home .trend-arrow svg{width:18px;height:18px}
.ab-home .trend-scroll{scroll-padding-left:var(--gut)}
