/* FAIRPLAY PROPERTIES LTD — Styles */
:root{
  --brand:#0a4d8c;--brand-2:#0f6ab8;--text:#1a1a1a;--muted:#5a5a5a;--bg:#ffffff;--bg-alt:#f6f8fb;--card:#ffffff;--border:#e6eef7;--focus:#ffb703
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
a{color:var(--brand)}
img{max-width:100%;display:block;border-radius:10px}

/* Layout */
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.grid-2{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.grid-2{grid-template-columns:1.1fr 0.9fr}}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--border)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.logo{font-weight:800;letter-spacing:.5px;color:var(--brand);text-decoration:none}
.nav a{margin-left:16px;text-decoration:none;color:var(--text);padding:8px 10px;border-radius:8px}
.nav a:hover{background:var(--bg-alt)}
.nav a.active{color:#fff;background:var(--brand)}

/* Hero */
.hero{padding:48px 0;background:linear-gradient(180deg,#f0f6ff,transparent)}
.hero h1{margin:0 0 12px;font-size:clamp(24px,5vw,40px)}
.hero p{color:var(--muted)}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.badges span{background:#e9f3ff;color:#093a69;border:1px solid var(--border);padding:6px 10px;border-radius:999px;font-size:13px}
.btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;padding:12px 18px;border-radius:10px;box-shadow:0 6px 16px rgba(10,77,140,.18);transition:transform .1s ease}
.btn:hover{transform:translateY(-1px);background:var(--brand-2)}

/* Sections */
.features{padding:40px 0}
.features h2,.gallery h2,.cta h2{font-size:28px;margin:0 0 16px}
.cards{display:grid;gap:16px}
@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--border);padding:16px;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.03);transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.06)}
.services-grid picture{margin-top:10px}

.gallery{padding:20px 0 40px}
.gallery-grid{display:grid;gap:12px}
@media(min-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}

.cta{background:var(--bg-alt);padding:36px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}

/* Footer */
.site-footer{padding:24px 0}
.footer-grid{display:grid;gap:16px}
@media(min-width:800px){.footer-grid{grid-template-columns:1.5fr .5fr}}
.site-footer nav a{display:inline-block;margin-right:12px;margin-bottom:8px}
.back-to-top{position:fixed;right:16px;bottom:16px;background:#0a0a0a;color:#fff;border:0;border-radius:999px;width:40px;height:40px;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.2);opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}

/* Forms */
form{margin:20px 0 40px}
.form-row{display:flex;flex-direction:column;margin-bottom:14px}
label{font-weight:600;margin-bottom:6px}
input[type="text"],input[type="email"],input[type="tel"],textarea{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;background:#fff}
input:focus,textarea:focus{outline:3px solid var(--focus);border-color:transparent}
.checkbox{display:flex;gap:8px;align-items:flex-start;margin:8px 0}
.error{color:#b00020;font-size:13px;min-height:16px}
.form-status{margin-top:10px;font-weight:600}
.form-status.success{color:#0a7f2e}
.form-status.error{color:#b00020}

/* Legal pages */
.legal h1{margin-top:12px}
.legal h2{margin-top:24px}

/* Animations */
@media (prefers-reduced-motion:no-preference){
  .card{animation:fadeInUp .5s ease both}
  .gallery picture{animation:fadeIn .6s ease both}
}
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

