/* Copied from the Rebuild theme (assets/dtr-tokens.css, 2026-10-06). Keep in step with it; the plan is to move the one shared copy into dtr-standards. */
/* ==========================================================================
   DTR — DESIGN CONSTITUTION
   Loaded after theme.css. Everything is namespaced under .dtr- so it never
   fights the rest of the theme.

   The rules, in short:
   - Warm near-black on warm off-white. Never #000 on #FFF.
   - Zero UI accent colour. All colour comes from the garments.
   - Type weights 500 (700 reserved). Hierarchy from size + space, not bold.
   - Uppercase + wide tracking on SMALL LABELS ONLY.
   - 96-152px section padding. Square corners. No shadows. No card borders.
   - Motion confirms an action; it never performs.
   ========================================================================== */

@font-face{
  font-family:'Closer';
  src:url('https://cdn.shopify.com/s/files/1/0289/0632/4073/files/CloserText-Medium.otf?v=1774880294') format('opentype');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Closer';
  src:url('https://cdn.shopify.com/s/files/1/0289/0632/4073/files/CloserText-Bold.otf?v=1774880263') format('opentype');
  font-weight:700;font-style:normal;font-display:swap;
}

:root{
  --dtr-ink:#171613;
  --dtr-ink-2:#6E6A62;
  --dtr-ink-3:#9C978E;
  --dtr-paper:#F6F4F1;
  --dtr-paper-2:#EFEBE5;
  --dtr-rule:#DFDAD2;
  --dtr-font:'Closer','Helvetica Neue',Arial,sans-serif;
  --dtr-display:clamp(2.5rem,6.2vw,5.2rem);
  --dtr-heading:clamp(1.45rem,2.7vw,2.3rem);
  --dtr-small:0.8125rem;
  --dtr-label:0.6875rem;
  --dtr-section:clamp(76px,9.5vw,152px);
  --dtr-gutter:clamp(20px,4vw,56px);
  --dtr-max:1560px;
  --dtr-ease:cubic-bezier(.22,.61,.36,1);
}

.dtr-s{
  font-family:var(--dtr-font);
  font-weight:500;
  color:var(--dtr-ink);
  background:var(--dtr-paper);
  line-height:1.6;
  font-size:1rem;
  letter-spacing:0;
}
.dtr-s *,.dtr-s *::before,.dtr-s *::after{box-sizing:border-box}
.dtr-s img{display:block;width:100%;height:auto}
.dtr-s a{text-decoration:none}
.dtr-s a:not(.dtr-btn){color:inherit}
.dtr-s p{margin:0}
.dtr-s h1,.dtr-s h2,.dtr-s h3,.dtr-s h4{margin:0;font-family:var(--dtr-font);font-weight:500;text-transform:none}
.dtr-s ul{list-style:none;margin:0;padding:0}
.dtr-pad{padding-block:var(--dtr-section)}
.dtr-pad-t0{padding-top:0}
.dtr-alt{background:var(--dtr-paper-2)}
.dtr-w{max-width:var(--dtr-max);margin:0 auto;padding-inline:var(--dtr-gutter)}

/* Large type gets TIGHTER tracking; small type gets LOOSER. */
.dtr-display{font-size:var(--dtr-display);line-height:.98;letter-spacing:-.035em}
.dtr-heading{font-size:var(--dtr-heading);line-height:1.1;letter-spacing:-.022em}
.dtr-label{font-size:var(--dtr-label);font-weight:500;text-transform:uppercase;letter-spacing:.16em;line-height:1;display:inline-block}
.dtr-small{font-size:var(--dtr-small);line-height:1.55}
.dtr-muted{color:var(--dtr-ink-2)}
.dtr-measure{max-width:56ch}

