
.cc3dp{
  --ink:#06090e; --ink-2:#4a5665; --ink-3:#6d7887;
  --navy:#123a73; --navy-dk:#08203c; --navy-2:#0b2a4d; --rust:#b4652a; --rust-lt:#e09a5c;
  --warm:#f8f6f2; --white:#fff;
  --line:rgba(6,9,14,.07); --line-2:rgba(6,9,14,.13);
  --dk-line:rgba(255,255,255,.16); --dk-ink:rgba(255,255,255,.84); --dk-soft:rgba(255,255,255,.62);
  --sans:'Plus Jakarta Sans',Satoshi,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --disp:Satoshi,'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --r:20px;
  --pad:clamp(20px,5vw,64px);
  font-family:var(--sans); color:var(--ink); line-height:1.6;
  width:100%; text-align:left; font-size:17px;
}
/* Break out of the theme's 1200px page container without using 100vw
   (100vw includes the scrollbar and would force a horizontal scrollbar). */
.page-template:has(.cc3dp) .container{max-width:none;padding-left:0;padding-right:0;}
.page-template:has(.cc3dp) .page-header{display:none;}
/* The theme puts a 25px top margin on .page-template; with the breadcrumb
   hidden that shows as a white sliver above the navy hero. */
.page-template:has(.cc3dp){margin-top:0;}
/* End on the call to action: suppress the theme's generic product grids
   on this page only. Delete this one rule to bring them back. */
body:has(.cc3dp) [id*="section_bottom_products"]{display:none;}
/* This page opens on its own hero, so the theme breadcrumb strip is dropped. */
body:has(.cc3dp) .section-breadcrumb{display:none;}

.cc3dp *,.cc3dp *::before,.cc3dp *::after{box-sizing:border-box;}
.cc3dp p{margin:0;}
.cc3dp h1,.cc3dp h2,.cc3dp h3,.cc3dp h4{margin:0;font-family:var(--disp);font-weight:700;letter-spacing:-.034em;line-height:1.08;text-wrap:balance;color:inherit;}
.cc3dp em{font-style:italic;color:var(--navy);}
/* On navy grounds the navy italic disappears, so it switches to the warm accent. */
.cc3dp__hero em,.cc3dp__band--dark em,.cc3dp__bulk em{color:var(--rust-lt);}
.cc3dp ul{margin:0;padding:0;list-style:none;}
.cc3dp a{color:inherit;}
.cc3dp__wrap{max-width:1280px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.cc3dp__band{padding:clamp(26px,3vw,44px) 0;}
.cc3dp__band--warm{background:var(--warm);}
.cc3dp__band--dark{background:var(--navy-dk);color:var(--dk-ink);}
.cc3dp__band--tight{padding-top:clamp(20px,2.2vw,30px);}

.cc3dp__eyebrow{display:flex;align-items:center;gap:14px;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);}
.cc3dp__eyebrow::before{content:"";width:34px;height:1px;background:var(--line-2);flex:0 0 auto;}
.cc3dp__eyebrow b{font-weight:600;color:var(--rust);letter-spacing:.1em;}
.cc3dp__band--dark .cc3dp__eyebrow,.cc3dp__hero .cc3dp__eyebrow{color:var(--dk-soft);}
.cc3dp__band--dark .cc3dp__eyebrow::before,.cc3dp__hero .cc3dp__eyebrow::before{background:var(--dk-line);}
.cc3dp__band--dark .cc3dp__eyebrow b,.cc3dp__hero .cc3dp__eyebrow b{color:var(--rust-lt);}

.cc3dp__h2{font-size:clamp(28px,4vw,52px);margin-top:18px;}
.cc3dp__lede{font-size:clamp(15px,1.5vw,17px);line-height:1.75;color:var(--ink-2);max-width:60ch;margin-top:clamp(18px,2vw,26px);}
.cc3dp__band--dark .cc3dp__lede{color:var(--dk-ink);}

