body{margin:0;background:#fff;font-family:'Instrument Sans',-apple-system,sans-serif;color:#16213A;}
html{scroll-behavior:smooth;}
::selection{background:#1E86D6;color:#fff;}
.gc-nav-sec{position:sticky !important;top:0;z-index:60;}
.admin-bar .gc-nav-sec{top:32px;}
[id="focus"],[id="value"],[id="partnering"]{scroll-margin-top:110px;}
.elementor-widget-html .elementor-widget-container{margin:0;padding:0;}

/* ---------- Interaction polish (always on) ---------- */
.gc-nav-sec nav{transition:box-shadow .35s ease;}
.gc-scrolled .gc-nav-sec nav{box-shadow:0 8px 28px rgba(12,40,90,0.08);}
.gc-nav-sec nav a,footer a{transition:color .2s ease;}
.gc-nav-sec nav a:not([href="/contact/"]):hover,footer a:hover{color:#0C49AC !important;}
.gc-nav-sec nav a[href="/contact/"],.gc-partner-grid a{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;}
.gc-nav-sec nav a[href="/contact/"]:hover{background:#0A3D90 !important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,73,172,0.32) !important;}
.gc-partner-grid a:hover{background:#EAF1FB !important;transform:translateY(-2px);box-shadow:0 14px 32px rgba(8,30,70,0.32) !important;}
.gc-circle{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;}
.gc-circle:hover{transform:translateY(-6px);}
.gc-c1:hover{box-shadow:0 26px 54px rgba(12,73,172,0.20);}
.gc-c2:hover{box-shadow:0 26px 54px rgba(30,134,214,0.20);}
.gc-c3:hover{box-shadow:0 26px 54px rgba(79,176,122,0.22);}

/* ---------- Motion (skipped for prefers-reduced-motion) ---------- */
@media (prefers-reduced-motion:no-preference){
  .gc-anim :has(> h1) > *,
  .gc-anim .gc-quote,
  .gc-anim .gc-glass,
  .gc-anim .gc-circle,
  .gc-anim .gc-partner-grid > *,
  .gc-anim [id="partnering"] .gc-eyebrow,
  .gc-anim .gc-contact-grid > *,
  .gc-anim footer > div > div:first-child > div{
    opacity:0;transform:translateY(24px);
    transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);
    transition-delay:var(--gc-d,0ms);
  }
  .gc-anim .gc-in{opacity:1 !important;transform:none !important;}
  .gc-anim .gc-circle.gc-in:hover{transform:translateY(-6px) !important;transition-delay:0ms;}
}

/* ---------- Contact form ---------- */
.gc-form-card.gc-contact-form{position:relative;overflow:hidden;}
.gc-form-card.gc-contact-form::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#0C49AC,#1E86D6 55%,#4FB07A);}
.gc-contact-form .wpcf7 form{margin:0;}
.gc-contact-form .gc-row2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.gc-contact-form .gc-field{display:block;margin:0 0 22px;}
.gc-contact-form .gc-field-label{display:block;font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:#5E6B84;font-weight:600;margin-bottom:10px;}
.gc-contact-form .gc-field-label em{font-style:normal;color:#0C49AC;margin-left:2px;}
.gc-contact-form .wpcf7-form-control-wrap{display:block;position:relative;}
.gc-form-card.gc-contact-form input.wpcf7-text,
.gc-form-card.gc-contact-form input.wpcf7-quiz,
.gc-form-card.gc-contact-form textarea.wpcf7-textarea{
  width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;
  background:#F7F9FC;border:1.5px solid #DCE4EF;border-radius:14px;
  padding:15px 18px;font-family:inherit;font-size:16px;line-height:1.4;color:#16213A;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.gc-form-card.gc-contact-form textarea.wpcf7-textarea{min-height:150px;resize:vertical;line-height:1.55;}
.gc-form-card.gc-contact-form input.wpcf7-text:hover,
.gc-form-card.gc-contact-form input.wpcf7-quiz:hover,
.gc-form-card.gc-contact-form textarea.wpcf7-textarea:hover{border-color:#B9C7DB;}
.gc-form-card.gc-contact-form input.wpcf7-text:focus,
.gc-form-card.gc-contact-form input.wpcf7-quiz:focus,
.gc-form-card.gc-contact-form textarea.wpcf7-textarea:focus{outline:none;background:#fff;border-color:#0C49AC;box-shadow:0 0 0 4px rgba(12,73,172,0.12);}
.gc-contact-form ::placeholder{color:#9AA6B8;opacity:1;}
.gc-form-card.gc-contact-form .wpcf7-not-valid{border-color:#D64545 !important;background:#FFF8F8 !important;}
.gc-contact-form .wpcf7-not-valid-tip{display:block;font-size:13px;color:#C0392B;margin-top:7px;}

.gc-contact-form .gc-field-quiz .wpcf7-form-control-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.gc-contact-form .wpcf7-quiz-label{font-size:16px;font-weight:600;color:#16213A;white-space:nowrap;}
.gc-form-card.gc-contact-form input.wpcf7-quiz{max-width:130px;text-align:center;}
.gc-contact-form .gc-field-quiz .wpcf7-not-valid-tip{flex-basis:100%;margin-top:0;}

.gc-contact-form .gc-hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden;}

.gc-contact-form .gc-form-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:6px;padding-top:22px;border-top:1px solid rgba(12,40,90,0.08);}
.gc-contact-form .gc-form-note{font-size:13px;line-height:1.5;color:#7C8AA3;max-width:300px;}
.gc-contact-form .gc-form-note a{color:#0C49AC;text-decoration:underline;}
.gc-contact-form .gc-submit-wrap{display:flex;align-items:center;position:relative;}
.gc-form-card.gc-contact-form input.wpcf7-submit{
  width:auto;-webkit-appearance:none;appearance:none;cursor:pointer;
  font-family:inherit;font-size:16px;font-weight:600;color:#fff;background:#0C49AC;
  border:none;border-radius:999px;padding:16px 34px;
  box-shadow:0 8px 22px rgba(20,80,180,0.28);
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.gc-form-card.gc-contact-form input.wpcf7-submit:hover{background:#0A3D86;transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,80,180,0.34);}
.gc-form-card.gc-contact-form input.wpcf7-submit:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(12,73,172,0.25);}
.gc-form-card.gc-contact-form input.wpcf7-submit:disabled{opacity:.6;cursor:default;transform:none;}
.gc-contact-form .wpcf7-spinner{position:absolute;right:-36px;top:50%;margin:-12px 0 0;}

.gc-contact-form .wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:14px 18px;border-radius:12px;font-size:14.5px;line-height:1.5;border:1px solid transparent;}
.gc-contact-form .wpcf7 form.sent .wpcf7-response-output{background:#EEF8F1;border-color:#9FD5B3;color:#1F6B3F;}
.gc-contact-form .wpcf7 form.invalid .wpcf7-response-output,
.gc-contact-form .wpcf7 form.unaccepted .wpcf7-response-output,
.gc-contact-form .wpcf7 form.payment-required .wpcf7-response-output{background:#FFF8EC;border-color:#F0D48A;color:#7A5A12;}
.gc-contact-form .wpcf7 form.failed .wpcf7-response-output,
.gc-contact-form .wpcf7 form.aborted .wpcf7-response-output,
.gc-contact-form .wpcf7 form.spam .wpcf7-response-output{background:#FFF5F5;border-color:#F1B5B5;color:#9B2C2C;}

#focus .gc-glass{background:rgba(16,56,118,0.58);}

/* ---------- Hero: keep copy clear of the hikers' faces ----------
   Photo (hero-gencaps.jpg): faces at ~46% (man) and ~60% (woman) across, ~41-45% down;
   the people span ~32-75% across and ~36-90% down.
   Narrow/portrait: copy at the top over the sky, photo scaled so the people sit lower.
   Wide: photo enlarged and anchored left so both people sit right of the copy column. */
#top{
  min-height:max(88vh,660px) !important;
  background-size:auto 120% !important;
  background-position:54% 0% !important;
}
#top > .elementor-container{min-height:max(88vh,660px) !important;align-items:flex-start !important;}
#top .elementor-widget-wrap{align-content:flex-start !important;align-items:flex-start !important;padding-top:44px;}
#top .elementor-widget-html > div > div{max-width:100% !important;}
#top h1{color:#1E2A6E !important;font-size:clamp(34px,8.6vw,48px) !important;margin-bottom:0 !important;text-shadow:0 0 22px rgba(255,255,255,0.75),0 0 2px rgba(255,255,255,0.55);}
#top > .elementor-background-overlay{display:none !important;}
@media (min-width:901px) and (min-aspect-ratio:6/5){
  #top{min-height:90vh !important;background-size:125% auto !important;background-position:0% 30% !important;}
  #top > .elementor-container{min-height:90vh !important;align-items:center !important;}
  #top .elementor-widget-wrap{align-content:center !important;align-items:center !important;padding-top:0;}
  #top .elementor-widget-html > div > div{max-width:min(40vw,560px) !important;}
  #top h1{color:#2E7CC6 !important;font-size:clamp(38px,4.6vw,66px) !important;}
}
@media (min-width:901px) and (max-width:1200px) and (min-aspect-ratio:6/5){
  #top{background-size:135% auto !important;}
}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .gc-nav-sec nav{padding:14px 18px !important;}
  .gc-nav-sec nav img{height:42px !important;}
  .gc-nav-sec nav > div{gap:14px !important;}
  .gc-nav-sec nav > div a:not([href="/contact/"]){display:none;}
  footer > div > div:first-child{grid-template-columns:1fr !important;}
}
@media(max-width:640px){
  .gc-contact-form .gc-row2{grid-template-columns:1fr;gap:0;}
  .gc-contact-form .gc-form-foot{flex-direction:column;align-items:stretch;}
  .gc-form-card.gc-contact-form input.wpcf7-submit{width:100%;}
  .gc-contact-form .wpcf7-spinner{right:14px;}
}
@media(max-width:782px){.admin-bar .gc-nav-sec{top:46px;}}
