/* CM Ingeniería · estilos de páginas internas (oct 2026) */
.header{background:rgba(47,79,79,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(238,242,241,.08)}
.header .logo{display:inline-flex;align-items:center;background:none;padding:0;border:0;box-shadow:none;border-radius:0}
.cm-hlogo{display:block;width:54px;height:auto}
.cm-hlogo .o,.cm-flogo .o{fill:#EB6C21}
.cm-hlogo .g,.cm-flogo .g{fill:#EEF2F1}
.footer .logo{display:inline-block;background:none;padding:0;border:0;box-shadow:none;border-radius:0}
.cm-flogo{display:block;width:84px;height:auto}
.nav-cta,.btn-primary,.btn-submit{border-radius:0}

main.service-page .container > a:first-child{position:relative;z-index:1;color:rgba(238,242,241,.72)}
main.service-page .container > a:first-child:hover{color:#fff}
main.service-page .service-lead{position:relative;max-width:none;background:#2F4F4F;box-shadow:0 0 0 100vmax #2F4F4F;clip-path:inset(-400px -100vmax -72px -100vmax)}
main.service-page .service-lead h1{color:#fff}
main.service-page .service-lead p{color:rgba(238,242,241,.8);max-width:720px}
main.service-page .service-photo{position:relative;z-index:1;border-radius:0;box-shadow:0 30px 60px -30px rgba(31,54,52,.45)}
main.service-page .services-grid{gap:48px;margin-top:56px}
main.service-page .service-card{position:relative;background:none;border:0;border-top:1px solid rgba(47,79,79,.2);border-radius:0;box-shadow:none;padding:30px 0 0;transform:none}
main.service-page .service-card:hover{transform:none;box-shadow:none}
main.service-page .service-card::before{content:"";position:absolute;left:0;top:-8px;right:auto;width:14px;height:14px;border-radius:3px;background:#EB6C21;transform:none;opacity:1}
main.service-page .service-card ul{padding-left:1.1em}
main.service-page .service-card li{margin-bottom:8px;line-height:1.6}
main.service-page .service-card li::marker{color:#EB6C21}
main.service-page .service-card strong{color:#2F4F4F}
main.service-page a.btn-primary,main.service-page .btn-primary{border-radius:0}
@media (max-width:768px){
  main.service-page .services-grid{grid-template-columns:1fr;gap:40px}
}
.footer{color:rgba(238,242,241,.72)}
.footer p,.footer li,.footer span{color:rgba(238,242,241,.72)}
.footer a{color:rgba(238,242,241,.82)}
.footer a:hover{color:#EB6C21}
.footer h3,.footer h4,.footer strong{color:#fff}
/* artículos */
.article-hero .category{border-radius:3px}
.article-container .toc{position:relative;background:none;border:0;border-top:1px solid rgba(47,79,79,.2);border-radius:0;box-shadow:none;padding:28px 0 8px}
.article-container .toc::before,.article-container .article-cta::before{content:"";position:absolute;left:0;top:-8px;width:14px;height:14px;border-radius:3px;background:#EB6C21}
.article-container .callout,.article-container .highlight-box{border-radius:0}
.article-container .article-cta{position:relative;border-radius:0}
.article-container .article-cta::before{left:-1px}
.article-container .article-cta a{border-radius:0}
.article-container img{border-radius:0}
/* artículo plantilla 2 */
.hdr ~ * .article,main .article{border-radius:0}
.hdr .logo{display:inline-flex;background:none;padding:0;border:0;box-shadow:none;border-radius:0}
.article .toc{position:relative;background:none;border:0;border-top:1px solid rgba(47,79,79,.2);border-radius:0;box-shadow:none;padding:28px 0 8px}
.article .toc::before,.article .cta::before{content:"";position:absolute;left:0;top:-8px;width:14px;height:14px;border-radius:3px;background:#EB6C21}
.article .callout,.article .tabla,.article .lista-destacada{border-radius:0}
.article .cta{position:relative;border-radius:0}
.article .cta-btn{border-radius:0}
.hero .badge{border-radius:3px}
/* calculadora */
.hdr .cm-hlogo{width:50px}
.ftr .cm-flogo{margin:0 auto 14px;width:76px}
.mods .mc{border-radius:4px;box-shadow:none;border:1px solid rgba(47,79,79,.14);transition:border-color .2s ease,transform .2s ease}
.mods .mc:hover{border-color:#EB6C21;box-shadow:none;transform:translateY(-2px)}
.mods .mc:focus-visible{outline:2px solid #EB6C21;outline-offset:2px}
.mods .mc-ic{border-radius:50%;background:none;border:1.5px solid rgba(47,79,79,.28);color:#EB6C21}
.mods .mc:hover .mc-ic{background:#EB6C21;border-color:#EB6C21;color:#fff}
.mods .mc:hover .mc-ic svg{stroke:#fff;color:#fff}
.cat .cat-h{display:flex;align-items:center;gap:10px}
.cat .cat-h::before{content:"";flex:none;width:10px;height:10px;border-radius:2px;background:#EB6C21}
/* calculadora móvil */
.hero + .wrap{margin-top:0}
@media (max-width:900px){
  .hdr nav{display:flex!important;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:12px}
  .hdr nav::-webkit-scrollbar{display:none}
  .hdr nav a{flex:none;font-size:.78rem;padding:8px 10px;white-space:nowrap}
  .hdr nav a.nav-cta{padding:8px 12px}
  #app .mods{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
  #app .mods .mc{position:relative;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 14px 14px;min-height:132px;border-radius:14px;text-align:left;background:#fff}
  #app .mods .mc::after{content:"";position:absolute;right:12px;top:12px;width:8px;height:8px;border-radius:2px;background:rgba(47,79,79,.18);transition:background-color .2s ease}
  #app .mods .mc:active::after,#app .mods .mc:hover::after{background:#EB6C21}
  #app .mods .mc .mc-ic{width:44px;height:44px;flex:none;background:#2F4F4F;border-color:#2F4F4F;color:#EB6C21}
  #app .mods .mc .mc-ic svg{width:22px;height:22px}
  #app .mods .mc:active .mc-ic{background:#EB6C21;border-color:#EB6C21;color:#fff}
  #app .mods .mc .mc-tx h4{font-size:.92rem;line-height:1.25;margin:0 0 4px}
  #app .mods .mc .mc-tx p{font-size:.74rem;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.85}
  #app .mods .mc:last-child:nth-child(odd){grid-column:span 2;flex-direction:row;align-items:center;min-height:0}
  #app .cat{margin-bottom:22px}
  #app .cat .cat-h{margin-bottom:12px}
}
@media (max-width:640px){
  .hero{padding:26px 20px 40px}
  .hero .badge{background:none;border:0;padding:0;margin-bottom:12px;font-size:.66rem;letter-spacing:.08em}
  .hero h1{font-size:1.9rem;line-height:1.15;margin-bottom:12px}
  .hero p{font-size:.9rem;line-height:1.55}
  body:has(#app .mv-top) .hero{padding:16px 20px 22px}
  body:has(#app .mv-top) .hero .badge,body:has(#app .mv-top) .hero p{display:none}
  body:has(#app .mv-top) .hero h1{font-size:1.25rem;margin:0}
  #app .mv-top{margin:0 0 6px}
  .hdr .cm-hlogo{width:40px}
  #app .mv-top .back{border-radius:999px}
  #app .panel input,#app .panel select,#app .panel textarea{font-size:16px;min-height:48px;border-radius:10px}
  #app .panel{overflow:visible}
  #app .panel .panel-h{border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
  #app .panel .btn-calc{position:sticky;bottom:12px;z-index:5;min-height:52px;font-size:1rem;border-radius:12px;box-shadow:0 10px 24px -8px rgba(176,81,26,.55)}
  #app .panel .btn-reset{min-height:44px;border-radius:12px}
  #app .results > *{border-radius:14px}
}