:root{--blue:#103b67;--deep:#0c2b4c;--pale:#eef4f7}
.hy-section{padding:100px 0}.kicker{font-size:12px;color:var(--orange);font-weight:900;letter-spacing:.12em;margin:0 0 18px}.hy-section-intro{max-width:790px;margin-bottom:42px}.hy-section-intro h2,.hy-results h2,.hy-contact h2{font-size:clamp(34px,3.9vw,52px);line-height:1.33;letter-spacing:-.05em;margin:0 0 20px}.hy-section-intro>p:last-child{font-size:17px;line-height:1.8;color:var(--muted);margin:0}.hy-problem{background:white}.hy-problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hy-problem-grid>div{background:var(--pale);border-top:3px solid var(--blue);padding:30px;min-height:250px}.hy-problem-grid span{color:#d96e38;font-size:13px;font-weight:900}.hy-problem-grid h3{font-size:21px;margin:40px 0 13px}.hy-problem-grid p{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.hy-service{background:#f1f5f7}.hy-service-table{border-top:1px solid #bacbd4}.hy-service-table>div{display:grid;grid-template-columns:56px .8fr 1.4fr;gap:25px;padding:25px 0;align-items:center;border-bottom:1px solid #bacbd4}.hy-service-table b{color:var(--orange);font-size:14px}.hy-service-table h3{font-size:20px;margin:0}.hy-service-table p{margin:0;font-size:15px;line-height:1.75;color:var(--muted)}.hy-service-note{font-size:13px;line-height:1.7;color:#6a7d87;margin:19px 0 0}.hy-results{background:var(--deep);color:#fff}.hy-results-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:8%;align-items:center}.hy-results h2{margin-bottom:20px}.hy-results-grid>div:first-child>p:not(.kicker){font-size:17px;line-height:1.85;color:#d0e0ec}.hy-results small{display:block;font-size:13px;color:#adbfce;line-height:1.7;margin-top:26px}.dashboard{background:white;color:var(--ink);box-shadow:0 28px 45px #08223b;padding:28px}.dashboard-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.dashboard-head strong{font-size:19px}.dashboard-head span{font-size:11px;color:#728899;border:1px solid var(--line);padding:5px 8px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:20px 0}.metrics>div{background:#eff4f7;padding:18px 13px}.metrics small{color:#50697a;margin:0;font-size:12px;font-weight:800}.metrics strong{display:block;font-size:30px;color:var(--blue);font-weight:400;margin-top:14px}.stage{display:flex;align-items:center;gap:9px;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-size:13px;font-weight:800}.stage i{height:1px;flex:1;background:#9ab1bf;position:relative}.stage i:after{content:'›';position:absolute;right:-1px;top:-10px;font-style:normal;color:#68899d;font-size:18px}.dashboard p{margin:18px 0 0;color:#607987;font-size:12px}.hy-workflow{background:white}.hy-workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.hy-workflow-grid article{border:1px solid var(--line);padding:27px 23px;min-height:250px}.hy-workflow-grid b{color:var(--blue);font-size:12px;letter-spacing:.12em}.hy-workflow-grid h3{font-size:19px;margin:45px 0 14px}.hy-workflow-grid p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.hy-contact{background:#eaf1f5;padding:85px 0}.hy-contact-grid{display:grid;grid-template-columns:1fr 420px;gap:8%;align-items:center}.hy-contact p:not(.kicker){color:#536a7b;font-size:16px;line-height:1.8}.hy-contact-box{padding:30px;background:white;border:1px solid #c8d8e2;box-shadow:8px 8px 0 #d2e0e8}.hy-contact-box strong{font-size:20px}.hy-contact-box p{font-size:14px!important}.hy-contact-box .button{width:100%}.footer{background:#0b2948;color:#cbd9e4;padding:27px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;font-size:12px}.footer-inner strong{color:#fff}/* Keep the selected menu and photographic banner while adapting the copy to the new service. */
.hero{min-height:700px}.hero-content{min-height:700px}.hero-copy{max-width:860px}.hero h1{font-size:clamp(42px,5vw,74px);line-height:1.23}.hero-lead{max-width:680px}.hero-overlay{background:linear-gradient(90deg,rgba(8,22,31,.96) 0%,rgba(8,22,31,.89) 38%,rgba(8,22,31,.47) 75%,rgba(8,22,31,.28) 100%),linear-gradient(0deg,rgba(8,22,31,.35),transparent 40%)}
@media(max-width:1080px){.hy-contact-grid{grid-template-columns:1fr 350px}}
@media(max-width:760px){.hero,.hero-content{min-height:660px}.hero h1{font-size:clamp(38px,9.6vw,58px)}.hero-copy{max-width:100%}.hy-section{padding:72px 0}.hy-section-intro h2,.hy-results h2,.hy-contact h2{font-size:clamp(32px,8.5vw,47px)}.hy-problem-grid,.hy-results-grid,.hy-contact-grid{grid-template-columns:1fr}.hy-problem-grid>div{min-height:0;padding:22px}.hy-problem-grid h3{margin:25px 0 11px}.hy-service-table>div{grid-template-columns:35px 1fr;gap:10px;padding:21px 0}.hy-service-table p{grid-column:2}.hy-results-grid{gap:32px}.dashboard{padding:20px}.hy-workflow-grid{grid-template-columns:1fr 1fr}.hy-workflow-grid article{min-height:0}.hy-workflow-grid h3{margin:26px 0 12px}.hy-contact{padding:72px 0}.hy-contact-box{margin-top:20px}}
@media(max-width:420px){.metrics{gap:5px}.metrics>div{padding:12px 7px}.metrics small{font-size:10px}.stage{font-size:11px}.hy-workflow-grid{grid-template-columns:1fr}}

/* Responsive width containment for the supplied V2_1 layout. */
html,body{max-width:100%;overflow-x:clip}
.container,.hero-copy,.hy-results-grid>*,.hy-contact-grid>*,.dashboard,.metrics>div,.hy-service-table>div>*{min-width:0}
.hy-section h2,.hero h1,.hy-service-table h3{overflow-wrap:anywhere}
@media(max-width:760px){
  .site-header .brand{min-width:0;gap:6px}
  .site-header .brand img{display:block;width:clamp(42px,12vw,60px);height:auto;flex:none}
  .site-header .brand-text{min-width:0;font-size:clamp(10px,3vw,12px);letter-spacing:0}
  .site-header .brand-text small{font-size:clamp(6px,1.7vw,8px);letter-spacing:0}
  .site-header .header-cta{flex:none;white-space:nowrap}
}
@media(max-width:420px){
  .dashboard-head{gap:8px}
  .dashboard-head strong{min-width:0}
  .dashboard-head span{flex:none}
  .stage{gap:4px;font-size:clamp(10px,2.8vw,11px)}
  .stage span{min-width:0;white-space:nowrap}
}


/* CNC-specific positioning block */
.hy-positioning{background:#f7f9fa;border-top:1px solid #d9e3e8;border-bottom:1px solid #d9e3e8}
.hy-positioning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hy-position-card{background:#fff;border:1px solid #cfdae0;padding:30px;min-height:245px;position:relative;overflow:hidden}
.hy-position-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--blue)}
.hy-position-card span{display:block;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.1em;margin-bottom:30px}
.hy-position-card h3{font-size:23px;line-height:1.45;letter-spacing:-.02em;margin:0 0 16px;color:var(--ink)}
.hy-position-card p{font-size:15px;line-height:1.85;color:var(--muted);margin:0}
.hy-position-card-wide{grid-column:1/-1;min-height:0;padding-right:9%}
.hy-position-card-wide h3{font-size:clamp(25px,2.4vw,34px);max-width:900px}
.hy-position-card-quote{background:var(--deep);border-color:var(--deep);color:#fff}
.hy-position-card-quote:before{background:var(--orange)}
.hy-position-card-quote span{color:#ff9864}
.hy-position-card-quote blockquote{font-size:clamp(24px,2.7vw,38px);line-height:1.5;font-weight:800;letter-spacing:-.035em;margin:10px 0 0;color:#fff}
@media(max-width:760px){.hy-positioning-grid{grid-template-columns:1fr}.hy-position-card-wide{grid-column:auto;padding-right:30px}.hy-position-card{min-height:0;padding:24px}.hy-position-card span{margin-bottom:22px}.hy-position-card h3{font-size:21px}}
