*,*::before,*::after{box-sizing:border-box}
:root{--gold:#bc8f45;--dark:#262626;--ink:#211f1f;--sand:#e5ded8;--beige:#f2f1f0;--grey:#64615f;--pad:120px;--hdr:112px}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:24px;letter-spacing:.16px;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sr{position:absolute;left:-9999px;top:0}
.sr:focus{left:8px;top:8px;z-index:100;background:#fff;padding:8px 12px}
.hp{position:absolute;left:-5000px;width:280px}
.h64{font-family:"Tenor Sans",Georgia,serif;font-weight:400;font-size:64px;line-height:80px;letter-spacing:0}
.h24{font-family:"Tenor Sans",Georgia,serif;font-weight:400;font-size:24px;line-height:34px;letter-spacing:0}
.h5{font-size:18px;line-height:24px}
.h6{font-size:13px;line-height:16px;letter-spacing:.65px;text-transform:uppercase}
.gb{display:inline-flex;align-items:center;justify-content:center;gap:24px;height:55px;padding:0 30px;border:1px solid var(--gold);border-radius:2px;background:transparent;color:#fff;font-size:16px;line-height:21px;white-space:nowrap;transition:background .25s,color .25s}
.gb:hover{background:var(--gold);color:#fff}
.gb-w,.gb-d{color:var(--dark)}
.gb[disabled]{opacity:.45;cursor:not-allowed}
.gb[disabled]:hover{background:transparent;color:var(--dark)}
.lnk{color:var(--gold);text-decoration:underline}

/* header */
.mh{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--hdr);display:flex;align-items:center;padding:0 91px;background:rgba(255,255,255,.18);transition:transform .35s,background .3s,height .3s}
.mh-logo img{height:80px;width:auto}
.mh-nav{display:flex;gap:32px;margin:0 auto}
.mh-nav a{font-size:16px;color:#d7d7d7;transition:color .2s}
.mh-nav a:hover{color:#fff}
.mh-cta{width:196px}
.mh-burger{display:none;width:44px;height:44px;position:relative;margin-left:16px}
.mh-burger i{position:absolute;left:11px;width:22px;height:1px;background:#fff}
.mh-burger i:first-child{top:18px}
.mh-burger i:last-child{top:26px}
.mh.sc{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.mh.sc .mh-nav a{color:var(--dark)}
.mh.sc .mh-nav a:hover{color:var(--gold)}
.mh.sc .mh-cta{color:var(--dark)}
.mh.sc .mh-cta:hover{color:#fff}
.mh.sc .mh-burger i{background:var(--dark)}
.mh.hide{transform:translateY(-100%)}
.mm{position:fixed;top:0;left:0;right:0;bottom:0;z-index:60;background:var(--dark);color:var(--sand);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:80px 32px 40px;visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s}
.mm.on{visibility:visible;opacity:1}
.mm>a{font-family:"Tenor Sans",Georgia,serif;font-size:36px;line-height:52px}
.mm>a.gb{font-family:inherit;font-size:16px;line-height:21px;color:#fff;margin-top:24px}
.mm>a.mm-home{font-family:inherit;font-size:13px;line-height:16px;letter-spacing:.65px;text-transform:uppercase;margin-top:32px}
.mx{position:absolute;top:16px;right:16px;width:44px;height:44px;display:grid;place-items:center;color:var(--sand)}

/* hero */
.hero{position:relative;height:100vh;min-height:640px;overflow:hidden;color:#fdfdff;background:#555}
.hero-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.18)}
.hero-tx{position:absolute;z-index:1;left:0;right:0;bottom:192px;text-align:center;padding:0 24px}
.hero h1{font-family:"Tenor Sans",Georgia,serif;font-weight:400;font-size:120px;line-height:120px;max-width:800px;margin:0 auto}
.hero-meta{display:flex;justify-content:center;gap:16px;margin-top:16px;font-size:18px;line-height:24px}
.hero-meta li+li::before{content:"\2022";margin-right:16px}
.hero-dn{position:absolute;z-index:1;left:50%;bottom:33px;width:88px;height:88px;margin-left:-44px;border-radius:50%;background:#fff;color:var(--dark);display:grid;place-items:center;transition:transform .25s}
.hero-dn:hover{transform:translateY(4px)}

/* info */
.info{padding:184px 220px 160px}
.info-hd{text-align:center;max-width:860px;margin:0 auto}
.info-hd .h64{margin-top:16px;line-height:83px}
.info-sz{margin-top:24px;font-size:18px;line-height:24px}
.info-sz span+span::before{content:"|";margin:0 6px}
.info-rows{margin-top:88px}
.info-r{display:grid;grid-template-columns:315px minmax(0,1fr);gap:0;padding:32px 0;border-top:1px solid rgba(33,31,31,.15)}
.info-r:last-child{border-bottom:1px solid rgba(33,31,31,.15)}
.info-c{padding-top:5px}
.share{display:flex;align-items:center;gap:20px}
.share a{display:grid;place-items:center;width:24px;height:24px;color:currentColor;transition:color .2s}
.share a:hover{color:var(--gold)}
.share svg{width:15px;height:15px;fill:currentColor}

/* stats */
.stats{background:var(--beige);display:grid;grid-template-columns:repeat(3,335px);justify-content:center;padding:184px 120px 160px}
.stats .h64{color:var(--dark)}
.stats small{font-family:"Hanken Grotesk",sans-serif;font-size:16px;line-height:24px;letter-spacing:.16px;color:var(--grey);margin-left:5px}
.st-t{margin-top:14px;color:var(--grey)}

/* schedule */
.sch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:800px}
.sch-img{width:100%;height:100%;object-fit:cover}
.sch-in{padding:104px 112px;max-width:720px;min-width:0}
.sch-in .h64{color:#000}
.sch-lead{margin-top:24px;font-size:18px;line-height:24px;color:#000}
.sch-days{position:relative;margin-top:32px}
.sch-car{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.sch-car::-webkit-scrollbar{display:none}
.day{flex:none;width:155px;height:160px;border:1px solid #c4c4c4;border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;scroll-snap-align:start;color:#000;transition:border-color .2s,background .2s,color .2s}
.day span{font-size:14px;line-height:24px}
.day b{font-family:"Tenor Sans",Georgia,serif;font-weight:400;font-size:56px;line-height:66px}
.day:hover{border-color:var(--gold)}
.day.on{background:var(--dark);border-color:var(--dark);color:#fff}
.ca{position:absolute;top:36px;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;transition:opacity .2s}
.ca-p{left:-104px;background:#8a8784;color:#fff}
.ca-n{right:-104px;background:var(--dark);color:#fff}
.sel{display:block;width:100%;height:58px;margin-top:16px;padding:0 40px 0 16px;border:1px solid #c9c4bf;border-radius:2px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23464341'/%3E%3C/svg%3E") no-repeat right 18px center/9px 6px;color:#464341;font-size:16px;-webkit-appearance:none;appearance:none;cursor:pointer}
.seg{display:grid;grid-template-columns:1fr 1fr;margin-top:16px}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:flex;align-items:center;justify-content:center;gap:8px;height:55px;border:1px solid #c9c4bf;border-radius:2px;font-size:16px;color:#8a8784;cursor:pointer;transition:border-color .2s,color .2s}
.seg svg{fill:currentColor}
.seg input:checked+span{border-color:var(--gold);color:var(--dark)}
.seg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
#sch-next{width:100%;margin-top:24px;text-transform:uppercase}
.sch-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-top:32px;color:#000}

/* forms */
.uf{position:relative;border-bottom:1px solid currentColor;margin-top:8px}
.uf input,.uf textarea{display:block;width:100%;height:64px;padding:26px 0 0;background:transparent;border:0;border-radius:0;font-size:16px;line-height:24px;color:inherit;outline:0}
.uf textarea{min-height:64px;resize:vertical;padding-top:30px}
.uf label{position:absolute;left:0;top:30px;font-size:16px;line-height:20px;opacity:.6;pointer-events:none;transition:top .2s,font-size .2s}
.uf input:focus+label,.uf input:not(:placeholder-shown)+label,.uf textarea:focus+label,.uf textarea:not(:placeholder-shown)+label{top:6px;font-size:12px}
.uf:focus-within{border-bottom-color:var(--gold)}
.uf [aria-invalid=true]{box-shadow:0 2px 0 #c0392b}
.chk{display:flex;align-items:flex-start;gap:8px;margin-top:20px;font-size:12px;line-height:15.6px;text-align:justify}
.chk input{margin:2px 0 0;width:13px;height:13px;flex:none;accent-color:var(--gold)}
.chk a{text-decoration:underline}
.uform .gb{margin-top:48px}
.f-msg{min-height:20px;margin-top:12px;font-size:13px;line-height:20px;opacity:.8}
.f-msg.err{color:#e08a7f;opacity:1}
.f-done h3{font-family:"Tenor Sans",Georgia,serif;font-weight:400;font-size:24px;line-height:34px}

/* gallery */
.gal{position:relative;background:var(--dark);padding:120px 0 104px;overflow:hidden}
.gal-car{display:flex;align-items:center;gap:40px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 calc((100vw - var(--gw)) / 2);--gw:min(1060px,calc(100vw - 240px))}
.gal-car::-webkit-scrollbar{display:none}
.g-s{flex:none;width:var(--gw);aspect-ratio:3/2;scroll-snap-align:center;overflow:hidden;background:#3a3a3a;opacity:.55;transition:opacity .35s}
.g-s.on{opacity:1}
.g-s img{width:100%;height:100%;object-fit:cover}
.ga{position:absolute;top:50%;margin-top:-80px;width:88px;height:88px;border-radius:50%;background:#fff;color:var(--dark);display:grid;place-items:center;transition:transform .2s}
.ga:hover{transform:scale(1.06)}
.ga-p{left:60px}
.ga-n{right:60px}
.gal-pb{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:56px;color:#fff}
.gal-pb i{display:block;width:180px;height:1px;background:rgba(255,255,255,.3);position:relative}
.gal-pb b{position:absolute;left:0;top:0;height:1px;background:#fff;transition:width .3s}

/* amenities */
.am{background:var(--beige);padding:184px 220px}
.am-i{border-top:1px solid var(--dark)}
.am-i:last-child{border-bottom:1px solid rgba(38,38,38,.25)}
.am-h{display:grid;grid-template-columns:315px minmax(0,1fr) 24px;align-items:center;width:100%;min-height:172px;text-align:left;color:var(--dark)}
.am-n{color:var(--grey)}
.am-h .h64{line-height:64px}
.am-h i{position:relative;width:20px;height:20px;justify-self:end}
.am-h i::before,.am-h i::after{content:"";position:absolute;background:var(--gold);transition:transform .3s}
.am-h i::before{left:0;right:0;top:9.5px;height:1px}
.am-h i::after{top:0;bottom:0;left:9.5px;width:1px}
.am-h[aria-expanded=true] i::after{transform:scaleY(0)}
.am-b{padding:0 100px 56px 315px}
.am-c{display:grid;grid-template-columns:305px minmax(0,1fr);align-items:baseline;padding:24px 0 50px;border-top:1px solid var(--dark);color:var(--dark)}
.am-c span{color:var(--grey)}

/* quote */
.qt{background:var(--dark);color:var(--sand);text-align:center;padding:184px 24px 216px}
.qt-line{display:block;width:1px;height:54px;background:rgba(229,222,216,.4);margin:28px auto 52px}
.qt-q{max-width:794px;margin:0 auto;font-family:"Tenor Sans",Georgia,serif;font-size:36px;line-height:50px}

/* mortgage calculator */
.mc{background:var(--dark);color:var(--sand);border-top:1px solid rgba(229,222,216,.18);display:grid;grid-template-columns:440px 440px;justify-content:center;gap:110px;padding:184px 120px}
.mc-lead{margin-top:16px;font-size:18px;line-height:24px}
.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 40px;margin-top:25px}
.mc-f label{display:flex;align-items:center;gap:8px;font-size:16px;line-height:24px}
.tip{width:14px;height:14px;border:1px solid currentColor;border-radius:50%;font-size:9px;line-height:12px;text-align:center;cursor:help;flex:none}
.mc-f input{display:block;width:100%;height:40px;padding:0;background:transparent;border:0;border-bottom:1px solid var(--sand);border-radius:0;color:var(--sand);font-size:16px;outline-offset:2px}
.mc-f select{display:block;width:100%;height:58px;padding:0 36px 0 16px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23c9c4bf'/%3E%3C/svg%3E") no-repeat right 16px center/9px 6px;border:1px solid #928f8c;border-radius:0;color:#c9c4bf;font-size:16px;-webkit-appearance:none;appearance:none;cursor:pointer}
.mc-f select option{color:#000}
.mc-2{display:grid;grid-template-columns:1fr 80px;gap:5px}
.mc-note{margin-top:32px;font-size:12px;line-height:15.6px}
.mc-reset{display:inline-flex;align-items:center;gap:8px;margin-top:114px;color:#fff;border-bottom:1px solid var(--gold);padding-bottom:4px}
.mc-r{background:#fff;color:var(--dark);border-radius:4px;padding:28px 64px 40px;min-height:720px;display:flex;flex-direction:column}
.donut{position:relative;width:240px;height:240px;margin:0 auto}
.donut svg{display:block;width:240px;height:240px}
.donut-c{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut-c b{font-family:"Tenor Sans",Georgia,serif;font-weight:400;font-size:24px;line-height:34px}
.donut-c span{font-size:16px;line-height:24px}
.leg{margin-top:56px}
.leg li{display:flex;align-items:center;gap:14px}
.leg li+li{margin-top:16px}
.leg i{width:10px;height:10px;border-radius:50%;flex:none}
.leg span{border-bottom:1px solid var(--gold)}
.leg b{margin-left:auto;font-weight:400;color:#000}
.mc-share{margin-top:auto;padding-top:40px}

/* location, area */
.loc{padding:184px var(--pad) 0;text-align:center}
.pre{font-size:13px;line-height:16px;letter-spacing:.65px;text-transform:uppercase;color:rgba(38,38,38,.5)}
.loc .h64{margin-top:96px;color:var(--dark)}
.loc-map{height:432px;margin-top:101px;background:#eee}
.loc-map iframe{display:block;width:100%;height:100%;border:0}
.area{padding:184px 154px}
.area img{width:100%;aspect-ratio:1133/708;object-fit:cover}

/* contact */
.ct{background:var(--dark);color:var(--sand);display:grid;grid-template-columns:706px minmax(0,1fr);align-items:end;gap:112px;padding:184px 120px 184px 0}
.ct-img{width:100%;aspect-ratio:706/428;object-fit:cover}
.ct-in{max-width:400px;align-self:start;padding-top:9px}
.ct-in .h64{margin-bottom:24px}

/* agent */
.ag{background:var(--beige);padding:184px 120px}
.ag-card{background:#fff;text-align:center;padding:80px 220px 80px;max-width:1200px;margin:0 auto;color:var(--dark)}
.ag-av{width:135px;height:135px;border-radius:50%;object-fit:cover;object-position:center 20%;margin:0 auto;background:var(--dark)}
.ag-card .h64{margin-top:24px}
.ag-card .h5{margin-top:18px}
.ag-lic{margin-top:40px;color:rgba(38,38,38,.5)}
.ag-bio{margin-top:32px}
.soc{display:flex;justify-content:center;gap:18px;margin-top:40px}
.soc a{display:grid;place-items:center;width:24px;height:24px;color:var(--dark);transition:color .2s}
.soc a:hover{color:var(--gold)}
.soc svg{width:15px;height:15px;fill:currentColor}
.ag-ct{display:flex;justify-content:center;gap:120px;margin-top:40px;padding-top:40px;border-top:1px solid var(--dark);text-align:left}
.ag-ct .h6{color:rgba(38,38,38,.5)}
.ag-ct a{display:block;margin-top:32px;font-size:18px;line-height:23px;color:#000}
.ag-ct a:hover{color:var(--gold)}

/* footer */
.mf{background:var(--beige);color:var(--dark);padding:120px 120px 70px}
.mf-top{display:flex;justify-content:space-between;align-items:flex-start;gap:48px}
.nl{width:352px;max-width:100%}
.nl .uf{border-bottom-color:#c9c4bf;margin-top:8px}
.mf-up{width:28px;height:28px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}
.mf-note{margin-top:110px;font-size:13px;line-height:16px;letter-spacing:.65px;color:rgba(38,38,38,.5)}
.mf-note+.mf-note{margin-top:8px}
.mf-bot{display:grid;grid-template-columns:1fr 434px 275px;align-items:start;gap:32px;margin-top:27px;color:rgba(38,38,38,.8)}
.mf-brand img{height:35px;width:auto;filter:invert(1)}
.mf-by{font-size:18px;line-height:27px;border-bottom:1px solid rgba(38,38,38,.3);justify-self:start}
.mf-copy a{text-decoration:underline}

/* photo viewer */
.lb{position:fixed;top:0;left:0;right:0;bottom:0;z-index:80;background:rgba(20,20,20,.96);display:flex;align-items:center;justify-content:center;padding:64px 120px}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:100%;object-fit:contain}
.lb button{position:absolute;width:56px;height:56px;border-radius:50%;color:#fff;display:grid;place-items:center;background:rgba(255,255,255,.12)}
.lb button:hover{background:rgba(255,255,255,.26)}
.lb-x{top:16px;right:16px}
.lb-p{left:24px;top:50%;margin-top:-28px}
.lb-n{right:24px;top:50%;margin-top:-28px}
.lb-c{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:#fff;font-size:14px}

@media (max-width:1279px){
:root{--pad:64px}
.mh{padding:0 48px}
.mh-nav{gap:22px}
.info,.am{padding-left:96px;padding-right:96px}
.stats{grid-template-columns:repeat(3,1fr);padding-left:64px;padding-right:64px}
.sch-in{padding:96px 64px}
.ca-p{left:-56px}
.ca-n{right:-56px}
.ca{width:56px;height:56px;top:52px}
.mc{grid-template-columns:1fr 1fr;gap:56px;padding:140px 64px}
.ct{grid-template-columns:1fr 1fr;gap:64px;padding-right:64px}
.ag-card{padding:72px 64px}
.area{padding:140px 64px}
.mf{padding:96px 64px 60px}
.mf-bot{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:1023px){
:root{--hdr:80px}
body{font-size:14px;line-height:24px}
.h64{font-size:40px;line-height:50px}
.mh{padding:0 24px 0 32px;background:rgba(255,255,255,.18)}
.mh-logo img{height:46px}
.mh-nav{display:none}
.mh-cta{width:auto;height:53px;margin-left:auto;padding:0 20px;gap:12px}
.mh-burger{display:block}
.hero{height:812px;max-height:100svh;min-height:560px}
.hero h1{font-size:54px;line-height:54px}
.hero-tx{bottom:96px}
.hero-dn{display:none}
.info{padding:120px 32px 96px}
.info-hd .h64{font-size:44px;line-height:54px}
.info-rows{margin-top:64px}
.info-r{grid-template-columns:1fr;gap:12px;padding:24px 0}
.stats{grid-template-columns:1fr;gap:48px;padding:96px 32px;text-align:center}
.stats .h64{font-size:40px;line-height:50px}
.sch{grid-template-columns:minmax(0,1fr);min-height:0}
.sch-img{display:none}
.sch-in{padding:72px 24px 64px;max-width:none}
.sch-days{padding:0 64px}
.day{width:100%;min-width:100%}
.ca{top:52px;width:48px;height:48px}
.ca-p{left:0}
.ca-n{right:0}
.gal{padding:120px 0 72px}
.gal-car{--gw:100vw;gap:0;padding:0}
.g-s{opacity:1}
.ga{top:auto;bottom:56px;margin-top:0;width:56px;height:56px}
.ga-p{left:24px}
.ga-n{right:24px}
.gal-pb{margin-top:48px}
.gal-pb i{width:110px}
.am{padding:96px 32px}
.am-h{grid-template-columns:40px minmax(0,1fr) 20px;min-height:120px;gap:0}
.am-h .h64{font-size:32px;line-height:40px}
.am-b{padding:0 0 32px}
.am-c{grid-template-columns:1fr;gap:4px;padding:18px 0 22px}
.qt{padding:120px 32px 140px}
.qt-q{font-size:24px;line-height:40px}
.mc{grid-template-columns:1fr;gap:0;padding:0 32px 96px}
.mc-r{order:-1;min-height:0;margin:0 -32px 56px;border-radius:0;padding:32px}
.mc-grid{grid-template-columns:1fr}
.mc-reset{margin-top:48px}
.loc{padding:120px 0 0}
.loc .h64{margin-top:48px}
.loc-map{height:375px;margin-top:56px}
.area{padding:120px 0}
.ct{grid-template-columns:1fr;gap:56px;padding:96px 32px}
.ct-img{display:none}
.ct-in{max-width:none}
.uform .gb{width:100%}
.ag{padding:96px 16px}
.ag-card{padding:40px 16px 48px}
.ag-av{width:96px;height:96px}
.ag-ct{flex-direction:column;align-items:center;gap:32px;text-align:center}
.ag-ct a{margin-top:12px}
.mf{padding:56px 32px 110px}
.mf-top{flex-direction:column-reverse}
.mf-up{align-self:flex-end}
.mf-note{margin-top:64px}
.mf-bot{grid-template-columns:1fr;gap:20px}
.lb{padding:72px 12px}
.lb-p,.lb-n{top:auto;bottom:12px;margin-top:0}
.lb-p{left:12px}
.lb-n{right:12px}
.lb-c{bottom:28px}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*{transition:none!important}
}
