.gt-page {
  --gt-ink: #152a35;
  --gt-paper: #f3efe4;
  --gt-warm: #e8dfcc;
  --gt-rule: #c9c0ad;
  --gt-gold: #e4bd78;
  background: var(--gt-paper);
  color: var(--gt-ink);
  font-family: var(--font-sans), sans-serif;
  line-height: 1.62;
  overflow-x: clip;
  padding-top: 108px;
  color-scheme: light;
}
.gt-page * { box-sizing: border-box; }
.gt-page :focus-visible { outline: 2px solid #a1652d; outline-offset: 4px; }
.gt-page ::selection { background: var(--gt-gold); color: var(--gt-ink); }
.gt-page h1, .gt-page h2, .gt-page h3, .gt-page p, .gt-page figure, .gt-page ol { margin: 0; }
.gt-page h1, .gt-page h2, .gt-page h3 { font-family: var(--font-serif), Georgia, serif; font-weight: 500; }
.gt-page h1 { font-size: clamp(3.5rem, 6vw, 6rem); line-height: .97; letter-spacing: -.035em; text-wrap: balance; }
.gt-page h2 { font-size: clamp(2.5rem, 4.5vw, 4.8rem); line-height: 1.02; letter-spacing: -.026em; text-wrap: balance; }
.gt-page h3 { font-size: clamp(1.45rem, 2vw, 2.2rem); line-height: 1.14; }
.gt-page a { color: inherit; text-underline-offset: 4px; }
.gt-shell { width: min(100%, 1500px); padding-inline: clamp(20px, 4vw, 72px); margin-inline: auto; }
.gt-section-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: end; gap: clamp(22px, 5vw, 90px); margin-bottom: clamp(38px, 5vw, 76px); }
.gt-section-intro p { max-width: 54ch; font-size: clamp(1.05rem, 1.3vw, 1.2rem); }
.gt-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 52px; padding: 13px 22px; background: var(--gt-gold); color: #172936 !important; text-decoration: none; font-weight: 700; border-radius: 3px; }
.gt-button:hover { background: #f4d59f; }
.gt-button svg, .gt-city-links svg, .gt-source svg, .gt-niche-links svg, .gt-guide a svg, .gt-offer-list a svg { flex: none; transition: transform .22s ease; }
.gt-page a:hover svg { transform: translateX(4px); }
.gt-source { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 600; line-height: 1.4; text-decoration: underline; text-decoration-color: #9e9b8f; }
.gt-source svg { width: 14px; height: 14px; }

.gt-hero { background: #122733; color: #f8f3e9; position: relative; padding-block: clamp(24px, 3vw, 44px) clamp(80px, 8vw, 130px); }
.gt-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 5px; background: linear-gradient(90deg,#274c59 0 19%,#d4b479 19% 22%,#274c59 22% 43%,#d4b479 43% 46%,#274c59 46% 70%,#d4b479 70% 73%,#274c59 73%); }
.gt-crumbs { display: flex; gap: 9px; flex-wrap: wrap; margin-bottom: clamp(40px, 5vw, 80px); color: #c3d0d0; font-size: .82rem; }
.gt-crumbs a:hover { color: #fff; }
.gt-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); gap: clamp(28px, 4vw, 70px); align-items: stretch; }
.gt-hero-copy { max-width: 720px; }
.gt-keyword { display: block; font-family: var(--font-sans), sans-serif; font-size: clamp(1.06rem, 1.6vw, 1.3rem); line-height: 1.4; font-weight: 600; letter-spacing: 0; color: var(--gt-gold); margin-bottom: 22px; }
.gt-hero-copy > p { margin-top: 28px; max-width: 57ch; font-size: clamp(1.08rem, 1.4vw, 1.26rem); color: #dce4df; }
.gt-hero-prices { display: flex; flex-wrap: wrap; gap: 12px 28px; border-top: 1px solid #526873; border-bottom: 1px solid #526873; padding-block: 18px; margin-top: 34px; }
.gt-hero-prices span { display: grid; gap: 2px; font-size: .84rem; color: #bdcbca; }
.gt-hero-prices strong { color: #fff7e9; font-size: 1.08rem; }
.gt-hero-copy > small { display: block; margin-top: 9px; color: #bdcbca; }
.gt-hero-copy .ns-trustline { margin-top: 22px; }
.gt-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 30px; margin-top: 30px; }
.gt-text-link { font-weight: 600; }
.gt-hero-image { min-height: 650px; align-self: stretch; overflow: hidden; border-radius: 3px; position: relative; background: #2c4652; }
.gt-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: 57% center; position: absolute; inset: 0; }
.gt-hero-image::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px #ffffff42; pointer-events: none; }

.gt-regions { padding-block: clamp(78px, 8vw, 132px); background: var(--gt-paper); }
.gt-region-board { border-top: 2px solid var(--gt-ink); }
.gt-region { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(26px, 6vw, 110px); padding-block: clamp(34px, 4.5vw, 68px); border-bottom: 1px solid var(--gt-rule); }
.gt-region-name { display: grid; align-content: start; gap: 20px; }
.gt-region h3 { font-size: clamp(2.5rem, 4vw, 4.5rem); }
.gt-city-links { display: flex; flex-wrap: wrap; gap: 8px; }
.gt-city-links a { display: inline-flex; align-items: center; gap: 10px; padding: 9px 12px; background: #e8e1d2; border: 1px solid #d5cbbb; border-radius: 3px; text-decoration: none; font-size: .91rem; font-weight: 700; }
.gt-city-links a:hover { background: #ded1b9; }
.gt-city-links svg { width: 14px; height: 14px; }
.gt-region-story { display: grid; align-content: start; gap: 16px; max-width: 64ch; }
.gt-region-story p:first-child { font-size: clamp(1.13rem, 1.5vw, 1.32rem); font-weight: 600; line-height: 1.44; }
.gt-region-story p strong { font-weight: 700; }
.gt-nearby { margin-top: 35px !important; font-size: .95rem; }

.gt-niches { background: #d7e0dd; padding-block: clamp(80px, 8vw, 130px); }
.gt-niches-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(40px, 7vw, 120px); }
.gt-niches-grid > div:first-child p { max-width: 48ch; margin-top: 27px; font-size: 1.14rem; }
.gt-niche-links { border-top: 2px solid var(--gt-ink); }
.gt-niche-links a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 20px; padding: 20px 0; border-bottom: 1px solid #9cabaa; text-decoration: none; }
.gt-niche-links a span { font-weight: 700; font-size: 1.2rem; }
.gt-niche-links a small { grid-column: 1; font-size: .9rem; color: #3c5158; }
.gt-niche-links a svg { grid-column: 2; grid-row: 1 / 3; align-self: center; }

.gt-guides { background: #fbf8f0; padding-block: clamp(80px, 8vw, 130px); }
.gt-guide-list { border-top: 2px solid var(--gt-ink); }
.gt-guide { display: grid; grid-template-columns: 50px minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(18px, 4vw, 75px); padding-block: clamp(32px, 4vw, 55px); border-bottom: 1px solid var(--gt-rule); }
.gt-guide-no { font-family: var(--font-serif), Georgia, serif; font-size: 1.7rem; color: #86602e; }
.gt-guide h3 { max-width: 17ch; font-size: clamp(1.7rem, 2.4vw, 2.7rem); }
.gt-guide p { max-width: 38ch; margin-top: 15px; }
.gt-guide ol { padding-left: 24px; margin: 0 0 22px; }
.gt-guide li { padding-left: 6px; margin-bottom: 8px; }
.gt-guide a { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
.gt-guide > div:last-child > small { display: block; margin-top: 8px; color: #44545a; }

.gt-support { padding-block: clamp(80px, 8vw, 130px); background: var(--gt-warm); }
.gt-support-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 clamp(24px, 4vw, 65px); border-top: 2px solid var(--gt-ink); }
.gt-support-list > div { padding-block: 28px 38px; border-bottom: 1px solid #baae9a; }
.gt-support-list h3 { font-size: clamp(1.45rem, 1.9vw, 2rem); }
.gt-support-list p { margin: 13px 0 17px; }

.gt-offers { background: #122733; color: #f7f1e5; padding-block: clamp(80px, 8vw, 130px); }
.gt-offers .gt-section-intro p { color: #c7d2d0; }
.gt-offer-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 30px; border-top: 2px solid #d1b479; }
.gt-offer-list > div { display: flex; flex-direction: column; align-items: start; padding: 26px 0 34px; border-bottom: 1px solid #536a73; }
.gt-offer-list h3 { font-size: clamp(1.5rem, 1.9vw, 2rem); }
.gt-offer-list p { margin-top: 12px; color: #c7d2d0; }
.gt-offer-list strong { display: block; margin-top: auto; padding-top: 25px; color: #f8d296; font-size: 1.04rem; }
.gt-offer-list a { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-weight: 700; }
.gt-offers .gt-shell > small { display: block; margin-top: 24px; color: #bac9c7; }

.gt-faq { background: #f5f0e4; padding-block: clamp(80px, 8vw, 130px); }
.gt-faq .gt-shell { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 0 clamp(28px, 6vw, 110px); }
.gt-faq h2 { max-width: 12ch; }
.gt-faq .gt-shell > div { border-top: 2px solid var(--gt-ink); }
.gt-faq section { padding-block: 24px; border-bottom: 1px solid var(--gt-rule); }
.gt-faq h3 { font-size: 1.55rem; }
.gt-faq p { margin-top: 10px; max-width: 66ch; }
.gt-faq .gt-button { grid-column: 2; justify-self: start; margin-top: 28px; }

@media (max-width: 980px) {
  .gt-hero-grid, .gt-niches-grid { grid-template-columns: 1fr; }
  .gt-hero-image { min-height: 480px; }
  .gt-support-list, .gt-offer-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .gt-page { padding-top: 82px; }
  .gt-section-intro, .gt-region, .gt-guide, .gt-faq .gt-shell { grid-template-columns: 1fr; }
  .gt-section-intro { gap: 16px; }
  .gt-crumbs { margin-bottom: 38px; }
  .gt-hero { padding-bottom: 80px; }
  .gt-hero-image { min-height: 310px; }
  .gt-hero-prices { gap: 12px; }
  .gt-region { gap: 20px; }
  .gt-guide { gap: 14px; }
  .gt-guide h3 { max-width: none; }
  .gt-support-list, .gt-offer-list { grid-template-columns: 1fr; }
  .gt-faq .gt-button { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .gt-page svg { transition: none !important; }
}
/* First screen above the fold at 1440x900. */
.gt-page h1{font-size:clamp(2.8rem,4.4vw,4.8rem)}.gt-crumbs{margin-bottom:clamp(22px,2.6vw,36px)}.gt-hero-copy>p{margin-top:20px}.gt-hero-prices{margin-top:22px;padding-block:12px}
@media(max-width:700px){.gt-page h1{font-size:clamp(2.1rem,9vw,2.6rem)}.gt-crumbs{margin-bottom:16px}.gt-hero-copy>p{margin-top:14px;font-size:1rem}.gt-keyword{margin-bottom:10px}}
