/*
  ATCMC General Solutions — redesign
  Lightweight, accessible, responsive.
*/

:root{
  --bg: #F7FAFB;
  --surface: #FFFFFF;
  --text: #0B1220;
  --muted: #4A5568;
  --border: rgba(15, 23, 42, .10);

  --brand-900: #0B2F3A;  /* deep teal */
  --brand-700: #326976;  /* teal */
  --brand-500: #62B8CE;  /* light cyan */
  --brand-100: #EAF6F9;

  --accent-600: #FE8433; /* orange */
  --accent-700: #E66F20;

  --shadow-sm: 0 8px 24px rgba(2, 6, 23, .08);
  --shadow-md: 0 14px 42px rgba(2, 6, 23, .14);

  --radius-sm: 12px;
  --radius-md: 16px;
  --radius-lg: 22px;

  --container: 1140px;

  --step--1: clamp(.88rem, .85rem + .1vw, .95rem);
  --step-0: clamp(1rem, .98rem + .2vw, 1.1rem);
  --step-1: clamp(1.15rem, 1.05rem + .45vw, 1.4rem);
  --step-2: clamp(1.35rem, 1.2rem + .8vw, 1.85rem);
  --step-3: clamp(1.7rem, 1.35rem + 1.3vw, 2.4rem);
  --step-4: clamp(2.1rem, 1.6rem + 2vw, 3.2rem);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--text);
  background: var(--bg);
  line-height:1.55;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

/* Accessibility */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  padding:10px 14px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  z-index:9999;
}
.skip-link:focus{left:14px;top:14px;outline:3px solid rgba(254,132,51,.35)}

.container{
  width:min(var(--container), calc(100% - 40px));
  margin-inline:auto;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background: rgba(247,250,251,.72);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.brand img{width:54px;height:54px}
.brand .brand-text{line-height:1.1}
.brand .brand-title{font-weight:800;letter-spacing:.6px}
.brand .brand-sub{font-size:var(--step--1);color:var(--muted)}

.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow: var(--shadow-sm);
}
.nav-toggle:focus-visible{outline:3px solid rgba(98,184,206,.45)}

.site-nav{
  display:flex;
  align-items:center;
  gap:18px;
}
.site-nav a{
  text-decoration:none;
  font-weight:600;
  font-size:var(--step--1);
  padding:10px 10px;
  border-radius:12px;
  color:rgba(11, 18, 32, .86);
}
.site-nav a:hover{background:rgba(98,184,206,.14)}
.site-nav a.active{background:rgba(98,184,206,.22); color:var(--brand-900)}

.header-cta{
  display:flex;
  gap:10px;
  align-items:center;
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  border-radius:14px;
  padding:12px 16px;
  font-weight:800;
  letter-spacing:.2px;
  border:1px solid transparent;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn:focus-visible{outline:3px solid rgba(254,132,51,.35)}
.btn:hover{transform: translateY(-1px); box-shadow: var(--shadow-sm)}
.btn:active{transform: translateY(0)}

.btn-primary{background: var(--accent-600); color:#fff; border-color: rgba(0,0,0,.06)}
.btn-primary:hover{background: var(--accent-700)}

.btn-secondary{background: rgba(98,184,206,.18); color: var(--brand-900); border-color: rgba(98,184,206,.28)}
.btn-secondary:hover{background: rgba(98,184,206,.26)}

.btn-ghost{background: transparent; border-color: var(--border); color: rgba(11,18,32,.88)}
.btn-ghost:hover{background: rgba(2,6,23,.03)}

/* Hero */
.hero{
  position:relative;
  padding: clamp(54px, 6vw, 92px) 0 42px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:-120px -120px auto -120px;
  height: 420px;
  background:
    radial-gradient(600px 280px at 15% 40%, rgba(98,184,206,.35), transparent 60%),
    radial-gradient(520px 260px at 70% 25%, rgba(254,132,51,.22), transparent 60%),
    linear-gradient(180deg, rgba(50,105,118,.18), transparent);
  pointer-events:none;
}
.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items:center;
}
.hero h1{
  font-size: var(--step-4);
  letter-spacing:-.8px;
  line-height:1.08;
  margin:0 0 14px;
}
.hero p{
  margin:0 0 20px;
  color: rgba(11, 18, 32, .78);
  font-size: var(--step-1);
  max-width: 58ch;
}

.hero-bullets{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding:0;
  margin: 18px 0 24px;
  list-style:none;
}
.hero-bullets li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background: rgba(255,255,255,.78);
  border:1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 12px 12px;
  box-shadow: 0 10px 24px rgba(2,6,23,.06);
}
.badge-dot{
  width:10px;height:10px;
  border-radius:999px;
  margin-top:6px;
  background: var(--accent-600);
  box-shadow: 0 0 0 6px rgba(254,132,51,.16);
  flex:0 0 auto;
}

.hero-actions{display:flex; gap:12px; flex-wrap:wrap; align-items:center}

.hero-card{
  background: rgba(255,255,255,.82);
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  padding: 18px;
}
.hero-card .card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: var(--step--1);
  font-weight:800;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(98,184,206,.18);
  border: 1px solid rgba(98,184,206,.30);
  color: var(--brand-900);
}
.pill .mini-dot{width:8px;height:8px;border-radius:99px;background: var(--brand-700)}

.hero-card .metric{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
}
.metric-box{
  border-radius: var(--radius-md);
  border:1px solid var(--border);
  background: #fff;
  padding: 12px;
}
.metric-box .k{font-size: var(--step--1); color: var(--muted); margin-bottom:6px}
.metric-box .v{font-weight:900; font-size: var(--step-1)}
.metric-box .s{font-size: var(--step--1); color: rgba(11,18,32,.66)}

