@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
        *,:before,:after,::backdrop {
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial
        }
    }
}
@layer theme {
    :root,:host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --spacing: .25rem;
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono)
    }
}
@layer base {
    *,:after,:before,::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }
    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }
    html,:host {
        -webkit-text-size-adjust: 100%;
        tab-size: 4;
        line-height: 1.5;
        font-family: var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings: var(--default-font-feature-settings,normal);
        font-variation-settings: var(--default-font-variation-settings,normal);
        -webkit-tap-highlight-color: transparent
    }
    hr {
        height: 0;
        color: inherit;
        border-top-width: 1px
    }
    abbr:where([title]) {
        -webkit-text-decoration: underline dotted;
        text-decoration: underline dotted
    }
    h1,h2,h3,h4,h5,h6 {
        font-size: inherit;
        font-weight: inherit
    }
    a {
        color: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }
    b,strong {
        font-weight: bolder
    }
    code,kbd,samp,pre {
        font-family: var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings: var(--default-mono-font-feature-settings,normal);
        font-variation-settings: var(--default-mono-font-variation-settings,normal);
        font-size: 1em
    }
    small {
        font-size: 80%
    }
    sub,sup {
        vertical-align: baseline;
        font-size: 75%;
        line-height: 0;
        position: relative
    }
    sub {
        bottom: -.25em
    }
    sup {
        top: -.5em
    }
    table {
        text-indent: 0;
        border-color: inherit;
        border-collapse: collapse
    }
    :-moz-focusring {
        outline: auto
    }
    progress {
        vertical-align: baseline
    }
    summary {
        display: list-item
    }
    ol,ul,menu {
        list-style: none
    }
    img,svg,video,canvas,audio,iframe,embed,object {
        vertical-align: middle;
        display: block
    }
    img,video {
        max-width: 100%;
        height: auto
    }
    button,input,select,optgroup,textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }
    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }
    :where(select:is([multiple],[size])) optgroup {
        font-weight: bolder
    }
    :where(select:is([multiple],[size])) optgroup option {
        padding-inline-start: 20px
    }
    ::file-selector-button {
        margin-inline-end: 4px
    }
    ::placeholder {
        opacity: 1
    }
    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }
        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }
    textarea {
        resize: vertical
    }
    ::-webkit-search-decoration {
        -webkit-appearance: none
    }
    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }
    ::-webkit-datetime-edit {
        display: inline-flex
    }
    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }
    ::-webkit-datetime-edit {
        padding-block: 0
    }
    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }
    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }
    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }
    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }
    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }
    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }
    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }
    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }
    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }
    :-moz-ui-invalid {
        box-shadow: none
    }
    button,input:where([type=button],[type=reset],[type=submit]) {
        appearance: button
    }
    ::file-selector-button {
        appearance: button
    }
    ::-webkit-inner-spin-button {
        height: auto
    }
    ::-webkit-outer-spin-button {
        height: auto
    }
    [hidden]:where(:not([hidden=until-found])) {
        display: none !important
    }
}
@layer components;
@layer utilities {
    .visible {
        visibility: visible
    }
    .fixed {
        position: fixed
    }
    .relative {
        position: relative
    }
    .start {
        inset-inline-start: var(--spacing)
    }
    .table {
        display: table
    }
    .transform {
        transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)
    }
}
:root {
    --navy-950: #061925;
    --navy-900: #081f2e;
    --navy-800: #0c2b3d;
    --navy-700: #163e52;
    --ink: #102c3a;
    --muted: #5e7079;
    --line: #dce5e4;
    --paper: #f4f7f5;
    --white: #fff;
    --teal: #0c9992;
    --teal-dark: #08726e;
    --teal-pale: #d9f2ef;
    --orange: #ffb35c;
    --orange-pale: #fff0dd;
    --shadow: 0 20px 55px #041f2d1f
}
* {
    box-sizing: border-box
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 6rem
}
body {
    background: var(--white);
    color: var(--ink);
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    font-family: Aptos,Segoe UI,Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
    font-size: clamp(1rem,.96rem + .16vw,1.08rem);
    line-height: 1.65
}
::selection {
    background: var(--orange);
    color: var(--navy-950)
}
a {
    color: inherit;
    text-decoration: none
}
button,summary {
    font: inherit
}
img,svg {
    max-width: 100%;
    display: block
}
h1,h2,h3,p {
    margin-top: 0
}
h1,h2,h3 {
    color: var(--navy-900);
    letter-spacing: -.035em;
    font-weight: 740;
    line-height: 1.08
}
h1 {
    font-size: clamp(2.75rem,6vw,5.7rem)
}
h2 {
    font-size: clamp(2rem,4vw,3.65rem)
}
h3 {
    font-size: clamp(1.22rem,2vw,1.55rem)
}
.shell {
    width: min(1180px,100% - 3rem);
    margin-inline: auto
}
.section {
    padding-block: clamp(4.8rem,9vw,8rem)
}
.skip-link {
    z-index: 1000;
    background: var(--navy-950);
    color: var(--white);
    border-radius: .5rem;
    padding: .75rem 1rem;
    position: fixed;
    top: .75rem;
    left: .75rem;
    transform: translateY(-150%)
}
.skip-link:focus {
    transform: translateY(0)
}
.site-header {
    z-index: 100;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: #ffffffed;
    border-bottom: 1px solid #0c2b3d17;
    position: sticky;
    top: 0
}
.header-inner {
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    min-height: 78px;
    display: flex
}
.brand {
    flex-shrink: 0;
    align-items: center;
    gap: .78rem;
    display: inline-flex
}
.brand-mark {
    width: 43px;
    height: 43px;
    color: var(--navy-900)
}
.brand-copy {
    flex-direction: column;
    line-height: 1;
    display: flex
}
.brand-copy strong {
    color: var(--navy-900);
    letter-spacing: .075em;
    font-size: 1.1rem
}
.brand-copy small {
    color: var(--muted);
    letter-spacing: .045em;
    margin-top: .43rem;
    font-size: .67rem;
    font-weight: 620
}
.desktop-nav {
    align-items: center;
    gap: clamp(1.2rem,2.4vw,2.25rem);
    display: flex
}
.desktop-nav a {
    color: #2b4654;
    font-size: .92rem;
    font-weight: 650;
    position: relative
}
.desktop-nav a:after {
    background: var(--teal);
    content: "";
    transform-origin: 100%;
    height: 2px;
    transition: transform .18s;
    position: absolute;
    bottom: -.55rem;
    left: 0;
    right: 0;
    transform: scaleX(0)
}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after {
    transform-origin: 0;
    transform: scaleX(1)
}
.header-tools {
    align-items: center;
    gap: .75rem;
    display: flex
}
.button {
    text-align: center;
    border: 1px solid #0000;
    border-radius: .72rem;
    justify-content: center;
    align-items: center;
    min-height: 52px;
    padding: .8rem 1.3rem;
    font-size: .96rem;
    font-weight: 720;
    line-height: 1.15;
    transition: transform .18s,box-shadow .18s,background .18s;
    display: inline-flex
}
.button:hover,.button:focus-visible {
    transform: translateY(-2px)
}
.button-small {
    border-color: var(--line);
    background: var(--white);
    min-height: 42px;
    color: var(--navy-900);
    padding: .65rem 1rem;
    font-size: .86rem
}
.button-primary {
    background: var(--teal);
    color: var(--white);
    box-shadow: 0 13px 30px #0c99923d
}
.button-primary:hover,.button-primary:focus-visible {
    background: var(--teal-dark);
    box-shadow: 0 16px 34px #0c99924d
}
.button-accent {
    background: var(--orange);
    color: var(--navy-950)
}
.text-link {
    color: var(--navy-900);
    align-items: center;
    gap: .7rem;
    font-weight: 730;
    display: inline-flex
}
.text-link span {
    color: var(--teal);
    font-size: 1.2em;
    transition: transform .18s
}
.text-link:hover span,.text-link:focus-visible span {
    transform: translate(4px)
}
.mobile-menu {
    display: none;
    position: relative
}
.mobile-menu summary {
    cursor: pointer;
    border: 1px solid var(--line);
    background: var(--white);
    border-radius: .65rem;
    place-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    list-style: none;
    display: grid
}
.mobile-menu summary::-webkit-details-marker {
    display: none
}
.mobile-menu summary span {
    background: var(--navy-900);
    border-radius: 2px;
    width: 20px;
    height: 2px;
    transition: transform .18s,opacity .18s;
    display: block
}
.mobile-menu[open] summary span:first-child {
    transform: translateY(7px)rotate(45deg)
}
.mobile-menu[open] summary span:nth-child(2) {
    opacity: 0
}
.mobile-menu[open] summary span:nth-child(3) {
    transform: translateY(-7px)rotate(-45deg)
}
.mobile-menu nav {
    border: 1px solid var(--line);
    background: var(--white);
    width: min(310px,100vw - 2rem);
    box-shadow: var(--shadow);
    border-radius: 1rem;
    flex-direction: column;
    padding: .65rem;
    display: flex;
    position: absolute;
    top: calc(100% + .75rem);
    right: 0
}
.mobile-menu nav a {
    color: var(--navy-900);
    border-radius: .6rem;
    padding: .85rem .9rem;
    font-weight: 680
}
.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible {
    background: var(--paper)
}
.mobile-menu nav .mobile-phone {
    background: var(--teal);
    color: var(--white);
    text-align: center;
    margin-top: .35rem
}
.hero {
    background: radial-gradient(circle at 74% 33%,#0c99921c,#0000 28%),linear-gradient(#f9fbfa 0%,#fff 100%);
    padding-block: clamp(4.5rem,8vw,7.5rem);
    position: relative;
    overflow: hidden
}
.hero:before {
    content: "";
    background-image: linear-gradient(#081f2e06 1px,#0000 1px),linear-gradient(90deg,#081f2e06 1px,#0000 1px);
    background-size: 48px 48px;
    position: absolute;
    inset: 0;
    -webkit-mask-image: linear-gradient(#000,#0000 90%);
    mask-image: linear-gradient(#000,#0000 90%)
}
.hero-grid {
    grid-template-columns: minmax(0,1.03fr) minmax(420px,.97fr);
    align-items: center;
    gap: clamp(3rem,7vw,6rem);
    display: grid;
    position: relative
}
.eyebrow {
    color: var(--teal-dark);
    letter-spacing: .13em;
    text-transform: uppercase;
    margin-bottom: 1.2rem;
    font-size: .78rem;
    font-weight: 780;
    line-height: 1.4
}
.eyebrow-light {
    color: #7ee0d8
}
.hero h1 {
    max-width: 760px;
    margin-bottom: 1.7rem
}
.hero-lead {
    color: #4f6671;
    max-width: 680px;
    margin-bottom: 2rem;
    font-size: clamp(1.08rem,1.5vw,1.28rem);
    line-height: 1.68
}
.hero-actions {
    align-items: center;
    gap: 1.5rem;
    display: flex
}
.hero-proof {
    border-top: 1px solid var(--line);
    align-items: flex-start;
    gap: .75rem;
    max-width: 570px;
    margin-top: 2.4rem;
    padding-top: 1.35rem;
    display: flex
}
.hero-proof p {
    color: var(--muted);
    margin: 0;
    font-size: .89rem;
    line-height: 1.55
}
.hero-proof strong {
    color: var(--navy-900)
}
.proof-dot {
    background: var(--teal);
    width: 9px;
    height: 9px;
    box-shadow: 0 0 0 4px var(--teal-pale);
    border: 2px solid #a9ddd8;
    border-radius: 50%;
    flex: none;
    margin-top: .35rem
}
.hero-visual {
    isolation: isolate;
    padding-block: 2rem;
    position: relative
}
.visual-glow {
    z-index: -1;
    aspect-ratio: 1;
    filter: blur(75px);
    background: #ffb35c47;
    border-radius: 50%;
    width: 70%;
    position: absolute;
    top: 8%;
    right: -14%
}
.stack-panel {
    background: linear-gradient(145deg, #ffffff0b, transparent 40%), var(--navy-900);
    color: var(--white);
    border: 1px solid #ffffff14;
    border-radius: 1.6rem;
    padding: clamp(1.25rem,3vw,1.8rem);
    animation: 7s ease-in-out infinite panel-drift;
    position: relative;
    overflow: hidden;
    box-shadow: 0 32px 70px #0619253d
}
.stack-panel:after {
    content: "";
    border: 1px solid #7ee0d824;
    border-radius: 50%;
    width: 190px;
    height: 190px;
    position: absolute;
    bottom: -55px;
    right: -45px;
    box-shadow: 0 0 0 32px #7ee0d809,0 0 0 64px #7ee0d806
}
.stack-heading {
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    display: flex
}
.stack-heading>div {
    flex-direction: column;
    display: flex
}
.micro-label {
    color: #7ee0d8;
    letter-spacing: .12em;
    margin-bottom: .35rem;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: .63rem;
    font-weight: 700
}
.stack-heading strong {
    font-size: clamp(1.12rem,2.2vw,1.42rem)
}
.online-badge {
    color: #a7ece7;
    background: #7ee0d812;
    border: 1px solid #7ee0d82e;
    border-radius: 2rem;
    align-items: center;
    gap: .4rem;
    padding: .35rem .58rem;
    font-size: .67rem;
    font-weight: 700;
    display: inline-flex
}
.online-badge i {
    background: #68d9bb;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    animation: 2.8s ease-out infinite status-pulse;
    box-shadow: 0 0 0 3px #68d9bb24
}
.stack-lines {
    gap: .35rem;
    margin: 1.35rem 0;
    display: flex
}
.stack-lines span {
    background: #ffffff12;
    border-radius: 1rem;
    flex: 1;
    height: 3px
}
.stack-lines span:first-child {
    background: linear-gradient(90deg, var(--teal), #7ee0d8, var(--teal));
    background-size: 220% 100%;
    animation: 4.5s linear infinite signal-flow
}
.stack-item {
    z-index: 1;
    background: #ffffff09;
    border: 1px solid #ffffff14;
    border-radius: .85rem;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: .85rem;
    margin-bottom: .7rem;
    padding: .9rem;
    display: grid;
    position: relative
}
.stack-code {
    color: #8de4dd;
    background: #0c999229;
    border-radius: .6rem;
    place-items: center;
    width: 42px;
    height: 42px;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: .68rem;
    font-weight: 800;
    display: grid
}
.stack-item div {
    flex-direction: column;
    min-width: 0;
    display: flex
}
.stack-item strong {
    letter-spacing: .01em;
    font-size: .88rem
}
.stack-item small {
    color: #8da5b1;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: .18rem;
    font-size: .68rem;
    overflow: hidden
}
.status-ok {
    color: #6ed9b8;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: .65rem;
    font-weight: 800;
    animation: 4.8s ease-in-out infinite status-soft-blink
}
.stack-item:nth-of-type(4) .status-ok {
    animation-delay: .7s
}
.stack-item:nth-of-type(5) .status-ok {
    animation-delay: 1.4s
}
.signal-row {
    z-index: 1;
    border-top: 1px solid #ffffff17;
    align-items: center;
    gap: .8rem;
    margin-top: 1.15rem;
    padding-top: 1.1rem;
    display: flex;
    position: relative
}
.signal-icon {
    background: var(--orange);
    width: 38px;
    height: 38px;
    color: var(--navy-950);
    border-radius: 50%;
    flex: none;
    place-items: center;
    font-weight: 900;
    display: grid
}
.signal-row p {
    flex-direction: column;
    margin: 0;
    display: flex
}
.signal-row strong {
    font-size: .78rem
}
.signal-row small {
    color: #8da5b1;
    margin-top: .15rem;
    font-size: .65rem
}
.visual-note {
    z-index: 3;
    background: #fffffff2;
    border: 1px solid #081f2e14;
    border-radius: .65rem;
    align-items: center;
    gap: .55rem;
    padding: .58rem .75rem;
    font-size: .69rem;
    display: flex;
    position: absolute;
    box-shadow: 0 12px 30px #081f2e21
}
.visual-note span {
    color: var(--teal-dark);
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-weight: 800
}
.visual-note strong {
    color: var(--navy-900)
}
.note-top {
    animation: 6s ease-in-out infinite note-drift;
    top: 7%;
    right: -4%
}
.note-bottom {
    animation: 6s ease-in-out -3s infinite reverse note-drift;
    bottom: 6%;
    left: -5%
}
@keyframes panel-drift {
    0%,to {
        transform: translateY(0)
    }
    50% {
        transform: translateY(-5px)
    }
}
@keyframes note-drift {
    0%,to {
        transform: translateY(0)
    }
    50% {
        transform: translateY(-7px)
    }
}
@keyframes status-pulse {
    0%,45% {
        box-shadow: 0 0 0 3px #68d9bb24
    }
    75% {
        box-shadow: 0 0 0 8px #68d9bb00
    }
    to {
        box-shadow: 0 0 0 3px #68d9bb24
    }
}
@keyframes signal-flow {
    to {
        background-position: -220% 0
    }
}
@keyframes status-soft-blink {
    0%,70%,to {
        opacity: 1
    }
    82% {
        opacity: .55
    }
}
.capability-strip {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--paper)
}
.capability-list {
    grid-template-columns: repeat(4,1fr);
    display: grid
}
.capability-list span {
    border-right: 1px solid var(--line);
    color: #51656f;
    letter-spacing: .035em;
    text-align: center;
    padding: 1.05rem .9rem;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: .7rem;
    font-weight: 700
}
.capability-list span:first-child {
    border-left: 1px solid var(--line)
}
.section-heading {
    margin-bottom: clamp(2.5rem,5vw,4.4rem)
}
.section-heading h2 {
    margin-bottom: 0
}
.split-heading {
    grid-template-columns: 1.1fr .7fr;
    align-items: end;
    gap: 4rem;
    display: grid
}
.split-heading p:last-child {
    color: var(--muted);
    margin-bottom: 0
}
.services-section {
    background: var(--white)
}
.services-grid {
    grid-template-columns: repeat(2,1fr);
    gap: 1rem;
    display: grid
}
.service-card {
    border: 1px solid var(--line);
    background: var(--white);
    border-radius: 1.2rem;
    min-height: 345px;
    padding: clamp(1.5rem,3.2vw,2.35rem);
    transition: border-color .18s,box-shadow .18s,transform .18s;
    position: relative;
    overflow: hidden
}
.service-card:after {
    content: "";
    border: 1px solid #0c999224;
    border-radius: 50%;
    width: 130px;
    height: 130px;
    position: absolute;
    bottom: -45px;
    right: -45px;
    box-shadow: 0 0 0 24px #0c999209
}
.service-card:hover,.service-card:focus-visible {
    border-color: #0c99928c;
    transform: translateY(-4px);
    box-shadow: 0 20px 45px #081f2e17
}
.service-card-top {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3.2rem;
    display: flex
}
.service-number {
    color: #93a3a8;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: .78rem;
    font-weight: 800
}
.service-arrow {
    background: var(--paper);
    width: 40px;
    height: 40px;
    color: var(--teal-dark);
    border-radius: 50%;
    place-items: center;
    font-size: 1.15rem;
    display: grid
}
.service-tag {
    color: var(--teal-dark);
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 760
}
.service-card h3 {
    margin: .75rem 0 1rem;
    font-size: clamp(1.55rem,2.7vw,2.25rem)
}
.service-card p {
    max-width: 510px;
    color: var(--muted);
    margin-bottom: 0
}
.one-care-section {
    background: var(--navy-900);
    color: var(--white);
    padding-block: clamp(5rem,9vw,8rem);
    position: relative;
    overflow: hidden
}
.one-care-section:after {
    content: "";
    border: 1px solid #7ee0d814;
    border-radius: 50%;
    width: 650px;
    height: 650px;
    position: absolute;
    top: -35%;
    right: -15%;
    box-shadow: 0 0 0 90px #7ee0d806,0 0 0 180px #7ee0d805
}
.one-care-grid {
    z-index: 1;
    grid-template-columns: 1.05fr .95fr;
    align-items: start;
    gap: clamp(3rem,8vw,7rem);
    display: grid;
    position: relative
}
.one-care-copy h2 {
    color: var(--white)
}
.one-care-copy>p:not(.eyebrow) {
    color: #b8c8cf;
    font-size: 1.07rem
}
.one-care-copy blockquote {
    border-left: 3px solid var(--orange);
    color: #f2f6f7;
    margin: 2.2rem 0 0;
    padding: 1.35rem 0 1.35rem 1.45rem;
    font-size: clamp(1.05rem,1.6vw,1.23rem);
    font-weight: 620;
    line-height: 1.6
}
.care-metrics {
    border-top: 1px solid #ffffff1f;
    flex-direction: column;
    display: flex
}
.care-metrics>div {
    border-bottom: 1px solid #ffffff1f;
    grid-template-columns: auto 1fr;
    gap: .6rem 1.1rem;
    padding: 1.55rem 0;
    display: grid
}
.care-metrics span {
    color: #68cfc8;
    grid-row: span 2;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: .76rem;
    font-weight: 800
}
.care-metrics strong {
    color: var(--white);
    font-size: 1.07rem
}
.care-metrics p {
    color: #8fa6b0;
    margin: 0;
    font-size: .9rem
}
.process-section {
    background: var(--paper)
}
.compact-heading {
    max-width: 760px
}
.process-grid {
    grid-template-columns: repeat(3,1fr);
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}
.process-grid li {
    border-top: 1px solid #cbd9d7;
    border-right: 1px solid #cbd9d7;
    min-height: 270px;
    padding: 1.8rem
}
.process-grid li:first-child {
    border-left: 1px solid #cbd9d7
}
.process-grid span {
    background: var(--orange-pale);
    color: #a55a10;
    border-radius: 50%;
    place-items: center;
    width: 39px;
    height: 39px;
    margin-bottom: 3.2rem;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: .76rem;
    font-weight: 800;
    display: grid
}
.process-grid h3 {
    margin-bottom: .85rem
}
.process-grid p {
    color: var(--muted);
    margin: 0;
    font-size: .94rem
}
.about-preview-grid {
    grid-template-columns: minmax(260px,.65fr) 1.35fr;
    align-items: center;
    gap: clamp(3rem,9vw,8rem);
    display: grid
}
.about-year {
    aspect-ratio: 1;
    background: var(--teal-pale);
    color: var(--navy-900);
    border-radius: 50%;
    flex-direction: column;
    justify-content: center;
    padding: 2.5rem;
    display: flex;
    position: relative
}
.about-year:before,.about-year:after {
    content: "";
    border-radius: 50%;
    position: absolute
}
.about-year:before {
    border: 1px solid #0c99923d;
    inset: 12px
}
.about-year:after {
    aspect-ratio: 1;
    background: var(--orange);
    width: 18%;
    top: 12%;
    right: 8%
}
.about-year span,.about-year small {
    z-index: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 720;
    position: relative
}
.about-year strong {
    z-index: 1;
    letter-spacing: -.07em;
    font-size: clamp(3.2rem,7vw,5.7rem);
    line-height: 1;
    position: relative
}
.about-preview-copy h2 {
    margin-bottom: 1.4rem
}
.about-preview-copy>p:not(.eyebrow) {
    color: var(--muted);
    font-size: 1.05rem
}
.about-preview-copy>p a {
    color: var(--teal-dark);
    text-underline-offset: 3px;
    font-weight: 700;
    -webkit-text-decoration: underline #0c999259;
    text-decoration: underline #0c999259
}
.faq-section {
    border-top: 1px solid var(--line);
    background: #fbfcfb
}
.faq-grid {
    grid-template-columns: .75fr 1.25fr;
    align-items: start;
    gap: clamp(3rem,8vw,7rem);
    display: grid
}
.faq-heading {
    margin-bottom: 0;
    position: sticky;
    top: 7rem
}
.faq-heading h2 {
    margin-bottom: 1.25rem
}
.faq-heading>p:last-child {
    color: var(--muted)
}
.faq-list {
    border-top: 1px solid var(--line)
}
.faq-list details {
    border-bottom: 1px solid var(--line)
}
.faq-list summary {
    cursor: pointer;
    color: var(--navy-900);
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 1.35rem 0;
    font-weight: 720;
    line-height: 1.4;
    list-style: none;
    display: flex
}
.faq-list summary::-webkit-details-marker {
    display: none
}
.faq-list summary span {
    background: var(--paper);
    width: 30px;
    height: 30px;
    color: var(--teal-dark);
    border-radius: 50%;
    flex: none;
    place-items: center;
    font-size: 1.2rem;
    font-weight: 500;
    transition: transform .18s;
    display: grid
}
.faq-list details[open] summary span {
    transform: rotate(45deg)
}
.faq-list details p {
    color: var(--muted);
    padding: 0 3.5rem 1.45rem 0
}
.contact-band {
    background: var(--teal-dark);
    color: var(--white);
    padding-block: clamp(3.8rem,7vw,6rem)
}
.contact-band-inner {
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
    gap: 3rem;
    display: grid
}
.contact-band h2 {
    max-width: 700px;
    color: var(--white);
    margin-bottom: 1rem;
    font-size: clamp(2rem,4vw,3.3rem)
}
.contact-band p:not(.eyebrow) {
    color: #c9e8e5;
    max-width: 700px;
    margin-bottom: 0
}
.contact-band-actions {
    flex-direction: column;
    align-items: stretch;
    gap: .8rem;
    display: flex
}
.copy-email {
    border: 1px solid var(--line);
    background: var(--white);
    min-width: 0;
    color: var(--navy-900);
    border-radius: .72rem;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding: .48rem .48rem .48rem .9rem;
    display: flex
}
.copy-email span {
    text-overflow: ellipsis;
    -webkit-user-select: all;
    user-select: all;
    white-space: nowrap;
    min-width: 0;
    font-size: clamp(.74rem,1.5vw,.9rem);
    font-weight: 700;
    overflow: hidden
}
.copy-email button {
    cursor: pointer;
    background: var(--navy-900);
    min-height: 39px;
    color: var(--white);
    border: 0;
    border-radius: .5rem;
    flex: none;
    padding: .55rem .72rem;
    font-size: .72rem;
    font-weight: 730
}
.copy-email-light {
    color: var(--white);
    background: #ffffff14;
    border-color: #ffffff40
}
.copy-email-light button {
    background: var(--white);
    color: var(--navy-900)
}
.site-footer {
    background: var(--navy-950);
    color: #9db0b9;
    padding-top: clamp(4rem,7vw,6.5rem)
}
.footer-grid {
    grid-template-columns: 1.45fr .8fr .8fr 1fr;
    gap: 2.5rem;
    padding-bottom: 4rem;
    display: grid
}
.brand-footer .brand-mark {
    color: var(--teal)
}
.brand-footer .brand-copy strong {
    color: var(--white)
}
.brand-footer .brand-copy small {
    color: #7f98a4
}
.footer-brand>p {
    color: #8196a0;
    max-width: 360px;
    margin: 1.5rem 0 0;
    font-size: .9rem
}
.site-footer h2 {
    color: var(--white);
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 1.15rem;
    font-size: .78rem
}
.site-footer ul {
    margin: 0;
    padding: 0;
    list-style: none
}
.site-footer li {
    margin-bottom: .62rem
}
.site-footer li a,.footer-contact a {
    color: #9db0b9;
    font-size: .87rem
}
.site-footer li a:hover,.site-footer li a:focus-visible,.footer-contact a:hover,.footer-contact a:focus-visible {
    color: var(--white)
}
.footer-contact p {
    margin-bottom: .65rem;
    font-size: .87rem;
    line-height: 1.55
}
.footer-contact>a,.footer-contact>span {
    margin-bottom: .45rem;
    display: block
}
.selectable-email {
    color: #d3dde1;
    -webkit-user-select: all;
    user-select: all;
    font-size: .84rem
}
.footer-contact .nip {
    color: #718791;
    margin-top: .9rem;
    font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    font-size: .72rem
}
.footer-bottom {
    border-top: 1px solid #ffffff14;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-block: 1.35rem;
    display: flex
}
.footer-bottom p {
    color: #607984;
    margin: 0;
    font-size: .72rem
}
.page-hero {
    background: radial-gradient(circle at 85% 0%, #0c99921f, transparent 32%), var(--paper);
    padding-block: clamp(4.5rem,9vw,8rem);
    position: relative;
    overflow: hidden
}
.page-hero:after {
    content: "";
    border: 1px solid #0c99921f;
    border-radius: 50%;
    width: 420px;
    height: 420px;
    position: absolute;
    bottom: -75%;
    right: -5%;
    box-shadow: 0 0 0 55px #0c999206,0 0 0 110px #0c999205
}
.page-hero-inner {
    z-index: 1;
    position: relative
}
.page-hero h1 {
    max-width: 920px;
    margin-bottom: 1.5rem;
    font-size: clamp(2.65rem,6vw,5rem)
}
.page-lead {
    max-width: 790px;
    color: var(--muted);
    margin-bottom: 0;
    font-size: clamp(1.1rem,2vw,1.32rem)
}
.service-layout {
    grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
    align-items: start;
    gap: clamp(3rem,8vw,7rem);
    display: grid
}
.prose {
    color: #4d626c
}
.prose h2 {
    margin-bottom: 1.35rem;
    font-size: clamp(1.8rem,3.4vw,3rem)
}
.prose h3 {
    margin-bottom: .45rem
}
.prose p,.prose li {
    line-height: 1.75
}
.prose a {
    color: var(--teal-dark);
    text-underline-offset: 3px;
    font-weight: 700;
    text-decoration: underline
}
.feature-list {
    border-top: 1px solid var(--line);
    margin-top: 2.8rem
}
.feature-item {
    border-bottom: 1px solid var(--line);
    grid-template-columns: auto 1fr;
    gap: 1.1rem;
    padding: 1.45rem 0;
    display: grid
}
.feature-item>span {
    background: var(--teal-pale);
    width: 31px;
    height: 31px;
    color: var(--teal-dark);
    border-radius: 50%;
    place-items: center;
    font-size: .76rem;
    font-weight: 900;
    display: grid
}
.feature-item h3 {
    letter-spacing: -.015em;
    margin-top: .15rem;
    font-size: 1.15rem
}
.feature-item p {
    margin: 0;
    font-size: .94rem
}
.service-aside {
    flex-direction: column;
    gap: 1rem;
    display: flex
}
.aside-card {
    border: 1px solid var(--line);
    background: var(--white);
    border-radius: 1.1rem;
    padding: clamp(1.4rem,3vw,2rem)
}
.aside-card h2 {
    letter-spacing: -.015em;
    margin-bottom: 1.15rem;
    font-size: 1.15rem
}
.aside-dark {
    border-color: var(--navy-900);
    background: var(--navy-900);
    color: var(--white)
}
.check-list,.related-links {
    margin: 0;
    padding: 0;
    list-style: none
}
.check-list li {
    color: #cad6da;
    border-bottom: 1px solid #ffffff17;
    padding: .85rem 0 .85rem 1.5rem;
    font-size: .91rem;
    position: relative
}
.check-list li:last-child {
    border-bottom: 0
}
.check-list li:before {
    background: var(--orange);
    content: "";
    border-radius: 50%;
    width: 7px;
    height: 7px;
    position: absolute;
    top: 1.02rem;
    left: 0
}
.related-links li {
    border-top: 1px solid var(--line)
}
.related-links a {
    color: #48606b;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: .85rem 0;
    font-size: .9rem;
    font-weight: 660;
    display: flex
}
.related-links a span {
    color: var(--teal)
}
.legal-layout {
    grid-template-columns: 250px minmax(0,760px);
    align-items: start;
    gap: clamp(3rem,7vw,6rem);
    display: grid
}
.legal-nav {
    border: 1px solid var(--line);
    background: var(--paper);
    border-radius: .9rem;
    padding: 1.2rem;
    position: sticky;
    top: 7rem
}
.legal-nav strong {
    color: var(--navy-900);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .75rem;
    font-size: .76rem;
    display: block
}
.legal-nav a {
    color: var(--muted);
    padding: .38rem 0;
    font-size: .82rem;
    display: block
}
.legal-content section {
    margin-bottom: 2.7rem;
    scroll-margin-top: 7rem
}
.legal-content h2 {
    letter-spacing: -.025em;
    margin-bottom: 1rem;
    font-size: clamp(1.4rem,2.5vw,2rem)
}
.legal-content h3 {
    letter-spacing: -.01em;
    margin: 1.5rem 0 .6rem;
    font-size: 1.05rem
}
.legal-content p,.legal-content li {
    color: #4d626c;
    font-size: .95rem;
    line-height: 1.78
}
.legal-content ul,.legal-content ol {
    padding-left: 1.3rem
}
.legal-content li {
    margin-bottom: .5rem
}
.legal-note {
    border-left: 3px solid var(--teal);
    background: var(--paper);
    border-radius: 0 .65rem .65rem 0;
    padding: 1.15rem 1.25rem
}
.legal-updated {
    color: var(--muted);
    font-size: .82rem
}
.contact-page-grid {
    grid-template-columns: 1.05fr .95fr;
    align-items: start;
    gap: clamp(2.5rem,6vw,5rem);
    display: grid
}
.contact-direct h2,.company-data h2 {
    margin-bottom: 1.2rem;
    font-size: clamp(1.7rem,3vw,2.55rem)
}
.contact-direct>p,.company-data>p {
    color: var(--muted)
}
.contact-methods {
    flex-direction: column;
    gap: .9rem;
    margin-top: 2rem;
    display: flex
}
.contact-method {
    border: 1px solid var(--line);
    background: var(--white);
    border-radius: .9rem;
    padding: 1.3rem
}
.contact-method small {
    color: var(--teal-dark);
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: .45rem;
    font-size: .7rem;
    font-weight: 760;
    display: block
}
.contact-method>a {
    color: var(--navy-900);
    letter-spacing: -.03em;
    font-size: clamp(1.35rem,3vw,2rem);
    font-weight: 760
}
.company-data {
    background: var(--navy-900);
    color: #c6d2d7;
    border-radius: 1.2rem;
    padding: clamp(1.5rem,4vw,2.5rem)
}
.company-data h2 {
    color: var(--white)
}
.company-data dl {
    gap: 0;
    margin: 2rem 0 0;
    display: grid
}
.company-data dl>div {
    border-top: 1px solid #ffffff1a;
    padding: 1rem 0
}
.company-data dt {
    color: #7ee0d8;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: .3rem;
    font-size: .68rem;
    font-weight: 760
}
.company-data dd {
    color: var(--white);
    margin: 0;
    font-size: .95rem
}
.about-story {
    grid-template-columns: .8fr 1.2fr;
    align-items: start;
    gap: clamp(3rem,8vw,7rem);
    display: grid
}
.about-figure {
    position: sticky;
    top: 7rem
}
.about-figure .about-year {
    max-width: 360px
}
.about-story-copy h2 {
    margin-bottom: 1.4rem
}
.about-story-copy>p {
    color: var(--muted);
    font-size: 1.03rem
}
.value-list {
    grid-template-columns: repeat(2,1fr);
    gap: 1rem;
    margin-top: 2.5rem;
    display: grid
}
.value-card {
    border: 1px solid var(--line);
    background: var(--paper);
    border-radius: .9rem;
    padding: 1.4rem
}
.value-card h3 {
    letter-spacing: -.015em;
    font-size: 1.05rem
}
.value-card p {
    color: var(--muted);
    margin: 0;
    font-size: .88rem
}
.not-found {
    background: var(--paper);
    place-items: center;
    min-height: 68vh;
    padding-block: 5rem;
    display: grid
}
.not-found-inner {
    text-align: center;
    max-width: 760px
}
.not-found h1 {
    margin-bottom: 1rem;
    font-size: clamp(2.7rem,7vw,5rem)
}
.not-found-inner>p:not(.eyebrow) {
    color: var(--muted);
    margin-bottom: 2rem;
    font-size: 1.1rem
}
@media (width<=1020px) {
    .hero-grid {
        grid-template-columns: minmax(0,1fr) minmax(380px,.9fr);
        gap: 3rem
    }
    .footer-grid {
        grid-template-columns: 1.3fr repeat(3,1fr)
    }
    .header-phone {
        display: none
    }
}
@media (width<=860px) {
    .desktop-nav {
        display: none
    }
    .mobile-menu {
        display: block
    }
    .hero-grid,.one-care-grid,.split-heading,.faq-grid,.contact-band-inner,.service-layout,.contact-page-grid,.about-story {
        grid-template-columns: 1fr
    }
    .hero-copy {
        max-width: 720px
    }
    .hero-visual {
        width: min(620px,100%);
        margin-inline: auto
    }
    .capability-list {
        grid-template-columns: repeat(2,1fr)
    }
    .capability-list span:nth-child(2) {
        border-right: 1px solid var(--line)
    }
    .capability-list span:nth-child(-n+2) {
        border-bottom: 1px solid var(--line)
    }
    .split-heading {
        gap: 1.3rem
    }
    .faq-heading,.legal-nav,.about-figure {
        position: static
    }
    .faq-heading {
        margin-bottom: 0
    }
    .about-preview-grid {
        grid-template-columns: minmax(220px,.6fr) 1.4fr;
        gap: 3rem
    }
    .footer-grid {
        grid-template-columns: repeat(2,1fr)
    }
    .footer-brand {
        grid-column: 1/-1
    }
    .legal-layout {
        grid-template-columns: 1fr
    }
    .legal-nav {
        display: none
    }
    .service-aside {
        grid-template-columns: repeat(2,1fr);
        display: grid
    }
    .about-figure .about-year {
        max-width: 320px
    }
}
@media (width<=640px) {
    .shell {
        width: min(100% - 2rem,1180px)
    }
    .header-inner {
        min-height: 70px
    }
    .brand-mark {
        width: 39px;
        height: 39px
    }
    .brand-copy small {
        display: none
    }
    .hero {
        padding-top: 3.7rem
    }
    .hero h1 {
        font-size: clamp(2.65rem,14vw,4.2rem)
    }
    .hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem
    }
    .hero-actions .text-link {
        justify-content: center
    }
    .hero-proof {
        margin-top: 1.8rem
    }
    .hero-visual {
        padding: 1rem 0
    }
    .visual-note {
        display: none
    }
    .stack-heading {
        flex-direction: column;
        align-items: flex-start
    }
    .online-badge {
        position: absolute;
        top: 1.25rem;
        right: 1.25rem
    }
    .stack-item {
        gap: .65rem;
        padding: .75rem
    }
    .stack-code {
        width: 36px;
        height: 36px
    }
    .stack-item strong {
        font-size: .8rem
    }
    .capability-list span {
        padding-inline: .4rem;
        font-size: .61rem
    }
    .services-grid,.process-grid,.value-list,.service-aside {
        grid-template-columns: 1fr
    }
    .service-card {
        min-height: 310px
    }
    .process-grid li {
        border-bottom: 0;
        border-left: 1px solid #cbd9d7;
        border-right: 1px solid #cbd9d7;
        min-height: 0
    }
    .process-grid li:last-child {
        border-bottom: 1px solid #cbd9d7
    }
    .process-grid span {
        margin-bottom: 2rem
    }
    .about-preview-grid {
        grid-template-columns: 1fr
    }
    .about-year {
        width: min(270px,88%)
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr
    }
    .footer-contact {
        grid-column: 1/-1
    }
    .footer-bottom {
        flex-direction: column;
        align-items: flex-start
    }
    .copy-email {
        flex-direction: column;
        align-items: stretch;
        padding: .75rem
    }
    .copy-email span {
        padding: .25rem .15rem;
        font-size: .82rem
    }
    .page-hero h1 {
        font-size: clamp(2.4rem,12vw,3.7rem)
    }
    .legal-content ul,.legal-content ol {
        padding-left: 1.05rem
    }
}
@media (prefers-reduced-motion:reduce) {
    *,:before,:after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important
    }
}
@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}
@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}
@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}
@property --tw-skew-x {
    syntax: "*";
    inherits: false
}
@property --tw-skew-y {
    syntax: "*";
    inherits: false
}
