/* ============================================================
   Lilia Oliveira · Planeta Real Estate
   One typeface only: Archivo. Weight and scale do all the work.
   Forest green base, jet black statement, paper white sections.
   ============================================================ */

:root{
  --forest:#111C17;
  --forest-2:#18261F;
  --jet:#080A09;
  --paper:#FFFFFF;
  --bone:#F0F1EC;
  --mute:rgba(240,241,236,.56);
  --mute-2:rgba(240,241,236,.34);
  --grn:#1F6E45;
  --grn-hi:#43C784;
  --ink:#0C1310;
  --ink-2:#586761;
  --pad:clamp(16px,4vw,44px);
  --r:22px;
  --ease:cubic-bezier(.2,.7,.3,1);
  --f:"Archivo",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--forest)}
body{
  margin:0;background:var(--forest);color:var(--bone);
  font-family:var(--f);font-weight:400;font-size:clamp(15px,.98vw,16.5px);
  line-height:1.5;letter-spacing:-.006em;overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font-family:var(--f);color:inherit}
button{cursor:pointer}
h1,h2,h3{margin:0;font-weight:600;line-height:.98;letter-spacing:-.035em}
p{margin:0}
::selection{background:var(--grn-hi);color:var(--jet)}

/* ── shared atoms ─────────────────────────────────────────── */
.tag{
  display:flex;align-items:center;gap:.6em;
  font-size:.66rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--mute);
}
.tag i{font-style:normal;color:var(--grn-hi);font-weight:700}
.sec--light .tag{color:var(--ink-2)}
.sec--light .tag i{color:var(--grn)}

.pill{
  display:inline-flex;align-items:center;gap:.7em;border-radius:100px;
  padding:.78em 1.25em;font-size:.815rem;font-weight:600;letter-spacing:-.01em;
  border:1px solid transparent;transition:.35s var(--ease);white-space:nowrap;
}
.pill .arw{font-style:normal;font-size:.95em;transition:transform .35s var(--ease)}
.pill:hover .arw{transform:translate(2px,-2px)}
.pill--go{background:var(--grn-hi);color:var(--jet)}
.pill--go:hover{background:var(--bone)}
.pill--dark{background:var(--ink);color:var(--bone)}
.pill--dark:hover{background:var(--grn)}
.pill--glass{background:rgba(240,241,236,.1);border-color:rgba(240,241,236,.28);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.pill--glass:hover{background:rgba(240,241,236,.2)}
.pill--line{border-color:currentColor;opacity:.72}
.pill--line:hover{opacity:1}
.lnk{background:none;border:0;padding:.3em 0;font-size:.78rem;font-weight:500;
  color:var(--ink-2);border-bottom:1px solid currentColor;opacity:.7;transition:opacity .3s}
.lnk:hover{opacity:1}
.plus{display:block;align-self:flex-start;font-size:1.1rem;font-weight:300;line-height:1;color:var(--grn-hi);margin-bottom:1rem}
.sec--light .plus{color:var(--grn)}
.chip{
  display:inline-block;padding:.34em .8em;border-radius:100px;font-size:.6rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;background:rgba(240,241,236,.1);color:var(--bone);
  margin-bottom:1.1rem;align-self:flex-start;
}

/* ── nav ──────────────────────────────────────────────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:calc(var(--pad) * .55) var(--pad);
}
.nav__mark{display:flex;flex-direction:column;line-height:1.1;
  background:rgba(8,10,9,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  padding:.6rem 1.05rem;border-radius:100px;border:1px solid rgba(240,241,236,.12)}
.nav__mark b{font-size:.78rem;font-weight:700;letter-spacing:.03em}
.nav__mark span{font-size:.6rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}
.nav__links{
  display:flex;gap:.2rem;background:rgba(8,10,9,.5);backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);border:1px solid rgba(240,241,236,.12);
  border-radius:100px;padding:.28rem;
}
.nav__links a{padding:.5em 1em;border-radius:100px;font-size:.76rem;font-weight:500;
  color:var(--mute);transition:.3s var(--ease)}
.nav__links a:hover{background:rgba(240,241,236,.12);color:var(--bone)}
.nav__right{display:flex;align-items:center;gap:.5rem}
.lang{display:flex;background:rgba(8,10,9,.5);backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);border:1px solid rgba(240,241,236,.12);
  border-radius:100px;padding:.24rem}
.lang a{display:grid;place-items:center;background:none;border:0;border-radius:100px;padding:.4em .62em;
  font-size:.66rem;font-weight:700;letter-spacing:.06em;color:var(--mute);transition:.3s}
.lang a.is-on{background:var(--bone);color:var(--jet)}
.lang a:not(.is-on):hover{color:var(--bone)}
.nav .pill{padding:.66em 1.05em;font-size:.76rem}
@media(max-width:1100px){.nav__links{display:none}}
@media(max-width:560px){.nav__mark span{display:none}.nav .pill--go{display:none}}

/* ── hero ─────────────────────────────────────────────────── */
.hero{padding:var(--pad);padding-top:calc(var(--pad) + 62px)}
.panel{
  position:relative;border-radius:var(--r);overflow:hidden;
  min-height:min(86vh,780px);background:var(--forest-2);isolation:isolate;
}
.panel__scene{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;
  filter:saturate(.72) brightness(.56) contrast(1.04);
}
.panel__scene--vid{z-index:-3;opacity:0;transition:opacity 1.6s var(--ease)}
.panel__scene--vid.on{opacity:1}
.panel__bg{
  position:absolute;top:0;right:0;height:100%;width:clamp(300px,41%,640px);
  object-fit:cover;object-position:56% 20%;z-index:-2;
}
.panel__veil{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(8,12,10,.86) 0%,rgba(8,12,10,.7) 44%,rgba(8,12,10,.26) 58%,rgba(8,12,10,0) 70%),
    linear-gradient(180deg,rgba(8,12,10,.9) 0%,rgba(8,12,10,.55) 18%,rgba(8,12,10,0) 42%),
    linear-gradient(0deg,rgba(8,12,10,.85) 0%,rgba(8,12,10,0) 34%);
}

