:root{--navy:#102e50;--blue:#155586;--mid:#246ba2;--cyan:#12b7e2;--ice:#eaf6fd;--line:#bfd8e9;--ink:#17324d;--muted:#48647c;font-family:Arial,Helvetica,sans-serif;color:var(--ink);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:white}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{max-width:100%}
.container{width:min(1320px,calc(100% - 72px));margin:auto}
.skip-link{position:absolute;left:20px;top:-60px;z-index:1000;padding:12px 18px;background:white;color:var(--blue)}
.skip-link:focus{top:15px}
:focus-visible{outline:3px solid #09c3ed;outline-offset:3px}
.site-header{position:sticky;top:0;z-index:20;background:linear-gradient(105deg,#124d80,#1f6093 70%,#184f7d);color:#fff;box-shadow:0 5px 22px #123c6420}
.header-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{display:inline-flex;align-items:center;gap:12px;width:260px;flex:none;line-height:1}
.brand-icon{width:55px;height:64px;overflow:hidden;flex:none;display:block;position:relative}
.brand-icon img{max-width:none;width:280px;height:auto;position:absolute;left:0;top:0}
.brand-white .brand-icon img{filter:brightness(0) invert(1)}
.brand-wordmark{display:flex;flex-direction:column;white-space:nowrap}
.brand-wordmark strong{font-size:29px;font-weight:900;letter-spacing:.014em;line-height:.98}
.brand-wordmark small{margin-top:7px;font-size:11px;font-weight:800;letter-spacing:.48em;white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:clamp(13px,2.1vw,31px);font-weight:800;font-size:15px}
.site-nav>a:not(.nav-cta){color:#f2f8fc;white-space:nowrap}
.site-nav>a:hover{color:#8ceaff}
.site-nav .nav-sibling{border-left:1px solid #ffffff68;padding-left:clamp(13px,2.1vw,31px)}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:4px;font-weight:900;white-space:nowrap}
.nav-cta{background:#fff;color:var(--blue);padding:15px 20px}
.nav-cta:hover{background:#d8f6ff}
.menu-toggle{display:none}
.hero{background:linear-gradient(155deg,#fff 65%,#edf8fe 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(36px,5vw,90px);align-items:center;min-height:690px;padding:70px 0 85px}
.eyebrow{margin:0 0 25px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.2em;line-height:1.5}
.eyebrow span{color:var(--cyan);margin:0 6px}
h1,h2,h3,p{margin-top:0}
.hero h1{max-width:720px;margin:0;color:#122a48;font-size:clamp(3.2rem,5.3vw,5.65rem);line-height:1.04;letter-spacing:-.055em;font-weight:900;text-transform:uppercase}
.hero h1 em{font-style:normal;color:#1472ad}
.short-rule{width:72px;height:5px;background:var(--cyan);margin:32px 0 26px}
.hero-lede{max-width:600px;font-size:clamp(1.18rem,1.6vw,1.48rem);line-height:1.53;color:#34546d;margin-bottom:35px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.button{min-height:53px;padding:15px 23px;font-size:15px}
.button-primary{background:linear-gradient(110deg,#116fb1,#0ba6d8);color:#fff;box-shadow:0 8px 21px #0a6fa12b}
.button-primary:hover{background:linear-gradient(110deg,#0e598f,#078bbb)}
.text-link{font-size:14px;font-weight:900;color:var(--blue);border-bottom:2px solid var(--cyan);padding-bottom:5px}
.hero-visual{position:relative;align-self:stretch;min-height:490px;border:10px solid #fff;box-shadow:0 25px 55px #144d7b2a;overflow:hidden;background:#add8ef}
.hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% center}
.visual-caption{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:20px;padding:20px 27px;background:#124b79ec;color:white;font-weight:900;font-size:19px;line-height:1.3;letter-spacing:.035em}
.caption-line{display:block;width:5px;height:45px;background:var(--cyan)}
.section{padding:105px 0;scroll-margin-top:95px}
.intro-section{background:linear-gradient(180deg,#eaf7ff,#f6fbff 58%,#fff)}
.intro-head{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:end;margin-bottom:43px}
.intro-head .eyebrow{grid-column:1/-1;margin-bottom:16px}
h2{font-size:clamp(2.45rem,3.8vw,4.2rem);line-height:1.1;letter-spacing:-.045em;font-weight:900;color:#133451;margin-bottom:0}
h2 span{color:#176aa4}
.intro-head>p:last-child{color:#335573;line-height:1.7;font-size:18px;max-width:600px;margin:0 0 4px}
.capability-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.capability-card{padding:30px 22px 28px;background:#fff;border:1px solid #cce2f1;box-shadow:0 11px 30px #174f7910;min-height:300px;display:flex;flex-direction:column;align-items:flex-start}
.capability-card img{width:90px;height:70px;object-fit:cover;object-position:center;margin:-5px 0 17px -11px;mix-blend-mode:multiply}
.capability-card h3{margin:0 0 17px;color:#133a64;font-size:20px;line-height:1.16;text-transform:uppercase;font-weight:900;letter-spacing:-.02em}
.capability-card h3:after{content:"";display:block;width:37px;height:3px;background:var(--cyan);margin-top:13px}
.capability-card p{font-size:15px;line-height:1.57;color:#48647b;margin:0}
.process-section{background:#fff}
.section-head{max-width:790px;margin-bottom:43px}
.section-head .eyebrow{margin-bottom:13px}
.section-head h2{margin-bottom:16px}
.section-head>p:last-child{font-size:18px;color:var(--muted);line-height:1.6;margin-bottom:0}
.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-step{padding:28px 26px 26px;min-height:173px}
.process-step+div{border-left:1px solid var(--line)}
.process-step img{width:min(190px,100%);height:66px;object-fit:contain;object-position:left center;display:block;margin-bottom:13px}
.process-step p{max-width:260px;font-size:15px;line-height:1.55;color:var(--muted);margin:0}
.landscape-banner{height:270px;overflow:hidden;border-block:5px solid #e0f4fe;background:#75bdec}
.landscape-banner img{width:100%;height:100%;object-fit:cover;object-position:center 64%;display:block}
.about-section{background:linear-gradient(150deg,#f3faff,#fff 60%)}
.about-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:10%}
.about-section h2{max-width:580px}
.about-body>p{font-size:18px;line-height:1.75;color:#37566e;margin:0 0 22px}
.backed-card{margin-top:35px;border-left:5px solid var(--cyan);padding:22px 27px;background:#e5f4fd;display:flex;flex-direction:column;gap:10px}
.backed-card strong{font-size:20px;color:var(--navy)}
.backed-card span{color:#3d5d74;line-height:1.5}
.backed-card a{margin-top:9px;color:#095e99;font-size:15px;font-weight:900;align-self:flex-start;border-bottom:2px solid var(--cyan);padding-bottom:4px}
.contact-section{padding:94px 0 106px;background:linear-gradient(125deg,#164f7f,#1f6799 65%,#1d5685);color:#fff;scroll-margin-top:95px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:start}
.contact-intro .eyebrow{color:#98eafa}
.contact-intro h2{color:white;max-width:520px;margin-bottom:25px}
.contact-intro>p:not(.eyebrow){font-size:19px;line-height:1.7;color:#e6f5fb;max-width:520px}
.contact-direct{margin-top:40px;font-weight:700;font-size:14px;line-height:1.8}
.contact-direct a{display:block;color:#a5efff;font-size:18px;text-decoration:underline;text-underline-offset:4px}
.form-panel{background:#fff;color:var(--ink);padding:34px 37px;box-shadow:0 23px 50px #0b2e5145}
.form-panel h3{font-size:26px;margin:0 0 23px;letter-spacing:-.025em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-panel label,.form-panel legend{display:block;font-size:13px;font-weight:900;color:#234c70;margin-bottom:15px}
.form-panel label span{font-weight:500}
.form-panel .website-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-panel input:not([type=checkbox]),.form-panel textarea{display:block;width:100%;border:1px solid #aecadd;border-radius:3px;padding:12px 13px;margin-top:7px;color:var(--ink);background:#fff;font-size:16px}
.form-panel textarea{resize:vertical;min-height:112px}
.form-panel fieldset{border:0;padding:0;margin:3px 0 16px}
.form-panel legend{margin-bottom:8px}
.checkbox-row{display:flex;flex-wrap:wrap;gap:5px 18px}
.checkbox-row label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;margin:0 0 8px;color:#34546a}
.checkbox-row input{accent-color:var(--blue);width:16px;height:16px}
.form-actions{display:flex;align-items:center;gap:20px}
.form-actions p{font-size:12px;line-height:1.5;color:#62788a;margin:0}
.form-status{padding:12px;background:#e1f5ff;color:#12486d;font-size:14px;margin:17px 0 0}
.site-footer{background:#103c64;color:#fff;padding:45px 0 0}
.footer-main{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:44px;padding-bottom:44px}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:14px;font-weight:800}
.footer-links a:hover,.footer-contact a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-contact{display:flex;flex-direction:column;gap:12px;font-size:14px}
.footer-contact span{color:#9cecff;letter-spacing:.14em;font-size:11px;font-weight:900}
.footer-contact a{font-weight:800;overflow-wrap:anywhere}
.footer-contact small{font-size:13px;color:#c4d8e6}
.footer-bottom{border-top:1px solid #ffffff3d;padding:17px 0 20px;display:flex;justify-content:space-between;gap:20px;color:#d3e3ef;font-size:12px;font-weight:700}
.footer-bottom>div{display:flex;gap:22px;flex-wrap:wrap}
.footer-bottom button{border:0;background:none;padding:0;color:inherit;font-size:inherit;font-weight:inherit}
.privacy-link{border:0;background:none;color:#095f96;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px;padding:0}
.analytics-notice[hidden]{display:none}
.analytics-notice{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:min(1020px,calc(100% - 30px));z-index:30;background:white;color:var(--ink);border:1px solid #aed5e9;border-radius:5px;box-shadow:0 15px 50px #082d4c73;padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.analytics-notice strong{font-size:18px}
.analytics-notice p{font-size:14px;line-height:1.5;color:#4b677a;margin:7px 0 0}
.analytics-actions{display:flex;gap:9px;flex:none}
.analytics-actions button{border:1px solid var(--blue);background:white;color:var(--blue);border-radius:3px;padding:12px 15px;font-size:14px;font-weight:900}
.analytics-actions button:last-child{background:var(--blue);color:white}
.privacy-dialog{width:min(750px,calc(100% - 28px));max-height:min(88vh,900px);padding:0;border:1px solid #c3d9e8;border-radius:8px;box-shadow:0 24px 75px #0a233c70;overflow-y:auto;color:var(--ink);background:#fff}
.privacy-dialog::backdrop{background:#0b233bb8}
.privacy-heading{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:20px;padding:22px 30px 17px;background:#fff;border-bottom:1px solid #d7e6ee}
.privacy-heading .eyebrow{margin:0 0 6px;font-size:11px}
.privacy-heading h2{margin:0;font-size:clamp(1.55rem,3vw,2.05rem);line-height:1.2}
.privacy-updated{margin:7px 0 0;font-size:13px;color:#526c7f}
.privacy-close{align-self:flex-start;flex:none;width:38px;height:38px;border:0;border-radius:50%;background:#edf5fa;color:var(--ink);font-size:27px;line-height:1}
.privacy-content{padding:14px 30px 30px;font-size:16px;line-height:1.65;color:#304758}
.privacy-content p{margin:15px 0}.privacy-content h3{margin:33px 0 9px;font-size:22px;color:var(--ink)}.privacy-content h4{margin:22px 0 6px;font-size:18px;color:var(--ink)}.privacy-content ul{padding-left:25px;margin:8px 0 19px}.privacy-content li{margin:5px 0}.privacy-content a{color:var(--blue);font-weight:700;text-decoration:underline}.privacy-legal{margin-top:32px;padding-top:14px;border-top:1px solid #d7e6ee;font-size:14px}.privacy-legal p{margin:7px 0}
@media(max-width:1180px){.header-inner{min-height:86px}.brand{width:230px}.brand-wordmark strong{font-size:25px}.brand-wordmark small{font-size:10px}.site-nav{font-size:13px;gap:14px}.site-nav .nav-sibling{padding-left:14px}.nav-cta{padding:13px}.hero-grid{min-height:630px}}
@media(max-width:960px){.container{width:min(100% - 44px,1320px)}.menu-toggle{width:42px;height:42px;border:1px solid #ffffff8a;border-radius:4px;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-toggle span{display:block;width:20px;height:2px;background:white}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 22px 23px;background:#124c7b;box-shadow:0 12px 25px #0a36566b;flex-direction:column;align-items:stretch;gap:0}.site-nav.open{display:flex}.site-nav>a{padding:13px 5px}.site-nav .nav-sibling{border-left:0;padding-left:5px}.site-nav .nav-cta{margin-top:8px;color:var(--blue);justify-content:flex-start;padding:14px 18px}.hero-grid{min-height:0;grid-template-columns:1fr 1fr;gap:25px;padding:68px 0}.hero h1{font-size:clamp(2.8rem,5vw,4.5rem)}.hero-visual{min-height:440px}.capability-grid{grid-template-columns:repeat(3,1fr)}.capability-card{min-height:270px}.contact-grid{gap:5%}.footer-main{grid-template-columns:1fr 1fr}.footer-contact{grid-column:1/-1}}
@media(max-width:690px){.container{width:calc(100% - 34px)}.header-inner{min-height:78px}.brand{width:210px;gap:10px}.brand-icon{width:50px;height:58px}.brand-icon img{width:255px}.brand-wordmark strong{font-size:23px}.brand-wordmark small{font-size:9px}.hero-grid{grid-template-columns:1fr;padding:58px 0 56px}.hero h1{font-size:clamp(2.8rem,10.2vw,4.1rem)}.hero-visual{min-height:310px}.visual-caption{font-size:15px;padding:15px 18px}.hero-lede{font-size:18px}.section{padding:74px 0}.intro-head{display:block}.intro-head h2{margin-bottom:20px}.intro-head>p:last-child{font-size:17px}.capability-grid{grid-template-columns:repeat(2,1fr)}.capability-card{min-height:260px}.process-line{grid-template-columns:repeat(2,1fr)}.process-step:nth-child(3){border-left:0}.process-step:nth-child(n+3){border-top:1px solid var(--line)}.landscape-banner{height:185px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:29px}.about-body>p{font-size:17px}.contact-section{padding:74px 0}.form-panel{padding:25px 20px}.footer-main{gap:27px}.footer-bottom{flex-direction:column}.analytics-notice{display:block;padding:18px}.analytics-actions{margin-top:14px}.privacy-heading{padding:18px}.privacy-content{padding:10px 18px 24px}}
@media(max-width:440px){.eyebrow{font-size:11px}.hero-actions{align-items:flex-start;flex-direction:column}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:0;padding:23px}.capability-card img{margin-bottom:5px}.process-step{padding:18px 10px;min-height:170px}.process-step img{height:56px}.process-step p{font-size:13px}.form-row{grid-template-columns:1fr;gap:0}.form-actions{flex-direction:column;align-items:flex-start}.footer-main{grid-template-columns:1fr}.footer-contact{grid-column:auto}.analytics-actions{flex-wrap:wrap}.analytics-actions button{flex:1}.footer-bottom>div{gap:13px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
/* Preserve Radical's original icon and wordmark; replace the subline with Studio. */
.brand{width:275px;gap:9px}
.brand-icon{width:58px}
.brand-wordmark{width:204px}
.radical-word{position:relative;display:block;width:204px;height:32px;overflow:hidden}
.radical-word img{position:absolute;max-width:none;width:280px;height:auto;left:-66px;top:-7px}
.brand-white .radical-word img{filter:brightness(0) invert(1)}
.brand-wordmark small{margin-top:4px;font-size:12px;letter-spacing:.53em}
@media(max-width:1180px){.brand{width:245px}.brand-icon{width:53px;height:58px}.brand-icon img{width:260px}.brand-wordmark{width:185px}.radical-word{width:185px;height:29px}.radical-word img{width:260px;left:-61px;top:-6px}.brand-wordmark small{font-size:10px}}
@media(max-width:690px){.brand{width:225px}.brand-icon{width:49px;height:55px}.brand-icon img{width:245px}.brand-wordmark{width:170px}.radical-word{width:170px;height:27px}.radical-word img{width:245px;left:-58px;top:-6px}.brand-wordmark small{font-size:9px}}
/* Black framing, restrained navigation, matched Studio wordmark, and device showcase. */
.site-header,.site-footer{background:#0b0d11}
.site-nav{font-size:15px;font-weight:600;letter-spacing:0}
.site-nav .nav-cta{font-weight:800}
.studio-subline{display:block;width:204px;height:20px;margin-top:3px;fill:currentColor;font:800 15px Arial,Helvetica,sans-serif}
.hero-grid{min-height:610px;padding-block:70px}
.hero h1{font-size:clamp(2.85rem,4vw,4.45rem);line-height:1.08;letter-spacing:-.045em;max-width:650px}
.hero-visual{align-self:center;aspect-ratio:4/3;min-height:0;border:0;background:#f8fcff;box-shadow:0 19px 48px #143d631c}
.hero-visual>img{object-fit:contain;object-position:center}
@media(max-width:1180px){.site-nav{font-size:14px}.studio-subline{width:185px;height:18px}}
@media(max-width:960px){.site-nav{background:#0b0d11;font-size:15px}.hero-grid{min-height:0}}
@media(max-width:690px){.studio-subline{width:170px;height:17px}.hero h1{font-size:clamp(2.7rem,9vw,3.8rem)}.hero-visual{min-height:0}}

/* Four-page Studio design: white framing with stronger colour in the content. */
.site-header{background:#fff;color:#173d5e;border-bottom:1px solid #c9dfed;box-shadow:0 4px 16px #0a365615}
.site-footer{background:#fff;color:#173d5e;border-top:5px solid #27a9d6}
.site-header .brand,.site-footer .brand{color:#285c87}
.site-header .brand-blue .brand-icon img,.site-footer .brand-blue .brand-icon img,.brand-blue .radical-word img{filter:none}
.site-nav>a:not(.nav-cta){color:#173d5e}
.site-nav>a:not(.nav-cta):hover,.site-nav>a[aria-current=page]{color:#0678ba}
.site-nav .nav-sibling{border-left-color:#b7d1e2}
.site-nav .nav-cta{background:#176a9f;color:#fff;border-color:#176a9f}
.site-nav .nav-cta:hover{background:#0a507e;color:#fff}
.site-footer .footer-contact span{color:#076fa8}
.site-footer .footer-contact small,.site-footer .footer-bottom{color:#536c80}
.site-footer .footer-bottom{border-top-color:#d2e2ec}
.site-footer .footer-links a,.site-footer .footer-contact a{color:#173d5e}
.home-opening{background:linear-gradient(110deg,#e4f5ff,#f7fcff 72%);border-top:1px solid #d3eaf8}
.home-opening-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:8%;align-items:center}
.home-opening-grid>div:last-child>p,.home-about p,.process-note p,.parent-section p{font-size:19px;line-height:1.7;color:#315670;margin:0 0 18px}
.home-opening-grid h2{max-width:640px}
.home-capabilities{background:#f2f9fe}
.home-capabilities .capability-card{border-top:4px solid #28a8da}
.section-link{display:inline-flex;align-items:center;gap:15px;color:#08679e;font-size:16px;font-weight:900;margin-top:30px;padding-bottom:8px;border-bottom:3px solid #23abd8}
.section-link:hover{color:#053f68}
.home-process{background:linear-gradient(130deg,#145b90,#1d7bae);color:#fff}
.home-process-grid{display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:center}
.home-process h2{color:#fff;max-width:620px}
.home-process p:not(.eyebrow){font-size:19px;line-height:1.65;max-width:620px;color:#e2f5ff}
.home-process .eyebrow{color:#a8ecff}
.home-process ol{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff75}
.home-process li{display:flex;align-items:center;gap:30px;border-bottom:1px solid #ffffff75;padding:18px 8px;font-size:25px;font-weight:800}
.home-process li span{font-size:14px;color:#a5edff;letter-spacing:.15em}
.light-link{color:#fff;border-color:#a5edff}.light-link:hover{color:#cdf3ff}
.home-about{background:#e9f7fd}
.page-hero{background:radial-gradient(circle at 89% 12%,#aedff4 0,transparent 36%),linear-gradient(120deg,#e7f6ff,#f5fbff 68%);padding:75px 0 82px;border-bottom:1px solid #bddff0}
.page-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:9%;align-items:end}
.page-hero h1{font-size:clamp(3rem,5.2vw,5.2rem);line-height:1.06;letter-spacing:-.045em;max-width:820px;margin:18px 0 24px;color:#123451}
.page-hero p:not(.eyebrow){font-size:20px;line-height:1.6;color:#315674;max-width:730px;margin:0}
.page-hero .eyebrow{color:#0879b8}
.breadcrumbs{display:flex;gap:11px;align-items:center;margin-bottom:33px;font-size:14px;color:#3b6683;font-weight:700}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.page-hero-note{background:#145c90;color:white;padding:30px 33px;border-top:5px solid #32b7df;box-shadow:10px 12px 0 #b5e4f5}
.page-hero-note strong{font-size:13px;letter-spacing:.16em;color:#b9ecff}
.page-hero .page-hero-note p{color:white;font-size:18px;margin:16px 0 0}
.service-detail{background:#fff}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.detail-grid article{display:grid;grid-template-columns:105px 1fr;gap:20px;background:#eff8fd;padding:33px 32px;border-left:4px solid #28a9d5}
.detail-grid article:nth-child(3n+2){background:#e3f3fc}
.detail-grid img{width:96px;height:88px;object-fit:contain;mix-blend-mode:multiply}
.detail-grid h3,.steps-list h3,.fit-grid h3,.value-grid h3{font-size:23px;line-height:1.2;color:#133e61;margin:0 0 12px}
.detail-grid p,.fit-grid p,.steps-list p,.value-grid p{color:#3d5c73;line-height:1.65;margin:0 0 12px;font-size:16px}
.fit-section{background:#dff3fc}.fit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.fit-grid article{background:white;padding:34px;border-top:5px solid #1a86b9}
.fit-grid span{display:block;color:#0876ac;font-weight:900;letter-spacing:.12em;font-size:12px;margin-bottom:20px}
.mini-cta{background:#123f68;color:#fff;padding:54px 0}
.mini-cta .container{display:flex;align-items:center;justify-content:space-between;gap:35px}
.mini-cta h2{color:#fff;font-size:clamp(2rem,3vw,3.2rem)}
.mini-cta .eyebrow{color:#9be7ff}.mini-cta .button{white-space:nowrap}
.process-detail{background:#fff}
.steps-list{display:grid;gap:16px}
.steps-list article{display:grid;grid-template-columns:55px 180px 1fr;gap:25px;align-items:start;padding:30px;background:#edf8fe;border-left:5px solid #28abd7}
.steps-list article:nth-child(even){background:#e4f3fb}
.steps-list img{width:170px;height:115px;object-fit:contain}
.step-count{font-size:19px;font-weight:900;color:#0878af}
.steps-list p strong{color:#123e5d}
.process-note{background:#dff3fc}
.about-detail{background:#fff}
.about-values{background:#e5f5fd}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.value-grid article{background:white;padding:32px;border-top:5px solid #2badd8}
.value-grid span{display:block;font-size:14px;font-weight:900;color:#087bb4;margin-bottom:20px}
.parent-section{background:#fff}
@media(max-width:960px){.site-header .menu-toggle{border-color:#417ca4}.site-header .menu-toggle span{background:#145784}.site-nav{background:#fff;border-top:1px solid #cce1ee;box-shadow:0 15px 28px #163c5b30}.site-nav .nav-cta{color:#fff}.home-opening-grid,.page-hero-grid{gap:5%}.detail-grid{grid-template-columns:1fr}.steps-list article{grid-template-columns:45px 130px 1fr}.steps-list img{width:125px}}
@media(max-width:690px){.home-opening-grid,.home-process-grid,.page-hero-grid{grid-template-columns:1fr;gap:25px}.page-hero{padding:46px 0 62px}.page-hero h1{font-size:clamp(2.55rem,9vw,4rem)}.page-hero-note{margin:0 12px 8px 0}.home-process li{font-size:21px}.fit-grid,.value-grid{grid-template-columns:1fr}.steps-list article{grid-template-columns:38px 1fr;gap:10px}.steps-list img{grid-column:2;width:150px;height:85px}.steps-list article>div{grid-column:2}.mini-cta .container{align-items:flex-start;flex-direction:column}.detail-grid article{grid-template-columns:78px 1fr;padding:22px;gap:12px}.detail-grid img{width:75px;height:72px}}
@media(max-width:440px){.detail-grid article{grid-template-columns:1fr}.detail-grid img{height:70px}.page-hero-note{padding:24px}.mini-cta{padding:44px 0}.steps-list article{padding:20px 15px}}

/* Compact inner-page heroes and location. */
.site-footer .footer-links{font-size:15px;font-weight:600;letter-spacing:0}
.site-footer .footer-contact{font-size:15px;font-weight:600}
.site-footer .footer-contact a{font-weight:600}
.page-hero{padding:61px 0 66px}
.page-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:6%;align-items:center}
.page-hero h1{font-size:clamp(2.5rem,3.85vw,3.9rem);line-height:1.1;max-width:720px}
.page-hero-image{margin:0;border:8px solid #fff;box-shadow:0 18px 38px #143d6325;background:#d5eaf6;aspect-ratio:3/2;overflow:hidden}
.page-hero-image img{display:block;width:100%;height:100%;object-fit:cover}
.location-section{background:#e4f4fc}
.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:center}
.location-grid p:not(.eyebrow){font-size:18px;line-height:1.65;color:#315670}
.location-map{border:8px solid white;box-shadow:0 16px 34px #143d631c;aspect-ratio:16/9;background:#d2e9f5}
.location-map iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:960px){.site-footer .footer-links{font-size:14px}.location-grid{gap:5%}}
@media(max-width:690px){.page-hero{padding:43px 0 59px}.page-hero-grid,.location-grid{grid-template-columns:1fr;gap:26px}.page-hero h1{font-size:clamp(2.3rem,7.7vw,3.3rem)}.page-hero-image{max-width:600px}.location-map{aspect-ratio:4/3}}
.location-statement{font-size:clamp(1.65rem,2.9vw,2.7rem)!important;line-height:1.28!important;font-weight:850;letter-spacing:-.035em;color:#123e61!important;max-width:510px}

/* Readable primary navigation; collapse before larger labels crowd the logo. */
.site-header .site-nav{font-size:17px;font-weight:700;gap:clamp(12px,1.5vw,24px)}
.site-header .site-nav .nav-sibling{padding-left:clamp(12px,1.5vw,24px)}
.site-footer .footer-links{font-size:17px;font-weight:700}
@media(max-width:1180px){.site-header .site-nav{font-size:16px;gap:12px}.site-header .site-nav .nav-sibling{padding-left:12px}.site-footer .footer-links{font-size:16px}}
@media(min-width:961px) and (max-width:1100px){
 .site-header .menu-toggle{width:42px;height:42px;border:1px solid #417ca4;border-radius:4px;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}
 .site-header .menu-toggle span{display:block;width:20px;height:2px;background:#145784}
 .site-header .site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 22px 23px;background:#fff;border-top:1px solid #cce1ee;box-shadow:0 15px 28px #163c5b30;flex-direction:column;align-items:stretch;gap:0}
 .site-header .site-nav.open{display:flex}
 .site-header .site-nav>a{padding:13px 5px}
 .site-header .site-nav .nav-sibling{border-left:0;padding-left:5px}
 .site-header .site-nav .nav-cta{margin-top:8px;color:#fff;justify-content:flex-start;padding:14px 18px}
}
@media(max-width:960px){.site-header .site-nav{font-size:17px;gap:0}.site-footer .footer-links{font-size:16px}}

/* A concise capability checklist immediately below the home hero. */
.home-checklist{background:#f0f9fe;border-top:1px solid #cce5f4;border-bottom:4px solid #2caed9;padding:24px 0 28px}
.home-checklist h2{font-size:14px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:#155b86;margin:0 0 18px;font-weight:900}
.home-checklist ul{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 22px;margin:0;padding:0}
.home-checklist li{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;line-height:1.35;color:#173d5e}
.home-checklist li::before{content:"✓";display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:#176a9f;color:white;font-size:14px;font-weight:900;line-height:1}
@media(max-width:960px){.home-checklist ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.home-checklist{padding:21px 0 25px}.home-checklist ul{gap:15px 12px}.home-checklist li{font-size:14px;align-items:flex-start}.home-checklist li::before{width:20px;height:20px;font-size:13px}}
@media(max-width:360px){.home-checklist ul{grid-template-columns:1fr}}

/* Keep the capability checklist attached to the homepage's device image. */
.hero-grid{min-height:0;padding-block:52px 58px}
.hero-media{min-width:0;align-self:center}
.hero-media .hero-visual{width:100%;box-shadow:0 12px 32px #143d631c}
.hero-media .home-checklist{margin-top:10px;padding:16px 18px 18px;border:1px solid #cce5f4;border-top:4px solid #2caed9;box-shadow:0 12px 25px #143d6311}
.hero-media .home-checklist h2{font-size:12px;margin-bottom:12px}
.hero-media .home-checklist ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.hero-media .home-checklist li{font-size:14px;gap:8px}
.hero-media .home-checklist li::before{width:19px;height:19px;font-size:12px}
@media(max-width:960px){.hero-grid{padding-block:48px 54px}.hero-media .home-checklist{padding:14px 13px}.hero-media .home-checklist li{font-size:13px}}
@media(max-width:690px){.hero-grid{padding:47px 0 49px}.hero-media .home-checklist{margin-top:8px}}
@media(max-width:360px){.hero-media .home-checklist ul{grid-template-columns:1fr}}
/* The image-adjacent checklist communicates without a second heading. */
.hero-media .home-checklist{padding:15px 18px}
@media(max-width:960px){.hero-media .home-checklist{padding:14px 13px}}

/* More rhythm through the homepage, while preserving its light framing. */
.home-opening{background:#f1f9fd;padding:62px 0}
.home-opening .home-opening-grid{position:relative;overflow:hidden;padding:48px 55px;background:linear-gradient(115deg,#195786,#287dac);border-radius:6px;box-shadow:0 18px 38px #0e4e791d}
.home-opening .eyebrow{color:#c3eeff}
.home-opening h2{color:#fff}
.home-opening h2 span{color:#b4e7ff}
.home-opening .home-opening-grid>div:last-child>p{color:#edf8fe}
.home-capabilities{background:linear-gradient(180deg,#fff 0%,#eff8fe 100%)}
.home-capabilities .capability-card{border:1px solid #bfdce9;border-top:4px solid #168dc3;box-shadow:0 13px 26px #174f7912;transition:transform .2s,box-shadow .2s}
.home-capabilities .capability-card:hover{transform:translateY(-4px);box-shadow:0 17px 32px #174f7920}
.home-capabilities .capability-card img{width:94px;height:84px;object-fit:contain;object-position:center;padding:11px;background:#dceffa;border:1px solid #b8dbed;border-radius:9px;margin:0 0 20px;mix-blend-mode:multiply}
.home-capabilities .capability-card h3{color:#164a73}
.home-capabilities .capability-card h3:after{width:49px;height:4px}
/* Give each interior page its own visual framing around the existing imagery. */
.page-hero--services{background:radial-gradient(circle at 91% 10%,#b7e9fa 0,transparent 34%),linear-gradient(120deg,#e9f7ff,#f8fcff 74%)}
.page-hero--process{background:linear-gradient(120deg,#f8fbfe 5%,#e2f1fa 100%)}
.page-hero--process .page-hero-image{border:8px solid #fff;box-shadow:15px 15px 0 #c2e2f3,0 18px 38px #143d631e}
.page-hero--process .eyebrow{color:#176a9f}
.page-hero--about{background:linear-gradient(115deg,#ebf8fc,#dceff4 100%)}
.page-hero--about .page-hero-image{border:7px solid #fff;border-bottom:7px solid #16a5cc;box-shadow:0 18px 40px #104c6725}
.page-hero--about .eyebrow{color:#087ca8}
@media(max-width:690px){.home-opening{padding:42px 0}.home-opening .home-opening-grid{padding:33px 26px}.home-capabilities .capability-card img{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.home-capabilities .capability-card{transition:none}}

/* Carry the stronger homepage card language through the three interior pages. */
.service-detail,.process-detail{background:#f8fcff}
.detail-grid article,.detail-grid article:nth-child(3n+2){background:#fff;border:1px solid #cbdfea;border-left:4px solid #238dbb;box-shadow:0 12px 28px #174f790d}
.detail-grid img{width:96px;height:88px;object-fit:contain;object-position:center;padding:9px;border:1px solid #c2e0ee;border-radius:8px;background:#e4f3fb;mix-blend-mode:multiply}
.fit-grid article{border:1px solid #c4deeb;border-top:5px solid #1a86b9;box-shadow:0 12px 25px #174f790d}
.steps-list article,.steps-list article:nth-child(even){background:#fff;border:1px solid #cbdfea;border-left:5px solid #228fbe;box-shadow:0 12px 28px #174f790d}
.steps-list img{background:#e8f5fc;border-radius:7px;padding:7px;mix-blend-mode:multiply}
.step-count{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#1d6b9b;color:#fff;font-size:16px;line-height:1}
.process-note{background:#f0f8fd;padding:62px 0}
.process-note .home-opening-grid{background:linear-gradient(110deg,#1b608f,#287ba9);padding:44px 50px;border-radius:6px;box-shadow:0 16px 34px #0e4e791a}
.process-note .eyebrow{color:#bdeaff}
.process-note h2{color:#fff}
.process-note h2 span{color:#b9e9ff}
.process-note .home-opening-grid>div:last-child>p{color:#eaf7ff}
.process-note .section-link{color:#fff;border-bottom-color:#9de7ff}
.about-detail{padding:86px 0}
.about-values{background:#edf8fd}
.value-grid article{border:1px solid #c7e0eb;border-top:4px solid #2094c2;box-shadow:0 12px 26px #174f7910}
.value-grid span{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#dceffa;color:#145d8c;margin-bottom:20px}
.parent-section .home-opening-grid{background:#f1f9fd;border-left:5px solid #228fc0;padding:40px 47px}
.location-section{background:linear-gradient(120deg,#e7f5fc,#f4fbfe)}
@media(max-width:690px){.detail-grid img{width:75px;height:72px;padding:7px}.steps-list article{grid-template-columns:42px 1fr}.steps-list img{width:150px}.process-note{padding:42px 0}.process-note .home-opening-grid,.parent-section .home-opening-grid{padding:31px 25px}.about-detail{padding:70px 0}}
@media(max-width:440px){.detail-grid img{width:85px;height:75px}}

/* Lightweight motion: only opacity/transform animate, and content stays visible without JS. */
.button-primary,.section-link,.text-link{transition:transform .2s ease,box-shadow .2s ease,color .2s ease}
.button-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0a6fa13b}
.section-link:hover,.text-link:hover{color:#0699c7}
.detail-grid article,.steps-list article,.fit-grid article,.value-grid article{transition:transform .2s ease,box-shadow .2s ease}
.detail-grid article:hover,.steps-list article:hover,.fit-grid article:hover,.value-grid article:hover{transform:translateY(-3px);box-shadow:0 16px 30px #174f791a}
.home-process ol,.steps-list{position:relative}
.home-process ol::before,.home-process ol::after,.steps-list::before,.steps-list::after{content:"";position:absolute;top:0;bottom:0;width:3px;pointer-events:none}
.home-process ol::before,.home-process ol::after{left:-15px}
.steps-list::before,.steps-list::after{left:-17px}
.home-process ol::before{background:#ffffff60}
.steps-list::before{background:#c7e3ef}
.home-process ol::after,.steps-list::after{background:#1db3dc;transform:scaleY(var(--process-progress,0));transform-origin:top;will-change:transform}
@media(max-width:690px){.steps-list::before,.steps-list::after{display:none}}
@media(prefers-reduced-motion:reduce){
  .button-primary,.section-link,.text-link,.detail-grid article,.steps-list article,.fit-grid article,.value-grid article{transition:none}
  .button-primary:hover,.detail-grid article:hover,.steps-list article:hover,.fit-grid article:hover,.value-grid article:hover{transform:none}
  .home-process ol,.steps-list{--process-progress:1}
}
