
:root{
  --bg:#ffffff;
  --ink:#121212;
  --muted:#4b5563;
  --brand:#ffe100;
  --ring:#e5e7eb;
  --card:#fafafa;
  --space-1:8px; --space-2:16px; --space-3:24px; --space-4:40px; --space-5:64px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif}
h1,h2,h3{font-family: 'Georgia', 'Times New Roman', serif; letter-spacing:-.2px}
h1{font-size:clamp(32px,5vw,56px); line-height:1.05}

a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:var(--space-3)}
.nav-rail{position:fixed;right:24px;top:40px;display:flex;flex-direction:column;gap:10px;z-index:50}
.logo-wrap{position:fixed;left:24px;top:18px;z-index:50;display:flex;align-items:center;gap:10px}
.logo{height:56px;width:56px;border-radius:50%;background:var(--brand);display:grid;place-items:center;font-weight:900;line-height:1}
.badge{position:fixed;left:24px;top:90px;background:var(--brand);color:#000;padding:6px 10px;border-radius:999px;font-weight:700;border:1px solid #00000010}

.btn{display:inline-block;padding:12px 18px;border-radius:12px;border:1px solid #00000010;background:var(--brand);color:#000;font-weight:700;transition:transform .12s ease, box-shadow .12s ease}
.btn:hover{transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.06)}
.btn.ghost{background:#fff;border-color:var(--ring)}

.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:var(--space-4);padding:calc(var(--space-5) + 26px) var(--space-3) var(--space-3);margin-top:40px}
.arch{background:var(--card);border:1px solid var(--ring);border-radius:28px;padding:14px}
.arch-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-top-left-radius:1000px;border-top-right-radius:1000px;border-bottom-left-radius:0;border-bottom-right-radius:0;display:block}

.kicker{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin:0 0 6px}
.sub{color:var(--muted);max-width:46ch;margin:0 0 18px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.card{background:var(--card);border:1px solid var(--ring);border-radius:16px;padding:18px}

.masonry{column-count:3;column-gap:16px}
.tile{break-inside:avoid;border-radius:16px;overflow:hidden;border:1px solid var(--ring);margin:0 0 16px}
.tile img{width:100%;height:auto;display:block}

.headerpad{height:40px}
.footer{margin:60px 0 24px;border-top:1px solid var(--ring);padding-top:16px;color:var(--muted);font-size:14px}

.reassurance{display:flex;gap:14px;align-items:center;font-size:14px;color:#0f172a;background:#fff8cc;border:1px solid #f3e48a;border-radius:12px;padding:10px 12px;margin:0 0 var(--space-2)}
.reassurance .dot{width:6px;height:6px;border-radius:50%;background:#0f172a;opacity:.35}

.iframe-wrap{height:85vh}
.iframe-wrap iframe{width:100%;height:100%;border:0}

@media(max-width:1100px){
  .nav-rail{display:none}
  .hero{grid-template-columns:1fr;gap:var(--space-3)}
  .masonry{column-count:2}
}
@media(max-width:640px){
  .masonry{column-count:1}
}

/* Premium micro-interactions */
.card, .tile, .btn, .arch { transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
.card:hover{ transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,.07); }
.tile:hover img{ transform: scale(1.02); }
.tile img{ transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.arch:hover{ transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.06); }
.nav-rail a{position:relative; display:inline-block; padding:4px 8px; transition:color .14s ease, background .14s ease, transform .14s ease;}
.nav-rail a:after{
  content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0;
  background:#121212; transition: width .18s ease;
}
.nav-rail a:hover:after{ width:100%; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important }
}

.lang-toggle{font-weight:700; padding:6px 10px; border:1px solid #00000010; border-radius:999px; background:#fff}
.lang-toggle:hover{transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.06)}


.lang-btn{
  font-size:12px; font-weight:700; padding:6px 10px; border-radius:999px;
  border:1px solid transparent; color:#121212; text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.lang-btn:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.06) }
.lang-btn.active{ background:#121212; color:#fff }
@media(max-width:640px){  }


.lang-btn{
  font-size:12px; font-weight:700; padding:6px 10px; border-radius:999px;
  border:1px solid transparent; color:#121212; text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.lang-btn:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.06) }
@media(max-width:640px){  }

.lang-pills{position:fixed; left:50%; top:24px; transform:translateX(-50%); display:flex; gap:6px; z-index:9999; background:#ffffffd9; backdrop-filter: blur(8px); border:1px solid #00000014; padding:4px; border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,.08);}
.lang-btn{
  font-size:12px; font-weight:800; padding:6px 10px; border-radius:999px;
  border:1px solid transparent; color:#121212; text-decoration:none;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, color .14s ease;
}
.lang-btn:hover{ transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.08); background:var(--brand) }
@media(max-width:640px){ .lang-pills{position:fixed; left:50%; top:24px; transform:translateX(-50%); display:flex; gap:6px; z-index:9999; background:#ffffffd9; backdrop-filter: blur(8px); border:1px solid #00000014; padding:4px; border-radius:999px; box-shadow:0 8px 24px rgba(0,0,0,.08);} }

.nav-rail a{position:relative; display:inline-block; padding:4px 8px; transition:color .14s ease, background .14s ease, transform .14s ease;}
.nav-rail a:hover{background:var(--brand); color:#000;}

.footer{max-width:100vw !important; width:100vw !important; margin-left:0 !important;}


/* Mobile nav */
.nav-rail{
  display:flex; align-items:center; gap:16px; justify-content:center;
}
.nav-rail .nav-links a{ display:inline-block; padding:4px 8px; margin:0 4px; }
.hamburger{
  display:none; font-size:24px; background:transparent; border:0; line-height:1; padding:8px;
}
@media (max-width: 768px){
  .nav-rail{ position:relative; justify-content:space-between; padding:0 16px; }
  .hamburger{ display:block; }
  .nav-rail .nav-links{
    display:none; position:absolute; top:44px; right:8px; left:8px;
    background:#fff; border:1px solid var(--ring); box-shadow:0 12px 24px rgba(0,0,0,.08);
    padding:12px; border-radius:12px;
    flex-direction:column;
  }
  .nav-rail .nav-links.open{ display:flex; }
  .nav-rail .nav-links a{ padding:12px; margin:0; }
}
