/* Everstone Property Services LLC - stylesheet. Brand colors are the first variables. */
:root{--ink:#1F2328;--blue:#123F78;--blue-d:#0A2A52;--red:#D42B2B;--paper:#FBFAF8;--stone:#F1EEE9;--mute:#5E646C;--line:rgba(31,35,40,.14);--ease:cubic-bezier(.2,.7,.2,1);
--hd:"Archivo","Helvetica Neue",Arial,sans-serif;--bd:"Public Sans","Helvetica Neue",Arial,sans-serif;--pad:clamp(4.5rem,9vw,8rem)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.0625rem/1.7 var(--bd);color:var(--ink);background:var(--paper);overflow-x:hidden}
img,svg{display:block;max-width:100%}a{color:inherit}
h1,h2,h3{font-family:var(--hd);margin:0;line-height:1.02;letter-spacing:-.03em;font-weight:700}
h1{font-size:clamp(2.8rem,8vw,7rem)}h2{font-size:clamp(2.2rem,5vw,4.4rem)}
p{margin:0 0 1.1em;max-width:36em}
.wrap{width:min(1280px,100% - clamp(2rem,7vw,6rem));margin-inline:auto}
.lab{font:600 .74rem/1 var(--hd);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 1.4rem;display:flex;align-items:center;gap:.8rem}
.lab::before{content:"";width:24px;height:2px;background:var(--red)}
.skip{position:absolute;left:-999px;top:0;background:var(--blue);color:#fff;padding:.8rem 1rem;z-index:200}.skip:focus{left:0}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.lnk{font:700 .95rem var(--hd);text-decoration:none;padding-bottom:.2rem;background:linear-gradient(var(--red),var(--red)) 0 100%/32px 2px no-repeat;transition:background-size .4s var(--ease)}.lnk:hover{background-size:100% 2px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:.9rem;padding:1rem 1.5rem;font:700 .78rem/1 var(--hd);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1.5px solid;overflow:hidden;isolation:isolate;cursor:pointer;background:none;transition:color .35s var(--ease),border-color .35s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;translate:0 101%;transition:translate .4s var(--ease)}
.btn:hover::before,.btn:focus-visible::before{translate:0 0}
.btn span{transition:translate .3s var(--ease)}.btn:hover span{translate:3px 0}
.arr{width:1rem;height:1px;background:currentColor;position:relative;transition:width .3s var(--ease)}
.arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border:solid currentColor;border-width:1px 1px 0 0;rotate:45deg}
.btn:hover .arr{width:1.6rem}
.btn.blue{background:var(--blue);border-color:var(--blue);color:#fff}.btn.blue::before{background:var(--ink)}.btn.blue:hover{border-color:var(--ink)}
.btn.line{border-color:var(--ink);color:var(--ink)}.btn.line::before{background:var(--ink)}.btn.line:hover{color:#fff}
.btn.white{background:#fff;border-color:#fff;color:var(--ink)}.btn.white::before{background:var(--stone)}
.btn.ghostw{border-color:rgba(255,255,255,.8);color:#fff}.btn.ghostw::before{background:#fff}.btn.ghostw:hover{color:var(--ink)}
.acts{display:flex;flex-wrap:wrap;gap:.8rem}

/* Header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:80;transition:background .4s,box-shadow .4s,color .4s}
.hdr.over{color:var(--ink)}
.hdr.solid{background:rgba(251,250,248,.96);color:var(--ink);box-shadow:0 1px 0 var(--line),0 6px 20px rgba(31,35,40,.05)}
.bar{display:flex;align-items:stretch;justify-content:space-between;height:84px;width:min(1280px,100% - clamp(2rem,7vw,6rem));margin-inline:auto;transition:height .4s var(--ease)}
.hdr.solid .bar{height:70px}
.brand{display:flex;align-items:center;position:relative;z-index:3}
.brand img{height:50px;width:auto}
.nav{display:flex;align-items:center;gap:2.4rem}
.nav ul{display:flex;gap:2.2rem;list-style:none;margin:0;padding:0}
.nav li a{text-decoration:none;font:600 .8rem var(--hd);letter-spacing:.1em;text-transform:uppercase;position:relative;padding:.4rem 0;display:block}
.nav li a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);scale:0 1;transform-origin:left;transition:scale .4s var(--ease)}
.nav li a:hover::after,.nav li a[aria-current="page"]::after{scale:1 1}
.nav .btn{padding:.85rem 1.2rem}
.menu-btn{display:none;position:relative;z-index:3;align-self:center;width:46px;height:46px;border:1.5px solid currentColor;background:none;color:inherit;cursor:pointer;padding:0}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:1.5px;background:currentColor;margin:auto;position:relative;transition:transform .35s var(--ease),background .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"]{color:var(--ink)}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}.menu-btn[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
@media(max-width:900px){
.menu-btn{display:block}.brand img{height:40px}.bar{height:68px}
.nav{position:fixed;inset:0;background:var(--paper);color:var(--ink);flex-direction:column;align-items:flex-start;justify-content:center;gap:2rem;padding:6rem 2rem 3rem;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--ease),visibility 0s .6s;z-index:2}
.nav.open{clip-path:inset(0);visibility:visible;transition:clip-path .6s var(--ease)}
.nav ul{flex-direction:column;gap:.3rem;width:100%}
.nav li a{font:700 clamp(2rem,9vw,2.8rem)/1.25 var(--hd);letter-spacing:-.02em;text-transform:none;opacity:0;translate:0 16px;transition:opacity .5s,translate .6s var(--ease)}
.nav.open li a{opacity:1;translate:0}.nav.open li:nth-child(2) a{transition-delay:.05s}.nav.open li:nth-child(3) a{transition-delay:.1s}.nav.open li:nth-child(4) a{transition-delay:.15s}
body.lock{overflow:hidden}}

/* Motion */
.rv{opacity:0;translate:0 22px;transition:opacity .9s var(--ease),translate .9s var(--ease)}.rv.in{opacity:1;translate:0}
.ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.ln>span{display:block;translate:0 110%;transition:translate 1.1s var(--ease) var(--d,0s)}.lines.in .ln>span{translate:0}
.mask{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease)}.mask.in{clip-path:inset(0)}
.ph img,.ph::before{transition:scale 1.4s var(--ease)}.mask:not(.in) .ph img,.mask:not(.in) .ph::before{scale:1.15}

/* Photo slots: a real photo in images/photos covers the placeholder drawing */
.ph{position:absolute;inset:0;background:var(--stone);overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;background:center/cover no-repeat}
.ph.v1::before{background-image:url(../images/art-1.svg)}.ph.v2::before{background-image:url(../images/art-2.svg)}.ph.v3::before{background-image:url(../images/art-3.svg)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Hero */
.hero{padding:8.5rem 0 var(--pad);background:var(--paper)}
.hero-top{display:grid;grid-template-columns:1.6fr .7fr;gap:3rem;align-items:end;margin-bottom:3rem}
.hero h1{font-size:clamp(2.4rem,5.8vw,5.2rem)}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6;max-width:28em;margin:0 0 1.6rem}
.hero-photo{margin:0;position:relative;aspect-ratio:21/9;overflow:hidden;background:var(--stone)}
.hero .bg{inset:-12% 0}
.hint{position:absolute;right:1.6rem;bottom:1.4rem;z-index:2;width:1px;height:52px;background:rgba(255,255,255,.55);overflow:hidden}
.hint span{position:absolute;inset:0;background:#fff;translate:0 -100%;animation:drop 2.8s var(--ease) infinite}
@keyframes drop{60%,100%{translate:0 100%}}
@media(max-width:900px){.hero{padding:6.5rem 0 3.5rem}.hero-top{display:block;margin-bottom:2rem}.hero-side{margin-top:1.6rem}.hero-photo{aspect-ratio:4/3}.hint{display:none}}
/* Sections */
.intro{padding:var(--pad) 0}
.big{font:600 clamp(1.6rem,3.4vw,2.9rem)/1.2 var(--hd);letter-spacing:-.025em;max-width:22em;margin-bottom:2rem}
.svcs{padding:var(--pad) 0;background:var(--stone)}.shead{margin-bottom:3rem}
.dir{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.rows{list-style:none;margin:0;padding:0}
.row a{position:relative;display:grid;grid-template-columns:3.5rem 1fr auto;align-items:center;gap:.5rem;padding:1.5rem 0;border-top:1px solid var(--line);text-decoration:none}
.row:last-child a{border-bottom:1px solid var(--line)}
.row a::after{content:"";position:absolute;left:0;top:-1px;width:100%;height:2px;background:var(--red);scale:0 1;transform-origin:left;transition:scale .6s var(--ease)}
.row a:hover::after,.row a:focus-visible::after{scale:1 1}
.row .n{font:600 .85rem var(--hd);color:var(--mute)}
.row b{display:block;font:700 clamp(1.4rem,2.6vw,2.1rem)/1.15 var(--hd);letter-spacing:-.02em;transition:translate .45s var(--ease)}
.row small{display:block;color:var(--mute);font-size:.98rem;margin-top:.3rem;transition:translate .45s var(--ease)}
.row a:hover b,.row a:hover small,.row a:focus-visible b,.row a:focus-visible small{translate:12px 0}
.row .arr{color:var(--blue);opacity:0;translate:-10px 0;transition:opacity .3s,translate .4s var(--ease),width .3s}
.row a:hover .arr,.row a:focus-visible .arr{opacity:1;translate:0}
.prev{position:sticky;top:110px;aspect-ratio:4/5;overflow:hidden}
.pv{opacity:0;transition:opacity .7s var(--ease)}.pv.on{opacity:1}
@media(max-width:900px){.prev{display:none}.dir{display:block}.row .arr{opacity:1;translate:0}}

.why{padding:var(--pad) 0}
.why ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(2rem,6vw,6rem)}
.why li{border-top:1px solid var(--line);padding:2rem 0 2.6rem}
.why h3{font-size:clamp(1.8rem,3.4vw,2.8rem);margin-bottom:.7rem}.why p{color:var(--mute);margin:0}

.gallery{padding:0 0 var(--pad)}
.gg{display:grid;grid-template-columns:7fr 4fr;grid-template-rows:auto auto auto;gap:1.2rem;align-items:start}
.gg figure{margin:0;position:relative;overflow:hidden}
.g1{grid-column:1;grid-row:1/3;aspect-ratio:4/3}.g2{grid-column:2;grid-row:1;aspect-ratio:4/3}.g3{grid-column:2;grid-row:2;aspect-ratio:4/3}
.gg figcaption{position:absolute;left:1rem;bottom:1rem;background:#fff;font:600 .7rem var(--hd);letter-spacing:.14em;text-transform:uppercase;padding:.4rem .7rem;translate:0 8px;opacity:0;transition:.4s var(--ease);z-index:2}
.gg figure:hover figcaption{opacity:1;translate:0}
.gg figure:hover .ph img,.gg figure:hover .ph::before{scale:1.05}
.gg{position:relative}.gt{grid-column:1;grid-row:2;align-self:end;justify-self:start;margin:0 0 1.4rem 1.4rem;background:var(--paper);padding:1.3rem 1.5rem;z-index:3;max-width:20rem;font:600 clamp(1.3rem,2.2vw,1.7rem)/1.2 var(--hd);letter-spacing:-.02em}.gt small{display:block;font:400 .82rem var(--bd);color:var(--mute);margin-top:.5rem;letter-spacing:0}
@media(max-width:700px){.gg{grid-template-columns:1fr 1fr}.g1{grid-column:1/3;grid-row:auto}.g2,.g3{grid-column:auto;grid-row:auto}.gt{grid-column:1/3;grid-row:auto;margin:.6rem 0 0;padding:0;background:none;max-width:none;justify-self:stretch}.gg figcaption{opacity:1;translate:0}}

.proc{padding:var(--pad) 0;background:var(--stone)}
.steps{--p:0;list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;position:relative}
.steps::before,.steps::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}
.steps::after{background:var(--red);scale:var(--p) 1;transform-origin:left;transition:scale .6s var(--ease)}
.steps li{padding-top:1.6rem;opacity:.4;transition:opacity .5s}.steps li.on{opacity:1}
.steps .n{font:600 .85rem var(--hd);color:var(--red)}.steps h3{font-size:1.5rem;margin:.5rem 0 .5rem}.steps p{color:var(--mute);font-size:.98rem;margin:0}
@media(max-width:900px){.steps{grid-template-columns:1fr;gap:0;padding-left:1.6rem}.steps::before,.steps::after{left:0;right:auto;top:0;bottom:0;width:2px;height:auto}.steps::after{scale:1 var(--p);transform-origin:top}.steps li{padding:0 0 2rem 1.2rem}}

.cta{background:var(--ink);color:#fff;padding:var(--pad) 0}
.cta .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:end}
.cta h2{font-size:clamp(2.4rem,5.8vw,5.2rem)}.cta p{color:#C9CDD2;margin-bottom:1.6rem}
@media(max-width:900px){.cta .wrap{display:block}.cta .wrap>div{margin-top:2rem}}

/* Inner pages */
.phero{padding:10rem 0 4rem;background:var(--stone);position:relative}
.phero::after{content:"";position:absolute;left:0;bottom:0;width:80px;height:4px;background:var(--red)}
.phero h1{font-size:clamp(2.6rem,7vw,6rem);margin-bottom:1.5rem}.phero .lead{color:var(--mute);margin:0}
.phero.nf{min-height:80vh;display:flex;align-items:center}.phero.nf .acts{margin-top:2rem}
.abt{padding:var(--pad) 0}.abt figure{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden}
.blocks{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 2rem}.blocks h3{font-size:1.5rem;margin-bottom:.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}.blocks p{color:var(--mute);margin:0}
.regions{list-style:none;margin:3rem 0 0;padding:0}.regions li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1.2rem 0}
@media(max-width:900px){.two{display:block}.two>*+*{margin-top:2.5rem}.blocks{grid-template-columns:1fr}.phero{padding:8rem 0 3rem}.abt figure{aspect-ratio:4/3}.why ul{grid-template-columns:1fr}}

/* Contact */
.csplit{padding:9rem 0 var(--pad)}.cl h1{font-size:clamp(2.6rem,6vw,5rem);margin-bottom:1.5rem}.cl .lead{color:var(--mute)}
.cl dl{margin:0 0 2rem;border-top:1px solid var(--line)}.cl dt{font:600 .72rem var(--hd);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-top:1.3rem}.cl dd{margin:.25rem 0 0;font-size:1.1rem}.cl dd a{text-decoration:none;border-bottom:1px solid var(--red);word-break:break-word}
.form{background:#fff;border:1px solid var(--line);padding:clamp(1.4rem,3.5vw,2.8rem)}.form h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:2rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.6rem}
.field{margin-bottom:1.5rem;position:relative}
label{display:block;font:600 .72rem var(--hd);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:.3rem;transition:color .25s}
.field:focus-within label{color:var(--blue)}.req{color:var(--red)}
input,select,textarea{width:100%;font:400 1.05rem var(--bd);color:var(--ink);padding:.65rem 0;background:none;border:0;border-bottom:1.5px solid #B9BEC5;border-radius:0}
textarea{resize:vertical;min-height:100px}
input:focus,select:focus,textarea:focus{outline:0}
.field::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);scale:0 1;transform-origin:left;transition:scale .5s var(--ease);pointer-events:none}.field:focus-within::after{scale:1 1}
[aria-invalid="true"]{border-bottom-color:var(--red)}
.err{display:block;color:#B21F1F;font-size:.85rem;font-weight:600;margin-top:.3rem}
.hp{position:absolute;left:-9999px}.status{margin:1rem 0 0;font-weight:600}.status.err{color:#B21F1F}.meta{color:var(--mute);font-size:.9rem;margin:1.2rem 0 0}
.success{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:2rem;animation:fade .6s both}.success[hidden]{display:none}.success h3{font-size:2rem;margin-bottom:1rem}
@keyframes fade{from{opacity:0}}
@media(max-width:560px){.form .row{display:block}}

/* Footer */
.foot{background:var(--stone);padding:var(--pad) 0 0;color:var(--mute);font-size:.98rem}
.cols{display:grid;grid-template-columns:1.6fr 1fr 1.3fr;gap:3rem;padding-bottom:3.5rem}
.foot h3{font:600 .72rem var(--hd);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:1.1rem}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin-bottom:.5rem}.foot a{text-decoration:none;word-break:break-word}.foot li a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px}
.brand-f{display:inline-block;margin-bottom:1.2rem}.brand-f img{height:48px;width:auto}
.legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;border-top:1px solid var(--line);padding:1.5rem 0 2rem;font-size:.9rem}.legal ul{display:flex;gap:1.5rem}.legal li{margin:0}
@media(max-width:900px){.cols{grid-template-columns:1fr 1fr}.cols>div:first-child{grid-column:1/3}}@media(max-width:560px){.cols{grid-template-columns:1fr}.cols>div:first-child{grid-column:auto}}
.prose{max-width:46rem}.prose h2{font-size:1.5rem;margin:2.2rem 0 .7rem;letter-spacing:-.02em}.prose li{margin-bottom:.4rem}

.top{position:fixed;right:1.1rem;bottom:1.1rem;z-index:70;width:46px;height:46px;border:0;background:var(--blue);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .3s,translate .3s var(--ease)}
.top[hidden]{display:none}.top:hover{background:var(--ink);translate:0 -3px}
.top svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.rv,.ln>span,.mask{opacity:1;translate:0 0;clip-path:none}.ph img,.ph::before{scale:1!important}.pv.on{opacity:1}}
.prose,.cl dd,.foot{overflow-wrap:anywhere}
.prev,.gg figure,.abt figure{box-shadow:inset 0 0 0 1px var(--line)}.svcs .prev .ph::before{background-color:#fff}

body{animation:fade .6s both}
.g2.mask{transition-delay:.12s}.g3.mask{transition-delay:.24s}
.g2 img{object-position:50% 30%}
