/*
Theme Name: Homes With Kasey V2
Version: 2.0.0
*/
:root{--ink:#172126;--lake:#22343b;--mist:#eef0eb;--ivory:#faf7ef;--champagne:#bda06a;--clay:#756d63;--line:rgba(23,33,38,.14);--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'Cabinetgrotesk Variable',Cabinet Grotesk,Arial,sans-serif;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background:radial-gradient(circle at 20% 0%,rgba(189,160,106,.12),transparent 28%),linear-gradient(rgba(23,33,38,.035) 1px,transparent 1px);background-size:auto,100% 9px;mix-blend-mode:multiply}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}nav{position:fixed;top:24px;left:24px;right:24px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid rgba(250,247,239,.24);background:rgba(23,33,38,.42);backdrop-filter:blur(18px);color:var(--ivory);border-radius:999px;box-shadow:0 20px 70px rgba(0,0,0,.18)}.brand{display:flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.08em}.brand span{font-family:'Zodiak Variable',Georgia,serif;font-size:24px;line-height:1}.brand small{font-size:10px;color:rgba(250,247,239,.78)}.links{display:flex;gap:18px;align-items:center;font-size:12px}.links a{opacity:.78;transition:opacity .18s var(--ease),color .18s var(--ease)}.links a:hover{opacity:1;color:var(--champagne)}.menu{display:none;border:1px solid rgba(250,247,239,.2);background:transparent;color:var(--ivory);border-radius:999px;padding:8px 13px}.hero{position:relative;min-height:100dvh;padding:160px 6vw 56px;display:grid;grid-template-columns:minmax(0,1.12fr) 380px;align-items:end;gap:48px;background:var(--lake);color:var(--ivory);overflow:hidden}.hero video,.video-break video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,33,38,.92),rgba(23,33,38,.5) 48%,rgba(23,33,38,.18)),linear-gradient(0deg,rgba(23,33,38,.7),transparent 44%)}.hero-inner,.hero-card{position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne);font-weight:700}.hero h1,.page-hero h1,.cta h2{font-family:'Zodiak Variable',Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:.9}.hero h1{font-size:clamp(54px,8.5vw,132px);max-width:980px;margin:12px 0 24px}.hero p{max-width:710px;color:rgba(250,247,239,.78);font-size:18px;line-height:1.65}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:15px 24px;border:1px solid currentColor;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin:12px 12px 0 0;transition:transform .16s var(--ease),background .24s var(--ease),color .24s var(--ease)}.btn:hover{transform:translateY(-2px);background:var(--champagne);color:var(--ink);border-color:var(--champagne)}.btn:active{transform:scale(.98)}.btn.dark{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.hero .btn.dark{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.hero-card{align-self:end;padding:28px;border:1px solid rgba(250,247,239,.22);border-radius:28px;background:rgba(250,247,239,.11);backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}.hero-card span{font-family:'Zodiak Variable',Georgia,serif;font-size:30px;line-height:1}.hero-card p{font-size:14px}.page-hero{padding:180px 7vw 70px;min-height:70vh;background:var(--mist);display:grid;align-content:end;position:relative}.page-hero .rule{position:absolute;left:7vw;right:7vw;top:125px;height:1px;background:var(--line)}.page-hero h1{font-size:clamp(48px,7.5vw,112px);max-width:1020px;margin:14px 0 22px}.page-hero>p:last-child{max-width:740px;font-size:19px;line-height:1.7;color:var(--clay)}.wide-media{margin:0 7vw 100px;border-radius:36px;overflow:hidden;height:58vh;background:var(--lake)}.wide-media img{width:100%;height:100%;object-fit:cover}.listings-grid,.split,.chapter-list,.details,.form-shell{padding:110px 7vw}.listings-grid h2,.split h2,.details h2,.form-shell h2,.chapter h2{font-family:'Zodiak Variable',Georgia,serif;font-weight:400;letter-spacing:-.04em;line-height:1;font-size:clamp(34px,4.8vw,72px)}.property-stack{display:grid;gap:22px;margin-top:42px}.property-card{display:grid;grid-template-columns:42% 1fr;min-height:330px;border-top:1px solid var(--line);padding:24px 0;color:var(--ink);transition:transform .35s var(--ease)}.property-card:hover{transform:translateX(10px)}.property-card img{width:100%;height:330px;object-fit:cover;border-radius:24px;filter:saturate(.82)}.property-card div{padding:28px 7vw 28px 42px;display:flex;flex-direction:column;justify-content:center}.property-card span{color:var(--champagne);letter-spacing:.18em}.property-card h3{font-family:'Zodiak Variable',Georgia,serif;font-size:clamp(34px,5vw,70px);font-weight:400;line-height:.95;margin:18px 0}.property-card p{color:var(--clay);font-size:18px}.property-card em{font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink);padding:0}.split>div{background:var(--ivory);padding:110px 7vw}.text-link{display:inline-block;margin-top:24px;border-bottom:1px solid var(--champagne);padding-bottom:8px;color:var(--champagne);font-size:12px;letter-spacing:.18em}.video-break{position:relative;min-height:72vh;display:grid;place-items:center;text-align:center;color:var(--ivory);overflow:hidden}.video-break:after{content:"";position:absolute;inset:0;background:rgba(23,33,38,.58)}.video-break h2,.video-break a{position:relative;z-index:2}.video-break h2{font-family:'Zodiak Variable',Georgia,serif;font-size:clamp(44px,8vw,126px);font-weight:400;line-height:.88;letter-spacing:-.05em;max-width:940px}.chapter-list{background:var(--ivory);display:grid;gap:0}.chapter{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line);padding:42px 0}.chapter span{color:var(--champagne);letter-spacing:.18em}.chapter p{font-size:18px;line-height:1.75;color:var(--clay);max-width:900px}.details{background:var(--mist)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:34px}.detail-grid p{background:var(--mist);margin:0;padding:36px;font-size:22px}.detail-grid small{display:block;margin-top:14px;color:var(--clay);font-size:15px;line-height:1.55}.form-shell{background:var(--lake);color:var(--ivory)}form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:900px}input,textarea{width:100%;border:1px solid rgba(250,247,239,.18);background:rgba(250,247,239,.08);color:var(--ivory);padding:18px;border-radius:18px;font:inherit}textarea{grid-column:1/-1;min-height:150px}.cta{padding:120px 7vw;background:var(--ink);color:var(--ivory);text-align:center}.cta p{color:var(--champagne);letter-spacing:.18em;text-transform:uppercase;font-size:12px}.cta h2{font-size:clamp(38px,6vw,88px);max-width:1050px;margin:18px auto 28px}footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;padding:44px 7vw;background:#111a1e;color:rgba(250,247,239,.72);font-size:13px;line-height:1.9;text-transform:uppercase;letter-spacing:.08em}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0)*80ms)}.reveal.is-visible{opacity:1;transform:none}@media(max-width:900px){nav{top:12px;left:12px;right:12px}.links{display:none}.menu{display:block}.hero{grid-template-columns:1fr;padding:130px 22px 34px}.hero h1{font-size:58px}.hero-card{display:none}.page-hero{padding:135px 24px 50px}.wide-media{margin:0 24px 60px;height:42vh;border-radius:24px}.property-card{grid-template-columns:1fr}.property-card div{padding:24px 0}.split{grid-template-columns:1fr}.split>div,.listings-grid,.chapter-list,.details,.form-shell{padding:70px 24px}.chapter{grid-template-columns:1fr;gap:15px}.detail-grid{grid-template-columns:1fr}form{grid-template-columns:1fr}footer{grid-template-columns:1fr}.cta{padding:80px 24px}.video-break{min-height:55vh}.btn{width:100%;margin-right:0}.hero p{font-size:16px}}/* Clarify skill pass: visible form labels and more readable helper text */
.form-note{max-width:620px;color:rgba(250,247,239,.72);font-size:16px;line-height:1.6;margin:-18px 0 28px}
form label{display:grid;gap:8px;color:rgba(250,247,239,.86);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
form label.full{grid-column:1/-1}
form label input,form label textarea{margin-top:0}
@media(max-width:900px){form label.full{grid-column:auto}.form-note{margin-top:-8px}}

/* Overdrive layer: cinematic lakeside scroll + boutique concierge polish */
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,var(--champagne),#f2dfad);z-index:80;box-shadow:0 0 18px rgba(189,160,106,.32)}
.concierge-pill{position:fixed;right:26px;bottom:24px;z-index:70;display:grid;grid-template-columns:auto auto;align-items:center;gap:14px;padding:12px 14px 12px 18px;border:1px solid rgba(250,247,239,.2);border-radius:999px;background:rgba(23,33,38,.72);color:var(--ivory);backdrop-filter:blur(18px);box-shadow:0 22px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12);transform:translateY(18px);opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease)}
.concierge-pill.is-visible{opacity:1;transform:none}.concierge-pill small{display:block;color:rgba(250,247,239,.62);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.concierge-pill span{font-family:'Zodiak Variable',Georgia,serif;font-size:18px;white-space:nowrap}.concierge-pill a{padding:11px 15px;border-radius:999px;background:var(--ivory);color:var(--ink);font-size:11px;text-transform:uppercase;letter-spacing:.12em;transition:transform .16s var(--ease),background .22s var(--ease)}.concierge-pill a:hover{transform:translateY(-2px);background:var(--champagne)}
.hero video{transform:scale(1.06);will-change:transform;transition:transform .2s linear}.hero:after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(0deg,var(--ivory),rgba(250,247,239,0));z-index:1;pointer-events:none}.hero-inner{will-change:transform,opacity}.hero-card{will-change:transform}.wide-media,.property-card img{clip-path:inset(0 0 0 0 round 36px)}.property-card{view-timeline-name:--property;view-timeline-axis:block}.property-card:before{content:"";position:absolute;left:0;top:23px;height:1px;width:0;background:var(--champagne);transition:width .7s var(--ease)}.property-card{position:relative}.property-card.is-visible:before{width:100%}.property-card img{transition:transform .9s var(--ease),filter .9s var(--ease)}.property-card:hover img{transform:scale(1.045);filter:saturate(.95) contrast(1.05)}
.chapter{position:relative}.chapter:after{content:"";position:absolute;left:0;top:0;height:1px;width:0;background:var(--champagne);transition:width .9s var(--ease);opacity:.7}.chapter.is-visible:after{width:clamp(70px,14vw,220px)}
.btn,.property-card,.concierge-pill{transform-style:preserve-3d}.btn{position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:-2px;background:linear-gradient(110deg,transparent 0 35%,rgba(255,255,255,.35) 48%,transparent 62%);transform:translateX(-120%);transition:transform .7s var(--ease);pointer-events:none}.btn:hover:before{transform:translateX(120%)}
@supports (animation-timeline: scroll()){
  .hero video{animation:lakeZoom linear both;animation-timeline:scroll(root);animation-range:0 70vh}
  .hero-inner{animation:heroLift linear both;animation-timeline:scroll(root);animation-range:0 62vh}
  @keyframes lakeZoom{from{transform:scale(1.06)}to{transform:scale(1.18)}}
  @keyframes heroLift{from{transform:translateY(0);opacity:1}to{transform:translateY(-70px);opacity:.72}}
}
@media(prefers-reduced-motion:reduce){.scroll-progress,.concierge-pill,.hero video,.hero-inner,.property-card,.property-card img,.chapter,.btn:before{animation:none!important;transition:none!important;transform:none!important}.concierge-pill{opacity:1}}
@media(max-width:900px){.concierge-pill{left:14px;right:14px;bottom:14px;grid-template-columns:1fr auto;padding:10px 10px 10px 14px}.concierge-pill span{font-size:16px}.concierge-pill a{padding:10px 12px}.scroll-progress{height:2px}.hero video{transform:scale(1.02)}}
@media(max-width:900px){.hero video{transform:scale(1)!important}}

