@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{
  --navy:#061d3a;
  --navy-2:#0b2e55;
  --ink:#102033;
  --muted:#5d6b7c;
  --line:#dce5ec;
  --paper:#f6f9fb;
  --white:#fff;
  --teal:#2fb4c6;
  --pre:#f2a51f;
  --pre-dark:#b76d06;
  --during:#7057dc;
  --during-dark:#2d3f91;
  --post:#0fa46f;
  --post-dark:#006f5d;
  --accent:var(--teal);
  --accent-dark:#0c7890;
  --radius:22px;
  --shadow:0 24px 65px rgba(6,29,58,.13);
  --shadow-soft:0 12px 35px rgba(6,29,58,.08);
}
.theme-pre{--accent:var(--pre);--accent-dark:var(--pre-dark)}
.theme-during{--accent:var(--during);--accent-dark:var(--during-dark)}
.theme-post{--accent:var(--post);--accent-dark:var(--post-dark)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Outfit',Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1120px,calc(100% - 42px));margin-inline:auto}
.narrow{width:min(820px,calc(100% - 42px))}
.skip-link{position:absolute;left:-999px;top:10px;background:#fff;color:#000;padding:10px 14px;z-index:9999}
.skip-link:focus{left:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(6,29,58,.08);
  transition:background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.site-header.is-scrolled{box-shadow:0 10px 30px rgba(6,29,58,.08)}
.nav-shell{height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;justify-content:flex-start;align-self:center;text-decoration:none;flex:0 0 auto;position:relative;min-height:96px}.brand img{display:block;height:96px;width:auto;max-width:360px;object-fit:contain}.brand .logo-overlay{display:none}
.primary-nav{display:flex;align-items:center;align-self:center;margin-left:auto}
.primary-nav ul{display:flex;align-items:center;gap:5px;list-style:none;margin:0;padding:0;min-height:100px}
.primary-nav li{position:relative}
.primary-nav a{
  display:flex;align-items:center;
  padding:11px 13px;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  color:#13253a;
  border-radius:999px;
}
.primary-nav li.active>a,.primary-nav a:hover{background:color-mix(in srgb,var(--accent),#fff 88%);color:var(--navy)}
.dropdown{
  position:absolute;top:100%;left:0;min-width:250px;
  padding:10px;
  border:1px solid rgba(6,29,58,.08);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow-soft);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.18s ease;
}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{border-radius:10px;padding:10px 12px;font-weight:650}.dropdown a:hover{background:color-mix(in srgb,var(--accent),#fff 88%)}
.nav-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer;align-items:center;justify-content:center;align-self:center;width:46px;height:46px;border-radius:12px}
.nav-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:var(--navy);margin:5px 0;border-radius:2px}
body.header-over-hero .site-header{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;box-shadow:none}
body.header-over-hero .site-header:not(.is-scrolled) .brand .logo-default{display:none}
body.header-over-hero .site-header:not(.is-scrolled) .brand .logo-overlay{display:block}
body.header-over-hero .site-header:not(.is-scrolled) .primary-nav a{color:#fff}
body.header-over-hero .site-header:not(.is-scrolled) .primary-nav li.active>a,
body.header-over-hero .site-header:not(.is-scrolled) .primary-nav a:hover{background:rgba(255,255,255,.14);color:#fff}
body.header-over-hero .site-header:not(.is-scrolled) .dropdown{background:rgba(6,29,58,.92);border-color:rgba(255,255,255,.10)}
body.header-over-hero .site-header:not(.is-scrolled) .dropdown a{color:#fff}
body.header-over-hero .site-header:not(.is-scrolled) .dropdown a:hover{background:rgba(255,255,255,.12)}
body.header-over-hero .site-header:not(.is-scrolled) .nav-toggle span:not(.sr-only){background:#fff}
body.header-over-hero .hero-home .hero-inner{padding-top:156px}
body.header-over-hero .hero-phase .hero-inner{padding-top:148px}
body.header-over-hero .hero-service .hero-inner{padding-top:138px}

.hero{
  position:relative;
  display:grid;align-items:end;
  color:#fff;
  overflow:hidden;
  background:var(--navy);
}
.hero-home{min-height:420px}
.hero-phase{min-height:380px}
.hero-service{min-height:320px}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(3,20,39,.92),rgba(3,20,39,.67) 48%,rgba(3,20,39,.25)),
    linear-gradient(135deg,rgba(47,180,198,.28),transparent 45%),
    var(--hero-image) center/cover no-repeat;
}
.theme-pre .hero-bg{background:linear-gradient(90deg,rgba(3,20,39,.92),rgba(52,32,5,.68) 52%,rgba(242,165,31,.18)),var(--hero-image) center/cover no-repeat}
.theme-during .hero-bg{background:linear-gradient(90deg,rgba(3,20,39,.92),rgba(27,23,75,.70) 52%,rgba(112,87,220,.22)),var(--hero-image) center/cover no-repeat}
.theme-post .hero-bg{background:linear-gradient(90deg,rgba(3,20,39,.92),rgba(5,65,62,.72) 52%,rgba(15,164,111,.22)),var(--hero-image) center/cover no-repeat}
.hero-inner{position:relative;padding:92px 0 72px}
.hero-home .hero-inner{padding:92px 0 72px}
.hero-phase .hero-inner{padding:84px 0 64px}
.hero-service .hero-inner{padding:62px 0 44px}
.hero-service h1{font-size:clamp(32px,4.6vw,52px)}
.hero-service .hero-intro{font-size:clamp(16px,1.6vw,20px);max-width:700px}
.hero-copy{max-width:760px}
.hero-service .hero-copy{max-width:680px}
.eyebrow{
  margin:0 0 12px;
  color:var(--accent);
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hero .eyebrow{color:#74d7e6}
.theme-pre .hero .eyebrow{color:#ffc76a}
.theme-during .hero .eyebrow{color:#b8aaff}
.theme-post .hero .eyebrow{color:#77e7bd}
h1,h2,h3{line-height:1.13;margin:0 0 14px;color:inherit;letter-spacing:-.03em}
h1{font-size:clamp(38px,6vw,64px);max-width:820px}
h2{font-size:clamp(28px,4vw,42px)}
h3{font-size:21px}
.hero-intro{font-size:clamp(18px,2vw,23px);max-width:780px;margin:0;color:rgba(255,255,255,.90)}
.section{padding:82px 0}
.section-soft{background:linear-gradient(180deg,#f7fbfd,#fff)}
.section-head{max-width:760px;margin-bottom:30px}
.section-head.center{text-align:center;margin-inline:auto}
.lead{font-size:21px;line-height:1.55;color:#19314e;margin:0 0 18px;font-weight:680}
.intro-section{padding-top:70px}
.split-intro{display:grid;grid-template-columns:320px 1fr;gap:54px;align-items:center}
.shield-card{
  position:relative;
  min-height:318px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:44px 34px 48px;
}
.shield-art{
  position:absolute;inset:0;margin:auto;
  width:min(310px,100%);height:auto;
  filter:drop-shadow(0 18px 36px rgba(6,29,58,.10));
  z-index:0;
}
.shield-card p{position:relative;z-index:1;font-weight:850;color:var(--navy);margin:0;max-width:188px;line-height:1.28}
.phase-strip{padding-top:40px}
.phase-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.phase-card{
  min-height:315px;position:relative;overflow:hidden;
  border-radius:20px;text-decoration:none;color:#fff;
  padding:26px;display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:var(--shadow-soft);
  transform:translateY(0);transition:.22s ease;
}
.phase-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.phase-card-bg{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.75) 75%),var(--card-image) center/cover no-repeat}
.theme-card-pre .phase-card-bg{background:linear-gradient(180deg,rgba(242,165,31,.15),rgba(183,109,6,.90)),var(--card-image) center/cover no-repeat}
.theme-card-during .phase-card-bg{background:linear-gradient(180deg,rgba(112,87,220,.12),rgba(45,63,145,.90)),var(--card-image) center/cover no-repeat}
.theme-card-post .phase-card-bg{background:linear-gradient(180deg,rgba(15,164,111,.12),rgba(0,111,93,.92)),var(--card-image) center/cover no-repeat}
.phase-card>*:not(.phase-card-bg){position:relative}
.phase-card p{margin:0 0 18px;color:rgba(255,255,255,.90)}
.mini-shield{width:34px;height:39px;object-fit:contain;display:block;margin-bottom:12px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.22))}
.text-link{font-weight:850;color:inherit}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.why-panel{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#2fb4c6,#268eaa);
  color:#fff;border-radius:18px;padding:30px;
  box-shadow:var(--shadow-soft);
}
.why-panel:after{content:"";position:absolute;right:-38px;bottom:-52px;width:160px;height:160px;background:url('../img/shield-white.png') center/contain no-repeat;opacity:.16;pointer-events:none}
.why-panel>*{position:relative;z-index:1}
.why-panel .check-list li{color:#fff}
.why-panel .check-list span{background:rgba(255,255,255,.20);color:#fff}
.image-frame{
  position:relative;border-radius:20px;background:#fff;padding:8px;
  box-shadow:var(--shadow-soft);
}
.image-frame img{border-radius:15px;width:100%;height:100%;object-fit:cover;max-height:440px}
.image-frame.staggered:before{
  content:"";position:absolute;width:190px;height:190px;left:-58px;bottom:-38px;z-index:-1;
  background:linear-gradient(135deg,rgba(47,180,198,.42),rgba(47,180,198,0));
  border-radius:10px;
}
.page-lead-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}
.service-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.choice-card,.service-card,.content-card,.form-card,.contact-card{
  background:#fff;border:1px solid rgba(6,29,58,.10);
  border-radius:18px;padding:26px;text-decoration:none;
  box-shadow:var(--shadow-soft);
}
.choice-card{transition:.2s ease;display:flex;flex-direction:column}
.choice-card:hover,.service-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent),#fff 45%)}
.choice-mark,.service-icon{
  width:38px;height:42px;border-radius:0;
  background:transparent;
  color:var(--accent-dark);
  display:grid;place-items:center;
  font-weight:900;margin-bottom:14px;
}
.choice-mark img,.service-icon img{display:block;width:38px;height:42px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(47,180,198,.16))}
.choice-card p,.service-card p{color:var(--muted);margin:0 0 16px}
.narrative-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.content-card.muted{background:var(--paper)}
.check-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.check-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;color:#314258}
.check-list span{
  width:24px;height:24px;border-radius:50%;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--accent),#fff 80%);
  color:var(--accent-dark);
  font-size:14px;font-weight:900;
}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{display:block;text-decoration:none}
.section-darklist{
  background:linear-gradient(135deg,var(--navy),#092947);
  color:#fff;
}
.theme-pre .section-darklist{background:linear-gradient(135deg,var(--navy),#5c3a08)}
.theme-during .section-darklist{background:linear-gradient(135deg,var(--navy),#27235f)}
.theme-post .section-darklist{background:linear-gradient(135deg,var(--navy),#064f47)}
.section-darklist .eyebrow{color:#74d7e6}
.deliverable-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.deliverable{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;padding:20px;
}
.deliverable h3{font-size:18px}
.deliverable p{margin:0;color:rgba(255,255,255,.80)}
.cta-section{padding:58px 0}
.cta-box{
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:#fff;border-radius:20px;padding:34px 38px;
  box-shadow:var(--shadow-soft);
}
.cta-content,.cta-box .btn{position:relative;z-index:1}
.cta-shield{position:absolute;right:118px;bottom:-62px;width:190px;height:190px;object-fit:contain;opacity:.28;filter:drop-shadow(0 14px 28px rgba(0,0,0,.10))}
.theme-card-general .cta-box{background:linear-gradient(135deg,#e9eef2,#f7fbfd);color:var(--navy)}
.theme-card-general .cta-shield{opacity:.55}
.cta-box p{margin:0;color:inherit;max-width:650px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:12px 18px;border-radius:999px;
  font-weight:850;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;
}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:#0a315b}
.btn-light{background:#fff;color:var(--navy);box-shadow:0 8px 25px rgba(0,0,0,.12)}
.theme-card-general .btn-light{background:var(--navy);color:#fff}
.faq-list{display:grid;gap:12px}
.faq-list details{background:#fff;border:1px solid rgba(6,29,58,.10);border-radius:16px;padding:0 22px;box-shadow:var(--shadow-soft)}
.faq-list summary{cursor:pointer;font-weight:850;padding:20px 0;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list p{margin:0;padding:0 0 20px;color:var(--muted)}
.service-section{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.service-section:not(.has-image){display:block;max-width:900px}
.service-copy p{color:#4a5b6f}
.about-grid{display:grid;grid-template-columns:360px 1fr;gap:44px;align-items:start}
.portrait img{max-height:520px;object-position:top}
.about-kynexis{margin:24px 0 6px}
.about-kynexis img{width:220px;max-width:100%;height:auto;object-fit:contain}
.about-kynexis p{margin:10px 0 0;color:var(--muted);font-size:15px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:start}
.contact-card{margin-top:22px}
.contact-card a{color:var(--accent-dark);font-weight:750}
.contact-form{display:grid;gap:16px;margin-top:22px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:7px;font-weight:780;color:#26384c}
input,textarea{
  width:100%;border:1px solid #ced9e3;border-radius:12px;
  padding:13px 14px;font:inherit;color:var(--ink);background:#fff;
}
textarea{resize:vertical}
input:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--accent),transparent 70%);border-color:var(--accent)}
.privacy-check{display:flex;gap:10px;align-items:flex-start;font-weight:650;color:#526276}
.privacy-check input{width:auto;margin-top:6px}
.hp{position:absolute;left:-9999px}
.form-message{padding:14px 16px;border-radius:12px;font-weight:780}
.form-message.success{background:#e9fbf3;color:#046447}
.form-message.error{background:#fff0ee;color:#a53624}
.site-footer{padding:60px 0 34px;background:#fff}
.footer-shell{
  background:var(--navy);
  color:#fff;border-radius:20px;padding:34px;
  display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:26px;
}
.footer-brand img{height:56px;width:auto;margin-bottom:14px}
.footer-brand p{color:rgba(255,255,255,.72);margin:0 0 14px}
.footer-small{font-size:14px}
.footer-col h3{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#bdeaf0;margin-bottom:14px}
.footer-col a{display:block;color:rgba(255,255,255,.75);text-decoration:none;margin:8px 0;font-size:14px}
.footer-col a:hover{color:#fff}
.footer-bottom{
  grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);
  padding-top:18px;display:flex;justify-content:space-between;
  color:rgba(255,255,255,.60);font-size:13px;
}
@media (max-width: 980px){
  .nav-shell{height:98px}
  .brand{min-height:84px}
  .brand img{height:84px;max-width:310px}
  .primary-nav{display:block;margin-left:0}
  .primary-nav ul{min-height:0}
  .nav-toggle{display:flex}
  .primary-nav{
    position:absolute;left:21px;right:21px;top:96px;
    background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--accent),#fff 94%));
    border:1px solid color-mix(in srgb,var(--accent),#fff 72%);
    border-radius:18px;padding:14px;box-shadow:var(--shadow-soft);
    display:none;
  }
  .primary-nav.open{display:block}
  .primary-nav ul{display:block}
  .primary-nav a{justify-content:space-between;border-radius:13px}
  .primary-nav li.active>a{background:color-mix(in srgb,var(--accent),#fff 82%)}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 8px 16px;background:transparent}
  .split-intro,.why-grid,.page-lead-grid,.narrative-grid,.service-section,.about-grid,.contact-grid{grid-template-columns:1fr}
  .phase-cards,.service-choice-grid,.service-grid{grid-template-columns:1fr}
  .deliverable-list{grid-template-columns:1fr 1fr}
  .footer-shell{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .container,.narrow{width:min(100% - 28px,1120px)}
  .nav-shell{height:88px}
  .primary-nav{top:88px}
  .brand{min-height:72px}
  .brand img{height:72px;max-width:255px}
  .hero-home{min-height:380px}
  .hero-phase{min-height:340px}
  .hero-service{min-height:270px}
  .hero-home .hero-inner{padding:70px 0 48px}
  .hero-phase .hero-inner{padding:66px 0 42px}
  .hero-service .hero-inner{padding:46px 0 34px}
  .section{padding:58px 0}
  .field-row,.deliverable-list,.footer-shell{grid-template-columns:1fr}
  .cta-box{display:block;padding:28px}
  .cta-box .btn{margin-top:22px}
  .footer-bottom{display:block}
  .shield-card{min-height:260px}
  .shield-art{width:min(260px,100%)}
  .shield-card p{max-width:165px;font-size:14px}
  .cta-shield{right:-42px;bottom:-72px;width:170px;height:170px}
}

@media (max-width: 900px){
  .nav-shell{height:94px}
  .brand{min-height:78px}
  .brand img{height:78px;max-width:290px}
}
@media (max-width: 640px){
  .nav-shell{height:88px}
  .brand{min-height:72px}
  .brand img{height:72px;max-width:255px}
  .about-kynexis img{width:190px}
}

@media (max-width: 980px){
  body.header-over-hero .site-header:not(.is-scrolled) .primary-nav{background:linear-gradient(180deg,rgba(6,29,58,.96),rgba(6,29,58,.90));border-color:rgba(255,255,255,.12)}
  body.header-over-hero .site-header:not(.is-scrolled) .primary-nav a{color:#fff}
  body.header-over-hero .site-header:not(.is-scrolled) .dropdown a{color:rgba(255,255,255,.84)}
}
@media (max-width: 640px){
  body.header-over-hero .hero-home .hero-inner{padding-top:130px}
  body.header-over-hero .hero-phase .hero-inner{padding-top:124px}
  body.header-over-hero .hero-service .hero-inner{padding-top:114px}
}

.choice-card h3{margin-top:0}
.choice-card .choice-mark{margin-bottom:16px}