/* ----------- HERO ----------- */
.cc3dp__hero{position:relative;background:var(--navy-dk);color:#fff;overflow:hidden;padding:clamp(14px,1.6vw,24px) 0 0;}
.cc3dp__hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:60px 60px;
  -webkit-mask-image:radial-gradient(ellipse 95% 75% at 68% 32%,#000 0%,transparent 76%);
  mask-image:radial-gradient(ellipse 95% 75% at 68% 32%,#000 0%,transparent 76%);}
.cc3dp__hero>*{position:relative;}
.cc3dp__heroGrid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(24px,3.4vw,52px);align-items:start;}
.cc3dp__h1{font-size:clamp(34px,5.2vw,64px);color:#fff;margin-top:18px;line-height:1.03;}
.cc3dp__heroP{margin-top:clamp(22px,2.6vw,34px);font-size:clamp(15px,1.5vw,17px);line-height:1.7;color:var(--dk-ink);max-width:50ch;}
.cc3dp__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.cc3dp__btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-family:var(--sans);font-size:15px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease;}
.cc3dp__btn:hover{transform:translateY(-1px);}
.cc3dp__btn.cc3dp__btn--pri{background:var(--navy);color:#fff;}
.cc3dp__btn.cc3dp__btn--pri:hover{background:#17488c;}
.cc3dp__btn.cc3dp__btn--onNavy{background:#fff;color:var(--navy-dk);}
.cc3dp__btn.cc3dp__btn--onNavy:hover{background:#eaf0f8;}
.cc3dp__btn.cc3dp__btn--ghostDk{border-color:rgba(255,255,255,.34);color:#fff;}
.cc3dp__btn.cc3dp__btn--ghostDk:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.cc3dp__btn.cc3dp__btn--ghost{border-color:var(--line-2);color:var(--ink);}
.cc3dp__btn.cc3dp__btn--ghost:hover{border-color:var(--navy);color:var(--navy);}

.cc3dp__fig{width:100%;height:auto;display:block;overflow:visible;margin-top:-12px;}
.cc3dp__fig .ed{stroke:#6fa3e0;stroke-width:1.25;fill:none;}
.cc3dp__fig .eh{stroke:rgba(255,255,255,.24);stroke-width:1;fill:none;stroke-dasharray:4 4;}
.cc3dp__fig .pt{fill:rgba(111,163,224,.18);stroke:#9cc4f0;stroke-width:1.25;}
.cc3dp__fig text{font-family:var(--sans);font-size:11px;font-weight:500;fill:var(--dk-soft);letter-spacing:.12em;}
.cc3dp__fig .lbl{fill:var(--rust-lt);}
.cc3dp__scan{animation:cc3dpScan 4.8s cubic-bezier(.4,0,.6,1) infinite;}
@keyframes cc3dpScan{0%,100%{transform:translateY(0);opacity:0}8%{opacity:1}50%{transform:translateY(-104px);opacity:1}92%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cc3dp__scan{animation:none;opacity:.55}}

/* hero spec rail - identical padding in every cell so the labels sit on one grid */
.cc3dp__rail{margin-top:clamp(34px,4vw,58px);border-top:1px solid var(--dk-line);display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.cc3dp__rail div{padding:20px 24px;border-left:1px solid var(--dk-line);}
.cc3dp__rail div:first-child{border-left:0;padding-left:0;}
.cc3dp__rail dt{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-soft);}
.cc3dp__rail dd{margin:8px 0 0;font-family:var(--disp);font-size:clamp(14px,1.35vw,17px);font-weight:700;letter-spacing:-.02em;color:#fff;}

/* ----------- CARDS ----------- */
.cc3dp__card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.4vw,32px);}
.cc3dp__card--navy{background:var(--navy-dk);border-color:var(--navy-dk);color:#fff;}
.cc3dp__card h3{font-size:20px;letter-spacing:-.02em;margin-top:12px;}
.cc3dp__card p{font-size:15px;line-height:1.75;color:var(--ink-2);margin-top:9px;}
.cc3dp__card--navy p{color:var(--dk-ink);}
.cc3dp__cardLinks{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px;font-weight:600;}
.cc3dp__cardLinks a{color:var(--navy);text-decoration:none;border-bottom:1px solid rgba(18,58,115,.28);padding-bottom:1px;}
.cc3dp__cardLinks a:hover{border-bottom-color:var(--navy);}
.cc3dp__card--navy .cc3dp__cardLinks a{color:var(--rust-lt);border-bottom-color:rgba(224,154,92,.4);}
.cc3dp__cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;}

/* ----------- FIGURE CARDS ----------- */
.cc3dp__figs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
.cc3dp__figs--pair{grid-template-columns:1fr 1fr;margin-top:0;}
.cc3dp__figCard{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,2.4vw,32px);}
.cc3dp__figNum{font-family:var(--disp);font-size:clamp(32px,3.3vw,46px);font-weight:700;letter-spacing:-.034em;color:var(--navy);line-height:1;}
.cc3dp__figNum sup{font-size:.42em;color:var(--rust);vertical-align:baseline;position:relative;top:-.08em;margin-left:1px;}
.cc3dp__figNum small{font-size:.40em;color:var(--rust);font-weight:700;margin-left:4px;letter-spacing:0;}
.cc3dp__figLab--flush{margin-top:0;}
.cc3dp__figLab{font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-top:14px;font-family:var(--disp);}
.cc3dp__figTxt{font-size:14.5px;line-height:1.75;color:var(--ink-2);margin-top:8px;}

/* ----------- TOOL ----------- */
/* ----------- STAGE: the quote engine runs edge to edge, no frame ----------- */
.cc3dp__stageBand{background:var(--navy-dk);color:var(--dk-ink);padding:clamp(22px,2.4vw,34px) 0 clamp(14px,1.6vw,22px);}
.cc3dp__stageHead{padding-bottom:clamp(22px,2.6vw,34px);}
.cc3dp__stageHead .cc3dp__lede{margin-top:clamp(20px,2.2vw,30px);}
.cc3dp__stage{width:100%;}
.cc3dp__stage iframe{width:100%;height:clamp(620px,88vh,980px);border:0;display:block;background:var(--navy-dk);}
.cc3dp__tools{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--dk-line);margin-top:clamp(20px,2.4vw,32px);}
.cc3dp__tools div{background:transparent;padding:22px 24px 4px;border-left:1px solid var(--dk-line);}
.cc3dp__tools div:first-child{border-left:0;padding-left:0;}
.cc3dp__tools h4{font-size:16px;color:#fff;letter-spacing:-.02em;}
.cc3dp__tools p{font-size:14px;line-height:1.7;color:var(--dk-ink);margin-top:7px;}

/* ----------- STEPS (icon, number, title) ----------- */
.cc3dp__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);margin-top:40px;counter-reset:s;}
.cc3dp__step{border-top:1px solid var(--line-2);padding-top:22px;}
.cc3dp__stepIco{width:46px;height:46px;border-radius:13px;background:rgba(18,58,115,.07);color:var(--navy);display:grid;place-items:center;}
.cc3dp__stepIco svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.cc3dp__stepNo{counter-increment:s;font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--rust);margin-top:16px;display:block;}
.cc3dp__stepNo::before{content:"0" counter(s);}
.cc3dp__step h3{font-size:19px;margin-top:7px;letter-spacing:-.02em;}
.cc3dp__step p{font-size:14.5px;line-height:1.75;color:var(--ink-2);margin-top:9px;}

/* ----------- CAPABILITIES ----------- */
.cc3dp__specs{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,4.5vw,72px);margin-top:38px;}
.cc3dp__specRow{display:grid;grid-template-columns:minmax(0,152px) minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--dk-line);align-items:baseline;}
.cc3dp__specRow dt{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--dk-soft);}
.cc3dp__specRow dd{margin:0;}
.cc3dp__specRow b{display:block;font-family:var(--disp);font-size:17px;font-weight:700;letter-spacing:-.02em;color:#fff;}
.cc3dp__specRow span{display:block;color:var(--dk-ink);font-size:14.5px;line-height:1.7;margin-top:6px;}
.cc3dp__note{margin-top:32px;padding:22px 24px;border-left:2px solid var(--rust-lt);background:rgba(255,255,255,.06);font-size:14.5px;line-height:1.75;color:var(--dk-ink);border-radius:0 12px 12px 0;}

/* ----------- MATERIALS ----------- */
.cc3dp__mats{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px;margin-top:36px;}
.cc3dp__mat{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,2.8vw,36px);}
.cc3dp__mat--req{background:transparent;border-style:dashed;border-color:var(--line-2);}
.cc3dp__matTop{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.cc3dp__matTop h3{font-size:clamp(24px,2.6vw,32px);color:var(--navy);letter-spacing:-.034em;}
.cc3dp__tag{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(18,58,115,.08);color:var(--navy);}
.cc3dp__tag--soon{background:rgba(180,101,42,.10);color:var(--rust);}
.cc3dp__matSpecs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:20px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);}
.cc3dp__matSpecs dt{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);}
.cc3dp__matSpecs dd{margin:8px 0 0;font-family:var(--disp);font-size:18px;font-weight:700;letter-spacing:-.02em;}
.cc3dp__sw{display:flex;gap:10px;margin-top:8px;}
.cc3dp__sw span{width:30px;height:30px;border-radius:9px;border:1px solid var(--line-2);display:block;}

