@charset "UTF-8";:root{--dv-primary:#29c267;--dv-accent-deep:#194254;--dv-accent-green:#29c267;--dv-accent-sky:#01a8ff;--dv-blue:var(--dv-accent-deep);--dv-blue-2:#225a73;--dv-brand-bg:var(--dv-accent-deep);--dv-green:var(--dv-primary);--dv-green-deep:#16884b;--dv-green-soft:color-mix(in oklch,var(--dv-accent-green) 13%,oklch(99% 0.006 153));--dv-sky:var(--dv-accent-sky);--dv-sky-soft:color-mix(in oklch,var(--dv-accent-sky) 12%,oklch(99% 0.006 153));--dv-ink:oklch(22% 0.018 248);--dv-muted:oklch(45% 0.018 248);--dv-surface:oklch(99% 0.006 153);--dv-soft:oklch(96% 0.012 210);--dv-border:oklch(88% 0.018 210);--dv-warning:oklch(72% 0.12 88);--dv-shadow:0 18px 50px oklch(22% 0.018 248/0.12);--dv-radius:8px;--dv-radius-lg:18px;--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--ease-out-quint:cubic-bezier(0.22,1,0.36,1);--ease-out-expo:cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{max-width:100%;overflow-x:clip}body{background:var(--dv-surface);color:var(--dv-ink);font-family:Be Vietnam Pro,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.7;margin:0}body:before{background:linear-gradient(90deg,var(--dv-primary),var(--dv-accent-green),var(--dv-accent-sky));content:"";height:3px;inset:0 0 auto 0;pointer-events:none;position:fixed;transform:scaleX(var(--scroll-progress,0));transform-origin:left center;z-index:1200}img{height:auto;max-width:100%}a{color:var(--dv-green-deep);text-decoration:none;transition:color .2s var(--ease-out-quart)}a:hover{color:var(--dv-blue)}.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible,.header-tool:focus-visible,.navbar-toggler:focus-visible,[data-filter]:focus-visible,a:focus-visible{box-shadow:0 0 0 6px oklch(55% .155 153deg/.14);outline:3px solid oklch(72% .13 153deg/.62);outline-offset:3px}.container{max-width:1180px}.section-pad{padding:clamp(64px,8vw,108px) 0}.section-pad-sm{padding:clamp(42px,5vw,72px) 0}.eyebrow{align-items:center;color:var(--dv-green-deep);display:inline-flex;font-size:.78rem;font-weight:800;gap:10px;letter-spacing:.08em;text-transform:uppercase}.eyebrow:before{background:var(--dv-green);content:"";height:2px;transform-origin:left center;width:28px}.section-title{margin-bottom:34px;max-width:760px}.page-title h1,.section-title h2{color:var(--dv-blue);font-weight:850;letter-spacing:0;line-height:1.12}.lead-soft,.page-title p,.section-title p{color:var(--dv-muted);max-width:68ch}.btn{align-items:center;border-radius:999px;display:inline-flex;font-weight:750;gap:.45rem;justify-content:center;min-height:44px;overflow:hidden;padding:.82rem 1.2rem;position:relative;transform:translateZ(0);transition:transform .18s var(--ease-out-quart),box-shadow .22s var(--ease-out-quart),background-color .22s var(--ease-out-quart),border-color .22s var(--ease-out-quart),color .22s var(--ease-out-quart)}.btn:hover{box-shadow:0 12px 30px oklch(22% .018 248deg/.13);transform:translateY(-2px)}.btn.is-pressing,.btn:active{box-shadow:none;transform:translateY(0) scale(.97)}.btn:after{background:oklch(99% .006 153deg/.32);border-radius:50%;content:"";height:9rem;inset:50% auto auto 50%;opacity:0;pointer-events:none;position:absolute;transform:translate(-50%,-50%) scale(.1);width:9rem}.btn.is-pressing:after{animation:button-ripple .42s var(--ease-out-expo)}.btn-primary{background:var(--dv-primary);border-color:var(--dv-primary);color:oklch(99% .006 153deg)}.btn-primary:focus,.btn-primary:hover{background:var(--dv-green-deep);border-color:var(--dv-green-deep);color:oklch(99% .006 153deg)}.btn-outline-primary{border-color:oklch(72% .055 153deg);color:var(--dv-blue)}.btn-outline-primary:focus,.btn-outline-primary:hover{background:var(--dv-blue);border-color:var(--dv-blue);color:oklch(99% .006 153deg)}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:oklch(99% .006 153deg/.94);border-bottom:1px solid oklch(90% .018 210deg/.72);position:sticky;top:0;transition:box-shadow .25s var(--ease-out-quart),background .25s var(--ease-out-quart),border-color .25s var(--ease-out-quart);z-index:1040}.site-header.is-scrolled{box-shadow:0 10px 28px oklch(22% .018 248deg/.09)}.navbar-brand{align-items:center;display:flex;line-height:0;max-width:360px;padding:0}.brand-logo{display:block;height:56px;transition:transform .28s var(--ease-out-quart),filter .28s var(--ease-out-quart);width:auto}.navbar-brand:hover .brand-logo{filter:brightness(1.02);transform:translateY(-1px)}.header-nav-layout{align-items:center;display:flex;width:100%}.header-main-menu{justify-content:center;margin-inline:auto}.header-actions{flex:0 0 auto;gap:8px}.navbar-nav .nav-link{color:var(--dv-ink);font-weight:620;min-height:44px;padding:.7rem 1.05rem;position:relative;transition:color .2s var(--ease-out-quart),transform .2s var(--ease-out-quart)}.navbar-nav .nav-link:after{background:var(--dv-green);border-radius:999px;bottom:.42rem;content:"";height:2px;left:1.05rem;opacity:0;position:absolute;right:1.05rem;transform:scaleX(.25);transform-origin:left center;transition:opacity .24s var(--ease-out-quart),transform .24s var(--ease-out-quart)}.dropdown-item.active,.dropdown-item:hover,.navbar-nav .nav-link.active,.navbar-nav .nav-link:hover{color:var(--dv-green-deep)}.navbar-nav .nav-link:hover{transform:translateY(-1px)}.navbar-nav .nav-link.active:after,.navbar-nav .nav-link:hover:after{opacity:1;transform:scaleX(1)}.dropdown-toggle:after{border-left:0;border-right:0;border-top:0}.dropdown-menu{animation:menu-enter .18s var(--ease-out-quart);border:1px solid var(--dv-border);border-radius:var(--dv-radius);box-shadow:var(--dv-shadow);padding:8px}.dropdown-item{align-items:center;border-radius:7px;color:var(--dv-ink);display:flex;font-weight:580;min-height:44px;position:relative;transition:color .2s var(--ease-out-quart),background-color .2s var(--ease-out-quart),transform .2s var(--ease-out-quart)}.dropdown-item:hover{background:var(--dv-green-soft);transform:translateX(2px)}.dropdown-item.active,.dropdown-item:active{background:linear-gradient(90deg,var(--dv-sky-soft),var(--dv-green-soft));color:var(--dv-primary);font-weight:850}.dropdown-item.active:before{background:var(--dv-green);border-radius:999px;box-shadow:0 0 0 4px oklch(55% .155 153deg/.14);content:"";height:8px;margin-right:10px;width:8px}.header-tool{background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:999px;color:var(--dv-blue);font-size:.88rem;font-weight:760;min-height:44px;min-width:44px;padding:0 13px;transition:color .2s var(--ease-out-quart),background-color .2s var(--ease-out-quart),border-color .2s var(--ease-out-quart),transform .2s var(--ease-out-quart),box-shadow .2s var(--ease-out-quart)}.header-tool,.lang-flag,.language-current{align-items:center;display:inline-flex;justify-content:center;line-height:1}.lang-flag,.language-current{font-size:1.18rem}.header-tool:focus,.header-tool:hover{background:var(--dv-green-soft);border-color:color-mix(in oklch,var(--dv-primary) 40%,var(--dv-border));box-shadow:0 10px 24px oklch(22% .018 248deg/.08);color:var(--dv-green-deep);transform:translateY(-1px)}.header-tool.dropdown-toggle:after{display:none}.header-search-btn svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;height:19px;width:19px}.language-switch .dropdown-menu{min-width:150px}.language-switch .dropdown-item{gap:10px;justify-content:space-between}.language-switch .dropdown-item.active:before{display:none}.language-switch .dropdown-item.active:after{color:var(--dv-green-deep);content:"✓";font-weight:850}.hero{align-items:center;background:radial-gradient(circle at 76% 18%,color-mix(in oklch,var(--dv-accent-sky) 16%,transparent),transparent 30%),linear-gradient(103deg,color-mix(in oklch,var(--dv-brand-bg) 88%,transparent) 0,color-mix(in oklch,var(--dv-brand-bg) 64%,transparent) 46%,color-mix(in oklch,var(--dv-brand-bg) 22%,transparent) 100%),var(--background-image) center/cover;color:oklch(98% .006 153deg);display:flex;min-height:720px;overflow:hidden;position:relative}.hero:before{background:linear-gradient(0deg,color-mix(in oklch,var(--dv-brand-bg) 54%,transparent),transparent);height:42%;inset:auto 0 0}.hero:after,.hero:before,.page-hero:after{content:"";pointer-events:none;position:absolute}.hero:after,.page-hero:after{background:linear-gradient(115deg,transparent 0 42%,oklch(99% .006 153deg/.08) 48%,transparent 56%),radial-gradient(circle at 76% 28%,oklch(70% .12 153deg/.2),transparent 20%);inset:0;opacity:0;transform:translateX(-8%)}body.is-ready .hero:after,body.is-ready .page-hero:after{animation:hero-sheen 1.1s var(--ease-out-expo) .18s both}.hero .container,.page-hero .container{position:relative;z-index:1}.hero h1{font-size:clamp(2.5rem,5.6vw,5.8rem);font-weight:900;line-height:1.04;max-width:880px}.hero p{color:oklch(92% .012 153deg);font-size:clamp(1.02rem,1.6vw,1.25rem);max-width:720px}.hero-layout{align-items:center;display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:minmax(0,860px)}.hero-copy{max-width:880px}.hero-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.hero-trust span{align-items:center;background:oklch(99% .006 153deg/.09);border:1px solid oklch(99% .006 153deg/.22);border-radius:999px;color:oklch(93% .014 153deg);display:inline-flex;font-size:.92rem;font-weight:700;min-height:38px;padding:8px 14px}.hero-service-panel{background:linear-gradient(145deg,oklch(99% .006 153deg/.16),oklch(99% .006 153deg/.08)),oklch(18% .045 248deg/.6);border:1px solid oklch(99% .006 153deg/.22);border-radius:var(--dv-radius-lg);box-shadow:0 28px 80px oklch(12% .04 248deg/.34);overflow:hidden;padding:clamp(24px,3vw,34px)}.hero-panel-head{border-bottom:1px solid oklch(99% .006 153deg/.14);padding-bottom:20px}.hero-panel-kicker{color:oklch(80% .13 153deg);display:inline-flex;font-size:.78rem;font-weight:850;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.hero-panel-head h2{color:oklch(99% .006 153deg);font-size:clamp(1.25rem,2vw,1.75rem);font-weight:850;line-height:1.2;margin:0}.hero-service-list{display:grid;gap:12px;padding:20px 0}.hero-service-list a{background:oklch(99% .006 153deg/.08);border:1px solid oklch(99% .006 153deg/.13);border-radius:var(--dv-radius);color:oklch(96% .01 153deg);display:grid;gap:6px 14px;grid-template-columns:44px 1fr;padding:16px;transition:transform .24s var(--ease-out-quart),background-color .24s var(--ease-out-quart),border-color .24s var(--ease-out-quart)}.hero-service-list a:focus,.hero-service-list a:hover{background:oklch(99% .006 153deg/.13);border-color:oklch(80% .13 153deg/.54);color:oklch(99% .006 153deg);transform:translateY(-2px)}.hero-service-list span{background:var(--dv-green);border-radius:11px;display:inline-grid;font-weight:850;grid-row:span 2;height:38px;place-items:center;width:38px}.hero-service-list span,.hero-service-list strong{color:oklch(99% .006 153deg)}.hero-service-list small{color:oklch(88% .012 153deg);line-height:1.5}.hero-panel-note{border-top:1px solid oklch(99% .006 153deg/.14);color:oklch(89% .014 153deg);font-size:.9rem;padding-top:18px}.page-hero{background:radial-gradient(circle at 82% 18%,color-mix(in oklch,var(--dv-accent-sky) 14%,transparent),transparent 30%),linear-gradient(105deg,color-mix(in oklch,var(--dv-brand-bg) 84%,transparent),color-mix(in oklch,var(--dv-brand-bg) 50%,transparent) 54%,color-mix(in oklch,var(--dv-brand-bg) 20%,transparent)),var(--page-image,url("https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9?auto=format&fit=crop&w=1600&q=80")) center/cover;color:oklch(99% .006 153deg);overflow:hidden;padding:clamp(76px,9vw,124px) 0;position:relative}.page-hero .breadcrumb a,.page-hero .breadcrumb-item,.page-hero .breadcrumb-item.active{color:oklch(93% .014 153deg)}.page-hero .breadcrumb-item+.breadcrumb-item:before{color:oklch(89% .014 153deg)}.page-title h1{color:oklch(99% .006 153deg);font-size:clamp(2rem,4vw,4rem);text-shadow:0 2px 18px color-mix(in oklch,var(--dv-brand-bg) 58%,transparent)}.page-title p{color:oklch(92% .012 153deg);text-shadow:0 1px 12px color-mix(in oklch,var(--dv-brand-bg) 45%,transparent)}.surface{background:var(--dv-soft)}.career-card,.news-card,.process-step,.project-card,.service-card,.value-box{background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);overflow:hidden;transition:transform .28s var(--ease-out-quart),box-shadow .28s var(--ease-out-quart),border-color .28s var(--ease-out-quart)}.career-card:hover,.news-card:hover,.project-card:hover,.service-card:hover{border-color:oklch(76% .06 153deg);box-shadow:var(--dv-shadow);transform:translateY(-6px)}.news-card:hover img,.project-card:hover img,.service-card:hover img{transform:scale(1.035)}.news-card img,.project-card img,.service-card img{border-radius:var(--dv-radius) var(--dv-radius) 0 0;height:220px;-o-object-fit:cover;object-fit:cover;transition:transform .7s var(--ease-out-expo);width:100%}.icon-chip{background:var(--dv-green-soft);border-radius:12px;color:var(--dv-green-deep);display:inline-grid;font-weight:850;height:44px;place-items:center;transition:transform .28s var(--ease-out-quart),background-color .28s var(--ease-out-quart);width:44px}.icon-chip-svg svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:24px;width:24px}.service-card:hover .icon-chip,.value-box:hover .icon-chip{background:oklch(90% .055 153deg);transform:translateY(-2px) rotate(-3deg)}.contact-info-card{align-items:flex-start;display:flex;gap:16px}.contact-info-card h3{margin-bottom:6px}.contact-icon{background:var(--dv-green-soft);border-radius:14px;color:var(--dv-green-deep);display:inline-grid;flex:0 0 48px;height:48px;place-items:center;transition:transform .28s var(--ease-out-quart),background-color .28s var(--ease-out-quart);width:48px}.contact-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:24px;width:24px}.contact-info-card:hover .contact-icon{background:oklch(90% .055 153deg);transform:translateY(-2px) rotate(-3deg)}.contact-form-group{margin-bottom:16px}.job-info-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.job-info-grid div,.recruit-quick-contact,.recruiter-card{background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius)}.job-info-grid div{padding:20px}.job-info-grid span,.recruit-quick-contact span{color:var(--dv-muted);display:block;font-size:.86rem;font-weight:750}.job-info-grid strong{color:var(--dv-blue);display:block;font-size:1.02rem;margin:6px 0 8px}.job-info-grid p{color:var(--dv-muted);font-size:.95rem;margin:0}.recruiter-card{background:radial-gradient(circle at 92% 12%,oklch(86% .065 153deg/.5),transparent 30%),var(--dv-surface);display:flex;gap:16px;padding:22px}.recruiter-card .contact-icon{flex:0 0 48px}.recruit-quick-contact{display:grid;gap:6px;padding:20px}.recruit-quick-contact strong{color:var(--dv-blue)}.process-step{height:100%;padding:28px}.step-number{background:var(--dv-blue);border-radius:50%;color:oklch(99% .006 153deg);display:inline-grid;font-weight:850;height:42px;margin-bottom:18px;place-items:center;transition:transform .28s var(--ease-out-quart),background-color .28s var(--ease-out-quart);width:42px}.process-step:hover .step-number{background:var(--dv-green-deep);transform:scale(1.08)}.feature-band{background:radial-gradient(circle at 16% 18%,color-mix(in oklch,var(--dv-accent-green) 28%,transparent),transparent 28%),radial-gradient(circle at 88% 76%,color-mix(in oklch,var(--dv-accent-sky) 22%,transparent),transparent 30%),linear-gradient(124deg,var(--dv-brand-bg),color-mix(in oklch,var(--dv-brand-bg) 74%,var(--dv-primary))),var(--dv-brand-bg);color:oklch(99% .006 153deg);overflow:hidden;position:relative}.feature-band:before{background-image:linear-gradient(oklch(99% .006 153deg/.07) 1px,transparent 0),linear-gradient(90deg,oklch(99% .006 153deg/.055) 1px,transparent 0);background-size:54px 54px;content:"";inset:0;-webkit-mask-image:linear-gradient(90deg,oklch(0 0 0deg/.7),transparent 72%);mask-image:linear-gradient(90deg,oklch(0 0 0deg/.7),transparent 72%);pointer-events:none;position:absolute}.feature-band .container{position:relative;z-index:1}.feature-band p{color:oklch(91% .014 153deg)}.why-grid{align-items:center;display:grid;gap:clamp(36px,6vw,80px);grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}.why-copy{max-width:560px}.why-copy h2{line-height:1.12}.why-copy p{font-size:1.04rem;margin-top:22px}.why-assurance{background:oklch(99% .006 153deg/.08);border:1px solid oklch(99% .006 153deg/.18);border-radius:var(--dv-radius);margin-top:34px;padding:22px}.why-assurance span{color:oklch(79% .13 153deg);display:block;font-size:.78rem;font-weight:850;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.why-assurance strong{color:oklch(99% .006 153deg);display:block;font-size:1.03rem;line-height:1.55}.why-panel{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.why-item{background:linear-gradient(145deg,oklch(99% .006 153deg/.13),oklch(99% .006 153deg/.065));border:1px solid oklch(99% .006 153deg/.14);border-radius:var(--dv-radius-lg);min-height:250px;padding:24px;position:relative;transition:transform .28s var(--ease-out-quart),border-color .28s var(--ease-out-quart),background-color .28s var(--ease-out-quart)}.why-item:hover{background:linear-gradient(145deg,oklch(99% .006 153deg/.18),oklch(99% .006 153deg/.09));border-color:oklch(77% .13 153deg/.5);transform:translateY(-5px)}.why-icon{background:oklch(99% .006 153deg/.12);border-radius:14px;color:oklch(82% .13 153deg);display:inline-grid;height:48px;margin-bottom:26px;place-items:center;width:48px}.why-icon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;height:25px;width:25px}.why-index{color:oklch(99% .006 153deg/.28);font-size:1.85rem;font-weight:900;line-height:1;position:absolute;right:24px;top:24px}.why-item h3{color:oklch(99% .006 153deg);font-size:1.08rem;font-weight:850;margin-bottom:12px}.why-item p{color:oklch(89% .014 153deg);font-size:.95rem;line-height:1.65;margin-bottom:0}.check-list{list-style:none;margin:0;padding:0}.check-list li{display:flex;gap:12px;margin-bottom:12px}.check-list li:before{background:var(--dv-green-soft);border-radius:50%;color:var(--dv-green-deep);content:"✓";display:inline-grid;flex:0 0 auto;font-weight:850;height:24px;place-items:center;transition:transform .24s var(--ease-out-quart);width:24px}.check-list li:hover:before{transform:scale(1.08)}.cta-section{background:radial-gradient(circle at 15% 20%,color-mix(in oklch,var(--dv-accent-green) 26%,transparent),transparent 32%),radial-gradient(circle at 88% 10%,color-mix(in oklch,var(--dv-accent-sky) 18%,transparent),transparent 28%),linear-gradient(135deg,var(--dv-brand-bg),var(--dv-blue-2));color:oklch(99% .006 153deg);padding:clamp(48px,6vw,82px) 0}.cta-section p{color:oklch(91% .014 153deg)}.error-page{background:radial-gradient(circle at 12% 14%,oklch(69% .135 153deg/.2),transparent 30%),radial-gradient(circle at 88% 18%,color-mix(in oklch,var(--dv-accent-sky) 20%,transparent),transparent 28%),linear-gradient(180deg,oklch(98% .01 153deg),oklch(95% .014 210deg));min-height:calc(100vh - 92px);overflow:hidden;padding:clamp(98px,13vw,156px) 0 clamp(66px,8vw,110px);position:relative}.error-page:before{aspect-ratio:1;border:1px solid oklch(74% .06 153deg/.34);border-radius:50%;content:"";inset:74px clamp(18px,5vw,70px) auto auto;opacity:.72;position:absolute;width:clamp(170px,24vw,330px)}.error-shell{align-items:center;display:grid;gap:clamp(30px,6vw,72px);grid-template-columns:minmax(0,.92fr) minmax(320px,.58fr);position:relative}.error-code{display:inline-flex;font-size:clamp(5rem,15vw,11.5rem);line-height:.82;margin-bottom:18px}.error-code,.error-copy h1{color:var(--dv-blue);font-weight:900;letter-spacing:0}.error-copy h1{font-size:clamp(2.15rem,5vw,4.8rem);line-height:1.04;max-width:720px}.error-copy p{color:var(--dv-muted);font-size:clamp(1rem,1.35vw,1.16rem);max-width:680px}.error-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.error-panel{background:oklch(99% .006 153deg/.86);border:1px solid oklch(85% .026 210deg);border-radius:var(--dv-radius-lg);box-shadow:var(--dv-shadow);padding:clamp(22px,3vw,34px);position:relative}.error-panel h2{color:var(--dv-blue);font-size:1.08rem;font-weight:850;margin-bottom:18px}.error-status-list{display:grid;gap:14px;list-style:none;margin:0;padding:0}.error-status-list li{align-items:center;background:oklch(97% .012 153deg);border:1px solid oklch(89% .018 210deg);border-radius:var(--dv-radius);display:grid;gap:14px;grid-template-columns:42px minmax(0,1fr);padding:14px}.error-status-icon{background:var(--dv-green-soft);border-radius:50%;color:var(--dv-green-deep);display:inline-grid;height:42px;place-items:center;width:42px}.error-status-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:20px;width:20px}.error-status-list strong{color:var(--dv-ink);display:block;font-weight:800}.error-status-list span{color:var(--dv-muted);display:block;font-size:.92rem;line-height:1.55;margin-top:2px}.form-control,.form-select{border-color:var(--dv-border);border-radius:var(--dv-radius);padding:.85rem 1rem;transition:border-color .22s var(--ease-out-quart),box-shadow .22s var(--ease-out-quart),transform .22s var(--ease-out-quart)}.form-control:focus,.form-select:focus{border-color:var(--dv-green);box-shadow:0 0 0 .25rem oklch(55% .155 153deg/.16);transform:translateY(-1px)}.form-control::-moz-placeholder,.form-select::-moz-placeholder{color:oklch(57% .018 248deg)}.form-control::placeholder,.form-select::placeholder{color:oklch(57% .018 248deg)}.site-search-modal .modal-content{background:radial-gradient(circle at 88% 0,color-mix(in oklch,var(--dv-accent-sky) 12%,transparent),transparent 34%),var(--dv-surface);border:1px solid oklch(87% .02 210deg);border-radius:var(--dv-radius-lg);box-shadow:0 30px 70px oklch(22% .018 248deg/.22)}.site-search-modal .modal-body{padding:clamp(28px,4vw,42px);position:relative}.search-close{position:absolute;right:18px;top:18px;z-index:2}.site-search-modal h2{color:var(--dv-blue);font-weight:850;margin:12px 0 18px}.site-search-form{margin-top:22px}.search-input-wrap{align-items:center;background:oklch(99% .006 153deg/.82);border:1px solid var(--dv-border);border-radius:999px;display:grid;gap:12px;grid-template-columns:24px minmax(0,1fr) auto;padding:9px}.search-input-wrap svg{fill:none;stroke:var(--dv-green-deep);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;height:20px;margin-left:8px;width:20px}.search-input-wrap .form-control{background:transparent;border:0;box-shadow:none;min-height:42px;padding:0}.search-input-wrap .form-control:focus{box-shadow:none;transform:none}.search-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.search-suggestions a{align-items:center;background:var(--dv-soft);border:1px solid var(--dv-border);border-radius:999px;color:var(--dv-blue);display:inline-flex;font-size:.9rem;font-weight:650;min-height:34px;padding:7px 12px}.search-suggestions a:hover{background:var(--dv-green-soft);border-color:color-mix(in oklch,var(--dv-primary) 42%,var(--dv-border));color:var(--dv-green-deep)}.filter-pills{display:flex;flex-wrap:wrap;gap:10px}.filter-pills .btn.active{background:var(--dv-blue);border-color:var(--dv-blue);color:oklch(99% .006 153deg)}[data-category]{transition:opacity .24s var(--ease-out-quart),transform .24s var(--ease-out-quart)}[data-category].is-filtering-out{opacity:0;transform:translateY(10px) scale(.98)}[data-category].is-filtering-in{animation:filter-card-in .34s var(--ease-out-quart) both}.filter-empty-state{background:radial-gradient(circle at 78% 12%,color-mix(in oklch,var(--dv-accent-sky) 12%,transparent),transparent 30%),linear-gradient(135deg,var(--dv-surface),var(--dv-green-soft));border:1px solid color-mix(in oklch,var(--dv-primary) 24%,var(--dv-border));border-radius:var(--dv-radius-lg);box-shadow:0 16px 44px oklch(22% .018 248deg/.08);margin-top:30px;padding:clamp(30px,5vw,48px);text-align:center}.filter-empty-icon{background:var(--dv-surface);border-radius:50%;box-shadow:0 12px 30px oklch(22% .018 248deg/.08);color:var(--dv-green-deep);display:inline-grid;height:70px;margin-bottom:18px;place-items:center;width:70px}.filter-empty-icon svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;height:34px;width:34px}.filter-empty-state h3{color:var(--dv-blue);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:850;line-height:1.2;margin:0 auto 12px;max-width:620px}.filter-empty-state p{color:var(--dv-muted);margin:0 auto 24px;max-width:680px}.dv-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.dv-pagination .page-link{align-items:center;background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:999px;box-shadow:0 8px 22px oklch(22% .018 248deg/.055);color:var(--dv-blue);display:inline-flex;font-size:.94rem;font-weight:650;justify-content:center;line-height:1;min-height:42px;min-width:42px;padding:.5rem .78rem;transition:color .2s var(--ease-out-quart),background-color .2s var(--ease-out-quart),border-color .2s var(--ease-out-quart),transform .2s var(--ease-out-quart),box-shadow .2s var(--ease-out-quart)}.dv-pagination .page-link:focus,.dv-pagination .page-link:hover{background:var(--dv-green-soft);border-color:color-mix(in oklch,var(--dv-primary) 42%,var(--dv-border));box-shadow:0 12px 26px oklch(22% .018 248deg/.08);color:var(--dv-green-deep);transform:translateY(-1px)}.dv-pagination .page-item.active .page-link{background:var(--dv-primary);border-color:var(--dv-primary);box-shadow:0 12px 28px color-mix(in oklch,var(--dv-primary) 26%,transparent);color:oklch(99% .006 153deg)}.dv-pagination .page-item.disabled .page-link{background:oklch(96% .012 210deg);border-color:oklch(91% .014 210deg);box-shadow:none;color:oklch(62% .014 248deg)}.dv-pagination .page-item:first-child .page-link,.dv-pagination .page-item:last-child .page-link{min-width:78px;padding-inline:16px}.sidebar-box{background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);padding:24px}.service-intro-panel{background:radial-gradient(circle at 88% 14%,oklch(88% .07 153deg/.45),transparent 28%),linear-gradient(135deg,var(--dv-surface),var(--dv-soft));border:1px solid var(--dv-border);border-radius:var(--dv-radius-lg);padding:clamp(28px,4vw,42px)}.service-intro-panel h2{margin-top:0}.service-proof-grid{background:var(--dv-border);border:1px solid var(--dv-border);border-radius:var(--dv-radius);display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px;overflow:hidden}.service-proof-grid div{background:oklch(99% .006 153deg/.78);padding:18px}.service-proof-grid strong{color:var(--dv-green-deep);display:block;font-size:1.35rem;line-height:1}.service-proof-grid span{color:var(--dv-muted);display:block;font-size:.92rem;margin-top:8px}.service-mini-card p{color:var(--dv-muted);font-size:.95rem}.service-check-list{background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);margin-top:18px;padding:24px}.service-timeline{display:grid;gap:14px;margin-top:20px}.service-timeline div{background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);-moz-column-gap:16px;column-gap:16px;display:grid;grid-template-columns:48px 1fr;padding:20px}.service-timeline span{background:var(--dv-blue);border-radius:50%;color:oklch(99% .006 153deg);display:inline-grid;font-weight:850;grid-row:span 2;height:42px;place-items:center;width:42px}.service-timeline h3{font-size:1.05rem;margin:0 0 4px}.service-timeline p{color:var(--dv-muted);margin:0}.service-doc-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.service-doc-grid div{background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);padding:22px}.service-doc-grid strong{color:var(--dv-blue);display:block;margin-bottom:8px}.service-doc-grid p{color:var(--dv-muted);margin:0}.service-sticky{position:sticky;top:104px}.service-contact-box{background:radial-gradient(circle at 85% 10%,oklch(78% .13 153deg/.22),transparent 32%),var(--dv-surface)}.service-meta-list{display:grid;gap:14px}.service-meta-list li{display:grid;gap:3px}.service-meta-list span{color:var(--dv-muted);font-size:.86rem}.service-meta-list strong{color:var(--dv-blue);font-weight:800}.career-meta{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 20px}.career-meta .career-meta-item{background:var(--dv-soft);border:1px solid var(--dv-border);border-radius:var(--dv-radius);min-height:74px;padding:13px 14px}.career-meta span{color:var(--dv-muted);display:block;font-size:.82rem;font-weight:650;margin-bottom:4px}.career-meta strong{color:var(--dv-blue);display:block;font-size:.95rem;line-height:1.45}.career-empty-state{background:radial-gradient(circle at 82% 12%,color-mix(in oklch,var(--dv-accent-sky) 10%,transparent),transparent 30%),linear-gradient(135deg,var(--dv-surface),var(--dv-green-soft));border:1px solid color-mix(in oklch,var(--dv-primary) 24%,var(--dv-border));border-radius:var(--dv-radius-lg);box-shadow:0 16px 44px oklch(22% .018 248deg/.08);padding:clamp(28px,5vw,44px);text-align:center}.career-empty-icon{background:var(--dv-surface);border-radius:50%;box-shadow:0 12px 30px oklch(22% .018 248deg/.08);color:var(--dv-green-deep);display:inline-grid;height:68px;margin-bottom:18px;place-items:center;width:68px}.career-empty-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:32px;width:32px}.career-empty-state h3{color:var(--dv-blue);font-size:clamp(1.35rem,2.4vw,2rem);font-weight:850;line-height:1.2;margin:0 auto 12px;max-width:620px}.career-empty-state p{color:var(--dv-muted);margin:0 auto 24px;max-width:660px}.project-detail{background:radial-gradient(circle at 8% 12%,oklch(94% .035 153deg/.72),transparent 28%),linear-gradient(180deg,var(--dv-surface),oklch(97% .011 210deg))}.project-summary-grid{background:var(--dv-border);border:1px solid var(--dv-border);border-radius:var(--dv-radius-lg);box-shadow:var(--dv-shadow);display:grid;gap:1px;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.project-summary-grid div{background:oklch(99% .006 153deg/.88);min-height:116px;padding:22px}.project-result-grid span,.project-summary-grid span{color:var(--dv-muted);display:block;font-size:.82rem;font-weight:800;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.project-summary-grid strong{color:var(--dv-blue);display:block;font-size:1.02rem;line-height:1.45}.project-intro-panel{background:radial-gradient(circle at 88% 16%,oklch(86% .065 153deg/.5),transparent 30%),var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius-lg);padding:clamp(28px,4vw,42px)}.project-intro-panel h2{margin-top:0}.project-carousel{background:var(--dv-soft);border-radius:var(--dv-radius-lg);box-shadow:var(--dv-shadow);overflow:hidden}.project-slide{min-height:430px;overflow:hidden;position:relative}.project-slide img{height:430px;-o-object-fit:cover;object-fit:cover;width:100%}.project-slide-caption{background:oklch(17% .045 248deg/.78);border-radius:var(--dv-radius);bottom:24px;left:24px;padding:18px 20px;position:absolute;right:24px;text-align:left}.project-slide-caption h3{color:oklch(99% .006 153deg);font-size:1.05rem;margin:0 0 6px}.project-slide-caption p{color:oklch(91% .014 153deg);font-size:.92rem;margin:0}.project-carousel .owl-nav{display:flex;justify-content:space-between;left:18px;pointer-events:none;position:absolute;right:18px;top:50%;transform:translateY(-50%)}.project-carousel .owl-nav button.owl-next,.project-carousel .owl-nav button.owl-prev{background:oklch(17% .045 248deg/.72);border-radius:999px;color:oklch(99% .006 153deg);display:inline-grid;font-size:1.7rem;height:44px;line-height:1;place-items:center;pointer-events:auto;transition:background-color .24s var(--ease-out-quart),transform .24s var(--ease-out-quart);width:44px}.project-carousel .owl-nav button.owl-next:hover,.project-carousel .owl-nav button.owl-prev:hover{background:var(--dv-green-deep);transform:translateY(-1px)}.project-carousel .owl-dots{bottom:14px;display:flex;gap:8px;justify-content:center;left:0;position:absolute;right:0}.project-carousel .owl-dot span{background:oklch(99% .006 153deg/.54);border-radius:999px;height:4px;margin:0;width:26px}.project-carousel .owl-dot.active span,.project-carousel .owl-dot:hover span{background:var(--dv-green)}.project-spec-grid{margin-top:24px}.project-result-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}.project-result-grid div{background:var(--dv-surface);border:1px solid var(--dv-border);border-radius:var(--dv-radius);padding:22px}.project-result-grid strong{color:var(--dv-blue);display:block;line-height:1.5}.project-side-card{background:radial-gradient(circle at 85% 10%,oklch(78% .13 153deg/.22),transparent 34%),linear-gradient(180deg,var(--dv-surface),var(--dv-soft))}.site-footer{background:oklch(21% .042 248deg);color:oklch(91% .012 153deg)}.site-footer h1{font-size:1rem}.site-footer a{color:oklch(91% .012 153deg)}.site-footer a:hover{color:oklch(77% .12 153deg)}.footer-contact-list{display:grid;gap:10px;margin:0}.footer-contact-list li{align-items:flex-start;display:flex;gap:10px}.footer-contact-icon{background:oklch(99% .006 153deg/.08);border-radius:8px;color:oklch(77% .12 153deg);display:inline-grid;flex:0 0 28px;height:28px;place-items:center;width:28px}.footer-contact-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:16px;width:16px}.footer-title{color:oklch(99% .006 153deg);font-weight:850;margin-bottom:18px}.map-frame{border:0;border-radius:var(--dv-radius);filter:saturate(.85);min-height:220px;width:100%}.reveal{opacity:0;transform:translateY(24px);transition:opacity .68s var(--ease-out-expo),transform .68s var(--ease-out-expo);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0);will-change:auto}.hero .reveal{transform:translateY(28px) scale(.985)}.hero .reveal.is-visible{transform:translateY(0) scale(1)}.form-message{opacity:0;transform:translateY(8px)}.form-message:not(.d-none){animation:message-enter .38s var(--ease-out-quart) both}.article-content{font-size:1.04rem}.article-content h2,.article-content h3{color:var(--dv-blue);font-weight:850;margin-top:2rem}.article-content .icon-heading{align-items:center;display:flex;gap:12px}.heading-icon{background:var(--dv-green-soft);border-radius:12px;color:var(--dv-green-deep);display:inline-grid;flex:0 0 42px;height:42px;place-items:center;width:42px}.heading-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;height:22px;width:22px}.article-content li,.article-content p{max-width:72ch}.article-content .ck-content{color:var(--dv-ink);font-size:1.04rem;line-height:1.82;overflow-wrap:anywhere;word-break:normal}.article-content .ck-content>:first-child{margin-top:0}.article-content .ck-content>:last-child{margin-bottom:0}.article-content .ck-content h1,.article-content .ck-content h2,.article-content .ck-content h3,.article-content .ck-content h4,.article-content .ck-content h5,.article-content .ck-content h6{color:var(--dv-blue);font-weight:850;letter-spacing:0;line-height:1.22;margin:2.1em 0 .7em;max-width:72ch}.article-content .ck-content h1{font-size:clamp(2rem,3.4vw,3rem)}.article-content .ck-content h2{font-size:clamp(1.55rem,2.4vw,2.15rem)}.article-content .ck-content h3{font-size:clamp(1.25rem,1.8vw,1.55rem)}.article-content .ck-content h4,.article-content .ck-content h5,.article-content .ck-content h6{font-size:1.08rem}.article-content .ck-content li,.article-content .ck-content p{max-width:72ch}.article-content .ck-content .table,.article-content .ck-content blockquote,.article-content .ck-content figure,.article-content .ck-content ol,.article-content .ck-content p,.article-content .ck-content pre,.article-content .ck-content table,.article-content .ck-content ul{margin-bottom:1.18rem}.article-content .ck-content ol,.article-content .ck-content ul{padding-left:1.35rem}.article-content .ck-content li+li{margin-top:.45rem}.article-content .ck-content a{color:var(--dv-green-deep);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}.article-content .ck-content a:hover{color:var(--dv-blue)}.article-content .ck-content img{background:var(--dv-soft);border-radius:var(--dv-radius-lg);display:block;height:auto;max-width:100%}.article-content .ck-content figure{max-width:100%}.article-content .ck-content figure.image,.article-content .ck-content figure.table{margin-left:0;margin-right:0}.article-content .ck-content figure.image img{box-shadow:0 16px 44px oklch(22% .018 248deg/.11);width:100%}.article-content .ck-content figcaption{color:var(--dv-muted);font-size:.9rem;line-height:1.55;margin-top:.65rem;text-align:center}.article-content .ck-content .image-style-align-left,.article-content .ck-content .image-style-side{float:left;margin:.35rem 1.4rem 1rem 0;width:min(44%,320px)}.article-content .ck-content .image-style-align-right{float:right;margin:.35rem 0 1rem 1.4rem;width:min(44%,320px)}.article-content .ck-content .image-style-align-center,.article-content .ck-content .image-style-block-align-center{margin-left:auto;margin-right:auto;text-align:center}.article-content .ck-content blockquote{background:linear-gradient(135deg,var(--dv-green-soft),var(--dv-surface));border:1px solid color-mix(in oklch,var(--dv-primary) 26%,var(--dv-border));border-radius:var(--dv-radius-lg);color:var(--dv-blue);font-size:1.05rem;font-weight:650;max-width:72ch;padding:20px 22px}.article-content .ck-content blockquote p:last-child{margin-bottom:0}.article-content .ck-content .table{border-radius:var(--dv-radius);display:block;max-width:100%;overflow-x:auto}.article-content .ck-content table{background:var(--dv-surface);border:1px solid var(--dv-border);border-collapse:collapse;min-width:620px;width:100%}.article-content .ck-content td,.article-content .ck-content th{border:1px solid var(--dv-border);padding:13px 15px;vertical-align:top}.article-content .ck-content th{background:var(--dv-green-soft);color:var(--dv-blue);font-weight:800}.article-content .ck-content code{background:var(--dv-soft);border-radius:6px;color:var(--dv-blue);font-size:.92em;padding:.12em .38em}.article-content .ck-content pre{background:var(--dv-blue);border-radius:var(--dv-radius);color:oklch(96% .01 153deg);max-width:100%;overflow-x:auto;padding:18px 20px}.article-content .ck-content pre code{background:transparent;color:inherit;padding:0}.article-content .ck-content hr{border:0;border-top:1px solid var(--dv-border);margin:2rem 0}.article-content .ck-content .media{max-width:100%}.article-content .ck-content iframe,.article-content .ck-content video{border:0;border-radius:var(--dv-radius-lg);display:block;max-width:100%}.scroll-top-btn{background:var(--dv-green);border:1px solid oklch(82% .055 153deg);border-radius:999px;bottom:clamp(16px,3vw,28px);box-shadow:0 14px 34px oklch(22% .018 248deg/.18);color:oklch(99% .006 153deg);display:inline-grid;height:48px;opacity:0;place-items:center;position:fixed;right:clamp(16px,3vw,28px);transform:translateY(12px) scale(.96);transition:opacity .24s var(--ease-out-quart),visibility .24s var(--ease-out-quart),transform .24s var(--ease-out-quart),background-color .24s var(--ease-out-quart),box-shadow .24s var(--ease-out-quart);visibility:hidden;width:48px;z-index:1030}.scroll-top-btn.is-visible{opacity:1;transform:translateY(0) scale(1);visibility:visible}.scroll-top-btn:hover{background:var(--dv-green-deep);box-shadow:0 18px 38px oklch(22% .018 248deg/.22);transform:translateY(-2px) scale(1.02)}.scroll-top-btn:active{transform:translateY(0) scale(.96)}.scroll-top-btn:focus-visible{box-shadow:0 0 0 6px oklch(55% .155 153deg/.14),0 14px 34px oklch(22% .018 248deg/.18);outline:3px solid oklch(72% .13 153deg/.62);outline-offset:3px}.scroll-top-btn svg{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;height:25px;width:25px}@media (max-width:992px){.navbar-brand{max-width:280px}.brand-logo{height:50px}.navbar-nav .nav-link{padding:.72rem .8rem}.navbar-nav .nav-link:after{left:.8rem;right:.8rem}.header-nav-layout{display:block;padding-top:12px}.header-main-menu{margin-inline:0}.header-actions{flex-direction:row;gap:10px;margin-top:8px}.header-actions .header-tool{padding:0;width:44px}.hero{min-height:auto;padding:112px 0 82px}.hero-layout{gap:38px;grid-template-columns:1fr}.hero h1,.hero p{max-width:760px}.hero-service-panel{max-width:680px}.why-grid{grid-template-columns:1fr}.why-copy{max-width:760px}.project-result-grid,.project-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-sticky{position:static}.error-shell{grid-template-columns:1fr}.error-panel{max-width:680px}}@media (max-width:575.98px){.navbar-brand{max-width:230px}.brand-logo{height:42px}.hero{min-height:auto;padding:88px 0 64px}.hero h1{font-size:clamp(2.25rem,13vw,3.75rem)}.hero-service-panel{border-radius:20px;padding:20px}.hero-service-list a{grid-template-columns:38px 1fr;padding:14px}.hero-trust{margin-top:24px}.hero-trust span{flex:1 1 180px;justify-content:center}.why-panel{grid-template-columns:1fr}.why-item{min-height:auto;padding:22px}.why-assurance{padding:20px}.job-info-grid,.project-result-grid,.project-summary-grid{grid-template-columns:1fr}.project-summary-grid div{min-height:auto}.project-slide{min-height:320px}.project-slide img{height:320px}.project-slide-caption{bottom:14px;left:14px;padding:14px;right:14px}.recruiter-card{display:grid}.btn{width:100%}.d-flex.flex-wrap.gap-3>.btn{flex:1 1 180px;width:auto}.service-doc-grid,.service-proof-grid,.service-timeline div{grid-template-columns:1fr}.service-timeline span{grid-row:auto;margin-bottom:12px}.search-input-wrap{border-radius:var(--dv-radius-lg);grid-template-columns:24px minmax(0,1fr)}.search-input-wrap .btn{grid-column:1/-1;width:100%}.article-content .ck-content .image-style-align-left,.article-content .ck-content .image-style-align-right,.article-content .ck-content .image-style-side{float:none;margin:0 0 1rem;width:100%}}@media (min-width:992px){.navbar-expand-lg .navbar-nav .nav-link{padding-left:.8rem;padding-right:.8rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1}.reveal,body:before{transform:none}}@keyframes menu-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hero-sheen{0%{opacity:0;transform:translateX(-10%)}35%{opacity:1}to{opacity:0;transform:translateX(10%)}}@keyframes button-ripple{0%{opacity:.45;transform:translate(-50%,-50%) scale(.1)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}@keyframes filter-card-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes message-enter{0%{opacity:0;transform:translateY(8px) scale(.98)}70%{opacity:1;transform:translateY(0) scale(1.015)}to{opacity:1;transform:translateY(0) scale(1)}}
