/* ==========================================================================
   Divine Cuts — main stylesheet
   Palette is drawn from the materials of the trade: graphite tooling, chalk
   line white, cricket-ball cherry, cane/willow tan.
   ========================================================================== */

:root{
  --dc-ink:#14181c;
  --dc-ink-deep:#0f1317;
  --dc-ink-soft:#2c343b;
  --dc-mute:#697480;
  --dc-chalk:#f4f5f2;
  --dc-paper:#ffffff;
  --dc-line:#e1e2dc;
  --dc-line-dark:rgba(255,255,255,.14);
  --dc-cherry:#a61c23;
  --dc-cherry-deep:#84151b;
  --dc-willow:#c8a96e;

  --dc-display:"Saira Condensed","Arial Narrow",Arial,sans-serif;
  --dc-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --dc-wrap:1220px;
  --dc-gutter:clamp(18px,4.5vw,40px);
  --dc-block:clamp(56px,7vw,104px);
  --dc-radius:2px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}
body{
  margin:0;
  background:var(--dc-paper);
  color:var(--dc-ink);
  font-family:var(--dc-body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--dc-cherry);text-decoration:none;}
a:hover{text-decoration:underline;}
:focus-visible{outline:3px solid var(--dc-cherry);outline-offset:2px;}
figure{margin:0;}

h1,h2,h3,h4,.dc-display{
  font-family:var(--dc-display);
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1.02;
  margin:0 0 .5em;
  color:var(--dc-ink);
}
h1{font-size:clamp(2.5rem,5.6vw,4.3rem);}
h2{font-size:clamp(2rem,4vw,3.1rem);}
h3{font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.12;}
h4{font-size:1.15rem;line-height:1.25;}
p{margin:0 0 1.15em;}
ul,ol{margin:0 0 1.15em;padding-left:1.15em;}
li{margin-bottom:.35em;}
blockquote{margin:1.5em 0;padding-left:1.1em;border-left:3px solid var(--dc-cherry);color:var(--dc-ink-soft);}
hr{border:0;border-top:1px solid var(--dc-line);margin:2.5em 0;}
table{width:100%;border-collapse:collapse;}