/* Buttons: square. Fill or 1px outline. No radius, no shadow, no gradient. */
.dtr-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 34px;
  font-family:var(--dtr-font);font-size:var(--dtr-label);font-weight:500;
  text-transform:uppercase;letter-spacing:.16em;
  border:1px solid var(--dtr-ink);background:var(--dtr-ink);color:var(--dtr-paper);
  border-radius:0;cursor:pointer;text-align:center;
  transition:background .25s var(--dtr-ease),color .25s var(--dtr-ease);
}
.dtr-btn:hover{background:transparent;color:var(--dtr-ink)}
.dtr-btn--ghost{background:transparent;color:var(--dtr-ink)}
.dtr-btn--ghost:hover{background:var(--dtr-ink);color:var(--dtr-paper)}
.dtr-btn--light{border-color:var(--dtr-paper);background:var(--dtr-paper);color:var(--dtr-ink)}
.dtr-btn--light:hover{background:transparent;color:var(--dtr-paper)}
.dtr-btn--lghost{border-color:rgba(246,244,241,.55);background:transparent;color:var(--dtr-paper)}
.dtr-btn--lghost:hover{background:var(--dtr-paper);color:var(--dtr-ink);border-color:var(--dtr-paper)}
.dtr-btns{display:flex;gap:12px;flex-wrap:wrap}

/* The only permitted flourish: a hairline that draws under a text link. */
.dtr-tlink{position:relative;display:inline-block;font-size:var(--dtr-label);font-weight:500;text-transform:uppercase;letter-spacing:.16em;padding-bottom:6px}
.dtr-tlink::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--dtr-ease)}
.dtr-tlink:hover::after{transform:scaleX(1)}
.dtr-tlink--on::after{transform:scaleX(1)}
.dtr-tlink--on:hover::after{transform:scaleX(0);transform-origin:right}

/* Section head */
.dtr-shead{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(30px,3.6vw,58px)}
.dtr-shead__l{max-width:62ch}
.dtr-shead .dtr-label{color:var(--dtr-ink-3);margin-bottom:16px}
.dtr-s .dtr-shead__sub{margin-top:14px;color:var(--dtr-ink-2);max-width:52ch}

/* ---------------- Hero ---------------- */
.dtr-hero{position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--dtr-paper-2)}
.dtr-hero__media{position:absolute;inset:0}
.dtr-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.dtr-hero__scrim{position:absolute;inset:0}
.dtr-hero__body{position:relative;width:100%;padding-block:clamp(44px,7vw,88px);color:var(--dtr-paper)}
.dtr-hero__eyebrow{margin-bottom:22px;opacity:.86}
.dtr-hero h1{margin-bottom:22px;max-width:16ch}
.dtr-s .dtr-hero__text{max-width:44ch;margin-bottom:34px;color:rgba(246,244,241,.86)}

/* ---------------- Tiles ---------------- */
.dtr-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,22px)}
.dtr-tile{position:relative;overflow:hidden;display:block;background:var(--dtr-paper-2)}
.dtr-tile__media{aspect-ratio:3/4;overflow:hidden}
.dtr-tile__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--dtr-ease)}
.dtr-tile:hover .dtr-tile__media img{transform:scale(1.035)}
.dtr-tile__scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,11,9,.58),rgba(12,11,9,0) 55%)}
.dtr-tile__body{position:absolute;left:0;bottom:0;padding:clamp(18px,2vw,30px);color:var(--dtr-paper)}
.dtr-tile__body h3{font-size:clamp(1.15rem,1.6vw,1.5rem);letter-spacing:-.02em;line-height:1.1;margin-bottom:7px}
.dtr-tile__body p{font-size:var(--dtr-small);color:rgba(246,244,241,.8);max-width:26ch;margin-bottom:12px}

/* ---------------- Product grid ----------------
   No border. No shadow. No radius. No card. The image sits on the page
   background and the text sits beneath it. */
.dtr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,28px)}
.dtr-card{display:block}
.dtr-card__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--dtr-paper-2);margin-bottom:16px}
.dtr-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s var(--dtr-ease)}
.dtr-card__media img.dtr-alt-img{opacity:0}
.dtr-card:hover .dtr-card__media img.dtr-base-img{opacity:0}
.dtr-card:hover .dtr-card__media img.dtr-alt-img{opacity:1}
.dtr-card__name{letter-spacing:-.012em;line-height:1.3}
.dtr-card__use{font-size:var(--dtr-small);color:var(--dtr-ink-2);margin-top:5px}
.dtr-card__meta{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:11px}
.dtr-card__price{font-size:var(--dtr-small);font-variant-numeric:tabular-nums}
.dtr-card__col{font-size:var(--dtr-small);color:var(--dtr-ink-3)}

