@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo.woff2) format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
:root{
  --saguaro:#1E3D2F;   /* main green, headings and dark bands */
  --ink:#17261E;       /* body text */
  --muted:#56675E;
  --sky:#DCEAF0;       /* Arizona sky, light bands */
  --paloverde:#D3E34E; /* ARV highlight */
  --line:#CFDAD4;
  --paper:#FFFFFF;
  --wa:#13834A;        /* WhatsApp action, dark enough for white text */
  --max:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 "Archivo",Arial,sans-serif;font-stretch:100%}
img{display:block;max-width:100%}
a{color:var(--saguaro)}
h1,h2{font-stretch:118%;font-weight:800;line-height:1.05;letter-spacing:-.01em;color:var(--saguaro);margin:0 0 .4em}
h1{font-size:clamp(2.2rem,7vw,3.6rem)}
h2{font-size:clamp(1.4rem,4vw,1.9rem)}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--saguaro);outline-offset:3px}
.wrap{width:min(var(--max),100% - 32px);margin-inline:auto}
.narrow{max-width:680px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:#fff;padding:8px 12px;z-index:10}

/* header */
.top{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}
.top-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.name{text-decoration:none;display:flex;flex-direction:column;line-height:1.15}
.name strong{font-stretch:118%;font-weight:800;font-size:1.25rem;color:var(--saguaro)}
.name span{font-size:.85rem;color:var(--muted)}
.top-links{display:flex;align-items:center;gap:18px}
.top-links a:not(.btn){text-decoration:none;font-weight:600;font-size:.95rem}
.top-links a:not(.btn):hover{text-decoration:underline}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border-radius:999px;background:var(--saguaro);color:#fff;text-decoration:none;font-weight:700;font-size:1rem;border:2px solid var(--saguaro);cursor:pointer;font-family:inherit}
.btn:hover{filter:brightness(1.12)}
.btn.wa{background:var(--wa);border-color:var(--wa)}
.btn.wa::before{content:"";width:20px;height:20px;margin-right:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.7.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.3-.4.7-1.4.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6.5-.1 1.5-.6 1.7-1.2s.2-1.1.1-1.2-.2-.1-.4-.2z'/%3E%3C/svg%3E") no-repeat center/contain}
.btn.small{min-height:40px;padding:8px 16px;font-size:.9rem}
.btn.small.wa::before{width:16px;height:16px;margin-right:7px}
.btn.ghost{background:#fff;color:var(--saguaro)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* intro band */
.intro{background:var(--sky);padding:40px 0 28px}
.intro p{max-width:62ch;color:#2D4038}
.cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.cities a{padding:7px 14px;border-radius:999px;background:#fff;text-decoration:none;font-weight:600;font-size:.92rem;border:1px solid var(--line)}
.cities a[aria-current]{background:var(--saguaro);color:#fff;border-color:var(--saguaro)}

/* deal list */
.list{padding:28px 0 56px}
.deals{display:grid;gap:36px 28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.deal-photo{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:var(--sky)}
.deal-photo img{width:100%;height:100%;object-fit:cover}
.flag{position:absolute;left:12px;top:12px;background:var(--ink);color:#fff;font-weight:700;font-size:.85rem;padding:5px 12px;border-radius:999px}
.deal-body{padding-top:14px}
.where{color:var(--muted);font-size:.92rem;margin:0 0 2px}
.deal h2{font-size:1.45rem;margin:0 0 4px}
.deal h2 a{text-decoration:none}
.specs{color:var(--muted);margin:0 0 14px}
.more{display:inline-block;margin-top:12px;font-weight:700}

/* the ledger: the deal numbers */
.ledger{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:2px solid var(--saguaro)}
.ledger div{padding:10px 0;border-bottom:1px solid var(--line)}
.ledger div{padding-right:12px}
.ledger.cols-3{grid-template-columns:repeat(3,1fr)}.ledger.cols-1{grid-template-columns:1fr}
.ledger dt{font-size:.85rem;color:var(--muted)}
.ledger dd{margin:0;font-stretch:125%;font-weight:800;font-variant-numeric:tabular-nums;color:var(--saguaro);font-size:1.15rem;line-height:1.2}
.ledger .l-price{grid-column:1/-1}
.ledger .l-price dd{font-size:2rem}
.ledger mark{background:linear-gradient(transparent 52%,var(--paloverde) 52%);color:inherit;padding:0 2px}
.ledger.big{margin:18px 0 12px}
.ledger.big .l-price dd{font-size:clamp(2.4rem,9vw,3.4rem)}
.ledger.big dd{font-size:clamp(1.1rem,4.2vw,1.6rem)}
.ledger.cols-3 dd{font-size:clamp(1rem,3.9vw,1.15rem)}
.ledger.big.cols-3 dd{font-size:clamp(1.05rem,4.2vw,1.6rem)}
.ledger.cols-3 .l-price dd,.ledger.cols-2 .l-price dd,.ledger.cols-1 .l-price dd{font-size:2rem}
.ledger.big.cols-3 .l-price dd,.ledger.big.cols-2 .l-price dd,.ledger.big.cols-1 .l-price dd{font-size:clamp(2.4rem,9vw,3.4rem)}

/* property page */
.crumbs{padding:16px 0 6px;font-weight:600}
html{scroll-padding-top:80px}
.property{display:grid;gap:22px;padding-bottom:20px}
.gallery{position:relative;margin-inline:-16px}
.track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:#0f1a14}
.track::-webkit-scrollbar{display:none}
.track img{flex:0 0 100%;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:center}
.gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px}
.gallery-bar button{min-height:44px;padding:8px 16px;border-radius:999px;border:1.5px solid var(--saguaro);background:#fff;color:var(--saguaro);font:700 .95rem "Archivo",sans-serif;cursor:pointer}
.count{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}
.sheet h1{font-size:clamp(2rem,6.5vw,3rem)}
.terms-note{color:var(--muted);margin:0 0 14px}
.property-more{display:grid;gap:36px;padding:10px 0 72px}
.property-more section{max-width:720px}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 24px;margin:0}
.facts div{border-top:1px solid var(--line);padding:10px 0}
.facts dt{color:var(--muted);font-size:.88rem}
.facts dd{margin:0;font-weight:700}
.wa-float{display:none}

/* about */
.about{background:var(--saguaro);color:#E8F0EB;padding:56px 0}
.about h2{color:#fff}
.about p{color:#D4E2DA;max-width:58ch}
.about-grid{display:grid;gap:28px;align-items:center}
.portrait{width:180px;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:10px}

/* forms (shared inquiry form markup) */
.inquiry-form{display:grid;gap:14px}
.form-grid{display:grid;gap:14px}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:.95rem}
.field input,.field textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.field input:focus,.field textarea:focus{border-color:var(--saguaro);outline:none;box-shadow:0 0 0 3px var(--sky)}
.honeypot{position:absolute;left:-9999px}
.check-label{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.check-label input{width:20px;height:20px;margin-top:3px;accent-color:var(--saguaro)}
.form-note{font-size:.88rem;color:var(--muted)}
.inquiry-form .button{justify-self:start;min-height:50px;padding:12px 26px;border-radius:999px;border:0;background:var(--saguaro);color:#fff;font:700 1rem "Archivo",sans-serif;cursor:pointer}
.notice{padding:12px 16px;border-radius:8px;margin:16px 0;background:var(--sky)}
.notice.error{background:#FBE3DF;color:#7A1E10}
.empty{font-size:1.1rem}

/* footer */
.foot{border-top:1px solid var(--line);padding:22px 0;font-size:.9rem;color:var(--muted)}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.foot a{margin-left:12px;color:var(--muted)}

@media (max-width:719px){
  .top-links a:not(.btn){display:none}
  .wa-float{display:flex;position:fixed;right:16px;bottom:16px;z-index:5;align-items:center;min-height:52px;padding:0 20px;border-radius:999px;background:var(--wa);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 6px 18px rgba(19,131,74,.35)}
  .property-more{padding-bottom:110px}
}
@media (min-width:720px){
  .gallery{margin-inline:0}
  .track{border-radius:10px}
  .about-grid{grid-template-columns:220px 1fr}
  .portrait{width:220px}
}
@media (min-width:1000px){
  .property{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);align-items:start;gap:40px}
  .sheet{position:sticky;top:20px}
  .property-more{grid-template-columns:1fr 1fr;column-gap:56px}
  .property-more .mail{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.track{scroll-behavior:auto}}
