/* 3D Labs OKC static-site additions. The approved spacious V2 home styling lives in /styles.css. */
:root{color-scheme:light} html{scroll-behavior:smooth}body{margin:0;background:#f6f5f2} img{max-width:100%}
.dl-page{min-height:100vh} .dl-page main{display:block}.dl-page .dl-topnav a[aria-current="page"]{color:#165cd7}.skip-link{position:absolute;left:10px;top:-100px;background:#fff;padding:12px;z-index:10000}.skip-link:focus{top:10px}
.dl-page .dl-footer-links{display:flex;flex-direction:column;align-items:start;gap:8px}.dl-page .dl-footer-links>a,.dl-page .dl-footer-links>span{display:inline-block}.dl-footer-address{font-size:12px;line-height:1.8;color:#b3b8bd;margin-top:16px}.footer-pill{display:inline-flex;align-items:center;border:1px solid #596068;border-radius:4px;color:white;padding:12px 18px;font-size:12px;margin-top:22px;font-weight:800}
.mobile-menu-toggle{display:none;background:none;border:0;cursor:pointer;width:43px;height:43px;padding:10px;flex-direction:column;justify-content:center;gap:5px}.mobile-menu-toggle span{width:100%;height:2px;background:#1d273c;display:block;border-radius:2px}.dl-page .dl-inner{max-width:1270px}
.inner-hero{background:linear-gradient(116deg,#fafaf9 0%,#f2f1ee 64%,#eeeeeb 100%);border-bottom:1px solid #e3e1dd;overflow:hidden}.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.93fr);align-items:center;gap:5.4%;min-height:525px;padding-top:70px;padding-bottom:70px}.inner-hero-copy h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(49px,5.7vw,78px);line-height:1.04;letter-spacing:-.073em;margin:22px 0 23px;font-weight:800;max-width:700px}.inner-hero-copy h1 em{font-style:normal;color:#f25927}.inner-hero-copy p{font-size:17px;line-height:1.8;max-width:520px;color:#616468;margin:0}.inner-hero-copy .dl-button-row{margin-top:31px}.inner-hero-art{height:385px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}.inner-hero-art:before{content:"";position:absolute;inset:10%;border:1px solid #dadddb;opacity:.7;z-index:-1}.inner-hero-art:after{content:"+";position:absolute;right:7%;top:6%;font:32px 'DM Mono',monospace;color:#f25927}.inner-hero-art img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.inner-hero-pattern{background:radial-gradient(circle at 60% 50%,#dee8f0 0,#f0f1ee 42%,transparent 68%)}.inner-hero-pattern:before{border-radius:50%;inset:12% 20%}.inner-hero-pattern span{font:11px 'DM Mono',monospace;color:#9cabb7;letter-spacing:.23em;text-align:center}
.page-section{padding:110px 0;background:#fafafa}.page-section.muted-section{background:#f1f1ee}.page-section-head{display:flex;justify-content:space-between;align-items:end;gap:44px;margin-bottom:43px}.page-section-head h2,.page-cta h2,.dark-message h2{font-size:clamp(34px,4vw,55px);font-weight:800;line-height:1.14;letter-spacing:-.061em;margin:16px 0 0}.page-section-head p{max-width:390px;color:#666b70;font-size:15px;line-height:1.8;margin:0}.stacked-services{display:grid;gap:24px}.service-row{display:grid;grid-template-columns:minmax(200px,.89fr) minmax(0,1.11fr);align-items:center;gap:7%;background:#fff;border:1px solid #e3e3e1;border-radius:12px;padding:26px;scroll-margin-top:35px}.service-row:nth-child(even){background:#f7f7f6}.service-row>img{width:100%;height:300px;object-fit:cover;border-radius:7px;background:#eeefee}.service-row h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.052em;line-height:1.14;margin:15px 0}.service-row p{color:#61666d;font-size:15px;line-height:1.85;max-width:560px}.simple-text-link{display:inline-block;color:#ef5928!important;font-size:13px;font-weight:800;letter-spacing:-.015em;margin-top:14px}.simple-text-link:hover{text-decoration:underline!important}.micro-note{font-size:12px!important;color:#879098!important}
.page-cta{background:#edecea;padding:80px 0}.page-cta-grid{display:flex;align-items:center;justify-content:space-between;gap:60px}.page-cta p{color:#65686b;max-width:600px;line-height:1.75}.page-cta .dl-button-row{flex-shrink:0}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.info-tile{border:1px solid #e3e3e1;background:#fff;border-radius:10px;padding:33px 25px 40px;min-height:300px}.info-tile h3{font-size:22px;line-height:1.25;letter-spacing:-.045em;margin:26px 0 12px}.info-tile p{font-size:13px;line-height:1.8;color:#687078}.tile-number{font:17px 'DM Mono',monospace;color:#f25927}.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.spec-grid>div{background:#fff;border:1px solid #e1e2df;padding:33px;border-radius:8px;display:flex;flex-direction:column;gap:14px}.spec-grid span,.contact-details span,.material-row span,.showcase-card-text span{font:10px 'DM Mono',monospace;letter-spacing:.12em;color:#f25927}.spec-grid strong{font-size:19px;letter-spacing:-.03em}.spec-grid small{color:#6a6d70}.page-link-row{margin-top:28px}
.materials-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.material-row{min-height:160px;display:flex;gap:25px;align-items:center;background:#fff;border:1px solid #e0e3e0;padding:22px;border-radius:10px}.material-row .material-swatch{width:67px;height:105px;flex-shrink:0;border-radius:7px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.25) 0 2px,transparent 2px 4px),#c5c6c3;box-shadow:inset 2px 0 6px #0002}.material-swatch-1{background-color:#323a3d!important}.material-swatch-2{background-color:#ee5e29!important}.material-swatch-3{background-color:#d6d0c7!important}.material-swatch-4{background-color:#9aa4aa!important}.material-swatch-5{background-color:#b4c1d7!important}.material-swatch-6{background-color:#2f3032!important}.material-row h3{font-size:24px;letter-spacing:-.04em;margin:8px 0}.material-row p{font-size:12px;color:#62686b;line-height:1.7;margin:0}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.showcase-card{border:1px solid #e0e2e1;background:#fff;border-radius:10px;overflow:hidden}.showcase-card img{display:block;width:100%;height:265px;object-fit:cover;background:#e6e6e4}.showcase-card-text{padding:26px}.showcase-card-text h3{font-size:22px;letter-spacing:-.035em;line-height:1.24;margin:12px 0}.showcase-card-text p{font-size:13px;line-height:1.8;color:#626971}.project-caveat{margin-top:25px;border-left:3px solid #ee642f;padding:14px 20px;background:#fff4ef;font-size:12px;color:#6a6362}
.dark-message{padding:108px 0;background:#151719;color:white}.dark-message .dl-eyebrow{color:#f25927}.dark-message h2{font-size:clamp(44px,6vw,80px);color:white}.dark-message p{color:#b9bdc1;max-width:630px;line-height:1.8}
.inquiry-layout{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:8%;align-items:start}.inquiry-info{padding:30px 0}.inquiry-info h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.06em;line-height:1.12;margin:20px 0 22px}.inquiry-info>p{line-height:1.85;color:#62686c;max-width:400px}.contact-details{margin-top:65px;display:grid;gap:30px}.contact-details>div{display:grid;gap:8px}.contact-details a,.contact-details p{color:#2f3539;font-size:16px;font-weight:600;line-height:1.6;margin:0}.quote-note{border-top:1px solid #dededb;padding:21px 0}.quote-note:first-of-type{margin-top:35px}.quote-note strong{font-size:15px}.quote-note p{font-size:13px;color:#62666a;line-height:1.7;margin:7px 0 0}.form-card{background:#fff;border:1px solid #e1e2df;border-radius:12px;padding:clamp(24px,4.2vw,56px);box-shadow:0 20px 50px #1e222509}.form-card h2{font-size:clamp(30px,3.5vw,42px);letter-spacing:-.05em;line-height:1.15;margin:15px 0 12px}.form-intro{color:#6b7074;font-size:14px;margin:0 0 33px}.form-card form{display:grid;gap:23px}.form-card label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:800;color:#272d34}.form-card label>span{color:#e75222}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-card input,.form-card select,.form-card textarea{box-sizing:border-box;width:100%;font-size:14px;font-family:Manrope,Arial,sans-serif;color:#202327;border:1px solid #d8dcdd;border-radius:5px;background:#fbfbfb;min-height:48px;padding:13px 14px;transition:border-color .2s,box-shadow .2s}.form-card textarea{resize:vertical;min-height:145px}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:none;border-color:#1870c5;box-shadow:0 0 0 3px #1870c51f}.form-card .upload-label{border:1px dashed #bcc3c8;padding:20px;background:#f8fafb;border-radius:6px}.form-card input[type=file]{border:0;background:none;padding:8px 0;min-height:0}.form-card small{font-weight:400;color:#687078}.submit-btn{border:0;border-radius:5px;background:#f25927;color:#fff;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:13px;padding:17px 24px;cursor:pointer;justify-self:start;transition:background .2s}.submit-btn:hover{background:#d9491c}.submit-btn:disabled{opacity:.55;cursor:not-allowed}.form-status{margin:0;font-size:13px;line-height:1.6;min-height:0}.form-status.is-error{color:#ba341a}.form-status.is-success{color:#1d753d}.form-disclaimer{font-size:11px;color:#777f82;line-height:1.65;margin:0}.form-disclaimer a{color:#1570bc}.honeypot{position:absolute;left:-99999px;height:1px;width:1px;overflow:hidden;pointer-events:none}.turnstile-slot{min-height:60px}.turnstile-unconfigured{border-left:3px solid #d4a124;padding:12px;background:#fff7de;color:#6e5a15;font-size:12px;line-height:1.6}
.legal-page{max-width:850px!important}.legal-page h1{font-size:clamp(48px,6vw,76px);letter-spacing:-.06em}.legal-page h2{font-size:25px;margin-top:40px}.legal-page p{line-height:1.85;color:#555d61}.legal-page a{color:#e75d27}.legal-date{font-size:12px}.legal-warning{background:#fff1e8;padding:20px;border-left:3px solid #ec6c2f}
@media(max-width:1140px){.dl-page .dl-header-inner{gap:16px}.dl-page .dl-topnav{gap:15px}.inquiry-layout{gap:4%}.inner-hero-grid{min-height:450px}.feature-grid{grid-template-columns:repeat(2,1fr)}.info-tile{min-height:220px}}
@media(max-width:880px){.dl-page .dl-header-inner{position:relative;flex-wrap:nowrap!important;min-height:84px!important;padding-block:12px!important}.dl-page .dl-brand{flex:1}.mobile-menu-toggle{display:flex;order:3}.dl-page .dl-header-cta{display:none}.dl-page .dl-topnav{display:none!important;position:absolute;z-index:30;top:100%;left:0;right:0;background:white;box-shadow:0 16px 25px #0001;border:1px solid #e6e6e6;border-top:0;border-radius:0 0 8px 8px;flex-direction:column;align-items:stretch;gap:0!important;padding:12px 14px!important;overflow:visible!important}.dl-page .dl-topnav.is-open{display:flex!important}.dl-page .dl-topnav a{padding:13px 14px;font-size:14px!important}.inner-hero-grid{grid-template-columns:1fr;min-height:unset;padding-block:65px 42px;gap:20px}.inner-hero-art{height:315px}.page-section{padding:75px 0}.page-cta-grid{flex-direction:column;align-items:start;gap:18px}.service-row{gap:25px}.inquiry-layout{grid-template-columns:1fr;gap:30px}.inquiry-info{padding:10px 0}.contact-details{margin-top:33px;grid-template-columns:repeat(2,1fr)}.case-grid{grid-template-columns:repeat(2,1fr)}.page-section-head{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:620px){.inner-hero-grid{padding-top:52px;padding-bottom:35px}.inner-hero-copy h1{font-size:clamp(40px,11.5vw,60px);margin:20px 0}.inner-hero-copy p{font-size:15px}.inner-hero-art{height:240px}.page-section{padding:62px 0}.page-section-head{margin-bottom:28px}.service-row{grid-template-columns:1fr;padding:14px}.service-row>img{height:210px}.service-row>div{padding:7px 12px 18px}.service-row h3{font-size:28px}.feature-grid,.spec-grid,.materials-list,.case-grid{grid-template-columns:1fr}.info-tile{min-height:unset;padding:23px}.material-row{min-height:140px}.showcase-card img{height:235px}.page-cta{padding:60px 0}.page-cta .dl-button-row{flex-wrap:wrap}.field-row{grid-template-columns:1fr}.form-card{padding:24px}.contact-details{grid-template-columns:1fr}.dl-page .dl-footer-links{gap:11px}.dl-page .dl-header-inner{min-height:76px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v2.1 — CAD → blue FDM printed component hero.
   Intrinsic image size and object-fit contain ensure that both halves survive
   responsive resizing. Site CSS is preserved when build_site.py runs. */
.dl-page .dl-hero-stage{
  margin:0; padding:0; background:none!important; mix-blend-mode:normal!important;
  width:100%;height:auto!important;min-height:0!important;aspect-ratio:1672/941;
  align-self:center;position:relative;overflow:visible;
}
.dl-page .dl-hero-stage::before,.dl-page .dl-hero-stage::after{display:none!important}
.dl-page .dl-hero-stage img{
  display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;
  mix-blend-mode:multiply;
}
.dl-page .dl-hero-stage .dl-stage-caption{
  position:absolute;right:0;bottom:-24px;left:auto;
  font-size:9px;line-height:1.4;font-weight:500;letter-spacing:.075em;
  padding:0;background:none;color:#667078;text-align:right;
}
@media(max-width:880px){
  .dl-page .dl-hero-stage{width:100%;max-width:740px;margin:4px auto 15px}
}
@media(max-width:520px){
  .dl-page .dl-hero-stage{margin-top:9px;margin-bottom:25px}
  .dl-page .dl-hero-stage .dl-stage-caption{bottom:-20px;font-size:8px;letter-spacing:.04em}
}


/* V3 visual assets: four accessible product photographs and the 3-stage reverse-engineering story. */
.dl-page .dl-service-card .dl-card-img{
 width:100%; display:block; object-fit:cover; object-position:center;
 border:0; margin:0; border-radius:0; aspect-ratio:620/434;
}
.dl-page .dl-feature-pic{
 background:none; width:100%; height:auto; display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;
}
.dl-page .dl-re-stage{margin:0;min-width:0;display:flex;flex-direction:column;gap:13px}
.dl-page .dl-re-stage img{
 display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
 border:1px solid #293b4c;border-radius:7px;background:#101a28;
}
.dl-page .dl-re-stage figcaption{
 display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;
 color:#e5ecf2;line-height:1.35;letter-spacing:-.01em;
}
.dl-page .dl-re-stage-no{color:#66b7ff;font:10px 'DM Mono',monospace;letter-spacing:.09em}
@media(max-width:1080px){
 .dl-page .dl-feature-inner{gap:35px;grid-template-columns:.88fr 1.12fr}
 .dl-page .dl-feature-pic{gap:8px}
 .dl-page .dl-re-stage figcaption{font-size:10px}
}
@media(max-width:750px){
 .dl-page .dl-feature-inner{grid-template-columns:1fr;gap:35px}
 .dl-page .dl-feature-pic{height:auto;max-width:620px;margin-inline:auto;gap:12px}
}
@media(max-width:480px){
 .dl-page .dl-feature-pic{gap:7px}
 .dl-page .dl-re-stage{gap:8px}
 .dl-page .dl-re-stage figcaption{font-size:9px;gap:4px;align-items:flex-start}
 .dl-page .dl-re-stage-no{font-size:9px}
}

/* V4: Approved service artwork. All images remain ordinary HTML img elements. */
.dl-page .dl-service-illustration-note{margin:17px 0 0;color:#858a91;font-size:11px;line-height:1.6;letter-spacing:.005em}
.dl-page .dl-service-card .dl-card-img{background:#f3f4f4;object-fit:cover;object-position:center}
.dl-page .dl-service-card .dl-img-cad,.dl-page .dl-service-card .dl-img-reverse{background:#f5f7f8}
.dl-page .dl-service-card .dl-img-print{background:#fafafa}
@media(max-width:620px){.dl-page .dl-service-illustration-note{margin-top:14px;font-size:10.5px}}

/* V5 — dedicated service landing pages. Progressive enhancement uses native details/summary for FAQs. */
.service-breadcrumbs{background:#f8f8f6;border-bottom:1px solid #e9e9e5}
.service-breadcrumbs .dl-inner{display:flex;align-items:center;gap:12px;min-height:52px;color:#737b82;font-size:12px}
.service-breadcrumbs a{color:#42536a;text-decoration:none}.service-breadcrumbs a:hover{text-decoration:underline}
.service-breadcrumbs [aria-current=page]{color:#202d42;font-weight:750}
.service-intro-section{background:#fff;padding:100px 0}
.service-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:min(11vw,150px);align-items:start}
.service-intro-grid h2{font-size:clamp(32px,4.6vw,60px);line-height:1.12;letter-spacing:-.065em;margin:22px 0 0;max-width:560px;color:#18263b}
.service-intro-grid p{margin:4px 0 17px;color:#5c6871;font-size:17px;line-height:1.85;max-width:560px}
.service-applications{padding:100px 0}
.service-application-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-application{background:#fff;border:1px solid #e4e5e2;border-radius:10px;padding:28px 24px 38px;box-shadow:0 12px 25px rgba(20,30,40,.025);min-height:208px;box-sizing:border-box}
.service-application .tile-number{font-size:14px;color:#1171bd}
.service-application h3{font-size:19px;letter-spacing:-.035em;line-height:1.25;color:#1b293f;margin:27px 0 12px}
.service-application p{margin:0;color:#626a72;font-size:13px;line-height:1.8}
.service-process{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;counter-reset:step}
.service-process li{position:relative;padding-top:18px;border-top:1px solid #d9dfe2}
.service-process-num{display:inline-flex;align-items:center;justify-content:center;width:47px;height:47px;border:1px solid #f06330;border-radius:50%;color:#f06330;background:#fff;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.service-process li:not(:last-child):before{content:'→';position:absolute;right:-18px;top:24px;font-size:20px;color:#85a9c6}
.service-process h3{margin:21px 0 11px;font-size:19px;letter-spacing:-.025em;color:#1e293b;line-height:1.3}
.service-process p{margin:0;font-size:13px;color:#646c72;line-height:1.8}
.service-spec-section{background:#14191f;color:#fff;padding:105px 0}
.service-spec-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:center}
.service-spec-title .dl-eyebrow{color:#76b6f3}
.service-spec-title h2{font-size:clamp(32px,4.1vw,55px);line-height:1.13;letter-spacing:-.065em;margin:22px 0;color:#fff}
.service-spec-title p{font-size:14px;line-height:1.8;color:#b2bdc7;max-width:420px}
.service-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#3b454d;border:1px solid #3b454d;border-radius:10px;overflow:hidden}
.service-facts>div{display:flex;flex-direction:column;gap:14px;padding:29px;background:#1d252e;min-height:132px;box-sizing:border-box}
.service-facts span{font:10px 'DM Mono',monospace;letter-spacing:.13em;color:#6ba9ed}
.service-facts strong{font-size:15px;line-height:1.55;color:#f5f7fb;font-weight:750}
.service-faq-section{padding:115px 0;background:#fff}
.service-faq-header{max-width:770px;margin-bottom:44px}
.service-faq-header h2{font-size:clamp(35px,4.6vw,60px);line-height:1.1;letter-spacing:-.062em;margin:18px 0;color:#17283e}
.service-faq-header p{font-size:15px;line-height:1.8;color:#606b74;margin:0}
.service-faq-list{max-width:1000px;border-top:1px solid #dce0e3}
.service-faq-item{border-bottom:1px solid #dce0e3;padding:0;background:#fff}
.service-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;padding:27px 4px;color:#1b2a40;font-size:18px;font-weight:750;line-height:1.4;letter-spacing:-.025em}
.service-faq-item summary::-webkit-details-marker{display:none}
.service-faq-item summary:focus-visible{outline:3px solid #207dd1;outline-offset:3px;border-radius:3px}
.service-faq-icon{width:28px;height:28px;border-radius:50%;border:1px solid #d4e3ef;position:relative;flex:0 0 28px;background:#f2f8fc}
.service-faq-icon:before,.service-faq-icon:after{content:'';position:absolute;left:8px;top:13px;width:11px;height:2px;background:#1a70bf}
.service-faq-icon:after{transform:rotate(90deg);transition:transform .16s}
.service-faq-item[open] .service-faq-icon:after{transform:rotate(0)}
.service-faq-item[open] summary{color:#0c5fab}
.service-faq-answer{padding:0 66px 25px 4px}
.service-faq-answer p{margin:0;font-size:15px;color:#57646e;line-height:1.85;max-width:790px}
.service-quote-strip{background:#eaeef1;padding:82px 0}
.service-quote-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:80px}
.service-quote-strip-inner>div:first-child{max-width:830px}
.service-quote-strip h2{font-size:clamp(29px,3.6vw,45px);letter-spacing:-.055em;line-height:1.16;margin:16px 0 14px;color:#1b2e45}
.service-quote-strip p{font-size:15px;line-height:1.75;color:#53616e;margin:0}
.service-quote-strip .dl-primary{flex-shrink:0}
.related-service-section{background:#f6f6f4;padding:98px 0}
.related-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.related-service{display:block;background:#fff;border:1px solid #e2e3e3;border-radius:10px;overflow:hidden;color:#1b2a40;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease}
.related-service:hover{transform:translateY(-3px);box-shadow:0 12px 26px #14253613}
.related-service img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.related-service>span{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:21px 23px;font-weight:800;letter-spacing:-.02em;font-size:15px}
.related-service b{color:#ee622c;font-size:19px}
@media(max-width:950px){.service-intro-grid{gap:35px}.service-application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-process{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:35px}.service-process li:nth-child(2):before{display:none}.service-spec-inner{gap:5%}.service-quote-strip-inner{gap:25px}}
@media(max-width:750px){.service-intro-section,.service-applications,.service-faq-section{padding:72px 0}.service-intro-grid,.service-spec-inner{grid-template-columns:1fr}.service-intro-grid p{font-size:15px}.service-spec-section{padding:70px 0}.service-quote-strip{padding:65px 0}.service-quote-strip-inner{align-items:start;flex-direction:column;gap:25px}.related-service-section{padding:70px 0}.related-services{gap:10px}.related-service>span{font-size:13px;padding:13px}}
@media(max-width:620px){.service-breadcrumbs .dl-inner{font-size:11px;gap:9px;flex-wrap:wrap;padding-block:10px}.service-application-grid,.service-process{grid-template-columns:1fr}.service-application{min-height:unset}.service-process li:before{display:none!important}.service-process li{padding-top:15px}.service-facts{grid-template-columns:1fr}.service-facts>div{min-height:unset;padding:23px}.service-faq-item summary{font-size:16px;padding:21px 0}.service-faq-answer{padding:0 28px 22px 0}.service-faq-answer p{font-size:14px}.related-services{grid-template-columns:1fr}.related-service img{height:160px;aspect-ratio:auto;object-fit:cover}.related-service>span{font-size:15px;padding:15px 20px}}
@media(prefers-reduced-motion:reduce){.service-faq-icon:after,.related-service{transition:none}}

/* V6 — launch-ready portfolio of real shop photographs */
.dl-page .home-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.dl-page .home-portfolio-card{background:#fff;border:1px solid #e3e4e4;border-radius:8px;overflow:hidden;transition:transform .18s,box-shadow .18s}
.dl-page .home-portfolio-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #10151c10}
.dl-page .home-portfolio-cover{display:block;background:#e8e8e6;overflow:hidden;height:255px}
.dl-page .home-portfolio-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.dl-page .home-portfolio-body{padding:24px 23px 27px}
.dl-page .home-portfolio-body>span,.dl-page .portfolio-category{font:600 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:#1971c1}
.dl-page .home-portfolio-body h3{font-size:21px;line-height:1.25;letter-spacing:-.043em;margin:12px 0 22px}
.dl-page .home-portfolio-body>a{font-size:12px;font-weight:800;color:#f25927}
.dl-page .home-portfolio-section .dl-section-head{align-items:end}
.dl-page .home-portfolio-section .dl-section-head>div:last-child{max-width:400px}
.dl-page .home-portfolio-section .dl-section-head .simple-text-link{margin-top:9px}
.dl-page .portfolio-section{background:#fafafa}
.dl-page .portfolio-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 19px}
.dl-page .portfolio-filter{font-family:Manrope,Arial,sans-serif;font-size:12px;line-height:1.35;border:1px solid #d6d9da;border-radius:28px;background:#fff;color:#333d47;padding:11px 17px;cursor:pointer;font-weight:700}
.dl-page .portfolio-filter:hover{border-color:#177acc;color:#175d99}
.dl-page .portfolio-filter[aria-pressed="true"]{background:#11223c;color:#fff;border-color:#11223c}
.dl-page .portfolio-results{font-size:12px;color:#72787d;min-height:1.3em;margin:0 0 18px}
.dl-page .portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.dl-page .portfolio-card{background:#fff;border:1px solid #e0e3e3;border-radius:10px;overflow:hidden;scroll-margin-top:115px;min-width:0}
.dl-page .portfolio-card[hidden]{display:none}
.dl-page .portfolio-card-link{display:block;position:relative;overflow:hidden;background:#e9e9e8}
.dl-page .portfolio-card-link img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;transition:transform .3s ease}
.dl-page .portfolio-card-link:hover img{transform:scale(1.035)}
.dl-page .portfolio-card-zoom{position:absolute;right:12px;bottom:12px;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;background:#fff;color:#152342;font-size:19px;box-shadow:0 1px 8px #0002}
.dl-page .portfolio-card-info{padding:22px 20px 23px}
.dl-page .portfolio-card-info h3{font-size:18px;line-height:1.32;letter-spacing:-.035em;margin:11px 0 8px}
.dl-page .portfolio-card-info p{font-size:12px;line-height:1.65;color:#6d7379;margin:0}
.dl-page .portfolio-multiple{font-size:11px;color:#1b6fbb;display:inline-block;margin-top:12px;font-weight:700}
.dl-page .inner-hero-art img[src*="portfolio/"]{border-radius:9px;object-fit:cover;mix-blend-mode:normal;box-shadow:0 18px 35px #15243d16}
.portfolio-lightbox{border:0;border-radius:12px;background:#0e141b;color:#fff;padding:0;max-width:min(1100px,calc(100vw - 40px));width:100%;max-height:calc(100dvh - 40px);box-shadow:0 32px 100px #0008}
.portfolio-lightbox::backdrop{background:#07111dc9;backdrop-filter:blur(5px)}
.portfolio-lightbox-frame{display:flex;flex-direction:column;max-height:calc(100dvh - 40px)}
.portfolio-lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 22px;border-bottom:1px solid #ffffff20}
.portfolio-lightbox-title{font-size:15px;font-weight:800}
.portfolio-lightbox-close,.portfolio-lightbox-nav{background:#ffffff17;color:#fff;border:1px solid #ffffff42;border-radius:6px;cursor:pointer}
.portfolio-lightbox-close{min-width:40px;height:40px;font-size:18px}
.portfolio-lightbox-visual{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:13px;padding:14px 18px;min-height:0}
.portfolio-lightbox-visual img{display:block;max-width:100%;width:100%;height:auto;max-height:calc(100dvh - 205px);object-fit:contain}
.portfolio-lightbox-nav{height:48px;font-size:28px}
.portfolio-lightbox-nav:disabled{opacity:.22;cursor:default}
.portfolio-lightbox-bottom{display:flex;justify-content:space-between;gap:24px;padding:10px 22px 18px;font-size:12px;line-height:1.6;color:#cbd2d9}
.portfolio-lightbox-bottom [data-lightbox-position]{white-space:nowrap}
@media(max-width:1100px){.dl-page .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.dl-page .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.dl-page .home-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dl-page .home-portfolio-grid,.dl-page .portfolio-grid{grid-template-columns:1fr}.dl-page .portfolio-card-link img{aspect-ratio:5/4}.dl-page .home-portfolio-cover{height:235px}.dl-page .portfolio-card-info{padding:20px}.dl-page .portfolio-filter{padding:9px 13px;font-size:11px}.portfolio-lightbox-visual{grid-template-columns:32px minmax(0,1fr) 32px;gap:5px;padding:8px}.portfolio-lightbox-nav{height:37px}.portfolio-lightbox-top{padding:10px 13px}.portfolio-lightbox-bottom{padding:10px 12px 16px}}
@media(prefers-reduced-motion:reduce){.dl-page .portfolio-card-link img,.dl-page .home-portfolio-card{transition:none!important}}


/* V7 launch refinements: vector logos, visible social destinations, complete privacy notice */
.dl-page .dl-footer-brand .dl-logo-image{width:276px;max-width:100%;height:auto;image-rendering:auto}
.dl-page .dl-header .dl-logo-image{image-rendering:auto}
.dl-social-section{margin-top:27px}
.dl-social-heading{color:#c9d4df;font-family:'DM Mono',monospace;font-weight:600;font-size:10px;letter-spacing:.12em;margin:0 0 11px}
.dl-social-links{display:flex;gap:11px;flex-wrap:wrap;align-items:center}
.dl-social-link{display:inline-flex;align-items:center;gap:9px;border:1px solid #526076;background:rgba(255,255,255,.035);border-radius:6px;color:#f5f7fd!important;text-decoration:none!important;font:700 12px/1.1 Manrope,Arial,sans-serif;padding:10px 11px;white-space:nowrap;transition:background .2s,border-color .2s}
.dl-social-link:hover,.dl-social-link:focus-visible{background:#233448;border-color:#70b7f6;outline-offset:3px}
.dl-social-link svg{width:17px;height:17px;flex-shrink:0}
.dl-social-out{font-size:12px;color:#82c2fa}
.social-follow-strip{background:#edf3f8;padding:46px 0;border-top:1px solid #d9e4eb;border-bottom:1px solid #d9e4eb}
.social-follow-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.social-follow-inner strong{font-size:clamp(20px,2.1vw,29px);color:#172c4b;letter-spacing:-.045em}
.social-follow-inner p{font-size:13px;line-height:1.6;color:#5c6d7c;margin:7px 0 0}
.social-follow-strip .dl-social-link,.contact-social-panel .dl-social-link{background:#fff;color:#183560!important;border-color:#b9cad9}
.social-follow-strip .dl-social-link:hover,.contact-social-panel .dl-social-link:hover{background:#ddeffc;border-color:#65a2d9}
.contact-social-panel{margin-top:32px;padding:25px;background:#f0f5fa;border:1px solid #d9e4ed;border-radius:8px}
.contact-social-panel strong{display:block;color:#183560;font-size:17px;margin-bottom:8px}
.contact-social-panel p{font-size:13px;line-height:1.65;margin:0 0 18px;color:#697580}
.legal-page .privacy-lead{font-size:18px;line-height:1.78;color:#303f4a;max-width:820px}
.legal-page .privacy-section{scroll-margin-top:30px;padding:4px 0 8px;border-bottom:1px solid #e4e7e9}
.legal-page .privacy-section:last-child{border-bottom:0}
.legal-page .privacy-section h2{font-size:clamp(22px,2.4vw,28px);color:#172536;margin:40px 0 13px;letter-spacing:-.035em}
.legal-page .privacy-section p{font-size:14px;line-height:1.9;color:#57616b;margin:14px 0}
.legal-page .privacy-section li{font-size:14px;line-height:1.85;color:#57616b;margin:8px 0}
.legal-page .privacy-section ul{padding-left:21px}
.legal-page .privacy-section a{color:#075bb9;text-decoration:underline;text-underline-offset:3px}
.legal-page .privacy-section a:hover{color:#e65a28}
.privacy-toc{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:20px 24px;border:1px solid #d9e3ec;background:#f2f7fb;border-radius:10px;margin:33px 0 22px}
.privacy-toc strong{width:100%;color:#1a3656;font-size:12px;margin-bottom:5px}
.privacy-toc a{font-size:12px;color:#1462a5!important;text-decoration:none!important}
.privacy-toc a:hover{text-decoration:underline!important}
.legal-page .privacy-contact{background:#f6f8fa;border-radius:9px;padding:0 22px 20px;border:1px solid #e1e5e9}
.legal-page .legal-date{font-size:12px;color:#7c858c;margin-top:0}
@media(max-width:700px){.social-follow-inner{flex-direction:column;align-items:flex-start}.social-follow-strip{padding:38px 0}.legal-page .privacy-lead{font-size:16px}.privacy-toc{padding:18px}.dl-page .dl-footer-brand .dl-logo-image{width:253px}}


/* V8 — hand-curated Google review excerpts (no API, embed, or third-party script). */
.dl-page .dl-reviews{background:#eff3f6;border-top:1px solid #e3e9ee;border-bottom:1px solid #e3e9ee}
.dl-page .dl-reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}
.dl-page .dl-reviews-intro{font-size:15px;line-height:1.75;color:#606c78;max-width:530px;margin-top:17px}
.dl-page .dl-reviews-rating{display:flex;align-items:center;gap:19px;min-width:245px;padding:18px 21px;background:#fff;border:1px solid #dbe4ea;border-radius:9px}
.dl-page .dl-reviews-score{font-size:46px;line-height:1;letter-spacing:-.075em;font-weight:800;color:#112743}
.dl-page .dl-reviews-outof{font-size:20px;letter-spacing:-.03em;color:#7a8a99}
.dl-page .dl-reviews-stars{display:block;color:#e4a52c;font-size:18px;letter-spacing:1px;white-space:nowrap;line-height:1.4}
.dl-page .dl-reviews-count,.dl-page .dl-reviews-checked{display:block;font-size:11px;line-height:1.55;color:#4d5e6c;font-weight:700}
.dl-page .dl-reviews-checked{font-weight:400;color:#7b8996}
.dl-page .dl-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dl-page .dl-review-card{background:#fff;border:1px solid #dde5eb;border-radius:9px;padding:29px 27px 26px;min-height:219px;display:flex;flex-direction:column}
.dl-page .dl-review-topic{font:500 10px/1.4 'DM Mono',monospace;letter-spacing:.12em;color:#1677ba}
.dl-page .dl-review-card blockquote{font-size:clamp(18px,1.8vw,23px);line-height:1.5;letter-spacing:-.035em;font-weight:700;color:#192e45;margin:23px 0 20px;flex:1}
.dl-page .dl-review-source{font-size:11px;color:#748392;border-top:1px solid #e6ebef;padding-top:17px}
.dl-page .dl-reviews-bottom{display:flex;justify-content:space-between;gap:28px;align-items:center;padding-top:25px}
.dl-page .dl-reviews-bottom p{font-size:11px;line-height:1.7;color:#657482;max-width:550px}
.dl-page .dl-google-link{color:#153a68;border:1px solid #a9c1d9;border-radius:5px;padding:13px 18px;white-space:nowrap;background:#fff;font-size:12px;font-weight:800}
.dl-page .dl-google-link:hover{border-color:#388ecb;background:#e9f5ff}
@media(max-width:900px){.dl-page .dl-reviews-head{align-items:flex-start;flex-direction:column;gap:22px}.dl-page .dl-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dl-page .dl-reviews-head{margin-bottom:26px}.dl-page .dl-review-grid{grid-template-columns:1fr;gap:12px}.dl-page .dl-review-card{min-height:unset;padding:22px}.dl-page .dl-review-card blockquote{margin:18px 0}.dl-page .dl-reviews-bottom{align-items:flex-start;flex-direction:column}.dl-page .dl-reviews-rating{min-width:0;width:100%}.dl-page .dl-google-link{width:100%;text-align:center}}

/* V9: static, attributed Google feedback summary; no testimonial excerpts without permission */
.dl-page .dl-reviews{background:#eff3f6}
.dl-page .dl-reviews-v9-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:clamp(34px,7vw,112px);align-items:center}
.dl-page .dl-reviews-v9-copy .dl-section-heading h2{font-size:clamp(34px,4.45vw,64px);line-height:1.08}
.dl-page .dl-reviews-v9-copy .dl-reviews-intro{max-width:560px;margin:22px 0 28px;font-size:16px;line-height:1.7}
.dl-page .dl-google-link-v9{display:inline-flex;align-items:center;justify-content:center;gap:14px;white-space:normal;padding:15px 21px;text-decoration:none;font-size:13px}
.dl-page .dl-google-link-v9:hover,.dl-page .dl-google-link-v9:focus-visible{background:#dbefff}
.dl-page .dl-rating-v9{background:#fff;border:1px solid #dce6ee;border-radius:14px;padding:clamp(25px,3vw,39px);box-shadow:0 13px 42px rgba(19,48,82,.055)}
.dl-page .dl-rating-v9-attribution{display:flex;align-items:center;gap:12px;color:#213956;text-decoration:none;font-size:14px;font-weight:700}
.dl-page .dl-rating-v9-attribution:hover{text-decoration:underline}
.dl-page .dl-rating-v9-google-mark{display:inline-flex;align-items:center;justify-content:center;background:#fff;min-width:40px;width:40px;height:40px;border:1px solid #e5eaf0;border-radius:9px}
.dl-page .dl-rating-v9-google-mark img{width:26px;height:26px;object-fit:contain;display:block}
.dl-page .dl-rating-v9-arrow{margin-left:auto;color:#3b75a7}
.dl-page .dl-rating-v9-rule{height:1px;background:#e8edf2;margin:25px 0 24px}
.dl-page .dl-rating-v9-number{display:flex;align-items:baseline;gap:13px;color:#102944}
.dl-page .dl-rating-v9-number strong{font-size:clamp(66px,7.8vw,98px);font-weight:750;letter-spacing:-.085em;line-height:1}
.dl-page .dl-rating-v9-number span{font-size:24px;font-weight:500;color:#728397}
.dl-page .dl-rating-v9-summary{font-size:14px;font-weight:700;color:#263f58;margin-top:12px}
.dl-page .dl-rating-v9-foot{font-size:12px;color:#647587;margin-top:13px}
@media(max-width:850px){.dl-page .dl-reviews-v9-layout{grid-template-columns:1fr;gap:24px}.dl-page .dl-rating-v9{max-width:510px}}
@media(max-width:600px){.dl-page .dl-reviews-v9-copy .dl-reviews-intro{font-size:14px;margin:16px 0 22px}.dl-page .dl-rating-v9{width:100%;padding:25px}.dl-page .dl-rating-v9-number strong{font-size:70px}.dl-page .dl-reviews-v9-layout{gap:25px}.dl-page .dl-google-link-v9{width:100%;justify-content:space-between}}
