/* Mulish, self-hosted (no requests to Google) */
@font-face{font-family:'Mulish';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/mulish-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/mulish-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/mulish-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/mulish-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/mulish-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/mulish-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/mulish-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/mulish-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/mulish-latin-ext-900-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mulish';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/mulish-latin-900-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Real Game test site. Layout: calm light pages, one centred 1200px column, full-width bands for grey/dark sections.
   Single light look by design (brand is white + ink); segment colours are tiny markers only. */
:root{
  --ink:#141414; --paper:#ffffff; --fog:#f5f5f4; --line:#e6e6e6; --mid:#7a7a78; --soft:#545452;
  --pink:#bf0079;          /* retail marker */
  --grad:linear-gradient(90deg,#00c3c5,#8ec80d);   /* action colour: logo ring gradient */
  --gradText:linear-gradient(90deg,#00959a,#5f9400); /* darker gradient for text on white */
  --teal:#00848a;          /* links, focus */
  --green:#8ec80d;         /* offices marker, status */
  --blue:#00a9c5;          /* logistics / industry marker */
  --violet:#9223a9;        /* property management marker */
  --land:#141414;          /* land marker */
  --font:"Mulish",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;overflow-x:hidden}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{text-wrap:balance;letter-spacing:-.02em}
a{color:inherit}
img{max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}

.pad{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.in{max-width:1200px;margin:0 auto}
.sec{padding-block:84px;display:grid;gap:36px}
.sec.tight{padding-block:56px}
.grey{background:var(--fog)}
.dark{background:var(--ink);color:#fff}
.dark .eb{color:#9a9a98}
.bt{border-top:1px solid var(--line)}

/* type */
.eb{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mid)}
.h1{font-weight:300;font-size:clamp(2.5rem,6vw,5.2rem);line-height:.98;letter-spacing:-.035em}
.h1 b{font-weight:900;background:var(--gradText);-webkit-background-clip:text;background-clip:text;color:transparent}
.h2{font-weight:800;font-size:clamp(1.75rem,3.4vw,2.7rem);line-height:1.08}
.h2 b{font-weight:900;background:var(--gradText);-webkit-background-clip:text;background-clip:text;color:transparent}
.dark .h1 b,.dark .h2 b{background:var(--grad);-webkit-background-clip:text;background-clip:text}
.h3{font-weight:900;font-size:1.35rem;line-height:1.2}
.lead{font-size:1.08rem;color:var(--soft);max-width:52ch}
.dark .lead{color:#b5b5b3}
.small{font-size:.86rem;color:var(--mid)}
.num{font-variant-numeric:tabular-nums}
.top{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.top > *{min-width:0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:13px 22px;font-weight:800;font-size:.9rem;text-decoration:none;border:1.5px solid var(--ink);color:var(--ink);background:transparent;white-space:nowrap;transition:background .2s,color .2s}
.btn:hover{background:var(--ink);color:#fff}
.btn.p{background:var(--grad);border-color:transparent;color:var(--ink)}
.btn.p:hover{background:#00c3c5;border-color:#00c3c5;color:var(--ink)}
.btn.sm{padding:9px 17px;font-size:.84rem}
.btn.w{border-color:#fff;color:#fff}
.btn.w:hover{background:#fff;color:var(--ink)}
.link{font-weight:800;color:var(--teal);text-decoration:none}
.link:hover{text-decoration:underline}
.acts{display:flex;gap:12px;flex-wrap:wrap}

/* header */
.demo-bar{background:var(--ink);color:#d9d9d7;font-size:.78rem;text-align:center;padding-block:7px}
.demo-bar b{color:#fff}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:41;background:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.logo{display:block;height:26px;flex:none}
.logo svg{height:100%;width:auto;display:block}
.menu{display:flex;gap:24px;align-items:center;font-size:.9rem;font-weight:700}
.menu a{text-decoration:none;padding-block:4px;border-bottom:2px solid transparent}
.menu a:hover,.menu a[aria-current="page"]{border-bottom-color:var(--ink)}
.menu .lang{color:#a5a5a3;font-weight:800}
.burger{display:none;border:1.5px solid var(--ink);background:transparent;border-radius:999px;padding:7px 14px;font-weight:800;font-size:.84rem}
@media (max-width:900px){
  .burger{display:inline-flex}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:14px;padding:18px max(20px,env(safe-area-inset-left,0px)) 22px}
  .menu.open{display:flex}
}

/* segment markers */
.seg{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mid)}
.seg i{width:8px;height:8px;border-radius:50%;background:var(--c,var(--mid));flex:none}
.s-off{--c:var(--green)} .s-ret{--c:var(--pink)} .s-ind{--c:var(--blue)} .s-pm{--c:var(--violet)} .s-land{--c:var(--land)}

/* placeholders for photos (real photos live in Drive) */
.ph{position:relative;background:repeating-linear-gradient(135deg,#efefee 0 12px,#e9e9e8 12px 24px);color:#8a8a88;font-size:.74rem;font-weight:700;display:grid;place-items:center;text-align:center;padding:10px;border-radius:14px;overflow:hidden}
.ph span{background:rgba(255,255,255,.85);padding:4px 10px;border-radius:999px}

/* chips and badges */
.chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:800;font-size:.82rem;background:#fff;color:var(--ink)}
.chip[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.badge{display:inline-block;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--fog);color:var(--soft)}
.badge.sale{background:var(--ink);color:#fff}
.tbd{background:#ececeb;color:#77777a;border-radius:4px;padding:0 6px;font-weight:700}
.dark .tbd{background:#2b2b2b;color:#aaa}

/* object cards */
.objs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.obj{display:grid;gap:12px;align-content:start;text-decoration:none}
.obj .ph{aspect-ratio:4/3}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph img[src*="planas"]{object-fit:contain;background:#fff}
.obj .row{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.obj b{font-size:1.15rem;font-weight:900;line-height:1.25}
.obj .meta{display:flex;gap:6px 18px;flex-wrap:wrap;font-size:.9rem;color:var(--soft)}
.obj .meta strong{color:var(--ink)}
.obj:hover b{text-decoration:underline}

/* key facts list */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.facts div{background:#fff;padding:18px 20px;display:grid;gap:3px;min-width:0}
.facts .k{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mid)}
.facts .v{font-weight:900;font-size:1.35rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.facts .u{font-size:.8rem;color:var(--mid)}

/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
th{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);background:var(--fog)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:0}
tfoot td{font-weight:900}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .full{grid-column:1/-1}
label.f{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);display:grid;gap:6px}
.f input,.f select,.f textarea{width:100%;padding:13px 14px;border-radius:10px;border:1.5px solid #d6d6d4;background:#fff;color:var(--ink);font-size:.95rem}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--ink);outline:none}
.dark .f input,.dark .f select,.dark .f textarea{background:#1c1c1c;border-color:#3a3a3a;color:#fff}
.note{font-size:.86rem;border-radius:10px;padding:12px 14px;background:var(--fog);color:var(--soft)}
.note.ok{background:#f1f8e3;color:#3c5a00}
.note.warn{background:#fbeef5;color:#7d0050}
.dark .note{background:#222;color:#ccc}
.dark .note.ok{background:#1e2a0c;color:#c6e58a}
.check{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:.92rem;color:var(--soft)}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink)}

/* process steps with target rings */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.step{display:grid;gap:10px;align-content:start}
.step svg{width:52px;height:52px}
.step b{font-size:1.08rem}
.step p{font-size:.93rem;color:var(--soft)}

/* team */
.team{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.person{display:grid;gap:6px;align-content:start}
.person .ph{aspect-ratio:1/1;margin-bottom:6px;padding:0}
.person .ph img{width:100%;height:100%;object-fit:cover}
.person a{color:inherit;text-decoration:none}
.person b{font-size:1.04rem}
.person span{font-size:.86rem;color:var(--mid)}

/* footer */
footer.site{background:var(--ink);color:#a9a9a7;font-size:.86rem}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-block:56px 36px}
footer.site b{color:#fff;display:block;margin-bottom:10px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
footer.site a{text-decoration:none;display:block;padding-block:3px}
footer.site a:hover{color:#fff}
footer.site .base{border-top:1px solid #2a2a2a;padding-block:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer.site .logo{height:24px;margin-bottom:14px}

/* schematic map canvas */
.map{position:relative;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fbfbfa}
.map canvas{display:block;width:100%;height:100%}
.map .legend{position:absolute;left:14px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px 14px;background:rgba(255,255,255,.92);padding:8px 12px;border-radius:10px;border:1px solid var(--line)}
.map .tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:.78rem;font-weight:700;padding:6px 10px;border-radius:8px;white-space:nowrap;transform:translate(-50%,-140%);opacity:0;transition:opacity .15s}
.map .cap{position:absolute;right:12px;top:10px;font-size:.7rem;color:var(--mid);font-weight:700}

@media (max-width:1100px){.team{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  .objs,.team{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
  footer.site .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .objs{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .sec{padding-block:60px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.pm-card{max-width:260px}

/* property management page: violet → pink palette instead of green */
body.pm{--grad:linear-gradient(90deg,#9223a9,#bf0079);--gradText:linear-gradient(90deg,#9223a9,#bf0079);--teal:#9223a9}
body.pm .btn.p{color:#fff}
body.pm .btn.p:hover{background:#7a1a8e;border-color:#7a1a8e;color:#fff}

/* carousel */
.car{display:grid;gap:12px;min-width:0;align-content:start;align-self:start}
.car .cv{position:relative;border-radius:14px;overflow:hidden;background:#f3f3f2}
.car .tr{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:var(--ar)}
.car .tr::-webkit-scrollbar{display:none}
.car .sl{flex:0 0 100%;scroll-snap-align:start;position:relative}
.car .sl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.car .sl img[src*="planas"]{object-fit:contain;background:#fff}
.car .cap{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:800}
.car .cnt{position:absolute;right:12px;bottom:12px;background:rgba(20,20,20,.7);color:#fff;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:800;font-variant-numeric:tabular-nums}
.car .cb{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.15);display:grid;place-items:center;padding-bottom:4px}
.car .cb:hover{background:#00c3c5}
.car .prev{left:12px}.car .next{right:12px}
.car .cdots{display:flex;gap:8px;justify-content:center}
.car .cdots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:#d4d4d2;cursor:pointer}
.car .cdots button[aria-pressed="true"]{background:var(--teal)}
.car .ctabs{display:flex;gap:8px;flex-wrap:wrap}
.car .ctabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}
.car .ctabs button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}

footer.site .legal{display:flex;gap:16px;flex-wrap:wrap}
footer.site .legal a{color:inherit;text-decoration:none}
footer.site .legal a:hover{text-decoration:underline}
.person a.li{font-weight:800;color:var(--teal)}
.doc{max-width:820px;display:grid;gap:14px;padding:48px 0 80px}
.doc h2{font-size:1.25rem;font-weight:900;margin-top:22px}
.doc h3{font-size:1.02rem;font-weight:800;margin-top:10px}
.doc p,.doc li{color:var(--soft);line-height:1.6}
.doc ul{padding-left:20px;display:grid;gap:6px}
.doc .tw{overflow-x:auto}
.doc table{border-collapse:collapse;width:100%;font-size:.9rem}
.doc th,.doc td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
.doc th{background:var(--fog);font-weight:800}
.doc a{color:var(--teal)}

/* real map */
.rmap{position:relative;height:460px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#eceeee;z-index:0}
.rmap.fs{position:fixed;inset:0;height:auto;border-radius:0;z-index:100;border:0}
html.mapfs{overflow:hidden}
.rmap .leaflet-control-layers{border-radius:12px;border:1px solid var(--line);box-shadow:none;font:700 .8rem/1.4 var(--font);padding:4px 8px}
.rmap .leaflet-control-layers-base label{margin:2px 0}
.rmap .leaflet-bar,.rmap .rgfs{border-radius:10px}
.rgfs{width:34px;height:34px;background:#fff;border:2px solid rgba(0,0,0,.2);background-clip:padding-box;font-size:18px;line-height:1;cursor:pointer;color:var(--ink)}
.rgfs:hover{background:var(--fog)}
.rgpin i{position:absolute;inset:3px;border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--ink),0 2px 6px rgba(0,0,0,.35);transition:transform .15s}
.rgpin b{position:absolute;right:-8px;top:-8px;background:var(--ink);color:#fff;font:900 10px/16px var(--font);min-width:16px;height:16px;border-radius:8px;text-align:center}
.rgpin.on i,.rgpin:hover i{transform:scale(1.45)}
.rmap .leaflet-popup-content-wrapper{border-radius:14px}
.rmap .leaflet-popup-content{margin:12px;display:grid;gap:12px}
.rgpop{display:grid;gap:4px;text-decoration:none;color:var(--ink);font:400 .85rem/1.4 var(--font)}
.rgpop img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin-bottom:4px}
.rgpop b{font-size:.95rem}
.rgpop span{color:var(--soft)}
.rgpop:hover b{text-decoration:underline}
.rmap .leaflet-tooltip{font:800 .8rem var(--font);border-radius:8px}
.mapnote{font-size:.8rem;color:var(--mid);margin-top:8px}
@media (max-width:700px){.rmap{height:360px}}
.rgrey{filter:grayscale(1) brightness(1.06) contrast(.88)}
