/* ==========================================================================
   Del Caos al Arte — Bloom Riot brand skin
   ========================================================================== */

:root{
  --dc-bg:#0B0B0D;
  --dc-surface:#18151B;
  --dc-surface-2:#211D26;
  --dc-ink:#F7F3EC;
  --dc-ink-dim:rgba(247,243,236,.68);
  --dc-ink-faint:rgba(247,243,236,.28);
  --dc-accent:#FF2E63;
  --dc-accent-ink:#FFFFFF;
  --dc-marigold:#FFB627;
  --dc-turquoise:#2FC9C0;
  --dc-violet:#9B5DE5;
  --dc-radius-sm:8px;
  --dc-radius-md:18px;
  --dc-radius-pill:999px;
  --dc-shadow:0 18px 40px -18px rgba(0,0,0,.55);
  --dc-heading:'Poppins','Segoe UI',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --dc-body:'Inter','Segoe UI',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --dc-maxw:1280px;
}

/* ---------- base ---------- */
body{
  background:var(--dc-bg) !important;
  color:var(--dc-ink) !important;
  font-family:var(--dc-body) !important;
  font-size:16px;
  line-height:1.6;
}
#wrap, #content, .content-area, #main-content, .site-content, #main, body.woocommerce-page #content{
  background:var(--dc-bg) !important;
}
a{ color:var(--dc-accent); text-decoration:none; }
h1,h2,h3,h4,h5,h6,
.entry-title, .page-title, .woocommerce-loop-product__title, .product_title{
  font-family:var(--dc-heading) !important;
  font-weight:800 !important;
  letter-spacing:-0.01em;
  line-height:1.08;
  color:var(--dc-ink) !important;
}
p{ color:var(--dc-ink-dim); }
::selection{ background:var(--dc-accent); color:#fff; }

.dc-container{ max-width:var(--dc-maxw); margin:0 auto; padding:0 24px; }

/* ---------- announcement bar ---------- */
.dc-announce{
  background:var(--dc-accent);
  color:#fff;
  text-align:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:9px 12px;
  position:relative;
  z-index:9999;
}

/* ---------- kill OceanWP's default light top bar strip ---------- */
#top-bar-wrap, #top-bar{ display:none !important; height:0 !important; }

/* ---------- kill the OceanWP default page-header title on the homepage ---------- */
body.home .page-header{ display:none !important; }

/* ---------- kill the default "Shop"/category title + description block entirely ---------- */
body.woocommerce-shop .page-header,
body.tax-product_cat .page-header,
body.post-type-archive-product .page-header,
body.woocommerce-shop .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header{
  display:none !important;
}
body.woocommerce-shop #content-wrap,
body.tax-product_cat #content-wrap,
body.post-type-archive-product #content-wrap{
  padding-top:40px !important;
}

/* ---------- kill the shop/category/single-product sidebar entirely ---------- */
body.woocommerce-shop #right-sidebar,
body.woocommerce-shop #left-sidebar,
body.tax-product_cat #right-sidebar,
body.tax-product_cat #left-sidebar,
body.single-product #right-sidebar,
body.single-product #left-sidebar,
body.post-type-archive-product .sidebar-container{
  display:none !important;
}
body.woocommerce-shop #content-wrap,
body.tax-product_cat #content-wrap,
body.single-product #content-wrap,
body.post-type-archive-product #content-wrap{
  display:block !important;
}
body.woocommerce-shop #primary,
body.tax-product_cat #primary,
body.single-product #primary,
body.post-type-archive-product #primary,
body.woocommerce-shop .content-area,
body.tax-product_cat .content-area,
body.single-product .content-area,
body.post-type-archive-product .content-area{
  width:100% !important;
  float:none !important;
  margin:0 !important;
}