/* ----------- PRICING ----------- */
.cc3dp__priceGrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(26px,3.6vw,58px);align-items:start;margin-top:36px;}
.cc3dp__tiers{width:100%;border-collapse:collapse;font-size:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;}
.cc3dp__tiers th{font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:16px 24px;border-bottom:1px solid var(--line);}
.cc3dp__tiers td{padding:16px 24px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;}
.cc3dp__tiers tr:last-child td{border-bottom:0;}
.cc3dp__tiers td:last-child{text-align:right;font-family:var(--disp);font-weight:700;color:var(--navy);letter-spacing:-.02em;}
.cc3dp__tiers tr:first-child td:last-child{color:var(--ink-3);font-weight:500;}

/* ----------- APPLICATIONS ----------- */
.cc3dp__apps{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(28px,4.5vw,72px);margin-top:38px;}
.cc3dp__app{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--dk-line);}
.cc3dp__app b{font-family:var(--disp);font-size:12px;font-weight:700;color:var(--rust-lt);letter-spacing:.08em;padding-top:6px;flex:0 0 auto;}
.cc3dp__app h3{font-size:20px;color:#fff;letter-spacing:-.02em;}
.cc3dp__app p{font-size:14.5px;line-height:1.7;color:var(--dk-ink);margin-top:7px;}

/* ----------- BULK ----------- */
.cc3dp__bulk{background:var(--navy);border-radius:var(--r);padding:clamp(28px,3.8vw,52px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;color:#fff;}
.cc3dp__bulk h2{font-size:clamp(23px,2.7vw,34px);color:#fff;margin-top:12px;}
.cc3dp__bulk p{color:rgba(255,255,255,.85);margin-top:14px;max-width:54ch;font-size:15.5px;line-height:1.75;}
.cc3dp__bulk .cc3dp__eyebrow{color:rgba(255,255,255,.72);}
.cc3dp__bulk .cc3dp__eyebrow::before{background:rgba(255,255,255,.34);}
.cc3dp__bulk .cc3dp__eyebrow b{color:var(--rust-lt);}

/* ----------- FAQ ----------- */
.cc3dp__faq{margin-top:36px;border-top:1px solid var(--line-2);}
.cc3dp__faq details{border-bottom:1px solid var(--line-2);}
.cc3dp__faq summary{padding:22px 48px 22px 0;font-family:var(--disp);font-weight:700;font-size:18px;letter-spacing:-.02em;cursor:pointer;list-style:none;position:relative;}
.cc3dp__faq summary::-webkit-details-marker{display:none;}
.cc3dp__faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:24px;color:var(--rust);font-weight:400;line-height:1;}
.cc3dp__faq details[open] summary::after{content:"\2212";}
.cc3dp__faq summary:hover{color:var(--navy);}
.cc3dp__faq summary:focus-visible{outline:2px solid var(--navy);outline-offset:3px;}
.cc3dp__faq p{padding:0 48px 24px 0;color:var(--ink-2);font-size:15.5px;line-height:1.75;max-width:80ch;}

/* ----------- CLOSER ----------- */
.cc3dp__closer{text-align:center;}
.cc3dp__closer .cc3dp__eyebrow{justify-content:center;}
.cc3dp__closer .cc3dp__lede{margin-left:auto;margin-right:auto;text-align:center;}
.cc3dp__closer .cc3dp__cta{justify-content:center;}

/* ----------- RESPONSIVE ----------- */
@media (max-width:1000px){
  .cc3dp__heroGrid{grid-template-columns:1fr;}
  .cc3dp__figWrap{max-width:440px;margin-inline:auto;}
  .cc3dp__priceGrid,.cc3dp__mats,.cc3dp__specs{grid-template-columns:1fr;}
  .cc3dp__steps,.cc3dp__figs{grid-template-columns:1fr 1fr;}
  .cc3dp__apps{grid-template-columns:1fr;}
  .cc3dp__tools{grid-template-columns:1fr 1fr;}
  .cc3dp__bulk{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .cc3dp__stage iframe{height:clamp(760px,94vh,1080px);}
  .cc3dp__tools div{padding-left:0;padding-right:20px;border-left:0;border-top:1px solid var(--dk-line);}
  .cc3dp__tools div:first-child,.cc3dp__tools div:nth-child(2){border-top:0;}
  .cc3dp__rail{grid-template-columns:1fr 1fr;}
  .cc3dp__rail div{border-left:0;border-top:1px solid var(--dk-line);padding-left:0;padding-right:20px;}
  .cc3dp__rail div:first-child,.cc3dp__rail div:nth-child(2){border-top:0;}
  .cc3dp__cards{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .cc3dp{font-size:16px;}
  .cc3dp__steps,.cc3dp__figs,.cc3dp__figs--pair,.cc3dp__tools{grid-template-columns:1fr;}
  .cc3dp__specRow{grid-template-columns:1fr;gap:8px;}
  .cc3dp__btn{width:100%;justify-content:center;}
  .cc3dp__tiers th,.cc3dp__tiers td{padding-left:18px;padding-right:18px;}
}
