/* Shared article styling — the luxury-canon world (ivory + ink + brass, Bodoni Moda/Jost).
   Read mode. Matches the redesigned /realty. */
:root{
  --paper:#F8F6F1; --card:#FFFFFF; --hair:#E5DECE;
  --lime:#8A6A3B; --limedim:#7C5F33; --heading:#17150F; --body:#57503F; --dim:#6E6656;
  --sans:"Jost",system-ui,sans-serif; --display:"Bodoni Moda",Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:transparent;color:var(--body);font-family:var(--sans);font-size:17.5px;line-height:1.78;-webkit-font-smoothing:antialiased;font-weight:300}
html{background:var(--paper)}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(248,246,241,.78),rgba(248,246,241,.86)),url(/realty/assets/amalfi-window.jpg) center/cover no-repeat}
nav{position:sticky;top:0;z-index:50;background:rgba(248,246,241,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--hair)}
nav .in{max-width:720px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;height:62px}
.wordmark{font-family:var(--display);font-weight:600;color:var(--heading);font-size:18px;text-decoration:none}
.wordmark b{color:var(--limedim)}
.nav-cta{font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#F8F6F1;background:var(--heading);padding:9px 16px;text-decoration:none;font-weight:400}
.nav-cta:hover{background:var(--lime)}
article{max-width:720px;margin:0 auto;padding:60px 22px 44px}
.kicker{font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;color:var(--limedim);text-transform:uppercase}
h1{font-family:var(--display);color:var(--heading);font-weight:500;font-size:clamp(30px,5vw,44px);line-height:1.16;margin:16px 0 12px;text-wrap:balance}
.dek{font-size:19px;color:var(--dim);margin-bottom:38px;font-family:var(--display);font-style:italic;line-height:1.5}
h2{font-family:var(--display);color:var(--heading);font-weight:500;font-size:25px;margin:46px 0 14px}
p{margin-bottom:20px}
p b{color:var(--heading);font-weight:500}
a{color:var(--limedim)}
a:hover{color:var(--lime)}
.stat{background:var(--card);border:1px solid var(--hair);padding:24px 28px;margin:30px 0;box-shadow:0 14px 36px -28px rgba(23,21,15,.2)}
.stat .n{font-family:var(--display);font-weight:500;color:var(--limedim);font-size:40px;line-height:1.1}
.stat .l{font-size:14.5px;color:var(--body);margin-top:8px}
.stat .s{font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8A8270;margin-top:10px}
blockquote{background:var(--card);border:1px solid var(--hair);border-left:1px solid var(--lime);padding:20px 24px;margin:26px 0;color:var(--body);font-size:15.5px}
.cta{border:1px solid var(--hair);background:var(--card);padding:30px;margin:48px 0 8px;text-align:center;box-shadow:0 18px 44px -30px rgba(23,21,15,.22)}
.cta .num{display:block;font-family:var(--display);font-weight:500;font-size:clamp(26px,4.4vw,36px);color:var(--limedim);text-decoration:none;margin:10px 0 6px}
.cta .num:hover{color:var(--lime)}
.cta p{margin:0;font-size:14px;color:var(--dim)}
.sources{margin-top:48px;padding-top:22px;border-top:1px solid var(--hair)}
.sources h3{font-family:var(--sans);font-size:10px;letter-spacing:.24em;color:var(--dim);text-transform:uppercase;margin-bottom:14px;font-weight:400}
.sources ol{padding-left:20px;font-size:13.5px;color:var(--dim)}
.sources li{margin-bottom:9px}
.more{margin-top:38px;font-size:14.5px}
footer{border-top:1px solid var(--hair);margin-top:44px;padding:30px 22px 40px;font-size:12.5px;color:var(--dim);text-align:center}
footer a{color:var(--dim);text-decoration:none}
footer a:hover{color:var(--limedim)}

/* deep-sea boxes over the window (match /realty) */
.stat,.cta,blockquote{background:rgba(22,40,52,.92);border-color:rgba(245,239,227,.18);color:#C6D0D5;backdrop-filter:blur(10px)}
.stat .n,.cta .num{color:#D3B37E}
.stat .l{color:#C6D0D5}
.stat .s{color:#8FA0AA}
blockquote{border-left-color:#D3B37E}
.cta p{color:#9DACB5}
.cta .num:hover{color:#E7CD9C}
article{background:rgba(248,246,241,.86);backdrop-filter:blur(8px);border-inline:1px solid var(--hair)}
