/* ==========================================================================
   Doyle & Snedden Roofing & Building Contracts
   style.css  —  shared across all pages   |  v3.0
   Concept: "The Standard" — premium DARK GREEN + GOLD (brand-matched).
   Self-hosted real photography. All classes prefixed .dsr-
   ========================================================================== */

@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/barlow-condensed-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/barlow-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/inter-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/inter-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/inter-latin-600-normal.woff2") format("woff2");}

:root{
  --dsr-ink:#0b2416;        /* deepest forest */
  --dsr-coal:#103019;       /* primary dark green surface */
  --dsr-coal-2:#17402692;   /* (unused fallback) */
  --dsr-surface:#163f27;    /* raised dark surface */
  --dsr-bone:#ece6da;       /* warm light section */
  --dsr-bone-2:#f4f0e7;     /* lighter card / logo plate */
  --dsr-gold:#c9a54e;       /* brand gold */
  --dsr-gold-2:#e3ca82;     /* bright gold */
  --dsr-gold-dk:#a2801f;    /* deep gold (text on light) */
  --dsr-green:#1c6b3f;      /* mid brand green (logo) */
  --dsr-text:#ece7db;       /* light text on dark */
  --dsr-muted:#a6b3aa;      /* muted on dark */
  --dsr-inktext:#16261c;    /* text on bone */
  --dsr-inkmuted:#4f5b52;   /* muted on bone */
  --dsr-line-d:#2a5139;     /* hairline on dark green */
  --dsr-line-l:#d6cdba;     /* hairline on bone */

  --dsr-maxw:1280px;
  --dsr-gutter:clamp(20px,4.5vw,72px);
  --dsr-spine:58px;

  --dsr-f-disp:"Barlow Condensed",Impact,"Arial Narrow",sans-serif;
  --dsr-f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --dsr-f-util:"Barlow","Inter",system-ui,sans-serif;
  --dsr-ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--dsr-coal);color:var(--dsr-text);font-family:var(--dsr-f-body);
  font-size:17px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--dsr-gold);color:var(--dsr-ink);}

h1,h2,h3,h4{font-family:var(--dsr-f-disp);font-weight:700;line-height:.95;letter-spacing:.005em;text-transform:uppercase;margin:0;}
h1{font-size:clamp(2.9rem,7.6vw,6.6rem);}
h2{font-size:clamp(2rem,4.6vw,3.7rem);}
h3{font-size:clamp(1.35rem,2.3vw,1.95rem);}
p{margin:0 0 1.1em;}
.dsr-lead{font-size:clamp(1.05rem,1.6vw,1.32rem);line-height:1.6;color:var(--dsr-muted);}
.dsr-gold{color:var(--dsr-gold);}

.dsr-eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--dsr-f-util);font-weight:600;
  text-transform:uppercase;letter-spacing:.26em;font-size:.73rem;color:var(--dsr-gold);margin:0 0 1.1rem;}
.dsr-eyebrow::before{content:"";width:30px;height:1px;background:var(--dsr-gold);display:inline-block;}

.dsr-wrap{max-width:var(--dsr-maxw);margin:0 auto;padding-inline:var(--dsr-gutter);}
.dsr-section{padding-block:clamp(60px,9vw,128px);position:relative;}
.dsr-ink{background:var(--dsr-ink);}
.dsr-coal{background:var(--dsr-coal);}
.dsr-bone{background:var(--dsr-bone);color:var(--dsr-inktext);}
.dsr-bone p{color:var(--dsr-inkmuted);}
.dsr-bone .dsr-lead{color:var(--dsr-inkmuted);}
.dsr-bone .dsr-eyebrow{color:var(--dsr-gold-dk);}
.dsr-bone .dsr-eyebrow::before{background:var(--dsr-gold-dk);}
.dsr-bone h2,.dsr-bone h3{color:var(--dsr-inktext);}

/* ---- Brand spine -------------------------------------------------------- */
.dsr-spine{position:fixed;left:0;top:0;bottom:0;width:var(--dsr-spine);z-index:70;display:none;
  flex-direction:column;align-items:center;justify-content:space-between;padding:16px 0;
  background:var(--dsr-ink);border-right:1px solid var(--dsr-line-d);}
