/* SEASOFT: red #FF0000 sampled from the unmodified original logo. */
:root {
  --brand:#f00;
  --action:#df0000;
  --hover:#bd0000;
  --ink:#101113;
  --muted:#505560;
  --line:#e8e9ed;
  --surface:#f7f8fa;
  --tint:#fff4f4;
  --radius:14px;
  --shadow:0 4px 16px #17192307;
  --content:1440px;
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-6:48px;
  --space-8:64px;
  --font:Arial,'Segoe UI',sans-serif;
  --header-height:82px;
  --motion-ease:cubic-bezier(.22,1,.36,1)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:0
}
body {
  margin:0;
  background:#fff;
  color:var(--ink);
  font:16px/1.6 var(--font);
  -webkit-font-smoothing:antialiased
}
h1,h2,h3,p,figure {
  margin:0
}
h1,h2,h3 {
  line-height:1.15;
  letter-spacing:-.035em
}
h2 {
  font-size:clamp(28px,2.6vw,40px)
}
h3 {
  font-size:21px
}
p {
  color:var(--muted)
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button {
  cursor:pointer
}
img {
  display:block;
  max-width:100%;
  height:auto
}
.icon {
  width:24px;
  height:24px;
  flex-shrink:0
}
a,button {
  touch-action:manipulation
}
:focus-visible {
  outline:3px solid #1563ce;
  outline-offset:5px
}
[hidden] {
  display:none!important
}
.container {
  width:min(var(--content),calc(100% - 96px));
  margin-inline:auto
}
.section-space {
  padding-block:88px
}
section[id],article[id] {
  scroll-margin-top:105px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  top:8px;
  left:16px;
  z-index:200;
  padding:10px 18px;
  background:var(--ink);
  color:#fff;
  transform:translateY(-150%)
}
.skip-link:focus {
  transform:translateY(0)
}
.anchor-alias {
  position:absolute;
  scroll-margin-top:110px
}
.eyebrow {
  color:var(--action);
  font-size:12px;
  line-height:1.5;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:16px
}
.button {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:48px;
  padding:6px 6px 6px 22px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 10%);
  transition:background .24s,border-color .24s,box-shadow .36s var(--motion-ease),transform .36s var(--motion-ease)
}
.button-label {
  display:block;
  white-space:nowrap;
  transition:transform .36s var(--motion-ease)
}
.button-primary {
  background:var(--action);
  color:#fff
}
.button-secondary {
  background:#fff;
  border-color:#dfe2e7;
  box-shadow:0 2px 4px #17203303
}
.button-outline {
  border-color:var(--action);
  color:var(--action);
  background:#fff
}
.button-outline:hover {
  background:var(--tint)
}
.button:disabled {
  cursor:wait;
  opacity:.65;
  transform:none
}
.inline-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-size:14px;
  font-weight:700
}
.inline-link .icon {
  width:18px;
  transition:transform .38s var(--motion-ease)
}
.inline-link:hover {
  color:var(--action)
}
.red-rule {
  display:block;
  width:32px;
  height:3px;
  background:var(--brand);
  margin-bottom:17px
}
.site-header {
  position:sticky;
  top:0;
  z-index:60;
  background:#fff;
  border-bottom:1px solid var(--line)
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  height:var(--header-height);
  min-height:0
}
.brand {
  display:inline-flex;
  align-items:center;
  flex-shrink:0
}
.brand img {
  width:112px;
  height:auto
}
.main-nav {
  display:flex;
  align-items:center;
  gap:27px;
  margin-left:auto
}
.nav-link {
  display:inline-flex;
  align-items:center;
  min-height:52px;
  position:relative;
  font-size:13px;
  font-weight:600;
  white-space:nowrap
}
.nav-link::after {
  position:absolute;
  content:'';
  height:2px;
  left:0;
  right:0;
  bottom:3px;
  transform:scaleX(0);
  background:var(--brand);
  transition:transform .2s
}
.nav-link:hover::after,.nav-link.is-active::after,.nav-link[aria-current=location]::after {
  transform:scaleX(1)
}
.portal-status-link {
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  white-space:nowrap;
  color:var(--muted)
}
.status-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--action);
  flex-shrink:0
}
.is-authenticated .status-dot {
  background:#14804a
}
.header-cta {
  padding:5px 5px 5px 16px;
  gap:12px;
  margin-left:10px;
  min-height:43px;
  font-size:13px

}
.expertise-link {
  margin-top:20px;
  min-height:40px;
  font-size:12px
}
.menu-toggle {
  display:none
}
.hero {
  position:relative;
  overflow:hidden;
  padding:35px 0 25px;
  background:#fff
}
.hero-grid {
  display:grid;
  grid-template-columns:1fr 1.04fr;
  align-items:center;
  gap:30px
}
.hero-content {
  position:relative;
  z-index:2;
  padding-bottom:5px
}
.hero h1 {
  font-size:clamp(38px,3.6vw,58px);
  line-height:1.09;
  letter-spacing:-.047em;
  max-width:690px
}
.hero h1 span {
  white-space:nowrap
}
.hero-copy {
  font-size:clamp(15px,1.2vw,18px);
  line-height:1.65;
  max-width:575px;
  margin-top:19px
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:25px
}
.hero-benefits {
  list-style:none;
  padding:0;
  margin:31px 0 0;
  display:flex;
  gap:22px
}
.hero-benefits li {
  display:flex;
  align-items:center;
  gap:11px
}
.hero-benefits li+li {
  border-left:1px solid #dfe1e6;
  padding-left:22px
}
.hero-benefits .icon {
  color:var(--action);
  width:27px;
  height:29px
}
.hero-benefits strong {
  display:block;
  font-size:13px;
  line-height:1.5
}
.hero-benefits span {
  display:block;
  color:var(--muted);
  font-size:10px;
  white-space:nowrap
}
.hero-visual {
  position:relative;
  padding:0;
  min-width:0;
  width:100%;
  max-width:650px;
  margin-inline:auto
}
.red-ribbon {
  position:absolute;
  z-index:0;
  width:130%;
  height:220px;
  right:-42%;
  top:-5%;
  background:var(--action);
  transform:rotate(-45deg);
  border-radius:38px
}
.red-ribbon::after {
  content:'';
  position:absolute;
  left:-320px;
  bottom:-110px;
  width:270px;
  height:110px;
  background:#ffe0e2;
  border-radius:24px
}
.laptop {
  position:relative;
  z-index:1;
  padding:0 2%;
  margin-top:0;
  perspective:1400px;
  filter:drop-shadow(0 22px 13px #10131c19)
}
.laptop-lid {
  position:relative;
  border:2px solid #64666a;
  border-bottom:7px solid #191b20;
  border-radius:19px 19px 6px 6px;
  padding:20px 13px 12px;
  background:#151619;
  transform:rotateY(-11deg) rotateX(5deg) rotateZ(-3deg);
  transform-origin:center bottom;
  box-shadow:inset 0 0 0 2px #25262a;
  overflow:hidden
}
.laptop-lid img {
  width:100%;
  aspect-ratio:1900/1000;
  object-fit:cover;
  object-position:top;
  border:1px solid #414247
}
.laptop-camera {
  position:absolute;
  width:4px;
  height:4px;
  background:#454952;
  top:8px;
  left:50%;
  border-radius:50%
}
.laptop-base {
  position:relative;
  height:19px;
  margin:-1px -7% 0;
  border-radius:2px 2px 45% 45% / 2px 2px 85% 85%;
  border:1px solid #9d9da1;
  background:linear-gradient(#dadbdd 0%,#9c9da0 40%,#dfdfe0 55%,#55575d 90%);
  transform:rotateZ(-3deg);
  box-shadow:0 5px 5px #12131617
}
.laptop-base span {
  display:block;
  width:19%;
  height:5px;
  background:#5b5d60;
  margin:0 auto;
  border-radius:0 0 6px 6px
}


.services {
  padding-top:9px
}
.service-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.service-card {
  position:relative;
  display:grid;
  grid-template-rows:subgrid;
  grid-row:span 3;
  row-gap:12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px 25px 30px;
  box-shadow:var(--shadow);
  transition:transform .4s var(--motion-ease),border-color .24s,box-shadow .4s var(--motion-ease);
  background:#fff
}
.service-card:first-child {
  background:var(--tint);
  border-color:#ffefef
}
.service-card>.icon {
  width:32px;
  height:32px;
  margin:0;
  transition:transform .45s var(--motion-ease)
}
.service-card:first-child>.icon {
  color:var(--action)
}
.service-card h3 {
  font-size:19px;
  line-height:1.18;
  letter-spacing:-.025em;
  margin:0
}
.service-card p {
  font-size:13px;
  line-height:1.55;
  max-width:100%;
  padding-right:14px
}
.service-card:hover,.solution-card:hover {
  border-color:#f0b9bd;
  box-shadow:0 10px 28px #26242a0d
}
.solutions {
  position:relative;
  display:grid;
  grid-template-columns:1.05fr 3.6fr;
  gap:30px;
  padding-top:40px;
  padding-bottom:49px
}
.solutions-intro h2 {
  font-size:clamp(24px,2vw,30px);
  line-height:1.13
}
.solutions-intro p {
  font-size:13px;
  line-height:1.5;
  margin-top:10px
}
.solutions-intro .button {
  font-size:11px;
  min-height:34px;
  padding:7px 12px;
  margin-top:17px;
  border-radius:7px;
  gap:6px
}
.solutions-intro .icon {
  width:15px;
  height:15px
}
.solution-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  align-items:stretch
}
.solution-card {
  position:relative;
  display:grid;
  grid-template-rows:subgrid;
  grid-row:span 3;
  row-gap:8px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:var(--shadow);
  transition:transform .4s var(--motion-ease),border-color .24s,box-shadow .4s var(--motion-ease)
}
.solution-card>img {
  width:100%;
  height:132px;
  object-fit:cover;
  transition:transform .6s var(--motion-ease)
}
.solution-card h3 {
  font-size:13px;
  line-height:1.3;
  letter-spacing:-.015em;
  margin:5px 14px 0
}
.solution-card p {
  font-size:12px;
  line-height:1.55;
  margin:0 14px 34px
}
.solution-card .icon {
  width:17px;
  height:17px
}
.image-note {
  grid-column:2;
  font-size:10px;
  margin-top:-17px;
  color:#626772
}
.expertise {
  background:var(--surface);
  border-block:1px solid var(--line)
}
.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:60px;
  margin-bottom:40px
}
.section-heading>p {
  max-width:380px;
  font-size:15px;
  line-height:1.7
}
.expertise-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px
}
.expertise-grid article {
  display:grid;
  grid-template-rows:subgrid;
  grid-row:span 4;
  row-gap:16px;
  border-top:1px solid #d5d8df;
  padding-top:20px
}
.item-index {
  font-size:10px;
  color:var(--action);
  letter-spacing:.06em;
  font-weight:700
}
.expertise-grid h3 {
  font-size:22px;
  margin:0
}
.expertise-grid p {
  font-size:14px;
  line-height:1.7
}
.check-list {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
  font-size:13px
}
.check-list li {
  display:flex;
  align-items:center;
  gap:9px
}
.check-list .icon {
  width:16px;
  height:16px;
  color:var(--action)
}









