@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--blue:#0758ee;--deep:#063acb;--sky:#02b6f7;--ink:#08132c;--muted:#526178;--line:#cfe4fb;--pale:#eef8ff;--shadow:0 8px 20px rgba(13,80,160,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.55 Inter,system-ui,Arial,sans-serif;color:var(--ink);background:linear-gradient(165deg,#fff 10%,#eff9ff 57%,#dff2ff 100%)}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(1460px,94%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #e6f0fc;box-shadow:0 2px 12px #0a3c7810}.header-inner{display:flex;align-items:center;gap:22px;min-height:78px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{width:61px;height:61px}.brand-text{font-weight:900;font-size:22px;line-height:1.02;letter-spacing:-1px}.tagline{border-left:1px solid #c4d7eb;padding-left:20px;font-size:12px;font-weight:650;line-height:1.35;max-width:260px}.nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-weight:750;font-size:14px}.nav a{padding:10px 0}.nav a:hover,.nav a.active{color:var(--blue)}.nav a.active{border-bottom:3px solid var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--blue);padding:13px 22px;border-radius:12px;font-weight:800;font-size:14px;white-space:nowrap;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-primary{color:white;background:linear-gradient(180deg,#05b2ff,#0652eb 65%,#0534bb)}.btn-outline{color:var(--deep);background:#fff}.btn-small{padding:10px 16px}.mobile-toggle{display:none;border:0;background:none;color:var(--blue);font-size:27px;margin-left:auto}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before,.accent{content:'';display:inline-block;width:48px;height:7px;border-radius:20px;background:linear-gradient(90deg,#0748e9,#04bbff)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(37px,4.2vw,64px);line-height:1.07;letter-spacing:-.055em;margin:14px 0}h2{font-size:clamp(27px,2.5vw,39px);line-height:1.14;letter-spacing:-.045em}h3{font-size:19px;line-height:1.25}p{color:#29394f}.blue{color:var(--blue)}.hero{padding:38px 0 24px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;z-index:-1;right:-9%;top:10%;width:65%;height:80%;border-radius:50%;background:radial-gradient(circle,#8dd6ff90,#d8efff60 60%,transparent 72%)}.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:36px}.hero-copy>p{font-size:clamp(16px,1.4vw,21px);max-width:630px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}.benefits{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0}.benefit{display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px}.mini-icon{font-size:23px;color:var(--blue);background:#fff;border-radius:13px;box-shadow:var(--shadow);padding:8px 13px}.hero-art{position:relative}.device{background:#0a1527;padding:15px 13px 24px;border-radius:23px;box-shadow:0 12px 26px #1438584d;border:3px solid #8c9eae}.device img{display:block;width:100%;height:300px;object-fit:cover;object-position:center;border-radius:7px}.device:after{content:'';position:absolute}.phone{position:absolute;right:0;bottom:-13px;width:23%;padding:8px 6px 17px;border-radius:24px}.phone img{height:265px;object-fit:cover}.featured{position:absolute;bottom:-22px;left:10%;right:12%;display:flex;align-items:center;gap:14px;background:white;border-radius:23px;padding:13px 18px;box-shadow:0 8px 25px #07346b42;font-size:14px}.featured strong{font-size:17px}.featured .circle{font-size:25px;background:linear-gradient(140deg,#04b4ff,#063fdf);color:white;border-radius:50%;padding:13px}.dots{text-align:center;margin-top:37px;color:#8da8c8;letter-spacing:7px}.dots b{color:var(--blue)}.strip,.process,.card,.soft-card{border:1px solid var(--line);background:linear-gradient(160deg,#fff,#f8fcff);border-radius:18px;box-shadow:var(--shadow)}.strip{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:0;align-items:center;padding:18px 23px;margin:24px 0}.strip .item{display:flex;align-items:center;gap:14px;padding:4px 16px;border-left:1px solid #c1d7ee;font-size:12px}.strip .item b{display:block;font-size:14px}.strip .item .symbol{font-size:29px;color:var(--blue)}.process{padding:19px 24px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:16px;align-items:center;margin:18px 0 32px}.process .step{display:flex;align-items:center;gap:10px;font-size:12px}.step .num{background:var(--blue);color:#fff;border-radius:50%;font-weight:800;padding:5px 11px}.step b{font-size:14px}.section{padding:34px 0}.section-head{margin-bottom:22px}.center{text-align:center}.center .eyebrow{justify-content:center}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{padding:22px}.card h3{margin-bottom:9px}.card p{font-size:14px}.service-card{display:flex;gap:17px;align-items:center;min-height:137px}.service-card .icon{font-size:35px;color:var(--blue);background:#e8f5ff;padding:14px;border-radius:16px}.service-card .arrow{margin-left:auto;color:var(--blue);font-size:28px}.price-grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:13px;align-items:stretch}.price{position:relative;display:flex;flex-direction:column}.price.popular{border:2px solid var(--blue);padding-top:31px}.ribbon{position:absolute;top:0;left:0;right:0;background:linear-gradient(90deg,#0066f3,#02a5ff);text-align:center;color:white;font-weight:900;font-size:12px;border-radius:14px 14px 0 0;padding:5px}.amount{font-size:34px;font-weight:900;letter-spacing:-.06em;color:#070e21}.currency{font-size:13px;letter-spacing:0}.checklist{padding:0;list-style:none;font-size:13px}.checklist li{margin:8px 0;display:flex;gap:9px}.checklist li:before{content:'✓';color:var(--blue);font-weight:900}.price .btn{margin-top:auto}.banner{margin:28px 0;padding:26px 30px;background:linear-gradient(110deg,#0865c4,#0343b8 60%,#002778);border-radius:19px;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden}.banner h2,.banner p{color:white;margin:0}.banner p{font-size:14px}.banner .btn-outline{color:var(--blue)}.skyline{background:linear-gradient(90deg,#00367e,#0655a9a8),url('../assets/images/toronto.webp') center/cover}.photo{width:100%;height:100%;min-height:230px;object-fit:cover;border-radius:17px}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.pill{display:inline-block;border:1px solid #bcdcff;background:#f0f8ff;color:var(--blue);border-radius:100px;padding:6px 12px;font-size:12px;font-weight:800;margin:3px}.project-img{width:100%;height:205px;object-fit:cover;border-radius:13px}.portfolio-card{overflow:hidden}.portfolio-card .project-img{margin-bottom:14px}.table-wrap{overflow-x:auto}.compare{border-collapse:collapse;width:100%;background:white;border-radius:14px;overflow:hidden}.compare th,.compare td{border:1px solid #d7e6f5;padding:11px 13px;text-align:center;font-size:13px}.compare td:first-child,.compare th:first-child{text-align:left}.compare th{background:#eaf5ff}.compare td:nth-child(3){background:#e9f4ff}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:15px;font-size:13px;font-weight:750}.field input,.field select,.field textarea{border:1px solid #b6c9dc;border-radius:10px;padding:12px 13px;background:white;color:#1a2840;width:100%}.field textarea{min-height:125px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #7abfff}.tab-buttons{display:flex;gap:8px;margin-bottom:15px}.tab-buttons button{flex:1;padding:17px;border:1px solid #a5d4fc;border-radius:14px;background:#eaf5ff;color:#15417b;font-weight:850}.tab-buttons button.selected{background:linear-gradient(90deg,#0073f7,#0644dc);color:white}.hidden{display:none!important}.notice{padding:14px;border-radius:10px;background:#fff5e6;border:1px solid #ffe0a3;font-size:13px}.site-footer{background:#061b43;color:#c6ddfa;margin-top:35px;padding:30px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.site-footer a:hover{color:white}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px}.small{font-size:13px;color:var(--muted)}.service-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.service-nav a{border:1px solid #b4d7f9;padding:8px 13px;border-radius:30px;background:white;font-size:13px;font-weight:700;color:var(--blue)}.feature-panel{scroll-margin-top:100px;padding:25px;margin:20px 0}.hero-small{padding:40px 0 25px}.hero-small h1{font-size:clamp(34px,3.6vw,54px)}.quote-form .check-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:13px;margin:12px 0 20px}.quote-form label.option{display:flex;gap:7px;align-items:center}.mock-badge{display:inline-block;color:#fff;background:#0074ec;padding:5px 12px;border-radius:99px;font-size:12px;font-weight:800}.muted{color:var(--muted)}@media(max-width:1100px){.tagline{display:none}.nav{gap:12px}.price-grid{grid-template-columns:repeat(2,1fr)}.price-grid>div:first-child{grid-column:1/-1}.strip{grid-template-columns:repeat(2,1fr)}:is(.strip>h3,.strip>h2.seo-promoted-heading){grid-column:1/-1}.strip .item{border:0}.process{grid-template-columns:repeat(2,1fr)}.process>div:first-child{grid-column:1/-1}}@media(max-width:780px){.header-inner{min-height:66px}.brand img{width:46px;height:46px}.brand-text{font-size:18px}.mobile-toggle{display:block}.nav{display:none;position:absolute;top:65px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:18px 5%;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a.active{border-bottom:0}.header-inner>.btn{display:none}.hero-grid,.split,.two-col{grid-template-columns:1fr}.hero{padding-top:23px}.hero-art{margin:12px 0 26px}.device img{height:220px}.phone img{height:180px}.featured{position:relative;bottom:auto;left:auto;right:auto;margin:-15px 8% 0}.dots{display:none}.cards-3,.cards-4{grid-template-columns:1fr 1fr}.price-grid{grid-template-columns:1fr 1fr}.strip,.process{grid-template-columns:1fr 1fr}.banner{flex-direction:column;align-items:flex-start}.field-grid{grid-template-columns:1fr}}@media(max-width:540px){h1{font-size:37px}.cards-3,.cards-4,.price-grid,.strip,.process{grid-template-columns:1fr}:is(.strip>h3,.strip>h2.seo-promoted-heading),.process>div:first-child,.price-grid>div:first-child{grid-column:auto}.card{padding:18px}.hero-actions .btn{width:100%}.phone{width:27%}.phone img{height:150px}.device img{height:165px}.benefits{gap:10px}.field-grid{grid-template-columns:1fr}.quote-form .check-options{grid-template-columns:1fr}.banner .btn{width:100%}.tab-buttons button{font-size:12px;padding:12px 7px}}

/* v2 homepage and service improvements */
.dsb-icon{width:27px;height:27px;display:inline-block;flex:none;vertical-align:middle}.mini-icon,.strip .symbol{display:inline-flex;align-items:center;justify-content:center}.mini-icon .dsb-icon{width:27px;height:27px}.strip .symbol .dsb-icon{width:36px;height:36px}.step-icon{display:inline-flex;background:white;color:var(--blue);padding:11px;border-radius:50%;box-shadow:var(--shadow)}.step-icon .dsb-icon{width:27px;height:27px}.price-icon{display:inline-flex;color:var(--blue);background:#edf7ff;border-radius:13px;padding:8px;margin-bottom:8px}.price-icon .dsb-icon{width:30px;height:30px}.featured .circle{display:inline-flex;align-items:center;justify-content:center;padding:12px}.featured .circle .dsb-icon{width:31px;height:31px}.feature-arrow{margin-left:auto;color:var(--blue)}.feature-arrow .dsb-icon{width:30px;height:30px}.feature-carousel{min-height:400px;padding-bottom:33px}.carousel-slide{display:none;position:relative;animation:carouselFade .45s ease}.carousel-slide.is-active{display:block}.carousel-slide .device{position:relative}.carousel-slide .phone{position:absolute;right:1%;bottom:-6px}.carousel-slide .featured{position:absolute;bottom:-19px;left:12%;right:12%;z-index:2}.carousel-arrow{position:absolute;z-index:5;top:40%;width:47px;height:47px;border:1px solid #d3e5fa;border-radius:50%;background:#fff;color:var(--blue);font-size:37px;line-height:1;box-shadow:var(--shadow)}.carousel-arrow.prev{left:-21px}.carousel-arrow.next{right:-21px}.carousel-dots{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:10px}.carousel-dot{border:0;border-radius:50%;width:13px;height:13px;background:#9cabc0;padding:0}.carousel-dot.is-active{background:var(--blue);transform:scale(1.1)}.carousel-slide .device>img{object-fit:contain;background:#0a1527}.carousel-slide .phone>img{object-fit:cover}.nav-dropdown{position:relative;display:flex;align-items:center;gap:4px}.submenu-toggle{background:none;border:0;color:var(--blue);padding:6px;font-size:20px;font-weight:800}.submenu{display:none;position:absolute;top:100%;left:-18px;width:260px;padding:10px;background:white;border:1px solid #d6e8fb;border-radius:14px;box-shadow:0 12px 30px #123b6b29;z-index:80}.nav-dropdown:hover .submenu,.nav-dropdown:focus-within .submenu,.nav-dropdown.expanded .submenu{display:flex;flex-direction:column}.submenu a{display:block!important;padding:10px 12px!important;border:0!important;border-radius:8px;font-size:13px}.submenu a:hover{background:#eaf5ff}.showcase-grid{align-items:center}.showcase-grid h2{max-width:600px}.showcase-visual{border-radius:20px;padding:12px;background:linear-gradient(140deg,#c7eaff,#f6fbff);border:1px solid #b7daf7;box-shadow:var(--shadow)}.showcase-visual img{width:100%;height:320px;object-fit:cover;object-position:center;border-radius:13px;display:block}.showcase-points{margin:20px 0}.showcase-point{display:flex;gap:13px;margin:13px 0;align-items:flex-start}.showcase-point .dsb-icon{color:var(--blue);width:23px;height:23px}.showcase-point p{font-size:13px;margin:3px 0}.gallery-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-tile{background:#fff;border:1px solid var(--line);padding:10px;border-radius:16px;box-shadow:var(--shadow)}.gallery-tile img{display:block;width:100%;height:190px;object-fit:cover;object-position:center;border-radius:11px}.gallery-tile strong{display:block;padding:12px 5px 5px}.project-img{object-fit:cover;object-position:center;image-rendering:auto}@keyframes carouselFade{from{opacity:.25}to{opacity:1}}@media(max-width:780px){.feature-carousel{min-height:315px}.carousel-slide .device img{height:220px}.carousel-slide .phone img{height:180px}.carousel-arrow.prev{left:-8px}.carousel-arrow.next{right:-8px}.carousel-slide .featured{position:relative;bottom:auto;left:auto;right:auto;margin:-12px 8% 10px}.nav-dropdown{display:block}.submenu{position:static;box-shadow:none;width:100%;margin:3px 0 8px}.gallery-preview-grid{grid-template-columns:1fr 1fr}}@media(max-width:540px){.feature-carousel{min-height:270px}.carousel-slide .device img{height:165px}.carousel-slide .phone img{height:150px}.gallery-preview-grid{grid-template-columns:1fr}.showcase-visual img{height:220px}}@media(prefers-reduced-motion:reduce){.carousel-slide{animation:none}}

/* v3: visible project carousel, crisp vector icons, faithful device previews */
.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:28px}
.hero-copy h1{font-size:clamp(38px,3.75vw,59px)}
.feature-carousel{min-width:0;min-height:395px;padding:0 12px 48px;overflow:visible}
.feature-carousel .carousel-slide{position:relative;display:none}
.feature-carousel .carousel-slide.is-active{display:block}
.featured-visual{width:100%;height:335px;display:flex;align-items:center;justify-content:center}
.featured-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 8px 12px #13436b22)}
.feature-carousel .featured{position:absolute;bottom:-19px;left:18%;right:13%;z-index:3;min-height:78px;padding:10px 16px;border-radius:21px}
.feature-carousel .featured .circle{width:54px;height:54px;flex:none}
.feature-carousel .carousel-arrow{top:41%;transform:translateY(-50%);width:48px;height:48px;font-size:25px;display:flex;align-items:center;justify-content:center}
.feature-carousel .carousel-arrow.prev{left:-19px}.feature-carousel .carousel-arrow.next{right:-19px}
.feature-carousel .carousel-dots{bottom:2px}
.dsb-icon{width:30px;height:30px;stroke-width:2.2;overflow:visible}
.mini-icon{width:51px;height:51px;padding:10px;border-radius:14px;flex:none}
.mini-icon .dsb-icon{width:31px;height:31px}
.strip .symbol .dsb-icon{width:38px;height:38px}
.step-icon .dsb-icon{width:30px;height:30px}
.price-icon .dsb-icon{width:36px;height:36px}
.benefits{gap:13px}.benefit{gap:8px}
@media(max-width:780px){.hero-grid{grid-template-columns:1fr}.feature-carousel{min-height:345px;padding:0 12px 52px}.featured-visual{height:265px}.feature-carousel .featured{left:9%;right:9%;bottom:-23px;position:absolute;margin:0}.feature-carousel .carousel-arrow{top:38%}}
@media(max-width:540px){.featured-visual{height:190px}.feature-carousel{min-height:280px}.feature-carousel .featured{left:6%;right:6%;font-size:12px}.feature-carousel .featured strong{font-size:14px}.feature-carousel .carousel-arrow{width:36px;height:36px;font-size:18px}.feature-carousel .carousel-arrow.prev{left:-7px}.feature-carousel .carousel-arrow.next{right:-7px}}

/* The supplied Andora reference already contains its project label; do not duplicate it. */
.carousel-slide[data-slide="0"] .featured{display:none}

