/* Shared improvements for ordinary static hosting. Design base originates from Claude export. */
html{scroll-behavior:smooth}
*,*::before,*::after{box-sizing:border-box}
body{max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto}
.nav{gap:16px}
.nav a[aria-current="page"]{font-weight:800}
:focus-visible{outline:3px solid #263BD5;outline-offset:3px}
#home-hero{transition:background .35s ease}
.flip.flipped .inner{transform:rotateY(180deg)}
.flip:focus:not(:hover):not(.flipped) .inner{transform:none}
/* Hover unavailable on touchscreens: taps toggle a card persistently. */
@media (hover:none){.flip:hover:not(.flipped) .inner{transform:none}}
@media (max-width:760px){
  #home-hero-content{padding:85px 66px 112px !important;min-height:260px !important}
  #home-hero-content h1{font-size:clamp(28px,7vw,43px) !important}
  #home-hero-content p{font-size:16px !important}
  .hbtn{width:37px;height:37px;margin-top:-18px}
  .hbtn[style*="left"]{left:12px !important}
  .hbtn[style*="right"]{right:12px !important}
  .track>div{flex-basis:min(85vw,360px)}
  .svc-grid .flip{min-width:0}
}
@media (max-width:420px){
  #home-hero-content{padding:70px 50px 115px !important}
  .nav img{height:48px !important}
  .nav{justify-content:center !important;text-align:center}
  .nav > div{justify-content:center !important;gap:12px 16px !important}
  .nav a{font-size:12px}
  .svc-grid .flip .face{padding:18px}
  .svc-grid .flip .front{min-height:300px}
}

/* ===== PTSC-style header: white + blue ===== */
:root{--navy:#0F1B66;--bar:#1B2A7A;--blue:#1B2CA8;--accent:#263BD5;--sky:#5BC8F5;--line:#DCE4F5;--soft:#F2F6FF}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.hdr{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 var(--line);transition:box-shadow .25s}
.hdr.scrolled{box-shadow:0 6px 22px rgba(15,27,102,.14)}
.hdr-grid{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:36px;align-items:end;padding-top:10px}
.logo{grid-row:1/3;grid-column:1;align-self:center;padding-bottom:10px}
.logo img{height:68px;width:auto;display:block}
.hdr-top{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:0 0 8px}
.srch{width:32px;height:32px;border-radius:3px;border:0;background:#EEF1F6;color:#6B7490;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.srch:hover,.srch[aria-expanded="true"]{background:var(--accent);color:#fff}
.burger{display:none}
.menu{grid-column:2;grid-row:2;display:flex;align-items:stretch;height:44px}
.home-tab{flex:none;width:84px;display:flex;align-items:center;justify-content:center;background:var(--sky);color:#fff;clip-path:polygon(26px 0,100% 0,calc(100% - 26px) 100%,0 100%);transition:background .2s}
.home-tab:hover,.home-tab[aria-current="page"]{background:#3DB6EA}
.home-tab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.menu ul{list-style:none;margin:0 0 0 -20px;padding:0 6px 0 0;flex:1;display:flex;align-items:stretch;justify-content:space-between;background:var(--bar);clip-path:polygon(26px 0,100% 0,100% 100%,0 100%)}
.menu li{display:flex;flex:1 1 auto}
.menu li:first-child{padding-left:26px}
.menu .mi{flex:1;display:flex;align-items:center;justify-content:center;padding:0 14px;font:600 14px/1 'Montserrat',sans-serif;letter-spacing:.03em;text-transform:uppercase;color:#fff;white-space:nowrap;position:relative;transition:background .2s}
.menu .mi::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:3px;background:var(--sky);transform:scaleX(0);transition:transform .25s}
.menu ul{position:relative}
.menu .hl{position:absolute;top:0;bottom:0;left:0;width:0;background:#3B82E8;opacity:0;pointer-events:none;z-index:0;transition:left .28s cubic-bezier(.3,.8,.3,1),width .28s cubic-bezier(.3,.8,.3,1),opacity .2s}
.menu .hl.on{opacity:1}
.menu li{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.menu .hl{transition:opacity .01s}}
.menu .mi:hover::after,.menu .mi.active::after,.menu .mi[aria-current="page"]::after{transform:scaleX(1)}
.searchpanel{background:var(--soft);border-top:1px solid var(--line);padding:22px 0;animation:sd .2s}
.searchpanel[hidden]{display:none}
@keyframes sd{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
#searchForm{display:flex;gap:10px}
#searchInput{flex:1;min-width:0;height:46px;padding:0 16px;border:1px solid #B8C5E6;border-radius:6px;font:16px 'Open Sans',sans-serif;color:#1A2340;background:#fff}
#searchForm button{height:46px;padding:0 24px;border:0;border-radius:6px;background:var(--bar);color:#fff;font:700 13px 'Montserrat',sans-serif;letter-spacing:.06em;cursor:pointer}
#searchForm button:hover{background:var(--accent)}
#searchResults a{display:block;margin-top:10px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--sky);border-radius:4px;font:600 14px 'Montserrat',sans-serif;color:var(--bar)}
#searchResults a small{display:block;margin-top:3px;font:400 13px 'Open Sans',sans-serif;color:#4A5675}
#searchResults a:hover{box-shadow:0 4px 14px rgba(15,27,102,.12)}
#searchResults p{margin:12px 0 0;color:#4A5675;font-size:14px}
[id]{scroll-margin-top:110px}
@media (max-width:980px){
  .hdr-grid{grid-template-columns:1fr auto;column-gap:12px;align-items:center;padding-top:8px;padding-bottom:8px}
  .logo{grid-row:1;padding:0}.logo img{height:50px}
  .hdr-top{grid-column:2;padding:0}
  .burger{display:flex;width:36px;height:32px;border:0;border-radius:3px;background:var(--bar);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0}
  .burger i{display:block;width:18px;height:2px;background:#fff;transition:.25s}
  .burger[aria-expanded="true"] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .burger[aria-expanded="true"] i:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .menu{position:absolute;left:0;right:0;top:100%;height:auto;flex-direction:column;background:var(--bar);max-height:0;overflow:hidden;transition:max-height .3s}
  .menu.open{max-height:80vh;overflow:auto}
  .home-tab{width:auto;height:48px;justify-content:flex-start;padding:0 24px;gap:10px;background:var(--sky);clip-path:none}
  .home-tab span{position:static;width:auto;height:auto;clip:auto;font:600 14px 'Montserrat',sans-serif;text-transform:uppercase}
  .menu ul{margin:0;padding:0;flex-direction:column;clip-path:none}
  .menu li:first-child{padding-left:0}
  .menu .mi{height:48px;justify-content:flex-start;padding:0 24px;border-top:1px solid rgba(255,255,255,.12)}
  .menu .mi::after{display:none}
  .menu .mi[aria-current="page"]{background:#2F6FD6}
  .menu .mi:hover{background:#3B82E8}
  .menu .hl{display:none}
}

/* ===== Contact form ===== */
.cf{background:#fff;padding:56px 0 80px}
.cf-title{margin:0 0 28px;font:800 34px/1.2 'Montserrat',sans-serif;color:#1B2CA8}
.cf-form{max-width:720px;display:flex;flex-direction:column;gap:20px}
.cf-field label{display:block;margin:0 0 8px;font:700 15px/1.3 'Open Sans',sans-serif;color:#2A3350}
.cf-field .req{color:#D92D4B}
.cf-field input[type=text],.cf-field input[type=email],.cf-field input[type=tel],.cf-field textarea{width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:3px;background:#EEF2F9;padding:0 16px;height:54px;font:17px 'Open Sans',sans-serif;color:#1A2340}
.cf-field textarea{height:auto;min-height:180px;padding:14px 16px;resize:vertical;line-height:1.5}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:#8591AD}
.cf-field input:focus,.cf-field textarea:focus{outline:none;border-color:#3B82E8;background:#fff;box-shadow:0 0 0 3px rgba(59,130,232,.2)}
.cf-field.bad input,.cf-field.bad textarea{border-color:#D92D4B;background:#FFF5F6}
.cf-count{margin-top:6px;text-align:right;font:14px 'Open Sans',sans-serif;color:#6B7490;font-variant-numeric:tabular-nums}
.cf-file{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.cf-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.cf-file .cf-file-btn{display:inline-block;margin:0;padding:14px 26px;background:#3B82E8;color:#fff;border-radius:3px;font:700 15px 'Open Sans',sans-serif;cursor:pointer;transition:background .2s}
.cf-file .cf-file-btn:hover{background:#2F6FD6}
.cf-file-input:focus-visible+.cf-file-btn{outline:3px solid #1B2A7A;outline-offset:2px}
.cf-file-name{min-width:0;overflow-wrap:anywhere;font:15px 'Open Sans',sans-serif;color:#4A5675}
.cf-file-clear{border:0;background:none;color:#1B2CA8;font:700 14px 'Open Sans',sans-serif;text-decoration:underline;cursor:pointer;padding:4px}
.cf-hint{margin:8px 0 0;font:13px 'Open Sans',sans-serif;color:#6B7490}
.cf-err{margin:8px 0 0;font:600 14px 'Open Sans',sans-serif;color:#C42544}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#recaptcha-box{min-height:78px}
.cf-placeholder{display:flex;align-items:center;gap:14px;width:304px;max-width:100%;box-sizing:border-box;min-height:78px;padding:0 16px;border:1px dashed #8DA3D8;border-radius:3px;background:#F2F6FF;font:13px/1.4 'Open Sans',sans-serif;color:#4A5675}
.cf-placeholder b{display:block;color:#1B2A7A;font-family:'Montserrat',sans-serif}
.cf-submit{align-self:flex-start;border:0;border-radius:3px;background:#1B2A7A;color:#fff;padding:16px 44px;font:700 15px 'Montserrat',sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s}
.cf-submit:hover{background:#3B82E8}
.cf-submit[disabled]{opacity:.6;cursor:wait}
.cf-status{margin:0;padding:14px 16px;border-radius:3px;font:600 15px/1.5 'Open Sans',sans-serif}
.cf-status.ok{background:#E8F5EC;color:#1C6B3A}
.cf-status.fail{background:#FFF0F2;color:#B21E3A}
.cf-status.info{background:#EAF1FF;color:#1B2A7A}
@media (max-width:640px){.cf{padding:36px 0 56px}.cf-title{font-size:28px}.cf-submit{align-self:stretch}}
