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) ---------- */
@keyframes gcFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
@media (prefers-reduced-motion:no-preference){
  .gc-circle svg{animation:gcFloat 5s ease-in-out infinite;}
  .gc-c2 svg{animation-delay:.6s;}
  .gc-c3 svg{animation-delay:1.2s;}

  .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;}

/* ---------- Hero: keep copy clear of the hikers' faces ----------
   Photo faces sit at ~57% (woman) and ~83% (man) across, ~46-54% down.
   Desktop: copy column ends before ~49% of the width. Narrow screens: copy at the top over the sky,
   photo scaled/anchored so both faces land in the lower half. */
#top .elementor-widget-html > div > div{max-width:min(40vw,560px) !important;}
#top h1{font-size:clamp(38px,4.6vw,66px) !important;margin-bottom:0 !important;text-shadow:0 2px 18px rgba(8,28,60,0.35);}
#top .elementor-widget-html > div > div > div{text-shadow:0 2px 14px rgba(8,28,60,0.35);}
#top > .elementor-background-overlay{
  opacity:1 !important;
  background:linear-gradient(90deg,rgba(9,38,76,0.82) 0%,rgba(11,48,88,0.62) 34%,rgba(14,58,100,0.20) 58%,rgba(30,110,150,0.04) 100%) !important;
}
#top{background-position:center 40% !important;}

@media(max-width:900px){
  #top{
    min-height:max(88vh,660px) !important;
    background-size:auto 115% !important;
    background-position:78% 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-background-overlay{
    background:linear-gradient(180deg,rgba(9,38,76,0.86) 0%,rgba(11,48,88,0.58) 34%,rgba(14,58,100,0.14) 56%,rgba(14,58,100,0) 100%) !important;
  }
  #top .elementor-widget-html > div > div{max-width:100% !important;}
  #top h1{font-size:clamp(34px,8.6vw,48px) !important;}
}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .gc-nav-sec nav{padding:14px 18px !important;}
  .gc-nav-sec nav img{height:52px !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;}}
