/* ==========================================================================
   DMH Roofing — theme stylesheet (mobile first)
   Values are the prototype's (or-files/app/globals.css): ink #162a35, paper
   #f8f7f3, line #d5ddd8, muted #62717a, copper #d9673d / #bd4f2d, pine #2c5a55;
   Arial for text, Georgia italic for the accents; a 1180px column and a 106px
   section rhythm on a wide screen.

   Mobile first: the rules outside a media query are the phone layout. Each
   component then widens itself with min-width queries, kept next to it:
     401px   larger phones
     721px   tablets (portrait)
     901px   tablets (landscape), small laptops — the full header menu
     1001px  desktop — the prototype's own layout
   Class names carry a dmh- prefix so the engine's scheme CSS (.light .eyebrow,
   .light .btn …) never restyles them by accident.
   Departures from the prototype are listed in README ("Where the theme departs").
   ========================================================================== */

:root{
  --ink:#162a35;
  --ink-2:#24404d;
  --paper:#f8f7f3;
  --white:#fffefd;
  --fog:#eef2ee;
  --line:#d5ddd8;
  --muted:#5f6e76;          /* prototype #62717a; a step deeper for small text */
  --copper:#d9673d;         /* decorative: icons, pulse, dots, rings */
  --copper-dark:#b44a29;    /* copper text on light grounds (prototype #bd4f2d) */
  --copper-light:#f09968;   /* copper text on dark grounds */
  --btn:#c2532d;            /* button fill: white label ≥ 4.5:1 (prototype #d9673d is 3.5:1) */
  --btn-hover:#a9452a;
  --pine:#2c5a55;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif;
  --header-h:72px;
}

/* ---------- Base ---------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{display:block;max-width:100%}
picture{display:block}
h1,h2,h3,h4,p,figure,blockquote,ul,ol,dl,dd{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}   /* headings focused by site.js when the estimator changes step */
.dmh-shell{width:calc(100% - 32px);margin:0 auto}
@media (min-width:721px){
  .dmh-shell{width:min(1180px,calc(100% - 48px))}
}
.dmh-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.dmh-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;font-size:14px;border-radius:8px}
.dmh-skip:focus{top:12px}
.dmh-icon{flex:0 0 auto}

