:root{--osf-blue:#0061a6;--osf-blue-dark:#004b80;--osf-navy:#082c46;--osf-text:#173448;--osf-muted:#597083;--osf-light:#eaf4fb;--osf-accent:#48a4d8}
body.osf-site{--primary-color:#0061a6;--primary-color-rgb:0,97,166;--secondary-color:#082c46;--third-color:#48a4d8;--gradient-color-from:#0061a6;--gradient-color-to:#48a4d8;--pxl-primary-color:#0061a6;--e-global-color-primary:#0061a6;--e-global-color-secondary:#082c46;--e-global-color-text:#173448;--e-global-color-accent:#48a4d8;color:var(--osf-text)}
.osf-site .osf-section{color:var(--osf-text)}
.osf-site .osf-section .elementor-widget-heading .elementor-heading-title{color:var(--osf-navy);line-height:1.12;letter-spacing:-.035em}
.osf-site .osf-section h1.elementor-heading-title{font-size:clamp(36px,4.5vw,72px);font-weight:700}
.osf-site .osf-section h2.elementor-heading-title{font-size:clamp(29px,3.4vw,50px);font-weight:700}
.osf-site .osf-section h3.elementor-heading-title{font-size:clamp(23px,2vw,29px);font-weight:650}
.osf-site .osf-section .elementor-widget-text-editor{font-size:17px;line-height:1.8;color:var(--osf-muted)}
.osf-site .osf-eyebrow,.osf-site .osf-eyebrow .elementor-heading-title{font-size:12px!important;font-weight:700;letter-spacing:.16em!important;color:var(--osf-blue)!important;text-transform:uppercase}
.osf-site .osf-button .elementor-button,.osf-submit{background:var(--osf-blue);color:#fff;border:1px solid var(--osf-blue);border-radius:999px;padding:17px 27px;font-size:15px;font-weight:650;line-height:1.4;transition:background .2s,transform .2s;cursor:pointer;text-decoration:none}
.osf-site .osf-button .elementor-button:hover,.osf-submit:hover{background:var(--osf-blue-dark);border-color:var(--osf-blue-dark);color:#fff;transform:translateY(-2px)}
.osf-site .osf-button-secondary .elementor-button{background:transparent;color:var(--osf-blue)}
.osf-site .osf-button-secondary .elementor-button:hover{background:var(--osf-light)}
.osf-site .osf-home-hero{padding-top:140px!important;padding-bottom:90px!important;overflow:hidden}
.osf-site .osf-home-hero>.elementor-container{align-items:center}
.osf-site .osf-home-hero .osf-hero-title span{color:var(--osf-blue)}
.osf-site .osf-home-hero .osf-button{display:inline-block;width:auto;margin-right:12px}
.osf-site .osf-hero-note{font-size:13px;letter-spacing:.015em;margin-top:20px}
.osf-site .osf-photo img{width:100%;max-height:540px;object-fit:cover;border-radius:22px}
.osf-site .osf-home-hero .osf-photo img{height:530px;border-radius:180px 28px 28px 28px;box-shadow:24px 24px 0 #d1e8f6}
.osf-site .osf-about .osf-photo img{max-height:550px;object-position:center 42%;width:100%}
.osf-site .osf-about>.elementor-container{align-items:center}
.osf-site .osf-benefits .elementor-column>.elementor-widget-wrap{border:1px solid #d8e8f2;border-radius:20px;padding:30px}
.osf-site .osf-page-hero{padding-top:150px!important;padding-bottom:65px!important}
.osf-site .osf-service-detail>.elementor-container{align-items:flex-start}
.osf-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:32px 0;width:100%}
.osf-card{border:1px solid #dbe7ef;background:#fff;border-radius:20px;overflow:hidden;transition:transform .2s,box-shadow .2s;min-width:0}
.osf-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px #082c4610}
.osf-card-image{display:block;aspect-ratio:1.5;overflow:hidden;background:var(--osf-light)}
.osf-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.osf-card:hover .osf-card-image img{transform:scale(1.035)}
.osf-card-body{padding:25px}
.osf-card h3{margin:8px 0 13px;font-size:23px;line-height:1.25;letter-spacing:-.025em;color:var(--osf-navy)}
.osf-card h3 a{color:inherit;text-decoration:none}
.osf-card p,.osf-step p{font-size:15px;line-height:1.75;color:var(--osf-muted);margin:0 0 20px}
.osf-index{font-size:12px;letter-spacing:.13em;color:var(--osf-blue);font-weight:700}
.osf-text-link{font-size:14px;font-weight:650;color:var(--osf-blue);text-decoration:none!important;display:inline-flex;gap:16px;align-items:center}
.osf-text-link:hover{color:var(--osf-blue-dark)}
.osf-service-grid>.osf-card:last-child{grid-column:auto}
.osf-experience .elementor-counter .elementor-counter-number-wrapper,.osf-experience .elementor-counter .elementor-counter-title{color:#fff!important}
.osf-experience .elementor-counter .elementor-counter-number-wrapper{font-size:clamp(44px,5vw,72px);font-weight:700}
.osf-experience .elementor-counter .elementor-counter-title{font-size:16px;line-height:1.5}
.osf-site .osf-marquee .elementor-heading-title{font-size:clamp(19px,2.5vw,36px)!important;text-align:center;color:var(--osf-blue)!important}
.osf-step{background:#fff;border:1px solid #cde1ee;border-radius:20px;padding:34px;min-width:0}
.osf-step:nth-child(2){background:var(--osf-navy);border-color:var(--osf-navy);color:#fff}
.osf-step-number{display:inline-block;font-size:48px;font-weight:700;letter-spacing:-.06em;color:var(--osf-blue);margin-bottom:20px}
.osf-step h3{font-size:25px;line-height:1.2;letter-spacing:-.02em;margin:0 0 17px;color:var(--osf-navy)}
.osf-step:nth-child(2) h3,.osf-step:nth-child(2) .osf-step-number,.osf-step:nth-child(2) .osf-text-link{color:#fff}
.osf-step:nth-child(2) p,.osf-step:nth-child(2) .osf-list{color:#d6e8f4}
.osf-list{margin:18px 0 24px;padding-left:20px;line-height:1.9;font-size:16px;color:var(--osf-muted)}
.osf-logo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:32px 0}
.osf-logo-card{border:1px solid #e1eaf0;border-radius:14px;padding:18px 12px;min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;text-decoration:none!important;text-align:center;gap:10px}
.osf-logo-card img{width:100%;height:62px;object-fit:contain;filter:none}
.osf-logo-caption{font-size:10px;line-height:1.3;color:#60788b}
.osf-logo-name{font-size:20px;color:var(--osf-navy);font-weight:700;line-height:1.3}
.osf-site .osf-accordion .elementor-accordion-item{border:0;border-bottom:1px solid #dbe8f1}
.osf-site .osf-accordion .elementor-tab-title{padding:24px 0;color:var(--osf-navy);font-size:17px;line-height:1.5}
.osf-site .osf-accordion .elementor-tab-content{padding:0 0 24px;border:0;color:var(--osf-muted);font-size:16px;line-height:1.7}
.osf-guide-card{display:grid;grid-template-columns:minmax(220px,1fr) 1.5fr;align-items:center;gap:40px;border:1px solid #dbe8f1;border-radius:22px;padding:24px;margin-top:30px}
.osf-guide-card>img{width:100%;height:260px;object-fit:cover;border-radius:14px}
.osf-guide-card h3{font-size:30px;line-height:1.2;letter-spacing:-.03em;color:var(--osf-navy)}
.osf-guide-card p{font-size:16px;line-height:1.75;color:var(--osf-muted)}
.osf-site .osf-cta{text-align:center}
.osf-site .osf-cta .elementor-heading-title,.osf-site .osf-cta .elementor-widget-text-editor,.osf-site .osf-cta .elementor-widget-text-editor a,.osf-site .osf-cta .osf-eyebrow .elementor-heading-title{color:#fff!important}
.osf-site .osf-cta .elementor-button{background:#fff;color:var(--osf-blue);border-color:#fff}
.osf-site .osf-cta .elementor-button:hover{background:var(--osf-light);color:var(--osf-blue-dark)}
.osf-site .osf-article .elementor-container{max-width:900px}
.osf-site .osf-project-detail .gallery img{border-radius:14px;object-fit:cover}
.osf-form{background:#fff;border:1px solid #d8e7f1;border-radius:22px;padding:32px;text-align:left}
.osf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.osf-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;color:var(--osf-navy)}
.osf-form label span{font-size:12px;font-weight:400;color:var(--osf-muted)}
.osf-form input,.osf-form select,.osf-form textarea{width:100%;border:1px solid #cbdde9;border-radius:9px;padding:12px 14px;font:inherit;font-size:15px;background:#fbfdff;color:var(--osf-text);min-height:48px}
.osf-form input:focus,.osf-form select:focus,.osf-form textarea:focus{outline:2px solid #8bc8ed;outline-offset:2px}
.osf-form .osf-full{grid-column:1/-1}
.osf-form-note{font-size:12px!important;line-height:1.6!important;color:var(--osf-muted)!important;margin:22px 0}
.osf-submit{display:inline-flex;gap:22px;align-items:center}
.osf-form-message{padding:18px 22px;background:var(--osf-light);border-left:3px solid var(--osf-blue);border-radius:8px;color:var(--osf-navy)}
.osf-form-error{border-left-color:#9d3434}
.osf-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px;height:1px;overflow:hidden}
.osf-site .osf-footer .osf-photo img{width:200px;height:auto;max-height:none;border-radius:0}
.osf-site .osf-footer .elementor-heading-title{font-size:22px!important}
.osf-site .osf-footer a{color:var(--osf-navy)}
.osf-copyright{text-align:center;font-size:12px;color:var(--osf-muted);margin:0}
.osf-site .osf-section a:focus-visible,.osf-site .osf-section button:focus-visible{outline:3px solid #48a4d8;outline-offset:4px}
@media(max-width:1024px){.osf-card-grid{gap:20px}.osf-logo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.osf-card h3{font-size:21px}.osf-step{padding:25px}.osf-site .osf-home-hero .osf-photo img{height:430px}}
@media(max-width:767px){.osf-card-grid{grid-template-columns:1fr;gap:22px}.osf-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.osf-logo-card{min-height:120px}.osf-site .osf-section>.elementor-container>.elementor-column{width:100%!important}.osf-site .osf-section .elementor-column>.elementor-widget-wrap{padding-left:0;padding-right:0}.osf-site .osf-home-hero{padding-top:110px!important;padding-bottom:54px!important}.osf-site .osf-home-hero .osf-photo img{height:330px;border-radius:90px 22px 22px 22px;box-shadow:12px 12px 0 #d1e8f6}.osf-site .osf-about .osf-photo{margin-bottom:30px}.osf-site .osf-page-hero{padding-top:115px!important;padding-bottom:42px!important}.osf-site .osf-section .elementor-widget-text-editor{font-size:16px}.osf-site .osf-benefits .elementor-column{margin-bottom:18px}.osf-site .osf-benefits .elementor-column>.elementor-widget-wrap{padding:24px}.osf-site .osf-experience .elementor-column{padding:15px 0}.osf-guide-card{grid-template-columns:1fr;gap:25px;padding:18px}.osf-guide-card h3{font-size:26px}.osf-form{padding:23px 18px}.osf-form-grid{grid-template-columns:1fr;gap:18px}.osf-site .osf-footer .elementor-column{margin-bottom:24px}.osf-site .osf-contact .elementor-column{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.osf-card,.osf-card-image img,.osf-submit,.osf-button .elementor-button{transition:none!important;transform:none!important}}