/* ---------- description gallery images (restored product photos) ---------- */
.dc-desc-gallery{ margin-top:28px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.dc-desc-gallery img{ width:100%; height:auto; border-radius:14px; display:block; }
@media (max-width:700px){ .dc-desc-gallery{ grid-template-columns:repeat(2,1fr); } }

/* ---------- Modern Cart drawer: force item thumbnails to always show ---------- */
.moderncart-cart-item-image{
  display:flex !important;
  width:75px !important;
  min-width:75px !important;
  flex:0 0 75px !important;
  visibility:visible !important;
  opacity:1 !important;
}
.moderncart-cart-item-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* ---------- checkout: order summary moved to top on mobile (see brand.js) ---------- */
@media (max-width:900px){
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{
    order:-1;
  }
  body.woocommerce-checkout form.woocommerce-checkout{
    display:flex;
    flex-direction:column;
  }
}

/* ---------- header ---------- */
#header, .site-header, header#header, #masthead{
  background:var(--dc-bg) !important;
  border-bottom:1px solid rgba(247,243,236,.08) !important;
  box-shadow:none !important;
}
#site-header-inner{ padding-top:16px !important; padding-bottom:0 !important; height:auto !important; }
#site-logo{ margin-bottom:0 !important; padding-bottom:0 !important; height:auto !important; }
#site-logo-inner{ height:auto !important; padding:0 !important; }
#site-navigation-wrap{ margin-top:0 !important; padding-top:8px !important; padding-bottom:10px !important; }
#site-logo, .site-logo{ display:flex; align-items:center; }
#site-logo a, .site-title.site-logo-text, .site-title a{
  font-family:var(--dc-heading) !important;
  font-weight:800 !important;
  font-size:24px !important;
  letter-spacing:-0.02em;
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:linear-gradient(90deg,var(--dc-accent),var(--dc-marigold) 45%,var(--dc-turquoise) 72%,var(--dc-violet));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}
#site-logo a:before{
  content:'';
  display:inline-block;
  width:30px; height:30px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='%23FF2E63' stroke-width='7' stroke-linecap='round' stroke-dasharray='60 30'/%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='%23FFB627' stroke-width='7' stroke-linecap='round' stroke-dasharray='40 210' stroke-dashoffset='-95'/%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='%232FC9C0' stroke-width='7' stroke-linecap='round' stroke-dasharray='35 210' stroke-dashoffset='-150'/%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='%239B5DE5' stroke-width='7' stroke-linecap='round' stroke-dasharray='30 210' stroke-dashoffset='-200'/%3E%3C/svg%3E");
  background-size:contain;
  background-repeat:no-repeat;
  flex:none;
}

#site-navigation-wrap, .main-nav, #site-header{ background:transparent; }
.main-menu.dropdown-menu > li > a,
.main-menu.dropdown-menu > li > a .text-wrap,
#site-navigation ul li a{
  color:var(--dc-ink) !important;
  font-family:var(--dc-body) !important;
  font-weight:600 !important;
  font-size:14px !important;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.main-menu.dropdown-menu > li > a:hover,
.main-menu.dropdown-menu > li > a:hover .text-wrap,
.main-menu.dropdown-menu > li.current-menu-item > a .text-wrap{ color:var(--dc-accent) !important; }
.main-menu .sub-menu, .dropdown-menu .sub-menu{
  background:var(--dc-surface) !important;
  border:1px solid rgba(247,243,236,.08) !important;
  box-shadow:var(--dc-shadow) !important;
}
.main-menu .sub-menu a{ color:var(--dc-ink) !important; }

#header .cart-icon a, .header-cart a, .header-icons a, .header-search-icon a, .header-account a{
  color:var(--dc-ink) !important;
}
.cart-icon .cart-total-price, .cart-icon-count{
  background:var(--dc-accent) !important;
  color:#fff !important;
}

/* ---------- buttons ---------- */
.dc-btn, a.dc-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.added_to_cart, .single_add_to_cart_button, .checkout-button, #place_order,
.woocommerce-form-login button, .woocommerce-form-register button, .woocommerce-form-coupon button{
  background:var(--dc-accent) !important;
  color:#fff !important;
  border:none !important;
  border-radius:var(--dc-radius-pill) !important;
  font-family:var(--dc-body) !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:13px !important;
  padding:14px 30px !important;
  box-shadow:none !important;
  transition:transform .18s ease, filter .18s ease;
}
.dc-btn:hover, a.dc-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.single_add_to_cart_button:hover, #place_order:hover{
  filter:brightness(1.08);
  transform:translateY(-1px) scale(1.02);
  color:#fff !important;
}
.dc-btn-outline{
  background:transparent !important;
  border:1.5px solid rgba(247,243,236,.35) !important;
  color:var(--dc-ink) !important;
}
.dc-btn-outline:hover{ border-color:var(--dc-accent) !important; color:var(--dc-accent) !important; }

