
/* Package badges/icons must always render above card artwork and content. */
.package-card, .pricing-card, .package { position:relative; overflow:visible !important; }
.package-card .popular-badge, .pricing-card .popular-badge, .package .popular-badge,
.package-card .package-icon, .pricing-card .package-icon, .package .package-icon {
  position:absolute !important;
  z-index:60 !important;
}
.goph-phone-fieldset{border:0;padding:0;margin:0;min-inline-size:0}.goph-phone-fieldset legend{font-weight:700;font-size:.9rem;margin-bottom:.35rem}.goph-phone-grid{display:grid;grid-template-columns:minmax(125px,.42fr) minmax(0,1fr);gap:.65rem}.goph-phone-grid label{display:grid;gap:.35rem}.goph-phone-grid select,.goph-phone-grid input{width:100%;padding:.8rem .9rem;border:1px solid #cbd5e1;border-radius:.7rem;background:#fff;color:#0f172a;font:inherit}.goph-phone-grid select:focus-visible,.goph-phone-grid input:focus-visible{outline:3px solid #2563eb;outline-offset:2px;border-color:#2563eb}
@media(max-width:520px){.goph-phone-grid{grid-template-columns:minmax(108px,.38fr) minmax(0,1fr);gap:.5rem}.goph-service-page{padding-top:clamp(2.75rem,9vw,4rem);padding-bottom:clamp(2.75rem,9vw,4rem)}.goph-service-hero{margin-bottom:2rem}.goph-service-hero h1{margin-bottom:.9rem}.goph-service-card,.goph-service-form{padding:1.15rem}.goph-service-layout{gap:1.15rem}}
/* Service pages intentionally remain white in both light and dark themes. */
.goph-service-page,.goph-service-card,.goph-service-form{background:#fff!important;color:#0f172a!important}.goph-service-hero .lead{color:#475569!important}.goph-price{border-color:#e2e8f0}.goph-price span,.goph-form-grid .hint{color:#64748b!important}.goph-form-grid input,.goph-form-grid textarea,.goph-phone-grid select,.goph-phone-grid input{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1}.goph-service-card .notice{background:#fffbeb!important;color:#713f12!important;border-color:#fde68a!important}
.goph-request-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:.8rem 1.1rem;border-radius:.7rem;background:#0f766e;color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 4px 12px rgba(15,118,110,.18)}.goph-request-cta:hover{background:#115e59;color:#fff!important}.goph-request-cta:focus-visible{outline:3px solid #2563eb;outline-offset:3px}


/* v13: package artwork/badges are always above card media and copy */
.packages .package-card,
.packages .pricing-card,
.packages .package,
.package-card,
.pricing-card {
  position: relative !important;
  overflow: visible !important;
  isolation: isolate;
}
.packages .package-card > *,
.packages .pricing-card > * {
  position: relative;
}
.packages .popular-badge,
.packages .package-icon,
.packages .package-badge,
.packages .package-icon-wrap {
  z-index: 9999 !important;
}



/* package badges: above artwork and copy */
#packages article { overflow: visible !important; position: relative !important; }
#packages article > div:first-child { position: relative; }
#packages article .absolute { z-index: 9999 !important; }
/* three steps and urgent CTA */



.hero-photo-card{overflow:hidden;position:relative}
.hero-photo-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}
@media (max-width:640px){
  .hero-photo-card{min-height:320px}
}



/* v55: lead-focused hero card; use the supplied hero photo as-is. */
.hero{background:linear-gradient(135deg,#f7fbff 0%,#ffffff 60%,#f7faff 100%);}
.hero-bg{display:none;}
.hero-grid{gap:56px;}
.hero-copy{max-width:650px;}
.hero .eyebrow{color:#0b2d62;background:#eef4fb;border:1px solid #dbe7f5;display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;font-size:10px;letter-spacing:.14em;}
.hero h1{font-size:clamp(44px,5.6vw,72px);line-height:.98;margin:18px 0 22px;letter-spacing:-.06em;}
.hero h1 span{color:#c9161f;}
.hero-text{font-size:18px;line-height:1.7;color:#5f6f84;max-width:590px;}
.hero .actions{margin-top:30px;margin-bottom:30px;}
.hero .btn-primary{box-shadow:0 12px 26px rgba(11,45,98,.20);}
.hero .trust{gap:0;border-top:1px solid #e8edf3;padding-top:19px;max-width:620px;}
.hero .trust div{flex:1;min-width:0;border-left:1px solid #e2e8f0;padding-left:15px;padding-right:15px;}
.hero .trust div:first-child{border-left:0;padding-left:0;}
.hero .trust strong{font-size:11px;letter-spacing:.06em;}
.hero .trust span{font-size:11px;line-height:1.4;display:block;margin-top:3px;}
.hero-visual{height:500px;}
.hero-photo-card{inset:0 18px 18px 28px!important;border-radius:30px!important;background:#dfeaf4;box-shadow:0 30px 70px rgba(11,45,98,.18);isolation:isolate;}
.hero-photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,25,55,0) 46%,rgba(4,25,55,.62) 100%);z-index:1;pointer-events:none;}
.hero-photo-card img{object-fit:cover;object-position:center;transform:scale(1.015);}
.hero-card-caption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;padding:15px 17px 16px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(8,31,67,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-shadow:0 2px 10px rgba(0,0,0,.25);}
.hero-card-kicker{font-size:10px;font-weight:900;line-height:1.2;letter-spacing:.14em;opacity:.92;margin:0;}
.hero-card-caption strong{font-family:"Plus Jakarta Sans",sans-serif;font-size:22px;line-height:1.2;margin:7px 0 0;}
.hero-card-caption small{font-size:12px;line-height:1.45;margin:5px 0 0;opacity:.96;}
.float-card{border:1px solid rgba(225,232,240,.9);box-shadow:0 18px 40px rgba(16,43,74,.16);}
.fc-one{left:-8px;top:8px;}
.fc-two{right:-2px;bottom:40px;}
@media(max-width:900px){
  .hero-grid{gap:35px;}
  .hero-visual{height:430px;}
}
@media(max-width:560px){
  .hero h1{font-size:42px;line-height:1.01;}
  .hero-text{font-size:16px;line-height:1.65;}
  .hero .trust{display:grid;grid-template-columns:1fr 1fr;row-gap:14px;}
  .hero .trust div{border-left:0;padding:0 8px 0 0;}
  .hero .trust div:last-child{grid-column:1/-1;}
  .hero-visual{height:360px;}
  .hero-photo-card{inset:0 0 10px 12px!important;border-radius:24px!important;}
  .hero-card-caption{left:12px;right:12px;bottom:12px;padding:12px 13px 13px;border-radius:14px;}
  .hero-card-caption strong{font-size:18px;line-height:1.2;margin-top:6px;}
  .hero-card-caption small{font-size:11px;line-height:1.4;margin-top:4px;}
  .fc-one{left:-2px;top:4px;}
  .fc-two{right:-3px;bottom:18px;}
}



/* v56: hero spacing polish */
.hero-photo-card{overflow:hidden;}
.hero-card-caption{box-sizing:border-box;gap:0;}
.fc-one{top:4px!important;}
@media(max-width:560px){.fc-one{top:2px!important;}.hero-card-caption{left:12px;right:12px;bottom:12px;padding:12px 13px 13px;}}



/* v57: clean hero typography and spacing */
.goph-hero-copy,
.hero-copy,
.hero-content {
  max-width: 44rem;
}
.goph-hero-copy > * + *,
.hero-copy > * + *,
.hero-content > * + * {
  margin-top: 1.25rem;
}
.goph-hero-copy h1,
.hero-copy h1,
.hero-content h1 {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.05;
  letter-spacing: -0.025em;
}
.goph-hero-copy p,
.hero-copy p,
.hero-content p {
  margin-bottom: 0;
  line-height: 1.65;
}
@media (max-width: 640px) {
  .goph-hero-copy,
  .hero-copy,
  .hero-content {
    padding-inline: 1rem;
  }
  .goph-hero-copy > * + *,
  .hero-copy > * + *,
  .hero-content > * + * {
    margin-top: 1rem;
  }
}



/* Production hero spacing — intentionally scoped to the main hero */
main > section.hero .hero-grid {
  row-gap: 2.75rem !important;
}
main > section.hero .hero-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 44rem !important;
  padding: 0 !important;
  margin: 0 !important;
}
main > section.hero .hero-copy .eyebrow {
  display: inline-flex !important;
  margin: 0 0 1.25rem !important;
}
main > section.hero .hero-copy h1 {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.035em !important;
  max-width: 11ch !important;
}
main > section.hero .hero-copy h1 span {
  display: inline-block !important;
}
main > section.hero .hero-copy .hero-text {
  margin: 1.5rem 0 0 !important;
  padding: 0 !important;
  max-width: 40rem !important;
  line-height: 1.7 !important;
}
main > section.hero .hero-copy .actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.875rem !important;
  margin: 1.75rem 0 0 !important;
  padding: 0 !important;
}
main > section.hero .hero-copy .trust {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  width: 100% !important;
  margin: 2rem 0 0 !important;
  padding: 0 !important;
}
main > section.hero .hero-copy .trust > div {
  min-width: 0 !important;
}
main > section.hero .hero-visual {
  width: 100% !important;
  min-width: 0 !important;
}
@media (max-width: 767px) {
  main > section.hero .hero-grid {
    row-gap: 2rem !important;
  }
  main > section.hero .hero-copy .eyebrow {
    margin-bottom: 1rem !important;
  }
  main > section.hero .hero-copy h1 {
    line-height: 1.08 !important;
    max-width: 13ch !important;
  }
  main > section.hero .hero-copy .hero-text {
    margin-top: 1.125rem !important;
    line-height: 1.65 !important;
  }
  main > section.hero .hero-copy .actions {
    margin-top: 1.5rem !important;
    gap: 0.75rem !important;
  }
  main > section.hero .hero-copy .trust {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
    margin-top: 1.5rem !important;
  }
}



/* Go PH v59 — Hero accessibility, typography, spacing and responsive rhythm */
main > section.hero {
  scroll-margin-top: 6rem;
}
main > section.hero .hero-grid {
  align-items: center;
  column-gap: clamp(2rem, 5vw, 5rem);
  row-gap: clamp(2.5rem, 6vw, 4.5rem);
}
main > section.hero .hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 44rem;
  margin: 0;
  padding: 0;
}
main > section.hero .hero-copy .eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin: 0 0 1.25rem;
  padding: .45rem .75rem;
  line-height: 1.2;
  font-size: clamp(.72rem, .8vw, .82rem);
  font-weight: 700;
  letter-spacing: .075em;
}
main > section.hero .hero-copy h1 {
  margin: 0;
  padding: 0;
  max-width: 12ch;
  font-size: clamp(2.5rem, 5vw, 4.75rem);
  line-height: 1.04;
  letter-spacing: -.035em;
  text-wrap: balance;
}
main > section.hero .hero-copy .hero-text {
  margin: 1.5rem 0 0;
  padding: 0;
  max-width: 40rem;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 1.7;
  text-wrap: pretty;
}
main > section.hero .hero-copy .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .875rem;
  margin: 1.75rem 0 0;
  padding: 0;
}
main > section.hero .hero-copy .actions a,
main > section.hero .hero-copy .actions button {
  min-height: 2.875rem;
}
main > section.hero .hero-copy .trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  margin: 2rem 0 0;
  padding: 0;
}
main > section.hero .hero-copy .trust > div {
  min-width: 0;
}
main > section.hero .hero-visual {
  width: 100%;
  min-width: 0;
}
main > section.hero .hero-visual img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
@media (max-width: 767px) {
  main > section.hero .hero-grid {
    row-gap: 2rem;
  }
  main > section.hero .hero-copy {
    max-width: none;
  }
  main > section.hero .hero-copy .eyebrow {
    margin-bottom: 1rem;
  }
  main > section.hero .hero-copy h1 {
    max-width: 13ch;
    font-size: clamp(2.25rem, 10vw, 3.25rem);
    line-height: 1.08;
  }
  main > section.hero .hero-copy .hero-text {
    margin-top: 1.125rem;
    line-height: 1.65;
  }
  main > section.hero .hero-copy .actions {
    width: 100%;
    margin-top: 1.5rem;
    gap: .75rem;
  }
  main > section.hero .hero-copy .actions a,
  main > section.hero .hero-copy .actions button {
    min-height: 3rem;
  }
  main > section.hero .hero-copy .trust {
    grid-template-columns: 1fr;
    gap: .75rem;
    margin-top: 1.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  main > section.hero *,
  main > section.hero *::before,
  main > section.hero *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}



/* v60 — explicit hero edge spacing and visual rhythm */
main > section.hero {
  padding-inline: clamp(1rem, 4vw, 3rem) !important;
}
main > section.hero .hero-grid {
  width: min(100%, 1280px);
  margin-inline: auto;
  padding-inline: clamp(.25rem, 1.5vw, 1rem);
}
main > section.hero .hero-copy {
  padding-inline: clamp(.5rem, 1.25vw, 1.25rem) !important;
  padding-block: clamp(.5rem, 1.5vw, 1.5rem) !important;
}
main > section.hero .hero-copy .eyebrow {
  margin-inline: 0 !important;
  margin-bottom: 1.35rem !important;
}
main > section.hero .hero-copy h1 {
  margin: 0 !important;
  padding: 0 !important;
}
main > section.hero .hero-copy .hero-text {
  margin-top: 1.5rem !important;
  padding-inline: 0 !important;
}
main > section.hero .hero-copy .actions {
  margin-top: 1.75rem !important;
}
main > section.hero .hero-copy .trust {
  margin-top: 2rem !important;
}
@media (max-width: 767px) {
  main > section.hero {
    padding-inline: 1rem !important;
  }
  main > section.hero .hero-grid {
    padding-inline: 0 !important;
  }
  main > section.hero .hero-copy {
    padding-inline: .25rem !important;
    padding-block: .5rem !important;
  }
}



/* v61: clean three-column value strip */
main > section.hero .hero-copy .trust {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 44rem !important;
  margin: 2rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
main > section.hero .hero-copy .trust > div {
  min-width: 0 !important;
  min-height: 5.25rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: .9rem 1.15rem !important;
  border: 0 !important;
  border-left: 1px solid #e2e8f0 !important;
  background: transparent !important;
}
main > section.hero .hero-copy .trust > div:first-child {
  border-left: 0 !important;
  padding-left: 0 !important;
}
main > section.hero .hero-copy .trust strong {
  display: block !important;
  margin: 0 !important;
  font-size: .78rem !important;
  line-height: 1.25 !important;
  letter-spacing: .075em !important;
  font-weight: 800 !important;
}
main > section.hero .hero-copy .trust span {
  display: block !important;
  margin: .35rem 0 0 !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
  color: #475569 !important;
}

/* v61: image itself is the visual — no colored/gradient layer behind or over it */
main > section.hero .hero-visual,
main > section.hero .hero-visual .scene-card,
main > section.hero .hero-visual .hero-photo-card {
  background: transparent !important;
}
main > section.hero .hero-visual .hero-photo-card {
  border-radius: 16px !important;
  box-shadow: 0 20px 50px rgba(15, 23, 42, .14) !important;
  overflow: hidden !important;
}
main > section.hero .hero-visual .hero-photo-card::after {
  display: none !important;
}
main > section.hero .hero-visual .hero-photo-card img {
  border-radius: 16px !important;
}

/* Caption lifted slightly higher, while staying clear of faces. */
main > section.hero .hero-visual .hero-card-caption {
  bottom: 34px !important;
  left: 20px !important;
  right: 20px !important;
  border-radius: 12px !important;
}

/* Mobile: keep the three items readable without horizontal overflow. */
@media (max-width: 767px) {
  main > section.hero .hero-copy .trust {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  main > section.hero .hero-copy .trust > div,
  main > section.hero .hero-copy .trust > div:first-child {
    min-height: auto !important;
    padding: .8rem 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #e2e8f0 !important;
  }
  main > section.hero .hero-copy .trust > div:first-child {
    border-top: 0 !important;
  }
  main > section.hero .hero-visual .hero-card-caption {
    bottom: 22px !important;
    left: 14px !important;
    right: 14px !important;
  }
}
@media (prefers-color-scheme: dark) {
  main > section.hero .hero-copy .trust > div {
    border-color: rgba(148,163,184,.3) !important;
  }
  main > section.hero .hero-copy .trust span {
    color: #cbd5e1 !important;
  }
}



/* v62 — horizontal value strip + clean hero photo */
main > section.hero .hero-copy .trust {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 44rem !important;
  margin: 2rem 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
main > section.hero .hero-copy .trust > div {
  flex: 1 1 0 !important;
  width: 33.333% !important;
  min-width: 0 !important;
  min-height: 4.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: .65rem 1.15rem !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
main > section.hero .hero-copy .trust > div:first-child {
  border-left: 0 !important;
  padding-left: 0 !important;
}
main > section.hero .hero-copy .trust strong {
  margin: 0 !important;
}
main > section.hero .hero-copy .trust span {
  margin: .35rem 0 0 !important;
}

/* Remove every visual layer behind the hero photo. */
main > section.hero .hero-visual,
main > section.hero .hero-visual::before,
main > section.hero .hero-visual::after,
main > section.hero .hero-visual .scene-card,
main > section.hero .hero-visual .scene-card::before,
main > section.hero .hero-visual .scene-card::after,
main > section.hero .hero-visual .hero-photo-card,
main > section.hero .hero-visual .hero-photo-card::before,
main > section.hero .hero-visual .hero-photo-card::after {
  background: transparent !important;
  box-shadow: none !important;
}

/* Keep only the photo itself as the visual card. */
main > section.hero .hero-visual .hero-photo-card {
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
main > section.hero .hero-visual .hero-photo-card img {
  display: block !important;
  border-radius: 12px !important;
}

/* Caption higher above the image bottom. */
main > section.hero .hero-visual .hero-card-caption,
main > section.hero .hero-visual .photo-caption,
main > section.hero .hero-visual .image-caption,
main > section.hero .hero-visual .hero-caption {
  bottom: 56px !important;
}

@media (max-width: 767px) {
  main > section.hero .hero-copy .trust {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }
  main > section.hero .hero-copy .trust > div,
  main > section.hero .hero-copy .trust > div:first-child {
    width: 100% !important;
    padding: .8rem 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #e2e8f0 !important;
  }
  main > section.hero .hero-copy .trust > div:first-child {
    border-top: 0 !important;
  }
  main > section.hero .hero-visual .hero-card-caption,
  main > section.hero .hero-visual .photo-caption,
  main > section.hero .hero-visual .image-caption,
  main > section.hero .hero-visual .hero-caption {
    bottom: 32px !important;
  }
}
@media (prefers-color-scheme: dark) {
  main > section.hero .hero-copy .trust > div {
    border-color: rgba(148,163,184,.3) !important;
  }
}



/* v63 — production services section */
main section[data-section="services"],
main section.services,
main section#services {
  scroll-margin-top: 6rem;
}
main section[data-section="services"] .section-heading,
main section.services .section-heading,
main section#services .section-heading {
  max-width: 52rem;
  margin-inline: auto !important;
  text-align: center !important;
}
main section[data-section="services"] .section-heading h2,
main section.services .section-heading h2,
main section#services .section-heading h2 {
  margin-inline: auto !important;
  max-width: 22ch;
  font-size: clamp(1.85rem, 4vw, 3rem);
  line-height: 1.1;
  text-wrap: balance;
}
main section[data-section="services"] .section-heading p,
main section.services .section-heading p,
main section#services .section-heading p {
  margin: .9rem auto 0 !important;
  max-width: 62ch;
  font-size: clamp(.98rem, 1.3vw, 1.08rem);
  line-height: 1.7;
  text-wrap: pretty;
}
main section[data-section="services"] .services-grid,
main section.services .services-grid,
main section#services .services-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}
main section[data-section="services"] .service-card,
main section.services .service-card,
main section#services .service-card {
  height: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid rgb(226 232 240);
  border-radius: 1rem;
  background: rgb(255 255 255);
  color: rgb(15 23 42);
}
main section[data-section="services"] .service-card h3,
main section.services .service-card h3,
main section#services .service-card h3 {
  margin: 0;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.3;
}
main section[data-section="services"] .service-card p,
main section.services .service-card p,
main section#services .service-card p {
  margin: .75rem 0 0;
  font-size: 1rem;
  line-height: 1.65;
  color: rgb(71 85 105);
}
main section[data-section="services"] .service-card a,
main section.services .service-card a,
main section#services .service-card a {
  min-height: 2.75rem;
  margin-top: auto;
  padding-top: 1.25rem;
}
@media (max-width: 1023px) {
  main section[data-section="services"] .services-grid,
  main section.services .services-grid,
  main section#services .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 639px) {
  main section[data-section="services"] .services-grid,
  main section.services .services-grid,
  main section#services .services-grid {
    grid-template-columns: 1fr;
  }
  main section[data-section="services"] .service-card,
  main section.services .service-card,
  main section#services .service-card {
    padding: 1.25rem;
  }
}
@media (prefers-color-scheme: dark) {
  main section[data-section="services"] .service-card,
  main section.services .service-card,
  main section#services .service-card {
    border-color: rgb(51 65 85);
    background: rgb(15 23 42);
    color: rgb(241 245 249);
  }
  main section[data-section="services"] .service-card p,
  main section.services .service-card p,
  main section#services .service-card p {
    color: rgb(203 213 225);
  }
}
@media (prefers-reduced-motion: reduce) {
  main section[data-section="services"] *,
  main section.services *,
  main section#services * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}



#services .section-top{text-align:center;max-width:62rem;margin-inline:auto;display:grid;grid-template-columns:1fr;gap:1rem}
#services .section-top>div,#services .section-top>p{margin-inline:auto}
#services .section-top h2{margin-top:.5rem;font-size:clamp(2rem,4vw,3.25rem);line-height:1.1;text-wrap:balance}
#services .section-top>p{max-width:65ch;font-size:clamp(1rem,1.25vw,1.1rem);line-height:1.7}
#services .service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:3rem}
#services .service-grid article{min-width:0;min-height:100%;display:flex;flex-direction:column;padding:1.5rem;border:1px solid rgb(226 232 240);border-radius:1rem;background:#fff;color:#0f172a}
#services .service-grid article h3{margin:.9rem 0 0;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.3}
#services .service-grid article p{margin:.65rem 0 0;font-size:1rem;line-height:1.65;color:#475569}
#services .service-grid article a{margin-top:auto;padding-top:1.25rem;min-height:2.75rem;font-weight:700}
#services .service-grid .service-icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;flex:none;border-radius:.875rem;font-size:1.5rem;background:#f1f5f9}
@media (max-width:1100px){#services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){#services .service-grid{grid-template-columns:1fr;gap:1rem;margin-top:2rem}#services .service-grid article{padding:1.25rem}}
@media (prefers-color-scheme:dark){#services .service-grid article{background:#0f172a;border-color:#334155;color:#f8fafc}#services .service-grid article p{color:#cbd5e1}#services .service-grid .service-icon{background:#1e293b}}
@media (prefers-reduced-motion:reduce){#services *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}



#services .service-grid{
  width:100%;max-width:1200px;margin:3rem auto 0;
  padding-inline:clamp(.75rem,2vw,1.25rem);box-sizing:border-box;align-items:stretch;
}
#services .service-grid article{
  width:100%;box-sizing:border-box;background:#fff!important;color:#0f172a!important;
  border:1px solid #e2e8f0;box-shadow:0 4px 18px rgba(15,23,42,.06);
}
#services .service-grid article p{color:#475569!important}
#services .service-grid .service-icon{background:#f8fafc;border:1px solid #e2e8f0}
@media(max-width:640px){#services .service-grid{padding-inline:.75rem;margin-top:2rem}}
@media(prefers-color-scheme:dark){
 #services .service-grid article{background:#fff!important;color:#0f172a!important;border-color:#e2e8f0!important}
 #services .service-grid article p{color:#475569!important}
 #services .service-grid .service-icon{background:#f8fafc!important;border-color:#e2e8f0!important}
}



/* v66 — How It Works: centered, readable and accessible */
#how-it-works {
  scroll-margin-top: 6rem;
}
#how-it-works .section-top,
#how-it-works .section-heading,
#how-it-works .section-head {
  width: 100%;
  max-width: 62rem;
  margin-inline: auto !important;
  padding-inline: clamp(1rem, 3vw, 2rem);
  box-sizing: border-box;
  text-align: center !important;
}
#how-it-works .eyebrow {
  margin-inline: auto !important;
  text-align: center !important;
}
#how-it-works h2 {
  margin: .5rem auto 0 !important;
  max-width: 24ch;
  font-size: clamp(1.9rem, 4vw, 3.15rem) !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em;
  text-wrap: balance;
}
#how-it-works .section-top > p,
#how-it-works .section-heading > p,
#how-it-works .section-head > p {
  max-width: 62ch;
  margin: .9rem auto 0 !important;
  font-size: clamp(1rem, 1.25vw, 1.1rem) !important;
  line-height: 1.7 !important;
  text-wrap: pretty;
}
#how-it-works .steps,
#how-it-works .step-grid,
#how-it-works .how-steps {
  margin-top: clamp(2rem, 4vw, 3.5rem);
}
#how-it-works :is(a, button) {
  min-height: 2.75rem;
}
@media (max-width: 640px) {
  #how-it-works .section-top,
  #how-it-works .section-heading,
  #how-it-works .section-head {
    padding-inline: 1rem;
  }
  #how-it-works h2 {
    font-size: clamp(1.75rem, 9vw, 2.35rem) !important;
    max-width: 18ch;
  }
  #how-it-works .section-top > p,
  #how-it-works .section-heading > p,
  #how-it-works .section-head > p {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #how-it-works,
  #how-it-works * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}



