/* ==========================================================================
   DTR Custom site. Builds on dtr-tokens.css (ink/paper palette, Closer,
   square corners, no shadows). Site-specific classes are prefixed .ck-.
   The whole page is wrapped in .dtr-s, so rules here are scoped under it
   to beat the token file's element resets.
   ========================================================================== */

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--dtr-paper)}
.dtr-s :focus-visible{outline:2px solid var(--dtr-ink);outline-offset:3px}
.ck-skip{position:absolute;left:-9999px;top:0;background:var(--dtr-ink);color:var(--dtr-paper);padding:10px 16px;z-index:100}
.ck-skip:focus{left:16px}

/* ---------------- Audience toggle: Shop | Custom Teams ---------------- */
.dtr-s .ck-toggle{background:var(--dtr-ink);color:var(--dtr-paper)}
.dtr-s .ck-toggle__in{display:flex;justify-content:center;gap:0;max-width:var(--dtr-max);margin:0 auto}
.dtr-s .ck-toggle a{display:inline-flex;align-items:center;min-height:36px;padding:0 18px;font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.16em;color:rgba(246,244,241,.62);border-bottom:2px solid transparent}
.dtr-s .ck-toggle a:hover{color:var(--dtr-paper)}
.dtr-s .ck-toggle a[aria-current="true"]{color:var(--dtr-paper);border-bottom-color:var(--dtr-paper)}

/* ---------------- Header ---------------- */
.dtr-s .ck-header{position:sticky;top:0;z-index:30;background:var(--dtr-paper);border-bottom:1px solid var(--dtr-rule)}
.dtr-s .ck-header__in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}
.dtr-s .ck-logo{display:flex;align-items:baseline;gap:10px;font-size:1.15rem;letter-spacing:-.02em;white-space:nowrap}
.dtr-s .ck-logo b{font-weight:700}
.dtr-s .ck-logo span{font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.16em;color:var(--dtr-ink-2)}
.dtr-s .ck-nav{display:flex;align-items:center;gap:28px}
.dtr-s .ck-nav a:not(.dtr-btn){font-size:var(--dtr-small);padding-block:6px;border-bottom:1px solid transparent}
.dtr-s .ck-nav a:not(.dtr-btn):hover,.dtr-s .ck-nav a[aria-current="page"]{border-bottom-color:currentColor}
.dtr-s .ck-nav .dtr-btn{min-height:44px;padding:0 22px}
.dtr-s .ck-menu{display:none}
.dtr-s .ck-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.16em}
.dtr-s .ck-menu summary::-webkit-details-marker{display:none}
.dtr-s .ck-menu__panel{position:absolute;left:0;right:0;top:100%;background:var(--dtr-paper);border-bottom:1px solid var(--dtr-rule);padding:12px var(--dtr-gutter) 24px;display:grid;gap:2px}
.dtr-s .ck-menu__panel a:not(.dtr-btn){padding:12px 0;border-bottom:1px solid var(--dtr-rule);font-size:1.05rem}
.dtr-s .ck-menu__panel .dtr-btn{margin-top:16px}
@media(max-width:920px){.dtr-s .ck-nav{display:none}.dtr-s .ck-menu{display:block}}

/* ---------------- Page heads ---------------- */
.dtr-s .ck-crumbs{font-size:var(--dtr-small);color:var(--dtr-ink-2);padding-top:22px}
.dtr-s .ck-crumbs ol{display:flex;flex-wrap:wrap;gap:6px}
.dtr-s .ck-crumbs li+li::before{content:"/";margin-right:6px;color:var(--dtr-ink-3)}
.dtr-s .ck-crumbs a{border-bottom:1px solid var(--dtr-rule)}
.dtr-s .ck-phead{padding-block:clamp(28px,4vw,56px) clamp(28px,4vw,48px)}
.dtr-s .ck-phead .dtr-label{color:var(--dtr-ink-3);margin-bottom:16px}
.dtr-s .ck-phead h1{font-size:var(--dtr-heading);line-height:1.08;letter-spacing:-.025em;max-width:22ch;margin-bottom:16px}
.dtr-s .ck-phead p{color:var(--dtr-ink-2);max-width:58ch}

