/* LC Real Estate — brand system, locked July 2026 */
:root{
  --navy:#14263B; --cream:#F4F1EC; --brass:#B08A46; --brass-lt:#C9A24A; --brass-txt:#876730;
  --muted:#59677A; --white:#fff;
  --navy-90:rgba(20,38,59,.9); --navy-06:rgba(20,38,59,.06); --navy-12:rgba(20,38,59,.12);
  --maxw:1140px; --rad:3px;
  --f-head:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --f-accent:"Lora",Georgia,serif;
  --step:clamp(1rem,.95rem + .25vw,1.0625rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--cream);color:var(--navy);font-family:var(--f-head);
  font-size:var(--step);line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--brass-txt)}
.band a:hover,.hero a:hover,.card.navy .more{color:var(--brass-lt)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--f-head);line-height:1.15;margin:0 0 .5em;font-weight:600;letter-spacing:-.015em}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem);font-weight:700;letter-spacing:-.025em}
h2{font-size:clamp(1.5rem,1.2rem + 1.3vw,2.25rem)}
h3{font-size:clamp(1.15rem,1.05rem + .5vw,1.4rem)}
p{margin:0 0 1.1em;max-width:68ch}
.lead{font-size:clamp(1.1rem,1rem + .5vw,1.3rem);line-height:1.55;color:var(--navy);max-width:60ch}
.accent{font-family:var(--f-accent);font-style:italic;font-weight:400}
.label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted)}
h2.aslabel{font-family:var(--f-head);line-height:1.4;margin:0 0 .4rem}
.rule{height:1px;background:var(--brass);border:0;width:44px;margin:0 0 1.4rem}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.15rem,4vw,2rem)}
.narrow{max-width:720px}
section{padding:clamp(2.6rem,6vw,4.5rem) 0}
section.tight{padding:clamp(2rem,4vw,3rem) 0}
.muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;background:var(--navy);color:#fff;padding:.7rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}

/* header */
header.site{background:var(--cream);border-bottom:1px solid var(--navy-12);position:sticky;top:env(safe-area-inset-top,0px);z-index:50}
.nav{display:flex;align-items:center;gap:1.25rem;min-height:74px}
.brand{font-weight:700;letter-spacing:-.02em;text-decoration:none;font-size:1.05rem;line-height:1.1;flex:0 0 auto}
.brand span{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:2px}
.hdr-rl{display:flex;align-items:center;line-height:0;padding-left:1.05rem;
  border-left:1px solid var(--navy-12);flex:0 0 auto}
.hdr-rl img{height:44px;width:auto}
@media(max-width:1080px){.hdr-rl{display:none}}
.nav ul{list-style:none;display:flex;gap:1.35rem;margin:0 0 0 auto;padding:0;flex-wrap:wrap}
.nav a{text-decoration:none;font-size:.9rem;font-weight:500;padding:.3rem 0;border-bottom:1.5px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--brass)}
.navtoggle{display:none;margin-left:auto;background:none;border:1px solid var(--navy-12);border-radius:var(--rad);padding:.5rem .7rem;font:inherit;font-size:.85rem;cursor:pointer;color:var(--navy)}
@media(max-width:900px){
  .navtoggle{display:block}
  .nav ul{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--navy-12);
    flex-direction:column;gap:0;padding:.5rem clamp(1.15rem,4vw,2rem) 1.2rem;margin:0}
  .nav ul.open{display:flex}
  .nav ul li{border-top:1px solid var(--navy-06)}
  .nav ul a{display:block;padding:.8rem 0;font-size:1rem}
}

/* buttons */
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;padding:.8rem 1.5rem;
  border-radius:var(--rad);font-weight:600;font-size:.92rem;border:1.5px solid var(--navy);transition:background .15s,color .15s}
