/* Copper Cloud. Editable site styles; no CSS compiler required. */

@font-face {font-family:'Manrope';src:url('fonts/manrope-400.woff2') format('woff2'),url('fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap;}
@font-face {font-family:'Manrope';src:url('fonts/manrope-600.woff2') format('woff2'),url('fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap;}
@font-face {font-family:'Manrope';src:url('fonts/manrope-700.woff2') format('woff2'),url('fonts/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap;}
:root { --cc-ink:#1b113a; --cc-blue:#15156d; --cc-copper:#efa470; --cc-lavender:#d0abce; --cc-sky:#45a1ec; --cc-white:#fff; --cc-subtle:#f7f5fa; --cc-muted:#565d73; --cc-line:#e0e4ee; --background:var(--cc-white); --foreground:var(--cc-ink); --primary:var(--cc-blue); --primary-foreground:#fff; --border:var(--cc-line); --ring:var(--cc-blue); --font-sans:'Manrope',sans-serif; }
* {box-sizing:border-box} html {scroll-behavior:smooth; scroll-padding-top:30px; scrollbar-color:var(--cc-blue) var(--cc-white)} body {margin:0;background:var(--cc-white);color:var(--cc-ink);font-family:'Manrope',sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased} ::selection {background:var(--cc-copper);color:var(--cc-ink)} a {color:inherit;text-decoration-thickness:1px;text-underline-offset:5px} a:focus-visible,button:focus-visible {outline:3px solid var(--cc-blue);outline-offset:6px} img {max-width:100%;height:auto;display:block} h1,h2,h3,p {margin:0} h1,h2,h3 {text-wrap:balance} .wrap {width:min(1280px,calc(100% - 112px));margin-inline:auto} .skip-link {position:absolute;left:20px;top:-100px;z-index:5;background:white;padding:12px} .skip-link:focus {top:12px} .site-header {height:122px;display:flex;align-items:center;justify-content:space-between;gap:24px} .brand-link {width:244px;flex-shrink:0} .site-header nav {display:flex;align-items:center;gap:34px} .site-header nav a {text-decoration:none;font-size:14px;font-weight:700}.desktop-nav {padding:12px 0} .site-header nav a:hover {text-decoration:underline} .nav-contact {display:inline-flex;align-items:center;gap:14px;padding:12px 0}.hero {display:grid;grid-template-columns:1.1fr 1fr;gap:56px;padding:50px 0 72px;align-items:stretch}.hero-copy {padding-top:28px} h1 {font-size:clamp(3.2rem,6.4vw,5.7rem);line-height:1.04;letter-spacing:-.04em;font-weight:700} h1 span {color:var(--cc-blue)} .hero-description {font-size:18px;line-height:1.8;max-width:450px;margin-top:29px;color:var(--cc-muted)} .button {display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:18px 24px;font-weight:700;font-size:15px;text-decoration:none;min-height:58px;transition:background .2s,box-shadow .2s;border-radius:6px}.button-copper {background:var(--cc-copper);color:var(--cc-ink);margin-top:32px}.button-copper:hover {background:var(--cc-sky);box-shadow:0 8px 20px #1b113a12}.location {display:flex;align-items:center;gap:9px;font-size:13px;margin-top:25px;color:var(--cc-muted)} .brand-panel {min-height:493px;background:var(--cc-blue);color:var(--cc-white);border-radius:140px 12px 12px 12px;display:flex;flex-direction:column;justify-content:space-between;padding:48px 40px 29px;animation:panel-arrive .9s cubic-bezier(.16,1,.3,1)} .panel-intro {text-align:right;font-size:17px;line-height:1.5;font-weight:600}.brand-panel img {width:100%;margin-block:35px}.panel-bottom {display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700}.panel-dot {height:15px;width:15px;border-radius:50%;background:var(--cc-copper)} .software {border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line);display:grid;grid-template-columns:1.1fr 1fr 1fr 1.2fr;gap:30px;padding-top:30px;padding-bottom:30px;align-items:start}.software>p {font-size:14px;font-weight:700;line-height:1.55}.software>p span {color:var(--cc-muted);font-weight:400}.software-name {display:flex;flex-direction:column;gap:1px}.software-name strong {font-size:24px;letter-spacing:-.04em;font-weight:700}.software-name span {font-size:12px;color:var(--cc-muted)}.site-footer {padding-top:30px;padding-bottom:30px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--cc-muted)}
@keyframes panel-arrive {from {clip-path:inset(0 0 4% 0 round 140px 12px 12px 12px)}to {clip-path:inset(0 0 0 0 round 140px 12px 12px 12px)}}
@media(min-width:1600px){.hero {padding-top:70px;padding-bottom:90px}}
@media(max-width:1050px){.wrap {width:calc(100% - 64px)}.hero {gap:32px}.brand-panel {padding:45px 26px 28px;min-height:450px;border-top-left-radius:110px}.hero-copy {padding-top:8px}.location {font-size:12px;align-items:flex-start}.software-name strong {font-size:21px}}
@media(max-width:760px){.wrap {width:calc(100% - 40px)}.site-header {height:90px}.brand-link {width:190px}.site-header nav {gap:0}.nav-contact {font-size:13px!important;gap:5px}.hero {grid-template-columns:1fr;padding:34px 0 40px;gap:38px}.hero-copy {padding:0} h1 {font-size:clamp(2.2rem,14.8vw - 6px,5rem)}.hero-description {font-size:17px;max-width:460px;margin-top:24px}.button-copper {margin-top:26px}.location {font-size:12px;margin-top:22px}.brand-panel {min-height:350px;border-top-left-radius:100px;padding:32px 30px 26px}.brand-panel img {max-width:450px;margin:32px auto}.panel-intro {font-size:15px}.software {grid-template-columns:1fr 1fr;gap:26px 20px;padding-top:26px;padding-bottom:26px}.software-name strong {font-size:20px}.software-name span {font-size:12px}.site-footer {flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html {scroll-behavior:auto}*,*::before,*::after {animation:none!important;transition:none!important}}

.section-space {padding-top:100px;padding-bottom:100px} h2 {font-size:clamp(2.2rem,3.8vw,3.5rem);font-weight:600;line-height:1.14;letter-spacing:-.035em} h3 {font-size:21px;line-height:1.4;font-weight:600;letter-spacing:-.025em}.services {display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.section-heading>p {max-width:330px;margin-top:25px;color:var(--cc-muted);font-size:16px;line-height:1.8}
.services .section-heading {position:sticky;top:40px;align-self:start}.service-list article {padding-top:27px;padding-bottom:27px;border-top:1px solid var(--cc-line)}.service-list article:first-child {padding-top:0;border-top:0}.service-list article:last-child {padding-bottom:0}.service-list p {margin-top:11px;color:var(--cc-muted);max-width:520px;line-height:1.8}.workflow-section {background:#edf5fc;padding-top:72px;padding-bottom:72px}.workflow-layout {display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.workflow-lead {max-width:300px;margin-top:24px;color:#4f5879;font-size:17px}.workflow-copy {padding-top:3px}.workflow-copy>p {color:#4f5879;line-height:1.8}.workflow-copy>p+p {margin-top:18px}.text-link {display:inline-flex;align-items:center;gap:16px;font-size:15px;font-weight:700;margin-top:26px;text-decoration:none}.text-link:hover {text-decoration:underline}.workflow-copy .workflow-tools {font-size:13px;color:var(--cc-blue);margin-top:30px}.workflow-aside {border-top:1px solid #cfe0f0;margin-top:34px;padding-top:22px;max-width:520px}.workflow-aside p {font-size:14px;line-height:1.75;color:#5b6480}.workflow-aside strong {color:var(--cc-ink);font-weight:700}.aside-link {display:inline-flex;align-items:center;gap:10px;margin-top:15px;padding:9px 16px;border:1px solid #b9d2e8;border-radius:6px;font-size:13px;font-weight:700;color:var(--cc-blue);text-decoration:none;transition:background .2s,border-color .2s}.aside-link:hover {background:var(--cc-white);border-color:var(--cc-blue)}.about {display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.about-heading>p {margin-top:24px;font-size:22px;font-weight:600;letter-spacing:-.025em}.about-copy>p {color:var(--cc-muted);line-height:1.8}.about-copy>p+p {margin-top:20px}.qualifications {list-style:none;padding:0;margin:27px 0 0;display:flex;flex-direction:column;gap:12px}.qualifications li {display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:600}.qualifications svg {color:var(--cc-blue);flex-shrink:0;margin-top:2px}.contact-section {background:var(--cc-blue);color:var(--cc-white);padding-top:77px}.contact-layout {display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:60px}.contact-layout h2 {font-size:clamp(2.4rem,4vw,3.7rem)}.contact-layout p {color:#dce7f5;max-width:470px;margin-top:24px;line-height:1.8}.contact-action {display:flex;align-items:flex-start;flex-direction:column;margin-left:auto}.contact-action .button {margin:0;min-width:255px;justify-content:space-between}.contact-email {margin-top:20px;font-size:16px;text-decoration:none;overflow-wrap:anywhere}.contact-email:hover {text-decoration:underline}.service-boundary {border-top:1px solid #ffffff36;margin-top:64px;padding-top:26px;padding-bottom:26px;color:#dce7f5;font-size:13.5px;line-height:1.7;display:grid;gap:14px}
.service-boundary>div {display:grid;grid-template-columns:minmax(0,7rem) minmax(0,1fr);gap:4px 24px}
.service-boundary dt {font-weight:700;color:var(--cc-white);letter-spacing:.02em}
.service-boundary dd {margin:0;max-width:62ch}.site-footer {font-size:13px}
@media(max-width:1050px){.services,.workflow-layout,.about {gap:50px}.section-space {padding-top:76px;padding-bottom:76px}.site-header nav {gap:20px}.site-header nav a {font-size:13px}.brand-link {width:225px}}
@media(max-width:760px){.desktop-nav {display:none}.brand-link {width:190px}.section-space {padding-top:58px;padding-bottom:58px}.services,.workflow-layout,.about {grid-template-columns:1fr;gap:34px}.section-heading>p {max-width:480px;margin-top:20px}.services .section-heading {position:static}h2 {font-size:2.5rem}.service-list article {padding-top:24px;padding-bottom:24px}.workflow-section {padding-top:52px;padding-bottom:52px}.workflow-lead {max-width:100%;margin-top:19px}.workflow-layout {gap:25px}.workflow-tools {font-size:12px!important}.about-heading>p {margin-top:20px}.qualifications {flex-direction:column;gap:12px}.contact-section {padding-top:54px}.contact-layout {grid-template-columns:1fr;gap:30px}.contact-layout h2 {font-size:2.6rem}.contact-action {margin-left:0}.contact-layout p {margin-top:22px}.contact-action .button {min-width:250px}.service-boundary {margin-top:43px;padding-top:22px;padding-bottom:22px}.service-boundary>div {grid-template-columns:minmax(0,1fr);gap:2px}.site-footer {padding-top:22px;padding-bottom:22px;font-size:13px}}
@media(max-width:360px){.brand-link {width:165px}.site-header {gap:14px}.location {font-size:12.5px}.button {gap:18px}.contact-email {font-size:15px}.brand-panel {padding-inline:22px}.software-name strong {font-size:18px}}

.contact-section a:focus-visible {outline-color:var(--cc-copper)}

/* The four software columns get too tight to share a baseline before 900px. */
@media(max-width:900px){.software {grid-template-columns:1fr 1fr;gap:26px 24px}}

/* Skip link reads as a real control once focused. */
.skip-link {color:var(--cc-ink);font-weight:700;text-decoration:none;border-radius:6px;box-shadow:0 6px 18px #1b113a26}

@media print{
  .site-header nav,.skip-link,.button,.text-link,.aside-link,.brand-panel {display:none}
  html,body {background:#fff;color:#000;font-size:11pt}
  .wrap {width:100%}
  .section-space,.workflow-section,.contact-section {padding-top:18pt;padding-bottom:18pt}
  .contact-section {background:#fff;color:#000}
  .service-boundary dt {color:#000}
  .workflow-section {background:#fff}
  .contact-layout p,.service-boundary {color:#000}
  .service-boundary {border-top:1pt solid #999}
  .services,.workflow-layout,.about,.contact-layout {display:block}
  .services .section-heading {position:static}
  .service-list article,.about-copy,.workflow-copy {break-inside:avoid}
  .contact-email::after {content:none}
  a {text-decoration:none}
}
