
:root{--ink:#0a1e3a;--bg:#ffffff;--soft:#f5f6fb;--border:#e6e9f3;--accent:#1e3cff;--container:1140px;--elev:0 6px 18px rgba(10,30,60,.12)}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:#111;background:var(--bg)}
a{color:var(--accent);text-decoration:none}
.container{max-width:var(--container);margin:0 auto;padding:0 22px}

/* App Bar (no inline menu) */
.appbar{position:sticky;top:0;z-index:90;background:#fff;border-bottom:1px solid var(--border);box-shadow:var(--elev)}
.appbar-row{display:flex;align-items:center;gap:12px;height:64px;padding:0 12px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid var(--border);background:#fff;cursor:pointer}
.icon{width:22px;height:22px}
.app-title{font-family:"Playfair Display",serif;font-size:20px;color:var(--ink);margin-right:auto}

/* Overflow */
.overflow{position:relative}
.overflow-menu{display:none;position:absolute;right:0;top:48px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 40px rgba(10,30,60,.12);min-width:220px;padding:8px}
.overflow-menu a{display:block;color:#0a1e3a;padding:10px 12px;border-radius:8px}
.overflow-menu a:hover{background:#f6f8ff}

/* Drawer */
.drawer{position:fixed;inset:0 30% 0 0;max-width:320px;background:#fff;border-right:1px solid var(--border);box-shadow:var(--elev);transform:translateX(-104%);transition:transform .28s ease;z-index:95}
.drawer.open{transform:translateX(0)}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.28);display:none;z-index:94}
.scrim.show{display:block}
.drawer .nav{padding:14px}
.drawer a{display:block;color:#0a1e3a;font-weight:700;padding:12px;border-radius:10px}
.drawer a:hover{background:#f6f8ff}

/* Bottom Navigation (mobile & tablet) */
.bottom-nav{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--border);display:block;z-index:90}
.bottom-row{display:flex;justify-content:space-around;align-items:center;height:64px}
.bottom-item{display:flex;flex-direction:column;align-items:center;gap:6px;color:#0a1e3a;font-size:12px}

/* Hero & content */
.hero{background:var(--soft) url('assets/img/hero-luxe.svg') center/cover no-repeat;padding:120px 0;text-align:center}
.hero h1{font-family:"Playfair Display",serif;font-size:56px;margin:0;color:var(--ink)}
.hero p{font-size:20px;color:#444;max-width:840px;margin:12px auto 0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}
.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:var(--elev)}
.icon-xl{width:40px;height:40px;vertical-align:middle;margin-right:8px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}
.kpi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;text-align:center}
.btn{display:inline-block;background:var(--ink);color:#fff;border-radius:10px;padding:10px 16px;border:0}

.site-footer{border-top:2px solid var(--border);background:#fff;margin-top:40px}
.footer-bottom{border-top:1px solid var(--border);padding:14px 0;text-align:center;color:#666}
.form label{display:block;margin:10px 0}
.form input,.form textarea{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border);background:#fff}
.map-embed iframe{border-radius:12px}

@media(min-width:1041px){
  /* Keep bottom nav visible also on desktop per request */
  .bottom-nav{position:fixed;left:0;right:0;bottom:0}
  body{padding-bottom:64px} /* avoid overlap */
}
@media(max-width:980px){
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .hero{padding:90px 0}
  .hero h1{font-size:46px}
}

.brand-logo{display:block;height:48px;width:auto}


/* ===== Animations & micro-interactions (safe & lightweight) ===== */
:root{
  --anim-fast: 180ms;
  --anim-med: 320ms;
  --anim-slow: 600ms;
  --elev-card: 0 10px 24px rgba(10,30,60,.10);
}
/* Hover effects */
.card{transition: transform var(--anim-med) ease, box-shadow var(--anim-med) ease}
.card:hover{transform: translateY(-4px); box-shadow: var(--elev-card)}
.btn{transition: transform var(--anim-fast) ease, filter var(--anim-fast) ease}
.btn:hover{transform: translateY(-1px)}
.menu a, .inline-menu a{transition: color var(--anim-fast) ease}

/* Drawer smoothing */
.drawer{transition: transform var(--anim-med) ease}
.scrim{transition: opacity var(--anim-fast) ease}
.scrim.show{opacity:1}

/* Hero subtle entrance */
.hero{opacity:0; transform: translateY(6px); transition: opacity var(--anim-slow) ease, transform var(--anim-slow) ease}
.hero.__visible{opacity:1; transform:none}

/* Scroll-reveal utility */
.reveal{opacity:0; transform: translateY(14px); transition: opacity var(--anim-med) ease-out, transform var(--anim-med) ease-out}
.reveal.__show{opacity:1; transform:none}

/* Prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  *{animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important}
  .reveal, .hero{opacity:1 !important; transform:none !important}
}

figure{display:block}
figure img{width:100%;height:auto;border-radius:12px}


/* === Responsive sizing for illustration figures ===
   Keep full width on phones; reduce progressively on tablet/desktop. */
@media (min-width: 769px){
  figure.card img{max-width: 78%; margin-left:auto; margin-right:auto; display:block}
}
@media (min-width: 1024px){
  figure.card img{max-width: 62%}
}
/* Ensure logos and UI icons unaffected (not inside figure.card) */


/* === Reduce image heights on tablet/desktop, keep widths as-is === */
@media (min-width: 769px){
  figure.card{overflow: hidden}
  figure.card img{
    /* keep width rules from v3j (max-width set earlier); now constrain height */
    height: clamp(200px, 28vh, 320px);
    object-fit: cover; /* crop softly to reduce vertical footprint */
  }
}
@media (min-width: 1024px){
  figure.card img{
    height: clamp(220px, 24vh, 300px);
  }
}
/* Mobile unchanged: auto height for full-width images */
@media (max-width: 768px){
  figure.card img{ height: auto }
}
