@charset "UTF-8";
:root{--navy:#071726;--navy-soft:#102437;--ink:#142534;--silver:#c7cdd4;--white:#fff;--paper:#f4f6f8;--muted:#64707c;--line:#d8dee4;--container:80rem;--space:clamp(1.25rem,4vw,4rem);--ease:cubic-bezier(.22,1,.36,1);color-scheme:light;font-family:"Segoe UI",Arial,sans-serif;font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;background:var(--white);color:var(--ink);font-size:1rem;line-height:1.65;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button[hidden]{display:none}
svg{display:block}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.045em;text-wrap:balance;overflow-wrap:anywhere}
a:focus-visible,button:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 8px #071726}
.container{width:min(var(--container),calc(100% - var(--space)*2));margin-inline:auto}
.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;padding:.7rem 1rem;background:#fff;color:var(--navy);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.16em;line-height:1.6;text-transform:uppercase}
.site-header{position:relative;z-index:20;background:var(--navy);color:#e8edf3;border-bottom:1px solid #ffffff17}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:6rem}
.brand{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;min-height:3rem}
.brand-symbol{width:48px;height:48px;object-fit:contain}
.brand-wordmark{display:block;position:relative;width:152px;height:24px;overflow:hidden}
.brand-wordmark img{position:absolute;width:180.8px;max-width:none;left:-14.4px;bottom:-14.4px}
.site-nav{display:flex;align-items:center;gap:2.3rem;font-size:.875rem}
.site-nav>a{display:flex;align-items:center;min-height:2.75rem;position:relative}
.site-nav>a:not(.nav-contact)::after{content:"";position:absolute;bottom:.4rem;left:0;right:0;height:1px;background:var(--silver);transform:scaleX(0);transform-origin:left;transition:transform .18s var(--ease)}
.site-nav>a:hover::after,.site-nav>a:focus-visible::after{transform:scaleX(1)}
.nav-contact{padding:.3rem 1.2rem;border:1px solid #52606e;border-radius:999px;transition:background .18s,border-color .18s}
.nav-contact:hover{background:#ffffff0c;border-color:var(--silver)}
.menu-toggle{border:1px solid #697887;background:transparent;color:#fff;border-radius:999px;padding:.5rem .9rem;min-height:2.75rem;display:flex;align-items:center;gap:.7rem}
.menu-label{font-size:.875rem}
.menu-glyph{width:18px;display:grid;gap:5px}
.menu-glyph span{width:18px;height:1px;background:#fff;transition:transform .18s}
.menu-toggle[aria-expanded="true"] .menu-glyph span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-glyph span:last-child{transform:translateY(-3px) rotate(-45deg)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:var(--white)}
.hero-glow{position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 81% 46%,#29435b5c,transparent 46%)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:center;min-height:42rem;padding-block:5rem 4rem}
.hero-copy{max-width:48rem;position:relative;z-index:2}
.hero .eyebrow{color:#b6c3cf;margin-bottom:1.5rem}
h1{font-size:clamp(2.625rem,5.25vw,5rem);line-height:1.04;letter-spacing:-.055em}
h1 span{color:#b6c5d3;background:linear-gradient(110deg,#f3f5f7,#a6b7c8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-description{max-width:32rem;color:#b9c5d0;margin-top:1.75rem;font-size:1.0625rem;line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap;margin-top:2rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.9rem 1.55rem;font-size:.875rem;font-weight:600;line-height:1.4;border:1px solid transparent;border-radius:999px;transition:background .18s,color .18s,box-shadow .18s,transform .1s}
.button-light{background:#edf1f5;color:var(--navy)}
.button-light:hover{background:#fff;box-shadow:0 4px 24px #ffffff18}
.button-dark{background:var(--navy);color:#fff}
.button-dark:hover{background:#183248}
.button:active{transform:scale(.98)}
.text-link{display:inline-flex;align-items:center;min-height:2.75rem;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#aab5c3;transition:text-decoration-color .18s}
.text-link:hover{text-decoration-color:currentColor}
.text-link-light{color:#d4dde5}
.hero-note{color:#9aaaba;font-size:.875rem;margin-top:2rem}
.hero-art{position:relative;aspect-ratio:1;display:grid;place-items:center;min-width:0;margin-inline:-3rem -2rem}
.hero-art>img{position:relative;z-index:1;width:100%;filter:drop-shadow(0 25px 30px #0004)}
.art-ring{position:absolute;width:83%;aspect-ratio:1;border:1px solid #71839727;border-radius:50%}
.ring-two{width:66%;border-style:dashed;border-color:#71839730}
.art-caption{position:absolute;bottom:1%;left:10%;right:10%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#9cabba}
.hero-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:2.5rem;padding-block:1.6rem;border-top:1px solid #ffffff1c;color:#b9c5d0;font-size:.875rem;letter-spacing:.01em}
.hero-bottom>a{margin-left:auto;display:flex;align-items:center;gap:1rem;min-height:2rem}
.scroll-line{width:1px;height:1.25rem;background:#7a8b9c}
.section{padding-block:clamp(4.5rem,7.5vw,7rem)}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem}
.section-heading .eyebrow{color:var(--muted);margin-bottom:1.25rem}
h2{font-size:clamp(2.125rem,3.6vw,3.5rem)}
.muted{color:#798590}
.section-heading>p{max-width:28rem;color:var(--muted);font-size:1rem;justify-self:end}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.service-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:2rem;background:var(--paper);border:1px solid #e3e7eb;border-radius:1.25rem;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}
.service-featured{background:var(--navy);color:#fff;border-color:var(--navy)}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:3.5rem}
.service-number{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--muted)}
.service-featured .service-number{color:#a9b8c7}
.service-icon{font:500 1.375rem/1 monospace;color:#c7d3e0}
.line-icon{width:2rem;height:2rem;stroke:var(--ink);stroke-width:1.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.card-kicker{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.9rem}
.service-featured .card-kicker{color:#a9b8c7}
h3{font-size:clamp(1.75rem,2.2vw,2.125rem)}
.service-card>p:not(.card-kicker){color:var(--muted);font-size:1rem;line-height:1.75;margin-top:1.25rem;margin-bottom:2rem}
.service-featured>p:not(.card-kicker){color:#bac8d5}
.service-details{list-style:none;display:flex;flex-direction:column;gap:.65rem;margin:auto 0 0;padding:1.25rem 0 0;border-top:1px solid var(--line);font-size:.875rem;color:#52606c}
.service-featured .service-details{color:#c9d4df;border-color:#ffffff25}
.service-details li{display:flex;align-items:center;gap:.6rem}
.service-details li::before{content:"";width:.3rem;height:.3rem;flex-shrink:0;border:1px solid currentColor;border-radius:50%}
.process-section{padding-top:1.5rem}
.process-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.process-grid li{min-width:0;position:relative;padding-top:2rem;border-top:1px solid var(--line)}
.step-number{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #bdc8d2;border-radius:50%;font-size:.75rem;color:var(--muted);margin-bottom:1.5rem;background:#fff}
.process-grid h3{font-size:1.25rem;letter-spacing:-.025em;line-height:1.35;margin-bottom:.75rem}
.process-grid p{color:var(--muted);font-size:1rem;line-height:1.75}
.about-section{background:var(--navy);color:#fff;position:relative;isolation:isolate}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.about-copy,.growth-panel,.contact-grid>div,.section-heading>div,.section-heading>p,.footer-brand{min-width:0}
.about-copy .eyebrow{color:#b4c1ce;margin-bottom:1.5rem}
.about-copy h2 span{color:#afbecc}
.about-copy>p:not(.eyebrow){max-width:32rem;font-size:1rem;color:#bdc9d4;margin-top:1.5rem}
.about-copy>.text-link{margin-top:1.5rem}
.growth-panel{padding:2.5rem;border:1px solid #65788b45;border-radius:1.25rem;background:linear-gradient(140deg,#1c344850,#ffffff03)}
.growth-panel .eyebrow{color:#b4c1ce;font-size:.75rem}
.growth-statement{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.13;letter-spacing:-.04em;margin-block:2.5rem}
.growth-statement span{color:#b2c3d3}
.growth-rule{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #70859a90;margin-bottom:1.75rem}
.growth-rule span{display:block;height:.5rem;width:.5rem;border-radius:50%;background:#a6b8ca;transform:translateY(-50%)}
.growth-panel>p:last-child{font-size:.875rem;color:#bdc9d4}
.contact-section{background:var(--paper)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.contact-grid .eyebrow{color:var(--muted);margin-bottom:1.5rem}
.contact-copy>p{max-width:27rem;color:var(--muted);margin-bottom:1.75rem}
.contact-email{display:block;width:fit-content;max-width:100%;font-size:clamp(1.5rem,2.75vw,2.75rem);letter-spacing:-.045em;line-height:1.35;border-bottom:1px solid #98a4af;overflow-wrap:anywhere;padding-bottom:.25rem;margin-bottom:2rem}
.contact-email:hover{color:#3f5e79;border-bottom-color:currentColor}
.footer-main{display:grid;grid-template-columns:1.65fr 1fr 1fr;gap:3rem;padding-block:3.5rem}
.footer-brand img{width:10rem;max-width:100%}
.footer-brand p{font-size:.875rem;margin-top:1rem;color:#99adbf}
.footer-main .eyebrow{font-size:.75rem;color:#95a8ba;margin-bottom:1rem}
.footer-nav,.footer-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0;font-size:.875rem}
.footer-nav>a,.footer-info>a{padding-block:.45rem;overflow-wrap:anywhere;max-width:100%}
.footer-info>p:not(.eyebrow){padding-block:.45rem}
.footer-nav>a:hover,.footer-info>a:hover,.footer-bottom>a:hover{text-decoration:underline;text-underline-offset:4px}
.inner-page{background:var(--paper)}
.page-hero{background:var(--navy);color:#fff;padding-block:4rem}
.page-hero .eyebrow{color:#b8c5d1;margin-bottom:1rem}
.page-hero h1{font-size:clamp(2.75rem,5vw,4.5rem)}
.page-hero p:last-child{max-width:45rem;color:#c1ced9;margin-top:1.5rem}
.notice-layout{max-width:52rem;margin-inline:auto;padding-block:4rem}
.notice-draft{padding:1.4rem;border:1px solid #bbc7d2;background:#eaf0f5;border-radius:.75rem;font-size:1rem;margin-bottom:2rem}
.notice-draft strong{display:block;margin-bottom:.35rem;color:#253f55}
.notice-content h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.025em;margin-top:2.5rem;margin-bottom:.9rem}
.notice-content p,.notice-content li{color:#4f606f;margin-top:.75rem;overflow-wrap:anywhere}
.notice-content ul{padding-left:1.5rem}
.notice-content a{text-decoration:underline;text-underline-offset:3px;color:#183c59}
.notice-content a:hover{color:#071726}
.error-page{min-height:70vh;display:grid;place-items:center;background:var(--navy);color:#fff;padding-block:5rem}
.error-page .eyebrow{color:#b4c5d5;margin-bottom:1.5rem}
.error-page h1{font-size:clamp(3rem,6vw,5rem);max-width:45rem}
.error-page p{color:#b7c5d2;margin-block:1.5rem 2rem;max-width:32rem}
.site-footer{background:var(--navy);color:#b7c4d0}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.75rem;border-top:1px solid #ffffff1c;font-size:.875rem}
.footer-bottom a{padding-block:.5rem;overflow-wrap:anywhere}
.hero-intro{animation:hero-enter .6s var(--ease) both}
.hero-copy>.hero-intro:nth-child(2){animation-delay:.06s}
.hero-copy>.hero-intro:nth-child(3){animation-delay:.12s}
.hero-copy>.hero-intro:nth-child(4){animation-delay:.18s}
.hero-copy>.hero-intro:nth-child(5){animation-delay:.24s}
.hero-art.hero-intro{animation-delay:.12s}
.reveal-enter{animation:section-enter .4s var(--ease) both}
@keyframes hero-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes section-enter{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0717260d;border-color:#b8c2cd}.service-featured:hover{border-color:#4f6578}}
@media(min-width:48rem) and (max-width:74.999rem){.hero-grid{grid-template-columns:1fr;min-height:0;padding-block:4rem 3rem;gap:1rem}.hero-copy{max-width:44rem}.hero-art{width:28rem;justify-self:center;margin:-1rem 0 0}.hero-grid h1{font-size:clamp(3.25rem,6.3vw,4.5rem)}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-featured{grid-column:1/-1}.service-featured .card-top{margin-bottom:2rem}.service-featured h3 br{display:none}.section-heading{gap:2rem}.header-inner{flex-wrap:wrap}.site-nav{gap:1.4rem}.hero-bottom{gap:1.7rem}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:2rem;grid-template-columns:1fr 1fr}.growth-panel{padding:1.75rem}.contact-grid{gap:2rem}.footer-main{gap:2rem}}
@media(max-width:74.999rem){.menu-toggle:not([hidden]){display:flex}.site-nav{width:100%;flex-wrap:wrap;padding-bottom:1.25rem;gap:.75rem 1.5rem}.header-inner{flex-wrap:wrap;gap:0;min-height:5.25rem}.site-header.menu-ready .site-nav{display:none}.site-header.menu-ready.is-open .site-nav{display:flex;animation:section-enter .2s var(--ease) both}.site-header.menu-ready .header-inner{padding-block:.8rem}.site-nav>a{font-size:1rem}.site-nav .nav-contact{margin-left:auto}}
@media(min-width:75rem){.menu-toggle:not([hidden]){display:none}}
@media(max-width:47.999rem){html{scroll-padding-top:2rem}.header-inner{min-height:5rem}.brand-symbol{width:40px;height:40px}.brand-wordmark{width:134.4px;height:22.4px}.brand-wordmark img{width:160px;left:-12.8px;bottom:-12.48px}.brand{gap:.25rem}.hero-grid{grid-template-columns:1fr;gap:1.5rem;min-height:0;padding-block:3.5rem 2rem}.hero-copy{max-width:100%}.hero .eyebrow{font-size:.75rem;margin-bottom:1.25rem}h1{font-size:clamp(2.4rem,9.8vw,3.6rem)}.hero-description{font-size:1rem;margin-top:1.5rem}.hero-actions{gap:.75rem 1.5rem;margin-top:1.75rem}.hero-note{margin-top:1.5rem}.hero-art{width:min(100%,24rem);justify-self:center;margin:0}.art-caption{font-size:.75rem}.hero-bottom{gap:.5rem;justify-content:space-between;padding-block:1.2rem;font-size:.875rem}.hero-bottom>a{display:none}.section-heading{grid-template-columns:1fr;gap:1.25rem;margin-bottom:2rem}.section-heading>p{justify-self:start}.services-grid{grid-template-columns:1fr}.service-card{padding:1.75rem}.card-top{margin-bottom:2.5rem}.service-card h3 br{display:none}.service-card h3{font-size:2rem}.process-grid{grid-template-columns:1fr;gap:1.5rem}.process-grid li{padding-top:1.5rem}.step-number{margin-bottom:1rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:2.5rem}.growth-panel{padding:1.75rem}.growth-statement{font-size:2.5rem;margin-block:2rem}.footer-main{grid-template-columns:1fr 1fr;gap:2rem 1rem;padding-block:2.5rem}.footer-brand{grid-column:1/-1}.footer-brand img{width:8rem}.footer-main .eyebrow{font-size:.75rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.5rem;padding-block:1.5rem}.notice-layout{padding-block:2.5rem}.page-hero{padding-block:3rem}.site-nav .nav-contact{margin-left:0}.site-nav{flex-direction:column;align-items:stretch}.site-nav>a{justify-content:flex-start}.site-nav .nav-contact{justify-content:center;width:fit-content;margin-top:.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.service-card:hover,.button:active{transform:none}}
@media(forced-colors:active){h1 span{background:none;-webkit-text-fill-color:currentColor;color:inherit}.service-card,.growth-panel,.notice-draft{border:1px solid CanvasText}.button{border:1px solid ButtonText}a:focus-visible,button:focus-visible{outline:3px solid Highlight;box-shadow:none}}

/* Maintenance uses the existing brand and works without JavaScript. */
.maintenance-page{background:#071726;color:#fff}
.maintenance-main{min-height:100svh;display:flex;align-items:center;padding-block:2rem;background:radial-gradient(ellipse at 75% 20%,#263b4a 0%,transparent 60%)}
.maintenance-content{max-width:52rem;text-align:center;padding-block:1rem}
.maintenance-logo{display:block;width:clamp(8rem,22vw,12rem);height:auto;margin:0 auto 1.5rem}
.maintenance-content .eyebrow{color:#c7cdd4;margin-bottom:1.2rem}
.maintenance-content h1{font-size:clamp(3rem,9vw,6rem);line-height:1.03}
.maintenance-description{max-width:34rem;margin:1.75rem auto 2rem;color:#c7cdd4;font-size:1.125rem;line-height:1.7}
.maintenance-email{margin-top:1.25rem;color:#c7cdd4}
.maintenance-email a{text-decoration:underline;text-underline-offset:4px;padding:.5rem;display:inline-block}
.maintenance-company{margin-top:2.5rem;color:#a8b6c1;font-size:.875rem;line-height:1.7}
.maintenance-office{max-width:34rem;margin:1rem auto 0}