.hero__svc{
  position:absolute;top:clamp(78px,8.5vw,110px);right:clamp(20px,3vw,44px);
  margin:0;padding:0;list-style:none;text-align:right;
}
.hero__svc li{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  line-height:2.15;color:var(--bone);text-shadow:0 1px 12px rgba(0,0,0,.7)}
.hero__svc-note{font-weight:400!important;letter-spacing:.03em!important;text-transform:none!important;
  color:var(--mute)!important;font-size:.7rem!important;max-width:12rem;margin-top:.7rem;
  line-height:1.4!important;margin-left:auto}

.hero__head{
  position:absolute;left:clamp(20px,3.2vw,50px);top:clamp(78px,8.5vw,110px);
  max-width:min(55%,700px);
}
.hero__head .tag{margin-bottom:1.4rem}
.hero__head{transition:opacity .35s var(--ease)}
@media(min-width:901px){.panel.bio-open .hero__head{opacity:0;pointer-events:none}}
.hero__sub{margin-top:clamp(.8rem,1.4vw,1.2rem);font-size:clamp(1.05rem,1.9vw,1.55rem);font-weight:500;
  letter-spacing:-.025em;color:rgba(240,241,236,.78)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:clamp(1.4rem,2.4vw,2rem)}
.hero__head h1{
  font-size:clamp(2.1rem,5.2vw,4.6rem);font-weight:700;letter-spacing:-.045em;line-height:.96;
}
.hero__head h1 span{display:inline}

.hero__stats{position:absolute;left:clamp(20px,3.2vw,50px);bottom:clamp(20px,2.6vw,40px);
  display:flex;gap:.6rem;flex-wrap:wrap}
.glass{
  background:rgba(240,241,236,.08);border:1px solid rgba(240,241,236,.18);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-radius:16px;padding:.9rem 1.1rem;max-width:13rem;
}
.glass b{display:block;font-size:1.35rem;font-weight:700;letter-spacing:-.035em;line-height:1;margin-bottom:.35rem}
.glass span{font-size:.68rem;font-weight:400;color:var(--mute);line-height:1.35;display:block}
.hero__stats{align-items:center}
.about-btn{display:inline-flex;align-items:center;gap:.6rem;height:44px;padding:0 1.15rem 0 .55rem;border-radius:100px;
  background:rgba(240,241,236,.08);border:1px solid rgba(240,241,236,.22);color:var(--bone);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:.74rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease)}
