/*
 * Designtab service-page layout fixes.
 *
 * Extracted from inline <style> blocks that were embedded directly in page
 * content and scoped to individual post IDs (.page-id-NNN). That scoping
 * meant a duplicated page silently lost these rules, since WordPress
 * assigns the copy a new ID and none of the old selectors match it.
 *
 * .dt-svc-detail is set by the designtab-pages plugin's body_class filter
 * for any page on the Service/Location Page template — all four original
 * pages (39, 247, 269, 347) and everything created since. The original
 * .dt-svc-hub variant (the pre-migration hub/detail split, driven by the
 * now-removed _designtab_svc_style post meta) no longer applies to any
 * page and was removed along with service-page-styles.php.
 */

/* ============ DETAIL (.dt-svc-detail) ============ */

/* dt-svc-page-css — main service-detail layout (was: dt-ecom-svc-page-css / dt-sb-svc-page-css / dt-lp-svc-page-css, byte-identical on pages 247/269/347) */
.dt-svc-detail .entry-content,.dt-svc-detail .wp-block-post-content{color:#e8eefc !important;max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;position:relative;z-index:2;}.dt-svc-detail .entry-content > *:not(.dt-svc),.dt-svc-detail .wp-block-post-content > *:not(.dt-svc){display:none;}.dt-svc-detail .dt-svc{--dt-cyan:#22d3ee;--dt-blue:#3b82f6;--dt-red:#ef4444;--dt-pink:#db2777;--dt-amber:#fbbf24;--dt-orange:#ea580c;--dt-green:#4ade80;--dt-emerald:#10b981;--dt-text:#ffffff;--dt-muted:#c7d2e8;--dt-glass:rgba(10,22,48,0.62);--dt-border:rgba(255,255,255,0.12);--dt-wrap:min(1180px,calc(100% - 2.5rem));--dt-radius:16px;color:var(--dt-text);font-family:inherit;line-height:1.7;padding:calc(7.5rem + var(--wp-admin--admin-bar--height,0px)) 0 5rem;}.dt-svc-detail .dt-svc *,.dt-svc-detail .dt-svc *::before,.dt-svc-detail .dt-svc *::after{box-sizing:border-box;}.dt-svc-detail .dt-svc a:not(.dt-btn){color:#67e8f9;text-decoration:none;transition:color 0.2s ease;}.dt-svc-detail .dt-svc a:not(.dt-btn):hover{color:#a5f3fc;}.dt-svc-detail .dt-svc .dt-wrap{width:var(--dt-wrap);margin-inline:auto;}.dt-svc-detail .dt-svc .dt-badge{display:inline-flex;align-items:center;gap:0.55rem;padding:0.5rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,0.12);background:rgba(8,14,30,0.8);color:#e2e8f0;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin:0 0 1.25rem;}.dt-svc-detail .dt-svc .dt-badge::before{content:"";width:0.5rem;height:0.5rem;border-radius:50%;background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,0.75);}.dt-svc-detail .dt-svc h1,.dt-svc-detail .dt-svc h2,.dt-svc-detail .dt-svc h3{letter-spacing:-0.03em;line-height:1.12;margin:0 0 1rem;font-weight:800;color:#fff !important;}.dt-svc-detail .dt-svc h1{font-size:clamp(2.2rem,5vw,3.75rem) !important;text-transform:uppercase;max-width:16ch;}.dt-svc-detail .dt-svc h2{font-size:clamp(1.75rem,3.2vw,2.6rem) !important;}.dt-svc-detail .dt-svc h3{font-size:1.2rem !important;font-weight:700;color:#fff !important;}.dt-svc-detail .dt-svc .dt-grad-cyan{background:linear-gradient(90deg,#22d3ee,#67e8f9,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent !important;display:block;}.dt-svc-detail .dt-svc .dt-grad-pink{background:linear-gradient(90deg,#ef4444,#db2777);-webkit-background-clip:text;background-clip:text;color:transparent !important;}.dt-svc-detail .dt-svc .dt-eyebrow{display:inline-flex;align-items:center;gap:0.55rem;margin:0 0 0.85rem;color:#94a3b8 !important;font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}.dt-svc-detail .dt-svc p{color:var(--dt-muted) !important;margin:0 0 1rem;font-size:1.02rem;}.dt-svc-detail .dt-svc p:last-child{margin-bottom:0;}.dt-svc-detail .dt-svc .dt-lede{color:#e8eefc !important;font-size:1.08rem;max-width:52ch;}.dt-svc-detail .dt-svc .dt-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.55rem;cursor:pointer;border-radius:10px;padding:16px 32px;font-size:1rem;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;text-decoration:none !important;border:2px solid transparent;transition:box-shadow 0.25s ease,background 0.25s ease,color 0.25s ease,transform 0.25s ease;}.dt-svc-detail .dt-svc .dt-btn svg{width:20px;height:20px;flex-shrink:0;transition:transform 0.25s ease;}.dt-svc-detail .dt-svc .dt-btn:hover svg{transform:translateX(3px);}.dt-svc-detail .dt-svc .dt-btn-primary{color:#fff !important;background:linear-gradient(90deg,#ef4444 0%,#db2777 100%);border-color:transparent;}.dt-svc-detail .dt-svc .dt-btn-primary:hover{color:#fff !important;box-shadow:0 16px 40px rgba(219,39,119,0.4);}.dt-svc-detail .dt-svc .dt-btn-cyan{color:#fff !important;background:linear-gradient(135deg,#06b6d4 0%,#3b82f6 100%);border-color:transparent;}.dt-svc-detail .dt-svc .dt-btn-cyan:hover{color:#fff !important;box-shadow:0 16px 40px rgba(6,182,212,0.35);}.dt-svc-detail .dt-svc .dt-btn-ghost{color:#fff !important;background:transparent;border-color:#fff;}.dt-svc-detail .dt-svc .dt-btn-ghost:hover{background:#fff;color:#0a1628 !important;}.dt-svc-detail .dt-svc .dt-cta-row{display:flex;flex-wrap:wrap;gap:0.85rem;margin-top:1.75rem;}.dt-svc-detail .dt-svc .dt-ico{width:3.5rem;height:3.5rem;border-radius:1rem;display:inline-grid;place-items:center;flex-shrink:0;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,0.35);}.dt-svc-detail .dt-svc .dt-ico svg{width:1.75rem;height:1.75rem;display:block;}.dt-svc-detail .dt-svc .dt-ico-sm{width:2.75rem;height:2.75rem;border-radius:0.85rem;}.dt-svc-detail .dt-svc .dt-ico-sm svg{width:1.35rem;height:1.35rem;}.dt-svc-detail .dt-svc .dt-ico-cyan{background:linear-gradient(to bottom right,#22d3ee,#3b82f6);box-shadow:0 12px 28px rgba(34,211,238,0.35);}.dt-svc-detail .dt-svc .dt-ico-pink{background:linear-gradient(to bottom right,#ef4444,#db2777);box-shadow:0 12px 28px rgba(239,68,68,0.35);}.dt-svc-detail .dt-svc .dt-ico-amber{background:linear-gradient(to bottom right,#fbbf24,#f97316);box-shadow:0 12px 28px rgba(251,191,36,0.35);}.dt-svc-detail .dt-svc .dt-ico-green{background:linear-gradient(to bottom right,#4ade80,#10b981);box-shadow:0 12px 28px rgba(74,222,128,0.3);}.dt-svc-detail .dt-svc .dt-ico-violet{background:linear-gradient(to bottom right,#a78bfa,#6366f1);box-shadow:0 12px 28px rgba(99,102,241,0.35);}.dt-svc-detail .dt-svc .dt-head-row{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;}.dt-svc-detail .dt-svc .dt-head-row h2,.dt-svc-detail .dt-svc .dt-head-row h3{margin:0;}.dt-svc-detail .dt-svc .dt-glass{position:relative;background:var(--dt-glass);border:1px solid var(--dt-border);border-radius:1.25rem;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 24px 80px rgba(0,0,0,0.35);}.dt-svc-detail .dt-svc .dt-hero{padding-bottom:1.5rem;}.dt-svc-detail .dt-svc .dt-hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:2.75rem;align-items:center;}.dt-svc-detail .dt-svc .dt-hero-panel{padding:1.5rem;}.dt-svc-detail .dt-svc .dt-hero-shapes{position:absolute;inset:-1.75rem -1.25rem auto auto;width:7.5rem;height:7.5rem;border-radius:1.25rem;background:linear-gradient(135deg,#22d3ee,#3b82f6);opacity:0.65;filter:blur(1px);z-index:-1;box-shadow:0 20px 50px rgba(34,211,238,0.35);}.dt-svc-detail .dt-svc .dt-hero-shapes::after{content:"";position:absolute;left:-3.25rem;top:4.25rem;width:5rem;height:5rem;border-radius:999px;background:linear-gradient(135deg,#ef4444,#db2777);opacity:0.8;box-shadow:0 16px 40px rgba(239,68,68,0.4);}.dt-svc-detail .dt-svc .dt-feature{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,0.08);}.dt-svc-detail .dt-svc .dt-feature:last-child{border-bottom:0;padding-bottom:0.15rem;}.dt-svc-detail .dt-svc .dt-feature:first-child{padding-top:0.15rem;}.dt-svc-detail .dt-svc .dt-feature strong{display:block;color:#fff;font-size:1.05rem;margin-bottom:0.15rem;}.dt-svc-detail .dt-svc .dt-feature span{color:var(--dt-muted);font-size:0.95rem;}.dt-svc-detail .dt-svc .dt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.75rem;padding:1.5rem 1.75rem;}.dt-svc-detail .dt-svc .dt-stat{display:flex;align-items:center;gap:0.9rem;}.dt-svc-detail .dt-svc .dt-stat strong{display:block;background:linear-gradient(90deg,#22d3ee,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent !important;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;letter-spacing:-0.03em;line-height:1;}.dt-svc-detail .dt-svc .dt-stat span{color:var(--dt-muted);font-size:0.92rem;}.dt-svc-detail .dt-svc .dt-section{padding:4.25rem 0 0;}.dt-svc-detail .dt-svc .dt-section-head{max-width:42rem;margin-bottom:1.75rem;}.dt-svc-detail .dt-svc .dt-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:2.25rem;align-items:center;}.dt-svc-detail .dt-svc .dt-split.reverse{grid-template-columns:minmax(240px,360px) minmax(0,1fr);}.dt-svc-detail .dt-svc .dt-split.reverse >:first-child{order:2;}.dt-svc-detail .dt-svc .dt-media{margin:0;max-width:360px;width:100%;justify-self:center;position:relative;}.dt-svc-detail .dt-svc .dt-media::before{content:"";position:absolute;inset:-4px;border-radius:1.5rem;background:linear-gradient(135deg,rgba(34,211,238,0.45),rgba(239,68,68,0.35));z-index:-1;filter:blur(0.5px);opacity:0.85;}.dt-svc-detail .dt-svc .dt-media img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:1.15rem;border:1px solid rgba(255,255,255,0.16);box-shadow:0 24px 60px rgba(0,0,0,0.45);}.dt-svc-detail .dt-svc .dt-media-stack{display:grid;gap:2.25rem;max-width:360px;margin-inline:auto;}.dt-svc-detail .dt-svc .dt-media-duo{display:grid;grid-template-columns:1fr 1fr;gap:2.25rem;max-width:520px;margin:1.5rem auto 0;}.dt-svc-detail .dt-svc .dt-media-duo .dt-media{max-width:none;}.dt-svc-detail .dt-svc .dt-media-duo .dt-media img{aspect-ratio:1 / 1;}.dt-svc-detail .dt-svc .dt-panel{padding:1.5rem 1.6rem;}.dt-svc-detail .dt-svc .dt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}.dt-svc-detail .dt-svc .dt-cards-2{grid-template-columns:repeat(2,1fr);}.dt-svc-detail .dt-svc .dt-card{padding:1.45rem 1.5rem;height:100%;transition:border-color 0.2s ease,transform 0.2s ease;}.dt-svc-detail .dt-svc .dt-card:hover{border-color:rgba(34,211,238,0.35);}.dt-svc-detail .dt-svc .dt-card .dt-ico{margin-bottom:1rem;}.dt-svc-detail .dt-svc .dt-card h3{margin-bottom:0.75rem !important;}.dt-svc-detail .dt-svc .dt-step-num{display:none;}.dt-svc-detail .dt-svc details.dt-faq{padding:1.15rem 1.35rem;margin-bottom:0.85rem;border-radius:1rem;border:1px solid var(--dt-border);background:rgba(10,22,48,0.55);}.dt-svc-detail .dt-svc details.dt-faq summary{cursor:pointer;color:#fff;font-weight:700;font-size:1.05rem;list-style:none;display:flex;align-items:center;gap:0.75rem;}.dt-svc-detail .dt-svc details.dt-faq summary::-webkit-details-marker{display:none;}.dt-svc-detail .dt-svc details.dt-faq summary::after{content:"+";margin-left:auto;color:#22d3ee;font-weight:700;font-size:1.25rem;}.dt-svc-detail .dt-svc details.dt-faq[open] summary::after{content:"-";color:#f472b6;}.dt-svc-detail .dt-svc details.dt-faq .dt-faq-body{margin-top:0.9rem;padding-top:0.9rem;border-top:1px solid rgba(255,255,255,0.08);}.dt-svc-detail .dt-svc .dt-cta-band{margin-top:4rem;padding:2.5rem;border-radius:1.5rem;border:1px solid rgba(255,255,255,0.12);background:radial-gradient(600px 240px at 12% 0%,rgba(34,211,238,0.2),transparent 60%),radial-gradient(520px 240px at 90% 100%,rgba(239,68,68,0.18),transparent 55%),rgba(8,16,36,0.9);}.dt-svc-detail .dt-svc .dt-cta-band h2{max-width:16ch;}@media (max-width:960px){.dt-svc-detail .dt-svc{padding-top:calc(6.75rem + var(--wp-admin--admin-bar--height,0px));}.dt-svc-detail .dt-svc .dt-hero-grid,.dt-svc-detail .dt-svc .dt-split,.dt-svc-detail .dt-svc .dt-split.reverse,.dt-svc-detail .dt-svc .dt-cards,.dt-svc-detail .dt-svc .dt-cards-2{grid-template-columns:1fr;}.dt-svc-detail .dt-svc .dt-split.reverse >:first-child{order:0;}.dt-svc-detail .dt-svc .dt-stats{grid-template-columns:1fr;}.dt-svc-detail .dt-svc h1{max-width:none;}.dt-svc-detail .dt-svc .dt-media,.dt-svc-detail .dt-svc .dt-media-stack{max-width:320px;}}@media (prefers-reduced-motion:reduce){.dt-svc-detail .dt-svc .dt-btn,.dt-svc-detail .dt-svc .dt-btn svg,.dt-svc-detail .dt-svc .dt-card{transition:none;}}.dt-svc-detail .dt-svc .dt-hero.dt-hero-home-v{padding-bottom:1rem;min-height:auto;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-inner{padding-top:0.5rem;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:3rem;align-items:center;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-copy{display:flex;flex-direction:column;gap:1.75rem;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-badge-wrap{display:inline-block;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-badge{margin:0;padding:0.55rem 1.25rem;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:0.85rem;letter-spacing:0.06em;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-badge::before{display:none;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-badge-dot{width:0.5rem;height:0.5rem;border-radius:50%;background:#4ade80;box-shadow:0 0 10px rgba(74,222,128,0.75);display:inline-block;margin-right:0.45rem;vertical-align:middle;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-titles{display:flex;flex-direction:column;gap:0.65rem;}.dt-svc-detail .dt-svc .dt-hero-home-v h1{font-size:clamp(2.6rem,6vw,4.5rem) !important;line-height:0.92 !important;max-width:none;margin:0 !important;text-transform:uppercase;}.dt-svc-detail .dt-svc .dt-hero-home-v h1 .dt-grad-cyan{display:inline;background:linear-gradient(90deg,#22d3ee,#67e8f9,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent !important;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-subline{margin:0 !important;color:#fff !important;font-size:clamp(1.45rem,2.8vw,2.15rem) !important;font-weight:800;letter-spacing:-0.02em;line-height:1.15;text-transform:uppercase;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-accent-pink{color:rgb(251,44,99) !important;background:none;-webkit-background-clip:unset;background-clip:unset;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-lede{margin:0 !important;max-width:36rem;color:#d1d5db !important;font-size:1.125rem;line-height:1.7;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-cta-row{margin-top:0.75rem;gap:1rem;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-shape{position:absolute;z-index:0;pointer-events:none;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-shape-1{top:-1.5rem;left:-1.25rem;width:7.5rem;height:7.5rem;border-radius:1.25rem;background:linear-gradient(to bottom right,#22d3ee,#3b82f6);box-shadow:0 20px 50px rgba(34,211,238,0.45);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-shape-2{top:0.5rem;right:3.5rem;width:4.5rem;height:4.5rem;border-radius:999px;background:linear-gradient(to bottom right,#ef4444,#db2777);box-shadow:0 16px 40px rgba(239,68,68,0.45);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-shape-3{top:38%;right:-0.75rem;width:5.5rem;height:5.5rem;border-radius:0.85rem;transform:rotate(45deg);background:linear-gradient(to bottom right,#facc15,#f97316);box-shadow:0 16px 40px rgba(250,204,21,0.4);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-shape-4{bottom:2rem;left:-0.5rem;width:6.5rem;height:6.5rem;border-radius:1.75rem;background:linear-gradient(to bottom right,#4ade80,#10b981);box-shadow:0 16px 40px rgba(74,222,128,0.35);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-shape-5{bottom:28%;right:2rem;width:3.75rem;height:3.75rem;border-radius:999px;background:linear-gradient(to bottom right,#a855f7,#ec4899);box-shadow:0 14px 36px rgba(168,85,247,0.4);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-panel{position:relative;z-index:2;width:min(100%,380px);padding:2rem;border-radius:1.5rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-shapes{display:none;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-feature{border-bottom:0;padding:0.85rem 0;gap:1rem;align-items:center;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-feature + .dt-feature{border-top:1px solid rgba(255,255,255,0.08);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-feature strong{font-size:1.15rem;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stats-home{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stats-home .dt-stat{display:block;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stats-home .dt-ico{display:none;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stats-home strong{display:block;font-size:clamp(2.4rem,4vw,3rem);font-weight:800;line-height:1;margin-bottom:0.55rem;letter-spacing:-0.03em;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stat-cyan{background:linear-gradient(90deg,#22d3ee,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent !important;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stat-pink{background:linear-gradient(90deg,#ef4444,#db2777);-webkit-background-clip:text;background-clip:text;color:transparent !important;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stat-amber{background:linear-gradient(90deg,#facc15,#fb923c);-webkit-background-clip:text;background-clip:text;color:transparent !important;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stats-home span{color:#9ca3af;font-size:1rem;}@media (max-width:960px){.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-grid{grid-template-columns:1fr;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual{min-height:340px;order:-1;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-stats-home{grid-template-columns:1fr;gap:1.25rem;}}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual-v2{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center;padding:0.5rem 0;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual-v2 .dt-shape,.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual-v2 .dt-hero-panel{display:none !important;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-orb{position:absolute;border-radius:999px;filter:blur(2px);z-index:0;pointer-events:none;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-orb-a{width:11rem;height:11rem;top:-1rem;right:-1rem;background:radial-gradient(circle at 30% 30%,rgba(34,211,238,0.55),transparent 70%);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-orb-b{width:9rem;height:9rem;bottom:1rem;left:-1.5rem;background:radial-gradient(circle at 40% 40%,rgba(239,68,68,0.45),transparent 70%);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-orb-c{width:7rem;height:7rem;top:42%;right:8%;background:radial-gradient(circle at 40% 40%,rgba(250,204,21,0.4),transparent 70%);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-bento{position:relative;z-index:2;width:min(100%,420px);display:grid;grid-template-columns:1fr 1fr;gap:0.9rem;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-shot{grid-column:1 / -1;margin:0;position:relative;border-radius:1.35rem;overflow:hidden;border:1px solid rgba(255,255,255,0.16);box-shadow:0 24px 60px rgba(0,0,0,0.45);background:rgba(255,255,255,0.04);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-shot img{display:block;width:100%;height:220px;object-fit:cover;border-radius:0;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-shot-tag{position:absolute;left:0.85rem;bottom:0.85rem;padding:0.4rem 0.75rem;border-radius:999px;font-size:0.72rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:#fff;background:linear-gradient(90deg,rgba(6,182,212,0.92),rgba(59,130,246,0.92));border:1px solid rgba(255,255,255,0.2);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-tile{display:grid;grid-template-columns:auto 1fr;gap:0.7rem;align-items:center;padding:0.95rem 1rem;border-radius:1.1rem;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 16px 40px rgba(0,0,0,0.28);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-tile strong{display:block;color:#fff;font-size:0.95rem;margin-bottom:0.15rem;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-tile span{color:#9ca3af;font-size:0.8rem;line-height:1.35;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-tile-wide{grid-column:1 / -1;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-tile-cyan{border-color:rgba(34,211,238,0.28);}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-tile-pink{border-color:rgba(239,68,68,0.28);}@media (max-width:960px){.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual-v2{min-height:0;}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-shot img{height:200px;}}

/* dt-svc-hero-fix (identical on all three) */
.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual{display:flex;flex-direction:column}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual .dt-stats-home{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem 1.5rem;margin-top:1.35rem;padding:0;width:100%;background:transparent;border:0;box-shadow:none}.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual .dt-stats-home .dt-stat{display:block;text-align:left}@media (max-width:900px){.dt-svc-detail .dt-svc .dt-hero-home-v .dt-hero-visual .dt-stats-home{margin-top:1.5rem;gap:1rem}}.dt-svc-detail .dt-svc{padding-top:0!important}.dt-svc-detail .dt-svc .dt-hero.dt-hero-home-v{box-sizing:border-box!important;min-height:calc(100dvh - var(--wp-admin--admin-bar--height,0px))!important;padding-top:9.75rem!important;padding-bottom:5rem!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.dt-svc-detail .dt-svc .dt-hero.dt-hero-home-v + .dt-section{padding-top:5.5rem!important}@media (max-width:900px){.dt-svc-detail .dt-svc .dt-hero.dt-hero-home-v{min-height:auto!important;padding-top:7rem!important;padding-bottom:3rem!important;justify-content:flex-start!important}}

/* dt-svc-media-left — merged: 247 used plain order:0, 269/347 used order:0!important. Kept the stronger (!important) form; both are visually equivalent. */
.dt-svc-detail .dt-svc .dt-split.dt-split-media-left{grid-template-columns:minmax(240px,360px) minmax(0,1fr)}.dt-svc-detail .dt-svc .dt-split.dt-split-media-left > :first-child{order:0!important}@media (max-width:900px){.dt-svc-detail .dt-svc .dt-split.dt-split-media-left{grid-template-columns:1fr}}

/* dt-svc-step (identical on all three) */
.dt-svc-detail .dt-svc .dt-step{display:inline-block;margin-bottom:0.75rem;font-size:0.75rem;font-weight:800;letter-spacing:0.12em;color:#22d3ee}

/* ============ PROSE (.dt-svc-body) ============
 * Phase 5, pulled forward into Phase 4 so the free-form "prose" section
 * layout has somewhere to land. Mirrors how .dt-blog styles plain post
 * content: an editor typing an ordinary heading, paragraph or list here
 * gets on-brand output with no classes to pick, same as writing a blog
 * post.
 */
.dt-svc-body h2{font-size:1.75rem;font-weight:700;line-height:1.2;margin:2rem 0 1rem;color:#f1f5f9}
.dt-svc-body h3{font-size:1.35rem;font-weight:700;line-height:1.25;margin:1.75rem 0 .75rem;color:#f1f5f9}
.dt-svc-body p{margin:0 0 1.1rem;line-height:1.7;color:#c7d2e8}
.dt-svc-body ul,.dt-svc-body ol{margin:0 0 1.1rem;padding-left:1.4rem;color:#c7d2e8;line-height:1.7}
.dt-svc-body li{margin-bottom:.4rem}
.dt-svc-body a{color:#22d3ee;text-decoration:underline;text-underline-offset:2px}
.dt-svc-body a:hover{color:#67e8f9}
.dt-svc-body strong{color:#f1f5f9;font-weight:700}
.dt-svc-body blockquote{margin:0 0 1.1rem;padding-left:1rem;border-left:3px solid #22d3ee;color:#e8eefc;font-style:italic}
.dt-svc-body img{max-width:100%;height:auto;border-radius:12px;margin:1rem 0}

/* Phase: related-page link cards (subservice_links layout) — image + title + description grid, replacing the old plain-text single-column list. */
.dt-svc-detail .dt-svc .dt-subsvc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:0;padding:0;list-style:none}
.dt-svc-detail .dt-svc .dt-subsvc-grid>li{margin:0;min-width:0}
.dt-svc-detail .dt-svc .dt-subsvc-card{display:flex;flex-direction:column;height:100%;border-radius:1.25rem;overflow:hidden;background:var(--dt-glass);border:1px solid var(--dt-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);text-decoration:none!important;transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.dt-svc-detail .dt-svc .dt-subsvc-card:hover{border-color:rgba(34,211,238,.45);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.35)}
.dt-svc-detail .dt-svc .dt-subsvc-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:rgba(255,255,255,.04)}
.dt-svc-detail .dt-svc .dt-subsvc-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.dt-svc-detail .dt-svc .dt-subsvc-card:hover .dt-subsvc-card-media img{transform:scale(1.06)}
.dt-svc-detail .dt-svc .dt-subsvc-card-body{display:flex;flex:1 1 auto;flex-direction:column;padding:1.5rem 1.5rem 1.75rem}
.dt-svc-detail .dt-svc .dt-subsvc-card-title{display:block;margin:0 0 .6rem;font-size:1.15rem;font-weight:800;line-height:1.3;color:#fff!important}
.dt-svc-detail .dt-svc .dt-subsvc-card:hover .dt-subsvc-card-title{color:#67e8f9!important}
.dt-svc-detail .dt-svc .dt-subsvc-card-excerpt{display:block;flex:1 1 auto;margin:0 0 1.1rem;font-size:.92rem;line-height:1.65;color:var(--dt-muted)!important}
.dt-svc-detail .dt-svc .dt-subsvc-card-cta{display:inline-flex;align-items:center;gap:.45rem;margin-top:auto;font-size:.88rem;font-weight:700;color:#67e8f9!important}
.dt-svc-detail .dt-svc .dt-subsvc-card-arrow{display:inline-block;transition:transform .25s ease}
.dt-svc-detail .dt-svc .dt-subsvc-card:hover .dt-subsvc-card-arrow{transform:translateX(4px)}
@media(max-width:700px){.dt-svc-detail .dt-svc .dt-subsvc-grid{grid-template-columns:1fr}}

/* Extra body content below a split_media image+text pair — full page width, not squeezed into the split's narrow text column. */
.dt-svc-detail .dt-svc .dt-split-extra{margin-top:2rem}

/* designtab-seo-2col, inside prose (.dt-svc-body): its native 2-column grid puts a short paragraph next to a stack of cards several times taller, leaving the short side mostly empty — a lopsided split, not a real balance. Stack it to one full-width column instead (text, then the card/tile/panel component below at full width), so those components get their own proper multi-column row rather than being squeezed into — or centred oddly beside — a half-width slot. */
.dt-svc-detail .dt-svc .dt-svc-body .designtab-seo-2col{display:block}
.dt-svc-detail .dt-svc .dt-svc-body .designtab-seo-2col>*+*{margin-top:1.75rem}
.dt-svc-detail .dt-svc .dt-svc-body .designtab-feature-list{grid-template-columns:1fr;gap:1rem}
@media(min-width:700px){.dt-svc-detail .dt-svc .dt-svc-body .designtab-feature-list{grid-template-columns:1fr 1fr}}

/* Card/media/link grids that can follow optional raw body content (whats_included, cards_3col/2col, media_block, subservice_links): the body's trailing spacing depends on whatever HTML was scraped from the source page, so two consecutive blocks (e.g. a designtab-panel and the card grid after it) sometimes sit flush with no visible gap. Guarantee a gap whenever something precedes the grid — collapses harmlessly against dt-section-head's own margin when there's no body content, since both use the same 1.75rem. */
.dt-svc-detail .dt-svc .dt-wrap>*+.dt-cards,
.dt-svc-detail .dt-svc .dt-wrap>*+.dt-media-stack,
.dt-svc-detail .dt-svc .dt-wrap>*+.dt-subsvc-grid{margin-top:1.75rem}

/* designtab-tile numbers (01/02/03…) — small flat coloured text by default. Upgrade to the same gradient-badge language as the page's icon badges (dt-ico) elsewhere, so the number reads as a deliberate design element rather than a caption. */
.dt-svc-detail .dt-svc .dt-svc-body .designtab-tile__num{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;height:2.75rem;padding:0 .4rem;border-radius:.85rem;margin-bottom:.85rem;font-size:1.05rem;letter-spacing:0;color:#fff!important;-webkit-text-fill-color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.32)}
.dt-svc-detail .dt-svc .dt-svc-body .designtab-tile__num--cyan{background:linear-gradient(to bottom right,#22d3ee,#3b82f6)}
.dt-svc-detail .dt-svc .dt-svc-body .designtab-tile__num--pink{background:linear-gradient(to bottom right,#ef4444,#db2777)}
.dt-svc-detail .dt-svc .dt-svc-body .designtab-tile__num--amber{background:linear-gradient(to bottom right,#fbbf24,#f97316)}
.dt-svc-detail .dt-svc .dt-svc-body .designtab-tile__num--green{background:linear-gradient(to bottom right,#4ade80,#10b981)}
.dt-svc-detail .dt-svc .dt-svc-body .designtab-tile__num--purple{background:linear-gradient(to bottom right,#a78bfa,#6366f1)}

/* The icon colour field's 5 tokens are cyan/pink/amber/green/purple, but the theme's base .dt-ico-* rules only ever defined a "violet" variant, not "purple" — so any icon assigned purple had no matching gradient rule and fell back to a flat/black badge. */
.dt-svc-detail .dt-svc .dt-ico-purple{background:linear-gradient(to bottom right,#a78bfa,#6366f1);box-shadow:0 12px 28px rgba(99,102,241,.35)}

/* designtab-steps ("how we work" process list) is hardcoded to a 5-column grid regardless of how many steps exist. Every one of these pages actually has 6 steps (one has 5), so the 6th step wraps alone into an almost-empty second row. 3 columns divides the common 6-step case evenly and keeps a 5-step page reasonably balanced (3+2) instead of orphaning a single card. */
.dt-svc-detail .dt-svc .designtab-steps{grid-template-columns:1fr!important}
@media(min-width:600px){.dt-svc-detail .dt-svc .designtab-steps{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
