/* NTEO main homepage */
.home-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#101113;color:#fff;overflow:hidden}
.home-hero-copy{padding:76px max(36px,calc((100vw - 1240px)/2)) 70px max(24px,calc((100vw - 1240px)/2));display:flex;flex-direction:column;justify-content:center}
.home-hero h1{font:700 clamp(54px,6.2vw,88px)/.98 Oswald,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 25px;text-transform:uppercase}
.home-hero h1 em,.home-statement h2 em,.home-geography h2 em,.home-contact h2 em{font-style:normal;color:var(--red)}
.home-lead{max-width:560px;color:#c4c6c8;font-size:15px;line-height:1.85;margin:0 0 28px}
.home-proof{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:28px;color:#aeb1b3;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.home-proof span:before{content:"＋";color:var(--red);font-weight:800;margin-right:7px}
.home-hero-image{position:relative;min-height:590px;overflow:hidden}
.home-hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.home-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101113 0%,transparent 28%),linear-gradient(0deg,#10111355,transparent 55%)}
.home-image-caption{position:absolute;z-index:2;right:28px;bottom:28px;background:#111d;padding:12px 16px;border-left:3px solid var(--red);font-size:10px;letter-spacing:.16em}
.home-image-caption b{color:var(--red);margin-left:12px}
.home-ribbon{background:var(--red);color:#fff}
.home-ribbon .wrap{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:10px;font-weight:800;letter-spacing:.12em}
.home-services{padding-top:100px;padding-bottom:105px}
.home-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.home-service-card{display:block;background:#fff;border:1px solid #dedfdb;padding-bottom:26px;transition:transform .25s,box-shadow .25s}
.home-service-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px #10111312}
.home-card-image{height:290px;overflow:hidden;background:#d7d6d1}
.home-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.home-service-card:hover .home-card-image img{transform:scale(1.035)}
.home-card-meta{display:flex;justify-content:space-between;padding:20px 22px 7px;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.13em}
.home-service-card h3{font:600 30px/1.05 Oswald,Arial,sans-serif;text-transform:uppercase;margin:8px 22px 12px}
.home-service-card p{font-size:13px;line-height:1.8;color:#64696d;margin:0 22px 18px;max-width:540px}
.home-card-link{display:inline-block;margin:0 22px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--red);padding-bottom:5px}
.home-statement{background:#111315;color:#fff;padding:95px 0}
.home-statement-grid,.home-geo-grid,.home-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}
.home-statement h2,.home-geography h2,.home-contact h2{font:600 clamp(38px,4.4vw,60px)/1.05 Oswald,Arial,sans-serif;text-transform:uppercase;margin:0}
.home-statement-grid>div:last-child>p,.home-geo-grid>div:last-child>p,.home-contact-grid>div:first-child>p:last-child{font-size:14px;line-height:1.9;color:#b9bdc0;margin:0 0 28px}
.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:1px solid #45484a;padding-top:22px}
.home-stats div{display:flex;flex-direction:column;gap:9px}.home-stats b{font:600 32px Oswald;color:var(--red)}.home-stats span{font-size:10px;line-height:1.6;color:#c2c4c6;text-transform:uppercase;letter-spacing:.06em}
.home-process{padding:100px 0}
.home-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:45px}
.home-steps article{padding:22px 22px 10px 0;border-right:1px solid var(--line);margin-right:22px}
.home-steps article:last-child{border:0;margin:0}
.home-steps b{font:600 36px Oswald;color:var(--red)}
.home-steps h3{font:600 21px Oswald;text-transform:uppercase;margin:15px 0 8px}
.home-steps p{font-size:12px;line-height:1.8;color:#666d70;margin:0}
.home-geography{background:#e8e8e3;padding:90px 0}
.home-cities{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.home-cities span{border:1px solid #c8cac5;padding:10px 15px;font-size:11px;font-weight:700}
.home-contact{background:#111315;color:#fff;padding:95px 0}
.home-contact-grid{align-items:start}
.home-contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.home-contact-actions .btn{min-width:260px}
.home-phone{font:600 34px Oswald}
.home-contact-actions>a:not(.btn){font-size:13px}
.home-contact-actions small{font-size:10px;letter-spacing:.1em;color:#9da1a4;text-transform:uppercase;margin-top:12px}
.home-seo{padding:70px 0;background:#f0f0ec}
.home-seo h2{font:600 27px Oswald;text-transform:uppercase;margin:0 0 14px}
.home-seo p:last-child{max-width:1000px;font-size:12px;line-height:1.9;color:#686d71}
.home-footer{background:#08090a;color:#fff;padding:48px 0 22px}
.home-footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:38px}
.home-footer-top>div:first-child img{width:185px;max-height:65px;object-fit:contain;object-position:left center}
.home-footer-top>div:first-child p{font-size:11px;line-height:1.8;color:#9fa2a5;letter-spacing:.08em}
.home-footer-links{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:13px 32px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.home-footer-links a:hover{color:var(--red)}
.home-footer-bottom{border-top:1px solid #303234;padding-top:18px;display:flex;justify-content:space-between;font-size:9px;color:#8d9295;letter-spacing:.15em}
@media(max-width:1050px){.home-hero{min-height:560px}.home-hero-copy{padding-left:28px;padding-right:28px}.home-ribbon .wrap{flex-wrap:wrap;padding-top:14px;padding-bottom:14px;justify-content:center}.home-statement-grid,.home-geo-grid,.home-contact-grid{gap:45px}}
@media(max-width:760px){.home-hero{grid-template-columns:1fr}.home-hero-copy{padding:64px 24px 48px}.home-hero-image{min-height:350px}.home-ribbon .wrap{gap:10px 18px;font-size:8px}.home-services,.home-process{padding:68px 0}.home-service-grid{grid-template-columns:1fr}.home-card-image{height:235px}.home-statement-grid,.home-geo-grid,.home-contact-grid{grid-template-columns:1fr;gap:28px}.home-statement,.home-contact{padding:70px 0}.home-steps{grid-template-columns:repeat(2,1fr);row-gap:24px}.home-steps article:nth-child(2){border-right:0}.home-steps article:nth-child(3){border-right:1px solid var(--line)}.home-footer-top{flex-direction:column}.home-footer-links{grid-template-columns:1fr 1fr;gap:13px}.home-footer-bottom{gap:15px;flex-wrap:wrap}}
@media(max-width:420px){.home-hero h1{font-size:48px}.home-steps{grid-template-columns:1fr}.home-steps article{border-right:0!important;border-bottom:1px solid var(--line);padding-bottom:20px}.home-phone{font-size:29px}}

/* Expanded NTEO positioning and vector service tiles */
.home-hero{grid-template-columns:1.02fr .98fr}
.home-hero h1{font-size:clamp(48px,5.4vw,76px);line-height:1.02}
.home-card-image{background:#f1f1ee;display:flex;align-items:center;justify-content:center;padding:22px}
.home-card-image img{object-fit:contain;width:100%;height:100%;max-height:245px}
.home-service-card:hover .home-card-image img{transform:scale(1.025)}
.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.home-hero h1{font-size:clamp(42px,11vw,60px)}}

/* Homepage service artwork: show the complete NTEO graphite/red illustrations without cropping */
.home-card-image{
  height:340px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(135deg,#f1f1ef 0%,#e7e8e6 100%);
  border-bottom:1px solid #d9dbd8;
}
.home-card-image img{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  padding:8px;
  box-sizing:border-box;
  transition:transform .45s ease;
}
.home-service-card:hover .home-card-image img{transform:scale(1.025)}
@media(max-width:760px){.home-card-image{height:290px}.home-card-image img{padding:6px}}

/* NTEO homepage hero: full-width graphite/photo composition */
.home-hero{position:relative;display:block;min-height:650px;background:#101113;color:#fff;overflow:hidden}
.home-hero-copy{position:relative;z-index:2;width:56%;min-height:650px;box-sizing:border-box;padding:76px 42px 70px max(24px,calc((100vw - 1240px)/2));display:flex;flex-direction:column;justify-content:center}
.home-hero-image{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:hidden;background:#101113}
.home-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-image-caption{position:absolute;right:max(24px,calc((100vw - 1240px)/2));bottom:22px;z-index:2;background:rgba(16,17,19,.88);border-left:3px solid var(--red);padding:13px 18px;color:#fff;font-size:10px;letter-spacing:.12em}
.home-hero h1{max-width:760px}
.home-lead{max-width:590px}
.home-proof{max-width:650px}
@media(max-width:900px){
 .home-hero{min-height:0}
 .home-hero-copy{width:100%;min-height:590px;padding:72px 24px 56px}
 .home-hero-image{position:absolute;inset:0;opacity:.58}
 .home-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,17,19,.98) 0%,rgba(16,17,19,.82) 55%,rgba(16,17,19,.42) 100%)}
 .home-image-caption{right:18px;bottom:14px}
}
@media(max-width:560px){
 .home-hero-copy{min-height:620px;padding:54px 20px 52px}
 .home-hero h1{font-size:clamp(42px,11vw,60px);line-height:.98}
 .home-lead{font-size:14px;line-height:1.7}
 .home-proof{gap:9px 14px}
 .home-image-caption{font-size:8px;padding:10px 12px}
}
/* Service cards: full-bleed landscape artwork instead of small floating squares */
.home-card-image{height:300px;display:block;overflow:hidden;background:#e7e8e6}
.home-card-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;padding:0;box-sizing:border-box}
.home-service-card:hover .home-card-image img{transform:scale(1.025)}
@media(max-width:760px){.home-card-image{height:250px}}

/* v7: homepage layout closely follows the approved NTEO reference */
.home-hero{
 display:block;position:relative;min-height:438px;overflow:hidden;color:#fff;
 background:#101113 url('home-hero-bg.webp') center right/cover no-repeat;
}
.home-hero:before{
 content:"";position:absolute;inset:0;z-index:0;
 background:linear-gradient(90deg,#101113 0%,#101113f5 28%,#101113b8 43%,#10111324 68%,transparent 100%);
}
.home-hero-copy{
 position:relative;z-index:2;width:min(51%,690px);
 padding:38px 0 28px max(24px,calc((100vw - 1425px)/2));
}
.home-hero h1{font-size:clamp(42px,4.1vw,66px);line-height:.98;margin-bottom:14px;max-width:760px}
.home-lead{max-width:560px;font-size:14px;line-height:1.55;margin-bottom:18px}
.home-proof{margin-top:18px;gap:9px 24px}
.home-hero-image{display:none}
.home-ribbon{background:#fff;color:#17191b;border-top:1px solid #e5e5e2;border-bottom:1px solid #e5e5e2}
.home-ribbon .wrap{min-height:58px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:0;font-size:10px;letter-spacing:0;text-align:center}
.home-ribbon .wrap span{padding:10px 12px;border-right:1px solid #e5e5e2;line-height:1.35}
.home-ribbon .wrap span:last-child{border-right:0}
.home-ribbon .wrap span:before{content:"◇";font-size:19px;vertical-align:middle;margin-right:10px;color:#25292c}
.home-services{padding:28px 0 70px}
.home-services .section-head{display:none}
.home-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.home-service-card{border:1px solid #e1e2e0;border-radius:13px;overflow:hidden;padding-bottom:17px;box-shadow:0 5px 16px #1011130c}
.home-card-image{height:auto;aspect-ratio:1.86/1;overflow:hidden;background:#ececea}
.home-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s}
.home-card-meta{padding:14px 14px 5px;font-size:9px;letter-spacing:.08em}
.home-service-card h3{font-size:clamp(17px,1.45vw,23px);line-height:1.05;margin:7px 14px 8px}
.home-service-card p{font-size:11px;line-height:1.55;margin:0 14px 12px}
.home-card-link{margin:0 14px;font-size:9px}
@media(max-width:1100px){
 .home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .home-hero-copy{width:58%;padding-left:28px}
 .home-ribbon .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .home-hero{min-height:0;background-position:62% center}
 .home-hero:before{background:linear-gradient(90deg,#101113f5 0%,#101113e8 45%,#1011139c 100%)}
 .home-hero-copy{width:auto;padding:42px 22px 30px}
 .home-hero h1{font-size:clamp(36px,9vw,48px);line-height:1.0;margin-bottom:14px}
 .home-lead{font-size:13px;line-height:1.6}
 .home-proof{font-size:9px;gap:8px 14px}
 .home-ribbon .wrap{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px 12px}
 .home-ribbon .wrap span{font-size:9px;padding:9px 5px;border-right:0;border-bottom:1px solid #e5e5e2}
 .home-services{padding:24px 0 48px}
 .home-service-grid{grid-template-columns:1fr;gap:16px}
 .home-card-image{aspect-ratio:1.9/1;height:auto}
 .home-card-meta{padding:14px 16px 5px}
 .home-service-card h3{font-size:23px;margin-left:16px;margin-right:16px}
 .home-service-card p{font-size:13px;margin-left:16px;margin-right:16px}
 .home-card-link{margin-left:16px}
}