.dsr-spine__mark{width:30px;height:26px;flex:none;}
.dsr-spine__word{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--dsr-f-util);font-weight:600;
  text-transform:uppercase;letter-spacing:.34em;font-size:.66rem;color:var(--dsr-muted);}
.dsr-spine__word b{color:var(--dsr-gold);font-weight:600;}
.dsr-spine__base{writing-mode:vertical-rl;font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;
  letter-spacing:.3em;font-size:.6rem;color:var(--dsr-gold);}

/* ---- Buttons ------------------------------------------------------------ */
.dsr-btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--dsr-f-util);font-weight:600;
  text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;padding:.95rem 1.7rem;border:1px solid transparent;
  border-radius:1px;transition:transform .25s var(--dsr-ease),background .25s,color .25s,border-color .25s;}
.dsr-btn:focus-visible{outline:2px solid var(--dsr-gold);outline-offset:3px;}
.dsr-btn--gold{background:var(--dsr-gold);color:var(--dsr-ink);}
.dsr-btn--gold:hover{background:var(--dsr-gold-2);transform:translateY(-2px);}
.dsr-btn--line{border-color:currentColor;color:inherit;}
.dsr-btn--line:hover{background:var(--dsr-gold);color:var(--dsr-ink);border-color:var(--dsr-gold);transform:translateY(-2px);}
.dsr-ico{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;}

/* ---- Logo (official artwork) -------------------------------------------- */
.dsr-logo{display:inline-flex;align-items:center;background:#fff;padding:6px 13px;border-radius:6px;}
.dsr-logo__img{display:block;height:40px;width:auto;}
.dsr-mobile__top .dsr-logo__img{height:40px;}
.dsr-footer__brand .dsr-logo__img{height:50px;}
.dsr-spine__img{width:40px;height:40px;display:block;border-radius:50%;}

/* ---- Header ------------------------------------------------------------- */
.dsr-header{position:sticky;top:0;z-index:60;background:rgba(11,36,22,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--dsr-line-d);}
.dsr-header__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:76px;
  max-width:var(--dsr-maxw);margin:0 auto;padding-inline:var(--dsr-gutter);}
.dsr-nav{display:flex;align-items:center;gap:1.7rem;}
.dsr-nav__list{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0;}
.dsr-nav__list a{font-family:var(--dsr-f-util);font-weight:600;font-size:.84rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--dsr-text);position:relative;padding:.4rem 0;}
.dsr-nav__list a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--dsr-gold);transition:width .3s var(--dsr-ease);}
.dsr-nav__list a:hover::after,.dsr-nav__list a[aria-current="page"]::after{width:100%;}
.dsr-nav__list a[aria-current="page"]{color:var(--dsr-gold);}
.dsr-has-sub{position:relative;}
.dsr-sub{position:absolute;top:100%;left:-14px;min-width:220px;background:var(--dsr-surface);
  border:1px solid var(--dsr-line-d);box-shadow:0 20px 44px rgba(0,0,0,.5);list-style:none;margin:10px 0 0;
  padding:.4rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s var(--dsr-ease);}
.dsr-has-sub:hover .dsr-sub,.dsr-has-sub:focus-within .dsr-sub{opacity:1;visibility:visible;transform:none;}
.dsr-sub a{display:block;padding:.6rem .7rem;font-size:.82rem;}
.dsr-sub a::after{display:none;}
.dsr-sub a:hover{background:var(--dsr-ink);color:var(--dsr-gold);}
.dsr-burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;
  background:var(--dsr-surface);border:1px solid var(--dsr-line-d);border-radius:2px;}
.dsr-burger span{width:20px;height:2px;background:var(--dsr-gold);transition:.3s var(--dsr-ease);}

.dsr-mobile{position:fixed;inset:0;z-index:95;background:var(--dsr-ink);color:#fff;display:flex;flex-direction:column;
  padding:clamp(22px,7vw,46px);transform:translateY(-100%);transition:transform .4s var(--dsr-ease);overflow-y:auto;}