.about {
  position:relative;
  background:var(--surface);
  border-block:1px solid var(--line)
}
.about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px
}
.about .lead {
  font-size:22px;
  line-height:1.5;
  color:var(--ink);
  margin-bottom:20px
}
.about p:not(.eyebrow):not(.lead) {
  font-size:15px;
  line-height:1.8
}
.about .inline-link {
  margin-top:22px
}
.process-grid {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px
}
.process-grid li {
  display:grid;
  grid-template-rows:subgrid;
  grid-row:span 2;
  row-gap:12px;
  border-top:1px solid var(--line);
  padding-top:20px
}

.process-grid h3 {
  font-size:19px;
  margin:0
}
.process-grid p {
  font-size:14px;
  line-height:1.7
}
.contact {
  position:relative;
  background:#fafafa;
  border-top:1px solid var(--line)
}
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px
}
.contact h2 {
  font-size:clamp(32px,3vw,44px);
  max-width:490px
}
.contact h2 span {
  color:var(--action)
}
.contact-copy>p:not(.eyebrow) {
  font-size:15px;
  margin-top:22px;
  max-width:430px
}
.contact-email {
  display:flex;
  align-items:center;
  gap:22px;
  font-size:21px;
  font-weight:700;
  margin-top:32px
}
.contact-phone {
  display:block;
  margin-top:10px;
  font-size:16px;
  color:var(--muted)
}
.contact-copy .contact-small {
  font-size:12px!important;
  margin-top:34px!important
}
.contact-small a {
  text-decoration:underline;
  text-underline-offset:3px
}
.form-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px
}
.field {
  display:grid;
  align-content:start;
  min-width:0;
  gap:7px;
  margin-bottom:17px
}
.field label {
  font-size:12px;
  font-weight:700
}
.field label>span {
  color:var(--action)
}
.field small {
  font-size:11px;
  color:var(--muted);
  font-weight:400
}
.field input,.field select,.field textarea {
  width:100%;
  min-width:0;
  border:1px solid #d5d8de;
  border-radius:7px;
  padding:11px 13px;
  background:#fff;
  color:var(--ink);
  font-size:13px;
  min-height:44px;
  transition:border-color .18s
}
.field textarea {
  resize:vertical;
  min-height:110px
}
.field input::placeholder,.field textarea::placeholder {
  color:#747984
}
.field input:hover,.field select:hover,.field textarea:hover {
  border-color:#a2a8b2
}
.form-note {
  font-size:10px;
  line-height:1.7;
  margin:0 0 16px
}
.form-trap {
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden
}
#form-status {
  font-size:13px;
  margin-top:14px;
  scroll-margin-top:110px
}
#form-status[data-state=error] {
  color:#b00000
}
#form-status[data-state=success] {
  color:#146637
}
.site-footer {
  padding-top:34px
}
.footer-main {
  display:flex;
  align-items:center;
  gap:32px;
  padding-bottom:28px
}
.footer-main p {
  font-size:13px
}
.footer-main>.inline-link {
  margin-left:auto
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid var(--line);
  padding-block:22px;
  font-size:11px;
  color:var(--muted)
}
.footer-bottom nav {
  display:flex;
  align-items:center;
  gap:23px
}
.footer-bottom a,.footer-bottom button {
  min-height:30px;
  display:inline-flex;
  align-items:center
}
.footer-bottom button {
  border:0;
  background:none;
  padding:0;
  color:inherit;
  font-size:inherit
}
.footer-bottom a:hover,.footer-bottom button:hover {
  color:var(--action)
}
.legal-main {
  max-width:820px;
  padding-block:65px 90px
}
.legal-main h1 {
  font-size:clamp(32px,4vw,48px);
  margin:24px 0 15px
}
.legal-main h2 {
  font-size:23px;
  margin:35px 0 12px
}
.legal-main p {
  margin-bottom:15px;
  font-size:15px;
  line-height:1.8
}
.legal-main a:not(.button) {
  color:var(--action);
  text-decoration:underline;
  text-underline-offset:3px
}
.legal-main small {
  font-size:12px
}
.legal-main .button {
  margin-top:20px
}

