/* Codex Operation — shared site shell
   Single source of truth for header, mobile navigation and footer. */
:root{
  --co-shell-header-h:92px;
  --co-shell-cyan:#00abc4;
  --co-shell-cyan-2:#008fa7;
  --co-shell-cyan-soft:#dff5f8;
  --co-shell-ink:#334155;
  --co-shell-ink-2:#243244;
  --co-shell-muted:#667589;
  --co-shell-line:#d2dde3;
  --co-shell-footer:#46566e;
  --co-shell-footer-deep:#314056;
}

body.co-shell-page{overflow-x:hidden}
body.co-shell-page.menu-open{overflow:hidden}
body.co-shell-offset{padding-top:var(--co-shell-header-h)!important}
.site-header *, .mobile-menu *, .co-site-footer *{box-sizing:border-box}
.site-header a,.mobile-menu a,.co-site-footer a{text-decoration:none}

/* Header — identical across all pages */
.site-header{
  height:var(--co-shell-header-h)!important;
  position:fixed!important;
  inset:0 0 auto!important;
  z-index:1000!important;
  background:rgba(248,250,251,.985)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border:0!important;
  border-bottom:1px solid rgba(191,205,213,.85)!important;
  box-shadow:none!important;
  transition:box-shadow .3s ease,background-color .3s ease!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.site-header.scrolled{box-shadow:0 14px 34px rgba(31,50,67,.08)!important;background:rgba(248,250,251,.995)!important}
.site-header .container{
  width:min(1180px,calc(100% - 40px))!important;
  height:100%!important;
  margin-inline:auto!important;
  padding:0!important;
  max-width:none!important;
}
.site-header .header-inner{
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:36px!important;
}
.site-header .brand{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  min-width:max-content!important;
  color:var(--co-shell-ink-2)!important;
  transition:transform .26s cubic-bezier(.22,.8,.22,1),filter .26s ease!important;
  transform-origin:left center!important;
}
.site-header .brand-logo{
  display:block!important;
  width:5.05rem!important;
  height:3.5rem!important;
  max-width:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 6px 16px rgba(18,33,49,.14))!important;
  transition:transform .30s cubic-bezier(.22,.8,.22,1),filter .30s ease!important;
}
.site-header .brand-name{
  display:block!important;
  color:var(--co-shell-ink-2)!important;
  font-size:1.08rem!important;
  line-height:1.15!important;
  font-weight:880!important;
  letter-spacing:-.04em!important;
  white-space:nowrap!important;
  transition:transform .26s cubic-bezier(.22,.8,.22,1),color .26s ease!important;
}
.site-header .brand-name span{color:var(--co-shell-cyan)!important}
.site-header .brand:hover,.site-header .brand:focus-visible{transform:translateY(-1px)!important;filter:drop-shadow(0 5px 10px rgba(20,42,61,.05))!important;outline:none!important}
.site-header .brand:hover .brand-logo,.site-header .brand:focus-visible .brand-logo{transform:scale(1.035) rotate(-.35deg)!important;filter:drop-shadow(0 7px 13px rgba(0,171,196,.16))!important}
.site-header .brand:hover .brand-name,.site-header .brand:focus-visible .brand-name{transform:translateX(1px)!important}
.site-header .brand:active{transform:translateY(0) scale(.995)!important}

.site-header .desktop-nav{
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
  margin-left:auto!important;
}
.site-header .desktop-nav a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:4px 0!important;
  color:#445267!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-size:.98rem!important;
  line-height:1!important;
  font-weight:780!important;
  white-space:nowrap!important;
  transition:color .24s ease,transform .24s cubic-bezier(.2,.8,.2,1)!important;
}
.site-header .desktop-nav a::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:-10px!important;
  width:100%!important;
  height:2px!important;
  border-radius:999px!important;
  background:var(--co-shell-cyan)!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1)!important;
}
.site-header .desktop-nav a:hover,.site-header .desktop-nav a:focus-visible,.site-header .desktop-nav a.active{color:var(--co-shell-cyan-2)!important;transform:translateY(-1px)!important;outline:none!important}
.site-header .desktop-nav a:hover::after,.site-header .desktop-nav a:focus-visible::after,.site-header .desktop-nav a.active::after{transform:scaleX(1)!important}

