    :root { color-scheme: light; --ink:#102b36; --paper:#f5f4ef; --line:#c8cbc6; --gold:#b99d6b; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
    a { color:inherit; }
    .wrap { width:min(100% - 3rem, 1320px); margin:auto; }
    header { background:var(--ink); color:#f7f5ee; }
    .top { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:2rem; border-bottom:1px solid #ffffff35; }
    .brand { display:flex; align-items:center; gap:1rem; text-decoration:none; font-size:1rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; line-height:1.3; }
    .brand-mark { width:44px; height:44px; border:1px solid var(--gold); display:grid; place-items:center; font-family:Georgia,serif; font-size:1.35rem; letter-spacing:-.12em; padding-right:.12em; color:#e9d5aa; }
    nav { display:flex; gap:2rem; font-size:.9rem; }
    nav a { text-decoration:none; border-bottom:1px solid transparent; padding:.4rem 0; }
    nav a:hover, nav a:focus-visible { border-color:var(--gold); }
    .hero { min-height:560px; display:grid; grid-template-columns:48% 52%; }
    .hero-copy { display:flex; flex-direction:column; justify-content:center; padding:5rem min(5vw,5rem) 6rem max(1.5rem,calc((100vw - 1320px)/2)); }
    .eyebrow { color:#d6bd91; font-size:.78rem; text-transform:uppercase; letter-spacing:.23em; font-weight:bold; }
    h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(3.4rem,6vw,6.8rem); line-height:.98; letter-spacing:-.055em; margin:2rem 0; }
    .hero-copy p { max-width:26rem; font-size:1.1rem; line-height:1.7; color:#d7e0dc; margin:0; }
    .hero-image { position:relative; min-height:500px; background:#53656b url('street.jpg') center/cover no-repeat; }
    .hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#102b3630,transparent 40%),linear-gradient(0deg,#102b3650,transparent 40%); }
    .image-note { position:absolute; z-index:1; bottom:1.6rem; right:2rem; color:white; font-size:.76rem; letter-spacing:.08em; text-shadow:0 1px 5px #0008; }
    main { padding:6rem 0 7rem; }
    .intro { display:grid; grid-template-columns:1fr 1.25fr; gap:5rem; padding-bottom:6rem; border-bottom:1px solid var(--line); }
    .section-label { font-size:.75rem; text-transform:uppercase; letter-spacing:.2em; font-weight:bold; color:#7b6848; }
    h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,4vw,4.4rem); letter-spacing:-.04em; font-weight:400; line-height:1.08; margin:1rem 0 0; }
    .intro-text { font-size:1.35rem; line-height:1.6; max-width:39rem; margin:2rem 0 0; }
    .details { display:grid; grid-template-columns:1fr 2fr; gap:5rem; padding-top:5rem; }
    .details h2 { font-size:clamp(2.3rem,3.3vw,3.5rem); }
    .facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 3rem; margin:0; }
    .fact { border-top:1px solid var(--line); padding:1.3rem 0 1.6rem; }
    dt { font-size:.74rem; text-transform:uppercase; letter-spacing:.16em; color:#63737a; font-weight:bold; margin-bottom:.8rem; }
    dd { margin:0; font-family:Georgia,serif; font-size:1.25rem; line-height:1.4; }
    .record-link { display:inline-block; margin-top:2rem; font-weight:bold; text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:.45rem; }
    .record-link:hover { color:#8c7044; border-color:#8c7044; }
    footer { background:var(--ink); color:#d7e0dc; padding:2.5rem 0; }
    .foot { display:flex; justify-content:space-between; gap:2rem; font-size:.82rem; line-height:1.5; }
    .foot a { text-underline-offset:4px; }
    @media (max-width:800px) { .hero { grid-template-columns:1fr; } .hero-copy { padding:5rem 1.5rem; } .hero-image { min-height:360px; } .intro,.details { grid-template-columns:1fr; gap:1.5rem; } .intro { padding-bottom:4rem; } .details { padding-top:4rem; } main { padding:4rem 0; } }
    @media (max-width:520px) { .wrap { width:min(100% - 2rem,1320px); } .top { min-height:80px; } .brand { font-size:.76rem; letter-spacing:.1em; } .brand-mark { width:38px; height:38px; flex:none; } nav { gap:1rem; font-size:.8rem; } nav a:first-child { display:none; } .hero-copy { padding:4rem 1rem 4.5rem; } .hero-image { min-height:290px; } .facts { grid-template-columns:1fr; } .intro-text { font-size:1.15rem; } .foot { flex-direction:column; } }
.page-hero { background:var(--ink); color:#f7f5ee; padding:6rem 0 7rem; }
.page-hero h1 { max-width:900px; margin:1.5rem 0 0; }
.page-hero p { max-width:42rem; font-size:1.15rem; line-height:1.7; color:#d7e0dc; margin:2rem 0 0; }
.page-main { min-height:55vh; }
.lead { font-size:1.35rem; line-height:1.6; max-width:42rem; }
.text-block { max-width:48rem; border-top:1px solid var(--line); padding-top:2rem; margin-top:3rem; line-height:1.7; }
.text-block h2 { font-size:2.4rem; }
.page-main .details { padding:0; }
.back-link { display:inline-block; margin-top:3rem; text-underline-offset:5px; }

.logo { width:48px; height:48px; flex:none; }
.page-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:5rem; align-items:start; }
.page-grid .lead { margin-top:0; }
.note-panel { background:#e8e8df; padding:2rem; border-top:3px solid var(--gold); font-size:1rem; line-height:1.65; }
.note-panel h2 { font-size:2rem; margin:0 0 1rem; }
.note-panel p { margin:0 0 1rem; }
.note-panel p:last-child { margin-bottom:0; }
@media (max-width:900px) { .top { flex-wrap:wrap; padding:1.5rem 0; } nav { flex-wrap:wrap; } .page-grid { grid-template-columns:1fr; gap:2rem; } }
@media (max-width:520px) { nav { width:100%; gap:.6rem 1rem; } nav a:first-child { display:inline; } .logo { width:40px; height:40px; } .page-hero { padding:4rem 0 5rem; } }

/* Supplied company logo */
.brand { line-height:1; }
.logo { display:block; width:210px; height:auto; background:white; }
@media (max-width:520px) { .logo { width:170px; height:auto; } }

/* White navigation gives the supplied logo a continuous background. */
header { background:#fff; color:var(--ink); }
.top { border-bottom:1px solid #dce0df; }
nav a:hover, nav a:focus-visible { border-color:var(--ink); }
.hero { background:var(--ink); color:#f7f5ee; }

.contact-actions { display:grid; gap:1rem; margin-top:2rem; }
.contact-actions a { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.25rem 0; border-top:1px solid var(--line); text-decoration:none; overflow-wrap:anywhere; }
.contact-actions a:last-child { border-bottom:1px solid var(--line); }
.contact-actions span { font-size:.8rem; text-transform:uppercase; letter-spacing:.15em; color:#63737a; font-weight:bold; }
.contact-actions strong { font-family:Georgia,serif; font-size:1.2rem; font-weight:normal; text-align:right; }
.contact-actions a:hover strong, .contact-actions a:focus-visible strong { text-decoration:underline; text-underline-offset:4px; }
@media (max-width:520px) { .contact-actions a { align-items:flex-start; flex-direction:column; gap:.45rem; } .contact-actions strong { text-align:left; } }

.listings-heading { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:2.5rem; }
.listings-heading h2 { margin-top:.75rem; }
.listings-heading p { max-width:31rem; line-height:1.6; margin:0; }
.listing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.listing-card { background:white; box-shadow:0 12px 30px #102b360c; }
.listing-card img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; background:#d3d8d4; }
.listing-content { padding:2rem; }
.listing-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.sample-tag { font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; color:#66522d; font-weight:bold; background:#efe7d8; padding:.55rem .65rem; }
.listing-price { font-family:Georgia,serif; font-size:1.65rem; white-space:nowrap; }
.listing-price small { font:normal .8rem Arial,sans-serif; color:#63737a; }
.listing-card h2 { font-size:2.2rem; margin:1.5rem 0 .6rem; }
.listing-details { font-size:1rem; color:#52656b; line-height:1.5; }
.listing-card ul { padding-left:1.2rem; line-height:1.7; margin:1.5rem 0 0; }
.sample-note { margin:2rem 0 0; color:#52656b; font-size:.9rem; line-height:1.5; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr); gap:5rem; }
.contact-layout h2 { margin:1rem 0; }
.contact-layout p { line-height:1.6; }
#enquiry-form { display:grid; gap:1.35rem; margin-top:2rem; }
.form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.35rem; }
#enquiry-form label { display:grid; gap:.6rem; font-size:.9rem; font-weight:bold; }
#enquiry-form input, #enquiry-form select, #enquiry-form textarea { width:100%; font:inherit; font-weight:normal; font-size:1rem; color:var(--ink); background:white; border:1px solid #aebbbd; border-radius:0; padding:.85rem 1rem; }
#enquiry-form textarea { resize:vertical; min-height:10rem; }
#enquiry-form :is(input,select,textarea):focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
#enquiry-form button { justify-self:start; background:var(--ink); color:white; border:0; font:inherit; font-weight:bold; padding:1rem 1.5rem; cursor:pointer; }
#enquiry-form button:hover { background:#234b5c; }
.form-status { min-height:1.5rem; margin:0; }
.registered { margin-top:2rem; padding-top:2rem; border-top:1px solid var(--line); }
.registered small { color:#63737a; }
@media (max-width:900px) { .contact-layout { grid-template-columns:1fr; gap:3rem; } .listings-heading { align-items:start; flex-direction:column; gap:1rem; } }
@media (max-width:700px) { .listing-grid,.form-row { grid-template-columns:1fr; } .listing-content { padding:1.5rem; } }

.about-advert { margin-top:4.5rem; padding-top:3.5rem; border-top:1px solid var(--line); max-width:760px; }
.about-advert h2 { font-size:clamp(2.3rem,3.5vw,3.6rem); margin:1rem 0; }
.about-advert p { font-size:1.1rem; line-height:1.6; }
.about-advert figure { width:min(100%,520px); margin:2rem 0 0; }
.about-advert img { display:block; width:100%; height:auto; box-shadow:0 12px 35px #102b3620; }
.about-advert figcaption { margin-top:.75rem; color:#52656b; font-size:.85rem; }
.about-advert + .back-link { display:block; }