/* v4 — Home(6) reference: bright blue gradients on a pearl-white canvas */
body{background:linear-gradient(165deg,#fff 0%,#f9fcff 31%,#eaf7ff 76%,#f8fcff 100%)}
.hero{isolation:isolate;padding-top:28px;padding-bottom:24px}
.hero:after{z-index:-1;right:-12%;top:0;width:72%;height:105%;background:radial-gradient(ellipse at 65% 48%,rgba(78,181,252,.38) 0%,rgba(150,217,255,.29) 45%,rgba(234,248,255,0) 74%);border-radius:52% 0 0 48%}
.hero-copy h1{font-size:clamp(40px,3.85vw,61px);line-height:1.035}
.hero-copy>p{font-size:clamp(17px,1.4vw,21px);line-height:1.45}
.benefits{gap:16px;margin:22px 0 18px}.benefit{font-size:13px}
.mini-icon{width:51px;height:51px;border:1px solid #eaf2ff;box-shadow:0 7px 14px rgba(0,84,183,.13)}
.mini-icon .dsb-icon{width:29px;height:29px;stroke-width:2}
.feature-carousel{min-height:402px}.featured-visual{height:345px}
.featured-visual img{width:100%;height:100%;object-fit:contain;object-position:center;image-rendering:auto;filter:drop-shadow(0 10px 15px rgba(12,53,98,.12))}
.carousel-slide[data-slide="1"] .featured-visual,.carousel-slide[data-slide="2"] .featured-visual{padding:18px 8px 56px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.90),rgba(220,241,255,.8))}
.carousel-slide[data-slide="1"] .featured,.carousel-slide[data-slide="2"] .featured{bottom:4px}
.carousel-arrow{border:1px solid #b9dcff!important;box-shadow:0 5px 15px rgba(10,87,175,.18)}
.strip,.process,.card,.soft-card{background:rgba(255,255,255,.95);box-shadow:0 5px 15px rgba(0,88,181,.09)}
.strip,.process{border-color:#c8e4ff}.price.popular{box-shadow:0 7px 21px rgba(4,93,221,.19)}.dsb-icon{stroke-width:1.9}
@media(max-width:780px){.hero{padding-top:22px}.feature-carousel{min-height:345px}.featured-visual{height:265px}.carousel-slide[data-slide="1"] .featured-visual,.carousel-slide[data-slide="2"] .featured-visual{padding:12px 5px 52px}}
@media(max-width:540px){.feature-carousel{min-height:280px}.featured-visual{height:190px}.carousel-slide[data-slide="1"] .featured-visual,.carousel-slide[data-slide="2"] .featured-visual{padding:5px 4px 50px}}

/* v5 — reference Home(7): defined curved blue hero, matching carousel device sizes */
body{background:#fff}
.hero{position:relative;isolation:isolate;background:linear-gradient(115deg,#fff 0%,#fff 36%,#f3faff 74%,#edf8ff 100%);overflow:hidden}
.hero::before{content:"";position:absolute;z-index:-1;right:-12%;top:-29%;width:72%;height:123%;background:#d8efff;border-radius:58% 0 0 52%;transform:rotate(-13deg)}
.hero::after{content:"";position:absolute;z-index:-1;right:-16%;top:-21%;width:56%;height:111%;background:linear-gradient(145deg,#9bd6ff 0%,#c4e8ff 48%,#e7f7ff 100%);border-radius:65% 0 0 52%;transform:rotate(-15deg)}
.hero-grid{position:relative;z-index:1;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);align-items:center}
.hero-art{margin:0}.feature-carousel{min-height:410px;padding:0 16px 46px}
.feature-carousel .carousel-slide{height:350px}
.featured-visual,.carousel-slide[data-slide="1"] .featured-visual,.carousel-slide[data-slide="2"] .featured-visual{width:100%;height:350px;padding:0;background:none;border:0;border-radius:0;overflow:visible}
.featured-visual img,.carousel-slide[data-slide="1"] .featured-visual img,.carousel-slide[data-slide="2"] .featured-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
.feature-carousel .featured,.carousel-slide[data-slide="1"] .featured,.carousel-slide[data-slide="2"] .featured{display:flex;position:absolute;left:18%;right:13%;bottom:-13px;margin:0;padding:10px 17px;min-height:76px;border:1px solid #e3effb;border-radius:20px;box-shadow:0 10px 22px #0a458022;background:#fff}
.feature-carousel .carousel-arrow{top:43%}.feature-carousel .carousel-dots{bottom:1px}
.strip,.process{background:#fff;border:1px solid #cce6ff;box-shadow:0 6px 15px #1168b91a}
.section:has(.price-grid){position:relative;isolation:isolate;overflow:hidden}
.section:has(.price-grid)::before{content:"";position:absolute;z-index:-1;left:-12%;bottom:-85px;width:80%;height:210px;border-radius:50% 65% 0 0;background:linear-gradient(90deg,#a5d9ff,#e6f7ff);transform:rotate(5deg)}
.section:has(.price-grid)::after{content:"";position:absolute;z-index:-1;right:-18%;bottom:-100px;width:70%;height:240px;border-radius:60% 50% 0 0;background:#c8eaff;transform:rotate(-8deg)}
.benefits .mini-icon{border-radius:15px;box-shadow:0 5px 12px #005fc024}.dsb-icon{stroke-width:1.9}
@media(max-width:780px){.hero::before{width:120%;height:65%;right:-35%;top:45%}.hero::after{width:100%;height:50%;right:-35%;top:55%}.feature-carousel{min-height:360px}.feature-carousel .carousel-slide,.featured-visual,.carousel-slide[data-slide="1"] .featured-visual,.carousel-slide[data-slide="2"] .featured-visual{height:270px}.feature-carousel .featured{left:10%;right:10%;bottom:-20px}}
@media(max-width:540px){.feature-carousel{min-height:285px}.feature-carousel .carousel-slide,.featured-visual,.carousel-slide[data-slide="1"] .featured-visual,.carousel-slide[data-slide="2"] .featured-visual{height:185px}.feature-carousel .featured{left:7%;right:7%;min-height:68px;font-size:12px}}

.carousel-slide[data-slide="0"] .featured{display:flex}

/* Home(8) reference rebuild — scoped styles; original pages preserved. */
body:has(.feature-carousel){background:#fff}
body:has(.feature-carousel) .hero{isolation:isolate;overflow:visible;padding:30px 0 13px;background:#fafdff}
body:has(.feature-carousel) .hero::after{content:"";position:absolute;z-index:-1;right:0;top:0;width:67%;height:100%;border-radius:0;background:url('../assets/images/hero-wave.svg') right top / 100% 100% no-repeat}
body:has(.feature-carousel) .hero-grid{grid-template-columns:minmax(0, .91fr) minmax(0,1.09fr);gap:32px;min-height:360px}
body:has(.feature-carousel) .hero-copy{padding:0 0 12px 6px}
body:has(.feature-carousel) .hero-copy h1{font-size:clamp(39px,3.65vw,59px);line-height:1.03;letter-spacing:-.05em;max-width:650px;margin:12px 0 9px}
body:has(.feature-carousel) .hero-copy>p{font-size:clamp(16px,1.35vw,20px);line-height:1.36;margin:0;max-width:575px;color:#0c1730}
body:has(.feature-carousel) .benefits{gap:15px;margin:16px 0 12px}
body:has(.feature-carousel) .benefit{gap:8px;font-size:13px;white-space:nowrap}
body:has(.feature-carousel) .mini-icon{padding:9px;background:#fff;border-radius:14px;box-shadow:0 6px 15px #0a62bb22}
body:has(.feature-carousel) .hero-actions{margin:14px 0 0}
body:has(.feature-carousel) .hero-actions .btn{min-height:47px}
body:has(.feature-carousel) .feature-carousel{width:100%;height:390px;min-height:390px;padding:0 0 26px}
body:has(.feature-carousel) .carousel-slide{height:355px;position:relative}
body:has(.feature-carousel) .featured-visual{height:330px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none;padding:0;overflow:visible}
body:has(.feature-carousel) .featured-visual img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;filter:drop-shadow(0 8px 8px #0d3d6420)}
body:has(.feature-carousel) .carousel-slide .featured{position:absolute;left:20%;right:10%;bottom:-1px;min-height:75px;margin:0;padding:10px 16px;border-radius:22px;box-shadow:0 10px 25px #103a6538;display:flex;z-index:2}
body:has(.feature-carousel) .featured .circle{width:55px;height:55px;flex:none}
body:has(.feature-carousel) .featured strong{font-size:17px}
body:has(.feature-carousel) .featured .small{font-size:12px}
body:has(.feature-carousel) .carousel-arrow{top:38%;width:46px;height:46px;font-size:29px;border:1px solid #cde4fa;box-shadow:0 5px 15px #144d832a}
body:has(.feature-carousel) .carousel-arrow.prev{left:-17px}
body:has(.feature-carousel) .carousel-arrow.next{right:-17px}
body:has(.feature-carousel) .carousel-dots{bottom:1px}
body:has(.feature-carousel) .strip{margin:7px auto 12px;padding:12px 19px;border-radius:17px;box-shadow:0 4px 10px #0c69be17}
body:has(.feature-carousel) .strip :is(h3,h2.seo-promoted-heading){font-size:19px;line-height:1.2}
body:has(.feature-carousel) .strip .item{padding:4px 12px;gap:9px}
body:has(.feature-carousel) .strip .item .symbol .dsb-icon{width:33px;height:33px}
body:has(.feature-carousel) .process{margin:10px auto 12px;padding:13px 18px;border-radius:16px;gap:10px;box-shadow:0 4px 10px #0c69be17}
body:has(.feature-carousel) .process h2{font-size:29px}
body:has(.feature-carousel) .step-icon{padding:9px}
body:has(.feature-carousel) .section{padding:18px 0 8px;position:relative;isolation:isolate}
body:has(.feature-carousel) .section:before{content:"";position:absolute;inset:0;z-index:-1;background:url('../assets/images/bottom-wave.svg') center bottom / 100% 100% no-repeat}
body:has(.feature-carousel) .price-grid{grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:12px}
body:has(.feature-carousel) .price-grid>.card{padding:15px;min-height:280px}
body:has(.feature-carousel) .price-grid h2{font-size:27px}
body:has(.feature-carousel) .price-grid :is(h3,h2.seo-promoted-heading){font-size:18px;margin:0 0 4px}
body:has(.feature-carousel) .price-grid .price-icon{margin-bottom:5px}
body:has(.feature-carousel) .price-grid .amount{font-size:31px}
body:has(.feature-carousel) .price-grid .checklist{font-size:12px;margin:8px 0}
body:has(.feature-carousel) .price-grid .checklist li{margin:4px 0}
body:has(.feature-carousel) .price-grid .price p{font-size:12px;margin-bottom:4px}
body:has(.feature-carousel) .price-grid .price .small{font-size:11px}
body:has(.feature-carousel) .price-grid .btn{padding:9px 10px}
body:has(.feature-carousel) .banner{margin:14px 0 23px}
@media(max-width:1150px){body:has(.feature-carousel) .hero-grid{grid-template-columns:1fr 1fr}body:has(.feature-carousel) .hero-copy h1{font-size:clamp(35px,4vw,50px)}body:has(.feature-carousel) .benefit{font-size:11px}body:has(.feature-carousel) .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body:has(.feature-carousel) .price-grid>div:first-child{grid-column:1/-1}body:has(.feature-carousel) .strip{grid-template-columns:repeat(2,1fr)}body:has(.feature-carousel) :is(.strip>h3,.strip>h2.seo-promoted-heading){grid-column:1/-1}body:has(.feature-carousel) .process{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){body:has(.feature-carousel) .hero-grid{grid-template-columns:1fr}body:has(.feature-carousel) .hero{padding-top:23px}body:has(.feature-carousel) .hero::after{width:100%;top:33%;height:65%}body:has(.feature-carousel) .feature-carousel{height:330px;min-height:330px}body:has(.feature-carousel) .carousel-slide{height:290px}body:has(.feature-carousel) .featured-visual{height:250px}body:has(.feature-carousel) .carousel-slide .featured{left:12%;right:10%;bottom:0}body:has(.feature-carousel) .process{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){body:has(.feature-carousel) .hero-copy h1{font-size:37px}body:has(.feature-carousel) .feature-carousel{height:265px;min-height:265px}body:has(.feature-carousel) .carousel-slide{height:225px}body:has(.feature-carousel) .featured-visual{height:190px}body:has(.feature-carousel) .carousel-slide .featured{min-height:58px;padding:7px;left:8%;right:8%}body:has(.feature-carousel) .featured .circle{width:40px;height:40px}body:has(.feature-carousel) .featured strong{font-size:14px}body:has(.feature-carousel) .featured .small{font-size:10px}body:has(.feature-carousel) .price-grid,body:has(.feature-carousel) .strip,body:has(.feature-carousel) .process{grid-template-columns:1fr}body:has(.feature-carousel) .price-grid>div:first-child,body:has(.feature-carousel) :is(.strip>h3,.strip>h2.seo-promoted-heading){grid-column:auto}}

/* Home(8) layout correction: background artwork stays inside the hero.
   No rotated pseudo-elements may extend across subsequent sections. */
body:has(.feature-carousel) .hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#fff 0%,#fbfdff 43%,#edf8ff 100%);padding-bottom:22px}
body:has(.feature-carousel) .hero::before{content:none!important;display:none!important}
body:has(.feature-carousel) .hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;bottom:0;right:0;left:auto;width:61%;height:100%;transform:none;border-radius:0;background:url('../assets/images/hero-wave-clean.svg') center right / 100% 100% no-repeat}
body:has(.feature-carousel) .hero-grid{position:relative;z-index:1}
body:has(.feature-carousel) .section{isolation:isolate;overflow:hidden}
body:has(.feature-carousel) .section::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:url('../assets/images/bottom-wave-clean.svg') center bottom / 100% 100% no-repeat}
body:has(.feature-carousel) .feature-carousel{overflow:visible}
body:has(.feature-carousel) .featured-visual{overflow:hidden}
body:has(.feature-carousel) .featured-visual img{max-width:100%;max-height:100%;object-fit:contain}
body:has(.feature-carousel) .price-grid>.card{min-width:0;display:flex;flex-direction:column;overflow:visible}
body:has(.feature-carousel) .price-grid .btn{margin-top:auto}
body:has(.feature-carousel) .price-grid .amount{white-space:nowrap;font-size:clamp(23px,2vw,31px)}
body:has(.feature-carousel) .price-grid .currency{font-size:12px}
body:has(.feature-carousel) .mini-icon,body:has(.feature-carousel) .step-icon{color:#0758ee}
body:has(.feature-carousel) .dsb-icon{stroke-width:1.8}
@media(max-width:780px){body:has(.feature-carousel) .hero::after{width:100%;height:58%;top:auto;bottom:0;opacity:.6}}

/* Home(9) reference: soft white-to-blue hero with sweeping curved right edge,
   and a second separate curved background behind the packages / pre-footer CTA. */
body:has(.feature-carousel) .hero {
  background:linear-gradient(110deg,#fff 0%,#fbfdff 37%,#f0faff 72%,#e5f5ff 100%);
  overflow:hidden;
}
body:has(.feature-carousel) .hero::after {
  top:0;right:0;bottom:0;left:auto;
  width:69%;height:100%;opacity:1;
  background:url('../assets/images/hero-wave-clean.svg') right center / 100% 100% no-repeat;
}
body:has(.feature-carousel) .section:has(.price-grid) {
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,#fff 24%,#f6fbff 100%);
}
body:has(.feature-carousel) .section:has(.price-grid)::before {
  content:"";position:absolute;z-index:-1;inset:auto 0 0;
  height:78%;pointer-events:none;
  background:url('../assets/images/bottom-wave-clean.svg') center bottom / 100% 100% no-repeat;
}
body:has(.feature-carousel) .section:has(.price-grid)::after {content:none!important}
body:has(.feature-carousel) .section:has(.price-grid) .price-grid {position:relative;z-index:1}
@media(max-width:780px){
  body:has(.feature-carousel) .hero::after{width:100%;height:58%;top:auto;bottom:0;opacity:.72}
  body:has(.feature-carousel) .section:has(.price-grid)::before{height:55%;opacity:.65}
}

/* vNext: refined Services-inspired hero sweep and restrained pre-footer curves. */
body:has(.feature-carousel) .hero {
  background:linear-gradient(105deg,#fff 0%,#fff 34%,#f8fcff 58%,#eaf7ff 100%);
}
body:has(.feature-carousel) .hero::after {
  width:67%;background:url('../assets/images/hero-wave-clean.svg') right center / 100% 100% no-repeat;
}
body:has(.feature-carousel) .section:has(.price-grid) {
  background:#fff;
}
body:has(.feature-carousel) .section:has(.price-grid)::before {
  height:100%;background:url('../assets/images/bottom-wave-clean.svg') center bottom / 100% 100% no-repeat;
}
@media(max-width:780px){
  body:has(.feature-carousel) .hero::after{width:100%;height:57%;top:auto;bottom:0;opacity:.65}
  body:has(.feature-carousel) .section:has(.price-grid)::before{height:100%;opacity:.55}
}



/* FINAL: scoped, contained, non-intrusive curves — Home only. */
body:has(.feature-carousel) .hero {
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(112deg,#fff 0%,#fff 38%,#f8fcff 67%,#eff9ff 100%);
}
body:has(.feature-carousel) .hero::before {content:none!important;display:none!important}
body:has(.feature-carousel) .hero::after {
  content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:18px 2.2% 18px auto;width:min(66%,1040px);height:auto;
  border-radius:0;opacity:1;transform:none;
  background:url('../assets/images/hero-curve-contained.svg') center / 100% 100% no-repeat;
}
/* The price cards are on a clean, white canvas: no wave at all. */
body:has(.feature-carousel) .section:has(.price-grid),
body:has(.feature-carousel) .section:has(.price-grid)::before,
body:has(.feature-carousel) .section:has(.price-grid)::after {
  background:#fff;
}
body:has(.feature-carousel) .section:has(.price-grid)::before,
body:has(.feature-carousel) .section:has(.price-grid)::after {
  content:none!important;display:none!important;
}
/* The only lower curves live INSIDE the rounded CTA banner. */
body:has(.feature-carousel) .banner {
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(110deg,#0767cc 0%,#064bb8 57%,#042a83 100%);
  border-radius:19px;
}
body:has(.feature-carousel) .banner::before {
  content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;
  background:url('../assets/images/cta-curve-contained.svg') center / 100% 100% no-repeat;
}
body:has(.feature-carousel) .banner::after {content:none!important;display:none!important}
/* Crisp, unified blue outline icon system. Icons are independent SVG assets. */
.dsb-icon {display:block;flex:none;width:28px;height:28px;object-fit:contain}
@media(max-width:780px){
 body:has(.feature-carousel) .hero::after {inset:auto 3% 12px 3%;width:94%;height:58%;opacity:.78}
 body:has(.feature-carousel) .banner::before {opacity:.65}
}

/* Carousel polish: preserve device proportions and the inset flowing hero curves. */
body:has(.feature-carousel) .hero::after{inset:12px 2% 12px auto;width:min(69%,1100px);background-size:100% 100%}
body:has(.feature-carousel) .featured-visual{width:100%;display:flex;align-items:center;justify-content:center}
body:has(.feature-carousel) .featured-visual img{width:100%;height:auto;max-height:370px;object-fit:contain;object-position:center}
body:has(.feature-carousel) .featured .circle{background:linear-gradient(145deg,#00a7f7,#0751e7);color:#fff}
body:has(.feature-carousel) .featured .circle .dsb-icon{filter:none;opacity:1}
@media(max-width:780px){body:has(.feature-carousel) .hero::after{inset:auto 2% 8px 2%;width:96%;height:58%}body:has(.feature-carousel) .featured-visual img{max-height:260px}}

/* REFERENCE TRACE — Home screenshot 1536x1024. Paths anchored to hero section. */
body:has(.feature-carousel) .hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(90deg,#fff,#eaf7ff)}
body:has(.feature-carousel) .hero::before{content:none!important;display:none!important}
body:has(.feature-carousel) .hero::after{content:"";position:absolute;inset:0!important;width:100%!important;height:100%!important;z-index:-1;pointer-events:none;opacity:1;transform:none;border:0;border-radius:0;background:url('../assets/images/hero-reference-traced.svg') center center / 100% 100% no-repeat!important}
body:has(.feature-carousel) .banner{position:relative;isolation:isolate;overflow:hidden;background:#0646af;border-radius:19px}
body:has(.feature-carousel) .banner::before{content:"";position:absolute;inset:0;z-index:-1;background:url('../assets/images/cta-reference-traced.svg') center / 100% 100% no-repeat!important;pointer-events:none;opacity:1}
body:has(.feature-carousel) .section:has(.price-grid){background:transparent!important}
body:has(.feature-carousel) .section:has(.price-grid)::before,body:has(.feature-carousel) .section:has(.price-grid)::after{content:none!important;display:none!important}
@media(max-width:780px){body:has(.feature-carousel) .hero::after{inset:0!important;width:100%!important;height:100%!important;background-position:58% center!important;background-size:cover!important}}

/* REFERENCE-LOCKED CONTAINED BACKGROUNDS — homepage only. */
body:has(.feature-carousel){background:#fff}
body:has(.feature-carousel) .hero{position:relative;isolation:isolate;overflow:hidden;margin:0 auto;width:calc(100% - 36px);max-width:1560px;border-radius:19px;border:0;background:#f7fcff}
body:has(.feature-carousel) .hero::before{content:none!important;display:none!important}
body:has(.feature-carousel) .hero::after{content:"";position:absolute;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;pointer-events:none;border:0!important;border-radius:0!important;opacity:1!important;transform:none!important;background:url('../assets/images/hero-reference-final.svg') center/100% 100% no-repeat!important}
body:has(.feature-carousel) .hero>.container{position:relative;z-index:1}
body:has(.feature-carousel) .section:has(.price-grid){background:#fff!important}
body:has(.feature-carousel) .section:has(.price-grid)::before,body:has(.feature-carousel) .section:has(.price-grid)::after{content:none!important;display:none!important}
body:has(.feature-carousel) .banner{position:relative;isolation:isolate;overflow:hidden;background:#0646ae!important;border:0;border-radius:18px}
body:has(.feature-carousel) .banner::before{content:"";position:absolute;inset:0!important;z-index:0!important;width:100%;height:100%;pointer-events:none;opacity:1!important;background:url('../assets/images/cta-reference-final.svg') center/100% 100% no-repeat!important}
body:has(.feature-carousel) .banner::after{content:none!important;display:none!important}
body:has(.feature-carousel) .banner>*{position:relative;z-index:1}
body:has(.feature-carousel) .dsb-icon{width:28px;height:28px;object-fit:contain}
@media(max-width:780px){body:has(.feature-carousel) .hero{width:calc(100% - 20px);border-radius:16px}body:has(.feature-carousel) .hero::after{background-size:cover!important;background-position:62% center!important}}


/* November 2026: targeted polish; original section geometry preserved. */
body:has(.feature-carousel) .hero{background:linear-gradient(100deg,#ffffff 0%,#fbfdff 37%,#e7f6ff 100%);overflow:hidden;isolation:isolate}
body:has(.feature-carousel) .hero::before{content:""!important;display:block!important;position:absolute;z-index:0;pointer-events:none;left:13px;top:24px;bottom:24px;width:72px;border-left:3px solid rgba(107,189,249,.38);border-top:3px solid rgba(107,189,249,.22);border-bottom:3px solid rgba(107,189,249,.14);border-radius:80px 0 0 80px;mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 72%,transparent 100%)}
body:has(.feature-carousel) .hero>.container{z-index:2}
/* Put the project description BELOW the entire mockup, never across its screen. */
body:has(.feature-carousel) .feature-carousel{height:430px;min-height:430px}
body:has(.feature-carousel) .carousel-slide{height:400px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
body:has(.feature-carousel) .featured-visual{height:310px;flex:0 0 310px;width:100%;overflow:visible;display:flex;align-items:center;justify-content:center}
body:has(.feature-carousel) .featured-visual img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;image-rendering:auto}
body:has(.feature-carousel) .carousel-slide .featured{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:min(78%,540px);min-height:74px;margin:-3px auto 0;flex:0 0 auto;z-index:3}
body:has(.feature-carousel) .carousel-dots{bottom:0}
body:has(.feature-carousel) .carousel-arrow{top:35%}
/* Final CTA: curved treatment sits on the SECTION background, behind the blue CTA card. */
body:has(.feature-carousel) main>.container:last-child{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;padding-top:15px;padding-bottom:15px}
body:has(.feature-carousel) main>.container:last-child::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:url('../assets/images/cta-section-waves.svg') center/100% 100% no-repeat}
body:has(.feature-carousel) .banner{position:relative;z-index:1;margin:10px 0;background:linear-gradient(105deg,#0766c8,#0649bb 65%,#072b85)!important}
body:has(.feature-carousel) .banner::before{content:none!important;display:none!important}
@media(max-width:780px){body:has(.feature-carousel) .hero::before{left:7px;top:25px;bottom:25px;width:25px;opacity:.65}body:has(.feature-carousel) .feature-carousel{height:345px;min-height:345px}body:has(.feature-carousel) .carousel-slide{height:315px}body:has(.feature-carousel) .featured-visual{height:230px;flex-basis:230px}body:has(.feature-carousel) .carousel-slide .featured{width:82%;min-height:67px;margin:0 auto}}
@media(max-width:540px){body:has(.feature-carousel) .feature-carousel{height:280px;min-height:280px}body:has(.feature-carousel) .carousel-slide{height:255px}body:has(.feature-carousel) .featured-visual{height:178px;flex-basis:178px}body:has(.feature-carousel) .carousel-slide .featured{width:88%;min-height:65px;margin:0 auto}}


/* FINAL targeted homepage refinements (2026-11): no global redesign. */
body:has(.feature-carousel) .hero::before{
 left:12px!important;top:18px!important;bottom:18px!important;width:80px!important;
 border-left:4px solid rgba(52,158,246,.48)!important;
 border-top:3px solid rgba(94,184,250,.30)!important;
 border-bottom:3px solid rgba(94,184,250,.18)!important;
 border-radius:90px 0 0 90px!important;
 mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 84%,transparent)!important;
}
/* Every slide uses independent, high pixel-count desktop and mobile screen files. */
body:has(.feature-carousel) .feature-carousel{height:470px!important;min-height:470px!important}
body:has(.feature-carousel) .carousel-slide{height:445px!important;justify-content:flex-start!important}
body:has(.feature-carousel) .featured-visual.device-stage{height:350px!important;flex:0 0 350px!important;position:relative;width:92%;margin:0 auto;overflow:visible!important;display:block!important}
.device-laptop{position:absolute;left:4%;top:8px;width:78%;height:88%;filter:drop-shadow(0 12px 13px rgba(11,43,85,.2))}
.device-screen{position:relative;width:100%;height:92%;padding:10px;background:#101b2b;border:4px solid #6c8497;border-radius:17px 17px 7px 7px;overflow:hidden}
.device-screen img{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border-radius:4px}
.device-base{height:13px;width:109%;margin-left:-4.5%;background:linear-gradient(#e8eff4,#96afc2);border-radius:2px 2px 15px 15px;box-shadow:0 5px 0 #9aaec0}
.device-phone{position:absolute;right:1%;top:35px;width:24%;height:80%;padding:11px 7px 15px;border:4px solid #829aaa;border-radius:28px;background:#101a29;box-shadow:0 10px 22px #183d6630}
.phone-screen{width:100%;height:100%;border-radius:16px;overflow:hidden;background:#091626}
.phone-screen img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:top!important}
.phone-notch{position:absolute;top:6px;left:36%;width:28%;height:4px;border-radius:5px;background:#2b3d4e}
.phone-home{position:absolute;bottom:5px;left:37%;width:26%;height:3px;border-radius:5px;background:#d6e4ef}
body:has(.feature-carousel) .carousel-slide .featured{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;margin:10px auto 0!important;width:min(77%,510px)!important;min-height:74px;flex:0 0 auto;z-index:2}
body:has(.feature-carousel) .carousel-dots{bottom:0!important}
body:has(.feature-carousel) .carousel-arrow{top:34%!important}
/* The CTA is one uninterrupted blue gradient; waves stay in its bottom 18%. */
body:has(.feature-carousel) main>.container:last-child::before{content:none!important;display:none!important}
body:has(.feature-carousel) .banner{overflow:hidden;isolation:isolate;background:linear-gradient(105deg,#0b67c6 0%,#0849b7 65%,#072b82 100%)!important}
body:has(.feature-carousel) .banner::before{content:""!important;display:block!important;position:absolute!important;inset:auto 0 0 0!important;height:19%!important;z-index:0!important;opacity:.5!important;pointer-events:none;background:url('../assets/images/cta-low-waves.svg') center bottom/100% 100% no-repeat!important}
body:has(.feature-carousel) .banner>*{position:relative;z-index:1}
@media(max-width:780px){body:has(.feature-carousel) .feature-carousel{height:365px!important;min-height:365px!important}body:has(.feature-carousel) .carousel-slide{height:345px!important}body:has(.feature-carousel) .featured-visual.device-stage{height:245px!important;flex-basis:245px!important}body:has(.feature-carousel) .carousel-slide .featured{width:84%!important;margin-top:7px!important}.device-screen{padding:6px;border-width:3px}.device-phone{padding:7px 5px 11px;border-width:3px;border-radius:20px;top:25px}.device-laptop{top:4px}}
@media(max-width:540px){body:has(.feature-carousel) .feature-carousel{height:295px!important;min-height:295px!important}body:has(.feature-carousel) .carousel-slide{height:280px!important}body:has(.feature-carousel) .featured-visual.device-stage{height:180px!important;flex-basis:180px!important}body:has(.feature-carousel) .carousel-slide .featured{width:92%!important;min-height:66px;margin-top:5px!important}.device-screen{padding:3px;border-width:2px;border-radius:9px}.device-phone{padding:5px 3px 8px;border-width:2px;border-radius:14px;top:17px}.device-base{height:7px}.phone-notch{top:3px}.phone-home{bottom:3px}}

/* 2026-11-04: focused corrections based on customer screenshots. */
/* Keep only the active slide in layout; prevent adjacent slide leaking below hero. */
body:has(.feature-carousel) .feature-carousel .carousel-slide{display:none!important;position:relative!important}
body:has(.feature-carousel) .feature-carousel .carousel-slide.is-active{display:flex!important;flex-direction:column!important;align-items:center!important}
/* Keep the device image and featured caption as separate non-overlapping blocks. */
body:has(.feature-carousel) .feature-carousel .carousel-slide .featured{margin:16px auto 0!important;flex-shrink:0!important}
/* Ensure Most Popular icon sits below its blue ribbon with generous clearance. */
body:has(.feature-carousel) .price.popular .price-icon{margin-top:17px!important;min-height:54px!important;padding:12px 14px!important;overflow:visible!important;align-items:center!important}
body:has(.feature-carousel) .price.popular .price-icon img{width:28px!important;height:28px!important;object-fit:contain!important;overflow:visible!important}
/* Full-bleed pale blue waves ONLY between the final CTA and footer, behind CTA. */
body:has(.feature-carousel) main>.container:last-child{overflow:visible!important;isolation:isolate!important;position:relative!important}
body:has(.feature-carousel) main>.container:last-child::before{content:""!important;display:block!important;position:absolute!important;left:50%!important;top:0!important;bottom:0!important;width:100vw!important;transform:translateX(-50%)!important;z-index:-1!important;pointer-events:none!important;background: url('../assets/images/cta-section-waves.svg') center bottom / 100% 100% no-repeat!important}
body:has(.feature-carousel) main>.container:last-child .banner{position:relative!important;z-index:1!important;background:linear-gradient(105deg,#0b67c6,#0849b7 65%,#072b82)!important}
/* No wave overlays on the dark CTA surface. */
body:has(.feature-carousel) main>.container:last-child .banner::before,body:has(.feature-carousel) main>.container:last-child .banner::after{content:none!important;display:none!important}
@media(max-width:780px){body:has(.feature-carousel) .price.popular .price-icon{margin-top:16px!important}}

/* 2026-11: sharper, proportional carousel screens and full-bleed footer transition. */
body:has(.feature-carousel) .device-screen img{object-fit:fill!important;image-rendering:auto!important}
body:has(.feature-carousel) .phone-screen img{object-fit:fill!important;object-position:center top!important;image-rendering:auto!important}
body:has(.feature-carousel) .carousel-slide .featured{margin-top:22px!important}
body:has(.feature-carousel) .featured-visual.device-stage{flex-shrink:0!important}
body:has(.feature-carousel) .price.popular .price-icon{box-sizing:border-box!important;display:flex!important;justify-content:flex-start!important}
body:has(.feature-carousel) .price.popular .price-icon img{display:block!important;flex-shrink:0!important}

/* Reference corrections: equal-width wave to hero, non-overlapping caption/dots, equal price icon bands */
body:has(.feature-carousel) .hero{width:calc(100% - 36px)!important;max-width:1560px!important;overflow:hidden!important}
body:has(.feature-carousel) .hero::after{inset:0!important;width:100%!important;height:100%!important;background-size:100% 100%!important}
body:has(.feature-carousel) .feature-carousel{height:505px!important;min-height:505px!important}
body:has(.feature-carousel) .carousel-slide{height:450px!important}
body:has(.feature-carousel) .featured-visual.device-stage{height:344px!important;flex-basis:344px!important}
body:has(.feature-carousel) .carousel-slide .featured{margin:12px auto 0!important;min-height:72px!important}
body:has(.feature-carousel) .carousel-dots{bottom:7px!important;z-index:5!important}
body:has(.feature-carousel) .device-screen img{object-fit:contain!important;background:#070b10!important}
body:has(.feature-carousel) .phone-screen img{object-fit:cover!important;object-position:top!important}
body:has(.feature-carousel) .price .price-icon,body:has(.feature-carousel) .price.popular .price-icon{height:54px!important;min-height:54px!important;margin-top:0!important;padding:12px 14px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;overflow:visible!important}
body:has(.feature-carousel) .price.popular{padding-top:15px!important}
body:has(.feature-carousel) .price.popular .ribbon{position:relative!important;margin:-15px -15px 12px!important}
body:has(.feature-carousel) .price .price-icon img{width:28px!important;height:28px!important;display:block!important;flex:none!important}
@media(max-width:780px){body:has(.feature-carousel) .feature-carousel{height:380px!important;min-height:380px!important}body:has(.feature-carousel) .carousel-slide{height:345px!important}body:has(.feature-carousel) .featured-visual.device-stage{height:245px!important;flex-basis:245px!important}body:has(.feature-carousel) .carousel-dots{bottom:2px!important}}
@media(max-width:540px){body:has(.feature-carousel) .feature-carousel{height:320px!important;min-height:320px!important}body:has(.feature-carousel) .carousel-slide{height:280px!important}body:has(.feature-carousel) .featured-visual.device-stage{height:180px!important;flex-basis:180px!important}}

/* 2026-11-04: CTA waves share the hero's width, behind—not over—the blue banner. */
body:has(.feature-carousel) main>.container:last-child{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  width:calc(100% - 36px)!important;
  max-width:1560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:has(.feature-carousel) main>.container:last-child::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:url('../assets/images/cta-section-waves.svg') center bottom / 100% 100% no-repeat!important;
  border-radius:0!important;
}
body:has(.feature-carousel) main>.container:last-child .banner{
  position:relative!important;
  z-index:1!important;
  background:linear-gradient(105deg,#0b67c6 0%,#0849b7 65%,#072b82 100%)!important;
}
body:has(.feature-carousel) main>.container:last-child .banner::before,
body:has(.feature-carousel) main>.container:last-child .banner::after{
  content:none!important;
  display:none!important;
}
@media(max-width:780px){
 body:has(.feature-carousel) main>.container:last-child{width:calc(100% - 20px)!important}
}

/* Final CTA boundary lock: the wave layer uses the exact hero outer width,
   and is clipped to that section; the opaque CTA banner remains above it. */
body:has(.feature-carousel) main>.container:last-child{
  box-sizing:border-box!important;
  width:calc(100% - 36px)!important;
  max-width:1560px!important;
  margin-inline:auto!important;
  overflow:hidden!important;
  border-radius:19px!important;
  isolation:isolate!important;
}
body:has(.feature-carousel) main>.container:last-child::before{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  background-size:100% 100%!important;
  z-index:-1!important;
}
body:has(.feature-carousel) main>.container:last-child .banner{
  position:relative!important;
  z-index:1!important;
}
@media(max-width:780px){
  body:has(.feature-carousel) main>.container:last-child{
    width:calc(100% - 20px)!important;
    border-radius:16px!important;
  }
}

/* High-resolution carousel artwork: preserve original aspect ratio and sharp rendering. */
body:has(.feature-carousel) .device-screen img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;image-rendering:auto!important}
body:has(.feature-carousel) .phone-screen img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;image-rendering:auto!important}

/* FINAL: wave decoration is outside all panels and below footer content. */
body:has(.feature-carousel) main>.container:last-child::before,
body:has(.feature-carousel) main>.container:last-child::after,
body:has(.feature-carousel) .banner::before,
body:has(.feature-carousel) .banner::after{content:none!important;display:none!important;background:none!important}
body:has(.feature-carousel) main>.container:last-child{overflow:visible!important;border-radius:0!important;background:none!important}
body:has(.feature-carousel) .site-footer{position:relative!important;isolation:isolate!important;background:#061b43!important;overflow:hidden!important;padding-bottom:100px!important}
body:has(.feature-carousel) .site-footer::before{content:none!important;display:none!important}
body:has(.feature-carousel) .site-footer::after{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;bottom:0!important;height:95px!important;z-index:-1!important;pointer-events:none!important;background:url('../assets/images/footer-bottom-only.svg') center bottom/100% 100% no-repeat!important}
body:has(.feature-carousel) .site-footer .footer-inner{position:relative!important;z-index:1!important}
body:has(.feature-carousel) .device-screen img,body:has(.feature-carousel) .phone-screen img{object-fit:fill!important;image-rendering:auto!important}

/* Screen-fit v5: match the actual aspect ratio of each device's inner display. */
body:has(.feature-carousel) .device-screen{box-sizing:border-box!important;padding:5px!important;}
body:has(.feature-carousel) .device-screen img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;}
body:has(.feature-carousel) .phone-screen img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:top!important;}


/* v6: device frames match the native screenshots. No screenshot cropping. */
body:has(.feature-carousel) .device-laptop{
  height:auto!important; top:8px!important;
}
body:has(.feature-carousel) .device-screen{
  width:100%!important;height:auto!important;aspect-ratio:16/9!important;
  padding:5px!important;overflow:hidden!important;
}
body:has(.feature-carousel) .device-screen img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center center!important;
  background:#070c15!important;
}
body:has(.feature-carousel) .device-phone{
  height:auto!important;aspect-ratio:0.55!important;
  top:20px!important; padding:11px 7px 15px!important;
}
body:has(.feature-carousel) .phone-screen{
  height:100%!important;width:100%!important;
}
body:has(.feature-carousel) .phone-screen img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center top!important;
  background:#07101d!important;
}


/* v7: native HTML/CSS device previews, rather than rescaled text embedded in images. */
.feature-carousel .device-screen,.feature-carousel .phone-screen{box-sizing:border-box!important;overflow:hidden!important;background:#07101c!important}
.feature-carousel .device-screen{height:92%!important;aspect-ratio:auto!important;padding:5px!important}
.feature-carousel .device-laptop{height:88%!important;top:8px!important}
.feature-carousel .device-phone{height:80%!important;aspect-ratio:auto!important;top:35px!important;padding:11px 7px 15px!important}
.feature-carousel .phone-screen{height:100%!important}
.preview-site{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#06111e;color:#fff;font-family:Arial,Helvetica,sans-serif;text-align:left}
.preview-top{height:13%;min-height:23px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#050b12;gap:8px}
.preview-brand{display:flex;flex-direction:column;line-height:1.02;min-width:0}
.preview-brand b{font-size:clamp(9px,1.15vw,16px);letter-spacing:-.02em;white-space:nowrap}
.preview-brand small{font-size:clamp(5px,.48vw,8px);letter-spacing:.06em}
.preview-nav{font-size:clamp(5px,.53vw,8px);font-weight:700;white-space:nowrap}
.preview-body{min-height:0;flex:1;display:flex}
.preview-copy{width:46%;box-sizing:border-box;padding:7% 4% 4% 5%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:linear-gradient(100deg,#061321,#081a29)}
.preview-landscaping .preview-copy{background:#062419}
.preview-eyebrow{font-size:clamp(5px,.58vw,9px);font-weight:700;color:var(--preview-accent);letter-spacing:.04em}
.preview-copy h3{font-size:clamp(13px,1.65vw,26px);line-height:1.12;margin:6% 0 5%;font-weight:800;color:#fff}
.preview-copy p{font-size:clamp(7px,.72vw,11px);line-height:1.45;margin:0 0 8%;color:#dce8f2}
.preview-buttons{display:flex;gap:6px;flex-wrap:wrap}
.preview-buttons span{font-size:clamp(5px,.53vw,8px);font-weight:800;padding:7px 9px;border-radius:3px;background:var(--preview-accent);color:#061321;white-space:nowrap}
.preview-buttons span+span{background:transparent;color:white;border:1px solid #b6c8d8}
.preview-photo{width:54%;background-position:center;background-size:cover;background-repeat:no-repeat}
.preview-mobile .preview-top{height:13%;min-height:26px;padding:0 8%}
.preview-mobile .preview-brand b{font-size:clamp(8px,.85vw,12px)}
.preview-mobile .preview-brand small{font-size:5px}
.preview-menu{font-size:14px}
.preview-mobile .preview-body{flex-direction:column}
.preview-mobile .preview-copy{width:100%;height:44%;padding:8% 8% 5%;flex:none;box-sizing:border-box;justify-content:center}
.preview-mobile .preview-eyebrow{font-size:clamp(5px,.52vw,8px)}
.preview-mobile .preview-copy h3{font-size:clamp(11px,1.05vw,16px);line-height:1.13;margin:6% 0 4%}
.preview-mobile .preview-copy p{font-size:clamp(6px,.56vw,9px);line-height:1.3;margin:0 0 5%}
.preview-mobile .preview-buttons span{font-size:clamp(5px,.52vw,7px);padding:5px 7px}
.preview-mobile .preview-photo{width:100%;flex:1;min-height:0;background-position:center}
@media(max-width:540px){
.feature-carousel .device-phone{top:17px!important;padding:5px 3px 8px!important}
.feature-carousel .device-laptop{top:4px!important}
.preview-top{min-height:14px}
.preview-brand b{font-size:7px}.preview-brand small{font-size:4px}
.preview-nav{font-size:4px}.preview-copy h3{font-size:10px}
.preview-copy p{font-size:5px}.preview-eyebrow{font-size:4px}
.preview-buttons span{font-size:4px;padding:4px 5px}
.preview-mobile .preview-top{min-height:16px}
.preview-mobile .preview-brand b{font-size:7px}
.preview-mobile .preview-copy h3{font-size:8px}
.preview-mobile .preview-copy p{font-size:5px}
}

/* v8: screen-contained typography; rules scoped to carousel previews only. */
.feature-carousel .device-screen,.feature-carousel .phone-screen{container-type:inline-size!important;box-sizing:border-box!important}
.feature-carousel .preview-site{box-sizing:border-box!important;min-width:0!important;min-height:0!important}
.feature-carousel .preview-site *{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;letter-spacing:normal!important;text-transform:none!important}
.feature-carousel .preview-desktop .preview-top{height:12%!important;min-height:0!important;padding:0 4%!important;gap:4px!important}
.feature-carousel .preview-desktop .preview-brand{flex:0 0 30%!important}
.feature-carousel .preview-desktop .preview-brand b{font-size:clamp(8px,2.6cqw,14px)!important;line-height:1.05!important}
.feature-carousel .preview-desktop .preview-brand small{font-size:clamp(5px,1.25cqw,7px)!important}
.feature-carousel .preview-desktop .preview-nav{font-size:clamp(5px,1.35cqw,8px)!important;flex:1!important;text-align:right!important;overflow:hidden!important;text-overflow:clip!important}
.feature-carousel .preview-desktop .preview-copy{width:48%!important;flex:none!important;padding:5% 4%!important;justify-content:center!important;gap:0!important}
.feature-carousel .preview-desktop .preview-photo{width:52%!important;flex:1!important}
.feature-carousel .preview-desktop .preview-eyebrow{font-size:clamp(6px,1.65cqw,9px)!important;line-height:1.2!important}
.feature-carousel .preview-desktop .preview-copy h3{font-size:clamp(13px,3.4cqw,21px)!important;line-height:1.13!important;margin:5% 0 4%!important;overflow-wrap:normal!important;word-break:normal!important}
.feature-carousel .preview-desktop .preview-copy p{font-size:clamp(7px,1.65cqw,10px)!important;line-height:1.35!important;margin:0 0 6%!important}
.feature-carousel .preview-desktop .preview-buttons{gap:4px!important;flex-wrap:nowrap!important}
.feature-carousel .preview-desktop .preview-buttons span{font-size:clamp(5px,1.15cqw,7px)!important;line-height:1.1!important;padding:6px 7px!important}
.feature-carousel .preview-mobile .preview-top{height:15%!important;min-height:0!important;padding:0 8%!important;flex:none!important}
.feature-carousel .preview-mobile .preview-brand b{font-size:clamp(8px,8cqw,12px)!important;line-height:1.1!important}
.feature-carousel .preview-mobile .preview-brand small{font-size:clamp(5px,4cqw,7px)!important}
.feature-carousel .preview-mobile .preview-menu{font-size:12px!important;flex:none!important}
.feature-carousel .preview-mobile .preview-body{display:flex!important;flex-direction:column!important;min-height:0!important;flex:1!important}
.feature-carousel .preview-mobile .preview-copy{width:100%!important;height:43%!important;flex:none!important;padding:7% 8% 5%!important;justify-content:center!important;overflow:hidden!important}
.feature-carousel .preview-mobile .preview-eyebrow{display:none!important}
.feature-carousel .preview-mobile .preview-copy h3{font-size:clamp(10px,10cqw,15px)!important;line-height:1.13!important;margin:0 0 5%!important;word-break:normal!important;overflow-wrap:normal!important}
.feature-carousel .preview-mobile .preview-copy p{font-size:clamp(6px,5.3cqw,8px)!important;line-height:1.2!important;margin:0 0 5%!important}
.feature-carousel .preview-mobile .preview-buttons{display:none!important}
.feature-carousel .preview-mobile .preview-photo{width:100%!important;height:auto!important;flex:1!important;min-height:0!important;background-position:center!important}
@container (max-width:145px){.preview-mobile .preview-copy h3{font-size:11px!important}.preview-mobile .preview-copy p{font-size:6px!important}}

/* v9 Andora: exact supplied screenshot, preserve its native aspect ratio */
.feature-carousel .carousel-slide[data-slide="0"] .device-laptop{height:88%!important;top:8px!important}
.feature-carousel .carousel-slide[data-slide="0"] .device-screen{height:92%!important;aspect-ratio:auto!important;padding:5px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#070b11!important;overflow:hidden!important}
.feature-carousel .carousel-slide[data-slide="0"] .device-screen .andora-exact-desktop{display:block!important;width:100%!important;height:auto!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;flex:none!important}
.feature-carousel .carousel-slide[data-slide="0"] .preview-mobile .preview-top{height:15%!important;min-height:0!important}
.feature-carousel .carousel-slide[data-slide="0"] .preview-mobile .preview-copy{height:42%!important;min-height:0!important;overflow:hidden!important;justify-content:center!important;padding:6% 7%!important}
.feature-carousel .carousel-slide[data-slide="0"] .preview-mobile .preview-copy h3{font-size:clamp(9px,8cqw,15px)!important;line-height:1.12!important;margin:5% 0 3%!important;overflow-wrap:normal!important}
.feature-carousel .carousel-slide[data-slide="0"] .preview-mobile .preview-copy p{font-size:clamp(6px,4.5cqw,9px)!important;line-height:1.25!important;margin:0 0 5%!important}
.feature-carousel .carousel-slide[data-slide="0"] .preview-mobile .preview-eyebrow{font-size:clamp(5px,3.5cqw,7px)!important}
.feature-carousel .carousel-slide[data-slide="0"] .preview-mobile .preview-photo{flex:1!important;min-height:0!important}


/* v10: dedicated reference-inspired previews, contained within existing frames. */
.feature-carousel .device-screen .refsite,.feature-carousel .phone-screen .refsite{width:100%;height:100%;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;font-family:Arial,Helvetica,sans-serif;container-type:size;color:#fff}
.feature-carousel .device-screen:has(.refsite){padding:4px!important}
.feature-carousel .phone-screen:has(.refsite){padding:0!important}
.refsite .refsite-header{height:15%;min-height:0;flex:none;background:#fff;color:#0b1d31;display:flex;align-items:center;justify-content:space-between;padding:0 4%;box-sizing:border-box;gap:6px}
.refsite .refsite-logo{display:flex;align-items:center;gap:5px;min-width:0}
.refsite .refsite-logo-symbol{color:#e9a900;font-size:clamp(12px,3cqh,21px);line-height:1}
.refsite-landscaping .refsite-logo-symbol{color:#4fae12}
.refsite .refsite-brand{display:flex;flex-direction:column;line-height:1.05;white-space:nowrap}
.refsite .refsite-brand strong{font-size:clamp(9px,3cqh,18px);letter-spacing:-.03em}
.refsite .refsite-brand small{font-size:clamp(6px,1.6cqh,10px);font-weight:700}
.refsite .refsite-links{display:flex;gap:clamp(6px,1.8cqw,18px);align-items:center;font-size:clamp(6px,2cqh,11px);font-weight:700;white-space:nowrap}
.refsite .refsite-links b{color:#006dd8}
.refsite-landscaping .refsite-links b{color:#358a13}
.refsite .refsite-hero{flex:1;min-height:0;position:relative;overflow:hidden;background:#0c2a4c}
.refsite .refsite-hero-photo{position:absolute;inset:0 0 0 33%;background-size:cover;background-position:center}
.refsite-plumbing .refsite-hero-photo{background-image:url('../assets/images/plumbing-hero-photo-v7.webp')}
.refsite-landscaping .refsite-hero-photo{background-image:url('../assets/images/landscaping-hero-photo-v7.webp')}
.refsite .refsite-shade{position:absolute;inset:0;background:linear-gradient(90deg,#08274e 0%,#0a3058 28%,rgba(8,36,66,.86) 40%,transparent 76%)}
.refsite-landscaping .refsite-shade{background:linear-gradient(90deg,#0b341a 0%,#0b351a 30%,rgba(8,43,19,.82) 43%,transparent 83%)}
.refsite .refsite-message{position:absolute;left:5%;top:12%;width:53%;height:78%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-sizing:border-box}
.refsite .refsite-message h3{color:#fff;font-size:clamp(14px,7.5cqh,34px);line-height:1.06;letter-spacing:-.025em;margin:0 0 5%;font-weight:800}
.refsite .refsite-message p{font-size:clamp(7px,2.7cqh,13px);line-height:1.2;color:#fff;margin:0 0 7%;white-space:normal}
.refsite .refsite-ctas{display:flex;gap:6px;align-items:center;white-space:nowrap}
.refsite .refsite-ctas span{background:#ffbd16;color:#132337;font-weight:800;font-size:clamp(6px,2.5cqh,11px);padding:clamp(5px,2cqh,10px) clamp(7px,2.5cqw,14px);border-radius:30px}
.refsite-landscaping .refsite-ctas span{background:#7fe126;color:#102b0e}
.refsite .refsite-ctas span+span{background:#fff;color:#152b43}
.refsite-mobile .refsite-header{height:18%;padding:0 7%}
.refsite-mobile .refsite-logo-symbol{font-size:clamp(11px,4cqh,18px)}
.refsite-mobile .refsite-brand strong{font-size:clamp(8px,3.4cqh,12px)}
.refsite-mobile .refsite-brand small{font-size:clamp(5px,2cqh,8px)}
.refsite-mobile .refsite-hamburger{font-size:clamp(10px,4cqh,15px)}
.refsite-mobile .refsite-hero-photo{inset:28% 0 0 0;background-position:center}
.refsite-mobile .refsite-shade{background:linear-gradient(180deg,#08274e 0%,#08274e 29%,rgba(8,39,78,.3) 55%,transparent 75%)}
.refsite-mobile.refsite-landscaping .refsite-shade{background:linear-gradient(180deg,#0a3519 0%,#0a3519 29%,rgba(10,53,25,.35) 55%,transparent 75%)}
.refsite-mobile .refsite-message{top:3%;left:7%;width:88%;height:94%;justify-content:flex-start;padding-top:3%}
.refsite-mobile .refsite-message h3{font-size:clamp(10px,6.3cqh,17px);line-height:1.12;margin-bottom:4%}
.refsite-mobile .refsite-message p{font-size:clamp(6px,2.6cqh,9px);margin-bottom:0}
.refsite-mobile .refsite-ctas{margin-top:auto;margin-bottom:3%;width:100%}
.refsite-mobile .refsite-ctas span{width:100%;box-sizing:border-box;text-align:center;font-size:clamp(6px,2.6cqh,9px);padding:6px 3px}


/* v12: self-contained device website compositions, preserving external carousel design */
.feature-carousel .device-screen:has(.v12-site){padding:5px!important;height:92%!important;aspect-ratio:auto!important;overflow:hidden!important;background:#08121e!important;display:block!important}
.feature-carousel .phone-screen:has(.v12-site){padding:0!important;overflow:hidden!important;background:#08121e!important;height:100%!important}
.feature-carousel .device-laptop:has(.v12-site){height:88%!important;top:8px!important}
.feature-carousel .device-phone:has(.v12-site){height:80%!important;top:35px!important;aspect-ratio:auto!important;padding:11px 7px 15px!important}
.v12-site{height:100%;width:100%;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;font-family:Arial,Helvetica,sans-serif;color:white;container-type:size;isolation:isolate}
.v12-header{flex:0 0 14%;height:14%;min-height:0;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:8px;background:#fff;color:#10223a;position:relative;z-index:3}
.v12-andora .v12-header{background:#070b10;color:#fff}
.v12-logo{display:flex;align-items:center;gap:5px;min-width:0;white-space:nowrap}
.v12-mark{height:clamp(14px,6cqh,27px);width:clamp(14px,6cqh,27px);object-fit:contain}
.v12-a-symbol{font-size:clamp(12px,5cqh,24px);color:#e5e7eb}
.v12-logo>span:last-child{display:flex;flex-direction:column;line-height:1.02}
.v12-logo strong{font-size:clamp(9px,4.4cqh,20px);font-weight:800;letter-spacing:-.025em}
.v12-logo small{font-size:clamp(6px,2.2cqh,11px);font-weight:700;letter-spacing:.015em}
.v12-nav{display:flex;gap:clamp(7px,2cqw,18px);font-size:clamp(6px,2.7cqh,11px);font-weight:700;align-items:center;white-space:nowrap}
.v12-nav b{color:#007bd9}
.v12-landscaping .v12-nav b{color:#378f12}
.v12-hero{flex:1;min-height:0;position:relative;overflow:hidden;background:#082a4e}
.v12-photo{position:absolute;inset:0 0 0 42%;background-size:cover;background-position:center 20%;background-repeat:no-repeat}
.v12-andora .v12-photo{background-image:url('../assets/images/andora-real-hero-v12.webp');background-position:center 52%}
.v12-plumbing .v12-photo{background-image:url('../assets/images/plumbing-hero-photo-v7.webp');background-position:center top;background-size:cover}
.v12-landscaping .v12-photo{background-image:url('../assets/images/landscaping-hero-photo-v7.webp');background-position:center 35%}
.v12-gradient{position:absolute;inset:0;background:linear-gradient(90deg,#082b51 0%,#082b51 37%,rgba(8,43,81,.83) 46%,transparent 72%)}
.v12-landscaping .v12-gradient{background:linear-gradient(90deg,#07361c 0%,#07361c 37%,rgba(7,54,28,.8) 47%,transparent 73%)}
.v12-andora .v12-gradient{background:linear-gradient(90deg,#08111d 0%,#08111d 38%,rgba(8,17,29,.88) 46%,transparent 70%)}
.v12-content{position:absolute;inset:0 auto 0 0;width:53%;box-sizing:border-box;padding:4% 3% 4% 5%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.v12-eyebrow{font-size:clamp(6px,2.6cqh,12px);font-weight:800;letter-spacing:.035em;color:#2eb6f4;margin-bottom:4%}
.v12-landscaping .v12-eyebrow{color:#99ef45}
.v12-content h3{font-size:clamp(14px,8cqh,37px);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin:0 0 4%;color:#fff}
.v12-content p{font-size:clamp(7px,3.2cqh,14px);line-height:1.3;color:#f1f5f9;margin:0 0 6%}
.v12-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}
.v12-actions span{font-size:clamp(6px,2.8cqh,12px);font-weight:800;background:#ffbd18;color:#13243b;padding:clamp(5px,2.1cqh,10px) clamp(7px,2.3cqw,16px);border-radius:24px}
.v12-actions span+span{background:#fff;color:#14253a}
.v12-landscaping .v12-actions span{background:#83e72b;color:#11310b}
.v12-landscaping .v12-actions span+span{background:#fff;color:#14253a}
.v12-andora .v12-actions span{background:#0787e8;color:#fff;border-radius:3px}
.v12-andora .v12-actions span+span{background:transparent;border:1px solid #fff}
.v12-andora-main{display:block;font-size:1.4em;line-height:1}
.v12-andora-sub{display:block;font-size:.63em;line-height:1.15;margin-bottom:7%}
.v12-andora-blue{display:block;color:#168ff6;font-size:.8em;line-height:1.15}
/* White curve from header into hero on demo concepts */
.v12-plumbing .v12-header:after,.v12-landscaping .v12-header:after{content:'';position:absolute;top:calc(100% - 1px);left:0;width:100%;height:clamp(8px,5cqh,22px);background:#fff;clip-path:ellipse(78% 100% at 48% 0%);pointer-events:none}
.v12-mobile .v12-header{flex-basis:16%;height:16%;padding:0 6%}
.v12-mobile .v12-logo strong{font-size:clamp(8px,3.2cqh,13px)}
.v12-mobile .v12-logo small{font-size:clamp(5px,1.9cqh,8px)}
.v12-mobile .v12-mark{height:clamp(12px,5cqh,20px);width:clamp(12px,5cqh,20px)}
.v12-mobile .v12-menu{font-size:clamp(11px,5cqh,18px);line-height:1}
.v12-mobile .v12-photo{inset:35% 0 0 0;background-position:center 30%;background-size:cover}
.v12-mobile.v12-plumbing .v12-photo{background-position:center 9%}
.v12-mobile.v12-andora .v12-photo{background-position:67% center}
.v12-mobile .v12-gradient{background:linear-gradient(180deg,#082b51 0%,#082b51 37%,rgba(8,43,81,.5) 50%,transparent 73%)}
.v12-mobile.v12-landscaping .v12-gradient{background:linear-gradient(180deg,#07361c 0%,#07361c 37%,rgba(7,54,28,.5) 50%,transparent 73%)}
.v12-mobile.v12-andora .v12-gradient{background:linear-gradient(180deg,#08111d 0%,#08111d 37%,rgba(8,17,29,.55) 52%,transparent 75%)}
.v12-mobile .v12-content{inset:0 0 0 0;width:100%;padding:7% 7% 4%;justify-content:flex-start}
.v12-mobile .v12-eyebrow{font-size:clamp(5px,2.4cqh,8px);margin-bottom:4%}
.v12-mobile .v12-content h3{font-size:clamp(10px,6.2cqh,19px);line-height:1.12;margin-bottom:3%}
.v12-mobile .v12-content p{font-size:clamp(6px,2.7cqh,9px);margin-bottom:0}
.v12-mobile .v12-actions{margin-top:auto;margin-bottom:2%;width:100%}
.v12-mobile .v12-actions span{width:100%;box-sizing:border-box;text-align:center;font-size:clamp(6px,2.6cqh,9px);padding:6px 2px}
.v12-mobile .v12-andora-blue{font-size:1em}
@media(max-width:540px){.feature-carousel .device-phone:has(.v12-site){top:18px!important;padding:6px 4px 9px!important}.v12-nav{font-size:5px}.v12-logo strong{font-size:8px}.v12-content h3{font-size:13px}.v12-content p{font-size:6px}.v12-eyebrow{font-size:5px}.v12-actions span{font-size:5px;padding:4px 6px}.v12-mobile .v12-content h3{font-size:9px}}

/* v13 fixed-ratio purpose-built screenshots: no reflow inside devices */
.feature-carousel .device-screen:has(.screen-v13){padding:5px!important;box-sizing:border-box!important;overflow:hidden!important;}
.feature-carousel .phone-screen:has(.screen-v13){padding:0!important;overflow:hidden!important;}
.feature-carousel img.screen-v13{display:block!important;width:100%!important;height:100%!important;object-fit:fill!important;object-position:center!important;border-radius:2px!important;}

/* v22: native image proportions, no cover crop or stretch; keep original device frames */
.feature-carousel .device-screen,
.feature-carousel .phone-screen {box-sizing:border-box!important;overflow:hidden!important}
.feature-carousel .device-screen {aspect-ratio:16/9!important;height:auto!important;padding:5px!important}
.feature-carousel .device-phone {aspect-ratio:.55!important;height:auto!important}
.feature-carousel .phone-screen {aspect-ratio:.55!important;height:100%!important;padding:0!important}
.feature-carousel .device-screen img.screen-v13,
.feature-carousel .phone-screen img.screen-v13 {
 width:100%!important;height:100%!important;max-width:100%!important;
 object-fit:contain!important;object-position:center center!important;
 display:block!important;
}

/* v23: Remove artificial letterboxing. Images are screen-only, with no padded canvas. */
.feature-carousel .device-screen {aspect-ratio:2.04!important;height:auto!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important;background:#07101a!important}
.feature-carousel .device-screen img.screen-v13 {width:100%!important;height:100%!important;display:block!important;object-fit:fill!important;max-width:none!important}
.feature-carousel .device-phone {aspect-ratio:auto!important;height:80%!important;padding:7px 5px 11px!important;box-sizing:border-box!important}
.feature-carousel .phone-screen {aspect-ratio:auto!important;width:100%!important;height:100%!important;padding:0!important;box-sizing:border-box!important;overflow:hidden!important}
.feature-carousel .phone-screen img.screen-v13 {width:100%!important;height:100%!important;display:block!important;object-fit:fill!important;max-width:none!important}

/* v24 canonical frame sizing: overrides legacy carousel experiments without adding image padding */
.feature-carousel .device-laptop { height:88%!important; top:8px!important; }
.feature-carousel .device-screen { width:100%!important; height:92%!important; aspect-ratio:auto!important; box-sizing:border-box!important; padding:0!important; overflow:hidden!important; background:#07101a!important; }
.feature-carousel .device-screen img.screen-v13 { display:block!important; width:100%!important; height:100%!important; object-fit:fill!important; object-position:center!important; max-width:100%!important; margin:0!important; border:0!important; }
.feature-carousel .device-phone { height:80%!important; aspect-ratio:auto!important; top:35px!important; box-sizing:border-box!important; padding:7px 5px 11px!important; overflow:hidden!important; }
.feature-carousel .phone-screen { width:100%!important; height:100%!important; aspect-ratio:auto!important; box-sizing:border-box!important; padding:0!important; margin:0!important; overflow:hidden!important; }
.feature-carousel .phone-screen img.screen-v13 { display:block!important; width:100%!important; height:100%!important; max-width:100%!important; object-fit:fill!important; object-position:center!important; margin:0!important; border:0!important; }
@media(max-width:760px){.feature-carousel .device-phone{top:25px!important;padding:6px 4px 9px!important}}
@media(max-width:540px){.feature-carousel .device-phone{top:17px!important;padding:5px 3px 8px!important}}

/* v27: precise icon and navigation refinements, shared across every page */
.nav-dropdown{display:flex;align-items:center;gap:4px}
.nav-dropdown .submenu-toggle{
 display:inline-flex;align-items:center;justify-content:center;
 width:20px;height:28px;padding:0;margin-left:0;
 border:0;background:transparent;color:#102c53;font-size:0;
 transition:transform .18s ease,color .18s ease
}
.nav-dropdown .submenu-toggle::after{
 content:"";display:block;width:7px;height:7px;
 border-right:2px solid currentColor;border-bottom:2px solid currentColor;
 transform:translateY(-2px) rotate(45deg);border-radius:1px
}
.nav-dropdown .submenu-toggle:hover,.nav-dropdown .submenu-toggle:focus-visible{color:var(--blue)}
.nav-dropdown.expanded .submenu-toggle::after{transform:translateY(2px) rotate(225deg)}
.featured .circle .dsb-icon{width:25px;height:25px;object-fit:contain}
.benefits .mini-icon .dsb-icon{width:23px;height:23px;object-fit:contain}

/* Consistent homepage visual language for inner pages, without altering home carousel */
body:has(.hero):not(:has(.feature-carousel)) .hero{
 background:linear-gradient(115deg,#ffffff 14%,#f1faff 63%,#c9ecff 100%);
 border-bottom:1px solid #d9edff
}
body:has(.hero):not(:has(.feature-carousel)) .hero-art img{
 border:1px solid #d7eafb;box-shadow:0 12px 30px rgba(11,77,153,.12)!important
}


/* v29: identical traced homepage wave on every inner-page hero. */
body:not(:has(.feature-carousel)) .hero{
 position:relative!important;isolation:isolate!important;overflow:hidden!important;
 background:linear-gradient(100deg,#ffffff 0%,#fbfdff 37%,#e7f6ff 100%)!important;
 width:calc(100% - 36px)!important;max-width:1560px!important;
 margin-inline:auto!important;border-radius:16px!important;
 border:0!important;
}
body:not(:has(.feature-carousel)) .hero::before{content:none!important;display:none!important}
body:not(:has(.feature-carousel)) .hero::after{
 content:""!important;display:block!important;position:absolute!important;
 inset:0!important;width:100%!important;height:100%!important;
 z-index:-1!important;opacity:1!important;transform:none!important;
 border:0!important;border-radius:0!important;pointer-events:none!important;
 background:url('../assets/images/hero-reference-traced.svg') center center / 100% 100% no-repeat!important;
}
body:not(:has(.feature-carousel)) .hero .hero-grid{position:relative;z-index:1;min-width:0}
/* Prevent oversized inner-page screenshots from spilling beyond the hero. */
body:not(:has(.feature-carousel)) .hero-art{min-width:0;max-width:100%;overflow:hidden;border-radius:18px}
body:not(:has(.feature-carousel)) .hero-art>img{display:block;width:100%!important;max-height:390px;object-fit:contain;border:0!important;box-shadow:none!important}
/* Share the exact homepage footer wave. */
body:not(:has(.feature-carousel)) .site-footer{
 position:relative!important;isolation:isolate!important;background:#061b43!important;
 overflow:hidden!important;padding-bottom:100px!important;
}
body:not(:has(.feature-carousel)) .site-footer::before{content:none!important;display:none!important}
body:not(:has(.feature-carousel)) .site-footer::after{
 content:""!important;display:block!important;position:absolute!important;
 left:0!important;right:0!important;bottom:0!important;height:95px!important;
 z-index:-1!important;pointer-events:none!important;
 background:url('../assets/images/footer-bottom-only.svg') center bottom / 100% 100% no-repeat!important;
}
body:not(:has(.feature-carousel)) .site-footer .footer-inner{position:relative!important;z-index:1!important}
/* Consistent active navigation for main pages and service subpages. */
.site-header .nav>a.active,.site-header .nav .nav-services-link.active{
 color:#0758ee!important;border-bottom:3px solid #0758ee!important;
}
.site-header .nav-dropdown:has(.nav-services-link.active)>.submenu-toggle{color:#0758ee!important}
.site-header .submenu a.active{color:#0758ee!important;font-weight:800;background:#edf7ff}
@media(max-width:780px){
 body:not(:has(.feature-carousel)) .hero{width:calc(100% - 20px)!important}
 body:not(:has(.feature-carousel)) .hero::after{background-size:cover!important;background-position:62% center!important}
 body:not(:has(.feature-carousel)) .hero-art>img{max-height:300px}
 body:not(:has(.feature-carousel)) .site-footer{padding-bottom:82px!important}
 body:not(:has(.feature-carousel)) .site-footer::after{height:62px!important}
 .site-header .nav>a.active,.site-header .nav .nav-services-link.active{border-bottom:0!important}
}

/* v30: Services-only hero art and unified professional line icons */
body:has(.service-card) .hero-art img{width:100%;aspect-ratio:1.6/1;object-fit:cover;object-position:center;border-radius:22px;display:block;box-shadow:0 12px 30px rgba(10,62,125,.14)}
.service-card .icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 68px;width:68px;height:68px;padding:13px;background:#e8f5ff;border-radius:16px}
.service-card .service-line-icon{width:36px;height:36px;display:block;color:#0758ee}
@media(max-width:540px){.service-card .icon{flex-basis:58px;width:58px;height:58px}.service-card .service-line-icon{width:31px;height:31px}}

/* v31 — Services-page-only refinements; homepage and other pages unchanged */
.services-refined-hero .hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,1.13fr);align-items:center;gap:clamp(22px,3vw,52px)}
.services-refined-hero .hero-copy h1{font-size:clamp(2.25rem,3.15vw,3.65rem);line-height:1.09;letter-spacing:-.04em;max-width:700px}
.services-refined-hero .hero-copy p{max-width:610px}
.services-refined-art{position:relative;overflow:hidden;border-radius:0;align-self:stretch;display:flex;align-items:center;justify-content:center;isolation:isolate}
.services-refined-art img{width:100%;height:auto;max-height:410px;object-fit:contain;border-radius:16px;box-shadow:none!important;mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}
.services-refined-list{padding-top:clamp(60px,6vw,92px)!important}
.services-refined-list .section-head{margin-bottom:30px}
.why-choose-section{padding:20px 0 58px}
.why-choose-panel{padding:38px clamp(20px,3vw,46px) 42px;border-radius:22px;background:linear-gradient(120deg,#f0f8ff,#e6f4ff 60%,#f4faff);border:1px solid #d9eafa}
.why-choose-panel .section-head{margin-bottom:30px}
.why-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.why-item{display:flex;gap:13px;align-items:flex-start;padding:8px 18px;border-right:1px solid #c9def2}
.why-item:first-child{padding-left:0}.why-item:last-child{border-right:0;padding-right:0}
.why-icon{color:#0758ee;flex:0 0 34px}.why-icon svg{display:block;width:32px;height:32px}
.why-item h3{font-size:15px;line-height:1.3;margin:0 0 7px;color:#081936}
.why-item p{font-size:13px;line-height:1.5;margin:0;color:#334a69}
@media(max-width:1050px){.why-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.why-item,.why-item:first-child,.why-item:last-child{padding:10px;border:0}.why-item:last-child{grid-column:1/-1}}
@media(max-width:760px){.services-refined-hero .hero-grid{grid-template-columns:1fr}.services-refined-hero .hero-copy h1{font-size:clamp(2.05rem,8vw,2.8rem)}.services-refined-art img{max-height:none;mask-image:none;-webkit-mask-image:none;border-radius:16px}.services-refined-list{padding-top:52px!important}.why-items{grid-template-columns:1fr}.why-item:last-child{grid-column:auto}.why-choose-panel{padding:26px 18px}}

/* v32 — Services page only: refined hero and benefit panel */
body:has(.why-dsb-section) .hero .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.12fr);gap:32px}
body:has(.why-dsb-section) .hero-copy h1{font-size:clamp(35px,3.05vw,51px);line-height:1.11;letter-spacing:-.035em}
body:has(.why-dsb-section) .hero-art{position:relative;overflow:hidden;border-radius:0 22px 22px 0;isolation:isolate}
body:has(.why-dsb-section) .hero-art img{display:block;width:100%;height:auto;border-radius:0!important;box-shadow:none!important;mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 100%)}
body:has(.why-dsb-section) .hero + .section{padding-top:55px}
.why-dsb-section{padding:18px 0 42px}
.why-dsb-panel{padding:32px 28px 30px;border-radius:22px;background:linear-gradient(120deg,#f2f9ff,#e5f4ff 55%,#f5faff);border:1px solid #d5e9fc}
.why-dsb-heading{text-align:center;margin-bottom:27px}
.why-dsb-heading .eyebrow{justify-content:center}
.why-dsb-heading h2{font-size:clamp(24px,2.1vw,32px);margin:7px 0}
.why-dsb-heading p{margin:0;color:#37506d}
.why-dsb-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.why-dsb-item{display:flex;gap:12px;padding:10px 14px;min-width:0;align-items:flex-start}
.why-dsb-item + .why-dsb-item{border-left:1px solid #c7dcef}
.why-dsb-icon{flex:none;width:40px;height:40px;display:grid;place-items:center;color:#0863e9;background:#fff;border-radius:12px}
.why-icon{width:26px;height:26px}
.why-dsb-item h3{font-size:14px;line-height:1.3;margin:0 0 7px;color:#081a3c}
.why-dsb-item p{font-size:12px;line-height:1.5;margin:0;color:#42536b}
@media(max-width:1100px){.why-dsb-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}.why-dsb-item:nth-child(4){border-left:0}}
@media(max-width:700px){body:has(.why-dsb-section) .hero .hero-grid{grid-template-columns:1fr}body:has(.why-dsb-section) .hero-art{border-radius:16px}body:has(.why-dsb-section) .hero-art img{mask-image:none;-webkit-mask-image:none;border-radius:16px!important}.why-dsb-grid{grid-template-columns:1fr}.why-dsb-item,.why-dsb-item + .why-dsb-item{border-left:0;border-top:1px solid #c7dcef;padding:15px 4px}.why-dsb-item:first-child{border-top:0}.why-dsb-panel{padding:24px 20px}}


/* v37: Service detail pages only. */
body:has(.service-detail-hero) .service-detail-hero{width:calc(100% - 36px);max-width:1560px;margin:0 auto;min-height:510px;display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;border-radius:0 0 18px 18px;padding:45px 0!important;background:linear-gradient(100deg,#fff 0%,#fff 37%,#eff9ff 70%,#dff3ff 100%)!important}
body:has(.service-detail-hero) .service-detail-hero::after{content:"";position:absolute;inset:0 0 0 auto;width:67%;height:100%;z-index:-1;pointer-events:none;background:url('../assets/images/hero-wave-clean.svg') right center/100% 100% no-repeat!important}
body:has(.service-detail-hero) .service-detail-hero>.container{width:100%;position:relative;z-index:1}
body:has(.service-detail-hero) .service-detail-grid{display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(0,1.1fr)!important;align-items:center;gap:clamp(28px,3.5vw,56px);width:100%;min-height:395px}
body:has(.service-detail-hero) .service-detail-grid>div{min-width:0}
body:has(.service-detail-hero) .service-detail-grid h1{font-size:clamp(35px,3.15vw,54px);line-height:1.1;letter-spacing:-.045em;max-width:680px;margin:17px 0 20px;color:#0b1733}
body:has(.service-detail-hero) .service-detail-grid>div:first-child>p{font-size:clamp(17px,1.2vw,20px);line-height:1.55;max-width:590px;margin-bottom:25px}
body:has(.service-detail-hero) .showcase-visual{width:100%;max-width:100%;overflow:hidden;position:relative;border-radius:20px;box-shadow:none;background:transparent}
body:has(.service-detail-hero) .showcase-visual img{display:block;width:100%;height:365px;object-fit:cover;object-position:center;border:0!important;border-radius:0 18px 18px 0!important;box-shadow:none!important;mask-image:linear-gradient(to right,transparent 0%,#000 15%,#000 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 15%,#000 100%)}
body:has(.service-detail-hero) .service-detail-benefits{padding:30px 0 12px;background:#fff;clear:both}
body:has(.service-detail-hero) .service-benefit-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:20px 18px;border:1px solid #c9e1ff;border-radius:18px;box-shadow:0 6px 18px rgba(22,90,160,.07);background:#fff}
body:has(.service-detail-hero) .service-benefit-panel .showcase-point{margin:0;padding:3px 18px;min-width:0;display:flex;align-items:flex-start;gap:12px}
body:has(.service-detail-hero) .service-benefit-panel .showcase-point+.showcase-point{border-left:1px solid #d6e5f6}
body:has(.service-detail-hero) .service-benefit-panel .showcase-point svg{flex:0 0 24px;color:#0769ef}
body:has(.service-detail-hero) .service-benefit-panel .showcase-point p{margin:5px 0 0;font-size:13px;line-height:1.45}
body:has(.service-detail-hero) .gallery-preview{padding-top:50px!important;clear:both}
body:has(.service-detail-hero) main>.section{clear:both}
@media(max-width:900px){body:has(.service-detail-hero) .service-detail-grid{grid-template-columns:1fr!important;gap:22px;min-height:0}body:has(.service-detail-hero) .service-detail-hero{min-height:0;padding:34px 0!important}body:has(.service-detail-hero) .service-detail-grid h1{font-size:clamp(32px,6vw,46px)}body:has(.service-detail-hero) .showcase-visual img{height:auto;aspect-ratio:1.65;object-fit:cover}}
@media(max-width:650px){body:has(.service-detail-hero) .service-detail-hero{width:calc(100% - 20px)}body:has(.service-detail-hero) .service-detail-grid h1{font-size:clamp(31px,8vw,40px)}body:has(.service-detail-hero) .service-benefit-panel{grid-template-columns:1fr;padding:8px 18px}body:has(.service-detail-hero) .service-benefit-panel .showcase-point{padding:14px 2px}body:has(.service-detail-hero) .service-benefit-panel .showcase-point+.showcase-point{border-left:0;border-top:1px solid #d6e5f6}body:has(.service-detail-hero) .showcase-visual img{mask-image:none;-webkit-mask-image:none;border-radius:16px!important}}

/* v38: service detail layout only */
body:has(.service-detail-hero) .service-detail-hero{min-height:430px!important;padding:44px 0!important;border-radius:0 0 18px 18px!important}
body:has(.service-detail-hero) .service-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)!important;min-height:330px!important;gap:clamp(26px,3vw,52px)!important}
body:has(.service-detail-hero) .service-detail-grid h1{font-size:clamp(34px,2.75vw,48px)!important;line-height:1.12!important;max-width:630px!important;letter-spacing:-.04em!important;margin:12px 0 16px!important}
body:has(.service-detail-hero) .service-detail-grid>div:first-child>p{font-size:clamp(16px,1.12vw,19px)!important;max-width:550px!important;margin:0 0 25px!important}
body:has(.service-detail-hero) .service-detail-grid .eyebrow{font-size:11px!important;line-height:1.5!important;letter-spacing:.02em!important}
body:has(.service-detail-hero) .service-secondary-cta{margin-left:12px}
body:has(.service-detail-hero) .showcase-visual img{height:320px!important;max-width:100%;object-fit:cover!important;mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 100%)!important;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 13%,#000 100%)!important}
body:has(.service-detail-hero) .service-detail-benefits{padding:18px 0 24px!important}
body:has(.service-detail-hero) .service-benefit-panel{border-radius:22px!important;background:#f8fcff!important}
body:has(.service-detail-hero) .service-benefit-panel .showcase-point{display:flex!important;flex-direction:column;gap:4px;align-items:flex-start}
body:has(.service-detail-hero) .service-benefit-panel .showcase-point b{font-size:15px}
body:has(.service-detail-hero) .service-benefit-panel .showcase-point p{font-size:13px}
body:has(.service-detail-hero) .gallery-preview{padding-top:28px!important}
body:has(.service-detail-hero) .service-detail-benefits + .section{padding-top:28px!important}
@media(max-width:900px){body:has(.service-detail-hero) .service-detail-grid{grid-template-columns:1fr!important}body:has(.service-detail-hero) .showcase-visual img{height:auto!important;aspect-ratio:1.8!important}}
@media(max-width:650px){body:has(.service-detail-hero) .service-secondary-cta{margin-left:0;margin-top:10px}body:has(.service-detail-hero) .service-detail-grid h1{font-size:34px!important}body:has(.service-detail-hero) .service-benefit-panel .showcase-point{flex-direction:row}body:has(.service-detail-hero) .showcase-visual img{mask-image:none!important;-webkit-mask-image:none!important}}

/* Dedicated service page system — scoped so Home and Services index stay unchanged */
.dsb-detail-page{padding-bottom:38px}.dsb-detail-hero{position:relative;isolation:isolate;overflow:hidden;min-height:405px;padding:22px 0 44px;background:linear-gradient(125deg,#fff 0%,#f8fcff 43%,#e7f6ff 65%,#91d1ff 100%);border-radius:0 0 24px 24px}.dsb-detail-hero:before,.dsb-detail-hero:after{content:"";position:absolute;z-index:-1;pointer-events:none;border-radius:50%}.dsb-detail-hero:before{width:90%;height:145%;right:-43%;top:-55%;background:linear-gradient(135deg,transparent 15%,#b7e3ff 38%,#69c0ff 100%);transform:rotate(-16deg)}.dsb-detail-hero:after{width:90%;height:105%;right:-46%;bottom:-73%;background:#a2dcff;opacity:.65;transform:rotate(-18deg)}.dsb-detail-breadcrumb{font-size:12px;font-weight:700;color:#0065df;margin:2px 0 22px}.dsb-detail-breadcrumb a{color:inherit;text-decoration:none}.dsb-detail-hero-grid{display:grid;grid-template-columns:45% 55%;gap:10px;align-items:center;min-height:285px}.dsb-detail-hero-copy{position:relative;z-index:2;padding:0 12px 20px 0}.dsb-detail-hero-copy h1{font-size:clamp(35px,3.1vw,54px);letter-spacing:-.045em;line-height:1.1;margin:0 0 17px;max-width:650px;color:#091632}.dsb-detail-hero-copy h1 em{font-style:normal;color:#075df2}.dsb-detail-hero-copy p{font-size:clamp(16px,1.15vw,19px);line-height:1.55;max-width:530px;margin:0 0 23px}.dsb-detail-actions{display:flex;flex-wrap:wrap;gap:12px}.dsb-detail-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:295px}.dsb-detail-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 12px 12px rgba(5,35,85,.12));border-radius:0;mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%)}.dsb-detail-devices{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding-right:12%}.dsb-detail-laptop{position:relative;width:82%;max-width:520px}.dsb-detail-laptop-screen{background:#09121e;border:9px solid #17283a;border-radius:13px 13px 5px 5px;aspect-ratio:16/9;overflow:hidden;box-shadow:0 12px 25px #06315b30}.dsb-detail-laptop-screen img{display:block;width:100%;height:100%;object-fit:fill}.dsb-detail-laptop-base{height:12px;width:111%;margin-left:-5.5%;border-radius:3px 3px 40% 40%;background:linear-gradient(#e7f0f7,#8aa7b9);box-shadow:0 5px 7px #183b562b}.dsb-detail-phone{position:absolute;right:3%;bottom:0;width:22%;height:83%;border:7px solid #17283a;border-radius:22px;background:#09121e;overflow:hidden;box-shadow:0 12px 22px #07325c42}.dsb-detail-phone img{width:100%;height:100%;display:block;object-fit:fill}.dsb-detail-feature-wrap{position:relative;margin-top:-12px;z-index:3}.dsb-detail-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#f8fcff;border:1px solid #c9e6ff;border-radius:18px;box-shadow:0 7px 18px #0b62a414;padding:14px 20px;gap:10px}.dsb-detail-page:has(.dsb-detail-feature:nth-child(5)) .dsb-detail-features{grid-template-columns:repeat(5,minmax(0,1fr))}.dsb-detail-feature{display:flex;align-items:center;gap:10px;min-width:0;border-right:1px solid #d2e5f6;padding:4px 12px}.dsb-detail-feature:last-child{border-right:0}.dsb-detail-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:white;color:#0868f4;font-size:23px;font-weight:700;box-shadow:0 2px 8px #004b8b16}.dsb-detail-feature b,.dsb-detail-feature small{display:block;font-size:13px;line-height:1.35}.dsb-detail-feature small{font-size:12px}.dsb-detail-content{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;padding-top:20px;padding-bottom:20px}.dsb-detail-content-card,.dsb-detail-note{background:linear-gradient(145deg,#fff,#f3faff);border:1px solid #d6eaff;border-radius:17px;padding:20px;box-shadow:0 5px 14px #03498212}.dsb-detail-content h2{font-size:21px;margin:0 0 14px;letter-spacing:-.02em}.dsb-detail-checklist{padding:0;margin:0;list-style:none}.dsb-detail-checklist li{position:relative;padding:0 0 10px 23px;font-size:13px;line-height:1.45}.dsb-detail-checklist li:before{content:'✓';position:absolute;left:0;color:#0066f5;font-weight:800}.dsb-detail-note{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(140deg,#e8f6ff,#fff)}.dsb-detail-note strong{font-size:20px}.dsb-detail-note p{line-height:1.55;font-size:14px}.dsb-detail-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;border-radius:25px;background:linear-gradient(115deg,#e8f6ff,#c6e9ff);margin-bottom:22px}.dsb-detail-cta h2{font-size:23px;margin:0 0 4px}.dsb-detail-cta p{margin:0;font-size:14px}.dsb-detail-cta .btn{flex-shrink:0}@media(max-width:950px){.dsb-detail-hero-grid{grid-template-columns:1fr 1fr}.dsb-detail-hero-copy h1{font-size:35px}.dsb-detail-features,.dsb-detail-page:has(.dsb-detail-feature:nth-child(5)) .dsb-detail-features{grid-template-columns:repeat(2,1fr)}.dsb-detail-feature:nth-child(2n){border-right:0}.dsb-detail-content{grid-template-columns:1fr 1fr}.dsb-detail-content-card:first-child{grid-column:1/-1}}@media(max-width:650px){.dsb-detail-hero{padding-bottom:30px}.dsb-detail-hero-grid{grid-template-columns:1fr;gap:10px}.dsb-detail-art{height:235px}.dsb-detail-hero-copy h1{font-size:35px}.dsb-detail-features,.dsb-detail-page:has(.dsb-detail-feature:nth-child(5)) .dsb-detail-features{grid-template-columns:1fr 1fr;padding:12px}.dsb-detail-feature{padding:6px;border-right:0}.dsb-detail-icon{width:32px;height:32px;flex-basis:32px}.dsb-detail-feature b{font-size:12px}.dsb-detail-content{grid-template-columns:1fr}.dsb-detail-content-card:first-child{grid-column:auto}.dsb-detail-cta{flex-direction:column;align-items:flex-start}.dsb-detail-hero-copy p{font-size:16px}}


/* v40 — four dedicated service heroes only; use the exact Home wave asset. */
.dsb-detail-page .dsb-detail-hero {
  background:linear-gradient(105deg,#fff 0%,#fbfdff 43%,#edf8ff 100%);
  border-radius:0 0 22px 22px;
  min-height:420px;
  padding:24px 0 50px;
  isolation:isolate;
}
.dsb-detail-page .dsb-detail-hero::before { content:none; display:none; }
.dsb-detail-page .dsb-detail-hero::after {
  content:""; position:absolute; z-index:-1; inset:0 0 0 auto;
  width:61%;height:100%;opacity:1;transform:none;border-radius:0;
  background:url('../assets/images/hero-wave-clean.svg') center right / 100% 100% no-repeat;
}
.dsb-detail-page .dsb-detail-hero-grid {grid-template-columns:minmax(0,44%) minmax(0,56%);gap:0;min-height:320px;}
.dsb-detail-page .dsb-detail-art {height:335px;overflow:visible;transform:translateX(0);}
.dsb-detail-page .dsb-detail-art:has(.dsb-detail-photo) {margin-left:-3%;width:105%;}
.dsb-detail-page .dsb-detail-photo {
  width:100%;height:100%;object-fit:cover;object-position:center 51%;border:0;border-radius:0;
  box-shadow:none;filter:none;
  -webkit-mask-image:radial-gradient(ellipse 69% 66% at 54% 53%,#000 60%,rgba(0,0,0,.88) 75%,transparent 100%);
  mask-image:radial-gradient(ellipse 69% 66% at 54% 53%,#000 60%,rgba(0,0,0,.88) 75%,transparent 100%);
}
.dsb-detail-page .dsb-detail-devices {height:100%;}
.dsb-detail-page .dsb-detail-feature-wrap {margin-top:-16px;}
@media(max-width:950px){
 .dsb-detail-page .dsb-detail-hero-grid{grid-template-columns:minmax(0,47%) minmax(0,53%)}
 .dsb-detail-page .dsb-detail-art{height:300px}
}
@media(max-width:650px){
 .dsb-detail-page .dsb-detail-hero{padding:20px 0 38px}
 .dsb-detail-page .dsb-detail-hero::after{width:100%;height:58%;top:auto;bottom:0;opacity:.72}
 .dsb-detail-page .dsb-detail-hero-grid{grid-template-columns:1fr;gap:10px}
 .dsb-detail-page .dsb-detail-art{height:255px}
 .dsb-detail-page .dsb-detail-art:has(.dsb-detail-photo){width:100%;margin-left:0}
 .dsb-detail-page .dsb-detail-photo{object-fit:cover}
 .dsb-detail-page .dsb-detail-feature-wrap{margin-top:0}
}

/* v41: contained Home-style curves on the four dedicated service hero panels. */
.dsb-detail-page .dsb-detail-hero{
  width:calc(100% - 36px);max-width:1560px;margin:18px auto 0;
  border-radius:22px!important;overflow:hidden;
  background:linear-gradient(105deg,#ffffff 0%,#f9fdff 40%,#e9f7ff 72%,#b8e4ff 100%)!important;
  position:relative;isolation:isolate;
}
.dsb-detail-page .dsb-detail-hero::after{
  inset:0 0 0 auto;width:70%;height:100%;z-index:0;
  background:url('../assets/images/hero-wave-clean.svg') right center / 100% 100% no-repeat;
  border-radius:0;opacity:1;
}
.dsb-detail-page .dsb-detail-hero > .container{position:relative;z-index:1}
.dsb-detail-page .dsb-detail-art:has(.dsb-detail-photo){width:100%;margin-left:0}
.dsb-detail-page .dsb-detail-photo{
  object-fit:contain!important;
  -webkit-mask-image:radial-gradient(ellipse 72% 73% at 50% 51%,#000 61%,rgba(0,0,0,.94) 76%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 72% 73% at 50% 51%,#000 61%,rgba(0,0,0,.94) 76%,transparent 100%)!important;
}
@media(max-width:650px){
 .dsb-detail-page .dsb-detail-hero{width:calc(100% - 20px);margin-top:10px;border-radius:18px!important}
 .dsb-detail-page .dsb-detail-hero::after{width:100%;height:68%;top:auto;bottom:0;background-size:cover}
 .dsb-detail-page .dsb-detail-photo{object-fit:contain!important}
}

/* v42: Device artwork is isolated from its source photo; Home curves are the only hero backdrop. */
.dsb-detail-page .dsb-detail-hero{background:linear-gradient(105deg,#fff 0%,#f8fcff 40%,#eaf7ff 72%,#b8e4ff 100%)!important;}
.dsb-detail-page .dsb-detail-hero::after{background:url('../assets/images/hero-wave-clean.svg') right center/100% 100% no-repeat;}
.dsb-detail-page .dsb-detail-art:has(img[src*="-device.png"]){height:350px;overflow:visible;}
.dsb-detail-page .dsb-detail-photo[src*="-device.png"]{width:100%;height:100%;object-fit:contain!important;object-position:center bottom;filter:drop-shadow(0 15px 12px rgba(5,38,78,.18))!important;mask-image:none!important;-webkit-mask-image:none!important;border:0!important;background:none!important;}
@media(max-width:650px){.dsb-detail-page .dsb-detail-art:has(img[src*="-device.png"]){height:250px;}}

/* v44: five transparent, independent hero illustrations; preserve existing curve layers. */
body:has(.service-card) .hero-art {overflow:visible!important;border-radius:0!important;min-height:365px;display:flex;align-items:center;justify-content:center}
body:has(.service-card) .hero-art img.dsb-service-overview-art {display:block!important;width:110%!important;max-width:none!important;height:385px!important;max-height:none!important;object-fit:contain!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;mask-image:none!important;-webkit-mask-image:none!important;background:transparent!important}
.dsb-detail-page .dsb-detail-art:has(img[src*="-v44.png"]){height:355px!important;overflow:visible!important;width:100%!important;margin-left:0!important}
.dsb-detail-page .dsb-detail-photo[src*="-v44.png"]{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;border:0!important;border-radius:0!important;box-shadow:none!important;mask-image:none!important;-webkit-mask-image:none!important;background:transparent!important;filter:drop-shadow(0 10px 10px rgba(6,38,81,.10))!important}
@media(max-width:700px){body:has(.service-card) .hero-art{min-height:240px}body:has(.service-card) .hero-art img.dsb-service-overview-art{width:100%!important;height:255px!important}.dsb-detail-page .dsb-detail-art:has(img[src*="-v44.png"]){height:245px!important}}

/* v47: unified transparent hero illustration sizing across all five Services pages. */
@media (min-width: 901px) {
  .dsb-detail-page .dsb-detail-art:has(.dsb-detail-photo) {
    width:100%!important; height:355px!important; margin-left:0!important;
    display:flex!important; align-items:center!important; justify-content:center!important;
    overflow:visible!important;
  }
  .dsb-detail-page .dsb-detail-photo {
    display:block!important; width:100%!important; height:100%!important;
    object-fit:contain!important; object-position:center!important;
    border:0!important; border-radius:0!important; box-shadow:none!important;
    mask-image:none!important; -webkit-mask-image:none!important;
    background:transparent!important;
  }
  body:has(.service-card) .hero-art {
    min-height:355px!important; height:355px!important;
    display:flex!important; align-items:center!important; justify-content:center!important;
    overflow:visible!important;
  }
  body:has(.service-card) .hero-art img.dsb-service-overview-art {
    display:block!important; width:115%!important; height:355px!important;
    max-width:none!important; max-height:none!important;
    object-fit:contain!important; object-position:center!important;
    mask-image:none!important; -webkit-mask-image:none!important;
    border:0!important; border-radius:0!important; box-shadow:none!important;
    background:transparent!important;
  }
}
@media (max-width:900px) {
  .dsb-detail-page .dsb-detail-art:has(.dsb-detail-photo) {
    width:100%!important; height:245px!important; margin-left:0!important;
    display:flex!important; align-items:center!important; justify-content:center!important;
  }
  .dsb-detail-page .dsb-detail-photo {
    width:100%!important; height:100%!important; object-fit:contain!important;
    mask-image:none!important; -webkit-mask-image:none!important;
    background:transparent!important; border:0!important;
  }
  body:has(.service-card) .hero-art {
    min-height:245px!important; height:245px!important;
    display:flex!important; align-items:center!important; justify-content:center!important;
  }
  body:has(.service-card) .hero-art img.dsb-service-overview-art {
    width:100%!important; height:245px!important; max-height:none!important;
    object-fit:contain!important; mask-image:none!important; -webkit-mask-image:none!important;
  }
}

/* Transparent, consistently sized secondary-page hero illustrations */
.hero-art img.hero-illustration-v48{display:block;width:100%;height:355px;object-fit:contain;border:0;border-radius:0;box-shadow:none;background:transparent}
@media(max-width:700px){.hero-art img.hero-illustration-v48{height:245px}}

/* v49: scoped refinements to four dedicated service pages */
.dsb-detail-page .dsb-detail-cta{background:linear-gradient(110deg,#0865c9 0%,#0648ad 54%,#092c88 100%);color:#fff;border-radius:19px;box-shadow:0 8px 20px rgba(8,53,136,.12);padding:28px 30px}
.dsb-detail-page .dsb-detail-cta h2,.dsb-detail-page .dsb-detail-cta p{color:#fff}
.dsb-detail-page .dsb-detail-cta .btn-primary{background:linear-gradient(180deg,#0ba7ff,#0039d7);border-color:#248cff;color:white}
.dsb-detail-page .dsb-detail-icon img{width:24px;height:24px;display:block}
.dsb-detail-page .dsb-audience{display:flex;align-items:center;gap:10px;padding-left:0}
.dsb-detail-page .dsb-audience:before{display:none}
.dsb-detail-page .dsb-audience img{width:20px;height:20px;flex:none}
.dsb-detail-page .dsb-real-business-card{padding:0;overflow:hidden;justify-content:flex-start;background:#f5fbff}
.dsb-detail-page .dsb-real-business-image{display:block;width:100%;height:160px;object-fit:cover;object-position:center}
.dsb-detail-page .dsb-real-business-copy{padding:16px 18px 18px}
.dsb-detail-page .dsb-real-business-copy strong{font-size:18px}
.dsb-detail-page .dsb-real-business-copy p{margin:6px 0 0}
@media(max-width:650px){.dsb-detail-page .dsb-detail-cta{padding:24px 20px}.dsb-detail-page .dsb-real-business-image{height:185px}}

/* v50: preserve the complete laptop and phone image within its card. */
.dsb-detail-page .dsb-real-business-image{height:180px;object-fit:contain;object-position:center;background:#eaf6ff}

/* v51: match the Home hero's contained curve asset on all four dedicated service pages. */
.dsb-detail-page .dsb-detail-hero {
  background:linear-gradient(112deg,#fff 0%,#fff 38%,#f8fcff 67%,#eff9ff 100%)!important;
  isolation:isolate;overflow:hidden;
}
.dsb-detail-page .dsb-detail-hero::before {content:none!important;display:none!important}
.dsb-detail-page .dsb-detail-hero::after {
  content:""!important;position:absolute!important;z-index:-1!important;
  pointer-events:none!important;inset:0 0 0 auto!important;
  width:69%!important;height:100%!important;
  background:url('../assets/images/hero-curve-contained.svg') right center / 100% 100% no-repeat!important;
  opacity:1!important;transform:none!important;border-radius:0!important;
}
.dsb-detail-page .dsb-detail-hero>.container {position:relative;z-index:1}
.dsb-detail-page .dsb-real-business-image {
  width:100%;height:180px;object-fit:cover;object-position:center center;
  background:#eaf6ff;
}
@media(max-width:650px){.dsb-detail-page .dsb-detail-hero::after{width:100%!important;height:100%!important;opacity:.68!important}.dsb-detail-page .dsb-real-business-image{height:190px}}

/* v52: the four dedicated service heroes share the identical Home/Pricing wave geometry.
   The image is transparent foreground artwork, never part of the wave background. */
.dsb-detail-page .dsb-detail-hero {
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  background:#f7fcff!important;border-radius:19px!important;
}
.dsb-detail-page .dsb-detail-hero::before {content:none!important;display:none!important}
.dsb-detail-page .dsb-detail-hero::after {
  content:""!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;z-index:0!important;
  background:url('../assets/images/hero-reference-final.svg') center center / 100% 100% no-repeat!important;
  opacity:1!important;pointer-events:none!important;transform:none!important;border-radius:0!important;
}
.dsb-detail-page .dsb-detail-hero > .container {position:relative!important;z-index:1!important}
.dsb-detail-page .dsb-real-business-image {
  display:block!important;width:100%!important;height:190px!important;
  object-fit:cover!important;object-position:center center!important;
  background:#eef8ff!important;border:0!important;
}
@media(max-width:650px){
  .dsb-detail-page .dsb-detail-hero::after {background-position:62% center!important;background-size:cover!important;opacity:1!important}
  .dsb-detail-page .dsb-real-business-image {height:175px!important}
}

/* v54: purpose-built 15:7 card artwork, fully visible without cropping. */
.dsb-detail-page .dsb-real-business-image{height:auto!important;aspect-ratio:15/7!important;object-fit:contain!important;object-position:center!important;background:#edf7ff!important;}

/* v56: Place service-detail feature strips fully below the Hero panel. */
.dsb-detail-page .dsb-detail-feature-wrap {
  margin-top: 20px;
  margin-bottom: 0;
  position: relative;
  z-index: 1;
}
@media (max-width: 650px) {
  .dsb-detail-page .dsb-detail-feature-wrap { margin-top: 16px; }
}

/* v57 — template page enhancements, scoped to this page only */
.dsb-detail-page:has(.dsb-template-make-card) .dsb-detail-icon svg{width:24px;height:24px;display:block}
.dsb-detail-page .dsb-template-popular-list li{display:flex;align-items:center;gap:10px;padding:6px 0 10px;font-weight:600}
.dsb-detail-page .dsb-template-popular-list li::before{display:none}
.dsb-template-list-icon{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;background:#e7f4ff;color:#0766eb}
.dsb-template-list-icon svg{width:21px;height:21px}
.dsb-detail-page .dsb-template-make-card{padding:0;overflow:hidden;justify-content:flex-start;background:#f5faff}
.dsb-template-make-image{width:100%;height:165px;object-fit:cover;object-position:center;display:block}
.dsb-detail-page .dsb-template-make-card strong{font-size:20px;margin:16px 18px 0}
.dsb-detail-page .dsb-template-make-card p{margin:8px 18px 18px}
@media(max-width:650px){.dsb-template-make-image{height:190px}}

/* v59: image-free customization card, scoped to Website Templates */
.dsb-detail-page .dsb-template-make-card.dsb-template-make-icons{padding:20px;background:#f5faff;display:flex;flex-direction:column;gap:20px;justify-content:center;overflow:visible}
.dsb-make-heading{display:flex;align-items:flex-start;gap:12px}
.dsb-make-heading-icon,.dsb-make-option-icon{display:grid;place-items:center;flex:none;color:#075cf4;background:#fff;border:1px solid #d7e8ff;border-radius:12px}
.dsb-make-heading-icon{width:42px;height:42px}
.dsb-make-heading-icon svg{width:24px;height:24px}
.dsb-detail-page .dsb-template-make-icons strong{display:block;font-size:20px;margin:0 0 7px}
.dsb-detail-page .dsb-template-make-icons p{margin:0;color:#344666;line-height:1.45}
.dsb-make-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dsb-make-option{min-width:0;display:flex;align-items:center;gap:9px;padding:12px 9px;border:1px solid #deebff;background:#fff;border-radius:12px}
.dsb-make-option-icon{width:34px;height:34px;border:0;background:#eaf4ff;border-radius:9px}
.dsb-make-option-icon svg{width:20px;height:20px}
.dsb-make-option b,.dsb-make-option small{display:block;line-height:1.3}
.dsb-make-option b{font-size:13px;color:#0b1b3d}
.dsb-make-option small{font-size:11px;color:#53647e;margin-top:3px}
@media(max-width:430px){.dsb-make-options{grid-template-columns:1fr}}

/* Hosting page: consistent, crisp vector feature icons. */
.dsb-detail-page .dsb-detail-feature .dsb-detail-icon svg{width:24px;height:24px;display:block;stroke:#0868f4}

/* v61: focused service explanations linked from Services */
.dsb-explainer{scroll-margin-top:110px;margin-top:24px;margin-bottom:24px;padding:30px 34px;border:1px solid #cfe4ff;border-radius:20px;background:linear-gradient(125deg,#fff 55%,#f1f8ff);box-shadow:0 8px 24px rgba(16,74,145,.045)}
.dsb-explainer-head{display:flex;align-items:flex-start;gap:20px;max-width:850px}
.dsb-explainer-icon{flex:none;display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:#e6f3ff;color:#0565ef}
.dsb-explainer-icon svg{width:32px;height:32px}
.dsb-explainer h2{font-size:clamp(24px,2.3vw,32px);line-height:1.15;margin:0 0 10px;color:#081937}
.dsb-explainer p{margin:0;color:#294365;line-height:1.6}
.dsb-explainer-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;margin:25px 0 0}
.dsb-explainer-list li{background:#fff;border:1px solid #dbeafa;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:7px;line-height:1.45}
.dsb-explainer-list li strong{color:#0a2e66;font-size:15px}
.dsb-explainer-list li span{color:#45617c;font-size:14px}
@media(max-width:720px){.dsb-explainer{padding:22px 18px}.dsb-explainer-head{gap:13px}.dsb-explainer-icon{width:46px;height:46px}.dsb-explainer-icon svg{width:25px;height:25px}.dsb-explainer-list{grid-template-columns:1fr;gap:10px}}

/* Maintenance-specific feature icons and care plan comparison */
.dsb-detail-page .dsb-detail-feature .dsb-detail-icon svg{width:23px;height:23px;display:block;stroke:#0868f4}
.dsb-detail-page .dsb-care-plans{display:block;padding:16px;background:linear-gradient(145deg,#fff,#f1f9ff)}
.dsb-care-plans h2{margin:0 0 12px!important;font-size:20px!important}
.dsb-care-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch}
.dsb-care-plan{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #b8dcff;border-radius:12px;box-shadow:0 4px 12px #0b4d9512}
.dsb-care-plan-primary{border-color:#1689fa}
.dsb-care-plan-head{padding:10px 5px;text-align:center;background:#eaf6ff;color:#0a2142;font-size:12px;font-weight:800}
.dsb-care-plan-primary .dsb-care-plan-head{background:linear-gradient(100deg,#0060e9,#16b5ff);color:#fff}
.dsb-care-plan-body{display:flex;flex:1;flex-direction:column;padding:11px 9px 9px}
.dsb-care-price{font-size:27px!important;font-weight:850;line-height:1.1!important;letter-spacing:-.04em;color:#081632;margin:0 0 11px!important;white-space:nowrap}
.dsb-care-price span{font-size:10px;font-weight:700;letter-spacing:0}
.dsb-care-plan ul{list-style:none;padding:0;margin:0 0 12px;flex:1}
.dsb-care-plan li{position:relative;padding:0 0 7px 15px;font-size:11px;line-height:1.35}
.dsb-care-plan li:before{content:'✓';position:absolute;left:0;color:#05a55b;font-weight:800}
.dsb-care-plan .btn{width:100%;padding:10px 4px;font-size:11px;text-align:center;white-space:nowrap}
@media(max-width:1050px){.dsb-detail-page:has(.dsb-care-plans) .dsb-detail-content{grid-template-columns:1fr 1.3fr}.dsb-detail-page:has(.dsb-care-plans) .dsb-detail-content-card:last-child{grid-column:1/-1}}
@media(max-width:650px){.dsb-detail-page:has(.dsb-care-plans) .dsb-detail-content{grid-template-columns:1fr}.dsb-detail-page:has(.dsb-care-plans) .dsb-detail-content-card:last-child{grid-column:auto}}

/* v63: Direct navigation to service explainers, clear of sticky header. */
.dsb-detail-page .dsb-explainer[id] { scroll-margin-top: 116px; }
@media (max-width: 780px) { .dsb-detail-page .dsb-explainer[id] { scroll-margin-top: 94px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* v64: anchor clearance in browsers with native hash scrolling. */
html {scroll-padding-top: 110px;}
.dsb-detail-page section.dsb-explainer[id] {scroll-margin-top:110px;}
@media(max-width:780px){html{scroll-padding-top:94px}.dsb-detail-page section.dsb-explainer[id]{scroll-margin-top:94px}}

/* v67: Pricing hero mobile layout — stack text and image instead of narrow columns. */
@media (max-width: 780px) {
  body:not(:has(.feature-carousel)) .hero.dsb-pricing-hero {padding:26px 0 28px!important;}
  .dsb-pricing-hero .hero-grid {display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;align-items:start!important;}
  .dsb-pricing-hero .hero-copy {min-width:0!important;width:100%!important;padding:0 4px!important;}
  .dsb-pricing-hero .hero-copy h1 {font-size:clamp(34px,8.4vw,46px)!important;line-height:1.07!important;max-width:650px!important;}
  .dsb-pricing-hero .hero-copy>p {font-size:16px!important;line-height:1.5!important;max-width:620px!important;}
  .dsb-pricing-hero .hero-actions {margin:20px 0 4px!important;gap:10px!important;}
  .dsb-pricing-hero .hero-art {width:100%!important;max-width:560px!important;justify-self:center!important;overflow:visible!important;}
  body:not(:has(.feature-carousel)) .dsb-pricing-hero .hero-art>img {width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;}
}
@media (max-width: 430px) {
  .dsb-pricing-hero .hero-copy h1 {font-size:clamp(32px,8.7vw,38px)!important;}
  .dsb-pricing-hero .hero-actions .btn {padding:11px 14px!important;font-size:13px!important;}
  .dsb-pricing-hero .hero-art {margin-top:4px!important;}
}

/* v68: pricing mobile polish — restore eyebrow clearance and blend transparent art. */
@media (max-width:780px) {
  body:not(:has(.feature-carousel)) .hero.dsb-pricing-hero {margin-top:12px!important;padding-top:38px!important;}
  .dsb-pricing-hero .hero-copy .eyebrow {position:relative!important;z-index:2!important;display:flex!important;visibility:visible!important;opacity:1!important;margin-bottom:16px!important;}
  .dsb-pricing-hero .hero-art {background:transparent!important;box-shadow:none!important;}
  .dsb-pricing-hero .hero-art > img {background:transparent!important;mix-blend-mode:multiply!important;border-radius:0!important;}
}

/* v69: Pricing-style mobile Hero presentation on Portfolio, About and Contact only. */
@media (max-width:780px) {
  body:not(:has(.feature-carousel)) .hero.dsb-secondary-mobile-hero {
    margin-top:12px!important; padding:38px 0 28px!important;
  }
  .dsb-secondary-mobile-hero .hero-grid {
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;align-items:start!important;
  }
  .dsb-secondary-mobile-hero .hero-copy {
    min-width:0!important;width:100%!important;padding:0 4px!important;
  }
  .dsb-secondary-mobile-hero .hero-copy .eyebrow {
    position:relative!important;z-index:2!important;display:flex!important;
    visibility:visible!important;opacity:1!important;margin-bottom:16px!important;
  }
  .dsb-secondary-mobile-hero .hero-copy h1 {
    font-size:clamp(34px,8.4vw,46px)!important;line-height:1.07!important;
    max-width:650px!important;overflow-wrap:break-word!important;
  }
  .dsb-secondary-mobile-hero .hero-copy>p {
    font-size:16px!important;line-height:1.5!important;max-width:620px!important;
  }
  .dsb-secondary-mobile-hero .hero-actions {
    margin:20px 0 4px!important;gap:10px!important;
  }
  .dsb-secondary-mobile-hero .hero-art {
    width:100%!important;max-width:560px!important;min-width:0!important;
    justify-self:center!important;overflow:visible!important;
    background:transparent!important;box-shadow:none!important;
  }
  body:not(:has(.feature-carousel)) .dsb-secondary-mobile-hero .hero-art>img {
    display:block!important;width:100%!important;height:auto!important;
    max-height:none!important;object-fit:contain!important;
    box-shadow:none!important;border:0!important;
  }
}
@media (max-width:430px) {
  .dsb-secondary-mobile-hero .hero-copy h1 {font-size:clamp(32px,8.7vw,38px)!important;}
  .dsb-secondary-mobile-hero .hero-actions {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
  .dsb-secondary-mobile-hero .hero-actions .btn {width:100%!important;padding:11px 14px!important;font-size:13px!important;}
  .dsb-secondary-mobile-hero .hero-art {margin-top:4px!important;}
}

/* v70 About: crisp values icons and Toronto skyline with no baked-in badges/text. */
body:has(.about-values-clean) .about-values-clean .symbol{display:inline-flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;color:#0758ee;background:#eaf5ff;border:1px solid #d2e7ff;border-radius:12px}
body:has(.about-values-clean) .about-values-clean .symbol .dsb-icon{width:25px;height:25px;stroke-width:1.8}
body:has(.about-values-clean) .skyline{background:linear-gradient(90deg,rgba(0,43,106,.15),rgba(0,43,106,0)),url('../assets/images/toronto-clean.webp') center/cover no-repeat!important;min-height:160px;display:flex;align-items:center;padding:30px 34px}
body:has(.about-values-clean) .skyline::before,body:has(.about-values-clean) .skyline::after{content:none!important;display:none!important}
body:has(.about-values-clean) .skyline h2{font-size:clamp(25px,3vw,39px);text-shadow:0 1px 8px rgba(0,28,68,.22)}
body:has(.about-values-clean) .skyline p{margin-top:7px;font-size:14px}
@media(max-width:780px){body:has(.about-values-clean) .skyline{min-height:185px;padding:25px 22px;background-position:58% center!important}body:has(.about-values-clean) .about-values-clean .item{padding:10px 5px}}

/* v71: replace low-quality Toronto banner with a sharp, clean skyline photo. */
body:has(.about-values-clean) .skyline {
  background:linear-gradient(90deg,#062c68 0%,#062c68 37%,rgba(6,44,104,.95) 47%,rgba(6,44,104,.56) 65%,rgba(6,44,104,.03) 100%),url('../assets/images/toronto-skyline-v71.webp') right center / cover no-repeat!important;
}
@media(max-width:780px){body:has(.about-values-clean) .skyline{background:linear-gradient(90deg,#062c68 0%,rgba(6,44,104,.96) 43%,rgba(6,44,104,.64) 100%),url('../assets/images/toronto-skyline-v71.webp') 70% center / cover no-repeat!important;}}

/* v72: Toronto banner composed for the actual shallow panel; HTML text stays accessible. */
body:has(.about-values-clean) .skyline{
 background-color:#062c68!important;
 background-image:linear-gradient(90deg,#062c68 0%,#062c68 34%,rgba(6,44,104,.98) 43%,rgba(6,44,104,.60) 57%,rgba(6,44,104,0) 73%),url('../assets/images/toronto-panel-v72.webp')!important;
 background-position:center,right center!important;
 background-size:100% 100%,65% 100%!important;
 background-repeat:no-repeat!important;
 min-height:160px;display:flex;align-items:center;padding:30px 34px;
}
body:has(.about-values-clean) .skyline h2,body:has(.about-values-clean) .skyline p{position:relative;z-index:1}
@media(max-width:780px){body:has(.about-values-clean) .skyline{background-image:linear-gradient(90deg,#062c68 0%,rgba(6,44,104,.97) 42%,rgba(6,44,104,.45) 100%),url('../assets/images/toronto-panel-v72.webp')!important;background-size:100% 100%,85% 100%!important;background-position:center,right center!important;}}

/* v73: About Toronto panel — split desktop, stacked mobile. No image overlays or background cropping. */
body:has(.about-values-clean) .about-location-panel{
  display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  align-items:stretch;gap:0;padding:0!important;min-height:210px;
  background:#082d68!important;background-image:none!important;
  border-radius:20px;overflow:hidden;
}
body:has(.about-values-clean) .about-location-copy{
  min-width:0;padding:30px 34px;display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:1;
}
body:has(.about-values-clean) .about-location-copy h2{
  color:#fff;font-size:clamp(26px,2.6vw,39px);line-height:1.13;
  letter-spacing:-.04em;margin:0 0 10px;text-shadow:none;
}
body:has(.about-values-clean) .about-location-copy p{color:#e3efff;font-size:14px;line-height:1.5;margin:0}
body:has(.about-values-clean) .about-location-visual{min-width:0;min-height:210px;overflow:hidden}
body:has(.about-values-clean) .about-location-visual img{
 display:block;width:100%;height:100%;min-height:210px;object-fit:cover;object-position:53% center;
}
@media(max-width:780px){
 body:has(.about-values-clean) .about-location-panel{grid-template-columns:minmax(0,1fr);min-height:0}
 body:has(.about-values-clean) .about-location-copy{padding:27px 25px 25px}
 body:has(.about-values-clean) .about-location-copy h2{font-size:clamp(25px,6vw,34px)}
 body:has(.about-values-clean) .about-location-visual{height:180px;min-height:0}
 body:has(.about-values-clean) .about-location-visual img{height:100%;min-height:0;object-position:53% center}
}
@media(max-width:480px){
 body:has(.about-values-clean) .about-location-copy{padding:25px 22px}
 body:has(.about-values-clean) .about-location-visual{height:145px}
}


/* v74: single clipping boundary, precisely equal-height split panels. */
@media (min-width:781px) {
 body:has(.about-values-clean) .about-location-panel {
   display:grid!important;
   grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
   grid-template-rows:minmax(0,1fr)!important;
   height:210px!important;
   min-height:0!important;
   padding:0!important;
   align-items:stretch!important;
   gap:0!important;
   border-radius:20px!important;
   overflow:hidden!important;
   background:#082d68!important;
   background-image:none!important;
 }
 body:has(.about-values-clean) .about-location-copy {
   box-sizing:border-box!important;
   height:100%!important;
   min-height:0!important;
   padding:24px 34px!important;
   align-self:stretch!important;
   background:#082d68;
 }
 body:has(.about-values-clean) .about-location-visual {
   position:relative!important;
   height:100%!important;
   min-height:0!important;
   align-self:stretch!important;
   overflow:hidden!important;
 }
 body:has(.about-values-clean) .about-location-visual img {
   position:absolute!important;
   inset:0!important;
   display:block!important;
   width:100%!important;
   height:100%!important;
   min-height:0!important;
   max-width:none!important;
   object-fit:cover!important;
   object-position:53% center!important;
 }
}

/* v75: eliminate white pixels baked into the source skyline image; one shared clipping box. */
body:has(.about-values-clean) .about-location-panel{isolation:isolate;background:#082d68!important;background-image:none!important;}
body:has(.about-values-clean) .about-location-visual{background:#082d68;line-height:0;}
body:has(.about-values-clean) .about-location-visual img{display:block;vertical-align:top;}
@media(min-width:781px){
 body:has(.about-values-clean) .about-location-panel{grid-template-rows:210px!important;height:210px!important;}
 body:has(.about-values-clean) .about-location-copy,body:has(.about-values-clean) .about-location-visual{height:210px!important;max-height:210px!important;}
}

/* v77: Contact details and GTA map */
.dsb-contact-info-heading{display:flex;align-items:center;gap:12px;margin:18px 0 8px;}
.dsb-contact-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:13px;background:#e9f3ff;color:#0867ed;}
.dsb-contact-icon svg{width:24px;height:24px;display:block;}
.dsb-gta-map{overflow:hidden;border:1px solid #d9e7f7;border-radius:18px;background:#f1f6fc;margin-top:20px;}
.dsb-gta-map iframe{display:block;width:100%;height:290px;border:0;}
.dsb-gta-map-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 16px;font-size:13px;color:#16345e;}
.dsb-gta-map-footer a{color:#075de0;text-decoration:underline;text-underline-offset:3px;}
@media(max-width:600px){.dsb-gta-map iframe{height:240px}.dsb-gta-map-footer{font-size:12px}}

/* v78: About story editorial imagery and mobile reading order only */
.dsb-about-story-picture{display:block;min-width:0;overflow:hidden;border-radius:18px;aspect-ratio:4/3;background:#edf5fc}
.dsb-about-story-photo{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:0}
.dsb-about-story-copy{min-width:0}
@media(max-width:780px){
 .dsb-about-story-grid{display:flex;flex-direction:column;gap:20px;align-items:stretch}
 .dsb-about-story-copy{display:contents}
 .dsb-about-story-copy>.eyebrow{order:1}
 .dsb-about-story-copy>h2{order:2;margin-bottom:0}
 .dsb-about-story-copy>p:first-of-type{order:3;margin-bottom:0}
 .dsb-about-story-picture{order:4;aspect-ratio:5/4;width:100%;max-height:380px}
 .dsb-about-story-copy>p:nth-of-type(2){order:5;margin-bottom:0}
 .dsb-about-story-copy>.card{order:6}
}

/* v79: Get Started consultation photograph – preserve aspect ratio on all screens. */
#quote-panel .dsb-consultation-photo{display:block;width:100%;height:auto;aspect-ratio:587/370;object-fit:cover;object-position:center;border-radius:16px;margin-top:14px;}
#quote-panel .dsb-consultation-steps{padding:16px 0 2px;}
#quote-panel .dsb-consultation-steps h3{margin:0 0 7px;font-size:1.05rem;}
#quote-panel .dsb-consultation-steps p{margin:0;line-height:1.55;}
@media(max-width:767px){#quote-panel .dsb-consultation-photo{aspect-ratio:4/3;object-position:center;}#quote-panel .dsb-consultation-steps{padding-top:14px;}}

/* v80: crisp, consistent Get Started confidence icons */
.strip .item .symbol.dsb-confidence-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#eaf5ff;border:1px solid #d2e7ff;color:#0758ee}
.strip .item .symbol.dsb-confidence-icon svg{display:block;width:25px;height:25px;stroke:currentColor;stroke-width:1.8;flex:none}
@media(max-width:540px){.strip .item .symbol.dsb-confidence-icon{flex-basis:40px;width:40px;height:40px}}

/* v82: Portfolio cards — show full device mockups without desktop clipping. */
@media (min-width:781px){
  .portfolio-card{display:flex;flex-direction:column;min-width:0;}
  .portfolio-card .project-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;background:#f2f7fc;padding:10px;border-radius:13px;margin:0 0 16px;}
  .portfolio-card .btn{align-self:flex-start;margin-top:auto;}
}

/* Portfolio-specific icon and project-status refinements (v84) */
.dsb-portfolio-strip .symbol{width:42px;height:42px;flex:0 0 42px;color:#075bf0}
.dsb-portfolio-strip .symbol .dsb-portfolio-strip-icon{width:34px;height:34px;display:block}
.dsb-portfolio-strip .item{gap:12px}
.dsb-portfolio-live-badge{display:inline-flex;align-items:center;gap:7px;background:#e9f7ef;color:#137844;border:1px solid #a9e1bd;border-radius:999px;padding:6px 11px;font-size:11px;line-height:1.2;font-weight:750;letter-spacing:.01em;white-space:nowrap;box-shadow:0 2px 6px rgba(20,110,65,.08)}
.dsb-portfolio-live-badge .dsb-live-dot{width:7px;height:7px;border-radius:50%;background:#19a65b;flex:none}
@media(max-width:540px){.dsb-portfolio-strip .symbol{width:38px;height:38px;flex-basis:38px}.dsb-portfolio-strip .symbol .dsb-portfolio-strip-icon{width:30px;height:30px}}

/* v85 Privacy page: readable editorial layout */
.privacy-content h1{margin-bottom:18px}.privacy-content .privacy-intro{font-size:1.08rem;line-height:1.75}.privacy-content .privacy-date{font-size:.88rem;color:#4e6582;margin:16px 0 32px;padding-bottom:20px;border-bottom:1px solid #e1eaf5}.privacy-content h2{font-size:1.35rem;line-height:1.3;margin:32px 0 12px;color:#0a1939}.privacy-content p,.privacy-content li{line-height:1.78}.privacy-content ul{padding-left:23px;margin:10px 0 18px}.privacy-content li{margin:7px 0}.privacy-content a{overflow-wrap:anywhere}@media(max-width:640px){.privacy-content h2{font-size:1.2rem;margin-top:27px}.privacy-content .privacy-intro{font-size:1rem}}

/* v86 — accessible bilingual language navigation */
.dsb-language-switch{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:750;letter-spacing:.04em;color:#8194aa;margin-left:10px}
.dsb-language-switch a{color:#526b88;text-decoration:none;padding:5px 2px;border-bottom:2px solid transparent}
.dsb-language-switch a[aria-current="page"]{color:#1664c8;border-bottom-color:#1664c8}
.dsb-language-switch a:hover,.dsb-language-switch a:focus-visible{color:#1664c8}
@media(max-width:1000px){.dsb-language-switch{margin:0 4px;gap:9px}}

/* v88: Contact trust strip — consistent professional outline icons */
.dsb-contact-strip .item .symbol.dsb-contact-strip-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#eaf5ff;border:1px solid #d2e7ff;color:#0758ee}
.dsb-contact-strip .dsb-contact-strip-svg{display:block;width:25px;height:25px;flex:none}
@media(max-width:540px){.dsb-contact-strip .item .symbol.dsb-contact-strip-icon{width:40px;height:40px;flex-basis:40px}}

/* Three-tier SEO comparison — responsive, consistent with existing pricing tables */
.dsb-seo-plans{padding-top:18px}.dsb-seo-plans h2{margin-bottom:10px}.dsb-seo-plans>div>p{max-width:850px}.dsb-seo-table{min-width:780px}.dsb-seo-table th,.dsb-seo-table td{padding:12px 14px}.dsb-seo-table thead th{font-size:13px;font-weight:850}.dsb-seo-table tbody th{text-align:left;font-size:13px;font-weight:650;min-width:220px}.dsb-seo-table tbody td{font-size:13px;min-width:145px}.dsb-seo-check{color:#0872de;font-weight:900;font-size:18px}.dsb-seo-table-wrap{border:1px solid #d7e6f5;border-radius:14px;box-shadow:var(--shadow)}.dsb-seo-note{margin-top:13px}
@media(max-width:780px){.dsb-seo-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dsb-seo-table th,.dsb-seo-table td{padding:10px 12px}}

/* v93: maintain former H3 presentation after semantic heading correction. */
h2.seo-promoted-heading{font-size:19px;line-height:1.25;letter-spacing:normal}
.card h2.seo-promoted-heading{margin-bottom:9px}

/* v96 — S24 FE/mobile refinement: match inner-page hero clearance. */
@media (max-width:780px) {
  body:has(.feature-carousel) .hero {
    width:calc(100% - 20px)!important;
    margin:12px auto 0!important;
    padding:38px 0 28px!important;
  }
  body:has(.feature-carousel) .hero .hero-grid {min-width:0;}
  body:has(.feature-carousel) .hero .hero-copy {min-width:0;}
}
/* v96 — Portfolio device mockups must be fully visible on every viewport.
   Earlier mobile rules used object-fit:cover, cropping the sides. */
.portfolio-card {min-width:0;}
.portfolio-card .project-img {
  display:block; width:100%; height:auto; aspect-ratio:16 / 10;
  object-fit:contain; object-position:center;
  padding:clamp(6px,2vw,12px); background:#f2f7fc;
  border-radius:13px; margin-bottom:14px;
}
@media (max-width:780px) {
  .portfolio-card .project-img {
    width:100%; height:auto; aspect-ratio:16 / 10;
    object-fit:contain; object-position:center;
    padding:clamp(6px,2.5vw,12px);
  }
}

/* v97: Andora is a complete desktop + phone mockup, not a crop-fill photograph.
   Override the generic .photo height:100% / object-fit:cover for this portfolio preview. */
#andora .dsb-portfolio-andora-preview {
  display:block; width:100%; height:auto; min-height:0;
  aspect-ratio:1600 / 950; object-fit:contain; object-position:center;
  max-width:100%; border-radius:17px;
  background:#f2f7fc;
}
@media(max-width:780px) {
  #andora .dsb-portfolio-andora-preview {height:auto; min-height:0; width:100%;}
}

/* v99: Home hero CTA order changes on mobile only. Desktop DOM order remains unchanged. */
@media (max-width: 780px) {
  body:has(.feature-carousel) .hero-copy {
    display: flex;
    flex-direction: column;
  }
  body:has(.feature-carousel) .hero-copy > .hero-actions {
    order: 1;
    margin: 18px 0 6px;
  }
  body:has(.feature-carousel) .hero-copy > .benefits {
    order: 2;
    margin: 12px 0;
  }
}