.site-header .header-actions{display:flex!important;align-items:center!important;gap:16px!important;margin-left:0!important}
.site-header .lang,.mobile-menu .lang{display:flex!important;align-items:center!important;gap:7px!important;color:var(--co-shell-muted)!important;font-size:.78rem!important;line-height:1!important}
.site-header .lang a,.mobile-menu .lang a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:30px!important;min-height:32px!important;padding:5px!important;border:0!important;background:transparent!important;
  color:inherit!important;font-weight:800!important;border-radius:8px!important;transition:color .22s ease,background-color .22s ease!important
}
.site-header .lang a.active,.mobile-menu .lang a.active{color:var(--co-shell-cyan-2)!important}
.site-header .lang a:hover,.site-header .lang a:focus-visible,.mobile-menu .lang a:hover,.mobile-menu .lang a:focus-visible{color:var(--co-shell-cyan-2)!important;background:rgba(0,171,196,.07)!important;outline:none!important}
.site-header .menu-btn{
  display:none!important;width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:14px!important;
  background:transparent!important;color:var(--co-shell-ink)!important;align-items:center!important;justify-content:center!important;box-shadow:none!important
}
.site-header .menu-btn svg{display:block!important;width:25px!important;height:25px!important;max-width:none!important}
.site-header .menu-btn:hover,.site-header .menu-btn:focus-visible{background:rgba(0,171,196,.07)!important;color:var(--co-shell-cyan-2)!important;outline:3px solid rgba(0,171,196,.18)!important;outline-offset:2px!important}