.about-btn:hover{background:rgba(240,241,236,.16);border-color:rgba(240,241,236,.35)}
.about-btn:focus-visible{outline:2px solid var(--grn-hi);outline-offset:3px}
.about-btn__plus{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;
  font-size:1rem;font-weight:400;background:var(--grn-hi);color:var(--jet);transition:transform .35s var(--ease)}
.about-btn[aria-expanded="true"] .about-btn__plus{transform:rotate(45deg)}

/* her bio, opened from the About me button */
.bio{position:absolute;left:0;bottom:calc(100% + 12px);z-index:5;width:min(440px,calc(100vw - 80px));
  padding:1.35rem 1.5rem 1.3rem;border-radius:18px;background:rgba(8,12,10,.82);
  border:1px solid rgba(240,241,236,.18);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  animation:bioin .35s var(--ease)}
@keyframes bioin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bio h3{font-size:1.2rem;font-weight:700;letter-spacing:-.03em;margin:0 2rem .7rem 0}
.bio p{font-size:.84rem;line-height:1.55;color:rgba(240,241,236,.8);margin-top:.5rem}
.bio .bio__q{color:var(--grn-hi);font-weight:600;font-size:.9rem;margin-top:.8rem}
.bio__x{position:absolute;top:.75rem;right:.8rem;width:28px;height:28px;border-radius:50%;
  border:1px solid rgba(240,241,236,.25);background:none;color:var(--bone);font-size:1rem;line-height:1}
.bio__x:hover{background:rgba(240,241,236,.12)}

.hero__soc{position:absolute;right:clamp(20px,3vw,44px);bottom:clamp(20px,2.6vw,40px);
  display:flex;align-items:center;gap:.35rem}
.hero__soc a{
  display:inline-flex;align-items:center;justify-content:center;height:38px;min-width:38px;padding:0 .55rem;
  border-radius:100px;background:rgba(240,241,236,.08);border:1px solid rgba(240,241,236,.18);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  font-size:.68rem;font-weight:700;letter-spacing:.09em;transition:.3s var(--ease);
}
.hero__soc a:hover{background:var(--grn-hi);color:var(--jet);border-color:var(--grn-hi)}
.hero__num{padding:0 1rem!important;letter-spacing:.03em!important}

@media(max-width:900px){
  .panel{min-height:auto;display:flex;flex-direction:column}
  .panel__scene{display:none}
  .panel__bg{position:relative;width:100%;height:58vw;max-height:400px;order:2;
    object-position:60% 14%;z-index:0;margin-top:1.5rem}
  .panel__veil{inset:auto 0 0 0;height:40%;
    background:linear-gradient(0deg,rgba(8,12,10,.8),rgba(8,12,10,0))}
  .hero__svc{position:static;order:3;text-align:left;display:flex;flex-wrap:wrap;gap:.4rem;
    padding:1.2rem clamp(18px,4vw,28px) 0}
  .hero__svc li{line-height:1;padding:.5em .85em;border-radius:100px;
    border:1px solid rgba(240,241,236,.2);font-size:.64rem}
  .hero__svc-note{border:0!important;padding:.4rem 0 0!important;margin:0!important;flex-basis:100%}
  .hero__head{position:static;order:1;max-width:none;padding:calc(clamp(18px,4vw,28px) + 52px) clamp(18px,4vw,28px) 0}
  .hero__head h1{font-size:clamp(2rem,8.6vw,3.3rem)}
  .hero__stats{position:static;order:4;padding:1.3rem clamp(18px,4vw,28px) 0}
  .glass{flex:1;min-width:9rem;max-width:none}
  .about-btn{order:1}
  .bio{position:static;order:2;flex-basis:100%;width:100%;margin-top:.1rem}
  .hero__soc{position:static;order:5;padding:1.1rem clamp(18px,4vw,28px) 1.3rem;flex-wrap:wrap}
}

