/* Shared styles for TGC utility pages (thank-you, review-us, feedback, page-not-found).
   Each page sets --hero-img and --hero-pos on .tgc-page-hero in its own page_css. */

/* ---------- Hero ---------- */
.tgc-page-hero{
  background:var(--c-obsidian); color:var(--c-bone); position:relative; overflow:hidden;
  padding:calc(var(--s-3xl) + 4.5rem) 0 var(--s-2xl);
}
.tgc-page-hero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:var(--hero-img) var(--hero-pos, center 40%) / cover no-repeat;
}
.tgc-page-hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(100deg, rgba(26,31,31,.93) 0%, rgba(26,31,31,.8) 45%, rgba(26,31,31,.45) 100%),
    linear-gradient(to bottom, rgba(26,31,31,.75) 0%, rgba(26,31,31,0) 32%);
}
.tgc-page-hero .tgc-wrap{position:relative; z-index:2}
.tgc-page-hero .tgc-eyebrow{color:var(--c-orange-lite)}
.tgc-page-hero h1{font-size:var(--t-display); font-weight:800; color:var(--c-bone); max-width:18ch}
.tgc-page-hero-sub{margin-top:var(--s-md); max-width:54ch; color:rgba(245,243,240,.86); font-size:var(--t-body-lg)}

/* ---------- Body sections ---------- */
.tgc-page-sec{background:var(--c-bone)}
.tgc-page-narrow{max-width:820px}
.tgc-page-sec h2{font-size:var(--t-h2); font-weight:700; color:var(--c-charcoal); max-width:none}
.tgc-page-lead{margin-top:var(--s-sm); color:var(--c-steel); max-width:56ch}
.tgc-page-card{
  background:#fff; border:var(--hair); border-top:4px solid var(--c-orange);
  padding:var(--s-lg); box-shadow:0 24px 50px -30px rgba(26,31,31,.35);
}
.tgc-page-phone{
  display:inline-block; font-family:var(--f-display); font-weight:800; font-size:var(--t-h1);
  color:var(--c-obsidian); letter-spacing:-.01em; padding-block:.2em;
}
.tgc-page-phone:hover{color:var(--c-orange-ink)}
.tgc-page-note{margin-top:var(--s-xs); color:var(--c-steel); font-size:var(--t-body)}
.tgc-page-btns{display:flex; flex-wrap:wrap; gap:var(--s-sm); margin-top:var(--s-md)}
.tgc-page-btns .tgc-btn{margin:0}

/* Numbered "what happens next" list */
.tgc-page-next{margin-top:var(--s-md); display:grid; gap:var(--s-sm); counter-reset:step}
.tgc-page-next li{position:relative; padding-left:2.6rem; color:var(--c-steel); font-size:var(--t-body); counter-increment:step}
.tgc-page-next li::before{
  content:counter(step); position:absolute; left:0; top:-.1em; width:1.9rem; height:1.9rem;
  display:flex; align-items:center; justify-content:center; border-radius:50%;
  background:var(--c-orange); color:var(--c-obsidian); font-family:var(--f-display); font-weight:700;
}
.tgc-page-next li b{display:block; color:var(--c-charcoal); font-family:var(--f-display); font-size:var(--t-body-lg)}

/* Two-way choice cards (review-us) */
.tgc-choice-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--s-md)}
.tgc-choice{
  background:#fff; border:var(--hair); border-top:4px solid var(--c-orange);
  padding:var(--s-lg); display:flex; flex-direction:column; align-items:flex-start;
  box-shadow:0 24px 50px -30px rgba(26,31,31,.3);
}
.tgc-choice.is-alt{border-top-color:var(--c-charcoal)}
.tgc-choice-tag{
  font-size:var(--t-label); font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--c-orange-ink);
}
.tgc-choice.is-alt .tgc-choice-tag{color:var(--c-charcoal)}
.tgc-choice h2{margin-top:var(--s-xs); font-size:var(--t-h3)}
.tgc-choice p{margin-top:var(--s-xs); color:var(--c-steel); flex:1 1 auto}
.tgc-choice .tgc-btn{margin-top:var(--s-md)}