/* ---------- hero ---------- */
.dc-hero{
  position:relative;
  overflow:hidden;
  padding:76px 0 96px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,46,99,.18), transparent 46%),
    radial-gradient(circle at 10% 85%, rgba(155,93,229,.16), transparent 42%),
    var(--dc-bg);
}
.dc-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:center;
}
.dc-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--dc-marigold);
  margin-bottom:18px;
}
.dc-hero h1{
  font-size:clamp(38px,5.2vw,64px);
  max-width:14ch;
  margin:0 0 20px;
}
.dc-hero h1 .dc-accent-word{ color:var(--dc-accent); }
.dc-hero p.dc-lede{
  font-size:18px;
  color:var(--dc-ink-dim);
  max-width:46ch;
  margin:0 0 32px;
}
.dc-hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.dc-hero-visual{
  position:relative;
  aspect-ratio:4/5;
  border-radius:32px;
  overflow:hidden;
  transform:rotate(2deg);
  box-shadow:var(--dc-shadow);
}
.dc-hero-visual img{ width:100%; height:100%; object-fit:cover; object-position:center 15%; }
.dc-hero-badge{
  position:absolute;
  bottom:-18px;
  left:-18px;
  background:var(--dc-surface);
  border:1px solid rgba(247,243,236,.1);
  border-radius:var(--dc-radius-md);
  padding:14px 18px;
  box-shadow:var(--dc-shadow);
  font-family:var(--dc-heading);
  font-weight:800;
  transform:rotate(-4deg);
}
.dc-hero-badge small{ display:block; font-family:var(--dc-body); font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--dc-ink-dim); }

@media (max-width:900px){
  .dc-hero-grid{ grid-template-columns:1fr; }
  .dc-hero-visual{ order:-1; transform:none; aspect-ratio:4/5; }
  .dc-hero-visual img{ object-position:center 8%; }
}

/* ---------- section shells ---------- */
.dc-section{ padding:72px 0; }
.dc-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; flex-wrap:wrap; }
.dc-section-head h2{ font-size:clamp(26px,3vw,38px); margin:0; }
.dc-section-head p{ margin:8px 0 0; color:var(--dc-ink-dim); max-width:52ch; }
.dc-divider{ height:1px; background:rgba(247,243,236,.08); border:none; margin:0; }

/* ---------- category tiles ---------- */
.dc-cat-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}
.dc-cat-tile{
  position:relative;
  display:block;
  border-radius:var(--dc-radius-md);
  overflow:hidden;
  aspect-ratio:3/4;
  background:var(--dc-surface);
  box-shadow:var(--dc-shadow);
  transition:transform .25s ease;
}
.dc-cat-tile:nth-child(2n){ transform:translateY(18px); }
.dc-cat-tile:hover{ transform:translateY(-4px); }
.dc-cat-tile:nth-child(2n):hover{ transform:translateY(14px); }
.dc-cat-tile img{ width:100%; height:100%; object-fit:cover; }
.dc-cat-tile .dc-cat-tint{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,11,13,0) 30%, rgba(11,11,13,.92) 100%);
}
.dc-cat-tile .dc-cat-label{
  position:absolute; left:16px; right:16px; bottom:16px;
  color:#fff; font-family:var(--dc-heading); font-weight:800; font-size:17px;
}
.dc-cat-tile .dc-cat-label small{ display:block; font-family:var(--dc-body); font-weight:600; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.7); margin-top:2px; }
@media (max-width:1000px){ .dc-cat-grid{ grid-template-columns:repeat(3,1fr); } .dc-cat-tile:nth-child(2n){ transform:none; } }
@media (max-width:600px){ .dc-cat-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---------- product grid (shop + loops) ---------- */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:26px !important; margin:0 !important; }
.woocommerce ul.products li.product{
  width:100% !important; margin:0 !important; float:none !important;
  background:var(--dc-surface);
  border-radius:var(--dc-radius-md);
  overflow:hidden;
  box-shadow:var(--dc-shadow);
  transition:transform .2s ease;
  padding-bottom:18px;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-4px); }
.woocommerce ul.products li.product a img{
  border-radius:0 !important; aspect-ratio:4/5; object-fit:cover; width:100%;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:16px 16px 4px; font-size:15px !important; font-weight:700 !important;
}
.woocommerce ul.products li.product .price{
  padding:0 16px; color:var(--dc-accent) !important; font-weight:800; font-size:15px;
}
.woocommerce ul.products li.product .price del{ color:var(--dc-ink-faint); }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{
  margin:14px 16px 0 !important; width:calc(100% - 32px); text-align:center; display:block;
}
.woocommerce ul.products li.product .star-rating{ margin:6px 16px 0; }
.woocommerce span.onsale{
  background:var(--dc-accent) !important; border-radius:var(--dc-radius-pill) !important;
  font-family:var(--dc-body) !important; font-weight:700 !important; font-size:11px !important;
  text-transform:uppercase; letter-spacing:.04em;
  top:12px !important; left:12px !important; right:auto !important;
  min-height:auto !important; min-width:auto !important; line-height:normal !important; padding:6px 12px !important;
}
@media (max-width:1000px){ .woocommerce ul.products{ grid-template-columns:repeat(3,1fr) !important; } }
@media (max-width:700px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:14px !important; } }

