/* Rusticbison Investments Lda
   Typefaces: Cinzel, Spectral, Archivo. All SIL Open Font License 1.1, self-hosted. */

@font-face{font-family:Cinzel;src:url(../fonts/cinzel-var.woff2)format("woff2");
  font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Spectral;src:url(../fonts/spectral-400.woff2)format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Spectral;src:url(../fonts/spectral-600.woff2)format("woff2");
  font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url(../fonts/archivo-var.woff2)format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ink:#15171A;
  --navy:#092449;
  --gold:#B9966C;      /* brand accent, decorative use only */
  --gold-ink:#7E5F33;  /* accessible on --paper, 4.9:1 */
  --paper:#E8EAEC;
  --card:#FCFCFD;
  --rule:#B4BCC5;
  --muted:#4E5865;
  --measure:34rem;
  --pad:clamp(1.25rem,4.5vw,3rem);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:400 1rem/1.65 Spectral,Georgia,"Times New Roman",serif;
  font-variant-ligatures:common-ligatures;
  text-rendering:optimizeLegibility;
}

.wrap{max-width:64rem;margin:0 auto;padding:0 var(--pad)}

a{color:var(--navy);text-underline-offset:.18em;text-decoration-thickness:.06em}
a:hover{color:var(--ink)}
a:focus-visible,button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}

/* ---------- masthead ---------- */

.masthead{padding:clamp(1.5rem,4vw,2.5rem) 0 1rem}
.masthead-inner{display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap}

.logo{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--ink)}
.logo img{width:5.4rem;height:auto;display:block;flex:none}
.logo-type{display:block;line-height:1}
.logo-name{font-family:Cinzel,serif;font-weight:620;
  font-size:clamp(1.05rem,3.2vw,1.35rem);letter-spacing:.012em;display:block}
.logo-sub{font-family:Cinzel,serif;font-weight:500;font-size:.58em;
  letter-spacing:.30em;color:var(--muted);display:block;margin-top:.42em}

.nav{display:flex;gap:1.6rem;font-family:Archivo,system-ui,sans-serif;
  font-weight:500;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase}
.nav a{color:var(--muted);text-decoration:none}
.nav a:hover{color:var(--navy)}

/* engraved double rule, a certificate convention rather than a newspaper hairline */
.rule-double{border:0;height:4px;margin:0;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:none}

/* ---------- hero ---------- */

.hero{display:grid;grid-template-columns:minmax(0,1fr) 24rem;gap:clamp(2rem,5vw,4rem);
  align-items:center;padding:clamp(2.75rem,7vw,5rem) 0 clamp(2rem,5vw,3.5rem)}

.eyebrow{font-family:Archivo,system-ui,sans-serif;font-weight:600;font-size:.72rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 1.1rem}

h1{font-family:Cinzel,serif;font-weight:620;margin:0;
  font-size:clamp(1.95rem,5.4vw,3.15rem);line-height:1.1;letter-spacing:.005em;
  color:var(--navy)}

.lede{max-width:var(--measure);font-size:clamp(1.02rem,1.6vw,1.16rem);
  line-height:1.62;margin:1.35rem 0 0;color:var(--ink)}

.stamp{margin:2rem 0 0;display:inline-flex;align-items:baseline;gap:.7rem;
  padding:.55rem .95rem;background:var(--card);border:1px solid var(--rule)}
.stamp-label{font-family:Archivo,system-ui,sans-serif;font-weight:600;font-size:.68rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.stamp-value{font-family:Archivo,system-ui,sans-serif;font-weight:500;font-size:1rem;
  letter-spacing:.09em;font-variant-numeric:tabular-nums;color:var(--navy)}

.rosette{width:100%;height:auto;display:block}

/* ---------- sections ---------- */

section{padding:clamp(2.5rem,6vw,4rem) 0}
section+section{border-top:1px solid var(--rule)}

h2{font-family:Cinzel,serif;font-weight:620;color:var(--navy);
  font-size:clamp(1.15rem,2.4vw,1.45rem);letter-spacing:.02em;margin:0 0 .35rem}

.section-note{font-family:Archivo,system-ui,sans-serif;font-weight:500;font-size:.72rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 2rem}

/* ---------- ruled particulars ---------- */

.fields{margin:0;display:grid;grid-template-columns:14rem minmax(0,1fr);
  column-gap:1.5rem}
.fields dt{font-family:Archivo,system-ui,sans-serif;font-weight:500;font-size:.75rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--muted);
  padding:.85rem 0;border-top:1px solid var(--rule);align-self:baseline}