.dsr-mobile.is-open{transform:translateY(0);}
.dsr-mobile__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7vh;}
.dsr-mobile__close{background:none;border:1px solid var(--dsr-line-d);color:#fff;width:46px;height:46px;border-radius:2px;font-size:1.4rem;}
.dsr-mobile a{font-family:var(--dsr-f-disp);font-weight:700;text-transform:uppercase;font-size:2rem;padding:.5rem 0;
  border-bottom:1px solid var(--dsr-line-d);color:#fff;}
.dsr-mobile a.dsr-msub{font-size:1.25rem;color:var(--dsr-gold);padding-left:1.2rem;}
.dsr-mobile__foot{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:.5rem;font-family:var(--dsr-f-util);}
.dsr-mobile__foot a{font-size:1.1rem;color:var(--dsr-gold);border:none;padding:.2rem 0;display:flex;align-items:center;gap:.5rem;}

/* ---- Datum -------------------------------------------------------------- */
.dsr-datum{display:flex;align-items:center;gap:1rem;font-family:var(--dsr-f-util);font-weight:600;
  text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--dsr-gold);}
.dsr-datum::before,.dsr-datum::after{content:"";height:1px;background:linear-gradient(90deg,var(--dsr-gold),transparent);flex:1;}
.dsr-datum::before{background:linear-gradient(90deg,transparent,var(--dsr-gold));}
.dsr-datum span{white-space:nowrap;}

/* ---- Framed media ------------------------------------------------------- */
.dsr-frame{position:relative;border:1px solid var(--dsr-gold);padding:10px;}
.dsr-frame::before{content:"";position:absolute;inset:-1px;border:1px solid var(--dsr-line-d);transform:translate(12px,12px);z-index:-1;}
.dsr-media{position:relative;overflow:hidden;background:var(--dsr-surface);}
.dsr-media img{width:100%;height:100%;object-fit:cover;}

/* ---- Hero --------------------------------------------------------------- */
.dsr-hero{background:var(--dsr-ink);position:relative;padding-top:clamp(48px,7vw,86px);}
.dsr-hero__grid{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(28px,5vw,64px);align-items:center;}
.dsr-hero__type .dsr-eyebrow{margin-bottom:1.4rem;}
.dsr-hero h1 em{font-style:normal;color:var(--dsr-gold);display:block;}
.dsr-hero__sub{max-width:46ch;color:var(--dsr-muted);font-size:clamp(1rem,1.4vw,1.18rem);margin:1.5rem 0 2rem;}
.dsr-hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;}
.dsr-hero__media{aspect-ratio:4/5;height:100%;}
.dsr-hero__media img{height:100%;}
.dsr-hero__datum{margin-top:clamp(2.4rem,5vw,4rem);}
.dsr-hero__stats{display:flex;flex-wrap:wrap;gap:clamp(1.4rem,4vw,3.4rem);margin-top:2rem;}
.dsr-stat__num{font-family:var(--dsr-f-disp);font-weight:700;font-size:clamp(2.1rem,3.6vw,3rem);line-height:1;color:#fff;}
.dsr-stat__num span{color:var(--dsr-gold);}
.dsr-stat__lbl{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--dsr-muted);margin-top:.45rem;}

/* ---- Gold strip --------------------------------------------------------- */
.dsr-strip{background:var(--dsr-gold);color:var(--dsr-ink);}
.dsr-strip__row{display:flex;flex-wrap:wrap;gap:clamp(1rem,3vw,2.4rem);align-items:center;justify-content:space-between;padding-block:1.15rem;}
.dsr-strip__item{display:flex;align-items:center;gap:.55rem;font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.84rem;}
.dsr-strip__item svg{width:20px;height:20px;stroke:var(--dsr-ink);fill:none;stroke-width:2;flex:none;}

/* ---- About -------------------------------------------------------------- */
.dsr-about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,84px);align-items:center;}
.dsr-about__imgs{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.dsr-about__imgs .dsr-media{border-radius:2px;}
.dsr-about__imgs .dsr-imgtall{grid-row:span 2;aspect-ratio:3/4.3;}
.dsr-about__imgs .dsr-imgwide{aspect-ratio:4/3;}
.dsr-about__imgs .dsr-imgstat{aspect-ratio:4/3;background:var(--dsr-ink);color:#fff;display:flex;flex-direction:column;
  justify-content:center;padding:1.2rem;border:1px solid var(--dsr-line-d);}
.dsr-about__imgs .dsr-statn{font-family:var(--dsr-f-disp);font-weight:700;font-size:2.7rem;line-height:1;color:var(--dsr-gold);}
.dsr-about__imgs .dsr-statt{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--dsr-muted);margin-top:.4rem;}

