:root{
  --ink:#0A1420;
  --ink-2:#132434;
  --ink-3:#1E3547;
  --paper:#FFFFFF;
  --mist:#EDF1F5;
  --mist-2:#DCE4EC;
  --body:#33414F;
  --muted:#6B7B8B;
  --accent:#0FB5AE;
  --accent-deep:#0A7F7A;
  --signal:#E8A33D;
  --maxw:1140px;
  --r:4px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px;
  line-height:1.65;
  color:var(--body);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Archivo','Inter',sans-serif;
  color:var(--ink);
  letter-spacing:-0.018em;
  line-height:1.12;
  margin:0 0 .6rem;
  font-weight:700;
}
h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem)}
h3{font-size:1.16rem;line-height:1.3}
p{margin:0 0 1rem;max-width:68ch}
a{color:var(--accent-deep);text-decoration-thickness:1px;text-underline-offset:3px}
img,svg{max-width:100%;height:auto}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:780px}

:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--paper);padding:10px 16px;border-radius:var(--r)}

/* ---------- header ---------- */
.site-head{
  position:sticky;top:0;z-index:50;
  background:rgba(10,20,32,.94);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.head-in{display:flex;align-items:center;gap:24px;height:66px;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.brand-mark{width:26px;height:26px;flex:none}
.brand-name{font-family:'Archivo',sans-serif;font-weight:700;color:#fff;font-size:1.02rem;letter-spacing:-.01em}
.nav{display:flex;align-items:center;gap:22px}
.nav a{color:#C6D3DE;text-decoration:none;font-size:.94rem}
.nav a:hover,.nav a[aria-current=page]{color:#fff}
.btn-head{
  background:var(--accent);color:#04211F;padding:9px 18px;border-radius:var(--r);
  font-weight:600;font-size:.94rem;text-decoration:none;white-space:nowrap;
}
.btn-head:hover{background:#14CFC7}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:var(--r);padding:7px 11px;font-size:.9rem}

@media(max-width:860px){
  .nav{
    display:none;position:absolute;top:66px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--ink);border-bottom:1px solid rgba(255,255,255,.12);padding:8px 24px 18px;
  }
  .nav.open{display:flex}
  .nav a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}
  .nav .btn-head{margin-top:12px;text-align:center}
  .nav-toggle{display:block}
}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:#D7E2EC;padding:76px 0 84px;position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:auto -10% -60% 40%;height:420px;
  background:radial-gradient(closest-side,rgba(15,181,174,.16),transparent 70%);
  pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;position:relative;z-index:1}
.hero h1{color:#fff;max-width:14ch}
.hero-sub{font-size:1.14rem;color:#A9BBCB;max-width:52ch;margin-top:1.1rem}
.hero-actions{margin-top:1.6rem;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.link-quiet{color:#9FB4C6;font-size:.96rem;text-decoration:none;border-bottom:1px solid rgba(159,180,198,.4);padding-bottom:2px}
.link-quiet:hover{color:#fff;border-color:#fff}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:38px}.hero{padding:52px 0 60px}}

/* ---------- form ---------- */
.form-card{background:#fff;border-radius:6px;padding:26px;box-shadow:0 18px 48px rgba(0,0,0,.28)}
.form-card h2{font-size:1.2rem;margin-bottom:.25rem}
.form-card .fine{font-size:.87rem;color:var(--muted);margin-bottom:1.1rem}
.field{margin-bottom:14px}
.field label{display:block;font-size:.87rem;font-weight:600;color:var(--ink);margin-bottom:5px}
.field input,.field textarea{
  width:100%;padding:11px 13px;font:inherit;font-size:.97rem;color:var(--ink);
  border:1px solid var(--mist-2);border-radius:var(--r);background:#fff;
}
.field input:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid rgba(15,181,174,.25);outline-offset:0}
.field textarea{min-height:78px;resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{
  display:inline-block;background:var(--accent);color:#04211F;border:0;border-radius:var(--r);
  padding:13px 24px;font:inherit;font-weight:600;font-size:1rem;cursor:pointer;text-decoration:none;
}
.btn:hover{background:#14CFC7}
.btn-wide{width:100%}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
.form-note{font-size:.83rem;color:var(--muted);margin:12px 0 0}
.form-msg{margin-top:14px;padding:12px 14px;border-radius:var(--r);font-size:.94rem;display:none}
.form-msg.ok{display:block;background:#E6F7F5;color:#06544F;border:1px solid #A8E5E0}
.form-msg.err{display:block;background:#FDECEC;color:#7A2020;border:1px solid #F3C3C3}

/* ---------- sections ---------- */
.band{padding:74px 0}
.band-mist{background:var(--mist)}
.band-ink{background:var(--ink);color:#C3D2DF}
.band-ink h2,.band-ink h3{color:#fff}
.band-tight{padding:52px 0}
.lede{font-size:1.08rem;color:var(--muted);max-width:62ch;margin-bottom:2.2rem}
.band-ink .lede{color:#9FB4C6}

/* hours strip */
.hours{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--mist-2);border-bottom:1px solid var(--mist-2)}
.hours div{padding:26px 22px;border-right:1px solid var(--mist-2)}
.hours div:last-child{border-right:0}
.hours b{display:block;font-family:'Archivo',sans-serif;font-size:1.7rem;color:var(--ink);font-weight:700;line-height:1.1}
.hours span{font-size:.93rem;color:var(--muted)}
@media(max-width:820px){.hours{grid-template-columns:repeat(2,1fr)}.hours div:nth-child(2){border-right:0}.hours div:nth-child(1),.hours div:nth-child(2){border-bottom:1px solid var(--mist-2)}}

/* services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--mist-2);border:1px solid var(--mist-2)}
.svc article{background:#fff;padding:30px 26px 32px}
.svc h3{margin-bottom:.45rem}
.svc p{font-size:.97rem;color:var(--body);margin-bottom:.9rem}
.svc .more{font-size:.92rem;font-weight:600;color:var(--accent-deep);text-decoration:none}
.svc .more:hover{text-decoration:underline}
.svc .tag{display:inline-block;font-size:.76rem;font-weight:600;color:var(--accent-deep);background:#E6F7F5;padding:3px 9px;border-radius:20px;margin-bottom:.75rem}
@media(max-width:940px){.svc{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.svc{grid-template-columns:1fr}}

/* two-col */
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two.rev>div:first-child{order:2}
@media(max-width:900px){.two{grid-template-columns:1fr;gap:34px}.two.rev>div:first-child{order:0}}

/* automation list */
.auto-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;list-style:none;padding:0;margin:0}
.auto-list li{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);display:flex;gap:13px;align-items:flex-start}
.auto-list li b{color:#fff;font-weight:600;display:block;font-size:1rem}
.auto-list li span{font-size:.93rem;color:#9FB4C6}
.dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;margin-top:8px}
@media(max-width:760px){.auto-list{grid-template-columns:1fr}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;counter-reset:s}
.steps article{counter-increment:s;padding-top:18px;border-top:2px solid var(--ink)}
.steps article::before{content:counter(s);font-family:'Archivo',sans-serif;font-weight:800;font-size:.9rem;color:var(--accent-deep);display:block;margin-bottom:.5rem}
@media(max-width:820px){.steps{grid-template-columns:1fr;gap:26px}}

/* seminar / spec tables */
.rows{border-top:1px solid var(--mist-2)}
.row{display:grid;grid-template-columns:1fr 2fr auto;gap:28px;padding:22px 0;border-bottom:1px solid var(--mist-2);align-items:start}
.row h3{margin:0}
.row p{margin:0;font-size:.97rem}
.row .meta{font-size:.92rem;color:var(--muted);white-space:nowrap;text-align:right}
@media(max-width:800px){.row{grid-template-columns:1fr;gap:8px}.row .meta{text-align:left}}

/* rack cards */
.racks{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.rack{background:#fff;border:1px solid var(--mist-2);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.rack .art{background:var(--ink);padding:24px;display:flex;justify-content:center}
.rack .art svg{width:100%;max-width:150px;height:auto}
.rack .body{padding:22px 22px 26px}
.rack h3{margin-bottom:.35rem}
.rack .who{font-size:.88rem;color:var(--accent-deep);font-weight:600;margin-bottom:.7rem}
.rack ul{margin:0;padding-left:18px;font-size:.94rem;color:var(--body)}
.rack ul li{margin-bottom:5px}
@media(max-width:900px){.racks{grid-template-columns:1fr;max-width:420px;margin:0 auto}}

/* checklist */
.check{list-style:none;padding:0;margin:0 0 1.2rem}
.check li{padding-left:28px;position:relative;margin-bottom:11px;font-size:1rem}
.check li::before{content:"";position:absolute;left:0;top:9px;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}

/* cta */
.cta{background:var(--ink-2);color:#D7E2EC;padding:70px 0}
.cta h2{color:#fff}
.cta-grid{display:grid;grid-template-columns:1fr 420px;gap:56px;align-items:center}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr;gap:34px}}

/* footer */
.site-foot{background:var(--ink);color:#8298AB;padding:46px 0 40px;font-size:.92rem;border-top:1px solid rgba(255,255,255,.09)}
.foot-grid{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start}
.site-foot a{color:#B9C9D6;text-decoration:none}
.site-foot a:hover{color:#fff;text-decoration:underline}
.foot-links{display:flex;gap:20px;flex-wrap:wrap}
.foot-legal{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);font-size:.85rem}

/* page header */
.page-head{background:var(--ink);color:#A9BBCB;padding:62px 0 56px}
.page-head h1{color:#fff}
.page-head p{color:#A9BBCB;font-size:1.1rem;max-width:58ch;margin-top:1rem}
