/* DM Media v1.5 — buttons, editable service details, authentic reviews and navigation */
:root{--dm-action:linear-gradient(105deg,#ef009f 0%,#ff2d9b 47%,#ff8a00 100%)}
body .btn.btn-primary,body .quote-form .btn.btn-primary,body .form-bottom button.btn-primary{background:var(--dm-action)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;border-radius:999px!important;box-shadow:0 12px 32px rgba(255,45,155,.24)!important;min-height:54px;gap:22px;font-size:14px;letter-spacing:0;padding:14px 26px;font-weight:750;cursor:pointer}
body .btn.btn-primary:hover,body .form-bottom button.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 18px 46px rgba(255,45,155,.33)!important}
body .check-field input,body .dm-review-consent input{accent-color:#ff2d9b}
body .contact-graphic{display:none!important}
body .contact-side{min-height:0}
body .contact-info address{line-height:1.85;position:relative;z-index:2}
body .dm-service-tile{display:block;text-decoration:none;color:inherit;position:relative;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;cursor:pointer}
body .dm-service-tile:hover,body .dm-service-tile:focus-visible{transform:translateY(-6px);border-color:#ff2d9b;box-shadow:0 18px 50px rgba(255,45,155,.13);outline-offset:3px}
body .dm-service-tile .dm-outline-button{color:white;background:rgba(6,10,22,.52);border-color:#ff2d9b #ff8a00 #ff8a00 #ff2d9b}
body .dm-service-tile:hover .dm-outline-button{background:var(--dm-action);border-color:transparent}
/* All six editable service detail pages */
.dm-service-detail-hero{--dm-service-photo:none;min-height:610px;position:relative;isolation:isolate;display:flex;align-items:center;padding:calc(var(--dm-header-total,120px) + 90px) 0 90px;background:#080d17;overflow:hidden}
.dm-service-detail-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--dm-service-photo) center 46%/cover no-repeat;opacity:.95;transform:scale(1.025)}
.dm-service-detail-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(3,7,19,.98),rgba(4,8,22,.9) 36%,rgba(4,7,17,.32) 77%)}
.dm-service-crumb{color:#bec6de;font-size:12px;margin-bottom:36px;max-width:800px}.dm-service-crumb a{color:#cdd8eb}.dm-service-crumb strong{color:#ff5bb7;font-weight:700}.dm-service-detail-heading h1{font-family:var(--font-title,inherit);font-size:clamp(43px,7.4vw,98px);font-weight:800;letter-spacing:-.068em;line-height:1.02;max-width:880px;margin:0 0 23px}.dm-service-detail-heading>p{font-size:clamp(16px,2vw,22px);line-height:1.55;max-width:640px;color:#e1e6f4;margin:0 0 32px}.dm-detail-hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.dm-detail-subtle-link{color:#f8f9fa;border-bottom:1px solid #ff2d9b;padding-bottom:8px;font-weight:750;font-size:13px;display:inline-flex;align-items:center;gap:8px}.dm-detail-subtle-link:hover{color:#ff8a00}.dm-service-detail-content{background:#0b0e17}.dm-detail-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(30px,6vw,110px);align-items:start}.dm-detail-two-col h2,.dm-detail-method h2{font-size:clamp(34px,4.4vw,64px);line-height:1.03;letter-spacing:-.06em;margin:10px 0 30px}.dm-detail-richtext p{font-size:clamp(15px,1.5vw,18px);line-height:1.9;color:#bdc7db;margin:0 0 20px}.dm-detail-richtext a{color:#ff83c2;text-decoration:underline}.dm-detail-deliverables{background:radial-gradient(ellipse at 85% 95%,rgba(149,19,130,.14),transparent 48%),#070c17}.dm-detail-cap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:42px}.dm-detail-cap-card{min-height:185px;padding:25px;border-radius:14px;background:linear-gradient(145deg,#151d2f,#090e1a);border:1px solid rgba(255,255,255,.11);transition:transform .28s,border-color .28s}.dm-detail-cap-card:hover{transform:translateY(-5px);border-color:#ec239e}.dm-detail-cap-card span{color:#ff55aa;font-weight:850;letter-spacing:.08em;font-size:12px}.dm-detail-cap-card h3{font-size:clamp(16px,1.6vw,21px);margin:37px 0 0;line-height:1.35}.dm-detail-method{background:#0b101d}.dm-detail-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}.dm-detail-method p{max-width:540px;color:#bbc6d9;font-size:17px;line-height:1.8;margin-bottom:30px}.dm-detail-photo{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 85px rgba(0,0,0,.32)}.dm-detail-photo img{width:100%;aspect-ratio:1.3;object-fit:cover;display:block}
/* Customer reviews: only approved real submissions show publicly. */
.dm-reviews-section{background:radial-gradient(ellipse at 10% 15%,rgba(11,64,255,.12),transparent 42%),radial-gradient(ellipse at 95% 85%,rgba(255,45,155,.12),transparent 40%),#070c16;border-block:1px solid rgba(255,255,255,.07)}
.dm-reviews-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.dm-reviews-header h2{font-size:clamp(31px,4vw,58px);line-height:1.08;letter-spacing:-.06em;margin:11px 0 14px}.dm-reviews-header p{color:#aebbd2;font-size:14px;max-width:610px;line-height:1.7;margin:0}.dm-reviews-header>.dm-gradient-button,.dm-review-trigger{white-space:nowrap;flex-shrink:0;cursor:pointer}.dm-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dm-review-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(105,124,167,.28);background:linear-gradient(150deg,#141b2a,#080d19 78%);border-radius:16px;padding:26px;position:relative;transition:transform .3s ease,border-color .3s ease}.dm-review-card:hover{transform:translateY(-5px);border-color:rgba(255,45,155,.45)}.dm-review-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.dm-review-stars{font-size:20px;color:#ffab32;white-space:nowrap;letter-spacing:2px}.dm-review-country{font-size:12px;color:#a9b5cd;display:inline-flex;gap:7px;align-items:center}.dm-review-flag{font-size:20px;line-height:1}.dm-review-card blockquote{margin:24px 0;flex:1;font-size:15px;line-height:1.72;color:#e3e8f6;overflow-wrap:anywhere}.dm-review-card-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid rgba(255,255,255,.1);padding-top:17px}.dm-review-name{font-weight:750;font-size:13px}.dm-review-verified{display:inline-flex;align-items:center;gap:7px;color:#6ff4ba;border:1px solid rgba(44,210,128,.4);background:rgba(18,135,81,.16);border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800;letter-spacing:.03em}.dm-review-verified span{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#20bb78;color:#062014;width:14px;height:14px;font-size:11px}.dm-reviews-empty{border-radius:16px;border:1px dashed rgba(125,153,201,.3);text-align:center;padding:50px 22px;background:rgba(255,255,255,.018)}.dm-reviews-empty-art{font-size:45px;color:#ff2d9b}.dm-reviews-empty h3{font-size:24px;margin:6px 0 12px}.dm-reviews-empty p{max-width:620px;margin:auto;color:#bac3d4;line-height:1.65;font-size:14px}.dm-review-message{border-radius:10px;background:rgba(19,131,82,.13);border:1px solid rgba(62,208,140,.43);color:#adf4ce;padding:14px 18px;margin:10px 0 22px}.dm-review-error{background:rgba(186,35,71,.13);border-color:#ed6993;color:#ffd0d9}
.dm-review-dialog{border:1px solid rgba(230,96,188,.35);border-radius:18px;background:#101729;color:#f8f9fa;box-shadow:0 28px 100px rgba(0,0,0,.85);width:min(92vw,680px);max-height:min(90dvh,800px);overflow-y:auto;padding:clamp(22px,4vw,42px);position:fixed}.dm-review-dialog:not([open]){display:none}.dm-review-dialog::backdrop{background:rgba(2,5,15,.82);backdrop-filter:blur(8px)}.dm-review-dialog h2{font-size:clamp(29px,4vw,44px);margin:8px 0 5px}.dm-review-dialog>p{font-size:13px;color:#bbc5d9;line-height:1.55;margin:0 0 24px}.dm-review-modal-close{position:absolute;top:15px;right:16px;border:1px solid rgba(255,255,255,.17);background:#1e2840;color:#fff;width:36px;height:36px;border-radius:50%;font-size:25px;cursor:pointer}.dm-review-form{display:flex;flex-direction:column;gap:17px}.dm-review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dm-review-form label{display:block;color:#e2e7f5;font-size:12px;font-weight:650}.dm-review-form label>span{color:#ff5cae}.dm-review-form input:not([type=checkbox]),.dm-review-form select,.dm-review-form textarea{display:block;width:100%;border-radius:9px;border:1px solid rgba(160,174,209,.26);background:#0b1020;padding:12px 14px;min-height:47px;font-size:14px;color:#fff;margin-top:9px;outline-offset:3px}.dm-review-form textarea{min-height:125px;resize:vertical}.dm-review-form :is(input,select,textarea):focus-visible{border-color:#ff2d9b;outline:2px solid rgba(255,45,155,.3)}.dm-review-form .dm-review-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;font-weight:400;color:#bac4da}.dm-review-consent input{flex:0 0 17px;margin-top:2px}.dm-review-form>.dm-gradient-button{width:100%;cursor:pointer}.dm-review-hp{position:absolute;left:-99999px;height:0;opacity:0;overflow:hidden}
/* Identical footer and header wordmarks, using same wp-content/uploads asset. */
.dm-footer-brand{display:inline-flex!important;align-items:center;gap:10px;max-width:100%;width:auto;min-width:0;text-align:left}
.dm-footer-brand .brand-symbol{height:auto;width:58px;max-height:58px;object-fit:contain}.dm-footer-brand .brand-wordmark strong{font-size:22px!important;letter-spacing:-.045em!important;white-space:nowrap}.dm-footer-brand .brand-wordmark small{font-size:9px!important;letter-spacing:.35em!important;line-height:1.7}.dm-footer-brand .brand-custom{width:auto;max-width:220px;height:auto;max-height:76px;object-fit:contain}.footer-identity>p{margin-top:24px}
.dm-footer-toggle{display:none}.dm-footer-panel>a{display:block;font-size:13px;line-height:1.75;margin-bottom:10px;overflow-wrap:anywhere}.dm-footer-panel>a:hover{color:#ff2d9b}.dm-footer-panel address{font-size:13px;color:#b0b9cb;line-height:1.85;margin-top:20px}
.dm-mobile-nav-top,.dm-mobile-nav-quote,.dm-mobile-menu-backdrop{display:none}
@media(max-width:980px){
 .dm-mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:95;background:rgba(1,4,15,.72);opacity:0;visibility:hidden;pointer-events:none;border:0;padding:0;transition:opacity .3s ease,visibility .3s ease}
 body.menu-open .dm-mobile-menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}
 body .site-header.dm-unified-header .primary-navigation{position:fixed!important;top:0!important;bottom:0!important;right:0!important;left:auto!important;width:min(88vw,390px)!important;max-height:none!important;height:100dvh!important;padding:24px 24px 33px!important;margin:0!important;box-sizing:border-box;display:flex;flex-direction:column;background:linear-gradient(155deg,#111b32,#070b17 80%)!important;border:0!important;border-left:1px solid rgba(255,255,255,.18)!important;transform:translateX(110%)!important;opacity:1!important;visibility:hidden;pointer-events:none;z-index:100!important;box-shadow:-25px 0 90px rgba(0,0,0,.55)!important;overflow-y:auto;transition:transform .33s cubic-bezier(.22,.8,.23,1),visibility .33s}
 body.menu-open .site-header.dm-unified-header .primary-navigation{transform:translateX(0)!important;visibility:visible;pointer-events:auto}
 .dm-mobile-nav-top{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:22px;color:#ff59b2;letter-spacing:.16em;font-size:11px;font-weight:850}
 .dm-mobile-nav-close{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:25px;line-height:1;width:40px;height:40px;border-radius:12px;cursor:pointer}
 body .site-header.dm-unified-header .primary-navigation .nav-links{padding:18px 0;display:flex;flex-direction:column;gap:0}
 body .site-header.dm-unified-header .primary-navigation .nav-links li{border-bottom:1px solid rgba(255,255,255,.1)}
 body .site-header.dm-unified-header .primary-navigation .nav-links a{font-size:clamp(18px,4.7vw,23px);padding:16px 7px;min-height:54px;color:#f3f5fc}
 .dm-mobile-nav-quote{display:flex;align-items:center;justify-content:space-between;margin-top:auto;border-radius:999px;background:var(--dm-action);padding:16px 22px;color:#fff;font-size:14px;font-weight:800}
 body.menu-open{overflow:hidden}
 .dm-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-detail-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 }
@media(max-width:700px){
 .dm-reviews-header{align-items:flex-start;flex-direction:column;gap:20px}.dm-review-grid{grid-template-columns:1fr}.dm-review-card{padding:23px}
 .dm-review-form-grid{grid-template-columns:1fr}.dm-detail-two-col,.dm-detail-method-grid{grid-template-columns:1fr}.dm-service-detail-hero{min-height:510px;padding:calc(var(--dm-header-total,96px) + 52px) 0 70px}.dm-service-detail-hero:after{background:linear-gradient(90deg,rgba(4,8,22,.94),rgba(4,8,22,.65))}.dm-service-detail-heading h1{font-size:clamp(39px,10.4vw,64px)}
 .dm-footer-brand .brand-symbol{width:49px}.dm-footer-brand .brand-wordmark strong{font-size:19px!important}.dm-footer-brand .brand-custom{max-width:200px}
 .site-footer .footer-grid,.site-footer .footer-grid.no-legal-yet{display:grid;grid-template-columns:1fr!important;gap:0;padding:40px 0 28px}.site-footer .footer-identity{grid-column:auto!important;padding-bottom:26px}
 .site-footer .footer-column,.site-footer .footer-contact,.site-footer .footer-grid.no-legal-yet .footer-contact{grid-column:auto!important;border-top:1px solid rgba(255,255,255,.14);padding:0;min-width:0}
 .site-footer .footer-column h3{display:none}.site-footer .dm-footer-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:63px;background:none;color:#f5f7fd;border:0;text-align:left;cursor:pointer;font-family:inherit;font-size:16px;font-weight:750;letter-spacing:.01em;padding:18px 3px}
 .dm-footer-plus{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:22px;color:#ff67b7;transition:transform .28s,border-color .28s}
 .dm-footer-toggle[aria-expanded=true] .dm-footer-plus{transform:rotate(45deg);border-color:#ff2d9b}
 .site-footer .dm-footer-panel{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;max-height:0;transition:max-height .33s ease,opacity .3s ease,padding .3s ease;padding:0 3px}
 .site-footer .dm-footer-panel.is-open{max-height:450px;opacity:1;padding:0 3px 20px;display:block}
 .site-footer .dm-footer-panel:not(.is-open)>*{visibility:hidden}
 .site-footer .dm-footer-panel>a{font-size:14px;padding-block:6px}.site-footer .dm-footer-panel address{margin-top:16px}
 }
@media(max-width:420px){.dm-detail-cap-grid{grid-template-columns:1fr 1fr;gap:10px}.dm-detail-cap-card{min-height:150px;padding:17px}.dm-detail-cap-card h3{font-size:15px;margin-top:24px}.dm-review-dialog{width:95vw;padding:24px 17px}}
@media(prefers-reduced-motion:reduce){.dm-service-tile,.dm-review-card,.dm-mobile-menu-backdrop,.dm-unified-header .primary-navigation,.dm-footer-plus,.dm-footer-panel{transition:none!important}}
@media(max-width:980px){body .site-header.dm-unified-header,body.home .site-header.dm-unified-header,body .site-header.dm-unified-header.is-scrolled{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
/* Keep theme preview as the only picture bundled in theme. All website visuals remain in uploads. */
