:root{--teal:#007e84;--teal-dk:#00696e;--navy:#233e6b;--ink:#142c44;--muted:#52616d;--maxw:1240px}
.home-refresh{color:var(--ink)}
.home-refresh h1,.home-refresh h2,.home-refresh h3{color:var(--ink);letter-spacing:-.045em}
.home-refresh h2{font-size:clamp(2rem,3.1vw,2.8rem);font-weight:600;line-height:1.18}
.home-refresh p{line-height:1.75}
.home-refresh .wrap{padding-inline:32px}
.home-refresh .hdr-main{padding-block:14px}.home-refresh .logo img{width:139px;height:65px;object-fit:contain}.home-refresh .btn{padding:17px 23px;font-size:14px;border-radius:4px;min-height:48px}.home-refresh .btn-ghost{box-shadow:none;border:1px solid #cdd9dd;color:var(--ink)!important}.home-refresh .hdr-cta{gap:12px}
.home-refresh .nav-list{margin-bottom:0;justify-content:space-between;gap:0}.home-refresh .nav-list>li>a{font-size:14px;padding:17px 12px;color:var(--ink)}.home-refresh .main-nav{border-color:#e8eef0}.home-refresh .sub a{font-size:14px}.home-refresh .nav-list>li:focus-within>.sub{display:block}
.skip-link{position:absolute;top:-100px;left:20px;background:#fff;padding:15px;z-index:100}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible{outline:3px solid #d07814;outline-offset:5px}section[id]{scroll-margin-top:24px}
.new-hero{background:#eef7f7;border-bottom:1px solid #dce9e9}.new-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding-block:72px!important}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;color:var(--teal);margin-bottom:20px}.home-refresh h1{font-size:clamp(2.7rem,4.2vw,3.9rem);font-weight:600;line-height:1.09;margin-bottom:26px}.home-refresh h1 span{color:var(--teal)}.hero-intro{font-size:18px;max-width:540px;color:#415666}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}.hero-actions .btn span,.growth-grid .btn span{margin-left:22px}.text-link{font-size:14px;font-weight:600;color:var(--ink);display:inline-block;padding-block:8px;text-decoration:underline;text-decoration-color:#8aabaf;text-underline-offset:7px}.text-link span{margin-left:8px}.hero-note{margin:25px 0 0;font-size:13px;color:var(--muted)}.hero-art{background:#fff;border:1px solid #d6e5e6;border-radius:130px 12px 12px 12px;overflow:hidden;padding:35px 25px 0;box-shadow:12px 14px 0 #d5eaeb}.hero-art>img{width:100%;height:255px;object-fit:contain}.art-caption{border-top:1px solid #e0eaed;margin-top:24px;padding:20px 0;display:flex;justify-content:space-between;gap:10px;align-items:center}.art-caption span{font-size:12px;color:var(--muted)}.art-caption strong{font-size:17px;color:var(--navy)}
.expertise-strip{background:var(--navy);color:white;padding-block:21px}.expertise-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.expertise-strip span{font-size:11px;letter-spacing:.13em;font-weight:700}.expertise-strip p{font-size:14px;margin:0}.expertise-strip b{color:#70d1d3;padding-inline:13px;font-weight:400}
.intro-section,.team-section{padding-block:85px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.intro-grid p:not(.eyebrow),.team-grid p:not(.eyebrow){color:var(--muted);font-size:16px}.intro-grid p:last-of-type{margin-bottom:10px}
.services-section{background:#f4f7f8;padding-block:80px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:38px}.section-heading>p{max-width:300px;color:var(--muted);margin:0;font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service{border:1px solid #dce4e7;background:white;overflow:hidden;border-radius:5px}.service-image{height:190px;background:#fff;padding:20px 30px;border-bottom:1px solid #edf1f2}.service-image img{width:100%;height:100%;object-fit:contain}.service-copy{padding:25px}.service-label{font-size:12px;font-weight:600;color:var(--teal);margin-bottom:15px}.service-label span{margin-right:8px;color:#667781;font-weight:400}.home-refresh .service h3{font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.03em;margin-bottom:13px}.service-copy>p:last-child{font-size:15px;color:var(--muted);margin-bottom:0}
.team-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.team-visual{padding:25px;background:#f3f8f9;border-radius:6px}.team-visual img{width:100%}.team-grid h2{margin-bottom:24px}.team-benefits{list-style:none;padding:0;margin:22px 0;font-size:14px}.team-benefits li{padding:12px 0;border-bottom:1px solid #dde6e8}.team-benefits li:before{content:'✓';color:var(--teal);margin-right:12px}
.growth-section{background:var(--navy);color:white;padding-block:65px}.growth-grid{display:flex;align-items:center;justify-content:space-between;gap:45px}.growth-grid>div{max-width:640px}.growth-grid h2{color:white;margin-bottom:20px}.growth-grid .eyebrow{color:#8ce0e1}.growth-grid p:last-child{color:#d9e5ef;margin:0;max-width:570px}.growth-grid .btn{background:#fff;color:var(--navy)!important;flex-shrink:0}.growth-grid .btn:hover{background:#e0f5f5}
.home-refresh .footer-top{background:white;color:var(--ink);text-align:left;padding:48px 0 35px}.home-refresh .footer-nav>ul{padding:0;justify-content:flex-start;gap:16px 28px;margin-bottom:24px}.home-refresh .footer-nav>ul>li>a{color:var(--ink);font-size:13px}.home-refresh .footer-nav .caret{display:none}.home-refresh .footer-desc{font-size:14px;max-width:650px;margin:0;color:var(--muted)}.home-refresh .footer-desc strong{color:var(--ink)}.home-refresh .fb-brand p,.home-refresh .fb-legal,.home-refresh .fb-legal a{font-size:13px;color:#52616d}.home-refresh .footer-bottom{padding-top:30px}.home-refresh .back-top{width:44px;height:44px;right:14px;bottom:14px}
@media(max-width:1100px){.home-refresh .nav-list>li>a{font-size:12px;padding-inline:8px}.new-hero-grid{gap:28px}.expertise-strip b{padding-inline:7px}.service-copy{padding:21px}}
@media(max-width:860px){.home-refresh .wrap{padding-inline:24px}.home-refresh .nav-list{padding-block:12px}.home-refresh .nav-list>li>a{font-size:15px;padding:14px 4px}.home-refresh .nav-list>li:hover>.sub,.home-refresh .nav-list>li:focus-within>.sub{display:none}.home-refresh .nav-list>li.open>.sub{display:block}.nav-list>li{position:relative}.sub-toggle{position:absolute;right:0;top:2px;width:46px;height:46px;background:transparent;color:var(--ink);border:0;font-size:20px}.has-sub>a{margin-right:48px}.new-hero-grid{padding-block:46px!important;grid-template-columns:1fr 1fr;gap:24px}.hero-art{padding:25px 16px 0;border-top-left-radius:70px}.hero-art>img{height:220px}.art-caption{display:block}.art-caption>*{display:block}.hero-actions{gap:12px}.expertise-strip .wrap{display:block}.expertise-strip span{display:block;margin-bottom:8px}.intro-grid{gap:35px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{gap:30px}.growth-grid{align-items:flex-start;flex-direction:column;gap:28px}}
@media(min-width:861px){.sub-toggle{display:none}}
@media(max-width:600px){.home-refresh .wrap{padding-inline:22px}.home-refresh .hdr-main{gap:12px}.home-refresh .logo img{width:108px;height:50px}.home-refresh .hdr-cta .btn-ghost{display:none}.home-refresh .hdr-cta .btn{font-size:12px;padding:13px 12px;min-height:44px}.home-refresh .hamburger{padding:6px}.new-hero-grid{grid-template-columns:1fr;padding-block:38px 42px!important;gap:30px}.home-refresh h1{font-size:2.65rem}.eyebrow{font-size:11px;letter-spacing:.11em}.hero-intro{font-size:16px}.hero-art{max-width:100%;border-top-left-radius:80px;margin-right:10px}.hero-art>img{height:190px}.art-caption{display:flex;margin-top:12px;padding-block:14px}.hero-note{font-size:12px}.expertise-strip p{font-size:13px}.expertise-strip b{padding-inline:3px}.intro-section,.team-section,.services-section{padding-block:50px}.intro-grid,.team-grid{grid-template-columns:1fr;gap:28px}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:20px}.service-grid{grid-template-columns:1fr;gap:20px}.service-image{height:195px}.service-copy{padding:25px}.service-label{font-size:13px}.team-visual{padding:12px;order:2}.growth-section{padding-block:48px}.home-refresh .footer-nav>ul{gap:12px 20px}.home-refresh .footer-nav .has-sub>a{margin-right:0}.home-refresh .fb-legal{padding-inline:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Second direction: an expressive composition with movement and varied pacing. */
.new-hero{position:relative;isolation:isolate;background:#eef7f7;overflow:hidden;border:0}
.new-hero:before{content:'';position:absolute;inset:0 0 0 53%;z-index:-1;background:#05adb5;clip-path:polygon(23% 0,100% 0,100% 100%,0 100%)}
.new-hero-grid{min-height:610px;gap:24px;padding-block:72px!important;grid-template-columns:1.25fr 1fr}
.hero-copy{position:relative;z-index:2}.home-refresh h1{font-size:clamp(2.7rem,4.25vw,4rem);letter-spacing:-.055em}
.hero-art{position:relative;overflow:visible;border:0;border-radius:0;background:none;padding:0;box-shadow:none;min-height:410px;display:flex;align-items:center;justify-content:center;perspective:900px}
.hero-art:before{content:'';position:absolute;width:330px;height:330px;background:#dff8f5;border-radius:50%;transform:translate(10px,-10px);z-index:-1}
.hero-art>img{width:100%;height:380px;object-fit:contain;filter:drop-shadow(12px 20px 10px #12676d25);animation:hero-float 6s ease-in-out infinite;transform-origin:50% 70%}
.orbit-ring{position:absolute;width:390px;height:390px;border:1px dashed #fff9;border-radius:50%;animation:orbit 50s linear infinite;pointer-events:none}
.orbit-ring:before{content:'';position:absolute;left:50%;top:-6px;width:12px;height:12px;background:#233e6b;border-radius:50%}
.floating-label{position:absolute;z-index:2;padding:12px 17px;background:white;border-radius:4px;box-shadow:0 10px 35px #08485925;font-size:12px;font-weight:600;color:var(--navy);animation:label-float 7s ease-in-out infinite}
.label-one{left:-20px;top:25px;transform:rotate(-7deg)}.label-two{right:-12px;bottom:72px;animation-delay:-3.5s;transform:rotate(6deg)}
.art-caption{position:absolute;bottom:-25px;left:25px;right:0;border:0;color:#143956;display:block;margin:0;padding:0}.art-caption span{display:block;color:#164954;font-weight:500}.art-caption strong{font-size:25px;letter-spacing:-.04em;color:#123852}
.motion-toggle{border:0;border-bottom:1px solid #8bb4b6;background:none;color:#46616c;font:500 11px var(--font);padding:6px 0;cursor:pointer;margin-top:12px}.motion-toggle[hidden]{display:none}.motion-toggle span{margin-left:7px}
.expertise-strip{overflow:hidden;padding:23px 0;transform:rotate(-1.5deg);width:100%;position:relative;z-index:3;margin-top:-10px;box-shadow:0 12px 0 #d9eded}
.expertise-track{display:flex;width:max-content;animation:marquee 35s linear infinite}.expertise-track>div{display:flex;align-items:center;gap:30px;padding-right:30px;flex-shrink:0}.expertise-strip .expertise-track span{font-size:25px;letter-spacing:-.015em;font-weight:500}.expertise-strip .expertise-track b{font-size:30px;color:#5ed5d6;padding:0}.expertise-strip:hover .expertise-track{animation-play-state:paused}
.intro-section{padding-block:115px 95px}.intro-grid h2{font-size:clamp(2rem,3.6vw,3.3rem)}
.services-section{background:#f1f6f7;padding-block:90px}.section-heading{margin-bottom:55px}.service-grid{grid-template-columns:1.15fr 1fr;gap:30px;align-items:start}.service{border:0;border-radius:6px;overflow:hidden;background:#fff;position:relative;transition:box-shadow .35s,transform .5s}.service:nth-child(even){margin-top:90px}.service-image{height:290px;border:0;padding:20px 45px 0;background:#dff0f0}.service-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.service-copy{padding:30px 35px 38px}.home-refresh .service h3{font-size:30px;max-width:400px}.service-copy>p:last-child{font-size:16px;max-width:430px}.service-label{font-size:14px}.service-label span{font-size:17px;font-weight:500;margin-right:15px}.service:nth-child(2) .service-image,.service:nth-child(5) .service-image{background:#dce4f0}.service:nth-child(3) .service-image,.service:nth-child(6) .service-image{background:#c4e6e9}.service:nth-child(3){background:var(--navy)}.home-refresh .service:nth-child(3) h3,.service:nth-child(3) .service-label,.service:nth-child(3) .service-label span{color:white}.service:nth-child(3) .service-copy>p:last-child{color:#dbe8ef}
@media(hover:hover) and (pointer:fine){.service:hover{transform:translateY(-9px);box-shadow:0 24px 45px #1c4c6417}.service:hover .service-image img{transform:scale(1.06) rotate(-2deg)}.btn:hover span{display:inline-block;transform:translate(3px,-3px)}.text-link:hover span{display:inline-block;transform:translateX(4px)}}
.team-section{padding-block:110px}.team-visual{transform:rotate(-3deg);border-radius:5px 100px 5px 5px;background:#dff1f2;padding:30px;box-shadow:15px 17px 0 #edf7f8}.team-visual img{transform:rotate(3deg)}.growth-section{position:relative;overflow:hidden;padding-block:90px}.growth-section:before{content:'+';position:absolute;right:1%;top:-130px;font-size:550px;font-weight:300;line-height:1;color:#ffffff08;pointer-events:none}.growth-grid h2{font-size:clamp(2rem,3.7vw,3.4rem)}
.motion-ready .reveal{opacity:.01;transform:translateY(32px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.motion-ready .hero-copy>*{animation:enter .85s both}.motion-ready .hero-copy>h1{animation-delay:.1s}.motion-ready .hero-intro{animation-delay:.22s}.motion-ready .hero-actions{animation-delay:.32s}.motion-ready .hero-note{animation-delay:.4s}
.motion-paused *,.motion-paused *:before{animation-play-state:paused!important}.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}.motion-paused .hero-copy>*{animation:none!important}
@keyframes hero-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-17px) rotate(1deg)}}
@keyframes label-float{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes orbit{to{rotate:360deg}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.orbit-ring{width:300px;height:300px}.hero-art:before{width:270px;height:270px}.floating-label{font-size:11px;padding:10px}.label-one{left:0}.label-two{right:0}.new-hero-grid{grid-template-columns:1.2fr 1fr}.home-refresh h1{font-size:3rem}.service-image{height:250px}.home-refresh .service h3{font-size:26px}}
@media(max-width:860px){.new-hero-grid{min-height:560px}.hero-art>img{height:300px}.hero-art{min-height:360px}.art-caption{left:15px;bottom:0}.service:nth-child(even){margin-top:65px}.service-image{padding:20px;height:230px}.service-copy{padding:25px}.home-refresh .service h3{font-size:23px}.expertise-strip .expertise-track span{font-size:21px;margin:0}.intro-section{padding-block:85px 65px}.team-section{padding-block:75px}.team-visual{padding:15px}.floating-label{font-size:10px}}
@media(max-width:600px){.new-hero:before{inset:51% 0 0 0;clip-path:polygon(100% 0,100% 100%,0 100%,0 20%)}.new-hero-grid{grid-template-columns:1fr;gap:20px;padding-block:36px 48px!important}.home-refresh h1{font-size:2.65rem}.hero-art{margin:0;min-height:325px}.hero-art>img{height:290px}.hero-art:before{width:250px;height:250px}.orbit-ring{width:290px;height:290px}.label-one{left:5px;top:25px}.label-two{right:0;bottom:50px}.floating-label{font-size:11px}.art-caption{bottom:-20px;left:12px}.art-caption strong{font-size:21px}.expertise-strip{padding-block:18px;transform:rotate(-2deg);margin-top:0}.expertise-track>div{gap:20px;padding-right:20px}.expertise-strip .expertise-track span{font-size:21px}.intro-section{padding-block:70px 50px}.services-section{padding-block:50px}.service-grid{grid-template-columns:1fr;gap:28px}.service:nth-child(even){margin-top:0}.service-image{height:240px}.service-copy{padding:25px}.home-refresh .service h3{font-size:26px}.service-label{font-size:12px}.team-section{padding-block:60px 75px}.team-visual{margin-inline:7px}.growth-section{padding-block:55px}.growth-section:before{font-size:370px;top:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.service:hover,.service:hover .service-image img{transform:none}.motion-toggle{display:none}}
/* Contain decorative rotation without creating a horizontal page scroller. */
.home-refresh{overflow-x:clip}
@media(max-width:600px){.new-hero:before{inset:60% 0 0 0}}
.expertise-strip{transform:skewY(-1.5deg)}
/* Content is always visible; entry animation enhances it without gating reading. */
.motion-ready .reveal{opacity:1;transform:none;transition:none}
.motion-ready .reveal.is-visible{animation:section-enter .85s cubic-bezier(.2,.7,.2,1) both}
@keyframes section-enter{from{opacity:.35;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.motion-paused .reveal.is-visible{animation:none!important}
