/*!
 * dleaps-organic.css - r89 "Organic Glass"
 * -----------------------------------------------------------------------------
 * The D'leaps theme layer. Loaded last in <head>, after main.css and
 * dleaps-theme.css, so it wins on equal specificity without !important where
 * it can. Everything that changes a section is keyed on a class that
 * dleaps-organic.js puts on <html> (dlo-on everywhere, dlo-home on /), so a
 * route the script has not recognised looks exactly as it did in r88.
 *
 * The organic shape is the logo. --dlo-d is the fill path of the D in
 * favicon.svg, cropped to its own bounding box and stretched to whatever it
 * masks; --dlo-dw is the same D turned on its side for landscape frames. Every
 * curve on the page is the mark, not a generic blob.
 *
 * Colour roles (critique: one job per colour)
 *   turquoise #4DD9E8   action fills, dark-section text      --dlo-tq
 *   teal ink  #0B7480   turquoise as text on light (5.5:1)   --dlo-tq-ink
 *   magenta   #E8407F   accents, dots, handwriting only      --dlo-mg
 *   magenta ink #C72E68 magenta behind white text (5.2:1)    --dlo-mg-ink
 *   navy      #13223A   headings, footer, dark islands       --dlo-navy
 * Built from source in r89-src/tools/build-organic.py (paths are injected).
 */
:root{
  --dlo-tq:#4DD9E8;--dlo-tq-ink:#0B7480;--dlo-mg:#E8407F;--dlo-mg-ink:#C72E68;
  --dlo-navy:#13223A;--dlo-navy-2:#1C3150;--dlo-ink:#1B2A3A;--dlo-ink-2:#4A5B6C;
  --dlo-mist:#EEF3F7;--dlo-mist-2:#E6EDF3;
  --dlo-glass:linear-gradient(140deg,rgba(255,255,255,.78),rgba(255,255,255,.46));
  --dlo-glass-line:rgba(255,255,255,.85);
  --dlo-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 22px 48px -24px rgba(19,34,58,.30),0 3px 10px -4px rgba(19,34,58,.08);
  --dlo-blur:blur(22px) saturate(170%);
  --dlo-r:28px;
  --dlo-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='608 102 613 829' preserveAspectRatio='none'%3E%3Cpath d='M661.86,144.44c9.29-7.42,19.98-12.86,31.28-16.47,31.68-10.13,82.13-21.37,143.29-14.83,70.05,7.48,118.75,34.49,146.53,50.25,69.35,39.37,111.39,89.15,130.94,115.17,7.12,9.48,63.82,86.2,78.79,177.57,5,30.55,5.07,61.04,5.07,62.79-.04,35.22-4.91,62.14-7.08,73.01-8.2,41-21.81,72.02-30.27,89.1-5.15,10.41-24.15,47.49-68.81,95.25-24.19,25.88-66.72,71.36-132.99,105.59-105.62,54.56-241.67,64-284.32,19.05-17.23-18.15-24.63-40.94-27.81-60.29-1.85-11.26-1.67-22.77.33-33.99,33.69-189.33,36.9-243.59,37.2-251.46.04-1,.1-1.99.17-2.99,6.98-99.12-18.33-195.69-21.67-208.13-19.35-71.9-48.84-130.81-20.38-177.45,5.63-9.22,12.61-16.47,19.76-22.19Z'/%3E%3C/svg%3E");
  --dlo-dw:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 829 613' preserveAspectRatio='none'%3E%3Cg transform='translate%280 613%29 rotate%28-90%29 translate%28-608 -102%29'%3E%3Cpath d='M661.86,144.44c9.29-7.42,19.98-12.86,31.28-16.47,31.68-10.13,82.13-21.37,143.29-14.83,70.05,7.48,118.75,34.49,146.53,50.25,69.35,39.37,111.39,89.15,130.94,115.17,7.12,9.48,63.82,86.2,78.79,177.57,5,30.55,5.07,61.04,5.07,62.79-.04,35.22-4.91,62.14-7.08,73.01-8.2,41-21.81,72.02-30.27,89.1-5.15,10.41-24.15,47.49-68.81,95.25-24.19,25.88-66.72,71.36-132.99,105.59-105.62,54.56-241.67,64-284.32,19.05-17.23-18.15-24.63-40.94-27.81-60.29-1.85-11.26-1.67-22.77.33-33.99,33.69-189.33,36.9-243.59,37.2-251.46.04-1,.1-1.99.17-2.99,6.98-99.12-18.33-195.69-21.67-208.13-19.35-71.9-48.84-130.81-20.38-177.45,5.63-9.22,12.61-16.47,19.76-22.19Z'/%3E%3C/g%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------ fonts */
/* Self-hosted in r89 (/fonts/). The Google Fonts @import was the only
   render-blocking third-party request on the page. */

/* ------------------------------------------------------------ the canvas */
html.dlo-on body{background:var(--dlo-mist);}
html.dlo-on .App.paper-noise{background:transparent;}
#dlo-aura{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:
  radial-gradient(1200px 700px at 85% -10%,rgba(77,217,232,.18),transparent 60%),
  radial-gradient(900px 600px at -10% 40%,rgba(232,64,127,.08),transparent 60%),var(--dlo-mist);}