/* v67 — requested accent + balanced heading spacing */
#how-it-works h2 {
  margin: 0 auto !important;
  padding-block: clamp(1rem, 2vw, 1.5rem);
  line-height: 1.12 !important;
}
#how-it-works h2 em {
  color: #facc15 !important;
  font-style: normal;
}
#how-it-works .section-top > p,
#how-it-works .section-heading > p,
#how-it-works .section-head > p {
  margin: clamp(1rem, 2vw, 1.5rem) auto 0 !important;
  padding-bottom: clamp(1rem, 2vw, 1.5rem);
}



#faq{scroll-margin-top:6rem;width:100%;max-width:62rem;margin-inline:auto;padding-inline:clamp(1rem,3vw,2rem);box-sizing:border-box;text-align:center!important}
#faq .eyebrow{margin-inline:auto!important;text-align:center!important}
#faq h2{margin:.5rem auto 0!important;max-width:24ch;font-size:clamp(1.9rem,4vw,3.15rem)!important;line-height:1.1!important;letter-spacing:-.02em;text-wrap:balance}
#faq h2+p,#faq .section-subtitle,#faq .subtitle{max-width:62ch;margin:.9rem auto 0!important;font-size:clamp(1rem,1.25vw,1.1rem)!important;line-height:1.7!important;text-wrap:pretty}
#faq summary{min-height:3.25rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.45;text-align:left}
#faq summary:focus-visible,#faq a:focus-visible,#faq button:focus-visible{outline:3px solid currentColor;outline-offset:3px}
#faq details p{max-width:70ch;font-size:1rem;line-height:1.7;text-align:left}
@media(max-width:640px){#faq{padding-inline:1rem}#faq h2{font-size:clamp(1.75rem,9vw,2.35rem)!important}#faq h2+p,#faq .section-subtitle,#faq .subtitle{font-size:1rem!important;line-height:1.65!important}}
@media(prefers-reduced-motion:reduce){#faq,#faq *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}



/* v71 — subtle tropical background for the top hero */
#hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #fff;
}
#hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: url("/assets/philippines-tropical-beach-hero.webp");
  background-size: cover;
  background-position: center 52%;
  background-repeat: no-repeat;
  opacity: .34;
  pointer-events: none;
}
#hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.82) 36%,
    rgba(255,255,255,.58) 68%,
    rgba(255,255,255,.48) 100%
  );
  pointer-events: none;
}
#hero > * {
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  #hero::before {
    background-position: 62% center;
    opacity: .13;
  }
  #hero::after {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,.91) 0%,
      rgba(255,255,255,.78) 58%,
      rgba(255,255,255,.62) 100%
    );
  }
}
@media (prefers-color-scheme: dark) {
  /* Hero intentionally remains white in dark system theme. */
  #hero {
    background: #fff !important;
    color-scheme: light;
  }
  #hero::after {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,.92) 0%,
      rgba(255,255,255,.82) 40%,
      rgba(255,255,255,.60) 100%
    );
  }
}
@media (prefers-reduced-motion: reduce) {
  #hero::before {
    background-attachment: scroll;
  }
}



