/* ETS Tech — page-specific styles for "Homepage - Responsive" */

.home-hero { padding:130px 48px 120px; text-align:center; }
.home-hero-inner { max-width:920px; margin:0 auto; }
.hero-badge { display:inline-flex; align-items:center; gap:9px; padding:9px 18px; border-radius:999px; background:rgba(255,255,255,.6); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,.55); box-shadow:0 6px 22px rgba(15,84,112,.08); color:#0f5470; font-size:13px; font-weight:600; letter-spacing:.4px; margin-bottom:30px; }
.hero-title { font-size:62px; line-height:1.06; font-weight:700; letter-spacing:-1.5px; margin-bottom:22px; }
.hero-subtitle { font-size:19px; line-height:1.65; color:#4a5568; max-width:600px; margin:0 auto 36px; }
.hero-cta-row { display:flex; gap:14px; justify-content:center; }
.hero-cta-primary { padding:15px 34px; border-radius:999px; background:linear-gradient(135deg,#0f5470,#2eb8eb); color:#fff; font-weight:600; font-size:16px; box-shadow:0 14px 34px rgba(46,184,235,.32); transition:transform .25s ease, box-shadow .25s ease; }
.hero-cta-glass { padding:15px 34px; border-radius:999px; background:rgba(255,255,255,.65); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,.6); color:#0a1929; font-weight:600; font-size:16px; box-shadow:0 8px 24px rgba(15,84,112,.08); transition:transform .25s ease; }
.home-stats-wrap { max-width:1000px; margin:60px auto 0; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.stat-tile { padding:24px 18px; border-radius:20px; background:rgba(255,255,255,.6); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border:1px solid rgba(255,255,255,.6); box-shadow:0 10px 34px rgba(15,84,112,.08); }
.stat-value { font-family:'Space Grotesk',sans-serif; font-size:34px; font-weight:700; }
.stat-label { font-size:13.5px; margin-top:6px; color:#4a5568; }
.section-pad-center { padding:100px 48px; text-align:center; }
.intro-card { max-width:820px; margin:0 auto; padding:60px 56px; border-radius:28px; background:rgba(255,255,255,.6); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.6); box-shadow:0 20px 60px rgba(15,84,112,.1); }
.intro-heading { font-size:36px; line-height:1.22; margin:16px 0 18px; letter-spacing:-.6px; }
.intro-body { font-size:17.5px; line-height:1.78; margin:0 0 28px; }
.intro-link { display:inline-block; font-weight:600; font-size:15px; color:#0f5470; }
.section-pad { padding:100px 48px; }
.container { max-width:1200px; margin:0 auto; }
.section-head { text-align:center; margin-bottom:52px; }
.solutions-title { font-size:38px; margin:14px 0 12px; letter-spacing:-.6px; }
.solutions-lead { font-size:16.5px; max-width:560px; margin:0 auto; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
[data-grid="sol"],
[data-grid="proj"] { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; }
[data-grid="sol"] > .solution-card,
[data-grid="proj"] > .project-card { flex:0 0 calc((100% - 44px) / 3); width:calc((100% - 44px) / 3); max-width:calc((100% - 44px) / 3); }
[data-grid="sol"] > .empty-note { flex:0 0 100%; width:100%; max-width:100%; }
.solution-card { padding:32px 28px; border-radius:24px; background:rgba(255,255,255,.62); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border:1px solid rgba(255,255,255,.6); box-shadow:0 14px 40px rgba(15,84,112,.08); display:flex; flex-direction:column; gap:16px; }
.solution-copy { display:flex; flex-direction:column; gap:8px; min-width:0; }
.solution-badge { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:17px; color:#fff; width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0f5470,#2eb8eb); box-shadow:0 8px 20px rgba(46,184,235,.3); }
.solution-title { font-size:19px; line-height:1.35; }
.solution-desc { font-size:14.5px; line-height:1.65; margin:0; }
.solution-card-featured { grid-column:span 1; padding:32px 34px; border-radius:24px; background:linear-gradient(135deg, rgba(15,84,112,.95), rgba(46,184,235,.9)); border:1px solid rgba(255,255,255,.3); box-shadow:0 18px 46px rgba(46,184,235,.28); display:flex; align-items:center; gap:24px; }
.solution-badge-inverse { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:17px; color:#0f5470; width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:#fff; flex-shrink:0; }
.solution-featured-title { font-size:20px; line-height:1.3; color:#fff; }
.solution-featured-desc { font-size:14.5px; line-height:1.65; margin:8px 0 0; color:rgba(255,255,255,.85); }
.services-row { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.2fr); gap:64px; align-items:center; }
.services-intro { max-width:440px; }
.services-title { font-size:38px; margin:14px 0 16px; letter-spacing:-.6px; line-height:1.18; }
.services-desc { font-size:16px; line-height:1.75; color:#4a5568; margin:0; }
.services-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.service-card { padding:28px 26px 26px; border-radius:20px; background:#fff; border:1px solid rgba(255,255,255,.85); box-shadow:0 12px 36px rgba(15,84,112,.08); display:flex; flex-direction:column; align-items:flex-start; gap:16px; min-height:168px; }
.service-icon { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0f5470,#2eb8eb); box-shadow:0 6px 16px rgba(46,184,235,.28); flex-shrink:0; }
.service-copy { display:flex; flex-direction:column; gap:8px; }
.service-title { font-size:17.5px; line-height:1.3; margin:0; }
.service-desc { font-size:14px; line-height:1.6; color:#4a5568; margin:0; }
.industries-wrap { max-width:1000px; margin:0 auto; }
.industries-title { font-size:36px; margin:14px 0 34px; letter-spacing:-.6px; }
.industries-pills { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.industry-pill { padding:13px 26px; border-radius:999px; background:rgba(255,255,255,.6); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.6); box-shadow:0 6px 20px rgba(15,84,112,.06); color:#0a1929; font-size:15px; font-weight:500; }
.dark-section { position:relative; padding:110px 48px; margin:24px; border-radius:36px; background:linear-gradient(165deg,#0a1929,#0f2f47); overflow:hidden; }
.dark-section-glow { position:absolute; top:-120px; right:-80px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(46,184,235,.35),transparent 65%); filter:blur(60px); }
.dark-section-inner { position:relative; max-width:1200px; margin:0 auto; }
.dark-section-title { font-size:38px; margin:14px 0 0; letter-spacing:-.6px; color:#fff; }
.project-card { border-radius:22px; overflow:hidden; background:rgba(255,255,255,.08); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,.14); transition:transform .28s ease, background .28s ease; opacity:0; transform:translateY(24px); }
.project-media { aspect-ratio:16/10; background:repeating-linear-gradient(45deg,rgba(255,255,255,.05),rgba(255,255,255,.05) 10px,rgba(46,184,235,.08) 10px,rgba(46,184,235,.08) 20px); display:flex; align-items:center; justify-content:center; }
.project-media-caption { font-family:'Space Grotesk',monospace; font-size:12px; color:#6c93ab; letter-spacing:.5px; }
.project-body { padding:24px; }
.project-tag { font-size:12px; font-weight:600; color:#7fd4f2; letter-spacing:.5px; }
.project-title { font-size:17px; margin:8px 0 0; line-height:1.35; color:#fff; }
.partners-wrap { max-width:1200px; margin:0 auto; }
.partners-title { font-size:32px; margin:14px 0 40px; letter-spacing:-.6px; }
[data-grid="partners"] { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; }
[data-grid="partners"] .partner-tile { flex:0 0 calc((100% - 54px) / 4); width:calc((100% - 54px) / 4); max-width:calc((100% - 54px) / 4); }
.partner-tile { height:100px; border-radius:20px; background:rgba(255,255,255,.6); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.6); box-shadow:0 8px 26px rgba(15,84,112,.07); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:600; color:#8aa0b2; letter-spacing:.5px; }
.recruit-section { padding:40px 48px 110px; }
.recruit-card { max-width:1200px; margin:0 auto; border-radius:32px; padding:72px 60px; position:relative; overflow:hidden; background:linear-gradient(135deg,#0f5470,#2eb8eb); box-shadow:0 24px 70px rgba(46,184,235,.32); display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.recruit-glow { position:absolute; bottom:-140px; left:-60px; width:380px; height:380px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.18),transparent 65%); filter:blur(40px); }
.recruit-content { position:relative; max-width:620px; }
.recruit-eyebrow { font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:13px; letter-spacing:2px; color:rgba(255,255,255,.85); }
.recruit-title { font-size:34px; color:#fff; margin:14px 0 14px; letter-spacing:-.6px; }
.recruit-desc { font-size:16.5px; line-height:1.7; color:rgba(255,255,255,.9); margin:0; }
.recruit-cta { position:relative; padding:16px 36px; border-radius:999px; background:#fff; color:#0f5470; font-weight:700; font-size:15.5px; white-space:nowrap; box-shadow:0 12px 30px rgba(10,25,41,.2); transition:transform .25s ease; }

/* ---------- TABLET: 768–1024 ---------- */
@media (max-width:1024px) {
  [data-sec] { padding-left:60px; padding-right:60px; padding-top:80px; padding-bottom:80px; }
  [data-hero] { padding-top:112px; padding-bottom:88px; }
  [data-two] { grid-template-columns:1fr !important; gap:40px !important; }
  [data-grid=stats] { grid-template-columns:repeat(4,1fr) !important; }
  [data-grid=sol] > .solution-card,
  [data-grid=proj] > .project-card { flex-basis:calc((100% - 22px) / 2) !important; width:calc((100% - 22px) / 2) !important; max-width:calc((100% - 22px) / 2) !important; }
  [data-grid=partners] .partner-tile { flex-basis:calc((100% - 18px) / 2) !important; width:calc((100% - 18px) / 2) !important; max-width:calc((100% - 18px) / 2) !important; }
  [data-footer-grid] { grid-template-columns:1fr 1fr !important; }
  [data-hero-h] { font-size:48px !important; }
}

/* ---------- MOBILE: <768 ---------- */
@media (max-width:767px) {
  [data-sec] { padding-left:20px !important; padding-right:20px !important; padding-top:48px !important; padding-bottom:48px !important; }
  [data-hero] { padding-top:96px !important; padding-bottom:56px !important; }
  [data-hero-h] { font-size:34px !important; letter-spacing:-.5px !important; }
  [data-hero-sub] { font-size:16px !important; }
  [data-h2] { font-size:27px !important; }
  [data-intro-card] { padding:36px 24px !important; }
  [data-two] { grid-template-columns:1fr !important; gap:32px !important; }
  [data-grid=stats] { grid-template-columns:repeat(2,1fr) !important; gap:12px !important; }
  [data-grid=sol] > .solution-card,
  [data-grid=proj] > .project-card { flex-basis:100% !important; width:100% !important; max-width:100% !important; }
  [data-grid=fields] { grid-template-columns:1fr !important; }
  [data-grid=partners] .partner-tile { flex-basis:calc((100% - 18px) / 2) !important; width:calc((100% - 18px) / 2) !important; max-width:calc((100% - 18px) / 2) !important; }
  [data-footer-grid] { grid-template-columns:1fr !important; gap:32px !important; }
  [data-cta-row] { flex-direction:column !important; }
  [data-cta-row] > a { width:100% !important; text-align:center !important; }
  [data-recruit] { flex-direction:column !important; align-items:flex-start !important; padding:44px 28px !important; }
  [data-recruit] [data-recruit-cta] { width:100% !important; text-align:center !important; }
  [data-dark-sec] { margin:12px !important; padding:64px 24px !important; border-radius:28px !important; }
}