/* ---- Team --------------------------------------------------------------- */
.dsr-team{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,40px);margin-top:2.4rem;}
.dsr-member{background:var(--dsr-ink);border:1px solid var(--dsr-line-d);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;}
.dsr-member__img{aspect-ratio:4/5;overflow:hidden;position:relative;}
.dsr-member__img img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.dsr-member__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,36,22,.55),transparent 45%);}
.dsr-member__body{padding:1.3rem 1.4rem 1.5rem;}
.dsr-member__name{font-family:var(--dsr-f-disp);font-weight:700;text-transform:uppercase;font-size:1.7rem;line-height:1;color:#fff;}
.dsr-member__role{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--dsr-gold);margin:.35rem 0 .9rem;}
.dsr-member__body p{color:var(--dsr-muted);font-size:.98rem;margin:0 0 1rem;}
.dsr-member__call{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--dsr-f-util);font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;color:var(--dsr-gold);}
.dsr-member__call svg{width:17px;height:17px;stroke:var(--dsr-gold);fill:none;stroke-width:2;}
.dsr-member__call:hover{color:var(--dsr-gold-2);}

/* ---- Schedule of works -------------------------------------------------- */
.dsr-sched-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;padding-bottom:1.4rem;border-bottom:1px solid var(--dsr-gold);}
.dsr-sched-head small{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--dsr-muted);}
.dsr-sched{list-style:none;margin:0;padding:0;}
.dsr-sched__row{position:relative;display:grid;grid-template-columns:64px 1.5fr 1.2fr 40px;gap:1.6rem;align-items:center;
  padding:1.7rem 0;border-bottom:1px solid var(--dsr-line-d);transition:padding-left .3s var(--dsr-ease);}
.dsr-sched__row:hover{padding-left:14px;}
.dsr-sched__idx{font-family:var(--dsr-f-disp);font-weight:700;font-size:1.5rem;color:var(--dsr-gold);}
.dsr-sched__title{font-family:var(--dsr-f-disp);font-weight:700;text-transform:uppercase;font-size:1.5rem;line-height:1;color:#fff;}
.dsr-sched__desc{color:var(--dsr-muted);font-size:.95rem;margin:.45rem 0 0;}
.dsr-sched__scope{display:flex;flex-wrap:wrap;gap:.45rem;}
.dsr-sched__scope span{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.66rem;color:var(--dsr-gold);border:1px solid var(--dsr-line-d);padding:.28rem .6rem;border-radius:1px;}
.dsr-sched__go{width:40px;height:40px;border:1px solid var(--dsr-line-d);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--dsr-gold);transition:.25s var(--dsr-ease);}
.dsr-sched__row:hover .dsr-sched__go{background:var(--dsr-gold);color:var(--dsr-ink);border-color:var(--dsr-gold);}
.dsr-sched__go svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;}

/* ---- Process ------------------------------------------------------------ */
.dsr-proc{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,30px);margin-top:2.6rem;}
.dsr-proc::before{content:"";position:absolute;top:13px;left:0;right:0;height:1px;background:var(--dsr-line-l);}
.dsr-proc__step{position:relative;}
.dsr-proc__n{width:28px;height:28px;border-radius:50%;background:var(--dsr-gold);color:var(--dsr-ink);display:flex;align-items:center;justify-content:center;
  font-family:var(--dsr-f-disp);font-weight:700;font-size:1rem;position:relative;z-index:1;margin-bottom:1rem;}
.dsr-proc__step h3{font-size:1.3rem;margin-bottom:.4rem;}
.dsr-proc__step p{font-size:.96rem;margin:0;}

