@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&display=swap');
/* Visual system from the client's organic, contemporary reference. */
:root { --navy:#00334a; --blue:#00b4df; --cyan:#00b9e9; --pale:#effaff; --line:#dceef5; --radius:24px; }
.header { border-bottom-color:#eef5f8; }
.nav-wrap { height:84px; }
nav { gap:31px; font-size:12px; }
nav>a.active:after { width:35px; bottom:-18px; border-radius:4px; }
.nav-cta { border-radius:9px; padding:14px 20px; margin-left:95px; font-size:11px; }
.brand img { width:137px; }
.brand-360 { font-size:29px; }
.button { border-radius:10px; font-size:12px; gap:21px; padding:14px 22px; }
.button.primary { box-shadow:0 6px 14px #03394f12; }
.button.primary:hover { background:#006687; box-shadow:0 9px 22px #00334a1f; }
.eyebrow { color:#008dbb; letter-spacing:2.1px; font-size:10px; }
.hero-shell { position:relative; overflow:hidden; isolation:isolate; }
.hero { gap:38px; grid-template-columns:.84fr 1.16fr; padding-top:20px; padding-bottom:20px; min-height:580px; }
.hero-copy { position:relative; z-index:3; padding:25px 0; }
.hero h1 { font-size:clamp(52px,4.9vw,70px); letter-spacing:-3.4px; line-height:1.05; }
.hero-copy>p { max-width:395px; margin:25px 0 27px; font-size:15px; line-height:1.65; }
.hero-buttons { gap:24px; flex-wrap:nowrap; }
.hero-buttons .button { font-size:11px; gap:17px; padding:14px 19px; }
.hero-buttons .plain { padding-left:0; padding-right:0; }
.hero-visual { height:540px; margin-left:0; isolation:isolate; }
.hero-frame { position:absolute; inset:9px 45px 4px 26px; border-radius:90px 48px 90px 75px; transform:skewX(-11deg); overflow:hidden; z-index:1; background:#d9edf5; }
.hero-main { width:100%; height:100%; border-radius:0; transform:skewX(11deg) scale(1.13); object-position:center 29%; }
.hero-art { position:absolute; inset:0 -200px 0 -30px; z-index:0; pointer-events:none; }
.ribbon { display:block; position:absolute; }
.ribbon-light { left:11px; top:37px; width:69%; height:84%; background:linear-gradient(140deg,#66d8f6,#9ce7fb 55%,#dff7ff); transform:rotate(-15deg); border-radius:85px 140px 100px 140px; }
.ribbon-dark { right:-78px; top:6px; width:270px; height:94%; background:linear-gradient(150deg,#00344a,#04516b 80%); border-radius:140px 125px 70px 140px; transform:rotate(24deg); }
.ribbon-bright { right:4px; bottom:-10px; width:270px; height:56%; border-radius:120px 85px 95px 75px; background:linear-gradient(120deg,#00bbeaee,#55d8f0d9); transform:rotate(27deg); }
.ribbon-line { left:-12px; top:4px; width:86%; height:104%; transform:rotate(20deg); border:1px solid #70d4ee3b; border-radius:140px 130px 170px 95px; }
.ribbon-line:after { content:''; position:absolute; inset:17px; border:1px solid #70d4ee36; border-radius:inherit; }
.hero-small { width:25%; height:40%; right:-10px; bottom:6px; border:5px solid #fff; border-radius:33px 32px 42px 32px; transform:rotate(-5deg); object-position:center 26%; box-shadow:0 15px 28px #03394f21; z-index:3; }
.hero-label { right:26%; bottom:30px; gap:17px; padding:24px 27px; border-radius:30px; min-width:255px; background:#fffffff5; box-shadow:0 12px 30px #03394f12; z-index:4; }
.hero-label>svg { width:37px; height:37px; align-self:flex-start; }
.hero-label strong { font-size:14px; font-weight:750; line-height:1.25; }
.hero-label span { font-size:11px; margin-top:8px; }
.trust-strip { background:white; border:0; padding-bottom:17px; }
.trust-strip .container { padding:22px 0; }
.trust-item { padding:0 28px; gap:17px; }
.trust-item>svg { width:33px; height:33px; }
.trust-item strong { font-size:11px; }
.trust-item span { font-size:10px; }
.solutions-shell { position:relative; background:linear-gradient(140deg,#eefaff,#f6fcff 52%,#ecfaff); overflow:hidden; isolation:isolate; }
.solutions-shell:before,.solutions-shell:after { content:''; position:absolute; z-index:-1; width:215px; height:490px; border-radius:130px 120px 150px 120px; transform:rotate(-22deg); border:40px solid #75daf925; }
.solutions-shell:before { left:-100px; top:190px; }
.solutions-shell:after { right:-130px; top:195px; border-color:#42cbf736; transform:rotate(-28deg); }
.solutions-section { padding-top:49px; padding-bottom:54px; }
.solutions-head { display:grid; grid-template-columns:1.15fr 1fr .4fr; align-items:center; gap:35px; margin-bottom:35px; }
.solutions-head h2 { font-size:45px; letter-spacing:-2px; }
.solutions-head p { max-width:none; font-size:14px; margin-top:15px; }
.handwritten { color:#158fc1; font-family:'Caveat',cursive; font-size:27px; line-height:1.1; position:relative; transform:rotate(-12deg); text-align:center; min-width:135px; }
.handwritten svg { position:absolute; width:55px; height:65px; left:-40px; bottom:-11px; transform:rotate(12deg); opacity:.55; }
.services-grid { gap:24px; }
.service-card { border-radius:24px; border:1px solid #e2f3fa; box-shadow:0 7px 25px #00638a07; }
.service-card:hover { transform:translateY(-7px); box-shadow:0 18px 35px #0077aa13; }
.card-photo { height:224px; overflow:visible; }
.card-photo img { border-radius:23px 23px 0 0; height:100%; object-position:center 25%; }
.service-card:hover .card-photo img { transform:none; }
.service-index { left:18px; bottom:-12px; z-index:2; width:43px; height:43px; display:grid; place-items:center; padding:0; border-radius:14px; font-size:15px; color:white; background:linear-gradient(135deg,#00c5f0,#009dd2); box-shadow:0 6px 15px #00a8d321; }
.card-body { padding:29px 21px 23px; }
.card-body h3 { font-size:20px; letter-spacing:-.6px; }
.card-body p { font-size:12px; line-height:1.6; margin:12px 0 24px; }
.card-body .text-link { font-size:11px; }
.about-section { background:linear-gradient(105deg,#ffffff,#fcfeff); padding:0; position:relative; }
.about-grid { display:grid; grid-template-columns:1.3fr .78fr .6fr; gap:44px; align-items:center; padding-top:0; padding-bottom:0; }
.about-photos { margin-left:calc((min(1280px,100vw - 112px) - 100vw) / 2); }
.about-photos>img { height:395px; border-radius:0 35px 80px 0; object-position:center 49%; }
.about-photos:after { content:''; width:100px; height:130px; position:absolute; right:0; bottom:0; border-radius:100% 0 75% 0; background:linear-gradient(135deg,#00c6f8cc,#56d6ff); opacity:.85; pointer-events:none; }
.image-caption { z-index:2; left:40px; bottom:32px; border-radius:23px; padding:21px 25px; max-width:calc(100% - 65px); }
.image-caption>svg { width:40px; height:40px; }
.image-caption strong { font-size:13px; }
.image-caption span { font-size:10px; }
.about-copy h2 { font-size:36px; letter-spacing:-1.5px; line-height:1.16; }
.about-copy p { font-size:12px; line-height:1.65; margin:20px 0 24px; }
.about-copy .button { font-size:10px; padding:14px 16px; gap:15px; white-space:nowrap; }
.about-benefits { display:grid; gap:14px; }
.about-benefits>div { display:flex; align-items:center; gap:13px; color:var(--navy); font-size:11px; font-weight:550; }
.benefit-icon { display:grid; place-items:center; width:52px; height:52px; flex-shrink:0; border-radius:16px; color:#0099cc; border:1px solid #d9f0fa; background:linear-gradient(140deg,#effbff,#e0f5fd); }
.benefit-icon svg { width:27px; height:27px; }
.environments-shell { position:relative; overflow:hidden; isolation:isolate; border-top:1px solid #eaf4f8; }
.environments-shell:before { content:''; position:absolute; z-index:-1; width:470px; height:170px; border-radius:100px; transform:rotate(-16deg); background:#5acff82b; left:-190px; bottom:64px; }
.environments-shell:after { content:''; position:absolute; z-index:-1; width:400px; height:210px; border-radius:130px; transform:rotate(-16deg); border:50px solid #36bff92c; left:-120px; bottom:12px; }
.environments-section { padding-top:48px; padding-bottom:40px; }
.environment-heading { display:grid; grid-template-columns:.9fr 1.1fr; gap:37px; align-items:end; margin-bottom:29px; }
.environment-heading .section-head { margin:0; display:block; }
.environment-heading h2 { font-size:37px; letter-spacing:-1.5px; }
.sectors { border-bottom:1px solid #d3eaf5; margin:0; gap:5px; padding-bottom:1px; }
.sector { padding:17px 16px; border:0; border-radius:28px 28px 0 0; gap:10px; white-space:nowrap; min-height:62px; }
.sector:after { display:none; }
.sector svg { width:24px; height:24px; }
.sector span { font-size:12px; }
.sector.active { color:white; background:linear-gradient(130deg,#00bde9,#029fce); border-radius:28px; box-shadow:0 8px 20px #00afd336; }
.sector.active svg { color:white; }
.sector-detail { background:linear-gradient(115deg,#ecf9ff,#f4fcff 65%); border:1px solid #dbeef8; border-radius:36px; gap:0; padding:0; overflow:hidden; grid-template-columns:.78fr 1.22fr; align-items:stretch; min-height:315px; }
.sector-copy { padding:36px 40px 35px; align-self:center; }
.sector-copy .eyebrow { font-size:9px; letter-spacing:1.5px; }
.sector-detail h3 { font-size:29px; letter-spacing:-1px; max-width:360px; }
.sector-detail p { font-size:13px; line-height:1.65; margin:18px 0 24px; max-width:365px; }
.sector-copy .button { font-size:11px; padding:13px 18px; min-height:45px; }
.sector-image { position:relative; overflow:hidden; border-radius:80px 24px 36px 70px; }
.sector-image:after { content:''; position:absolute; bottom:0; left:0; width:85px; height:90px; border-radius:0 100% 0 0; background:linear-gradient(140deg,#64ddfc,#08b3ed); }
.sector-photo { height:100%; min-height:315px; border-radius:0; object-position:center 35%; }
.process-section { background:linear-gradient(125deg,#ecfaff,#f4fcff 65%,#e9f9ff); padding:38px 0 40px; }
.process-section .section-head { margin-bottom:0; }
.process-section h2 { font-size:38px; }
.process-grid { margin-top:33px; }
.process-grid article { border-color:#c7e7f4; padding-right:33px; }
.process-grid h3 { font-size:19px; }
.process-grid p { font-size:12px; }
.process-step { gap:20px; margin-bottom:13px; }
.process-step>span { font-size:49px; }
.process-step>svg { width:34px; height:34px; }
.process-arrow { color:#049ac9; right:16px; top:65px; }
.faq-section { padding-top:43px; padding-bottom:44px; gap:95px; grid-template-columns:.7fr 1.3fr; }
.faq-section h2 { font-size:37px; }
.faq-section>div>p { font-size:14px; }
.faq-list summary { font-size:12px; padding:18px 0; }
.cta { padding:35px 0; background:#07384f; isolation:isolate; }
.cta:before { inset:0; z-index:-3; background-image:url('/assets/3.webp'); background-position:center 73%; }
.cta:after { inset:-70px 46% -70px -40px; z-index:-2; border-radius:80px 80px 130px 80px; transform:skewX(-16deg); background:linear-gradient(130deg,#00374df8,#023e55ed); }
.cta-ribbon { position:absolute; z-index:-1; inset:-90px -70px -90px 75%; border-radius:120px; transform:skewX(-25deg); background:linear-gradient(135deg,#00b8e4 0%,#006789 30%,#00364cec 32%); }
.cta-ribbon:after { content:''; position:absolute; inset:15px; border:1px solid #11b7e129; border-radius:inherit; }
.cta h2 { font-size:34px; max-width:660px; }
.cta-inner { gap:100px; }
.cta-action { display:flex; flex-direction:column; align-items:center; gap:12px; padding-right:30px; }
.cta-action>span { font-size:11px; color:#d7eef5; }
.cta .button { border-radius:9px; font-size:12px; padding:17px 24px; }
footer { padding-top:34px; }
.footer-grid { gap:50px; padding-bottom:30px; }
.footer-grid h3 { margin-top:8px; }
.footer-grid>div:first-child { border-color:#e6f0f5; }
.footer-bottom { border-color:#eaf3f7; }
.subhero { position:relative; padding-top:37px; padding-bottom:42px; gap:65px; }
.subhero:before { content:''; position:absolute; pointer-events:none; width:39%; height:83%; right:3%; top:30px; border-radius:80px 45px 70px 90px; transform:rotate(-7deg); background:linear-gradient(140deg,#9deaff55,#dff7ff55); z-index:-1; }
.subhero-photo { border-radius:75px 28px 70px 28px; box-shadow:0 9px 32px #0045670c; }
.subhero h1 { font-size:49px; letter-spacing:-2.6px; }
.values-section { background:linear-gradient(135deg,#edfbff,#f5fcff); }
.values-grid article+article { border-color:#d1eaf6; }
.portrait { border-radius:65px 25px 65px 25px; }
.commitments article>svg { width:28px; height:28px; padding:4px; background:#e6f8fe; border-radius:8px; box-sizing:content-box; }
.includes,.form { border-radius:28px; border-color:#d3ebf5; background:linear-gradient(145deg,#f3fbff,#ebf8ff); box-shadow:0 10px 32px #004b6806; }
.form { padding:37px; }
.form input:not([type=checkbox]),.form select,.form textarea { border-radius:10px; border-color:#cfe4ef; }
.form .upload-label { border-radius:15px; }
.contact-info .contact-item>svg { color:#009fce; background:#e9f8fe; border-radius:10px; padding:7px; box-sizing:content-box; }
.large-cards .card-photo { height:310px; }
.large-cards .card-body { padding:32px 28px 27px; }
.large-cards .service-index { width:50px; height:50px; font-size:18px; }
.chat-panel { border-radius:20px; }
.chat-toggle { background:#063c55; }
.whatsapp-float { opacity:.95; }
@media(min-width:1550px) {
 .about-photos { margin-left:calc((1360px - 100vw) / 2); }
 .hero { min-height:625px; }
 .hero-visual { height:580px; }
 .hero h1 { font-size:76px; }
}
@media(max-width:1200px) {
 .nav-cta { margin-left:25px; }
 .hero { min-height:540px; gap:30px; }
 .hero-visual { height:500px; }
 .hero h1 { font-size:61px; }
 .hero-frame { inset:7px 40px 4px 18px; }
 .hero-label { padding:20px 22px; min-width:230px; right:25%; }
 .hero-label strong { font-size:12px; }
 .hero-label span { font-size:10px; }
 .hero-small { right:-5px; width:26%; }
 .hero-buttons { gap:17px; }
 .hero-buttons .button { font-size:10px; padding:13px 15px; gap:13px; }
 .trust-item { padding:0 22px; gap:13px; }
 .trust-item strong { font-size:10px; }
 .trust-item span { font-size:9px; }
 .solutions-head { gap:25px; }
 .solutions-head h2 { font-size:40px; }
 .solutions-head p { font-size:13px; }
 .handwritten { font-size:24px; }
 .services-grid { gap:20px; }
 .card-photo { height:210px; }
 .card-body { padding:28px 18px 21px; }
 .card-body h3 { font-size:18px; }
 .card-body p { font-size:11px; }
 .about-photos { margin-left:-40px; }
 .about-grid { gap:30px; grid-template-columns:1.22fr .8fr .65fr; }
 .about-photos>img { height:365px; }
 .about-copy h2 { font-size:31px; }
 .about-copy .button { font-size:9px; padding:13px; gap:10px; }
 .about-benefits>div { font-size:10px; gap:11px; }
 .benefit-icon { width:45px; height:45px; border-radius:14px; }
 .image-caption { left:25px; bottom:25px; padding:17px 20px; }
 .image-caption strong { font-size:11px; }
 .image-caption span { font-size:9px; }
 .image-caption>svg { width:32px; height:32px; }
 .environment-heading { gap:25px; grid-template-columns:.85fr 1.15fr; }
 .environment-heading h2 { font-size:32px; }
 .sector { padding:16px 12px; gap:8px; }
 .sector span { font-size:11px; }
 .sector svg { width:22px; height:22px; }
 .sector-copy { padding:30px 33px; }
 .sector-detail h3 { font-size:27px; }
 .sector-detail p { font-size:12px; }
 .sector-detail,.sector-photo { min-height:310px; }
 .cta h2 { font-size:31px; }
 .cta-inner { gap:65px; }
 .footer-grid { gap:35px; }
}
@media(max-width:1000px) {
 .nav-cta { margin-left:5px; font-size:10px; }
 nav { gap:24px; font-size:11px; }
 .hero { grid-template-columns:.85fr 1.15fr; min-height:495px; gap:25px; }
 .hero h1 { font-size:52px; letter-spacing:-2.6px; }
 .hero-visual { height:450px; }
 .hero-copy>p { font-size:13px; }
 .hero-label { right:20%; min-width:210px; padding:17px 20px; gap:13px; border-radius:24px; bottom:20px; }
 .hero-label>svg { width:30px; height:30px; }
 .hero-label strong { font-size:11px; }
 .hero-label span { font-size:9px; }
 .hero-small { width:27%; height:40%; border-width:4px; border-radius:28px; }
 .hero-buttons { gap:12px; }
 .hero-buttons .button { font-size:9px; padding:12px 11px; gap:10px; }
 .trust-item { padding:0 17px; gap:11px; }
 .trust-item>svg { width:27px; height:27px; }
 .solutions-head { grid-template-columns:1fr 1fr .35fr; gap:20px; }
 .solutions-head h2 { font-size:34px; }
 .solutions-head p { font-size:12px; }
 .handwritten { font-size:22px; min-width:115px; }
 .handwritten svg { width:40px; left:-30px; }
 .card-photo { height:280px; }
 .card-body { padding:29px 23px 23px; }
 .card-body h3 { font-size:22px; }
 .card-body p { font-size:13px; }
 .about-grid { grid-template-columns:1.2fr 1fr; gap:30px; padding:32px 0; }
 .about-photos { grid-row:1 / 3; }
 .about-photos>img { height:435px; }
 .about-copy h2 { font-size:32px; }
 .about-copy p { font-size:13px; }
 .about-copy .button { font-size:11px; }
 .about-benefits { grid-template-columns:1fr 1fr; gap:14px; }
 .about-benefits>div { font-size:9px; gap:8px; }
 .benefit-icon { width:37px; height:37px; border-radius:12px; }
 .benefit-icon svg { width:22px; height:22px; }
 .environment-heading { grid-template-columns:1fr; gap:25px; }
 .environment-heading h2 { font-size:36px; }
 .sectors { max-width:650px; }
 .sector { justify-content:center; }
 .sector span { font-size:13px; }
 .sector-detail { grid-template-columns:.9fr 1.1fr; }
 .sector-copy { padding:31px; }
 .sector-copy .eyebrow { font-size:8px; }
 .sector-image { border-radius:70px 20px 30px 60px; }
 .process-section h2 { font-size:35px; }
 .process-step>span { font-size:43px; }
 .process-step>svg { width:31px; height:31px; }
 .process-grid h3 { font-size:17px; }
 .process-grid p { font-size:11px; }
 .process-arrow { top:60px; right:6px; }
 .faq-section { gap:50px; }
 .faq-section h2 { font-size:33px; }
 .cta h2 { font-size:28px; }
 .cta-inner { gap:50px; }
 .cta-action { padding-right:0; }
 .cta:after { right:40%; }
 .cta-ribbon { left:74%; }
 .subhero h1 { font-size:41px; }
 .footer-grid { gap:30px 60px; }
}
@media(max-width:820px) {
 .nav-wrap { height:77px; }
 nav { gap:25px; font-size:14px; }
 .nav-cta { font-size:13px; margin:0; }
 .hero { gap:20px; padding-top:25px; padding-bottom:12px; min-height:470px; }
 .hero h1 { font-size:46px; }
 .hero-visual { height:425px; }
 .hero-frame { inset:15px 32px 5px 12px; border-radius:65px 35px 70px 65px; transform:skewX(-8deg); }
 .hero-main { transform:skewX(8deg) scale(1.1); }
 .hero-small { width:31%; right:-5px; }
 .hero-label { width:215px; min-width:0; right:22%; left:auto; bottom:20px; padding:16px; gap:11px; }
 .hero-label>svg { width:27px; height:27px; }
 .hero-label strong { font-size:11px; }
 .hero-label span { font-size:8px; }
 .hero-buttons { flex-wrap:wrap; gap:14px; }
 .hero-buttons .button { font-size:10px; padding:12px 14px; }
 .trust-strip { padding-bottom:6px; }
 .trust-strip .container { padding:20px 0; }
 .trust-item { padding:0 20px; gap:14px; }
 .trust-item>svg { width:32px; height:32px; }
 .trust-item strong { font-size:12px; }
 .trust-item span { font-size:10px; }
 .solutions-head { grid-template-columns:1fr 1fr; gap:25px; }
 .solutions-head p { font-size:13px; }
 .handwritten { display:none; }
 .about-photos { margin-left:-24px; }
 .about-grid { gap:25px; }
 .about-copy h2 { font-size:31px; }
 .about-copy .button { font-size:10px; gap:10px; padding:12px; }
 .about-benefits { gap:13px 10px; }
 .about-benefits>div { font-size:9px; }
 .image-caption { padding:15px 17px; left:20px; max-width:calc(100% - 40px); }
 .image-caption>svg { display:block; width:30px; height:30px; }
 .image-caption strong { font-size:11px; }
 .image-caption span { font-size:8px; }
 .sector-detail { min-height:325px; }
 .sector-copy { padding:28px; }
 .sector-detail h3 { font-size:25px; }
 .sector-photo { min-height:325px; }
 .process-grid h3 { font-size:21px; }
 .process-grid p { font-size:13px; }
 .process-grid article { padding-right:30px; }
 .process-arrow { top:67px; right:12px; }
 .faq-section { gap:35px; grid-template-columns:.75fr 1.25fr; }
 .cta h2 { font-size:26px; }
 .cta-action>span { font-size:10px; }
 .cta .button { padding:15px 18px; font-size:11px; }
 .subhero { gap:30px; }
 .subhero h1 { font-size:35px; }
 .subhero-photo { border-radius:55px 20px 55px 20px; }
 .form { padding:25px; }
}
@media(max-width:620px) {
 .nav-wrap { height:73px; }
 .brand img { width:124px; }
 .brand-360 { font-size:28px; }
 .hero { grid-template-columns:1fr; min-height:0; gap:23px; padding-top:30px; padding-bottom:23px; }
 .hero-copy { padding:0; }
 .hero h1 { font-size:54px; letter-spacing:-2.8px; }
 .hero-copy>p { max-width:355px; font-size:14px; margin:23px 0 24px; }
 .hero-buttons { gap:18px; flex-wrap:nowrap; }
 .hero-buttons .button { font-size:10px; padding:14px 16px; gap:12px; min-height:47px; }
 .hero-buttons .plain { padding-left:0; padding-right:0; }
 .hero-visual { height:370px; margin:0 0 0 4px; }
 .hero-frame { inset:0 35px 0 15px; border-radius:60px 32px 65px 60px; }
 .hero-main { object-position:center 29%; }
 .hero-art { inset:0 -130px 0 -10px; }
 .ribbon-light { left:0; top:23px; width:70%; height:89%; }
 .ribbon-dark { width:165px; right:-10px; }
 .ribbon-bright { width:155px; right:30px; }
 .ribbon-line { width:77%; left:0; }
 .hero-small { width:27%; height:39%; right:-4px; bottom:7px; border-radius:25px; border-width:4px; }
 .hero-label { right:26%; left:auto; bottom:22px; padding:17px 19px; width:205px; gap:12px; border-radius:24px; }
 .hero-label>svg { width:27px; height:27px; }
 .hero-label strong { font-size:11px; }
 .hero-label span { font-size:9px; margin-top:6px; }
 .trust-strip .container { row-gap:22px; padding:16px 0 25px; }
 .trust-item { padding:0 12px; gap:10px; }
 .trust-item>svg { width:27px; height:27px; }
 .trust-item strong { font-size:10px; }
 .trust-item span { font-size:9px; }
 .solutions-section { padding-top:37px; padding-bottom:38px; }
 .solutions-head { grid-template-columns:1fr; gap:17px; margin-bottom:25px; }
 .solutions-head h2 { font-size:33px; letter-spacing:-1.4px; }
 .solutions-head p { margin:0; font-size:13px; max-width:330px; }
 .solutions-head p br { display:none; }
 .solutions-shell:before { left:-140px; }
 .solutions-shell:after { right:-170px; }
 .services-grid { gap:18px 13px; }
 .service-card { border-radius:20px; }
 .card-photo { height:178px; }
 .card-photo img { border-radius:19px 19px 0 0; }
 .service-index { width:35px; height:35px; font-size:12px; border-radius:11px; left:13px; bottom:-10px; }
 .card-body { padding:24px 13px 18px; }
 .card-body h3 { font-size:16px; line-height:1.25; }
 .card-body p { font-size:10px; margin:11px 0 20px; line-height:1.65; }
 .card-body .text-link { font-size:9px; gap:8px; }
 .about-grid { grid-template-columns:1fr; gap:27px; padding:30px 0 34px; }
 .about-photos { grid-row:auto; margin:0; }
 .about-photos>img { height:325px; border-radius:25px 25px 55px 25px; object-position:center 48%; }
 .about-photos:after { border-bottom-right-radius:55px; width:90px; height:100px; }
 .image-caption { left:15px; bottom:19px; padding:15px 17px; border-radius:19px; max-width:calc(100% - 30px); }
 .image-caption strong { font-size:11px; }
 .image-caption span { font-size:8px; }
 .about-copy h2 { font-size:33px; letter-spacing:-1.4px; }
 .about-copy h2 br { display:none; }
 .about-copy h2 { max-width:350px; }
 .about-copy p { font-size:13px; margin:20px 0 24px; }
 .about-copy .button { font-size:11px; padding:14px 18px; gap:18px; }
 .about-benefits { grid-template-columns:1fr 1fr; gap:17px 14px; }
 .about-benefits>div { font-size:10px; gap:10px; }
 .benefit-icon { width:40px; height:40px; border-radius:13px; }
 .environments-section { padding-top:35px; padding-bottom:33px; }
 .environment-heading { gap:22px; margin-bottom:24px; }
 .environment-heading h2 { font-size:31px; letter-spacing:-1.3px; }
 .sectors { display:grid; grid-template-columns:1fr 1fr; gap:7px; border:0; padding:0; }
 .sector { border-radius:22px; min-height:49px; padding:13px 12px; justify-content:flex-start; gap:11px; border:1px solid #e2f1f7; background:#f9fdff; }
 .sector.active { border-radius:22px; border-color:transparent; }
 .sector span { font-size:11px; }
 .sector svg { width:22px; height:22px; }
 .sector-detail { grid-template-columns:1fr; border-radius:28px; min-height:0; }
 .sector-copy { padding:29px 25px; }
 .sector-copy .eyebrow { font-size:8px; letter-spacing:1.1px; }
 .sector-detail h3 { font-size:27px; }
 .sector-detail p { font-size:12px; max-width:none; }
 .sector-copy .button { font-size:11px; padding:13px 18px; }
 .sector-image { border-radius:50px 0 28px 0; }
 .sector-photo { height:250px; min-height:0; object-position:center 36%; }
 .sector-image:after { width:75px; height:75px; }
 .environments-shell:before { bottom:60px; left:-300px; }
 .environments-shell:after { bottom:-10px; left:-240px; }
 .process-section { padding:33px 0 36px; }
 .process-section h2 { font-size:31px; }
 .process-grid { margin-top:27px; gap:27px 0; }
 .process-grid article { padding:0 17px; }
 .process-step { gap:14px; margin-bottom:13px; }
 .process-step>span { font-size:43px; }
 .process-step>svg { width:30px; height:30px; }
 .process-grid h3 { font-size:18px; }
 .process-grid p { font-size:11px; }
 .process-arrow { display:none; }
 .faq-section { grid-template-columns:1fr; gap:24px; padding:35px 0 37px; }
 .faq-section h2 { font-size:31px; }
 .faq-section>div>p { font-size:13px; }
 .faq-list summary { font-size:11px; padding:17px 0; }
 .cta { padding:33px 0; }
 .cta-inner { gap:27px; }
 .cta h2 { font-size:27px; }
 .cta:after { inset:-60px 5% -60px -40px; background:linear-gradient(130deg,#00374af5,#063e53d9); }
 .cta-ribbon { inset:15px -140px -70px 65%; }
 .cta-action { align-items:flex-start; gap:11px; }
 .cta-action>span { font-size:10px; }
 .cta .button { font-size:12px; padding:15px 22px; }
 .footer-grid { gap:25px 20px; }
 .subhero { gap:27px; padding-top:25px; padding-bottom:32px; }
 .subhero h1 { font-size:40px; letter-spacing:-1.9px; }
 .subhero:before { top:auto; bottom:32px; height:290px; width:85%; }
 .subhero-photo { border-radius:50px 22px 50px 22px; }
 .portrait { border-radius:45px 22px 45px 22px; }
 .includes,.form { border-radius:24px; padding:26px 22px; }
 .form input:not([type=checkbox]),.form select,.form textarea { font-size:16px; }
 .large-cards .card-photo { height:285px; }
 .large-cards .card-body { padding:32px 24px 25px; }
 .large-cards .service-index { width:43px; height:43px; font-size:16px; }
 .large-cards .card-body h3 { font-size:24px; }
 .large-cards .card-body p { font-size:14px; }
 .large-cards .card-body .text-link { font-size:12px; }
 .three .card-photo { height:260px; }
 .three .card-body { padding:30px 23px 24px; }
 .three .card-body h3 { font-size:22px; }
 .three .card-body p { font-size:14px; }
 .three .card-body .text-link { font-size:12px; }
}
@media(max-width:360px) {
 .hero h1 { font-size:48px; }
 .hero-buttons { gap:14px; }
 .hero-buttons .button { font-size:9px; padding:12px 13px; gap:8px; }
 .hero-label { width:185px; padding:15px; gap:10px; right:25%; }
 .hero-label strong { font-size:10px; }
 .hero-label span { font-size:8px; }
 .hero-label>svg { width:25px; height:25px; }
 .card-body { padding:24px 10px 16px; }
 .card-body h3 { font-size:14px; }
 .card-body .text-link { font-size:8px; }
 .trust-item>svg { width:23px; height:23px; }
 .trust-item { gap:8px; }
}
/* The copy defines card height; the photograph fills its column without changing it. */
.sector-detail { height:auto; min-height:340px; }
.sector-image { height:auto; min-height:0; }
.sector-photo { position:absolute; inset:0; width:100%; height:100%; min-height:0; }
@media(max-width:620px) { .sector-detail { min-height:0; } .sector-image { height:250px; } }
