body{margin:0;font-family: 'Source Sans 3', 'Segoe UI', Helvetica, Arial, sans-serif;color:#1B2430;background:#FFFFFF;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.6}
a{color:#1D63C4;text-decoration:none}a:hover{color:#0F2A47}
h1,h2,h3,h4,p{margin:0}
ul{margin:0;padding:0;list-style:none}
input,select,textarea,button{font:inherit}
.nav-link:hover{color:#0F2A47 !important}
.btn-primary:hover{background:#1D63C4 !important}
.btn-light:hover{background:#E4ECF8 !important}
.btn-outline:hover{background:#F4F6F9 !important}
.btn-outline-w:hover{background:rgba(255,255,255,0.12) !important}
.card:hover{border-color:#1D63C4 !important;box-shadow:0 6px 20px rgba(15,42,71,0.08)}
.card:hover .card-title{color:#1D63C4 !important}
.card:hover .card-img{transform:scale(1.02)}
.card-img{transition:transform .35s ease}
.link-arrow:hover{text-decoration:underline}
.tile:hover{border-color:#1D63C4 !important;background:#FFFFFF !important}
.flink:hover{color:#FFFFFF !important}
input:focus,select:focus,textarea:focus{outline:2px solid #1D63C4;outline-offset:1px}
a:focus-visible,button:focus-visible{outline:2px solid #1D63C4;outline-offset:2px}
.tab-btn:hover{border-color:#0F2A47 !important}
html{scroll-behavior:smooth}

/* ---- responsive layout (the inline styles carry the desktop design) ---- */
img{max-width:100%}
.g-2col>*,.g-2col-inner>*,.cards-2>*,.cards-3>*,.cards-4>*,.hero-grid>*,.footer-grid>*{min-width:0}
input,select,textarea{max-width:100%;box-sizing:border-box}
select{width:100%}
.nav-toggle{align-items:center;gap:8px;height:44px;padding:0 12px;border:1px solid #D9E0E7;border-radius:6px;background:#FFFFFF;color:#0F2A47;font-weight:600;font-size:15px;cursor:pointer}
.nav-toggle .ico-close{display:none}
.site-header.nav-open .nav-toggle .ico-open{display:none}
.site-header.nav-open .nav-toggle .ico-close{display:block}
@media (max-width: 1279px){
  .wrap{width:auto !important;max-width:1200px;padding-left:32px !important;padding-right:32px !important}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) !important;gap:32px !important}
  .hero-visual{width:100% !important;height:auto !important}
  .hero-visual svg{width:100% !important;height:auto !important;display:block}
  .hero-title{font-size:42px !important}
  .topbar-tag{display:none}
  .topbar-row{justify-content:flex-end !important}
  .main-nav{gap:24px !important}
  .ind-net{width:100% !important}
  .ind-net svg{width:100% !important;height:100% !important}
  .ind-overlay{background:linear-gradient(90deg,#0A1E36 0%,#0A1E36 34%,rgba(10,30,54,0.7) 52%,rgba(10,30,54,0.15) 72%) !important}
}
@media (max-width: 1024px){
  .nav-toggle{display:inline-flex !important}
  .header-cta{height:42px !important;padding:0 16px !important;font-size:15px !important}
  .main-nav{display:none !important;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch !important;gap:0 !important;padding:8px 32px 20px;background:#FFFFFF;border-bottom:1px solid #D9E0E7;box-shadow:0 14px 30px rgba(15,42,71,0.10)}
  .site-header.nav-open .main-nav{display:flex !important}
  .main-nav .nav-link{height:auto !important;padding:14px 0 !important;font-size:17px !important;border-top:0 !important;border-bottom:1px solid #D9E0E7 !important;color:#1B2430 !important}
  .main-nav .nav-link[aria-current="page"]{color:#1D63C4 !important}
  .main-nav .nav-cta-mobile{display:inline-flex !important;align-items:center;justify-content:center;height:50px;margin-top:16px;padding:0 22px;background:#0F2A47;color:#FFFFFF;border-radius:6px;font-weight:600;font-size:16px}
  .hero-grid{grid-template-columns:1fr !important;gap:40px !important;padding-top:48px !important;padding-bottom:44px !important}
  .hero-visual{max-width:680px;margin:0 auto}
  .vis-note{position:static !important;padding:0 32px 14px;text-align:right}
  .cards-3,.cards-4{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .g-2col{grid-template-columns:1fr !important;gap:40px !important}
  .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr)) !important;row-gap:28px}
  .footer-grid{grid-template-columns:1fr 1fr !important;gap:40px !important}
  .cta-band,.sec-head,.detail-foot{flex-direction:column !important;align-items:flex-start !important;gap:24px !important}
  .ind-head{height:auto !important;display:flex;flex-direction:column}
  .ind-head .vis-note{order:3}
  .ind-net{position:static !important;height:auto !important;order:2}
  .ind-net svg{height:auto !important}
  .ind-overlay{display:none}
  .ind-text{height:auto !important;padding-top:56px;padding-bottom:48px;order:1}
  .ind-text > div{max-width:760px !important}
  .stage-row{grid-template-columns:48px 1fr !important;gap:6px 16px !important}
  .stage-row > p{grid-column:2}
  .shots{flex-wrap:wrap}
  .phone-mock{margin:0 auto}
  .diagram-panel{padding:20px !important}
  .diagram-panel svg,.mig-box svg{width:100% !important;height:auto !important;display:block}
  .mig-box{height:auto !important}
  .why-shot{height:auto !important}
}
@media (max-width: 640px){
  body{font-size:16px}
  .wrap{padding-left:20px !important;padding-right:20px !important}
  .main-nav{padding-left:20px;padding-right:20px}
  .header-row{height:68px !important}
  .header-cta{display:none !important}
  .topbar-area{display:none !important}
  .cards-2,.cards-3,.cards-4,.g-2col-inner,.footer-grid{grid-template-columns:1fr !important}
  .stat-grid,.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important}
  .stats-strip > div{padding:0 0 0 16px !important}
  .stat-grid.cards-2{grid-template-columns:1fr !important}
  .stat-grid span[style*="font-size: 34px"]{font-size:30px !important}
  .stat-grid>div{overflow-wrap:anywhere}
  .stat-num{font-size:32px !important}
  .hero-title{font-size:34px !important}
  .page-title{font-size:32px !important}
  h2{font-size:27px !important}
  h2[style*="font-size: 30px"]{font-size:23px !important}
  .vis-note{padding:0 20px 14px;text-align:left}
  .btn-row{flex-wrap:wrap}
  .btn-row a{width:100%;justify-content:center;white-space:normal !important;height:auto !important;min-height:52px;padding:12px 20px !important;box-sizing:border-box}
  .cp-row{grid-template-columns:34px 1fr 78px !important;gap:8px !important}
  .qa-row{grid-template-columns:84px 1fr 84px !important;padding:10px 12px !important;font-size:14px !important}
  .verdict-row{grid-template-columns:22px 1fr !important;gap:6px 12px !important}
  .verdict-row > :last-child{grid-column:2}
  .stage-row{grid-template-columns:40px 1fr !important}
  .shots{gap:12px !important}
  .shots img{width:calc(50% - 6px) !important;height:auto !important;border-radius:18px !important;box-sizing:border-box}
  .phone-mock{max-width:100%}
  figure img{height:auto !important}
  .form-foot{flex-direction:column !important;align-items:flex-start !important;gap:12px !important}
  .footer-bottom{flex-direction:column !important;align-items:flex-start !important;gap:8px !important}
  .footer-grid{padding-top:44px !important;padding-bottom:36px !important}
  a[href^="mailto:"]{word-break:break-all}
  [style*="padding: 96px 0"],[style*="padding: 88px 0"],[style*="padding: 80px 0"],[style*="padding: 72px 0"],[style*="padding: 64px 0"]{padding-top:44px !important;padding-bottom:48px !important}
  [style*="padding: 56px 0"]{padding-top:36px !important;padding-bottom:40px !important}
  [style*="padding: 48px 0"]{padding-top:32px !important;padding-bottom:32px !important}
  [style*="margin-bottom: 44px"]{margin-bottom:28px !important}
  [style*="gap: 72px"],[style*="gap: 64px"],[style*="gap: 56px"]{gap:32px !important}
  form[style]{padding:22px 18px !important}
  .card > div[style*="padding: 24px 26px"]{padding:20px 18px 22px !important}
}