/* ---------------- Home hero ---------------- */
.dtr-s .ck-hero{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--dtr-ink);min-height:clamp(520px,82vh,860px)}
.dtr-s .ck-hero__media{position:absolute;inset:0}
.dtr-s .ck-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.dtr-s .ck-hero__scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,11,9,.86) 0%,rgba(12,11,9,.5) 45%,rgba(12,11,9,.1) 100%)}
.dtr-s .ck-hero__body{position:relative;width:100%;padding-block:clamp(40px,6vw,88px);color:var(--dtr-paper)}
.dtr-s .ck-hero .dtr-label{opacity:.78;margin-bottom:20px}
.dtr-s .ck-hero h1{max-width:14ch;margin-bottom:20px}
.dtr-s .ck-hero__text{max-width:46ch;margin-bottom:30px;color:rgba(246,244,241,.86)}
.dtr-s .ck-answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,40px);margin-top:clamp(36px,5vw,64px);max-width:1040px}
.dtr-s .ck-answers div{border-left:1px solid rgba(246,244,241,.28);padding-left:16px}
.dtr-s .ck-answers dt{font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.16em;opacity:.7;margin-bottom:8px}
.dtr-s .ck-answers dd{margin:0;font-size:1rem;line-height:1.4}
.dtr-s .ck-answers a{border-bottom:1px solid rgba(246,244,241,.5)}

/* ---------------- Tiles and cards ---------------- */
.dtr-s .ck-tiles{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:clamp(10px,1.4vw,22px)}
.dtr-s .ck-tile{position:relative;display:block;overflow:hidden;background:var(--dtr-paper-2)}
.dtr-s .ck-tile__media{aspect-ratio:4/5;overflow:hidden}
.dtr-s .ck-tile__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--dtr-ease)}
.dtr-s .ck-tile:hover .ck-tile__media img{transform:scale(1.035)}
.dtr-s .ck-tile__scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,11,9,.66),rgba(12,11,9,0) 55%)}
.dtr-s .ck-tile__body{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,2vw,28px);color:var(--dtr-paper)}
.dtr-s .ck-tile__body h3{font-size:clamp(1.1rem,1.5vw,1.4rem);letter-spacing:-.02em;line-height:1.1;margin-bottom:6px}
.dtr-s .ck-tile__body p{font-size:var(--dtr-small);color:rgba(246,244,241,.82)}
.dtr-s .ck-cards{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:clamp(14px,1.8vw,28px)}
.dtr-s .ck-card{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--dtr-ink);padding-top:16px}
.dtr-s .ck-card h3{font-size:1.05rem;letter-spacing:-.012em;line-height:1.3}
.dtr-s .ck-card p{font-size:var(--dtr-small);color:var(--dtr-ink-2)}
.dtr-s .ck-card .ck-moq{font-size:var(--dtr-small);color:var(--dtr-ink);font-variant-numeric:tabular-nums;margin-top:auto;padding-top:8px}
.dtr-s .ck-card:hover h3{text-decoration:underline;text-underline-offset:3px}
.dtr-s .ck-tag{display:inline-block;align-self:flex-start;border:1px solid var(--dtr-rule);padding:3px 9px;font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.12em;color:var(--dtr-ink-2)}

/* ---------------- Facts row, steps, lists ---------------- */
.dtr-s .ck-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,40px);border-top:1px solid var(--dtr-ink);padding-top:22px}
.dtr-s .ck-facts strong{display:block;font-size:clamp(1.15rem,1.7vw,1.45rem);font-weight:500;letter-spacing:-.02em;line-height:1.15;margin-bottom:6px}
.dtr-s .ck-facts span{font-size:var(--dtr-small);color:var(--dtr-ink-2)}
.dtr-s .ck-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0}
.dtr-s .ck-step{position:relative;padding:26px clamp(12px,1.6vw,26px) 0 0;border-top:1px solid var(--dtr-ink)}
.dtr-s .ck-step::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--dtr-ink)}
.dtr-s .ck-step__n{display:block;font-size:var(--dtr-label);letter-spacing:.16em;color:var(--dtr-ink-3);margin-bottom:12px}
.dtr-s .ck-step h3{font-size:1.1rem;letter-spacing:-.018em;line-height:1.25;margin-bottom:8px}
.dtr-s .ck-step p{font-size:var(--dtr-small);color:var(--dtr-ink-2);margin-bottom:12px;max-width:30ch}
.dtr-s .ck-step__time{display:inline-block;border:1px solid var(--dtr-rule);padding:5px 10px;font-size:var(--dtr-small)}
.dtr-s .ck-list li{padding:11px 0;border-top:1px solid var(--dtr-rule);font-size:var(--dtr-small)}
.dtr-s .ck-list li:last-child{border-bottom:1px solid var(--dtr-rule)}

