@font-face{font-family:"Poppins";src:url("/fonts/poppins-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("/fonts/poppins-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url("/fonts/poppins-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

.fly{
  --fly-navy:#13294b;
  --fly-navy-2:#1d3f7a;
  --fly-orange:#f47b20;
  --fly-gold:#ffd166;
  --fly-gold-2:#ffb547;
  --fly-teal:#0f8f9e;
  --fly-pink:#e8407a;
  --fly-purple:#9b3fd1;
  --fly-blue:#2a62d4;
  --fly-cream:#fff6e0;
  --fly-ink:#13294b;
  --fly-muted:#5a6b85;
  --fly-font:"Poppins", "Source Sans 3", system-ui, sans-serif;
  font-family:var(--fly-font);
  color:var(--fly-ink);
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 16px 40px rgba(19,41,75,.12);
  border:1px solid #e4eaf3;
}
.fly *{box-sizing:border-box}
.fly a{color:inherit}

/* Header */
.fly-top{
  background:linear-gradient(110deg,#13294b 0%,#1d3f7a 60%,#0f8f9e 100%);
  color:#fff;
  padding:1.05rem 1.15rem 1rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
}
.fly-kicker{
  display:inline-block;
  background:var(--fly-orange);
  color:#fff;
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.14em;
  padding:.18rem .7rem;
  border-radius:999px;
  text-transform:uppercase;
}
.fly-top h2,.fly-top .fly-h{
  font-weight:800;
  font-size:clamp(1.7rem, 4vw, 2.55rem);
  line-height:1.02;
  margin:.45rem 0 0;
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.fly-top .fly-h .o{color:var(--fly-gold-2)}
.fly-h-en{font-size:.95rem;font-weight:500;color:#cfe3ff;margin:.15rem 0 0;letter-spacing:.04em;text-transform:uppercase}
.fly-tag{font-size:1.02rem;font-weight:700;margin:.55rem 0 0;color:#fff;line-height:1.3}
.fly-tag .en{display:block;font-weight:400;font-size:.82rem;color:#cfe3ff;margin-top:.15rem}
.fly-addr{text-align:right;min-width:11rem;font-size:.92rem;line-height:1.35}
.fly-addr b{display:block;font-size:1.05rem;color:var(--fly-gold);font-weight:700}

/* Body */
.fly-body{padding:1rem 1.1rem 1.15rem;display:grid;gap:.9rem}
.fly-visuals{display:grid;grid-template-columns:1.35fr .85fr;gap:.7rem;align-items:stretch}
.fly-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.2fr .8fr;gap:.4rem;min-height:220px}
.fly-collage .pic{position:relative;border-radius:10px;overflow:hidden;background:#e8eef5;margin:0}
.fly-collage .pic:first-child{grid-column:1 / -1}
.fly-collage img{width:100%;height:100%;object-fit:cover;display:block}
.fly-map{position:relative;border-radius:10px;overflow:hidden;background:#e8eef5;min-height:220px;border:1px solid #d5deea}
.fly-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.fly-map .cap{position:absolute;right:.45rem;top:.45rem;z-index:1;background:rgba(19,41,75,.92);color:#fff;font-size:.7rem;font-weight:700;padding:.28rem .5rem;border-radius:6px;line-height:1.25;max-width:70%}
.fly-map .cap small{display:block;font-weight:400;font-size:.65rem;color:#cfe3ff}
.fly-map .attrib{position:absolute;left:.4rem;bottom:.35rem;z-index:1;background:rgba(255,255,255,.9);color:#13294b;font-size:.62rem;padding:.1rem .35rem;border-radius:4px;text-decoration:none}

/* Tiles */
.fly-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}
.tile{border-radius:12px;padding:.85rem .9rem .8rem;color:#fff;min-height:6.2rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.tile .ico{position:absolute;top:.7rem;right:.75rem;opacity:.9}
.tile .lbl{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.tile .lbl .en{display:block;font-weight:500;font-size:.62rem;letter-spacing:.04em;text-transform:none;margin-top:1px;opacity:.85}
.tile .val{font-size:clamp(1.15rem, 2.4vw, 1.7rem);font-weight:800;line-height:1.15;margin-top:.35rem;letter-spacing:-.02em}
.tile .sub{font-size:.78rem;font-weight:600;opacity:.92;margin-top:.15rem}
.tile.buy{background:var(--fly-orange)}
.tile.teal{background:var(--fly-teal)}
.tile.blue{background:var(--fly-blue)}
.tile.purple{background:linear-gradient(135deg,var(--fly-pink),var(--fly-purple))}

/* Highlight */
.fly-why{background:var(--fly-cream);border-left:6px solid var(--fly-gold-2);border-radius:8px;padding:.7rem .9rem;font-size:.95rem;font-weight:600;line-height:1.4}
.fly-why .en{display:block;font-weight:400;color:var(--fly-muted);font-size:.85rem;margin-top:.2rem}

/* Features */
.fly-feat h3{font-size:.95rem;font-weight:800;color:var(--fly-navy);margin:0 0 .5rem}
.fly-feat h3 .en{display:inline;font-weight:500;color:var(--fly-muted);font-size:.8rem;margin-left:.35rem}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.45rem}
.feat{background:#eef6ff;border-radius:8px;padding:.55rem .65rem;font-size:.85rem;font-weight:700;line-height:1.25;display:flex;gap:.45rem;align-items:flex-start;color:var(--fly-navy)}
.feat .en{display:block;font-weight:500;color:var(--fly-muted);font-size:.75rem}
.feat svg{flex:none;margin-top:1px}

/* Navy fact bar */
.fly-facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--fly-navy);border-radius:10px;color:#fff;overflow:hidden}
.fact{padding:.7rem .75rem;border-left:1px solid rgba(255,255,255,.12)}
.fact:first-child{border-left:0}
.fact b{display:block;color:var(--fly-gold);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.fact .en{color:#b9c9e6;font-size:.68rem;font-weight:500;display:block;margin:.05rem 0 .25rem}
.fact span.v{display:block;font-weight:600;font-size:.88rem;line-height:1.3}

/* Flyer footer */
.fly-cta{background:var(--fly-orange);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem}
.fly-cta .who{font-weight:800;font-size:1.05rem;line-height:1.2}
.fly-cta .who small{display:block;font-weight:500;font-size:.75rem;color:#fff3e6}
.fly-cta .call{font-weight:800;font-size:1.25rem;letter-spacing:.02em;color:#fff;text-decoration:none}
.fly-cta .logo{background:#13294b;border-radius:10px;padding:8px 12px;flex:none}
.fly-cta .logo img{height:36px;width:auto;display:block}

/* Mini flyer (home cards) */
a.mini-flyer{display:block;text-decoration:none;color:inherit;height:100%;transition:transform .18s ease, box-shadow .18s ease}
a.mini-flyer:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(19,41,75,.16);color:inherit}
.mini-flyer .fly-top{padding:.85rem .9rem .8rem;flex-direction:column;gap:.35rem}
.mini-flyer .fly-top .row{display:flex;justify-content:space-between;gap:.6rem;width:100%}
.mini-flyer .fly-h{font-size:1.45rem !important;margin:.3rem 0 0 !important}
.mini-flyer .fly-h-en{font-size:.75rem}
.mini-flyer .fly-tag{font-size:.86rem;margin:.35rem 0 0}
.mini-flyer .fly-tag .en{font-size:.72rem}
.mini-flyer .fly-addr{text-align:right;font-size:.78rem;min-width:0}
.mini-flyer .fly-addr b{font-size:.84rem}
.mini-flyer .shot{aspect-ratio:16/10;overflow:hidden;background:#d9e1ec}
.mini-flyer .shot img{width:100%;height:100%;object-fit:cover}
.mini-flyer .fly-body{padding:.7rem .7rem .75rem;gap:.55rem}
.mini-flyer .fly-tiles{grid-template-columns:1fr 1fr;gap:.4rem}
.mini-flyer .tile{min-height:4.6rem;padding:.6rem .65rem .55rem}
.mini-flyer .tile.buy{grid-column:1 / -1;min-height:4.2rem}
.mini-flyer .tile .val{font-size:1.15rem}
.mini-flyer .fly-facts{grid-template-columns:1fr 1fr}
.mini-flyer .fact{padding:.5rem .55rem}

.listings.flyer-grid{margin:0 0 2.4rem}
.listings.flyer-grid h2{font-family:var(--serif);font-weight:500;font-size:1.8rem;margin:0 0 1.2rem;text-align:center}
.listings.flyer-grid .grid{display:grid;grid-template-columns:1fr;gap:1.3rem}
@media(min-width:800px){.listings.flyer-grid .grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1180px){.listings.flyer-grid .grid{grid-template-columns:repeat(3,1fr)}}

.detail-flyer{margin:0 0 1.6rem}

@media(max-width:800px){
  .fly-top{flex-direction:column}
  .fly-addr{text-align:left}
  .fly-visuals{grid-template-columns:1fr}
  .fly-map{min-height:200px}
  .fly-tiles{grid-template-columns:1fr 1fr}
  .tile.buy{grid-column:1 / -1}
  .fly-facts{grid-template-columns:1fr 1fr}
  .fly-cta{flex-wrap:wrap}
}
@media(max-width:520px){
  .mini-flyer .fly-top .row{flex-direction:column}
  .mini-flyer .fly-addr{text-align:left}
  .fly-tiles,.mini-flyer .fly-tiles{grid-template-columns:1fr}
  .tile.buy,.mini-flyer .tile.buy{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  a.mini-flyer{transition:none}
}