/* ---- Why-us ------------------------------------------------------------- */
.dsr-why{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,84px);align-items:center;}
.dsr-why__media{aspect-ratio:4/5;}
.dsr-checks{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:1rem;}
.dsr-checks li{display:flex;gap:.9rem;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid var(--dsr-line-d);}
.dsr-checks li:last-child{border-bottom:0;}
.dsr-checks svg{width:22px;height:22px;flex:none;stroke:var(--dsr-gold);fill:none;stroke-width:2.4;margin-top:3px;}
.dsr-checks b{display:block;font-family:var(--dsr-f-util);font-weight:600;color:#fff;font-size:1.06rem;}
.dsr-checks span{color:var(--dsr-muted);font-size:.95rem;}
.dsr-bone .dsr-checks li{border-color:var(--dsr-line-l);}
.dsr-bone .dsr-checks b{color:var(--dsr-inktext);}
.dsr-bone .dsr-checks span{color:var(--dsr-inkmuted);}

/* ---- Feature + filmstrip ------------------------------------------------ */
.dsr-feature__main{position:relative;aspect-ratio:16/9;border:1px solid var(--dsr-line-d);overflow:hidden;cursor:zoom-in;width:100%;padding:0;background:none;}
.dsr-feature__main img{width:100%;height:100%;object-fit:cover;transition:opacity .35s var(--dsr-ease);}
.dsr-feature__cap{position:absolute;left:0;bottom:0;background:rgba(11,36,22,.85);color:var(--dsr-text);font-family:var(--dsr-f-util);
  font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;padding:.6rem 1rem;}
.dsr-feature__strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:14px;}
.dsr-feature__thumb{padding:0;border:1px solid var(--dsr-line-d);background:none;aspect-ratio:1/1;overflow:hidden;opacity:.55;transition:opacity .25s,border-color .25s;}
.dsr-feature__thumb img{width:100%;height:100%;object-fit:cover;}
.dsr-feature__thumb:hover{opacity:.85;}
.dsr-feature__thumb.dsr-on{opacity:1;border-color:var(--dsr-gold);}

.dsr-lightbox{position:fixed;inset:0;z-index:120;background:rgba(6,18,11,.96);display:none;align-items:center;justify-content:center;padding:4vw;}
.dsr-lightbox.is-open{display:flex;}
.dsr-lightbox img{max-width:92vw;max-height:86vh;width:auto;border:1px solid var(--dsr-gold);}
.dsr-lightbox__close,.dsr-lightbox__nav{position:absolute;background:rgba(255,255,255,.08);border:1px solid var(--dsr-line-d);color:#fff;
  width:52px;height:52px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;}
.dsr-lightbox__close{top:4vw;right:4vw;}
.dsr-lightbox__nav{top:50%;transform:translateY(-50%);}
.dsr-lightbox__nav.dsr-prev{left:3vw;}
.dsr-lightbox__nav.dsr-next{right:3vw;}

/* ---- Testimonial -------------------------------------------------------- */
.dsr-testi{max-width:880px;}
.dsr-testi__mark{font-family:var(--dsr-f-disp);font-size:4.5rem;line-height:.5;color:var(--dsr-gold);}
.dsr-testi__quote{font-family:var(--dsr-f-disp);font-weight:600;text-transform:none;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.2;margin:.6rem 0 1.4rem;}
.dsr-testi__by{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--dsr-gold-dk);}
.dsr-stars{color:var(--dsr-gold);letter-spacing:3px;}

/* ---- Forms / contact ---------------------------------------------------- */
.dsr-cta-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:start;}
.dsr-form{display:grid;gap:1rem;}
.dsr-form .dsr-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.dsr-field label{display:block;font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;color:var(--dsr-muted);margin-bottom:.35rem;}
.dsr-field input,.dsr-field textarea,.dsr-field select{width:100%;font-family:var(--dsr-f-body);font-size:1rem;padding:.85rem .9rem;
  border:1px solid var(--dsr-line-d);background:var(--dsr-surface);color:var(--dsr-text);border-radius:2px;transition:border-color .2s,box-shadow .2s;}