.service-card:active,.solution-card:active { transform:scale(.992) }
.menu-lines,.menu-lines::before,.menu-lines::after {
  transition:transform .28s var(--motion-ease),top .28s var(--motion-ease),background .2s
}
/* Short press feedback; fixed labels and click targets. */
.button:active {
  transform:translateY(1px) scale(.985);
  box-shadow:inset 0 2px 4px rgb(0 0 0 / 8%);
  transition-duration:.1s
}
.button-primary:active { background:var(--hover) }
@media(hover:hover) and (pointer:fine) {
  .button:hover {
    transform:translateY(-2px);
    box-shadow:0 7px 20px #18223812
  }
  .button-primary:hover { background:var(--hover) }
  .button-secondary:hover { border-color:#b9c0cb }
  .button:hover .button-label { transform:translateX(2px) }
  .button:active { transform:translateY(1px) scale(.985);transition-duration:.1s }
}
.menu-toggle[aria-expanded="true"] .menu-lines { background:transparent }
.menu-toggle[aria-expanded="true"] .menu-lines::before { top:0;transform:rotate(45deg) }
.menu-toggle[aria-expanded="true"] .menu-lines::after { top:0;transform:rotate(-45deg) }
@keyframes menu-enter {
  from { opacity:0;transform:translateY(-6px) }
  to { opacity:1;transform:translateY(0) }
}
@media(hover:hover) and (pointer:fine) {

  .service-card:hover,.solution-card:hover { transform:translateY(-3px) }
  .service-card:hover>.icon { transform:translateY(-1px) rotate(-4deg) scale(1.035);transition-delay:.025s }
  .solution-card:hover>img { transform:scale(1.035) }

.service-card:active,.solution-card:active { transform:translateY(-1px) scale(.992);transition-duration:.12s }
}
@supports not (grid-template-rows:subgrid) {
  .service-card,.solution-card,.expertise-grid article,.process-grid li { display:flex;flex-direction:column }
  .service-card h3 { min-height:2.4em }
  .solution-card h3 { min-height:3.9em }
  .expertise-grid .check-list { margin-top:auto }
}
@media(min-width:1600px) {
  .hero {
    padding-top:40px;
    padding-bottom:25px
  }
  .hero-grid {
    gap:45px
  }
  .hero-visual {
    padding-top:0
  }
  .laptop {
    margin-top:0
  }
  .solution-card>img {
    height:145px
  }
  .service-card {
    padding-block:24px 27px
  }
  .solutions {
    padding-top:43px
  }
}
@media(max-width:1250px) {
  .container {
    width:calc(100% - 64px)
  }
  .main-nav {
    gap:18px
  }
  .header-inner {
    gap:18px
  }
  .header-cta {
    margin-left:0
  
}
  .portal-status-link {
    font-size:11px
  }
  .hero h1 {
    font-size:43px
  }
  .hero-benefits {
    gap:14px
  }
  .hero-benefits li+li {
    padding-left:14px
  }
  .hero-benefits .icon {
    width:23px
  }
  .hero-actions {
    gap:10px
  }
  .hero-actions .button {
    font-size:12px;
  
}
  .service-card {
    padding:20px
  }
  .service-card h3 {
    font-size:17px
  }
  .solutions {
    grid-template-columns:.9fr 3.3fr;
    gap:23px
  }
  .solution-grid {
    gap:11px
  }
  .solution-card>img {
    height:115px
  }
  .solutions-intro h2 {
    font-size:25px
  }
  .solution-card h3 {
    font-size:11px
  }
  .contact-grid {
    gap:65px
  }
}
@media(max-width:1050px) {
  :root { --header-height:76px }
  .header-inner {
    min-height:0
  }
  .header-cta {
    font-size:12px;
  
}
  .main-nav {
    gap:13px
  }
  .nav-link {
    font-size:12px
  }
  .brand img {
    width:95px
  }
  .portal-status-link {
    font-size:10px
  }
  .hero {
    padding-top:35px
  }
  .hero-grid {
    gap:12px;
    grid-template-columns:1.05fr 1fr
  }
  .hero h1 {
    font-size:38px
  }
  .hero-copy {
    font-size:14px
  }
  .hero-benefits {
    flex-wrap:wrap;
    gap:10px 14px
  }
  .hero-benefits strong {
    font-size:12px
  }
  .hero-benefits span {
    font-size:9px
  }
  .hero-benefits li {
    gap:7px
  }
  .hero-benefits li+li {
    padding-left:12px
  }
  .hero-benefits .icon {
    width:20px
  }

.service-grid {
    gap:12px
  }
  .service-card {
    padding:18px 15px 26px
  }
  .service-card h3 {
    font-size:16px
  }
  .service-card p {
    font-size:11px
  }
  .solutions {
    grid-template-columns:1fr
  }
  .solutions-intro {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 32px;
    align-items:start
  }
  .solutions-intro .red-rule {
    grid-column:1/-1
  }
  .solutions-intro h2 {
    grid-row:2/4;
    font-size:28px
  }
  .solutions-intro p {
    margin:0
  }
  .solutions-intro .button {
    justify-self:start;
    margin-top:12px
  }
  .solution-grid {
    gap:16px
  }
  .solution-card>img {
    height:145px
  }
  .solution-card h3 {
    font-size:13px
  }
  .solution-card p {
    font-size:12px
  }
  .image-note {
    grid-column:1;
    margin-top:-9px
  }
  .expertise-grid {
    grid-template-columns:1fr 1fr;
    gap:35px
  }
  .section-heading {
    gap:30px
  }
  .section-heading>p {
    max-width:310px;
    font-size:14px
  }

.product-copy h3 {
    font-size:27px
  }
  .about-grid {
    gap:45px
  }
  .contact-grid {
    gap:40px
  }
}
@media(max-width:900px) {
  .header-inner {
    flex-wrap:nowrap;
    gap:14px
  }
  .brand img {
    width:100px
  }
  .menu-toggle {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid #d8dbe1;
    border-radius:7px;
    min-height:42px;
    padding:8px 12px;
    background:#fff;
    font-size:12px;
    margin-left:auto
  }
  .menu-lines,.menu-lines::before,.menu-lines::after {
    display:block;
    width:16px;
    height:1.5px;
    background:var(--ink);
    position:relative
  }
  .menu-lines::before,.menu-lines::after {
    content:'';
    position:absolute;
    left:0;
    top:-5px
  }
  .menu-lines::after {
    top:5px
  }
  .main-nav {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    max-height:calc(100dvh - var(--header-height));
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 22px #1822380a;
    display:none;
    order:3;
    flex-basis:100%;
    margin:0;
    padding:12px 22px 18px;
    flex-direction:column;
    align-items:stretch;
    gap:0
  }
  .main-nav.is-open {
    display:flex;
    animation:menu-enter .22s var(--motion-ease) both
  }
  .nav-link {
    min-height:46px;
    font-size:15px;
    padding:0 10px
  }
  .nav-link::after {
    right:auto;
    width:24px;
    left:10px;
    bottom:5px
  }
  .portal-status-link {
    font-size:13px;
    padding:8px 10px;
    min-height:46px
  }
  .header-cta {
    margin:0
  
}
  .hero-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .hero {
    padding-top:35px;
    padding-bottom:29px
  }
  .hero-content {
    max-width:680px
  }
  .hero h1 {
    font-size:clamp(38px,6.2vw,55px);
    max-width:680px
  }
  .hero-copy {
    font-size:16px;
    max-width:620px
  }
  .hero-actions .button {
    font-size:14px;
  
}
  .hero-benefits {
    margin-top:25px;
    flex-wrap:nowrap;
    gap:22px
  }
  .hero-benefits li+li {
    padding-left:22px
  }
  .hero-benefits strong {
    font-size:13px
  }
  .hero-benefits span {
    font-size:11px
  }
  .hero-benefits .icon {
    width:27px
  }
  .hero-visual {
    width:90%;
    max-width:680px;
    margin:10px auto 0;
    padding-top:0
  }
  .red-ribbon {
    right:-50%;
    top:0;
    height:160px
  }
  .laptop {
    margin-top:25px
  }

.service-grid {
    grid-template-columns:1fr 1fr;
    gap:16px
  }
  .service-card {
    padding:23px
  }
  .service-card h3 {
    font-size:21px
  }
  .service-card p {
    font-size:13px;
    max-width:95%
  }
  .service-card h3 br {
    display:none
  }
  .service-card>.icon {
    width:34px;
    height:34px;
    margin:0
  }
  .section-space {
    padding-block:65px
  }

.product-copy {
    max-width:600px
  }

.product-feature figure {
    padding:15px
  }

.about-grid {
    grid-template-columns:1fr;
    gap:26px
  }
  .process-grid {
    grid-template-columns:1fr 1fr;
    gap:30px
  }
  .contact-grid {
    grid-template-columns:1fr;
    gap:40px
  }
  .contact h2 {
    max-width:620px
  }
  .contact-copy>p:not(.eyebrow) {
    max-width:600px
  }
  .contact form {
    max-width:720px
  }
  .contact-copy .contact-small {
    margin-top:18px!important
  }
  .contact-email {
    margin-top:23px
  }
}
@media(max-width:600px) {
  :root { --header-height:72px }
  .container {
    width:calc(100% - 40px)
  }
  .header-inner {
    min-height:0;
    gap:10px
  }
  .brand img {
    width:87px
  }
  .header-cta {
    padding:5px 5px 5px 12px;
    gap:8px;
    font-size:11px;
    min-height:40px;
  
}
  .header-cta .icon {
    width:14px
  }
  .menu-toggle {
    border:0;
    padding:8px;
    gap:7px;
    min-height:44px
  }
  .menu-toggle>span:last-child {
    font-size:11px
  }
  .hero {
    padding-top:30px
  }
  .eyebrow {
    font-size:10px;
    letter-spacing:.055em;
    margin-bottom:14px
  }
  .hero h1 {
    font-size:38px;
    line-height:1.1;
    letter-spacing:-.044em
  }
  .hero h1 span {
    white-space:normal
  }
  .hero-copy {
    font-size:15px;
    line-height:1.65;
    margin-top:18px
  }
  .hero-actions {
    gap:10px;
    flex-wrap:wrap;
    margin-top:22px
  }
  .hero-actions .button {
    padding:6px 6px 6px 16px;
    gap:12px;
    font-size:12px;
    min-height:47px;
  
}
  .hero-actions .icon {
    width:17px
  }
  .hero-benefits {
    gap:12px;
    margin-top:26px;
    justify-content:space-between
  }
  .hero-benefits li {
    gap:6px;
    align-items:flex-start
  }
  .hero-benefits li+li {
    padding-left:11px
  }
  .hero-benefits strong {
    font-size:11px
  }
  .hero-benefits span {
    white-space:normal;
    font-size:9px;
    line-height:1.4;
    max-width:80px
  }
  .hero-benefits .icon {
    width:22px;
    height:25px
  }
  .hero-grid {
    gap:10px
  }
  .hero-visual {
    width:96%;
    margin-top:10px
  }
  .laptop-lid {
    border-radius:12px 12px 4px 4px;
    padding:12px 7px 7px;
    border-bottom-width:4px
  }
  .laptop-camera {
    top:5px;
    width:3px;
    height:3px
  }
  .laptop-base {
    height:12px
  }
  .laptop-base span {
    height:3px
  }
  .red-ribbon {
    height:100px;
    right:-62%;
    top:12%
  }
  .red-ribbon::after {
    display:none
  }

.caption-separator {
    margin:0
  }
  .service-grid {
    gap:12px
  }
  .service-card {
    padding:18px 14px 30px;
    min-height:0;
    border-radius:11px
  }
  .service-card>.icon {
    width:28px;
    height:28px;
    margin:0
  }
  .service-card h3 {
    font-size:17px;
    line-height:1.2
  }
  .service-card p {
    font-size:11px;
    max-width:100%;
    padding:0
  }
  .solutions {
    padding-top:38px;
    padding-bottom:38px;
    gap:23px
  }
  .solutions-intro {
    display:block
  }
  .solutions-intro h2 {
    font-size:29px;
    max-width:360px
  }
  .solutions-intro p {
    font-size:14px;
    margin-top:12px;
    max-width:420px
  }
  .solutions-intro .button {
    font-size:12px;
    margin-top:16px;
    min-height:40px
  }
  .solution-grid {
    grid-template-columns:1fr 1fr;
    gap:13px
  }
  .solution-card>img {
    height:115px
  }
  .solution-card h3 {
    font-size:13px;
    line-height:1.35
  }
  .solution-card p {
    font-size:11px
  }
  .image-note {
    font-size:9px;
    line-height:1.6
  }
  .section-space {
    padding-block:48px
  }
  .section-heading {
    display:block;
    margin-bottom:28px
  }
  .section-heading>p {
    max-width:100%;
    margin-top:18px;
    font-size:14px
  }
  .section-heading>.button {
    margin-top:20px
  }
  .section-heading h2 {
    font-size:29px
  }
  .expertise-grid {
    grid-template-columns:1fr;
    gap:28px
  }
  .expertise-grid h3 {
    font-size:23px;
    margin:0
  }
  .expertise-grid p {
    font-size:14px
  }
  .check-list {
    font-size:13px;
    margin:0
  }

.product-copy>p {
    font-size:14px
  }

.product-feature figcaption {
    font-size:9px
  }
  .about .lead {
    font-size:20px
  }
  .process-grid {
    gap:26px 20px
  }

.process-grid h3 {
    font-size:17px;
    line-height:1.25
  }
  .process-grid p {
    font-size:12px
  }
  .contact h2 {
    font-size:33px
  }
  .contact-email {
    font-size:20px
  }
  .form-row {
    grid-template-columns:1fr;
    gap:0
  }
  .field input,.field select,.field textarea {
    font-size:16px
  }
  .form-note {
    font-size:11px
  }
  .footer-main {
    flex-wrap:wrap;
    gap:18px
  }
  .footer-main p {
    font-size:11px;
    max-width:170px
  }
  .footer-main>.inline-link {
    margin-left:0;
    font-size:12px
  }
  .footer-bottom {
    display:block
  }
  .footer-bottom nav {
    margin-top:10px;
    gap:14px;
    flex-wrap:wrap
  }
  .footer-bottom a,.footer-bottom button {
    min-height:36px
  }
  .legal-main {
    padding-block:40px 60px
  }
}
@media(max-width:360px) {
  .container {
    width:calc(100% - 32px)
  }
  .header-cta {
    font-size:10px;
  
}
  .brand img {
    width:77px
  }
  .hero h1 {
    font-size:34px
  }
  .hero-actions .button {
    font-size:11px;
  
}
  .hero-benefits {
    gap:8px
  }
  .hero-benefits li+li {
    padding-left:8px
  }
  .hero-benefits .icon {
    width:18px
  }
  .service-card h3 {
    font-size:15px
  }
  .service-card p {
    font-size:10px
  }
  .solution-card>img {
    height:95px
  }
}
/* Public actions: quiet rectangular outlines; header controls keep their own design. */
.button:not(.header-cta) {
  --outline:#b4bac3;
  min-height:48px;
  padding:13px 19px;
  gap:18px;
  border:1px solid var(--outline);
  border-radius:4px;
  color:var(--ink);
  background:#fff;
  box-shadow:none;
  transform:none;
  transition:border-color .2s,color .2s,box-shadow .35s var(--motion-ease)
}
.button.button-primary:not(.header-cta) { --outline:var(--action);color:var(--action);background:#fff }
.button:not(.header-cta) .button-label { transform:none }
.button:not(.header-cta)::after {
  content:'';position:absolute;inset:auto 0 0;height:2px;background:var(--outline);
  transform:scaleX(0);transform-origin:left;
  transition:transform .42s var(--motion-ease)
}
.button:not(.header-cta):is(:hover,:focus-visible)::after { transform:scaleX(1) }
.button:not(.header-cta):is(:hover,:focus-visible) {
  transform:none;border-color:var(--outline);background:#fff;
  box-shadow:0 3px 12px #15192308
}
.button:not(.header-cta):is(:hover,:focus-visible) .button-label { transform:none }
.button:not(.header-cta):active { transform:none;box-shadow:inset 0 0 0 1px var(--outline) }

/* Clickable cards respond through their contour, image and heading. */
.service-card::after,.solution-card::after {
  content:'';position:absolute;bottom:0;left:14px;right:14px;height:2px;
  background:var(--action);transform:scaleX(0);transform-origin:left;
  transition:transform .48s var(--motion-ease)
}
.service-card:is(:hover,:focus-visible),.solution-card:is(:hover,:focus-visible) {
  transform:none;border-color:#edb3b3;box-shadow:0 8px 24px #1719230a
}
.service-card:is(:hover,:focus-visible)::after,.solution-card:is(:hover,:focus-visible)::after { transform:scaleX(1) }
.service-card:is(:hover,:focus-visible)>.icon { transform:none }
.solution-card:is(:hover,:focus-visible)>img { transform:scale(1.025) }
.service-card:active,.solution-card:active { transform:none;box-shadow:inset 0 0 0 1px #edb3b3 }

.portal-status-link {
  --status:#df0000;gap:9px;padding:5px 10px 5px 6px;border:1px solid #e1e4e9;
  border-radius:8px;color:var(--ink);line-height:1.2;
  transition:border-color .2s,box-shadow .3s
}
.portal-glyph { position:relative;display:grid;place-items:center;width:30px;height:32px;background:#f5f6f8;border-radius:5px }
.portal-glyph>.icon { width:21px;height:21px }
.portal-glyph .status-dot { position:absolute;right:0;bottom:2px;width:7px;height:7px;background:var(--status);border:1px solid #fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--status) 10%,transparent),0 0 7px color-mix(in srgb,var(--status) 40%,transparent) }
.portal-state { display:block;margin-top:3px;font-size:9px;font-weight:400;color:var(--muted);letter-spacing:.015em }
.portal-status-link.is-authenticated { --status:#14804a }
.portal-status-link:is(:hover,:focus-visible) { border-color:#b5bdc8;box-shadow:0 3px 10px #15192307 }

#offer-form { background:#fff;border:1px solid #e2e5eb;border-radius:12px;padding:32px;box-shadow:0 14px 48px #15192306;min-width:0 }
.form-heading { display:flex;align-items:center;justify-content:space-between;gap:20px }
.form-heading .eyebrow { font-size:10px;letter-spacing:.12em;margin-bottom:8px }
.form-heading h3 { font-size:23px;letter-spacing:-.035em;margin:0 }
.form-heading>.icon { width:27px;height:27px;color:#777e89 }
.form-intro { font-size:12px;line-height:1.6;margin:12px 0 27px }
.field input,.field select,.field textarea { border-radius:4px;background:#fdfdfd;transition:border-color .2s,box-shadow .3s,background-color .2s }
.field input:focus,.field textarea:focus { outline:0;border-color:#9199a5;background:#fff;box-shadow:0 0 0 3px #11182706 }
.field [aria-invalid=true] { border-color:#c62323 }
.field .field-error { color:#b00000;line-height:1.4;min-height:1.4em }
.field .field-error[hidden] { display:block!important;visibility:hidden }
.project-choices { border:0;padding:0;margin:3px 0 24px;min-width:0 }
.project-choices legend { font-size:12px;font-weight:700;margin-bottom:11px }
.project-choices legend small { font-weight:400;font-size:11px;color:var(--muted) }
.choice-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px }
.choice-grid label { position:relative;cursor:pointer }
.choice-grid input { position:absolute;opacity:0;width:1px;height:1px }
.choice-grid span { display:grid;place-items:center;min-height:40px;padding:9px 7px;border:1px solid #e0e3e9;border-radius:4px;color:#505560;font-size:11px;line-height:1.3;text-align:center;transition:border-color .2s,color .2s,box-shadow .3s }
.choice-grid label:hover span { border-color:#a4abb6;color:var(--ink) }
.choice-grid input:checked+span { color:var(--action);border-color:var(--action);box-shadow:inset 0 -2px 0 var(--action) }
.choice-grid input:focus-visible+span { outline:2px solid #101113;outline-offset:3px }
.form-note { font-size:11px;line-height:1.7;margin-top:20px }
.form-note a { text-decoration:underline;text-underline-offset:3px }
.form-submit-row { display:flex;align-items:center;flex-wrap:wrap;gap:14px }
.form-submit-row>span { font-size:10px;color:#646b77 }
#form-status:empty { display:none }

.site-footer { border-top:1px solid var(--line);padding-top:54px;background:#fff }
.footer-grid { display:grid;grid-template-columns:1.15fr .65fr .9fr 1.3fr;gap:40px;padding-bottom:42px }
.footer-brand .brand { display:inline-flex }
.footer-brand p { font-size:13px;line-height:1.6;max-width:210px;margin:18px 0 13px }
.footer-brand>a:not(.brand) { font-size:13px;color:var(--muted) }
.footer-column { display:flex;flex-direction:column;align-items:flex-start }
.footer-grid h2 { font-size:12px;font-weight:700;line-height:1.4;margin:0 0 16px;letter-spacing:.015em }
.footer-column>a,.footer-column>button { position:relative;display:inline-flex;align-items:center;min-height:32px;color:var(--muted);font:400 12px/1.5 var(--font);border:0;padding:0;background:none;text-align:left }
.footer-column>a::after,.footer-column>button::after { content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--motion-ease) }
.footer-column>:is(a,button):is(:hover,:focus-visible) { color:var(--action) }
.footer-column>:is(a,button):is(:hover,:focus-visible)::after { transform:scaleX(1) }
.footer-company p { font-size:11px;line-height:1.9;color:var(--muted);font-style:normal }
.footer-bottom { display:flex;gap:25px;font-size:10px }
.consumer-links { display:flex;align-items:center;gap:25px }
.consumer-links>a { font-size:10px;line-height:1.5 }
.legal-main>.eyebrow { margin-top:35px;font-size:11px }
.legal-main { overflow-wrap:anywhere }
@media(min-width:901px) and (max-width:1200px) {
  .portal-status-link { padding-inline:5px;gap:6px;font-size:10px }
  .portal-state { font-size:8px }
  .portal-glyph { width:25px }
  .footer-grid { gap:28px }
}
@media(max-width:900px) {
  .portal-status-link { margin:10px 10px 0;align-self:flex-start;padding:6px 14px 6px 7px }
  .footer-grid { grid-template-columns:1fr 1fr;gap:35px }
  .footer-bottom { align-items:center;flex-direction:column;gap:15px;text-align:center }
  .consumer-links { justify-content:center;width:100%;gap:18px }
}
@media(max-width:600px) {
  #offer-form { padding:24px 20px;border-radius:8px }
  .form-heading h3 { font-size:22px }
  .choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .choice-grid span { font-size:12px;min-height:44px }
  .hero-actions .button:not(.header-cta) { padding:13px 12px;font-size:12px;gap:10px }
  .site-footer { padding-top:38px }
  .footer-grid { gap:30px 20px;padding-bottom:30px }
  .footer-brand,.footer-company { grid-column:1/-1 }
  .footer-brand p { max-width:100%;margin-top:12px }
  .footer-brand .brand img { width:96px }
  .footer-column>a,.footer-column>button { min-height:38px;font-size:12px }
  .footer-company p { font-size:12px }
  .consumer-links { flex-direction:column;align-items:center;gap:12px }
  .form-submit-row .button { width:100% }
}
/* Matching outlined header actions; stable labels and hit areas. */
.header-cta { min-height:44px;padding:5px 10px 5px 6px;gap:9px;border:1px solid #e1e4e9;border-radius:8px;background:#fff;color:var(--ink);font-size:12px;line-height:1.2;box-shadow:none;transition:border-color .2s,box-shadow .3s }
.header-action-glyph { display:grid;place-items:center;flex-shrink:0;width:30px;height:32px;border-radius:5px;background:#f5f6f8;color:var(--action) }
.header-action-glyph>.icon { width:21px;height:21px }
.header-cta .button-label { transform:none;white-space:nowrap }
.header-cta small { display:block;margin-top:3px;font-size:9px;font-weight:400;color:var(--muted);letter-spacing:.015em }
.header-cta:is(:hover,:focus-visible) { border-color:#b5bdc8;background:#fff;transform:none;box-shadow:0 3px 10px #15192307 }
.header-cta:is(:hover,:focus-visible) .button-label { transform:none }
.header-cta:active { transform:none;box-shadow:inset 0 0 0 1px #b5bdc8 }
.button:not(.header-cta) { gap:0 }
.service-card p { padding-right:0 }
.solution-card p { margin-bottom:22px }
.service-card:is(:hover,:focus-visible) h3,.solution-card:is(:hover,:focus-visible) h3 { color:#a90000 }
.service-card h3,.solution-card h3 { transition:color .2s }

/* AI is shown through a familiar human task and readable example content. */
.ai-section { background:#f8f8f7;border-block:1px solid #ededeb }
.ai-layout { display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:70px }
.ai-content h2 { font-size:clamp(29px,2.65vw,39px);line-height:1.12;letter-spacing:-.04em;max-width:650px }
.ai-content h2 span { color:var(--ink) }
.ai-content .eyebrow { font-size:11px;letter-spacing:.07em;line-height:1.6 }
.ai-lead { max-width:600px;font-size:15px;line-height:1.75;margin-top:22px }
.ai-deployments { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 28px;margin:30px 0 0 }
.ai-deployments>div { border-top:1px solid #dedfdd;padding-top:18px }
.ai-deployments dt { display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;line-height:1.4;color:var(--ink) }
.ai-deployments dt>.icon { width:21px;height:21px;flex-shrink:0;color:var(--action) }
.ai-deployments dd { margin:10px 0 0;font-size:12px;line-height:1.7;color:var(--muted) }
.ai-human-control { margin-top:26px;font-size:11px;line-height:1.7;max-width:560px }
.ai-visual { margin:0;min-width:0 }
.ai-visual figcaption { font-size:10px;line-height:1.6;color:#737780;margin:16px 22px 0 }
@media(min-width:901px) and (max-width:1200px) {
  .header-cta { padding-inline:5px;gap:6px;font-size:10px }
  .header-cta small { font-size:8px }
  .header-action-glyph { width:25px }
  .ai-layout { gap:35px }
  .ai-content h2 { font-size:32px }
  .ai-deployments { gap:22px 20px }
  .ai-deployments dt { align-items:flex-start;font-size:12px }
}
@media(max-width:900px) {
  .ai-layout { grid-template-columns:1fr;gap:38px }
  .ai-content h2 { font-size:36px }
  .ai-visual { width:min(100%,620px);justify-self:center }
}
@media(max-width:600px) {
  .header-cta { min-height:42px;padding:4px 8px 4px 5px;gap:7px;font-size:11px }
  .header-action-glyph { width:25px;height:30px }
  .header-action-glyph>.icon { width:19px;height:19px }
  .header-cta small { font-size:8px }
  .ai-content h2 { font-size:32px }
  .ai-content .eyebrow { font-size:10px }
  .ai-lead { font-size:14px }
  .ai-deployments { grid-template-columns:1fr;gap:18px;margin-top:24px }
  .ai-deployments>div { padding-top:15px }
  .ai-deployments dt { font-size:14px }
  .ai-deployments dd { margin-left:31px;font-size:12px }
  .ai-visual figcaption { margin-inline:10px }
}
@media(max-width:360px) {
  .header-cta { font-size:10px;gap:5px;padding-right:6px }
  .header-action-glyph { width:23px }
  .ai-content h2 { font-size:29px }
}
/* One definition controls the font and dimensions of both header actions. */
.site-header .portal-status-link,.site-header .header-cta {
  display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 auto;
  width:148px;height:44px;min-height:44px;padding:5px 9px 5px 6px;gap:9px;
  font:600 12px/1.2 var(--font);letter-spacing:normal;white-space:nowrap;
  border:1px solid #e1e4e9;border-radius:8px;background:#fff;color:var(--ink)
}
.site-header .portal-status-link>span:last-child,.site-header .header-cta .button-label { font:inherit;line-height:1.2;letter-spacing:normal }
.site-header .portal-state,.site-header .header-cta small { display:block;margin-top:3px;font:400 9px/1.2 var(--font);letter-spacing:.015em;color:var(--muted) }
.site-header .portal-glyph,.site-header .header-action-glyph { flex:0 0 auto;width:28px;height:30px }
.site-header .portal-glyph>.icon,.site-header .header-action-glyph>.icon { width:21px;height:21px }
.contact-link { display:inline-flex;align-items:center;gap:8px;vertical-align:middle }
.contact-icon { width:16px;height:16px;flex-shrink:0 }
.contact-copy .contact-link { display:flex;width:fit-content;max-width:100%;gap:11px }
.contact-email .contact-icon { width:21px;height:21px }
.contact-phone .contact-icon { width:18px;height:18px }
.ai-scene-image { display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border:1px solid #e1e2df;border-radius:10px }
.ai-visual figcaption { margin:14px 0 0;font-size:10px;line-height:1.6 }
@media(min-width:901px) and (max-width:1200px) {
  .site-header .portal-status-link,.site-header .header-cta { width:132px;font-size:11px;gap:7px;padding-inline:6px }
  .site-header .portal-state,.site-header .header-cta small { font-size:8px }
}
@media(max-width:600px) {
  .site-header .portal-status-link,.site-header .header-cta { width:122px;height:42px;min-height:42px;font-size:11px;gap:7px;padding:5px 7px 5px 5px }
  .site-header .portal-state,.site-header .header-cta small { font-size:8px }
  .site-header .portal-glyph,.site-header .header-action-glyph { width:25px;height:28px }
  .site-header .portal-glyph>.icon,.site-header .header-action-glyph>.icon { width:19px;height:19px }
}
@media(max-width:360px) {
  .site-header .portal-status-link,.site-header .header-cta { width:107px;font-size:10px;gap:5px;padding-inline:5px }
  .site-header .portal-glyph,.site-header .header-action-glyph { width:23px }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation-duration:.01ms!important;
    scroll-behavior:auto!important
  }
.button,.button-label,.inline-link .icon,.service-card,.service-card>.icon,.solution-card,.solution-card>img {
    transform:none!important
  }
.button,.service-card,.solution-card,.inline-link {
    translate:none!important;
    transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s
  }
.button-label,.menu-lines,.menu-lines::before,.menu-lines::after {
    transition:none!important
  }
  .button:not(.header-cta)::after,.service-card::after,.solution-card::after,.footer-column>a::after,.footer-column>button::after { transform:none;opacity:0;transition:opacity .16s }
  .button:not(.header-cta):is(:hover,:focus-visible)::after,.service-card:is(:hover,:focus-visible)::after,.solution-card:is(:hover,:focus-visible)::after,.footer-column>:is(a,button):is(:hover,:focus-visible)::after { opacity:1 }
}
/* Anchor offset: use one offset, so section headings sit just below the sticky header. */
@media(max-width:900px) {
  section[id],article[id] {
    scroll-margin-top:90px
  }
}

/* Client access and quotes stay visible beside the menu at every viewport. */
.header-actions { display:flex;align-items:center;gap:8px;flex-shrink:0;order:2 }
.header-inner>.brand { order:0 }
.header-inner>.main-nav { order:1 }
.site-header .header-actions>.portal-status-link,.site-header .header-actions>.header-cta { margin:0;align-self:auto }
@media(max-width:900px) {
  .header-actions { margin-left:auto }
  .header-actions .menu-toggle { display:inline-flex;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:0;gap:0 }
  .header-actions .menu-toggle>span:last-child { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap }
}
@media(max-width:600px) {
  .header-inner { width:calc(100% - 24px);gap:3px }
  .header-inner>.brand img { width:clamp(67px,calc(100vw - 308px),87px) }
  .header-actions { gap:4px }
  .site-header .header-actions>.portal-status-link,.site-header .header-actions>.header-cta { width:107px;height:42px;min-height:42px;font-size:10px;gap:5px;padding-inline:5px }
  .site-header .header-actions .portal-glyph,.site-header .header-actions .header-action-glyph { width:23px;height:28px }
}
@media(max-width:374px) {
  :root { --header-height:104px }
  .header-inner { height:var(--header-height);flex-wrap:wrap;padding-block:8px;gap:6px }
  .header-inner>.brand { flex-basis:100%;height:38px }
  .header-inner>.brand img { width:76px }
  .header-actions { width:100%;margin:0;justify-content:space-between }
  section[id],article[id] { scroll-margin-top:calc(var(--header-height) + 16px) }
}

/* A connected delivery sequence, with a concrete outcome for each stage. */
.process-grid { position:relative;gap:18px }
.process-grid>li { position:relative;grid-row:span 4;row-gap:16px;padding:24px 22px;background:linear-gradient(145deg,#fff,#fafbfc);border:1px solid #e3e6eb;border-radius:12px;transition:border-color .2s }
.process-grid>li:not(:last-child)::after { content:'';position:absolute;right:-19px;top:46px;width:18px;height:1px;background:#dce1e8 }
.process-grid>li::marker { content:'' }
.process-icon { display:grid;place-items:center;width:44px;height:44px;border:1px solid #e0e4ea;border-radius:10px;background:#fff;color:#353c48 }
.process-icon>.icon { width:24px;height:24px }
.process-grid>li:first-child .process-icon { color:var(--action);border-color:#f0cccc;background:#fff7f6 }
.process-grid h3 { margin:0;font-size:18px;line-height:1.28;letter-spacing:-.025em }
.process-grid p { font-size:13px;line-height:1.75 }
.process-result { display:flex;align-items:center;gap:8px;align-self:end;border-top:1px solid #e5e8ed;padding-top:14px;font-size:10px;font-weight:600;line-height:1.5;color:#5c6572 }
.process-result::before { content:'';width:4px;height:4px;flex-shrink:0;border-radius:50%;background:var(--action) }
.service-card>.icon { width:30px;height:30px;stroke-width:1.75 }
.hero-benefits .icon { stroke-width:1.75 }
.check-list .icon { width:17px;height:17px;stroke-width:1.8 }
.contact-icon { stroke-width:1.75 }

/* A distinct closing section: invitation, navigation, then company details. */
.site-footer {
  --footer-muted:#b4b7c0;
  --footer-line:#ffffff21;
  position:relative;
  padding-top:0;
  border-top:3px solid var(--action);
  background:#151619;
  color:#f5f5f7;
  color-scheme:dark
}
.site-footer :focus-visible { outline-color:#ff7777 }
.footer-intro { display:grid;grid-template-columns:1fr 2fr;gap:64px;padding-block:56px 46px }
.footer-brand { display:block }
.footer-brand .brand { display:inline-flex;padding:9px 17px;background:#fff;border-radius:9px }
.footer-brand .brand img { width:112px;height:auto }
.footer-brand p { max-width:none;margin:20px 0 0;font-size:13px;line-height:1.8;color:var(--footer-muted) }
.footer-invitation { display:flex;align-items:center;justify-content:flex-end;gap:16px 32px }
.footer-eyebrow { grid-column:1/-1;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--footer-muted) }
.footer-invitation h2 { font-size:clamp(30px,3.2vw,46px);font-weight:500;line-height:1.12;letter-spacing:-.045em }
.footer-invitation h2 span { color:var(--footer-muted) }
.footer-contact { display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:13px 19px;border:1px solid #f33;border-radius:8px;background:var(--action);font-size:13px;font-weight:600;white-space:nowrap;transition:background .2s,border-color .2s }
.footer-contact .icon { width:19px;height:19px }
.footer-contact:is(:hover,:focus-visible) { background:var(--hover);border-color:#ff7777 }
.footer-grid { position:relative;grid-template-columns:1.2fr .7fr 1fr 1.1fr;gap:44px;padding-block:36px 40px;border-top:1px solid var(--footer-line) }
.footer-grid::before { content:none }
.footer-grid h2 { margin:0 0 13px;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:0;color:#f5f5f7 }
.footer-connect p { color:var(--footer-muted);font-size:13px;line-height:1.8 }
.footer-connect .contact-link { min-height:44px;margin-top:15px;color:#f5f5f7;font-size:14px;transition:color .2s }
.footer-connect .contact-icon { width:17px;height:17px;color:#ff6868 }
.footer-connect .contact-link:is(:hover,:focus-visible) { color:#ff8888 }
.footer-column>a,.footer-column>button { min-height:34px;color:var(--footer-muted);font-size:12px;line-height:1.6 }
.footer-column>:is(a,button):is(:hover,:focus-visible) { color:#fff }
.footer-portal { display:flex;flex-direction:column;align-items:flex-start;align-self:start;gap:9px;padding:21px;border:1px solid var(--footer-line);border-radius:12px;background:#ffffff05;transition:background .2s,border-color .2s }
.footer-portal:is(:hover,:focus-visible) { background:#ffffff0b;border-color:#ffffff55 }
.footer-portal-icon { display:grid;place-items:center;width:34px;height:34px;margin-bottom:3px;border:1px solid #ffffff21;border-radius:8px;color:#ff7777 }
.footer-portal-icon .icon { width:20px;height:20px }
.footer-portal-title { font-size:13px;font-weight:600;line-height:1.5 }
.footer-portal-copy { max-width:220px;font-size:12px;line-height:1.7;color:var(--footer-muted) }
.footer-portal-action { margin-top:7px;font-size:11px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ffffff66 }
.footer-company { display:flex;align-items:center;gap:28px;padding-block:20px;border-top:1px solid var(--footer-line);border-left:0 }
.footer-company h2 { margin:0;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1.6 }
.footer-company-data { display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 }
.footer-company-data>div { display:flex;flex-wrap:wrap;gap:6px }
.footer-company-data dt,.footer-company-data dd { margin:0;font-size:10px;line-height:1.6;letter-spacing:.01em }
.footer-company-data dt { color:var(--footer-muted) }
.footer-company-data dd { color:#e0e1e6;overflow-wrap:anywhere }
.footer-top { display:inline-flex;align-items:center;gap:10px;min-height:36px;margin-left:auto;white-space:nowrap;color:var(--footer-muted);font-size:11px }
.footer-top .icon { width:16px;height:16px }
.footer-top:is(:hover,:focus-visible) { color:#fff }
.footer-bottom { flex-direction:row;justify-content:space-between;gap:20px;border-top:1px solid var(--footer-line);padding-block:18px;color:var(--footer-muted);font-size:10px;line-height:1.6;text-align:left }
.consumer-links { flex-direction:row;width:auto;gap:18px }
.consumer-links>a { min-height:32px;padding-block:3px;color:var(--footer-muted);font-size:10px;line-height:1.5 }
.footer-bottom .consumer-links>a:is(:hover,:focus-visible) { color:#fff }
@media(max-width:900px) {
  .process-grid { gap:16px }
  .process-grid>li::after { display:none }
  .footer-intro { grid-template-columns:1fr 2fr;gap:32px }
  .footer-invitation { justify-content:flex-start;gap:18px }
  .footer-grid { grid-template-columns:1fr 1fr;gap:32px 48px }
  .footer-brand,.footer-company { grid-column:auto }
  .footer-company { flex-wrap:wrap;gap:12px 24px }
  .footer-bottom { flex-direction:column;gap:4px;align-items:flex-start;text-align:left }
  .consumer-links { justify-content:flex-start }
}
@media(max-width:600px) {
  .process-grid { grid-template-columns:minmax(0,1fr);gap:12px }
  .process-grid>li { grid-row:auto;grid-template-rows:auto auto auto;grid-template-columns:44px minmax(0,1fr);column-gap:15px;row-gap:10px;padding:20px 18px }
  .process-icon { grid-row:1/3 }
  .process-grid h3,.process-grid p,.process-result { grid-column:2 }
  .process-grid h3 { font-size:17px }
  .process-result { padding-top:10px }
  .footer-intro { grid-template-columns:1fr;gap:30px;padding-block:32px }
  .footer-brand { display:flex;align-items:center;gap:20px }
  .footer-brand .brand { flex-shrink:0;padding:7px 12px }
  .footer-brand .brand img { width:88px }
  .footer-brand p { margin:0;font-size:11px;line-height:1.8 }
  .footer-eyebrow { font-size:9px;letter-spacing:.1em }
  .footer-invitation { gap:18px }
  .footer-invitation h2 { font-size:34px }
  .footer-contact { min-height:44px;font-size:12px }
  .footer-grid { grid-template-columns:1fr 1fr;gap:26px 22px;padding-block:26px }
  .footer-connect,.footer-portal { grid-column:1/-1 }
  .footer-connect p { font-size:12px }
  .footer-connect .contact-link { margin-top:7px }
  .footer-column>a,.footer-column>button { min-height:40px;font-size:12px }
  .footer-portal { display:grid;grid-template-columns:auto 1fr;column-gap:14px;padding:20px }
  .footer-portal-icon { grid-row:1/4;margin:0 }
  .footer-portal-copy,.footer-portal-action { grid-column:2 }
  .footer-portal-copy { max-width:none }
  .footer-company { align-items:flex-start;gap:10px;padding-block:20px }
  .footer-company h2 { flex-basis:100%;margin:0 }
  .footer-company-data { flex-direction:column;gap:5px }
  .footer-top { align-self:flex-end }
  .footer-bottom { padding-block:16px;gap:8px }
  .consumer-links { flex-direction:column;align-items:flex-start;gap:0 }
  .consumer-links>a { min-height:34px }
}