.btn:hover{background:#1d3450;color:#fff}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.onnavy{background:var(--brass);border-color:var(--brass);color:#14263B}
.btn.onnavy:hover{background:var(--brass-lt);color:#14263B}
.btn.ghost.onnavy{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.btn.ghost.onnavy:hover{background:#fff;color:var(--navy);border-color:#fff}
.btns{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.6rem}

/* hero */
.hero{background:var(--navy);color:#fff;padding:clamp(3rem,7vw,5.5rem) 0}
.hero h1{color:#fff;max-width:19ch}
.hero .accent{color:var(--brass-lt)}
.hero p{color:rgba(255,255,255,.82);max-width:52ch}
.hero .rule{background:var(--brass-lt)}
.hero .label{color:var(--brass-lt)}
.herogrid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.herogrid.top{align-items:start}
.heroSolo{max-width:900px}
.heroSolo h1{max-width:17ch}
@media(max-width:860px){.herogrid{grid-template-columns:1fr;gap:2rem}}

/* photography */
.shot{position:relative;margin:0;border-radius:var(--rad);overflow:hidden;background:var(--navy-06);
  border:1px solid var(--navy-12)}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.hero .shot,.band .shot{border-color:rgba(201,162,74,.3);background:#0f1e30}
.ar-4-3{aspect-ratio:4/3}.ar-3-2{aspect-ratio:3/2}.ar-16-9{aspect-ratio:16/9}
.ar-1-1{aspect-ratio:1/1}.ar-4-5{aspect-ratio:4/5}

/* hero plate: property photograph with the portrait inset */
.shot.portraitfix{max-width:340px}
.heroplate{position:relative;padding-bottom:1.5rem}
.heroplate .portrait{position:absolute;left:-.9rem;bottom:0;width:150px;padding:.35rem;
  background:var(--cream);border:1px solid rgba(201,162,74,.4);border-radius:var(--rad);
  box-shadow:0 16px 38px rgba(6,13,23,.45)}
.heroplate .portrait img{border-radius:2px}
@media(max-width:860px){.heroplate{padding-bottom:0}
  .heroplate .portrait{position:relative;left:auto;bottom:auto;z-index:2;
    width:132px;margin:-3.2rem 0 0 .6rem}}

/* brokerage lockup */
.rl-logo{background:#fff;border-radius:var(--rad);padding:.7rem .9rem;display:inline-block;line-height:0}
.rl-logo img{width:210px}
.awardbox{display:flex;align-items:center;gap:1rem;margin-top:1.2rem;flex-wrap:wrap}
.awardbox .awardtile{background:var(--navy);border-radius:var(--rad);padding:.55rem .7rem;line-height:0}
.awardbox img{width:160px}
.awardbox p{margin:0;font-size:.82rem;color:var(--muted);max-width:26ch}
footer.site .rl-logo{margin-bottom:1rem}
footer.site .rl-logo img{width:210px}


/* market figures */
table.mkt td{vertical-align:top}
table.mkt .d{display:block;font-size:.75rem;color:var(--muted);margin-top:.15rem;letter-spacing:.01em}
.up{color:#1F6F4A;font-weight:600}
.down{color:#9A3B2E;font-weight:600}
.flat{color:var(--muted);font-weight:600}
table.mkt .d.up{color:#1F6F4A}
table.mkt .d.down{color:#9A3B2E}
.ccwarn{background:rgba(154,59,46,.08);border-left:2px solid #9A3B2E;border-radius:2px;
  padding:.8rem .9rem;margin:0 0 1rem;font-size:.88rem;line-height:1.55;max-width:none}
.out .ccwarn{background:rgba(255,255,255,.1);border-left-color:var(--brass-lt);color:rgba(255,255,255,.92)}
.mktnum{margin-bottom:.5rem}
.mktnum b{font-size:1.55rem;color:var(--navy);letter-spacing:-.025em;display:block;line-height:1.1}
.mktnum .d{display:block;font-size:.78rem;margin-top:.2rem}
.awardmark{background:#fff;border:1px solid var(--navy-12);border-radius:var(--rad);
  padding:1.8rem 2rem;display:flex;justify-content:center;align-items:center}
.awardmark img{width:100%;max-width:340px}
@media(max-width:860px){.awardmark{padding:1.4rem}.awardmark img{max-width:280px}}
.chart{margin:2.2rem 0 0}
.chart figcaption{max-width:60ch;margin-top:1.3rem;font-size:.86rem}
.bars{position:relative;max-width:620px}
.bars .band{position:absolute;left:calc(var(--lo) + 9.2rem * (1 - var(--lo)/100) * 0);top:0;bottom:2.1rem;
  pointer-events:none}
.bar{display:grid;grid-template-columns:8.2rem 1fr 2.4rem;align-items:center;gap:.7rem;margin-bottom:.55rem}
.bl{font-size:.84rem;color:var(--navy);font-weight:600;text-align:right}
.bt{position:relative;height:20px;background:var(--navy-06);border-radius:2px}
.bt::before{content:"";position:absolute;z-index:2;top:0;bottom:0;left:var(--lo);width:calc(var(--hi) - var(--lo));
  background:rgba(201,162,74,.34)}
.bt::after{content:"";position:absolute;z-index:3;top:-3px;bottom:-3px;left:var(--hi);width:2px;background:var(--brass-lt)}
.bf{position:absolute;z-index:1;top:0;bottom:0;left:0;background:var(--navy);border-radius:2px}
.bv{font-size:.92rem;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}
.axis{display:grid;grid-template-columns:8.2rem 1fr 2.4rem;gap:.7rem;margin-top:.5rem}
.axis span:first-child{text-align:right}
.axis>span{font-size:.72rem;color:var(--muted)}
.axis .bmark{color:var(--brass-txt);font-weight:600}
@media(max-width:560px){
  .bar,.axis{grid-template-columns:6.4rem 1fr 2.2rem;gap:.5rem}
  .bl{font-size:.78rem}
}

/* selected work */
.note.pending{border-left-color:var(--brass);background:#fff}
.work{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;
  background:var(--navy-12);border:1px solid var(--navy-12);border-radius:var(--rad);overflow:hidden}
.work div{background:var(--cream);padding:1.1rem 1.2rem}
.work b{display:block;font-size:1.02rem;font-weight:600;letter-spacing:-.01em}
.work span{display:block;font-size:.82rem;color:var(--muted);margin-top:.3rem}
.work em{display:block;font-style:normal;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brass-txt);font-weight:600;margin-bottom:.45rem}
.band-cream .work div{background:#fff}

figure{margin:0}
figcaption{font-size:.8rem;color:var(--muted);margin-top:.5rem}

/* stat strip */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--navy-12);
  border:1px solid var(--navy-12);border-radius:var(--rad);overflow:hidden;margin:2rem 0 0}
.stat{background:var(--cream);padding:1.4rem 1.3rem}
.hero .stats{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.16)}
.hero .stat{background:var(--navy)}
.stat b{display:block;font-size:clamp(1.7rem,1.4rem + 1.2vw,2.3rem);font-weight:700;letter-spacing:-.03em;line-height:1}
.hero .stat b{color:var(--brass-lt)}
.stat span{display:block;font-size:.78rem;color:var(--muted);margin-top:.45rem;line-height:1.4}
.hero .stat span{color:rgba(255,255,255,.7)}
.basis{font-size:.78rem;color:var(--muted);margin-top:.9rem;max-width:60ch}
.hero .basis{color:rgba(255,255,255,.62)}

/* cards */
.grid{display:grid;gap:1.5rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g3.fill{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{background:var(--white);border:1px solid var(--navy-12);border-radius:var(--rad);padding:1.6rem;
  display:flex;flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s}
a.card:hover{border-color:var(--brass);transform:translateY(-2px)}
.card h3{margin-bottom:.4rem}
.card p{font-size:.94rem;color:var(--muted);margin-bottom:0;flex:1}
.card .more{margin-top:1rem;font-size:.85rem;font-weight:600;color:var(--brass-txt)}
.card.navy .more{color:var(--brass-lt)}
.card.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.card.navy h3,.card.navy p{color:#fff}
.card.navy p{color:rgba(255,255,255,.78)}

/* band */
.band{background:var(--navy);color:#fff}
.band h2,.band h3{color:#fff}
.band p{color:rgba(255,255,255,.8)}
.band .rule{background:var(--brass-lt)}
.band .label{color:var(--brass-lt)}
.band-cream{background:#EDE8E0}

/* pull quote */
blockquote{margin:2rem 0;padding:0 0 0 1.4rem;border-left:2px solid var(--brass);
  font-family:var(--f-accent);font-style:italic;font-size:clamp(1.15rem,1.05rem + .6vw,1.45rem);line-height:1.5;max-width:56ch}
blockquote p{margin:0;max-width:none}

/* prose */
.prose h2{margin-top:2.6rem}
.prose h3{margin-top:2rem}
.prose ul,.prose ol{max-width:66ch;padding-left:1.25rem}
.prose li{margin-bottom:.5rem}
.prose>p:first-child{font-size:1.12rem}
.note{background:var(--white);border:1px solid var(--navy-12);border-left:2px solid var(--brass);
  padding:1.1rem 1.25rem;border-radius:var(--rad);margin:1.8rem 0;font-size:.94rem}
.note p:last-child{margin-bottom:0}
.note strong{font-weight:600}

/* table */
table{border-collapse:collapse;width:100%;font-size:.92rem;margin:1.5rem 0}
th,td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--navy-12)}
th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
td b{font-weight:600}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* pagehead */
.pagehead{padding:clamp(1.6rem,3vw,2.4rem) 0 clamp(1.6rem,3vw,2.2rem);border-bottom:1px solid var(--navy-12)}
.pagehead h1{max-width:20ch}
.pagehead .lead{color:var(--muted)}
.crumb{font-size:.8rem;color:var(--muted);margin-bottom:.9rem}
.crumb a{color:var(--muted)}

/* tool */
.tool{background:var(--white);border:1px solid var(--navy-12);border-radius:var(--rad);padding:clamp(1.3rem,3vw,2rem)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}
.field input[type=text],.field select{width:100%;padding:.7rem .8rem;border:1px solid var(--navy-12);
  border-radius:var(--rad);font:inherit;font-size:1rem;background:var(--cream);color:var(--navy)}
.field input:focus,.field select:focus{border-color:var(--brass);outline:none;box-shadow:0 0 0 3px rgba(176,138,70,.15)}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;margin-bottom:1.1rem}
.check input{margin-top:.28rem;width:17px;height:17px;accent-color:var(--brass)}
.out{background:var(--navy);color:#fff;border-radius:var(--rad);padding:1.3rem 1.4rem;margin-top:1.4rem}
.out .row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:.93rem}
.out .row:last-of-type{border-bottom:0}
.out .row.total{font-size:1.15rem;font-weight:700;border-top:1px solid var(--brass-lt);border-bottom:0;margin-top:.5rem;padding-top:.8rem}
.out .row.total span:last-child{color:var(--brass-lt)}
.out .row span:first-child{color:rgba(255,255,255,.8)}

/* footer */
footer.site{background:var(--navy);color:rgba(255,255,255,.78);font-size:.88rem;margin-top:0}
footer.site .top{border-top:2px solid var(--brass);padding-top:2.4rem}
footer.site a{color:rgba(255,255,255,.78);text-decoration:none}
footer.site a:hover{color:var(--brass-lt)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;padding-bottom:2.2rem}
.fgrid .fh{color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .9rem;font-weight:600;line-height:1.4}
.fgrid ul{list-style:none;margin:0;padding:0}
.fgrid li{margin-bottom:.45rem}
.lockup{border-top:1px solid rgba(255,255,255,.16);padding:1.4rem 0;display:flex;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;font-weight:600;color:#fff;letter-spacing:.04em;font-size:.82rem;text-transform:uppercase}
.legal{border-top:1px solid rgba(255,255,255,.16);padding:1.4rem 0 2.4rem;font-size:.78rem;color:rgba(255,255,255,.55);line-height:1.6}
.legal p{max-width:none;margin-bottom:.6rem}

/* staging banner */
.staging{background:var(--brass);color:#14263B;font-size:.8rem;font-weight:600;text-align:center;padding:.5rem 1rem;letter-spacing:.04em}