.dsr-field textarea{min-height:120px;resize:vertical;}
.dsr-field input:focus,.dsr-field textarea:focus,.dsr-field select:focus{outline:none;border-color:var(--dsr-gold);box-shadow:0 0 0 3px rgba(201,165,78,.22);}
.dsr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.dsr-form__note{font-size:.82rem;color:var(--dsr-muted);}
.dsr-form__ok{font-family:var(--dsr-f-util);font-weight:600;color:var(--dsr-gold-2);font-size:1.08rem;line-height:1.5;padding:.6rem 0;}
.dsr-contact-card{background:var(--dsr-surface);border:1px solid var(--dsr-line-d);padding:clamp(1.6rem,3vw,2.4rem);border-radius:2px;}
.dsr-contact-card h3{color:#fff;margin-bottom:1.2rem;}
.dsr-cline{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--dsr-line-d);}
.dsr-cline:last-child{border-bottom:0;}
.dsr-cline svg{width:22px;height:22px;stroke:var(--dsr-gold);fill:none;stroke-width:2;flex:none;margin-top:3px;}
.dsr-cline .dsr-k{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;color:var(--dsr-muted);}
.dsr-cline .dsr-v{font-size:1.05rem;color:#fff;}
.dsr-cline a.dsr-v:hover{color:var(--dsr-gold);}

/* ---- Page header -------------------------------------------------------- */
.dsr-phead{position:relative;background:var(--dsr-ink);overflow:hidden;padding:clamp(70px,11vw,128px) 0 clamp(34px,5vw,56px);}
.dsr-phead__media{position:absolute;inset:0;}
.dsr-phead__media img{width:100%;height:100%;object-fit:cover;}
.dsr-phead__media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,36,22,.96),rgba(11,36,22,.62));}
.dsr-phead__inner{position:relative;}
.dsr-crumb{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--dsr-muted);margin-top:.9rem;}
.dsr-crumb a:hover{color:var(--dsr-gold);}

/* ---- Prose -------------------------------------------------------------- */
.dsr-prose{max-width:760px;}
.dsr-prose h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:2.2rem 0 .8rem;color:#fff;}
.dsr-prose h3{font-size:1.12rem;margin:1.6rem 0 .5rem;text-transform:none;font-family:var(--dsr-f-util);letter-spacing:0;color:#fff;}
.dsr-prose p,.dsr-prose li{font-size:1.02rem;color:var(--dsr-muted);}
.dsr-prose ul{padding-left:1.2rem;margin:0 0 1.1em;}
.dsr-prose li{margin-bottom:.4rem;}
.dsr-prose a{color:var(--dsr-gold);text-decoration:underline;text-underline-offset:2px;}
.dsr-prose strong{color:var(--dsr-text);}
.dsr-note{background:var(--dsr-surface);border-left:2px solid var(--dsr-gold);padding:1rem 1.2rem;font-size:.92rem;color:var(--dsr-muted);border-radius:2px;margin:1.4rem 0;}

/* ---- Footer ------------------------------------------------------------- */
.dsr-footer{background:#07170e;color:var(--dsr-muted);padding-block:clamp(48px,7vw,76px) 0;}
.dsr-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:clamp(24px,4vw,48px);}
.dsr-footer h4{color:#fff;font-size:1.05rem;letter-spacing:.08em;margin-bottom:1rem;}
.dsr-footer a:hover{color:var(--dsr-gold);}
.dsr-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.95rem;}
.dsr-footer__brand .dsr-logo{margin-bottom:1rem;}
.dsr-footer__brand p{font-size:.95rem;max-width:34ch;}
.dsr-footer__bottom{margin-top:clamp(32px,5vw,52px);border-top:1px solid var(--dsr-line-d);padding-block:1.4rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:.84rem;}
.dsr-partner{margin-top:clamp(28px,4vw,44px);padding-top:clamp(24px,3.5vw,36px);border-top:1px solid var(--dsr-line-d);
  display:flex;align-items:center;gap:clamp(1rem,3vw,2rem);flex-wrap:wrap;}
.dsr-partner__plate{background:#fff;padding:12px 18px;border-radius:6px;flex:none;}
.dsr-partner__plate img{height:52px;width:auto;display:block;}
.dsr-partner__txt{font-family:var(--dsr-f-util);font-weight:600;text-transform:uppercase;letter-spacing:.14em;
  font-size:.76rem;color:var(--dsr-gold);}
.dsr-partner__txt span{display:block;font-family:var(--dsr-f-body);font-weight:400;text-transform:none;letter-spacing:0;
  font-size:.92rem;color:var(--dsr-muted);margin-top:.4rem;max-width:44ch;}
@media (max-width:560px){ .dsr-partner__plate img{height:42px;} }
.dsr-footer__bottom a{color:var(--dsr-gold);font-weight:600;}
.dsr-footer__legal{display:flex;gap:1.2rem;flex-wrap:wrap;}
.dsr-footer__legal a{color:var(--dsr-muted);}

/* ---- Sticky bar --------------------------------------------------------- */
.dsr-sticky{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;grid-template-columns:1fr 1fr 1fr;
  background:var(--dsr-ink);border-top:1px solid var(--dsr-gold);box-shadow:0 -8px 24px rgba(0,0,0,.4);}
.dsr-sticky a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:.6rem 0;color:#fff;font-family:var(--dsr-f-util);
  font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;border-right:1px solid var(--dsr-line-d);}
.dsr-sticky a:last-child{border-right:0;}
.dsr-sticky a.dsr-q{background:var(--dsr-gold);color:var(--dsr-ink);}
.dsr-sticky svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;}