/* Link tiles (page-not-found) */
.tgc-link-grid{margin-top:var(--s-md); display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:var(--s-sm)}
.tgc-link-grid a{
  display:flex; align-items:center; justify-content:space-between; gap:var(--s-sm);
  padding:1.1em 1.3em; background:#fff; border:var(--hair); border-left:4px solid var(--c-orange);
  font-family:var(--f-display); font-weight:600; font-size:var(--t-body-lg); color:var(--c-charcoal);
  transition:background-color .2s ease, border-color .2s ease;
}
.tgc-link-grid a::after{
  content:""; flex:none; width:.55em; height:.55em;
  border-right:2px solid var(--c-orange-ink); border-top:2px solid var(--c-orange-ink); transform:rotate(45deg);
}
.tgc-link-grid a:hover{background:var(--c-ember); border-left-color:var(--c-charcoal)}

@media (max-width:960px){
  .tgc-choice-grid{grid-template-columns:1fr}
  .tgc-page-card,.tgc-choice{padding:var(--s-md)}
}

/* ---------- Gravity Forms (Orbital theme), scoped to .tgc-form-card ---------- */
.tgc-form-card .gform_wrapper .gform_fields{grid-auto-flow:dense !important; row-gap:1.25rem}
.tgc-form-card .gform_wrapper .gfield_label,
.tgc-form-card .gform_wrapper legend.gfield_label{
  font-family:var(--f-body); font-weight:600; font-size:.9375rem; color:var(--c-charcoal); margin-bottom:.4em;
}
.tgc-form-card .gform_wrapper .gfield_required{color:var(--c-orange-ink)}
.tgc-form-card .gform_wrapper .gform-field-label--type-sub,
.tgc-form-card .gform_wrapper .gfield_description,
.tgc-form-card .gform_wrapper .ginput_counter{color:var(--c-steel); font-size:.8125rem}
.tgc-form-card .gform_wrapper input[type=text],
.tgc-form-card .gform_wrapper input[type=email],
.tgc-form-card .gform_wrapper input[type=tel],
.tgc-form-card .gform_wrapper input[type=url],
.tgc-form-card .gform_wrapper input[type=number],
.tgc-form-card .gform_wrapper textarea{
  width:100%; min-height:48px; padding:.75em .9em; background:#fff; color:var(--c-obsidian);
  font-family:var(--f-body); font-size:1rem; border:1px solid #bdb7af; border-radius:var(--r-sm);
}
.tgc-form-card .gform_wrapper textarea{min-height:150px}
.tgc-form-card .gform_wrapper input:focus,
.tgc-form-card .gform_wrapper select:focus,
.tgc-form-card .gform_wrapper textarea:focus{
  outline:3px solid var(--c-orange); outline-offset:1px; border-color:var(--c-orange);
}
.tgc-form-card .gform_wrapper input[type=radio],
.tgc-form-card .gform_wrapper input[type=checkbox]{accent-color:var(--c-orange)}
.tgc-form-card .gform_wrapper .gfield_consent_label,
.tgc-form-card .gform_wrapper .gchoice label{font-size:.9375rem; color:var(--c-steel)}
.tgc-form-card .gform_wrapper .gform_footer{margin-top:var(--s-md); padding:0}

/* Dropdowns: Gravity Forms forces a 38px line height, which clips the text once padding is added */
.tgc-form-card .gform_wrapper.gform-theme select.gfield_select{
  height:auto !important; min-height:48px !important; line-height:1.3 !important;
  padding:.78em 2.6em .78em .9em !important; color:var(--c-obsidian);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%233F494A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .95em center / 12px 8px !important;
  width:100%; border:1px solid #bdb7af; border-radius:var(--r-sm); font-family:var(--f-body); font-size:1rem;
}

