/* Skyline Group — luxe refinement layer (loads after premium.css) */
:root{--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--gold-soft:#cbb68a;--ease:cubic-bezier(.22,.61,.36,1)}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:#173d32;color:#faf7ef}

/* Typography: a finer serif, slightly larger to match Georgia's presence */
h1,h2{font-weight:500;letter-spacing:-.025em;line-height:1}
h1{font-size:clamp(56px,6vw,98px)}
h2{font-size:clamp(42px,4.6vw,66px)}
.page-intro h1{font-size:clamp(54px,6vw,88px)}
h1 em,h2 em{font-style:italic;font-weight:400;color:#7b7a5a}
.service-card h3,.value-list h3{font-weight:500;letter-spacing:-.01em}
@media(min-width:951px){.service-card h3{font-size:39px}.value-list h3{font-size:31px}}
.eyebrow{letter-spacing:.26em;font-weight:500;color:#7f6f4a}
.brand{font-weight:500}

/* Header: sticky, glassy, condenses on scroll */
.premium-header{position:sticky;top:0;z-index:40;background:rgba(239,230,207,.86);-webkit-backdrop-filter:saturate(1.2) blur(14px);backdrop-filter:saturate(1.2) blur(14px);transition:height .35s var(--ease),box-shadow .35s var(--ease),background .35s}
.premium-header.is-scrolled{height:78px;box-shadow:0 10px 30px -18px #173d3240;background:rgba(250,247,239,.92)}
.premium-header .brand img{transition:width .35s var(--ease),height .35s var(--ease)}
.premium-header.is-scrolled .brand img{width:46px;height:46px}
.premium-header .main-nav>a,.services-menu>summary{position:relative;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:500}
@media(min-width:951px){
  .premium-header .main-nav>a{border-bottom:0!important}
  .premium-header .main-nav>a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
  .premium-header .main-nav>a:hover::after,.premium-header .main-nav>a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
}
@media(max-width:950px){.premium-header{position:sticky}.premium-header.is-scrolled{height:72px}}

/* Buttons: quieter, more tailored */
.button{letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;border-radius:2px;transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease),color .3s}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px #173d3299}
.text-button{transition:color .25s,letter-spacing .35s var(--ease)}
.text-button:hover{color:#8a7445}

/* Imagery: slow, smooth zoom */
.hero-visual{overflow:hidden}
.hero-visual img,.property-card img,.property-hero-photo img{transition:transform 1.4s var(--ease)}
.hero-visual:hover img,.property-card:hover img{transform:scale(1.035)}
.service-card,.area-card,.commitment-card{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s}
.service-card:hover,.area-card:hover{transform:translateY(-5px);box-shadow:0 24px 40px -28px #173d3266;border-color:var(--gold-soft)}

/* Hairline gold detail on section headings */
.section-heading{position:relative}
.trust-strip span{letter-spacing:.14em;text-transform:uppercase;font-size:10px}

/* Reveal motion */
.lx-reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.lx-reveal.lx-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.lx-reveal{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}

/* ============ Custom San Antonio map ============ */
.sky-map-shell{position:relative;z-index:0;isolation:isolate;margin-top:30px;border:1px solid var(--line);border-radius:6px;background:var(--cream);overflow:hidden;box-shadow:0 30px 60px -45px #173d3280}
[data-skyline-map]:not(.sky-map-shell){min-height:520px;margin-top:30px;border:1px solid var(--line);border-radius:6px;background:linear-gradient(120deg,#f4eedd,#ebe2c9)}
[data-skyline-map=single]:not(.sky-map-shell){min-height:420px}
.sky-map-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--cream)}
.sky-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.sky-chips::-webkit-scrollbar{display:none}
.sky-chip{flex:none;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);transition:all .25s var(--ease);white-space:nowrap}
.sky-chip span{display:inline-block;margin-left:6px;color:var(--gold);font-weight:600}
.sky-chip:hover{border-color:var(--forest)}
.sky-chip.is-active{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.sky-chip.is-active span{color:var(--gold-soft)}
.sky-toggle{flex:none;display:flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.sky-toggle input{accent-color:#173d32;width:15px;height:15px}
.sky-map-body{display:grid;grid-template-columns:minmax(0,1fr) 330px;height:600px}
.sky-canvas{height:100%;width:100%;background:#f1ead8}
.sky-list{border-left:1px solid var(--line);overflow-y:auto;background:var(--cream);scrollbar-width:thin}
.sky-list-head{position:sticky;top:0;z-index:1;padding:14px 20px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);background:rgba(250,247,239,.95);border-bottom:1px solid var(--line)}
.sky-list ol{list-style:none;margin:0;padding:0}
.sky-list li button{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;width:100%;padding:13px 20px;text-align:left;border-bottom:1px solid #e4dcc7;transition:background .25s}
.sky-list li button:hover,.sky-list li button:focus-visible{background:#f1ead8}
.sky-list img{width:64px;height:50px;object-fit:cover;border-radius:3px}
.sky-list em{display:block;font-style:normal;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#8a7445}
.sky-list strong{display:block;font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.15;margin:2px 0 3px}
.sky-list small{font-size:11px;color:var(--muted)}

/* Keep the street basemap at full contrast so highways and road labels stay readable. */
.sky-tiles{filter:none}
.leaflet-container{font-family:var(--sans);background:#f1ead8}
.leaflet-control-zoom{border:0!important;box-shadow:0 8px 20px -10px #173d3266!important}
.leaflet-control-zoom a{background:var(--cream)!important;color:var(--forest)!important;border-color:var(--line)!important;width:34px!important;height:34px!important;line-height:32px!important}
.leaflet-control-attribution{background:rgba(250,247,239,.8)!important;font-size:9px!important;color:var(--muted)!important}
.leaflet-control-attribution a{color:var(--muted)!important}
path.sky-zone{fill:#173d32;fill-opacity:.05;stroke:#b59a65;stroke-opacity:.7;stroke-dasharray:3 5;transition:fill-opacity .4s,stroke-opacity .4s;cursor:pointer}
path.sky-zone:hover{fill-opacity:.09}
path.sky-zone.is-active{fill:#b59a65;fill-opacity:.12;stroke:#8a7445;stroke-dasharray:none;stroke-opacity:.9}
.leaflet-tooltip.sky-zone-label{background:none;border:0;box-shadow:none;padding:0;font-family:var(--serif);font-style:italic;font-size:15px;color:#4a5a50;text-shadow:0 0 6px #faf7ef,0 0 2px #faf7ef;white-space:nowrap}
.leaflet-tooltip.sky-zone-label::before{display:none}
.sky-zone-tag{position:absolute;transform:translate(-50%,-100%);margin-top:-6px;}.sky-zone-tag.tag-e{transform:translate(0,-50%);margin:0 0 0 8px}.sky-zone-tag.tag-w{transform:translate(-100%,-50%);margin:0 0 0 -8px}.sky-zone-tag.tag-s{transform:translate(-50%,0);margin:6px 0 0}.sky-zone-tag .tag-long{display:none}.sky-zone-tag .tag-short{display:inline}.leaflet-container:not(.z-low) .sky-zone-tag .tag-long{display:inline}.leaflet-container:not(.z-low) .sky-zone-tag .tag-short{display:none}.z-low .sky-zone-tag{font-size:13.5px;padding:2px 8px}.sky-zone-tag{white-space:nowrap;font-family:var(--serif);font-style:italic;font-size:16px;color:#3e5148;padding:3px 10px;background:rgba(250,247,239,.82);border:1px solid #e0d5b9;border-radius:999px;cursor:pointer;transition:background .25s,color .25s}
.sky-zone-tag:hover{background:var(--forest);color:#faf7ef;border-color:var(--forest)}
.z-low .sky-pin{padding-bottom:0;transform:translate(-50%,-50%)}
.z-low .sky-pin b{font-size:0;padding:0;width:13px;height:13px;border-radius:50%;border:2px solid #faf7ef;box-shadow:0 0 0 1px var(--forest),0 4px 10px -4px #0b221b99}
.z-low .sky-pin::after{display:none}
.z-low .sky-pin:hover,.z-low .is-hot .sky-pin{transform:translate(-50%,-50%) scale(1.35)}

.sky-pin-wrap{background:none;border:0}
.sky-pin{position:absolute;transform:translate(-50%,-100%);display:block;padding-bottom:7px;transition:transform .3s var(--ease),opacity .3s}
.sky-pin b{display:block;background:var(--forest);color:#faf7ef;font:600 11px/1 var(--sans);letter-spacing:.02em;padding:7px 9px;border-radius:2px;box-shadow:0 8px 18px -8px #0b221b99;border:1px solid #2c5747;white-space:nowrap}
.sky-pin::after{content:"";position:absolute;left:50%;bottom:1px;width:8px;height:8px;background:var(--forest);transform:translateX(-50%) rotate(45deg);border-right:1px solid #2c5747;border-bottom:1px solid #2c5747}
.sky-pin:hover,.is-hot .sky-pin,.leaflet-marker-icon:focus .sky-pin{transform:translate(-50%,-100%) scale(1.08)}
.sky-pin:hover b,.is-hot .sky-pin b{background:var(--gold);border-color:#a3884f;color:#173d32}
.sky-pin:hover::after,.is-hot .sky-pin::after{background:var(--gold)}
.is-dim .sky-pin{opacity:.28}
.sky-pin.is-ghost{opacity:.62}
.sky-pin.is-ghost b{background:#faf7ef;color:var(--forest);border-color:var(--line)}
.sky-pin.is-ghost::after{background:#faf7ef;border-color:var(--line)}
.sky-base{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#faf7ef;border:1px solid var(--gold);color:#8a7445;font-size:12px;box-shadow:0 6px 14px -8px #173d3288}
.leaflet-tooltip.sky-base-label{background:var(--forest);color:#faf7ef;border:0;border-radius:2px;font-size:10px;letter-spacing:.06em;padding:6px 9px}
.leaflet-tooltip.sky-base-label::before{border-top-color:var(--forest)}
.sky-home{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:var(--forest);border:3px solid #faf7ef;box-shadow:0 0 0 1px var(--gold),0 10px 20px -6px #0b221baa}
.sky-home i{position:absolute;inset:-14px;border-radius:50%;border:1px solid var(--gold);animation:skyPulse 2.6s var(--ease) infinite}
@keyframes skyPulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.sky-home i{animation:none}}

.sky-popup .leaflet-popup-content-wrapper{border-radius:4px;padding:0;overflow:hidden;background:#faf7ef;box-shadow:0 30px 50px -25px #0b221b99}
.sky-popup .leaflet-popup-content{margin:0;width:270px!important}
.sky-popup .leaflet-popup-tip{background:#faf7ef}
.sky-popup a.leaflet-popup-close-button{color:#faf7ef!important;font-size:20px!important;width:30px!important;height:30px!important;text-shadow:0 1px 4px #0008}
.sky-pop img{width:100%;height:140px;object-fit:cover;display:block}
.sky-pop-body{padding:16px 18px 18px}
.sky-pop-area{font-size:9px!important;letter-spacing:.2em;text-transform:uppercase;color:#8a7445;margin:0 0 4px!important}
.sky-pop h3{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.05;letter-spacing:-.01em;margin:0 0 8px}
.sky-pop-price{font-size:15px!important;font-weight:600;color:var(--forest);margin:0!important}
.sky-pop-price span{font-weight:400;font-size:11px;color:var(--muted)}
.sky-pop-facts{font-size:11px!important;color:var(--muted);margin:4px 0 14px!important}
.sky-pop-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.sky-pop-actions a{font-size:11px;font-weight:600;color:var(--forest)!important;letter-spacing:.04em}
.sky-pop-actions button{font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:var(--forest);color:#faf7ef;padding:8px 11px;border-radius:2px}
.sky-pop-actions button:hover{background:var(--gold);color:var(--forest)}

.sky-canvas--single{height:440px}
.sky-single-card{position:absolute;z-index:500;left:18px;top:18px;max-width:280px;padding:16px 18px;background:rgba(250,247,239,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:4px;box-shadow:0 18px 36px -24px #173d3299}
.sky-single-card em{display:block;font-style:normal;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#8a7445}
.sky-single-card strong{display:block;font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.1;margin:3px 0 4px}
.sky-single-card span{display:block;font-size:11.5px;color:var(--muted);line-height:1.5}
.sky-single-card a{display:inline-block;margin-top:10px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--forest)}
.sky-map-error{padding:40px;text-align:center}
.map-legend{display:flex;flex-wrap:wrap;gap:22px;margin-top:16px;font-size:10.5px;color:var(--muted);letter-spacing:.04em}
.map-legend i{display:inline-block;vertical-align:middle;margin-right:7px}
.map-legend .lg-pin{width:20px;height:12px;background:var(--forest);border-radius:2px}
.map-legend .lg-zone{width:14px;height:14px;border-radius:50%;border:1px dashed var(--gold);background:#173d320d}
.map-legend .lg-base{width:14px;height:14px;border-radius:50%;border:1px solid var(--gold);background:#faf7ef}

@media(max-width:950px){
  .sky-map-body{grid-template-columns:minmax(0,1fr);grid-template-rows:460px auto;height:auto}
  .sky-list{min-width:0;border-left:0;border-top:1px solid var(--line);max-height:none;overflow:hidden}
  .sky-list ol{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .sky-list li{flex:0 0 78%;scroll-snap-align:start;border-right:1px solid #e4dcc7}
  .sky-list li[hidden]{display:none}
  .sky-list li button{border-bottom:0}
  .sky-list-head{position:static}
  .sky-map-top{flex-direction:column;align-items:stretch;gap:12px}
  .sky-toggle{align-self:flex-start}
}
@media(max-width:600px){
  .sky-map-body{grid-template-rows:400px auto}
  .sky-canvas--single{height:360px}
  .sky-single-card{left:10px;right:10px;top:10px;max-width:none;padding:12px 14px}
  .sky-single-card strong{font-size:19px}
  .leaflet-tooltip.sky-zone-label{font-size:12px}
  .z-low .sky-zone-tag{display:none}
  h1{font-size:clamp(46px,12vw,64px)}
}
@media print{.sky-map-shell{display:none}}