#dlo-aura i{position:absolute;display:block;-webkit-mask:var(--dlo-d) center/100% 100% no-repeat;mask:var(--dlo-d) center/100% 100% no-repeat;filter:blur(2px);opacity:.5}
#dlo-aura .a1{width:46vmax;height:62vmax;right:-14vmax;top:-12vmax;background:linear-gradient(160deg,rgba(77,217,232,.40),rgba(77,217,232,.05));transform:rotate(18deg)}
#dlo-aura .a2{width:30vmax;height:40vmax;left:-12vmax;top:46vh;background:linear-gradient(200deg,rgba(232,64,127,.20),rgba(232,64,127,.02));transform:rotate(-24deg)}
#dlo-aura .a3{width:22vmax;height:30vmax;right:8vmax;bottom:-14vmax;background:linear-gradient(140deg,rgba(19,34,58,.10),rgba(77,217,232,.06));transform:rotate(200deg)}
@media (prefers-reduced-motion:no-preference){
  #dlo-aura .a1{animation:dloDrift 26s ease-in-out infinite alternate}
  #dlo-aura .a2{animation:dloDrift 32s ease-in-out infinite alternate-reverse}
}
@keyframes dloDrift{from{translate:0 0}to{translate:-3vmax 4vmax}}

/* ------------------------------------------------------- shared primitives */
.dlo-glass{background:var(--dlo-glass);-webkit-backdrop-filter:var(--dlo-blur);backdrop-filter:var(--dlo-blur);
  border:1px solid var(--dlo-glass-line);box-shadow:var(--dlo-shadow);border-radius:var(--dlo-r);}
.dlo-dots{display:inline-flex;gap:6px;margin:10px 0 0}
.dlo-dots i{width:7px;height:7px;border-radius:50%;background:var(--dlo-mg)}
.dlo-dots i:nth-child(2){background:var(--dlo-tq)}
.dlo-dots i:nth-child(3){background:var(--dlo-navy)}
.dlo-center .dlo-dots,.text-center .dlo-dots{justify-content:center;display:flex}
.dlo-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.8rem 1.5rem;border-radius:999px;
  font:700 15px/1.1 Lato,system-ui,sans-serif;text-decoration:none;cursor:pointer;border:0;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.dlo-btn:focus-visible{outline:3px solid var(--dlo-tq-ink);outline-offset:3px}