/* Sections */
.section{
  padding: 62px 0;
}
.section-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom: 24px;
}
.section-title{
  margin:0;
  font-size: var(--step-3);
  letter-spacing:-.4px;
}
.section-lead{
  margin:0;
  max-width: 70ch;
  color: rgba(11,18,32,.72);
  font-size: var(--step-0);
}

.grid{
  display:grid;
  gap: 16px;
}
.grid.cols-3{grid-template-columns: repeat(3, minmax(0, 1fr))}
.grid.cols-2{grid-template-columns: repeat(2, minmax(0, 1fr))}

.card{
  background: var(--surface);
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: 0 10px 28px rgba(2,6,23,.06);
}
.card:hover{box-shadow: var(--shadow-sm)}
.card h3{margin:0 0 8px; font-size: var(--step-1)}
.card p{margin:0; color: rgba(11,18,32,.70)}

.card .icon{
  width:44px;height:44px;
  border-radius: 14px;
  display:grid; place-items:center;
  background: rgba(254,132,51,.14);
  border:1px solid rgba(254,132,51,.22);
  margin-bottom: 12px;
}

.kicker{
  display:inline-flex;
  gap:10px;
  align-items:center;
  font-weight:900;
  color: var(--brand-900);
  font-size: var(--step--1);
  letter-spacing:.3px;
  text-transform: uppercase;
}
.kicker .line{width:22px;height:2px;background: rgba(50,105,118,.6)}

/* Callout */
.callout{
  background: linear-gradient(135deg, rgba(98,184,206,.18), rgba(254,132,51,.12));
  border:1px solid rgba(50,105,118,.18);
  border-radius: var(--radius-lg);
  padding: 18px;
  display:flex;
  gap: 14px;
  align-items:flex-start;
}
.callout strong{display:block; margin-bottom:4px}
.callout p{margin:0; color: rgba(11,18,32,.72)}

/* Process */
.steps{
  counter-reset: step;
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.step{
  background: var(--surface);
  border:1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 16px;
}
.step::before{
  counter-increment: step;
  content: counter(step);
  display:inline-grid;
  place-items:center;
  width:32px;height:32px;
  border-radius: 999px;
  background: rgba(98,184,206,.18);
  border:1px solid rgba(98,184,206,.32);
  color: var(--brand-900);
  font-weight:900;
  margin-bottom: 10px;
}
.step h4{margin:0 0 8px; font-size: var(--step-0)}
.step p{margin:0; color: rgba(11,18,32,.70)}

/* Support tables */
.table{
  width:100%;
  border-collapse: separate;
  border-spacing:0;
  overflow:hidden;
  border-radius: var(--radius-lg);
  border:1px solid var(--border);
  background: var(--surface);
}
.table th, .table td{
  padding: 14px 14px;
  border-bottom: 1px solid var(--border);
  vertical-align:top;
}
.table th{
  text-align:left;
  font-size: var(--step--1);
  color: rgba(11,18,32,.70);
  background: rgba(2,6,23,.02);
}
.table tr:last-child td{border-bottom:none}

/* Forms */
.form{
  display:grid;
  gap: 12px;
}
.field label{display:block; font-weight:800; margin:0 0 6px}
.field input, .field textarea, .field select{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border:1px solid var(--border);
  background: #fff;
  font: inherit;
}
.field textarea{min-height:140px; resize:vertical}
.field input:focus, .field textarea:focus, .field select:focus{outline:3px solid rgba(98,184,206,.35)}

.form-row{display:grid; grid-template-columns: 1fr 1fr; gap: 12px}

.notice{
  border-radius: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(98,184,206,.28);
  background: rgba(98,184,206,.10);
  color: rgba(11,18,32,.78);
}
.notice.success{border-color: rgba(34,197,94,.30); background: rgba(34,197,94,.10)}
.notice.error{border-color: rgba(239,68,68,.30); background: rgba(239,68,68,.10)}

/* Footer */
.site-footer{
  border-top:1px solid var(--border);
  background: #F2F7F8;
  padding: 34px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: 16px;
  align-items:start;
}
.footer-grid h4{margin:0 0 10px}
.footer-grid a{text-decoration:none; color: rgba(11,18,32,.72)}
.footer-grid a:hover{text-decoration:underline}
.footer-bottom{
  margin-top: 18px;
  padding-top: 16px;
  border-top:1px solid var(--border);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap: 10px;
  color: rgba(11,18,32,.62);
  font-size: var(--step--1);
}

/* Reveal on scroll */
.reveal{opacity:0; transform: translateY(8px); transition: opacity .45s ease, transform .45s ease}
.reveal.is-visible{opacity:1; transform:none}

/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns: 1fr;}
  .grid.cols-3{grid-template-columns: 1fr;}
  .grid.cols-2{grid-template-columns: 1fr;}
  .steps{grid-template-columns: 1fr 1fr;}
  .footer-grid{grid-template-columns: 1fr;}
}

@media (max-width: 760px){
  .nav-toggle{display:inline-flex}
  .site-nav{
    position:absolute;
    left: 0; right: 0;
    top: 74px;
    background: rgba(247,250,251,.96);
    border-bottom:1px solid var(--border);
    padding: 12px 20px 18px;
    flex-direction:column;
    align-items:stretch;
    display:none;
  }
  .site-header.nav-open .site-nav{display:flex}
  .site-nav a{padding: 12px 12px}
  .header-cta{display:none}
  .hero-bullets{grid-template-columns: 1fr}
  .form-row{grid-template-columns: 1fr}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .btn, .reveal{transition:none}
  .btn:hover{transform:none}
}