/* ---------------- Technical split ---------------- */
.dtr-split{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(28px,5vw,88px)}
.dtr-split__media{aspect-ratio:4/5;overflow:hidden;background:var(--dtr-paper-2)}
.dtr-split__media img{width:100%;height:100%;object-fit:cover}
.dtr-spec{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.dtr-spec span{border:1px solid var(--dtr-rule);padding:8px 13px;font-size:var(--dtr-small);color:var(--dtr-ink-2)}

/* ---------------- Service band ---------------- */
.dtr-band{background:var(--dtr-ink);color:var(--dtr-paper)}
.dtr-band__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,54px);padding-block:clamp(46px,5vw,72px)}
.dtr-band h4{font-size:var(--dtr-label);text-transform:uppercase;letter-spacing:.16em;margin-bottom:11px}
.dtr-band p{font-size:var(--dtr-small);color:rgba(246,244,241,.62);max-width:30ch}

/* ---------------- Guides ---------------- */
.dtr-guides{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,42px)}
.dtr-guide{border-top:1px solid var(--dtr-rule);padding-top:22px}
.dtr-guide .dtr-label{color:var(--dtr-ink-3);margin-bottom:14px}
.dtr-guide h3{font-size:1.15rem;letter-spacing:-.018em;line-height:1.25;margin-bottom:10px}
.dtr-guide p{font-size:var(--dtr-small);color:var(--dtr-ink-2);margin-bottom:18px}
.dtr-finder{background:var(--dtr-paper-2);padding:clamp(34px,4.4vw,68px);display:grid;grid-template-columns:1fr auto;gap:clamp(24px,4vw,68px);align-items:center;margin-top:clamp(40px,5vw,80px)}
.dtr-finder h3{font-size:clamp(1.3rem,2.1vw,1.85rem);letter-spacing:-.022em;line-height:1.15;margin-bottom:12px}
.dtr-finder p{color:var(--dtr-ink-2);max-width:46ch;font-size:var(--dtr-small)}

/* ---------------- Custom kit ---------------- */
.dtr-custom{position:relative;display:flex;align-items:center;overflow:hidden;background:var(--dtr-ink)}
.dtr-custom__media{position:absolute;inset:0}
.dtr-custom__media img{width:100%;height:100%;object-fit:cover;opacity:.5}
.dtr-custom__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,11,9,.84) 0%,rgba(12,11,9,.44) 62%,rgba(12,11,9,.2) 100%)}
.dtr-custom__body{position:relative;color:var(--dtr-paper);max-width:52ch}
.dtr-custom__body .dtr-label{opacity:.72;margin-bottom:20px}
.dtr-custom__body h2{margin-bottom:18px}
.dtr-s .dtr-custom__text{color:rgba(246,244,241,.82);margin-bottom:30px}
.dtr-facts{display:flex;gap:36px;flex-wrap:wrap;margin-bottom:34px}
.dtr-facts div{border-left:1px solid rgba(246,244,241,.28);padding-left:16px}
.dtr-facts strong{display:block;font-size:1.5rem;font-weight:500;letter-spacing:-.02em;line-height:1.1}
.dtr-facts span{font-size:var(--dtr-small);color:rgba(246,244,241,.62)}

/* ---------------- Community ---------------- */
.dtr-partners{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(30px,4.6vw,76px);margin-top:clamp(34px,4vw,60px)}
.dtr-partners img{width:auto;max-width:150px;height:26px;object-fit:contain;opacity:.42;filter:grayscale(1);transition:opacity .3s var(--dtr-ease)}
.dtr-partners img:hover{opacity:.8}

/* ---------------- Motion: opacity + 14px. Nothing scales or bounces. ------- */
.dtr-rise{opacity:0;transform:translateY(14px);transition:opacity .7s var(--dtr-ease),transform .7s var(--dtr-ease)}
.dtr-rise.dtr-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.dtr-rise{opacity:1;transform:none;transition:none}}

/* ---------------- Responsive ---------------- */
@media(max-width:1080px){
  .dtr-grid{grid-template-columns:repeat(2,1fr)}
  .dtr-band__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .dtr-split{grid-template-columns:1fr}
  .dtr-guides{grid-template-columns:1fr}
  .dtr-finder{grid-template-columns:1fr}
  .dtr-tiles{grid-template-columns:1fr}
  .dtr-tile__media{aspect-ratio:16/11}
}
@media(max-width:560px){
  .dtr-band__grid{grid-template-columns:1fr}
}