/* Shared structure for all three designs. Each design sets the tokens and its own look on top. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--fs-body,1.0625rem);line-height:1.68;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,iframe{max-width:100%;display:block}
img{height:auto}
a{color:var(--link,var(--accent))}
h1,h2,h3,h4{font-family:var(--serif);font-weight:var(--h-weight,500);line-height:1.12;margin:0 0 .5em;color:var(--heading,inherit);text-wrap:balance}
p{margin:0 0 1em}
ul,ol{padding-left:1.2em}
address{font-style:normal}
table{border-collapse:collapse;width:100%}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--focus,#C99A3B);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:1rem;top:-4rem;z-index:200;padding:.75rem 1rem;background:var(--fg);color:var(--bg);text-decoration:none;font-weight:700}
.skip:focus{top:1rem}

/* layout */
.wrap{width:min(100% - 2rem,var(--wrap,1180px));margin-inline:auto}
.wrap--narrow{width:min(100% - 2rem,var(--wrap-narrow,780px))}
.blk{padding-block:var(--blk-pad,clamp(3.25rem,7vw,6rem))}
.split{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (min-width:900px){
  .split{grid-template-columns:1.15fr .85fr}
  .split--even{grid-template-columns:1fr 1fr}
  .split--price{grid-template-columns:1.1fr .9fr}
  .split--form{grid-template-columns:.8fr 1.2fr}
}
.split>*{min-width:0}
.prose{max-width:68ch}
.prose--intro{margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.prose h2{font-size:var(--h2)}
.prose h3{font-size:var(--h3);margin-top:1.4em}
.lead{font-size:1.18em;line-height:1.55}
.small{font-size:.875rem;color:var(--muted);margin-top:1.25rem}
.h-sm{font-size:var(--h3)}
h2{font-size:var(--h2)}
h3{font-size:var(--h3)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.4rem;font-family:var(--sans);font-weight:700;font-size:.95rem;letter-spacing:.01em;text-decoration:none;border:2px solid transparent;border-radius:var(--btn-radius,999px);transition:background-color .2s,color .2s,border-color .2s;text-align:center;line-height:1.2}
.btn--primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn--ghost{background:transparent;color:var(--accent);border-color:currentColor}
.btn--ghost:hover{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}
.cta__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}

/* lists */
.ticks{list-style:none;padding:0;margin:0 0 1.25rem}
.ticks li{position:relative;padding-left:1.9rem;margin-bottom:.55rem}
.ticks li::before{content:"";position:absolute;left:.15rem;top:.5em;width:.8rem;height:.45rem;border-left:2px solid var(--tick,var(--accent));border-bottom:2px solid var(--tick,var(--accent));transform:rotate(-45deg)}
.chips{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.6rem}
.chips li{padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--card)}