/* ── statement band ───────────────────────────────────────── */
.stmt{background:var(--jet);padding:clamp(56px,8vw,110px) var(--pad) clamp(40px,5vw,70px)}
.stmt h2{
  text-align:center;font-size:clamp(1.6rem,4.55vw,3.5rem);font-weight:700;letter-spacing:-.042em;
  line-height:1.08;max-width:24ch;margin:0 auto clamp(38px,5vw,64px);text-transform:uppercase;
}
.stmt h2 .boxed{
  display:inline-block;background:var(--bone);color:var(--jet);
  padding:.04em .3em .08em;border-radius:7px;margin:0 .12em;
}
.stmt__l2{display:block}
.trio{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:clamp(10px,1.2vw,18px)}
@media(max-width:900px){.trio{grid-template-columns:1fr}}
.tile{position:relative;border-radius:18px;overflow:hidden;min-height:clamp(240px,26vw,330px);display:flex}
.tile--media img,.tile--media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1s var(--ease)}
.tile--media video{z-index:1}
.tile--media:hover img{transform:scale(1.05)}
.tile__cap{
  position:relative;z-index:2;align-self:flex-end;margin:0;padding:1.1rem 1.2rem;
  font-size:.74rem;font-weight:600;letter-spacing:.03em;
  text-shadow:0 1px 14px rgba(0,0,0,.8);
}
.tile--media::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(0deg,rgba(8,10,9,.7),rgba(8,10,9,0) 46%)}
.tile--media video{opacity:0;transition:opacity 1s var(--ease)}
.tile--media video.on{opacity:1}

.tile--green{
  background:
    radial-gradient(120% 100% at 100% 0%,rgba(67,199,132,.5),transparent 62%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 2px,transparent 2px 7px),
    linear-gradient(150deg,#17593A,#0E3122);
  flex-direction:column;justify-content:flex-end;padding:clamp(20px,2.3vw,30px);gap:.85rem;
}
.tile--green h3{font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:600;letter-spacing:-.03em;max-width:15ch}
.tile--green p{font-size:.83rem;color:rgba(240,241,236,.78);max-width:34ch;line-height:1.5}
.tile--green .tag{color:rgba(240,241,236,.6);margin-bottom:auto}
.tile--green .pill{align-self:flex-start;margin-top:.4rem}

.stmt__foot{display:flex;gap:1.1rem;align-items:flex-start;margin-top:clamp(34px,4vw,56px);
  padding-top:clamp(22px,2.6vw,34px);border-top:1px solid rgba(240,241,236,.14);max-width:44rem}
.stmt__foot .plus{margin:0}
.stmt__foot p{font-size:.9rem;color:var(--mute);line-height:1.55}

/* ── generic section ──────────────────────────────────────── */
.sec{padding:clamp(56px,7.5vw,120px) var(--pad)}
.sec--light{background:var(--paper);color:var(--ink)}
.sec--dark{background:var(--forest)}
.sec__head{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,4vw,72px);
  align-items:end;margin-bottom:clamp(32px,4.4vw,64px);
}
.sec__head h2{font-size:clamp(2rem,5.4vw,4.1rem);font-weight:600;letter-spacing:-.042em;margin:.9rem 0 0}
.sec__head .pill{margin-top:1.6rem}
.sec__lede{font-size:1rem;line-height:1.55;max-width:38rem;color:var(--mute)}
.sec--light .sec__lede{color:var(--ink-2)}
@media(max-width:860px){.sec__head{grid-template-columns:1fr;align-items:start}}