/* ---------------- Two-column text blocks ---------------- */
.dtr-s .ck-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,88px);align-items:start}
.dtr-s .ck-split .dtr-label{color:var(--dtr-ink-3);margin-bottom:16px}
.dtr-s .ck-split h2{margin-bottom:16px}
.dtr-s .ck-split p+p{margin-top:12px}
.dtr-s .ck-prose p{color:var(--dtr-ink-2);max-width:62ch}
.dtr-s .ck-prose p+p{margin-top:12px}
.dtr-s .ck-prose h2{margin:36px 0 12px}
.dtr-s .ck-prose ul{margin-top:12px}
.dtr-s .ck-prose ul li{padding:8px 0;border-top:1px solid var(--dtr-rule);color:var(--dtr-ink-2)}
.dtr-s .ck-media{aspect-ratio:4/5;overflow:hidden;background:var(--dtr-paper-2)}
.dtr-s .ck-media img{width:100%;height:100%;object-fit:cover}

/* ---------------- Spec table ---------------- */
.dtr-s .ck-spec{border-top:1px solid var(--dtr-ink);margin:0}
.dtr-s .ck-spec div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:20px;padding:15px 0;border-bottom:1px solid var(--dtr-rule)}
.dtr-s .ck-spec dt{font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.16em;color:var(--dtr-ink-2);line-height:1.6}
.dtr-s .ck-spec dd{margin:0}
.dtr-s .ck-todo{color:var(--dtr-ink-3);font-style:italic}

/* ---------------- CTA band ---------------- */
.dtr-s .ck-cta{background:var(--dtr-ink);color:var(--dtr-paper)}
.dtr-s .ck-cta__in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;padding-block:clamp(44px,6vw,80px)}
.dtr-s .ck-cta h2{max-width:24ch;margin-bottom:10px}
.dtr-s .ck-cta p{color:rgba(246,244,241,.7);max-width:52ch}

/* ---------------- FAQ ---------------- */
.dtr-s .ck-faq{border-top:1px solid var(--dtr-ink)}
.dtr-s .ck-faq details{border-bottom:1px solid var(--dtr-rule)}
.dtr-s .ck-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;font-size:1.05rem;letter-spacing:-.012em;line-height:1.35}
.dtr-s .ck-faq summary::-webkit-details-marker{display:none}
.dtr-s .ck-faq summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--dtr-ink-2);transition:transform .25s var(--dtr-ease)}
.dtr-s .ck-faq details[open] summary::after{transform:rotate(45deg)}
.dtr-s .ck-faq__a{padding:0 0 22px;color:var(--dtr-ink-2);max-width:64ch}

/* ---------------- Quote form ---------------- */
.dtr-s .ck-form{background:var(--dtr-paper-2);padding:clamp(22px,3vw,44px)}
.dtr-s .ck-form fieldset{border:0;margin:0 0 26px;padding:0;min-width:0}
.dtr-s .ck-form legend{font-size:1.1rem;letter-spacing:-.018em;margin-bottom:14px;padding:0}
.dtr-s .ck-chips{display:flex;flex-wrap:wrap;gap:8px}
.dtr-s .ck-chip input{position:absolute;opacity:0;pointer-events:none}
.dtr-s .ck-chip label{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--dtr-rule);background:var(--dtr-paper);font-size:var(--dtr-small);cursor:pointer}
.dtr-s .ck-chip label:hover{border-color:var(--dtr-ink)}
.dtr-s .ck-chip input:checked+label{background:var(--dtr-ink);border-color:var(--dtr-ink);color:var(--dtr-paper)}
.dtr-s .ck-chip input:focus-visible+label{outline:2px solid var(--dtr-ink);outline-offset:2px}
.dtr-s .ck-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dtr-s .ck-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.dtr-s .ck-field--full{grid-column:1/-1}
.dtr-s .ck-field label{font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.16em;color:var(--dtr-ink-2)}
.dtr-s .ck-field input,.dtr-s .ck-field select,.dtr-s .ck-field textarea{font-family:var(--dtr-font);font-size:1rem;color:var(--dtr-ink);background:var(--dtr-paper);border:1px solid var(--dtr-rule);border-radius:0;padding:12px 14px;min-height:48px;width:100%;-webkit-appearance:none;appearance:none}
.dtr-s .ck-field textarea{min-height:120px;resize:vertical}
.dtr-s .ck-field input:focus,.dtr-s .ck-field select:focus,.dtr-s .ck-field textarea:focus{outline:none;border-color:var(--dtr-ink)}
.dtr-s .ck-consent{display:flex;gap:12px;align-items:flex-start;font-size:var(--dtr-small);cursor:pointer;margin-top:4px}
.dtr-s .ck-consent input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--dtr-ink)}
.dtr-s .ck-note{font-size:var(--dtr-small);color:var(--dtr-ink-3);margin-top:12px}
.dtr-s .ck-note a{border-bottom:1px solid currentColor}
.dtr-s .ck-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.dtr-s .ck-status{margin-top:16px;padding:14px 16px;background:var(--dtr-paper);font-size:var(--dtr-small)}
.dtr-s .ck-status[hidden]{display:none}