/* v72 — top hero stays white regardless of system dark mode */
#hero,
#hero::before,
#hero::after {
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  #hero {
    background-color: #fff !important;
    color: #0f172a;
  }
}



/* v73 — make the palm/sea Hero background more visible while retaining a white base */
#hero::before {
  opacity: .34 !important;
}
#hero::after {
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.82) 36%,
    rgba(255,255,255,.58) 68%,
    rgba(255,255,255,.48) 100%
  ) !important;
}
@media (max-width: 768px) {
  #hero::before {
    opacity: .28 !important;
  }
  #hero::after {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,.91) 0%,
      rgba(255,255,255,.78) 58%,
      rgba(255,255,255,.62) 100%
    ) !important;
  }
}
@media (prefers-color-scheme: dark) {
  #hero {
    background: #fff !important;
    color-scheme: light;
  }
  #hero::after {
    background: linear-gradient(
      90deg,
      rgba(255,255,255,.92) 0%,
      rgba(255,255,255,.82) 40%,
      rgba(255,255,255,.60) 100%
    ) !important;
  }
}



/* v74 — center the team photo and reduce Hero bottom whitespace */
#hero img {
  object-position: 50% 50% !important;
}
#hero .hero-image,
#hero .hero-media,
#hero .hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
#hero .hero-image img,
#hero .hero-media img,
#hero .hero-visual img {
  object-position: center center !important;
  margin-inline: auto !important;
}
#hero {
  padding-bottom: clamp(1.25rem, 2.5vw, 2.25rem) !important;
}
@media (max-width: 768px) {
  #hero {
    padding-bottom: 1rem !important;
  }
}



