/* Sultanate Developers — brand layer (DM Sans, logo lock-ups, collection grid) 2026-09-30 */
:root{
  --font-display:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --owner:#b3261e;
}
html,body{overflow-x:clip;max-width:100%}
body{font-family:var(--font-sans)}
h1,h2,h3,h4,.hero h1,.page-hero h1,.section-header h2{font-family:var(--font-display)!important;font-weight:700!important;letter-spacing:-0.02em;line-height:1.1}
.hero h1{font-size:clamp(2.2rem,1.4rem + 3.4vw,4rem)}
h3{font-weight:700!important}
img,video,iframe{max-width:100%}

/* preview banner */
.pv-banner{background:#b3261e;color:#fff;font:600 12px/1.3 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;text-align:center;padding:6px 12px}

/* brand lock-ups */
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;flex-shrink:0;z-index:1002}
.brand img{display:block;width:auto;background:none;border:0;box-shadow:none}
.brand-h img{height:52px}
.brand-name{font-family:var(--font-sans);font-weight:800;line-height:1.02;letter-spacing:.01em}
.brand-h .brand-name{font-size:1.05rem;color:#fff}
.brand-h .brand-name span{display:block;color:var(--brass-400);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-top:3px}
.brand-v{flex-direction:column;align-items:flex-start;gap:10px}
.brand-v img{height:96px}
.brand-v .brand-name{font-size:1.45rem;color:#fff}
.brand-v .brand-name span{display:block;color:var(--brass-400);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;margin-top:6px}
.site-footer .brand-v{margin-bottom:var(--s-4)}
@media (max-width:1180px){.nav-links{gap:.9rem}.nav-links a{font-size:.82rem}}
@media (max-width:960px){.brand-h img{height:40px}.brand-h .brand-name{font-size:.95rem}}

/* location badge in hero */
.pv-loc{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.28);border-radius:2px;padding:6px 12px;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:var(--s-4);background:rgba(6,7,8,.35)}
.pv-loc svg{width:14px;height:14px;stroke:var(--brass-400);fill:none;stroke-width:2}

/* NEED FROM OWNER placeholder */
.owner-need{display:block;border:2px dashed var(--owner);background:#fff4f2;color:var(--owner);font:700 .78rem/1.35 var(--font-sans);letter-spacing:.02em;padding:10px 12px;border-radius:2px;text-transform:none}
.owner-need::before{content:"⚠ ";}
.owner-need.inline{display:inline-block;margin-top:8px}

/* numbers band */
.pv-numbers{background:var(--ink-950);color:#fff;padding:clamp(3rem,2rem + 4vw,5rem) 0}
.pv-numbers .section-label{color:var(--brass-400)}
.pv-numbers h2{color:#fff;font-size:var(--fs-2xl);margin:.4rem 0 1.8rem}
.pv-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
.pv-stat{background:var(--ink-950);padding:1.5rem 1.25rem;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;gap:1rem}
.pv-stat .pv-stat-box{border:2px dashed rgba(226,198,140,.55);border-radius:2px;min-height:70px;display:flex;align-items:center;justify-content:center;text-align:center;padding:.5rem;color:var(--brass-300);font-weight:700;font-size:.9rem}
.pv-stat .pv-stat-label{font-weight:700;font-size:1rem;color:#fff}
.pv-stat small{display:block;color:#ffb4ab;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-top:4px}
@media (max-width:960px){.pv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.pv-stats{grid-template-columns:1fr}}

/* project collection grid */
.pv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.pv-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;color:var(--text);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;min-width:0}
.pv-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.pv-card-media{position:relative;aspect-ratio:4/3;background:var(--ink-900);overflow:hidden}
.pv-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.pv-card:hover .pv-card-media img{transform:scale(1.04)}
.pv-tag{position:absolute;left:10px;bottom:10px;background:rgba(6,7,8,.78);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:2px}
.pv-card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.pv-card-body .pv-cat{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-700)}
.pv-card-body h3{font-size:1.2rem;margin:0;color:var(--ink-950)}
.pv-card-body p{font-size:.92rem;color:var(--text-2);margin:0}
.pv-card-body .pv-more{margin-top:auto;padding-top:.5rem;font-weight:700;font-size:.85rem;color:var(--ink-950)}
.pv-card-bq .pv-card-media{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:1.25rem;background:linear-gradient(160deg,#111418 0%,#060708 70%);border-bottom:2px solid var(--brass-500)}
.pv-bq-ur{font-size:2.3rem;font-weight:700;color:var(--brass-400);line-height:1.2}
.pv-bq-facts{color:#fff;font-weight:700;font-size:.95rem;margin-top:.4rem}
.pv-bq-src{color:var(--on-dark-3);font-size:.72rem;margin-top:.35rem}
.pv-credit{font-size:.78rem;color:var(--text-3)}
.pv-card.is-hidden{display:none}
.pv-placeholder-card .pv-card-media{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#fff4f2 0 12px,#fde9e6 12px 24px);border-bottom:2px dashed var(--owner)}
.pv-placeholder-card .pv-card-media span{color:var(--owner);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
@media (max-width:1080px){.pv-grid,.pv-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.pv-grid,.pv-grid.cols-3{grid-template-columns:1fr}}

.pv-filters{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 0 1.75rem}
.pv-filters .filter-chip{font:700 .8rem var(--font-sans);letter-spacing:.04em;padding:.55rem .95rem;border:1px solid var(--line-strong);background:#fff;color:var(--text);border-radius:2px;cursor:pointer;min-height:40px}
.pv-filters .filter-chip.active{background:var(--ink-950);color:#fff;border-color:var(--ink-950)}

/* home enquiry */
.pv-enquiry .contact-grid{align-items:start}

/* guides strip */
.pv-guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
@media (max-width:700px){.pv-guides{grid-template-columns:1fr}}

/* big statement */
.pv-statement{background:var(--ink-950);color:#fff;padding:clamp(3.5rem,2rem + 6vw,7rem) 0 clamp(2.5rem,2rem + 2vw,4rem);border-top:1px solid var(--line-dark)}
.pv-statement h2{font-family:var(--font-display);font-weight:800!important;font-size:clamp(2.4rem,1rem + 6.5vw,6.5rem);line-height:.98;letter-spacing:-0.035em;color:#fff;margin:0 0 1.5rem;overflow-wrap:anywhere}
.pv-statement h2 em{font-style:normal;color:var(--brass-400)}
.pv-statement p{color:var(--on-dark-2);max-width:60ch}
.pv-statement .hero-actions{margin-top:1.5rem}
.pv-statement .btn-outline{border-color:#fff;color:#fff}
.pv-statement .btn-outline:hover{background:#fff;color:var(--ink-950)}
.pv-illus-note{font-size:.8rem;color:var(--text-3);text-align:center;margin-top:1rem}
.pv-center{text-align:center;margin-top:1.75rem}
.pv-enquiry .contact-info h2{color:#fff}
.why-num{font-family:var(--font-sans)!important;font-weight:800!important}

.pv-numbers[hidden]{display:none!important}
