:root{--bg:#fbfcfd;--text:#102f45;--muted:#667987;--blue:#1562c7;--cyan:#2aa4d5;--line:#dde7ed;--light:#f3f8fb;--green:#4ba37a;--orange:#e7973c;--shadow:0 18px 50px rgba(25,62,87,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 48px));margin:auto}.section-pad{padding:108px 0}.light-section{background:#f5f9fb}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,252,253,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,231,237,.8)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#111}.brand-mark{position:relative;width:34px;height:34px;display:block}.brand-mark i{position:absolute;width:5px;height:5px;background:#111;border-radius:1px}.brand-mark i:nth-child(1){left:0;top:14px}.brand-mark i:nth-child(2){left:7px;top:7px}.brand-mark i:nth-child(3){left:7px;top:21px}.brand-mark i:nth-child(4){left:14px;top:0}.brand-mark i:nth-child(5){left:14px;top:14px}.brand-mark i:nth-child(6){left:14px;top:28px}.brand-mark i:nth-child(7){left:21px;top:7px}.brand-name{font-size:25px;letter-spacing:-1.3px}.brand-name b{font-weight:500;font-style:italic}.brand-name strong{font-size:.84em;margin-left:3px}.brand-name em{color:#e42028;font-style:normal;font-weight:900}.nav-links{display:flex;align-items:center;gap:26px}.nav-links a{text-decoration:none;color:#496273;font-size:14px;font-weight:650}.nav-links a:hover{color:var(--blue)}.menu-toggle{display:none;border:0;background:transparent;font-size:25px;color:var(--text)}
.hero{position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border:1px solid #e2edf5;border-radius:50%;width:520px;height:520px;right:-260px;top:-210px}.hero:after{width:390px;height:390px;right:-170px;top:-145px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:74px;align-items:center}.eyebrow{display:inline-flex;align-items:center;min-height:30px;padding:5px 13px;border-radius:999px;background:#eaf3ff;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.08em}.hero h1,.section-head h2,.section-copy h2,.closing-card h2{font-size:clamp(42px,5vw,70px);line-height:1.04;letter-spacing:-.045em;margin:24px 0}.hero h1 span,.section-head h2 span,.section-copy h2 span,.closing-card h2 span{color:var(--blue)}.lead{font-size:18px;color:var(--muted);max-width:620px}.hero-actions{display:flex;gap:14px;margin:34px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;text-decoration:none;font-weight:750}.btn.primary{background:var(--blue);color:#fff;box-shadow:0 12px 30px rgba(21,98,199,.22)}.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}.quick-points{display:flex;gap:12px;flex-wrap:wrap}.quick-points span{font-size:13px;color:#526a7a;padding:8px 11px;border-left:2px solid var(--cyan)}.hero-media{position:relative;min-height:540px}.hero-shot{position:absolute;left:0;top:30px;width:88%;background:#fff;padding:16px;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.hero-shot img{width:100%;aspect-ratio:2.05/1;object-fit:cover;border-radius:15px}.media-caption{padding:18px 5px 3px;display:grid;gap:5px}.media-caption b{font-size:18px}.media-caption span{font-size:14px;color:var(--muted)}.floating-photo{position:absolute;right:0;bottom:4px;width:38%;background:#fff;padding:10px;border-radius:20px;box-shadow:0 20px 50px rgba(23,56,78,.18);border:1px solid var(--line)}.floating-photo img{aspect-ratio:1/1.14;object-fit:cover;border-radius:13px}.floating-photo b{display:block;font-size:13px;padding:10px 4px 3px}
.feature-strip{padding:38px 0 54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.mini-feature{display:flex;gap:15px;align-items:flex-start}.mini-feature .icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #badff0;color:var(--blue);border-radius:50%;font-weight:800}.mini-feature b{font-size:15px}.mini-feature p{font-size:13px;color:var(--muted);margin:3px 0 0}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}.section-copy h2,.section-head h2{font-size:clamp(38px,4.4vw,60px)}.section-copy>p,.section-head>p{font-size:17px;color:var(--muted);max-width:720px}.clean-list{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:15px}.clean-list li{position:relative;padding-left:30px;color:#526a7a}.clean-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--cyan);font-weight:900}.clean-list.compact{grid-template-columns:1fr 1fr}.image-stack{display:grid;gap:22px}.shot-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:0 12px 34px rgba(33,68,91,.07)}.shot-card img{width:100%;aspect-ratio:1.55/1;object-fit:cover;border-radius:13px}.shot-card.wide img{aspect-ratio:2.5/1}.shot-card figcaption{display:grid;padding:14px 5px 4px;gap:3px}.shot-card figcaption span{font-size:13px;color:var(--muted)}
.section-head{max-width:850px;margin-bottom:56px}.operations-section{background:#fff}.ops-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.op-card{padding:28px;border:1px solid var(--line);background:#fff;border-radius:20px;min-height:235px;transition:.25s ease}.op-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#cce1ed}.op-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#edf7fc;color:var(--blue);font-size:23px;font-weight:800}.op-card h3{font-size:20px;margin:20px 0 8px}.op-card p{font-size:14px;color:var(--muted);margin:0}.simulation-section{background:linear-gradient(180deg,#eef8fc 0%,#fbfcfd 100%)}.simulation-visual{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow)}.simulation-visual img{width:100%;border-radius:15px}.sim-badge{position:absolute;left:34px;bottom:34px;background:#fff;color:var(--blue);font-size:12px;font-weight:900;padding:8px 11px;border-radius:999px;box-shadow:0 8px 26px rgba(0,0,0,.12)}.strong-copy{font-size:18px!important;color:#405968!important}.comment-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.comment-grid article{padding:19px 18px;background:#fff;border:1px solid var(--line);border-radius:15px;display:grid;gap:5px}.comment-grid article b{font-size:15px}.comment-grid article span{font-size:13px;color:var(--muted)}
.param-grid{display:grid;grid-template-columns:1.25fr .85fr;grid-template-areas:"macro gallery" "macro comments";gap:22px}.macro-card{grid-area:macro;background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px}.macro-card img{width:100%;aspect-ratio:1.85/1;object-fit:cover;border-radius:15px}.macro-card>div{padding:18px 8px 4px}.macro-card b{font-size:21px}.macro-card p{color:var(--muted)}.door-gallery{grid-area:gallery;display:grid;grid-template-columns:1fr 1fr;gap:12px}.door-gallery img{width:100%;height:100%;min-height:190px;object-fit:cover;border-radius:20px;border:1px solid var(--line)}.param-comments{grid-area:comments;display:grid;gap:12px}.param-comments article{padding:17px 18px;background:#fff;border-left:3px solid var(--green);border-radius:12px;display:grid;gap:4px}.param-comments span{font-size:13px;color:var(--muted)}
.nesting-grid{align-items:stretch}.metric-list{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.metric-list span{padding:10px 13px;background:#eef7fb;border-radius:999px;font-size:13px;font-weight:700;color:#466477}.note-box{display:grid;gap:5px;padding:20px;border:1px solid #cfe7f2;border-radius:16px;background:#f5fbfe}.note-box span{font-size:14px;color:var(--muted)}.nesting-media{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.nesting-media .shot-card:first-child{transform:translateY(40px)}.label-image{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px}.label-image img{width:100%;max-height:530px;object-fit:contain;border-radius:14px}
.compatibility-section{background:#fff}.compatibility-wrap{display:grid;gap:36px}.format-cloud{display:flex;flex-wrap:wrap;gap:14px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.format-cloud span{font-size:18px;font-weight:850;color:var(--blue);padding:10px 16px;background:#eef6ff;border-radius:12px}.compat-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:20px}.compat-card,.gcode-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;margin:0}.compat-card h3{margin:0 0 8px}.compat-card p{margin:0;color:var(--muted);font-size:14px}.gcode-card img{width:100%;height:230px;object-fit:contain;background:#f6f9fb;border-radius:13px}.gcode-card figcaption{text-align:center;margin-top:12px;font-weight:700}.closing-section{padding-top:60px}.closing-card{text-align:center;padding:80px 30px;border-radius:28px;background:linear-gradient(135deg,#edf7fd,#f8fbfd);border:1px solid #d8e9f3}.closing-card h2{font-size:clamp(36px,4vw,58px)}.closing-points{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:30px 0 36px}.closing-points span{font-size:14px;font-weight:750;color:#486577}.footer{border-top:1px solid var(--line);background:#fff}.footer-inner{min-height:86px;display:flex;justify-content:space-between;align-items:center;color:#70828f;font-size:13px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:22px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu-toggle{display:block}.hero-grid,.split-grid{grid-template-columns:1fr}.hero-media{min-height:500px}.feature-grid{grid-template-columns:1fr 1fr}.ops-grid{grid-template-columns:1fr 1fr}.param-grid{grid-template-columns:1fr;grid-template-areas:"macro" "gallery" "comments"}.compat-grid{grid-template-columns:1fr 1fr}.gcode-card{grid-column:1/-1}.section-pad{padding:80px 0}.nesting-media .shot-card:first-child{transform:none}}
@media(max-width:640px){.container{width:min(100% - 30px,1180px)}.section-pad{padding:64px 0}.hero-grid{gap:32px}.hero h1,.section-head h2,.section-copy h2,.closing-card h2{font-size:38px}.lead{font-size:16px}.hero-media{min-height:auto;display:grid;gap:14px}.hero-shot,.floating-photo{position:relative;inset:auto;width:100%}.floating-photo{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:12px}.floating-photo img{aspect-ratio:1/1}.feature-grid,.ops-grid,.comment-grid,.nesting-media,.compat-grid{grid-template-columns:1fr}.quick-points{display:grid}.clean-list.compact{grid-template-columns:1fr}.door-gallery{grid-template-columns:1fr 1fr}.footer-inner{flex-direction:column;justify-content:center;gap:4px}.format-cloud span{font-size:15px}}


.compact-head{margin-bottom:34px}
.cnc-showcase{background:#fff}
.cnc-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cnc-visual-grid .shot-card img{aspect-ratio:1.65/1;object-fit:cover}
.ops-media-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.wide-media img{aspect-ratio:1.85/1;object-fit:cover}
.sim-extra{margin-top:24px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(33,68,91,.05)}
.sim-extra b{display:block;margin-bottom:14px;font-size:15px}
@media(max-width:980px){.cnc-visual-grid,.ops-media-row{grid-template-columns:1fr}}


.ui-review-section{background:linear-gradient(180deg,#f8fbfd 0%,#ffffff 100%)}
.ui-review-grid{align-items:start}
.ui-shot img{aspect-ratio:2.2/1;object-fit:cover}
.ui-comment-list{display:grid;gap:14px;margin-top:28px}
.ui-comment-list article{padding:18px 18px 16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 24px rgba(33,68,91,.05);display:grid;gap:6px}
.ui-comment-list article b{font-size:15px;color:var(--text)}
.ui-comment-list article span{font-size:13px;color:var(--muted)}
.ui-note{margin-top:20px;padding:20px;background:#edf7fc;border:1px solid #d7ebf5;border-radius:18px;display:grid;gap:5px}
.ui-note b{font-size:15px}
.ui-note span{font-size:14px;color:#516b7b}
@media(max-width:980px){.ui-review-grid{grid-template-columns:1fr}}


/* Cleaner revision */
.cnc-showcase,.ops-media-row{display:none!important}
.simulation-clean-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:start}
.simulation-comments{display:grid;gap:14px}
.simulation-comments article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;gap:6px}
.simulation-comments article b{font-size:16px}
.simulation-comments article span{font-size:14px;color:var(--muted)}
.simulation-example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.sim-example{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;min-height:150px}
.sim-num{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:#edf6ff;color:var(--blue);font-weight:850}
.sim-example b{font-size:15px}
.sim-example p{font-size:13px;color:var(--muted);margin:6px 0 0}
.simulation-note{margin-top:24px;background:#eef8fc;border:1px solid #d8ebf4;border-radius:18px;padding:22px;display:grid;gap:6px}
.simulation-note b{font-size:16px}.simulation-note span{font-size:14px;color:#516b7b}
.operations-section .ops-grid{grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:980px){.simulation-clean-grid{grid-template-columns:1fr}.simulation-example-grid{grid-template-columns:1fr 1fr}.operations-section .ops-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.simulation-example-grid,.operations-section .ops-grid{grid-template-columns:1fr}}

.cnc-visuals-section{background:#f5f9fb}
.cnc-simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cnc-simple-grid .shot-card img{aspect-ratio:1.5/1;object-fit:cover}
.sim-gallery-head{margin:42px 0 22px;max-width:860px}
.sim-gallery-head h3{font-size:28px;line-height:1.15;letter-spacing:-.03em;margin:0 0 8px}
.sim-gallery-head p{margin:0;color:var(--muted);font-size:16px}
.simulation-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}
.sim-shot{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(33,68,91,.05)}
.sim-shot img{width:100%;aspect-ratio:1.2/1;object-fit:cover;border-radius:12px}
.sim-shot figcaption{display:grid;gap:4px;padding:12px 4px 2px}
.sim-shot figcaption b{font-size:14px;line-height:1.3}
.sim-shot figcaption span{font-size:12.5px;color:var(--muted);line-height:1.55}
@media(max-width:1180px){.simulation-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.cnc-simple-grid{grid-template-columns:1fr}.simulation-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.simulation-gallery{grid-template-columns:1fr}.sim-gallery-head h3{font-size:24px}}


.simulation-main-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start;margin-top:24px}
.sim-main-card img{aspect-ratio:1.7/1;object-fit:cover}
.sim-comment-stack{display:grid;gap:14px}
.sim-comment-stack article{padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 24px rgba(33,68,91,.05)}
.sim-comment-stack article b{display:block;font-size:15px;color:var(--text);margin-bottom:6px}
.sim-comment-stack article span{font-size:13px;color:var(--muted)}
.sim-examples-head{margin-top:44px;margin-bottom:18px}
.sim-examples-head h3{font-size:28px;margin-bottom:10px;color:var(--text)}
.sim-example-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:12px}
.sim-example-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(33,68,91,.06)}
.sim-example-card img{width:100%;aspect-ratio:1.45/1;object-fit:cover;display:block}
.sim-example-card figcaption{padding:16px 16px 18px;display:grid;gap:6px}
.sim-example-card figcaption b{font-size:15px;color:var(--text)}
.sim-example-card figcaption span{font-size:13px;color:var(--muted)}
.simulation-extra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}
@media(max-width:1100px){.sim-example-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.simulation-main-grid,.simulation-extra-grid{grid-template-columns:1fr}.sim-example-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sim-example-gallery{grid-template-columns:1fr}}



/* ==============================
   PRICING — campaign card layout
   ============================== */
.pricing-section{
  background:#fff;
  border-top:1px solid var(--line);
}
.pricing-head{
  max-width:850px;
  margin-bottom:38px;
}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.price-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:565px;
  padding:30px 24px 26px;
  background:#fff;
  border:1px solid #cfe0ea;
  border-radius:22px;
  box-shadow:none;
}
.price-card.featured{
  border:2px solid var(--blue);
  padding:29px 23px 25px;
}
.featured-badge{
  position:absolute;
  left:24px;
  top:-15px;
  padding:8px 14px;
  background:var(--blue);
  color:#fff;
  border-radius:999px;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.03em;
}
.price-tier{
  display:block;
  margin:0 0 14px;
  color:#60788a;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.price-top h3{
  margin:0;
  color:#344f62;
  font-size:18px;
  line-height:1.25;
  font-weight:850;
}
.price-top p{
  margin:14px 0 0;
  min-height:63px;
  color:#6e8291;
  font-size:13px;
  line-height:1.65;
}
.price-block{
  position:relative;
  display:block;
  margin:24px 0 24px;
  padding:0 0 23px;
  border-bottom:1px solid #e6eef3;
}
.old-price-row{
  display:flex;
  align-items:flex-end;
  gap:12px;
  min-height:44px;
  margin-bottom:8px;
}
.old-price{
  position:relative;
  display:inline-block;
  color:#15354c;
  font-size:27px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
  text-decoration:none;
}
.old-price::after{
  content:"";
  position:absolute;
  left:-4px;
  right:-5px;
  top:48%;
  height:3px;
  background:#ef2929;
  border-radius:3px;
  transform:rotate(-13deg);
  transform-origin:center;
}
.discount-tag{
  color:#ef2929;
  font-size:14px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}
.new-price-row{
  display:flex;
  align-items:flex-end;
  gap:7px;
}
.new-price-row strong{
  color:#102f47;
  font-size:38px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.045em;
}
.new-price-row small{
  padding-bottom:4px;
  color:#6d7f8c;
  font-size:12px;
  font-weight:700;
}
.price-features{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:15px;
}
.price-features li{
  position:relative;
  padding-left:23px;
  color:#526a7a;
  font-size:13px;
  line-height:1.48;
}
.price-features li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#2aa56e;
  font-weight:900;
}
.campaign-banner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:28px;
  padding:18px 24px;
  min-height:60px;
  background:#edf8f3;
  border:1px solid #cae9da;
  border-radius:16px;
  color:#24475a;
  text-align:center;
}
.campaign-banner .campaign-icon{display:none}
.campaign-banner div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
.campaign-banner b{
  color:#25a56e;
  font-size:15px;
  font-weight:900;
}
.campaign-banner span:last-child{
  color:#274b5d;
  font-size:14px;
}
.pricing-note{
  margin:16px 0 0;
  text-align:center;
  color:#7a8b96;
  font-size:12px;
}
@media(max-width:1100px){
  .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .pricing-grid{grid-template-columns:1fr}
  .price-card{min-height:auto}
  .new-price-row strong{font-size:36px}
}
