:root{
  --ink:#16233D;
  --ink-soft:#5B6478;
  --bg:#FFFFFF;
  --surface:#F6F7F9;
  --line:#E5E7EC;
  --white:#FFFFFF;
  --accent:#C9A24B;
  --accent-deep:#A9822F;
  --blue:#2E7BC4;
  --text:var(--ink);
  --text-dim:var(--ink-soft);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#12161F; --surface:#1B2130; --text:#E9EBF2; --text-dim:#A7AEC0; --line:#2C3345; --white:#1B2130;
  }
}
:root[data-theme="dark"]{
  --bg:#12161F; --surface:#1B2130; --text:#E9EBF2; --text-dim:#A7AEC0; --line:#2C3345; --white:#1B2130;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:var(--bg); color:var(--text);
  font-family:'Work Sans',ui-sans-serif,system-ui,sans-serif;
  padding:0;
}
h1,h2,h3,h4{
  font-family:'Work Sans',ui-sans-serif,system-ui,sans-serif; font-weight:600;
  text-wrap:balance; letter-spacing:-0.01em; margin:0; color:var(--ink);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) h1,:root:not([data-theme="light"]) h2,:root:not([data-theme="light"]) h3,:root:not([data-theme="light"]) h4{color:var(--text);}}
:root[data-theme="dark"] h1,:root[data-theme="dark"] h2,:root[data-theme="dark"] h3,:root[data-theme="dark"] h4{color:var(--text);}
a{color:inherit; text-decoration:none;}
button{font-family:inherit;}
p{line-height:1.7;color:var(--text-dim);}
.wrap{max-width:1100px;margin:0 auto;padding-inline:20px;}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:0.16em;color:var(--text-dim);display:flex;align-items:center;gap:8px;margin-bottom:14px;}

/* ---------- Nav ---------- */
nav.site{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
}
nav.site .row{max-width:1100px;margin:0 auto;padding-inline:20px;display:flex;align-items:center;justify-content:space-between;padding-block:16px;}
.brand{display:flex;align-items:center;gap:10px;cursor:pointer;}
.logo-img{height:72px;width:auto;display:block;}
@media (max-width:640px){.logo-img{height:52px;}}
.brand:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent);border-radius:2px;}

.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 26px;border-radius:2px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  cursor:pointer;border:1px solid var(--ink);background:transparent;color:var(--ink);
  transition:background .15s ease,color .15s ease;
}
.btn-outline:hover{background:var(--ink);color:var(--white);}
.btn-disabled{opacity:.4;pointer-events:none;border-color:var(--line);color:var(--text-dim);}

/* ---------- Full-bleed hero ---------- */
.hero-full{position:relative;width:100%;aspect-ratio:16/9;max-height:640px;overflow:hidden;}
.hero-full-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-full::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(10,14,24,.55), rgba(10,14,24,.15) 55%);}
.hero-full-cap{position:absolute;left:0;right:0;bottom:0;padding-bottom:56px;}
.hero-full-cap h1{color:#fff;font-size:clamp(30px,5.5vw,52px);line-height:1.08;}
@media (max-width:640px){.hero-full{aspect-ratio:3/4;max-height:560px;}}

/* ---------- About (centered) ---------- */
.about-simple{padding:72px 0;}
.about-simple-inner{max-width:760px;text-align:center;}
.about-simple-inner h2{font-size:clamp(24px,3vw,32px);margin-bottom:22px;}
.about-simple-inner p{margin:0 0 16px;}
.about-tagline{color:var(--ink);font-weight:500;margin-top:24px !important;}

/* ---------- Listings ---------- */
.listings{padding:24px 0 72px;}
.listings > .wrap{text-align:center;margin-bottom:20px;}
.listing-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:44px 0;border-top:1px solid var(--line);}
.listing-row:first-of-type{border-top:none;}
@media (max-width:800px){.listing-row{grid-template-columns:1fr;gap:22px;}}
.listing-photo{position:relative;border-radius:3px;overflow:hidden;aspect-ratio:4/3;}
.listing-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.sold-out-stamp{position:absolute !important;top:50%;left:50%;width:62% !important;height:auto !important;
  transform:translate(-50%,-50%) rotate(-8deg);object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));}
.listing-info h3{font-size:24px;line-height:1.3;margin-bottom:14px;}
.listing-specs{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--text-dim);margin-bottom:10px;}
.listing-extra{margin:0 0 6px;font-size:14px;color:var(--text-dim);}
.listing-desc{margin:10px 0 22px;max-width:46ch;}

/* ---------- Services ---------- */
.services{padding:24px 0 72px;background:var(--surface);}
.services > .wrap{text-align:center;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px;text-align:left;}
@media (max-width:800px){.services-grid{grid-template-columns:1fr;}}
.service-card{background:var(--white);border:1px solid var(--line);border-radius:3px;overflow:hidden;}
.service-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.service-body{padding:22px;}
.service-num{font-size:12px;color:var(--accent-deep);letter-spacing:0.08em;margin-bottom:8px;}
.service-card h4{font-size:17px;margin-bottom:8px;}
.service-card p{margin:0;font-size:14px;}

/* ---------- CTA banner ---------- */
.cta-banner{position:relative;width:100%;aspect-ratio:16/8;max-height:520px;overflow:hidden;}
.cta-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cta-banner::after{content:"";position:absolute;inset:0;background:rgba(10,14,24,.5);}
.cta-banner-cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:14px;}
.cta-banner-cap h2{color:#fff;font-size:clamp(24px,4vw,38px);}
.cta-banner-cap p{color:rgba(255,255,255,.85);max-width:46ch;margin:0;}
.cta-tags{color:#fff;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;margin-top:8px;}
@media (max-width:640px){.cta-banner{aspect-ratio:4/5;max-height:none;}}

/* ---------- Contact ---------- */
.contact-simple{padding:72px 0;background:var(--surface);}
.contact-simple-inner{max-width:560px;text-align:center;}
.contact-simple-inner h2{font-size:clamp(24px,3vw,32px);margin-bottom:26px;}
.contact-simple-inner form{text-align:left;}
.field{margin-bottom:14px;}
.field label{font-size:12px;color:var(--text-dim);display:block;margin-bottom:6px;}
.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:2px;background:var(--white);color:var(--text);font-family:inherit;font-size:14px;}
.field textarea{resize:vertical;min-height:80px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 24px;border-radius:2px;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--white);}
.success,.error{background:var(--white);border:1px solid var(--line);border-radius:3px;padding:16px;font-size:13px;color:var(--text-dim);margin-top:14px;}
.error{color:#b23b3b;}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line);padding:44px 0;}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:28px;}
.footer-cols{display:flex;gap:40px;flex-wrap:wrap;}
.footer-label{font-size:11px;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-dim);margin-bottom:4px;}
.footer-value{font-size:14px;color:var(--ink);}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .footer-value{color:var(--text);}}
:root[data-theme="dark"] .footer-value{color:var(--text);}

[hidden]{display:none!important;}