.dc-wrap{width:100%;max-width:var(--dc-wrap);margin-inline:auto;padding-inline:var(--dc-gutter);}
.dc-narrow{max-width:760px;}
.dc-lede{font-size:clamp(1.05rem,1.6vw,1.24rem);line-height:1.6;color:var(--dc-ink-soft);}
.dc-section{padding-block:var(--dc-block);}
.dc-section--chalk{background:var(--dc-chalk);}
.dc-section--ink{background:var(--dc-ink-deep);color:#e8eaec;}
.dc-section--ink h2,.dc-section--ink h3{color:#fff;}
.dc-section--ink p{color:#c3c9ce;}
.dc-section--tight{padding-block:clamp(38px,5vw,64px);}
.dc-skip{position:absolute;left:-9999px;}
.dc-skip:focus{left:12px;top:12px;z-index:200;background:var(--dc-cherry);color:#fff;padding:12px 18px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* Section head: a hairline rule carrying the section's index label — the rule
   is the divider, so no separate eyebrow chrome is needed. */
.dc-head{margin-bottom:clamp(28px,3.5vw,48px);}
.dc-head__rule{display:flex;align-items:baseline;gap:14px;border-top:2px solid var(--dc-ink);padding-top:12px;margin-bottom:18px;}
.dc-section--ink .dc-head__rule{border-top-color:var(--dc-willow);}
.dc-head__tag{font-family:var(--dc-display);font-size:.98rem;font-weight:600;letter-spacing:.06em;color:var(--dc-cherry);}
.dc-section--ink .dc-head__tag{color:var(--dc-willow);}
.dc-head__meta{margin-left:auto;font-size:.85rem;color:var(--dc-mute);}
.dc-head p{max-width:64ch;}

/* ---------- Buttons ---------- */
.dc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--dc-display);font-size:1.02rem;font-weight:600;letter-spacing:.01em;
  padding:14px 26px;border:2px solid var(--dc-ink);border-radius:var(--dc-radius);
  background:var(--dc-ink);color:#fff;cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
  text-decoration:none;min-height:48px;
}
.dc-btn:hover{background:var(--dc-ink-soft);border-color:var(--dc-ink-soft);color:#fff;text-decoration:none;}
.dc-btn--cherry{background:var(--dc-cherry);border-color:var(--dc-cherry);}
.dc-btn--cherry:hover{background:var(--dc-cherry-deep);border-color:var(--dc-cherry-deep);}
.dc-btn--ghost{background:transparent;color:var(--dc-ink);}
.dc-btn--ghost:hover{background:var(--dc-ink);color:#fff;}
.dc-btn--light{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);}
.dc-btn--light:hover{background:#fff;color:var(--dc-ink);border-color:#fff;}
.dc-btn--sm{padding:9px 16px;font-size:.92rem;min-height:40px;}
.dc-btns{display:flex;flex-wrap:wrap;gap:12px;}

/* ---------- Top bar ---------- */
.dc-topbar{background:var(--dc-ink-deep);color:#b9c0c7;font-size:.86rem;}
.dc-topbar .dc-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;min-height:40px;}
.dc-topbar a{color:#dfe3e6;}
.dc-topbar a:hover{color:#fff;}
.dc-topbar__right{margin-left:auto;display:flex;gap:18px;}
@media (max-width:640px){.dc-topbar__right{display:none;}}

/* ---------- Header ---------- */
.dc-header{position:sticky;top:0;z-index:90;background:#fff;border-bottom:1px solid var(--dc-line);}
.dc-header .dc-wrap{display:flex;align-items:center;gap:20px;min-height:76px;}
.dc-brand{display:flex;align-items:center;gap:12px;color:var(--dc-ink);text-decoration:none;}
.dc-brand:hover{text-decoration:none;}
.dc-brand__mark{width:38px;height:38px;flex:none;background:var(--dc-cherry);color:#fff;display:grid;place-items:center;font-family:var(--dc-display);font-weight:700;font-size:1.15rem;letter-spacing:.02em;}
.dc-brand__name{font-family:var(--dc-display);font-size:1.5rem;font-weight:700;line-height:1;letter-spacing:.02em;text-transform:uppercase;}
.dc-brand__sub{display:block;font-family:var(--dc-body);font-size:.68rem;font-weight:500;letter-spacing:.07em;color:var(--dc-mute);text-transform:uppercase;margin-top:3px;}
.dc-brand img{max-height:52px;width:auto;}

.dc-nav{margin-left:auto;}
.dc-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px;}
.dc-nav li{margin:0;position:relative;}
.dc-nav a{
  display:block;padding:10px 12px;color:var(--dc-ink);font-size:.95rem;font-weight:500;
  border-bottom:2px solid transparent;
}
.dc-nav a:hover{color:var(--dc-cherry);text-decoration:none;}
.dc-nav .current-menu-item>a,.dc-nav .current_page_item>a,.dc-nav .current-menu-parent>a{border-bottom-color:var(--dc-cherry);}
.dc-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);}
.dc-nav ul ul{
  position:absolute;top:100%;left:0;min-width:262px;background:#fff;border:1px solid var(--dc-line);
  border-top:2px solid var(--dc-cherry);box-shadow:0 18px 38px rgba(20,24,28,.13);
  display:block;flex-direction:column;padding:6px 0;gap:0;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease;
}
.dc-nav li:hover>ul,.dc-nav li:focus-within>ul{opacity:1;visibility:visible;transform:none;}
.dc-nav ul ul a{padding:10px 18px;border-bottom:0;font-size:.93rem;}
.dc-nav ul ul a:hover{background:var(--dc-chalk);}
.dc-header__cta{display:none;}
@media (min-width:1080px){.dc-header__cta{display:inline-flex;margin-left:14px;}}

.dc-burger{margin-left:auto;display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0 10px;background:transparent;border:1px solid var(--dc-line);border-radius:var(--dc-radius);cursor:pointer;}
.dc-burger span{display:block;height:2px;background:var(--dc-ink);}
@media (min-width:1080px){.dc-burger{display:none;}}
@media (max-width:1079px){
  .dc-nav{
    position:fixed;inset:0 0 0 auto;width:min(380px,88vw);background:#fff;padding:88px 22px 40px;
    transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;z-index:95;
    border-left:1px solid var(--dc-line);
  }
  .dc-nav.is-open{transform:none;}
  .dc-nav ul{flex-direction:column;align-items:stretch;gap:0;}
  .dc-nav a{padding:13px 4px;border-bottom:1px solid var(--dc-line);}
  .dc-nav ul ul{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0 0 8px 14px;}
  .dc-nav ul ul a{border-bottom:0;padding:9px 4px;color:var(--dc-ink-soft);}
  .dc-nav__close{position:absolute;top:22px;right:22px;background:none;border:0;font-size:1.9rem;line-height:1;cursor:pointer;color:var(--dc-ink);}
  .dc-nav__cta{margin-top:20px;display:flex;flex-direction:column;gap:10px;}
  .dc-scrim{position:fixed;inset:0;background:rgba(15,19,23,.5);z-index:94;border:0;}
}
@media (min-width:1080px){.dc-nav__close,.dc-nav__cta{display:none;}}

/* ---------- Hero ---------- */
.dc-hero{background:var(--dc-ink-deep);color:#fff;position:relative;overflow:hidden;}
.dc-hero__grid{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch;}
@media (min-width:960px){.dc-hero__grid{grid-template-columns:minmax(0,46%) minmax(0,54%);}}
.dc-hero__copy{padding:clamp(40px,6vw,86px) var(--dc-gutter) clamp(36px,5vw,72px);max-width:calc(var(--dc-wrap)/2 + var(--dc-gutter));margin-left:auto;width:100%;}
@media (min-width:960px){.dc-hero__copy{padding-right:clamp(28px,3.5vw,56px);}}
.dc-hero h1{color:#fff;max-width:14ch;margin-bottom:.35em;}
.dc-hero p{color:#c5ccd2;font-size:clamp(1.02rem,1.5vw,1.18rem);max-width:48ch;}
.dc-hero__media{position:relative;min-height:clamp(280px,46vw,560px);background:var(--dc-ink-soft);}
.dc-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.dc-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,19,23,.75),rgba(15,19,23,0) 42%);}
@media (max-width:959px){.dc-hero__media::after{background:linear-gradient(180deg,rgba(15,19,23,.55),rgba(15,19,23,0) 50%);}}

/* Scoreboard strip: the eight ranges, always one tap from the fold. */
.dc-strip{background:var(--dc-ink);border-top:1px solid var(--dc-line-dark);}
.dc-strip__list{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0;}
@media (min-width:700px){.dc-strip__list{grid-template-columns:repeat(4,1fr);}}
@media (min-width:1080px){.dc-strip__list{grid-template-columns:repeat(8,1fr);}}
.dc-strip__list li{margin:0;border-right:1px solid var(--dc-line-dark);border-bottom:1px solid var(--dc-line-dark);}
.dc-strip a{display:block;padding:16px 14px;color:#d7dbdf;font-family:var(--dc-display);font-size:1rem;font-weight:600;line-height:1.15;}
.dc-strip a:hover{background:var(--dc-cherry);color:#fff;text-decoration:none;}

/* ---------- Capability band ---------- */
.dc-cap{display:grid;grid-template-columns:1fr;gap:0;border-top:2px solid var(--dc-ink);}
@media (min-width:640px){.dc-cap{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.dc-cap{grid-template-columns:repeat(4,1fr);}}
.dc-cap__item{padding:26px 24px 26px 0;border-bottom:1px solid var(--dc-line);}
@media (min-width:640px){.dc-cap__item{border-bottom:0;border-right:1px solid var(--dc-line);padding-left:24px;}
  .dc-cap__item:first-child{padding-left:0;}
  .dc-cap__item:last-child{border-right:0;}}
.dc-cap__item h3{font-size:1.18rem;margin-bottom:.4em;}
.dc-cap__item p{font-size:.96rem;color:var(--dc-ink-soft);margin:0;}

/* ---------- Range tiles ---------- */
.dc-range{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:clamp(14px,1.6vw,22px);}
.dc-tile{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--dc-line);}
.dc-tile__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--dc-chalk);}
.dc-tile__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.dc-tile:hover .dc-tile__media img{transform:scale(1.035);}
.dc-tile__body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1;}
.dc-tile__body h3{font-size:1.32rem;margin-bottom:.35em;}
.dc-tile__body h3 a{color:var(--dc-ink);}
.dc-tile__body h3 a:hover{color:var(--dc-cherry);text-decoration:none;}
.dc-tile__body p{font-size:.95rem;color:var(--dc-ink-soft);margin-bottom:1em;}
.dc-tile__foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.dc-tile__link{font-family:var(--dc-display);font-weight:600;font-size:1rem;color:var(--dc-ink);border-bottom:2px solid var(--dc-cherry);padding-bottom:2px;}
.dc-tile__link:hover{color:var(--dc-cherry);text-decoration:none;}
.dc-tile__quote{font-size:.9rem;color:var(--dc-mute);}
.dc-tile--feature{grid-column:span 1;}
@media (min-width:900px){
  .dc-tile--feature{grid-column:span 2;}
  .dc-tile--feature .dc-tile__media{aspect-ratio:16/9;}
  .dc-tile--feature .dc-tile__body h3{font-size:1.7rem;}
}

/* ---------- Process (a real sequence, so it is numbered) ---------- */
.dc-process{display:grid;grid-template-columns:1fr;gap:0;counter-reset:dcstep;}
@media (min-width:760px){.dc-process{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1080px){.dc-process{grid-template-columns:repeat(4,1fr);}}
.dc-step{padding:28px 22px 30px;border-top:1px solid var(--dc-line-dark);border-right:1px solid var(--dc-line-dark);}
@media (max-width:1079px){.dc-step{border-right:0;}}
.dc-step:last-child{border-right:0;}
.dc-step::before{
  counter-increment:dcstep;content:counter(dcstep,decimal-leading-zero);
  font-family:var(--dc-display);font-size:1.05rem;font-weight:700;color:var(--dc-willow);display:block;margin-bottom:12px;
}
.dc-step h3{font-size:1.2rem;color:#fff;margin-bottom:.4em;}
.dc-step p{font-size:.95rem;color:#b8bfc5;margin:0;}

/* ---------- Split panel ---------- */
.dc-split{display:grid;grid-template-columns:1fr;gap:clamp(26px,4vw,64px);align-items:center;}
@media (min-width:900px){.dc-split{grid-template-columns:1fr 1fr;}
  .dc-split--wide-left{grid-template-columns:1.15fr .85fr;}}
.dc-split__media img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.dc-checks{list-style:none;padding:0;margin:0 0 1.4em;column-gap:28px;}
@media (min-width:620px){.dc-checks{columns:2;}}
.dc-checks li{position:relative;padding-left:20px;margin-bottom:.5em;break-inside:avoid;font-size:.97rem;}
.dc-checks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--dc-cherry);}

/* ---------- Quote CTA ---------- */
.dc-cta{background:var(--dc-cherry);color:#fff;}
.dc-cta .dc-wrap{display:grid;gap:26px;align-items:center;}
@media (min-width:860px){.dc-cta .dc-wrap{grid-template-columns:1.3fr .7fr;}}
.dc-cta h2{color:#fff;margin-bottom:.3em;}
.dc-cta p{color:#f6dcdd;margin:0;max-width:56ch;}
.dc-cta .dc-btns{justify-content:flex-start;}
@media (min-width:860px){.dc-cta .dc-btns{justify-content:flex-end;}}
.dc-cta .dc-btn{background:#fff;color:var(--dc-cherry);border-color:#fff;}
.dc-cta .dc-btn:hover{background:var(--dc-ink);color:#fff;border-color:var(--dc-ink);}
.dc-cta .dc-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.dc-cta .dc-btn--ghost:hover{background:#fff;color:var(--dc-cherry);}

/* ---------- Page header / breadcrumbs ---------- */
.dc-pagehead{background:var(--dc-ink-deep);color:#fff;padding-block:clamp(38px,5vw,76px);}
.dc-pagehead h1{color:#fff;margin-bottom:.25em;max-width:20ch;}
.dc-pagehead p{color:#c3c9ce;max-width:62ch;margin:0;}
.dc-crumbs{font-size:.85rem;color:#98a1a9;margin-bottom:18px;}
.dc-crumbs a{color:#cfd5da;}
.dc-crumbs span[aria-current]{color:#fff;}
.dc-crumbs__sep{padding:0 7px;color:#68727c;}

/* ---------- Content ---------- */
.dc-content{max-width:78ch;}
.dc-content h2{margin-top:1.6em;}
.dc-content h3{margin-top:1.4em;}
.dc-content img{margin-block:1.6em;}
.dc-content ul li::marker{color:var(--dc-cherry);}
.dc-layout{display:grid;gap:clamp(30px,4vw,60px);}
@media (min-width:1000px){.dc-layout--sidebar{grid-template-columns:minmax(0,1fr) 320px;}}
.dc-aside{align-self:start;position:sticky;top:104px;}
.dc-card{border:1px solid var(--dc-line);padding:24px;background:var(--dc-chalk);}
.dc-card h3{font-size:1.25rem;}
.dc-card ul{list-style:none;padding:0;margin:0;}
.dc-card li{border-bottom:1px solid var(--dc-line);}
.dc-card li:last-child{border-bottom:0;}
.dc-card li a{display:block;padding:9px 0;color:var(--dc-ink);font-size:.96rem;}
.dc-card li a:hover{color:var(--dc-cherry);text-decoration:none;}

/* ---------- Product detail ---------- */
.dc-product{display:grid;gap:clamp(26px,3.5vw,54px);}
@media (min-width:900px){.dc-product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;}}
.dc-product__gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--dc-line);}
.dc-product__code{font-family:var(--dc-display);font-size:.95rem;font-weight:600;color:var(--dc-cherry);margin-bottom:6px;}
.dc-spec{border-top:2px solid var(--dc-ink);margin:1.6em 0;}
.dc-spec caption{text-align:left;font-family:var(--dc-display);font-size:1.25rem;font-weight:700;padding:12px 0;}
.dc-spec th,.dc-spec td{text-align:left;padding:11px 0;border-bottom:1px solid var(--dc-line);font-size:.95rem;vertical-align:top;}
.dc-spec th{width:42%;font-weight:600;color:var(--dc-ink-soft);padding-right:16px;}
.dc-quotebox{border:2px solid var(--dc-ink);padding:22px;margin-top:22px;background:var(--dc-chalk);}
.dc-quotebox p{margin-bottom:1em;font-size:.97rem;}
.dc-noprice{font-family:var(--dc-display);font-size:1.5rem;font-weight:700;margin:0 0 .2em;}

/* ---------- Blog ---------- */
.dc-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:clamp(18px,2vw,30px);}
.dc-post{border:1px solid var(--dc-line);display:flex;flex-direction:column;background:#fff;}
.dc-post__media{aspect-ratio:16/9;overflow:hidden;background:var(--dc-chalk);}
.dc-post__media img{width:100%;height:100%;object-fit:cover;}
.dc-post__body{padding:20px;display:flex;flex-direction:column;flex:1;}
.dc-post__date{font-size:.82rem;color:var(--dc-mute);margin-bottom:8px;}
.dc-post__body h3{font-size:1.22rem;}
.dc-post__body h3 a{color:var(--dc-ink);}
.dc-post__body h3 a:hover{color:var(--dc-cherry);text-decoration:none;}
.dc-post__body p{font-size:.95rem;color:var(--dc-ink-soft);}
.dc-post__body .dc-tile__link{margin-top:auto;align-self:flex-start;}
.dc-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px;}
.dc-pagination .page-numbers{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--dc-line);color:var(--dc-ink);padding:0 10px;}
.dc-pagination .current,.dc-pagination .page-numbers:hover{background:var(--dc-ink);color:#fff;border-color:var(--dc-ink);text-decoration:none;}
.dc-faq{border-top:2px solid var(--dc-ink);margin-top:2.2em;}
.dc-faq details{border-bottom:1px solid var(--dc-line);padding:14px 0;}
.dc-faq summary{font-family:var(--dc-display);font-size:1.16rem;font-weight:600;cursor:pointer;}
.dc-faq details p{margin:.7em 0 0;color:var(--dc-ink-soft);}

/* ---------- Forms ---------- */
.dc-form{display:grid;gap:16px;}
@media (min-width:640px){.dc-form{grid-template-columns:1fr 1fr;}
  .dc-field--full{grid-column:1/-1;}}
.dc-field label{display:block;font-size:.88rem;font-weight:600;margin-bottom:6px;color:var(--dc-ink-soft);}
.dc-field .req{color:var(--dc-cherry);}
.dc-field input,.dc-field select,.dc-field textarea{
  width:100%;padding:13px 14px;font:inherit;font-size:1rem;color:var(--dc-ink);
  background:#fff;border:1px solid #cdd1cc;border-radius:var(--dc-radius);min-height:50px;
}
.dc-field textarea{min-height:130px;resize:vertical;}
.dc-field input:focus,.dc-field select:focus,.dc-field textarea:focus{border-color:var(--dc-ink);outline:2px solid rgba(166,28,35,.35);outline-offset:0;}
.dc-form__hp{position:absolute;left:-9999px;}
.dc-notice{padding:14px 18px;border-left:4px solid var(--dc-cherry);background:var(--dc-chalk);margin-bottom:22px;}
.dc-notice--ok{border-left-color:#1f7a3f;}
.dc-contact__grid{display:grid;gap:clamp(28px,4vw,56px);}
@media (min-width:980px){.dc-contact__grid{grid-template-columns:1.25fr .75fr;}}
.dc-detail{border-top:1px solid var(--dc-line);padding:14px 0;}
.dc-detail dt{font-size:.82rem;color:var(--dc-mute);margin-bottom:3px;}
.dc-detail dd{margin:0;font-size:1.02rem;font-weight:500;}

/* ---------- Floating WhatsApp ---------- */
.dc-wa{
  position:fixed;right:16px;bottom:16px;z-index:80;display:inline-flex;align-items:center;gap:9px;
  background:#1f9d55;color:#fff;padding:12px 16px;border-radius:40px;font-family:var(--dc-display);
  font-weight:600;font-size:1rem;box-shadow:0 10px 26px rgba(15,19,23,.26);min-height:48px;
}
.dc-wa:hover{background:#177b42;color:#fff;text-decoration:none;}
.dc-wa svg{width:20px;height:20px;fill:currentColor;flex:none;}
@media (max-width:520px){.dc-wa__label{display:none;}.dc-wa{padding:14px;border-radius:50%;}}

/* ---------- Footer ---------- */
.dc-footer{background:var(--dc-ink-deep);color:#aab2b9;padding-top:clamp(48px,6vw,78px);font-size:.95rem;}
.dc-footer a{color:#d6dade;}
.dc-footer a:hover{color:#fff;}
.dc-footer h3{font-size:1.05rem;color:#fff;margin-bottom:1em;}
.dc-footer__grid{display:grid;gap:34px;padding-bottom:44px;}
@media (min-width:700px){.dc-footer__grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1020px){.dc-footer__grid{grid-template-columns:1.5fr 1fr 1fr 1.3fr;}}
.dc-footer ul{list-style:none;margin:0;padding:0;}
.dc-footer li{margin-bottom:.55em;}
.dc-footer__brand .dc-brand__name{color:#fff;}
.dc-footer__brand p{max-width:38ch;margin-top:14px;}
.dc-social{display:flex;gap:10px;margin-top:16px;}
.dc-social a{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--dc-line-dark);}
.dc-social a:hover{background:var(--dc-cherry);border-color:var(--dc-cherry);}
.dc-social svg{width:18px;height:18px;fill:currentColor;}
.dc-footer__legal{border-top:1px solid var(--dc-line-dark);padding-block:20px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.86rem;color:#8b949c;}
.dc-footer__legal ul{display:flex;flex-wrap:wrap;gap:8px 18px;margin-left:auto;}

/* ---------- Utilities ---------- */
.dc-hide{display:none!important;}
.alignwide{max-width:1100px;margin-inline:auto;}
.alignfull{max-width:none;}
.wp-block-image img{height:auto;}
.dc-imgfallback{display:grid;place-items:center;width:100%;height:100%;background:repeating-linear-gradient(135deg,#e9eae5,#e9eae5 12px,#e3e4de 12px,#e3e4de 24px);color:#6d7680;font-family:var(--dc-display);font-size:1rem;text-align:center;padding:18px;}

/* Placeholder slots inherit the shape of the photograph that belongs there. */
.dc-hero__media .dc-imgfallback{position:absolute;inset:0;}
.dc-product__gallery .dc-imgfallback{aspect-ratio:1/1;border:1px solid var(--dc-line);}
.dc-split__media .dc-imgfallback{aspect-ratio:4/3;}
.dc-content figure .dc-imgfallback{aspect-ratio:16/9;margin-block:1.6em;}

/* Keep the desktop menu on one line between 1080px and 1279px. */
.dc-nav a,.dc-brand__name,.dc-header__cta{white-space:nowrap;}
@media (min-width:1080px) and (max-width:1279px){
  .dc-brand__sub{display:none;}
  .dc-nav a{padding-left:8px;padding-right:8px;font-size:.9rem;}
  .dc-header__cta{margin-left:8px;}
}

/* ==========================================================================
   Catalogue plates — self-contained, brand-free imagery.
   No third-party photography, no external requests, nothing that can break.
   ========================================================================== */
.dc-plate{
  position:absolute; inset:0;
  display:flex; flex-direction:column; justify-content:space-between;
  padding:clamp(15px,2.5vw,28px);
  overflow:hidden; isolation:isolate; color:#fff;
  --dc-accent:#c8a96e;
  background:
    radial-gradient(130% 108% at 12% 2%, rgba(255,255,255,.11), rgba(255,255,255,0) 60%),
    linear-gradient(158deg,#1e242c 0%,#151b21 46%,#0c1014 100%);
}
.dc-plate::before{                       /* soft accent sweep */
  content:""; position:absolute; right:-24%; top:-36%;
  width:84%; height:184%; transform:rotate(16deg); z-index:-1;
  background:linear-gradient(90deg,rgba(200,169,110,.16),rgba(200,169,110,0) 74%);
  background:linear-gradient(90deg,color-mix(in srgb,var(--dc-accent) 18%,transparent),transparent 74%);
}
.dc-plate::after{                        /* footing shade, keeps text legible */
  content:""; position:absolute; left:0; right:0; bottom:0; height:62%; z-index:-1;
  background:linear-gradient(180deg,rgba(8,10,13,0),rgba(8,10,13,.68));
}
.dc-plate__grain{position:absolute; inset:0; z-index:-1; pointer-events:none;}

/* --- eight abstract material textures, one per range --------------------- */
.dc-plate--t1 .dc-plate__grain{opacity:.55;background-image:
  repeating-linear-gradient(114deg,rgba(255,255,255,.055) 0 1px,transparent 1px 10px),
  repeating-linear-gradient(24deg,rgba(0,0,0,.20) 0 1px,transparent 1px 8px);}
.dc-plate--t2 .dc-plate__grain{opacity:.5;background-image:
  repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 9px);}
.dc-plate--t3 .dc-plate__grain{opacity:.42;background-image:
  repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 16px),
  repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 16px);}
.dc-plate--t4 .dc-plate__grain{opacity:.5;background-image:
  repeating-linear-gradient(45deg,rgba(255,255,255,.055) 0 1px,transparent 1px 11px),
  repeating-linear-gradient(-45deg,rgba(255,255,255,.04) 0 1px,transparent 1px 11px);}
.dc-plate--t5 .dc-plate__grain{opacity:.55;background-image:
  radial-gradient(rgba(255,255,255,.10) 1px,transparent 1.4px);background-size:11px 11px;}
.dc-plate--t6 .dc-plate__grain{opacity:.48;background-image:
  repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 1px,transparent 1px 8px);}
.dc-plate--t7 .dc-plate__grain{opacity:.5;background-image:
  repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 14px),
  repeating-linear-gradient(135deg,rgba(0,0,0,.18) 7px,transparent 8px 14px);}
.dc-plate--t8 .dc-plate__grain{opacity:.5;background-image:
  repeating-linear-gradient(70deg,rgba(255,255,255,.05) 0 1px,transparent 1px 13px),
  radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px);background-size:auto,15px 15px;}

/* accent hue rotates with the texture so the grid has rhythm, not noise */
.dc-plate--t2{--dc-accent:#7d94a6;}
.dc-plate--t4{--dc-accent:#9a8bb0;}
.dc-plate--t5{--dc-accent:#7fa08b;}
.dc-plate--t7{--dc-accent:#b8724a;}
.dc-plate--t8{--dc-accent:#a61c23;}

/* --- content ------------------------------------------------------------- */
.dc-plate__top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.dc-plate__eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--dc-body); font-size:.63rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.7); line-height:1.35;
}
.dc-plate__eyebrow::before{content:""; flex:0 0 auto; width:20px; height:2px; background:var(--dc-cherry);}
.dc-plate__mark{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.6rem; letter-spacing:.1em; white-space:nowrap;
  color:rgba(255,255,255,.5); padding-top:2px;
}
.dc-plate__body{display:flex; flex-direction:column; align-items:flex-start;}
.dc-plate__name{
  font-family:var(--dc-display); font-weight:700; text-transform:uppercase;
  line-height:.92; letter-spacing:.005em; color:#fff;
  font-size:clamp(1.5rem,2.5vw,2.25rem);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  text-wrap:balance;
}
.dc-plate__rule{width:42px; height:3px; background:var(--dc-accent); margin:.66em 0 .6em; transition:width .35s ease;}
.dc-plate__spec{
  font-family:var(--dc-body); font-size:.64rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.62);
  line-height:1.6;
}
.dc-tile:hover .dc-plate__rule{width:78px;}

/* --- context variants ---------------------------------------------------- */
.dc-plate--hero{padding:clamp(24px,3.2vw,44px);}
.dc-plate--hero .dc-plate__eyebrow{font-size:.68rem;}
.dc-plate--hero .dc-plate__spec{font-size:.68rem; letter-spacing:.13em; color:rgba(255,255,255,.66); line-height:2;}
.dc-plate--hero::before{width:96%; right:-30%; background:linear-gradient(90deg,color-mix(in srgb,var(--dc-accent) 22%,transparent),transparent 78%);}
.dc-plate--wide .dc-plate__name{font-size:clamp(1.05rem,1.45vw,1.4rem); -webkit-line-clamp:3;}
.dc-plate--wide .dc-plate__rule{width:34px; height:2px; margin:.58em 0 .5em;}
.dc-plate--tile .dc-plate__name{font-size:clamp(1.35rem,2.1vw,1.95rem);}
.dc-plate--square .dc-plate__name{font-size:clamp(1.7rem,2.8vw,2.5rem); -webkit-line-clamp:4;}

/* --- parents that need a positioning context / intrinsic ratio ------------ */
.dc-post__media{position:relative;}
.dc-split__media{position:relative; aspect-ratio:4/3; overflow:hidden;}
.dc-product__gallery{position:relative; aspect-ratio:1/1; overflow:hidden; border:1px solid var(--dc-line);}
.dc-content figure:has(> .dc-plate){position:relative; aspect-ratio:16/9; overflow:hidden; margin-block:1.6em;}

@media (max-width:600px){
  .dc-plate__name,.dc-plate--tile .dc-plate__name{font-size:1.32rem;}
  .dc-plate--square .dc-plate__name{font-size:1.6rem;}
  .dc-plate__spec{font-size:.6rem; letter-spacing:.11em;}
}

/* hero plate: a numbered index of the ranges, in place of a photograph */
.dc-plate--hero{justify-content:space-between;}
.dc-plate__index{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-flow:column; grid-template-rows:repeat(4,auto);
  gap:.55em clamp(18px,3vw,48px); margin:auto 0; padding:1.2em 0;
}
.dc-plate__item{
  display:flex; align-items:baseline; gap:.7em;
  font-family:var(--dc-display); font-weight:700; text-transform:uppercase;
  font-size:clamp(1.05rem,1.55vw,1.5rem); letter-spacing:.01em; color:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(255,255,255,.09); padding-bottom:.4em; white-space:nowrap;
}
.dc-plate__no{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.62rem; font-weight:400; letter-spacing:.1em; color:var(--dc-willow);
}
@media (max-width:959px){
  .dc-hero__media{min-height:clamp(320px,60vw,460px);}
  .dc-plate__index{gap:.4em 20px;}
  .dc-plate__item{font-size:1.02rem;}
}
.dc-plate--hero::after{height:34%;background:linear-gradient(180deg,rgba(8,10,13,0),rgba(8,10,13,.45));}
.dc-plate--hero .dc-plate__item{color:#fff;}
/* the plate carries its own contrast; the photo scrim would only mute it */
.dc-hero__media:has(> .dc-plate)::after{display:none;}

/* ---- rendered product photography ----------------------------------------- */
.dc-tile__media img,.dc-post__media img,.dc-split__media img,.dc-product__gallery img,.dc-hero__media img{
  width:100%;height:100%;object-fit:cover;display:block;background:#e9e9e6;}
.dc-hero__media img{position:absolute;inset:0;}
.dc-product__gallery img{aspect-ratio:auto;}
.dc-photo__cap{
  position:absolute;left:0;right:0;bottom:0;padding:clamp(12px,2vw,20px) clamp(15px,2.5vw,26px);
  display:flex;flex-direction:column;gap:.35em;color:#fff;
  background:linear-gradient(180deg,rgba(10,12,15,0),rgba(10,12,15,.72));
}
.dc-photo__name{
  font-family:var(--dc-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:.95;letter-spacing:.005em;
}
.dc-tile:hover .dc-tile__media img{transform:scale(1.035);}

/* light plate: sits in the same grid as studio photography */
.dc-plate--light{
  color:var(--dc-ink);
  background:
    radial-gradient(120% 100% at 14% 4%, rgba(255,255,255,.9), rgba(255,255,255,0) 60%),
    linear-gradient(160deg,#f1f1ee 0%,#e4e4e0 55%,#cfcfca 100%);
}
.dc-plate--light::before{background:linear-gradient(90deg,color-mix(in srgb,var(--dc-accent) 22%,transparent),transparent 74%);}
.dc-plate--light::after{background:linear-gradient(180deg,rgba(10,12,15,0),rgba(10,12,15,.16));}
.dc-plate--light .dc-plate__grain{opacity:.35;filter:invert(1);}
.dc-plate--light .dc-plate__eyebrow{color:rgba(20,24,28,.62);}
.dc-plate--light .dc-plate__mark{color:rgba(20,24,28,.45);}
.dc-plate--light .dc-plate__name{color:var(--dc-ink);}
.dc-plate--light .dc-plate__spec{color:rgba(20,24,28,.6);}
.dc-tile--feature .dc-tile__media img{object-position:center 30%;}
.dc-tile__media img[src*="shuttlecock"]{object-position:center 62%;}
.dc-hero__media img{object-position:58% 50%;}

/* honest label on product pages: imagery is illustrative, goods are made to order */
.dc-product__gallery{position:relative;}
.dc-photo__note{
  position:absolute;left:10px;bottom:10px;padding:4px 8px;border-radius:2px;
  font:500 .68rem/1.3 var(--dc-body);letter-spacing:.02em;color:#fff;background:rgba(15,19,23,.62);
}
.dc-post__media img{aspect-ratio:16/9;}
picture{display:contents;}