/* v76: unified H2 + subtitle system for main sections; header/footer excluded */
main section:not(#hero) .section-heading,
main section:not(#hero) .section-head,
main section:not(#hero) .section-top,
main section:not(#hero) .section-title-group {
  width: min(100%, 68rem);
  margin-inline: auto !important;
  padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 3vw, 2rem) clamp(1.75rem, 3.5vw, 2.75rem);
  box-sizing: border-box;
  text-align: center;
}
main section:not(#hero) .section-heading h2,
main section:not(#hero) .section-head h2,
main section:not(#hero) .section-top h2,
main section:not(#hero) .section-title-group h2,
main section:not(#hero) > h2 {
  margin: 0 auto !important;
  max-width: 22ch;
  font-size: clamp(1.85rem, 3.4vw, 2.85rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em;
  font-weight: 700;
  text-wrap: balance;
  overflow-wrap: break-word;
}
main section:not(#hero) .section-heading > p,
main section:not(#hero) .section-head > p,
main section:not(#hero) .section-top > p,
main section:not(#hero) .section-title-group > p,
main section:not(#hero) > h2 + p {
  width: min(100%, 64ch);
  margin: clamp(.7rem, 1.5vw, 1rem) auto 0 !important;
  font-size: clamp(1rem, 1.2vw, 1.1rem) !important;
  line-height: 1.65 !important;
  font-weight: 400;
  text-wrap: pretty;
  overflow-wrap: break-word;
}
main section:not(#hero) a:focus-visible,
main section:not(#hero) button:focus-visible,
main section:not(#hero) summary:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
  border-radius: .25rem;
}
@media (prefers-reduced-motion: reduce) {
  main section:not(#hero) *,
  main section:not(#hero) *::before,
  main section:not(#hero) *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (max-width: 640px) {
  main section:not(#hero) .section-heading,
  main section:not(#hero) .section-head,
  main section:not(#hero) .section-top,
  main section:not(#hero) .section-title-group {
    padding: 1.25rem 1rem 1.75rem;
  }
  main section:not(#hero) .section-heading h2,
  main section:not(#hero) .section-head h2,
  main section:not(#hero) .section-top h2,
  main section:not(#hero) .section-title-group h2,
  main section:not(#hero) > h2 {
    max-width: 19ch;
    font-size: clamp(1.7rem, 8vw, 2.25rem) !important;
    line-height: 1.14 !important;
  }
  main section:not(#hero) .section-heading > p,
  main section:not(#hero) .section-head > p,
  main section:not(#hero) .section-top > p,
  main section:not(#hero) .section-title-group > p,
  main section:not(#hero) > h2 + p {
    font-size: 1rem !important;
    line-height: 1.65 !important;
    max-width: 60ch;
  }
}



/* FAQ heading now follows the same main-section heading system as the other sections. */
#faq .section-heading {
  width: min(100%, 68rem);
  margin-inline: auto !important;
  padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 3vw, 2rem) clamp(1.75rem, 3.5vw, 2.75rem) !important;
  box-sizing: border-box;
  text-align: center !important;
}
#faq .section-heading .eyebrow {
  margin-inline: auto !important;
  text-align: center !important;
}
#faq .section-heading h2 {
  margin: 0 auto !important;
  max-width: 22ch;
  font-size: clamp(1.85rem, 3.4vw, 2.85rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em;
  font-weight: 700;
  text-align: center !important;
  text-wrap: balance;
}
#faq details > summary {
  position: relative;
  padding-right: 3.25rem !important;
}
#faq details > summary::after {
  content: "+";
  position: absolute;
  right: .25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
  pointer-events: none;
}
#faq details[open] > summary::after { content: "−"; }
#faq details > summary::-webkit-details-marker { display: none; }
#faq details > summary::marker { content: ""; }
@media (max-width: 640px) {
  #faq .section-heading {
    padding: 1.25rem 1rem 1.75rem !important;
  }
  #faq .section-heading h2 {
    max-width: 19ch;
    font-size: clamp(1.7rem, 8vw, 2.25rem) !important;
    line-height: 1.14 !important;
  }
}



/* v78 — Hero team image uses the same horizontal content edge as Hero copy */
#hero .hero-image,
#hero .hero-media,
#hero .hero-visual {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#hero .hero-image img,
#hero .hero-media img,
#hero .hero-visual img {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  object-position: center center !important;
}
#hero .container {
  padding-left: clamp(1rem, 3vw, 2rem) !important;
  padding-right: clamp(1rem, 3vw, 2rem) !important;
}
@media (max-width: 768px) {
  #hero .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}



/* v79 — package badge must remain above the card image and content */
#packages article.package-popular-card {
  position: relative !important;
  isolation: isolate;
  overflow: visible !important;
}
#packages article.package-popular-card .package-popular-badge {
  position: absolute !important;
  z-index: 20 !important;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  min-height: 2rem;
  padding: .375rem 1rem;
  border-radius: 999px;
  background: #7c3aed;
  color: #fff;
  font-size: .625rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .18em;
  box-shadow: 0 .5rem 1.25rem rgba(76,29,149,.22);
  box-shadow: 0 .5rem 1.25rem rgba(76,29,149,.22), 0 0 0 .25rem rgba(255,255,255,.9);
  pointer-events: none;
}
#packages article.package-popular-card > .package-image {
  position: relative;
  z-index: 0 !important;
}
#packages article.package-popular-card > .package-content {
  position: relative;
  z-index: 1 !important;
}



/* v84 — softer Hero image treatment */
#hero .hero-team-image,
#hero .hero-team-image img {
  border: 0 !important;
  box-shadow: none !important;
}
#hero .hero-team-image {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
#hero .hero-team-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(to bottom,
      rgba(255,255,255,.02) 0%,
      rgba(255,255,255,.08) 78%,
      rgba(255,255,255,.42) 100%);
}
#hero .hero-team-image img {
  opacity: .92;
  display: block;
  width: 100%;
  height: auto;
  transition: opacity .3s ease;
}

/* Make the palm/sea background more visible without competing with the copy. */
#hero .hero-background,
#hero .hero-bg,
#hero [data-hero-background] {
  opacity: .24 !important;
}
@media (prefers-reduced-motion: reduce) {
  #hero .hero-team-image img {
    transition: none;
  }
}



/* v85 — actual Hero image selectors; no card treatment */
#hero .hero-team-image {
  position: relative !important;
  overflow: hidden !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
#hero .hero-team-image img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  opacity: .90 !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
}
/* The palm/sea Hero background should be visible, but remain subordinate to copy. */
#hero::before {
  opacity: .30 !important;
}
#hero [data-hero-background],
#hero .hero-background,
#hero .hero-bg,
#hero .hero-bg-image {
  opacity: .30 !important;
}
@media (prefers-reduced-motion: reduce) {
  #hero .hero-team-image img { transition: none !important; }
}



.goph-service-page{max-width:1100px;margin:0 auto;padding:clamp(3.5rem,7vw,6rem) 1rem}
.goph-service-hero{text-align:center;max-width:800px;margin:0 auto 2.75rem}.goph-service-icon{font-size:2.5rem;line-height:1;margin-bottom:1rem}.goph-service-hero .eyebrow{margin-bottom:.75rem}.goph-service-hero h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 1rem}.goph-service-hero .lead{font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65;color:#475569;margin:0 auto}
.goph-service-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:clamp(1.5rem,4vw,3rem);align-items:start}.goph-service-card,.goph-service-form{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;box-shadow:0 12px 32px rgba(15,23,42,.07);padding:clamp(1.25rem,3vw,2rem)}.goph-service-card h2,.goph-service-form h2{font-size:1.35rem;margin:0 0 1.65rem;line-height:1.25}.goph-offer-list,.goph-limit-list{margin:0;padding:0;list-style:none;display:grid;gap:.8rem}.goph-offer-list li,.goph-limit-list li{display:flex;gap:.7rem;line-height:1.55}.goph-offer-list li::before{content:"✓";font-weight:800;color:#15803d}.goph-limit-list li::before{content:"•";font-weight:800;color:#b45309}.goph-service-card .notice{margin-top:1.5rem;padding:1rem;border-radius:.8rem;background:#fffbeb;color:#713f12;border:1px solid #fde68a;line-height:1.55}.goph-price{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.25rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.goph-price strong{font-size:1.8rem}.goph-price span{color:#64748b;font-size:.9rem}.goph-form-grid{display:grid;gap:.9rem}.goph-form-grid label{display:grid;gap:.35rem;font-weight:700;font-size:.9rem}.goph-form-grid input,.goph-form-grid textarea{width:100%;padding:.8rem .9rem;border:1px solid #cbd5e1;border-radius:.7rem;background:#fff;color:#0f172a;font:inherit}.goph-form-grid input:focus-visible,.goph-form-grid textarea:focus-visible{outline:3px solid #2563eb;outline-offset:2px;border-color:#2563eb}.goph-form-grid textarea{min-height:120px;resize:vertical}.goph-form-grid .hint{font-size:.8rem;color:#64748b;font-weight:400}.goph-submit{width:100%;margin-top:.25rem}.goph-status{min-height:1.5rem;margin:.8rem 0 0;font-weight:600}
@media(max-width:800px){.goph-service-layout{grid-template-columns:1fr}.goph-service-form-wrap{order:-1}}@media(prefers-color-scheme:dark){.goph-service-page{background:#0f172a}.goph-service-hero .lead{color:#cbd5e1}.goph-service-card,.goph-service-form{background:#111827;border-color:#334155;color:#f8fafc;box-shadow:none}.goph-price{border-color:#334155}.goph-price span{color:#94a3b8}.goph-form-grid input,.goph-form-grid textarea{background:#0f172a;color:#f8fafc;border-color:#475569}.goph-form-grid .hint{color:#94a3b8}.goph-service-card .notice{background:#422006;color:#fde68a;border-color:#92400e}}



.goph-service-card h2#offer-title{margin-bottom:2.25rem!important;padding-bottom:.15rem}
.goph-request-cta,.goph-service-form .goph-submit{background:#2563eb!important;color:#fff!important;border:1px solid #2563eb!important}
.goph-request-cta:hover,.goph-service-form .goph-submit:hover{background:#1d4ed8!important;color:#fff!important;border-color:#1d4ed8!important}
.goph-request-cta:visited{color:#fff!important}
.goph-phone-grid select{font-size:.9rem;min-width:0}
@media(max-width:520px){.goph-phone-grid{grid-template-columns:minmax(112px,.43fr) minmax(0,1fr)!important;gap:.5rem!important}.goph-phone-grid select{font-size:.84rem;padding-left:.55rem;padding-right:.35rem}}



.goph-request-cta + p,.goph-request-cta ~ .goph-cta-note,.goph-request-cta ~ small,.goph-service-cta-note{font-size:.875rem!important;line-height:1.55!important;color:#64748b!important;margin-top:.55rem!important}
.goph-request-cta + p a,.goph-request-cta ~ .goph-cta-note a,.goph-request-cta ~ small a{color:#475569!important;text-decoration:underline;text-underline-offset:2px}
.goph-service-page{color:#0f172a;background:#fff}
.goph-service-page a:not(.goph-request-cta){text-underline-offset:2px}
.goph-service-page input,.goph-service-page select,.goph-service-page textarea{font-size:1rem;line-height:1.45}
.goph-service-page label{line-height:1.4}
.goph-service-page :focus-visible{outline:3px solid #1d4ed8;outline-offset:3px}
.goph-service-page .hint,.goph-service-page .goph-price-note{font-size:.875rem;line-height:1.5;color:#475569!important}
@media(max-width:520px){.goph-service-page h1{font-size:clamp(1.9rem,8vw,2.5rem);line-height:1.1}.goph-service-page h2{line-height:1.2}.goph-service-page p{line-height:1.6}.goph-service-page{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.goph-service-page *,.goph-service-page *::before,.goph-service-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}



.goph-service-page{position:relative;isolation:isolate;overflow:hidden}
.goph-service-page::before{content:"";position:absolute;inset:0;z-index:-2;background-image:url("/assets/philippines-tropical-beach-hero.webp");background-size:cover;background-position:center;opacity:.055;pointer-events:none}
.goph-service-page::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.91);pointer-events:none}
.goph-service-page>*{position:relative;z-index:1}
.goph-service-card,.goph-service-form{border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 10px 30px rgba(15,23,42,.08),0 2px 8px rgba(15,23,42,.05)!important;border-radius:1rem!important}
.goph-price,.goph-service-price,.goph-price-badge{width:clamp(6.5rem,22vw,8rem);height:clamp(6.5rem,22vw,8rem);border-radius:50%!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:.25rem 0 1.35rem auto;padding:.75rem!important;background:#fff!important;border:1px solid rgba(37,99,235,.18)!important;box-shadow:0 10px 24px rgba(15,23,42,.14),0 2px 7px rgba(15,23,42,.08)!important;color:#0f172a!important}
.goph-price strong,.goph-service-price strong,.goph-price-badge strong{font-size:1.05rem!important;line-height:1.1!important}
.goph-price span,.goph-service-price span,.goph-price-badge span{font-size:.72rem!important;line-height:1.3!important;color:#64748b!important}
.goph-request-cta{display:inline-flex!important;align-items:center;justify-content:center;min-height:2.8rem;padding:.8rem 1.15rem!important;border-radius:.7rem!important;background:#2563eb!important;color:#fff!important;font-weight:800!important;box-shadow:0 6px 14px rgba(37,99,235,.2)!important}
.goph-request-cta:hover{background:#1d4ed8!important;transform:translateY(-1px)}
.goph-service-hero{padding-bottom:clamp(1.5rem,4vw,2.5rem)}
@media(max-width:520px){.goph-price,.goph-service-price,.goph-price-badge{margin-left:auto;margin-right:0}}
@media(prefers-reduced-motion:reduce){.goph-request-cta:hover{transform:none}}



.goph-price,.goph-service-price,.goph-price-badge{
 width:auto!important;height:auto!important;min-width:0!important;border-radius:.85rem!important;
 display:inline-flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;
 text-align:left!important;margin:.25rem 0 1.35rem auto!important;padding:.75rem 1rem!important;
 background:#fff!important;border:1px solid rgba(37,99,235,.16)!important;
 box-shadow:0 6px 18px rgba(15,23,42,.10)!important;color:#0f172a!important;
}
.goph-price strong,.goph-service-price strong,.goph-price-badge strong{font-size:1rem!important;line-height:1.2!important}
.goph-price span,.goph-service-price span,.goph-price-badge span{font-size:.75rem!important;color:#64748b!important}
.goph-service-page::before{
 opacity:.16!important;
 background-image:url("/assets/philippines-tropical-beach-hero.webp")!important;
 background-size:cover!important;background-position:center!important;
}
.goph-service-page::after{background:rgba(255,255,255,.72)!important}
.goph-service-card,.goph-service-form{background:rgba(255,255,255,.94)!important}
@media(max-width:520px){
 .goph-price,.goph-service-price,.goph-price-badge{margin-left:auto!important;margin-right:0!important}
}



.goph-service-page::before{opacity:.22!important;background-image:url("/assets/philippines-tropical-beach-hero.webp")!important;background-size:cover!important;background-position:center!important}
.goph-service-page::after{background:rgba(255,255,255,.66)!important}
.goph-service-card,.goph-service-form{padding:clamp(1.25rem,3vw,2rem)!important;margin-block:clamp(1rem,2vw,1.5rem)!important}
.goph-form-guide{margin:0 0 1.35rem!important;padding:.85rem 1rem!important;border:1px solid #dbeafe!important;border-radius:.75rem!important;background:#eff6ff!important;color:#334155!important;font-size:.9rem!important;line-height:1.5!important}
.goph-service-form label{display:block;margin-bottom:.4rem;font-weight:700;line-height:1.35}
.goph-service-form label .required{color:#b91c1c;font-weight:800;margin-left:.18rem}
.goph-service-form input,.goph-service-form select,.goph-service-form textarea{margin-top:.35rem;min-height:2.85rem;border-radius:.7rem!important;padding:.78rem .9rem!important;border:1px solid #cbd5e1!important;background:#fff!important;color:#0f172a!important}
.goph-service-form textarea{min-height:7.5rem;resize:vertical}
.goph-service-form input::placeholder,.goph-service-form textarea::placeholder{color:#64748b;opacity:1}
.goph-service-form input:focus,.goph-service-form select:focus,.goph-service-form textarea:focus{border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.14)!important}
.goph-field-help{display:block;margin:.4rem 0 1rem;color:#64748b;font-size:.82rem;line-height:1.45}
.goph-service-form .goph-request-cta,.goph-service-form .goph-submit{display:inline-flex!important;align-items:center;justify-content:center;min-height:3rem!important;padding:.85rem 1.25rem!important;margin-top:.75rem!important;border:0!important;border-radius:.7rem!important;background:#2563eb!important;color:#fff!important;font-size:1rem!important;font-weight:800!important;line-height:1.2!important;box-shadow:0 6px 16px rgba(37,99,235,.22)!important}
.goph-service-form .goph-request-cta:hover,.goph-service-form .goph-submit:hover{background:#1d4ed8!important;transform:translateY(-1px)}
.goph-service-form .goph-request-cta:focus-visible,.goph-service-form .goph-submit:focus-visible{outline:3px solid #93c5fd!important;outline-offset:3px}
@media(max-width:520px){.goph-service-card,.goph-service-form{padding:1rem!important}.goph-service-form input,.goph-service-form select,.goph-service-form textarea{font-size:1rem!important}.goph-service-form .goph-request-cta,.goph-service-form .goph-submit{width:100%;margin-top:.9rem!important}}
@media(prefers-reduced-motion:reduce){.goph-service-form .goph-request-cta:hover,.goph-service-form .goph-submit:hover{transform:none}}



.goph-price,.goph-service-price,.goph-price-badge{
 width:clamp(7rem,18vw,8.5rem)!important;height:clamp(7rem,18vw,8.5rem)!important;
 min-width:7rem!important;border-radius:50%!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 text-align:center!important;margin:.25rem 0 1.5rem auto!important;padding:1rem!important;
 background:#fff!important;border:1px solid rgba(15,23,42,.08)!important;
 box-shadow:0 8px 22px rgba(15,23,42,.12)!important;color:#0f172a!important;
}
.goph-price strong,.goph-service-price strong,.goph-price-badge strong{
 font-size:1rem!important;line-height:1.15!important;font-weight:800!important;
}
.goph-price span,.goph-service-price span,.goph-price-badge span{
 margin-top:.25rem!important;font-size:.72rem!important;line-height:1.3!important;color:#64748b!important;
}
@media(max-width:520px){
 .goph-price,.goph-service-price,.goph-price-badge{margin-left:auto!important;margin-right:0!important}
}



/* Required fields */
.goph-service-form label .required{display:inline!important;color:#b91c1c!important;font-size:1rem!important;font-weight:900!important;margin-left:.2rem!important}
.goph-service-form .goph-form-guide{margin-bottom:0!important}

/* Price + quick request: aligned compact row */
.goph-price,.goph-service-price,.goph-price-badge{
 width:clamp(6.5rem,18vw,8rem)!important;height:clamp(6.5rem,18vw,8rem)!important;
 border-radius:50%!important;display:flex!important;flex:0 0 auto!important;
 align-items:center!important;justify-content:center!important;text-align:center!important;
 background:#dc2626!important;color:#fff!important;border:2px solid #fff!important;
 box-shadow:0 8px 22px rgba(15,23,42,.16)!important;margin:0!important;padding:.8rem!important;
}
.goph-price strong,.goph-service-price strong,.goph-price-badge strong{color:#fff!important;font-size:1rem!important;line-height:1.15!important}
.goph-price span,.goph-service-price span,.goph-price-badge span{color:rgba(255,255,255,.88)!important;font-size:.7rem!important}

/* Place price badge and quick request guidance together when both are in the form/card */
.goph-service-form .goph-form-guide{display:flex!important;align-items:center!important;min-height:6.5rem!important;flex:1 1 auto!important;padding:1rem 1.1rem!important;border-radius:.85rem!important}
.goph-service-form .goph-price,
.goph-service-form .goph-service-price,
.goph-service-form .goph-price-badge{float:right!important}

/* Prefer a clean compact layout on narrow screens rather than overflow */
@media(max-width:520px){
 .goph-service-form .goph-form-guide{min-height:0!important;line-height:1.4!important;font-size:.82rem!important}
 .goph-price,.goph-service-price,.goph-price-badge{width:6.25rem!important;height:6.25rem!important}
}



/* Clean service form layout */
.goph-service-form{display:block!important}
.goph-service-form h2{margin-bottom:1.5rem!important}
.goph-service-form .goph-price,
.goph-service-form .goph-service-price,
.goph-service-form .goph-price-badge{
 float:none!important;
 margin:0 0 1.5rem auto!important;
}
.goph-service-form label{display:block;margin-bottom:.45rem;font-weight:700;line-height:1.4}
.goph-service-form label .required{display:inline!important;color:#b91c1c!important;font-size:1rem!important;font-weight:900!important;margin-left:.2rem!important}
.goph-service-form input,.goph-service-form select,.goph-service-form textarea{
 width:100%;box-sizing:border-box;min-height:2.85rem;padding:.78rem .9rem!important;
 border:1px solid #cbd5e1!important;border-radius:.7rem!important;background:#fff!important;color:#0f172a!important;
}
.goph-service-form textarea{min-height:7.5rem;resize:vertical}
.goph-service-form input::placeholder,.goph-service-form textarea::placeholder{color:#64748b!important;opacity:1}
.goph-service-form input:focus,.goph-service-form select:focus,.goph-service-form textarea:focus{
 border-color:#2563eb!important;box-shadow:0 0 0 3px rgba(37,99,235,.14)!important;outline:none
}
.goph-service-form .goph-request-cta,.goph-service-form .goph-submit{
 display:inline-flex!important;align-items:center;justify-content:center;width:auto;min-height:3rem!important;
 padding:.85rem 1.25rem!important;margin-top:.9rem!important;border:0!important;border-radius:.7rem!important;
 background:#2563eb!important;color:#fff!important;font-size:1rem!important;font-weight:800!important;
 line-height:1.2!important;box-shadow:0 6px 16px rgba(37,99,235,.22)!important
}
.goph-service-form .goph-request-cta:hover,.goph-service-form .goph-submit:hover{background:#1d4ed8!important}
.goph-service-form .goph-request-cta:focus-visible,.goph-service-form .goph-submit:focus-visible{
 outline:3px solid #93c5fd!important;outline-offset:3px
}
.goph-service-form .goph-field-help{display:block;margin:.4rem 0 1rem;color:#64748b;font-size:.82rem;line-height:1.45}
@media(max-width:520px){
 .goph-service-form{padding:1rem!important}
 .goph-service-form .goph-price,.goph-service-form .goph-service-price,.goph-service-form .goph-price-badge{
   width:6.25rem!important;height:6.25rem!important;margin:0 0 1.25rem auto!important
 }
 .goph-service-form .goph-request-cta,.goph-service-form .goph-submit{width:100%!important}
}



/* Price sits in the service content, before the request form */
.goph-service-price-wrap{display:block!important;margin:1.25rem 0 2rem!important}
.goph-price,.goph-service-price,.goph-price-badge{
 width:clamp(7.25rem,18vw,8.5rem)!important;
 height:clamp(7.25rem,18vw,8.5rem)!important;
 box-sizing:border-box!important;
 border-radius:50%!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
 justify-content:center!important;
 text-align:center!important;
 margin:0 auto!important;
 padding:1rem!important;
 background:#dc2626!important;
 color:#fff!important;
 border:2px solid #fff!important;
 box-shadow:0 8px 22px rgba(15,23,42,.16)!important;
}
.goph-price strong,.goph-service-price strong,.goph-price-badge strong{
 display:block!important;
 max-width:90%!important;
 margin:0!important;
 padding:0!important;
 color:#fff!important;
 font-size:1rem!important;
 font-weight:800!important;
 line-height:1.2!important;
 overflow-wrap:anywhere!important;
}
.goph-price span,.goph-service-price span,.goph-price-badge span{
 display:block!important;
 max-width:90%!important;
 margin:.3rem 0 0!important;
 padding:0!important;
 color:rgba(255,255,255,.9)!important;
 font-size:.72rem!important;
 font-weight:600!important;
 line-height:1.25!important;
}
.goph-service-form{
 clear:both!important;
 margin-top:2rem!important;
 padding-top:clamp(1.25rem,3vw,2rem)!important;
 border-top:1px solid rgba(15,23,42,.08)!important;
}
@media(max-width:520px){
 .goph-service-price-wrap{margin:1rem 0 1.5rem!important}
 .goph-price,.goph-service-price,.goph-price-badge{
   width:6.75rem!important;height:6.75rem!important;padding:.8rem!important
 }
 .goph-service-form{margin-top:1.5rem!important;padding-top:1.25rem!important}
}



.goph-service-page{background:#fff!important;color:#0f172a!important;max-width:1100px;margin:0 auto;padding:clamp(3rem,6vw,5.5rem) 1rem!important;position:relative;isolation:isolate;overflow:hidden}
.goph-service-page::before{content:"";position:absolute;inset:0;z-index:-2;background:url("/assets/philippines-tropical-beach-hero.webp") center/cover no-repeat;opacity:.11;pointer-events:none}
.goph-service-page::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.88);pointer-events:none}
.goph-service-page>*{position:relative;z-index:1}
.goph-service-hero{max-width:800px!important;margin:0 auto!important;text-align:center!important;padding:0!important}
.goph-service-icon{width:7.5rem;height:7.5rem;margin:0 auto 1.15rem!important;display:flex!important;align-items:center!important;justify-content:center!important}
.goph-service-icon img{display:block;width:100%;height:100%;object-fit:contain}
.goph-service-hero .eyebrow{margin:0 0 .75rem!important}
.goph-service-hero h1{margin:0 0 1rem!important;font-size:clamp(2rem,5vw,3.6rem)!important;line-height:1.08!important;letter-spacing:-.03em!important;color:#0f2f5f!important}
.goph-service-hero .lead{max-width:720px;margin:0 auto!important;font-size:clamp(1.05rem,2vw,1.2rem)!important;line-height:1.65!important;color:#475569!important}
.goph-service-price-wrap{display:flex!important;justify-content:center!important;align-items:center!important;margin:clamp(1.5rem,3vw,2rem) 0 clamp(2rem,4vw,3rem)!important}
.goph-service-price-wrap .goph-price,.goph-service-price-wrap .goph-service-price,.goph-service-price-wrap .goph-price-badge{width:clamp(7.25rem,18vw,8.5rem)!important;height:clamp(7.25rem,18vw,8.5rem)!important;box-sizing:border-box!important;border-radius:50%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;margin:0!important;padding:1rem!important;background:#dc2626!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 8px 22px rgba(15,23,42,.16)!important}
.goph-service-price-wrap .goph-price strong,.goph-service-price-wrap .goph-service-price strong,.goph-service-price-wrap .goph-price-badge strong{display:block!important;max-width:90%!important;margin:0!important;padding:0!important;color:#fff!important;font-size:1rem!important;font-weight:800!important;line-height:1.2!important;overflow-wrap:anywhere}
.goph-service-price-wrap .goph-price span,.goph-service-price-wrap .goph-service-price span,.goph-service-price-wrap .goph-price-badge span{display:block!important;max-width:90%!important;margin:.3rem 0 0!important;padding:0!important;color:rgba(255,255,255,.9)!important;font-size:.72rem!important;font-weight:600!important;line-height:1.25!important}
.goph-service-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,420px)!important;gap:clamp(1.5rem,4vw,3rem)!important;align-items:start!important}
.goph-service-card,.goph-service-form{background:#fff!important;color:#0f172a!important;border:1px solid #e2e8f0!important;border-radius:1rem!important;box-shadow:0 10px 30px rgba(15,23,42,.08),0 2px 8px rgba(15,23,42,.05)!important;padding:clamp(1.25rem,3vw,2rem)!important;margin:0!important}
.goph-service-card h2,.goph-service-form h2{margin:0 0 1.75rem!important;font-size:clamp(1.3rem,2vw,1.5rem)!important;line-height:1.25!important;color:#0f2f5f!important}
.goph-service-card .goph-offer-list{margin:0!important;padding:0!important;display:grid!important;gap:.8rem!important}
.goph-service-card .goph-offer-list li{line-height:1.55!important}
.goph-service-form{margin-top:0!important;border-top:1px solid #e2e8f0!important}
.goph-service-form .goph-price,.goph-service-form .goph-service-price,.goph-service-form .goph-price-badge{display:none!important}
.goph-service-page .goph-service-form input,.goph-service-page .goph-service-form select,.goph-service-page .goph-service-form textarea{background:#fff!important;color:#0f172a!important;border-color:#cbd5e1!important;font-size:1rem!important;line-height:1.45!important}
.goph-service-page .goph-service-form input:focus-visible,.goph-service-page .goph-service-form select:focus-visible,.goph-service-page .goph-service-form textarea:focus-visible{outline:3px solid #1d4ed8!important;outline-offset:3px!important}
.goph-service-page .goph-service-form .goph-submit{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}
@media(max-width:800px){.goph-service-layout{grid-template-columns:1fr!important;gap:1.25rem!important}.goph-service-form-wrap{order:0!important}}
@media(max-width:520px){.goph-service-page{padding:2.5rem .9rem 4rem!important}.goph-service-icon{width:6.25rem;height:6.25rem;margin-bottom:1rem!important}.goph-service-price-wrap{margin:1.35rem 0 2rem!important}.goph-service-price-wrap .goph-price,.goph-service-price-wrap .goph-service-price,.goph-service-price-wrap .goph-price-badge{width:6.75rem!important;height:6.75rem!important}.goph-service-card,.goph-service-form{padding:1rem!important}.goph-service-card h2,.goph-service-form h2{margin-bottom:1.5rem!important}}
@media(prefers-color-scheme:dark){.goph-service-page,.goph-service-card,.goph-service-form{background:#fff!important;color:#0f172a!important}.goph-service-page::after{background:rgba(255,255,255,.88)!important}.goph-service-hero h1,.goph-service-card h2,.goph-service-form h2{color:#0f2f5f!important}.goph-service-hero .lead{color:#475569!important}.goph-service-card .notice{background:#fffbeb!important;color:#713f12!important;border-color:#fde68a!important}}
@media(prefers-reduced-motion:reduce){.goph-service-page *,.goph-service-page *::before,.goph-service-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}



.service-icon img,.goph-service-icon img{background:transparent!important;display:block;object-fit:contain;}
.service-icon,.goph-service-icon{background:transparent!important;}



/* v109 — make the palm/sea background clearly visible on every service page
   while preserving the requested white page surface and readable content. */
.goph-service-page{
  background:#fff!important;
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
.goph-service-page::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background-image:url("/assets/philippines-tropical-beach-hero.webp")!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  opacity:.25!important;
  pointer-events:none!important;
}
.goph-service-page::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:rgba(255,255,255,.64)!important;
  pointer-events:none!important;
}
.goph-service-page>*{
  position:relative!important;
  z-index:1!important;
}
@media(prefers-color-scheme:dark){
  .goph-service-page{
    background:#fff!important;
    color:#0f172a!important;
  }
  .goph-service-page::before{
    opacity:.25!important;
  }
  .goph-service-page::after{
    background:rgba(255,255,255,.64)!important;
  }
}
@media(prefers-reduced-transparency:reduce){
  .goph-service-page::before{opacity:.14!important}
  .goph-service-page::after{background:rgba(255,255,255,.82)!important}
}



.goph-brand-assets-page{background:#fff!important}
.goph-brand-assets-page .goph-service-icon{background:transparent!important;border:0!important;box-shadow:none!important}
.goph-brand-assets-page .goph-service-icon img{object-fit:contain}
.brand-asset-grid,.brand-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.brand-asset-card,.brand-usage-grid article{border:1px solid #dbe3ec;border-radius:1rem;padding:1.25rem;background:#fff;box-shadow:0 .35rem 1.2rem rgba(11,45,98,.07)}
.brand-asset-card h3,.brand-usage-grid h3{margin:0 0 .55rem;color:#0B2D62;font-size:1.08rem;line-height:1.3}
.brand-asset-card p,.brand-usage-grid p{margin:0;color:#526274}
.brand-downloads{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.brand-download{min-height:2.75rem}
.brand-note{margin-top:1.5rem;padding:1rem 1.1rem;border-left:4px solid #e3a300;border-radius:.5rem;background:#fff9df;color:#25364d}
@media(max-width:700px){.brand-asset-grid,.brand-usage-grid{grid-template-columns:1fr}.brand-downloads{display:grid;grid-template-columns:1fr}.brand-download{width:100%}}
@media(prefers-reduced-motion:reduce){.brand-download{transition:none!important}}