/* ---- Map --------------------------------------------------------------- */
.dsr-map{border:0;width:100%;height:380px;border-radius:2px;filter:grayscale(.3) contrast(1.02) brightness(.95);border:1px solid var(--dsr-line-d);}

/* ---- Reveal + parallax (fail-safe) ------------------------------------- */
.js .dsr-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--dsr-ease),transform .7s var(--dsr-ease);will-change:opacity,transform;}
.js .dsr-reveal.is-in{opacity:1;transform:none;}
.js .dsr-reveal[data-d="1"]{transition-delay:.08s;}
.js .dsr-reveal[data-d="2"]{transition-delay:.16s;}
.js .dsr-reveal[data-d="3"]{transition-delay:.24s;}
.js [data-parallax]{will-change:transform;}
@media (min-width:901px) and (prefers-reduced-motion:no-preference){
  .js img[data-parallax]{height:130%;width:100%;object-fit:cover;position:relative;top:-15%;}
}
@media (prefers-reduced-motion:reduce){
  .js .dsr-reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  .js [data-parallax]{transform:none !important;}
}

/* ---- Responsive --------------------------------------------------------- */
@media (min-width:1180px){ .dsr-spine{display:flex;} body{padding-left:var(--dsr-spine);} }
@media (max-width:1080px){ .dsr-feature__strip{grid-template-columns:repeat(5,1fr);} }
@media (max-width:900px){
  .dsr-nav__list,.dsr-nav .dsr-btn{display:none;}
  .dsr-burger{display:flex;}
  .dsr-hero__grid,.dsr-about,.dsr-why,.dsr-cta-split,.dsr-team{grid-template-columns:1fr;}
  .dsr-hero__media{aspect-ratio:16/10;order:-1;}
  .dsr-sched__row{grid-template-columns:44px 1fr 36px;gap:1rem;}
  .dsr-sched__scope{display:none;}
  .dsr-proc{grid-template-columns:1fr 1fr;}
  .dsr-proc::before{display:none;}
  .dsr-feature__strip{grid-template-columns:repeat(4,1fr);}
  .dsr-footer__grid{grid-template-columns:1fr 1fr;}
  .dsr-sticky{display:grid;}
  body{padding-bottom:62px;}
}
@media (max-width:560px){
  body{font-size:16px;}
  .dsr-proc{grid-template-columns:1fr;}
  .dsr-form .dsr-row{grid-template-columns:1fr;}
  .dsr-footer__grid{grid-template-columns:1fr;}
  .dsr-about__imgs{grid-template-columns:1fr;}
  .dsr-about__imgs .dsr-imgtall{grid-row:auto;aspect-ratio:4/3;}
  .dsr-feature__strip{grid-template-columns:repeat(3,1fr);}
  .dsr-strip__row{flex-direction:column;align-items:flex-start;gap:.7rem;}
}