/* price tables */
.prices,.breakdown{font-size:.98rem}
.prices{max-width:880px}
.prices caption{text-align:left;font-family:var(--serif);font-size:var(--h3);margin-bottom:.5rem}
.prices th,.prices td,.breakdown th,.breakdown td{padding:.85rem 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.prices th,.breakdown th{font-weight:600;padding-right:1.5rem}
.prices th span,.breakdown th span{display:block;font-weight:400;color:var(--muted);font-size:.9rem;margin-top:.15rem}
.prices td,.breakdown td{text-align:right;white-space:nowrap;font-weight:700;color:var(--price,var(--accent))}
.breakdown__total th,.breakdown__total td{border-bottom:0;padding-top:1rem;font-size:1.1rem}
.compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.compare{min-width:640px;font-size:.95rem}
.compare th,.compare td{padding:.9rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare thead th{font-family:var(--serif);font-size:1.25rem;font-weight:var(--h-weight,500)}
.compare tbody th{font-weight:600;color:var(--muted)}

/* price box */
.pricebox{padding:clamp(1.5rem,3vw,2.25rem);background:var(--card);border:1px solid var(--line)}
.pricebox__name{font-size:var(--h3);margin-bottom:.25rem}
.pricebox__price{font-family:var(--serif);font-size:clamp(2.6rem,5vw,3.4rem);line-height:1;margin:.25rem 0 .5rem;color:var(--price,var(--accent));font-weight:var(--price-weight,500)}
.pricebox__note{color:var(--muted);font-size:.92rem;margin-bottom:1.25rem}
.pricebox__logo{width:180px;margin:0 0 1rem}
.pricebox__cta{margin:0}

/* packages */
.pkgs{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pkg{display:flex;flex-direction:column;padding:1.75rem 1.5rem;background:var(--card);border:1px solid var(--line)}
.pkg__name{font-size:1.5rem;margin-bottom:.35rem}
.pkg__price{font-family:var(--serif);font-size:2.4rem;line-height:1;margin:.25rem 0 .35rem;color:var(--price,var(--accent));font-weight:var(--price-weight,500)}
.pkg__note{font-size:.85rem;color:var(--muted);margin-bottom:.9rem}
.pkg__body{font-size:.95rem;flex:1}
.pkg__cta{font-weight:700;text-decoration:none;align-self:flex-start;border-bottom:2px solid currentColor;padding-bottom:.1rem}

/* steps (real sequences only) */
.steps{list-style:none;counter-reset:step;padding:0;margin:0;display:grid;gap:1.5rem}
.steps>li{counter-increment:step;position:relative;padding-left:3.5rem}
.steps>li::before{content:counter(step);position:absolute;left:0;top:-.1rem;width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:50%;font-family:var(--serif);font-size:1.25rem;font-weight:600;background:var(--step-bg,var(--accent));color:var(--step-fg,var(--accent-fg))}
.steps h3{font-size:1.4rem;margin-bottom:.3rem}
.steps p{margin-bottom:.6rem}

/* faq */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2.5rem 1.1rem 0;position:relative;font-family:var(--serif);font-size:1.35rem;font-weight:var(--h-weight,500);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.5rem;top:1.45rem;width:.6rem;height:.6rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.7rem}
.faq details>div{padding-bottom:1.1rem;max-width:68ch}

/* callouts */
.callout{padding:1.4rem 1.5rem;border-left:3px solid var(--accent);background:var(--card);margin:1.5rem 0}
.callout h3{font-size:1.35rem;margin-bottom:.4rem}
.callout p:last-child{margin-bottom:0}
.side{display:grid;gap:0}
.side .callout:first-child{margin-top:0}
.doclink{margin-top:2rem}
.empty{text-align:center;padding:3rem 1.5rem;border:1px dashed var(--line);background:var(--card)}

/* quotes */
.quote{margin:0}
.quote blockquote{margin:0}
.quote blockquote p{margin:0 0 .9rem}
.quote figcaption{display:flex;flex-direction:column;gap:.1rem;font-size:.9rem}
.quote__who{font-weight:700}
.quote__src{color:var(--muted)}
.quotes--grid,.quotes--notes{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.scores{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:2.5rem}
.score{display:flex;flex-direction:column;padding:1.5rem;text-decoration:none;color:inherit;border:1px solid var(--line);background:var(--card)}
.score__num{font-family:var(--serif);font-size:3rem;line-height:1;font-weight:600}
.score__stars{color:var(--star,#E8A317);letter-spacing:.12em;margin:.3rem 0}
.score__label{font-weight:600}
.score__link{margin-top:.6rem;color:var(--accent);font-weight:700;font-size:.9rem;text-decoration:underline}

/* galleries */
.coffins{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.coffin{margin:0;background:var(--card);border:1px solid var(--line)}
.coffin img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#fff;padding:.5rem}
.coffin figcaption{padding:.75rem 1rem;font-weight:600;font-size:.95rem}
.qgrid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.qgroup{padding:1.5rem;background:var(--card);border:1px solid var(--line)}
.qgroup h3{font-size:1.5rem}
.qgroup ul{margin:0;padding-left:1.1rem}
.qgroup li{margin-bottom:.6rem}
.directory{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.dir{padding:1.4rem;background:var(--card);border:1px solid var(--line)}
.dir h3{font-size:1.45rem;margin-bottom:.35rem}
.dir__addr{font-size:.95rem;color:var(--muted)}
.dir__tel{margin:0;font-weight:700;font-size:1.1rem}
.dir__flag{margin:.5rem 0 0;font-size:.82rem;font-weight:700;color:var(--accent)}
.ph{margin:0}
.ph img{width:100%;object-fit:cover}
.ph figcaption{font-size:.9rem;color:var(--muted);margin-top:.6rem}
.badges{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.badges img{height:84px;width:auto;object-fit:contain;background:#fff;padding:.4rem;border-radius:6px}
.team{display:grid;gap:2rem}
.person{display:grid;gap:1.5rem;align-items:start}
@media (min-width:760px){.person{grid-template-columns:260px 1fr}}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
.person h3{font-size:2rem;margin-bottom:.1rem}
.person__role{color:var(--muted);font-weight:600;margin-bottom:1rem}
.video{position:relative;aspect-ratio:16/9;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map{margin-top:1.5rem;aspect-ratio:4/3;background:var(--line)}
.map iframe{width:100%;height:100%;border:0}
.contact{display:grid;gap:clamp(2rem,5vw,4rem)}
@media (min-width:960px){.contact{grid-template-columns:.75fr 1.25fr}}
.contact__forms{display:grid;gap:2rem}
.bigtel{font-family:var(--serif);font-size:clamp(2rem,4vw,2.6rem);line-height:1.1;margin-bottom:.75rem}
.bigtel a{text-decoration:none}

/* journal */
.cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--card);border:1px solid var(--line)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card__body{padding:1.25rem 1.35rem 1.5rem}
.card h3{font-size:1.45rem;margin-bottom:.4rem}
.card p{font-size:.93rem;color:var(--muted);margin:0}
.card__meta{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.4rem}
.article{max-width:70ch;margin-inline:auto}
.article h2{font-size:1.9rem;margin-top:1.6em}
.article img{margin:1.5rem 0}

/* forms */
.form{display:grid;gap:1rem 1.25rem;grid-template-columns:1fr;padding:clamp(1.25rem,3vw,2rem);background:var(--card);border:1px solid var(--line)}
@media (min-width:640px){.form{grid-template-columns:1fr 1fr}.form fieldset{grid-template-columns:1fr 1fr}}
.form>*{grid-column:1/-1}
.form>.field{grid-column:auto}
.form>.field--wide{grid-column:1/-1}
.form__title{font-size:var(--h3);margin:0}
.form__intro{margin:0;color:var(--muted)}
.form fieldset{display:grid;gap:1rem 1.25rem;border:0;border-top:1px solid var(--line);margin:0;padding:1rem 0 0}
.form legend{font-family:var(--serif);font-size:1.3rem;font-weight:var(--h-weight,500);padding:0 .5rem 0 0}
.form fieldset .field--wide{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.field label,.field .label{font-weight:600;font-size:.92rem}
.opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.7rem .85rem;font:inherit;font-size:1rem;color:var(--fg);background:var(--input-bg,#fff);border:1px solid var(--input-line,var(--line));border-radius:var(--input-radius,4px)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--focus,#C99A3B);outline-offset:1px;border-color:var(--accent)}
.choices{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}
.choices label{display:flex;align-items:center;gap:.45rem;font-weight:400;min-height:44px}
.choices input{width:1.2rem;height:1.2rem;accent-color:var(--accent)}
.form__privacy{font-size:.85rem;color:var(--muted);margin:0}
.form .btn{justify-self:start}
.form__status{margin:0;font-weight:600}
.form__status:empty{display:none}

/* quick form (home pages) */
.qform{gap:1.1rem 1.25rem}
.qform__title{font-size:clamp(1.9rem,3vw,2.4rem);margin:0}
.qform__intro{margin:0;font-size:1.02rem}
.qform .field label{font-size:1rem}
.qform .field input,.qform .field textarea{min-height:54px;font-size:1.05rem}
.qform .qform__topics{border:0;padding:0;margin:0;display:block}
.qform .qform__topics legend{font-family:var(--sans);font-size:1rem;font-weight:600;padding:0;margin-bottom:.55rem}
.pills{display:flex;flex-wrap:wrap;gap:.6rem}
.pill{position:relative;display:inline-flex;cursor:pointer}
.pill input{position:absolute;opacity:0;width:1px;height:1px}
.pill span{display:inline-flex;align-items:center;min-height:48px;padding:.6rem 1.15rem;border:1.5px solid var(--input-line,var(--line));border-radius:999px;background:var(--input-bg,#fff);font-weight:600;font-size:.97rem;transition:background-color .15s,border-color .15s,color .15s}
.pill:hover span{border-color:var(--accent)}
.pill input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.pill input:focus-visible+span{outline:3px solid var(--focus,#C99A3B);outline-offset:2px}
.qform__send{min-width:220px;min-height:56px;font-size:1.05rem}
@media (max-width:639px){.qform__send{width:100%}}

/* social icons */
.social{display:flex;align-items:center;gap:.5rem;list-style:none;margin:0;padding:0}
.social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:inherit;text-decoration:none}
.social .icon{width:19px;height:19px}

/* navigation shared behaviour */
.nav__list{list-style:none;margin:0;padding:0}
.nav__sub{list-style:none;margin:0;padding:0}
.nav__subtoggle{display:none;background:none;border:0;color:inherit;padding:.25rem}
.nav__subtoggle svg{width:14px;height:14px;transition:transform .2s}
.has-sub.open>.nav__subtoggle svg{transform:rotate(180deg)}
.menu-btn{display:none}
.icon{width:1em;height:1em;flex:none}

/* mobile call bar */
.callbar{display:none}
@media (max-width:767px){
  .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90}
  body{padding-bottom:64px}
}

/* rating badge pieces */
.rating{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;line-height:1.15}
.rating__g{width:22px;height:22px;flex:none}
.rating__score{font-weight:800}
.rating__stars{color:var(--star,#E8A317);letter-spacing:.06em}

/* design preview switcher (preview builds only) */
.switcher{position:fixed;left:12px;bottom:12px;z-index:150;display:flex;align-items:center;gap:.25rem;padding:.3rem .35rem .3rem .75rem;background:#1d1b1c;color:#fff;border-radius:999px;font:600 12px/1 system-ui,sans-serif;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.switcher span{opacity:.75;margin-right:.25rem}
.switcher a{color:#fff;text-decoration:none;padding:.45rem .6rem;border-radius:999px}
.switcher a[aria-current]{background:#fff;color:#1d1b1c}
.switcher a:hover:not([aria-current]){background:rgba(255,255,255,.15)}
@media (max-width:767px){.switcher{bottom:76px}}
@media print{.switcher,.callbar{display:none!important}}

/* ======================================================================
   Polish: shared refinements applied to all three designs.
   Typography, depth, motion and micro-interactions. Each design still sets
   its own tokens; these rules only use them.
   ====================================================================== */
html{font-optical-sizing:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--sh,51,18,26),.35) transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(var(--sh,51,18,26),.28);border-radius:999px;border:3px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:rgba(var(--sh,51,18,26),.45);background-clip:padding-box}
body{font-feature-settings:"kern","liga"}
h1,h2,h3,h4{font-feature-settings:"kern","liga","dlig";font-kerning:normal}
h1{letter-spacing:-.015em}
p,li,dd,figcaption{text-wrap:pretty}
blockquote p{hanging-punctuation:first}
.prices td,.breakdown td,.compare td,.pkg__price,.pricebox__price{font-variant-numeric:tabular-nums}

/* buttons: a gentle lift, a firm press */
.btn,.b-btn,.c-btn,.a-call,.c-pill,.pkg__cta,.c-link{transition:background-color .25s,color .25s,border-color .25s,transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,opacity .25s}
.btn:hover,.b-btn:hover,.c-btn:hover,.a-call:hover,.c-pill--solid:hover{transform:translateY(-1px);box-shadow:0 12px 26px -14px rgba(var(--sh,51,18,26),.55)}
.btn:active,.b-btn:active,.c-btn:active,.a-call:active,.c-pill:active{transform:translateY(0);box-shadow:none;transition-duration:.08s}
.btn--primary,.b-btn--solid,.c-btn--cream{box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.pkg__cta{display:inline-block;border-bottom-color:rgba(var(--sh,51,18,26),.3)}
.pkg__cta:hover{border-bottom-color:currentColor}

/* form fields: quiet inset, soft focus glow */
.field input,.field select,.field textarea{box-shadow:inset 0 1px 2px rgba(var(--sh,51,18,26),.06);transition:border-color .2s,box-shadow .2s,background-color .2s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(var(--sh,51,18,26),.35)}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--sh,51,18,26),.12),inset 0 1px 2px rgba(var(--sh,51,18,26),.06)}
.field input::placeholder,.field textarea::placeholder{color:rgba(var(--sh,51,18,26),.35)}
.pill span{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}
.pill:hover span{box-shadow:0 8px 18px -12px rgba(var(--sh,51,18,26),.5);transform:translateY(-1px)}
.pill input:checked+span{box-shadow:0 10px 22px -12px rgba(var(--sh,51,18,26),.7)}
.form .btn,.qform__send{box-shadow:0 14px 28px -16px rgba(var(--sh,51,18,26),.6)}

/* cards: lift on hover, slow image drift */
.card,.pkg,.coffin,.dir,.qgroup,.score,.quote,.b-tile,.b-opt,.c-jcard,.c-card,.c-word,.c-guide li{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s cubic-bezier(.2,.7,.2,1),border-color .3s,background-color .3s}
.card:hover,.score:hover,.b-tile:hover,.b-opt:hover,.c-jcard:hover,.coffin:hover{transform:translateY(-4px);box-shadow:0 28px 50px -30px rgba(var(--sh,51,18,26),.5)}
.card,.b-tile,.b-opt,.coffin{overflow:hidden}
.card img,.b-tile img,.b-opt__img,.c-jcard__img img,.coffin img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.card:hover img,.b-tile:hover img,.b-opt:hover .b-opt__img,.c-jcard:hover .c-jcard__img img{transform:scale(1.045)}
.pkg:hover,.dir:hover,.qgroup:hover{box-shadow:0 20px 40px -28px rgba(var(--sh,51,18,26),.45)}

/* links in running text */
.prose a:not(.btn),.article a:not(.btn),.form a,.qform a,.small a,.callout a{text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:rgba(var(--sh,51,18,26),.35);transition:text-decoration-color .2s,color .2s}
.prose a:not(.btn):hover,.article a:not(.btn):hover,.form a:hover,.qform a:hover,.callout a:hover{text-decoration-color:currentColor}

/* faq, tables, media */
.faq summary{transition:color .2s}
.faq summary:hover{color:var(--accent)}
.faq summary::after{transition:transform .3s cubic-bezier(.2,.7,.2,1),top .3s}
.prices th,.breakdown th{transition:color .2s}
.video{box-shadow:0 30px 60px -36px rgba(var(--sh,51,18,26),.6)}
.ph img,.person img{box-shadow:0 24px 48px -36px rgba(var(--sh,51,18,26),.45)}

/* mobile call bar and the preview switcher */
.callbar{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 -12px 32px -18px rgba(0,0,0,.45)}
.switcher{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(29,27,28,.92)}

/* reveal on scroll: a soft rise, staggered inside grids. Added by site.js only, so no-JS pages show everything. */
.rv{opacity:0;translate:0 22px;transition:opacity .9s cubic-bezier(.2,.7,.2,1),translate .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*90ms)}
.rv.in{opacity:1;translate:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;translate:none;transition:none}}

/* coffins page, Nov 2026: caption note and price tag */
.coffin figcaption small{display:block;font-weight:400;font-size:.85rem;opacity:.75;margin-top:.15rem}
.coffin figcaption b{display:block;font-weight:600;font-size:.85rem;margin-top:.45rem;letter-spacing:.02em}
.coffins--choice{margin-top:1.25rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.coffins--choice .coffin figcaption{padding:.5rem .75rem;font-size:.9rem}

/* go-live 11 Nov 2026: spam trap on the forms (robots fill it in, people never see it) */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__status.is-ok{color:#2f6b3a;font-weight:700}
.form__status.is-bad{color:#9b1c2c;font-weight:700}

/* Design D: Buxton Road. Claret, parchment and gold; Cormorant Garamond for headings, figures and the number,
   Mulish for everything else. Left-aligned, hairline rules, one dark band, the framed portrait over the moorland. */
:root{
  --claret:#4A1622;--claret-d:#2F0E15;--claret-l:#6E2632;--claret-hover:#5A1E29;
  --parch:#F7F2E9;--linen:#EFE7DA;--paper:#FDFAF4;--ink:#221B19;--gold:#B89150;--gold-l:#D9BE8A;--taupe:#6E6358;
  --bg:var(--parch);--fg:var(--ink);--muted:var(--taupe);--line:#E1D7C5;--card:var(--paper);
  --accent:var(--claret-l);--accent-hover:var(--claret-hover);--accent-fg:#FBF6EC;--price:var(--claret);--tick:var(--gold);
  --heading:var(--claret);--focus:#B89150;--star:#D9A033;--link:var(--claret-l);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:Mulish,system-ui,sans-serif;
  --h2:clamp(2rem,3.4vw,2.9rem);--h3:1.5rem;--h-weight:500;--wrap:1180px;--btn-radius:2px;--input-radius:2px;
  --fs-body:1.04rem;--sh:47,22,34;
}
::selection{background:var(--claret-l);color:#FBF6EC}
.d-d h1{font-size:clamp(2.6rem,5vw,4.3rem);font-weight:500;line-height:1.06;letter-spacing:-.012em}
.d-d h2{letter-spacing:-.005em}
.d-d .prose p,.d-d .lead{color:#3a312d}
html{scroll-padding-top:6.5rem}

/* ---------------------------------------------------------------- masthead */
.d-hdr{position:sticky;top:0;z-index:80;background:var(--claret);color:#FBF6EC;transition:box-shadow .3s}
.d-hdr.is-scrolled{box-shadow:0 16px 40px -22px rgba(0,0,0,.6)}
.d-hdr__in{display:flex;align-items:center;gap:1.5rem;min-height:92px}
.d-logo{flex:none}
.d-logo img{width:212px;height:auto}
.d-nav{margin-left:auto}
.d-nav .nav__list{display:flex;align-items:center}
.d-nav .nav__item{position:relative}
.d-nav .nav__link{position:relative;display:block;padding:.6rem .65rem;font-size:.9rem;font-weight:600;color:#FBF6EC;text-decoration:none;white-space:nowrap}
.d-nav .nav__link::after{content:"";position:absolute;left:.65rem;right:.65rem;bottom:.25rem;height:1px;background:var(--gold-l);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.d-nav .nav__link:hover::after,.d-nav .nav__link[data-active]::after{transform:scaleX(1)}
.d-nav .nav__sub{position:absolute;left:0;top:100%;min-width:250px;padding:.5rem;background:var(--claret-d);border-top:2px solid var(--gold);box-shadow:0 28px 56px -24px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.d-nav .has-sub:hover>.nav__sub,.d-nav .has-sub:focus-within>.nav__sub,.d-nav .has-sub.open>.nav__sub{opacity:1;visibility:visible;transform:none}
.d-nav .nav__sub a{display:block;padding:.55rem .75rem;color:#F3EADB;text-decoration:none;font-size:.92rem;transition:background-color .15s,color .15s}
.d-nav .nav__sub a:hover,.d-nav .nav__sub a[aria-current]{background:rgba(255,255,255,.07);color:var(--gold-l)}
.d-hdr__right{display:flex;align-items:center;gap:1.1rem}
.d-rate{padding:.45rem .75rem;border:1px solid rgba(217,190,138,.35);border-radius:3px;color:#FBF6EC;font-size:.8rem;transition:border-color .2s,background-color .2s}
.d-rate:hover{border-color:var(--gold-l);background:rgba(255,255,255,.05)}
.d-rate .rating__g{width:22px;height:22px;background:#fff;border-radius:50%;padding:2px}
.d-rate .rating__text{display:flex;flex-direction:column;line-height:1.15}
.d-rate .rating__line{display:flex;align-items:center;gap:.3rem}
.d-rate .rating__count{color:rgba(251,246,236,.72);font-size:.72rem}
.d-tel{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:#fff;line-height:1.1;white-space:nowrap}
.d-tel__n{font-family:var(--serif);font-size:1.75rem;font-weight:600;letter-spacing:.01em}
.d-tel__s{font-size:.74rem;font-weight:600;color:var(--gold-l);margin-top:.15rem}
.d-tel:hover .d-tel__n{color:var(--gold-l)}
.menu-btn.d-menubtn{display:none;align-items:center;gap:.45rem;min-height:44px;padding:.45rem .95rem;border:1px solid rgba(251,246,236,.5);border-radius:2px;background:none;color:#FBF6EC;font-weight:700;font-size:.9rem}
.d-mnav{display:none}
@media (max-width:1280px){.d-nav .nav__link{padding-inline:.5rem;font-size:.86rem}.d-nav .nav__link::after{left:.5rem;right:.5rem}.d-logo img{width:190px}}
@media (max-width:1140px){.d-rate{display:none}}
@media (max-width:1000px){
  .d-nav,.d-tel{display:none}
  .d-hdr__right{margin-left:auto}
  .d-hdr__in{min-height:76px;gap:1rem}
  .d-logo img{width:176px}
  .menu-btn.d-menubtn{display:inline-flex}
  .d-mnav:not([hidden]){display:block;position:fixed;inset:76px 0 0;z-index:79;overflow:auto;background:var(--claret-d);padding:1.25rem 0 3rem;border-top:1px solid rgba(217,190,138,.25)}
  .d-mnav .nav__item{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid rgba(251,246,236,.1)}
  .d-mnav .nav__link{flex:1;padding:.85rem 0;font-family:var(--serif);font-size:1.75rem;font-weight:500;color:#FBF6EC;text-decoration:none}
  .d-mnav .nav__subtoggle{display:grid;place-items:center;width:44px;height:44px;color:var(--gold-l)}
  .d-mnav .nav__sub{display:none;width:100%;padding:0 0 .9rem}
  .d-mnav .has-sub.open>.nav__sub{display:block}
  .d-mnav .nav__sub a{display:block;padding:.45rem 0;color:rgba(251,246,236,.82);text-decoration:none}
  .d-mnav__foot{display:grid;gap:1.25rem;margin-top:1.75rem}
  .d-mnav__call{justify-self:start;background:var(--gold-l);border-color:var(--gold-l);color:var(--claret-d)}
  .d-mnav__rate{color:#FBF6EC;font-size:.9rem}
  .d-mnav__rate .rating__g{background:#fff;border-radius:50%;padding:2px}
  .d-mnav__rate .rating__count{color:rgba(251,246,236,.7)}
  .d-mnav__social a{border:1px solid rgba(251,246,236,.25);color:#FBF6EC}
  body.menu-open{overflow:hidden}
}
@media (max-width:380px){.d-logo img{width:150px}}

/* ---------------------------------------------------------------- hero: the moorland band with the framed portrait set over it */
.d-hero{background:var(--parch);padding-bottom:clamp(3rem,6vw,5rem)}
.d-hero__land{position:relative;height:clamp(190px,27vw,320px);overflow:hidden;background:var(--claret-d)}
.d-hero__land img{width:100%;height:100%;object-fit:cover;object-position:center 58%;animation:d-settle 1.8s cubic-bezier(.2,.7,.2,1) both}
.d-hero__land::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(47,14,21,.5) 0%,rgba(47,14,21,.12) 45%,rgba(47,14,21,.35) 100%)}
.d-hero__grid{display:grid;gap:clamp(2rem,4vw,4rem);align-items:start}
@media (min-width:900px){.d-hero__grid{grid-template-columns:1.15fr .85fr}}
.d-hero__text{padding-top:clamp(2rem,4vw,3.5rem)}
.d-hero h1{margin-bottom:1.25rem}
.d-hero__lead{font-size:1.14rem;line-height:1.6;max-width:34em;color:#3a312d;margin-bottom:1.75rem}
.d-paths{display:grid;gap:.75rem;margin-bottom:2rem}
@media (min-width:560px){.d-paths{grid-template-columns:1fr 1fr;max-width:40rem}}
.d-path{display:flex;flex-direction:column;gap:.2rem;padding:1.05rem 1.25rem;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--claret-l);color:var(--ink);text-decoration:none;transition:border-color .2s,background-color .2s,box-shadow .3s,transform .3s cubic-bezier(.2,.7,.2,1)}
.d-path strong{font-family:var(--serif);font-size:1.45rem;font-weight:600;color:var(--claret);line-height:1.15}
.d-path span{font-size:.9rem;color:var(--muted)}
.d-path:hover{border-color:var(--gold);border-left-color:var(--gold);box-shadow:0 18px 36px -26px rgba(47,22,34,.45);transform:translateY(-2px)}
.d-hero__call{display:grid;gap:.25rem;margin:0;max-width:34em;padding-top:1.5rem;border-top:1px solid var(--line)}
.d-hero__call a{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3rem);font-weight:600;color:var(--claret);text-decoration:none;line-height:1;letter-spacing:.01em}
.d-hero__call a:hover{color:var(--claret-l)}
.d-hero__call span{font-size:.95rem;color:var(--muted)}
.d-frame{position:relative;z-index:2;margin:clamp(-170px,-12vw,-120px) 0 0;justify-self:center;width:min(100%,520px);animation:d-rise 1.4s .25s cubic-bezier(.2,.7,.2,1) both}
.d-frame__mat{position:relative;padding:12px;background:linear-gradient(135deg,#ead7a8 0%,#c29a55 18%,#8f6a2e 36%,#e6cd95 52%,#a97f3d 70%,#dcc08a 88%,#9c7535 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.25),0 50px 90px -40px rgba(0,0,0,.7),0 16px 30px -18px rgba(47,14,21,.4)}
.d-frame__mat::after{content:"";position:absolute;inset:12px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(90,60,20,.3),inset 0 8px 18px rgba(0,0,0,.22)}
.d-frame__mat img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border:6px solid #FBF6EA}
.d-frame figcaption{margin-top:1rem;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--claret);text-align:center}
@keyframes d-settle{from{transform:scale(1.04)}to{transform:scale(1)}}
@keyframes d-rise{from{opacity:0;translate:0 18px}to{opacity:1;translate:none}}
@media (max-width:899px){
  .d-hero__grid{grid-template-columns:1fr}
  .d-frame{order:-1;width:min(78%,420px);justify-self:start;margin-top:clamp(-140px,-16vw,-90px)}
  .d-hero__text{padding-top:.5rem}
}

/* ---------------------------------------------------------------- sections */
.d-sec{padding-block:clamp(3.25rem,7vw,5.5rem)}
.d-sec--linen{background:var(--linen)}
.d-sec__head{max-width:46rem;margin-bottom:clamp(2rem,4vw,3rem)}
.d-sec__head--wide{max-width:56rem}
.d-sec__head h2{margin-bottom:.6rem}
.d-sec__head p{margin:0;color:#3a312d;font-size:1.06rem}
.d-sec__head--row{max-width:none;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 2rem}
.d-sec__head--row h2{margin:0}
.d-sec__foot{display:flex;flex-wrap:wrap;gap:.75rem 2rem;margin:2.25rem 0 0}
.d-sec__foot a:not(.btn){color:var(--claret-l);font-weight:700;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:rgba(110,38,50,.4)}
.d-sec__foot a:not(.btn):hover{text-decoration-color:currentColor}
.d-more{display:inline-flex;align-items:center;gap:.4rem;color:var(--claret-l);font-weight:700;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:rgba(110,38,50,.4)}
.d-more:hover{text-decoration-color:currentColor}
.d-more .icon{width:1.1em;height:1.1em}

/* prices: a ledger, not cards */
.d-ledger{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
@media (min-width:640px){.d-ledger{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.d-ledger{grid-template-columns:repeat(4,1fr)}.d-ledger--3{grid-template-columns:repeat(3,1fr)}}
.d-ledger__item{display:flex;flex-direction:column;padding:1.75rem 1.5rem 1.75rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background-color .2s}
@media (min-width:640px){.d-ledger__item:nth-child(even){padding-left:1.5rem;border-left:1px solid var(--line)}}
@media (min-width:640px) and (max-width:999px){.d-ledger--3 .d-ledger__item:nth-child(3){grid-column:1/-1}}
@media (min-width:1000px){.d-ledger__item{padding-left:1.5rem;border-left:1px solid var(--line)}.d-ledger__item:first-child{padding-left:0;border-left:0}}
.d-ledger__item h3{font-size:1.35rem;margin-bottom:.9rem;color:var(--ink)}
.d-ledger__fig{font-family:var(--serif);font-size:clamp(2.6rem,3.6vw,3.3rem);line-height:1;color:var(--claret);margin:0 0 .9rem;font-variant-numeric:tabular-nums}
.d-ledger__note{font-size:.93rem;color:#3a312d;margin:0 0 1.25rem;flex:1}
.d-ledger__go{font-weight:700;color:var(--claret-l);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:rgba(110,38,50,.4)}
.d-ledger__item:hover .d-ledger__go{text-decoration-color:currentColor}
.d-ledger__item:hover h3{color:var(--claret)}

/* two people */
.d-people__grid{display:grid;gap:2rem 3rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}
@media (min-width:860px){.d-people__grid{grid-template-columns:1fr 1fr}}
.d-person{display:grid;grid-template-columns:150px 1fr;gap:1.5rem;align-items:start}
.d-person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;box-shadow:0 0 0 1px var(--line),0 0 0 6px var(--linen),0 0 0 7px var(--gold-l)}
.d-person h3{font-size:1.8rem;margin-bottom:.1rem}
.d-person__role{font-size:.9rem;font-weight:700;color:var(--claret-l);margin-bottom:.75rem}
.d-person p:last-child{margin:0;font-size:.97rem;color:#3a312d}
@media (max-width:460px){.d-person{grid-template-columns:1fr}.d-person img{width:60%}}
.d-saying{margin:0 0 clamp(2.5rem,5vw,3.5rem);padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.d-saying p{font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.3;color:var(--claret);margin:0 0 .75rem;max-width:30em}
.d-saying footer{font-size:.95rem;color:var(--muted)}
.d-promises{list-style:none;margin:0;padding:0;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.d-promises li{border-top:1px solid var(--gold);padding-top:1.1rem}
.d-promises h3{font-size:1.4rem;margin-bottom:.4rem}
.d-promises p{margin:0;font-size:.95rem;color:#3a312d}

/* the one dark band */
.d-band{background:var(--claret);color:#F3EADB}
.d-band h2{color:#FBF4E6}
.d-band__grid{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (min-width:900px){.d-band__grid{grid-template-columns:.9fr 1.1fr}}
.d-band__text p{color:#E6D8C3;font-size:1.06rem}
.d-btn--cream{background:#FBF6EC;color:var(--claret);border-color:#FBF6EC}
.d-btn--cream:hover{background:var(--gold-l);border-color:var(--gold-l);color:var(--claret-d)}
.d-btn--line{color:#FBF6EC;border-color:rgba(251,246,236,.55);background:transparent}
.d-btn--line:hover{background:rgba(251,246,236,.1);border-color:#FBF6EC}
.d-steps{list-style:none;counter-reset:s;margin:0;padding:0}
.d-steps li{counter-increment:s;display:grid;grid-template-columns:3rem 1fr;column-gap:1rem;padding:1.15rem 0;border-bottom:1px solid rgba(217,190,138,.3)}
.d-steps li:first-child{border-top:1px solid rgba(217,190,138,.3)}
.d-steps li::before{content:counter(s);grid-row:span 2;font-family:var(--serif);font-size:2.1rem;line-height:1;color:var(--gold-l)}
.d-steps strong{font-family:var(--serif);font-size:1.45rem;font-weight:500;color:#FBF4E6}
.d-steps span{color:#DCCDB6;font-size:.95rem}

/* kind words */
.d-words__grid{display:grid;gap:2rem 4rem;align-items:start;padding-bottom:2.5rem;border-bottom:1px solid var(--line);margin-bottom:2.5rem}
@media (min-width:900px){.d-words__grid{grid-template-columns:1.3fr .7fr}}
.d-bigquote{margin:0}
.d-bigquote blockquote{margin:0}
.d-bigquote p{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.3;color:var(--claret);margin:0 0 1rem}
.d-bigquote figcaption{font-size:.95rem;color:var(--muted)}
.d-words__side{display:grid;gap:.75rem;justify-items:start}
.d-proof{padding:.65rem 1rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:.92rem;transition:border-color .2s}
.d-proof:hover{border-color:var(--gold)}
.d-proof .rating__g{width:24px;height:24px}
.d-proof .rating__text{display:flex;flex-direction:column}
.d-proof .rating__line{display:flex;gap:.35rem;align-items:center}
.d-proof .rating__count{color:var(--muted);font-size:.8rem}
.d-proof .rating__fbicon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#1877F2;color:#fff}
.d-words__row{display:grid;gap:2rem 3rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.d-word{margin:0}
.d-word blockquote{margin:0}
.d-word p{font-family:var(--serif);font-size:1.3rem;line-height:1.4;color:var(--ink);margin:0 0 .6rem}
.d-word figcaption{font-size:.88rem;color:var(--muted)}

/* funeral home and film */
.d-visit__grid,.d-film__grid{display:grid;gap:clamp(2rem,4vw,4rem);align-items:center}
@media (min-width:900px){.d-visit__grid{grid-template-columns:.9fr 1.1fr}.d-film__grid{grid-template-columns:1.1fr .9fr}}
.d-film__grid{margin-top:clamp(3rem,6vw,4.5rem);padding-top:clamp(3rem,6vw,4.5rem);border-top:1px solid var(--line)}
.d-shop{margin:0}
.d-shop img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 25%;box-shadow:0 0 0 1px var(--line),0 30px 60px -40px rgba(47,22,34,.5)}
.d-shop figcaption{margin-top:.75rem;font-size:.9rem;color:var(--muted)}
.d-visit .prose h2,.d-film__grid .prose h2{font-size:var(--h2)}
.d-film__grid .video{box-shadow:0 0 0 1px var(--line),0 30px 60px -40px rgba(47,22,34,.5)}

/* contact */
.d-contact__grid{display:grid;gap:clamp(2rem,4vw,4rem);align-items:start}
@media (min-width:960px){.d-contact__grid{grid-template-columns:.8fr 1.2fr}}
.d-contact__text h2{font-size:var(--h2)}
.d-contact__text>p{color:#3a312d;font-size:1.06rem}
.d-contact__list{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.25rem;margin:1.5rem 0;font-size:1rem}
.d-contact__list dt{font-weight:700;color:var(--muted)}
.d-contact__list dd{margin:0}
.d-contact__list dd a{color:var(--claret-l);font-weight:600;text-decoration:none}
.d-contact__list dd a:hover{text-decoration:underline}
.d-contact__list dd:first-of-type a{font-family:var(--serif);font-size:1.6rem;font-weight:600;line-height:1}
.d-contact__social a{border:1px solid var(--line);color:var(--claret)}
.d-contact__social a:hover{background:var(--linen)}
.d-contact .qform{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--claret);box-shadow:0 30px 60px -44px rgba(47,22,34,.5)}
.d-contact .qform__title{color:var(--claret)}

/* journal */
.d-jgrid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.d-jcard{display:flex;flex-direction:column;color:inherit;text-decoration:none}
.d-jcard img{width:100%;aspect-ratio:3/2;object-fit:cover;box-shadow:0 0 0 1px var(--line);transition:box-shadow .3s}
.d-jcard:hover img{box-shadow:0 0 0 1px var(--gold)}
.d-jcard__body{display:block;padding:1.1rem 0 0}
.d-jcard__meta{display:block;font-size:.82rem;color:var(--muted);margin-bottom:.4rem}
.d-jcard h3{font-size:1.4rem;line-height:1.25;margin-bottom:.4rem;color:var(--ink);transition:color .2s}
.d-jcard:hover h3{color:var(--claret)}
.d-jcard__ex{display:block;font-size:.93rem;color:#3a312d}

/* ---------------------------------------------------------------- inner pages */
.d-ptitle{background:var(--linen);border-bottom:1px solid var(--line);padding:clamp(2.25rem,5vw,3.5rem) 0}
.d-crumb{font-size:.88rem;color:var(--muted);margin-bottom:.75rem}
.d-crumb a{color:var(--claret-l);text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .2s}
.d-crumb a:hover{border-bottom-color:var(--claret-l)}
.d-ptitle h1{font-size:clamp(2.3rem,4.4vw,3.6rem);margin-bottom:.6rem}
.d-ptitle__intro{max-width:46em;font-size:1.1rem;margin:0;color:#3a312d}
.d-layout{display:grid;gap:2.5rem;padding-bottom:clamp(3rem,6vw,5rem)}
@media (min-width:1024px){.d-layout{grid-template-columns:minmax(0,1fr) 300px;gap:3.5rem}}
.d-main{min-width:0}
.d-main>.blk{padding-block:clamp(2.25rem,4vw,3.25rem);border-bottom:1px solid var(--line)}
.d-main>.blk:last-child{border-bottom:0}
.d-main .wrap{width:100%}
.d-main .blk--alt{background:none}
@media (min-width:900px){.d-main .split,.d-main .split--price,.d-main .split--even,.d-main .split--form{grid-template-columns:1fr}}
@media (min-width:1280px){.d-main .split--even{grid-template-columns:1fr 1fr}}
.d-main .blk--cta{background:var(--claret);color:#F3EADB;border-bottom:0;margin-top:2.5rem;padding-inline:clamp(1.5rem,4vw,2.5rem)}
.d-main .blk--cta h2{color:#FBF4E6}
.d-main .blk--cta .btn--primary{background:#FBF6EC;color:var(--claret);border-color:#FBF6EC}
.d-main .blk--cta .btn--ghost{color:#FBF6EC}
.d-main .blk--cta .btn--ghost:hover{background:rgba(251,246,236,.1);border-color:#FBF6EC}
.d-side{display:grid;gap:1.25rem;align-content:start;padding-top:clamp(2.25rem,4vw,3.25rem)}
@media (min-width:1024px){.d-side{position:sticky;top:7rem}}
.d-side h2{font-size:1.45rem}
.d-side__call{background:var(--claret);color:#F3EADB;padding:1.5rem}
.d-side__call h2{color:#FBF4E6;margin-bottom:.35rem}
.d-side__call p{font-size:.93rem;color:#E6D8C3}
.d-side__tel a{font-family:var(--serif);font-size:1.9rem;font-weight:600;color:#fff;text-decoration:none;line-height:1}
.d-side__tel a:hover{color:var(--gold-l)}
.d-side__nav{border:1px solid var(--line);background:var(--paper);padding:1.25rem 1.25rem .75rem}
.d-side__nav ul{list-style:none;margin:0;padding:0}
.d-side__nav li{border-top:1px solid var(--line)}
.d-side__nav a{display:block;padding:.65rem 0;color:var(--ink);text-decoration:none;font-weight:600;font-size:.93rem;transition:color .2s,padding-left .2s}
.d-side__nav a:hover{color:var(--claret);padding-left:.35rem}
.d-side__nav a[aria-current]{color:var(--claret);box-shadow:inset 3px 0 0 var(--gold);padding-left:.75rem}
.d-side__rate{display:grid;gap:.6rem}
.d-side__g,.d-side__fb{padding:.85rem 1rem;border:1px solid var(--line);background:var(--paper);font-size:.92rem;color:var(--ink);transition:border-color .2s}
.d-side__g:hover,.d-side__fb:hover{border-color:var(--gold)}
.d-side__g .rating__text{display:flex;flex-direction:column}
.d-side__g .rating__line{display:flex;gap:.35rem;align-items:center}
.d-side__g .rating__count,.d-side__fb .rating__count{color:var(--muted);font-size:.82rem}
.d-side__g .rating__g{width:26px;height:26px}
.d-side__fb .rating__fbicon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#1877F2;color:#fff}
.d-d .pricebox{border:1px solid var(--line);border-top:3px solid var(--claret);background:var(--paper);box-shadow:0 30px 60px -44px rgba(47,22,34,.5)}
.d-d .pricebox--alt{border-top-color:var(--gold)}
.d-d .pkg{border:1px solid var(--line);border-top:3px solid var(--claret);background:var(--paper)}
.d-d .pkg__cta{color:var(--claret-l)}
.d-d .callout{background:var(--paper);border-left-color:var(--gold)}
.d-d .callout--strong{background:var(--claret);color:#F3EADB;border-left-color:var(--gold)}
.d-d .callout--strong h3{color:#FBF4E6}
.d-d .callout--strong a{color:var(--gold-l)}
.d-d .steps>li::before{border-radius:0;background:var(--claret)}
.d-d .quote{padding:1.5rem;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--gold)}
.d-d .quote blockquote p{font-family:var(--serif);font-size:1.3rem;line-height:1.4;color:var(--ink)}
.d-d .score{border:1px solid var(--line);border-top:3px solid var(--claret);background:var(--paper)}
.d-d .coffin,.d-d .dir,.d-d .qgroup,.d-d .card,.d-d .form,.d-d .empty{border-color:var(--line);background:var(--paper)}
.d-d .form{border-top:3px solid var(--claret)}
.d-d .card:hover{border-color:var(--gold)}
.d-d .card h3{color:var(--claret)}
.d-d .chips li{background:var(--paper);border-radius:2px}
.d-d .prices th{font-weight:600}
.d-d .person{padding-bottom:2rem;border-bottom:1px solid var(--line)}
.d-d .person:last-child{border-bottom:0}
@media (min-width:760px){.d-d .person{grid-template-columns:200px 1fr}}
.d-d .contact{grid-template-columns:1fr}
.d-d .ph img,.d-d .person img{box-shadow:0 0 0 1px var(--line)}
.d-article__img{width:100%;max-height:420px;object-fit:cover;margin-bottom:2rem;box-shadow:0 0 0 1px var(--line)}
.d-article h2{font-size:1.8rem;margin-top:1.5em}
.d-jgrid--all{padding-top:.5rem}

/* ---------------------------------------------------------------- footer */
.d-ftr{position:relative;background:var(--claret-d);color:#D9CBB6;font-size:.93rem}
.d-ftr::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(217,190,138,.55),transparent)}
.d-ftr a{color:#F3EADB;text-decoration:none;transition:color .2s}
.d-ftr a:hover{color:var(--gold-l)}
.d-ftr__grid{display:grid;gap:2.5rem;padding-block:clamp(3rem,6vw,4.5rem)}
@media (min-width:900px){.d-ftr__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.d-ftr__brand>img{width:220px;margin-bottom:1rem}
.d-ftr__brand p{max-width:24rem}
.d-ftr__tel a{font-family:var(--serif);font-size:1.7rem;font-weight:600;color:#fff}
.d-ftr__tel span{display:block;font-size:.8rem;font-weight:700;color:var(--gold-l);margin-top:.15rem}
.d-ftr__h{font-family:var(--serif);font-size:1.4rem;font-weight:500;color:#FBF4E6;margin-bottom:.9rem;padding-bottom:.5rem;border-bottom:1px solid rgba(217,190,138,.25)}
.d-ftr ul{list-style:none;padding:0;margin:0}
.d-ftr li{margin-bottom:.45rem}
.d-ftr address{margin-bottom:.75rem}
.d-ftr__social{margin-top:1rem;gap:.4rem}
.d-ftr__social a{border:1px solid rgba(217,190,138,.4)}
.d-ftr__social a:hover{background:rgba(217,190,138,.15)}
.d-ftr__badges{border-top:1px solid rgba(217,190,138,.15);padding-block:1.5rem}
.d-ftr__badges .badges{margin:0;gap:1.25rem}
.d-ftr__badges .badges img{height:68px}
.d-ftr__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.25rem 0 1.5rem;border-top:1px solid rgba(217,190,138,.15);font-size:.82rem}
.d-ftr__legal p{margin:0}
.d-ftr__links{display:flex;flex-wrap:wrap;gap:1.25rem}

/* ---------------------------------------------------------------- mobile call bar */
.d-callbar{min-height:60px;background:var(--paper);border-top:1px solid var(--line)}
.d-callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;text-decoration:none;color:var(--claret)}
.d-callbar a:first-child{background:var(--claret);color:#FBF6EC}

/* refinements after first review */
.d-rate .rating__count{white-space:nowrap}
.d-person{grid-template-columns:190px 1fr}
.d-person h3{font-size:1.95rem}
@media (max-width:460px){.d-person{grid-template-columns:1fr}}
.d-hero__lead{font-size:1.16rem}

/* masthead fits at laptop widths: compact rating, tighter nav */
@media (max-width:1500px){.d-rate .rating__count{display:none}.d-rate{padding:.4rem .6rem}}
@media (max-width:1400px){.d-logo img{width:196px}.d-nav .nav__link{padding-inline:.55rem;font-size:.88rem}.d-nav .nav__link::after{left:.55rem;right:.55rem}.d-hdr__right{gap:.9rem}}
@media (max-width:1280px){.d-logo img{width:184px}.d-nav .nav__link{padding-inline:.45rem;font-size:.85rem}.d-nav .nav__link::after{left:.45rem;right:.45rem}.d-tel__n{font-size:1.55rem}}

/* ---------------------------------------------------------------- polish, 10 Nov 2026
   Finish only: no wording, image or layout changes. Pre-polish copy in _polish-backup/d.pre-polish-2026-11-10.css */
html{-webkit-tap-highlight-color:rgba(110,38,50,.12)}
.d-d img{image-rendering:auto}

/* masthead: a gold hairline where the claret meets the page, and softer colour changes */
.d-hdr{box-shadow:inset 0 -1px 0 rgba(217,190,138,.2)}
.d-hdr.is-scrolled{box-shadow:inset 0 -1px 0 rgba(217,190,138,.2),0 16px 40px -22px rgba(0,0,0,.6)}
.d-tel__n,.d-hero__call a,.d-side__tel a,.d-ftr__tel a,.d-contact__list dd a{transition:color .2s}
.menu-btn.d-menubtn{transition:background-color .2s,border-color .2s}
.menu-btn.d-menubtn:hover{background:rgba(251,246,236,.08);border-color:#FBF6EC}
@media (max-width:1000px){
  .d-mnav .nav__link,.d-mnav .nav__sub a{transition:color .2s}
  .d-mnav .nav__sub a:hover{color:var(--gold-l)}
}

/* opening quote marks hang in the margin so the text edge stays true (Safari does this natively) */
@supports not (hanging-punctuation:first){
  .d-saying p,.d-bigquote p,.d-word p{text-indent:-.42em}
}

/* price ledger: "from £1,700" keeps to one line so all four figures share a baseline; a gold rule draws in on hover */
.d-ledger__fig{white-space:nowrap}
@media (min-width:1000px){.d-ledger__fig{font-size:clamp(2.2rem,3.4vw,3.1rem)}}
@media (min-width:1000px) and (max-width:1260px){.d-ledger__item h3{min-height:2.24em}}
.d-ledger__item{position:relative}
.d-ledger__item::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.d-ledger__item:hover::before,.d-ledger__item:focus-visible::before{transform:scaleX(1)}
.d-ledger__item h3{transition:color .2s}
.d-ledger__go,.d-more,.d-sec__foot a:not(.btn){transition:text-decoration-color .2s,color .2s}

/* journal cards and the two hero paths: quieter, more even motion */
.d-jcard img{transition:box-shadow .3s,transform .5s cubic-bezier(.2,.7,.2,1)}
.d-jcard:hover img{box-shadow:0 0 0 1px var(--gold),0 22px 40px -28px rgba(47,22,34,.5);transform:translateY(-3px)}
.d-path:active{transform:none;box-shadow:none;transition-duration:.08s}
.d-proof,.d-side__g,.d-side__fb{transition:border-color .2s,box-shadow .3s}
.d-proof:hover,.d-side__g:hover,.d-side__fb:hover{box-shadow:0 14px 28px -22px rgba(47,22,34,.45)}
.d-contact__social a,.d-ftr__social a,.d-mnav__social a{transition:background-color .2s,border-color .2s,color .2s}
.d-ftr__social a:hover{border-color:var(--gold-l)}

/* footer: accreditation tiles squared to match the rest of the site */
.d-ftr__badges .badges img{border-radius:2px}

/* keyboard focus reads clearly on the claret grounds */
.d-hdr :focus-visible,.d-band :focus-visible,.d-ftr :focus-visible,.d-side__call :focus-visible,.d-mnav :focus-visible{outline-color:var(--gold-l)}

/* phones with a home indicator: the call bar sits above it */
@media (max-width:767px){
  .d-callbar{padding-bottom:env(safe-area-inset-bottom,0px)}
  body.d-d{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
}

@media (prefers-reduced-motion:reduce){.d-frame,.d-hero__land img{animation:none}}

/* ---------------------------------------------------------------- scroll reveal (10 Nov 2026)
   The effect from the original one-page site: each heading, paragraph and card fades up as it is scrolled to.
   site.js adds .rv, then .in, then removes both, so hover transitions are untouched afterwards. No JS: nothing is hidden. */
body[data-reveal="each"] .rv{opacity:0;translate:0 28px;transition-property:opacity,translate!important;transition-duration:1s!important;transition-timing-function:cubic-bezier(.22,1,.36,1)!important}
body[data-reveal="each"] .rv.in{opacity:1;translate:none}
@media print{body[data-reveal="each"] .rv{opacity:1;translate:none}}
/* the top of each page rises in as it opens (pure CSS, so nothing flickers while the script loads) */
@media (prefers-reduced-motion:no-preference){
  body[data-reveal="each"] .d-hero__text>*,body[data-reveal="each"] .d-ptitle .wrap>*{animation:d-rise 1s cubic-bezier(.22,1,.36,1) both}
  body[data-reveal="each"] .d-hero__text>:nth-child(2),body[data-reveal="each"] .d-ptitle .wrap>:nth-child(2){animation-delay:.12s}
  body[data-reveal="each"] .d-hero__text>:nth-child(3),body[data-reveal="each"] .d-ptitle .wrap>:nth-child(3){animation-delay:.24s}
  body[data-reveal="each"] .d-hero__text>:nth-child(n+4),body[data-reveal="each"] .d-ptitle .wrap>:nth-child(n+4){animation-delay:.36s}
}
