/* ---------- 1. Design tokens ---------- */
.cw-home{
  --cw-cream:#FAF7F0;
  --cw-sage:#647A62;
  --cw-sage-deep:#4F634D;      /* sage for small text: passes WCAG AA on cream */
  --cw-brown:#3E342D;
  --cw-brown-soft:#6B5D52;
  --cw-clay:#C8795B;           /* terracotta: accents & decoration */
  --cw-clay-deep:#A65A3E;      /* terracotta for buttons/links: white text passes AA */
  --cw-clay-darker:#8C4A32;
  --cw-beige:#E9D5C8;
  --cw-white:#FFFFFF;
  --cw-line:rgba(62,52,45,.12);
  --cw-radius:18px;
  --cw-radius-lg:28px;
  --cw-shadow:0 1px 2px rgba(62,52,45,.06),0 10px 28px -14px rgba(62,52,45,.25);
  --cw-serif:"Fraunces","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --cw-sans:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --cw-wrap:1200px;
  --cw-gutter:clamp(16px,4vw,32px);
}
/* ---------- 2. Scoped reset (protects against Astra/WordPress styles) ---------- */
.entry-content[data-ast-blocks-layout] > .cw-home,
.entry-content > .cw-home,
.cw-home{max-width:none !important;width:100% !important;margin:0 !important;}
.cw-home{background:var(--cw-cream);color:var(--cw-brown);font-family:var(--cw-sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word;}
.cw-home *,.cw-home *::before,.cw-home *::after{box-sizing:border-box;}
.cw-home h1,.cw-home h2,.cw-home h3,.cw-home p,.cw-home ul,.cw-home ol,.cw-home li,.cw-home figure,.cw-home fieldset{margin:0;padding:0;border:0;}
.cw-home ul,.cw-home ol{list-style:none;}
.cw-home a{color:inherit;text-decoration:none;}
.cw-home img{display:block;max-width:100%;height:auto;}
.cw-home svg{display:block;}
.cw-home a:focus-visible,.cw-home button:focus-visible,.cw-home input:focus-visible{outline:3px solid var(--cw-clay-deep);outline-offset:3px;border-radius:8px;}
.cw-home .cw-sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.cw-home .cw-skip{position:absolute;left:16px;top:-100px;z-index:100;background:var(--cw-brown);color:var(--cw-cream) !important;padding:10px 16px;border-radius:999px;font-weight:700;}
.cw-home .cw-skip:focus{top:16px;}
/* ---------- 3. Layout helpers ---------- */
.cw-home .cw-wrap{max-width:var(--cw-wrap);margin-inline:auto;padding-inline:var(--cw-gutter);}
.cw-home .cw-section{padding-block:clamp(56px,8vw,104px);}
.cw-home .cw-section--beige{background:var(--cw-beige);}
.cw-home .cw-section--flush{padding-top:0;}
.cw-home .cw-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:clamp(28px,4vw,44px);}
.cw-home .cw-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cw-sage-deep);}
.cw-home .cw-eyebrow::before{content:"";width:30px;height:2px;background:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 10px);}
.cw-home .cw-h2{font-family:var(--cw-serif);font-weight:600;font-size:clamp(1.75rem,1.2rem + 2vw,2.5rem);line-height:1.15;letter-spacing:-.01em;color:var(--cw-brown);}
.cw-home .cw-lead{max-width:56ch;margin-top:12px;color:var(--cw-brown-soft);}
.cw-home .cw-textlink{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--cw-clay-deep);border-bottom:2px solid transparent;transition:border-color .2s ease,gap .2s ease;}
.cw-home .cw-textlink:hover{border-bottom-color:currentColor;gap:10px;}
/* ---------- 4. Buttons ---------- */
.cw-home .cw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border:2px solid transparent;border-radius:999px;font-family:var(--cw-sans);font-size:1rem;font-weight:700;line-height:1.2;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;}
.cw-home .cw-btn:hover{transform:translateY(-2px);}
.cw-home .cw-btn--primary{background:var(--cw-clay-deep);color:var(--cw-white) !important;}
.cw-home .cw-btn--primary:hover{background:var(--cw-clay-darker);}
.cw-home .cw-btn--secondary{background:transparent;color:var(--cw-brown) !important;border-color:var(--cw-brown);}
.cw-home .cw-btn--secondary:hover{background:var(--cw-brown);color:var(--cw-cream) !important;}
.cw-home .cw-btn--light{background:var(--cw-cream);color:var(--cw-brown) !important;}
.cw-home .cw-btn--light:hover{background:var(--cw-white);}
/* ---------- 5. Image areas & placeholders ---------- */
.cw-home .cw-media{position:relative;display:grid;place-items:center;overflow:hidden;color:var(--cw-clay);background-color:#F1E6DC;background-image:radial-gradient(rgba(62,52,45,.08) 1px,transparent 1.6px),linear-gradient(135deg,#F5EBE2,#E9D5C8);background-size:14px 14px,100% 100%;}
.cw-home .cw-media--sage{color:var(--cw-sage-deep);background-image:radial-gradient(rgba(62,52,45,.08) 1px,transparent 1.6px),linear-gradient(135deg,#E6EBE2,#C9D3C4);}
.cw-home .cw-media--clay{color:var(--cw-clay-deep);background-image:radial-gradient(rgba(62,52,45,.08) 1px,transparent 1.6px),linear-gradient(135deg,#F7E6DC,#E9C4B2);}
.cw-home .cw-media__icon{width:30%;max-width:120px;height:auto;opacity:.7;}
.cw-home .cw-media__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.cw-home .cw-ratio-4x5{aspect-ratio:4/5;}
.cw-home .cw-ratio-4x3{aspect-ratio:4/3;}
.cw-home .cw-ratio-3x2{aspect-ratio:3/2;}
/* ---------- 6. Header & navigation ---------- */
.cw-home .cw-header{background:var(--cw-cream);border-bottom:1px solid var(--cw-line);}
.cw-home .cw-header__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;}
.cw-home .cw-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--cw-serif);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;color:var(--cw-brown);}
.cw-home .cw-logo__mark{width:38px;height:38px;color:var(--cw-clay);flex-shrink:0;}
.cw-home .cw-logo__accent{color:var(--cw-sage-deep);}
.cw-home .cw-search{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 16px;background:var(--cw-white);border:1px solid var(--cw-line);border-radius:999px;}
.cw-home .cw-search:focus-within{outline:3px solid var(--cw-clay-deep);outline-offset:2px;}
.cw-home .cw-search__input{width:210px;min-width:0;padding:8px 4px;border:0;background:transparent;box-shadow:none;font-family:var(--cw-sans);font-size:.9375rem;color:var(--cw-brown);}
.cw-home .cw-search__input::placeholder{color:var(--cw-brown-soft);opacity:1;}
.cw-home .cw-search__input:focus-visible{outline:none;}
.cw-home .cw-search__btn{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;padding:0;border:0;border-radius:999px;background:var(--cw-sage-deep);color:var(--cw-white);cursor:pointer;transition:background-color .2s ease;}
.cw-home .cw-search__btn:hover{background:var(--cw-brown);}
.cw-home .cw-search__btn svg{width:18px;height:18px;}
.cw-home .cw-nav{border-top:1px solid var(--cw-line);}
.cw-home .cw-nav__list{display:flex;gap:4px;padding-block:10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.cw-home .cw-nav__list::-webkit-scrollbar{display:none;}
.cw-home .cw-nav__list > li:first-child{margin-left:auto;}
.cw-home .cw-nav__list > li:last-child{margin-right:auto;}
.cw-home .cw-nav__link{display:block;padding:8px 16px;border-radius:999px;font-size:.9375rem;font-weight:600;white-space:nowrap;color:var(--cw-brown);transition:background-color .2s ease,color .2s ease;}
.cw-home .cw-nav__link:hover{background:var(--cw-beige);}
.cw-home .cw-nav__link[aria-current="page"]{background:var(--cw-sage-deep);color:var(--cw-white);}
/* ---------- 7. Hero ---------- */
.cw-home .cw-hero{padding-block:clamp(40px,6vw,88px);overflow:hidden;}
.cw-home .cw-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(36px,5vw,72px);}
.cw-home .cw-hero__title{font-family:var(--cw-serif);font-weight:600;font-size:clamp(2.4rem,1.3rem + 4vw,4.1rem);line-height:1.05;letter-spacing:-.02em;color:var(--cw-brown);}
.cw-home .cw-hero__text{max-width:46ch;margin-top:22px;font-size:1.15rem;color:var(--cw-brown-soft);}
.cw-home .cw-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.cw-home .cw-hero__media{position:relative;justify-self:center;width:100%;max-width:500px;}
.cw-home .cw-hero__media::before{content:"";position:absolute;top:-28px;right:-28px;width:150px;height:150px;border-radius:50%;background:var(--cw-sage);opacity:.18;}
.cw-home .cw-hero__frame{position:relative;padding:14px;border-radius:var(--cw-radius-lg);background:var(--cw-beige);}
.cw-home .cw-hero__frame::after{content:"";position:absolute;inset:6px;border:2px dashed rgba(166,90,62,.45);border-radius:22px;pointer-events:none;}
.cw-home .cw-hero__frame .cw-media{border-radius:18px;}
.cw-home .cw-hero__tag{position:absolute;left:-18px;bottom:32px;display:flex;align-items:center;gap:10px;max-width:260px;padding:12px 16px;border-radius:14px;background:var(--cw-white);box-shadow:var(--cw-shadow);font-size:.9rem;font-weight:700;line-height:1.3;color:var(--cw-brown);}
.cw-home .cw-hero__tag svg{width:28px;height:28px;flex-shrink:0;color:var(--cw-clay);}
/* ---------- 8. Cards (shared) ---------- */
.cw-home .cw-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--cw-white);border:1px solid var(--cw-line);border-radius:var(--cw-radius);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.cw-home .cw-card:hover{transform:translateY(-4px);box-shadow:var(--cw-shadow);border-color:rgba(166,90,62,.35);}
.cw-home .cw-card:hover .cw-media__img{transform:scale(1.04);}
.cw-home .cw-card:focus-within{outline:3px solid var(--cw-clay-deep);outline-offset:3px;}
.cw-home .cw-card .cw-card__link:focus-visible{outline:none;}
.cw-home .cw-card__link::after{content:"";position:absolute;inset:0;z-index:1;}
.cw-home .cw-card__body{display:flex;flex-direction:column;flex:1;gap:8px;padding:20px 20px 22px;}
.cw-home .cw-card__title{font-family:var(--cw-serif);font-size:1.2rem;font-weight:600;line-height:1.25;color:var(--cw-brown);}
.cw-home .cw-card__text{font-size:.95rem;line-height:1.55;color:var(--cw-brown-soft);}
.cw-home .cw-card__cta{margin-top:auto;padding-top:8px;}
.cw-home .cw-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--cw-white);color:var(--cw-brown);}
.cw-home .cw-pill--sage{background:#E3E9E0;color:var(--cw-sage-deep);}
/* ---------- 9. Categories ---------- */
.cw-home .cw-cats{--cw-cols:4;--cw-gap:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--cw-gap);}
.cw-home .cw-cats > li{display:flex;flex:0 1 calc((100% - (var(--cw-cols) - 1) * var(--cw-gap)) / var(--cw-cols));}
.cw-home .cw-cats .cw-card{width:100%;}
/* ---------- 10. Featured projects ---------- */
.cw-home .cw-projects{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.cw-home .cw-project__tag{position:absolute;top:14px;left:14px;z-index:2;}
/* ---------- 11. Inspiration ---------- */
.cw-home .cw-inspo{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto;gap:24px;}
.cw-home .cw-inspo__feature{grid-row:span 2;}
.cw-home .cw-inspo__feature .cw-card__title{font-size:clamp(1.4rem,1.1rem + 1vw,1.75rem);}
.cw-home .cw-inspo__side{flex-direction:row;}
.cw-home .cw-inspo__side .cw-media{width:42%;flex-shrink:0;aspect-ratio:auto;min-height:100%;}
/* ---------- 12. Beginner section ---------- */
.cw-home .cw-start{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(32px,5vw,72px);}
.cw-home .cw-start__art{width:88px;height:88px;margin-top:28px;padding:18px;border-radius:50%;background:var(--cw-cream);color:var(--cw-clay-deep);}
.cw-home .cw-steps{display:grid;gap:16px;}
.cw-home .cw-step{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px 24px;background:var(--cw-white);border:1px solid var(--cw-line);border-radius:var(--cw-radius);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
.cw-home .cw-step:hover{transform:translateX(6px);border-color:var(--cw-clay);box-shadow:var(--cw-shadow);}
.cw-home .cw-step:focus-within{outline:3px solid var(--cw-clay-deep);outline-offset:3px;}
.cw-home .cw-step .cw-card__link:focus-visible{outline:none;}
.cw-home .cw-step__num{font-family:var(--cw-serif);font-size:1.75rem;font-weight:600;line-height:1;color:var(--cw-clay-deep);}
.cw-home .cw-step__arrow{font-size:1.4rem;color:var(--cw-clay-deep);transition:transform .2s ease;}
.cw-home .cw-step:hover .cw-step__arrow{transform:translateX(4px);}
/* ---------- 13. Handmade gifts ---------- */
.cw-home .cw-gifts{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:var(--cw-radius-lg);background:var(--cw-sage);color:var(--cw-white);}
.cw-home .cw-gifts .cw-media{height:100%;min-height:320px;aspect-ratio:auto;}
.cw-home .cw-gifts__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,64px);}
.cw-home .cw-gifts .cw-eyebrow{color:var(--cw-cream);}
.cw-home .cw-gifts .cw-h2{color:var(--cw-white);}
.cw-home .cw-gifts__text{max-width:48ch;margin-top:14px;color:var(--cw-white);}
.cw-home .cw-gifts__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.cw-home .cw-gifts__tag{display:inline-block;padding:6px 14px;border:1px solid rgba(250,247,240,.6);border-radius:999px;font-size:.875rem;font-weight:600;color:var(--cw-white);transition:background-color .2s ease,color .2s ease;}
.cw-home .cw-gifts__tag:hover{background:var(--cw-cream);color:var(--cw-brown);}
.cw-home .cw-gifts .cw-btn{align-self:flex-start;margin-top:30px;}
/* ---------- 14. Newsletter ---------- */
.cw-home .cw-news{max-width:780px;margin-inline:auto;padding:clamp(32px,5vw,56px);text-align:center;background:var(--cw-white);border:1px solid var(--cw-line);border-radius:var(--cw-radius-lg);box-shadow:var(--cw-shadow);}
.cw-home .cw-news__icon{width:64px;height:64px;margin:0 auto 18px;padding:14px;border-radius:50%;background:var(--cw-beige);color:var(--cw-clay-deep);}
.cw-home .cw-news .cw-lead{margin-inline:auto;}
.cw-home .cw-news__form{display:flex;gap:10px;max-width:520px;margin:28px auto 0;}
.cw-home .cw-news__input{flex:1;min-width:0;min-height:52px;padding:12px 20px;border:1px solid rgba(62,52,45,.25);border-radius:999px;background:var(--cw-cream);box-shadow:none;font-family:var(--cw-sans);font-size:1rem;color:var(--cw-brown);}
.cw-home .cw-news__input::placeholder{color:var(--cw-brown-soft);opacity:1;}
.cw-home .cw-news__form fieldset{display:contents;}
.cw-home .cw-news__form :disabled{cursor:not-allowed;}
.cw-home .cw-news__form .cw-btn:disabled{opacity:.75;transform:none;}
.cw-home .cw-news__note{margin-top:14px;font-size:.875rem;color:var(--cw-brown-soft);}
/* ---------- 15. Footer ---------- */
.cw-home .cw-footer{padding-block:clamp(48px,6vw,72px) 28px;background:var(--cw-brown);color:var(--cw-cream);}
.cw-home .cw-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
.cw-home .cw-footer .cw-logo{color:var(--cw-cream);}
.cw-home .cw-footer .cw-logo__accent{color:#C9D5C4;}
.cw-home .cw-footer__desc{max-width:38ch;margin-top:14px;font-size:.95rem;color:#E6DCD2;}
.cw-home .cw-footer__title{margin-bottom:14px;font-family:var(--cw-sans);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#C9D5C4;}
.cw-home .cw-footer__list{display:grid;gap:8px;}
.cw-home .cw-footer__list a{font-size:.95rem;color:#EFE6DD;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease;}
.cw-home .cw-footer__list a:hover{color:var(--cw-white);border-bottom-color:currentColor;}
.cw-home .cw-footer a:focus-visible{outline-color:var(--cw-clay);}
.cw-home .cw-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:48px;padding-top:24px;border-top:1px solid rgba(250,247,240,.18);font-size:.875rem;color:#D9CDC2;}
/* ---------- 16. Responsive ---------- */
@media (max-width:1024px){
  .cw-home .cw-cats{--cw-cols:3;}
  .cw-home .cw-projects{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  .cw-home .cw-hero__grid,.cw-home .cw-start,.cw-home .cw-gifts{grid-template-columns:1fr;}
  .cw-home .cw-hero__media{max-width:440px;}
  .cw-home .cw-hero__tag{left:12px;}
  .cw-home .cw-inspo{grid-template-columns:1fr;}
  .cw-home .cw-inspo__feature{grid-row:auto;}
  .cw-home .cw-gifts .cw-media{min-height:0;aspect-ratio:16/10;}
  .cw-home .cw-footer__grid{grid-template-columns:1fr 1fr;}
  .cw-home .cw-footer__brand{grid-column:1 / -1;}
}
@media (max-width:760px){
  .cw-home .cw-cats{--cw-cols:2;--cw-gap:16px;}
}
@media (max-width:640px){
  .cw-home .cw-header__top{flex-wrap:wrap;}
  .cw-home .cw-search{flex:1 1 100%;}
  .cw-home .cw-search__input{width:100%;}
  .cw-home .cw-nav__list{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);}
  .cw-home .cw-hero__media .cw-media{aspect-ratio:1/1;}
  .cw-home .cw-news__form{flex-direction:column;}
  .cw-home .cw-news__form .cw-btn{width:100%;}
  .cw-home .cw-step{grid-template-columns:auto 1fr;padding:18px;}
  .cw-home .cw-step__arrow{display:none;}
}
@media (max-width:520px){
  .cw-home .cw-cats{--cw-cols:1;}
  .cw-home .cw-cats .cw-card{flex-direction:row;}
  .cw-home .cw-cats .cw-media{width:38%;flex-shrink:0;aspect-ratio:auto;min-height:100%;}
  .cw-home .cw-cats .cw-card__body{padding:16px;}
  .cw-home .cw-projects{grid-template-columns:1fr;}
  .cw-home .cw-inspo__side{flex-direction:column;}
  .cw-home .cw-inspo__side .cw-media{width:100%;aspect-ratio:3/2;min-height:0;}
  .cw-home .cw-footer__grid{grid-template-columns:1fr;}
}
/* ---------- 17. Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  .cw-home *,.cw-home *::before,.cw-home *::after{transition:none !important;animation:none !important;}
  .cw-home .cw-card:hover,.cw-home .cw-step:hover,.cw-home .cw-btn:hover{transform:none;}
  .cw-home .cw-card:hover .cw-media__img{transform:none;}
}
\n/* Dynamic featured-post images */\n.cw-home .cw-home-project__img{display:block;width:100%;height:100%;object-fit:cover;}\n.cw-home .cw-card__title a{color:inherit;text-decoration:none;}\n.cw-home .cw-card__title a:hover{text-decoration:underline;text-decoration-color:var(--cw-clay);}\n