:root{--color-midnight-indigo: #1f325a;--color-periwinkle: #5f759f;--color-mist-blue: #d9e0ec;--color-cool-white: #f4f7fb;--color-white: #ffffff;--color-text-muted: #546074;--color-background: var(--color-cool-white);--color-surface: var(--color-white);--color-text: #17213a;--color-accent: #2f5aa7;--color-border: var(--color-mist-blue);--color-focus: #2f5aa7;--color-success: #257a4f;--color-danger: #b93d3d;--color-warning: #fff3cc;--color-warning-border: #eddca8;--color-warning-text: #5c4a1d;--color-surface-soft: color-mix(in srgb, var(--color-mist-blue) 17%, var(--color-white) 83%);--background-image: none;--background-overlay: none;--container-width: 72rem;--container-width-narrow: 62rem;--container-width-reading: 52rem;--space-page: clamp(1rem, 4vw, 2rem);--space-section: clamp(3.75rem, 8vw, 6rem);--space-section-tight: clamp(2.5rem, 5vw, 4rem);--space-stack: clamp(1rem, 2vw, 1.35rem);--radius-small: .25rem;--radius-medium: .75rem;--card-padding: 1.35rem;--max-text-columns: 68ch;--color-text-soft: color-mix(in srgb, var(--color-text) 84%, white 16%);--color-card-border: color-mix(in srgb, var(--color-periwinkle) 26%, var(--color-border) 74%);--color-card-shadow: rgb(31 50 90 / .08);--color-card-shadow-hover: rgb(31 50 90 / .16);--card-outline-glow: color-mix(in srgb, var(--color-accent) 11%, transparent)}*,*:before,*:after{box-sizing:border-box}html{color:var(--color-text);background:var(--color-background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:100%;line-height:1.66;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{display:flex;flex-direction:column;min-width:20rem;min-height:100vh;margin:0;font-size:clamp(1rem,.96rem + .2vw,1.075rem);background-color:var(--color-background);background-image:var(--background-overlay),var(--background-image);color:var(--color-text)}main{flex:1;min-height:50vh}h1,h2,h3,p{margin-block-start:0;max-width:var(--max-text-columns);overflow-wrap:anywhere}ol,ul{margin:0 0 1rem}h1,h2,h3{line-height:1.12;text-wrap:balance}h1{max-width:14ch;margin-block-end:var(--space-stack);font-size:clamp(2.5rem,7vw,4.5rem);letter-spacing:-.02em;font-weight:700}h2{font-size:clamp(1.8rem,4vw,2.75rem);font-weight:680;max-width:18ch}h3{font-size:clamp(1.2rem,2vw,1.65rem);font-weight:640}p{margin-block:0 1rem;max-width:var(--max-text-columns);color:var(--color-text-soft)}a{color:inherit;text-underline-offset:.2em;text-underline-position:under}a:hover{text-decoration-thickness:.12em}:focus-visible{outline:.2rem solid var(--color-focus);outline-offset:.2rem;box-shadow:0 0 0 .35rem var(--color-white)}.container{width:min(calc(100% - (2 * var(--space-page))),var(--container-width));margin-inline:auto}.skip-link{position:fixed;z-index:100;inset-block-start:.75rem;inset-inline-start:.75rem;min-height:2.75rem;padding:.65rem 1rem;color:var(--color-white);background:var(--color-midnight-indigo);border-radius:var(--radius-small);transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.site-header{background:var(--color-surface);border-block-end:1px solid var(--color-border);box-shadow:0 .15rem .8rem #17213a0d}.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem clamp(1rem,4vw,2.5rem);min-height:5rem;padding-block:.75rem}.wordmark{display:inline-flex;align-items:center;min-height:2.75rem;text-decoration:none}.wordmark__logo{display:block;width:auto;height:2.75rem}.site-nav{display:flex;flex-wrap:wrap;gap:0 .25rem;list-style:none;margin:0;padding:0}.site-nav a,.site-footer a{display:inline-flex;align-items:center;min-height:2.75rem}.site-nav a{padding-inline:clamp(.5rem,1.5vw,.85rem);border-radius:var(--radius-small);font-size:.95rem;font-weight:650;text-decoration:none;color:var(--color-text);transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-midnight-indigo);background:color-mix(in srgb,var(--color-mist-blue) 72%,white 28%);box-shadow:inset 0 -.15rem color-mix(in srgb,var(--color-accent) 38%,transparent)}.site-nav a:focus-visible{color:var(--color-midnight-indigo);box-shadow:inset 0 -.15rem 0 0 var(--color-accent);transform:translateY(-1px)}.shell-intro{padding-block:clamp(3.5rem,8vw,7rem)}.shell-intro p{max-width:50rem;color:var(--color-text-muted);font-size:clamp(1.05rem,.96rem + .45vw,1.3rem);line-height:1.7}.prose{display:grid;gap:1rem}.prose p,.prose li,.prose h3,.prose h2{max-width:66ch;color:var(--color-text)}.prose p{line-height:1.74}.prose ul,.prose ol{margin:0;padding-inline-start:1.25rem}.prose li{line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;margin-block-start:.75rem;padding:.7rem 1.1rem;color:var(--color-white);background:var(--color-midnight-indigo);border:1px solid color-mix(in srgb,var(--color-midnight-indigo) 86%,black 14%);font-weight:720;letter-spacing:.01em;border-radius:.4rem;cursor:pointer;text-align:center;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .14s ease;box-shadow:0 .4rem 1rem -.75rem color-mix(in srgb,var(--color-midnight-indigo) 55%,transparent)}.button--secondary{color:var(--color-midnight-indigo);background:var(--color-white);border-color:color-mix(in srgb,var(--color-midnight-indigo) 52%,var(--color-periwinkle));box-shadow:0 .35rem .9rem -.8rem var(--color-midnight-indigo)}.button--secondary:hover{color:var(--color-white);background:var(--color-midnight-indigo);transform:translateY(-1px);box-shadow:0 .45rem 1.1rem -.8rem var(--color-midnight-indigo)}.button--secondary:focus-visible{background:var(--color-midnight-indigo);color:var(--color-white);border-color:var(--color-white);transform:translateY(-1px)}.eyebrow{margin-block-end:.75rem;color:var(--color-periwinkle);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero{padding-block:clamp(3.5rem,9vw,7rem)}.hero__lead,.section-header>p,.prose p{max-width:48rem;color:var(--color-text-muted);font-size:clamp(1.05rem,1rem + .35vw,1.25rem);line-height:1.62}.action-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-block-start:1.5rem}.page-section{padding-block:var(--space-section);position:relative;isolation:isolate;scroll-margin-top:5.5rem}.page-section+.page-section:before{content:"";position:absolute;top:0;inset-inline:clamp(.5rem,4vw,3rem);inline-size:calc(100% - (2*clamp(.5rem,4vw,3rem)));block-size:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--color-periwinkle) 52%,transparent),transparent)}.page-section--muted{background:linear-gradient(180deg,var(--color-surface-soft),color-mix(in srgb,var(--color-surface-soft) 58%,var(--color-white) 42%))}.page-section--muted+.page-section:not(.page-section--muted){padding-block:calc(var(--space-section) + .55rem) var(--space-section)}.page-section:not(.page-section--muted)+.page-section--muted{padding-block:calc(var(--space-section) + .35rem) var(--space-section)}.section-header{display:grid;gap:var(--space-stack);margin-block-end:clamp(1.2rem,2.8vw,2rem)}.section-header h2,.section-header p{margin-block-end:0}.hero__lead,.hero__lead+.action-row{max-width:48rem}.hero__lead{color:color-mix(in srgb,var(--color-text-muted) 86%,black 14%)}.button:hover{background:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 86%,black 14%);transform:translateY(-1px);box-shadow:0 .55rem 1.15rem -.75rem color-mix(in srgb,var(--color-accent) 70%,transparent),0 0 0 1px color-mix(in srgb,var(--color-accent) 32%,transparent)}.button:focus-visible{outline:none;box-shadow:0 0 0 .22rem color-mix(in srgb,var(--color-white) 65%,transparent),0 0 0 .38rem var(--color-midnight-indigo)}.button:active{transform:translateY(0);box-shadow:0 .2rem .5rem -.35rem color-mix(in srgb,var(--color-midnight-indigo) 70%,transparent)}.button[disabled],.button[aria-disabled=true]{background:color-mix(in srgb,var(--color-mist-blue) 65%,var(--color-white));border-color:color-mix(in srgb,var(--color-periwinkle) 45%,var(--color-border));color:var(--color-text-muted);opacity:.85;cursor:not-allowed;transform:none;box-shadow:none}.card-grid,.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.15rem;margin-block-start:1.6rem}.service-card{display:grid;gap:1rem;min-height:100%;position:relative;padding:var(--card-padding);background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-medium);box-shadow:0 .6rem 1.5rem -1rem var(--color-card-shadow);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background-color .18s ease}.service-card:before{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid var(--card-outline-glow);opacity:0;pointer-events:none;transition:opacity .18s ease}.service-card:hover,.service-card:focus-within{border-color:color-mix(in srgb,var(--color-periwinkle) 45%,var(--color-border));transform:translateY(-.15rem);box-shadow:0 1.1rem 2rem -1rem var(--color-card-shadow-hover);background:color-mix(in srgb,var(--color-white) 94%,var(--color-mist-blue) 6%)}.service-card:hover:before,.service-card:focus-within:before{opacity:1}.service-card h3{margin-block-end:.35rem;font-size:clamp(1.1rem,1.9vw,1.45rem);line-height:1.3}.service-card h3 a{display:block;width:100%;overflow-wrap:anywhere;text-wrap:pretty;hyphens:auto}.service-card__audience{margin:.35rem 0 0;padding:.5rem .7rem;border-inline-start:.25rem solid var(--color-accent);background:color-mix(in srgb,var(--color-mist-blue) 38%,white 62%);border-radius:var(--radius-small);color:var(--color-text);font-size:.92rem;line-height:1.5}.service-card__audience strong{color:var(--color-midnight-indigo);font-weight:720;letter-spacing:.01em}.service-card ul{margin:.4rem 0 0;padding-inline-start:1.15rem}.service-card li{margin-block-end:.5rem;color:var(--color-text-soft)}.service-card__link{width:fit-content;padding:.05rem 0;font-weight:670;text-underline-offset:.18rem;margin-block-start:auto;display:inline-flex;align-items:center;gap:.35rem;color:var(--color-midnight-indigo);transition:color .15s ease,transform .15s ease}.service-card__link:after{content:"→";display:inline-block;transition:transform .15s ease}.service-card:hover .service-card__link:after,.service-card:focus-within .service-card__link:after{transform:translate(.15rem)}.service-card__link:hover,.service-card__link:focus-visible{color:var(--color-midnight-indigo)}.service-detail{padding-block:clamp(3rem,8vw,5rem)}.breadcrumb{margin-block-end:1.2rem;font-size:.92rem}.breadcrumb a{color:var(--color-periwinkle);font-weight:700;text-decoration:none}.service-detail__header h1{max-width:18ch}.service-detail__lede{margin-block:0;color:var(--color-text-muted)}.service-detail__copy{display:grid;gap:1.5rem}.service-detail__main,.service-detail__section,.service-detail__value,.service-detail__content,.service-detail__related{margin-block-start:1.35rem;padding:1.1rem;background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-small);box-shadow:0 .5rem 1.2rem -1rem var(--color-card-shadow)}.service-detail__main{display:grid;gap:1rem}.service-detail__outcomes ul,.service-detail__section ul{margin-block:.5rem 0;padding-inline-start:1.25rem}.service-detail__outcomes li,.service-detail__section li,.service-detail__related li{margin-block-end:.55rem}.service-detail__content h2,.service-detail__related h2,.service-detail__value h2,.service-detail__section h2{margin-block:0 .55rem}.service-detail__related ul{display:grid;gap:.5rem;margin:.5rem 0;padding:0;list-style:none}.service-detail__related a{display:inline-flex;min-height:2.25rem;align-items:center}.service-detail__related a:hover{color:var(--color-periwinkle)}.lifecycle{display:grid;gap:1.1rem;padding:0;margin:1.55rem 0 0;list-style:none;counter-reset:lifecycle}.lifecycle__item{counter-increment:lifecycle;padding:1.2rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-small);box-shadow:0 .45rem 1rem -.9rem var(--color-card-shadow)}.lifecycle__item h3:before{content:counter(lifecycle,decimal-leading-zero) " ";color:var(--color-periwinkle);font-weight:700;margin-inline-end:.5rem}.split-list{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}.feature-list{display:grid;gap:1rem;padding:0;margin:0;list-style:none}.feature-list li{padding-inline-start:1rem;border-inline-start:.25rem solid var(--color-periwinkle)}.feature-list li+li{margin-block-start:.4rem}.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-block:.3rem;padding:clamp(2rem,5vw,3rem);border:1px solid var(--color-card-border);border-radius:var(--radius-medium);background:linear-gradient(140deg,var(--color-white),var(--color-surface-soft));box-shadow:0 .8rem 1.8rem -1.2rem var(--color-card-shadow)}.cta p{max-width:48rem;color:var(--color-text-muted)}.cta h2{max-width:20ch}.contact-form{display:grid;gap:1.25rem}.contact-details-list{margin:0;padding-inline-start:1.25rem;display:grid;gap:.5rem;color:var(--color-text-soft)}.contact-form p{color:var(--color-text-muted)}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.field{display:grid;gap:.4rem;color:var(--color-text);font-weight:600}.field input,.field select,.field textarea{min-height:2.75rem;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text);background:var(--color-white);font:inherit}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--color-focus) 85%,white);outline-offset:2px;border-color:color-mix(in srgb,var(--color-focus) 70%,var(--color-border))}.field textarea{min-height:10rem;resize:vertical}.contact-form__actions{display:flex;gap:1rem;align-items:center}.contact-form__status{margin:0;color:var(--color-text-muted);min-height:2rem}.contact-form__status[data-state=ok]{color:var(--color-success)}.contact-form__status[data-state=error]{color:var(--color-danger)}.warning-banner{padding:.85rem 1rem;border:1px solid var(--color-warning-border);border-radius:var(--radius-small);background:var(--color-warning);color:var(--color-warning-text)}.contact-notice{margin-block-start:.8rem;max-width:72ch;padding:.55rem .7rem .6rem .85rem;color:var(--color-text-muted);border-inline-start:.22rem solid color-mix(in srgb,var(--color-periwinkle) 56%,var(--color-text));font-size:.94rem;line-height:1.52}.contact-notice__label{font-weight:700;color:var(--color-midnight-indigo);display:inline}.field--honeypot{position:absolute;left:-10000px;opacity:0;pointer-events:none}.field--turnstile{margin-block-start:.5rem}.field--small{margin-block:.25rem;align-items:start;grid-template-columns:auto 1fr;font-size:.95rem}.field--small input{margin-block-start:.2rem}.site-footer{padding-block:clamp(2.5rem,7vw,4rem);color:var(--color-text);background:var(--color-surface);border-block-start:1px solid var(--color-border)}.site-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1.5rem clamp(1.5rem,5vw,4rem)}.site-footer p{margin-block-end:.25rem}.site-footer__name{font-weight:750}.site-footer__legal{margin-block-start:.2rem;color:color-mix(in srgb,var(--color-text) 72%,white 28%);font-size:.95rem}.site-footer__logo{display:block;width:clamp(6rem,24vw,11rem);height:auto;margin-block-end:.75rem}.site-footer__contact{display:flex;flex-direction:column;font-style:normal;overflow-wrap:anywhere}.site-footer__links{list-style:none;margin:0;padding:0}.site-footer__irap-mark:empty{display:none}@media(max-width:44rem){.site-header__inner{align-items:flex-start;flex-direction:column}.site-nav{margin-inline:-.5rem}.split-list,.service-grid,.card-grid{grid-template-columns:1fr}.hero,.hero__lead,.section-header>p,.prose p,.service-card p,p{max-width:none}h1{font-size:clamp(2rem,11vw,2.9rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
