/* Only the city hero and final closer opt into this shared system.
   The media area is complete now; local photography can replace its planes later. */
.gn-city-hero.gn-city-hero{position:relative;margin:0;padding:80px 24px 68px;border:0;overflow:visible;color:var(--gn-color-green-800);background:var(--gn-color-canvas)}
.gn-city-hero.gn-city-hero::before{content:none}
.gn-city-hero__inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);align-items:center;gap:clamp(40px,6vw,80px);width:min(1120px,100%);margin-inline:auto}
.gn-city-hero__copy{min-width:0}
.gn-city-hero .gn-city-hero__eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:#a6532b;font:800 12px/1.5 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.gn-city-hero__eyebrow::before{width:28px;height:2px;flex:none;background:#718b5b;content:""}
.gn-city-hero.gn-city-hero h1{max-width:none;margin:0;color:var(--gn-color-green-800);font:700 clamp(48px,5.1vw,68px)/1.04 Georgia,"Times New Roman",serif;letter-spacing:-.038em}
.gn-city-hero h1>span{display:block}
.gn-city-hero .gn-city-hero__intro{max-width:570px;margin:25px 0 0;color:#34483a;font:18px/1.65 Arial,sans-serif}
.gn-city-hero__actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:28px}
.gn-city-hero .gn-city-hero__primary,.gn-city-hero .gn-city-hero__phone{display:inline-flex;align-items:center;justify-content:center;min-height:58px;margin:0;padding:12px 21px;border:1px solid var(--gn-color-green-800);border-radius:5px;font:800 15px/1.3 Arial,sans-serif;text-decoration:none;box-shadow:none;transition:none}
.gn-city-hero .gn-city-hero__primary{color:#fff;background:var(--gn-color-green-800)}
body main .gn-city-hero .gn-city-hero__primary{--gn-action-field:var(--gn-color-orange-500);--gn-action-size:32px;gap:12px}
.gn-city-hero .gn-city-hero__phone{gap:12px;color:var(--gn-color-green-800);background:transparent;border-color:#718b5b}
.gn-city-hero__phone-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--gn-color-orange-500)}
.gn-city-hero__phone-text{display:flex;flex-direction:column;gap:2px;text-align:left}
.gn-city-hero__phone-text>span{font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.gn-city-hero__phone-text>strong{font-size:22px;line-height:1.1}
.gn-city-hero .gn-city-hero__primary:hover{color:#fff;background:#0b4a2c;transform:none}
.gn-city-hero .gn-city-hero__phone:hover{background:#ffffff80;transform:none}
.gn-city-hero a:focus-visible,.gn-city-close a:focus-visible{outline:3px solid #a6532b;outline-offset:4px}

/* A folded colour study, not a depiction of a city or a vacant image frame.
   The planes occupy this same area at each breakpoint that a future photo will use. */
.gn-city-hero__media{position:relative;justify-self:end;width:min(360px,100%);aspect-ratio:5/6;isolation:isolate}
.gn-city-hero__plane{position:absolute;display:block}
.gn-city-hero__plane--sage{inset:0 24% 18% 0;background:#dce3ce;clip-path:polygon(0 0,100% 0,100% 72%,62% 100%,0 100%)}
.gn-city-hero__plane--copper{inset:14% 18% 0 19%;background:var(--gn-color-orange-500)}
.gn-city-hero__plane--forest{inset:8% 0 0 23%;background:linear-gradient(135deg,transparent 48%,#f4f0e71a 48%,#f4f0e71a 48.4%,transparent 48.4%),var(--gn-color-green-800);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%,0 25%)}
.gn-city-hero__rule{position:absolute;top:8%;right:0;width:28%;height:2px;background:var(--gn-color-orange-500);transform:translateY(-12px)}
.gn-city-hero__media>img{display:block;width:100%;height:100%;aspect-ratio:5/6;object-fit:cover;object-position:center}

/* The site's quiet Sorbet closer; actions remain text-only. */
.gn-city-close{padding:48px 24px 52px;color:var(--gn-color-green-800);background:#e9efbf}
.gn-city-close__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;width:min(1120px,100%);margin-inline:auto}
.gn-city-close h2{max-width:680px;margin:0;color:var(--gn-color-green-800);font:700 clamp(29px,3vw,38px)/1.18 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.gn-city-close__actions{display:flex;flex-wrap:wrap;gap:12px}
.gn-city-close__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;border:1px solid var(--gn-color-green-800);border-radius:5px;font:800 15px/1.3 Arial,sans-serif;text-align:center;text-decoration:none}
.gn-city-close__primary{color:#fff;background:var(--gn-color-green-800)}
.gn-city-close__phone{color:var(--gn-color-green-800);background:transparent}
.gn-city-close__primary:hover{color:#fff;background:#0b4a2c}
.gn-city-close__phone:hover{background:#ffffff40}

@media(max-width:980px){
 .gn-city-hero__inner{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:32px}
 .gn-city-hero.gn-city-hero h1{font-size:clamp(42px,5.1vw,50px)}
 .gn-city-close__inner{grid-template-columns:1fr;gap:24px}
}
@media(max-width:720px){
 .gn-city-hero.gn-city-hero{padding:60px 18px 42px}
 .gn-city-hero__inner{grid-template-columns:minmax(0,1fr);gap:30px}
 .gn-city-hero .gn-city-hero__eyebrow{margin-bottom:17px;font-size:11px}
 .gn-city-hero.gn-city-hero h1{font-size:clamp(32px,8.8vw,50px);line-height:1.06}
 .gn-city-hero .gn-city-hero__intro{margin-top:22px;font-size:17px;line-height:1.65}
 .gn-city-hero__actions{margin-top:24px}
 .gn-city-hero__media{width:min(420px,100%);aspect-ratio:16/7}
 .gn-city-hero__media>img{aspect-ratio:16/7}
 .gn-city-hero__plane--sage{right:38%;bottom:12%}
 .gn-city-hero__plane--copper{inset:14% 24% 0 31%}
 .gn-city-hero__plane--forest{left:34%}
 .gn-city-close{padding:42px 18px 46px}
 .gn-city-close h2{font-size:clamp(29px,7.6vw,35px)}
}
@media(max-width:560px){
 .gn-city-hero__actions,.gn-city-close__actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .gn-city-hero .gn-city-hero__primary,.gn-city-hero .gn-city-hero__phone,.gn-city-close__actions a{width:100%}
}
