:root {
  --dce-blue: #0878ec;
  --dce-blue-dark: #045bb7;
  --dce-navy: #071936;
  --dce-ink: #101d35;
  --dce-muted: #657089;
  --dce-line: #dfe7f1;
  --dce-soft: #f5f8fc;
  --dce-white: #fff;
  --dce-shadow: 0 12px 34px rgba(11, 42, 79, .11);
}

html { scroll-behavior: smooth; }
body.dce-homepage {
  margin: 0;
  overflow-x: hidden;
  background: #fff;
  color: var(--dce-ink);
  font: 400 14px/1.45 Inter, Arial, sans-serif;
}
body.dce-homepage *, body.dce-homepage *::before, body.dce-homepage *::after { box-sizing: border-box; }
body.dce-homepage :where(h1,h2,h3,p,ol,ul,figure,fieldset) { margin: 0; }
body.dce-homepage :where(button,input,textarea,select) { font: inherit; }
body.dce-homepage :where(a) { color: inherit; text-decoration: none; }
body.dce-homepage :where(button,a,input,textarea,select):focus-visible { outline: 3px solid rgba(8,120,236,.34); outline-offset: 2px; }
body.dce-homepage img { max-width: 100%; }
.dce-main { min-height: 100vh; }
.dce-container { width: min(1360px, calc(100% - 48px)); margin-inline: auto; }
.screen-reader-text { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.dce-skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; transform: translateY(-150%); padding: 10px 14px; border-radius: 5px; background: #fff; color: var(--dce-blue); box-shadow: var(--dce-shadow); }
.dce-skip-link:focus { transform: translateY(0); }

/* Header */
.dce-header { position: relative; z-index: 50; height: 46px; border-bottom: 1px solid #e7edf5; background: rgba(255,255,255,.98); }
.dce-header__inner { width: min(1440px, calc(100% - 54px)); height: 100%; margin: auto; display: flex; align-items: center; gap: 23px; }
.dce-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; min-width: 190px; }
.dce-brand__reference { display: none; }
.dce-header .dce-brand__reference { width: 170px; height: 29px; display: block; object-fit: contain; object-position: left center; }
.dce-header .dce-brand__mark,.dce-header .dce-brand__copy { display: none; }
.dce-brand__mark { color: var(--dce-blue); font: 900 italic 32px/1 Manrope, Arial, sans-serif; letter-spacing: -4px; text-shadow: 1px 1px 0 #004895; transform: skew(-8deg); }
.dce-brand__copy { display: flex; flex-direction: column; text-transform: uppercase; line-height: 1.04; }
.dce-brand__copy strong { color: #10213d; font: 800 14px/1 Manrope, sans-serif; letter-spacing: .15px; }
.dce-brand__copy small { margin-top: 3px; color: #243753; font-size: 8px; font-weight: 700; letter-spacing: .55px; }
.dce-nav { display: flex; align-items: center; gap: 24px; margin-right: auto; white-space: nowrap; }
.dce-nav a { color: #192945; font-size: 10px; font-weight: 600; }
.dce-nav a:hover { color: var(--dce-blue); }
.dce-nav a span { margin-left: 3px; color: #5e6b7e; font-size: 10px; }
.dce-header__actions { display: flex; align-items: center; gap: 17px; }
.dce-search { display: flex; width: 280px; height: 30px; overflow: hidden; border: 1px solid #cbd5e2; border-radius: 2px; background: #fff; }
.dce-search input { min-width: 0; flex: 1; padding: 0 12px; border: 0; outline: 0; color: var(--dce-ink); font-size: 11px; }
.dce-search button { width: 36px; padding: 0; border: 0; display: grid; place-items: center; background: var(--dce-blue); color: #fff; cursor: pointer; }
.dce-search button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.dce-header-link { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: #192945; font-size: 10px; font-weight: 600; }
.dce-header-icon { width: 15px; height: 15px; display: inline-grid; place-items: center; }
.dce-header-icon svg,.dce-header-icon-only svg { width: 100%; height: 100%; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dce-header-icon-only { width: 20px; height: 20px; flex: 0 0 20px; display: grid; place-items: center; color: #182945; }
.dce-header-icon-only svg { width: 16px; height: 16px; }
.dce-caret { margin-left: -3px; font-size: 10px; line-height: 1; }
.dce-nav-toggle { display: none; width: 42px; height: 38px; padding: 8px; border: 1px solid var(--dce-line); border-radius: 4px; background: #fff; }
.dce-nav-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; margin: 4px 0; background: var(--dce-ink); }

/* Shared headings/buttons */
.dce-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 13px; }
.dce-section-heading h2 { color: #086ccc; font: 800 clamp(20px,2vw,26px)/1.1 Manrope, sans-serif; letter-spacing: -.4px; }
.dce-section-heading p { margin-top: 3px; color: #596983; font-size: 11px; }
.dce-section-heading > a, .dce-section-heading--compact > a { flex: 0 0 auto; color: #086ccc; font-size: 11px; font-weight: 700; }
.dce-section-heading > a span { margin-left: 7px; font-size: 18px; }
.dce-section-heading--compact { align-items: center; margin-bottom: 9px; }
.dce-section-heading--compact h2 { color: #102143; font-size: 17px; }
.dce-button-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.dce-button { min-height: 46px; padding: 0 22px; border: 1px solid transparent; border-radius: 4px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; font-size: 13px; font-weight: 700; transition: transform .2s, box-shadow .2s, background .2s; }
.dce-button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(13,90,176,.16); }
.dce-button--primary { background: var(--dce-blue); color: #fff!important; }
.dce-button--primary:hover { background: var(--dce-blue-dark); }
.dce-button--outline { border-color: #c4d1df; background: #fff; color: #20314f; }
.dce-button--white { min-height: 42px; border-color: #fff; background: #fff; color: #0872da!important; }

/* Hero */
.dce-hero { position: relative; min-height: 468px; overflow: hidden; background: linear-gradient(105deg,#eef7ff 0%,#e8f3fd 43%,#b9d8ef 75%,#91bbda 100%); }
.dce-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 140px; background: linear-gradient(to top,rgba(255,255,255,.8),transparent); pointer-events: none; }
.dce-hero__grid { position: relative; z-index: 3; min-height: 468px; display: grid; grid-template-columns: 48% 52%; align-items: center; }
.dce-hero__copy { position: relative; z-index: 4; padding: 36px 0 22px 20px; }
.dce-eyebrow { margin-bottom: 7px!important; color: #0766c1; font-size: 11px; font-weight: 800; letter-spacing: 1.15px; text-transform: uppercase; }
.dce-hero h1 { color: #07152d; font: 800 clamp(38px,4.35vw,64px)/1.03 Manrope, sans-serif; letter-spacing: -2px; text-shadow: 0 1px 0 #fff; }
.dce-hero h1 span { color: var(--dce-blue); }
.dce-hero__promise { display: flex; align-items: center; gap: 12px; margin-top: 12px!important; color: #1c2b42; font-size: 15px; }
.dce-hero__promise i { width: 4px; height: 4px; border-radius: 50%; background: #263b59; }
.dce-hero__text { max-width: 650px; margin-top: 8px!important; color: #293c57; font-size: 14px; line-height: 1.58; }
.dce-hero__trust { display: flex; gap: 38px; margin-top: 26px; }
.dce-hero__trust span { display: flex; align-items: center; gap: 9px; color: #12213b; font-size: 10px; font-weight: 700; line-height: 1.25; }
.dce-hero__trust b { color: #0a2d5f; font-size: 27px; font-weight: 500; }
.dce-hero__visual { position: relative; min-height: 430px; align-self: end; }
.dce-hero__reference { position: absolute; z-index: 4; top: 67px; right: 0; width: 100%; height: auto; display: block; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(8,30,52,.18)); }
.dce-signature { position: absolute; z-index: 5; top: 38px; right: 42px; transform: rotate(-7deg); color: #071936; font: 700 27px/1.05 cursive; text-align: center; }
.dce-signature span { padding-left: 24px; }
.dce-hero__quality { position: absolute; z-index: 5; right: 20px; bottom: 70px; color: #fff; font: 800 18px/1.32 Manrope,sans-serif; text-transform: uppercase; text-shadow: 0 2px 4px rgba(0,0,0,.4); }
.dce-hero__mountains { position: absolute; inset: 0; opacity: .82; }
.dce-hero__mountains::before, .dce-hero__mountains::after, .dce-hero__mountains i { content: ""; position: absolute; bottom: -20px; clip-path: polygon(0 100%,12% 52%,23% 73%,35% 18%,46% 68%,59% 32%,73% 76%,87% 40%,100% 100%); }
.dce-hero__mountains::before { left: 34%; right: -4%; height: 310px; background: linear-gradient(145deg,#f9fdff 15%,#8fb2cc 50%,#557f9f 70%,#d8e6ef 100%); }
.dce-hero__mountains::after { left: 52%; right: -6%; height: 235px; opacity: .8; background: linear-gradient(145deg,#afcee1,#6289a5 50%,#375c78); transform: translateY(28px); }
.dce-hero__mountains i:nth-child(1) { left: 12%; right: 42%; height: 178px; opacity: .3; background: #b7d3e5; }
.dce-hero__mountains i:nth-child(2) { left: 0; right: 70%; height: 112px; opacity: .36; background: #83afcc; }
.dce-hero__mountains i:nth-child(3) { left: 52%; right: -12%; height: 100px; clip-path: polygon(0 100%,14% 62%,31% 84%,47% 56%,66% 78%,83% 48%,100% 100%); background: #5d7a8c; filter: blur(1px); }
.dce-emblem { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border: 14px solid #d7dde1; border-radius: 50%; background: radial-gradient(ellipse at 50% 18%,#4d5157 0%,#14161a 32%,#010203 68%,#1d2024 100%); color: #f8fafc; box-shadow: inset 0 0 0 5px #555b61,inset 0 0 0 8px #060708,0 24px 35px rgba(0,19,41,.43),0 0 0 2px #4c565e; text-transform: uppercase; transform: rotate(5deg); }
.dce-emblem::before { content: ""; position: absolute; inset: 5% 4% 48%; border-radius: 50%; background: linear-gradient(170deg,rgba(255,255,255,.5),rgba(255,255,255,0) 52%); }
.dce-emblem__mountain { position: relative; z-index: 1; height: 42px; margin-bottom: -14px; color: #d8dce0; font: 900 60px/1 Arial,sans-serif; transform: scaleX(1.7); }
.dce-emblem strong { position: relative; z-index: 1; font: 900 italic 110px/.8 Manrope,sans-serif; letter-spacing: -12px; color: #e4e7e9; -webkit-text-stroke: 2px #6e7479; text-shadow: 0 6px 0 #16191d,0 8px 14px #000; }
.dce-emblem span { position: relative; z-index: 1; margin-top: 12px; font: 600 25px/1 Manrope,sans-serif; letter-spacing: 3px; }
.dce-emblem--hero { top: 95px; left: 12px; width: min(590px,76%); aspect-ratio: 1.68/1; }
.dce-hero__reference ~ .dce-signature,.dce-hero__reference ~ .dce-emblem--hero,.dce-hero__reference ~ .dce-hero__quality { display: none; }

/* Designer */
.dce-designer { position: relative; z-index: 5; padding: 17px 0 12px; background: #fff; }
.dce-section-heading--designer { align-items: center; }
.dce-section-heading--designer h2 { font-size: 27px; }
.dce-section-heading--designer h2 span { color: var(--dce-blue); }
.dce-designer-benefits { width: 465px; height: 45px; flex: 0 0 465px; }
.dce-designer-benefits img { width: 100%; height: 100%; display: block; object-fit: fill; }
.dce-builder { display: grid; grid-template-columns: 235px minmax(390px,1fr) minmax(480px,1.33fr); min-height: 552px; overflow: hidden; border: 1px solid #d9e3ef; border-radius: 4px; box-shadow: 0 5px 22px rgba(21,60,99,.08); }
.dce-builder__steps { position: relative; display: flex; flex-direction: column; border-right: 1px solid #dbe4ee; background: #fbfdff; }
.dce-builder__steps ol { padding: 23px 14px 0 24px; list-style: none; counter-reset: step; }
.dce-builder__steps li { position: relative; min-height: 88px; display: flex; gap: 13px; }
.dce-builder__steps li:not(:last-child)::after { content: ""; position: absolute; top: 38px; left: 17px; bottom: -1px; width: 1px; background: #0a86f1; }
.dce-builder__steps li > b { position: relative; z-index: 2; width: 35px; height: 35px; flex: 0 0 35px; display: grid; place-items: center; border-radius: 50%; background: var(--dce-blue); color: #fff; font-size: 15px; }
.dce-builder__steps li strong { display: block; padding-top: 3px; font-size: 12px; }
.dce-builder__steps li span { display: block; margin-top: 3px; color: #65728a; font-size: 10px; line-height: 1.35; }
.dce-builder__signature { margin: auto 0 30px 28px; transform: rotate(-8deg); font: 700 24px/1.05 cursive; }
.dce-builder__signature span { padding-left: 30px; }
.dce-builder__mini-trust { display: flex; justify-content: space-around; padding: 12px 6px; border-top: 1px solid #e5ebf2; }
.dce-builder__mini-trust span { display: grid; justify-items: center; gap: 3px; color: #0f315d; }
.dce-builder__mini-trust svg { width: 21px; height: 21px; display: block; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.dce-builder__mini-trust small { color: #40506b; font-size: 7px; white-space: nowrap; }
.dce-configurator { padding: 15px 17px 13px; border-right: 1px solid #dce4ee; background: #fff; }
.dce-field-group { margin-bottom: 11px; }
.dce-field-group h3 { margin-bottom: 6px; color: #0868c9; font-size: 12px; }
.dce-upload { height: 65px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed #9db9d4; border-radius: 3px; background: #fbfdff; color: #53647d; cursor: pointer; }
.dce-upload > svg { width: 31px; height: 25px; display: block; color: var(--dce-blue); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dce-upload strong { font-size: 10px; }
.dce-upload span, .dce-reference-upload span { color: #7d899b; font-size: 7px; }
.dce-upload input, .dce-reference-upload input { display: none; }
.dce-option-grid { display: grid; gap: 5px; }
.dce-option-grid--industry { grid-template-columns: repeat(6,1fr); }
.dce-option-grid--shape { grid-template-columns: repeat(5,1fr); }
.dce-option-grid button { min-width: 0; height: 50px; padding: 4px 2px; border: 1px solid #dbe3ec; border-radius: 3px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; background: #fff; color: #41506b; cursor: pointer; font-size: 8px; }
.dce-option-grid button svg { width: 24px; height: 20px; display: block; color: #17294d; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dce-option-grid button.is-selected { border-color: var(--dce-blue); box-shadow: inset 0 0 0 1px var(--dce-blue); color: var(--dce-blue); background: #f6fbff; }
.dce-option-grid button.is-selected svg { color: var(--dce-blue); }
.dce-label { display: block; margin-bottom: 4px; font-size: 9px; font-weight: 700; }
.dce-config-grid, .dce-refine { display: grid; grid-template-columns: 1fr 148px; gap: 7px; margin-top: 7px; }
.dce-textarea { position: relative; display: flex; flex-direction: column; }
.dce-textarea > span { margin-bottom: 3px; font-size: 8px; font-weight: 700; }
.dce-textarea textarea { width: 100%; height: 48px; resize: none; overflow: hidden; padding: 7px 8px 13px; border: 1px solid #d7e0ea; border-radius: 3px; color: var(--dce-ink); font-size: 8px; outline: 0; }
.dce-textarea textarea::placeholder { color: #9aa5b4; }
.dce-textarea small { position: absolute; right: 5px; bottom: 2px; color: #8b95a4; font-size: 7px; }
.dce-reference-upload { display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed #9db9d4; border-radius: 3px; background: #fbfdff; color: #3d4f69; text-align: center; cursor: pointer; }
.dce-reference-upload > svg { width: 22px; height: 22px; margin-bottom: 2px; display: block; color: var(--dce-blue); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dce-reference-upload strong { font-size: 8px; }
.dce-spec-grid { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 8px; margin-top: 8px; }
.dce-spec-grid > label { display: flex; flex-direction: column; gap: 3px; font-size: 8px; font-weight: 700; }
.dce-spec-grid select { height: 29px; padding: 0 6px; border: 1px solid #d7e0e9; border-radius: 2px; background: #fff; color: #33445f; font-size: 8px; }
.dce-spec-grid fieldset { min-width: 0; padding: 0; border: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 4px; }
.dce-spec-grid legend { font-size: 8px; font-weight: 700; }
.dce-spec-grid fieldset label { display: flex; flex-direction: column; color: #65718a; font-size: 7px; }
.dce-spec-grid input { width: 100%; height: 22px; padding: 0 4px; border: 1px solid #d7e0e9; }
.dce-textarea--full { margin-top: 8px; }
.dce-textarea--full textarea { height: 43px; }
.dce-generate { width: 100%; height: 43px; border: 0; border-radius: 3px; display: flex; align-items: center; justify-content: center; gap: 12px; background: var(--dce-blue); color: #fff; cursor: pointer; font-size: 12px; font-weight: 700; }
.dce-generate > svg { width: 22px; height: 22px; display: block; fill: currentColor; stroke: none; }
.dce-generate__label { white-space: nowrap; }
.dce-generate b { margin-left: auto; margin-right: 18px; }
.dce-generate.is-loading > svg { animation: dce-spin .8s linear infinite; }
.dce-generate:disabled { cursor: wait; opacity: .8; }
@keyframes dce-spin { to { transform: rotate(360deg); } }
.dce-preview { min-width: 0; padding: 14px 13px 10px; background: #fff; }
.dce-preview__head { height: 28px; display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.dce-preview__head h3 { font-size: 14px; }
.dce-preview__head h3 small { margin-left: 7px; padding: 4px 7px; border-radius: 10px; background: #eaf5ff; color: #1979ce; font-size: 7px; font-weight: 600; }
.dce-view-tabs { display: flex; gap: 16px; }
.dce-view-tabs button { position: relative; padding: 2px 0 5px; border: 0; background: none; color: #56647b; cursor: pointer; font-size: 8px; }
.dce-view-tabs button.is-active { color: var(--dce-blue); font-weight: 700; }
.dce-view-tabs button.is-active::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: var(--dce-blue); }
.dce-preview__stage { position: relative; height: 286px; overflow: hidden; background: radial-gradient(ellipse at 50% 92%,#b9c0c8 0%,#edf0f2 33%,#fafafa 64%); }
.dce-preview__stage::after { content: ""; position: absolute; left: 15%; right: 15%; bottom: 23px; height: 24px; border-radius: 50%; background: rgba(0,0,0,.22); filter: blur(11px); }
.dce-generated-preview { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; display: none; object-fit: contain; background: #f4f5f6; }
.dce-preview__stage.has-generated-image .dce-generated-preview { display: block; }
.dce-preview__stage.has-generated-image .dce-emblem--preview,.dce-preview__stage.has-generated-image::after { display: none; }
.dce-preview__stage.is-generating::before { content: "Generating with GPT Image 2…"; position: absolute; z-index: 6; inset: 0; display: grid; place-items: center; background: rgba(247,250,252,.84); color: #075fae; font-size: 11px; font-weight: 700; letter-spacing: .2px; }
.dce-emblem--preview { z-index: 2; top: 47px; left: 12%; width: 76%; aspect-ratio: 1.78/1; border-width: 11px; transform: perspective(900px) rotateX(9deg); transition: .35s ease; }
.dce-emblem--preview strong { font-size: clamp(54px,6.4vw,88px); }
.dce-emblem--preview span { margin-top: 8px; font-size: clamp(13px,1.7vw,22px); }
.dce-emblem--preview .dce-emblem__mountain { height: 36px; font-size: 50px; }
.dce-emblem--preview[data-shape="rectangle"] { aspect-ratio: 2.1/1; border-radius: 15%; }
.dce-emblem--preview[data-shape="square"] { left: 27%; width: 46%; aspect-ratio: 1; border-radius: 13%; }
.dce-emblem--preview[data-shape="circle"] { left: 27%; width: 46%; aspect-ratio: 1; }
.dce-emblem--preview[data-shape="custom"] { clip-path: polygon(50% 0,89% 18%,100% 62%,76% 100%,22% 96%,0 58%,11% 15%); border-radius: 35%; }
.dce-emblem--preview.finish-black { border-color: #34373b; background: radial-gradient(ellipse at 50% 18%,#3a4149,#050608 58%,#171a1d); }
.dce-emblem--preview.finish-brushed { border-color: #e8ecef; background: repeating-linear-gradient(95deg,#202329 0,#383c42 2px,#15171a 4px); }
.dce-emblem--preview.finish-gold { border-color: #dcb652; background: radial-gradient(ellipse at 50% 18%,#6b511c,#15110a 58%,#302512); }
.dce-emblem--preview.finish-matte { border-color: #22252a; background: #111316; box-shadow: inset 0 0 0 4px #383b40,0 20px 32px rgba(0,0,0,.36); }
.dce-emblem--preview.finish-brass { border-color: #ad8652; background: radial-gradient(ellipse at 50% 18%,#5a4024,#17110c 58%,#3c2a1b); }
.dce-emblem--preview.view-angle { transform: perspective(700px) rotateY(-24deg) rotateX(8deg) rotateZ(-2deg); }
.dce-emblem--preview.view-side { transform: perspective(600px) rotateY(-71deg); }
.dce-emblem--preview.is-pulsing { animation: dce-preview-pulse .55s ease; }
@keyframes dce-preview-pulse { 50% { filter: brightness(1.45); transform: perspective(900px) rotateX(9deg) scale(1.025); } }
.dce-uploaded-logo { position: absolute; z-index: 3; inset: 18% 22%; width: 56%; height: 64%; display: none; object-fit: contain; border-radius: 16%; }
.dce-emblem--preview.has-upload strong,.dce-emblem--preview.has-upload span,.dce-emblem--preview.has-upload .dce-emblem__mountain { visibility: hidden; }
.dce-emblem--preview.has-upload .dce-uploaded-logo { display: block; }
.dce-expand { position: absolute; z-index: 5; top: 6px; right: 6px; border: 0; background: transparent; color: #20344f; cursor: pointer; font-size: 17px; }
.dce-refine { grid-template-columns: 1fr 150px; margin-top: 8px; }
.dce-refine .dce-textarea textarea { height: 52px; }
.dce-finish-swatches { display: grid; grid-template-columns: repeat(6,1fr); gap: 8px; margin-top: 9px; }
.dce-finish-swatches button { min-width: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.dce-finish-swatches img { width: 100%; height: 39px; display: block; box-sizing: border-box; border: 1px solid #cfd8e3; border-radius: 3px; object-fit: cover; background: #f4f6f8; }
.dce-finish-swatches span { display: block; margin-top: 3px; overflow: hidden; color: #27364e; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.dce-finish-swatches button.is-active img { border: 2px solid var(--dce-blue); box-shadow: none; }
.dce-preview__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 9px; }
.dce-preview__actions .dce-button { min-height: 38px; padding: 0 10px; font-size: 10px; }
.dce-preview__actions .dce-button--outline { color: #0872da; }
.dce-action-icon { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dce-preview__trust { min-height: 23px; display: flex; align-items: center; justify-content: center; gap: 31px; margin-top: 7px; color: #46546d; font-size: 7px; }
.dce-preview__trust span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.dce-preview__trust svg { width: 15px; height: 15px; flex: 0 0 15px; display: block; color: #17294d; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.dce-tool-note { padding-top: 6px; color: #718096; font-size: 8px; text-align: right; }

/* Industry */
.dce-industries { padding: 12px 0 14px; border-top: 1px solid #edf1f5; background: #fff; }
.dce-industry-grid { display: grid; grid-template-columns: repeat(8,1fr); gap: 9px; }
.dce-industry-card { min-width: 0; text-align: center; }
.dce-industry-card span { height: 74px; overflow: hidden; display: block; border-radius: 3px; background: linear-gradient(145deg,#f3f7fa,#e4e9ee); }
.dce-industry-card img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; transition: transform .25s; }
.dce-industry-card:hover img { transform: scale(1.06); }
.dce-industry-card strong { display: block; margin-top: 7px; overflow: hidden; color: #142446; font-size: 9px; line-height: 1.2; text-overflow: ellipsis; }

/* Process */
.dce-process { position: relative; min-height: 158px; overflow: hidden; background: linear-gradient(100deg,#041c36 0%,#062b4d 68%,#0b3b5d 100%); color: #fff; }
.dce-process .dce-container { position: relative; min-height: 158px; padding-top: 13px; }
.dce-process__machine { position: absolute; z-index: 0; top: 0; right: 0; width: 36%; height: 100%; display: block; object-fit: cover; object-position: left center; }
.dce-process .dce-container::after { content: ""; position: absolute; z-index: 1; top: 0; right: 25%; bottom: 0; width: 18%; background: linear-gradient(90deg,#062844,transparent); pointer-events: none; }
.dce-process__heading h2 { font: 700 23px/1.1 Manrope,sans-serif; }
.dce-process__heading p { margin-top: 2px; font-size: 12px; }
.dce-process__heading,.dce-process__steps { position: relative; z-index: 2; }
.dce-process__steps { width: 69%; display: grid; grid-template-columns: repeat(6,1fr); margin-top: 10px!important; padding: 0; list-style: none; }
.dce-process__steps li { position: relative; min-width: 0; padding-right: 15px; }
.dce-process__steps li:not(:last-child)::after { content: "+"; position: absolute; top: 21px; right: 13px; color: #fff; font-size: 17px; }
.dce-process__steps b { width: 44px; height: 44px; margin-bottom: 5px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; font-size: 21px; }
.dce-process__steps strong { display: block; font-size: 9px; white-space: nowrap; }
.dce-process__steps span { display: block; margin-top: 2px; color: #d5e0eb; font-size: 7px; line-height: 1.25; }
.dce-process__claim { display: none; }

/* Products and proof */
.dce-products { padding: 12px 0 14px; background: #fff; }
.dce-products__layout { display: grid; grid-template-columns: .98fr 1.02fr; gap: 29px; }
.dce-product-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; }
.dce-product-card { min-width: 0; text-align: center; }
.dce-product-card > span { height: 68px; display: block; overflow: hidden; border: 1px solid #eef1f4; background: #f7f8fa; }
.dce-product-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.dce-product-card:hover img { transform: scale(1.06); }
.dce-product-card strong,.dce-product-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dce-product-card strong { margin-top: 5px; color: #152443; font-size: 9px; }
.dce-product-card small { color: #68738a; font-size: 7px; }
.dce-why__icons { height: 57px; padding: 4px 0 5px; border-bottom: 1px solid #e6edf3; }
.dce-why__icons img { width: 100%; height: 47px; display: block; object-fit: fill; }
.dce-metrics { display: grid; grid-template-columns: repeat(4,1fr); padding-top: 12px; }
.dce-metrics span { color: #56627a; font-size: 8px; }
.dce-metrics strong { display: block; color: #0d1c3b; font: 800 21px/1.1 Manrope,sans-serif; }

/* Brands */
.dce-brands { padding: 11px 0 12px; background: linear-gradient(90deg,#f4f7f9,#fff,#f4f7f9); border-top: 1px solid #edf1f4; border-bottom: 1px solid #edf1f4; }
.dce-brands .dce-section-heading p { font-size: 8px; }
.dce-brand-wall { display: block; overflow: hidden; padding: 3px 10px 0; background: #fff; }
.dce-brand-wall img { width: 100%; height: 43px; display: block; object-fit: fill; }

/* Resources + CTA */
.dce-resources { padding: 13px 0 16px; }
.dce-resources__layout { display: grid; grid-template-columns: 1.14fr .86fr; gap: 21px; }
.dce-article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.dce-article { position: relative; min-width: 0; padding-bottom: 7px; border: 1px solid #e2e8ef; background: #fff; }
.dce-article img { width: 100%; height: 68px; display: block; object-fit: cover; }
.dce-article > span { position: absolute; top: 53px; left: 7px; padding: 2px 5px; border-radius: 2px; background: #1685ec; color: #fff; font-size: 6px; text-transform: uppercase; }
.dce-article strong { min-height: 38px; display: block; padding: 8px 9px 0; color: #152441; font-size: 9px; line-height: 1.25; }
.dce-article small { display: block; padding: 1px 9px 0; color: #8a94a4; font-size: 7px; }
.dce-cta { position: relative; min-height: 195px; overflow: hidden; padding: 20px 23px 13px; border-radius: 4px; background: linear-gradient(125deg,#087fe9,#0669db 62%,#085ac0); color: #fff; }
.dce-cta__mesh { position: absolute; inset: 0; opacity: .17; background-image: linear-gradient(30deg,transparent 47%,#fff 49%,transparent 51%),linear-gradient(150deg,transparent 47%,#fff 49%,transparent 51%); background-size: 40px 40px; transform: translateX(46%); }
.dce-cta h2,.dce-cta p,.dce-cta > div:not(.dce-cta__mesh),.dce-cta footer { position: relative; z-index: 2; }
.dce-cta h2 { font: 800 24px/1.15 Manrope,sans-serif; }
.dce-cta p { max-width: 570px; margin-top: 4px!important; font-size: 10px; }
.dce-cta > div:not(.dce-cta__mesh) { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px; }
.dce-cta footer { display: flex; justify-content: space-between; margin-top: 16px; color: #edf7ff; font-size: 8px; }

/* Footer */
.dce-footer { border-top: 1px solid #dfe7ef; background: #f7fafc; color: #334159; }
.dce-footer__top { width: min(1360px,calc(100% - 48px)); min-height: 74px; margin: auto; display: flex; align-items: center; gap: 46px; }
.dce-brand--footer { min-width: 210px; }
.dce-footer nav { display: flex; gap: 23px; margin-right: auto; font-size: 9px; }
.dce-footer nav a + a::before { content: ""; display: inline-block; width: 1px; height: 10px; margin-right: 23px; vertical-align: middle; background: #d2d8e0; }
.dce-social { display: flex; align-items: center; gap: 10px; font-size: 8px; }
.dce-social a { width: 18px; height: 18px; display: grid; place-items: center; color: #10213d!important; }
.dce-social svg { width: 17px; height: 17px; display: block; fill: currentColor; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.dce-social a:first-of-type svg { fill: none; stroke-width: 1.8; }
.dce-social__play { fill: #fff; stroke: #fff; }
.dce-social a:last-of-type svg { fill: none; stroke-width: 1.8; }
.dce-social__dot { fill: currentColor; stroke: none; }
.dce-footer__language { font-size: 9px; }
.dce-footer__bottom { width: min(1360px,calc(100% - 48px)); min-height: 46px; margin: auto; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; border-top: 1px solid #e5eaf0; color: #7a8494; font-size: 8px; }
.dce-footer__bottom > span:nth-child(2) { text-align: center; }
.dce-footer__bottom i { display: inline-block; width: 1px; height: 9px; margin: 0 8px; vertical-align: middle; background: #cbd3de; }
.dce-footer__bottom strong { color: #0872d8; font-size: 8px; text-align: right; }

/* Feedback */
.dce-toast { position: fixed; z-index: 100; right: 22px; bottom: 22px; max-width: 340px; padding: 12px 16px; border-radius: 4px; background: #0b203f; color: #fff; box-shadow: var(--dce-shadow); font-size: 12px; opacity: 0; pointer-events: none; transform: translateY(12px); transition: .25s; }
.dce-toast.is-visible { opacity: 1; transform: translateY(0); }

/* Responsive */
@media (max-width: 1250px) {
  .dce-header__inner { gap: 16px; }
  .dce-nav { gap: 14px; }
  .dce-search { width: 210px; }
  .dce-language { display: none; }
  .dce-builder { grid-template-columns: 200px minmax(355px,.9fr) minmax(430px,1.1fr); }
  .dce-builder__steps ol { padding-left: 16px; }
  .dce-builder__steps li > b { width: 31px; height: 31px; flex-basis: 31px; }
  .dce-builder__steps li:not(:last-child)::after { left: 15px; }
  .dce-designer-benefits { gap: 14px; }
  .dce-brand-wall img { height: 39px; }
}

@media (max-width: 1050px) {
  .dce-header__inner { justify-content: space-between; }
  .dce-nav-toggle { display: block; order: 3; }
  .dce-nav { position: absolute; top: 46px; left: 0; right: 0; display: none; padding: 18px 24px; background: #fff; border-bottom: 1px solid var(--dce-line); box-shadow: var(--dce-shadow); }
  .dce-nav.is-open { display: grid; grid-template-columns: repeat(5,1fr); }
  .dce-search { width: 240px; }
  .dce-hero__grid { grid-template-columns: 56% 44%; }
  .dce-emblem--hero { left: -25px; width: 100%; }
  .dce-signature { right: 10px; }
  .dce-hero__quality { display: none; }
  .dce-hero__trust { gap: 18px; }
  .dce-designer-benefits { display: none; }
  .dce-builder { grid-template-columns: 180px 1fr; }
  .dce-preview { grid-column: 1/-1; border-top: 1px solid var(--dce-line); }
  .dce-preview__stage { height: 370px; }
  .dce-emblem--preview { left: 18%; width: 64%; }
  .dce-industry-grid { grid-template-columns: repeat(4,1fr); }
  .dce-process__steps { width: 70%; }
  .dce-process__claim { display: none; }
  .dce-products__layout { grid-template-columns: 1fr; }
  .dce-resources__layout { grid-template-columns: 1fr; }
  .dce-footer__top { flex-wrap: wrap; gap: 18px 28px; padding: 16px 0; }
  .dce-footer nav { order: 3; width: 100%; }
}

@media (max-width: 760px) {
  .dce-container { width: min(100% - 28px,1360px); }
  .dce-header { height: 62px; }
  .dce-header__inner { width: calc(100% - 26px); }
  .dce-brand { min-width: 174px; }
  .dce-header .dce-brand__reference { width: 160px; height: auto; }
  .dce-brand__mark { font-size: 27px; }
  .dce-brand__copy strong { font-size: 12px; }
  .dce-header__actions { margin-left: auto; }
  .dce-header-link,.dce-header-icon-only { display: none; }
  .dce-search { width: 38px; border: 0; }
  .dce-search input { display: none; }
  .dce-search button { width: 38px; border-radius: 4px; }
  .dce-nav { top: 62px; }
  .dce-nav.is-open { grid-template-columns: 1fr; gap: 15px; }
  .dce-hero,.dce-hero__grid { min-height: auto; }
  .dce-hero__grid { grid-template-columns: 1fr; }
  .dce-hero__copy { padding: 40px 0 12px; }
  .dce-hero h1 { font-size: clamp(36px,10vw,52px); }
  .dce-hero__promise { flex-wrap: wrap; gap: 7px; font-size: 12px; }
  .dce-hero__text { font-size: 12px; }
  .dce-button-row { display: grid; grid-template-columns: 1fr 1fr; }
  .dce-button-row .dce-button:first-child { grid-column: 1/-1; }
  .dce-button { padding: 0 12px; font-size: 11px; }
  .dce-hero__trust { display: grid; grid-template-columns: 1fr 1fr; }
  .dce-hero__visual { min-height: 295px; }
  .dce-hero__reference { top: 55px; width: 100%; }
  .dce-emblem--hero { top: 68px; left: 7%; width: 86%; }
  .dce-emblem strong { font-size: 68px; }
  .dce-emblem span { margin-top: 7px; font-size: 14px; }
  .dce-signature { top: 10px; font-size: 21px; }
  .dce-section-heading { align-items: flex-start; }
  .dce-section-heading h2 { font-size: 20px; }
  .dce-section-heading > a { font-size: 9px; }
  .dce-builder { display: block; }
  .dce-builder__steps { border-right: 0; border-bottom: 1px solid var(--dce-line); }
  .dce-builder__steps ol { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px; }
  .dce-builder__steps li { min-height: 58px; }
  .dce-builder__steps li::after,.dce-builder__signature,.dce-builder__mini-trust { display: none; }
  .dce-configurator { padding: 15px 12px; border-right: 0; }
  .dce-option-grid--industry { grid-template-columns: repeat(3,1fr); }
  .dce-option-grid--shape { grid-template-columns: repeat(5,1fr); }
  .dce-config-grid { grid-template-columns: 1fr; }
  .dce-reference-upload { min-height: 56px; }
  .dce-spec-grid { grid-template-columns: 1fr 1fr; }
  .dce-spec-grid fieldset { grid-column: 1/-1; }
  .dce-preview { padding: 12px 8px; }
  .dce-preview__head { height: auto; flex-direction: column; margin-bottom: 7px; }
  .dce-preview__stage { height: 245px; }
  .dce-emblem--preview { top: 48px; left: 9%; width: 82%; }
  .dce-emblem--preview strong { font-size: 54px; }
  .dce-refine { grid-template-columns: 1fr; }
  .dce-finish-swatches { grid-template-columns: repeat(3,1fr); }
  .dce-preview__trust { gap: 11px; font-size: 6px; }
  .dce-industry-grid { grid-template-columns: repeat(2,1fr); }
  .dce-industry-card span { height: 118px; }
  .dce-process { min-height: 375px; }
  .dce-process .dce-container { min-height: 375px; padding-top: 22px; }
  .dce-process__machine { width: 100%; opacity: .28; }
  .dce-process .dce-container::after { right: 0; width: 100%; background: rgba(4,28,54,.62); }
  .dce-process__steps { width: 100%; grid-template-columns: repeat(3,1fr); gap: 21px 8px; }
  .dce-process__steps li:not(:last-child)::after { display: none; }
  .dce-process__steps b { width: 40px; height: 40px; }
  .dce-product-grid { grid-template-columns: repeat(2,1fr); }
  .dce-product-card:last-child { grid-column: 1/-1; width: 50%; justify-self: center; }
  .dce-why__icons { grid-template-columns: repeat(3,1fr); gap: 14px; }
  .dce-metrics { grid-template-columns: repeat(2,1fr); gap: 15px; }
  .dce-brand-wall { overflow-x: auto; padding-bottom: 5px; }
  .dce-brand-wall img { width: 760px; min-width: 760px; height: 30px; object-fit: fill; }
  .dce-article-grid { grid-template-columns: 1fr; }
  .dce-article img { height: 150px; }
  .dce-cta { padding: 20px 16px; }
  .dce-cta h2 { font-size: 21px; }
  .dce-cta footer { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .dce-footer__top { width: calc(100% - 28px); }
  .dce-footer nav { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
  .dce-footer nav a + a::before { display: none; }
  .dce-footer__bottom { width: calc(100% - 28px); grid-template-columns: 1fr; gap: 9px; padding: 13px 0; text-align: center; }
  .dce-footer__bottom > span:nth-child(2),.dce-footer__bottom strong { text-align: center; }
}

@media (max-width: 430px) {
  .dce-brand__copy small { display: none; }
  .dce-brand { min-width: auto; }
  .dce-button-row { grid-template-columns: 1fr; }
  .dce-button-row .dce-button:first-child { grid-column: auto; }
  .dce-option-grid--shape { grid-template-columns: repeat(3,1fr); }
  .dce-preview__actions { grid-template-columns: 1fr; }
  .dce-cta > div:not(.dce-cta__mesh) { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}