.woocommerce-ordering select, .woocommerce-result-count{ color:var(--dc-ink-dim) !important; }
.woocommerce-ordering select{
  background:var(--dc-surface) !important; color:var(--dc-ink) !important; border:1px solid rgba(247,243,236,.14) !important; border-radius:var(--dc-radius-sm) !important;
}

/* archive header */
.woocommerce-products-header, .page-header{
  background:transparent !important; border:none !important; padding:56px 0 32px !important;
}
.woocommerce-products-header__title, .page-title{ font-size:clamp(30px,4vw,46px) !important; }
.term-description{ color:var(--dc-ink-dim) !important; max-width:60ch; }

/* sidebar / widgets on shop */
.widget{ background:var(--dc-surface); border-radius:var(--dc-radius-md); padding:20px; margin-bottom:20px; }
.widget-title{ color:var(--dc-ink) !important; font-family:var(--dc-heading) !important; }

/* ---------- single product ---------- */
.single-product div.product{ background:transparent; }
.single-product .woocommerce-product-gallery{ border-radius:var(--dc-radius-md); overflow:hidden; }
.single-product .product_title{ font-size:clamp(28px,3.6vw,42px) !important; margin-bottom:10px !important; }
.single-product p.price, .single-product .woocommerce-Price-amount{
  color:var(--dc-accent) !important; font-size:26px !important; font-weight:800 !important;
}
.single-product .woocommerce-product-details__short-description{ color:var(--dc-ink-dim); margin:18px 0; }
.single-product .quantity input.qty{
  background:var(--dc-surface) !important; color:var(--dc-ink) !important;
  border:1px solid rgba(247,243,236,.16) !important; border-radius:var(--dc-radius-sm) !important;
  height:50px !important;
}
.single-product form.cart{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:22px !important; }
.woocommerce-product-rating{ margin-bottom:14px; }
.dc-trust-row{ display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:24px; padding-top:20px; border-top:1px solid rgba(247,243,236,.08); }
.dc-trust-item{ font-size:13px; color:var(--dc-ink-dim); font-weight:600; }
.woocommerce-tabs{ margin-top:56px; }
.woocommerce-tabs ul.tabs{ border-bottom:1px solid rgba(247,243,236,.1) !important; }
.woocommerce-tabs ul.tabs li a{ color:var(--dc-ink-dim) !important; font-weight:700 !important; }
.woocommerce-tabs ul.tabs li.active a{ color:var(--dc-accent) !important; }
.woocommerce-tabs .panel{ color:var(--dc-ink-dim); }

/* related / upsells */
.related.products h2, .upsells h2{ font-size:26px !important; }

/* ---------- cart & checkout ---------- */
.woocommerce-cart table.cart, .woocommerce-checkout table.shop_table, table.shop_table{
  background:var(--dc-surface) !important; border-radius:var(--dc-radius-md) !important; overflow:hidden;
  border:1px solid rgba(247,243,236,.06) !important;
}
table.shop_table th{ color:var(--dc-ink) !important; border-bottom:1px solid rgba(247,243,236,.1) !important; }
table.shop_table td{ border-top:1px solid rgba(247,243,236,.06) !important; color:var(--dc-ink-dim) !important; }
.woocommerce-cart-form .product-name a{ color:var(--dc-ink) !important; font-weight:600; }
.cart_totals, .cart-collaterals .cart_totals{ background:var(--dc-surface) !important; border-radius:var(--dc-radius-md) !important; padding:24px !important; }
.cart_totals h2{ font-size:20px !important; }
#coupon_code{
  background:var(--dc-bg) !important; color:var(--dc-ink) !important; border:1px solid rgba(247,243,236,.16) !important; border-radius:var(--dc-radius-sm) !important;
}