/* ---------- Shared type --------------------------------------------------- */
.dmh-eyebrow{display:flex;align-items:center;gap:7px;color:#587079;font-size:12px;font-weight:800;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}
.dmh-eyebrow--hero{color:#b6d0c9}
.dmh-copper{color:var(--copper-dark)}
.dmh-pulse{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--copper);box-shadow:0 0 0 4px rgba(217,103,61,.15)}
.dmh-heading{max-width:635px}
.dmh-title{margin:12px 0 14px;color:var(--ink);font-size:clamp(2rem,3.15vw,3.25rem);font-weight:700;letter-spacing:-.065em;line-height:1}
.dmh-title i,.dmh-title em,.dmh-hero__title i,.dmh-hero__title em{color:var(--copper-dark);font-family:var(--serif);font-weight:400;letter-spacing:-.08em}
.dmh-lede{margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.dmh-section{padding:80px 0}
@media (min-width:901px){
  .dmh-section{padding:106px 0}
}
.dmh-kicker{color:var(--copper-dark);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
@media (min-width:1001px){
  .dmh-kicker{font-size:10px}
}
.dmh-toprow{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px}
@media (min-width:721px){
  .dmh-toprow{flex-direction:row;align-items:flex-end;gap:28px}
}

/* Buttons and links */
.dmh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;gap:8px;border:0;border-radius:10px;padding:13px 16px;background:var(--btn);color:#fff;font-size:14px;font-weight:700;line-height:1;transition:background .2s,transform .2s}
.dmh-btn:hover{background:var(--btn-hover);color:#fff}
.dmh-btn--lg{padding:14px 18px}
.dmh-btn--block{display:flex;width:100%}
/* Touch targets: text links are at least 44px tall below 1001px; an underlined
   link keeps its line just under the words (align-items:flex-end). */
.dmh-underline{display:inline-flex;align-items:flex-end;min-height:44px;gap:8px;flex:0 0 auto;border-bottom:1px solid currentColor;padding-bottom:5px;color:#d3e2dd;font-size:15px;font-weight:700}
.dmh-underline--dark{color:var(--ink)}
.dmh-underline:hover{color:var(--copper-light)}
.dmh-underline--dark:hover{color:var(--copper-dark)}
.dmh-arrow{display:inline-flex;align-items:center;min-height:44px;gap:6px;color:var(--copper-dark);font-size:15px;font-weight:700}
.dmh-arrow--sm{font-size:14px}
.dmh-arrow:hover{text-decoration:underline;text-underline-offset:3px}
@media (hover:hover){
  .dmh-btn:hover{transform:translateY(-1px)}
}
@media (min-width:1001px){
  .dmh-underline{align-items:center;min-height:0;font-size:13px}
  .dmh-btn{min-height:0}
  .dmh-arrow{min-height:0;font-size:13px}
  .dmh-arrow--sm{font-size:12px}
}

/* Material colour dots and swatches */
.dmh-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:middle}
.dmh-dot--stone,.dmh-swatch--stone span{background:#6a6e68}
.dmh-dot--copper,.dmh-swatch--copper span{background:#b36445}
.dmh-dot--cedar,.dmh-swatch--cedar span{background:#ad7b57}
.dmh-dot--slate,.dmh-swatch--slate span{background:#425966}

/* Photos */
.dmh-photo{position:relative;overflow:hidden}
.dmh-photo picture,.dmh-photo__img{width:100%;height:100%}
.dmh-photo__img{object-fit:cover}

/* ---------- Header ----------------------------------------------------------
   Phone: logo, the estimate button and the menu button; the menu opens as a
   panel under the bar (site.js). From 901px: the prototype's single row. */
.dmh-header{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(213,221,216,.78);background:rgba(248,247,243,.93);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.dmh-header__inner{position:relative;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.dmh-brand{display:inline-flex;align-items:center;min-height:44px;gap:10px;min-width:max-content;font-size:15px;letter-spacing:-.04em;color:var(--ink)}
.dmh-brand__mark{position:relative;display:inline-grid;place-items:end center;width:31px;height:31px;overflow:hidden;border-radius:9px;background:var(--ink)}
.dmh-brand__mark::before{content:"";position:absolute;width:27px;height:27px;top:8px;transform:rotate(45deg);background:var(--copper)}
.dmh-brand__mark span{z-index:1;width:12px;height:13px;margin-bottom:4px;border-radius:2px 2px 0 0;background:#f6eee5}
.dmh-brand__text strong{display:block;line-height:.78;font-size:16px;letter-spacing:-.07em}
.dmh-brand__text em{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
@media (min-width:401px){
  .dmh-brand__text strong{font-size:18px}
}

.dmh-header__panel{display:none;flex:1;justify-content:center;position:absolute;left:-16px;right:-16px;top:100%;flex-direction:column;align-items:stretch;gap:4px;padding:10px 16px 20px;background:rgba(248,247,243,.98);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(22,42,53,.08)}
.dmh-header.is-open .dmh-header__panel{display:flex}
.dmh-nav{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;font-size:16px;color:#3e505a}
.dmh-nav a{padding:13px 0;border-bottom:1px solid #e3e8e4}
.dmh-nav a:hover,.dmh-nav a.is-current{color:var(--copper-dark)}
.dmh-header__actions{display:flex;align-items:center;gap:10px}
.dmh-phone{display:inline-flex;align-items:center;gap:6px;color:#52636c;font-size:13px;font-weight:700;white-space:nowrap}
.dmh-phone:hover{color:var(--copper-dark)}
.dmh-phone--panel{display:inline-flex;min-height:44px;padding:8px 0 0;font-size:15px}
.dmh-header__actions > .dmh-phone{display:none}
.dmh-header__cta{display:inline-flex;align-items:center;min-height:44px;gap:8px;border-radius:10px;padding:0 12px;background:var(--btn);color:#fff;font-size:14px;font-weight:700;line-height:1;white-space:nowrap;transition:background .2s,transform .2s}
.dmh-header__cta svg{display:none}
.dmh-header__cta:hover{background:var(--btn-hover)}
.dmh-burger{display:inline-flex;border:0;background:transparent;color:var(--ink);padding:10px;margin-right:-10px}
@media (hover:hover){
  .dmh-header__cta:hover{transform:translateY(-1px)}
}
.dmh-burger__close{display:none}
.dmh-header.is-open .dmh-burger__open{display:none}
.dmh-header.is-open .dmh-burger__close{display:inline}
@media (min-width:401px){
  .dmh-header__cta{padding:0 14px}
  .dmh-header__cta svg{display:inline}
}
@media (min-width:721px){
  .dmh-header__panel{left:-24px;right:-24px;padding:10px 24px 20px}
}
@media (min-width:901px){
  .dmh-header__panel{display:flex;position:static;left:auto;right:auto;top:auto;flex-direction:row;align-items:normal;gap:normal;padding:0;background:none;border-bottom:0;box-shadow:none}
  .dmh-nav{flex-direction:row;align-items:center;gap:15px;font-size:12px}
  .dmh-nav a{padding:0;border-bottom:0}
  .dmh-phone--panel{display:none}
  .dmh-header__actions{gap:16px}
  .dmh-burger{display:none}
}
@media (min-width:1001px){
  .dmh-nav{gap:25px;font-size:14px}
  .dmh-header__actions > .dmh-phone{display:inline-flex}
  .dmh-header__cta{min-height:0;padding:11px 13px}
  .dmh-brand{min-height:0}
}

/* ---------- Home hero ----------------------------------------------------- */
.dmh-hero{position:relative;overflow:hidden;min-height:0;padding:40px 0 52px;background:var(--ink);color:#fff}
.dmh-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 2%,rgba(94,149,145,.2),transparent 35%),linear-gradient(121deg,transparent 56%,rgba(230,216,191,.045))}
/* Phone: the copy's children join the grid (display:contents) so the estimator
   sits right under the lede and the three figures follow it — the address field
   is on the first screen. From 721px: the prototype's order. */
.dmh-hero__layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr;align-items:center;gap:0}
.dmh-hero__copy{display:contents;padding-bottom:12px;max-width:650px}
.dmh-hero__title{max-width:630px;margin:14px 0 16px;font-size:clamp(2.6rem,12vw,4rem);font-weight:700;letter-spacing:-.075em;line-height:.96}
.dmh-hero__title i,.dmh-hero__title em,.dmh-darkhero .dmh-title i,.dmh-darkhero .dmh-title em{color:var(--copper-light)}
.dmh-hero__lede{max-width:520px;margin:0;color:#cfdbd6;font-size:17px;line-height:1.55}
.dmh-hero__stats{order:2;display:flex;flex-wrap:wrap;gap:12px 23px;margin-top:26px;color:#9fb6b1;font-size:13px}
.dmh-hero__stats > span{display:inline-flex;align-items:center;gap:6px}
.dmh-hero__stats strong{color:#fff;font-size:15px}
.dmh-hero .dmh-est{order:1;margin-top:26px;max-width:690px}
.dmh-contour{position:absolute;border:1px solid rgba(171,213,203,.15);border-radius:48% 52% 40% 60%;transform:rotate(-23deg);pointer-events:none}
.dmh-contour--one{width:510px;height:520px;left:-280px;bottom:-350px}
.dmh-contour--two{width:360px;height:390px;right:-160px;top:-225px}
@media (min-width:721px){
  .dmh-hero{min-height:650px;padding:67px 0 84px}
  .dmh-hero__layout{gap:43px}
  .dmh-hero__copy{display:block}
  .dmh-hero__title{margin:19px 0 22px;font-size:clamp(3.25rem,9vw,5rem)}
  .dmh-hero__lede{font-size:19px}
  .dmh-hero__stats{order:0;margin-top:42px}
  .dmh-hero .dmh-est{order:0;margin-top:0}
}
@media (min-width:1001px){
  .dmh-hero{padding-top:82px}
  .dmh-hero__layout{grid-template-columns:minmax(0,.94fr) minmax(470px,1.06fr);gap:76px}
  .dmh-hero__copy{max-width:none}
  .dmh-hero__title{font-size:clamp(3rem,5.05vw,5.2rem)}
  .dmh-hero .dmh-est{max-width:none}
}

/* Hero photo or slideshow (dmh_bg_media). The layers are the section's first
   children: photo(s), then the ink shade; the admin's preview replaces them with
   background-image layers of the same class names. --bg-overlay (0–1, the
   editor's "Shade") deepens the shade; the side the words are on never gets
   lighter than the copy's contrast needs. */
.bc-bg-host > .page-head__bg,.bc-bg-host > .page-head__slide-track{position:absolute;inset:0;overflow:hidden;background-color:var(--ink);background-position:center;background-size:cover;pointer-events:none}
.page-head__slide-item{position:absolute;inset:0;opacity:0;background-position:center;background-size:cover;transition:opacity 1.4s ease}
.page-head__slide-item.is-active{opacity:1}
[data-transition="fade-through"] > .page-head__slide-item{transition-duration:.7s}
[data-transition="fade-through"] > .page-head__slide-item.is-active{transition-delay:.7s}
.dmh-bg picture,.dmh-bg__img{width:100%;height:100%}
.dmh-bg__img{object-fit:cover;object-position:50% 70%}   /* houses sit low in most frames */
.page-head__bg--zoom{animation:dmh-zoom-in 24s ease-in-out infinite alternate}
[data-motion="zoom-in"] > .is-active,[data-motion="zoom-in"] > .is-leaving,
[data-motion="mixed"] > .is-active:nth-child(odd),[data-motion="mixed"] > .is-leaving:nth-child(odd){animation:dmh-zoom-in var(--dmh-slide-ms,7s) linear both}
[data-motion="zoom-out"] > .is-active,[data-motion="zoom-out"] > .is-leaving,
[data-motion="mixed"] > .is-active:nth-child(even),[data-motion="mixed"] > .is-leaving:nth-child(even){animation:dmh-zoom-out var(--dmh-slide-ms,7s) linear both}
@keyframes dmh-zoom-in{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes dmh-zoom-out{from{transform:scale(1.08)}to{transform:scale(1)}}
.dmh-bg__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(22,42,53,calc(.46 + var(--bg-overlay,.6) * .44)) 0%,rgba(22,42,53,calc(.8 + var(--bg-overlay,.6) * .15)) 38%,rgba(22,42,53,.96) 72%)}
.dmh-hero.has-photo::before{display:none}
.dmh-hero.has-photo .dmh-hero__copy{text-shadow:0 1px 22px rgba(9,22,29,.55)}
.dmh-hero.has-photo .dmh-eyebrow--hero{color:#d3e3de}
.dmh-hero.has-photo .dmh-hero__lede{color:#e1ebe7}
.dmh-hero.has-photo .dmh-hero__stats{color:#c4d5d0}
@media (min-width:721px){
  .dmh-bg__shade{background:linear-gradient(180deg,rgba(22,42,53,calc(.5 + var(--bg-overlay,.6) * .4)) 0%,rgba(22,42,53,calc(.72 + var(--bg-overlay,.6) * .22)) 45%,rgba(22,42,53,.94) 100%)}
}
@media (min-width:1001px){
  .dmh-bg__shade{background:linear-gradient(90deg,rgba(22,42,53,calc(.8 + var(--bg-overlay,.6) * .16)) 0%,rgba(22,42,53,calc(.66 + var(--bg-overlay,.6) * .26)) 40%,rgba(22,42,53,calc(.12 + var(--bg-overlay,.6) * .7)) 100%),linear-gradient(0deg,rgba(22,42,53,.5),transparent 30%)}
}

/* Slideshow controls, added by site.js: pause/play and a dot per photo. */
.dmh-slides{position:absolute;z-index:2;right:16px;bottom:6px;display:flex;align-items:center;gap:2px;padding:0 4px;border-radius:999px;background:rgba(12,28,35,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.dmh-slides button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:#fff}
.dmh-slides__dot::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45);transition:background .2s,transform .2s}
.dmh-slides__dot[aria-current="true"]::before{background:#fff;transform:scale(1.25)}
.dmh-slides button:focus-visible{outline:2px solid var(--copper-light);outline-offset:-4px;border-radius:50%}
@media (min-width:1001px){
  .dmh-slides{right:max(24px,calc((100% - 1180px) / 2));bottom:22px}
  .dmh-slides button{width:32px;height:32px}
}

/* ---------- Estimator ----------------------------------------------------- */
.dmh-est{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:21px;background:#f8faf8;box-shadow:0 26px 65px rgba(0,0,0,.25);color:var(--ink)}
.dmh-est__start,.dmh-est__low{min-height:0;padding:30px 22px}
.dmh-est__eyebrow{color:#5f777c}
.dmh-est__h{max-width:440px;margin:14px 0 12px;color:var(--ink);font-size:29px;font-weight:700;letter-spacing:-.055em;line-height:1.02}
.dmh-est__p{max-width:490px;margin:0;color:var(--muted);font-size:16px;line-height:1.58}
.dmh-est__address{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:24px;padding:6px 6px 6px 13px;border:1px solid #cfd9d4;border-radius:12px;background:#fff;color:#76858b;box-shadow:0 6px 15px rgba(26,48,56,.05)}
/* 16px: iOS zooms into any field with smaller text. */
.dmh-est__address input,.dmh-compact input{min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px;padding:10px 0}
.dmh-est__address input::placeholder,.dmh-compact input::placeholder,.dmh-est__manual input::placeholder{color:#8a979c}
.dmh-est__address:focus-within,.dmh-compact:focus-within,.dmh-est__manual:focus-within{border-color:var(--copper);box-shadow:0 0 0 3px rgba(217,103,61,.18)}
.dmh-est__address button,.dmh-est__manual button{display:inline-flex;align-items:center;min-height:48px;gap:8px;border:0;border-radius:9px;padding:13px 16px;background:var(--btn);color:#fff;font-weight:700;font-size:15px;white-space:nowrap;transition:background .2s}
.dmh-est__address button{grid-column:1 / -1;justify-content:center;margin-top:2px}
.dmh-est__address button:hover,.dmh-est__manual button:hover{background:var(--btn-hover)}
.dmh-est__error{margin:10px 0 0;color:#b5462e;font-size:13px}
.dmh-est__trust{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:17px;color:#5d6f75;font-size:13px;font-weight:700}
.dmh-est__trust span{display:inline-flex;align-items:center;gap:4px}
.dmh-est__trust svg{color:var(--pine)}
.dmh-est__textbtn{display:inline-flex;align-items:flex-end;min-height:44px;margin-top:8px;padding:0;border:0;border-bottom:1px solid #96a6a4;background:transparent;color:#53666d;font-size:14px;font-weight:700}
.dmh-est__textbtn:hover{color:var(--copper-dark);border-color:currentColor}
.dmh-est__noscript{margin:0;padding:14px 42px;background:#f5e4dc;color:#7a3a22;font-size:13px}
.dmh-est__noscript a{text-decoration:underline}
@media (min-width:721px){
  .dmh-est__start,.dmh-est__low{min-height:447px;padding:42px}
  .dmh-est__h{font-size:35px}
  .dmh-est__address{grid-template-columns:auto 1fr auto;margin-top:34px;padding:7px 7px 7px 15px}
  .dmh-est__address button{grid-column:auto;justify-content:normal;margin-top:0}
}
@media (min-width:1001px){
  .dmh-est__address input,.dmh-compact input{font-size:15px;padding:8px 0}
  .dmh-est__address button,.dmh-est__manual button{min-height:0;font-size:14px}
  .dmh-est__trust{font-size:12px}
  .dmh-est__textbtn{align-items:normal;min-height:0;margin-top:21px;font-size:13px}
}


.dmh-est__low{max-width:620px;padding-right:22px}
.dmh-est__stateicon{display:inline-grid;place-items:center;width:47px;height:47px;border-radius:14px;background:#f5e4dc;color:var(--copper-dark)}
.dmh-est__low .dmh-eyebrow{margin-top:24px}
.dmh-est__label{display:block;margin:26px 0 8px;color:#43545c;font-size:13px;font-weight:700}
.dmh-est__label span{color:#7a878b;font-weight:400}
.dmh-est__manual{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:5px 5px 5px 13px;border:1px solid #cbd6d1;border-radius:11px;background:#fff}
.dmh-est__manual input{flex:1;min-width:40px;border:0;outline:0;color:var(--ink);background:transparent;padding:8px 0}
.dmh-est__manual > span{color:#6c7a82;font-size:13px}
.dmh-est__manual button{flex:1 0 100%;justify-content:center}
@media (min-width:721px){
  .dmh-est__low{padding-right:64px}
  .dmh-est__manual{flex-wrap:nowrap}
  .dmh-est__manual button{flex:0 1 auto;justify-content:normal}
}

.dmh-est__result{background:#fff}
.dmh-est__map{position:relative;height:195px;overflow:hidden;background:#78928c}
.dmh-est__map picture,.dmh-est__mapimg{width:100%;height:100%}
.dmh-est__mapimg{object-fit:cover;filter:saturate(.65) contrast(1.12) brightness(.75)}
.dmh-est__grid{position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.55) 1px,transparent 1px);background-size:36px 36px}
.dmh-est__pin{position:absolute;top:50%;left:50%;display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;background:var(--btn);box-shadow:0 6px 14px rgba(0,0,0,.25);color:#fff;font-size:12px;font-weight:700;transform:translate(-50%,-50%);white-space:nowrap}
.dmh-est__edit{position:absolute;right:12px;bottom:10px;min-height:44px;border:0;border-radius:7px;padding:0 14px;background:rgba(20,38,48,.8);color:#fff;font-size:13px;font-weight:700}
.dmh-est__edit:hover{background:rgba(20,38,48,.95)}
.dmh-est__mapadmin{position:absolute;left:12px;top:12px}
.dmh-est__summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px;border-bottom:1px solid #e3e8e5}
.dmh-est__place{margin:6px 0 5px;font-size:22px;letter-spacing:-.04em;line-height:1.15;overflow-wrap:anywhere}
.dmh-est__note{margin:0;color:#66757c;font-size:13px}
.dmh-est__meters{display:flex;flex-wrap:wrap;gap:12px 17px}
.dmh-est__profile{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.dmh-est__textbtn.dmh-est__resize{margin-top:4px}
.dmh-meter{display:flex;align-items:center;gap:7px;color:#6c8085}
.dmh-meter svg{color:var(--copper)}
.dmh-meter strong,.dmh-meter span{display:block}
.dmh-meter strong{color:var(--ink);font-size:14px;line-height:1.1;white-space:nowrap}
.dmh-meter span{margin-top:3px;color:#6f7e85;font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.dmh-est__unlock{display:grid;grid-template-columns:1fr}
.dmh-est__locked{padding:22px;background:#f2f5f2}
.dmh-caption{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:13px}
.dmh-caption span{color:#455861;font-size:13px;font-weight:800}
.dmh-caption small{color:#78858b;font-size:12px}
@media (min-width:721px){
  .dmh-est__summary{padding:27px 32px 24px}
  .dmh-est__meters{flex-wrap:nowrap;gap:17px}
  .dmh-est__locked{padding:26px 29px}
}
@media (min-width:901px){
  .dmh-est__summary{flex-direction:row}
  .dmh-est__unlock{grid-template-columns:.93fr 1.07fr}
}
@media (min-width:1001px){
  .dmh-est__edit{right:16px;bottom:14px;min-height:0;padding:7px 9px;font-size:12px}
  .dmh-est__note{font-size:12px}
  .dmh-meter span{font-size:10px}
  .dmh-caption small{font-size:11px}
}

.dmh-prices{display:grid;gap:2px}
.dmh-prices__row{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #dde4e0}
.dmh-prices__row:last-child{border-bottom:0}
.dmh-prices__name strong,.dmh-prices__name span{display:block}
.dmh-prices__name strong{font-size:14px}
.dmh-prices__name span{margin-top:3px;color:#728085;font-size:12px}
.dmh-prices__range{font-size:14px;letter-spacing:-.03em;white-space:nowrap}
.dmh-prices__range.is-locked{filter:blur(5px);-webkit-user-select:none;user-select:none}
.dmh-prices__badge{position:absolute;right:0;bottom:0;border-radius:4px;padding:2px 4px;background:#d6e8df;color:#2b6b58;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
@media (min-width:1001px){
  .dmh-prices__name strong{font-size:12px}
  .dmh-prices__name span{font-size:10px}
  .dmh-prices__range{font-size:12px}
  .dmh-prices__badge{font-size:8px}
}

.dmh-est__lead{padding:22px}
.dmh-est__leadh{max-width:320px;margin:7px 0 18px;font-size:19px;letter-spacing:-.04em;line-height:1.13}
.dmh-est__fields{display:grid;grid-template-columns:1fr;gap:10px}
.dmh-est__fields label,.dmh-contactform label{display:grid;gap:6px;color:#56666d;font-size:13px;font-weight:700}
.dmh-est__fields .is-wide{grid-column:auto}
.dmh-est__fields input,.dmh-est__fields select,.dmh-contactform input,.dmh-contactform textarea,.dmh-apply__form input{width:100%;border:1px solid #d3ddd8;border-radius:7px;padding:12px;outline-color:var(--copper);background:#fff;color:var(--ink);font-size:16px;font-weight:400}
.dmh-est__fields select{height:48px;padding:0 10px}
.dmh-est__consent{display:flex;align-items:flex-start;gap:10px;margin-top:16px;color:#66747a;font-size:13px;line-height:1.38;cursor:pointer}
.dmh-est__consent input{flex:0 0 auto;width:20px;height:20px;margin:0;accent-color:var(--btn)}
.dmh-est__submit{width:100%;min-height:48px;margin-top:14px;padding:13px}
.dmh-est__submit[disabled]{opacity:.65;cursor:progress}
.dmh-est__small{display:block;margin-top:9px;color:#7d888b;font-size:12px;text-align:center}
.dmh-est__full{padding:0 22px 24px}
.dmh-est__success{display:flex;align-items:center;gap:10px;margin:0 -22px 20px;padding:14px 22px;background:#deeee7;color:#295e50;font-size:13px}
.dmh-est__success strong{color:#1d5144}
.dmh-est__full .dmh-caption{margin-bottom:2px}
.dmh-est__notes{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:20px;color:#66757c;font-size:13px}
.dmh-est__notes span,.dmh-est__notes button{display:flex;align-items:center;gap:6px}
.dmh-est__notes svg{color:var(--pine)}
.dmh-est__notes button{flex:0 0 auto;min-height:44px;border:0;background:transparent;color:var(--copper-dark);font-size:14px;font-weight:700;padding:0}
@media (min-width:721px){
  .dmh-est__lead{padding:27px 29px 24px}
  .dmh-est__fields{grid-template-columns:1fr 1fr}
  .dmh-est__fields .is-wide{grid-column:span 2}
  .dmh-est__full{padding:0 30px 28px}
  .dmh-est__success{margin:0 -30px 23px;padding:14px 30px}
  .dmh-est__notes{flex-direction:row;align-items:center;gap:18px}
}
@media (min-width:1001px){
  .dmh-est__fields label,.dmh-contactform label{gap:5px;font-size:11px}
  .dmh-est__fields input,.dmh-est__fields select,.dmh-contactform input,.dmh-contactform textarea,.dmh-apply__form input{padding:9px 10px;font-size:13px}
  .dmh-est__fields select{height:36px;padding:0 8px}
  .dmh-est__consent{gap:8px;margin-top:14px;font-size:11px}
  .dmh-est__consent input{width:16px;height:16px}
  .dmh-est__submit{min-height:0}
  .dmh-est__small{font-size:10px}
  .dmh-est__notes{font-size:11px}
  .dmh-est__notes button{min-height:0;font-size:12px}
}

/* ---------- Trust strip / support strip ----------------------------------- */
.dmh-trust{border-bottom:1px solid #dfe5e0;background:var(--fog)}
.dmh-trust__inner{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:12px 20px;padding:16px 0;color:#53646a;font-size:13px;font-weight:700}
.dmh-trust ul{display:flex;flex-wrap:wrap;gap:8px 23px;padding:0;list-style:none}
.dmh-trust li,.dmh-support li{display:inline-flex;align-items:center;gap:7px}
.dmh-trust svg,.dmh-support svg{color:var(--copper)}
.dmh-support{border-top:1px solid #dce4df;background:var(--fog)}
.dmh-support__list{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px 18px;padding:23px 0;margin:0 auto;list-style:none;color:#566a70;font-size:13px;font-weight:700}
.dmh-support li{gap:8px}
@media (min-width:901px){
  .dmh-trust__inner{flex-direction:row;align-items:center}
  .dmh-support__list{flex-direction:row;align-items:normal}
}

/* ---------- Steps --------------------------------------------------------- */
.dmh-steps__grid{display:grid;grid-template-columns:1fr;gap:19px;margin-top:44px}
.dmh-step{position:relative;min-height:0;padding:29px;border-radius:15px;background:#edf1ed}
.dmh-step:nth-child(3n+2){background:#e6eeea}
.dmh-step:nth-child(3n){background:#f2ebe6}
.dmh-step > svg{color:var(--copper)}
.dmh-step__n{position:absolute;top:28px;right:29px;color:#6f807e;font-size:12px;font-weight:800;letter-spacing:.08em}
.dmh-step__title{margin:28px 0 9px;font-size:18px;letter-spacing:-.04em;color:var(--ink)}
.dmh-step p{margin:0;color:#5b6b71;font-size:15px;line-height:1.5}
@media (min-width:721px){
  .dmh-steps__grid{grid-template-columns:1fr 1fr}
  .dmh-step{min-height:234px}
  .dmh-step__title{margin-top:49px}
}
@media (min-width:1001px){
  .dmh-step p{font-size:14px}
}
@media (min-width:901px){
  .dmh-steps__grid{grid-template-columns:repeat(3,1fr)}
}

/* ---------- Material cards (dark) ----------------------------------------- */
.dmh-materials{background:var(--ink);color:#fff}
.dmh-materials .dmh-title{color:#fff}
.dmh-materials .dmh-lede{color:#bbcbc5}
.dmh-materials .dmh-eyebrow{color:#8fb0aa}
.dmh-materials__grid{display:grid;grid-template-columns:1fr;gap:13px;margin-top:39px}
.dmh-matcard{display:flex;flex-direction:column;min-height:0;padding:20px;border:1px solid rgba(206,227,218,.17);border-radius:14px;background:rgba(255,255,255,.04)}
.dmh-swatch{display:grid;place-items:center;height:67px;overflow:hidden;border-radius:9px;background:linear-gradient(130deg,#566b6d,#263e48)}
.dmh-swatch span{width:180%;height:13px;transform:rotate(-17deg);opacity:.96;box-shadow:0 14px 0 rgba(255,255,255,.13),0 -14px 0 rgba(0,0,0,.1)}
.dmh-matcard__name{margin:20px 0 7px;font-size:16px;letter-spacing:-.035em}
.dmh-matcard__desc{min-height:0;margin:0;color:#aec0bb;font-size:14px;line-height:1.45}
.dmh-matcard__price{margin-top:18px}
.dmh-matcard__price span,.dmh-matcard__price strong{display:block}
.dmh-matcard__price span{color:#91a7a1;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.dmh-matcard__price strong{margin-top:3px;color:#fff;font-size:19px;letter-spacing:-.05em}
.dmh-matcard__meta{display:flex;justify-content:space-between;gap:5px;margin-top:12px;color:#9db1ab;font-size:12px}
.dmh-matcard__link{display:inline-flex;align-items:center;min-height:44px;gap:2px;margin-top:8px;color:#f39a70;font-size:14px;font-weight:700}
.dmh-matcard__link:hover{color:#ffb593}
@media (min-width:721px){
  .dmh-materials__grid{grid-template-columns:1fr 1fr}
  .dmh-matcard{min-height:330px}
  .dmh-matcard__desc{min-height:62px}
}
@media (min-width:1001px){
  .dmh-materials__grid{grid-template-columns:repeat(4,1fr)}
  .dmh-matcard__desc{font-size:12px}
  .dmh-matcard__price span,.dmh-matcard__meta{font-size:10px}
  .dmh-matcard__link{min-height:0;margin-top:20px;font-size:12px}
}

/* ---------- Company details ---------------------------------------------------- */
.dmh-company__grid{display:grid;grid-template-columns:1fr;gap:12px;margin:32px 0 0}
.dmh-company__item{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid #d9e1dc;border-radius:13px;background:#fff}
.dmh-company__item > svg{margin-top:2px;color:var(--copper)}
.dmh-company dt{color:#5f6e76;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.dmh-company dd{margin:4px 0 0;color:var(--ink);font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.dmh-company dd a{display:inline-flex;align-items:center;min-height:44px;margin:-10px 0;color:var(--copper-dark);font-weight:700}
.dmh-company dd a:hover{text-decoration:underline;text-underline-offset:3px}
@media (min-width:721px){
  .dmh-company__grid{grid-template-columns:1fr 1fr;gap:14px}
}
@media (min-width:1001px){
  .dmh-company__grid{grid-template-columns:repeat(3,1fr)}
  .dmh-company dd{font-size:15px}
}

/* ---------- Gallery ---------------------------------------------------------- */
/* Phone: a row to swipe, the next photo peeking in. 721px: two columns, the
   first photo across both. 1001px: the first photo two by two, four beside it. */
.dmh-gallery__grid{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:12px;margin:34px -16px 0;padding:0 16px 4px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;list-style:none;scrollbar-width:none}
.dmh-gallery__grid::-webkit-scrollbar{display:none}
.dmh-gallery__item{min-width:0;scroll-snap-align:start}
.dmh-gallery__fig{position:relative;overflow:hidden;height:100%;aspect-ratio:4/5;border-radius:14px;background:#dfe6e2}
.dmh-gallery__photo{position:absolute;inset:0}
.dmh-gallery__photo .dmh-photo__img{transition:transform .7s ease}
.dmh-gallery__open{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-start;justify-content:flex-end;padding:12px;border:0;background:transparent;color:#fff;cursor:zoom-in}
.dmh-gallery__open:focus-visible{outline:3px solid var(--copper);outline-offset:-3px;border-radius:14px}
.dmh-gallery__zoomicon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(12,28,35,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.dmh-gallery__cap{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;padding:56px 18px 8px;background:linear-gradient(180deg,rgba(12,28,35,0),rgba(12,28,35,.84) 58%);color:#fff}
.dmh-gallery__open + .dmh-gallery__cap{pointer-events:none}
.dmh-gallery__title{margin:0;color:#fff;font-size:17px;letter-spacing:-.035em;line-height:1.2}
.dmh-gallery__text{margin-top:3px;color:#dbe6e2;font-size:14px;line-height:1.4}
.dmh-gallery__link{display:inline-flex;align-items:center;min-height:44px;gap:5px;color:#f7ae8a;font-size:14px;font-weight:700;pointer-events:auto}
.dmh-gallery__link:hover{color:#ffc4a6;text-decoration:underline;text-underline-offset:3px}
.dmh-gallery__cap > :last-child:not(.dmh-gallery__link){margin-bottom:10px}
@media (hover:hover){
  .dmh-gallery__fig:hover .dmh-photo__img{transform:scale(1.04)}
}
@media (min-width:721px){
  .dmh-gallery__grid{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr 1fr;gap:14px;margin:39px 0 0;padding:0;overflow:visible;scroll-snap-type:none}
  .dmh-gallery__fig{aspect-ratio:4/3}
  .dmh-gallery__item:first-child{grid-column:span 2}
  .dmh-gallery__item:first-child .dmh-gallery__fig{aspect-ratio:16/9}
}
@media (min-width:1001px){
  .dmh-gallery__grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px}
  .dmh-gallery__fig,.dmh-gallery__item:first-child .dmh-gallery__fig{aspect-ratio:auto}
  .dmh-gallery__item:first-child{grid-row:span 2}
  .dmh-gallery__cap{padding:44px 16px 4px}
  .dmh-gallery__title{font-size:15px}
  .dmh-gallery__text{font-size:13px}
  .dmh-gallery__link{min-height:32px;font-size:13px}
  .dmh-gallery__item:first-child .dmh-gallery__cap{padding:80px 26px 12px}
  .dmh-gallery__item:first-child .dmh-gallery__title{font-size:21px}
  .dmh-gallery__item:first-child .dmh-gallery__text{font-size:15px}
}

/* Full-screen photo viewer (site.js builds the <dialog>) */
.dmh-lightbox{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#0b171d;color:#fff;overscroll-behavior:contain}
.dmh-lightbox::backdrop{background:#0b171d}
.dmh-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
html.dmh-noscroll{overflow:hidden}
.dmh-lightbox__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(6px + env(safe-area-inset-top,0px)) 6px 6px 18px;color:#b9cbc5;font-size:13px;font-variant-numeric:tabular-nums}
.dmh-lightbox button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff}
.dmh-lightbox button:focus-visible{outline:2px solid var(--copper-light);outline-offset:-2px}
.dmh-lightbox__stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 8px;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.dmh-lightbox__photo{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.dmh-lightbox__photo picture{display:contents}
.dmh-lightbox__photo img{width:auto;height:auto;max-width:100%;max-height:100%;border-radius:6px;object-fit:contain}
.dmh-lightbox .dmh-lightbox__nav{position:absolute;top:50%;margin-top:-22px;background:rgba(12,28,35,.55)}
.dmh-lightbox__nav--prev{left:10px}
.dmh-lightbox__nav--next{right:10px}
.dmh-lightbox__cap{max-width:760px;margin:0 auto;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));text-align:center}
.dmh-lightbox__title{margin:0;font-size:17px;font-weight:700;letter-spacing:-.03em}
.dmh-lightbox__text{margin:3px 0 0;color:#c3d3ce;font-size:14px;line-height:1.45}
.dmh-lightbox__cap .dmh-gallery__link{justify-content:center}
@media (hover:hover){
  .dmh-lightbox button:hover{background:rgba(255,255,255,.12)}
  .dmh-lightbox .dmh-lightbox__nav:hover{background:rgba(12,28,35,.8)}
}
@media (min-width:1001px){
  .dmh-lightbox__stage{padding:0 72px}
  .dmh-lightbox__nav--prev{left:16px}
  .dmh-lightbox__nav--next{right:16px}
}

/* ---------- Sample estimate ------------------------------------------------ */
.dmh-sample{background:#f0f1ec}
.dmh-sample__layout{display:grid;grid-template-columns:1fr;align-items:center;gap:43px}
.dmh-sample__text{max-width:420px;margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.dmh-ticks{display:grid;gap:10px;margin:26px 0;padding:0;list-style:none;color:#465a62;font-size:14px;font-weight:700}
.dmh-ticks li{display:flex;align-items:center;gap:9px}
.dmh-ticks svg{color:var(--pine)}
.dmh-preview{overflow:hidden;border-radius:17px;background:#fff;box-shadow:0 17px 35px rgba(19,43,51,.12)}
.dmh-preview__top{display:flex;justify-content:space-between;gap:12px;padding:16px 21px;background:#1d3642;color:#dce7e3;font-size:12px}
.dmh-preview__top > span{display:flex;align-items:center;gap:5px}
.dmh-preview__body{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:16px;padding:28px 24px}
.dmh-preview__main strong,.dmh-preview__main span{display:block}
.dmh-preview__main strong{font-size:47px;letter-spacing:-.075em;line-height:.9}
.dmh-preview__main span{margin-top:7px;color:#66757b;font-size:12px}
.dmh-preview__rings{display:flex;gap:11px}
.dmh-preview__rings > span{display:grid;place-items:center;align-content:center;width:78px;height:78px;border:6px solid #c5ddd4;border-top-color:var(--copper);border-radius:50%;color:#35515b;font-size:16px;font-weight:800;text-align:center;line-height:1}
.dmh-preview__rings small{display:block;margin-top:3px;color:#6b797e;font-size:10px;letter-spacing:.04em;font-weight:700}
.dmh-preview .dmh-prices{padding:5px 24px 18px}
.dmh-preview .dmh-prices__row{padding:9px 0}
@media (min-width:721px){
  .dmh-preview__body{flex-direction:row;align-items:center}
}
@media (min-width:901px){
  .dmh-sample__layout{grid-template-columns:1fr 1fr}
}
@media (min-width:1001px){
  .dmh-sample__layout{grid-template-columns:.86fr 1.14fr;gap:96px}
  .dmh-preview__top,.dmh-preview__main span{font-size:11px}
  .dmh-preview__rings > span{width:66px;height:66px;font-size:15px}
  .dmh-preview__rings small{margin-top:2px;font-size:8px;letter-spacing:.06em}
}

/* ---------- Cities --------------------------------------------------------- */
.dmh-cities{padding-top:80px}
.dmh-cities__layout{display:grid;grid-template-columns:1fr;align-items:center;gap:43px}
.dmh-cities__art{position:relative;overflow:hidden;height:300px;border-radius:15px;background:var(--ink)}
.dmh-cities__photo{position:absolute;inset:0}
.dmh-cities__photo .dmh-photo__img{filter:saturate(.55) contrast(1.05) brightness(.67)}
.dmh-cities__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(14,33,40,.6));pointer-events:none}
.dmh-cities__caption{position:absolute;z-index:1;left:24px;bottom:23px;display:flex;align-items:center;gap:8px;color:#fff;font-size:13px;font-weight:700}
.dmh-cities__caption svg{color:#f4a074}
.dmh-citylist{display:grid;grid-template-columns:1fr;gap:1px;margin-top:30px;border-top:1px solid #d8e0db}
.dmh-citylist a{display:flex;align-items:center;justify-content:space-between;padding:15px 3px;border-bottom:1px solid #d8e0db;color:#3f535c;font-size:15px;font-weight:700}
.dmh-citylist a:hover{color:var(--copper-dark)}
.dmh-citylist svg{color:#83959a}
@media (min-width:721px){
  .dmh-cities__art{height:360px}
  .dmh-citylist{grid-template-columns:1fr 1fr}
}
@media (min-width:901px){
  .dmh-cities{padding-top:110px}
  .dmh-cities__layout{grid-template-columns:1fr 1fr}
  .dmh-cities__art{height:430px}
}
@media (min-width:1001px){
  .dmh-cities__layout{grid-template-columns:.9fr 1.1fr;gap:86px}
  .dmh-cities__art{height:505px}
}

/* ---------- Guides ---------------------------------------------------------- */
.dmh-guides{background:#eff1ed}
.dmh-guides__grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:39px}
.dmh-guide{display:flex;flex-direction:column;min-height:0;padding:25px;border-radius:14px;background:#fff;color:var(--ink);transition:transform .2s,box-shadow .2s}
@media (hover:hover){
  .dmh-guide:hover{transform:translateY(-3px);box-shadow:0 11px 24px rgba(27,44,46,.08)}
}
.dmh-guide--featured{background:#2b5154;color:#fff}
.dmh-guide--featured .dmh-kicker{color:#f0a47f}
.dmh-guide__title{max-width:305px;margin:18px 0 10px;font-size:22px;letter-spacing:-.055em;line-height:1.04}
.dmh-guide p{margin:0;color:#5f6e73;font-size:14px;line-height:1.5}
.dmh-guide--featured p{color:#c0d5ce}
.dmh-guide__more{display:flex;align-items:center;gap:5px;margin-top:auto;padding-top:18px;color:var(--copper-dark);font-size:14px;font-weight:700}
.dmh-guide--featured .dmh-guide__more{color:#f3a27d}
@media (min-width:721px){
  .dmh-guides__grid{grid-template-columns:1fr 1fr}
  .dmh-guide{min-height:275px}
  .dmh-guide--featured{grid-column:span 2}
}
@media (min-width:1001px){
  .dmh-guides__grid{grid-template-columns:1.35fr 1fr 1fr}
  .dmh-guide--featured{grid-column:auto}
  .dmh-guide p{font-size:13px}
  .dmh-guide__more{font-size:12px}
}

/* ---------- Contractor banner ---------------------------------------------- */
.dmh-banner{padding:48px 0;background:#17313e;color:#fff}
.dmh-banner__inner{display:grid;grid-template-columns:1fr;align-items:center;gap:14px}
.dmh-banner__icon{color:#f39971}
.dmh-banner .dmh-copper{color:var(--copper-light)}
.dmh-banner__title{max-width:610px;margin:6px 0;color:#fff;font-size:24px;letter-spacing:-.065em;line-height:1}
.dmh-banner__text{margin:0;color:#afc5bf;font-size:14px}
.dmh-banner__link{display:inline-flex;align-items:flex-end;min-height:44px;gap:8px;justify-self:start;border-bottom:1px solid #ec9670;padding-bottom:5px;color:#f2a17c;font-size:15px;font-weight:700;white-space:nowrap}
.dmh-banner__link:hover{color:#ffc1a3}
@media (min-width:721px){
  .dmh-banner__inner{grid-template-columns:auto 1fr;gap:24px}
  .dmh-banner__link{grid-column:2}
  .dmh-banner__title{font-size:27px}
}
@media (min-width:901px){
  .dmh-banner__inner{grid-template-columns:auto 1fr auto}
  .dmh-banner__link{grid-column:auto;justify-self:auto}
}
@media (min-width:1001px){
  .dmh-banner__link{align-items:center;min-height:0;font-size:13px}
}

/* ---------- FAQ ------------------------------------------------------------- */
.dmh-faq__layout{display:grid;grid-template-columns:1fr;gap:43px}
.dmh-faq__list{border-top:1px solid #d7dfda}
.dmh-qa{border-bottom:1px solid #d7dfda}
.dmh-qa summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;color:#354b54;cursor:pointer;list-style:none}
.dmh-qa summary::-webkit-details-marker{display:none}
.dmh-qa__q{font-size:15px;font-weight:700;line-height:1.35;letter-spacing:normal}
.dmh-qa summary svg{transition:transform .2s}
.dmh-qa[open] summary svg{transform:rotate(90deg)}
.dmh-qa summary:hover{color:var(--copper-dark)}
.dmh-qa__a{max-width:600px;margin:-3px 0 20px;color:#5d6c72;font-size:15px;line-height:1.55}
.dmh-qa__a a{color:var(--copper-dark);text-decoration:underline;text-underline-offset:3px}
.dmh-faq .dmh-heading .dmh-lede{margin-top:4px}
@media (min-width:901px){
  .dmh-faq__layout{grid-template-columns:.8fr 1.2fr}
}
@media (min-width:1001px){
  .dmh-faq__layout{gap:100px}
  .dmh-qa__a{font-size:14px}
}

/* ---------- Closing CTA ----------------------------------------------------- */
.dmh-cta{padding:64px 0;background:#f0e3da;text-align:center}
.dmh-cta .dmh-eyebrow{justify-content:center}
.dmh-cta .dmh-title{margin-left:auto;margin-right:auto;max-width:760px}
.dmh-cta .dmh-btn{margin-top:4px}
.dmh-cta__note{margin:13px 0 0;color:#6c5d56;font-size:14px}
.dmh-cta--small .dmh-title{font-size:35px}
.dmh-cta__admin{display:flex;justify-content:center;gap:10px;margin-top:14px}
.dmh-compact{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;width:min(650px,100%);margin:28px auto 0;padding:6px 6px 6px 13px;border:1px solid #d2c8c1;border-radius:11px;background:#fff;color:#7c8682;text-align:left;box-shadow:0 5px 14px rgba(57,45,37,.07)}
.dmh-compact button{display:inline-flex;align-items:center;min-height:48px;gap:8px;grid-column:1 / -1;justify-content:center;border:0;border-radius:8px;padding:12px 15px;background:var(--ink);color:#fff;font-size:15px;font-weight:700;white-space:nowrap;transition:background .2s}
.dmh-compact button:hover{background:var(--ink-2)}
.dmh-compact--hero{margin:30px 0 0;border-color:#cfd9d4}
@media (min-width:721px){
  .dmh-cta{padding:90px 0}
  .dmh-cta--small{padding:72px 0}
  .dmh-compact{grid-template-columns:auto 1fr auto;padding:7px 7px 7px 16px}
  .dmh-compact button{grid-column:auto;justify-content:normal}
}
@media (min-width:1001px){
  .dmh-cta__note{font-size:13px}
  .dmh-compact button{min-height:0;font-size:13px}
}

/* ---------- Footer ---------------------------------------------------------- */
.dmh-footer{padding:62px 0 0;background:#142c38;color:#fff}
.dmh-brand--footer{color:#fff}
.dmh-brand--footer .dmh-brand__text em{color:#adc0bd}
.dmh-footer__grid{display:grid;grid-template-columns:1fr;gap:0}
.dmh-footer__brand{grid-column:1 / -1;margin-bottom:20px}
.dmh-footer__brand p{max-width:240px;margin:17px 0 11px;color:#b4c6c0;font-size:14px;line-height:1.55}
.dmh-footer__note{color:#8aa3a3;font-size:12px}
.dmh-footer__nap{display:flex;flex-direction:column;gap:2px;margin-top:16px;color:#b0c4be;font-size:14px;font-style:normal;line-height:1.4}
.dmh-footer__nap > span{display:flex;align-items:center;gap:9px;min-height:44px}
.dmh-footer__nap svg{flex:0 0 auto;color:#7f9b96}
.dmh-footer__nap a{display:inline-flex;align-items:center;min-height:44px}
.dmh-footer__nap a:hover{color:#f1a17b}
/* Phone: each column is a <details> accordion (site.js folds them below 721px). */
.dmh-footer__col{border-top:1px solid rgba(203,224,216,.14)}
.dmh-footer__col summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;list-style:none;cursor:pointer}
.dmh-footer__col summary::-webkit-details-marker{display:none}
.dmh-footer__col summary::marker{content:""}
.dmh-footer__col summary:focus-visible{outline:2px solid var(--copper);outline-offset:-2px}
.dmh-footer__col summary > svg{flex:0 0 auto;color:#8fada7;transition:transform .2s}
.dmh-footer__col[open] summary > svg{transform:rotate(180deg)}
.dmh-footer__links{padding-bottom:14px}
.dmh-footer__col h2{margin:0;color:#e5eeeb;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.dmh-footer__col a,.dmh-footer__col p{display:block;margin:0 0 11px;color:#b0c4be;font-size:14px;line-height:1.4}
.dmh-footer__col a{display:flex;align-items:center;min-height:44px;margin:0;font-size:15px}
.dmh-footer__col a:hover{color:#f1a17b}
.dmh-footer__bottom{display:flex;flex-direction:column;justify-content:space-between;gap:12px;margin-top:24px;padding:18px 0;border-top:1px solid rgba(203,224,216,.15);color:#8aa39f;font-size:12px}
@media (min-width:721px){
  .dmh-footer__grid{grid-template-columns:1.4fr 1fr 1fr;gap:42px}
  .dmh-footer__brand{grid-column:auto;margin-bottom:0}
  .dmh-footer__col{border-top:0}
  .dmh-footer__col summary{min-height:0;margin-bottom:6px;cursor:default;pointer-events:none}
  .dmh-footer__col summary > svg{display:none}
  .dmh-footer__links{padding-bottom:0}
  .dmh-footer__area{grid-column:2 / -1}
  .dmh-footer__bottom{flex-direction:row;margin-top:57px}
  .dmh-footer__nap > span{min-height:0}
}
@media (min-width:1001px){
  .dmh-footer__grid{grid-template-columns:1.4fr .7fr .7fr .7fr}
  .dmh-footer__area{grid-column:auto}
  .dmh-footer__brand p,.dmh-footer__col p{font-size:13px}
  .dmh-footer__note,.dmh-footer__bottom{font-size:11px}
  .dmh-footer__col h2{margin-bottom:17px}
  .dmh-footer__col a{display:block;min-height:0;margin:0 0 11px;font-size:13px}
  .dmh-footer__nap{gap:5px;font-size:13px}
  .dmh-footer__nap > span,.dmh-footer__nap a{min-height:0}
}

/* ---------- Light intro + estimator page ----------------------------------- */
.dmh-intro{padding:54px 0 26px}
.dmh-intro .dmh-title{max-width:760px;margin:19px 0 13px;font-size:clamp(2.9rem,5vw,4.8rem);letter-spacing:-.075em;line-height:.96}
.dmh-intro .dmh-lede{max-width:510px;font-size:17px;line-height:1.5}
.dmh-estblock .dmh-est{max-width:1000px;margin:0 auto 77px;box-shadow:0 18px 45px rgba(19,43,51,.14)}
@media (min-width:721px){
  .dmh-intro{padding:77px 0 31px}
}

/* ---------- Dark heroes (city, material, blog, plain pages, post) ----------- */
.dmh-darkhero{padding:54px 0 60px;background:radial-gradient(circle at 74% 15%,#345e5f,transparent 31%),var(--ink);color:#fff}
.dmh-darkhero .dmh-heading{max-width:none}
.dmh-darkhero .dmh-title{max-width:760px;margin:19px 0 16px;color:#fff;font-size:clamp(2.6rem,12vw,4rem);letter-spacing:-.075em;line-height:.96}
.dmh-darkhero .dmh-lede{max-width:645px;margin:0;color:#c2d0cc;font-size:15px;line-height:1.5}
.dmh-darkhero .dmh-eyebrow:not(.dmh-eyebrow--hero){color:#b6d0c9}
.dmh-darkhero .dmh-btn{margin-top:22px}
.dmh-darkhero--city{background:radial-gradient(circle at 75% 10%,#315c5e 0,transparent 35%),var(--ink)}
.dmh-darkhero--city .dmh-lede strong{color:#fff}
.dmh-cityrange{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:18px 0 0;color:#c2d0cc;font-size:14px}
.dmh-cityrange strong{color:#fff;font-size:22px;letter-spacing:-.04em}
.dmh-darkhero--material{background:radial-gradient(circle at 88% 22%,#4b615d,transparent 32%),#1b313c}
.dmh-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 7px;font-size:13px}
.dmh-crumbs a{display:inline-flex;align-items:center;min-height:44px}
.dmh-crumbs--hero{margin:10px 0 -12px;color:#9eb4b0}
.dmh-crumbs a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.dmh-crumbs [aria-current]{color:#c2d0cc}
@media (min-width:721px){
  .dmh-darkhero{padding:78px 0 76px}
  .dmh-darkhero .dmh-title{font-size:clamp(3rem,5.05vw,5.2rem)}
  .dmh-darkhero .dmh-lede{font-size:17px}
  .dmh-darkhero--city,.dmh-darkhero--material{padding-bottom:82px}
}
@media (min-width:1001px){
  .dmh-crumbs{align-items:normal;gap:4px 7px;font-size:12px}
  .dmh-crumbs a{display:inline;min-height:0}
  .dmh-crumbs--hero{margin:24px 0 -4px}
}

/* City page body */
.dmh-local__grid{display:grid;grid-template-columns:1fr;gap:43px}
.dmh-ptable{width:100%;margin-top:33px;border-collapse:collapse;border-top:1px solid #d9e1dc;color:#566970;font-size:14px}
.dmh-ptable th,.dmh-ptable td{padding:15px 3px;border-bottom:1px solid #d9e1dc;text-align:left;font-weight:400}
.dmh-ptable tbody th{width:auto}
.dmh-ptable td:nth-child(2){font-size:13px}
.dmh-ptable th strong{margin-left:6px;color:var(--ink);font-weight:700}
.dmh-ptable td:last-child{text-align:right;white-space:nowrap}
.dmh-ptable b{color:var(--ink);font-size:14px;letter-spacing:-.03em}
.dmh-callout{align-self:start;padding:27px;border-radius:14px;background:#dfeae4;color:var(--ink)}
.dmh-callout > svg{color:var(--copper-dark)}
.dmh-callout__title{margin:19px 0 8px;font-size:19px;letter-spacing:-.04em;line-height:1.15}
.dmh-callout p{margin:0;color:#526567;font-size:14px;line-height:1.52}
.dmh-callout .dmh-arrow{margin-top:19px}
.dmh-callout .dmh-underline{margin-top:19px}
@media (min-width:721px){
  .dmh-ptable tbody th{width:44%}
  .dmh-ptable td:nth-child(2){font-size:inherit}
}
@media (min-width:901px){
  .dmh-local__grid{grid-template-columns:1.4fr .6fr}
  .dmh-callout{align-self:end}
}
@media (min-width:1001px){
  .dmh-local__grid{gap:76px}
  .dmh-ptable{font-size:13px}
  .dmh-callout p{font-size:13px}
}

.dmh-notes{padding:0 0 80px}
.dmh-notes--head{padding:80px 0}
.dmh-notes--head .dmh-notes__grid{margin-top:36px}
.dmh-notes__grid{display:grid;grid-template-columns:1fr;gap:14px}
.dmh-note{display:flex;flex-direction:column;align-items:flex-start;padding:25px;border:1px solid #d9e1dc;border-radius:13px}
.dmh-note__link{margin-top:auto;padding-top:14px}
.dmh-note__icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#f3ebe5;color:var(--copper-dark)}
.dmh-note__title{margin:21px 0 8px;font-size:17px;letter-spacing:-.04em}
.dmh-note p{margin:0;color:#5e6e74;font-size:14px;line-height:1.55}
@media (min-width:721px){
  .dmh-notes__grid{grid-template-columns:1fr 1fr}
}
@media (min-width:901px){
  .dmh-notes{padding:0 0 105px}
  .dmh-notes--head{padding:106px 0}
  .dmh-notes__grid{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1001px){
  .dmh-note p{font-size:13px}
}

.dmh-links{background:#eef1ed}
.dmh-links__grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:31px}
.dmh-links__grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px;border-radius:8px;background:#fff;color:#40545c;font-size:15px;font-weight:700}
.dmh-links__grid a:hover{color:var(--copper-dark)}
@media (min-width:721px){
  .dmh-links__grid{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1001px){
  .dmh-links__grid a{padding:15px;font-size:13px}
}

/* Material page body */
.dmh-mathero{display:grid;grid-template-columns:1fr;align-items:center;gap:45px}
.dmh-bignum{padding:31px;border:1px solid rgba(215,235,228,.25);border-radius:14px;background:rgba(255,255,255,.07)}
.dmh-bignum > span,.dmh-bignum small{display:block;color:#bfd0ca;font-size:13px}
.dmh-bignum strong{display:block;margin:7px 0 4px;color:#fff;font-size:35px;letter-spacing:-.07em;line-height:1.1}
.dmh-bignum hr{margin:22px 0 17px;border:0;border-top:1px solid rgba(215,235,228,.2)}
.dmh-bignum b{display:block;margin-top:4px;color:#f2a27d;font-size:17px}
@media (min-width:901px){
  .dmh-mathero{grid-template-columns:1fr .7fr}
}
@media (min-width:1001px){
  .dmh-mathero{gap:90px}
  .dmh-bignum > span,.dmh-bignum small{font-size:11px}
}

.dmh-proscons__grid{display:grid;grid-template-columns:1fr;gap:43px;align-items:center}
.dmh-proscons__lists{display:grid;grid-template-columns:1fr;gap:20px;margin-top:30px}
.dmh-proscons__lists h2,.dmh-proscons__lists h3{margin:0 0 14px;font-size:14px}
.dmh-proscons__lists ul{padding:0;list-style:none}
.dmh-proscons__lists li{display:flex;align-items:flex-start;gap:7px;margin:0 0 11px;color:#5e6f75;font-size:15px;line-height:1.35}
.dmh-proscons__lists svg{margin-top:1px;color:var(--pine)}
.dmh-proscons__cons svg{color:var(--copper-dark)}
.dmh-proscons--nophoto .dmh-proscons__lists{max-width:900px}
.dmh-proscons--nophoto .dmh-proscons__lists li{font-size:14px}
.dmh-photopair{display:grid;grid-template-columns:1.15fr .85fr;gap:10px;align-items:end;height:240px}
.dmh-photopair .dmh-photo{height:100%;border-radius:13px;background:#dfe6e2}
.dmh-photopair .dmh-photopair__b{height:72%}
.dmh-photopair .dmh-photo__img{filter:saturate(.63)}
@media (min-width:721px){
  .dmh-proscons__lists{grid-template-columns:1fr 1fr}
  .dmh-photopair{height:336px}
}
@media (min-width:901px){
  .dmh-proscons__grid{grid-template-columns:1fr 1fr}
  .dmh-proscons--nophoto .dmh-proscons__grid{grid-template-columns:1fr}
}
@media (min-width:1001px){
  .dmh-proscons__grid{gap:85px}
  .dmh-proscons__lists li{font-size:13px}
}

.dmh-compare{background:#eef1ed}
.dmh-compare__grid{display:grid;grid-template-columns:1fr;gap:13px;margin-top:31px}
.dmh-compare__grid a{position:relative;display:grid;align-content:start;gap:6px;min-height:144px;padding:22px;border-radius:12px;background:#fff;color:var(--ink);transition:box-shadow .2s}
@media (hover:hover){
  .dmh-compare__grid a:hover{box-shadow:0 11px 24px rgba(27,44,46,.08)}
}
.dmh-compare__grid span{color:#50646c;font-size:13px;font-weight:700}
.dmh-compare__grid strong{font-size:20px;letter-spacing:-.05em}
.dmh-compare__grid small{color:#6f7e83;font-size:13px}
.dmh-compare__grid small span{color:inherit;font-size:inherit;font-weight:400}
.dmh-compare__grid svg{position:absolute;right:18px;bottom:18px;color:var(--copper-dark)}
@media (min-width:721px){
  .dmh-compare__grid{grid-template-columns:1fr 1fr}
}
@media (min-width:901px){
  .dmh-compare__grid{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1001px){
  .dmh-compare__grid small{font-size:11px}
}

/* ---------- Plain pages ----------------------------------------------------- */
.dmh-cards__grid{display:grid;grid-template-columns:1fr;gap:43px;align-items:start}
.dmh-cards--wide .dmh-cards__grid{grid-template-columns:1fr}
.dmh-cards__list{display:grid;grid-template-columns:1fr;gap:14px}
.dmh-card{display:flex;flex-direction:column;align-items:flex-start;min-height:0;padding:23px;border:1px solid #d9e1dc;border-radius:12px}
.dmh-card__n{color:var(--copper-dark);font-size:12px;font-weight:800;letter-spacing:.1em}
.dmh-card__title{margin:27px 0 8px;font-size:17px;letter-spacing:-.04em;line-height:1.2}
.dmh-card p{margin:0;color:#617076;font-size:14px;line-height:1.52}
.dmh-card .dmh-arrow{margin-top:6px}
.dmh-contactform{display:grid;gap:13px;padding:27px;border-radius:13px;background:#e4ece7}
.dmh-contactform__title{margin:0 0 4px;font-size:25px;letter-spacing:-.05em}
.dmh-contactform__form{display:grid;gap:13px}
.dmh-contactform textarea{min-height:100px;resize:vertical}
.dmh-contactform .dmh-btn{margin-top:5px;padding:13px}
.dmh-formmsg{margin:0;padding:10px 12px;border-radius:7px;font-size:13px}
.dmh-formmsg.is-ok{background:#deeee7;color:#1d5144}
.dmh-formmsg.is-err{background:#f5e4dc;color:#8a3a20}
@media (min-width:721px){
  .dmh-cards__list{grid-template-columns:1fr 1fr}
  .dmh-card{min-height:219px}
}
@media (min-width:901px){
  .dmh-cards__grid{grid-template-columns:1.25fr .75fr}
}
@media (min-width:1001px){
  .dmh-cards__grid{gap:80px}
  .dmh-card__n{font-size:11px}
  .dmh-card p{font-size:12px}
  .dmh-card .dmh-arrow{margin-top:16px}
}

.dmh-apply{padding:73px 0;background:#f0e3da}
.dmh-apply__inner{display:grid;grid-template-columns:1fr;align-items:center;gap:42px}
.dmh-apply .dmh-title{margin-bottom:0;font-size:30px}
.dmh-apply__form{display:grid;grid-template-columns:1fr;gap:9px}
.dmh-apply__form .dmh-btn{padding:12px}
.dmh-apply .dmh-formmsg{margin-bottom:10px}
.bc-form-msg{grid-column:1/-1}
@media (min-width:721px){
  .dmh-apply .dmh-title{font-size:36px}
  .dmh-apply__form{grid-template-columns:1fr 1fr}
}
@media (min-width:901px){
  .dmh-apply__inner{grid-template-columns:.75fr 1.25fr}
}
@media (min-width:1001px){
  .dmh-apply__inner{gap:72px}
}

/* Text block (policies and longer copy) */
.dmh-textblock{padding:80px 0}
.dmh-textblock__col{max-width:760px}
.dmh-textblock .dmh-rt p:last-child,.dmh-textblock .dmh-rt ul:last-child{margin-bottom:0}
.dmh-textblock .dmh-heading{margin-bottom:14px}

/* ---------- Blog index ----------------------------------------------------- */
.dmh-blogfeature{padding:54px 0 80px}
.dmh-featured{display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:17px;background:#1e3d49;color:#fff;box-shadow:0 20px 43px rgba(20,43,50,.13)}
.dmh-featured__image{position:relative;min-height:260px;overflow:hidden;background:#263e46}
.dmh-featured__image::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(17,43,49,.15),rgba(17,43,49,.48))}
.dmh-featured__image picture{position:absolute;inset:0}
.dmh-featured__img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:saturate(.8) brightness(.86);transition:transform .4s}   /* 22%: covers are cropped wide; the subject is usually in the upper half */
.dmh-postcard .dmh-featured__img{filter:none}
/* The roofer stands at the very top of this photo: keep his head in wide crops. */
img[src*="/blog-roofer-tear-off"]{object-position:50% 0!important}
@media (hover:hover){
  .dmh-featured:hover .dmh-featured__img{transform:scale(1.025)}
}
.dmh-featured__label{position:absolute;z-index:1;left:21px;bottom:20px;border-radius:5px;padding:6px 8px;background:rgba(255,255,255,.88);color:#385457;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dmh-featured__copy{display:flex;flex-direction:column;justify-content:center;padding:29px 23px}
.dmh-featured__copy .dmh-kicker{color:#efa17e}
.dmh-featured__title{max-width:400px;margin:18px 0 14px;font-size:30px;letter-spacing:-.065em;line-height:1.01}
.dmh-featured__copy p{max-width:415px;margin:0;color:#c5d5d0;font-size:15px;line-height:1.55}
.dmh-featured__more{display:inline-flex;align-items:center;gap:7px;margin-top:29px;color:#efa17e;font-size:13px;font-weight:700}
.dmh-blogfeature__more{margin:64px 0 0;font-size:30px;letter-spacing:-.06em}
.dmh-postgrid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px}
.dmh-postcard{display:flex;flex-direction:column;gap:10px;padding:0 0 24px;overflow:hidden;border:1px solid #d8e1dc;border-radius:12px;background:#fff;color:var(--ink)}
.dmh-postcard__img{display:block;height:180px;overflow:hidden}
.dmh-postcard__img picture{height:100%}
.dmh-postcard > :not(.dmh-postcard__img){margin:0 22px}
.dmh-postcard .dmh-kicker{margin-top:14px}
.dmh-postcard h3{font-size:18px;letter-spacing:-.045em;line-height:1.15}
.dmh-postcard p{color:#617075;font-size:14px;line-height:1.5}
@media (min-width:721px){
  .dmh-blogfeature{padding-top:80px}
  .dmh-featured{grid-template-columns:1fr 1fr}
  .dmh-featured__image{min-height:385px}
  .dmh-featured__copy{padding:36px}
  .dmh-featured__title{font-size:clamp(2rem,3vw,3rem)}
  .dmh-postgrid{grid-template-columns:1fr 1fr}
}
@media (min-width:901px){
  .dmh-blogfeature{padding:78px 0 106px}
}
@media (min-width:1001px){
  .dmh-featured__copy{padding:50px}
  .dmh-postgrid{grid-template-columns:repeat(3,1fr)}
  .dmh-featured__label{font-size:10px}
  .dmh-postcard p{font-size:13px}
}

.dmh-coming{padding:65px 0 80px}
.dmh-coming__head{display:block;justify-content:space-between;align-items:flex-end;gap:50px}
.dmh-coming__head .dmh-title{margin:10px 0 0;font-size:30px;letter-spacing:-.06em}
.dmh-coming__head > p{max-width:420px;margin:14px 0 0;color:#5f6f75;font-size:14px;line-height:1.55}
.dmh-coming__grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:31px}
.dmh-coming__grid article{min-height:210px;padding:24px;border:1px solid #d8e1dc;border-radius:12px;background:#fff;color:var(--ink)}
.dmh-coming__grid .dmh-kicker{letter-spacing:.11em}
.dmh-coming__grid h2,.dmh-coming__grid h3{margin:30px 0 9px;font-size:18px;letter-spacing:-.045em;line-height:1.15}
.dmh-coming__grid p{margin:0;color:#5f6f74;font-size:14px;line-height:1.5}
@media (min-width:721px){
  .dmh-coming{padding-top:80px}
  .dmh-coming__head{display:flex}
  .dmh-coming__head .dmh-title{font-size:37px}
  .dmh-coming__head > p{margin-top:0}
  .dmh-coming__grid{grid-template-columns:1fr 1fr}
}
@media (min-width:901px){
  .dmh-coming{padding:100px 0 106px}
}
@media (min-width:1001px){
  .dmh-coming__grid{grid-template-columns:repeat(3,1fr)}
  .dmh-coming__grid p{font-size:13px}
}

/* ---------- Blog post -------------------------------------------------------- */
.dmh-arthead{padding:54px 0 62px;background:radial-gradient(circle at 74% 16%,#365e5f,transparent 29%),var(--ink)}
.dmh-arthead .dmh-title{max-width:865px;margin:17px 0;font-size:clamp(2.6rem,12vw,4.1rem)}
.dmh-arthead .dmh-lede{max-width:610px;color:#c1d0cc}
.dmh-back{display:inline-flex;align-items:center;min-height:44px;gap:5px;margin-bottom:12px;color:#a8beb8;font-size:14px;font-weight:700}
.dmh-back:hover{color:#f0a07b}
.dmh-artcover{width:min(100% - 32px,540px);height:250px;margin:-25px auto 0;overflow:hidden;border-radius:16px;background:#263e46;position:relative}
.dmh-artcover__photo{height:100%}
.dmh-artcover .dmh-photo__img{object-position:50% 22%;filter:saturate(.85) contrast(1.03) brightness(.9)}
@media (min-width:721px){
  .dmh-arthead{padding:82px 0 69px}
  .dmh-arthead .dmh-title{font-size:clamp(3rem,5.2vw,5.25rem)}
  .dmh-back{margin-bottom:22px}
  .dmh-artcover{width:min(1180px,calc(100% - 48px));height:410px;margin-top:-31px}
}
@media (min-width:1001px){
  .dmh-back{align-items:normal;min-height:0;margin-bottom:35px;font-size:12px}
}

.dmh-artshell{width:min(100% - 32px,540px);display:block;margin:42px auto 70px}
.dmh-toc{position:static;display:grid;gap:11px;margin-bottom:36px;padding:14px;border-radius:9px;background:var(--fog)}
.dmh-toc--empty{display:none}
.dmh-toc > span{margin-bottom:5px;color:#53666e;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
/* Phone: the contents are tappable chips above the text. */
.dmh-toc__list{display:flex;flex-wrap:wrap;gap:8px}
.dmh-toc a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;background:#fff;color:#4f6066;font-size:14px;line-height:1.3}
.dmh-toc a:hover{color:var(--copper-dark)}
.dmh-artbody{min-width:0}
.dmh-artcta{display:none;position:sticky;top:94px;padding:23px;border-radius:13px;background:#f0e3da}
.dmh-artcta__title{margin:13px 0 9px;color:#263e48;font-size:22px;letter-spacing:-.05em;line-height:1.08}
.dmh-artcta p:not(.dmh-eyebrow){margin:0;color:#675d58;font-size:13px;line-height:1.5}
.dmh-artcta .dmh-btn{margin-top:18px;padding:12px}
.dmh-artcta small{display:block;margin-top:9px;color:#7f6a5e;font-size:10px;text-align:center}
@media (min-width:721px){
  .dmh-artshell{width:min(1050px,calc(100% - 48px));display:grid;grid-template-columns:160px minmax(0,1fr);align-items:start;gap:46px;margin:68px auto 112px}
  .dmh-toc{position:sticky;top:94px;margin-bottom:0;padding:4px 0 0;border-radius:0;background:none}
  .dmh-toc--empty{display:grid}
  .dmh-toc__list{display:grid;gap:11px}
  .dmh-toc > span{font-size:11px}
  .dmh-toc a{display:inline;min-height:0;padding:0;border-radius:0;background:none;color:#66757a;font-size:12px;line-height:1.35}
}
@media (min-width:1001px){
  .dmh-artshell{grid-template-columns:180px minmax(0,1fr) 240px}
  .dmh-artshell--nocta{grid-template-columns:180px minmax(0,1fr)}
  .dmh-artcta{display:block}
}

.dmh-rt p{margin:0 0 20px;color:#485b63;font-size:15px;line-height:1.7}
.dmh-artbody > p:first-child{margin-bottom:38px;color:#263e47;font-size:18px;line-height:1.55}
.dmh-rt h2{margin:34px 0 13px;color:#1d343f;font-size:26px;letter-spacing:-.055em;line-height:1.1;scroll-margin-top:98px}
.dmh-rt h3{margin:30px 0 10px;color:#1d343f;font-size:21px;letter-spacing:-.04em;line-height:1.2}
.dmh-rt a{color:var(--copper-dark);text-decoration:underline;text-underline-offset:3px}
.dmh-rt ul{display:grid;gap:11px;margin:24px 0;padding:0;list-style:none}
.dmh-rt ul li{position:relative;padding-left:26px;color:#4b5f66;font-size:15px;line-height:1.48}
.dmh-rt ul li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;background:var(--pine);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.dmh-rt ol{margin:24px 0;padding-left:22px;color:#4b5f66;font-size:15px;line-height:1.48}
.dmh-rt ol li{margin-bottom:9px;padding-left:4px}
.dmh-rt blockquote{position:relative;margin:30px 0 37px;padding:20px 20px 20px 58px;border-left:4px solid var(--copper);border-radius:0 11px 11px 0;background:var(--fog)}
.dmh-rt blockquote::before{content:"";position:absolute;left:20px;top:20px;width:24px;height:24px;background:var(--copper-dark);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242'/%3E%3Cpath d='M16 14v6'/%3E%3Cpath d='M8 14v6'/%3E%3Cpath d='M12 16v6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242'/%3E%3Cpath d='M16 14v6'/%3E%3Cpath d='M8 14v6'/%3E%3Cpath d='M12 16v6'/%3E%3C/svg%3E") center/contain no-repeat}
.dmh-rt blockquote p{margin:4px 0 0;color:#5a6a6f;font-size:15px;line-height:1.5}
.dmh-rt blockquote p:first-child{margin-top:0}
.dmh-rt blockquote strong{color:#35505a}
.dmh-rt hr{margin:36px 0;border:0;border-top:1px solid var(--line)}
@media (min-width:721px){
  .dmh-rt p{font-size:16px}
  .dmh-artbody > p:first-child{font-size:20px}
  .dmh-rt h2{margin-top:42px;font-size:29px}
}
@media (min-width:1001px){
  .dmh-rt blockquote p{font-size:13px}
}

/* ---------- 404 ------------------------------------------------------------- */
.dmh-404{min-height:60vh}
.dmh-404__links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:34px 0 0;padding:0;list-style:none;font-size:14px;font-weight:700}
.dmh-404__links a{display:inline-flex;align-items:flex-end;min-height:44px;color:#d3e2dd;border-bottom:1px solid rgba(211,226,221,.4);padding-bottom:3px}
@media (min-width:1001px){
  .dmh-404__links a{display:inline;min-height:0}
}
.dmh-404__links a:hover{color:var(--copper-light)}

/* ---------- Colour schemes (🎨 picker) ---------------------------------------
   A section painted with a scheme (.dmh-sch + .light/.dark/…) takes the
   engine's --sch-* colours for what sits on its ground; cards keep their own. */
.dmh-sch{background:var(--sch-bg);color:var(--sch-text)}
.dmh-sch .dmh-heading .dmh-title,.dmh-sch > .dmh-shell > .dmh-title,.dmh-sch .dmh-sample__copy .dmh-title,.dmh-sch .dmh-apply .dmh-title{color:var(--sch-text)}
.dmh-sch .dmh-heading .dmh-lede,.dmh-sch .dmh-sample__text,.dmh-sch .dmh-cta__note,.dmh-sch .dmh-coming__head > p,.dmh-sch .dmh-qa__a,.dmh-sch .dmh-ptable{color:var(--sch-muted)}
.dmh-sch .dmh-eyebrow,.dmh-sch .dmh-copper{color:var(--sch-accent)}
/* On the pale schemes the eyebrow keeps the prototype's slate, so a section
   heading reads the same on paper and on fog. */
.dmh-sch.light .dmh-eyebrow:not(.dmh-copper),.dmh-sch.grey .dmh-eyebrow:not(.dmh-copper),.dmh-sch.gold-tint .dmh-eyebrow:not(.dmh-copper){color:#587079}
.dmh-sch .dmh-title i,.dmh-sch .dmh-title em{color:var(--sch-accent)}
.dmh-sch .dmh-qa summary,.dmh-sch .dmh-ticks,.dmh-sch .dmh-ptable b,.dmh-sch .dmh-ptable th strong,.dmh-sch .dmh-underline--dark{color:var(--sch-text)}
.dmh-sch .dmh-faq__list,.dmh-sch .dmh-qa,.dmh-sch .dmh-ptable,.dmh-sch .dmh-ptable th,.dmh-sch .dmh-ptable td,.dmh-sch .dmh-note,.dmh-sch .dmh-card{border-color:color-mix(in srgb,var(--sch-text) 16%,transparent)}
.dmh-sch .dmh-rt p,.dmh-sch .dmh-rt li,.dmh-sch .dmh-note p,.dmh-sch .dmh-card p{color:var(--sch-muted)}
.dmh-sch .dmh-rt h2,.dmh-sch .dmh-rt h3,.dmh-sch .dmh-note__title,.dmh-sch .dmh-card__title{color:var(--sch-text)}
.dmh-sch .dmh-rt a,.dmh-sch .dmh-arrow,.dmh-sch .dmh-card__n{color:var(--sch-accent)}
.dmh-sch .dmh-ticks svg{color:var(--sch-accent)}

/* ---------- Admin-only controls (never rendered for visitors) --------------- */
.dmh-choice{display:inline-flex;align-items:center;gap:6px;margin:8px 8px 0 0;padding:3px 6px;border:1px dashed #d4a017;border-radius:5px;background:#fff8db;color:#5a4500;font:12px/1.3 system-ui,sans-serif;text-transform:none;letter-spacing:normal;vertical-align:middle}
.dmh-choice select,.dmh-choice input{font:12px system-ui,sans-serif;color:#222;background:#fff;border:1px solid #ccb46a;border-radius:3px;padding:1px 3px}
.dmh-adminnote{margin:14px 0 0;padding:8px 10px;border:1px dashed #d4a017;border-radius:6px;background:#fff8db;color:#5a4500;font:12px/1.5 system-ui,sans-serif;text-align:left;letter-spacing:normal;text-transform:none}
.dmh-adminnote a{color:#7a5a00;text-decoration:underline}
.dmh-adminnote input{font:12px system-ui,sans-serif;border:1px solid #ccb46a;border-radius:3px;padding:1px 4px;color:#222;background:#fff}
.dmh-adminnote--dark{max-width:645px;margin-top:20px}
.dmh-adminnote__field{min-height:1.5em;margin:4px 0 6px;padding:4px 6px;border:1px solid #ccb46a;border-radius:4px;background:#fff;color:#222}
.dmh-est__admin{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;background:#fff8db;border-bottom:1px dashed #d4a017;color:#5a4500;font:12px/1.4 system-ui,sans-serif}
.dmh-est__admin button{border:1px solid #ccb46a;border-radius:4px;background:#fff;color:#5a4500;padding:2px 7px;font:12px system-ui,sans-serif}
.dmh-est__admin-note a{color:#7a5a00;text-decoration:underline}
.dmh-est__delivery{padding:0 20px 16px}
.dmh-hero .dmh-choice{color:#5a4500}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .dmh-btn,.dmh-guide,.dmh-featured__img{transition:none}
  .page-head__slide-item,.page-head__bg--zoom,.dmh-gallery__photo .dmh-photo__img{animation:none!important;transition-duration:.01s!important;transition-delay:0s!important}
  .dmh-gallery__fig:hover .dmh-photo__img{transform:none}
}