/* Mobile navigation */
.mobile-menu{
  position:fixed!important;z-index:990!important;left:0!important;right:0!important;top:var(--co-shell-header-h)!important;
  display:block!important;padding:18px 20px 24px!important;background:rgba(248,250,251,.995)!important;
  border:0!important;border-bottom:1px solid var(--co-shell-line)!important;border-bottom-left-radius:20px!important;border-bottom-right-radius:20px!important;
  box-shadow:0 22px 48px rgba(31,50,67,.11)!important;
  transform:translateY(-115%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:transform .36s cubic-bezier(.2,.8,.2,1),opacity .28s ease,visibility .28s!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important
}
.mobile-menu.open{transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.mobile-menu nav{display:grid!important;gap:4px!important;width:min(100%,720px)!important;margin-inline:auto!important}
.mobile-menu nav a{display:flex!important;align-items:center!important;min-height:48px!important;padding:12px 14px!important;border-radius:12px!important;color:#445267!important;font-weight:760!important;transition:background-color .22s ease,color .22s ease,transform .22s ease!important}
.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible,.mobile-menu nav a.active{background:var(--co-shell-cyan-soft)!important;color:var(--co-shell-cyan-2)!important;transform:translateX(2px)!important;outline:none!important}
.mobile-menu .mobile-lang{width:min(100%,720px)!important;margin:10px auto 0!important;padding:14px 10px 0!important;border-top:1px solid var(--co-shell-line)!important}

/* Footer — identical across all pages */
.co-site-footer{
  display:block!important;
  margin:0!important;
  padding:72px 0 30px!important;
  border:0!important;
  background:var(--co-shell-footer)!important;
  color:#fff!important;
  text-align:left!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.co-site-footer .container{width:min(1380px,calc(100% - 64px))!important;margin-inline:auto!important;padding:0!important;max-width:none!important}
.co-site-footer .footer-grid{display:grid!important;grid-template-columns:1.2fr .78fr .78fr!important;gap:82px!important;align-items:start!important}
.co-site-footer .footer-about,.co-site-footer .footer-list{min-width:0!important}
.co-site-footer .footer-brand{display:flex!important;align-items:center!important;gap:16px!important;color:#fff!important}
.co-site-footer .footer-brand .brand-logo{display:block!important;width:76px!important;height:54px!important;max-width:none!important;object-fit:contain!important;flex:0 0 76px!important;filter:drop-shadow(0 6px 14px rgba(12,28,44,.18))!important}
.co-site-footer .footer-brand strong{display:block!important;margin:0!important;color:#fff!important;font-size:1.06rem!important;line-height:1.15!important;font-weight:850!important;letter-spacing:-.01em!important}
.co-site-footer .footer-brand strong span{color:#00b6cf!important}
.co-site-footer .footer-tag{margin-top:5px!important;color:#d0d9e5!important;font-size:.9rem!important;line-height:1.25!important;font-weight:750!important}
.co-site-footer .footer-lead{margin:26px 0 0!important;max-width:430px!important;color:#fff!important;font-size:.96rem!important;line-height:1.6!important}
.co-site-footer .footer-services{display:grid!important;gap:4px!important;list-style:none!important;margin:20px 0 0!important;padding:0!important}
.co-site-footer .footer-services li{display:block!important;margin:0!important;padding:0!important;color:#fff!important;font-size:.92rem!important;line-height:1.35!important;font-weight:730!important}
.co-site-footer .footer-services li::before{content:"* "!important;color:#fff!important}
.co-site-footer .footer-services a{color:#fff!important;text-decoration:none!important}
.co-site-footer .footer-services a:hover,.co-site-footer .footer-services a:focus-visible{color:#7fe6ef!important;outline:none!important}
.co-site-footer .footer-promise{margin:24px 0 0!important;color:#fff!important;font-size:.92rem!important;line-height:1.45!important;font-weight:740!important}
.co-site-footer .footer-contact-link{display:inline-flex!important;margin-top:26px!important;color:#fff!important;font-size:.92rem!important;line-height:1.4!important;font-weight:760!important;text-decoration:none!important;transition:color .22s ease,transform .22s ease!important}
.co-site-footer .footer-contact-link:hover,.co-site-footer .footer-contact-link:focus-visible{color:#7fe6ef!important;transform:translateX(3px)!important;outline:none!important}
.co-site-footer .footer-list h3{margin:0 0 21px!important;color:#fff!important;font-size:1rem!important;line-height:1.2!important;font-weight:850!important}
.co-site-footer .footer-list ul{display:grid!important;gap:14px!important;list-style:none!important;margin:0!important;padding:0!important}
.co-site-footer .footer-list li{display:block!important;margin:0!important;padding:0!important}
.co-site-footer .footer-list ul a{position:relative!important;display:inline-flex!important;align-items:center!important;color:#e8eef4!important;font-size:.94rem!important;line-height:1.35!important;font-weight:570!important;text-decoration:none!important;transition:color .22s ease,transform .22s ease!important}
.co-site-footer .footer-list ul a:hover,.co-site-footer .footer-list ul a:focus-visible{color:#8ae1ee!important;transform:translateX(3px)!important;outline:none!important}
.co-site-footer .socials{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:14px!important;margin-top:26px!important}
.co-site-footer .footer-list .socials a{width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;flex:0 0 44px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:12px!important;background:var(--co-shell-footer-deep)!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important;transform:none!important;box-shadow:none!important;line-height:1!important;transition:transform .24s cubic-bezier(.2,.8,.2,1),background-color .22s ease,border-color .22s ease,box-shadow .22s ease!important}
.co-site-footer .footer-list .socials a:hover,.co-site-footer .footer-list .socials a:focus-visible{transform:translateY(-4px) scale(1.04)!important;background:#35475f!important;border-color:rgba(94,219,232,.28)!important;box-shadow:0 12px 24px rgba(20,35,52,.20),0 0 0 3px rgba(0,171,196,.07)!important;color:#fff!important;outline:none!important}
.co-site-footer .socials svg{display:block!important;width:20px!important;height:20px!important;max-width:none!important;flex:0 0 20px!important;fill:currentColor!important;stroke:none!important}
.co-site-footer .socials svg.stroke{fill:none!important;stroke:currentColor!important;stroke-width:1.9!important}
.co-site-footer .footer-bottom{margin-top:50px!important;padding-top:28px!important;border-top:1px solid rgba(255,255,255,.10)!important;color:#d6dfe8!important;font-size:.92rem!important;line-height:1.5!important;text-align:center!important}

@media(max-width:1050px){
  .site-header .desktop-nav{display:none!important}
  .site-header .menu-btn{display:flex!important}
  .site-header .desktop-lang{display:none!important}
}
@media(max-width:980px){
  .co-site-footer .footer-grid{grid-template-columns:1fr 1fr!important;gap:46px!important}
  .co-site-footer .footer-grid>:first-child{grid-column:1/-1!important}
}
@media(max-width:780px){
  :root{--co-shell-header-h:74px}
  .site-header .container{width:min(100%,calc(100% - 28px))!important}
  .site-header .header-inner{gap:14px!important}
  .site-header .brand{gap:10px!important}
  .site-header .brand-logo{width:4rem!important;height:2.95rem!important}
  .site-header .brand-name{font-size:.96rem!important}
}
@media(max-width:760px){
  .co-site-footer{padding:56px 0 26px!important}
  .co-site-footer .container{width:calc(100% - 32px)!important}
  .co-site-footer .footer-grid{grid-template-columns:1fr!important;gap:38px!important;text-align:center!important}
  .co-site-footer .footer-grid>:first-child{grid-column:auto!important}
  .co-site-footer .footer-brand{justify-content:center!important}
  .co-site-footer .footer-list ul{justify-items:center!important}
  .co-site-footer .footer-lead,.co-site-footer .footer-promise{max-width:430px!important;margin-left:auto!important;margin-right:auto!important}
  .co-site-footer .footer-services{justify-items:center!important}
  .co-site-footer .socials{justify-content:center!important}
  .co-site-footer .footer-contact-link{justify-content:center!important}
  .co-site-footer .footer-list ul a:hover,.co-site-footer .footer-list ul a:focus-visible{transform:none!important}
}
@media(max-width:480px){
  .site-header .brand-logo{width:3.55rem!important;height:2.65rem!important}
  .site-header .brand-name{font-size:.9rem!important}
  .site-header .menu-btn{width:42px!important;height:42px!important}
}
@media(hover:none),(pointer:coarse){
  .site-header .brand:hover,.site-header .brand:hover .brand-logo,.site-header .brand:hover .brand-name{transform:none!important;filter:none!important}
}
@media(prefers-reduced-motion:reduce){
  .site-header,.site-header .brand,.site-header .brand-logo,.site-header .brand-name,.site-header .desktop-nav a,.site-header .desktop-nav a::after,.mobile-menu,.mobile-menu a,.co-site-footer a{transition:none!important}
}

/* Shared FAQ motion — slow, calm open/close on every FAQ across the site */
.faq details,
.home-faq-list details{
  overflow:hidden!important;
  transition:border-color .34s ease,box-shadow .34s ease,transform .34s ease!important;
}
.faq details[open],
.home-faq-list details[open]{
  border-color:rgba(0,171,196,.30)!important;
  box-shadow:0 14px 34px rgba(31,50,67,.07)!important;
}
.faq summary,
.home-faq-list summary{
  -webkit-tap-highlight-color:transparent;
}
.faq summary:focus-visible,
.home-faq-list summary:focus-visible{
  outline:3px solid rgba(0,171,196,.18)!important;
  outline-offset:-3px!important;
  border-radius:12px!important;
}
.co-faq-panel,
.home-faq-list .faq-copy.co-faq-panel{
  display:block!important;
  grid-template-rows:none!important;
  height:0;
  overflow:hidden!important;
  opacity:.2;
  transform:translateY(-6px);
  transition:height .56s cubic-bezier(.22,.72,.22,1),opacity .38s ease,transform .48s cubic-bezier(.22,.72,.22,1)!important;
  will-change:height,opacity,transform;
}
.faq details[open]>.co-faq-panel,
.home-faq-list details[open]>.co-faq-panel{
  opacity:1;
  transform:translateY(0);
}
.faq summary::after,
.home-faq-list summary span{
  transition:transform .46s cubic-bezier(.22,.72,.22,1),background-color .3s ease!important;
}
@media(prefers-reduced-motion:reduce){
  .faq details,.home-faq-list details,.co-faq-panel,.home-faq-list .faq-copy.co-faq-panel,.faq summary::after,.home-faq-list summary span{transition:none!important}
}

/* Strict-CSP replacements for former inline style attributes. */
.co-style-cols-3{--cols:3}
.co-style-cols-4{--cols:4}
.co-style-danger-soft{color:#ffadb4!important}
.co-style-mt-18{margin-top:18px!important}
.co-style-cyan-2{color:var(--co-cyan-2)!important}
.co-style-mt-14{margin-top:14px!important}


/* Shared FAQ icon refresh for home + standard FAQ blocks */
.faq summary,
.home-faq-list summary{position:relative}
.faq summary{padding-right:52px!important}
.faq summary::after{
  content:"";
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:10px;
  background:#e7f8fa center/11px 11px no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4.25 6 8l4-3.75' stroke='%23008fa7' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  box-shadow:inset 0 0 0 1px rgba(0,171,196,.08);
}
.faq details[open] summary::after{transform:translateY(-50%) rotate(180deg)}
.home-faq-list summary span{
  position:relative;
  flex:0 0 30px;
  width:30px;
  height:30px;
  font-size:0!important;
  color:transparent!important;
  background:#e7f8fa!important;
  box-shadow:inset 0 0 0 1px rgba(0,171,196,.08);
}
.home-faq-list summary span::before{
  content:"";
  position:absolute;
  inset:0;
  background:center/11px 11px no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4.25 6 8l4-3.75' stroke='%23008fa7' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.home-faq-list details[open] summary span{transform:rotate(180deg)!important}