/* Kasey brand logo + elegant preloader */
.logo-brand{display:flex;align-items:center;min-width:118px}.site-logo{display:block;width:116px;height:auto;object-fit:contain}.logo-white{display:none}nav .logo-brand span,nav .logo-brand small{display:none}.footer-logo-wrap{grid-column:1/-1;margin-bottom:28px}.footer-logo{width:154px;height:auto;display:block;filter:none}#kasey-preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(189,160,106,.16),transparent 34%),linear-gradient(135deg,#172126,#22343B);transition:opacity .75s var(--ease),visibility .75s var(--ease);pointer-events:none}#kasey-preloader.is-hidden{opacity:0;visibility:hidden}.preloader-mark{position:relative;display:grid;place-items:center;gap:28px;transform:translateY(8px);animation:preloaderRise 1.15s var(--ease) both}.preloader-mark img{width:min(220px,52vw);height:auto;filter:drop-shadow(0 18px 50px rgba(0,0,0,.28))}.preloader-mark span{width:168px;height:1px;position:relative;overflow:hidden;background:rgba(250,247,239,.22)}.preloader-mark span:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--champagne),transparent);animation:preloaderLine 1.45s ease-in-out infinite}@keyframes preloaderRise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes preloaderLine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:900px){.site-logo{width:98px}.footer-logo{width:132px}.logo-brand{min-width:98px}.preloader-mark img{width:min(190px,58vw)}}
@media(prefers-reduced-motion:reduce){#kasey-preloader,.preloader-mark,.preloader-mark span:after{animation:none!important;transition:none!important}}
