@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');

:root {
  --wg-ink: #07182b;
  --wg-ink-soft: #102a43;
  --wg-bronze: #d4ad62;
  --wg-bronze-dark: #ad7d36;
  --wg-evergreen: #0b3b35;
  --wg-cranberry: #8f3048;
  --wg-sand: #f5efe4;
  --wg-ivory: #fcfaf4;
  --wg-frost: #e8eef3;
  --wg-white: #fff;
  --wg-gray: #5d6b78;
  --wg-line: #d7d9dc;
  --wg-radius: 22px;
  --wg-shadow: 0 24px 70px rgba(16, 35, 38, .12);
}

html { scroll-behavior: smooth; }
body.wasatch-glow-site {
  margin: 0 !important;
  color: var(--wg-ink);
  background: var(--wg-ivory);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}
.wasatch-glow-site *, .wasatch-glow-site *::before, .wasatch-glow-site *::after { box-sizing: border-box; }
.wasatch-glow-site h1, .wasatch-glow-site h2, .wasatch-glow-site h3, .wasatch-glow-site p { margin-top: 0; }
.wasatch-glow-site h1, .wasatch-glow-site h2, .wasatch-glow-site h3 {
  font-family: "Libre Caslon Display", Georgia, serif;
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.02;
}
.wasatch-glow-site h1 { font-size: clamp(3.5rem, 6.3vw, 6.5rem); }
.wasatch-glow-site h2 { font-size: clamp(2.55rem, 4.2vw, 4.65rem); }
.wasatch-glow-site h3 { font-size: 1.55rem; }
.wasatch-glow-site p { margin-bottom: 1.45rem; }
.wasatch-glow-site a { color: inherit; text-decoration: none; }
.wasatch-glow-site img { max-width: 100%; }
.wg-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.wg-eyebrow {
  margin-bottom: 1.25rem !important;
  color: var(--wg-bronze-dark);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.wg-skip { position: fixed; z-index: 99999; top: 10px; left: -999px; background: white; padding: 10px 14px; }
.wg-skip:focus { left: 10px; }

.wg-header {
  position: relative;
  z-index: 100;
  height: 94px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(7,24,43,.98);
  box-shadow: 0 12px 35px rgba(2,11,22,.18);
}
.wg-nav-wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.wg-logo { display: inline-flex; align-items: center; gap: 13px; color: var(--wg-ink); }
.wg-logo svg { width: 46px; filter: drop-shadow(0 0 8px rgba(228,190,112,.2)); }
.wg-mark-ring { stroke:rgba(212,173,98,.58); }
.wg-mark-roof { stroke:currentColor; }
.wg-mark-base { stroke:var(--wg-cranberry); }
.wg-mark-lights { fill:#f4d88e; }
.wg-mark-star { stroke:#f4d88e; }
.wg-logo strong { display: block; font-family: "Libre Caslon Display", Georgia, serif; font-size: 1.42rem; font-weight: 400; letter-spacing: .1em; line-height: 1.05; text-transform: uppercase; }
.wg-logo small { display: block; margin-top: 5px; color: var(--wg-bronze); font-size: .5rem; letter-spacing: .35em; }
.wg-logo-light { color: white; }
.wg-navigation { display: flex; align-items: center; gap: 27px; color: #edf2f4; font-size: .8rem; font-weight: 700; }
.wg-navigation > a:not(.wg-button) { padding-block: 9px; border-bottom: 1px solid transparent; }
.wg-navigation > a:not(.wg-button):hover { color:#f3dea5; border-color: var(--wg-bronze); }
.wg-menu-button { display:none; color:white; border:1px solid rgba(255,255,255,.3); border-radius:99px; background:transparent; padding:10px 15px; font:700 .78rem "DM Sans",sans-serif; }

.wg-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 14px 24px;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.wg-button:hover { transform: translateY(-2px); }
.wg-button-dark { color: var(--wg-ink) !important; background: linear-gradient(135deg,#f0d897,var(--wg-bronze)); box-shadow:0 10px 24px rgba(212,173,98,.2); }
.wg-button-bronze { color: var(--wg-ink) !important; background: linear-gradient(135deg,#f0d897,var(--wg-bronze)); box-shadow:0 12px 30px rgba(212,173,98,.22); }
.wg-button-bronze:hover { background: linear-gradient(135deg,#ffe8ad,#c99a4e); }
.wg-button-outline { color:white!important; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.06); }
.wg-button-small { min-height: 44px; padding: 12px 20px; }
.wg-button-full { width: 100%; }
.wg-inline-link { display: block; margin-top: 18px; font-size: .8rem; font-weight: 700; }

.wg-home-hero { position:relative; overflow:hidden; min-height:680px; background:var(--wg-ink); }
.wg-home-hero::before { position:absolute; z-index:3; top:0; right:50%; left:0; height:2px; content:""; background:linear-gradient(90deg,transparent,var(--wg-bronze),transparent); box-shadow:0 0 18px var(--wg-bronze); }
.wg-home-hero-grid { min-height:680px; display:grid; grid-template-columns:48% 52%; align-items:stretch; }
.wg-hero-copy { position:relative; z-index:2; display:flex; align-items:center; color:white; background:radial-gradient(circle at 10% 20%,#173854 0%,#0a2138 45%,#061426 100%); }
.wg-hero-copy::after { position:absolute; right:-70px; width:140px; height:100%; content:""; background:linear-gradient(90deg,#061426,transparent); pointer-events:none; }
.wg-hero-copy-inner { width:100%; padding:78px 62px 62px max(24px,calc((100vw - 1180px)/2)); }
.wg-hero-copy h1 { max-width: 720px; margin-bottom: 25px; }
.wg-hero-copy h1 em { color:#efd795; font-style:normal; text-shadow:0 0 26px rgba(239,215,149,.15); }
.wg-hero-copy-inner > p:not(.wg-eyebrow) { max-width:610px; color:#c2cbd2; font-size:1.08rem; }
.wg-hero-media { position:relative; min-width:0; }
.wg-hero-media::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(6,20,38,.25),transparent 45%),linear-gradient(0deg,rgba(6,20,38,.25),transparent 38%); pointer-events:none; }
.wg-hero-media img { display:block; width:100%; height:100%; min-height:680px; object-fit:cover; object-position:center; }
.wg-hero-badge { position:absolute; z-index:2; right:30px; bottom:28px; display:flex; gap:12px; align-items:center; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:white; background:rgba(7,24,43,.8); backdrop-filter:blur(12px); padding:12px 18px; font-size:.6rem; letter-spacing:.15em; }
.wg-hero-badge span { color:#f3dea5; font-size:1rem; filter:drop-shadow(0 0 7px #f3dea5); }
.wg-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 30px; }
.wg-hero-trust { display:flex; gap:0; margin-top:32px; border-top:1px solid rgba(255,255,255,.17); }
.wg-hero-trust span { padding:16px 28px 0 0; color:#aebbc4; font-size:.69rem; }
.wg-hero-trust small { margin-right:7px; color:#efd795; font-weight:800; letter-spacing:.15em; }

.wg-highlights { border-bottom:1px solid rgba(255,255,255,.1); color:white; background:var(--wg-evergreen); }
.wg-highlight-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.wg-highlight-grid a { display:flex; min-height:175px; flex-direction:column; padding:34px 28px 28px 0; transition:.22s; }
.wg-highlight-grid a + a { border-left:1px solid rgba(255,255,255,.15); padding-left:28px; }
.wg-highlight-grid a:hover { background:rgba(255,255,255,.055); }
.wg-highlight-grid h3 { margin-bottom: 10px; font-size: 1.35rem; }
.wg-highlight-grid p { margin:0; color:#b8c9c5; font-size:.82rem; line-height:1.55; }
.wg-highlight-grid b { margin-top:auto; color:#efd795; font-size:.62rem; }

.wg-section { padding: 115px 0; }
.wg-sand { background: var(--wg-sand); }
.wg-manifesto { display: grid; grid-template-columns: .95fr 1.05fr; gap: 92px; align-items: start; }
.wg-manifesto > div:first-child > p:last-child { max-width: 520px; color: #445357; font-size: 1.13rem; }
.wg-rule-list article { display: grid; grid-template-columns: 48px 1fr; gap: 18px; border-top: 1px solid var(--wg-line); padding: 25px 0 22px; }
.wg-rule-list article:last-child { border-bottom: 1px solid var(--wg-line); }
.wg-rule-list span { color: var(--wg-bronze); font-size: .7rem; font-weight: 700; }
.wg-rule-list h3 { margin-bottom: 8px; font-size: 1.48rem; }
.wg-rule-list p { margin: 0; color: var(--wg-gray); font-size: .84rem; }
.wg-section-top { display: grid; grid-template-columns: 1.45fr .55fr; gap: 80px; align-items: end; margin-bottom: 48px; }
.wg-section-top > p { color: var(--wg-gray); }

.wg-service-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.wg-service-cards > a {
  display: flex;
  min-height: 390px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #dadde0;
  border-radius: var(--wg-radius);
  background: white;
  padding: 28px;
  transition: transform .25s, box-shadow .25s;
}
.wg-service-cards > a:hover { transform:translateY(-6px); border-color:var(--wg-bronze); box-shadow:0 25px 60px rgba(7,24,43,.16),0 0 0 1px rgba(212,173,98,.25); }
.wg-service-cards > a:nth-child(1) { border-top:4px solid var(--wg-bronze); }
.wg-service-cards > a:nth-child(2) { border-top:4px solid var(--wg-cranberry); }
.wg-service-cards > a:nth-child(3) { border-top:4px solid var(--wg-evergreen); }
.wg-service-cards span { color: var(--wg-bronze); font-size: .68rem; }
.wg-service-cards h3 { margin-top: auto; font-size: 1.8rem; }
.wg-service-cards p { color: var(--wg-gray); }
.wg-service-cards b { margin-top: 20px; font-size: .72rem; }

.wg-dark { position:relative; padding:105px 0; color:white; background:radial-gradient(circle at 80% 10%,#173a4d 0%,#0b2537 32%,#061426 75%); }
.wg-dark::before { position:absolute; inset:0; content:""; opacity:.16; background-image:radial-gradient(circle at 1px 1px,#d9b86c 1px,transparent 0); background-size:32px 32px; pointer-events:none; }
.wg-dark > .wg-shell { position:relative; }
.wg-dark-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 90px; align-items: start; }
.wg-dark-heading p { color: #aeb9b9; font-size: 1.05rem; }
.wg-dark-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 42px; }
.wg-dark-cards a { display:flex; min-height:270px; flex-direction:column; border:1px solid rgba(255,255,255,.15); border-radius:var(--wg-radius); background:rgba(255,255,255,.035); padding:25px; transition:.25s; }
.wg-dark-cards a:hover { transform:translateY(-5px); border-color:rgba(239,215,149,.65); background:rgba(255,255,255,.07); box-shadow:0 18px 45px rgba(0,0,0,.22); }
.wg-dark-cards small { color: #d8ae78; font-size: .58rem; font-weight: 700; letter-spacing: .18em; }
.wg-dark-cards h3 { margin-top:auto; font-size:1.45rem; }
.wg-dark-cards p { margin: 0; color: #aab4b5; font-size: .8rem; }
.wg-dark-cards b { margin-top:18px; color:#efd795; font-size:.65rem; }

.wg-plan-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.wg-plan-grid > div:first-child > p:not(.wg-eyebrow) { max-width: 500px; color: var(--wg-gray); }
.wg-mini-steps { margin: 30px 0 0; padding: 0; list-style: none; }
.wg-mini-steps li { display: grid; grid-template-columns: 45px 1fr; gap: 12px; border-top: 1px solid var(--wg-line); padding: 18px 0; }
.wg-mini-steps li:last-child { border-bottom: 1px solid var(--wg-line); }
.wg-mini-steps li > span { color: var(--wg-bronze); font-size: .68rem; }
.wg-mini-steps strong { font-family: "Libre Caslon Display", Georgia, serif; font-size: 1.22rem; font-weight: 400; }
.wg-mini-steps p { margin: 4px 0 0; color: var(--wg-gray); font-size: .78rem; }
.wg-form-card { border-radius: 24px; background: white; padding: 32px; box-shadow: var(--wg-shadow); }
.wg-form label { display: block; margin-bottom: 16px; color: #263638; font-size: .74rem; font-weight: 700; }
.wg-form input, .wg-form select, .wg-form textarea {
  width: 100%;
  margin-top: 7px;
  border: 1px solid #d9d9d4;
  border-radius: 12px;
  outline: none;
  background: white;
  padding: 14px 15px;
  color: var(--wg-ink);
  font: 400 .95rem "DM Sans", sans-serif;
}
.wg-form input:focus, .wg-form select:focus, .wg-form textarea:focus { border-color: var(--wg-bronze); box-shadow: 0 0 0 3px rgba(181,122,67,.12); }
.wg-form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.wg-form .wg-consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.wg-consent input { width: auto; margin-top: 3px; }
.wg-honeypot { position: absolute !important; left: -99999px !important; }
.wg-notice { margin-bottom: 18px; border-radius: 12px; padding: 13px 15px; font-size: .85rem; }
.wg-success { background: #e5f2e8; }
.wg-error { background: #f8e4e1; }

.wg-area-intro { display: grid; grid-template-columns: 1.3fr .7fr; gap: 90px; align-items: center; }
.wg-area-intro p { color: var(--wg-gray); font-size: 1.05rem; }
.wg-area-pills { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.wg-area-pills a { display:inline-flex; gap:10px; align-items:center; border:1px solid #d2d6da; border-radius:999px; background:white; padding:10px 17px; font-size:.75rem; font-weight:700; box-shadow:0 8px 18px rgba(7,24,43,.05); transition:.2s; }
.wg-area-pills a span { color:var(--wg-bronze-dark); }
.wg-area-pills a:hover { transform:translateY(-3px); color:white; border-color:var(--wg-ink-soft); background:var(--wg-ink-soft); box-shadow:0 12px 26px rgba(7,24,43,.18); }
.wg-faq-section { border-top: 1px solid var(--wg-line); }
.wg-faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 95px; }
.wg-faq-grid > div:first-child p:last-child { max-width: 350px; color: var(--wg-gray); font-size: 1.04rem; }
.wg-accordion details { border-top: 1px solid var(--wg-line); padding: 20px 0; }
.wg-accordion details:last-child { border-bottom: 1px solid var(--wg-line); }
.wg-accordion summary { display: flex; justify-content: space-between; cursor: pointer; font-family: "Libre Caslon Display", Georgia, serif; font-size: 1.25rem; list-style: none; }
.wg-accordion summary::-webkit-details-marker { display: none; }
.wg-accordion summary span { color: var(--wg-bronze); }
.wg-accordion details[open] summary span { transform: rotate(45deg); }
.wg-accordion details p { margin: 13px 40px 0 0; color: var(--wg-gray); font-size: .84rem; }

.wg-process { background: white; }
.wg-step-list { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--wg-line); }
.wg-step-list article { min-height: 270px; border-right: 1px solid var(--wg-line); padding: 28px 22px; }
.wg-step-list article:last-child { border-right: 0; }
.wg-step-list span { color: var(--wg-bronze); font-size: .68rem; font-weight: 700; }
.wg-step-list h3 { margin-top: 45px; font-size: 1.42rem; }
.wg-step-list p { margin: 0; color: var(--wg-gray); font-size: .8rem; }

.wg-final { position:relative; overflow:hidden; padding:105px 0; color:white; background:linear-gradient(135deg,#0d4a40,var(--wg-evergreen) 58%,#071f28); }
.wg-final::after { position:absolute; right:-80px; bottom:-150px; width:420px; height:420px; border:1px solid rgba(239,215,149,.25); border-radius:50%; content:""; box-shadow:0 0 0 45px rgba(239,215,149,.04),0 0 0 90px rgba(239,215,149,.025); }
.wg-final > .wg-shell { position:relative; z-index:2; }
.wg-final .wg-eyebrow { color:#efd795; }
.wg-final-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 110px; align-items: center; }
.wg-final-grid > div:last-child > p { color:#c0d1cd; font-size:1.05rem; }

.wg-inner-hero { position:relative; overflow:hidden; padding:78px 0; color:white; border-bottom:1px solid rgba(255,255,255,.1); background:radial-gradient(circle at 7% 12%,#193d58 0%,#0d2b44 32%,#07182b 76%); }
.wg-inner-hero::before { position:absolute; inset:0; content:""; opacity:.12; background-image:radial-gradient(circle at 1px 1px,#d9b86c 1px,transparent 0); background-size:34px 34px; pointer-events:none; }
.wg-inner-hero::after { position:absolute; top:-150px; left:-110px; width:420px; height:420px; border:1px solid rgba(239,215,149,.19); border-radius:50%; content:""; box-shadow:0 0 0 50px rgba(239,215,149,.025),0 0 0 100px rgba(239,215,149,.018); }
.wg-inner-hero > .wg-shell { position:relative; z-index:2; }
.wg-inner-hero .wg-eyebrow { color:#efd795; }
.wg-inner-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:58px; align-items:center; }
.wg-inner-copy { padding:25px 0; }
.wg-inner-grid h1 { max-width:620px; margin-bottom:26px; font-size:clamp(3.25rem,5.4vw,5.75rem); }
.wg-large-copy { max-width:580px; margin-bottom:0!important; color:#c3ced5; font-size:1.08rem; }
.wg-inner-media { position:relative; overflow:hidden; aspect-ratio:16/10; margin:0; border:1px solid rgba(255,255,255,.16); border-radius:28px; background:#04111f; box-shadow:0 35px 85px rgba(0,0,0,.36),0 0 0 1px rgba(212,173,98,.08); }
.wg-inner-media::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(7,24,43,.18),transparent 38%),linear-gradient(0deg,rgba(4,15,30,.38),transparent 45%); pointer-events:none; }
.wg-inner-media img { display:block; width:100%; height:100%; object-fit:cover; }
.wg-inner-media figcaption { position:absolute; z-index:2; right:18px; bottom:17px; display:flex; gap:9px; align-items:center; border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:9px 13px; color:white; background:rgba(7,24,43,.76); backdrop-filter:blur(10px); font-size:.53rem; font-weight:800; letter-spacing:.13em; }
.wg-inner-media figcaption span { color:#f1d68e; font-size:.8rem; }
.wg-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.wg-feature-grid article,.wg-feature-grid a { display:block; min-height:170px; border-radius:var(--wg-radius); background:var(--wg-sand); padding:25px; transition:.25s; }
.wg-feature-grid a:hover { transform:translateY(-4px); color:white; background:var(--wg-evergreen); box-shadow:var(--wg-shadow); }
.wg-feature-grid span { color: var(--wg-bronze); font-size: .68rem; }
.wg-feature-grid h3 { margin-top: 50px; }
.wg-feature-grid b { display:block; margin-top:20px; font-size:.66rem; }
.wg-editorial { display: grid; grid-template-columns: 1fr 1fr; gap: 95px; border-top: 1px solid var(--wg-line); margin-top: 90px; padding-top: 55px; }
.wg-editorial > p { color: var(--wg-gray); font-size: 1.05rem; }
.wg-area-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.wg-area-cards a { display:block; min-height:165px; border:1px solid #dedcd5; border-radius:18px; background:white; padding:24px; transition:.25s; }
.wg-area-cards a:hover { transform:translateY(-5px); color:white; border-color:var(--wg-ink-soft); background:linear-gradient(145deg,var(--wg-ink-soft),var(--wg-evergreen)); box-shadow:var(--wg-shadow); }
.wg-area-cards span { color: var(--wg-bronze); }
.wg-area-cards h3 { margin:30px 0 15px; font-size:1.38rem; }
.wg-area-cards b { font-size:.65rem; }
.wg-local-detail { display:grid; grid-template-columns:1fr 1fr; gap:95px; border-top:1px solid var(--wg-line); margin-top:90px; padding-top:55px; }
.wg-local-detail > div:last-child > p { color:var(--wg-gray); }
.wg-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.wg-gallery article { position: relative; overflow: hidden; aspect-ratio: 4/3; border-radius: 18px; background-image: linear-gradient(rgba(16,35,38,.08),rgba(16,35,38,.58)), var(--wg-gallery); background-position: center; background-size: cover; }
.wg-gallery article:nth-child(2), .wg-gallery article:nth-child(5) { background-position: 75% center; }
.wg-gallery article:nth-child(3), .wg-gallery article:nth-child(6) { background-position: 100% center; }
.wg-gallery span { position: absolute; right: 18px; bottom: 16px; left: 18px; color: white; font-family: "Libre Caslon Display", Georgia, serif; font-size: 1.25rem; }
.wg-legal-copy { max-width: 840px; }
.wg-legal-copy h2 { margin-top: 55px; font-size: 2.1rem; }

.wg-footer { padding:70px 0 24px; color:#b7c2cc; background:#040f1e; }
.wg-logo-light { color: white; }
.wg-footer-grid { display: grid; grid-template-columns: 1.65fr .7fr .7fr 1fr; gap: 70px; }
.wg-footer-grid > div:first-child p { max-width: 410px; margin-top: 25px; color: #9da9a9; font-size: .8rem; }
.wg-footer h3 { color: white; font-family: "DM Sans", sans-serif; font-size: .65rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.wg-footer-grid a { display: block; margin: 9px 0; font-size: .76rem; }
.wg-footer-bottom { display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.12); margin-top: 58px; padding-top: 22px; font-size: .65rem; }

@media (max-width: 980px) {
  .wg-header { height: 78px; }
  .wg-menu-button { display: inline-block; }
  .wg-navigation { position:absolute; top:78px; right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:0; color:white; border-top:1px solid rgba(255,255,255,.1); background:var(--wg-ink); padding:18px 24px 25px; box-shadow:0 20px 30px rgba(0,0,0,.25); }
  .wg-navigation.is-open { display: flex; }
  .wg-navigation > a { padding: 13px 0 !important; }
  .wg-navigation .wg-button { margin-top: 10px; }
  .wg-home-hero-grid { grid-template-columns: 55% 45%; }
  .wg-highlight-grid { grid-template-columns: 1fr 1fr; }
  .wg-highlight-grid a:nth-child(3) { border-left: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .wg-highlight-grid a:nth-child(4) { border-top: 1px solid rgba(255,255,255,.15); }
  .wg-manifesto, .wg-section-top, .wg-dark-heading, .wg-plan-grid, .wg-area-intro, .wg-faq-grid, .wg-final-grid, .wg-inner-grid, .wg-editorial, .wg-local-detail { grid-template-columns:1fr; gap:45px; }
  .wg-inner-hero { padding:64px 0; }
  .wg-inner-copy { max-width:760px; padding:10px 0 0; }
  .wg-inner-media { aspect-ratio:16/8.5; }
  .wg-service-cards { grid-template-columns: 1fr; }
  .wg-service-cards > a { min-height: 300px; }
  .wg-dark-cards, .wg-area-cards { grid-template-columns: 1fr 1fr; }
  .wg-step-list { grid-template-columns: 1fr 1fr; }
  .wg-step-list article { border-bottom: 1px solid var(--wg-line); }
  .wg-feature-grid, .wg-gallery { grid-template-columns: 1fr 1fr; }
  .wg-footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .wg-footer-grid > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 640px) {
  .wg-shell { width: min(100% - 34px, 1180px); }
  .wasatch-glow-site h1 { font-size: clamp(3rem, 15vw, 4.2rem); }
  .wasatch-glow-site h2 { font-size: 2.65rem; }
  .wg-logo strong { font-size: 1.1rem; }
  .wg-logo small { font-size: .46rem; }
  .wg-logo svg { width: 32px; }
  .wg-home-hero { min-height:auto; }
  .wg-home-hero-grid { min-height:auto; grid-template-columns:1fr; }
  .wg-hero-copy::after { display:none; }
  .wg-hero-copy-inner { padding:65px 24px 55px; }
  .wg-hero-media img { min-height:390px; }
  .wg-hero-badge { right:16px; bottom:16px; }
  .wg-actions { align-items: stretch; flex-direction: column; }
  .wg-hero-trust { display: none; }
  .wg-highlight-grid { grid-template-columns: 1fr; }
  .wg-highlight-grid a, .wg-highlight-grid a + a { min-height: auto; border-top: 1px solid rgba(255,255,255,.15); border-left: 0; padding: 24px 0; }
  .wg-section, .wg-dark, .wg-final, .wg-inner-hero { padding: 80px 0; }
  .wg-inner-hero { padding:58px 0; }
  .wg-inner-grid { gap:30px; }
  .wg-inner-copy { padding:0; }
  .wg-inner-media { aspect-ratio:4/3; border-radius:20px; }
  .wg-inner-media figcaption { right:12px; bottom:12px; font-size:.46rem; }
  .wg-dark-cards, .wg-area-cards, .wg-feature-grid, .wg-gallery, .wg-step-list { grid-template-columns: 1fr; }
  .wg-dark-cards a { min-height:225px; }
  .wg-form-two { grid-template-columns: 1fr; gap: 0; }
  .wg-form-card { padding: 22px; border-radius: 18px; }
  .wg-area-pills { gap: 8px; }
  .wg-area-pills a { padding:8px 12px; }
  .wg-footer-grid { grid-template-columns: 1fr; gap: 35px; }
  .wg-footer-grid > div:last-child { grid-column: auto; }
  .wg-footer-bottom { align-items: flex-start; flex-direction: column; gap: 9px; }
}