.woocommerce-checkout #customer_details, .woocommerce-checkout .col-1, .woocommerce-checkout .col-2{ background:transparent; }
.woocommerce-checkout input[type=text], .woocommerce-checkout input[type=email], .woocommerce-checkout input[type=tel],
.woocommerce-checkout textarea, .woocommerce-checkout select,
.woocommerce-form-row input, .select2-container .select2-selection--single{
  background:var(--dc-surface) !important; color:var(--dc-ink) !important;
  border:1px solid rgba(247,243,236,.16) !important; border-radius:var(--dc-radius-sm) !important;
  height:auto !important; padding:12px 14px !important;
}
.woocommerce-checkout label{ color:var(--dc-ink-dim) !important; }
#order_review, .woocommerce-checkout-review-order{ background:var(--dc-surface) !important; border-radius:var(--dc-radius-md) !important; padding:24px !important; }
#order_review table.shop_table{ background:transparent !important; border:none !important; }
.dc-checkout-note{ font-size:12px; color:var(--dc-ink-faint); margin-top:14px; text-align:center; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews{
  background:var(--dc-surface) !important; color:var(--dc-ink) !important; border-top-color:var(--dc-accent) !important;
}

/* ---------- trust strip ---------- */
.dc-trust-strip{ background:var(--dc-surface); border-top:1px solid rgba(247,243,236,.06); border-bottom:1px solid rgba(247,243,236,.06); }
.dc-trust-strip-inner{
  max-width:var(--dc-maxw); margin:0 auto; padding:22px 24px;
  display:flex; flex-wrap:wrap; gap:16px 32px; justify-content:space-between;
}
.dc-trust-strip-item{ font-size:13px; font-weight:700; color:var(--dc-ink-dim); text-transform:uppercase; letter-spacing:.04em; }

/* ---------- footer ---------- */
#footer, .site-footer, footer#colophon, .footer-widgets{
  background:var(--dc-bg) !important; border-top:1px solid rgba(247,243,236,.06) !important; color:var(--dc-ink-dim) !important;
}
#footer .widget-title, .footer-widgets .widget-title{ color:var(--dc-ink) !important; font-family:var(--dc-heading) !important; }
#footer a, .footer-widgets a, .footer-bottom a{ color:var(--dc-ink-dim) !important; }
#footer a:hover, .footer-widgets a:hover{ color:var(--dc-accent) !important; }
.footer-bottom, #footer-bottom{ background:var(--dc-bg) !important; border-top:1px solid rgba(247,243,236,.06) !important; }

/* ---------- newsletter block ---------- */
.dc-newsletter{
  background:var(--dc-surface); border-radius:32px; padding:56px; text-align:center;
  position:relative; overflow:hidden;
}
.dc-newsletter h2{ font-size:clamp(26px,3vw,36px); margin:0 0 10px; }
.dc-newsletter p{ color:var(--dc-ink-dim); margin:0 0 26px; }
.dc-newsletter-form{ display:flex; gap:10px; max-width:440px; margin:0 auto; }
.dc-newsletter-form input[type=email]{
  flex:1; background:var(--dc-bg); border:1px solid rgba(247,243,236,.16); border-radius:var(--dc-radius-pill);
  color:var(--dc-ink); padding:14px 20px; font-family:var(--dc-body);
}
@media (max-width:600px){ .dc-newsletter{ padding:36px 22px; } .dc-newsletter-form{ flex-direction:column; } }

/* ---------- testimonials ---------- */
.dc-testimonials{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.dc-testimonial{ background:var(--dc-surface); border-radius:var(--dc-radius-md); padding:26px; }
.dc-testimonial .dc-stars{ color:var(--dc-marigold); letter-spacing:2px; margin-bottom:12px; }
.dc-testimonial p{ color:var(--dc-ink-dim); font-size:15px; }
.dc-testimonial .dc-testimonial-name{ margin-top:16px; font-weight:700; color:var(--dc-ink); font-size:13px; }
@media (max-width:800px){ .dc-testimonials{ grid-template-columns:1fr; } }

/* ---------- featured banner (pet crowns) ---------- */
.dc-banner{
  position:relative; border-radius:32px; overflow:hidden; padding:64px 48px;
  background:
    radial-gradient(circle at 85% 20%,rgba(47,201,192,.22),transparent 45%),
    radial-gradient(circle at 10% 80%,rgba(255,182,39,.16),transparent 45%),
    var(--dc-surface);
  display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;
}
.dc-banner h2{ font-size:clamp(28px,3.4vw,42px); margin:0 0 14px; }
.dc-banner p{ color:var(--dc-ink-dim); max-width:44ch; margin:0 0 26px; }
.dc-banner-art{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; }
@media (max-width:900px){ .dc-banner{ grid-template-columns:1fr; padding:40px 26px; } .dc-banner-art{ order:-1; max-width:220px; margin:0 auto; } }

/* ---------- paint ring motif ---------- */
.dc-ring-badge{ display:inline-flex; }

/* reveal-on-scroll (degrades to visible without JS) */
.dc-reveal{ opacity:1; transform:none; }
.dc-js .dc-reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
.dc-js .dc-reveal.dc-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .dc-js .dc-reveal{ opacity:1 !important; transform:none !important; } }

/* utility */
.dc-mt-0{ margin-top:0 !important; }