/* ---------------- Footer ---------------- */
.dtr-s .ck-footer{background:var(--dtr-ink);color:rgba(246,244,241,.72);font-size:var(--dtr-small)}
.dtr-s .ck-footer__in{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,54px);padding-block:clamp(48px,6vw,80px) 32px}
.dtr-s .ck-footer h2{font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.16em;color:var(--dtr-paper);margin-bottom:14px}
.dtr-s .ck-footer li{padding:5px 0}
.dtr-s .ck-footer a:hover{color:var(--dtr-paper)}
.dtr-s .ck-footer__brand p{max-width:34ch;margin-top:10px}
.dtr-s .ck-footer__base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(246,244,241,.16);padding-block:20px 28px;font-size:var(--dtr-label);letter-spacing:.06em}
.dtr-s .ck-footer__retail{color:var(--dtr-paper);border-bottom:1px solid rgba(246,244,241,.5)}

/* ---------------- Mobile sticky quote button ---------------- */
.ck-sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--dtr-paper);border-top:1px solid var(--dtr-rule);transform:translateY(110%);transition:transform .35s var(--dtr-ease)}
.ck-sticky.is-on{transform:none}
.ck-sticky .dtr-btn{width:100%}
@media(min-width:921px){.ck-sticky{display:none}}

/* ---------------- Responsive ---------------- */
@media(max-width:1080px){
  .dtr-s .ck-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dtr-s .ck-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
  .dtr-s .ck-footer__in{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .dtr-s .ck-answers{grid-template-columns:1fr;gap:16px}
  .dtr-s .ck-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dtr-s .ck-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dtr-s .ck-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
  .dtr-s .ck-split{grid-template-columns:1fr}
  .dtr-s .ck-steps{grid-template-columns:1fr;row-gap:0}
  .dtr-s .ck-step{padding:20px 0 24px 26px;border-top:0;border-left:1px solid var(--dtr-ink)}
  .dtr-s .ck-step::before{top:24px;left:-5px}
  .dtr-s .ck-step p{max-width:none}
}
@media(max-width:560px){
  .dtr-s .ck-tiles{grid-template-columns:1fr}
  .dtr-s .ck-tile__media{aspect-ratio:16/11}
  .dtr-s .ck-fields{grid-template-columns:1fr}
  .dtr-s .ck-spec div{grid-template-columns:1fr;gap:4px}
  .dtr-s .ck-footer__in{grid-template-columns:1fr}
  .dtr-s .ck-toggle a{padding:0 12px}
}

/* Phones: the hero text sits over faces, so darken the whole photo a little more. */
@media(max-width:700px){
  .dtr-s .ck-hero__scrim{background:linear-gradient(0deg,rgba(12,11,9,.9) 0%,rgba(12,11,9,.66) 60%,rgba(12,11,9,.4) 100%)}
}

/* Ordered lists are styled per component; the token file only resets <ul>. */
.dtr-s ol{list-style:none;margin:0;padding:0}

/* Phones: on page heads with a photo, show the heading and button first, the photo after. */
@media(max-width:860px){
  .dtr-s .ck-phead.ck-split > .ck-media{order:2}
}
