@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/font-1.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/font-2.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/font-3.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/font-4.ttf') format('truetype')}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/font-5.ttf') format('truetype')}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/font-6.ttf') format('truetype')}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/font-7.ttf') format('truetype')}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/font-8.ttf') format('truetype')}
@font-face{font-family:'Noto Sans SC';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/font-9.ttf') format('truetype')}
:root{--navy:#102a43;--dark:#0b2238;--ink:#163047;--muted:#647586;--teal:#13a89e;--cream:#f6f7f4;--line:#e4eae8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans','Noto Sans SC',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-60px;background:white;padding:12px;z-index:20}.skip-link:focus{top:12px}.site-header{position:absolute;inset:0 0 auto;z-index:10;color:white}.header-inner{height:96px;display:flex;align-items:center;gap:45px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:22px;font-weight:800;letter-spacing:.03em;white-space:nowrap}.brand-light{font-weight:400}.brand-mark{width:29px;height:29px;position:relative;display:inline-block;transform:rotate(-35deg)}.brand-mark span{position:absolute;width:8px;background:#55d1c5;border-radius:8px}.brand-mark span:nth-child(1){height:21px;left:1px;top:5px}.brand-mark span:nth-child(2){height:27px;left:11px;top:0}.brand-mark span:nth-child(3){height:16px;left:21px;top:8px}.site-nav{display:flex;align-items:center;gap:35px;margin-left:auto}.site-nav a{font-size:14px;color:#dce8ed;transition:color .2s}.site-nav a:hover,.site-nav a:focus-visible{color:#64dfd2}.header-cta{margin-left:18px;border:1px solid #8397a5;padding:12px 20px;border-radius:3px;font-size:13px;white-space:nowrap}.header-cta span{margin-left:17px;color:#64dfd2}.menu-toggle{display:none}.hero{min-height:720px;background:radial-gradient(circle at 78% 40%,#1b5266 0%,#12394e 25%,#0c273d 57%,#091e32 100%);color:#fff;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;inset:auto 0 0;height:1px;background:#345266}.hero-glow{position:absolute;width:760px;height:760px;border-radius:50%;right:-220px;top:-70px;background:radial-gradient(circle,#2e9e9d33,transparent 65%)}.hero-grid{position:relative;z-index:1;min-height:662px;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-copy{padding-top:58px}.eyebrow,.section-kicker{font-size:12px;font-weight:700;letter-spacing:.22em}.eyebrow{display:flex;align-items:center;gap:14px;color:#70d9d0}.eyebrow-line{width:27px;height:1px;background:currentColor}.hero h1{font-size:clamp(48px,5.3vw,78px);line-height:1.23;letter-spacing:-.045em;margin:27px 0 24px;font-weight:700}.hero h1 em{font-style:normal;color:#64d4ca}.hero-copy>p{color:#b5c9d1;font-size:17px;line-height:1.9;max-width:490px;margin:0}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:52px;padding:0 23px;font-size:14px;font-weight:700;border-radius:2px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:#61d4c9;color:#0b2a3b}.button-primary:hover{background:#8ae6dd}.button span,.text-link span{font-size:18px;font-weight:400}.text-link{font-size:14px;color:#e4eeee}.text-link span{margin-left:12px}.hero-art{height:520px;position:relative;margin:70px -12px 0 0}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(circle,#000 30%,transparent 72%)}.orbit{position:absolute;border:1px solid #72d8d040;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-25deg)}.orbit-one{width:420px;height:420px}.orbit-two{width:570px;height:300px;transform:translate(-50%,-50%) rotate(-32deg)}.art-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:270px;height:270px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#3da6a7,#176078 62%,#0d394f);box-shadow:0 0 85px #54d6cd33,inset -25px -20px 50px #09283f99;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;color:#d7f9f6;font-size:14px;letter-spacing:.35em;line-height:1.6}.core-spark{font-size:66px;line-height:1;color:#a4fff0}.art-node{position:absolute;width:10px;height:10px;border-radius:50%;background:#93eae1;box-shadow:0 0 0 6px #6be0d32b,0 0 25px #9ffcf3}.node-one{left:17%;top:35%}.node-two{right:8%;top:31%}.node-three{right:24%;bottom:13%}.art-label{position:absolute;font-size:10px;letter-spacing:.2em;color:#8cb3bd}.label-top{right:0;top:16%}.label-bottom{left:4%;bottom:17%}.hero-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;color:#8ea8b5;font-size:12px;letter-spacing:.12em;padding-bottom:30px}.scroll-cue span{margin-left:12px;color:#65d6ca}.section{padding:115px 0}.section-kicker{color:#089b92}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.section h2{font-size:clamp(38px,4vw,56px);line-height:1.3;letter-spacing:-.045em;margin:25px 0 0;font-weight:700}.accent{color:#16a79d}.intro-content{padding-top:55px}.intro-content .lead{font-size:22px;line-height:1.7;font-weight:600;margin:0 0 17px}.intro-content p:not(.lead),.section-heading>p,.approach-copy>p{font-size:15px;line-height:2;color:var(--muted)}.underlined-link{display:inline-flex;gap:42px;border-bottom:1px solid #16a79d;color:#087f78;padding-bottom:11px;font-size:14px;font-weight:700;margin-top:20px}.services{background:var(--cream)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading>p{max-width:310px;margin-bottom:8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.service-card{min-height:315px;background:#fff;padding:30px;position:relative;border:1px solid #e9eeeb;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 35px #173e5414}.service-number{color:#8ba0a7;font-size:12px}.service-icon{color:#12a99e;font-size:45px;height:88px;display:flex;align-items:end}.service-card h3{font-size:21px;margin:17px 0 10px}.service-card p{color:var(--muted);font-size:14px;line-height:1.8;max-width:290px}.card-arrow{position:absolute;right:30px;bottom:28px;font-size:22px;color:#18a99f}.approach{background:white}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.approach-visual{height:520px;background:#dce9e7;position:relative;overflow:hidden;display:grid;place-items:center}.approach-visual:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 55% 45%,#eaf5f1,#c6dbd8 70%)}.approach-ring{position:absolute;border:1px solid #80aaa9;border-radius:50%;width:430px;height:430px}.ring-inner{width:290px;height:290px;border-color:#96c2be}.approach-symbol{position:relative;font-size:170px;line-height:1;color:#1b807f;text-shadow:18px 20px 0 #66b4ad33}.visual-caption{position:absolute;bottom:31px;left:33px;color:#448681;font-size:11px;letter-spacing:.2em}.approach-copy>p{margin:24px 0 30px}.principles>div{display:flex;gap:25px;padding:18px 0;border-top:1px solid var(--line)}.principles>div>span{color:#16a79d;font-size:12px;padding-top:5px}.principles h3{font-size:16px;margin:0 0 5px}.principles p{color:var(--muted);font-size:13px;margin:0}.contact{background:#0b3447;color:#fff;position:relative;overflow:hidden}.contact:after{content:'';position:absolute;width:660px;height:660px;border:1px solid #6dd5c83b;border-radius:50%;right:-150px;top:-250px;box-shadow:0 0 0 110px #5dd0c00a,0 0 0 220px #5dd0c00a}.contact-inner{position:relative;z-index:1}.contact .section-kicker{color:#79d8cd}.contact h2{font-size:clamp(42px,5vw,68px);margin:23px 0 20px}.contact h2 span{color:#75dcd0}.contact p{color:#b9d1d5;font-size:16px}.button-light{background:#fff;color:#123a4b;margin-top:25px;min-width:225px}.button-light:hover{background:#c9f4ee}.contact-decor{position:absolute;right:12%;top:30%;font-size:170px;color:#69d9cb40}.site-footer{background:#081f31;color:#b2c5cc;padding-top:60px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:25px;padding-bottom:55px}.brand-footer{color:#fff}.footer-main p{font-size:13px;text-align:center}.footer-main>a:last-child{justify-self:end;font-size:14px;color:#d7e9ea}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #294353;padding:25px 0 30px;font-size:12px}.footer-bottom a{color:#d7e9ea}@media(max-width:900px){.site-nav{gap:18px}.header-cta{display:none}.hero-grid{grid-template-columns:1fr 45%}.hero-art{transform:scale(.8);transform-origin:center}.intro-grid,.approach-grid{gap:45px}.service-grid{gap:12px}.service-card{padding:24px}}@media(max-width:700px){.container{width:min(100% - 40px,1180px)}.header-inner{height:74px}.brand{font-size:19px}.menu-toggle{display:flex;margin-left:auto;width:42px;height:42px;background:transparent;border:0;flex-direction:column;justify-content:center;gap:5px;align-items:center;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:#fff}.site-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#0b2c40;padding:20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 28px #071a2b55}.site-nav.is-open{display:flex}.site-nav a{padding:13px 8px}.hero{min-height:790px}.hero-grid{min-height:740px;display:block;padding-top:135px}.hero-copy{padding:0}.hero h1{font-size:clamp(43px,10vw,65px)}.hero-copy>p{font-size:15px}.hero-actions{gap:20px;flex-wrap:wrap;margin-top:30px}.hero-art{height:340px;margin:-15px auto 0;max-width:480px;transform:scale(.7);transform-origin:top center}.hero-bottom{padding-bottom:23px}.section{padding:80px 0}.intro-grid,.approach-grid{grid-template-columns:1fr;gap:35px}.intro-content{padding:0}.section h2{font-size:clamp(36px,8vw,48px)}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr;margin-top:35px}.service-card{min-height:250px}.service-icon{height:65px}.approach-visual{height:350px;order:2}.approach-copy{order:1}.approach-ring{width:320px;height:320px}.ring-inner{width:210px;height:210px}.approach-symbol{font-size:120px}.contact-decor{right:-30px;top:0;font-size:100px}.footer-main{grid-template-columns:1fr;gap:10px;padding-bottom:35px}.footer-main p{text-align:left}.footer-main>a:last-child{justify-self:start}.footer-bottom{gap:20px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Single video banner with a navy loading background. */
.hero{display:flex;align-items:center;height:min(820px,90svh);min-height:620px;background:#102a43;isolation:isolate}
.hero-video{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;object-fit:cover;object-position:center;background:var(--navy)}
@media(max-width:700px){
  .hero{display:block;width:100%;height:auto;min-height:0;aspect-ratio:16/9}
  .hero-video{object-fit:contain}
}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s ease}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-image{display:block;width:100%;height:100%;object-fit:cover}
.hero-controls{position:absolute;z-index:3;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.hero-dots,.hero-arrows{display:flex;gap:10px;pointer-events:auto}
.hero-dot{width:28px;height:4px;padding:0;border:0;border-radius:3px;background:#ffffff80;cursor:pointer}
.hero-dot.is-active{background:#8ce7dc}
.hero-arrows button{width:36px;height:36px;border:1px solid #ffffffa8;border-radius:50%;background:#102a4380;color:#fff;cursor:pointer}
.hero-controls button:focus-visible{outline:2px solid #8ce7dc;outline-offset:4px}
@media(max-width:700px){.hero-image{object-fit:contain}.hero-controls{bottom:10px}.hero-arrows button{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
/* Apply copy and contrast only to image slides. */
[data-image-slide] .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#051827e0,#0722319e 45%,#081f432e);pointer-events:none}
[data-image-slide] .hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:100px 80px}
[data-image-slide] .eyebrow{color:#a8f0e7}
[data-image-slide] h1{margin:24px 0 20px}
[data-image-slide] h1 em{color:#a8f0e7}
[data-image-slide] p{font-size:18px;line-height:1.8;color:#edf5f4;margin:0 0 34px}
@media(max-width:700px){
  [data-image-slide] .hero-content{padding-block:16px 44px}
  [data-image-slide] .eyebrow,[data-image-slide] .button{display:none}
  [data-image-slide] h1{font-size:clamp(22px,6vw,40px);line-height:1.2;margin:0 0 8px}
  [data-image-slide] p{font-size:clamp(11px,2.8vw,16px);line-height:1.5;margin:0}
}
/* Keep the main navigation visible while scrolling. */
.site-header{position:fixed;background:rgba(8,31,49,var(--header-opacity,0));backdrop-filter:blur(var(--header-blur,0px));-webkit-backdrop-filter:blur(var(--header-blur,0px))}
section[id]{scroll-margin-top:96px}
@media(max-width:700px){section[id]{scroll-margin-top:74px}}

.intro-grid>div:first-child .lead{font-size:22px;line-height:1.7;font-weight:600;margin:28px 0 0;max-width:460px}

/* Horizontally scrollable solution image placeholders. */
.solutions{background:var(--cream);overflow:hidden}.solutions-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.solutions-heading p{color:var(--muted);font-size:15px;margin:0 0 8px}.solutions-scroll{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#16a79d #dce8e5;scrollbar-width:thin;margin-top:48px;padding:0 max(32px,calc((100vw - 1180px)/2)) 24px}.solutions-track{display:flex;gap:20px;width:max-content}.solution-placeholder{scroll-snap-align:start;width:clamp(260px,34vw,430px);aspect-ratio:4/3;background:linear-gradient(135deg,#d5e5e2,#b9d2ce);border:1px dashed #7daaa4;display:flex;flex-direction:column;justify-content:space-between;padding:28px;color:#316d69}.solution-placeholder:nth-child(even){background:linear-gradient(135deg,#dce6ed,#b9cdd8);color:#3b667d;border-color:#86a9b8}.solution-placeholder span{font-size:12px;letter-spacing:.2em}.solution-placeholder strong{font-size:20px;font-weight:500}.solutions-hint{color:#71888c;font-size:13px;margin-top:14px}.solutions-hint span{margin-left:8px;color:#16a79d}@media(max-width:700px){.solutions-heading{display:block}.solutions-heading p{margin-top:16px}.solutions-scroll{margin-top:32px;padding-inline:20px}.solution-placeholder{width:78vw}}
.solution-photo{flex:0 0 clamp(280px,34vw,430px);aspect-ratio:4/3;margin:0;overflow:hidden;background:#dce8e5;scroll-snap-align:start}.solution-photo img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:700px){.solution-photo{flex-basis:78vw}}

/* Center a whole number of equal-sized photos at each breakpoint. */
.solutions-scroll{width:min(1180px,calc(100% - 64px));margin:48px auto 0;padding:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.solutions-scroll::-webkit-scrollbar{display:none}.solutions-track{gap:18px;width:auto}.solution-photo{flex:0 0 calc((100% - 36px)/3);aspect-ratio:4/3;box-shadow:0 12px 30px #16304714}.solution-photo img{object-fit:cover}.solutions-hint{display:none}@media(max-width:900px){.solution-photo{flex-basis:calc((100% - 18px)/2)}}@media(max-width:700px){.solutions-scroll{width:calc(100% - 40px);margin-top:32px;padding:0}.solution-photo{flex-basis:100%}}

/* Small edge previews move with the main strip and fade toward the page edge.
   --peek-offset: distance from the viewport edge, --peek-gap: breathing room before the centered gallery. */
.solutions-gallery{--peek-offset:10px;--peek-gap:26px;position:relative}.solutions-peek{position:absolute;top:0;height:100%;width:max(0px,calc((100vw - 1180px)/2 - var(--peek-offset) - var(--peek-gap)));overflow:hidden;opacity:.5;border:0;padding:0;background:transparent;cursor:pointer;z-index:1}.solutions-peek img{position:absolute;top:0;height:100%;max-width:none;object-fit:cover}.solutions-peek-left{left:var(--peek-offset);mask-image:linear-gradient(to right,transparent 20%,#000 95%);-webkit-mask-image:linear-gradient(to right,transparent 20%,#000 95%)}.solutions-peek-right{right:var(--peek-offset);mask-image:linear-gradient(to left,transparent 20%,#000 95%);-webkit-mask-image:linear-gradient(to left,transparent 20%,#000 95%)}@media(max-width:1400px){.solutions-gallery{--peek-gap:18px}}@media(max-width:700px){.solutions-peek{width:12px}}

/* Keep the vertical rhythm compact on narrow screens. */
@media(max-width:700px){
  .section{padding:52px 0}
  .intro-grid,.approach-grid{gap:24px}
  .section h2{margin-top:16px}
  .intro-grid>div:first-child .lead{margin-top:18px}
  .intro-content p:first-child{margin-top:0}
  .underlined-link{margin-top:8px}
  .solutions-heading p{margin-top:12px}
  .solutions-scroll{margin-top:24px}
  .approach-copy>p{margin:18px 0 22px}
  .approach-visual{height:300px}
  .contact h2{margin:16px 0}
  .button-light{margin-top:16px}
  .site-footer{padding-top:42px}
  .footer-main{padding-bottom:26px}
}

/* Enterprise advantages: a full-width introduction followed by three equal columns. */
.approach-copy{max-width:760px}.approach-copy>p{margin:24px 0 0}.approach .principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:48px}.approach .principles>div{display:block;padding:24px 0 0;border-top:1px solid var(--line)}.approach .principles>div>span{display:block;padding:0;margin-bottom:25px;font-size:14px;font-weight:700}.approach .principles h3{font-size:20px;margin-bottom:14px}.approach .principles p{font-size:14px;line-height:1.85}
@media(max-width:700px){.approach-copy>p{margin-top:18px}.approach .principles{grid-template-columns:1fr;gap:0;margin-top:30px}.approach .principles>div{padding:22px 0}.approach .principles>div>span{margin-bottom:12px}.approach .principles h3{margin-bottom:8px}}

/* Make section number labels easier to read. */
.section-kicker{font-size:16px;letter-spacing:.12em}

.contact-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:70px;align-items:center}.contact-details h3{font-size:22px;margin:0 0 24px}.contact-details ul{list-style:none;padding:0;margin:0;display:grid;gap:18px}.contact-details li{display:flex;align-items:flex-start;gap:15px;color:#c5dadd;font-size:15px;line-height:1.8}.contact-details li>span:first-child{width:20px;flex:none;text-align:center;color:#75dcd0}.contact-details a:hover,.contact-details a:focus-visible{text-decoration:underline}@media(max-width:700px){.contact-inner{grid-template-columns:1fr;gap:42px}.contact-details h3{margin-bottom:18px}}

.contact-details li svg{display:block;margin-top:4px}

.brand-image{display:block;width:auto;height:64px;max-width:170px;object-fit:contain}

@media (hover:hover) and (pointer:fine){.solutions-peek-left{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='15' fill='%23102a43'/%3E%3Cpath d='M20 16H11m0 0 5-5m-5 5 5 5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 16 16,w-resize}.solutions-peek-right{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='15' fill='%23102a43'/%3E%3Cpath d='M12 16h9m0 0-5-5m5 5-5 5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 16 16,e-resize}}
.solutions-peek:focus-visible{outline:2px solid #16a79d;outline-offset:2px}

/* Header collaboration link */
.header-cta{display:inline-flex;align-items:center;gap:17px;transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.header-cta span{display:inline-block;margin-left:0;transition:transform .25s ease,color .25s ease}
.header-cta:hover,.header-cta:focus-visible{background:#64d4ca;border-color:#64d4ca;color:#0b2a3b;box-shadow:0 8px 24px #64d4ca3d;transform:translateY(-2px)}
.header-cta:hover span,.header-cta:focus-visible span{color:#0b2a3b;transform:translate(3px,-3px)}
.header-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.header-cta:hover,.header-cta:focus-visible,.header-cta:hover span,.header-cta:focus-visible span{transform:none}}

/* News cards follow the compact editorial layout of the second reference site. */
.news-section{background:#f6f7f4}.news-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.news-heading h2{margin-top:16px}.news-more{display:inline-flex;gap:26px;align-items:center;border:1px solid #b8cbc8;padding:13px 20px;font-size:14px;font-weight:700;color:#123a4b;white-space:nowrap;transition:background .2s,color .2s}.news-more:hover,.news-more:focus-visible{background:#0b3447;color:#fff}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}.news-card{display:flex;flex-direction:column;min-height:305px;padding:30px;background:#fff;border:1px solid #e4eae8;transition:transform .2s,box-shadow .2s}.news-card:hover,.news-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 32px #173e541a}.news-card time{color:#099b92;font-size:13px;font-weight:700;letter-spacing:.08em}.news-card h3{font-size:21px;line-height:1.45;margin:22px 0 12px}.news-card p{font-size:14px;line-height:1.8;color:#647586;margin:0 0 25px}.news-card>span{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid #e4eae8;color:#407a78;font-size:13px}.news-card b{font-size:19px;font-weight:400}
@media(max-width:900px){.news-grid{gap:12px}.news-card{padding:22px}.news-card h3{font-size:18px}}
@media(max-width:700px){.news-heading{align-items:start}.news-more{gap:8px;padding:10px 12px}.news-grid{grid-template-columns:1fr;margin-top:26px}.news-card{min-height:0}.news-card h3{margin-top:14px}}

/* The reports page uses this site's shell and the reference's two-column reading layout. */
.inner-page .site-header{background:#081f31;backdrop-filter:none;-webkit-backdrop-filter:none}.inner-page .site-nav [aria-current="page"]{color:#64dfd2}.inner-page .site-footer{margin-top:0}.news-page-hero{padding:120px 0 46px;color:#fff;background:radial-gradient(circle at 80% 20%,#1c5262,#0b3447 45%,#081f31 100%)}.news-breadcrumb{display:flex;gap:12px;align-items:center;margin:0 0 18px;color:#b4ced3;font-size:13px}.news-breadcrumb a{color:inherit}.news-breadcrumb a:hover{text-decoration:underline}.news-page-hero .eyebrow{color:#80dcd1}.news-page-hero h1{font-size:clamp(38px,4vw,54px);line-height:1.15;margin:10px 0 14px}.news-page-hero>div>p:last-child{max-width:680px;color:#c4d6da;font-size:16px;line-height:1.85;margin:0}.news-articles{background:#fff}.news-item{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:52px;padding:60px 0;border-top:1px solid #dce6e4;scroll-margin-top:116px}.news-item:first-child{border-top:0;padding-top:0}.news-item:last-child{padding-bottom:0}.news-thumb{margin:0;align-self:start;padding:8px;background:#f6f7f4;border:1px solid #e4eae8}.news-thumb img{display:block;width:100%;height:auto}.news-thumb figcaption{padding:10px 4px 2px;color:#647586;font-size:12px;line-height:1.5}.news-meta{color:#54827f;font-size:13px;margin:0 0 12px}.news-meta b{color:#087f78}.news-item h2{font-size:clamp(24px,2.5vw,34px);line-height:1.45;margin:0 0 22px;letter-spacing:-.025em}.news-item .mute{color:#647586;line-height:1.85}.news-item p{font-size:15px;line-height:1.95}.news-item .excerpt{margin-top:25px;padding-left:22px;border-left:3px solid #65cfc3}.news-item .excerpt p{margin:0 0 16px}.news-item .quote{margin:28px 0 18px;padding:23px 28px;background:#eff7f5;border-left:3px solid #16a79d}.news-item .quote p{margin:0 0 12px;font-size:15px}.news-item .quote cite{font-size:13px;font-style:normal;color:#53807c}.news-item .src-note{font-size:12px;color:#75878c}.news-item .more{display:inline-block;color:#087f78;font-weight:700;border-bottom:1px solid currentColor}
@media(max-width:700px){.news-page-hero{padding:104px 0 36px}.news-breadcrumb{margin-bottom:14px}.news-item{grid-template-columns:1fr;gap:24px;padding:42px 0;scroll-margin-top:90px}.news-item h2{font-size:26px}.news-item .excerpt{padding-left:16px}}

/* Inner pages use the same navy and teal visual system as the homepage. */
.reference-page{--ink:#102a43;--ink-2:#163047;--brand:#13a89e;--brand-strong:#087f78;--brand-soft:#e7f5f3;--teal:#13a89e;--bg:#f6f7f4;--surface:#fff;--line:#e4eae8;--text:#163047;--muted:#647586;--on-dark:#eef7f6;--on-dark-muted:#b2c5cc;--radius:7px;--radius-lg:12px;--max:1180px;--header-h:96px;--font:'DM Sans','Noto Sans SC',sans-serif;padding-bottom:0}
.reference-page .site-header{position:fixed;inset:0 0 auto;height:96px;background:#081f31;border-bottom:1px solid #294353;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:50}
.reference-page .site-header::before{content:none}
.reference-page .header-inner{height:96px;justify-content:initial;gap:45px}
.reference-page .site-nav{margin-left:auto;gap:35px}
.reference-page .site-nav a{color:#dce8ed;font-size:14px}
.reference-page .site-nav a:hover,.reference-page .site-nav a:focus-visible,.reference-page .site-nav a[aria-current="page"]{color:#64dfd2}
.reference-page .container{width:min(1180px,calc(100% - 64px));max-width:none;padding:0}
.reference-page .page-hero{padding:132px 0 50px;background:radial-gradient(circle at 80% 20%,#1c5262,#0b3447 45%,#081f31 100%)}
.reference-page .page-hero h1{font-size:clamp(38px,4vw,54px);letter-spacing:-.035em}
.reference-page .page-hero .eyebrow,.reference-page main .eyebrow{color:#13a89e}
.reference-page .page-hero .eyebrow{color:#80dcd1}
.reference-page .article-head{padding-top:130px;background:#0b3447}
.reference-page main .section{padding:88px 0}
.reference-page main .section h2{font-size:clamp(28px,3vw,42px);line-height:1.3;letter-spacing:-.035em;margin:0}
.reference-page main .card{border-radius:var(--radius-lg);box-shadow:none}
.reference-page main .card:hover{box-shadow:0 20px 35px #173e5414}
.reference-page main .btn,.reference-page main button[type="submit"]{border-radius:var(--radius)}
.reference-page main .btn-primary,.reference-page main button[type="submit"]{background:#61d4c9;color:#0b2a3b}
.reference-page main .contact{background:transparent;color:inherit;overflow:visible}
.reference-page main .contact::after{content:none}
.reference-page .site-footer{margin:0;background:#081f31;color:#b2c5cc;padding-top:60px}
@media(max-width:900px){.reference-page .header-inner{gap:20px}.reference-page .site-nav{gap:12px}.reference-page .site-nav a{font-size:12px}.reference-page .header-cta{display:none}}
@media(max-width:700px){.reference-page{--header-h:74px}.reference-page .site-header{height:74px}.reference-page .header-inner{height:74px}.reference-page .container{width:calc(100% - 40px)}.reference-page .site-nav{display:none;position:absolute;top:74px;left:0;right:0;margin:0;padding:20px;background:#0b2c40;flex-direction:column;align-items:stretch;gap:0}.reference-page .site-nav.is-open{display:flex}.reference-page .site-nav a{font-size:14px;padding:13px 8px}.reference-page .page-hero{padding:104px 0 38px}.reference-page .article-head{padding-top:105px}.reference-page main .section{padding:52px 0}}

/* Shared contact invitation at the end of inner pages. */
.inner-page .contact-banner{position:relative;overflow:hidden;padding:70px 0;background:linear-gradient(115deg,#0b3447,#0b4451 70%,#11665f);color:#fff}
.inner-page .contact-banner:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #8be4d33d;border-radius:50%;right:-110px;top:-220px;box-shadow:0 0 0 70px #8be4d30b;pointer-events:none}
.inner-page .contact-banner-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:40px}
.inner-page .contact-banner-kicker{display:block;margin-bottom:12px;color:#7fe2d5;font-size:12px;font-weight:700;letter-spacing:.18em}
.inner-page .contact-banner h2{margin:0;font-size:clamp(27px,3vw,39px);line-height:1.3;color:#fff}
.inner-page .contact-banner p{margin:12px 0 0;color:#c6dcde;font-size:15px;line-height:1.8}
.inner-page .contact-banner-actions{display:flex;align-items:center;gap:12px;flex:none}
.inner-page .contact-banner-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid #ffffff80;border-radius:var(--radius,7px);font-size:14px;font-weight:700;white-space:nowrap;transition:background .2s,transform .2s}
.inner-page .contact-banner-actions a:hover{transform:translateY(-2px)}
.inner-page .contact-banner-actions .contact-banner-primary{border-color:#fff;background:#fff;color:#123a4b}
.inner-page .contact-banner-actions .contact-banner-primary:hover{background:#d8f5ef}
.inner-page .contact-banner-actions .contact-banner-secondary{color:#fff}
.inner-page .contact-banner-actions .contact-banner-secondary:hover{background:#ffffff1c}
@media(max-width:900px){.inner-page .contact-banner-inner{align-items:flex-start;flex-direction:column;gap:26px}}
@media(max-width:700px){.inner-page .contact-banner{padding:54px 0}.inner-page .contact-banner-actions{flex-wrap:wrap}.inner-page .contact-banner-actions a{min-height:44px}}

/* Section headings without an eyebrow start flush with their content. */
.reference-page .section-head>h2:first-child{margin-top:0}

/* Shared button interaction feedback. */
.button,.btn,button[type="submit"]{transition:transform .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease}
.button:hover,.button:focus-visible,.btn:hover,.btn:focus-visible,button[type="submit"]:hover,button[type="submit"]:focus-visible{transform:translateY(-2px);box-shadow:0 10px 22px #102a4330}
.button:active,.btn:active,button[type="submit"]:active{transform:translateY(0) scale(.98);box-shadow:0 4px 10px #102a4322}
.button:focus-visible,.btn:focus-visible,button[type="submit"]:focus-visible{outline:2px solid #16a79d;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.button:hover,.button:focus-visible,.btn:hover,.btn:focus-visible,button[type="submit"]:hover,button[type="submit"]:focus-visible,.button:active,.btn:active,button[type="submit"]:active{transform:none}}

/* Scroll motion */
.scroll-progress{position:fixed;inset:0 0 auto 0;height:3px;background:#61d4c9;transform:scaleX(0);transform-origin:left center;z-index:100;box-shadow:0 0 14px #61d4c980;pointer-events:none}
[data-scroll-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
[data-scroll-reveal].is-visible{opacity:1;transform:none}
[data-scroll-reveal="left"]{transform:translateX(-28px)}
[data-scroll-reveal="right"]{transform:translateX(28px)}
[data-scroll-reveal="scale"]{transform:scale(.96)}
[data-scroll-reveal].is-visible{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-progress{display:none}[data-scroll-reveal],[data-scroll-reveal].is-visible{opacity:1;transform:none;transition:none}}

/* Shared card hover feedback. */
.card,.service-card,.news-thumb,.news-item,.training,.dual>div,.principles>div{border:1px solid transparent;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.card:hover,.service-card:hover,.news-thumb:hover,.news-item:hover,.training:hover,.dual>div:hover,.principles>div:hover{border-color:#65cfc3;box-shadow:0 16px 34px #173e5420;transform:translateY(-4px)}
.card:focus-within,.service-card:focus-within,.news-thumb:focus-within,.news-item:focus-within{border-color:#16a79d;box-shadow:0 12px 28px #173e5420}
@media(prefers-reduced-motion:reduce){.card:hover,.service-card:hover,.news-thumb:hover,.news-item:hover,.training:hover,.dual>div:hover,.principles>div:hover{transform:none}}

/* Business scope cards. */
.biz li{border:1px solid var(--line);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.biz li:hover,.biz li:focus-within{border-color:#65cfc3;box-shadow:0 14px 28px #173e5420;transform:translateY(-4px);background:#fafffe}
@media(prefers-reduced-motion:reduce){.biz li:hover,.biz li:focus-within{transform:none}}

/* Inner-page card groups without built-in motion. */
.facts>div,.markets>li,.honor,.certs>li,.timeline>li{border:1px solid transparent;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.facts>div:hover,.markets>li:hover,.honor:hover,.certs>li:hover,.timeline>li:hover{border-color:#65cfc3;box-shadow:0 14px 28px #173e5420;transform:translateY(-4px)}
.facts>div:focus-within,.markets>li:focus-within,.honor:focus-within,.certs>li:focus-within{border-color:#16a79d;box-shadow:0 12px 26px #173e5420}
@media(prefers-reduced-motion:reduce){.facts>div:hover,.markets>li:hover,.honor:hover,.certs>li:hover,.timeline>li:hover{transform:none}}

/* Keep editorial timeline layout static; animate frameless information groups without adding borders. */
.timeline>li{border-color:transparent;transition:none}
.timeline>li:hover{border-color:transparent;box-shadow:none;transform:none}
.facts>div,.certs>li{border-color:transparent}
.facts>div:hover,.certs>li:hover{border-color:transparent;box-shadow:0 12px 26px #173e5418;transform:translateY(-3px)}
.facts>div:focus-within,.certs>li:focus-within{border-color:transparent;box-shadow:0 10px 22px #173e5418}
@media(prefers-reduced-motion:reduce){.facts>div:hover,.certs>li:hover{transform:none}}

/* Service area cards sit on a dark section. */
.markets>li:hover{border-color:#ffffffb8;box-shadow:0 16px 32px #0003;background:#ffffff0d}
.markets>li:focus-within{border-color:#fff;box-shadow:0 12px 26px #0003}

/* Feather the service area highlight instead of drawing a hard border. */
.markets>li:hover{border-color:transparent;box-shadow:0 16px 32px #0003,0 0 0 1px #ffffff55,0 0 22px #ffffff26,inset 0 0 18px #ffffff0d}
.markets>li:focus-within{border-color:transparent;box-shadow:0 12px 26px #0003,0 0 0 1px #ffffff80,0 0 18px #ffffff30,inset 0 0 14px #ffffff12}

/* Use a soft edge glow for bordered card hover states. */
.card:hover,.service-card:hover,.biz li:hover,.honor:hover,.news-thumb:hover{border-color:transparent;box-shadow:0 16px 34px #173e5420,0 0 0 1px #65cfc355,0 0 22px #65cfc322,inset 0 0 16px #65cfc30b}
.card:focus-within,.service-card:focus-within,.biz li:focus-within,.honor:focus-within,.news-thumb:focus-within{border-color:transparent;box-shadow:0 12px 28px #173e5420,0 0 0 1px #16a79d70,0 0 18px #16a79d26,inset 0 0 14px #16a79d0d}

/* Frameless information groups use lift only, without shadows. */
.facts>div:hover,.facts>div:focus-within,.certs>li:hover,.certs>li:focus-within{border-color:transparent;box-shadow:none;transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){.facts>div:hover,.facts>div:focus-within,.certs>li:hover,.certs>li:focus-within{transform:none}}

/* Extend the card language across inner pages. */
.case-grid>*,.deploy-item,.info-card,.xk-card,.chip{border:1px solid transparent;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.case-grid>*:hover,.deploy-item:hover,.info-card:hover,.xk-card:hover,.chip:hover{border-color:transparent;box-shadow:0 14px 30px #173e5420,0 0 0 1px #65cfc355,0 0 20px #65cfc322,inset 0 0 16px #65cfc30b;transform:translateY(-4px)}
.case-grid>*:focus-within,.deploy-item:focus-within,.info-card:focus-within,.xk-card:focus-within,.chip:focus-within{border-color:transparent;box-shadow:0 0 0 1px #16a79d70,0 0 18px #16a79d26}
@media(prefers-reduced-motion:reduce){.case-grid>*:hover,.deploy-item:hover,.info-card:hover,.xk-card:hover,.chip:hover{transform:none}}

/* Cases and news remain static editorial content. */
.case-grid>*,.case-grid>*:hover,.case-grid>*:focus-within,.news-item,.news-item:hover,.news-item:focus-within,.news-thumb,.news-thumb:hover,.news-thumb:focus-within{border-color:transparent;box-shadow:none;transform:none;transition:none}

/* Core product cards. */
.products .prod{border:1px solid transparent;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.products .prod:hover,.products .prod:focus-within{border-color:transparent;box-shadow:0 16px 34px #173e5420,0 0 0 1px #65cfc355,0 0 22px #65cfc322,inset 0 0 16px #65cfc30b;transform:translateY(-4px)}
@media(prefers-reduced-motion:reduce){.products .prod:hover,.products .prod:focus-within{transform:none}}

/* The dual-control product block stays static. */
.dual>div,.dual>div:hover,.dual>div:focus-within{border-color:transparent;box-shadow:none;transform:none;transition:none}

/* Solutions page: pain points and service packages. */
.pain,.packages>li{border:1px solid transparent;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.pain:hover,.pain:focus-within,.packages>li:hover,.packages>li:focus-within{border-color:transparent;box-shadow:0 16px 32px #173e5420,0 0 0 1px #65cfc355,0 0 22px #65cfc322,inset 0 0 16px #65cfc30b;transform:translateY(-4px)}
@media(prefers-reduced-motion:reduce){.pain:hover,.pain:focus-within,.packages>li:hover,.packages>li:focus-within{transform:none}}

/* Solutions service version cards. */
.packages .pkg{border:1px solid transparent;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.packages .pkg:hover,.packages .pkg:focus-within{border-color:transparent;box-shadow:0 16px 32px #173e5420,0 0 0 1px #65cfc355,0 0 22px #65cfc322,inset 0 0 16px #65cfc30b;transform:translateY(-4px)}
.packages .pkg-main{display:flex;flex-direction:column;gap:18px}
.packages .pkg-main h3,.packages .pkg-main p,.packages .pkg-main ul{margin:0}
.packages .pkg-main .pkg-points{display:grid;gap:10px;margin-top:auto;padding-top:8px}
@media(prefers-reduced-motion:reduce){.packages .pkg:hover,.packages .pkg:focus-within{transform:none}}

/* Service version typography and tag sizing. */
.packages .pkg-main .tag-dark{align-self:flex-start;width:max-content;max-width:100%}
.packages .pkg-main h3{font-size:clamp(24px,2.2vw,32px);line-height:1.25}
.packages .pkg-main>p{font-size:17px;line-height:1.9}
@media(max-width:700px){.packages .pkg-main>p{font-size:16px;line-height:1.8}}

/* Homepage media report cards. */
.news-card{border:1px solid transparent;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.news-card:hover,.news-card:focus-visible{border-color:transparent;box-shadow:0 16px 34px #173e5420,0 0 0 1px #65cfc355,0 0 22px #65cfc322,inset 0 0 16px #65cfc30b;transform:translateY(-4px)}
.news-card:focus-visible{outline:none}
@media(prefers-reduced-motion:reduce){.news-card:hover,.news-card:focus-visible{transform:none}}

.news-card{border-radius:var(--radius-lg,12px)}

/* Homepage enterprise advantages stay editorial and static. */
.approach .principles>div,.approach .principles>div:hover,.approach .principles>div:focus-within{border-color:transparent;box-shadow:none;transform:none;transition:none}



.footer-brand,.footer-nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-nav h3,.footer-contact h3{margin:0 0 8px;color:#fff;font-size:14px}
.footer-nav a,.footer-contact a,.footer-contact p{margin:0;color:#b2c5cc;font-size:13px;line-height:1.8}
.footer-nav a:hover,.footer-contact a:hover{color:#75dcd0}
.footer-contact p{line-height:1.8}
@media(max-width:700px){.footer-main{grid-template-columns:1fr;gap:30px}.footer-brand,.footer-nav,.footer-contact{gap:7px}}

@media(min-width:701px){
  .site-footer .footer-main{grid-template-columns:1fr 1fr 1fr;align-items:start}
  .site-footer .footer-brand{align-items:flex-start}
  .site-footer .footer-nav{align-items:center;text-align:center}
  .site-footer .footer-contact{align-items:flex-end;text-align:right}
  .site-footer .footer-brand p{max-width:220px;margin:8px 0 0;line-height:1.8;text-align:left}
}

@media(min-width:701px){.site-footer .footer-contact{justify-self:end;align-items:flex-start;text-align:left}}
.site-footer .footer-contact p,.site-footer .footer-contact a{display:flex;align-items:flex-start;gap:10px}
.site-footer .footer-contact p>span:first-child,.site-footer .footer-contact a>span:first-child{width:18px;flex:none;color:#75dcd0;text-align:center}

/* Keep multiline footer addresses left aligned. */
.site-footer .footer-contact p{text-align:left}

/* Join the service loop to both horizontal tracks, including the 2px border. */
@media(min-width:961px){.reference-page .steps[data-astro-cid-6dt247gv] li[data-astro-cid-6dt247gv]:nth-child(5)::after{height:var(--service-loop-height,calc(100% + 46px));}}

/* Diagnosis method cards on the dark solutions section. */
.section-dark .method{transition:transform .25s ease,box-shadow .25s ease}
.section-dark .method:hover,.section-dark .method:focus-within{transform:translateY(-4px);box-shadow:0 16px 32px #0003,0 0 22px #ffffff26,inset 0 0 18px #ffffff0d}
@media(prefers-reduced-motion:reduce){.section-dark .method:hover,.section-dark .method:focus-within{transform:none}}

/* Draw both service tracks and their return curve as one continuous graphic. */
.service-track{display:none}
@media(min-width:961px){
  .reference-page .steps{position:relative;grid-auto-rows:1fr}
  .reference-page .steps .service-track{display:block;position:absolute;pointer-events:none;overflow:visible;left:0;top:5px;width:100%;height:calc(50% + 20px);color:var(--brand)}
  .reference-page .steps[data-astro-cid-6dt247gv] li[data-astro-cid-6dt247gv]{border-top-color:transparent}
  .reference-page .steps[data-astro-cid-6dt247gv] li[data-astro-cid-6dt247gv]:nth-child(5)::after{display:none}
}

/* Homepage section entry links. */
body:not(.inner-page) :is(.underlined-link,.news-more){display:inline-flex;align-items:center;transition:color .22s ease,border-color .22s ease,transform .22s ease}
body:not(.inner-page) :is(.underlined-link,.news-more)>span{display:inline-block;transition:transform .22s ease}
@media(hover:hover){
  body:not(.inner-page) :is(.underlined-link,.news-more):hover{color:#13a89e;border-color:#13a89e;transform:translateY(-2px)}
  body:not(.inner-page) :is(.underlined-link,.news-more):hover>span{transform:translate(3px,-3px)}
}
body:not(.inner-page) :is(.underlined-link,.news-more):focus-visible{outline:2px solid #13a89e;outline-offset:6px}
body:not(.inner-page) :is(.underlined-link,.news-more):active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){body:not(.inner-page) :is(.underlined-link,.news-more),body:not(.inner-page) :is(.underlined-link,.news-more)>span{transition:none;transform:none!important}}

/* Reveal each media report when it enters the viewport. */
.news-articles .news-item[data-scroll-reveal]{transform:translateY(36px)}
.news-articles .news-item[data-scroll-reveal].is-visible{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.news-articles .news-item[data-scroll-reveal]{transform:none}}
/* Restore the entrance transition overridden by the static article reset. */
.news-articles .news-item[data-scroll-reveal]{transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){.news-articles .news-item[data-scroll-reveal]{transition:none}}

/* Reveal local practice cards one after another. */
.section-dark .prac[data-scroll-reveal]{transform:translateY(36px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.section-dark .prac[data-scroll-reveal].is-visible{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.section-dark .prac[data-scroll-reveal]{transform:none;transition:none}}

/* Give section introductions the available content width. */
.approach-copy,
.hero-copy > p,
.intro-grid > div:first-child .lead {
  max-width: none;
}
.section-heading {
  flex-wrap: wrap;
}
.section-heading > p {
  flex: 1 1 100%;
  max-width: none;
}

/* Keep introductions wide across all inner pages and banners. */
.reference-page .section-head,
.reference-page .page-hero p,
.news-page-hero > .container > p:last-child {
  max-width: none;
}
.inner-page .contact-banner-inner {
  flex-direction: column;
  align-items: flex-start;
  gap: 26px;
}
.inner-page .contact-banner-inner > div:first-child {
  width: 100%;
  min-width: 0;
}

/* Keep the homepage contact action inside the mobile navigation. */
.site-nav .mobile-header-cta{display:none}
@media(max-width:700px){
  body:not(.inner-page) .site-header{position:sticky;top:0;background:#081f31;backdrop-filter:none;-webkit-backdrop-filter:none}
  body:not(.inner-page) .header-inner>.header-cta{display:none}
  body:not(.inner-page) .menu-toggle{margin-left:auto;flex-shrink:0}
  .site-nav .mobile-header-cta{display:flex;align-items:center;justify-content:space-between;color:#64dfd2;border-top:1px solid #345266;margin-top:8px}
}

/* Map providers below the company address. */
.address-map-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:12px}
.address-map-links a{color:var(--teal);font-size:14px;line-height:1.8;text-decoration:underline;text-underline-offset:4px}
.address-map-links a:hover{color:var(--ink)}
.address-map-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.site-footer .footer-person{display:grid;gap:4px;min-width:0;text-align:left}
.site-footer .footer-person+ .footer-person{margin-top:8px}
.site-footer .footer-person strong{font-size:13px;font-weight:600;color:#fff}
.site-footer .footer-person a>span:last-child{overflow-wrap:anywhere;min-width:0}

/* Share footer spacing across the homepage and legacy inner-page styles. */
.site-footer .footer-main{padding-bottom:20px}
.site-footer .footer-bottom{margin-top:0;padding:20px 0;gap:16px;flex-wrap:wrap;font-size:12px;color:#b2c5cc;border-top:1px solid #294353}
.site-footer .footer-person svg{width:18px;height:18px;margin-top:0;color:inherit}
