:root{--navy:#00324F;--teal:#20B7B5;--white:#fff;--gray:#F5F7FA;--text:#1D1D1F;--muted:#62676c;--line:#e6ebef;--shadow:0 18px 60px rgba(0,50,79,.11);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Prompt",sans-serif;color:var(--text);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 32px));margin:auto}.section-pad{padding:88px 0}.alt{background:var(--gray)}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(0,50,79,.08)}.header-inner{height:76px;width:min(1220px,calc(100% - 28px));margin:auto;display:flex;align-items:center;gap:22px}.brand-link{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-logo{width:52px;height:52px;object-fit:contain}.brand-text{display:grid;line-height:1.15}.brand-text strong{font-size:15px}.brand-text small{font-size:11px;color:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:20px;margin-left:auto}.desktop-nav a{font-size:14px;color:#303437}.desktop-nav a:hover{color:var(--teal)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 20px;border-radius:999px;font-weight:600;border:1px solid transparent;transition:.2s ease;cursor:pointer;gap:8px}.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(0,50,79,.18)}.btn-primary:hover{transform:translateY(-1px);background:#00446a}.btn-secondary{background:#fff;color:var(--navy);border-color:var(--line)}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}.btn-ghost{color:var(--navy);border-color:transparent}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;width:46px;height:46px}.menu-toggle span{display:block;height:2px;background:var(--navy);margin:7px;border-radius:2px}.mobile-panel{display:none}.hero{padding-top:70px;min-height:calc(100vh - 76px);display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);gap:54px;align-items:center}.brand-pill{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;color:var(--navy);background:#fff;font-size:13px;margin-bottom:22px}.brand-pill img{width:28px;height:28px;object-fit:contain}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.08;letter-spacing:0;margin:0 0 22px;font-weight:700;color:var(--text)}.lead{font-size:clamp(17px,2vw,22px);color:#3a3e43;margin:0 0 28px;max-width:760px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-visual{position:relative;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(145deg,#fff,#f4fbfc);min-height:420px;display:grid;place-items:center}.hero-visual img{width:100%;height:100%;object-fit:cover}.trust-bar{padding:24px 0 36px;text-align:center;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.trust-grid strong{font-size:18px;color:var(--navy)}.trust-bar p{margin:12px 16px 0;color:var(--muted)}.section-header{text-align:center;max-width:780px;margin:0 auto 42px}.section-header span{color:var(--teal);font-weight:700;text-transform:uppercase;font-size:13px}.section-header h2{font-size:clamp(30px,4vw,50px);line-height:1.18;margin:8px 0 12px}.section-header p{font-size:18px;color:var(--muted);margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.info-card,.mini-card,.project-card,.blog-card,.form-card,.side-panel,.panel,.step,.solution-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 30px rgba(0,50,79,.06)}.info-card{padding:26px;min-height:250px}.card-icon{width:46px;height:46px;border-radius:14px;background:rgba(32,183,181,.12);color:var(--navy);display:grid;place-items:center;margin-bottom:16px}.icon{width:25px;height:25px}.info-card h3,.mini-card h3,.project-card h3,.blog-card h3,.solution-card h3{margin:0 0 10px;font-size:21px;line-height:1.35}.info-card p,.mini-card p,.project-card p,.blog-card p,.solution-card p{color:var(--muted);margin:0 0 16px}.text-link{color:var(--teal);font-weight:700}.solution-grid{grid-template-columns:repeat(2,1fr)}.solution-card{overflow:hidden}.solution-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.solution-card div{padding:24px}.split,.two-col,.content-layout,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.panel,.side-panel{padding:28px}.check-list{display:grid;gap:12px;padding:0;margin:0;list-style:none}.check-list li{position:relative;padding-left:28px}.check-list li:before{content:"";position:absolute;left:0;top:.55em;width:13px;height:13px;border-radius:50%;background:var(--teal);box-shadow:inset 0 0 0 4px #d9fbfa}.portfolio-grid,.blog-grid,.feature-grid,.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card,.blog-card{overflow:hidden}.project-card img,.blog-card img,.featured-image{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--gray)}.project-card div,.blog-card div{padding:22px}.project-card span,.blog-card span,.article-meta span{color:var(--teal);font-size:13px;font-weight:700}.tag-cloud,.brand-strip,.trusted-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.tag-cloud span,.brand-strip span,.trusted-row span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;color:var(--navy);font-weight:600}.brand-strip{margin-top:18px}.process-grid{grid-template-columns:repeat(6,1fr)}.step{padding:22px}.step span{color:var(--teal);font-weight:700}.step h3{font-size:17px;margin:8px 0 0}.visual-frame{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.visual-frame img{aspect-ratio:4/3;width:100%;object-fit:cover}.rich-text{font-size:18px}.rich-text h2{font-size:32px;line-height:1.25;margin:0 0 16px;color:var(--navy)}.rich-text h2:not(:first-child){margin-top:38px}.rich-text p{color:#383d42;margin:0 0 18px}.side-panel img{border-radius:18px;margin-bottom:18px}.faq-list{max-width:880px;margin:auto;display:grid;gap:12px}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px}.faq-list summary{cursor:pointer;font-weight:700;color:var(--navy)}.faq-list p{color:var(--muted);margin:10px 0 0}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:38px;border-radius:30px;background:linear-gradient(135deg,var(--navy),#075a78);color:#fff;box-shadow:var(--shadow)}.cta-panel h2{font-size:clamp(28px,4vw,44px);margin:0 0 10px;line-height:1.2}.cta-panel p{margin:0;color:rgba(255,255,255,.82)}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.cta-panel .btn-secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}.site-footer{background:#081f2d;color:#fff;padding:64px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:34px}.footer-logo{width:92px;margin-bottom:14px}.site-footer h2,.site-footer h3{margin:0 0 12px}.site-footer p,.site-footer a{display:block;color:rgba(255,255,255,.72);margin:0 0 8px}.footer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;margin-top:36px;color:rgba(255,255,255,.65);font-size:14px}.replace-note{font-size:12px;color:#87e8e4}.mobile-floating-cta{display:none}.contact-info{display:grid;gap:16px}.map-placeholder{min-height:220px;border-radius:24px;background:linear-gradient(135deg,#eef8fb,#fff);border:1px dashed #b8dbe1;display:grid;place-items:center;text-align:center;color:var(--navy);font-weight:700}.form-card{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-card label{display:grid;gap:7px;font-weight:600;color:var(--navy)}.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;color:var(--text);background:#fff}.form-card textarea,.form-card button,.form-message{grid-column:1/-1}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important}.form-message{display:none;padding:12px 16px;border-radius:14px}.success{background:#e7fbf5;color:#0b6a45}.error{background:#fff0f0;color:#9d1c1c}body:has(.form-card) .form-message.success,body:has(.form-card) .form-message.error{display:none}body:has(.form-card) .form-card{position:relative}.article-layout{max-width:900px}.article-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.article-cta{margin-top:34px;padding:28px;border-radius:24px;background:var(--gray)}.article-cta h2{margin-top:0}.fade-up{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.fade-up.visible{opacity:1;transform:none}.mobile-panel.open{display:none}
@media (max-width:1020px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-panel{padding:0 18px 18px;background:#fff;border-bottom:1px solid var(--line)}.mobile-panel.open{display:grid;gap:12px}.mobile-panel a{padding:12px 8px;font-weight:600}.hero-grid,.split,.two-col,.content-layout,.contact-grid{grid-template-columns:1fr}.card-grid,.portfolio-grid,.blog-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:auto}.hero-visual{min-height:320px}.trust-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.container{width:min(100% - 24px,1160px)}.section-pad{padding:58px 0}.header-inner{height:68px}.brand-text small{display:none}.brand-logo{width:46px;height:46px}.hero h1{font-size:38px}.lead{font-size:16px}.hero-actions,.cta-actions,.footer-actions{display:grid}.btn{width:100%;min-height:50px}.card-grid,.portfolio-grid,.blog-grid,.feature-grid,.process-grid,.solution-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.form-card{grid-template-columns:1fr;padding:20px}.cta-panel{display:grid;padding:26px}.footer-grid,.footer-bottom{grid-template-columns:1fr;display:grid;gap:22px}.mobile-floating-cta{position:fixed;left:10px;right:10px;bottom:10px;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mobile-floating-cta a{background:var(--navy);color:#fff;text-align:center;border-radius:999px;padding:11px 8px;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.18)}body{padding-bottom:66px}.hero-visual{min-height:260px;border-radius:24px}.info-card{min-height:auto}.section-header{text-align:left}.rich-text{font-size:16px}.rich-text h2{font-size:26px}}
.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.badge-category{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:6px 11px;border:1px solid rgba(32,183,181,.32);background:rgba(32,183,181,.1);color:var(--navy);font-size:12px;font-weight:700;line-height:1.2}.badge-blog{background:rgba(32,183,181,.11)}.badge-portfolio{background:rgba(0,50,79,.07);border-color:rgba(0,50,79,.16)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:0 auto 28px}.filter-button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;min-height:40px;padding:9px 15px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.filter-button.is-active,.filter-button:hover{border-color:var(--teal);background:rgba(32,183,181,.12);color:var(--navy)}.search-box{width:min(460px,100%);border:1px solid var(--line);border-radius:999px;padding:12px 18px;font:inherit}.empty-state{padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff;text-align:center;color:var(--muted)}.preview-banner{position:sticky;top:76px;z-index:40;background:#fff7d6;color:#6e5400;border-bottom:1px solid #f0dd8a;padding:10px 16px;text-align:center;font-weight:700}.project-card .btn,.blog-card .btn{margin-top:4px}.admin-body{background:var(--gray);min-height:100vh}.admin-header{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.admin-brand{font-weight:800;color:var(--navy)}.admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-shell{width:min(1320px,calc(100% - 28px));margin:28px auto;display:grid;grid-template-columns:320px 1fr;gap:22px}.admin-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 8px 30px rgba(0,50,79,.06);padding:22px}.admin-card h1,.admin-card h2{margin:0 0 16px;color:var(--navy)}.admin-tabs{display:flex;gap:8px;margin-bottom:16px}.admin-tabs a{border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-weight:700;color:var(--navy)}.admin-tabs a.is-active{background:var(--navy);color:#fff}.admin-list{display:grid;gap:10px;max-height:70vh;overflow:auto}.admin-list a{display:block;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff}.admin-list a.is-active{border-color:var(--teal);background:rgba(32,183,181,.08)}.status-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#eef3f7;color:var(--navy)}.status-published{background:#e7fbf5;color:#0b6a45}.status-draft{background:#fff7d6;color:#6e5400}.admin-form{display:grid;gap:18px}.admin-form label{display:grid;gap:7px;font-weight:700;color:var(--navy)}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;background:#fff;color:var(--text)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.admin-editor{min-height:420px}.admin-help{font-size:13px;color:var(--muted);margin:4px 0 0}.notice{border-radius:16px;padding:13px 15px;font-weight:700}.notice-success{background:#e7fbf5;color:#0b6a45}.notice-error{background:#fff0f0;color:#9d1c1c}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:var(--shadow);display:grid;gap:15px}.admin-image-preview img{max-width:240px;border-radius:16px;border:1px solid var(--line)}.danger-button{background:#9d1c1c;color:#fff}.ts-control{border-radius:14px!important;border-color:var(--line)!important;padding:8px!important}.ts-control .item{border-radius:999px!important;background:rgba(32,183,181,.12)!important;color:var(--navy)!important;border:1px solid rgba(32,183,181,.28)!important}.tinymce-wrap{border-radius:16px;overflow:hidden;border:1px solid var(--line)}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.admin-header{align-items:flex-start;flex-direction:column}.filter-bar{justify-content:flex-start}}
.site-footer .btn-secondary{background:rgba(32,183,181,.14);color:#fff;border-color:rgba(32,183,181,.42);box-shadow:none}.site-footer .btn-secondary:hover{background:rgba(32,183,181,.24);border-color:rgba(135,232,228,.72);color:#fff}.site-footer .footer-logo{background:transparent!important;filter:drop-shadow(0 10px 24px rgba(0,0,0,.22))}

/* Targeted image, admin, and contact refinements. */
.hero-visual{aspect-ratio:4/3;min-height:0;padding:18px;background:radial-gradient(circle at 20% 18%,rgba(32,183,181,.16),transparent 34%),linear-gradient(145deg,#fff,#eef6f9)}
.hero-visual img{width:100%;height:100%;object-fit:contain;border-radius:22px}
.side-panel img{width:100%;height:auto;object-fit:contain;background:linear-gradient(145deg,#f8fbfd,#fff);border:1px solid var(--line)}
.form-message{align-items:flex-start;gap:12px;padding:16px 18px;border-radius:18px;font-weight:700;box-shadow:0 12px 32px rgba(0,50,79,.08)}
.form-message.success{border:1px solid rgba(11,106,69,.18);background:linear-gradient(135deg,#e7fbf5,#f8fffc);color:#0b6a45;animation:successSlide .45s ease both,successGlow 1.8s ease .45s 1}
.form-message.error{border:1px solid rgba(157,28,28,.18);background:linear-gradient(135deg,#fff0f0,#fffafa);color:#9d1c1c}
.form-message-icon{display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:999px;background:currentColor;color:#fff;font-weight:800;line-height:1}
.success .form-message-icon{background:#0b6a45;color:#fff}.error .form-message-icon{background:#9d1c1c;color:#fff}
.form-message span:last-child{display:block}
@keyframes successSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes successGlow{0%,100%{box-shadow:0 12px 32px rgba(0,50,79,.08)}45%{box-shadow:0 16px 42px rgba(11,106,69,.22)}}
.admin-body{background:linear-gradient(180deg,#f3f7fb 0,#f7f9fc 42%,#eef3f8 100%);color:#17202a}
.admin-header{padding:16px clamp(16px,3vw,34px);background:rgba(255,255,255,.9);box-shadow:0 8px 28px rgba(0,50,79,.07)}
.admin-brand{display:flex;align-items:center;gap:10px;font-size:18px;letter-spacing:0}
.admin-brand:before{content:"";width:12px;height:12px;border-radius:4px;background:linear-gradient(135deg,var(--navy),var(--teal));box-shadow:0 0 0 6px rgba(32,183,181,.1)}
.admin-shell{width:min(1360px,calc(100% - 32px));grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:24px;margin:30px auto}
.admin-card,.login-card{border-color:rgba(0,50,79,.08);border-radius:20px;box-shadow:0 16px 44px rgba(0,50,79,.08)}
.admin-card h1{font-size:24px;line-height:1.25}.admin-card h2{font-size:26px;line-height:1.25}
.admin-tabs{padding:5px;background:#eef3f7;border-radius:16px}
.admin-tabs a{flex:1;text-align:center;border:0;border-radius:12px;padding:10px 13px}
.admin-tabs a:hover{background:#fff;color:var(--navy)}
.admin-tabs a.is-active{background:#fff;color:var(--navy);box-shadow:0 8px 20px rgba(0,50,79,.1)}
.admin-list{padding-right:4px}.admin-list a{border-color:rgba(0,50,79,.08);box-shadow:0 6px 18px rgba(0,50,79,.04);transition:.18s ease}
.admin-list a:hover{transform:translateY(-1px);border-color:rgba(32,183,181,.55);box-shadow:0 12px 24px rgba(0,50,79,.08)}
.admin-list a.is-active{background:#eefafa;border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal),0 10px 24px rgba(0,50,79,.06)}
.admin-form{gap:20px}.admin-form label,.login-card label{display:grid;gap:7px;font-weight:700;color:#16384d}
.admin-form input,.admin-form select,.admin-form textarea,.login-card input{border-color:#dce5ed;border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.login-card input:focus,.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(32,183,181,.14)}
.admin-toolbar{padding-bottom:14px;border-bottom:1px solid rgba(0,50,79,.08)}
.admin-form>.admin-toolbar:last-child{padding:16px 0 0;border-top:1px solid rgba(0,50,79,.08);border-bottom:0}
.notice{display:flex;align-items:center;gap:10px;border:1px solid transparent;margin-bottom:18px}
.notice-success{border-color:rgba(11,106,69,.14);background:#e7fbf5}.notice-error{border-color:rgba(157,28,28,.16);background:#fff0f0}
.danger-button{background:#b42318;color:#fff;box-shadow:0 10px 24px rgba(180,35,24,.16)}.danger-button:hover{background:#941b13;transform:translateY(-1px)}
.admin-image-preview{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:16px;background:#f8fbfd}
.admin-image-preview img{width:min(240px,100%);height:auto;object-fit:contain;background:#fff}
.tinymce-wrap{box-shadow:0 8px 24px rgba(0,50,79,.05)}
@media (max-width:1020px){.hero-visual{aspect-ratio:16/10}.admin-shell{grid-template-columns:1fr}.admin-list{max-height:360px}}
@media (max-width:680px){.hero-visual{aspect-ratio:4/3;padding:12px}.hero-visual img{border-radius:16px}.admin-shell{width:min(100% - 20px,1360px);margin:18px auto}.admin-card,.login-card{padding:18px;border-radius:18px}.admin-header{align-items:stretch}.admin-actions{width:100%;display:grid;grid-template-columns:1fr}.admin-actions form,.admin-actions .btn,.admin-actions button{width:100%}.admin-toolbar{display:grid;align-items:start}.admin-card h2{font-size:22px}.form-message{padding:15px}}