.fields dd{margin:0;padding:.85rem 0;border-top:1px solid var(--rule)}
.fields dt:first-of-type,.fields dd:first-of-type{border-top:0;padding-top:0}
.mono{font-family:Archivo,system-ui,sans-serif;font-weight:500;
  font-variant-numeric:tabular-nums;letter-spacing:.07em}

/* ---------- the property ---------- */

.holding{background:var(--card);border:1px solid var(--rule);
  border-left:3px solid var(--gold);
  padding:clamp(1.5rem,3.5vw,2.25rem)}
.holding h3{font-family:Cinzel,serif;font-weight:620;font-size:1.15rem;
  letter-spacing:.02em;margin:0 0 .5rem;color:var(--navy)}
.holding p{margin:0 0 .9rem;max-width:32rem}
.holding address{font-style:normal;color:var(--muted);font-size:.95rem;margin:0 0 1.1rem}

.go{display:inline-flex;align-items:center;gap:.5rem;
  font-family:Archivo,system-ui,sans-serif;font-weight:600;font-size:.78rem;
  letter-spacing:.13em;text-transform:uppercase;text-decoration:none;
  color:var(--navy);border-bottom:1px solid var(--gold);padding-bottom:.25rem}
.go:hover{border-bottom-color:var(--navy)}

/* ---------- contact ---------- */

.contact-body{max-width:var(--measure)}
.contact-body p{margin:0 0 1.4rem}

/* ---------- footer ---------- */

footer{border-top:1px solid var(--rule);padding:2.25rem 0 3rem;
  color:var(--muted);font-size:.88rem}
.foot-row{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;align-items:baseline;
  justify-content:space-between}
.foot-links{display:flex;gap:1.4rem;font-family:Archivo,system-ui,sans-serif;
  font-weight:500;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase}
.foot-links a{color:var(--muted);text-decoration:none}
.foot-links a:hover{color:var(--navy)}
.foot-note{margin:1.2rem 0 0;font-size:.82rem;max-width:var(--measure)}

/* ---------- prose pages ---------- */

.prose{padding:clamp(2rem,5vw,3.5rem) 0 1rem;max-width:var(--measure)}
.prose h1{font-size:clamp(1.6rem,4vw,2.3rem);margin-bottom:1.5rem}
.prose h2{margin-top:2.5rem;margin-bottom:.6rem}
.prose p,.prose li{font-size:1rem;line-height:1.68}
.prose ul{padding-left:1.15rem}
.prose li{margin:.4rem 0}
.updated{font-family:Archivo,system-ui,sans-serif;font-weight:500;font-size:.72rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 2rem}

.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;position:fixed;z-index:9;background:var(--navy);
  color:#fff;padding:.6rem 1rem;text-decoration:none}

/* ---------- responsive ---------- */

@media (max-width:56rem){
  .hero{grid-template-columns:minmax(0,1fr);gap:2.5rem}
  .hero .rosette-cell{order:-1;max-width:19rem;margin:0 auto}
  .fields{grid-template-columns:minmax(0,1fr);column-gap:0}
  .fields dd{border-top:0;padding-top:0;padding-bottom:.9rem}
  .fields dt{padding-bottom:.25rem}
  .holding{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:34rem){
  .nav{gap:1.1rem;font-size:.7rem}
  .logo img{width:3.6rem}
}

@media print{
  body{background:#fff}
  .nav,.rosette-cell{display:none}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;color:#555}
}

.holding .tm{margin:1.9rem 0 0;font-size:.82rem;color:var(--muted)}

/* ---------- postal / delivery block ---------- */

.postal-label{margin:0 0 .6rem;width:100%;font-family:Archivo,system-ui,sans-serif;
  font-weight:600;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--navy)}
.postal{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:flex-start;
  background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--navy);
  padding:1.35rem 1.6rem;margin:0 0 1.4rem}
.postal-block{margin:0;line-height:1.55}
.postal-ids{margin:0;display:grid;grid-template-columns:auto auto;
  column-gap:1rem;row-gap:.35rem;align-content:start}
.postal-ids dt{font-family:Archivo,system-ui,sans-serif;font-weight:500;font-size:.72rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--muted);align-self:center}
.postal-ids dd{margin:0}

.status{margin:1.3rem 0 0;padding:.85rem 1.05rem;background:var(--paper);
  border-left:3px solid var(--gold-ink);font-size:.94rem;line-height:1.6}
.status strong{color:var(--gold-ink);letter-spacing:.02em}
