.amp-nashville-showcase{box-sizing:border-box;background:#050604;color:#f5f1e6;width:100%;overflow:hidden;position:relative;z-index:1}
.amp-nashville-showcase *{box-sizing:border-box}
.amp-ns-main{display:grid;grid-template-columns:.84fr 1.16fr 1.16fr;align-items:start}
.amp-ns-intro{display:flex;flex-direction:column;min-width:0;padding-top:42px;padding-right:10px;height:100%}
.amp-ns-eyebrow,.amp-ns-location-name{font-size:14px;letter-spacing:.30em;text-transform:uppercase;font-weight:600}
.amp-ns-headline{margin:30px 0 22px;font-size:58px;line-height:.98;font-weight:600;letter-spacing:-.02em;color:inherit}
.amp-ns-intro-text{font-size:23px;line-height:1.45;max-width:390px;color:#fff}
.amp-ns-intro-footer{margin-top:auto;padding-top:80px}
.amp-ns-kicker{font-size:11px;letter-spacing:.18em;line-height:1.5;text-transform:uppercase}
.amp-ns-location{min-width:0}
.amp-ns-media{width:100%;overflow:hidden;background:#111;position:relative}
.amp-ns-media img,.amp-ns-media video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.amp-ns-map-embed{position:absolute;inset:0;width:100%;height:100%}
.amp-ns-map-embed iframe{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;border:0}
.amp-ns-location-name{margin-top:18px}
.amp-ns-address-row{display:flex;align-items:center;gap:18px;margin-top:30px}
.amp-ns-address-icon{width:58px;height:58px;border:1px solid;display:flex;align-items:center;justify-content:center;flex:0 0 58px}
.amp-ns-address-icon svg{width:24px;height:24px;fill:currentColor}
.amp-ns-address-text{font-size:16px;line-height:1.45;text-transform:uppercase}
.amp-ns-amenities{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:24px;align-items:center}
.amp-ns-amenity{display:flex;align-items:center;gap:10px;white-space:nowrap}
.amp-ns-amenity-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px}
.amp-ns-amenity-icon svg{width:22px;height:22px;fill:currentColor}
.amp-ns-amenity span:last-child{font-size:11px;letter-spacing:.13em;font-weight:600;text-transform:uppercase}

/* Location button: fixed visual centering with an independent arrow column. */
.amp-ns-button{margin-top:28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;width:320px;max-width:100%;min-width:0;min-height:58px;padding:0 24px;text-decoration:none!important;color:#090909!important;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s ease,filter .2s ease}
.amp-ns-button>span:first-child{grid-column:2;text-align:center;justify-self:center;line-height:1.2}
.amp-ns-button-icon{grid-column:3;justify-self:end;display:inline-flex;align-items:center;justify-content:center}
.amp-ns-button-icon svg{width:15px;height:15px;fill:currentColor}
.amp-ns-button:hover,.amp-ns-button:focus{color:#090909!important;transform:translateY(-1px);filter:brightness(.95)}

.amp-ns-bottom{border-top:1px solid;margin-top:38px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.amp-ns-bottom-left{display:flex;align-items:center;gap:18px;min-width:0;flex:1}
.amp-ns-cta-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.amp-ns-cta-icon svg{width:28px;height:28px;fill:currentColor}
.amp-ns-cta-heading{font-size:13px;letter-spacing:.18em;text-transform:uppercase;white-space:normal;line-height:1.35}
.amp-ns-cta-divider{width:1px;height:28px;background:currentColor;opacity:.45;flex:0 0 auto}
.amp-ns-cta-copy{font-size:15px;line-height:1.4;min-width:0}
.amp-ns-bottom-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid;padding:15px 22px;color:inherit!important;text-decoration:none!important;white-space:nowrap;font-size:12px;font-weight:600;letter-spacing:.10em;text-transform:uppercase;transition:background .2s,color .2s;flex:0 0 auto}
.amp-ns-bottom-button:hover,.amp-ns-bottom-button:focus{background:#eee8d8!important;color:#090909!important}
.amp-ns-overlap-space{height:120px;pointer-events:none}
.elementor-widget-ampersand_nashville_showcase{isolation:isolate;position:relative;z-index:1}

/* Applied by JS to the actual rounded/footer block that should overlap the showcase. */
.amp-ns-auto-overlap{position:relative!important;z-index:4!important}

@media(max-width:1100px){
  .amp-ns-main{grid-template-columns:1fr 1fr}
  .amp-ns-intro{grid-column:1/-1;padding:0 0 28px}
  .amp-ns-intro-footer{margin-top:28px;padding-top:0}
  .amp-ns-headline{font-size:48px;max-width:650px}
  .amp-ns-intro-text{max-width:650px}
  .amp-ns-bottom{align-items:flex-start}
  .amp-ns-bottom-left{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;row-gap:10px}
  .amp-ns-cta-heading{min-width:0}
  .amp-ns-cta-divider{display:none}
  .amp-ns-cta-copy{grid-column:2;min-width:0}
}

@media(max-width:767px){
  .amp-ns-main{grid-template-columns:1fr}
  .amp-ns-headline{font-size:40px;margin-top:20px}
  .amp-ns-intro-text{font-size:18px;max-width:none;color:#fff}
  .amp-ns-location{margin-bottom:44px}
  .amp-ns-location-name{margin-top:16px}
  .amp-ns-address-row{margin-top:24px;gap:14px}
  .amp-ns-address-text{min-width:0;overflow-wrap:anywhere}
  .amp-ns-button{width:100%;min-width:0;padding:0 20px}
  .amp-ns-amenities{gap:15px 20px}
  .amp-ns-bottom{flex-direction:column;align-items:stretch;gap:24px;margin-top:22px;padding-top:24px}
  .amp-ns-bottom-left{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;row-gap:12px;width:100%}
  .amp-ns-cta-icon{grid-column:1;grid-row:1;align-self:start}
  .amp-ns-cta-heading{grid-column:2;grid-row:1;white-space:normal;overflow-wrap:anywhere;min-width:0}
  .amp-ns-cta-copy{grid-column:2;grid-row:2;min-width:0;overflow-wrap:anywhere}
  .amp-ns-bottom-button{width:100%;max-width:100%;white-space:normal;gap:18px;padding:18px 20px}
}

/* v1.7 alignment + phone row matching the address treatment */
.amp-ns-location--no-media{padding-top:72px}

/* Phone uses the same visual system as the address: bordered square icon + aligned text. */
.amp-ns-phone-row{display:flex;align-items:center;gap:18px;margin-top:16px}
.amp-ns-phone-icon{width:58px;height:58px;border:1px solid;display:flex;align-items:center;justify-content:center;flex:0 0 58px}
.amp-ns-phone-icon svg{width:24px;height:24px;fill:currentColor}
.amp-ns-phone-text{color:inherit!important;text-decoration:none!important;font-size:16px;line-height:1.45;text-transform:uppercase}
.amp-ns-phone-text:hover,.amp-ns-phone-text:focus{color:inherit!important;text-decoration:underline!important}

/* When location media is omitted, keep the content columns visually aligned with the intro headline. */
.amp-ns-location--no-media .amp-ns-location-name{margin-top:0}

@media(max-width:1100px){
  .amp-ns-location--no-media{padding-top:0}
}
@media(max-width:767px){
  .amp-ns-phone-row{gap:14px;margin-top:14px}
  .amp-ns-phone-text{font-size:15px;min-width:0;overflow-wrap:anywhere}
}


/* v1.12 map replaces the old bottom CTA paragraph/button */
.amp-ns-bottom--map{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,2.28fr);align-items:stretch;gap:34px;padding-top:26px}
.amp-ns-bottom--map .amp-ns-bottom-title{align-items:center;align-self:center}
.amp-ns-bottom--map .amp-ns-cta-heading{font-size:17px;line-height:1.15;letter-spacing:.08em;max-width:300px}
.amp-ns-cta-map{height:500px;width:100%;min-width:0;background:#e9e6dd;position:relative;z-index:1;overflow:hidden}




@media(max-width:900px){.amp-ns-bottom--map{grid-template-columns:1fr}.amp-ns-cta-map{height:450px}}
@media(max-width:767px){.amp-ns-bottom--map{gap:20px}.amp-ns-cta-map{height:400px}.amp-ns-bottom--map .amp-ns-bottom-title{display:flex;align-items:center}.amp-ns-bottom--map .amp-ns-cta-heading{font-size:15px;max-width:none}}

/* Google My Maps iframe only — no Leaflet/OpenStreetMap assets */
.amp-ns-cta-map.amp-ns-google-mymaps{position:relative;overflow:hidden;width:100%;--amp-mymaps-scale:80;--amp-mymaps-x:0px;--amp-mymaps-y:0px;}
.amp-ns-cta-map.amp-ns-google-mymaps iframe{display:block;position:absolute!important;border:0!important;max-width:none!important;width:calc(100% * 100 / var(--amp-mymaps-scale,80))!important;height:calc(100% * 100 / var(--amp-mymaps-scale,80) + var(--amp-mymaps-crop,82px))!important;left:50%!important;top:calc(50% - (var(--amp-mymaps-crop,82px) / 2))!important;transform:translate(calc(-50% + var(--amp-mymaps-x,0px)),calc(-50% + var(--amp-mymaps-y,0px))) scale(calc(var(--amp-mymaps-scale,80) / 100))!important;transform-origin:center center!important;}
.amp-ns-cta-map.amp-ns-google-mymaps:not(.amp-ns-google-mymaps--crop){--amp-mymaps-crop:0px;}
/* Header crop remains 82px by default; scaling enlarges the iframe before shrinking it so the visible frame shows a wider Google Maps area without blank edges. */