/* Phone: country selector the same height and weight as the number field */
.tgc-form-card .gform_wrapper.gform-theme .ginput_country-selector_container{display:flex; align-items:stretch}
.tgc-form-card .gform_wrapper.gform-theme .gform-phone__country-selector{
  height:48px !important; min-height:48px !important; align-self:stretch; margin-top:0 !important; margin-bottom:0 !important;
  padding:0 .9em !important; background:var(--c-bone) !important; color:var(--c-obsidian) !important;
  border:1px solid #bdb7af !important; border-right:0 !important; border-radius:var(--r-sm) 0 0 var(--r-sm) !important;
  font-family:var(--f-body); font-size:1rem; box-shadow:none !important;
}
.tgc-form-card .gform_wrapper.gform-theme .gform-phone__country-selector:hover{background:var(--c-concrete) !important}
.tgc-form-card .gform_wrapper.gform-theme .gform-phone__country-selector:focus-visible{
  outline:3px solid var(--c-orange); outline-offset:1px; position:relative; z-index:1;
}
.tgc-form-card .gform_wrapper.gform-theme input.gform-phone__input{height:48px; border-radius:0 var(--r-sm) var(--r-sm) 0}

/* Buttons: Orbital ships a blue default and injects its stylesheet late, so hold the brand colors */
.tgc-form-card .gform_wrapper.gform-theme{
  --gf-ctrl-btn-bg-color-primary:#F68620; --gf-ctrl-btn-bg-color-hover-primary:#FF9938;
  --gf-ctrl-btn-color-primary:#1A1F1F; --gf-ctrl-btn-color-hover-primary:#1A1F1F;
  --gf-ctrl-btn-radius:4px; --gf-ctrl-btn-font-weight:600;
}
.tgc-form-card .gform_wrapper.gform-theme .gform_footer button.gform_button.button,
.tgc-form-card .gform_wrapper.gform-theme .gform_page_footer button.gform_button.button{
  background-color:var(--c-orange) !important; color:var(--c-obsidian) !important;
  border:2px solid transparent !important; border-radius:var(--r-sm); box-shadow:none !important;
  min-height:48px; padding:1.05em 1.9em; width:auto;
  font-family:var(--f-body); font-size:var(--t-btn); font-weight:600;
  letter-spacing:.05em; text-transform:uppercase; line-height:1.2; cursor:pointer;
  transition:background-color .2s ease;
}
.tgc-form-card .gform_wrapper.gform-theme .gform_footer button.gform_button.button:hover,
.tgc-form-card .gform_wrapper.gform-theme .gform_footer button.gform_button.button:focus-visible{
  background-color:#FF9938 !important; color:var(--c-obsidian) !important;
}
.tgc-form-card .gform_wrapper.gform-theme .gform_footer button.gform_button.button:focus-visible{
  outline:3px solid var(--c-obsidian); outline-offset:3px;
}
.tgc-form-card .gform_wrapper.gform-theme button.gform_button_select_files{
  background-color:transparent !important; color:var(--c-charcoal) !important;
  border:2px solid var(--c-charcoal) !important; border-radius:var(--r-sm); box-shadow:none !important;
  min-height:44px; padding:.7em 1.4em; font-family:var(--f-body); font-size:var(--t-btn); font-weight:600;
  letter-spacing:.05em; text-transform:uppercase; cursor:pointer;
}
.tgc-form-card .gform_wrapper.gform-theme button.gform_button_select_files:hover,
.tgc-form-card .gform_wrapper.gform-theme button.gform_button_select_files:focus-visible{
  background-color:var(--c-charcoal) !important; color:var(--c-bone) !important;
}
.tgc-form-card .gform_wrapper .gfield_validation_message,
.tgc-form-card .gform_wrapper .gform_validation_errors{color:#b42318}
.tgc-form-card .gform_confirmation_message{font-size:var(--t-body-lg); color:var(--c-charcoal)}
