: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);
}
/* This site is designed as a light-only theme (matching the approved
   design), so it intentionally does not switch palette based on the
   visitor's OS dark-mode setting — the dark-mode variable overrides
   that used to live here have been removed on purpose. */
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:var(--bg); color:var(--text);
  font-family:'Outfit',ui-sans-serif,system-ui,sans-serif;
  padding:0;
}
h1,h2,h3,h4{
  font-family:'Outfit',ui-sans-serif,system-ui,sans-serif; font-weight:600;
  text-wrap:balance; letter-spacing:-0.01em; margin:0; color:var(--ink);
}
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;max-height: 128px;padding:38px 38px;display:flex;align-items:center;justify-content:space-between;padding-block:6px;}
.brand{display:flex;align-items:center;gap:10px;cursor:pointer;}
.logo-img{height:auto;width:340px;display:block;}
@media (max-width:640px){.logo-img{height:60px;width:auto;}}

.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;z-index:0;}
.hero-full::after{content:none;}
.hero-full-cap{position:absolute;left:0;right:0;bottom:0;padding-bottom:56px;z-index:2;}
.hero-full-cap h1{color:#fff;font-size:clamp(30px,5.5vw,52px);line-height:1.08;font-weight:400;}
@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 .eyebrow{font-size:18px;}
.about-simple-inner h2{font-size:32px;margin-bottom:22px;}
.about-simple-inner p{margin:0 0 16px;font-size:20px;}
.about-tagline{color:var(--ink);font-weight:500;margin-top:24px !important;font-size:22px;}

/* ---------- Listings ---------- */
.listings{padding:24px 0 72px;}
.listings > .wrap{text-align:left;margin-bottom:20px;}
.listings > .wrap .eyebrow{font-size:16px;justify-content:flex-start;}
.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{margin-bottom:14px;font-size:26px;line-height:1.3;text-align:center;}
.listing-specs{display:flex;gap:10px;flex-wrap:wrap;font-size:18px;color:var(--text-dim);margin-bottom:10px;}
.listing-specs span + span{position:relative;padding-left:10px;}
.listing-specs span + span::before{content:"|";position:absolute;left:0;color:var(--line);}
.listing-extra{margin:0 0 6px;font-size:18px;color:var(--text-dim);}
.listing-info .btn-outline{display:table;margin-inline:auto;}
.listing-desc{margin:10px 0 22px;font-size:18px;text-align:left;}

/* ---------- Services ---------- */
.services{padding:24px 0 72px;background:var(--surface);}
.services > .wrap{text-align:center;}
.services > .wrap .eyebrow{font-size:26px;}
.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;z-index:0;}
.cta-banner::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 480px 340px at 26% 50%, rgba(10,14,24,.42) 0%, rgba(10,14,24,.22) 55%, rgba(10,14,24,0) 85%);}
.cta-banner-cap{position:absolute;inset:0;z-index:2;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 .eyebrow{font-size:26px;}
.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:14px;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:34px 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);}

[hidden]{display:none!important;}
