:root{--color-primary:#0F3D56;--color-secondary:#1F7A8C;--color-accent:#22C55E;--color-text:#1F2937;--color-text-light:#4B5563;--color-bg:#FFF;--color-bg-light:#F8FAFC;--color-border:#E5E7EB;--color-dark:#0B1F2A;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 10px 30px -10px rgba(15,61,86,0.25);--shadow-lg:0 20px 60px -20px rgba(15,61,86,0.35);--container:1180px;--font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--font-display:'Jost',var(--font-sans);--transition:160ms ease-in-out}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.7;font-size:16px;overflow-wrap:break-word}
img,svg,video{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;border:none;background:none;cursor:pointer}
:focus-visible{outline:2px solid rgba(34,197,94,0.9);outline-offset:4px;border-radius:var(--radius-sm)}
.container{width:min(100% - 2rem,var(--container));margin:0 auto}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.98);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:80px}
.logo{display:flex;align-items:center;gap:0.8rem;font-weight:700;font-family:var(--font-display);letter-spacing:-0.01em;font-size:1.05rem}
.logo-img{height:42px;width:auto}
.nav-list{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}
.nav-link{position:relative;font-weight:500;font-size:0.98rem}
.nav-link::after{content:"";position:absolute;left:0;bottom:-10px;width:100%;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--color-secondary),transparent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}
.nav-link:hover::after,.nav-link:focus-visible::after{transform:scaleX(1)}
.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;flex:0 0 auto}
.nav-toggle:hover{border-color:var(--color-secondary)}
.nav-toggle-bar{display:block;width:22px;height:2px;border-radius:2px;background:var(--color-primary);transition:transform var(--transition),opacity var(--transition)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.btn{display:inline-flex;align-items:center;gap:0.6rem;padding:0.8rem 1.8rem;border-radius:999px;font-weight:600;font-size:0.98rem;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition)}
.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;box-shadow:var(--shadow-md)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-ghost{color:var(--color-text);border:1px solid rgba(15,61,86,0.18)}
.btn-ghost:hover{border-color:var(--color-secondary);color:var(--color-secondary)}
.btn-light{background:#fff;color:var(--color-primary);box-shadow:var(--shadow-md)}
.hero{position:relative;padding:clamp(4rem,8vw,8rem) 0;background:radial-gradient(1200px 800px at 10% -10%,rgba(31,122,140,0.14),transparent),var(--color-bg)}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}
.hero-content{grid-column:1/8;display:flex;flex-direction:column;gap:1.6rem}
.hero-media{grid-column:8/-1;position:relative}
.contact-grid{align-items:start;gap:clamp(1.5rem,3vw,2.5rem)}
.contact-grid .hero-content{grid-column:1/6}
.contact-grid .hero-media{grid-column:6/-1}
.eyebrow{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 1rem;border-radius:999px;border:1px solid rgba(15,61,86,0.16);font-size:0.9rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-secondary);width:fit-content}
.hero-title{font-family:var(--font-display);font-weight:700;letter-spacing:-0.03em;line-height:1.1;font-size:clamp(1.9rem,5vw,4rem)}
.hero-text{display:flex;flex-direction:column;gap:1rem;color:var(--color-text-light);max-width:620px}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}
.hero--video{background:var(--color-dark);color:#fff;overflow:hidden}
.hero--video .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero--video .hero-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;border:0;pointer-events:none}
.hero--video .hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,42,0.92) 0%,rgba(11,31,42,0.72) 45%,rgba(11,31,42,0.4) 100%)}
.hero--video .hero-grid{position:relative;z-index:1}
.hero--video .hero-title{color:#fff}
.hero--video .hero-text{color:rgba(255,255,255,0.85)}
.hero--video .eyebrow{color:#fff;border-color:rgba(255,255,255,0.35);background:rgba(255,255,255,0.08)}
.hero--video .btn-ghost{color:#fff;border-color:rgba(255,255,255,0.6)}
.hero--video .btn-ghost:hover{border-color:#fff;color:#fff}
.hero--video .hero-form-wrap{grid-column:8/-1}
.hero--video .hero-form-wrap .hero-form{background:rgba(255,255,255,0.1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.28);box-shadow:0 20px 60px -20px rgba(0,0,0,0.5);gap:1.1rem}
.hero--video .hero-form-wrap .hero-form-compact{padding:1.4rem 1.5rem;gap:0.8rem}
.hero--video .hero-form-wrap .hero-form-compact .card-title{font-size:1.2rem}
.hero--video .hero-form-wrap .hero-form-compact .form-label{font-size:0.9rem;margin-bottom:-0.2rem}
.hero--video .hero-form-wrap .hero-form-compact .form-group{gap:0.4rem}
.hero--video .hero-form-wrap .hero-form-compact .form-input,.hero--video .hero-form-wrap .hero-form-compact .form-textarea{padding:0.55rem 0.8rem;font-size:0.95rem}
.hero--video .hero-form-wrap .hero-form-compact .form-textarea{min-height:64px}
.hero--video .hero-form-wrap .hero-form-compact .btn{padding:0.6rem 1.4rem}
.hero--video .hero-form-wrap .card-title,.hero--video .hero-form-wrap .form-label{color:#fff}
.hero--video .hero-form-wrap .form-note{color:rgba(255,255,255,0.82);font-size:0.96rem}
.hero--video .hero-form-wrap .form-note-sm{opacity:0.75}
.hero--video .hero-form-wrap .form-input,.hero--video .hero-form-wrap .form-textarea{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.32);color:#fff}
.hero--video .hero-form-wrap .form-input::placeholder,.hero--video .hero-form-wrap .form-textarea::placeholder{color:rgba(255,255,255,0.55)}
.hero--video .hero-form-wrap .form-input:focus,.hero--video .hero-form-wrap .form-textarea:focus{outline:2px solid rgba(255,255,255,0.7);background:rgba(255,255,255,0.2)}
.hero--video .hero-form-wrap .form-status{min-height:1.3rem;font-size:0.92rem;color:rgba(255,255,255,0.85)}
@media(prefers-reduced-motion:reduce){.hero--video .hero-video{display:none}}
.section{padding:clamp(3rem,7vw,6rem) 0}
.section-header{display:flex;flex-direction:column;gap:0.8rem;margin-bottom:clamp(2rem,5vw,3.6rem)}
.section-title{font-family:var(--font-display);font-weight:700;letter-spacing:-0.02em;line-height:1.12;font-size:clamp(2rem,4vw,3.4rem)}
.section-subtitle{color:var(--color-text-light);max-width:720px}
.grid-cards{display:grid;grid-template-columns:repeat(12,1fr);gap:1.6rem}
.card{grid-column:span 4;display:flex;flex-direction:column;gap:1rem;padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.card-title{font-family:var(--font-display);font-weight:600;font-size:1.4rem;letter-spacing:-0.01em}
.card-text{color:var(--color-text-light)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.process-card{display:flex;flex-direction:column;gap:0.9rem;padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(180deg,#fff,var(--color-bg-light))}
.process-step{font-weight:700;font-size:0.95rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-secondary)}
.cta-band{padding:clamp(3rem,7vw,5rem) 0;background:radial-gradient(1000px 500px at 50% -10%,rgba(34,197,94,0.16),transparent),linear-gradient(90deg,var(--color-primary),var(--color-secondary));color:#fff}
.cta-grid{display:flex;flex-direction:column;gap:1.6rem;align-items:center;text-align:center}
.cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.footer{background:var(--color-dark);color:rgba(255,255,255,0.88);padding-top:clamp(3rem,6vw,4.6rem);font-size:0.95rem}
.footer-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;padding-bottom:clamp(2rem,5vw,3rem)}
.footer-brand{grid-column:1/6;display:flex;flex-direction:column;gap:1rem}
.footer-links{grid-column:6/9;display:flex;flex-direction:column;gap:0.9rem}
.footer-links-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.7rem 2rem}
.footer-col{display:flex;flex-direction:column;gap:0.7rem}
.footer-col h4{font-family:var(--font-display);font-size:0.95rem}
.footer-links-cols ul{display:flex;flex-direction:column;gap:0.7rem}
.footer-contact{grid-column:9/-1;display:flex;flex-direction:column;gap:0.9rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.12);padding:1rem 0;text-align:left;font-size:0.95rem;color:rgba(255,255,255,0.7)}
.footer-bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.4rem 1.5rem}
.footer-copy{font-size:0.95rem;color:rgba(255,255,255,0.7)}
.footer-copy a{color:rgba(255,255,255,0.85);text-decoration:underline;text-underline-offset:2px}
.footer-copy a:hover{color:#fff}
.footer-legal{display:inline-flex;align-items:center;gap:0.6rem;font-size:0.95rem;color:rgba(255,255,255,0.6)}
.footer-legal a{color:rgba(255,255,255,0.72)}
.footer-legal a:hover{color:#fff}
.footer-legal .dot{opacity:0.5}
[data-animate]{opacity:0;transform:translateY(18px);transition:opacity 600ms ease,transform 600ms ease}
[data-animate].is-inview{opacity:1;transform:translateY(0)}
.form-group{display:flex;flex-direction:column;gap:0.6rem}
.form-label{font-weight:600;font-size:0.98rem}
.form-input,.form-textarea{padding:0.8rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);font:inherit;background:#fff;color:var(--color-text);width:100%}
.form-textarea{min-height:140px;resize:vertical}
.list-check{display:flex;flex-direction:column;gap:0.8rem}
.two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,5vw,4rem)}
.block-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.35rem,2.2vw,1.75rem);color:var(--color-dark)}
.service-heading{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15;letter-spacing:-0.02em;color:var(--color-dark)}
.note{margin-top:1.4rem;padding-left:1.1rem;border-left:3px solid var(--color-secondary);font-size:0.925rem;color:var(--color-text-light)}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.6rem}
.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1.7rem 2.8rem}
.principle{padding-left:1.4rem;border-left:3px solid var(--color-secondary)}
.principle h3{font-size:1.08rem;margin-bottom:0.35rem}
.principle p{color:var(--color-text-light)}
@media(max-width:860px){.two-col{grid-template-columns:1fr}.principles{grid-template-columns:1fr}}
.client-logos{padding:clamp(2.5rem,5vw,4rem) 0;background:var(--color-bg-light);overflow:hidden}
.client-logos-header{text-align:center;max-width:720px;margin:0 auto clamp(1.75rem,3.5vw,2.75rem)}
.client-logos-title{font-family:var(--font-display);font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:700;line-height:1.25;color:var(--color-dark)}
.client-logos-subtitle{margin-top:0.5rem;font-size:clamp(0.9rem,1.2vw,1rem);color:var(--color-text-light)}
.client-logos-track{display:flex;align-items:center;gap:4rem;width:max-content;animation:logo-scroll 30s linear infinite}
.client-logos:hover .client-logos-track{animation-play-state:paused}
.client-logos-track li{flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.client-logos-track img{height:56px;width:auto;opacity:.72;filter:grayscale(1) contrast(1.05);transition:filter var(--transition),opacity var(--transition)}
.client-logos-track img.logo-sm{height:38px}
.client-logos-track img:hover{opacity:1;filter:grayscale(0) contrast(1)}
@keyframes logo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.client-logos-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}}
.list-check li{position:relative;padding-left:1.8rem;color:var(--color-text-light)}
.list-check li::before{content:"";position:absolute;left:0;top:0.5rem;width:0.6rem;height:0.6rem;border-radius:50%;background:radial-gradient(circle,var(--color-accent),rgba(34,197,94,0.4));box-shadow:0 0 0 6px rgba(34,197,94,0.12)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:0.6rem;font-size:0.95rem;color:var(--color-text-light)}
.breadcrumb a{color:var(--color-secondary);font-weight:500}
@media(max-width:1080px){.hero-content{grid-column:1/-1}.hero-media{grid-column:1/-1}.hero--video .hero-form-wrap{grid-column:1/-1}.contact-grid .hero-content{grid-column:1/-1}.contact-grid .hero-media{grid-column:1/-1}.card{grid-column:span 6}.process-grid{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/8}.footer-links{grid-column:8/-1}.footer-contact{grid-column:1/-1}}
@media(max-width:1024px){.header-inner{gap:1rem}.logo{margin-right:auto}.nav-toggle{display:flex}.nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);max-height:0;overflow:hidden;visibility:hidden;transition:max-height 280ms ease,visibility 280ms ease}.nav.open{max-height:75vh;overflow:auto;visibility:visible}.nav-list{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;padding:0.4rem clamp(1rem,4vw,2rem) 1.1rem}.nav-link{display:block;padding:0.95rem 0.25rem;border-bottom:1px solid var(--color-border);font-size:1.05rem}.nav-link::after{display:none}.nav-list li:last-child .nav-link{border-bottom:0}}
@media(max-width:720px){.header-inner{min-height:68px;gap:1rem}.header-actions{display:none}.logo-img{height:36px}.card{grid-column:1/-1}.process-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:1.8rem}.footer-brand,.footer-links,.footer-contact{grid-column:1/-1}.client-logos-track{gap:2.5rem}.client-logos-track img{height:44px}.client-logos-track img.logo-sm{height:32px}}