/* ── quiz ─────────────────────────────────────────────────── */
.quiz{background:#F4F5F1;color:var(--ink);border-radius:var(--r);padding:clamp(22px,3.2vw,46px);max-width:none}
.quiz__bar{height:3px;background:rgba(12,19,16,.1);border-radius:3px;overflow:hidden;margin-bottom:.85rem}
.quiz__bar span{display:block;height:100%;width:14%;background:var(--grn);transition:width .5s var(--ease)}
.quiz__count{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-2);margin-bottom:1.9rem}
.q{display:none;border:0;margin:0;padding:0;min-width:0}
.q.is-on{display:block;animation:qin .45s var(--ease)}
@keyframes qin{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.q legend{font-size:clamp(1.4rem,3.3vw,2.5rem);font-weight:600;letter-spacing:-.038em;
  line-height:1.02;margin-bottom:1.6rem;padding:0;max-width:22ch}
.opts{display:grid;gap:.5rem}
.opts--3{grid-template-columns:repeat(3,1fr)}
.opts--2{grid-template-columns:repeat(2,1fr)}
.opts button{
  text-align:left;background:var(--paper);border:1px solid rgba(12,19,16,.11);border-radius:12px;
  padding:1.05em 1.15em;font-size:.885rem;font-weight:500;line-height:1.25;
  transition:.28s var(--ease);
}
.opts button:hover{border-color:var(--ink);transform:translateY(-2px)}
.opts button.is-on{background:var(--ink);color:var(--bone);border-color:var(--ink)}
@media(max-width:820px){.opts--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.opts--3,.opts--2{grid-template-columns:1fr}}

.fields{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.fields__full{grid-column:1/-1}
.fields label{display:flex;flex-direction:column;gap:.42rem}
.fields span{font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.fields input,.fields textarea{
  font-size:.93rem;font-weight:500;background:var(--paper);border:1px solid rgba(12,19,16,.11);
  border-radius:12px;padding:.85em .95em;resize:vertical;transition:border-color .3s;
}
.fields input:focus,.fields textarea:focus{outline:none;border-color:var(--grn)}
@media(max-width:640px){.fields{grid-template-columns:1fr}}
.summary{margin:1.4rem 0 .2rem;padding:1rem 1.15rem;background:var(--paper);border-radius:12px;
  font-size:.8rem;color:var(--ink-2);line-height:1.75}
.summary b{color:var(--ink);font-weight:700}
.q__send{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.4rem}
.q__privacy{margin-top:.9rem;font-size:.72rem;color:var(--ink-2);opacity:.8}
.quiz__nav{display:flex;gap:1.5rem;margin-top:1.9rem;padding-top:1.3rem;border-top:1px solid rgba(12,19,16,.1)}
.quiz__nav.is-hidden{display:none}

/* ── listings ─────────────────────────────────────────────── */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.2vw,18px);align-items:start}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.grid>*:nth-child(even){margin-top:clamp(18px,3.4vw,58px)}
.card{display:block;border-radius:18px;overflow:hidden;background:#F4F5F1;color:var(--ink);
  transition:transform .5s var(--ease)}
.card:hover{transform:translateY(-6px)}
.card__img{aspect-ratio:3/4;overflow:hidden;background:#E4E6E1;position:relative}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.card:hover .card__img img{transform:scale(1.06)}
.card__body{padding:1.05rem 1.15rem 1.3rem}
.card__loc{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.card__t{font-size:1.12rem;font-weight:600;letter-spacing:-.03em;margin:.45rem 0 .4rem;line-height:1.12}
.card__meta{font-size:.78rem;color:var(--ink-2)}
.card__price{margin-top:.85rem;padding-top:.7rem;border-top:1px solid rgba(12,19,16,.1);
  font-size:1.02rem;font-weight:700;letter-spacing:-.025em;color:var(--grn)}

.empty{
  grid-column:1/-1;margin-top:0!important;border-radius:var(--r);overflow:hidden;
  display:grid;grid-template-columns:1.05fr .95fr;background:var(--ink);color:var(--bone);
}
.empty__t{padding:clamp(26px,3.6vw,54px);display:flex;flex-direction:column;justify-content:center}
.empty__t h3{font-size:clamp(1.5rem,3.4vw,2.5rem);font-weight:600;letter-spacing:-.04em;margin-bottom:1rem;max-width:16ch}
.empty__t p{color:var(--mute);font-size:.92rem;max-width:34rem;margin-bottom:1.7rem;line-height:1.55}
.empty__t .pill{align-self:flex-start}
.empty__img{position:relative;min-height:260px}
.empty__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.empty{grid-template-columns:1fr}.empty__img{order:-1;min-height:200px}}

/* ── real projects ─────────────────────────────────────────── */
.pj__row{
  display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(22px,4.5vw,72px);align-items:center;
  padding:clamp(34px,4.6vw,68px) 0;border-top:1px solid rgba(12,19,16,.12);
}
.pj__row--rent,.pj__row--new{grid-template-columns:.6fr 1.4fr}
.pj__row--new.is-empty{grid-template-columns:1fr}
.pj__row--new.is-empty .nbwrap{display:none}
.pj__row--new.is-empty .pj__text{display:grid;grid-template-columns:1fr auto;column-gap:clamp(24px,5vw,90px);align-items:end}
.pj__row--new.is-empty .pj__text>*:not(.pj__stat){grid-column:1}
.pj__row--new.is-empty .pj__stat{grid-column:2;grid-row:1/span 3;border:0;margin:0;padding:0}
.pj__cat{display:flex;gap:.6em;align-items:center;font-size:.64rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-2);margin-bottom:1rem}
.pj__cat i{font-style:normal;color:var(--grn)}
.pj__text h3{font-size:clamp(1.55rem,3vw,2.5rem);font-weight:600;letter-spacing:-.04em;line-height:1.02;
  margin-bottom:.9rem;text-wrap:balance}
.pj__text>p:not(.pj__cat):not(.pj__stat){color:var(--ink-2);font-size:.96rem;line-height:1.6;max-width:40ch}
.pj__stat{display:flex;align-items:flex-end;gap:.8rem;margin-top:clamp(20px,2.4vw,34px);padding-top:1.1rem;
  border-top:1px solid rgba(12,19,16,.12)}
.pj__stat b{font-size:clamp(4.2rem,8.4vw,7.4rem);font-weight:800;letter-spacing:-.075em;line-height:.78;color:var(--grn)}
.pj__stat span{font-size:.84rem;font-weight:500;line-height:1.3;max-width:17ch;padding-bottom:.2rem}

/* build scrubber */
.scrub__frame{position:relative;aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:#E4E6E1}
.scrub__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity .75s var(--ease)}
.scrub__frame img.on{opacity:1}
.scrub__stops{display:grid;grid-template-columns:repeat(5,1fr);margin-top:.9rem;
  border-top:2px solid rgba(12,19,16,.1)}
.scrub__stops button{position:relative;background:none;border:0;padding:.85rem .4rem 0 0;text-align:left;
  font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);
  opacity:.5;transition:opacity .3s}
