/* Damson Site Assets: all Damson CSS blocks (v7, v8, v8.1, v8.2 as live; v8.3 to v8.5 builder-safe revision).
   Matt's own CSS stays in Divi > Theme Options > Custom CSS. Loaded on the front end only. */
/* =====================================================================
   Damson Website Design v7: global stylesheet
   Paste ONCE into Divi > Theme Options > General > Custom CSS
   (or the bottom of a child theme's style.css). Every rule is hooked to
   a dm-* CSS class set on a Divi section, row, column or module, so it
   cannot affect other pages. Text stays editable in the builder.
   ===================================================================== */
:root{--dm-plum:#1c001c;--dm-plum2:#2a0530;--dm-ink:#1a1220;--dm-muted:#5d5466;--dm-line:#ece6f0;--dm-bg:#fbf9fc;--dm-violet:#8A2BE2;--dm-coral:#ff6347;--dm-pink:#f92c8b;--dm-purple:#b02cd6;--dm-soft:#ff9ac8;--dm-grad:linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6);--dm-gut:clamp(20px,4vw,64px);--dm-measure:68ch}

/* ---------- base type (sections with dm-s, plus header/footer) ---------- */
.dm-s,.dm-chrome{font-family:Poppins,system-ui,sans-serif;color:var(--dm-ink);line-height:1.65;font-size:17px;font-weight:400;-webkit-font-smoothing:antialiased}
@media(min-width:1600px){.dm-s,.dm-chrome{font-size:18px}}
.dm-s *,.dm-chrome *{box-sizing:border-box}
.dm-s h1,.dm-s h2,.dm-s h3,.dm-s h4,.dm-chrome h4{font-family:Outfit,Poppins,sans-serif;line-height:1.1;letter-spacing:-.02em;margin:0 0 .5em;padding:0;color:inherit}
.dm-s h1{font-size:clamp(2.6rem,6vw,5rem);font-weight:700}
.dm-s h2{font-size:clamp(2rem,3.6vw,3.1rem);font-weight:700}
.dm-s h3{font-size:1.35rem;font-weight:600}
.dm-s p{margin:0 0 1em;padding:0;line-height:inherit}
.dm-s a{color:inherit}
.dm-s .et_pb_text p a{text-decoration:underline}
.dm-s ul{line-height:inherit}
.dm-s :focus-visible,.dm-chrome :focus-visible{outline:2px solid var(--dm-pink);outline-offset:3px}

/* ---------- Divi layout resets ---------- */
.dm-s.et_pb_section{padding:120px 0}
@media(max-width:980px){.dm-s.et_pb_section{padding:80px 0}}
.dm-s.dm-alt{background-color:var(--dm-bg)}
.dm-s.dm-dark{background-color:var(--dm-plum);color:#fff}
.dm-s .et_pb_row.dm-row{width:calc(100% - 2*var(--dm-gut));max-width:1400px;padding:0;margin-left:auto;margin-right:auto}
.dm-s .et_pb_module{margin-bottom:0!important}
.dm-s .dm-gap{margin-top:26px!important}
.dm-s .dm-gap-l{margin-top:60px!important}
.dm-s .dm-gap-xl{margin-top:100px!important}
.dm-s .dm-headrow{margin-bottom:60px!important}
@media(min-width:981px){
 .dm-s .dm-vcenter{display:flex;align-items:center}
 .dm-s .dm-vend{display:flex;align-items:flex-end}
 .dm-s .dm-vstart{display:flex;align-items:flex-start}
}
@media(max-width:980px){.dm-s .et_pb_column{margin-bottom:40px}.dm-s .et_pb_column:last-child{margin-bottom:0}
 .dm-s .dm-rev{display:flex;flex-direction:column-reverse}.dm-s .dm-rev>.et_pb_column:first-child{margin-bottom:0}.dm-s .dm-rev>.et_pb_column:last-child{margin-bottom:40px}
 .dm-s .dm-headrow{margin-bottom:40px!important}.dm-s .dm-headrow>.et_pb_column{margin-bottom:0}.dm-s .dm-headrow>.et_pb_column:first-child:not(:last-child){margin-bottom:16px}
 .dm-s .dm-faq2>.et_pb_column{margin-bottom:0}}

/* ---------- text helpers ---------- */
.dm-s .dm-eyebrow{display:block;font:600 .78rem/1 Outfit,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--dm-purple);margin-bottom:18px!important}
.dm-s .dm-eyebrow p{margin:0}
.dm-s .dm-eyebrow.dm-soft,.dm-s.dm-dark .dm-eyebrow,.dm-s .dm-hero-copy .dm-eyebrow,.dm-s .dm-panel .dm-eyebrow,.dm-s .dm-cta .dm-eyebrow,.dm-s .dm-feat .dm-eyebrow{color:var(--dm-soft)}
.dm-s .dm-h20 h2{max-width:20ch;margin-bottom:0}
.dm-s .dm-muted,.dm-s .dm-muted p{color:var(--dm-muted)}
.dm-s .dm-big p:first-child,.dm-s p.dm-big{font-size:1.1rem}
.dm-s .dm-intro p{color:var(--dm-muted);font-size:1.1rem}
.dm-s.dm-dark .dm-intro p{color:rgba(255,255,255,.7)}
.dm-s .dm-row p{max-width:var(--dm-measure)}
.dm-s .dm-grad{background:var(--dm-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.dm-s .dm-note p{font-size:.85rem;color:var(--dm-muted);background:#fff7e6;border:1px dashed #e8b84a;border-radius:12px;padding:12px 16px;margin:30px 0 0;max-width:none}
.dm-s .dm-center{text-align:center}

/* ticks list: a Text module containing a normal bulleted list */
.dm-s .dm-ticks ul{list-style:none!important;padding:0!important;margin:18px 0 0!important}
.dm-s .dm-ticks li{padding:7px 0 7px 30px;position:relative;color:var(--dm-muted);list-style:none}
.dm-s .dm-ticks li:before{content:"";position:absolute;left:0;top:14px;width:16px;height:9px;border-left:2px solid var(--dm-pink);border-bottom:2px solid var(--dm-pink);transform:rotate(-45deg)}
.dm-s.dm-dark .dm-ticks li,.dm-s .dm-panel .dm-ticks li,.dm-s .dm-feat .dm-ticks li{color:rgba(255,255,255,.8)}

/* ---------- buttons (Divi Button module, CSS class dm-btn + style) ---------- */
.dm-s .et_pb_button_module_wrapper{margin-top:8px!important}
.dm-s .dm-btns .et_pb_button_module_wrapper{display:inline-block;vertical-align:top;margin:0 14px 14px 0!important}
.et_pb_section .et_pb_button.dm-btn,.et_pb_section .dm-btn .et_pb_button,.dm-s .dm-form .et_pb_contact_submit{display:inline-flex!important;align-items:center;gap:10px;padding:15px 28px!important;border-radius:999px!important;border:0!important;font-family:Outfit,sans-serif!important;font-weight:600!important;font-size:.98rem!important;line-height:1.2!important;letter-spacing:0!important;text-decoration:none!important;color:#fff!important;transition:transform .25s,box-shadow .25s,background .25s;cursor:pointer}
.et_pb_section .et_pb_button.dm-btn:after,.et_pb_section .et_pb_button.dm-btn:before,.et_pb_section .dm-btn .et_pb_button:after,.dm-s .dm-form .et_pb_contact_submit:after{display:none!important}
.et_pb_section .et_pb_button.dm-btn-primary,.et_pb_section .dm-btn-primary .et_pb_button,.dm-s .dm-form .et_pb_contact_submit{background:#ff6347 var(--dm-grad)!important;box-shadow:0 10px 30px -10px rgba(249,44,139,.6)}
.et_pb_section .et_pb_button.dm-btn-primary:hover,.et_pb_section .dm-btn-primary .et_pb_button:hover,.dm-s .dm-form .et_pb_contact_submit:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(249,44,139,.75)}
.et_pb_section .et_pb_button.dm-btn-ghost,.et_pb_section .dm-btn-ghost .et_pb_button{background:transparent!important;border:1.5px solid rgba(255,255,255,.35)!important}
.et_pb_section .et_pb_button.dm-btn-ghost:hover,.et_pb_section .dm-btn-ghost .et_pb_button:hover{background:rgba(255,255,255,.08)!important}
.et_pb_section .et_pb_button.dm-btn-dark,.et_pb_section .dm-btn-dark .et_pb_button{background:var(--dm-plum)!important}
.et_pb_section .et_pb_button.dm-btn-dark:hover,.et_pb_section .dm-btn-dark .et_pb_button:hover{transform:translateY(-2px)}

/* ---------- hero (section class dm-hero; particles added by the header Code module) ---------- */
.dm-s.dm-hero{position:relative;overflow:hidden;background-color:var(--dm-plum);background-image:radial-gradient(1200px 600px at 80% 10%,#3b0a44 0%,transparent 60%),radial-gradient(900px 500px at 0% 100%,#2c0634,transparent 60%);color:#fff;padding:190px 0 130px}
.dm-s.dm-hero.dm-sub{padding:170px 0 90px}
@media(max-width:980px){.dm-s.dm-hero{padding:150px 0 90px}.dm-s.dm-hero.dm-sub{padding:140px 0 70px}}
.dm-s.dm-hero>canvas.dm-particles{position:absolute;inset:0;z-index:0;pointer-events:none}
.dm-s.dm-hero .et_pb_row{z-index:1}
.dm-s.dm-hero h1{max-width:18ch;margin-bottom:0}
.dm-s.dm-hero.dm-sub h1{max-width:20ch}
.dm-s.dm-hero-split h1{max-width:14ch}
@media(max-width:1099px){.dm-s.dm-hero-split h1{max-width:18ch}}
.dm-s .dm-lead p{font-size:1.2rem;color:rgba(255,255,255,.78);max-width:62ch;margin:22px 0 36px}
.dm-s .dm-crumbs{font-size:.85rem;color:rgba(255,255,255,.55);margin-bottom:16px!important}
.dm-s .dm-crumbs p{margin:0}.dm-s .dm-crumbs a{text-decoration:none!important}
.dm-s .dm-trust{margin-top:42px!important;font-size:.88rem;color:rgba(255,255,255,.65)}
.dm-s .dm-trust p{display:flex;gap:10px 28px;flex-wrap:wrap;margin:0;max-width:none}
.dm-s .dm-trust span:before{content:"\2713";color:var(--dm-pink);margin-right:8px}
.dm-s .dm-hero-aside{position:relative}
.dm-s .dm-contact-copy .dm-ticks{margin-bottom:24px!important}
@media(max-width:1099px){.dm-s .dm-hero-aside{display:none}.dm-s.dm-hero-split .dm-hero-copy{width:100%!important;margin-right:0!important}}
/* hero visual (decorative Code module) */
.dm-hv{position:relative;aspect-ratio:5/4;width:100%;max-width:600px;margin-left:auto}
.dm-hv-win{position:absolute;inset:4% 0 14% 6%;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);box-shadow:0 40px 80px -30px rgba(0,0,0,.6);overflow:hidden;transform:perspective(1400px) rotateY(-9deg) rotateX(3deg);animation:dm-fl 9s ease-in-out infinite}
.dm-hv-bar{display:flex;align-items:center;gap:7px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.dm-hv-bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.25)}
.dm-hv-bar i:first-child{background:#ff6347}.dm-hv-bar i:nth-child(2){background:#f92c8b}.dm-hv-bar i:nth-child(3){background:#b02cd6}
.dm-hv-bar span{margin-left:12px;height:12px;flex:1;max-width:55%;border-radius:6px;background:rgba(255,255,255,.1)}
.dm-hv-site{padding:18px}
.dm-hv-hero{border-radius:12px;padding:22px 20px;background:linear-gradient(135deg,rgba(255,99,71,.35),rgba(249,44,139,.3) 50%,rgba(176,44,214,.4))}
.dm-hv-hero b{display:block;height:14px;border-radius:7px;background:rgba(255,255,255,.85);width:75%;margin-bottom:10px}
.dm-hv-hero u{display:block;width:90px;height:26px;border-radius:999px;background:var(--dm-grad);margin-top:16px}
.dm-hv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.dm-hv-cards div{height:64px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.dm-hv-lines em,.dm-hv-phone em{display:block;height:8px;border-radius:4px;background:rgba(255,255,255,.12);margin:9px 0;width:100%}
.dm-hv-phone{position:absolute;left:0;bottom:0;width:30%;aspect-ratio:9/18;border-radius:22px;background:#1c001c;border:1px solid rgba(255,255,255,.2);box-shadow:0 30px 60px -20px rgba(0,0,0,.7);padding:26px 10px 10px;animation:dm-fl 9s ease-in-out -4s infinite}
.dm-hv-phone .dm-hv-hero{padding:14px 10px;margin-bottom:10px}
.dm-hv-phone .dm-hv-hero b{height:8px;margin-bottom:6px}
.dm-hv-phone .dm-hv-hero u{width:50px;height:14px;margin-top:10px}
.dm-hv-notch{position:absolute;top:9px;left:50%;width:34%;height:7px;border-radius:4px;background:rgba(255,255,255,.18);transform:translateX(-50%)}
.dm-hv-chip{position:absolute;font:600 .82rem Outfit,sans-serif;color:#fff;padding:9px 15px;border-radius:999px;background:rgba(28,0,28,.75);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);box-shadow:0 12px 30px -10px rgba(0,0,0,.5);white-space:nowrap}
.dm-hv-chip:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--dm-grad);margin-right:9px;vertical-align:1px}
.dm-hv-chip.c1{top:0;right:6%}.dm-hv-chip.c2{top:44%;right:0}.dm-hv-chip.c3{bottom:6%;left:34%}
@keyframes dm-fl{50%{translate:0 -10px}}

/* ---------- marquee (decorative Code module) ---------- */
.dm-s.dm-mq-sec{padding:0!important;background-color:var(--dm-plum2)}
.dm-marquee{background:var(--dm-plum2);color:#fff;overflow:hidden;padding:20px 0;border-top:1px solid rgba(255,255,255,.08)}
.dm-marquee .dm-track{display:flex;gap:48px;width:max-content;animation:dm-mq 40s linear infinite;font:600 1.4rem/1.3 Outfit,sans-serif;white-space:nowrap}
.dm-marquee .dm-track span:after{content:"\2726";margin-left:48px;color:var(--dm-pink)}
@keyframes dm-mq{to{transform:translateX(-50%)}}

/* ---------- cards (Blurb module, class dm-card) ---------- */
.dm-s .dm-card.et_pb_blurb{background:#fff;border:1px solid var(--dm-line);border-radius:22px;padding:34px;height:100%;position:relative;transition:transform .35s,box-shadow .35s,border-color .35s}
.dm-s .dm-card.et_pb_blurb:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(60,0,70,.35);border-color:transparent}
.dm-s .dm-card .et_pb_blurb_content{max-width:none;margin:0;text-align:left}
.dm-s .dm-card .et_pb_module_header{font:600 1.35rem/1.1 Outfit,sans-serif;letter-spacing:-.02em;color:var(--dm-ink);padding:0;margin:0 0 .5em}
.dm-s .dm-card .et_pb_module_header a{color:inherit;text-decoration:none}
.dm-s .dm-card .et_pb_module_header a:after{content:"";position:absolute;inset:0;z-index:1}
.dm-s .dm-card .et_pb_blurb_description p{color:var(--dm-muted);margin:0}
.dm-s .dm-more,.dm-s .dm-card .dm-more{display:inline-block;margin-top:18px;font:600 .9rem Outfit,sans-serif;color:var(--dm-purple);text-decoration:none!important}
.dm-s .dm-ico .et_pb_blurb_content:before,.dm-s .dm-num .et_pb_blurb_content:before{width:52px;height:52px;border-radius:14px;background:var(--dm-grad);display:grid;place-items:center;color:#fff;font:700 1.1rem Outfit,sans-serif;margin-bottom:22px}
.dm-s .dm-ico-wd .et_pb_blurb_content:before{content:"Wd"}
.dm-s .dm-ico-se .et_pb_blurb_content:before{content:"Se"}
.dm-s .dm-ico-rd .et_pb_blurb_content:before{content:"Rd"}
.dm-s .dm-ico-ec .et_pb_blurb_content:before{content:"Ec"}
.dm-s .dm-ico-dm .et_pb_blurb_content:before{content:"Dm"}
.dm-s .dm-ico-cp .et_pb_blurb_content:before{content:"Cp"}
.dm-s.dm-count{counter-reset:dmc}
.dm-s .dm-num .et_pb_blurb_content:before{counter-increment:dmc;content:"0" counter(dmc)}
.dm-s .dm-cards.et_pb_row>.et_pb_column{display:flex;flex-direction:column}
.dm-s .dm-cards>.et_pb_column>.et_pb_module{flex:1}
@media(max-width:980px){.dm-s .dm-cards>.et_pb_column{margin-bottom:26px}.dm-s .dm-cards>.et_pb_column:last-child{margin-bottom:0}}

/* ---------- dark panel (column class dm-panel) ---------- */
.dm-s .et_pb_column.dm-panel{border-radius:28px;background-color:var(--dm-plum);background-image:linear-gradient(145deg,#2a0530,#1c001c);color:#fff;padding:44px;position:relative;overflow:hidden}
.dm-s .et_pb_column.dm-panel:after{content:"";position:absolute;width:320px;height:320px;right:-120px;top:-120px;border-radius:50%;background:var(--dm-grad);opacity:.35;filter:blur(40px);pointer-events:none}
.dm-s .dm-panel>.et_pb_module{position:relative;z-index:1}
@media(max-width:600px){.dm-s .et_pb_column.dm-panel{padding:32px 24px}}

/* ---------- process timeline (row dm-tl, Text modules dm-st) ---------- */
.dm-s .dm-tl{counter-reset:st;position:relative}
.dm-s .dm-tl:before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:linear-gradient(90deg,var(--dm-coral),var(--dm-pink),var(--dm-purple))}
.dm-s .dm-tl>.et_pb_column{position:relative;padding-right:clamp(28px,3vw,56px)}
.dm-s .dm-st:before{counter-increment:st;content:"0" counter(st);display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--dm-pink);font:700 1rem Outfit,sans-serif;color:var(--dm-plum);margin-bottom:24px;position:relative}
.dm-s.dm-dark .dm-st:before{background:var(--dm-plum);color:#fff}
.dm-s .dm-st p{color:var(--dm-muted);font-size:.96rem}
.dm-s.dm-dark .dm-st p{color:rgba(255,255,255,.7)}
@media(max-width:980px){.dm-s .dm-tl:before{display:none}.dm-s .dm-tl>.et_pb_column{margin-bottom:30px}}

/* ---------- work cards (column dm-work: Code module mock + Text module) ---------- */
.dm-s .et_pb_column.dm-work{border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--dm-line);position:relative;transition:transform .35s,box-shadow .35s}
.dm-s .et_pb_column.dm-work:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(60,0,70,.4)}
.dm-s .dm-work-body{padding:30px}
.dm-s .dm-work-body p{color:var(--dm-muted)}
.dm-s .dm-work-body a.dm-more:after{content:"";position:absolute;inset:0;z-index:2}
.dm-s .dm-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.dm-s .dm-tag,.dm-s .dm-tags span{display:inline-block;font:600 .72rem/1.3 Outfit,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:999px;background:#f6eefa;color:var(--dm-purple)}
.dm-shot{aspect-ratio:16/10;display:grid;place-items:center;color:#fff;font:700 2rem Outfit,sans-serif;position:relative;overflow:hidden}
.dm-shot.dm-wide{aspect-ratio:21/9;border-radius:26px}
.dm-shot .dm-mock{position:absolute;left:10%;right:10%;top:16%;bottom:-6%;background:#fff;border-radius:12px 12px 0 0;box-shadow:0 20px 50px rgba(0,0,0,.35);padding:34px 28px;color:#222;font-size:1rem;line-height:1.4}
.dm-shot .dm-mock:before{content:"";position:absolute;top:12px;left:14px;width:42px;height:8px;border-radius:4px;background:radial-gradient(circle,#ff5f57 3px,transparent 4px) 0 0/14px 8px}
.dm-shot .dm-mock b{display:block;font:700 1.5rem Outfit,sans-serif;margin-bottom:8px}
.dm-shot .dm-mock em{display:block;height:9px;border-radius:5px;background:#eee;margin:9px 0;width:80%}
.dm-hls{background:linear-gradient(135deg,#0d2b45,#1b5e8c)}.dm-puwer{background:linear-gradient(135deg,#2b2b2b,#d9a400)}
.dm-s .dm-work .et_pb_image_wrap,.dm-s .dm-work .et_pb_image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.dm-s .dm-facts p{margin:0}

/* ---------- pricing (column dm-price, featured adds dm-feat) ---------- */
.dm-s .et_pb_column.dm-price{border-radius:24px;border:1px solid var(--dm-line);padding:38px;background:#fff;display:flex;flex-direction:column}
.dm-s .et_pb_column.dm-price.dm-feat{background:var(--dm-plum);color:#fff;border-color:transparent;transform:translateY(-12px);box-shadow:0 40px 70px -35px rgba(60,0,70,.7)}
.dm-s .dm-price .dm-amt{font:700 2rem/1.2 Outfit,sans-serif;margin:12px 0 4px!important}
.dm-s .dm-price .dm-amt p{margin:0}
.dm-s .dm-price h3{margin-bottom:0}
.dm-s .dm-price .dm-desc p{opacity:.75;margin:1em 0}
.dm-s .dm-price .dm-ticks ul{margin-bottom:28px!important}
.dm-s .dm-price .et_pb_button_module_wrapper{margin-top:auto!important}
.dm-s .dm-price .et_pb_button{width:100%;justify-content:center}
@media(max-width:980px){.dm-s .et_pb_column.dm-price.dm-feat{transform:none}}

/* ---------- FAQ (Toggle modules, class dm-faq) ---------- */
.dm-s .dm-faq.et_pb_toggle{border:0!important;border-bottom:1px solid var(--dm-line)!important;border-radius:0!important;background:transparent!important;padding:24px 0!important;margin:0!important;box-shadow:none!important}
.dm-s .dm-faq .et_pb_toggle_title{font:600 1.15rem/1.3 Outfit,sans-serif!important;color:var(--dm-ink)!important;padding:0 44px 0 0!important;margin:0;letter-spacing:0}
.dm-s .dm-faq .et_pb_toggle_title:before{content:"+"!important;font-family:Outfit,sans-serif!important;font-size:1.6rem!important;font-weight:400;line-height:1!important;color:var(--dm-pink)!important;position:absolute;right:0;left:auto;top:50%;margin-top:-.5em;transition:transform .3s}
.dm-s .dm-faq.et_pb_toggle_open .et_pb_toggle_title:before{transform:rotate(45deg)}
.dm-s .dm-faq .et_pb_toggle_content{padding-top:14px;color:var(--dm-muted);max-width:760px}
.dm-s .dm-faq .et_pb_toggle_content p{margin:0}

/* ---------- CTA band (row class dm-cta) ---------- */
.dm-s .et_pb_row.dm-cta{border-radius:32px;padding:70px;background-color:var(--dm-plum);background-image:radial-gradient(600px 300px at 90% 0%,rgba(249,44,139,.45),transparent),radial-gradient(500px 300px at 0% 100%,rgba(176,44,214,.5),transparent);color:#fff}
@media(min-width:1200px){.dm-s .et_pb_row.dm-cta{padding:clamp(56px,5vw,90px) clamp(56px,6vw,110px)}}
.dm-s .dm-cta p{color:rgba(255,255,255,.75)}
@media(max-width:980px){.dm-s .et_pb_row.dm-cta{padding:40px}.dm-s .dm-cta .et_pb_button_module_wrapper{text-align:left!important}}
@media(max-width:600px){.dm-s .et_pb_row.dm-cta{padding:36px 24px;border-radius:24px}}

/* ---------- towns ---------- */
.dm-s .dm-towns p{display:flex;flex-wrap:wrap;gap:12px;margin:0;max-width:none}
.dm-s .dm-towns span{font:600 .85rem/1.3 Outfit,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:12px 18px;border-radius:999px;background:#f6eefa;color:var(--dm-purple)}

/* ---------- contact form (Divi Contact Form module, class dm-form; column dm-formcard) ---------- */
.dm-s .et_pb_column.dm-formcard{background:#fff;border:1px solid var(--dm-line);border-radius:22px;padding:40px}
@media(max-width:600px){.dm-s .et_pb_column.dm-formcard{padding:28px 20px}}
.dm-s .dm-form .et_pb_contact_form{margin-left:0!important}
.dm-s .dm-form .et_pb_contact_field{float:none!important;width:100%!important;padding-left:0!important;margin:0 0 16px!important;clear:both}
.dm-s .dm-form .et_pb_contact_form_label{display:block!important;font:600 .85rem/1.3 Outfit,sans-serif;color:var(--dm-ink);margin-bottom:6px}
.dm-s .dm-form input.input,.dm-s .dm-form textarea.input,.dm-s .dm-form select.input,.dm-s .dm-form select{width:100%;font-family:inherit!important;font-size:16px!important;line-height:1.4!important;padding:14px 16px!important;border-radius:12px!important;border:1px solid var(--dm-line)!important;background:#fff!important;color:var(--dm-ink)!important}
.dm-s .dm-form textarea.input{min-height:130px}
.dm-s .dm-form input.input:focus,.dm-s .dm-form textarea.input:focus,.dm-s .dm-form select:focus{outline:2px solid var(--dm-pink);border-color:transparent!important}
.dm-s .dm-form .et_contact_bottom_container{float:none!important;display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px!important;text-align:left}
.dm-s .dm-form .et_pb_contact_right{color:var(--dm-muted)}
.dm-s .dm-form input.et_pb_contact_captcha{width:64px!important;display:inline-block;padding:10px!important}
.dm-s .dm-form .et_pb_contact_submit{margin:0!important}

/* ---------- header + footer (Code modules, wrapper dm-chrome) ---------- */
.dm-s.dm-chrome-sec{padding:0!important;background-color:transparent}
.dm-s.dm-hdr-sec{position:relative;z-index:99999}
.dm-s.dm-chrome-sec .et_pb_row{width:100%!important;max-width:100%!important;padding:0!important}
.dm-chrome a{color:inherit;text-decoration:none}
.dm-chrome .dm-wrap{width:100%;max-width:calc(1400px + 2*var(--dm-gut));margin:0 auto;padding:0 var(--dm-gut)}
.dm-skip{position:absolute;left:-999px}.dm-skip:focus{left:10px;top:10px;z-index:99;background:#fff;padding:10px}
.dm-hdr{position:fixed;top:0;left:0;right:0;z-index:9999;transition:background .35s,box-shadow .35s,padding .35s;padding:22px 0;font-family:Poppins,system-ui,sans-serif}
body.admin-bar .dm-hdr{top:32px}@media(max-width:782px){body.admin-bar .dm-hdr{top:46px}}
.et-fb .dm-hdr{position:absolute}
.dm-hdr.solid{background:rgba(28,0,28,.94);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.25);padding:12px 0}
.dm-hdr .dm-wrap{display:flex;align-items:center;gap:28px}
.dm-logo{font:700 1.45rem/1.1 Outfit,sans-serif;color:#fff!important;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.dm-logo i{width:30px;height:30px;border-radius:50% 50% 50% 8px;background:var(--dm-grad);display:inline-block}
.dm-logo small{display:block;font:500 .62rem/1.4 Poppins,sans-serif;letter-spacing:.22em;text-transform:uppercase;opacity:.7}
.dm-menu{display:flex;gap:4px;margin-left:auto}
.dm-menu a{color:rgba(255,255,255,.82)!important;font:500 .93rem/1.4 Outfit,sans-serif;padding:8px 14px;border-radius:999px;transition:.2s}
.dm-menu a:hover,.dm-menu a[aria-current]{color:#fff!important;background:rgba(255,255,255,.1)}
.dm-pills{display:flex;gap:8px}
.dm-pill{font:500 .8rem/1.4 Outfit,sans-serif;color:#fff!important;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.28)}.dm-pill:hover{border-color:#fff}
.dm-hdr .dm-hbtn{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;font:600 .88rem/1.2 Outfit,sans-serif;color:#fff!important;background:var(--dm-grad);box-shadow:0 10px 30px -10px rgba(249,44,139,.6);white-space:nowrap}
.dm-burger{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:10px;padding:8px 12px;font:600 .9rem Outfit,sans-serif;cursor:pointer}
@media(max-width:1080px){.dm-pills{display:none}}
@media(max-width:900px){.dm-menu,.dm-hdr .dm-hbtn{display:none}.dm-burger{display:block}.dm-hdr.open .dm-menu{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--dm-plum);padding:16px var(--dm-gut) 24px}.dm-hdr.open{background:var(--dm-plum)}}
.dm-foot{background:#120012;color:rgba(255,255,255,.7);padding:90px 0 40px;font-size:.93rem}
.dm-foot .dm-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
@media(max-width:900px){.dm-foot .dm-cols{grid-template-columns:1fr 1fr}.dm-foot .dm-cols>div:first-child{grid-column:1/-1}.dm-foot p{max-width:none}}
.dm-foot .dm-fbtn{white-space:nowrap}
.dm-foot p{margin:20px 0 1em;max-width:340px;padding:0}
.dm-foot h4{color:#fff;font-size:1rem;margin-bottom:18px}
.dm-foot .dm-cols a{display:block;padding:4px 0}.dm-foot .dm-cols a.dm-logo{display:flex;padding:0}.dm-foot a:hover{color:#fff}
.dm-foot .dm-fbtn{display:inline-flex!important;padding:15px 28px!important;border-radius:999px;font:600 .98rem/1.2 Outfit,sans-serif;color:#fff!important;background:var(--dm-grad);box-shadow:0 10px 30px -10px rgba(249,44,139,.6)}
.dm-foot .dm-legal{border-top:1px solid rgba(255,255,255,.1);margin-top:60px;padding-top:28px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.82rem}
.dm-foot .dm-legal a{display:inline}

@media(prefers-reduced-motion:reduce){.dm-marquee .dm-track,.dm-hv-win,.dm-hv-phone{animation:none}}
@media(max-width:980px){.dm-s .et_pb_column.dm-empty{display:none}}
.dm-s .dm-hclink{margin-top:20px!important;font-size:.95rem}

/* =====================================================================
   Damson Website Design v8: homepage "more engaging" layer (21 Oct 2026)
   Appended AFTER the v7 block. Remove this whole block to go back to v7.
   Everything is hooked to dm-* classes on the homepage sections, rows,
   columns and modules. Motion is switched off for prefers-reduced-motion.
   Needs damson-v8.js for scroll reveals, the timeline fill, the
   before/after slider and the report counters. Without the JS everything
   still shows, just without the motion.
   ===================================================================== */
@property --dm-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --v{syntax:'<number>';inherits:true;initial-value:0}

/* sticky columns need a non-scrolling page container (Divi sets overflow-y:hidden) */
#page-container:has(.dm-sticky){overflow-y:clip}

/* ---------- scroll reveal (classes added by damson-v8.js, never in the builder) ---------- */
.dm-rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)!important;transition-delay:var(--d,0ms)!important}
.dm-rv.is-in{opacity:1;transform:none}

/* ---------- soft drifting colour (section class dm-mesh) ---------- */
.dm-s.dm-mesh{position:relative;overflow:hidden;overflow:clip;isolation:isolate}
.dm-s.dm-mesh:before,.dm-s.dm-mesh:after{content:"";position:absolute;z-index:-1;width:min(560px,70vw);aspect-ratio:1;border-radius:50%;filter:blur(90px);opacity:.16;pointer-events:none;animation:dm-drift 22s ease-in-out infinite alternate}
.dm-s.dm-mesh:before{top:8%;left:-300px;background:radial-gradient(circle,#ff6347,#f92c8b 60%,transparent 70%)}
.dm-s.dm-mesh:after{bottom:6%;right:-300px;background:radial-gradient(circle,#b02cd6,#8A2BE2 60%,transparent 70%);animation-delay:-11s}
@keyframes dm-drift{0%{translate:0 0;scale:1}50%{translate:60px 40px;scale:1.12}100%{translate:-30px 70px;scale:.95}}

/* ---------- Why it matters: before / after slider (decorative Code module) ---------- */
.dm-s.dm-why .dm-ba-row{margin-top:80px!important}
.dm-ba{--pos:50%;position:relative;aspect-ratio:16/8;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 60px 120px -60px rgba(60,0,70,.6),0 0 0 1px var(--dm-line);container-type:inline-size;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.dm-ba-pane{position:absolute;inset:0}
.dm-ba-after{clip-path:inset(0 0 0 var(--pos))}
.dm-ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(28,0,28,.12),0 0 24px rgba(249,44,139,.55);z-index:3;pointer-events:none}
.dm-ba-handle span{position:absolute;top:50%;left:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") center/26px no-repeat,var(--dm-grad);box-shadow:0 12px 30px -8px rgba(249,44,139,.8),0 0 0 6px rgba(255,255,255,.35);transition:transform .25s}
.dm-ba:hover .dm-ba-handle span{transform:scale(1.08)}
.dm-ba:has(.dm-ba-range:focus-visible) .dm-ba-handle span{outline:3px solid #fff;outline-offset:4px}
.dm-ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4;-webkit-appearance:none;appearance:none;background:transparent}
.dm-ba-tag{position:absolute;bottom:18px;z-index:2;font:600 .72rem/1 Outfit,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:9px 14px;border-radius:999px;pointer-events:none}
.dm-ba-l{left:18px;background:rgba(0,0,0,.65);color:#fff}
.dm-ba-r{right:18px;background:#fff;color:var(--dm-plum);box-shadow:0 8px 20px -8px rgba(0,0,0,.4)}
.dm-s .dm-ba-cap{margin-top:22px!important;text-align:center}
.dm-s .dm-ba-cap p{margin:0 auto;color:var(--dm-muted);font-size:.95rem;max-width:none}
.dm-s .dm-ba-cap strong{color:var(--dm-ink);font-weight:600}
/* the dated site */
.dm-old{position:absolute;inset:0;background:#d9d9d9 repeating-linear-gradient(45deg,#d4d4d4 0 6px,#dcdcdc 6px 12px);font-family:"Times New Roman",Times,serif;color:#000;font-size:clamp(9px,1.35cqw,16px);line-height:1.35}
.dm-old-top{background:#000080;color:#ffff66;padding:2.2cqw 3cqw;border-bottom:4px ridge #c0c0c0}
.dm-old-top b{display:block;font:bold 3cqw/1.1 "Arial Black",Impact,sans-serif;letter-spacing:.05em;text-shadow:2px 2px 0 #ff00ff}
.dm-old-top span{display:block;margin-top:.8cqw;color:#9cf;text-decoration:underline;font-size:1.25cqw}
.dm-old-body{display:flex;gap:2cqw;padding:2cqw 3cqw}
.dm-old-side{flex:0 0 17%;background:#c0c0c0;border:3px outset #eee;padding:1.2cqw;display:flex;flex-direction:column;gap:.8cqw}
.dm-old-side u{color:#00e;font-size:1.3cqw}
.dm-old-main{flex:1;background:#fff;border:2px inset #ccc;padding:1.6cqw 2cqw;position:relative}
.dm-old-main h4{font:italic bold 2.4cqw/1.2 "Comic Sans MS","Comic Sans",cursive;color:#c00;margin:0 0 1cqw;padding:0;text-align:center}
.dm-old-main p{margin:0 0 1cqw;padding:0;font-size:1.3cqw;max-width:none!important}
.dm-old-img{height:9cqw;border:2px dashed #999;display:grid;place-items:center;color:#888;font-style:italic;margin:1cqw 0;background:#f4f4f4}
.dm-old-small{font-size:1.05cqw!important;color:#555}
.dm-old-count{display:inline-block;font:bold 1.2cqw "Courier New",monospace;background:#000;color:#0f0;padding:.4cqw .8cqw}
/* the Damson-style site */
.dm-new{position:absolute;inset:0;background:radial-gradient(70cqw 40cqw at 85% 0%,#4a0d55,transparent 60%),radial-gradient(60cqw 40cqw at 0% 100%,#3a0846,transparent 60%),#1c001c;color:#fff;font-family:Poppins,sans-serif;padding:2.4cqw 4cqw;overflow:hidden}
.dm-new-nav{display:flex;align-items:center;gap:2cqw}
.dm-new-logo{display:flex;align-items:center;gap:.8cqw;font:700 1.7cqw/1 Outfit,sans-serif}
.dm-new-logo i{width:2.2cqw;height:2.2cqw;border-radius:50% 50% 50% 20%;background:var(--dm-grad)}
.dm-new-links{display:flex;gap:1.4cqw;margin-left:auto}
.dm-new-links em{display:block;width:5cqw;height:.7cqw;border-radius:9px;background:rgba(255,255,255,.35)}
.dm-new-cta{font:600 1.2cqw/1 Outfit,sans-serif;padding:1cqw 1.8cqw;border-radius:99px;background:var(--dm-grad)}
.dm-new-hero{margin:5cqw 0 0 auto;max-width:47%;padding-left:2.5cqw}
.dm-new-hero small{display:block;font:600 1cqw/1 Outfit,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#ff9ac8;margin-bottom:1.4cqw}
.dm-new-hero strong{display:block;font:700 4.2cqw/1.05 Outfit,sans-serif;letter-spacing:-.02em;background:linear-gradient(90deg,#fff 30%,#ff9ac8);-webkit-background-clip:text;background-clip:text;color:transparent}
.dm-new-hero p{margin:1.6cqw 0 0;padding:0;font-size:1.45cqw;color:rgba(255,255,255,.75);max-width:none!important}
.dm-new-btns{display:flex;gap:1.2cqw;margin-top:2.4cqw}
.dm-new-btns b,.dm-new-btns i{font:600 1.25cqw/1 Outfit,sans-serif;padding:1.2cqw 2.2cqw;border-radius:99px;font-style:normal}
.dm-new-btns b{background:var(--dm-grad);box-shadow:0 1cqw 3cqw -1cqw rgba(249,44,139,.8)}
.dm-new-btns i{border:1px solid rgba(255,255,255,.4)}
.dm-new-cards{position:absolute;left:4cqw;right:4cqw;bottom:-2cqw;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw}
.dm-new-cards span{height:11cqw;border-radius:1.6cqw;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:1.6cqw}
.dm-new-cards i{display:block;width:3cqw;height:3cqw;border-radius:.8cqw;background:var(--dm-grad);margin-bottom:1.2cqw}
.dm-new-cards em{display:block;height:.7cqw;border-radius:9px;background:rgba(255,255,255,.25);margin-bottom:.8cqw;width:80%}
.dm-new-cards em+em{width:55%;background:rgba(255,255,255,.14)}
.dm-new-chip{position:absolute;font:600 1.15cqw/1 Outfit,sans-serif;padding:1cqw 1.6cqw;border-radius:99px;background:rgba(28,0,28,.7);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);white-space:nowrap;animation:dm-fl 7s ease-in-out infinite}
.dm-new-chip:before{content:"";display:inline-block;width:.8cqw;height:.8cqw;border-radius:50%;background:#2bd67b;margin-right:.8cqw;box-shadow:0 0 .8cqw #2bd67b}
.dm-new-chip.c1{top:24%;left:7%}.dm-new-chip.c2{top:40%;left:19%;animation-delay:-2.3s}.dm-new-chip.c3{top:56%;left:9%;animation-delay:-4.6s}
@media(max-width:767px){
 .dm-ba{aspect-ratio:4/5;border-radius:20px}
 .dm-old{font-size:2.6cqw}.dm-old-top{padding:4cqw}.dm-old-top b{font-size:5.4cqw}.dm-old-top span{font-size:2.6cqw}
 .dm-old-body{flex-direction:column;padding:4cqw}.dm-old-side{flex-direction:row;flex-wrap:wrap;gap:2cqw;padding:2cqw}.dm-old-side u{font-size:2.8cqw}
 .dm-old-main{padding:3cqw}.dm-old-main h4{font-size:5cqw}.dm-old-main p{font-size:3cqw}.dm-old-img{height:24cqw}.dm-old-small{font-size:2.6cqw!important}.dm-old-count{font-size:2.6cqw}
 .dm-new{padding:5cqw}.dm-new-logo{font-size:4cqw;gap:2cqw}.dm-new-logo i{width:5cqw;height:5cqw}.dm-new-links{display:none}.dm-new-cta{margin-left:auto;font-size:3cqw;padding:2.4cqw 4cqw}
 .dm-new-hero{max-width:50%;margin-top:9cqw}.dm-new-hero small{font-size:2.3cqw;margin-bottom:2.6cqw}.dm-new-hero strong{font-size:6.6cqw}.dm-new-hero p{font-size:3.1cqw;margin-top:3cqw}
 .dm-new-btns{gap:3cqw;margin-top:4cqw}.dm-new-btns b{font-size:3.1cqw;padding:2.8cqw 4.4cqw}.dm-new-btns i{display:none}
 .dm-new-cards{grid-template-columns:repeat(2,1fr);gap:3cqw;left:5cqw;right:5cqw;bottom:-6cqw}.dm-new-cards span{height:28cqw;border-radius:4cqw;padding:4cqw}.dm-new-cards span:nth-child(3){display:none}.dm-new-cards i{width:7cqw;height:7cqw;border-radius:2cqw;margin-bottom:3cqw}.dm-new-cards em{height:1.8cqw;margin-bottom:2cqw}
 .dm-new-chip{font-size:2.8cqw;padding:2.2cqw 3.4cqw}.dm-new-chip:before{width:2cqw;height:2cqw;margin-right:2cqw}.dm-new-chip.c1{top:30%;left:5%}.dm-new-chip.c2{top:42%;left:9%}.dm-new-chip.c3{display:none}
 .dm-ba-tag{bottom:12px;font-size:.66rem;padding:8px 11px}.dm-ba-l{left:12px}.dm-ba-r{right:12px}
 .dm-s.dm-why .dm-ba-row{margin-top:56px!important}
}

/* ---------- What we do: dot texture, line icons, lift + glow + gradient border ---------- */
.dm-s.dm-dots{background-image:radial-gradient(rgba(138,43,226,.13) 1px,transparent 1.6px)!important;background-size:24px 24px!important}
.dm-s .dm-card.et_pb_blurb{isolation:isolate;overflow:hidden;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s}
.dm-s .dm-card.et_pb_blurb:hover{transform:translateY(-8px);box-shadow:0 34px 70px -34px rgba(176,44,214,.55),0 10px 30px -18px rgba(249,44,139,.35)}
.dm-s .dm-card.et_pb_blurb:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--dm-ang),#ff6347,#f92c8b,#b02cd6,#8A2BE2,#ff6347);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .45s;pointer-events:none;z-index:2}
.dm-s .dm-card.et_pb_blurb:hover:before{opacity:1;animation:dm-spin 5s linear infinite}
.dm-s .dm-card.et_pb_blurb:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,30%) var(--my,0%),rgba(249,44,139,.10),rgba(176,44,214,.05) 35%,transparent 60%);opacity:0;transition:opacity .45s;pointer-events:none;z-index:0}
.dm-s .dm-card.et_pb_blurb:hover:after{opacity:1}
.dm-s .dm-card .et_pb_blurb_content{position:relative;z-index:1}
@keyframes dm-spin{to{--dm-ang:360deg}}
.dm-s .dm-ico .et_pb_blurb_content:before{content:""!important;width:56px;height:56px;border-radius:16px;background-color:#f92c8b;background-repeat:no-repeat;background-position:center,0 0;background-size:28px,100% 100%;box-shadow:0 14px 28px -12px rgba(249,44,139,.75);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.dm-s .dm-card.dm-ico:hover .et_pb_blurb_content:before{transform:rotate(-8deg) scale(1.08);box-shadow:0 18px 34px -12px rgba(176,44,214,.8)}
.dm-s .dm-card .et_pb_module_header{transition:color .3s}
.dm-s .dm-card:hover .et_pb_module_header{color:var(--dm-plum)}
/* line icons for the six service cards (replace the old two-letter badges) */
.dm-s .dm-ico-wd .et_pb_blurb_content:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 9h18M6.5 6.5h.01M9 6.5h.01M7 13h5M7 16h3'/%3E%3Crect x='14.5' y='12' width='3.5' height='5' rx='.8'/%3E%3C/svg%3E"),var(--dm-grad)}
.dm-s .dm-ico-se .et_pb_blurb_content:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5l5 5M7.5 12.2l2-2 1.8 1.8 2.7-2.9'/%3E%3C/svg%3E"),var(--dm-grad)}
.dm-s .dm-ico-rd .et_pb_blurb_content:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 0 0-14.3-4.9L4 8M4 4v4h4M4 13a8 8 0 0 0 14.3 4.9L20 16M20 20v-4h-4'/%3E%3C/svg%3E"),var(--dm-grad)}
.dm-s .dm-ico-ec .et_pb_blurb_content:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 11.2a2 2 0 0 1-2 1.8H8.2a2 2 0 0 1-2-1.8z'/%3E%3Cpath d='M9 10.5V7a3 3 0 0 1 6 0v3.5'/%3E%3C/svg%3E"),var(--dm-grad)}
.dm-s .dm-ico-dm .et_pb_blurb_content:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10v4a1 1 0 0 0 1 1h3l6 4V5L7 9H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='M16.5 9a4 4 0 0 1 0 6M19 6.5a7.5 7.5 0 0 1 0 11'/%3E%3C/svg%3E"),var(--dm-grad)}
.dm-s .dm-ico-cp .et_pb_blurb_content:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3L4.5 6v5.5c0 4.6 3.2 8.4 7.5 9.5 4.3-1.1 7.5-4.9 7.5-9.5V6z'/%3E%3Cpath d='M8.8 12l2.2 2.2 4.4-4.4'/%3E%3C/svg%3E"),var(--dm-grad)}

/* ---------- gradient band (section class dm-band) ---------- */
.dm-s.dm-band{position:relative;overflow:hidden;overflow:clip;isolation:isolate;color:#fff;background-image:linear-gradient(120deg,#e0442f,#d91b78 30%,#a21fc4 60%,#6e1fc2 80%,#d91b78)!important;background-size:300% 300%!important;animation:dm-band 18s ease-in-out infinite alternate}
.dm-s.dm-band:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px 300px at 15% 20%,rgba(255,255,255,.18),transparent 60%),radial-gradient(500px 400px at 90% 90%,rgba(28,0,28,.35),transparent 60%);pointer-events:none}
.dm-s.dm-band:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:radial-gradient(ellipse at 70% 50%,#000,transparent 70%);mask:radial-gradient(ellipse at 70% 50%,#000,transparent 70%);pointer-events:none}
@keyframes dm-band{0%{background-position:0% 50%}100%{background-position:100% 50%}}
.dm-s.dm-band .dm-eyebrow{color:rgba(255,255,255,.85)}
.dm-s.dm-band h2{font-size:clamp(2.3rem,4.6vw,3.9rem);max-width:15ch;margin:0;text-shadow:0 2px 30px rgba(28,0,28,.25)}
.dm-s .dm-chips p{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;max-width:none}
.dm-s .dm-chips span{display:inline-flex;align-items:center;gap:8px;font:600 .92rem/1 Outfit,sans-serif;padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(6px);transition:transform .3s,background .3s}
.dm-s .dm-chips span:before{content:"";width:16px;height:16px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d91b78' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat}
.dm-s .dm-chips span:hover{transform:translateY(-3px);background:rgba(255,255,255,.24)}
.et_pb_section .et_pb_button.dm-btn-light,.et_pb_section .dm-btn-light .et_pb_button{background:#fff!important;color:var(--dm-plum)!important;box-shadow:0 14px 34px -14px rgba(28,0,28,.6)}
.et_pb_section .et_pb_button.dm-btn-light:hover,.et_pb_section .dm-btn-light .et_pb_button:hover{transform:translateY(-2px);box-shadow:0 20px 40px -14px rgba(28,0,28,.7)}
@media(min-width:981px){.dm-s .dm-band-side{padding-left:clamp(0px,3vw,60px)}}

/* ---------- process: sticky heading + vertical timeline that fills as you scroll ---------- */
.dm-s.dm-proc{position:relative}
@media(min-width:981px){
 .dm-s .dm-proc-row{display:flex;align-items:flex-start}
 .dm-s .dm-proc-row>.dm-sticky,.dm-s .dm-faqrow>.dm-sticky{position:sticky;top:120px}
 .dm-s .dm-faqrow{display:flex;align-items:flex-start}
}
.dm-s .dm-sticky .dm-h20 h2{margin-bottom:24px}
.dm-s .dm-vtl{counter-reset:st;position:relative;--dm-fill:1;background-image:linear-gradient(180deg,#ff6347,#f92c8b 50%,#b02cd6),linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,.14));background-repeat:no-repeat;background-position:27px 28px,27px 28px;background-size:2px calc(var(--dm-fill) * (100% - 84px)),2px calc(100% - 84px)}
.dm-s .dm-vtl .dm-st{position:relative;padding:0 0 64px 96px}
.dm-s .dm-vtl .dm-st:last-child{padding-bottom:0}
.dm-s .dm-vtl .dm-st:before{position:absolute;left:0;top:0;margin:0;z-index:1;transition:background .5s,border-color .5s,box-shadow .5s,transform .5s}
.dm-s .dm-vtl .dm-st h3{font-size:clamp(1.4rem,2vw,1.8rem);margin:12px 0 10px;transition:color .5s}
.dm-s .dm-vtl .dm-st p{font-size:1rem;max-width:52ch}
.dm-s .dm-vtl.dm-vtl-js .dm-st:not(.is-on) h3{color:rgba(255,255,255,.55)}
.dm-s .dm-vtl.dm-vtl-js .dm-st:not(.is-on):before{border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.6)}
.dm-s .dm-vtl .dm-st.is-on:before{background:var(--dm-grad);border-color:transparent;color:#fff;transform:scale(1.06);box-shadow:0 0 0 7px rgba(249,44,139,.14),0 12px 34px -6px rgba(249,44,139,.7)}
@media(max-width:980px){.dm-s .dm-proc-row>.dm-sticky{margin-bottom:50px}.dm-s .dm-vtl .dm-st{padding:0 0 44px 80px}}

/* ---------- health check: animated sample report (decorative Code module) ---------- */
.dm-s.dm-hc .dm-hc-aside{position:relative}
.dm-rep{position:relative;max-width:540px;margin-left:auto;background:#fff;border:1px solid var(--dm-line);border-radius:26px;padding:28px;box-shadow:0 60px 110px -50px rgba(60,0,70,.55);font-family:Poppins,sans-serif;color:var(--dm-ink);transform:perspective(1400px) rotateY(-6deg) rotateX(2deg);transition:transform .6s cubic-bezier(.2,.8,.2,1);animation:dm-fl 9s ease-in-out infinite}
.dm-rep:hover{transform:perspective(1400px) rotateY(0) rotateX(0)}
.dm-s .dm-rep-code{position:relative;isolation:isolate}
.dm-s .dm-rep-code:before{content:"";position:absolute;inset:14% -4% -4% 14%;z-index:-1;border-radius:40px;background:var(--dm-grad);filter:blur(70px);opacity:.3;pointer-events:none}
.dm-rep-top{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--dm-line)}
.dm-rep-dots{display:flex;gap:6px}.dm-rep-dots i{width:10px;height:10px;border-radius:50%;background:#ff6347}.dm-rep-dots i+i{background:#f92c8b}.dm-rep-dots i+i+i{background:#b02cd6}
.dm-rep-top b{font:600 .98rem/1.2 Outfit,sans-serif}
.dm-rep-tag{margin-left:auto;font:600 .66rem/1 Outfit,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:7px 10px;border-radius:999px;background:#f6eefa;color:var(--dm-purple);white-space:nowrap}
.dm-rep-url{display:flex;align-items:center;gap:10px;margin:18px 0 6px;padding:11px 14px;border-radius:12px;background:var(--dm-bg);font-size:.88rem;color:var(--dm-muted)}
.dm-rep-url i{width:12px;height:12px;border-radius:3px;border:2px solid #2bb673;position:relative}
.dm-rep-rings{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:22px 4px 40px}
.dm-ring{--v:var(--t);position:relative;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--v) * 1%),#f1ecf4 0);transition:--v 1.6s cubic-bezier(.2,.8,.2,1)}
.dm-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.dm-ring span{position:relative;font:700 clamp(1.1rem,1.7vw,1.5rem)/1 Outfit,sans-serif;color:var(--dm-ink)}
.dm-ring em{position:absolute;top:calc(100% + 10px);left:-10px;right:-10px;text-align:center;font:500 .78rem/1 Poppins,sans-serif;font-style:normal;color:var(--dm-muted)}
.dm-rep.is-wait .dm-ring{--v:0}
.dm-rep-list{list-style:none!important;margin:0!important;padding:0!important;border-top:1px solid var(--dm-line)}
.dm-rep-list li{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--dm-line);font-size:.88rem;line-height:1.35;list-style:none;transition:opacity .6s,transform .6s}
.dm-rep-list li i{flex:0 0 10px;height:10px;border-radius:50%}
.dm-rep-list li i.r{background:#ff6347;box-shadow:0 0 0 4px rgba(255,99,71,.15)}.dm-rep-list li i.a{background:#f9a03f;box-shadow:0 0 0 4px rgba(249,160,63,.15)}.dm-rep-list li i.g{background:#2bb673;box-shadow:0 0 0 4px rgba(43,182,115,.15)}
.dm-rep-list li b{margin-left:auto;font:600 .7rem/1 Outfit,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--dm-muted);white-space:nowrap;padding-left:10px}
.dm-rep.is-wait .dm-rep-list li{opacity:0;transform:translateX(16px)}
.dm-rep.is-on .dm-rep-list li:nth-child(2){transition-delay:.15s}.dm-rep.is-on .dm-rep-list li:nth-child(3){transition-delay:.3s}.dm-rep.is-on .dm-rep-list li:nth-child(4){transition-delay:.45s}
.dm-rep-foot{margin-top:14px;font-size:.74rem;color:var(--dm-muted);font-style:italic}
@media(max-width:980px){.dm-rep{margin:10px auto 0;transform:none}}
@media(max-width:480px){.dm-rep{padding:20px}.dm-rep-rings{gap:10px}.dm-ring:before{inset:6px}.dm-ring em{font-size:.7rem}.dm-rep-list li{font-size:.82rem}}

/* ---------- FAQ: Why Damson panel beside cards-style toggles ---------- */
.dm-s .et_pb_column.dm-panel:after{animation:dm-drift 16s ease-in-out infinite alternate}
.dm-s .dm-panel .et_pb_button_module_wrapper{margin-top:30px!important}
.dm-s.dm-faqsec .dm-faq.et_pb_toggle{background:#fff!important;border:1px solid var(--dm-line)!important;border-radius:18px!important;padding:22px 26px!important;margin:0 0 12px!important;transition:box-shadow .35s,border-color .35s,transform .35s}
.dm-s.dm-faqsec .dm-faq.et_pb_toggle:hover{border-color:#e3d3ec!important;transform:translateY(-2px);box-shadow:0 18px 40px -26px rgba(60,0,70,.4)!important}
.dm-s.dm-faqsec .dm-faq.et_pb_toggle_open{border-color:transparent!important;box-shadow:0 24px 50px -28px rgba(176,44,214,.55)!important}
.dm-s.dm-faqsec .dm-faq .et_pb_toggle_title{padding-right:54px!important}
.dm-s.dm-faqsec .dm-faq .et_pb_toggle_title:before{width:34px;height:34px;margin-top:-17px!important;border-radius:50%;border:1.5px solid #f1d3e4;display:grid;place-items:center;font-size:1.3rem!important;line-height:31px!important;text-align:center;transition:transform .35s,background .35s,color .35s,border-color .35s}
.dm-s.dm-faqsec .dm-faq.et_pb_toggle_open .et_pb_toggle_title:before{background:var(--dm-grad);border-color:transparent;color:#fff!important}
.dm-s.dm-faqsec .dm-faq .et_pb_toggle_content{padding-right:20px}
@media(max-width:980px){.dm-s .dm-faqrow>.dm-panel{margin-bottom:30px}}

/* ---------- final CTA: moving glow + gentle button pulse ---------- */
.dm-s .et_pb_row.dm-cta{position:relative;overflow:hidden;isolation:isolate}
.dm-s .et_pb_row.dm-cta:before{content:"";position:absolute;z-index:-1;width:520px;aspect-ratio:1;border-radius:50%;right:-120px;top:-220px;background:radial-gradient(circle,rgba(249,44,139,.55),rgba(176,44,214,.25) 50%,transparent 70%);filter:blur(30px);animation:dm-drift 14s ease-in-out infinite alternate;pointer-events:none}
.dm-s .dm-cta .dm-btn-primary{animation:dm-pulse 3s ease-in-out infinite}
@keyframes dm-pulse{0%,100%{box-shadow:0 10px 30px -10px rgba(249,44,139,.6),0 0 0 0 rgba(249,44,139,.35)}50%{box-shadow:0 10px 30px -10px rgba(249,44,139,.6),0 0 0 12px rgba(249,44,139,0)}}

@media(min-width:1280px){.dm-s .dm-cta .et_pb_button.dm-btn{white-space:nowrap}}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
 .dm-s.dm-mesh:before,.dm-s.dm-mesh:after,.dm-s.dm-band,.dm-new-chip,.dm-rep,.dm-s .dm-card.et_pb_blurb:hover:before,.dm-s .et_pb_column.dm-panel:after,.dm-s .et_pb_row.dm-cta:before,.dm-s .dm-cta .dm-btn-primary{animation:none!important}
 .dm-rv{opacity:1!important;transform:none!important}
 .dm-ring{transition:none}
 .dm-s .dm-card.et_pb_blurb:hover,.dm-rep:hover,.dm-s.dm-faqsec .dm-faq.et_pb_toggle:hover{transform:none}
}
/* ===================== end Damson v8 ===================== */

/* =====================================================================
   Damson v8.1: What we do, option B (21 Oct 2026)
   Append AFTER the v8 block. Remove this whole block to go back to v8.
   ===================================================================== */
/* ---------- service vignettes (decorative Code modules, class dm-vg-*) ---------- */
.dm-vg{position:relative;width:100%;aspect-ratio:16/10;container-type:inline-size;font-family:Poppins,system-ui,sans-serif;color:#1a1220;line-height:1.3;user-select:none;-webkit-user-select:none}
.dm-vg *{box-sizing:border-box}
.dm-vg .vg-card{position:absolute;inset:0;background:#fff;border-radius:max(12px,3.4cqw);box-shadow:0 7cqw 14cqw -7cqw rgba(60,0,70,.5),0 0 0 1px rgba(28,0,28,.07);overflow:hidden}
.dm-vg b,.dm-vg strong{font-family:Outfit,Poppins,sans-serif}
.dm-vg-js .dm-vg *,.dm-vg-js .dm-vg *:before,.dm-vg-js .dm-vg *:after{animation-play-state:paused!important}
.dm-vg-js .is-live .dm-vg *,.dm-vg-js .is-live .dm-vg *:before,.dm-vg-js .is-live .dm-vg *:after{animation-play-state:running!important}
.dm-vg .vg-cursor{position:absolute;width:max(14px,4.4cqw);height:max(14px,4.4cqw);background:#1a1220;clip-path:polygon(0 0,0 78%,24% 60%,40% 96%,54% 90%,38% 55%,70% 55%);filter:drop-shadow(0 0 1px #fff);z-index:5}

/* website design: a page building itself */
.dm-vg-wd .vg-bar{display:flex;align-items:center;gap:1.4cqw;height:9cqw;padding:0 3cqw;border-bottom:1px solid #f0e9f3;background:#fbf9fc}
.dm-vg-wd .vg-bar i{width:max(6px,1.8cqw);height:max(6px,1.8cqw);border-radius:50%;background:#ff6347}.dm-vg-wd .vg-bar i+i{background:#f92c8b}.dm-vg-wd .vg-bar i+i+i{background:#b02cd6}
.dm-vg-wd .vg-bar span{margin-left:2cqw;padding:.8cqw 2.4cqw;border-radius:99px;background:#fff;border:1px solid #efe7f3;font-size:max(8px,2.3cqw);color:#7b6f86}
.dm-vg-wd .vg-page{padding:3cqw 4cqw;display:flex;flex-direction:column;gap:2.6cqw}
.dm-vg-wd .vg-nav{display:flex;align-items:center;gap:2.4cqw}
.dm-vg-wd .vg-nav b{width:11cqw;height:3cqw;border-radius:99px;background:linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6);margin-right:auto}
.dm-vg-wd .vg-nav em{width:7cqw;height:1.4cqw;border-radius:9px;background:#e9e1ee}
.dm-vg-wd .vg-hero{border-radius:2.6cqw;padding:4cqw 4.4cqw;background:radial-gradient(60cqw 30cqw at 90% 0%,#4a0d55,transparent 60%),#1c001c;color:#fff}
.dm-vg-wd .vg-hero strong{display:block;font-weight:700;font-size:max(11px,4.6cqw);line-height:1.05;letter-spacing:-.02em;max-width:70%}
.dm-vg-wd .vg-hero small{display:block;margin-top:1.4cqw;font-size:max(8px,2.2cqw);color:rgba(255,255,255,.7)}
.dm-vg-wd .vg-hero u{display:inline-block;margin-top:2.4cqw;padding:1.3cqw 3cqw;border-radius:99px;background:linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6);text-decoration:none;font:600 max(8px,2.2cqw)/1 Outfit,sans-serif}
.dm-vg-wd .vg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2cqw}
.dm-vg-wd .vg-grid span{height:12cqw;border-radius:2cqw;background:#f6eefa;border:1px solid #efe4f5}
.dm-vg-wd .vg-nav,.dm-vg-wd .vg-hero,.dm-vg-wd .vg-grid span{animation:vg-pop 7s cubic-bezier(.2,.8,.2,1) infinite both}
.dm-vg-wd .vg-hero{animation-delay:.25s}.dm-vg-wd .vg-grid span{animation-delay:.5s}.dm-vg-wd .vg-grid span+span{animation-delay:.62s}.dm-vg-wd .vg-grid span+span+span{animation-delay:.74s}
.dm-vg-wd .vg-hero u{animation:vg-click 7s ease infinite}
.dm-vg-wd .vg-cursor{left:70%;top:86%;animation:vg-cur-wd 7s cubic-bezier(.5,0,.2,1) infinite}
@keyframes vg-pop{0%{opacity:0;transform:translateY(3cqw) scale(.98)}10%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes vg-cur-wd{0%,20%{left:78%;top:92%;opacity:0}28%{opacity:1}48%{left:16%;top:66%}52%{transform:scale(.8)}56%{transform:none}80%{left:16%;top:66%;opacity:1}90%,100%{opacity:0;left:16%;top:66%}}
@keyframes vg-click{0%,50%{box-shadow:0 0 0 0 rgba(249,44,139,.6)}56%{box-shadow:0 0 0 2.4cqw rgba(249,44,139,0);transform:scale(1.04)}62%,100%{box-shadow:0 0 0 0 rgba(249,44,139,0);transform:none}}

/* SEO: you climb the results */
.dm-vg-se .vg-search{display:flex;align-items:center;gap:2cqw;margin:4cqw 4cqw 0;padding:2.2cqw 3.4cqw;border-radius:99px;border:1px solid #e9e1ee;box-shadow:0 1cqw 3cqw -1.4cqw rgba(28,0,28,.25)}
.dm-vg-se .vg-search i{width:3cqw;height:3cqw;border-radius:50%;border:max(1.5px,.5cqw) solid #b02cd6;position:relative}
.dm-vg-se .vg-search i:after{content:"";position:absolute;width:1.6cqw;height:max(1.5px,.5cqw);background:#b02cd6;right:-1.6cqw;bottom:-.6cqw;transform:rotate(45deg)}
.dm-vg-se .vg-q{font-size:max(9px,2.7cqw);color:#1a1220;white-space:nowrap;overflow:hidden;border-right:2px solid #f92c8b;animation:vg-type 7s steps(22) infinite,vg-caret .8s step-end infinite;width:22ch;max-width:22ch}
.dm-vg-se .vg-results{position:absolute;left:4cqw;right:4cqw;top:17cqw;bottom:2cqw}
.dm-vg-se .vg-r{position:absolute;left:0;right:0;height:13cqw;padding:1.6cqw 2.4cqw;border-radius:2cqw;transition:none}
.dm-vg-se .vg-r small{display:flex;align-items:center;gap:1.4cqw;font-size:max(8px,2.1cqw);color:#5d5466}
.dm-vg-se .vg-r small span{font:700 max(7px,1.8cqw)/1 Outfit,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6);padding:.7cqw 1.4cqw;border-radius:99px}
.dm-vg-se .vg-r b{display:block;margin-top:.6cqw;font-weight:600;font-size:max(9px,2.8cqw);color:#3b1a9e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-vg-se .vg-r em{display:block;height:max(4px,1.2cqw);width:78%;border-radius:9px;background:#efeaf2;margin-top:1.2cqw}
.dm-vg-se .vg-r1{top:0;animation:vg-r1 7s cubic-bezier(.6,0,.2,1) infinite}
.dm-vg-se .vg-r2{top:15cqw;animation:vg-r2 7s cubic-bezier(.6,0,.2,1) infinite}
.dm-vg-se .vg-you{top:30cqw;background:#fff3f9;box-shadow:inset .7cqw 0 0 #f92c8b;animation:vg-you 7s cubic-bezier(.6,0,.2,1) infinite}
.dm-vg-se .vg-you b{color:#1c001c}
@keyframes vg-type{0%{width:0}30%,100%{width:22ch}}
@keyframes vg-caret{50%{border-color:transparent}}
@keyframes vg-r1{0%,40%{top:0}55%,92%{top:15cqw}100%{top:0}}
@keyframes vg-r2{0%,40%{top:15cqw}55%,92%{top:30cqw}100%{top:15cqw}}
@keyframes vg-you{0%,40%{top:30cqw;box-shadow:inset .7cqw 0 0 #f92c8b}55%,92%{top:0;box-shadow:inset .7cqw 0 0 #f92c8b,0 3cqw 6cqw -3cqw rgba(249,44,139,.6)}100%{top:30cqw}}

/* redesign: old site crawls, rebuilt site snaps in */
.dm-vg-rd .vg-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:4cqw auto 0;width:58%;padding:.9cqw;border-radius:99px;background:#f3eef6;font:600 max(9px,2.5cqw)/1 Outfit,sans-serif;text-align:center}
.dm-vg-rd .vg-switch span{position:relative;z-index:1;padding:1.8cqw 0;color:#7b6f86}
.dm-vg-rd .vg-switch .vg-old{animation:vg-lbl-old 8s steps(1) infinite}
.dm-vg-rd .vg-switch .vg-new{color:#fff;animation:vg-lbl-new 8s steps(1) infinite}
.dm-vg-rd .vg-switch i{position:absolute;top:.9cqw;bottom:.9cqw;left:50%;width:calc(50% - .9cqw);border-radius:99px;background:linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6);animation:vg-knob 8s cubic-bezier(.6,0,.2,1) infinite}
.dm-vg-rd .vg-load{margin:3.4cqw 6cqw 0;height:max(4px,1.2cqw);border-radius:9px;background:#f1ecf4;overflow:hidden}
.dm-vg-rd .vg-load b{display:block;height:100%;width:100%;border-radius:9px;background:#2bb673;animation:vg-load 8s linear infinite}
.dm-vg-rd .vg-skel{position:absolute;left:6cqw;right:6cqw;top:25cqw;bottom:5cqw;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto 1fr;gap:2cqw;animation:vg-skel 8s linear infinite}
.dm-vg-rd .vg-skel span{border-radius:2cqw;background:#f6eefa;border:1px solid #efe4f5}
.dm-vg-rd .vg-skel .s1{grid-column:1/-1;height:12cqw;background:radial-gradient(40cqw 14cqw at 90% 0%,#4a0d55,transparent 60%),#1c001c;border:0}
.dm-vg-rd .vg-spin{position:absolute;left:50%;top:50%;width:6cqw;height:6cqw;margin:-1cqw 0 0 -3cqw;border-radius:50%;border:max(2px,.6cqw) solid #eadff0;border-top-color:#ff6347;opacity:0;animation:vg-spin 8s linear infinite}
@keyframes vg-knob{0%,4%{left:.9cqw}48%,52%{left:.9cqw}58%,96%{left:50%}100%{left:.9cqw}}
@keyframes vg-lbl-old{0%{color:#fff}56%{color:#7b6f86}100%{color:#fff}}
@keyframes vg-lbl-new{0%{color:#7b6f86}56%{color:#fff}100%{color:#7b6f86}}
@keyframes vg-load{0%{width:0;background:#ff6347}44%{width:100%;background:#ff6347}50%{width:0;background:#2bb673}53%,96%{width:100%;background:#2bb673}100%{width:0}}
@keyframes vg-skel{0%,40%{opacity:.12}44%,48%{opacity:1}50%,52%{opacity:.12}54%,96%{opacity:1}100%{opacity:.12}}
@keyframes vg-spin{0%{opacity:1;transform:rotate(0)}40%{opacity:1;transform:rotate(900deg)}42%,100%{opacity:0}}

/* e-commerce: add to basket */
.dm-vg-ec .vg-basket{position:absolute;right:4cqw;top:4cqw;width:8cqw;height:8cqw;border-radius:50%;background:#fbf9fc;border:1px solid #efe7f3;display:grid;place-items:center}
.dm-vg-ec .vg-basket i{width:3.6cqw;height:3cqw;border:max(1.5px,.5cqw) solid #1c001c;border-top:0;border-radius:0 0 1cqw 1cqw;position:relative;margin-top:1cqw}
.dm-vg-ec .vg-basket i:before{content:"";position:absolute;left:.4cqw;right:.4cqw;top:-2cqw;height:2cqw;border:max(1.5px,.5cqw) solid #1c001c;border-bottom:0;border-radius:2cqw 2cqw 0 0}
.dm-vg-ec .vg-basket span{position:absolute;right:-1cqw;top:-1cqw;min-width:4cqw;height:4cqw;border-radius:99px;display:grid;place-items:center;font:700 max(8px,2.2cqw)/1 Outfit,sans-serif;color:#fff;background:#f92c8b}
.dm-vg-ec .vg-basket .n0{background:#c9bcd2;animation:vg-n0 7s steps(1) infinite}
.dm-vg-ec .vg-basket .n1{opacity:0;animation:vg-n1 7s ease infinite}
.dm-vg-ec .vg-prod{position:absolute;left:5cqw;right:5cqw;top:9cqw;bottom:6cqw;display:grid;grid-template-columns:1fr 1.1fr;gap:4cqw;align-items:center}
.dm-vg-ec .vg-img{height:100%;border-radius:3cqw;background:linear-gradient(150deg,#ffe3ef,#f6eefa);position:relative;overflow:hidden}
.dm-vg-ec .vg-img i{position:absolute;width:16cqw;height:16cqw;border-radius:50%;left:50%;top:50%;transform:translate(-60%,-55%);background:linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6)}
.dm-vg-ec .vg-img i+i{width:11cqw;height:16cqw;border-radius:2cqw;transform:translate(-5%,-30%) rotate(10deg);background:#1c001c;opacity:.9}
.dm-vg-ec .vg-info small{display:block;font:600 max(7px,1.9cqw)/1 Outfit,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#b02cd6}
.dm-vg-ec .vg-info b{display:block;font-weight:700;font-size:max(11px,4cqw);margin:1.2cqw 0 .6cqw}
.dm-vg-ec .vg-price{font:600 max(9px,2.8cqw)/1 Outfit,sans-serif;color:#5d5466}
.dm-vg-ec .vg-info em{display:block;height:max(4px,1.1cqw);border-radius:9px;background:#efeaf2;margin-top:1.8cqw;width:90%}.dm-vg-ec .vg-info em+em{width:70%;margin-top:1.1cqw}
.dm-vg-ec .vg-info u{display:inline-block;margin-top:3cqw;padding:1.8cqw 3.4cqw;border-radius:99px;background:#1c001c;color:#fff;text-decoration:none;font:600 max(8px,2.4cqw)/1 Outfit,sans-serif;animation:vg-click 7s ease infinite}
.dm-vg-ec .vg-toast{position:absolute;left:50%;bottom:4cqw;transform:translate(-50%,0);padding:1.6cqw 3cqw;border-radius:99px;background:#1c001c;color:#fff;font:600 max(8px,2.3cqw)/1 Outfit,sans-serif;white-space:nowrap;opacity:0;animation:vg-toast 7s ease infinite}
.dm-vg-ec .vg-toast:before{content:"";display:inline-block;width:1.6cqw;height:1.6cqw;border-radius:50%;background:#2bd67b;margin-right:1.4cqw;vertical-align:-.1cqw}
.dm-vg-ec .vg-cursor{left:88%;top:96%;animation:vg-cur-ec 7s cubic-bezier(.5,0,.2,1) infinite}
@keyframes vg-cur-ec{0%,18%{left:90%;top:96%;opacity:0}26%{opacity:1}48%{left:66%;top:74%}52%{transform:scale(.8)}56%{transform:none}80%{left:66%;top:74%;opacity:1}90%,100%{opacity:0;left:66%;top:74%}}
@keyframes vg-n0{0%{opacity:1}52%{opacity:0}97%{opacity:1}}
@keyframes vg-n1{0%,51%{opacity:0;transform:scale(.4)}56%{opacity:1;transform:scale(1.25)}60%,92%{opacity:1;transform:none}97%,100%{opacity:0}}
@keyframes vg-toast{0%,52%{opacity:0;transform:translate(-50%,3cqw)}58%,86%{opacity:1;transform:translate(-50%,0)}94%,100%{opacity:0;transform:translate(-50%,0)}}

/* digital marketing: a Google Business Profile style card */
.dm-vg-dm .vg-card{display:flex;flex-direction:column}
.dm-vg-dm .vg-map{position:relative;flex:1 1 34%;min-height:22cqw;background:repeating-linear-gradient(90deg,transparent 0 13cqw,rgba(255,255,255,.9) 13cqw 14.4cqw),repeating-linear-gradient(0deg,transparent 0 10cqw,rgba(255,255,255,.9) 10cqw 11.2cqw),linear-gradient(160deg,#e7f1e8,#eaeef6 60%,#f3eaf6)}
.dm-vg-dm .vg-map:before{content:"";position:absolute;left:-10%;right:-10%;top:58%;height:3cqw;background:#fff5d6;transform:rotate(-8deg);box-shadow:0 0 0 .4cqw #f3e6b8}
.dm-vg-dm .vg-pin{position:absolute;left:48%;top:22%;width:7cqw;height:7cqw;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(120deg,#ff6347,#f92c8b);box-shadow:0 2cqw 3cqw -1cqw rgba(249,44,139,.7);animation:vg-pin 3.5s ease-in-out infinite}
.dm-vg-dm .vg-pin:after{content:"";position:absolute;inset:2.2cqw;border-radius:50%;background:#fff}
.dm-vg-dm .vg-gbp{padding:3.6cqw 4.4cqw 4.4cqw}
.dm-vg-dm .vg-gbp b{display:block;font-weight:700;font-size:max(12px,4.4cqw);letter-spacing:-.01em}
.dm-vg-dm .vg-gbp small{display:block;font-size:max(8px,2.4cqw);color:#5d5466;margin-top:.6cqw}
.dm-vg-dm .vg-open{display:block;font-size:max(8px,2.4cqw);color:#5d5466;margin-top:.8cqw}
.dm-vg-dm .vg-open em{font-style:normal;font-weight:600;color:#1e9d5d}
.dm-vg-dm .vg-acts{display:flex;gap:2cqw;margin-top:3cqw}
.dm-vg-dm .vg-acts span{flex:1;display:flex;flex-direction:column;align-items:center;gap:1cqw;font:600 max(8px,2.2cqw)/1 Outfit,sans-serif;color:#3b1a9e}
.dm-vg-dm .vg-acts i{width:7.6cqw;height:7.6cqw;border-radius:50%;border:1px solid #e5dcf0;background:#fbf9fc}
.dm-vg-dm .vg-acts .a1 i{background:linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6);border:0;animation:vg-call 3.5s ease infinite}
.dm-vg-dm .vg-ping{position:absolute;right:3cqw;top:3cqw;display:flex;align-items:center;gap:1.4cqw;padding:1.6cqw 2.6cqw;border-radius:99px;background:#1c001c;color:#fff;font:600 max(8px,2.2cqw)/1 Outfit,sans-serif;white-space:nowrap;box-shadow:0 2cqw 4cqw -2cqw rgba(28,0,28,.6);animation:vg-ping 7s ease infinite}
.dm-vg-dm .vg-ping i{width:1.6cqw;height:1.6cqw;border-radius:50%;background:#2bd67b;box-shadow:0 0 1cqw #2bd67b}
@keyframes vg-pin{0%,100%{translate:0 0}50%{translate:0 -1.6cqw}}
@keyframes vg-call{0%,100%{box-shadow:0 0 0 0 rgba(249,44,139,.5)}60%{box-shadow:0 0 0 2.2cqw rgba(249,44,139,0)}}
@keyframes vg-ping{0%,30%{opacity:0;transform:translateY(-2cqw)}38%,86%{opacity:1;transform:none}94%,100%{opacity:0;transform:none}}

/* care plans: a quiet log of things being looked after */
.dm-vg-cp .vg-card{background:#1c001c;color:#fff;box-shadow:0 7cqw 14cqw -7cqw rgba(28,0,28,.7),0 0 0 1px rgba(255,255,255,.08)}
.dm-vg-cp .vg-status{display:flex;align-items:center;gap:2cqw;padding:4cqw 4.6cqw 3cqw;border-bottom:1px solid rgba(255,255,255,.1)}
.dm-vg-cp .vg-status i{width:2.4cqw;height:2.4cqw;border-radius:50%;background:#2bd67b;box-shadow:0 0 0 0 rgba(43,214,123,.6);animation:vg-beat 2s ease infinite}
.dm-vg-cp .vg-status b{font-weight:600;font-size:max(10px,3.2cqw)}
.dm-vg-cp .vg-status small{margin-left:auto;font-size:max(8px,2.2cqw);color:rgba(255,255,255,.55)}
.dm-vg-cp .vg-log{position:absolute;left:0;right:0;top:13cqw;bottom:0;overflow:hidden;-webkit-mask:linear-gradient(transparent,#000 18%,#000 80%,transparent);mask:linear-gradient(transparent,#000 18%,#000 80%,transparent)}
.dm-vg-cp .vg-feed{animation:vg-feed 14s linear infinite}
.dm-vg-cp .vg-feed span{display:flex;align-items:center;gap:2cqw;padding:2.2cqw 4.6cqw;font-size:max(9px,2.6cqw);color:rgba(255,255,255,.88);border-bottom:1px solid rgba(255,255,255,.06)}
.dm-vg-cp .vg-feed span i{flex:0 0 3.4cqw;height:3.4cqw;border-radius:50%;background:rgba(43,214,123,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232bd67b' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/62% no-repeat}
.dm-vg-cp .vg-feed time{margin-left:auto;font-size:max(8px,2.2cqw);color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums}
@keyframes vg-feed{to{transform:translateY(-50%)}}
@keyframes vg-beat{0%{box-shadow:0 0 0 0 rgba(43,214,123,.6)}70%,100%{box-shadow:0 0 0 2.4cqw rgba(43,214,123,0)}}

@media(prefers-reduced-motion:reduce){.dm-vg *,.dm-vg *:before,.dm-vg *:after{animation:none!important}.dm-vg .vg-cursor,.dm-vg-rd .vg-spin{display:none}.dm-vg-se .vg-q{border-right:0}.dm-vg-se .vg-you{top:0}.dm-vg-se .vg-r1{top:15cqw}.dm-vg-se .vg-r2{top:30cqw}}

/* ---------- Option B: bento (section dm-wwd-b; row dm-bento; columns dm-tile dm-t-*) ---------- */
.dm-s .et_pb_row.dm-bento{display:grid!important;grid-template-columns:repeat(12,1fr);gap:18px}
.dm-s .et_pb_row.dm-bento:after,.dm-s .et_pb_row.dm-bento:before{display:none!important}
.dm-s .dm-bento>.et_pb_column.dm-tile{float:none!important;width:auto!important;margin:0!important;position:relative;overflow:hidden;isolation:isolate;border-radius:30px;padding:36px;display:grid;grid-template-columns:1fr;grid-template-areas:"txt" "line" "vis";align-content:start;gap:0 34px;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.dm-s .dm-tile>.dm-tile-b{grid-area:txt}.dm-s .dm-tile>.dm-tile-line{grid-area:line}.dm-s .dm-tile>.dm-vg-code{grid-area:vis;margin-top:30px!important;align-self:end}
.dm-s .dm-tile:hover{transform:translateY(-5px);box-shadow:0 40px 70px -40px rgba(60,0,70,.55)}
.dm-s .dm-tile:hover .dm-vg{transform:translateY(-4px) rotate(-.6deg)}
.dm-s .dm-tile .dm-vg{transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.dm-s .dm-tile-b .et_pb_blurb_content{max-width:none;margin:0;text-align:left}
.dm-s .dm-tile-b .et_pb_module_header{font:600 clamp(1.5rem,2.1vw,2rem)/1.05 Outfit,sans-serif!important;letter-spacing:-.03em;color:var(--dm-ink);padding:0!important;margin:0 0 12px!important}
.dm-s .dm-tile-b .et_pb_blurb_description p{margin:0;color:var(--dm-muted);font-size:1.02rem;max-width:40ch}
.dm-s .dm-tile-line p{margin:16px 0 0;font:500 .9rem/1.5 Outfit,sans-serif;color:var(--dm-purple);max-width:44ch}
.dm-s .dm-tile-line p:before{content:"";display:inline-block;width:20px;height:1.5px;background:currentColor;vertical-align:.3em;margin-right:10px}
/* placements: 8/4, 4/8, 6/6 */
@media(min-width:981px){
 .dm-s .dm-t-wd{grid-column:1/9;grid-template-columns:.9fr 1.1fr!important;grid-template-rows:1fr auto auto 1fr;grid-template-areas:". vis" "txt vis" "line vis" ". vis"!important}
 .dm-s .dm-t-wd>.dm-vg-code{margin-top:0!important;align-self:center!important}
 .dm-s .dm-t-se{grid-column:9/13}
 .dm-s .dm-t-rd{grid-column:1/5}
 .dm-s .dm-t-ec{grid-column:5/13;grid-template-columns:.85fr 1.15fr!important;grid-template-rows:1fr auto auto 1fr;grid-template-areas:". vis" "txt vis" "line vis" ". vis"!important}
 .dm-s .dm-t-ec>.dm-vg-code{margin-top:0!important;align-self:center!important}
 .dm-s .dm-t-dm,.dm-s .dm-t-cp{grid-column:span 6;grid-template-columns:1fr 1.1fr!important;grid-template-rows:1fr auto auto 1fr;grid-template-areas:". vis" "txt vis" "line vis" ". vis"!important}
 .dm-s .dm-t-dm>.dm-vg-code,.dm-s .dm-t-cp>.dm-vg-code{margin-top:0!important;align-self:center!important}
 .dm-s .dm-t-wd .et_pb_module_header{font-size:clamp(2.2rem,3.4vw,3.2rem)!important}
 .dm-s .dm-t-wd{padding:48px}
}
/* colours */
.dm-s .dm-t-wd{background:radial-gradient(700px 400px at 100% 0%,#4a0d55,transparent 60%),radial-gradient(500px 300px at 0% 100%,#36083f,transparent 60%),#1c001c}
.dm-s .dm-t-se{background:#ffe6f1}
.dm-s .dm-t-rd{background:#fff;box-shadow:inset 0 0 0 1px #ece6f0}
.dm-s .dm-t-ec{background:linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6)}
.dm-s .dm-t-dm{background:#f6eefa}
.dm-s .dm-t-cp{background:#2a0530}
.dm-s .dm-t-wd .et_pb_module_header,.dm-s .dm-t-ec .et_pb_module_header,.dm-s .dm-t-cp .et_pb_module_header{color:#fff}
.dm-s .dm-t-wd .et_pb_blurb_description p,.dm-s .dm-t-cp .et_pb_blurb_description p{color:rgba(255,255,255,.72)}
.dm-s .dm-t-ec .et_pb_blurb_description p{color:rgba(255,255,255,.9)}
.dm-s .dm-t-wd .dm-tile-line p,.dm-s .dm-t-cp .dm-tile-line p{color:#ff9ac8}
.dm-s .dm-t-ec .dm-tile-line p{color:#fff}
.dm-s .dm-t-se .dm-tile-line p{color:#c41f6c}
.dm-s .dm-t-wd .dm-vg .vg-card{box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.1)}
.dm-s .dm-t-cp .dm-vg-cp .vg-card{background:#1c001c}
.dm-s .dm-t-ec .dm-vg .vg-card{box-shadow:0 30px 60px -30px rgba(60,0,70,.7)}
@media(max-width:980px){.dm-s .et_pb_row.dm-bento{grid-template-columns:1fr;gap:14px}.dm-s .dm-bento>.et_pb_column.dm-tile{padding:28px 24px;border-radius:24px}.dm-s .dm-tile>.dm-vg-code{margin-top:24px!important}}
@media(prefers-reduced-motion:reduce){.dm-s .dm-tile,.dm-s .dm-tile .dm-vg{transition:none}.dm-s .dm-tile:hover,.dm-s .dm-tile:hover .dm-vg{transform:none}}
/* ===================== end Damson v8.1 ===================== */

/* ===================== Damson v8.2 (Contact: "What happens next") =====================
   FAQ toggles, Why Damson panel and scroll-reveal are already global in the v8 block, so
   nothing else is needed for the FAQ on Contact. Homepage needs no CSS change. */
.dm-s .dm-next{margin-top:36px!important;padding:28px 30px 26px;border:1px solid var(--dm-line);border-radius:20px;background:linear-gradient(160deg,#fff6fa,#fbf9fc 70%);max-width:520px}
.dm-s .dm-next h3{font-family:'Outfit',sans-serif;font-size:20px;line-height:1.25;font-weight:700;color:var(--dm-ink);margin:0 0 16px;padding:0}
.dm-s .dm-next ol{list-style:none;margin:0;padding:0;counter-reset:dmnext}
.dm-s .dm-next li{counter-increment:dmnext;position:relative;padding:0 0 18px 46px;margin:0;color:var(--dm-muted);font-size:15px;line-height:1.6}
.dm-s .dm-next li:last-child{padding-bottom:0}
.dm-s .dm-next li:before{content:counter(dmnext,decimal-leading-zero);position:absolute;left:0;top:-1px;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid #f6d3e5;color:var(--dm-pink);font:700 12px/28px 'Outfit',sans-serif;text-align:center}
.dm-s .dm-next li:not(:last-child):after{content:"";position:absolute;left:15px;top:33px;bottom:4px;width:1px;background:linear-gradient(var(--dm-soft),transparent)}
.dm-s .dm-next li strong{color:var(--dm-ink);font-weight:600}
@media(max-width:980px){.dm-s .dm-next{margin-top:28px!important;padding:24px 22px 22px;max-width:none}}
/* ===================== end Damson v8.2 ===================== */

/* ===================== Damson v8.3 (Contact page) =====================
   Hero "enquiry" vignette, gradient-border form card with focus glow and progress meter,
   animated "What happens next" timeline, low-key portal strip. Pair with v8.3-contact.js (optional:
   without it everything shows in its finished, static state). */
/* builder-safe rev: smooth scroll and the #page-container overflow clip come from classes that
 damson-site.js adds on the front end (dm-smooth, dm-clip), not from has() selectors on html or #page-container */
html.dm-smooth{scroll-behavior:smooth}
#page-container.dm-clip{overflow-y:clip}
#get-in-touch{scroll-margin-top:90px}

/* ---- hero ---- */
.dm-s.dm-ct-hero{padding:190px 0 120px}
.dm-s.dm-ct-hero h1{max-width:13ch}
.dm-s.dm-ct-hero .dm-lead{max-width:46ch}
.dm-s.dm-ct-hero:after{content:"";position:absolute;right:-12%;top:-30%;width:62vw;height:62vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(closest-side,rgba(249,44,139,.22),rgba(176,44,214,.10) 55%,transparent 72%);pointer-events:none;z-index:0;animation:dm-ct-drift 18s ease-in-out infinite alternate}
@keyframes dm-ct-drift{to{transform:translate(-6%,8%) scale(1.08)}}
@media(max-width:980px){.dm-s.dm-ct-hero{padding:140px 0 80px}}

.dm-s .dm-ct-visual,.dm-s .dm-ct-visual .et_pb_code_inner{overflow:visible}
.dm-cv{position:relative;width:100%;max-width:420px;margin:0 0 0 auto;aspect-ratio:1/1.02;container-type:inline-size;font-family:Outfit,sans-serif}
.dm-cv-glow{position:absolute;inset:14% 8% 6% 10%;border-radius:30px;background:var(--dm-grad);filter:blur(46px);opacity:.42}
.dm-cv-card{position:absolute;left:4%;top:8%;width:80%;background:#fff;border-radius:6cqw;padding:5.4cqw 6cqw 6cqw;box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.6) inset;transform:rotate(-3.5deg);color:var(--dm-ink)}
.dm-cv-head{display:flex;align-items:center;gap:1.4cqw;margin-bottom:5cqw}
.dm-cv-head i{width:2.2cqw;height:2.2cqw;border-radius:50%;background:#ff6347}.dm-cv-head i:nth-child(2){background:#f92c8b}.dm-cv-head i:nth-child(3){background:#b02cd6}
.dm-cv-head span{margin-left:auto;font-size:3cqw;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dm-purple);background:#f6ecfb;padding:1cqw 2.4cqw;border-radius:99px}
.dm-cv-f{margin-bottom:4.2cqw}
.dm-cv-f em{display:block;font-style:normal;font-size:3.3cqw;font-weight:600;margin-bottom:1.6cqw}
.dm-cv-f b{display:block;height:7.4cqw;border-radius:2.4cqw;border:1px solid var(--dm-line);position:relative;overflow:hidden}
.dm-cv-f b:after{content:"";position:absolute;left:3cqw;top:50%;height:1.9cqw;margin-top:-.95cqw;width:var(--w,50%);border-radius:9px;background:linear-gradient(90deg,#e6dcec,#efe8f3);transform-origin:left;animation:dm-cv-type 9s infinite both;animation-delay:var(--t,0s)}
.dm-cv-l1{--w:42%!important}
.dm-cv-f b.dm-cv-l2,.dm-cv-f b.dm-cv-l3,.dm-cv-f b.dm-cv-l4{height:4.6cqw;border:0;margin-top:.6cqw}
.dm-cv-f b.dm-cv-l2:after,.dm-cv-f b.dm-cv-l3:after,.dm-cv-f b.dm-cv-l4:after{left:0}
.dm-cv-l2{--w:94%;--t:.9s}.dm-cv-l3{--w:80%;--t:1.5s}.dm-cv-l4{--w:52%;--t:2.1s}
@keyframes dm-cv-type{0%,4%{transform:scaleX(0)}14%,92%{transform:scaleX(1)}100%{transform:scaleX(0)}}
.dm-cv-chips{display:flex;flex-wrap:wrap;gap:1.6cqw}
.dm-cv-chips span{font-size:3cqw;font-weight:500;padding:1.4cqw 2.6cqw;border-radius:99px;border:1px solid var(--dm-line);color:var(--dm-muted);animation:dm-cv-chip 9s infinite both}
.dm-cv-chips span:nth-child(1){animation-name:dm-cv-chip1}
@keyframes dm-cv-chip1{0%,8%{background:#fff;color:var(--dm-muted);border-color:var(--dm-line)}12%,92%{background:#fff0f7;color:var(--dm-pink);border-color:#f8bcd9}100%{background:#fff}}
@keyframes dm-cv-chip{0%,100%{opacity:1}}
.dm-cv-send{display:inline-block;margin-top:1cqw;font-size:3.4cqw;font-weight:600;color:#fff;background:var(--dm-grad);padding:2.4cqw 4.6cqw;border-radius:99px;box-shadow:0 8px 20px -8px rgba(249,44,139,.7);animation:dm-cv-press 9s infinite both}
@keyframes dm-cv-press{0%,34%{transform:none}37%{transform:scale(.93)}41%,100%{transform:none}}
.dm-cv-trail{position:absolute;right:-2%;top:-4%;width:48%;overflow:visible;opacity:.9}
.dm-cv-plane{position:absolute;width:9cqw;height:9cqw;left:0;top:0;offset-path:path("M190 300 C 250 290, 290 180, 360 150 S 420 80, 440 40");offset-rotate:auto -45deg;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35));animation:dm-cv-fly 9s infinite both}
.dm-cv-plane svg{width:100%;height:100%}
@keyframes dm-cv-fly{0%,38%{offset-distance:0%;opacity:0}42%{opacity:1}62%{offset-distance:100%;opacity:1}66%,100%{offset-distance:100%;opacity:0}}
.dm-cv-reply{position:absolute;right:2%;bottom:6%;display:flex;align-items:center;gap:2.4cqw;background:#fff;padding:2.6cqw 4cqw 2.6cqw 2.6cqw;border-radius:6cqw 6cqw 1.4cqw 6cqw;box-shadow:0 24px 50px -20px rgba(0,0,0,.55);transform-origin:right bottom;animation:dm-cv-pop 9s infinite both}
.dm-cv-av{width:8cqw;height:8cqw;border-radius:50%;background:var(--dm-grad);color:#fff;font-weight:700;font-size:3.8cqw;display:grid;place-items:center}
.dm-cv-dots{display:flex;gap:1.2cqw}.dm-cv-dots i{width:2cqw;height:2cqw;border-radius:50%;background:#cbbfd3;animation:dm-cv-dot 1.1s infinite}
.dm-cv-dots i:nth-child(2){animation-delay:.18s}.dm-cv-dots i:nth-child(3){animation-delay:.36s}
@keyframes dm-cv-pop{0%,64%{transform:scale(0);opacity:0}70%{transform:scale(1.06);opacity:1}74%,94%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}
@keyframes dm-cv-dot{0%,60%,100%{transform:none;background:#cbbfd3}30%{transform:translateY(-35%);background:#f92c8b}}

/* ---- form section ---- */
.dm-s.dm-ct-form{padding-top:110px!important;padding-bottom:110px!important}
.dm-s.dm-ct-form .et_pb_row{z-index:1}
.dm-s .et_pb_column.dm-formcard{position:relative;border:1.5px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(140deg,rgba(255,99,71,.55),rgba(249,44,139,.35) 40%,var(--dm-line) 60%,rgba(176,44,214,.5)) border-box;border-radius:26px;padding:44px 44px 40px;box-shadow:0 50px 90px -50px rgba(60,10,70,.45),0 10px 30px -18px rgba(249,44,139,.25);transition:box-shadow .45s,transform .45s}
.dm-s .et_pb_column.dm-formcard:focus-within{box-shadow:0 60px 100px -50px rgba(60,10,70,.5),0 14px 40px -16px rgba(249,44,139,.4)}
@media(max-width:600px){.dm-s .et_pb_column.dm-formcard{padding:28px 20px 26px;border-radius:22px}}
.dm-s .dm-form .et_pb_contact_form_label{transition:color .25s}
.dm-s .dm-form .et_pb_contact_field:focus-within .et_pb_contact_form_label{color:var(--dm-pink)}
.dm-s .dm-form input.input,.dm-s .dm-form textarea.input,.dm-s .dm-form select{transition:border-color .25s,box-shadow .25s,background-color .25s!important;background-color:#fdfbfe!important}
.dm-s .dm-form input.input:hover,.dm-s .dm-form textarea.input:hover,.dm-s .dm-form select:hover{border-color:#dccfe4!important}
.dm-s .dm-form input.input:focus,.dm-s .dm-form textarea.input:focus,.dm-s .dm-form select:focus{outline:0!important;border-color:var(--dm-pink)!important;background-color:#fff!important;box-shadow:0 0 0 4px rgba(249,44,139,.13),0 8px 22px -12px rgba(249,44,139,.45)!important}
.dm-s .dm-form .et_pb_contact_field.is-done .et_pb_contact_form_label:after{content:"";display:inline-block;width:9px;height:5px;margin:0 0 3px 9px;border-left:2px solid #22a861;border-bottom:2px solid #22a861;transform:rotate(-45deg);animation:dm-tick .35s cubic-bezier(.2,.9,.3,1.4)}
@keyframes dm-tick{from{transform:rotate(-45deg) scale(0)}}
.dm-s .dm-form .et_pb_contact_submit{transition:transform .25s,box-shadow .25s,filter .25s!important}
.dm-s .dm-form.is-ready .et_pb_contact_submit{box-shadow:0 14px 34px -10px rgba(249,44,139,.85)}
/* progress meter (Code module above the form; filled by v8.3-contact.js) */
.dm-s .dm-fp-code{margin-bottom:26px!important}
.dm-fp-top{display:flex;flex-wrap:wrap;gap:2px 12px;align-items:baseline;justify-content:space-between;font-family:Outfit,sans-serif;margin-bottom:10px}
.dm-fp-top b{font-size:1.15rem;font-weight:700;color:var(--dm-ink)}
.dm-fp-n{font-size:.82rem;color:var(--dm-muted)}
.dm-fp-bar{height:6px;border-radius:9px;background:#f1ebf4;overflow:hidden}
.dm-fp-bar i{display:block;height:100%;width:100%;border-radius:inherit;background:var(--dm-grad);transform-origin:left;transform:scaleX(var(--p,0));transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.dm-fp:not(.is-live) .dm-fp-bar i{transform:scaleX(.04)}

@media(min-width:981px){.dm-s.dm-ct-form .dm-row>.dm-contact-copy{position:sticky;top:120px}}

/* ---- what happens next: vertical mini-timeline ---- */
.dm-s .dm-next{background:rgba(255,255,255,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 24px 50px -36px rgba(60,10,70,.35)}
.dm-s .dm-next li{padding-bottom:22px}
.dm-s .dm-next li:not(:last-child):after{display:none}
.dm-s .dm-next ol{position:relative}
.dm-s .dm-next ol:before{content:"";position:absolute;left:14.5px;top:30px;bottom:40px;width:2px;border-radius:2px;background:linear-gradient(#ff6347,#f92c8b 50%,#b02cd6);transform-origin:top;transform:scaleY(1);z-index:1}
.dm-s .dm-next li:before{z-index:2;transition:transform .5s cubic-bezier(.2,.9,.3,1.3),background .4s,color .4s,box-shadow .4s}
.dm-s .dm-next.dm-next-js ol:before{transform:scaleY(0);transition:transform 1.6s cubic-bezier(.4,.1,.2,1) .2s}
.dm-s .dm-next.dm-next-js li{opacity:.35;transition:opacity .6s}
.dm-s .dm-next.dm-next-js li:before{transform:scale(.7)}
.dm-s .dm-next.dm-next-js.is-on ol:before{transform:scaleY(1)}
.dm-s .dm-next.dm-next-js.is-on li{opacity:1}
.dm-s .dm-next.dm-next-js.is-on li:before{transform:none}
.dm-s .dm-next.dm-next-js.is-on li:nth-child(2),.dm-s .dm-next.dm-next-js.is-on li:nth-child(2):before{transition-delay:.7s}
.dm-s .dm-next.dm-next-js.is-on li:nth-child(3),.dm-s .dm-next.dm-next-js.is-on li:nth-child(3):before{transition-delay:1.4s}
.dm-s .dm-next li:hover:before{background:var(--dm-grad);color:#fff;border-color:transparent;box-shadow:0 6px 16px -6px rgba(249,44,139,.6)}

/* ---- portal strip (existing clients) ---- */
.dm-s.dm-portals{border-top:1px solid var(--dm-line)}
.dm-s .dm-portal-col{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 14px}
.dm-s .dm-portal-col>.et_pb_module{margin:0!important}
.dm-s .dm-portal-txt p{margin:0;padding:0;color:var(--dm-muted);font-size:.95rem}
.dm-s .dm-portal-txt strong{color:var(--dm-ink);font-weight:600}
.dm-s .dm-portal-col .dm-portal-txt{margin-right:8px!important}
.et_pb_section .et_pb_button.dm-btn-line{background:#fff!important;color:var(--dm-ink)!important;border:1px solid var(--dm-line)!important;padding:10px 18px!important;font-size:.88rem!important;box-shadow:none}
.et_pb_section .et_pb_button.dm-btn-line:after{display:inline-block!important;content:"↗"!important;position:static!important;opacity:.55!important;margin:0!important;font-family:inherit!important;font-size:.9em!important;line-height:1!important;transition:transform .25s,opacity .25s}
.et_pb_section .et_pb_button.dm-btn-line:hover{border-color:#e4c6d9!important;transform:translateY(-1px)}
.et_pb_section .et_pb_button.dm-btn-line:hover:after{opacity:1!important;transform:translate(2px,-2px)}
@media(max-width:600px){.dm-s .dm-portal-txt{width:100%;text-align:center}.dm-s .dm-portal-col .dm-portal-txt{margin-right:0!important}}

/* ---- reduced motion: finished, still states ---- */
@media(prefers-reduced-motion:reduce){
 .dm-s.dm-ct-hero:after,.dm-cv *,.dm-cv-f b:after{animation:none!important}
 .dm-cv-plane{display:none}
 .dm-cv-reply{transform:none;opacity:1}
 .dm-cv-chips span:nth-child(1){background:#fff0f7;color:var(--dm-pink);border-color:#f8bcd9}
 .dm-s .dm-next ol:before,.dm-s .dm-next li,.dm-s .dm-next li:before,.dm-fp-bar i{transition:none!important}
}
/* ===================== end Damson v8.3 ===================== */

/* ===================== Damson v8.5 (Free health check page) =====================
   Replaces the v8.4 block. Sample visuals now match the real report: overall ring score in the hero,
   six areas with an example results checklist (areas aren't scored), HTML mock pages (cover, results summary,
   top 5 fixes) cycled by damson-site.js. All example data is made up (example-plumbing.co.uk).
   No has() selectors. Without the script everything shows finished and still. */
#request{scroll-margin-top:90px}
.dm-rlogo{font:800 1em Outfit,sans-serif;letter-spacing:.02em;color:#fff;white-space:nowrap}
.dm-rlogo i{font-style:normal;background:linear-gradient(90deg,#ff6347,#f92c8b,#b02cd6);-webkit-background-clip:text;background-clip:text;color:transparent}
.dm-hx .g,.dm-ck .g,.dm-rp .g{--rag:#1fae5b}.dm-hx .a,.dm-ck .a,.dm-rp .a{--rag:#f0a01a}.dm-hx .r,.dm-ck .r,.dm-rp .r{--rag:#ff6347}.dm-ck .i,.dm-rp .i{--rag:#9c8fa3}

/* ---- hero ---- */
.dm-s.dm-hc-hero{padding:180px 0 120px}
.dm-s.dm-hc-hero h1{max-width:12ch}
.dm-s.dm-hc-hero .dm-lead{max-width:52ch}
.dm-s.dm-hc-hero:after{content:"";position:absolute;right:-10%;top:-25%;width:60vw;height:60vw;max-width:880px;max-height:880px;border-radius:50%;background:radial-gradient(closest-side,rgba(249,44,139,.2),rgba(176,44,214,.1) 55%,transparent 72%);pointer-events:none;z-index:0;animation:dm-ct-drift 18s ease-in-out infinite alternate}
@media(max-width:980px){.dm-s.dm-hc-hero{padding:140px 0 80px}}
@media(max-width:1099px){.dm-s.dm-hc-hero .dm-hero-aside{display:block!important;width:100%!important;margin-top:56px!important}.dm-hx{margin:0 auto;max-width:400px}.dm-hx-chip{left:-2%}}
.dm-s .dm-hx-code,.dm-s .dm-hx-code .et_pb_code_inner{overflow:visible}
.dm-hx{position:relative;max-width:440px;margin-left:auto;font-family:Outfit,sans-serif;color:#fff}
.dm-hx-glow{position:absolute;inset:14% 4% -6% 8%;border-radius:30px;background:var(--dm-grad);filter:blur(56px);opacity:.38}
.dm-hx-card{position:relative;overflow:hidden;border-radius:24px;padding:24px 26px 20px;border:1px solid rgba(255,255,255,.14);
 background:radial-gradient(circle at 88% 10%,rgba(176,44,214,.6),transparent 48%),radial-gradient(circle at 8% 95%,rgba(249,44,139,.38),transparent 44%),#1c001c;
 box-shadow:0 50px 90px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08);transform:rotate(2deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.dm-hx:hover .dm-hx-card{transform:rotate(0) translateY(-4px)}
.dm-hx-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.5px);background-size:14px 14px;-webkit-mask-image:linear-gradient(160deg,#000,transparent 70%);mask-image:linear-gradient(160deg,#000,transparent 70%);pointer-events:none}
.dm-hx-card>*{position:relative}
.dm-hx-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.8rem}
.dm-hx-tag{font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);white-space:nowrap}
.dm-hx-site{margin-top:26px;font-weight:600;font-size:1.25rem;letter-spacing:-.01em}
.dm-hx-meta{font-family:Poppins,sans-serif;font-size:.72rem;opacity:.7;margin-top:2px}
.dm-hx-main{display:flex;align-items:center;gap:22px;margin:22px 0 18px}
.dm-hx-dial{position:relative;flex:0 0 132px;width:132px;height:132px}
.dm-hx-dial svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}
.dm-hx-dial circle{fill:none;stroke-width:11}
.dm-hx-track{stroke:rgba(255,255,255,.12)}
.dm-hx-val{stroke:#ffb020;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--v));animation:dm-hx-fill 1.8s cubic-bezier(.3,.7,.2,1) .5s both;filter:drop-shadow(0 0 8px rgba(255,176,32,.45))}
@keyframes dm-hx-fill{from{stroke-dashoffset:100}}
.dm-hx-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}
.dm-hx-num b{font-size:2.6rem;font-weight:800;letter-spacing:-.02em}
.dm-hx-num small{display:block;margin-top:5px;font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.dm-hx-word strong{display:block;font-size:1.3rem;font-weight:700;margin-bottom:10px}
.dm-hx-counts{list-style:none!important;margin:0!important;padding:0!important}
.dm-hx-counts li{display:flex;align-items:center;gap:8px;font-size:.86rem;padding:3px 0;color:rgba(255,255,255,.82);list-style:none}
.dm-hx-counts li b{color:#fff;font-weight:700;min-width:1.2em}
.dm-hx-counts i{width:9px;height:9px;border-radius:50%;background:var(--rag);box-shadow:0 0 0 3px color-mix(in srgb,var(--rag) 25%,transparent)}
.dm-hx-foot{padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-family:Poppins,sans-serif;font-size:.72rem;font-style:italic;opacity:.65}
.dm-hx-chip{position:absolute;left:-7%;bottom:-5%;display:flex;align-items:center;gap:8px;background:#fff;color:var(--dm-ink);padding:10px 14px;border-radius:14px;font-size:.8rem;font-weight:600;box-shadow:0 24px 50px -18px rgba(0,0,0,.55);animation:dm-hx-chip 6s ease-in-out 2s infinite}
.dm-hx-chip i{width:9px;height:9px;border-radius:50%;background:var(--dm-grad);box-shadow:0 0 0 4px rgba(249,44,139,.16)}
@keyframes dm-hx-chip{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:600px){.dm-hx-chip{position:relative;left:auto;bottom:auto;margin:16px auto 0;width:max-content;max-width:100%}}
@media(max-width:480px){.dm-hx-card{padding:20px 18px 16px}.dm-hx-main{gap:16px}.dm-hx-dial{flex-basis:112px;width:112px;height:112px}.dm-hx-num b{font-size:2.2rem}.dm-hx-word strong{font-size:1.1rem}.dm-hx-counts li{font-size:.8rem}}

/* ---- six areas: example results checklist + numbered list ---- */
.dm-s .dm-ck-code,.dm-s .dm-ck-code .et_pb_code_inner{overflow:visible}
.dm-ck{position:relative;max-width:480px;margin:0 auto;font-family:Outfit,sans-serif;color:var(--dm-ink)}
.dm-ck-glow{position:absolute;inset:12% 8% 4%;border-radius:40px;background:var(--dm-grad);filter:blur(64px);opacity:.16}
.dm-ck-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--dm-line);border-radius:22px;padding:20px 20px 16px;box-shadow:0 40px 80px -46px rgba(60,10,70,.55)}
.dm-ck-card:after{content:"";position:absolute;left:0;right:0;top:0;height:70px;background:linear-gradient(180deg,transparent,rgba(249,44,139,.1),transparent);border-bottom:2px solid rgba(249,44,139,.35);opacity:0;pointer-events:none;transform:translateY(-80px)}
.dm-ck-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px 14px;margin-bottom:12px;border-bottom:1px solid var(--dm-line)}
.dm-ck-top b{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:8px}
.dm-ck-top b:before{content:"";width:10px;height:10px;border-radius:3px;border:2px solid #1fae5b}
.dm-ck-top span{font-weight:600;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:99px;background:#f6eefa;color:var(--dm-purple);white-space:nowrap}
.dm-ck-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dm-ck-g{border:1px solid var(--dm-line);border-radius:14px;padding:12px 12px 10px;transition:border-color .3s,box-shadow .3s,transform .3s,background .3s}
.dm-ck-h{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:700;color:var(--dm-plum);margin-bottom:6px}
.dm-ck-h span{font-size:.62rem;font-weight:700;color:var(--dm-pink);letter-spacing:.06em}
.dm-ck-g ul{list-style:none!important;margin:0!important;padding:0!important}
.dm-ck-g li{display:flex;align-items:center;gap:8px;padding:3px 0;font-family:Poppins,sans-serif;font-size:.74rem;line-height:1.3;color:var(--dm-muted);list-style:none}
.dm-ck-g li em{flex:0 0 56px;font:600 .62rem/1 Outfit,sans-serif;font-style:normal;text-align:center;color:#fff;background:var(--rag);border-radius:20px;padding:4px 0;transition:transform .35s cubic-bezier(.2,.9,.3,1.4),opacity .3s,background .3s}
.dm-ck-g li.dm-ck-more{padding-left:64px;font-size:.68rem;font-style:italic;opacity:.8}
.dm-ck-key{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:14px;padding:12px 4px 0;border-top:1px solid var(--dm-line);font-size:.74rem;font-weight:600}
.dm-ck-key span{display:flex;align-items:center;gap:6px}
.dm-ck-key i{width:9px;height:9px;border-radius:50%;background:var(--rag)}
.dm-ck-key em{flex-basis:100%;font:italic 400 .7rem Poppins,sans-serif;color:var(--dm-muted)}
/* reveal: results "come in" one by one, a scan line passes once (classes from damson-site.js) */
.dm-ck.dm-ck-js li{opacity:.35}.dm-ck.dm-ck-js li em{transform:scale(.4);opacity:0}
.dm-ck.dm-ck-js.is-on li{opacity:1;transition:opacity .3s calc(var(--i)*70ms + .2s)}
.dm-ck.dm-ck-js.is-on li em{transform:none;opacity:1;transition-delay:calc(var(--i)*70ms + .2s)}
.dm-ck.dm-ck-js.is-on .dm-ck-card:after{animation:dm-ck-scan 2.2s cubic-bezier(.4,.1,.3,1) .1s both}
@keyframes dm-ck-scan{0%{opacity:0;transform:translateY(-80px)}10%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(var(--dm-ck-h,640px))}}
/* hover an area in the list: its card lights up (dm-hl-N added to .dm-areas by damson-site.js) */
.dm-areas.dm-hl-1 .dm-ck-g.a1,.dm-areas.dm-hl-2 .dm-ck-g.a2,.dm-areas.dm-hl-3 .dm-ck-g.a3,
.dm-areas.dm-hl-4 .dm-ck-g.a4,.dm-areas.dm-hl-5 .dm-ck-g.a5,.dm-areas.dm-hl-6 .dm-ck-g.a6{border-color:#f3a6cb;background:#fff7fb;box-shadow:0 14px 30px -18px rgba(249,44,139,.7);transform:translateY(-2px)}
.dm-s .dm-area-list{counter-reset:dmc}
.dm-s .dm-area-list .dm-card.et_pb_blurb{background:transparent!important;border:0!important;border-top:1px solid var(--dm-line)!important;border-radius:0!important;box-shadow:none!important;padding:24px 0!important;margin:0!important;transform:none!important}
.dm-s .dm-area-list .dm-card.et_pb_blurb:last-child{border-bottom:1px solid var(--dm-line)!important}
.dm-s .dm-area-list .dm-card.et_pb_blurb:before,.dm-s .dm-area-list .dm-card.et_pb_blurb:after{display:none!important}
.dm-s .dm-area-list .et_pb_blurb_content{display:grid!important;grid-template-columns:64px 1fr;column-gap:22px;align-items:start;max-width:none!important;text-align:left}
.dm-s .dm-area-list .dm-num .et_pb_blurb_content:before{grid-row:1/span 2;width:52px;height:52px;margin:0;border-radius:50%;background:#fff;border:1.5px solid #f3cde0;color:var(--dm-pink);font-size:1rem;transition:background .35s,color .35s,border-color .35s,transform .35s,box-shadow .35s}
.dm-s .dm-area-list .et_pb_blurb_container{padding:0!important}
.dm-s .dm-area-list .et_pb_module_header{font-size:clamp(1.3rem,1.8vw,1.6rem)!important;margin:4px 0 6px!important;padding:0!important;transition:transform .35s}
.dm-s .dm-area-list .et_pb_blurb_description{color:var(--dm-muted);max-width:54ch}
.dm-s .dm-area-list .dm-card.et_pb_blurb:hover .et_pb_blurb_content:before{background:var(--dm-grad);border-color:transparent;color:#fff;transform:scale(1.06);box-shadow:0 10px 26px -8px rgba(249,44,139,.6)}
@media(hover:hover){.dm-s .dm-area-list .dm-card.et_pb_blurb:hover .et_pb_module_header{transform:translateX(6px)}}
@media(min-width:981px){.dm-s .dm-areas>.dm-ck-col{position:sticky;top:120px;align-self:flex-start}.dm-s .dm-areas.et_pb_row{align-items:flex-start!important}}
@media(max-width:980px){.dm-ck{margin-bottom:36px}}
@media(max-width:600px){.dm-s .dm-area-list .et_pb_blurb_content{grid-template-columns:48px 1fr;column-gap:16px}.dm-s .dm-area-list .dm-num .et_pb_blurb_content:before{width:42px;height:42px;font-size:.9rem}}
@media(max-width:520px){.dm-ck-card{padding:16px 12px 12px;border-radius:18px}.dm-ck-grid{grid-template-columns:1fr;gap:8px}.dm-ck-g{padding:10px 12px 8px}}

/* ---- what you get: HTML mock report pages (sizes in container units, so each page scales like a real A4) ---- */
.dm-s .dm-rp-code,.dm-s .dm-rp-code .et_pb_code_inner{overflow:visible}
.dm-rp{position:relative;max-width:540px;margin:0 auto;font-family:Poppins,sans-serif;color:#241526}
.dm-rp-deck{position:relative;aspect-ratio:1/1.02}
.dm-rp-deck:before{content:"";position:absolute;inset:16% 10% 10%;border-radius:40px;background:var(--dm-grad);filter:blur(70px);opacity:.25}
.dm-rp-pg{position:absolute;width:60%;aspect-ratio:210/297;container-type:inline-size;overflow:hidden;background:#fff;border-radius:8px;padding:0;
 box-shadow:0 30px 60px -30px rgba(60,10,70,.5),0 0 0 1px rgba(60,10,70,.07);transition:transform .9s cubic-bezier(.2,.8,.2,1),left .9s cubic-bezier(.2,.8,.2,1),top .9s cubic-bezier(.2,.8,.2,1),z-index .9s step-end,box-shadow .9s}
/* positions: front / middle / back (no-JS default by order; the script swaps dm-rp-at0..2 to cycle pages) */
.dm-rp-pg:nth-child(1),.dm-rp-deck .dm-rp-pg.dm-rp-at0{left:3%;top:7%;transform:rotate(-5deg);z-index:3}
.dm-rp-pg:nth-child(2){left:21%;top:2%;transform:rotate(2deg);z-index:2}
.dm-rp-pg:nth-child(3){left:38%;top:8%;transform:rotate(8deg);z-index:1}
.dm-rp-deck .dm-rp-pg.dm-rp-at1{left:21%;top:2%;transform:rotate(2deg);z-index:2}
.dm-rp-deck .dm-rp-pg.dm-rp-at2{left:38%;top:8%;transform:rotate(8deg);z-index:1}
.dm-rp-deck .dm-rp-pg.dm-rp-at0{box-shadow:0 40px 70px -30px rgba(60,10,70,.6),0 0 0 1px rgba(60,10,70,.07)}
.dm-rp-deck .dm-rp-pg.dm-rp-at0.dm-rp-in{transition:transform .9s cubic-bezier(.2,.8,.2,1),left .9s cubic-bezier(.2,.8,.2,1),top .9s cubic-bezier(.2,.8,.2,1),z-index 0s,box-shadow .9s}
.dm-rp-deck .dm-rp-pg.dm-rp-at2.dm-rp-out{animation:dm-rp-out .9s cubic-bezier(.3,.6,.2,1)}
@keyframes dm-rp-out{0%{transform:rotate(-5deg);left:3%;top:7%;z-index:4}45%{transform:rotate(-10deg) translateX(-30%);z-index:4}55%{z-index:0}100%{transform:rotate(8deg);left:38%;top:8%;z-index:1}}
.dm-rp-stamp{position:absolute;right:4%;bottom:15%;z-index:4;transform:rotate(-8deg);font:700 .68rem Outfit,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--dm-purple);background:#fff;border:1.5px solid var(--dm-purple);border-radius:6px;padding:5px 9px;box-shadow:0 10px 24px -12px rgba(60,10,70,.5)}
.dm-rp-cap{margin-top:18px;text-align:center;font-size:.76rem;font-style:italic;color:var(--dm-muted)}
.dm-rp-pg *{box-sizing:border-box}
.dm-rp-b{position:absolute;inset:0;padding:7.6cqw 7.6cqw 9cqw}
.dm-rp .dm-rlogo{font-size:2.6cqw}
.dm-rp-ft{position:absolute;left:7.6cqw;right:7.6cqw;bottom:4.2cqw;padding-top:1.4cqw;border-top:1px solid #eadff0;font-size:1.2cqw;color:#6d5f70;white-space:nowrap;overflow:hidden}
/* cover */
.dm-rp-cover{color:#fff;background:radial-gradient(circle at 85% 15%,rgba(176,44,214,.55),transparent 45%),radial-gradient(circle at 10% 90%,rgba(249,44,139,.35),transparent 40%),#1c001c}
.dm-rp-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.2) 1px,transparent 1.5px);background-size:3.4cqw 3.4cqw;-webkit-mask-image:linear-gradient(160deg,#000,transparent 70%);mask-image:linear-gradient(160deg,#000,transparent 70%)}
.dm-rp-cover .dm-rp-b>*{position:relative}
.dm-rp-t1{font:800 7cqw/1.1 Outfit,sans-serif;margin:17cqw 0 4cqw}
.dm-rp-t1 span{background:linear-gradient(90deg,#ff6347,#f92c8b,#b02cd6);-webkit-background-clip:text;background-clip:text;color:transparent}
.dm-rp-site{font:600 3.2cqw Outfit,sans-serif}
.dm-rp-meta{font-size:1.7cqw;opacity:.75;margin-top:.6cqw}
.dm-rp-dw{display:flex;align-items:center;gap:5cqw;margin-top:12cqw}
.dm-rp-dial{flex:0 0 25cqw;width:25cqw;height:25cqw;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ffb020 calc(var(--v)*3.6deg),rgba(255,255,255,.12) 0)}
.dm-rp-dial>div{width:20cqw;height:20cqw;border-radius:50%;background:#1c001c;display:grid;place-content:center;text-align:center;line-height:1}
.dm-rp-dial b{font:800 6.4cqw Outfit,sans-serif}.dm-rp-dial small{font-size:1.3cqw;opacity:.7;margin-top:.6cqw}
.dm-rp-word{display:block;font:700 3.6cqw Outfit,sans-serif;margin-bottom:1.2cqw}
.dm-rp-dw p{margin:0 0 2cqw;padding:0;font-size:1.75cqw;line-height:1.5;opacity:.8;color:#fff}
.dm-rp-counts span{display:inline-flex;align-items:center;gap:.9cqw;margin-right:2.2cqw;font:600 1.8cqw Outfit,sans-serif}
.dm-rp-counts i{width:1.6cqw;height:1.6cqw;border-radius:50%;background:var(--rag)}
.dm-rp-cf{position:absolute!important;left:7.6cqw;right:7.6cqw;bottom:6cqw;display:flex;justify-content:space-between;gap:2cqw;font-size:1.3cqw;opacity:.7}
/* inner pages */
.dm-rp-kick{font:600 1.4cqw Outfit,sans-serif;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(90deg,#ff6347,#f92c8b,#b02cd6);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.dm-rp-h2{font:800 4.6cqw/1.15 Outfit,sans-serif;color:#1c001c;margin:.6cqw 0 1.6cqw;letter-spacing:-.01em}
.dm-rp-bar{height:.6cqw;width:10.5cqw;border-radius:1cqw;background:linear-gradient(90deg,#ff6347,#f92c8b,#b02cd6);margin-bottom:3.6cqw}
.dm-rp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.9cqw;align-items:start}
.dm-rp-card{border:1px solid #eadff0;border-radius:1.8cqw;padding:2cqw 2.2cqw}
.dm-rp-card>b{display:block;font:700 1.85cqw Outfit,sans-serif;color:#1c001c;margin-bottom:.8cqw}
.dm-rp-row{display:flex;align-items:center;gap:1.6cqw;font-size:1.45cqw;line-height:1.35;padding:.35cqw 0;color:#241526;white-space:nowrap}
.dm-rp-row em{flex:0 0 7.6cqw;text-align:center;font:600 1.2cqw/1.5 Outfit,sans-serif;font-style:normal;color:#fff;background:var(--rag);border-radius:3cqw}
.dm-rp-h3{font:700 2.4cqw Outfit,sans-serif;color:#1c001c;margin:3.4cqw 0 1.6cqw}
.dm-rp-shots{display:flex;gap:2.4cqw;align-items:flex-start}
.dm-rp-shots>div{border:1px solid #eadff0;border-radius:1.4cqw;overflow:hidden;box-shadow:0 1.4cqw 3.4cqw rgba(28,0,28,.12);background:#fff}
.dm-rp-desk{flex:0 0 61cqw;height:30cqw}.dm-rp-mob{flex:0 0 20cqw;height:30cqw}
.dm-rp-shots i{display:block}
.dm-rp-shots .nav{height:3.2cqw;background:#fff;border-bottom:1px solid #eef3f7;position:relative}
.dm-rp-shots .nav:before{content:"";position:absolute;left:2cqw;top:1cqw;width:9cqw;height:1.2cqw;border-radius:1cqw;background:#0c5ea8}
.dm-rp-shots .hero{height:15cqw;background:linear-gradient(120deg,#0c5ea8,#1f8ad1);padding:3cqw 3cqw}
.dm-rp-shots .hero u{display:block;height:1.6cqw;width:60%;border-radius:1cqw;background:rgba(255,255,255,.9);margin-bottom:1.2cqw}
.dm-rp-shots .hero u+u{width:42%;height:1.1cqw;background:rgba(255,255,255,.55)}
.dm-rp-shots .hero s{display:block;width:14cqw;height:3cqw;border-radius:2cqw;background:#ffb020;margin-top:1.6cqw;text-decoration:none}
.dm-rp-shots .cols{display:flex;gap:1.6cqw;padding:2cqw}
.dm-rp-shots .cols u{flex:1;height:7cqw;border-radius:1cqw;background:#eef3f7}
.dm-rp-mob .hero{height:17cqw;padding:2.4cqw 2cqw}.dm-rp-mob .hero u{width:90%}.dm-rp-mob .hero s{width:11cqw}.dm-rp-mob .nav:before{width:7cqw}
.dm-rp-intro{font-size:1.75cqw;color:#6d5f70;margin:-.6cqw 0 3.4cqw;padding:0;line-height:1.5}
.dm-rp-pri ol{list-style:none!important;margin:0!important;padding:0!important}
.dm-rp-pri li{display:flex;gap:2.6cqw;margin:0 0 2.6cqw;padding:2.6cqw;border-radius:1.8cqw;background:#faf6fc;border-left:.55cqw solid #f92c8b;list-style:none}
.dm-rp-pri .n{flex:0 0 5.2cqw;height:5.2cqw;border-radius:50%;background:linear-gradient(90deg,#ff6347,#f92c8b,#b02cd6);color:#fff;font:800 2.5cqw Outfit,sans-serif;display:grid;place-items:center}
.dm-rp-pri li b{display:block;font:700 2.2cqw/1.25 Outfit,sans-serif;color:#1c001c}
.dm-rp-pri li p{margin:.6cqw 0 0;padding:0;font-size:1.6cqw;line-height:1.5;color:#6d5f70}
.dm-s .dm-get .dm-ticks li,.dm-s .dm-get p{color:var(--dm-muted)!important}
.dm-s .dm-get h1,.dm-s .dm-get h2,.dm-s .dm-get h3{color:var(--dm-ink)!important}
.dm-s .dm-get .dm-eyebrow,.dm-s .dm-get .dm-eyebrow p{color:var(--dm-purple)!important}
.dm-s .dm-get .dm-h h2{max-width:14ch}
.dm-s .et_pb_row.dm-plain{margin-top:90px!important;padding-top:56px!important;border-top:1px solid #e9e0ee}
@media(max-width:980px){.dm-rp{max-width:460px;margin-bottom:40px}.dm-s .et_pb_row.dm-plain{margin-top:60px!important;padding-top:40px!important}}
@media(max-width:600px){.dm-rp-pg{width:64%}.dm-rp-stamp{font-size:.6rem;bottom:10%}.dm-rp-cap{padding:0 4%}}

/* ---- three steps: the line draws across, steps light in turn ---- */
.dm-s .dm-htl:before{transform-origin:left;transition:transform 1.8s cubic-bezier(.4,.1,.2,1)}
.dm-s .dm-htl .dm-st:before{transition:background .5s,border-color .5s,box-shadow .5s,transform .5s}
.dm-s .dm-htl.dm-htl-js:before{transform:scaleX(0)}
.dm-s .dm-htl.dm-htl-js .dm-st{opacity:.45;transition:opacity .6s}
.dm-s .dm-htl.dm-htl-js.is-on:before{transform:none}
.dm-s .dm-htl.dm-htl-js.is-on .dm-st{opacity:1}
.dm-s .dm-htl.is-on .dm-st:before{background:var(--dm-grad);border-color:transparent;box-shadow:0 0 0 7px rgba(249,44,139,.14),0 12px 30px -8px rgba(249,44,139,.7)}
.dm-s .dm-htl.is-on>.et_pb_column:nth-child(2) .dm-st,.dm-s .dm-htl.is-on>.et_pb_column:nth-child(2) .dm-st:before{transition-delay:.6s}
.dm-s .dm-htl.is-on>.et_pb_column:nth-child(3) .dm-st,.dm-s .dm-htl.is-on>.et_pb_column:nth-child(3) .dm-st:before{transition-delay:1.2s}
@media(max-width:980px){.dm-s .dm-htl:before{display:block;left:27px;right:auto;top:28px;bottom:90px;width:2px;height:auto;transform-origin:top;background:linear-gradient(var(--dm-coral),var(--dm-pink),var(--dm-purple))}.dm-s .dm-htl.dm-htl-js:before{transform:scaleY(0)}
 .dm-s .dm-htl>.et_pb_column{padding-left:76px!important;padding-right:0!important}
 .dm-s .dm-htl .dm-st{position:relative}.dm-s .dm-htl .dm-st:before{position:absolute;left:-76px;top:0;margin:0}.dm-s .dm-htl .dm-st h3{padding-top:14px}}

/* ---- request: form as the focal point ---- */
.dm-s.dm-hc-req .dm-ticks{margin-top:10px}
@media(min-width:981px){.dm-s.dm-hc-req .dm-row>.et_pb_column:first-child{position:sticky;top:120px}}

@media(prefers-reduced-motion:reduce){
 .dm-s.dm-hc-hero:after,.dm-hx *,.dm-hx-val,.dm-ck *,.dm-ck-card:after,.dm-rp-pg{animation:none!important}
 .dm-hx-card,.dm-rp-pg,.dm-ck li,.dm-ck li em,.dm-ck-g,.dm-s .dm-htl:before,.dm-s .dm-htl .dm-st{transition:none!important}
 .dm-hx:hover .dm-hx-card{transform:rotate(2deg)}
}
/* ===================== end Damson v8.5 ===================== */

/* 1.1.1: remove the 1px white line above the header.
   Divi gives every column min-height:1px, so the empty Theme Builder header wrapper
   (its only content is the fixed .dm-hdr) took 1px of space and pushed the hero down,
   leaving the white body showing through the transparent fixed header at the very top. */
.et-l--header .et_pb_column{min-height:0!important}
.et-l--header,.et-l--header .et_builder_inner_content,.et-l--header .et_pb_section,.et-l--header .et_pb_row,.et-l--header .et_pb_column{height:0;min-height:0}


/* =====================================================================
   v1.1.2  Case study pages (section class dm-cs). Screenshot mockups,
   before/after with real screenshots, long-page pan, gallery frames,
   count-up results. Scoped to .dm-cs; no relational selectors; front end only.
   ===================================================================== */
/* hero: copy left, tilted browser + phone right */
.dm-s.dm-cs-hero .dm-cs-herorow{display:flex;align-items:center}
.dm-s.dm-cs-hero .dm-cs-herocopy h1{max-width:11ch}
.dm-s.dm-cs-hero .dm-cs-herocopy .dm-lead p{max-width:34em}
.dm-cs-stage{position:relative;padding:40px 0 60px 9%;perspective:1800px;--tx:0;--ty:0;animation:dm-cs-in 1.1s cubic-bezier(.2,.7,.2,1) both .15s}
@keyframes dm-cs-in{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.dm-cs-glow{position:absolute;left:12%;right:-4%;top:12%;bottom:10%;background:var(--dm-grad);filter:blur(70px);opacity:.45;border-radius:40%;z-index:0;animation:dm-cs-pulse 7s ease-in-out infinite alternate}
@keyframes dm-cs-pulse{from{opacity:.32;transform:scale(.96)}to{opacity:.55;transform:scale(1.04)}}
.dm-cs-browser{position:relative;z-index:1;margin:0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 50px 100px -40px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.12)}
.dm-cs-bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#f1edf4;border-bottom:1px solid #e3dce8}
.dm-cs-bar i{width:10px;height:10px;border-radius:50%;background:#ff6347;flex:none}
.dm-cs-bar i+i{background:#f9b52c}.dm-cs-bar i+i+i{background:#3fc36b}
.dm-cs-bar span{margin-left:12px;flex:1;max-width:340px;height:20px;border-radius:999px;background:#fff;font:500 .72rem/20px Outfit,sans-serif;color:#7a6f84;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-cs-browser img,.dm-cs-phone img{display:block;width:100%;height:auto}
.dm-cs-stage .dm-cs-browser{transform:rotateY(calc(-14deg + var(--tx) * 6deg)) rotateX(calc(6deg - var(--ty) * 5deg)) rotateZ(1deg);transform-origin:60% 50%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.dm-cs-phone{position:absolute;z-index:2;left:0;bottom:0;width:27%;margin:0;padding:7px;border-radius:30px;background:#0d000d;box-shadow:0 40px 80px -24px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.14);animation:dm-cs-float 6s ease-in-out infinite alternate}
.dm-cs-phone:before{content:"";position:absolute;z-index:1;top:13px;left:50%;width:30%;height:9px;margin-left:-15%;border-radius:999px;background:#0d000d}
.dm-cs-phone img{border-radius:23px;aspect-ratio:390/844;object-fit:cover;object-position:top}
@keyframes dm-cs-float{from{transform:translate3d(calc(var(--tx) * -8px),0,0) rotate(-4deg)}to{transform:translate3d(calc(var(--tx) * -8px),-16px,0) rotate(-2deg)}}
.dm-cs-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:12px 16px 12px 12px;border-radius:16px;background:rgba(255,255,255,.96);color:var(--dm-ink);box-shadow:0 24px 50px -20px rgba(0,0,0,.6);font:500 .78rem/1.25 Outfit,sans-serif;animation:dm-cs-float2 5s ease-in-out infinite alternate}
.dm-cs-chip b{display:grid;place-items:center;min-width:46px;height:46px;padding:0 8px;border-radius:12px;background:var(--dm-grad);color:#fff;font:700 1.05rem/1 Outfit,sans-serif;letter-spacing:-.02em}
.dm-cs-chip span{max-width:11em}
.dm-cs-chip em{display:block;font-style:normal;color:var(--dm-muted);font-size:.72rem}
.dm-cs-chip-a{top:6px;right:-2%}
.dm-cs-chip-b{bottom:26px;right:8%;animation-delay:-2.5s}
@keyframes dm-cs-float2{from{transform:translateY(0)}to{transform:translateY(-10px)}}
@media(max-width:980px){
 .dm-s.dm-cs-hero .dm-cs-herorow{display:block}
 .dm-cs-stage{padding:30px 0 40px 12%;margin-top:20px}
 .dm-cs-stage .dm-cs-browser{transform:rotateY(-10deg) rotateX(4deg)}
 .dm-cs-chip-a{right:0;top:0}
}
@media(max-width:600px){
 .dm-cs-phone{width:32%;border-radius:22px;padding:5px}.dm-cs-phone img{border-radius:17px}
 .dm-cs-bar{height:24px;gap:5px;padding:0 9px}.dm-cs-bar i{width:7px;height:7px}.dm-cs-bar span{height:14px;line-height:14px;font-size:.58rem;margin-left:6px}
 .dm-cs-chip{padding:8px 10px 8px 8px;font-size:.68rem;gap:8px;border-radius:12px}.dm-cs-chip b{min-width:36px;height:36px;font-size:.88rem;border-radius:9px}
 .dm-cs-chip-b{display:none}
}
/* facts strip under the hero */
.dm-s.dm-cs-facts{padding:46px 0!important;border-bottom:1px solid var(--dm-line)}
.dm-s.dm-cs-facts .dm-facts p{font:600 1.05rem/1.35 Outfit,sans-serif;color:var(--dm-ink)}
.dm-s.dm-cs-facts .dm-eyebrow{margin-bottom:6px!important}
@media(max-width:980px){.dm-s.dm-cs-facts .et_pb_column{width:47%!important;margin-right:6%!important;margin-bottom:24px!important}.dm-s.dm-cs-facts .et_pb_column:nth-child(2n){margin-right:0!important}}
/* before / after with real screenshots (reuses .dm-ba + its JS) */
.dm-cs .dm-ba.dm-cs-ba{aspect-ratio:16/10;background:#14171c;box-shadow:0 70px 120px -60px rgba(60,0,70,.65),0 0 0 1px var(--dm-line)}
.dm-cs .dm-cs-ba picture,.dm-cs .dm-cs-ba img{display:block;width:100%;height:100%}
.dm-cs .dm-cs-ba img{object-fit:cover;object-position:top center}
.dm-cs .dm-cs-ba .dm-ba-tag{bottom:auto;top:18px}
@media(max-width:767px){.dm-cs .dm-ba.dm-cs-ba{aspect-ratio:3/5}.dm-cs .dm-cs-ba .dm-ba-tag{top:12px}}
/* long page in a browser frame: pans with scroll, and all the way on hover */
.dm-cs-pan{--fh:620px;--p:0;position:relative;margin:0}
.dm-cs-pan:before{content:"";position:absolute;inset:8% -3% -4% 6%;background:var(--dm-grad);filter:blur(60px);opacity:.35;z-index:0;border-radius:40px}
.dm-cs-pan .dm-cs-browser{box-shadow:0 60px 110px -50px rgba(60,0,70,.7),0 0 0 1px var(--dm-line)}
.dm-cs-win{position:relative;height:var(--fh);overflow:hidden;background:#fff}
.dm-cs-win img{transform:translate3d(0,calc((var(--fh) - 100%) * var(--p)),0);transition:transform .7s cubic-bezier(.2,.7,.2,1);will-change:transform}
.dm-cs-pan:hover .dm-cs-win img{transform:translate3d(0,calc(var(--fh) - 100%),0);transition:transform 9s cubic-bezier(.45,0,.4,1)}
.dm-cs-hint{position:absolute;z-index:2;right:16px;bottom:16px;padding:9px 14px;border-radius:999px;background:rgba(28,0,28,.82);color:#fff;font:600 .7rem/1 Outfit,sans-serif;letter-spacing:.14em;text-transform:uppercase;pointer-events:none;transition:opacity .4s}
.dm-cs-pan:hover .dm-cs-hint{opacity:0}
.dm-cs-rail{position:absolute;z-index:2;top:46px;right:6px;bottom:12px;width:4px;border-radius:4px;background:rgba(28,0,28,.08)}
.dm-cs-rail i{display:block;width:100%;height:18%;border-radius:4px;background:var(--dm-grad);transform:translateY(calc(var(--p) * 455%));transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.dm-cs-pan:hover .dm-cs-rail i{transform:translateY(455%);transition:transform 9s cubic-bezier(.45,0,.4,1)}
@media(max-width:980px){.dm-cs-pan{--fh:520px}}
@media(max-width:600px){.dm-cs-pan{--fh:440px}}
.dm-s.dm-cs .dm-cs-list ol{list-style:none!important;counter-reset:cs;padding:0!important;margin:22px 0 0!important}
.dm-s.dm-cs .dm-cs-list li{counter-increment:cs;position:relative;padding:12px 0 12px 46px;border-top:1px solid var(--dm-line);color:var(--dm-muted)}
.dm-s.dm-cs .dm-cs-list li:before{content:counter(cs,decimal-leading-zero);position:absolute;left:0;top:12px;font:700 .85rem/1.6 Outfit,sans-serif;background:var(--dm-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dm-s.dm-cs .dm-cs-list li strong{color:var(--dm-ink);font-weight:600}
/* gallery: desktop shots in browser chrome, mobile shots in phone frames */
.dm-s .et_pb_image.dm-cs-shot{margin-bottom:18px!important}
.dm-s .dm-cs-shot .et_pb_image_wrap{display:block;position:relative;padding-top:28px;border-radius:14px;overflow:hidden;background:#f1edf4;box-shadow:0 40px 70px -40px rgba(60,0,70,.55),0 0 0 1px var(--dm-line);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.dm-s .dm-cs-shot .et_pb_image_wrap:before{content:"";position:absolute;top:10px;left:12px;width:8px;height:8px;border-radius:50%;background:#ff6347;box-shadow:13px 0 0 #f9b52c,26px 0 0 #3fc36b}
.dm-s .dm-cs-shot img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.dm-s .dm-cs-shot:hover .et_pb_image_wrap{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 60px 90px -40px rgba(176,44,214,.55),0 0 0 1px var(--dm-line)}
.dm-s .dm-cs-gal>.et_pb_column:nth-child(2) .dm-cs-shot .et_pb_image_wrap{transform:translateY(26px)}
.dm-s .dm-cs-gal>.et_pb_column:nth-child(2) .dm-cs-cap{transform:translateY(26px)}
.dm-s .dm-cs-gal>.et_pb_column:nth-child(2) .dm-cs-shot:hover .et_pb_image_wrap{transform:translateY(18px) rotate(.6deg)}
.dm-s .dm-cs-cap p{font-size:.95rem;color:var(--dm-muted);margin:0}
.dm-s .dm-cs-cap strong{display:block;color:var(--dm-ink);font:600 1.05rem/1.3 Outfit,sans-serif;margin-bottom:4px}
.dm-s .et_pb_image.dm-cs-mob{margin-bottom:18px!important;text-align:center}
.dm-s .dm-cs-mob .et_pb_image_wrap{display:block;max-width:250px;margin:0 auto;padding:7px;border-radius:32px;background:#0d000d;box-shadow:0 40px 70px -30px rgba(28,0,28,.6);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.dm-s .dm-cs-mob img{display:block;width:100%;aspect-ratio:390/844;object-fit:contain;object-position:top;background:#fff;border-radius:25px}
.dm-s .dm-cs-mob:hover .et_pb_image_wrap{transform:translateY(-10px) rotate(-1.5deg)}
.dm-s .dm-cs-mobrow>.et_pb_column:nth-child(3) .dm-cs-mob .et_pb_image_wrap{transform:translateY(34px)}
.dm-s .dm-cs-mobrow>.et_pb_column:nth-child(3) .dm-cs-cap{transform:translateY(34px)}
.dm-s .dm-cs-mobrow .dm-cs-cap{text-align:center}
.dm-s .dm-cs-mobrow{margin-top:110px!important}
@media(max-width:980px){
 .dm-s .dm-cs-gal>.et_pb_column:nth-child(2) .dm-cs-shot .et_pb_image_wrap,.dm-s .dm-cs-gal>.et_pb_column:nth-child(2) .dm-cs-cap,
 .dm-s .dm-cs-mobrow>.et_pb_column:nth-child(3) .dm-cs-mob .et_pb_image_wrap,.dm-s .dm-cs-mobrow>.et_pb_column:nth-child(3) .dm-cs-cap{transform:none}
 .dm-s .dm-cs-mobrow{margin-top:70px!important}
 .dm-s .dm-cs-mobrow>.et_pb_column{margin-bottom:46px}
}
/* results on the gradient band: glass stat cards with count-up */
.dm-s.dm-band .et_pb_column.dm-cs-stat{position:relative;padding:30px 28px 28px;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .4s cubic-bezier(.2,.7,.2,1),background .4s}
.dm-s.dm-band .et_pb_column.dm-cs-stat:hover{transform:translateY(-6px);background:rgba(255,255,255,.18)}
.dm-s .dm-cs-stat .dm-cs-k{font:600 .74rem/1.3 Outfit,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);margin:0 0 18px}
.dm-s .dm-cs-stat .dm-cs-v{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0 0 14px;font-family:Outfit,sans-serif;line-height:1}
.dm-s .dm-cs-stat .dm-cs-v s{font-size:1.35rem;font-weight:500;color:rgba(255,255,255,.62);text-decoration-thickness:2px}
.dm-s .dm-cs-stat .dm-cs-v s:after{content:" \2192";text-decoration:none;display:inline-block;margin-left:6px}
.dm-s .dm-cs-stat .dm-cs-v strong{font-size:clamp(2.6rem,4vw,3.6rem);font-weight:700;letter-spacing:-.03em;color:#fff;text-shadow:0 4px 30px rgba(28,0,28,.25);font-variant-numeric:tabular-nums}
.dm-s .dm-cs-stat .dm-cs-v small{font-size:1.1rem;font-weight:600;margin-left:2px}
.dm-s .dm-cs-stat .dm-cs-d{margin:0;font-size:.92rem;line-height:1.5;color:rgba(255,255,255,.88)}
.dm-s.dm-band .dm-cs-note p{color:rgba(255,255,255,.82);font-size:.85rem;max-width:62em}
.dm-s.dm-band .dm-cs-lede p{color:rgba(255,255,255,.9)}
@media(max-width:980px){.dm-s.dm-band .dm-cs-statrow>.et_pb_column.dm-cs-stat{width:48%!important;margin-right:4%!important;margin-bottom:4%!important}.dm-s.dm-band .dm-cs-statrow>.et_pb_column.dm-cs-stat:nth-child(2n){margin-right:0!important}}
@media(max-width:600px){.dm-s.dm-band .dm-cs-statrow>.et_pb_column.dm-cs-stat{width:100%!important;margin-right:0!important;margin-bottom:16px!important}}
@media(prefers-reduced-motion:reduce){
 .dm-cs-stage,.dm-cs-glow,.dm-cs-phone,.dm-cs-chip{animation:none!important}
 .dm-cs-stage .dm-cs-browser{transition:none}
 .dm-cs-win{overflow-y:auto}
 .dm-cs-win img,.dm-cs-pan:hover .dm-cs-win img,.dm-cs-rail i,.dm-cs-pan:hover .dm-cs-rail i{transform:none!important;transition:none!important}
 .dm-cs-rail,.dm-cs-hint{display:none}
}
/* ===================== Damson v8.6 (Services page, section class dm-sv) =====================
   Plugin 1.1.3. Everything below is scoped to .dm-sv (plus the page-id-361 layout fallback).
   No has() selectors. Without the script everything shows finished and still. */
body.page-id-361 #sidebar,body.page-id-361 .main_title{display:none!important}
body.page-id-361 #main-content .container{width:100%!important;max-width:none!important;padding-top:0!important}
body.page-id-361 #main-content .container:before{display:none!important}
body.page-id-361 #left-area{width:100%!important;padding:0!important;float:none!important;margin:0!important}
body.page-id-361 article.et_pb_post{margin-bottom:0!important}
.dm-s.dm-sv[id]{scroll-margin-top:70px}
.dm-s.dm-sv .dm-grad{background:var(--dm-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- hero: "two ways to pay" switch (decorative Code module) ---- */
.dm-svx{position:relative;width:100%;max-width:520px;margin-left:auto;padding:26px 0 46px;font-family:Outfit,sans-serif;color:#fff}
.dm-svx-glow{position:absolute;inset:14% 6% 18% 14%;background:var(--dm-grad);filter:blur(70px);opacity:.42;border-radius:40%;animation:dm-svx-glow 8s ease-in-out infinite alternate}
.dm-svx-card{position:relative;border-radius:24px;padding:26px 26px 22px;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 50px 90px -40px rgba(0,0,0,.8);transform:rotate(-1.5deg);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.dm-svx:hover .dm-svx-card{transform:rotate(0)}
.dm-svx-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.72rem}
.dm-svx-tag{padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.28);letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.8)}
.dm-svx-sw{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:22px 0 18px;padding:5px;border-radius:999px;background:rgba(0,0,0,.28);cursor:pointer;user-select:none}
.dm-svx-sw b{position:relative;z-index:1;text-align:center;padding:11px 8px;font-weight:600;font-size:.92rem;color:rgba(255,255,255,.6);transition:color .4s}
.dm-svx-sw i{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;background:var(--dm-grad);box-shadow:0 10px 24px -8px rgba(249,44,139,.8);transition:transform .55s cubic-bezier(.6,0,.2,1)}
.dm-svx .dm-svx-sw b:first-child,.dm-svx.is-up .dm-svx-sw b+b{color:#fff}
.dm-svx.is-up .dm-svx-sw b:first-child{color:rgba(255,255,255,.6)}
.dm-svx.is-up .dm-svx-sw i{transform:translateX(100%)}
.dm-svx-panes{display:grid}
.dm-svx-p{grid-area:1/1;list-style:none!important;margin:0!important;padding:0!important;transition:opacity .45s,transform .55s cubic-bezier(.2,.7,.2,1)}
.dm-svx-p li{display:flex;justify-content:space-between;gap:16px;padding:12px 2px;border-bottom:1px dashed rgba(255,255,255,.18);font-size:.95rem;line-height:1.35;list-style:none}
.dm-svx-p li em{font-style:normal;color:rgba(255,255,255,.55);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding-top:2px;white-space:nowrap}
.dm-svx-p li span{text-align:right}
.dm-svx-p li:last-child span{font-weight:700;background:linear-gradient(90deg,#ffb199,#ff9ac8);-webkit-background-clip:text;background-clip:text;color:transparent}
.dm-svx-u{opacity:0;transform:translateX(24px);pointer-events:none}
.dm-svx.is-up .dm-svx-m{opacity:0;transform:translateX(-24px)}
.dm-svx.is-up .dm-svx-u{opacity:1;transform:none}
.dm-svx-foot{margin-top:16px;font-size:.78rem;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:8px}
.dm-svx-foot:before{content:"";width:8px;height:8px;border-radius:50%;background:#3fc36b;box-shadow:0 0 0 4px rgba(63,195,107,.2)}
.dm-svx-chip{position:absolute;right:-14px;bottom:4px;padding:12px 16px;border-radius:14px;background:#fff;color:var(--dm-ink);font:600 .8rem/1.2 Outfit,sans-serif;box-shadow:0 24px 50px -20px rgba(0,0,0,.6);animation:dm-svx-float 5s ease-in-out infinite alternate}
.dm-svx-chip:before{content:"\2713";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:var(--dm-grad);color:#fff;font-size:.7rem}
@keyframes dm-svx-glow{to{opacity:.6;transform:scale(1.08) translate(-3%,2%)}}
@keyframes dm-svx-float{to{transform:translateY(-10px)}}

/* ---- in-page jump links (Text module dm-sv-jump) ---- */
.dm-s.dm-sv .dm-sv-jump p{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 0;max-width:none}
.dm-s.dm-sv .dm-sv-jump a{display:inline-block;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.22);font:500 .85rem/1.2 Outfit,sans-serif;color:rgba(255,255,255,.85)!important;text-decoration:none!important;transition:background .25s,border-color .25s}
.dm-s.dm-sv .dm-sv-jump a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}

/* ---- services index: an editorial numbered list (rows dm-sv-item) ---- */
.dm-s.dm-sv-svc{counter-reset:svc}
.dm-s.dm-sv-svc .et_pb_row.dm-sv-item{position:relative;padding:40px 0!important;margin-bottom:0!important;border-top:1px solid var(--dm-line)}
.dm-s.dm-sv-svc .et_pb_row.dm-sv-item:last-child{border-bottom:1px solid var(--dm-line)}
.dm-s.dm-sv-svc .et_pb_row.dm-sv-item:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--dm-grad);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.dm-s.dm-sv-svc .et_pb_row.dm-sv-item:hover:after{transform:none}
.dm-s.dm-sv-svc .dm-sv-name{position:relative;padding-left:118px}
.dm-s.dm-sv-svc .dm-sv-name:before{counter-increment:svc;content:"0" counter(svc);position:absolute;left:0;top:-10px;font:700 4.4rem/1 Outfit,sans-serif;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px #d9c8e3;transition:color .4s,-webkit-text-stroke-color .4s}
.dm-s.dm-sv-svc .dm-sv-item:hover .dm-sv-name:before{-webkit-text-stroke-color:transparent;background:var(--dm-grad);-webkit-background-clip:text;background-clip:text}
.dm-s.dm-sv-svc .dm-sv-name h3{font-size:clamp(1.5rem,2.2vw,1.95rem);margin:0 0 10px}
.dm-s.dm-sv-svc .dm-sv-name p{color:var(--dm-muted);margin:0;max-width:34ch}
.dm-s.dm-sv-svc .dm-sv-inc p{display:flex;flex-wrap:wrap;gap:8px;margin:0;max-width:none}
.dm-s.dm-sv-svc .dm-sv-inc span{display:inline-block;padding:9px 14px;border-radius:999px;background:#f6eefa;color:var(--dm-ink);font:500 .88rem/1.25 Outfit,sans-serif;transition:background .3s,color .3s,transform .3s}
.dm-s.dm-sv-svc .dm-sv-item:hover .dm-sv-inc span{background:#fdeaf3}
.dm-s.dm-sv-svc .dm-sv-item:hover .dm-sv-inc span:nth-child(odd){transform:translateY(-2px)}
.dm-s.dm-sv-svc .dm-sv-pay{margin-top:18px!important;font-size:.9rem;color:var(--dm-muted)}
.dm-s.dm-sv-svc .dm-sv-pay p{margin:0}
.dm-s.dm-sv-svc .dm-sv-pay strong{color:var(--dm-purple);font-weight:600;font-family:Outfit,sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;margin-right:8px}
.dm-s.dm-sv a.dm-sv-to{font-weight:600;color:var(--dm-pink)!important;text-decoration:none!important;white-space:nowrap}
.dm-s.dm-sv a.dm-sv-to:hover{text-decoration:underline!important}
@media(max-width:980px){.dm-s.dm-sv-svc .dm-sv-name{padding-left:0;padding-top:58px;margin-bottom:22px!important}.dm-s.dm-sv-svc .dm-sv-name:before{font-size:3rem}
 .dm-s.dm-sv-svc .et_pb_row.dm-sv-item{padding:34px 0!important}.dm-s.dm-sv-svc .dm-sv-item>.et_pb_column{margin-bottom:0}}

/* ---- pay monthly (dark section dm-sv-monthly, columns dm-price dm-sv-plan) ---- */
.dm-s.dm-sv-monthly{position:relative;overflow:hidden;overflow:clip;isolation:isolate}
.dm-s.dm-sv-monthly:before{content:"";position:absolute;z-index:-1;width:900px;height:900px;left:50%;top:-300px;margin-left:-450px;border-radius:50%;background:radial-gradient(circle,rgba(176,44,214,.32),transparent 62%);pointer-events:none}
.dm-s.dm-sv .et_pb_column.dm-sv-plan{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#fff;padding:44px;border-radius:28px;transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .45s}
.dm-s.dm-sv .et_pb_column.dm-sv-plan:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.3)}
.dm-s.dm-sv .et_pb_column.dm-sv-plan.dm-sv-plan-b{background:linear-gradient(var(--dm-plum2),var(--dm-plum2)) padding-box,var(--dm-grad) border-box;border:2px solid transparent;box-shadow:0 50px 90px -50px rgba(249,44,139,.7)}
.dm-s.dm-sv .dm-sv-plan .dm-eyebrow{color:var(--dm-soft)}
.dm-s.dm-sv .dm-price h3{font-size:1.7rem}
.dm-s.dm-sv .dm-amt{font:700 clamp(2.4rem,3.6vw,3.2rem)/1 Outfit,sans-serif;letter-spacing:-.03em;margin:18px 0 6px!important}
.dm-s.dm-sv .dm-amt small{font:500 .95rem/1 Poppins,sans-serif;letter-spacing:0;opacity:.7;margin:0 6px}
.dm-s.dm-sv .dm-amt small:first-child{margin-left:0}
.dm-s.dm-sv .dm-price .dm-setup p{margin:0;font-size:.92rem;opacity:.75}
.dm-s.dm-sv .dm-sv-plan .dm-ticks li{color:rgba(255,255,255,.82)}
.dm-s.dm-sv .dm-sv-plan .dm-desc p{opacity:.78}
/* ownership track (Code module dm-sv-track), fills as you scroll */
.dm-s.dm-sv .dm-sv-own{margin-top:56px!important}
.dm-sv-track{position:relative;padding:26px 30px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);font-family:Outfit,sans-serif;--p:1}
.dm-sv-track-h{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:14px}
.dm-sv-track ol{display:grid;grid-template-columns:repeat(24,1fr);gap:5px;list-style:none!important;margin:0!important;padding:0 92px 0 0!important;position:relative}
.dm-sv-track li{height:34px;border-radius:7px;background:rgba(255,255,255,.1);list-style:none;transition:background .4s,transform .4s}
.dm-sv-track li.is-on{background:var(--dm-grad);background-size:2400% 100%}
.dm-sv-track b{position:absolute;right:30px;bottom:26px;height:34px;display:grid;place-items:center;padding:0 16px;border-radius:10px;background:#fff;color:var(--dm-plum);font-size:.95rem;transform:scale(.85);opacity:.35;transition:transform .5s cubic-bezier(.3,1.6,.5,1),opacity .4s}
.dm-sv-track.is-done b{transform:none;opacity:1}
.dm-sv-track:not(.dm-sv-js) li{background:var(--dm-grad)}
.dm-sv-track:not(.dm-sv-js) b{transform:none;opacity:1}
.dm-s.dm-sv .dm-sv-own-txt{margin-top:22px!important}
.dm-s.dm-sv .dm-sv-own-txt p{color:rgba(255,255,255,.72);max-width:none;margin:0}
.dm-s.dm-sv .dm-sv-own-txt strong{color:#fff}
@media(max-width:980px){.dm-s.dm-sv .et_pb_column.dm-sv-plan{padding:34px 26px;margin-bottom:22px}}
@media(max-width:600px){.dm-sv-track{padding:20px 16px}.dm-sv-track ol{grid-template-columns:repeat(12,1fr);padding:0!important}.dm-sv-track li{height:22px;border-radius:5px}.dm-sv-track b{position:static;margin-top:12px;display:inline-grid}}

/* ---- care plans (section dm-sv-care): comparison card ---- */
.dm-s.dm-sv-care .dm-sv-cmpcol{border-radius:28px;background:#fff;border:1px solid var(--dm-line);box-shadow:0 40px 80px -50px rgba(60,0,70,.35);padding:12px 12px 8px;overflow:hidden}
.dm-sv-beat{display:flex;align-items:center;gap:14px;padding:14px 18px 10px;font:600 .72rem/1 Outfit,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-muted)}
.dm-sv-beat svg{flex:1;height:30px;overflow:visible}
.dm-sv-beat path{fill:none;stroke:url(#dmsvg);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:0;animation:dm-sv-beat 3.2s linear infinite}
.dm-sv-beat i{width:8px;height:8px;border-radius:50%;background:#3fc36b;box-shadow:0 0 0 4px rgba(63,195,107,.18);animation:dm-sv-blink 1.6s ease-in-out infinite}
@keyframes dm-sv-beat{from{stroke-dashoffset:840}to{stroke-dashoffset:0}}
@keyframes dm-sv-blink{50%{box-shadow:0 0 0 7px rgba(63,195,107,.05)}}
.dm-s.dm-sv .dm-sv-cmp table{width:100%;border-collapse:separate;border-spacing:0;border:0!important;margin:0!important;font-size:.95rem}
.dm-s.dm-sv .dm-sv-cmp th,.dm-s.dm-sv .dm-sv-cmp td{border:0!important;border-bottom:1px solid var(--dm-line)!important;padding:14px 18px!important;text-align:left;vertical-align:middle;color:var(--dm-muted)}
.dm-s.dm-sv .dm-sv-cmp td:first-child{color:var(--dm-ink)}
.dm-s.dm-sv .dm-sv-cmp tr:last-child td{border-bottom:0!important}
.dm-s.dm-sv .dm-sv-cmp th{vertical-align:bottom;color:var(--dm-ink);font:600 1.15rem/1.2 Outfit,sans-serif;padding-top:20px!important}
.dm-s.dm-sv .dm-sv-cmp th small{display:block;font:500 .72rem/1.3 Outfit,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--dm-muted);margin-bottom:6px}
.dm-s.dm-sv .dm-sv-cmp th em{display:block;font:700 1.6rem/1.1 Outfit,sans-serif;font-style:normal;letter-spacing:-.02em;margin-top:6px}
.dm-s.dm-sv .dm-sv-cmp th em span{display:block;margin-top:4px;font:500 .8rem/1.2 Poppins,sans-serif;color:var(--dm-muted);letter-spacing:0}
.dm-s.dm-sv .dm-sv-cmp th:nth-child(3),.dm-s.dm-sv .dm-sv-cmp td:nth-child(3){background:#fbf3f9}
.dm-s.dm-sv .dm-sv-cmp tr:first-child th:nth-child(3){border-radius:18px 18px 0 0}
.dm-s.dm-sv .dm-sv-cmp tr:last-child td:nth-child(3){border-radius:0 0 18px 18px}
.dm-s.dm-sv .dm-sv-cmp td.y,.dm-s.dm-sv .dm-sv-cmp td.n{text-align:center;width:22%}
.dm-s.dm-sv .dm-sv-cmp th:nth-child(n+2){text-align:center;width:22%}
.dm-s.dm-sv .dm-sv-cmp td.y:before{content:"";display:inline-block;width:14px;height:8px;border-left:2px solid var(--dm-pink);border-bottom:2px solid var(--dm-pink);transform:rotate(-45deg) translateY(-3px)}
.dm-s.dm-sv .dm-sv-cmp td.n:before{content:"";display:inline-block;width:12px;height:2px;background:#d9cfe0;vertical-align:middle}
.dm-s.dm-sv .dm-sv-cmp td b{color:var(--dm-ink);font-weight:600}
.dm-s.dm-sv-care .dm-sv-terms{margin-top:24px!important;padding-left:16px;border-left:2px solid var(--dm-pink)}
.dm-s.dm-sv-care .dm-sv-terms p{font-size:.92rem;color:var(--dm-muted);margin:0}
@media(min-width:981px){.dm-s.dm-sv-care .dm-sv-carecopy{position:sticky;top:110px}}
@media(max-width:600px){.dm-s.dm-sv .dm-sv-cmp table{font-size:.86rem}.dm-s.dm-sv .dm-sv-cmp th,.dm-s.dm-sv .dm-sv-cmp td{padding:12px 8px!important}.dm-s.dm-sv .dm-sv-cmp th{font-size:.95rem}.dm-s.dm-sv .dm-sv-cmp th em{font-size:1.15rem}.dm-s.dm-sv .dm-sv-cmp th em span{display:block}.dm-sv-beat{padding:10px 8px 6px}}

/* ---- SEO band: glass plan cards (columns dm-sv-glass) ---- */
.dm-s.dm-sv-seo .dm-sv-seo-row{margin-top:56px!important}
.dm-s.dm-sv .et_pb_column.dm-sv-glass{position:relative;padding:40px;border-radius:28px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .45s}
.dm-s.dm-sv .et_pb_column.dm-sv-glass:hover{transform:translateY(-6px);background:rgba(255,255,255,.18)}
.dm-s.dm-sv .dm-sv-glass .dm-eyebrow{color:rgba(255,255,255,.85)}
.dm-s.dm-sv .dm-sv-glass .dm-ticks li{color:rgba(255,255,255,.9)}
.dm-s.dm-sv .dm-sv-glass .dm-ticks li:before{border-color:#fff}
.dm-s.dm-sv .dm-sv-glass .dm-desc p{opacity:.85}
.dm-s.dm-sv-seo .dm-sv-promise p{font:600 clamp(1.15rem,1.6vw,1.4rem)/1.4 Outfit,sans-serif;color:#fff;max-width:30ch;margin:0}
.dm-s.dm-sv-seo .dm-sv-promise{margin-top:22px!important;padding-top:22px;border-top:1px solid rgba(255,255,255,.3)}
.dm-s.dm-sv-seo .dm-sv-note p{color:rgba(255,255,255,.82);font-size:.88rem;margin:0}
.dm-s.dm-sv-seo .dm-sv-note{margin-top:26px!important}
@media(max-width:980px){.dm-s.dm-sv .et_pb_column.dm-sv-glass{padding:32px 24px;margin-bottom:20px}}

/* ---- one-off builds: a rising staircase (row dm-sv-stairs) ---- */
.dm-s.dm-sv-builds .dm-sv-stairs{position:relative}
@media(min-width:981px){
 .dm-s.dm-sv-builds .dm-sv-stairs>.et_pb_column:nth-child(1){margin-top:120px}
 .dm-s.dm-sv-builds .dm-sv-stairs>.et_pb_column:nth-child(2){margin-top:80px}
 .dm-s.dm-sv-builds .dm-sv-stairs>.et_pb_column:nth-child(3){margin-top:40px}
 .dm-s.dm-sv-builds .dm-sv-stairs:before{content:"";position:absolute;left:4%;right:4%;top:20px;height:120px;background:linear-gradient(to top right,transparent calc(50% - 1px),rgba(249,44,139,.35) 50%,transparent calc(50% + 1px));pointer-events:none}
}
.dm-s.dm-sv-builds .et_pb_column.dm-price{padding:34px 30px;border-radius:24px;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.dm-s.dm-sv-builds .et_pb_column.dm-price:hover{transform:translateY(-8px);box-shadow:0 40px 70px -40px rgba(60,0,70,.45)}
.dm-s.dm-sv-builds .et_pb_column.dm-price.dm-feat{transform:none}
.dm-s.dm-sv-builds .et_pb_column.dm-price.dm-feat:hover{transform:translateY(-8px)}
.dm-s.dm-sv-builds .dm-price .dm-amt{font-size:clamp(2rem,2.6vw,2.5rem)}
.dm-s.dm-sv-builds .dm-sv-custom .dm-amt{font-size:1.7rem}
.dm-s.dm-sv-seo .dm-sv-glass .dm-amt{font-size:clamp(2rem,2.8vw,2.6rem);color:#fff}
.dm-s.dm-sv-builds .dm-sv-step p{margin:0;font:700 .8rem/1 Outfit,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--dm-purple);display:flex;justify-content:space-between;align-items:center;gap:10px}
.dm-s.dm-sv-builds .dm-feat .dm-sv-step p{color:var(--dm-soft)}
.dm-s.dm-sv-builds .dm-sv-step span{padding:6px 10px;border-radius:999px;background:var(--dm-grad);color:#fff;letter-spacing:.08em;font-size:.68rem}
.dm-s.dm-sv-builds .dm-sv-step{margin-bottom:22px!important}
.dm-s.dm-sv-builds .dm-sv-for p{font-size:.92rem;margin:0 0 4px}
.dm-s.dm-sv-builds .dm-price .dm-ticks li{font-size:.92rem;padding:5px 0 5px 28px}
.dm-s.dm-sv-builds .dm-price .dm-ticks li:before{top:11px}
.dm-s.dm-sv-builds .dm-sv-time p{margin:0 0 22px;font-size:.85rem;font-weight:600;color:var(--dm-ink)}
.dm-s.dm-sv-builds .dm-feat .dm-sv-time p{color:#fff}
.dm-s.dm-sv-builds .dm-price .et_pb_button.dm-btn-line{color:var(--dm-plum)!important;border:1.5px solid var(--dm-line)!important;background:transparent!important}
.dm-s.dm-sv-builds .dm-price .et_pb_button.dm-btn-line:hover{border-color:var(--dm-pink)!important}
.dm-s.dm-sv-builds .dm-sv-custom{background:var(--dm-bg)!important;border-style:dashed!important;border-color:#d9c8e3!important}
/* what's in the price */
.dm-s.dm-sv-builds .dm-sv-print{margin-top:80px!important}
.dm-s.dm-sv-builds .dm-sv-print>.et_pb_column{border-radius:24px;padding:34px;background:var(--dm-bg);border:1px solid var(--dm-line)}
.dm-s.dm-sv-builds .dm-sv-print h3{font-size:1.25rem;display:flex;align-items:center;gap:12px}
.dm-s.dm-sv-builds .dm-sv-print h3:before{content:"";flex:none;width:34px;height:34px;border-radius:10px;background:var(--dm-grad)}
.dm-s.dm-sv-builds .dm-sv-print p{color:var(--dm-muted);margin:0}
.dm-s.dm-sv-builds .dm-sv-small{margin-top:28px!important}
.dm-s.dm-sv-builds .dm-sv-small p{font-size:.88rem;color:var(--dm-muted);max-width:none;margin:0}
@media(max-width:980px){.dm-s.dm-sv-builds .et_pb_column.dm-price{margin-bottom:22px}.dm-s.dm-sv-builds .dm-sv-print{margin-top:40px!important}.dm-s.dm-sv-builds .dm-sv-print>.et_pb_column{margin-bottom:18px;padding:28px 24px}}

/* ---- recent work (section dm-sv-work, reuses the case study stage) ---- */
.dm-s.dm-sv-work .dm-sv-score p{display:flex;align-items:baseline;gap:14px;margin:0;font-family:Outfit,sans-serif}
.dm-s.dm-sv-work .dm-sv-score s{font:600 2rem/1 Outfit,sans-serif;color:#b8a9c2;text-decoration-thickness:2px}
.dm-s.dm-sv-work .dm-sv-score strong{font:700 clamp(4rem,7vw,6rem)/.9 Outfit,sans-serif;letter-spacing:-.04em;background:var(--dm-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.dm-s.dm-sv-work .dm-sv-score em{font-style:normal;font-size:.92rem;color:var(--dm-muted);max-width:16ch;line-height:1.35}
.dm-s.dm-sv-work .dm-sv-score{margin:30px 0 34px!important;padding:24px 0;border-top:1px solid var(--dm-line);border-bottom:1px solid var(--dm-line)}
.dm-s.dm-sv-work .et_pb_button.dm-btn-line{color:var(--dm-plum)!important;border:1.5px solid #d9c8e3!important;background:transparent!important}
.dm-s.dm-sv-work .et_pb_button.dm-btn-line:hover{border-color:var(--dm-pink)!important}
.dm-s.dm-sv-work .dm-cs-stage{padding:40px 0 60px 12%}
.dm-s.dm-sv-work .dm-cs-browser{box-shadow:0 60px 110px -50px rgba(60,0,70,.75),0 0 0 1px var(--dm-line)}
@media(max-width:980px){.dm-s.dm-sv-work .dm-cs-stage{margin-top:30px}}

/* ---- how it works: 4 steps (row dm-tl dm-htl) ---- */
.dm-s.dm-sv .dm-htl.is-on>.et_pb_column:nth-child(4) .dm-st,.dm-s.dm-sv .dm-htl.is-on>.et_pb_column:nth-child(4) .dm-st:before{transition-delay:1.8s}

/* ---- final CTA ---- */
.dm-s.dm-sv-end .dm-cta h2{max-width:18ch;margin-bottom:18px}
.dm-s.dm-sv-end .dm-cta .dm-sv-alt{margin-top:18px!important}
.dm-s.dm-sv-end .dm-cta .dm-sv-alt p{font-size:.9rem;color:rgba(255,255,255,.65);margin:0}
.dm-s.dm-sv-end .dm-cta .dm-sv-alt a{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:var(--dm-pink)!important}
@media(min-width:981px){.dm-s.dm-sv-end .dm-cta .dm-sv-act{text-align:right}}

@media(prefers-reduced-motion:reduce){
 .dm-svx *,.dm-sv-beat *,.dm-s.dm-sv-svc .dm-sv-item:after{animation:none!important;transition:none!important}
 .dm-svx-card,.dm-sv-track li,.dm-sv-track b,.dm-s.dm-sv .et_pb_column{transition:none!important}
 .dm-s.dm-sv .dm-sv-plan:hover,.dm-s.dm-sv .dm-sv-glass:hover,.dm-s.dm-sv-builds .dm-price:hover{transform:none}
}
/* ===================== end Damson v8.6 ===================== */

/* ===================== Damson v8.7 (Gravity Forms: Contact + Free Health Check, 1.1.4) =====================
   Gravity Forms 3.x forms with CSS class "dm-gf dm-gf--contact" / "dm-gf dm-gf--hc". GF puts those on the <form>
   and adds "dm-gf_wrapper" to the .gform_wrapper (and to the confirmation wrapper after an AJAX submit).
   Same look as the Divi contact form (.dm-form) above: Outfit labels, 12px fields, pink focus ring, gradient pill button.
   Works with the Orbital theme (gform-theme--framework, --gf-* variables) and the legacy gravity-theme.
   Everything is scoped to .dm-gf_wrapper / .dm-gf. No has() selectors. */

/* ---- Orbital variables (beat GF's per-form inline style block, hence !important) ---- */
.gform_wrapper.dm-gf_wrapper,.dm-gf_wrapper .dm-gf{
 --gf-color-primary:#f92c8b!important;--gf-color-primary-rgb:249,44,139!important;--gf-color-primary-contrast:#fff!important;
 --gf-color-in-ctrl:#fdfbfe!important;--gf-color-in-ctrl-contrast:#1a1220!important;--gf-color-in-ctrl-dark:#5d5466!important;
 --gf-ctrl-bg-color:#fdfbfe!important;--gf-ctrl-bg-color-hover:#fdfbfe!important;--gf-ctrl-bg-color-focus:#fff!important;
 --gf-ctrl-border-color:#ece6f0!important;--gf-ctrl-border-color-hover:#dccfe4!important;--gf-ctrl-border-color-focus:#f92c8b!important;
 --gf-ctrl-color:#1a1220!important;--gf-ctrl-color-focus:#1a1220!important;
 --gf-ctrl-radius:12px!important;--gf-radius:12px!important;--gf-ctrl-shadow:none!important;
 --gf-ctrl-outline-color-focus:rgba(249,44,139,.13)!important;--gf-ctrl-outline-width-focus:4px!important;
 --gf-ctrl-label-color-primary:#1a1220!important;--gf-ctrl-label-color-req:#f92c8b!important;
 --gf-ctrl-desc-color:#5d5466!important;--gf-color-danger:#c4213b!important;--gf-color-danger-rgb:196,33,59!important;
 --gf-font-family-base:Poppins,system-ui,sans-serif!important;--gf-font-family-primary:Poppins,system-ui,sans-serif!important;--gf-font-family-secondary:Outfit,Poppins,sans-serif!important;
 --gf-form-gap-x:16px!important;--gf-form-gap-y:18px!important;
 --gf-ctrl-btn-radius:999px!important;--gf-ctrl-btn-bg-color-primary:#ff6347!important;--gf-ctrl-btn-color-primary:#fff!important;
 --dm-gf-err:#c4213b;--dm-gf-err-bg:#fff4f6;--dm-gf-err-line:#f4c3cc}

/* ---- wrapper + layout ---- */
.gform_wrapper.dm-gf_wrapper{margin:0!important;padding:0!important;max-width:none!important;font-family:Poppins,system-ui,sans-serif;color:var(--dm-ink);line-height:1.5;font-size:16px}
.dm-gf_wrapper *,.dm-gf_wrapper *:before,.dm-gf_wrapper *:after{box-sizing:border-box}
.dm-gf_wrapper .gform_heading{display:none}
.dm-gf_wrapper .dm-gf{margin:0!important;padding:0!important}
.dm-gf_wrapper .dm-gf .gform_body,.dm-gf_wrapper .dm-gf .gform-body{margin:0!important;padding:0!important}
.dm-gf_wrapper .dm-gf .gform_fields{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;column-gap:16px!important;row-gap:18px!important;margin:0!important;padding:0!important;list-style:none!important;width:100%!important}
.dm-gf_wrapper .dm-gf .gfield{grid-column:1/-1;margin:0!important;padding:0!important;min-width:0;border:0;max-width:none!important;width:auto!important}
.dm-gf_wrapper .dm-gf .gfield.gfield--width-half,.dm-gf_wrapper .dm-gf .gfield.dm-field--half{grid-column:span 6}
@media(max-width:640px){.dm-gf_wrapper .dm-gf .gfield.gfield--width-half,.dm-gf_wrapper .dm-gf .gfield.dm-field--half{grid-column:1/-1}}
/* honeypot: never visible */
.dm-gf_wrapper .gform_validation_container,.dm-gf_wrapper .gfield--type-honeypot{display:none!important;position:absolute!important;left:-9999px!important}

/* ---- labels ---- */
.dm-gf_wrapper .dm-gf .gfield_label,.dm-gf_wrapper .dm-gf .gform-field-label:not(.gform-field-label--type-sub):not(.gform-field-label--type-inline),.dm-gf_wrapper .dm-gf legend.gfield_label{display:block!important;font:600 .85rem/1.3 Outfit,Poppins,sans-serif!important;color:var(--dm-ink)!important;letter-spacing:0!important;margin:0 0 6px!important;padding:0!important;transition:color .25s}
.dm-gf_wrapper .dm-gf .gfield:focus-within .gfield_label{color:var(--dm-pink)!important}
.dm-gf_wrapper .dm-gf .gfield_required,.dm-gf_wrapper .dm-gf .gfield_required_asterisk{color:var(--dm-pink)!important;font-weight:600!important;font-size:1em!important;margin-left:3px!important;padding:0!important}
.dm-gf_wrapper .dm-gf .gfield_required .gfield_required{margin-left:0!important}
.dm-gf_wrapper .dm-gf .gfield_description:not(.validation_message){font-size:.82rem!important;line-height:1.45!important;color:var(--dm-muted)!important;padding:6px 0 0!important;margin:0!important}
.dm-gf_wrapper .dm-gf .ginput_container{margin:0!important;padding:0!important}

/* ---- inputs, select, textarea (same values as .dm-form) ---- */
.dm-gf_wrapper .dm-gf .gfield input[type=text],.dm-gf_wrapper .dm-gf .gfield input[type=email],.dm-gf_wrapper .dm-gf .gfield input[type=tel],.dm-gf_wrapper .dm-gf .gfield input[type=url],.dm-gf_wrapper .dm-gf .gfield input[type=number],.dm-gf_wrapper .dm-gf .gfield select,.dm-gf_wrapper .dm-gf .gfield textarea{display:block;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;font-family:Poppins,system-ui,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important;padding:14px 16px!important;border-radius:12px!important;border:1px solid var(--dm-line)!important;background-color:#fdfbfe!important;color:var(--dm-ink)!important;box-shadow:none!important;outline:0!important;-webkit-appearance:none;appearance:none;transition:border-color .25s,box-shadow .25s,background-color .25s!important}
.dm-gf_wrapper .dm-gf .gfield textarea{min-height:130px!important;resize:vertical}
.dm-gf_wrapper .dm-gf .gfield input::placeholder,.dm-gf_wrapper .dm-gf .gfield textarea::placeholder{color:#9b91a4!important;opacity:1!important}
.dm-gf_wrapper .dm-gf .gfield input[type=text]:hover,.dm-gf_wrapper .dm-gf .gfield input[type=email]:hover,.dm-gf_wrapper .dm-gf .gfield input[type=tel]:hover,.dm-gf_wrapper .dm-gf .gfield input[type=url]:hover,.dm-gf_wrapper .dm-gf .gfield select:hover,.dm-gf_wrapper .dm-gf .gfield textarea:hover{border-color:#dccfe4!important}
.dm-gf_wrapper .dm-gf .gfield input[type=text]:focus,.dm-gf_wrapper .dm-gf .gfield input[type=email]:focus,.dm-gf_wrapper .dm-gf .gfield input[type=tel]:focus,.dm-gf_wrapper .dm-gf .gfield input[type=url]:focus,.dm-gf_wrapper .dm-gf .gfield input[type=number]:focus,.dm-gf_wrapper .dm-gf .gfield select:focus,.dm-gf_wrapper .dm-gf .gfield textarea:focus{outline:0!important;border-color:var(--dm-pink)!important;background-color:#fff!important;box-shadow:0 0 0 4px rgba(249,44,139,.13),0 8px 22px -12px rgba(249,44,139,.45)!important}
/* dropdown: own chevron, the placeholder option reads as a placeholder */
.dm-gf_wrapper .dm-gf .gfield select{padding-right:46px!important;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5l5.5 5.5 5.5-5.5' fill='none' stroke='%235d5466' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 18px center!important;background-size:14px 9px!important}
.dm-gf_wrapper .dm-gf .gfield select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5l5.5 5.5 5.5-5.5' fill='none' stroke='%23f92c8b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
.dm-gf_wrapper .dm-gf .gfield select::-ms-expand{display:none}
.dm-gf_wrapper .dm-gf .gfield select option{color:var(--dm-ink)}
.dm-gf_wrapper .dm-gf .gfield select option.gf_placeholder{color:#9b91a4}

/* phone (GF 3 international): country button joins the input */
.dm-gf_wrapper .dm-gf .gform-phone__input-wrapper{gap:0!important}
.dm-gf_wrapper .dm-gf .gfield--type-phone button.gform-phone__country-selector{height:auto!important;min-height:0!important;padding:0 12px!important;margin:0 -1px 0 0!important;border:1px solid var(--dm-line)!important;border-radius:12px 0 0 12px!important;background-color:#f6f1f8!important;color:var(--dm-ink)!important;box-shadow:none!important;font:500 15px/1 Poppins,system-ui,sans-serif!important;gap:8px!important;transition:border-color .25s,background-color .25s!important}
.dm-gf_wrapper .dm-gf .gfield--type-phone button.gform-phone__country-selector:hover{background-color:#fff!important;border-color:#dccfe4!important}
.dm-gf_wrapper .dm-gf .gfield--type-phone button.gform-phone__country-selector:focus-visible,.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone--open button.gform-phone__country-selector{outline:0!important;border-color:var(--dm-pink)!important;background-color:#fff!important;box-shadow:0 0 0 4px rgba(249,44,139,.13)!important;z-index:3}
.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__input-wrapper input.gform-phone__input,.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__input-wrapper input[type=tel]{border-radius:0 12px 12px 0!important}
.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__dropdown{border:1px solid var(--dm-line)!important;border-radius:14px!important;box-shadow:0 24px 50px -24px rgba(60,10,70,.4)!important;margin-top:6px!important}
.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__search-wrapper input[type=text]{padding-left:36px!important;background-position:10px center!important;background-size:18px!important}
.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__country-item{font-family:Poppins,system-ui,sans-serif!important;font-size:14px!important}
.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__country-item--focused,.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__country-item:hover{background-color:#fff0f7!important}
.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__country-item--active{background-color:#fff0f7!important;box-shadow:inset 3px 0 0 var(--dm-pink)!important}

/* ---- privacy note (HTML field) ---- */
.dm-gf_wrapper .dm-gf .gfield.dm-field--privacy{margin-top:-2px!important}
.dm-gf_wrapper .dm-gf .dm-gf-privacy{position:relative;margin:0!important;padding:0 0 0 24px!important;font-size:.82rem!important;line-height:1.5!important;color:var(--dm-muted)!important}
.dm-gf_wrapper .dm-gf .dm-gf-privacy:before{content:"";position:absolute;left:0;top:.2em;width:15px;height:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b02cd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2.5'/%3E%3Cpath d='M8 11V7.5a4 4 0 0 1 8 0V11'/%3E%3C/svg%3E") no-repeat center/contain}
.dm-gf_wrapper .dm-gf .dm-gf-privacy a{color:var(--dm-purple)!important;text-decoration:underline!important}

/* ---- footer + submit (same pill as .dm-btn-primary / .dm-form submit; GF 3 uses <button>, older GF <input>) ---- */
.dm-gf_wrapper .dm-gf .gform_footer,.dm-gf_wrapper .dm-gf .gform-footer{display:flex!important;flex-wrap:wrap;align-items:center;gap:16px;margin:24px 0 0!important;padding:0!important;border:0!important}
.dm-gf_wrapper .dm-gf .gform_footer .gform_button,.dm-gf_wrapper .dm-gf .gform-footer .gform_button,.dm-gf_wrapper .dm-gf .gform_footer button[type=submit],.dm-gf_wrapper .dm-gf .gform_footer input[type=submit]{position:relative;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;width:auto!important;min-height:0!important;height:auto!important;margin:0!important;padding:15px 28px!important;border-radius:999px!important;border:0!important;font-family:Outfit,Poppins,sans-serif!important;font-weight:600!important;font-size:.98rem!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;color:#fff!important;background:#ff6347 linear-gradient(120deg,#ff6347,#f92c8b 50%,#b02cd6)!important;box-shadow:0 10px 30px -10px rgba(249,44,139,.6)!important;cursor:pointer;-webkit-appearance:none;appearance:none;transition:transform .25s,box-shadow .25s,filter .25s,opacity .25s!important}
.dm-gf_wrapper .dm-gf .gform_footer .gform_button:hover,.dm-gf_wrapper .dm-gf .gform_footer button[type=submit]:hover,.dm-gf_wrapper .dm-gf .gform_footer input[type=submit]:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(249,44,139,.75)!important;filter:saturate(1.08)}
.dm-gf_wrapper .dm-gf .gform_footer .gform_button:active,.dm-gf_wrapper .dm-gf .gform_footer button[type=submit]:active,.dm-gf_wrapper .dm-gf .gform_footer input[type=submit]:active{transform:translateY(0) scale(.98)}
.dm-gf_wrapper .dm-gf .gform_footer .gform_button:focus-visible,.dm-gf_wrapper .dm-gf .gform_footer button[type=submit]:focus-visible,.dm-gf_wrapper .dm-gf .gform_footer input[type=submit]:focus-visible{outline:2px solid var(--dm-pink)!important;outline-offset:3px!important}
.dm-gf_wrapper .dm-gf .gform_footer .gform_button:before,.dm-gf_wrapper .dm-gf .gform_footer .gform_button:after{display:none}
/* while submitting: GF 3 adds gform-has-spinner and puts its loader inside the button; GF 2.x shows an img next to it */
.dm-gf_wrapper .dm-gf .gform_footer .gform-has-spinner,.dm-gf_wrapper .dm-gf .gform_footer .gform_button[disabled]{opacity:.85;transform:none!important;cursor:progress}
.dm-gf_wrapper .dm-gf .gform_footer .gform-loader{width:16px!important;height:16px!important;margin:0!important;border-width:2px!important;border-color:rgba(255,255,255,.35)!important;border-top-color:#fff!important}
.dm-gf_wrapper .dm-gf .gform_footer img.gform_ajax_spinner{width:18px;height:18px}
@media(max-width:420px){.dm-gf_wrapper .dm-gf .gform_footer .gform_button,.dm-gf_wrapper .dm-gf .gform_footer button[type=submit],.dm-gf_wrapper .dm-gf .gform_footer input[type=submit]{width:100%!important}}

/* ---- errors ---- */
.dm-gf_wrapper .gform_validation_errors{margin:0 0 22px!important;padding:14px 18px!important;border:1px solid var(--dm-gf-err-line)!important;border-radius:14px!important;background:var(--dm-gf-err-bg)!important;box-shadow:none!important;text-align:left!important}
.dm-gf_wrapper .gform_validation_errors .gform_submission_error,.dm-gf_wrapper .gform_validation_errors h2{display:flex!important;align-items:flex-start;gap:10px;margin:0!important;padding:0!important;font:600 .92rem/1.45 Outfit,Poppins,sans-serif!important;color:var(--dm-gf-err)!important;letter-spacing:0!important}
.dm-gf_wrapper .gform_validation_errors .gform-icon{display:none!important}
.dm-gf_wrapper .gform_validation_errors .gform_submission_error:before{content:"!"!important;flex:none;display:grid!important;position:static!important;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:50%;background:var(--dm-gf-err);color:#fff;font:700 12px/1 Outfit,sans-serif}
.dm-gf_wrapper .gform_validation_errors ol,.dm-gf_wrapper .gform_validation_errors ul{margin:8px 0 0 30px!important;padding:0!important;font-size:.85rem!important;color:var(--dm-gf-err)!important}
.dm-gf_wrapper .gform_validation_errors a{color:inherit!important;text-decoration:underline!important}
.dm-gf_wrapper .dm-gf .gfield.gfield_error{background:none!important;border:0!important;padding:0!important}
.dm-gf_wrapper .dm-gf .gfield_error .gfield_label{color:var(--dm-gf-err)!important}
.dm-gf_wrapper .dm-gf .gfield_error input[type=text],.dm-gf_wrapper .dm-gf .gfield_error input[type=email],.dm-gf_wrapper .dm-gf .gfield_error input[type=tel],.dm-gf_wrapper .dm-gf .gfield_error input[type=url],.dm-gf_wrapper .dm-gf .gfield_error select,.dm-gf_wrapper .dm-gf .gfield_error textarea,.dm-gf_wrapper .dm-gf .gfield input[aria-invalid=true],.dm-gf_wrapper .dm-gf .gfield textarea[aria-invalid=true],.dm-gf_wrapper .dm-gf .gfield select[aria-invalid=true]{border-color:var(--dm-gf-err)!important;background-color:var(--dm-gf-err-bg)!important}
.dm-gf_wrapper .dm-gf .gfield_error input:focus,.dm-gf_wrapper .dm-gf .gfield_error select:focus,.dm-gf_wrapper .dm-gf .gfield_error textarea:focus{background-color:#fff!important;box-shadow:0 0 0 4px rgba(196,33,59,.12)!important}
.dm-gf_wrapper .dm-gf .gfield_error .gform-phone__country-selector{border-color:var(--dm-gf-err)!important}
.dm-gf_wrapper .dm-gf .validation_message,.dm-gf_wrapper .dm-gf .gfield_validation_message{display:flex!important;align-items:center;gap:7px;margin:7px 0 0!important;padding:0!important;border:0!important;background:none!important;font:500 .8rem/1.35 Poppins,system-ui,sans-serif!important;color:var(--dm-gf-err)!important}
.dm-gf_wrapper .dm-gf .validation_message:before,.dm-gf_wrapper .dm-gf .gfield_validation_message:before{content:"!";flex:none;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--dm-gf-err);color:#fff;font:700 10px/1 Outfit,sans-serif}

/* ---- confirmation: friendly success panel (message wraps itself in .dm-gf-confirm) ---- */
.dm-gf_wrapper.gform_confirmation_wrapper,.gform_confirmation_wrapper.dm-gf_wrapper{margin:0!important;padding:0!important}
.dm-gf_wrapper .gform_confirmation_message{margin:0!important;padding:0!important;border:0!important;background:none!important;font-family:Poppins,system-ui,sans-serif;color:var(--dm-ink)}
.dm-gf-confirm{position:relative;overflow:hidden;padding:30px 30px 30px 92px;border-radius:20px;border:1.5px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(140deg,rgba(255,99,71,.55),rgba(249,44,139,.4) 45%,rgba(176,44,214,.55)) border-box;box-shadow:0 30px 60px -40px rgba(60,10,70,.45);font:600 1.12rem/1.45 Outfit,Poppins,sans-serif;color:var(--dm-ink);letter-spacing:-.005em;animation:dm-gf-in .55s cubic-bezier(.2,.8,.2,1) both}
.dm-gf-confirm:before{content:"";position:absolute;left:28px;top:28px;width:44px;height:44px;border-radius:50%;background:#ff6347 var(--dm-grad);box-shadow:0 10px 24px -10px rgba(249,44,139,.7)}
.dm-gf-confirm:after{content:"";position:absolute;left:43px;top:42px;width:15px;height:8px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg);animation:dm-gf-tick .45s .25s cubic-bezier(.2,.9,.3,1.4) both}
.dm-gf-confirm p{margin:0!important;font:inherit}
.dm-gf-confirm a{color:var(--dm-purple);text-decoration:underline}
@keyframes dm-gf-in{from{opacity:0;transform:translateY(12px) scale(.98)}}
@keyframes dm-gf-tick{from{transform:rotate(-45deg) scale(0)}}
@media(max-width:600px){.dm-gf-confirm{padding:84px 22px 24px;font-size:1.02rem}.dm-gf-confirm:before{left:22px;top:22px}.dm-gf-confirm:after{left:37px;top:36px}}

/* ---- reduced motion ---- */
@media(prefers-reduced-motion:reduce){
 .dm-gf-confirm,.dm-gf-confirm:after{animation:none!important}
 .dm-gf_wrapper .dm-gf .gfield input,.dm-gf_wrapper .dm-gf .gfield select,.dm-gf_wrapper .dm-gf .gfield textarea,.dm-gf_wrapper .dm-gf .gform_footer .gform_button,.dm-gf_wrapper .dm-gf .gform_footer button[type=submit]{transition:none!important}
 .dm-gf_wrapper .dm-gf .gform_footer .gform_button:hover,.dm-gf_wrapper .dm-gf .gform_footer button[type=submit]:hover{transform:none}
}
/* ===================== end Damson v8.7 ===================== */

/* ===================== Damson v8.7b: Gravity Forms progress meter (plugin 1.1.5) ===================== */
/* The Text module that holds the shortcode has class dm-gf-host (not dm-form, so the old Divi-form rules and the
   v8.3 meter script leave it alone). Ticks, ready glow and "Sent" state for the 1.1.5 meter script. No has(). */
.dm-s .dm-gf-host{margin-bottom:0!important}
.dm-s .dm-gf-host p:empty{display:none}
.dm-gf_wrapper .dm-gf .gfield.is-done .gfield_label:after{content:"";display:inline-block;width:9px;height:5px;margin:0 0 3px 9px;border-left:2px solid #22a861;border-bottom:2px solid #22a861;transform:rotate(-45deg);animation:dm-tick .35s cubic-bezier(.2,.9,.3,1.4)}
.dm-gf_wrapper .dm-gf.is-ready .gform_footer .gform_button:not(:hover),.dm-gf_wrapper .dm-gf.is-ready .gform_footer button[type=submit]:not(:hover),.dm-gf_wrapper .dm-gf.is-ready .gform_footer input[type=submit]:not(:hover){box-shadow:0 14px 34px -10px rgba(249,44,139,.85)!important}
.dm-fp.is-sent .dm-fp-n{color:#22a861;font-weight:600}
@media(prefers-reduced-motion:reduce){.dm-gf_wrapper .dm-gf .gfield.is-done .gfield_label:after{animation:none}}
/* ===================== end Damson v8.7b ===================== */

/* ===================== Damson v8.7c: compact Gravity Forms (plugin 1.1.6) ===================== */
/* Tighter vertical rhythm for the Contact (form 3) and Free Health Check (form 4) GF forms. Same look, less height:
   ~40% smaller gaps between fields, 46px controls, shorter message box, tighter footer / privacy / confirmation.
   Inputs stay 16px (no iOS zoom). Half-width pairs still sit side by side on desktop and stack under 640px.
   Orbital variables set to the same numbers so GF's own spacing never fights ours. Scoped to .dm-gf_wrapper / .dm-gf. No has(). */
.gform_wrapper.dm-gf_wrapper,.dm-gf_wrapper .dm-gf{
 --gf-form-gap-x:16px!important;--gf-form-gap-y:11px!important;--gf-field-gap-x:12px!important;--gf-field-gap-y:8px!important;
 --gf-ctrl-size:46px!important;--gf-ctrl-size-md:46px!important;--gf-ctrl-padding-x:14px!important;--gf-ctrl-padding-y:0px!important;
 --gf-ctrl-btn-size:44px!important;--gf-ctrl-textarea-height:96px!important;
 --gf-label-space-primary:4px!important;--gf-desc-space:4px!important;--gf-form-footer-margin-y-start:16px!important}
.dm-gf_wrapper .dm-gf .gform_fields{row-gap:11px!important;column-gap:16px!important}
.dm-gf_wrapper .dm-gf .gfield_label,.dm-gf_wrapper .dm-gf .gform-field-label:not(.gform-field-label--type-sub):not(.gform-field-label--type-inline),.dm-gf_wrapper .dm-gf legend.gfield_label{margin:0 0 4px!important}
.dm-gf_wrapper .dm-gf .gfield_description:not(.validation_message){padding:4px 0 0!important}
/* 46px controls: 10px + 24px line + 10px + 2px border */
.dm-gf_wrapper .dm-gf .gfield input[type=text],.dm-gf_wrapper .dm-gf .gfield input[type=email],.dm-gf_wrapper .dm-gf .gfield input[type=tel],.dm-gf_wrapper .dm-gf .gfield input[type=url],.dm-gf_wrapper .dm-gf .gfield input[type=number],.dm-gf_wrapper .dm-gf .gfield select,.dm-gf_wrapper .dm-gf .gfield textarea{font-size:16px!important;line-height:24px!important;padding:10px 14px!important}
.dm-gf_wrapper .dm-gf .gfield select{padding-right:44px!important;background-position:right 16px center!important}
/* message box: GF prints rows="10", so set the height outright; it can still be dragged taller */
.dm-gf_wrapper .dm-gf .gfield textarea{height:96px!important;min-height:96px!important;resize:vertical}
.dm-gf_wrapper .dm-gf .gfield--type-phone .gform-phone__search-wrapper input[type=text]{padding-left:36px!important}
/* privacy note + footer */
.dm-gf_wrapper .dm-gf .gfield.dm-field--privacy{margin-top:-1px!important}
.dm-gf_wrapper .dm-gf .dm-gf-privacy{line-height:1.45!important}
.dm-gf_wrapper .dm-gf .gform_footer,.dm-gf_wrapper .dm-gf .gform-footer{margin:16px 0 0!important}
.dm-gf_wrapper .dm-gf .gform_footer .gform_button,.dm-gf_wrapper .dm-gf .gform-footer .gform_button,.dm-gf_wrapper .dm-gf .gform_footer button[type=submit],.dm-gf_wrapper .dm-gf .gform_footer input[type=submit]{padding:13px 26px!important}
/* errors */
.dm-gf_wrapper .gform_validation_errors{margin:0 0 14px!important;padding:12px 16px!important}
.dm-gf_wrapper .dm-gf .validation_message,.dm-gf_wrapper .dm-gf .gfield_validation_message{margin:5px 0 0!important}
/* confirmation panel */
.dm-gf-confirm{padding:22px 24px 22px 80px}
.dm-gf-confirm:before{left:22px;top:50%;width:40px;height:40px;margin-top:-20px}
.dm-gf-confirm:after{left:35px;top:50%;width:14px;height:7px;margin-top:-6px}
@media(max-width:600px){.dm-gf-confirm{padding:70px 20px 20px}.dm-gf-confirm:before{left:20px;top:18px;margin-top:0}.dm-gf-confirm:after{left:33px;top:31px;margin-top:0}}
/* the card around the form: a little less padding, meter a little closer to the first field */
.dm-s .et_pb_column.dm-formcard{padding:36px 38px 34px}
.dm-s .dm-formcard .dm-fp-code{margin-bottom:20px!important}
@media(max-width:600px){.dm-s .et_pb_column.dm-formcard{padding:24px 18px 22px}.dm-s .dm-formcard .dm-fp-code{margin-bottom:18px!important}}
/* ===================== end Damson v8.7c ===================== */
/* ===== Damson v8.8 legal pages (plugin 1.1.7). Scoped to .dm-lg-hero / .dm-lg. No has() selectors. ===== */
.dm-s.dm-lg-hero.dm-sub{padding-bottom:64px}
.dm-s.dm-lg-hero h1{font-size:clamp(2.3rem,5vw,3.5rem);max-width:none}
.dm-s.dm-lg-hero .dm-lead p{margin:18px 0 0;max-width:none;font-size:1.12rem}
.dm-s.dm-lg-hero .dm-lg-meta,.dm-s.dm-lg-hero .dm-lg-meta p{margin:22px 0 0!important;font-size:.88rem;color:rgba(255,255,255,.6)}
.dm-s.dm-lg{color:var(--dm-ink);font-size:1.0625rem;line-height:1.75}
.dm-s.dm-lg .dm-lg-row{width:90%!important;max-width:760px!important}
.dm-s.dm-lg .et_pb_text,.dm-s.dm-lg .et_pb_text p,.dm-s.dm-lg .et_pb_text li,.dm-s.dm-lg .et_pb_text td{color:var(--dm-ink)}
.dm-s .dm-lg-toc{background:var(--dm-bg);border:1px solid var(--dm-line);border-radius:14px;padding:22px 26px 16px;margin-bottom:56px!important}
.dm-s .dm-lg-toc .dm-lg-toc-h{font:600 .74rem/1 Outfit,Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--dm-purple);margin:0 0 14px}
.dm-s .dm-lg-toc ol{columns:2;column-gap:36px;margin:0;padding:0 0 0 1.3em;font-size:.94rem;line-height:1.45}
.dm-s .dm-lg-toc li{break-inside:avoid;margin:0 0 8px;padding:0}
.dm-s .dm-lg-toc li::marker{color:var(--dm-muted)}
.dm-s .dm-lg-toc a{text-decoration:none;color:var(--dm-ink)}
.dm-s .dm-lg-toc a:hover,.dm-s .dm-lg-toc a:focus-visible{color:var(--dm-purple);text-decoration:underline;text-underline-offset:3px}
.dm-s .dm-lg-sec{margin-bottom:44px!important}
.dm-s .dm-lg-sec h2{font-size:clamp(1.45rem,2.4vw,1.85rem);letter-spacing:-.01em;line-height:1.2;margin:0 0 .6em;scroll-margin-top:120px}
.dm-s .dm-lg-sec ul{list-style:disc;padding:0 0 0 1.25em;margin:0 0 1em;line-height:inherit}
.dm-s .dm-lg-sec li{margin:0 0 .45em;padding:0}
.dm-s .dm-lg-sec li::marker{color:var(--dm-pink)}
.dm-s .dm-lg-sec strong{font-weight:600}
.dm-s .dm-lg-sec a,.dm-s .dm-lg-more a{color:var(--dm-purple);text-decoration:underline;text-underline-offset:3px}
.dm-s .dm-lg-sec code{font-size:.84em;background:#f4eef7;border-radius:6px;padding:2px 6px;word-break:break-all}
.dm-s .dm-lg-table{overflow-x:auto;margin:0 0 1.2em;border:1px solid var(--dm-line);border-radius:12px}
.dm-s .dm-lg-table table{width:100%;border-collapse:collapse;margin:0;border:0;font-size:.92rem;line-height:1.5}
.dm-s .dm-lg-table th,.dm-s .dm-lg-table td{text-align:left;vertical-align:top;padding:12px 14px;border:0;border-bottom:1px solid var(--dm-line)}
.dm-s .dm-lg-table th{background:var(--dm-bg);font:600 .8rem/1.3 Outfit,Poppins,sans-serif;letter-spacing:.04em;color:var(--dm-ink)}
.dm-s .dm-lg-table tr:last-child td{border-bottom:0}
.dm-s .dm-lg-cookies table{min-width:640px}
.dm-s .dm-lg-more{border-top:1px solid var(--dm-line);padding-top:26px;margin-top:8px}
.dm-s .dm-lg-more p{color:var(--dm-muted)!important;font-size:.95rem;margin:0}
@media (max-width:640px){
 .dm-s.dm-lg-hero.dm-sub{padding-bottom:48px}
 .dm-s.dm-lg{font-size:1rem}
 .dm-s .dm-lg-toc{padding:18px 20px 12px;margin-bottom:40px!important}
 .dm-s .dm-lg-toc ol{columns:1}
 .dm-s .dm-lg-sec{margin-bottom:36px!important}
 .dm-s .dm-lg-table th,.dm-s .dm-lg-table td{padding:10px 12px}
}
/* ===== end Damson v8.8 legal ===== */
/* ===================== Damson v8.10 Services tweaks (1.1.8) ===================== */
/* SEO band: "Request a quote" button pinned to the bottom of each glass card, cards equal height on desktop */
@media(min-width:981px){.dm-s.dm-sv-seo .dm-sv-seo-row{align-items:stretch}}
.dm-s.dm-sv .et_pb_column.dm-sv-glass{display:flex;flex-direction:column}
.dm-s.dm-sv .dm-sv-glass .et_pb_button_module_wrapper{margin-top:auto!important;padding-top:28px}
.dm-s.dm-sv .dm-sv-glass .et_pb_button{width:100%;justify-content:center}
/* compact full-width "Get in touch" band (section dm-band dm-sv-end) */
.dm-s.et_pb_section.dm-sv-end{padding:56px 0}
@media(max-width:980px){.dm-s.et_pb_section.dm-sv-end{padding:48px 0}}
@media(max-width:600px){.dm-s.et_pb_section.dm-sv-end{padding:44px 0}}
.dm-s.dm-band.dm-sv-end h2{font-size:clamp(1.6rem,2.6vw,2.3rem);max-width:22ch;line-height:1.15;margin:0}
.dm-s.dm-sv-end .dm-sv-alt{margin-top:12px!important}
.dm-s.dm-sv-end .dm-sv-alt p{font-size:.88rem;color:rgba(255,255,255,.85);margin:0}
.dm-s.dm-sv-end .dm-sv-alt a{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
@media(min-width:981px){.dm-s.dm-sv-end .dm-sv-act{text-align:right}}
@media(max-width:980px){.dm-s.dm-sv-end .dm-sv-act{margin-top:20px}.dm-s.dm-sv-end .et_pb_button_module_wrapper{text-align:left!important}}
/* ===================== end Damson v8.10 ===================== */
/* ===================== Damson v8.11 Services "Get in touch" band (1.1.9) ===================== */
/* bigger band: more padding, slightly larger heading */
.dm-s.et_pb_section.dm-sv-end{padding:104px 0}
@media(max-width:980px){.dm-s.et_pb_section.dm-sv-end{padding:72px 0}}
@media(max-width:600px){.dm-s.et_pb_section.dm-sv-end{padding:56px 0}}
.dm-s.dm-band.dm-sv-end h2{font-size:clamp(1.9rem,3.3vw,2.9rem);max-width:20ch;line-height:1.12}
/* right-hand group: one stack, as wide as its widest item, button and line centred on each other */
.dm-s.dm-sv-end .et_pb_column.dm-sv-act{display:grid;grid-template-columns:max-content;justify-items:center;align-content:center;align-self:center;text-align:center}
.dm-s.dm-sv-end .dm-sv-act .et_pb_button_module_wrapper,.dm-s.dm-sv-end .dm-sv-act .et_pb_text{margin:0!important;text-align:center!important}
.dm-s.dm-sv-end .dm-sv-act .dm-sv-alt{margin-top:14px!important}
@media(min-width:981px){.dm-s.dm-sv-end .et_pb_column.dm-sv-act{justify-content:end}}
/* tablet and phone: left-aligned stack under the heading, button and line still aligned */
@media(max-width:980px){
 .dm-s.dm-sv-end .et_pb_column.dm-sv-act{justify-content:start;justify-items:start;text-align:left;margin-top:28px}
 .dm-s.dm-sv-end .dm-sv-act .et_pb_button_module_wrapper,.dm-s.dm-sv-end .dm-sv-act .et_pb_text{text-align:left!important}
 .dm-s.dm-sv-end .dm-sv-act .dm-sv-alt p{white-space:normal}
}
@media(max-width:420px){.dm-s.dm-sv-end .et_pb_column.dm-sv-act{grid-template-columns:minmax(0,1fr)}}
/* ===================== end Damson v8.11 ===================== */
/* ===================== Damson v8.12 Services page (1.2.0) ===================== */
/* care plans: breathing room between the terms text and the button (all widths) */
.dm-s.dm-sv-care .dm-sv-carecopy .et_pb_button_module_wrapper{margin-top:30px!important}
/* desktop (1100px+): a touch more compact so each section reads within a 1920x1080 window. Services page only. */
@media(min-width:1100px){
 .dm-s.dm-sv.et_pb_section:not(.dm-sv-hero):not(.dm-sv-end){padding-top:88px;padding-bottom:88px}
 .dm-s.dm-sv.dm-hero.dm-sub.dm-sv-hero{padding:150px 0 80px}
 .dm-s.dm-sv h1{font-size:clamp(2.4rem,5.2vw,4.4rem)}
 .dm-s.dm-sv h2{font-size:clamp(1.85rem,3.1vw,2.7rem)}
 .dm-s.dm-sv.dm-band.dm-sv-seo h2{font-size:clamp(2.1rem,3.9vw,3.4rem)}
 .dm-s.dm-sv .dm-headrow{margin-bottom:44px!important}
 /* services index */
 .dm-s.dm-sv-svc .et_pb_row.dm-sv-item{padding:28px 0!important}
 .dm-s.dm-sv-svc .dm-sv-name h3{font-size:clamp(1.4rem,1.9vw,1.75rem)}
 .dm-s.dm-sv-svc .dm-sv-name:before{font-size:3.9rem}
 /* pay monthly */
 .dm-s.dm-sv .et_pb_column.dm-sv-plan{padding:36px 38px}
 .dm-s.dm-sv .dm-sv-plan .dm-ticks li{padding-top:5px;padding-bottom:5px}
 .dm-s.dm-sv .dm-sv-plan .dm-ticks li:before{top:12px}
 .dm-s.dm-sv .dm-sv-own{margin-top:40px!important}
 .dm-s.dm-sv .dm-sv-own-txt{margin-top:18px!important}
 /* SEO band */
 .dm-s.dm-sv-seo .dm-sv-seo-row{margin-top:40px!important}
 .dm-s.dm-sv .et_pb_column.dm-sv-glass{padding:34px 36px}
 .dm-s.dm-sv .dm-sv-glass .dm-ticks li{padding-top:5px;padding-bottom:5px}
 .dm-s.dm-sv .dm-sv-glass .dm-ticks li:before{top:12px}
 .dm-s.dm-sv .dm-sv-glass .et_pb_button_module_wrapper{padding-top:22px}
 /* one-off builds: gentler staircase */
 .dm-s.dm-sv-builds .dm-sv-stairs>.et_pb_column:nth-child(1){margin-top:72px}
 .dm-s.dm-sv-builds .dm-sv-stairs>.et_pb_column:nth-child(2){margin-top:48px}
 .dm-s.dm-sv-builds .dm-sv-stairs>.et_pb_column:nth-child(3){margin-top:24px}
 .dm-s.dm-sv-builds .dm-sv-stairs:before{height:72px}
 .dm-s.dm-sv-builds .et_pb_column.dm-price{padding:30px 28px}
 .dm-s.dm-sv-builds .dm-sv-print{margin-top:56px!important}
}
/* ===================== end Damson v8.12 ===================== */
/* ===================== Damson v8.13 mobile fixes (1.2.1) ===================== */
/* Services index rows: the gradient underline uses the row's :after, which removed Divi's float clearfix.
   On stacked (tablet/phone) layouts the rows collapsed and overlapped the next section. Contain the floats instead. */
@media(max-width:980px){
 .dm-s.dm-sv-svc .et_pb_row.dm-sv-item{display:flow-root}
 .dm-s.dm-sv-svc .et_pb_row.dm-sv-item>.et_pb_column{float:none;width:100%!important;margin-right:0!important}
 .dm-s.dm-sv-svc .et_pb_row.dm-sv-item>.et_pb_column+.et_pb_column{margin-top:18px}
 /* How it works: one vertical timeline on tablets too (Divi made it 2 + 2, so the line only ran down the left pair) */
 .dm-s.dm-sv .et_pb_row.dm-htl{flex-direction:column;flex-wrap:nowrap}
 .dm-s.dm-sv .et_pb_row.dm-htl>.et_pb_column{width:100%!important;max-width:none;margin-right:0!important;flex:0 0 auto}
}
@media(max-width:600px){
 .dm-s.dm-sv-svc .et_pb_row.dm-sv-item{padding:26px 0!important}
 .dm-s.dm-sv-svc .dm-sv-name:before{font-size:3.2rem;top:-4px}
}
/* Header: portal pills between 901px and 1080px (there was no burger at those widths, so they vanished) */
@media(min-width:901px) and (max-width:1080px){
 header.dm-hdr .dm-wrap{gap:18px}
 .dm-hdr .dm-wrap .dm-pills{display:flex;gap:6px}
 .dm-hdr .dm-wrap .dm-pill{padding:7px 12px}
}
/* Header: portal pills and Free health check inside the open mobile menu (links are copied in by damson-site.js) */
.dm-hdr .dm-mx{display:none}
@media(max-width:900px){
 .dm-hdr.open .dm-menu .dm-mx{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
 .dm-hdr .dm-menu a.dm-mx-pill{flex:1 1 0;min-width:0;text-align:center;font:500 .88rem/1.3 Outfit,sans-serif;padding:11px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:none;color:#fff!important;white-space:nowrap}
 .dm-hdr .dm-menu a.dm-mx-pill:hover{border-color:#fff;background:rgba(255,255,255,.06)}
 .dm-hdr .dm-menu a.dm-mx-cta{flex:1 0 100%;display:flex;justify-content:center;align-items:center;margin-top:4px;padding:14px 20px;border-radius:999px;font:600 .95rem/1.2 Outfit,sans-serif;color:#fff!important;background:var(--dm-grad);box-shadow:0 10px 30px -10px rgba(249,44,139,.6)}
 .dm-hdr .dm-menu a.dm-mx-cta:hover{background:var(--dm-grad);filter:brightness(1.06)}
 .dm-hdr.open .dm-menu{max-height:calc(100vh - 70px);overflow-y:auto;padding-bottom:26px;box-shadow:0 24px 40px -16px rgba(0,0,0,.55)}
}
@media(max-width:340px){.dm-hdr .dm-menu a.dm-mx-pill{flex-basis:100%}}
/* ===================== end Damson v8.13 ===================== */

/* 1.2.3: ownership track as one continuous bar instead of 24 blocks */
.dm-sv .dm-sv-track ol{gap:0!important;height:14px;margin:16px 104px 16px 0!important;padding:0!important;border-radius:999px;overflow:hidden;background:var(--dm-grad);grid-template-columns:repeat(24,1fr)!important}
.dm-sv .dm-sv-track li,.dm-sv .dm-sv-track li.is-on{height:14px!important;border-radius:0!important;background:transparent!important;transition:none}
.dm-sv .dm-sv-track.dm-sv-js li:not(.is-on){background:#3a2540!important}
.dm-sv .dm-sv-track b{bottom:32px}
@media(max-width:600px){.dm-sv .dm-sv-track ol{height:10px;margin:6px 0 0!important}.dm-sv .dm-sv-track li,.dm-sv .dm-sv-track li.is-on{height:10px!important}}
@media(max-width:600px){.dm-sv .dm-sv-track b{display:none!important}}
