/* sardiniagetaway.com — region rows, wide photos, no card grid */
.gw-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1rem 1.25rem; max-width: var(--page-max); margin: 0 auto; }
.gw-top nav { display: flex; gap: 1.5rem; font-weight: 600; font-size: .95rem; }
.gw-top nav a { text-decoration: none; color: var(--ink-2); }
.gw-top nav a:hover { color: var(--ink); text-decoration: underline; }
@media (max-width: 52rem) { .gw-top nav { display: none; } }

.gw-logo { display: inline-flex; align-items: baseline; font-weight: 800; font-size: 1.3rem;
  letter-spacing: -.03em; text-decoration: none; color: var(--ink); }
.gw-logo span { color: var(--coral); }
.gw-logo:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 4px; }

/* hero: one wide photo band, text over it */
.gw-hero { position: relative; margin: 0 0 3.5rem; }
.gw-hero img { width: 100%; height: clamp(22rem, 62vh, 34rem); object-fit: cover; display: block; }
.gw-hero__veil { position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.66) 0%, rgba(0,0,0,.28) 45%, rgba(0,0,0,.08) 100%); }
.gw-hero__inner { position: absolute; inset: auto 0 0 0; max-width: var(--page-max);
  margin: 0 auto; padding: 0 1.25rem 2.25rem; color: #fff; }
.gw-hero h1 { font-size: clamp(2.1rem, 5.4vw, 3.8rem); font-weight: 800; letter-spacing: -.03em;
  max-width: 20ch; text-wrap: balance; }
.gw-hero p { font-size: 1.15rem; max-width: 42ch; margin: .9rem 0 1.5rem; color: rgba(255,255,255,.92); }
.gw-hero__actions { display: flex; flex-wrap: wrap; gap: .9rem; }

.gw-section { padding-block: 3.5rem; }
.gw-section h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); font-weight: 800; letter-spacing: -.02em; }
.gw-section__lede { color: var(--ink-2); font-size: 1.12rem; max-width: 46ch; margin: .75rem 0 0; }

/* a region is a wide row, not a card */
.gw-region { border-top: 1px solid var(--line); padding: 2.25rem 0; display: grid; gap: 1.5rem; }
@media (min-width: 58rem) {
  .gw-region { grid-template-columns: 1fr 1.05fr; gap: 2.5rem; align-items: center; }
  .gw-region:nth-child(even) .gw-region__photo { order: 2; }
}
.gw-region__photo { margin: 0; min-width: 0; }
.gw-region__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover;
  border-radius: var(--r-card); box-shadow: var(--sh-box); }
.gw-region h3 { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; }
.gw-region__places { color: var(--coral); font-weight: 700; font-size: .92rem;
  margin: .2rem 0 .7rem; }
.gw-region__lede { color: var(--ink-2); margin-bottom: 1rem; }
.gw-facts { display: grid; gap: .55rem; margin: 0 0 1rem; }
.gw-facts div { display: grid; grid-template-columns: 8.5rem 1fr; gap: .75rem; font-size: .93rem; }
.gw-facts dt { color: var(--ink-3); }
.gw-facts dd { margin: 0; color: var(--ink); font-weight: 600; }
@media (max-width: 30rem) { .gw-facts div { grid-template-columns: 6rem 1fr; gap: .6rem; } }
.gw-region__note { font-size: .93rem; color: var(--ink-2); background: var(--coral-wash);
  border-radius: var(--r-lg); padding: .8rem 1rem; margin: 0; }

/* price strip: three bars, no tabs */
.gw-bars { display: grid; gap: 1rem; margin: 2rem 0 0; max-width: 46rem; }
.gw-bar { display: grid; grid-template-columns: 9rem 1fr auto; gap: 1rem; align-items: center; }
@media (max-width: 40rem) { .gw-bar { grid-template-columns: 7rem 1fr auto; gap: .6rem; font-size: .93rem; } }
.gw-bar__name { font-weight: 700; }
.gw-bar__track { display: block; background: var(--line-soft); border-radius: 999px; height: 1.6rem; overflow: hidden; }
.gw-bar__fill { display: block; height: 100%; border-radius: 999px; background: #B0B0B0; }
.gw-bar--us .gw-bar__fill { background: var(--teal); }
.gw-bar__sum { font-weight: 800; font-variant-numeric: tabular-nums; }
.gw-note { font-size: .82rem; color: var(--ink-3); margin-top: 1.5rem; max-width: 62rem; }
.gw-note a { color: var(--ink-3); }

/* steps as one line, not stacked cards */
.gw-steps { display: grid; gap: 1.25rem; margin-top: 2rem; counter-reset: gw; }
@media (min-width: 58rem) { .gw-steps { grid-template-columns: repeat(4, 1fr); gap: 1.75rem; } }
.gw-steps li { counter-increment: gw; list-style: none; border-top: 3px solid var(--coral);
  padding-top: .9rem; }
.gw-steps h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .35rem; }
.gw-steps h3::before { content: counter(gw) " · "; color: var(--coral); font-variant-numeric: tabular-nums; }
.gw-steps p { color: var(--ink-2); font-size: .95rem; margin: 0; }

/* slim byline instead of a founder card */
.gw-by { display: flex; gap: 1rem; align-items: center; margin-top: 2.5rem;
  border-top: 1px solid var(--line); padding-top: 1.5rem; }
.gw-by img { width: 3.5rem; height: 3.5rem; border-radius: 50%; object-fit: cover;
  object-position: center; flex: none; }
.gw-by p { margin: 0; font-size: .95rem; color: var(--ink-2); max-width: 52ch; }
.gw-by strong { color: var(--ink); }

.gw-cta { background: var(--ink); color: #fff; border-radius: var(--r-card);
  padding: clamp(2rem, 5vw, 3.25rem); display: grid; gap: 1.25rem; }
.gw-cta h2 { color: #fff; }
.gw-cta p { color: #d8d8d8; max-width: 46ch; margin: 0; }
.gw-cta__actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.gw-cta__small { font-size: .9rem; color: #bdbdbd; }
.gw-cta__small a { color: #fff; }