.scrub__stops button::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;
  background:var(--grn);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.scrub__stops button.past,.scrub__stops button.on{opacity:1;color:var(--ink)}
.scrub__stops button.past::before,.scrub__stops button.on::before{transform:scaleX(1)}
.scrub__stops button:hover{opacity:1}
.scrub__stops button:focus-visible{outline:2px solid var(--grn);outline-offset:4px}

/* the four managed flats */
.rent{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.2vw,16px)}
.rent__card{margin:0;border-radius:16px;overflow:hidden;background:#F4F5F1}
.rent__card img{width:100%;aspect-ratio:16/11;object-fit:cover;transition:transform 1s var(--ease)}
.rent__card:hover img{transform:scale(1.04)}
.rent__card figcaption{padding:.8rem 1rem .95rem}
.rent__name{font-size:.95rem;font-weight:600;letter-spacing:-.02em}
.rent__meta{font-size:.74rem;color:var(--ink-2);margin-top:.2rem}
.rent__meta b{color:var(--grn);font-weight:700;margin-right:.2rem}

/* plot, plan, project */
.trip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.2vw,16px);align-items:start}
.trip figure{margin:0}
.trip figure:nth-child(2){margin-top:clamp(0px,3.4vw,52px)}
.trip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;background:#fff}
.trip__plan img{object-fit:contain;padding:6%;border:1px solid rgba(12,19,16,.12)}
.trip figcaption{margin-top:.7rem;font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-2)}

/* new builds strip: every picture at one height, uncropped */
.nbwrap{min-width:0}
.nb{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:16px;overflow-x:auto;
  scroll-snap-type:x mandatory;padding-bottom:.4rem;scrollbar-width:none}
.nb::-webkit-scrollbar{display:none}
.nb figure{margin:0;scroll-snap-align:start}
.nb img{height:clamp(230px,26vw,360px);width:auto;max-width:78vw;object-fit:cover;border-radius:16px;display:block}
.nb figcaption{margin-top:.6rem;font-size:.8rem;font-weight:600;letter-spacing:-.01em}
.nb__nav{display:flex;gap:.4rem;justify-content:flex-end;margin-top:.9rem}
.nb__nav button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(12,19,16,.18);background:none;
  font-size:1rem;transition:.3s var(--ease)}
.nb__nav button:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.nb__nav button:focus-visible{outline:2px solid var(--grn);outline-offset:3px}

.pj__close{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(18px,3vw,48px);flex-wrap:wrap;
  padding-top:clamp(34px,4.6vw,68px);border-top:1px solid rgba(12,19,16,.12)}
