/* Go PH Homepage Hero v3.10.10
 * Scope: homepage only. The existing global shell/header component remains canonical.
 * This file owns hero composition, responsive typography and homepage-only visual treatment.
 */
.goph-homepage .goph-home-hero {
  --home-hero-height: clamp(560px, 72vh, 700px);
  position: relative;
  min-height: var(--home-hero-height);
  display: flex;
  align-items: stretch;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
}
.goph-homepage .goph-home-hero-media {
  position: absolute; inset: 0; z-index: -3;
  background-image: url("/assets/goph-home-hero.webp");
  background-position: center center; background-size: cover; background-repeat: no-repeat;
  filter: saturate(1.02) contrast(1.02);
}
.goph-homepage .goph-home-hero__overlay {
  position: absolute; inset: 0; z-index: -2;
  background: linear-gradient(90deg, rgba(3,24,47,.62) 0%, rgba(3,24,47,.48) 38%, rgba(3,24,47,.14) 70%, rgba(3,24,47,.04) 100%), linear-gradient(180deg, rgba(2,20,38,.12) 0%, rgba(2,20,38,.04) 58%, rgba(2,20,38,.20) 100%);
}
.goph-homepage .goph-home-hero__inner {
  width: min(100% - (2 * var(--goph-page-gutter)), 1200px);
  display: flex; align-items: center; min-height: var(--home-hero-height);
  padding-block: clamp(96px, 11vw, 132px) clamp(56px, 7vw, 82px);
}
.goph-homepage .goph-home-hero__content { width: min(100%, 680px); text-align: left; }
.goph-homepage .goph-home-hero__eyebrow {
  margin: 0; color: #f8bd17; font-size: clamp(.72rem, 1vw, .88rem); font-weight: 800; line-height: 1.35; letter-spacing: .08em; text-transform: uppercase;
}
.goph-homepage .goph-home-hero h1 {
  max-width: 760px; margin: 18px 0 0; color: #fff;
  font-family: "Plus Jakarta Sans", "DM Sans", system-ui, sans-serif; font-size: clamp(2.55rem, 5.2vw, 4.65rem); font-weight: 800; line-height: 1.02; letter-spacing: -.045em; text-wrap: balance;
}
.goph-homepage .goph-home-hero__lead { max-width: 610px; margin: 22px 0 0; color: rgba(255,255,255,.94); font-size: clamp(1rem, 1.7vw, 1.22rem); line-height: 1.65; }
.goph-homepage .goph-home-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.goph-homepage .goph-home-hero__primary { background: #f8b400; border-color: #f8b400; color: #132b4f; box-shadow: 0 10px 26px rgba(0,0,0,.18); }
.goph-homepage .goph-home-hero__primary:hover { background: #ffc42e; border-color: #ffc42e; }
.goph-homepage .goph-home-hero__primary span { font-size: 1.25em; line-height: 1; }
.goph-homepage .goph-home-hero__secondary { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.78); color: #fff; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.goph-homepage .goph-home-hero__secondary:hover { background: rgba(255,255,255,.14); border-color: #fff; }
.goph-homepage .goph-home-hero__trust { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.goph-homepage .goph-home-hero__team-image { width: 58px; height: 58px; flex: 0 0 58px; overflow: hidden; border: 2px solid rgba(255,255,255,.92); border-radius: 50%; box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.goph-homepage .goph-home-hero__team-image img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 32%; }
.goph-homepage .goph-home-hero__trust p { display: grid; gap: 2px; margin: 0; color: rgba(255,255,255,.92); font-size: .9rem; line-height: 1.45; }
.goph-homepage .goph-home-hero__trust strong { color: #fff; font-weight: 800; }
@media (max-width: 767px) {
  .goph-homepage .goph-home-hero { --home-hero-height: 640px; min-height: var(--home-hero-height); }
  .goph-homepage .goph-home-hero-media { background-position: 62% center; }
  .goph-homepage .goph-home-hero__overlay { background: linear-gradient(180deg, rgba(3,24,47,.46) 0%, rgba(3,24,47,.30) 54%, rgba(3,24,47,.34) 100%), linear-gradient(90deg, rgba(3,24,47,.08), rgba(3,24,47,.02)); }
  .goph-homepage .goph-home-hero__inner { min-height: var(--home-hero-height); padding-block: 88px 46px; }
  .goph-homepage .goph-home-hero__content { width: 100%; }
  .goph-homepage .goph-home-hero__eyebrow { max-width: 330px; font-size: .7rem; letter-spacing: .06em; }
  .goph-homepage .goph-home-hero h1 { margin-top: 15px; font-size: clamp(2.35rem, 10.5vw, 3.25rem); line-height: 1.04; letter-spacing: -.045em; }
  .goph-homepage .goph-home-hero__lead { max-width: 34rem; margin-top: 17px; font-size: 1rem; line-height: 1.55; }
  .goph-homepage .goph-home-hero__actions { display: grid; gap: 10px; margin-top: 24px; }
  .goph-homepage .goph-home-hero__actions .goph-btn { width: 100%; }
  .goph-homepage .goph-home-hero__trust { margin-top: 24px; }
  .goph-homepage .goph-home-hero__trust p { font-size: .82rem; }
}
@media (prefers-reduced-motion: reduce) { .goph-homepage .goph-home-hero__actions .goph-btn { transition: none; } }

/* Homepage entry and process composition — migrated from the retired visual layer. */
/* The shared public hero primitive adds a white wash for generic heroes; the
 * homepage owns its own image treatment and must not inherit that wash. */
.goph-homepage .goph-home-hero::before { background: transparent; }
/* Homepage entry cards: retain the existing text/icons/links, change presentation only. */
.goph-entry-grid{margin-top:-82px}
.goph-entry-card{
  min-height:178px;
  border-radius:18px;
  border:1px solid #dfe6ef;
  box-shadow:0 16px 38px rgba(15,42,78,.11);
  padding:22px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.goph-entry-card:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(15,42,78,.15);border-color:#cbd8e6}
.goph-entry-card .goph-icon{width:56px;height:56px;border-radius:16px;margin-bottom:12px}
.goph-entry-card .goph-entry-arrow{color:var(--goph-navy)}

/* Homepage primary actions — composition only; canonical card/icon primitives remain the base. */
.goph-homepage .goph-entry-grid{
  width:min(100% - 48px,1040px);
  margin:-56px auto 0;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.goph-homepage .goph-home-entry-card{
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:18px 14px;
  text-align:center;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(15,42,78,.09);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.goph-homepage .goph-home-entry-card:hover{
  transform:translateY(-2px);
  box-shadow:0 15px 34px rgba(15,42,78,.13);
  border-color:#cbd8e6;
}
.goph-homepage .goph-home-entry-card .goph-icon{
  width:64px;
  height:64px;
  flex:0 0 64px;
  margin:0;
  border-radius:16px;
}
.goph-homepage .goph-home-entry-card .goph-card__body{
  padding:0;
  display:grid;
  gap:4px;
  min-width:0;
}
.goph-homepage .goph-home-entry-card .goph-card__title{
  font-family:"Plus Jakarta Sans","DM Sans",system-ui,sans-serif;
  font-size:14px;
  font-weight:800;
  line-height:1.25;
  color:var(--goph-navy);
}
.goph-homepage .goph-home-entry-card .goph-card__text{
  margin:0;
  color:#64748b;
  font-size:11px;
  line-height:1.45;
}
.goph-homepage .goph-home-entry-card .goph-entry-arrow{display:none}
.goph-homepage .goph-home-entry-card--green .goph-icon{background:#ecfdf3;color:#197a2a}
.goph-homepage .goph-home-entry-card--red{border-color:#f4d7da}
.goph-homepage .goph-home-entry-card--red .goph-icon{background:#fef2f2;color:#c9161f}
@media (max-width:767px){
  .goph-homepage .goph-entry-grid{
    width:calc(100% - 48px);
    margin:-48px auto 0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .goph-homepage .goph-home-entry-card{
    min-height:188px;
    padding:16px 10px;
    gap:10px;
    border-radius:16px;
  }
  .goph-homepage .goph-home-entry-card .goph-icon{
    width:54px;
    height:54px;
    flex-basis:54px;
    border-radius:14px;
  }
  .goph-homepage .goph-home-entry-card .goph-card__title{font-size:12px;line-height:1.3}
  .goph-homepage .goph-home-entry-card .goph-card__text{font-size:10px;line-height:1.4}
}


/* Homepage surprise banner — placed directly after the three primary entry cards. */
.goph-homepage .goph-home-surprise{
  width:min(100% - 48px,1040px);
  margin:28px auto 0;
  position:relative;
  z-index:1;
}
.goph-homepage .goph-home-surprise__inner{
  position:relative;
  min-height:230px;
  overflow:hidden;
  display:flex;
  align-items:center;
  border:1px solid #f4cfd3;
  border-radius:var(--goph-radius-xl);
  background:linear-gradient(135deg,#fff6f7 0%,#fffafb 62%,#fff 100%);
  box-shadow:0 12px 30px rgba(80,20,40,.08);
}
.goph-homepage .goph-home-surprise__content{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-start;
  gap:20px;
  width:min(55%,620px);
  padding:30px 34px;
}
.goph-homepage .goph-home-surprise__icon{
  flex:0 0 64px;
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#fff0f2;
  color:var(--goph-red);
}
.goph-homepage .goph-home-surprise__icon .goph-svg-icon{width:32px;height:32px}
.goph-homepage .goph-home-surprise h2{
  margin:0;
  color:var(--goph-red);
  font-family:"Plus Jakarta Sans","DM Sans",system-ui,sans-serif;
  font-size:clamp(1.35rem,2.3vw,2rem);
  font-weight:800;
  line-height:1.15;
}
.goph-homepage .goph-home-surprise p{
  max-width:560px;
  margin:10px 0 0;
  color:#334155;
  font-size:clamp(.92rem,1.5vw,1.05rem);
  line-height:1.55;
}
.goph-homepage .goph-home-surprise .goph-btn{margin-top:18px;white-space:nowrap}
.goph-homepage .goph-home-surprise__media{
  position:absolute;
  inset:0 0 0 auto;
  width:44%;
  overflow:hidden;
  pointer-events:none;
}
.goph-homepage .goph-home-surprise__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,#fff6f7 0%,rgba(255,246,247,.62) 16%,rgba(255,246,247,0) 48%);
}
.goph-homepage .goph-home-surprise__media img{
  position:absolute;
  right:0;
  bottom:0;
  width:100%;
  height:auto;
  max-height:100%;
  display:block;
  object-fit:contain;
  object-position:right bottom;
}
@media(max-width:767px){
  .goph-homepage .goph-home-surprise{width:calc(100% - 48px);margin-top:24px}
  .goph-homepage .goph-home-surprise__inner{min-height:238px;border-radius:16px}
  .goph-homepage .goph-home-surprise__content{width:55%;max-width:55%;gap:12px;padding:24px 20px}
  .goph-homepage .goph-home-surprise__icon{flex-basis:48px;width:48px;height:48px;border-radius:13px}
  .goph-homepage .goph-home-surprise__icon .goph-svg-icon{width:26px;height:26px}
  .goph-homepage .goph-home-surprise h2{font-size:1.25rem}
  .goph-homepage .goph-home-surprise p{margin-top:7px;font-size:.82rem;line-height:1.45}
  .goph-homepage .goph-home-surprise .goph-btn{display:inline-flex;width:auto;max-width:100%;margin-top:13px;padding:12px 20px;font-size:.95rem;white-space:nowrap}
  .goph-homepage .goph-home-surprise__media{width:42%;}
  .goph-homepage .goph-home-surprise__media::before{display:none}
}


/* Process: keep the four existing steps and their existing icon references. */

.goph-homepage .goph-home-application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:2.25rem}
.goph-homepage .goph-home-application-card{display:flex;align-items:flex-start;gap:18px;min-width:0;padding:24px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.goph-homepage .goph-home-application-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,42,78,.09);border-color:#cbd7e6}
.goph-homepage .goph-home-application-card:focus-visible{transform:translateY(-1px)}
.goph-homepage .goph-home-application-card__icon{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:15px}
.goph-homepage .goph-home-application-card__icon--blue{background:#eff6ff;color:var(--goph-blue)}
.goph-homepage .goph-home-application-card__icon--green{background:#ecfdf3;color:var(--goph-green)}
.goph-homepage .goph-home-application-card__icon--red{background:#fef2f2;color:var(--goph-red)}
.goph-homepage .goph-home-application-card__body{display:flex;flex-direction:column;min-width:0}
.goph-homepage .goph-home-application-card__title{color:var(--goph-navy);font-size:1.05rem;font-weight:850;line-height:1.3}
.goph-homepage .goph-home-application-card__text{margin-top:7px;color:#5c6b7d;font-size:.9rem;line-height:1.55}
.goph-homepage .goph-home-application-card__link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:var(--goph-blue);font-size:.86rem;font-weight:800}
.goph-homepage .goph-home-application-card__link span{font-size:1.1em;line-height:1}
@media(max-width:900px) and (min-width:641px){.goph-homepage .goph-home-application-grid{grid-template-columns:1fr;gap:12px}}
@media(max-width:640px){.goph-homepage .goph-home-application-grid{grid-template-columns:1fr;gap:12px;margin-top:1.75rem}.goph-homepage .goph-home-application-card{gap:14px;padding:18px}.goph-homepage .goph-home-application-card__icon{flex-basis:50px;width:50px;height:50px;border-radius:13px}.goph-homepage .goph-home-application-card__title{font-size:1rem}.goph-homepage .goph-home-application-card__text{font-size:.84rem;line-height:1.5}.goph-homepage .goph-home-application-card__link{margin-top:11px;font-size:.82rem}}