.dlo-btn-pri{background:var(--dlo-tq);color:var(--dlo-navy);box-shadow:0 12px 28px -12px rgba(11,116,128,.6),inset 0 1px 0 rgba(255,255,255,.5)}
.dlo-btn-pri:hover{transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(11,116,128,.7)}
.dlo-btn-ghost{background:rgba(255,255,255,.55);color:var(--dlo-navy);border:1px solid rgba(19,34,58,.14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.dlo-btn-ghost:hover{background:rgba(255,255,255,.85)}
.dlo-btn svg{width:16px;height:16px;flex:none}

/* ================================================================= HERO */
#dlo-hero{position:relative;padding:clamp(6.5rem,11vw,8.5rem) 0 clamp(2.5rem,5vw,4rem);overflow:hidden}
#dlo-hero .dlo-wrap{width:min(1240px,100% - 2.5rem);margin:0 auto;display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
#dlo-hero .dlo-copy{position:relative;z-index:2;padding:clamp(1.6rem,3vw,2.6rem)}
#dlo-hero .dlo-eyebrow{display:flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;font:500 11.5px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--dlo-tq-ink)}
#dlo-hero .dlo-eyebrow:before{content:"";width:28px;height:1.5px;background:currentColor}
#dlo-hero h1{margin:0;color:var(--dlo-navy);font-weight:400;letter-spacing:-.01em}
#dlo-hero h1 .l1{display:block;font:400 clamp(2.6rem,5.4vw,4.6rem)/1.02 "Poiret One",Lato,sans-serif}
#dlo-hero h1 .l2{display:block;font:900 clamp(2.4rem,5vw,4.25rem)/1.04 Lato,system-ui,sans-serif;letter-spacing:-.025em;
  background:linear-gradient(100deg,var(--dlo-navy) 10%,var(--dlo-tq-ink) 75%,#14a3b2);-webkit-background-clip:text;background-clip:text;color:transparent}
#dlo-hero h1 .seo{display:block;margin-top:.9rem;font:400 15px/1.4 Lato,system-ui,sans-serif;color:var(--dlo-ink-2);letter-spacing:0}
#dlo-hero .dlo-sub{margin:1.3rem 0 0;font:700 clamp(1.1rem,1.6vw,1.3rem)/1.4 Lato,system-ui,sans-serif;color:var(--dlo-ink)}
#dlo-hero .dlo-sub2{margin:.45rem 0 0;max-width:34rem;font:400 15.5px/1.6 Lato,system-ui,sans-serif;color:var(--dlo-ink-2)}
#dlo-hero .dlo-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
#dlo-hero .dlo-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:2rem;max-width:34rem}
#dlo-hero .dlo-proof div{padding:.85rem .9rem;border-radius:20px}
#dlo-hero .dlo-proof b{display:block;font:900 1.25rem/1 Lato,system-ui,sans-serif;color:var(--dlo-navy)}
#dlo-hero .dlo-proof span{display:block;margin-top:.35rem;font:500 11.5px/1.3 "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--dlo-ink-2)}
#dlo-hero .dlo-proof .ic{display:grid;place-items:center;width:30px;height:30px;margin-bottom:.55rem;border-radius:42% 58% 55% 45%/50% 40% 60% 50%;color:#fff;background:var(--dlo-mg-ink)}
#dlo-hero .dlo-proof div:nth-child(2) .ic{background:var(--dlo-tq-ink)}
#dlo-hero .dlo-proof div:nth-child(3) .ic{background:var(--dlo-navy)}
#dlo-hero .dlo-proof .ic svg{width:15px;height:15px}

/* the logo-shaped frame */
#dlo-hero .dlo-art{position:relative;aspect-ratio:613/829;width:min(100%,520px,calc(76svh * .74));justify-self:center}
#dlo-hero .dlo-frame{position:absolute;inset:0;-webkit-mask:var(--dlo-d) center/100% 100% no-repeat;mask:var(--dlo-d) center/100% 100% no-repeat;background:#d9e3ea}
#dlo-hero .dlo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 6s ease}
#dlo-hero .dlo-frame img.on{opacity:1;transform:scale(1)}
#dlo-hero .dlo-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
#dlo-hero .dlo-lines path{fill:none;vector-effect:non-scaling-stroke}
#dlo-hero .dlo-rooms{position:absolute;left:50%;bottom:-.4rem;transform:translateX(-50%);display:flex;gap:4px;padding:5px;border-radius:999px;z-index:3}
#dlo-hero .dlo-rooms button{min-height:44px;padding:0 1.05rem;border:0;border-radius:999px;background:transparent;cursor:pointer;
  font:700 13px/1 Lato,system-ui,sans-serif;color:var(--dlo-ink-2);transition:background .25s,color .25s}
#dlo-hero .dlo-rooms button[aria-selected=true]{background:var(--dlo-navy);color:#fff}
#dlo-hero .dlo-rooms button:focus-visible{outline:3px solid var(--dlo-tq-ink);outline-offset:2px}
#dlo-hero .dlo-tag{position:absolute;left:-4%;top:58%;z-index:3;padding:.8rem 1rem;border-radius:20px;max-width:15rem;text-decoration:none}
#dlo-hero .dlo-tag b{display:block;font:700 14px/1.25 Lato,system-ui,sans-serif;color:var(--dlo-navy)}
#dlo-hero .dlo-tag span{display:block;margin-top:.3rem;font:500 11px/1.3 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--dlo-ink-2)}
#dlo-hero .dlo-tag em{display:inline-flex;align-items:center;gap:.3rem;margin-top:.45rem;font:700 12.5px/1 Lato,sans-serif;font-style:normal;color:var(--dlo-tq-ink)}
#dlo-hero .dlo-badge{position:absolute;right:2%;top:12%;z-index:3;display:grid;place-items:center;text-align:center;width:92px;height:92px;border-radius:26px;color:#fff;
  background:linear-gradient(145deg,var(--dlo-mg) 0%,#f07a5a 100%);box-shadow:0 18px 30px -14px rgba(199,46,104,.65),inset 0 1px 0 rgba(255,255,255,.4)}
#dlo-hero .dlo-badge b{display:block;font:900 30px/1 Lato,sans-serif}
#dlo-hero .dlo-badge span{display:block;margin-top:2px;font:700 9.5px/1.15 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
#dlo-hero .dlo-scroll{display:flex;justify-content:center;margin-top:2.2rem}
#dlo-hero .dlo-scroll a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem;font:500 11px/1 "IBM Plex Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--dlo-ink-2);text-decoration:none}
@media (max-width:899px){
  #dlo-hero{padding-top:4.6rem}
  #dlo-hero .dlo-wrap{width:calc(100% - 1.5rem)}
  #dlo-hero .dlo-wrap{grid-template-columns:1fr;gap:1.4rem}
  #dlo-hero .dlo-copy{padding:1.3rem 1.2rem 1.4rem;text-align:left}
  #dlo-hero h1 .l1{font-size:2.55rem}#dlo-hero h1 .l2{font-size:2.35rem}#dlo-hero h1 .seo{margin-top:.6rem;font-size:14px}
  #dlo-hero .dlo-eyebrow{margin-bottom:.8rem;font-size:10.5px;letter-spacing:.16em}
  #dlo-hero .dlo-sub{margin-top:.9rem}#dlo-hero .dlo-cta{margin-top:1.2rem}#dlo-hero .dlo-proof{margin-top:1.2rem}
  #dlo-hero .dlo-art{width:min(80%,380px);margin:.4rem auto 1.4rem}
  #dlo-hero .dlo-tag{left:-8%;top:auto;bottom:13%;max-width:12.5rem;padding:.65rem .8rem}
  #dlo-hero .dlo-badge{width:74px;height:74px;border-radius:22px;right:-4%}
  #dlo-hero .dlo-badge b{font-size:24px}
  #dlo-hero .dlo-proof{gap:.5rem}
  #dlo-hero .dlo-proof div{padding:.7rem .6rem}
  #dlo-hero .dlo-proof b{font-size:1.08rem}
  #dlo-hero .dlo-proof span{font-size:10.5px;letter-spacing:.03em}
  #dlo-hero .dlo-scroll{display:none}
}
@media (max-width:599px){#dlo-hero .dlo-cta .dlo-btn{flex:1 1 100%}}
@media (min-width:600px) and (max-width:899px){#dlo-hero .dlo-proof{max-width:none}#dlo-hero .dlo-art{width:min(60%,380px)}}
@media (prefers-reduced-motion:reduce){#dlo-hero .dlo-frame img{transition:opacity .2s;transform:none}}

/* the React walkthrough hero this replaces */
html.dlo-home [data-dlo-retired]{display:none!important}

/* ======================================================= HOMEPAGE SECTIONS */
/* Light sections sit on the mist; their own white fills go so glass can blur
   something. */
html.dlo-home #why,html.dlo-home #process,html.dlo-home #client-portal,
html.dlo-home #magazine,html.dlo-home #reviews,html.dlo-home .dlpb-replaced,html.dlo-home .dlp-ig{background:transparent!important}
html.dlo-home #why:before,html.dlo-home #reviews:before{display:none}

/* section headings: the three-dot mark from the reference, Poiret + Lato pair */
html.dlo-home main h2{color:var(--dlo-navy)}
html.dlo-home .eyebrow{color:var(--dlo-tq-ink)!important}

/* dark islands: the tools band and the services coverflow keep their dark
   stage, but as rounded glass islands floating on the mist rather than
   full-bleed slabs */
html.dlo-home #pick-service{margin:0 clamp(.6rem,2vw,1.5rem);border-radius:clamp(28px,4vw,56px);overflow:hidden;position:relative;isolation:isolate}
html.dlo-home #pick-service{background:linear-gradient(160deg,#0f1a2a,#13223a 55%,#0d1622)!important}
html.dlo-home #pick-service:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:46%;aspect-ratio:829/613;right:-12%;top:-14%;
  -webkit-mask:var(--dlo-dw) center/100% 100% no-repeat;mask:var(--dlo-dw) center/100% 100% no-repeat;background:linear-gradient(120deg,rgba(77,217,232,.22),rgba(77,217,232,0));transform:rotate(-8deg)}
html.dlo-home #pick-service:after{left:-14%;right:auto;top:auto;bottom:-18%;transform:rotate(172deg)}
html.dlo-home #pick-service h2{color:#fff}
html.dlo-home #pick-service .eyebrow{color:var(--dlo-tq)!important}
/* the estimator now lives in the tools band (one estimator, not two) */
html.dlo-home [data-dlo-est-chips]{display:none!important}

/* recent work: r90 keeps the r88 look on purpose (owner direction). */

/* process + portal + magazine + reviews: glass surfaces */
html.dlo-home #magazine article,html.dlo-home #magazine a.group,html.dlo-home #reviews .py-2\.5>div{
  background:var(--dlo-glass)!important;-webkit-backdrop-filter:var(--dlo-blur);backdrop-filter:var(--dlo-blur);border:1px solid var(--dlo-glass-line)!important;box-shadow:var(--dlo-shadow)!important;border-radius:26px!important}
html.dlo-home #magazine img{border-radius:22px 22px 22px 70px}
html.dlo-home .cp-root [class*=cp-feat],html.dlo-home .cp-root li{border-radius:22px}
.dlo-gbp{display:flex;justify-content:center;margin-top:2.2rem}
.dlo-gbp a{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:0 1.3rem;border-radius:999px;text-decoration:none;font:700 14.5px/1 Lato,system-ui,sans-serif;color:var(--dlo-navy)}
.dlo-gbp svg{width:18px;height:18px}

/* the quote band and the separate instant-estimate block are retired (the
   motto now lives in the hero and the footer; the estimator in the band) */

/* final CTA: a light glass card with the logo shape, not a teal-magenta slab */
html.dlo-home [data-dlp-ctaband]{background:var(--dlo-glass)!important;-webkit-backdrop-filter:var(--dlo-blur);backdrop-filter:var(--dlo-blur);
  border:1px solid var(--dlo-glass-line)!important;box-shadow:var(--dlo-shadow)!important;border-radius:clamp(32px,5vw,64px)!important;isolation:isolate}
html.dlo-home [data-dlp-ctaband]>div.absolute{display:none}
html.dlo-home [data-dlp-ctaband] .dlo-cb1{position:absolute;z-index:0;pointer-events:none;width:min(52%,440px);aspect-ratio:613/829;left:-9%;top:-30%;
  -webkit-mask:var(--dlo-d) center/100% 100% no-repeat;mask:var(--dlo-d) center/100% 100% no-repeat;background:linear-gradient(160deg,rgba(77,217,232,.55),rgba(77,217,232,.08));transform:rotate(-14deg)}
html.dlo-home [data-dlp-ctaband] .dlo-cb2{position:absolute;z-index:0;pointer-events:none;width:min(30%,240px);aspect-ratio:613/829;right:-4%;bottom:-36%;
  -webkit-mask:var(--dlo-d) center/100% 100% no-repeat;mask:var(--dlo-d) center/100% 100% no-repeat;background:linear-gradient(160deg,rgba(232,64,127,.35),rgba(232,64,127,.05));transform:rotate(160deg)}
html.dlo-home [data-dlp-ctaband] h2{color:var(--dlo-navy)!important}
html.dlo-home [data-dlp-ctaband] p{color:var(--dlo-ink-2)!important}
html.dlo-home [data-dlp-ctaband] .btn-primary-d{background:var(--dlo-tq)!important;color:var(--dlo-navy)!important;border-color:transparent!important}
html.dlo-home [data-dlp-ctaband] a:not(.btn-primary-d){color:var(--dlo-navy)!important;border-color:rgba(19,34,58,.2)!important;background:rgba(255,255,255,.5)}

/* instagram tiles */
html.dlo-home .dlp-ig a img,html.dlo-home .dlp-ig [class*=tile]{border-radius:26px 26px 26px 80px}

/* =============================================================== SITE-WIDE */
/* header: transparent dock over the hero, solid glass once over content so
   it never sits on top of footer or card text (critique: nav overlap) */
html.dlo-on.dlo-solidnav header.fixed>.container-d>nav{background:rgba(255,255,255,.88)!important;-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
  box-shadow:0 10px 30px -16px rgba(19,34,58,.35);border-color:rgba(19,34,58,.08)!important}
html.dlo-on.dlo-navhide header.fixed{transform:translateY(-110%);transition:transform .35s ease}
html.dlo-on header.fixed{transition:transform .35s ease,background-color .3s}

/* the homepage hero is light now, so the header reads as it does over page
   content from the first pixel: frosted pill, ink labels, colour logo.
   (dleaps-navflip.js takes its tone from React, which still thinks the hero
   is a dark photograph.) */
html.dlo-home nav[data-dlp-nf][data-dlp-nf-tone="light"]::before{background:rgba(255,255,255,.76)!important;border:1px solid rgba(255,255,255,.85)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 1px rgba(20,26,36,.06),0 12px 32px -14px rgba(20,26,36,.32)!important}
html.dlo-home nav[data-dlp-nf-tone="light"] .dlp-nf-face{color:#38424f!important;text-shadow:none!important}
html.dlo-home nav[data-dlp-nf-tone="light"] [data-dlp-nf-cur] .dlp-nf-face,html.dlo-home nav[data-dlp-nf-tone="light"] [data-dlp-nf-on]:hover .dlp-nf-face{color:#141a24!important}
html.dlo-home header[data-dlp-glass="light"] [data-dlp-nf-row]>a:first-child img{filter:none!important;content:url(/brand/dleaps-logo.png)}
html.dlo-home header[data-dlp-glass="light"] [data-dlp-nf-row]>div>a[data-testid="navbar-whatsapp-link"]{background:rgba(255,255,255,.76)!important;border-color:rgba(255,255,255,.85)!important;color:#141a24!important}
html.dlo-home header nav a.text-white,html.dlo-home header nav button.text-white{color:#38424f}

/* contrast: magenta behind white text, turquoise as text on light */
html.dlo-on .btn-primary-d{color:var(--dlo-navy)}
html.dlo-on a[class~="bg-[hsl(var(--brand-magenta))]"],html.dlo-on button[class~="bg-[hsl(var(--brand-magenta))]"]{background-color:var(--dlo-mg-ink)!important}
html.dlo-on main .text-\[hsl\(var\(--brand-turquoise\)\)\]{color:var(--dlo-tq-ink)}
html.dlo-home #pick-service .text-\[hsl\(var\(--brand-turquoise\)\)\],html.dlo-home #dlpu-band .text-\[hsl\(var\(--brand-turquoise\)\)\]{color:var(--dlo-tq)}

/* touch targets: carousel dots and small card buttons get 44px hit areas */
html.dlo-on [role=tab][class*="rounded-full"],html.dlo-on button[aria-label^="Go to"],html.dlo-on button[aria-label*="slide"]{position:relative}
html.dlo-on button[aria-label^="Go to"]:after,html.dlo-on button[aria-label*="slide"]:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}

/* footer: r90 back on the r88 magenta gradient (owner direction); the big mark at 8% behind the
   text; the 60-locality cloud collapses to one link */
html.dlo-on #dlc-footer{border-radius:clamp(28px,4vw,56px) clamp(28px,4vw,56px) 0 0;overflow:hidden}
html.dlo-on #dlc-footer .dlc-mark{opacity:.08!important;z-index:0!important;pointer-events:none}
html.dlo-on #dlc-footer .dlc-inner,html.dlo-on #dlc-footer .dlc-legal{position:relative;z-index:1}
html.dlo-on #dlc-footer .dlc-stats>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:14px 8px}
html.dlo-on #dlc-footer .dlc-col a,html.dlo-on #dlc-footer .dlc-legal-links a{display:inline-flex;align-items:center;min-height:32px}
html.dlo-on #dlc-footer .dlc-cloud.dlo-collapsed .dlc-cloud-links{display:none}
.dlo-cloud-more{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:.6rem}
.dlo-cloud-more a,.dlo-cloud-more button{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:0 1.1rem;border-radius:999px;
  font:700 14px/1 Lato,sans-serif;text-decoration:none;cursor:pointer;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16)}
.dlo-cloud-more button{background:transparent;color:rgba(255,255,255,.75);font-weight:400}
html.dlo-on #dlc-footer .dlc-cloud:not(.dlo-collapsed) .dlc-cloud-links{overflow-wrap:anywhere}

/* the welcome modal: glass, logo-shaped photo banner */
html.dlo-on .dlp-wl-card,html.dlo-on [class*="wl-card"]{border-radius:32px!important}

@media print{#dlo-aura{display:none}}
/* the handwritten note in the CTA card was drawn white for the old dark slab */
html.dlo-home [data-dlp-ctaband] .pl-wrap path{fill:var(--dlo-mg-ink)!important}

/* ============================================================== r90 */
/* ---- tools band: light glass, not a dark slab (owner direction) ---- */
html.dlo-home .dlpu-band{background:transparent!important;color:var(--dlo-ink)}
html.dlo-home .dlpu-band:before{background:radial-gradient(40% 50% at 10% 15%,rgba(77,217,232,.22),transparent 70%),radial-gradient(36% 46% at 92% 88%,rgba(232,64,127,.12),transparent 70%)!important}
html.dlo-home .dlpu-band:after{background-image:radial-gradient(rgba(19,34,58,.07) 1px,transparent 1px)!important;background-size:22px 22px!important}
html.dlo-home .dlpu-eye{color:var(--dlo-tq-ink)!important}
html.dlo-home .dlpu-h{color:var(--dlo-navy)!important}
html.dlo-home .dlpu-h em{background:linear-gradient(90deg,var(--dlo-tq-ink),var(--dlo-mg-ink))!important;-webkit-background-clip:text!important;background-clip:text!important}
html.dlo-home .dlpu-sub,html.dlo-home .dlpu-p,html.dlo-home .dlpu-rail li,html.dlo-home .dlpu-foot p{color:var(--dlo-ink-2)!important}
html.dlo-home .dlpu-foot p strong,html.dlo-home .dlpu-rail b,html.dlo-home .dlpu-ch,html.dlo-home .dlpu-vh-who{color:var(--dlo-navy)!important}
html.dlo-home .dlpu-vh-who small,html.dlo-home .dlpu-num{color:var(--dlo-ink-2)!important}
html.dlo-home .dlpu-card{background:var(--dlo-glass)!important;-webkit-backdrop-filter:var(--dlo-blur);backdrop-filter:var(--dlo-blur);border:1px solid var(--dlo-glass-line)!important;
  box-shadow:var(--dlo-shadow)!important;border-radius:34px!important}
html.dlo-home .dlpu-card:nth-child(1){border-radius:34px 34px 34px 90px!important}
html.dlo-home .dlpu-card:nth-child(2){border-radius:90px 34px 34px 34px!important}
html.dlo-home .dlpu-card:nth-child(3){border-radius:34px 90px 34px 34px!important}
html.dlo-home .dlpu-free{background:var(--dlo-navy)!important;color:#fff!important}
html.dlo-home .dlpu-t{color:var(--dlo-tq-ink)!important}
html.dlo-home .dlpu-card[data-k=vastu] .dlpu-t{color:var(--dlo-mg-ink)!important}
html.dlo-home .dlpu-card[data-k=ai] .dlpu-t{color:#5b45c9!important}
html.dlo-home .dlpu-cta{color:var(--dlo-navy)!important;min-height:44px}
html.dlo-home .dlpu-card[data-k=vastu] .dlpu-cta{background:var(--dlo-mg-ink)!important;color:#fff!important}
html.dlo-home .dlpu-band svg [stroke^="rgba(255,255,255"]{stroke:rgba(19,34,58,.16)}
html.dlo-home .dlpu-band svg [fill="#fff"]{fill:var(--dlo-navy)}
html.dlo-home .dlpu-band svg [fill^="rgba(238,246,248"]{fill:var(--dlo-ink-2)}
html.dlo-home .dlpu-band svg [fill="rgba(255,255,255,.03)"]{fill:rgba(19,34,58,.03)}
html.dlo-home .dlpu-band svg [fill="rgba(255,255,255,.35)"]{fill:rgba(19,34,58,.4)}
html.dlo-home .dlpu-bub{background:rgba(77,217,232,.14)!important;color:var(--dlo-navy)!important}
html.dlo-home .dlpu-band [class*=dlpu-bub] *{color:inherit}
html.dlo-home .dlpu-ask{background:rgba(255,255,255,.7)!important;border-color:rgba(19,34,58,.12)!important}
html.dlo-home .dlpu-ask input{color:var(--dlo-navy)!important}
html.dlo-home .dlpu-ask input::placeholder{color:var(--dlo-ink-2)!important}
html.dlo-home .dlpu-rail:before{opacity:.8}
html.dlo-home .dlpu-rail li:before{background:var(--dlo-mist)!important}
html.dlo-home .dlpu-rail li:nth-child(4){--c:var(--dlo-navy)}
html.dlo-home .dlpu-talk{color:var(--dlo-navy)!important;border-color:rgba(19,34,58,.22)!important;background:rgba(255,255,255,.55)}
html.dlo-home .dlpu-talk:hover{background:var(--dlo-navy)!important;color:#fff!important}
/* the estimator pickers, on light */
.dlo-est{margin:.9rem 0 0;display:grid;gap:.6rem}
.dlo-est fieldset{border:0;margin:0;padding:0;min-width:0}
.dlo-est legend{padding:0;margin:0 0 .35rem;font:500 10.5px/1 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--dlo-ink-2)}
.dlo-est .row{display:flex;flex-wrap:wrap;gap:6px}
.dlo-est button{min-height:36px;padding:0 .8rem;border-radius:999px;border:1px solid rgba(19,34,58,.14);background:rgba(255,255,255,.6);color:var(--dlo-navy);
  font:700 12.5px/1 Lato,system-ui,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,color .2s;position:relative}
.dlo-est button:after{content:"";position:absolute;inset:-5px -2px}
.dlo-est button[aria-pressed=true]{background:var(--dlo-navy);border-color:var(--dlo-navy);color:#fff}
.dlo-est button:focus-visible{outline:2px solid var(--dlo-tq-ink);outline-offset:2px}

/* ---- why D'leaps: every card is its own organic shape ---- */
html.dlo-home #why .grid{gap:clamp(18px,2.4vw,30px)!important}
html.dlo-home #why .grid>.group{--b:46% 54% 42% 58% / 38% 44% 56% 62%;position:relative;padding:22px 24px 34px;border-radius:var(--b);
  background:var(--dlo-glass);-webkit-backdrop-filter:var(--dlo-blur);backdrop-filter:var(--dlo-blur);border:1px solid var(--dlo-glass-line);box-shadow:var(--dlo-shadow);
  transition:border-radius 1.2s cubic-bezier(.45,.05,.3,1),transform .35s ease}
html.dlo-home #why .grid>.group:nth-child(2){--b:58% 42% 55% 45% / 46% 58% 42% 54%}
html.dlo-home #why .grid>.group:nth-child(3){--b:40% 60% 62% 38% / 54% 40% 60% 46%}
html.dlo-home #why .grid>.group:nth-child(4){--b:62% 38% 44% 56% / 42% 60% 40% 58%}
html.dlo-home #why .grid>.group:nth-child(5){--b:44% 56% 38% 62% / 58% 44% 56% 42%}
html.dlo-home #why .grid>.group:nth-child(6){--b:55% 45% 60% 40% / 40% 52% 48% 60%}
html.dlo-home #why .grid>.group:hover{transform:translateY(-6px) rotate(-.6deg);border-radius:var(--b2,50% 50% 46% 54% / 52% 46% 54% 48%)}
html.dlo-home #why .grid>.group:nth-child(odd):hover{transform:translateY(-6px) rotate(.6deg)}
html.dlo-home #why .grid>.group>div:first-child{margin:0 6%;border-radius:42% 58% 50% 50% / 50% 46% 54% 50%!important;background:linear-gradient(150deg,rgba(77,217,232,.20),rgba(255,255,255,.5))}
html.dlo-home #why .grid>.group:nth-child(even)>div:first-child{background:linear-gradient(150deg,rgba(232,64,127,.12),rgba(255,255,255,.5))}
html.dlo-home #why .grid>.group h3,html.dlo-home #why .grid>.group p{padding:0 10%;text-align:center}
html.dlo-home #why .grid>.group:before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;right:16%;top:10%;background:var(--dlo-mg);opacity:.85}
html.dlo-home #why .grid>.group:nth-child(3n+2):before{background:var(--dlo-tq);left:14%;right:auto;top:auto;bottom:12%}
html.dlo-home #why .grid>.group:nth-child(3n):before{background:var(--dlo-navy);width:9px;height:9px}
@media (prefers-reduced-motion:reduce){html.dlo-home #why .grid>.group{transition:none}}

/* ---- header: a glass bar once over content, so the logo never sits on text ---- */
html.dlo-on header.fixed:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s ease;
  background:linear-gradient(180deg,rgba(238,243,247,.86),rgba(238,243,247,.62));-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
  border-bottom:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px -22px rgba(19,34,58,.45)}
html.dlo-on.dlo-solidnav header.fixed:before{opacity:1}
html.dlo-on header.fixed{isolation:isolate}
html.dlo-on.dlo-solidnav header[data-dlp-glass] [data-dlp-nf-row]>a:first-child img{filter:none!important;content:url(/brand/dleaps-logo.png)}
html.dlo-on.dlo-solidnav nav[data-dlp-nf-tone="light"] .dlp-nf-face{color:#38424f!important;text-shadow:none!important}

/* ---- magazine: Pinterest board ---- */
html.dlo-home #magazine [data-dlo-retired=grid]{display:none!important}
.dlo-pins{margin-top:2.5rem;columns:3 260px;column-gap:20px}
.dlo-pin{break-inside:avoid;display:block;margin:0 0 20px;text-decoration:none;color:inherit;border-radius:26px;overflow:hidden;position:relative;
  background:var(--dlo-glass);-webkit-backdrop-filter:var(--dlo-blur);backdrop-filter:var(--dlo-blur);border:1px solid var(--dlo-glass-line);box-shadow:var(--dlo-shadow);
  transition:transform .3s ease,box-shadow .3s ease}
.dlo-pin:hover{transform:translateY(-4px);box-shadow:0 30px 50px -28px rgba(19,34,58,.45)}
.dlo-pin:focus-visible{outline:3px solid var(--dlo-tq-ink);outline-offset:3px}
.dlo-pin figure{margin:0;position:relative;overflow:hidden;background:#dfe7ee}
.dlo-pin img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.dlo-pin:hover img{transform:scale(1.05)}
.dlo-pin .tag{position:absolute;left:12px;top:12px;padding:6px 11px;border-radius:999px;font:500 11px/1 "IBM Plex Mono",monospace;color:var(--dlo-navy);
  background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dlo-pin .save{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 13px;border-radius:999px;
  font:700 12.5px/1 Lato,sans-serif;color:#fff;background:var(--dlo-mg-ink);opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .25s}
.dlo-pin:hover .save,.dlo-pin:focus-visible .save{opacity:1;transform:none}
.dlo-pin .body{padding:14px 16px 16px}
.dlo-pin h3{margin:0;font:700 16.5px/1.3 Lato,system-ui,sans-serif;color:var(--dlo-navy)}
.dlo-pin p{margin:.45rem 0 0;font:400 13.5px/1.5 Lato,system-ui,sans-serif;color:var(--dlo-ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dlo-pin .meta{display:flex;align-items:center;gap:8px;margin-top:.7rem;font:500 11px/1 "IBM Plex Mono",monospace;color:var(--dlo-ink-2)}
.dlo-pin .meta i{width:22px;height:22px;flex:none;border-radius:50%;background:#fff url(/favicon.svg?v=89) center/70% no-repeat;box-shadow:0 0 0 1px rgba(19,34,58,.08)}
.dlo-pin.tall figure{aspect-ratio:3/4}.dlo-pin.sq figure{aspect-ratio:1/1}.dlo-pin.wide figure{aspect-ratio:4/3}.dlo-pin.xtall figure{aspect-ratio:2/3}
.dlo-pin.quote{padding:24px 22px;background:linear-gradient(150deg,rgba(77,217,232,.35),rgba(255,255,255,.6))}
.dlo-pin.quote b{display:block;font:400 26px/1.15 "Poiret One",Lato,sans-serif;color:var(--dlo-navy)}
.dlo-pin.quote span{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font:700 14px/1 Lato,sans-serif;color:var(--dlo-tq-ink)}
@media (max-width:640px){.dlo-pins{columns:2;column-gap:12px}.dlo-pin{margin-bottom:12px;border-radius:20px}.dlo-pin .body{padding:10px 12px 12px}
  .dlo-pin h3{font-size:14px}.dlo-pin p{display:none}.dlo-pin .save{display:none}.dlo-pin.quote b{font-size:20px}}

/* ---- Google reviews ---- */
html.dlo-home #reviews [data-dlo-retired=marquee]{display:none!important}
.dlo-gr{margin-top:2.6rem;display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:22px;align-items:start}
.dlo-gr-sum{position:sticky;top:96px;padding:26px 24px;border-radius:34px 34px 34px 90px;text-align:left}
.dlo-gr-sum .g{display:flex;align-items:center;gap:10px;font:700 15px/1 Lato,sans-serif;color:var(--dlo-navy)}
.dlo-gr-sum .g svg{width:26px;height:26px}
.dlo-gr-sum .big{display:flex;align-items:baseline;gap:10px;margin-top:18px}
.dlo-gr-sum .big b{font:900 54px/1 Lato,sans-serif;color:var(--dlo-navy)}
.dlo-gr-sum .big span{font:400 14px/1.3 Lato,sans-serif;color:var(--dlo-ink-2)}
.dlo-gr-sum .acts{display:grid;gap:8px;margin-top:20px}
.dlo-gr-sum .acts a{min-height:44px;justify-content:center}
.dlo-stars{display:inline-flex;gap:2px;color:#F5B301}
.dlo-stars svg{width:17px;height:17px}
.dlo-stars .off{color:rgba(19,34,58,.18)}
.dlo-gr-list{columns:2 280px;column-gap:18px}
.dlo-gr-card{break-inside:avoid;margin:0 0 18px;padding:20px 20px 18px;border-radius:26px}
.dlo-gr-card:nth-child(3n+1){border-radius:26px 26px 26px 70px}
.dlo-gr-card:nth-child(3n+2){border-radius:70px 26px 26px 26px}
.dlo-gr-card header{display:flex;align-items:center;gap:11px}
.dlo-gr-card .av{width:40px;height:40px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;font:700 15px/1 Lato,sans-serif;color:#fff;background:var(--dlo-tq-ink)}
.dlo-gr-card .av img{width:100%;height:100%;object-fit:cover}
.dlo-gr-card .who{min-width:0;flex:1}
.dlo-gr-card .who b{display:block;font:700 14.5px/1.25 Lato,sans-serif;color:var(--dlo-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlo-gr-card .who a{color:inherit;text-decoration:none}
.dlo-gr-card .who span{display:block;margin-top:3px;font:400 12px/1.2 Lato,sans-serif;color:var(--dlo-ink-2)}
.dlo-gr-card .gl{width:20px;height:20px;flex:none}
.dlo-gr-card .stars{margin-top:12px}
.dlo-gr-card p{margin:.6rem 0 0;font:400 15px/1.6 Lato,sans-serif;color:var(--dlo-ink);white-space:pre-line}
.dlo-gr-card p.clip{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.dlo-gr-card button.more{margin-top:6px;min-height:36px;padding:0;border:0;background:none;font:700 13px/1 Lato,sans-serif;color:var(--dlo-tq-ink);cursor:pointer}
.dlo-gr-src{margin-top:4px;font:500 10.5px/1.3 "IBM Plex Mono",monospace;letter-spacing:.06em;color:var(--dlo-ink-2)}
@media (max-width:820px){.dlo-gr{grid-template-columns:1fr}.dlo-gr-sum{position:static;border-radius:30px}.dlo-gr-list{columns:1}}
.dlo-gr-sum .big .dlo-stars{color:#F5B301}