.pj__close p{font-size:clamp(1.35rem,2.9vw,2.35rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;
  max-width:32ch;text-wrap:balance}

@media(max-width:960px){
  .pj__row,.pj__row--rent,.pj__row--new{grid-template-columns:1fr;gap:18px}
  .pj__row .pj__text{order:-1}
  .nb__nav{justify-content:flex-start}
  .pj__row--new.is-empty .pj__text{grid-template-columns:1fr}
  .pj__row--new.is-empty .pj__stat{grid-column:1;grid-row:auto;margin-top:1.4rem;padding-top:1.1rem;
    border-top:1px solid rgba(12,19,16,.12)}
}
@media(max-width:560px){
  .rent{grid-template-columns:1fr 1fr}
  .rent__card figcaption{padding:.6rem .7rem .75rem}
  .trip figure:nth-child(2){margin-top:0}
  .scrub__stops button{font-size:.56rem;letter-spacing:.08em}
}

/* ── section closing cta ─────────────────────────────────────── */
.ctarow{
  display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3vw,48px);
  flex-wrap:wrap;margin-top:clamp(26px,3.4vw,48px);padding-top:clamp(22px,2.6vw,34px);
  border-top:1px solid rgba(240,241,236,.16);
}
.sec--light .ctarow{border-top-color:rgba(12,19,16,.13)}
.ctarow p{font-size:clamp(1rem,1.9vw,1.35rem);font-weight:500;letter-spacing:-.025em;
  line-height:1.25;max-width:44ch;color:var(--bone)}
.sec--light .ctarow p{color:var(--ink)}
.ctarow .pill{flex-shrink:0}

/* ── contact ──────────────────────────────────────────────── */
.contact{position:relative;background:var(--jet) url("../img/sunset-cliffs.jpg") center/cover;isolation:isolate;overflow:hidden;
  padding:clamp(60px,9vw,130px) var(--pad)}
.contact__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  opacity:0;transition:opacity 1.4s var(--ease);filter:saturate(.7) brightness(.42)}
.contact__vid.on{opacity:1}
.contact::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(8,10,9,.9),rgba(8,10,9,.55))}
.contact__inner{max-width:64rem}
.contact h2{font-size:clamp(2.1rem,6vw,4.6rem);font-weight:600;letter-spacing:-.045em;margin:1rem 0 0}
.contact__lede{margin-top:1.2rem;color:var(--mute);max-width:34rem;font-size:1rem}
.contact__rows{margin-top:clamp(30px,4vw,54px);border-top:1px solid rgba(240,241,236,.16)}
.contact__rows a{
  display:grid;grid-template-columns:9rem 1fr auto;align-items:center;gap:1rem;
  padding:1.1rem 0;border-bottom:1px solid rgba(240,241,236,.13);transition:.35s var(--ease);
}
.contact__rows a:hover{padding-left:.8rem;background:rgba(240,241,236,.03)}
.contact__rows span{font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--mute)}
.contact__rows b{font-size:clamp(1.05rem,2.4vw,1.6rem);font-weight:600;letter-spacing:-.035em}
.contact__rows .arw{font-style:normal;color:var(--mute);transition:.35s var(--ease)}
.contact__rows a:hover .arw{color:var(--grn-hi);transform:translate(3px,-3px)}
@media(max-width:640px){.contact__rows a{grid-template-columns:1fr auto}
  .contact__rows span{grid-column:1/-1;margin-bottom:-.4rem}}

.foot{background:var(--jet);padding:clamp(30px,4vw,54px) var(--pad) calc(clamp(30px,4vw,54px) + env(safe-area-inset-bottom));
  border-top:1px solid rgba(240,241,236,.13);display:flex;flex-wrap:wrap;gap:.4rem 2.5rem;align-items:baseline}
.foot b{font-size:.9rem;font-weight:700;letter-spacing:.04em}
.foot p{font-size:.74rem;color:var(--mute-2)}

/* ── mobile dock ──────────────────────────────────────────── */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;
  background:rgba(8,10,9,.93);backdrop-filter:blur(14px);padding-bottom:env(safe-area-inset-bottom);
  border-top:1px solid rgba(240,241,236,.14)}
.dock a{flex:1;text-align:center;padding:1.05em .5em;font-size:.78rem;font-weight:600;
  border-right:1px solid rgba(240,241,236,.14)}
.dock a:first-child{color:var(--grn-hi)}
.dock a:last-child{border-right:0}
@media(max-width:720px){.dock{display:flex}body{padding-bottom:54px}}

/* ── reveal ───────────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
