/* ============================================================
   SWISS CREST INTERNATIONAL BANK — Homepage CSS
   Signature: the "elevation rule" — a ruled, tick-marked line
   (survey/altimeter device) used in the hero and as section
   dividers, tying back to the Swiss Crest International Bank name without literal icons.
   Mobile-first; explicit breakpoints at 640px / 1024px.
   Layout uses flexbox throughout (not CSS Grid) for the widest
   possible browser compatibility on a banking application.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700;9..144,900&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --font-display: 'Fraunces', serif;
  --font-mono: 'IBM Plex Mono', monospace;
  --ink: #1c1917;
  --paper: #fafaf8;
}

/* ── Base page tone (warm paper white, not stark) ─────────────── */
.home-page{background:var(--paper);color:var(--ink)}

/* ── Elevation rule (signature device) ────────────────────────── */
.rule-h{position:relative;height:2px;background:var(--border);width:100%}
.rule-h::before,.rule-h::after{content:'';position:absolute;top:-3px;width:2px;height:8px;background:var(--border)}
.rule-h::before{left:0}
.rule-h::after{right:0}

/* ── Navbar tweaks specific to homepage ───────────────────────── */
.home-page .navbar{font-family:var(--font-body)}
.home-page .nav-logo{font-family:var(--font-display);font-weight:700;font-size:1.2rem}

/* ── Hero ──────────────────────────────────────────────────────
   Mobile-first: single column (flex-direction:column).
   Desktop: flex row with the elevation rule as a real flex
   item, not an absolutely positioned hack. */
.hero{
  padding:140px 0 64px;
  background:var(--paper);
}
.hero-grid{
  display:flex;
  flex-direction:column;
  gap:48px;
  align-items:stretch;
}
.hero-grid > *{width:100%}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:11.5px;font-weight:600;
  letter-spacing:.6px;text-transform:uppercase;color:var(--primary-dark);
  background:var(--primary-light);padding:7px 14px;margin-bottom:22px;
  border-left:3px solid var(--primary);
}
.hero-title{
  font-family:var(--font-display);
  font-size:clamp(2.1rem,7vw,3.6rem);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.01em;
  margin-bottom:22px;
  color:var(--ink);
}
.hero-title em{
  font-style:italic;font-weight:600;
  background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-sub{
  font-size:1.05rem;color:var(--gray-500);line-height:1.7;
  max-width:480px;margin-bottom:32px;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:0}

/* Elevation panel: stats laid out along the rule.
   Desktop Hero visual — photo background with a dark brand-tint
   overlay so the panel reads as a marketing banner, not just data. */
.hero-elevation{
  display:flex;
  gap:28px;
  padding:36px 32px;
  min-height:460px;
  align-items:flex-end;
  background-image:linear-gradient(135deg,rgba(20,16,13,.88),rgba(154,52,18,.78)),url('../images/hero-banking.jpg');
  background-size:cover;
  background-position:center;
  color:#fff;
}
.hero-elevation-track{position:relative;width:2px;background:rgba(255,255,255,.35);flex-shrink:0}
.hero-elevation-stats{display:flex;flex-direction:column;gap:30px;flex:1}
.elev-stat{position:relative;padding-left:22px}
.elev-stat::before{content:'';position:absolute;left:-5px;top:6px;width:11px;height:2px;background:#fff}
.elev-stat .figure{font-family:var(--font-mono);font-weight:600;font-size:1.4rem;color:#fff;line-height:1}
.elev-stat .label{font-size:12px;color:rgba(255,255,255,.75);margin-top:4px;letter-spacing:.2px}

@media(max-width:1023px){
  .hero-elevation{display:none}
}

@media(min-width:1024px){
  .hero{padding:168px 0 88px}
  .hero-grid{flex-direction:row;gap:64px;align-items:center}
  .hero-grid > *:first-child{flex:1.3}
  .hero-grid > *:last-child{flex:1}
  .hero-elevation{padding-top:0}
}

@media(max-width:640px){
  .hero{padding:120px 0 48px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%;justify-content:center}
  .hero-elevation{gap:18px}
  .elev-stat .figure{font-size:1.2rem}
}

/* ── Section divider using the elevation rule motif ───────────── */
.tick-divider{display:flex;align-items:center;gap:16px;justify-content:center;margin-bottom:14px}
.tick-divider .rule-h{flex:0 0 64px}
.tick-divider span{
  font-family:var(--font-mono);font-size:11px;font-weight:600;
  letter-spacing:.8px;text-transform:uppercase;color:var(--primary);
}

.section-title.display{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}

/* ── Savings / About / Contact two-up layout, mobile-first ────── */
.split{display:flex;flex-direction:column;gap:40px;align-items:center}
.split.align-start{align-items:flex-start}
.split > *{width:100%}
@media(min-width:900px){
  .split{flex-direction:row;gap:56px}
  .split > *{flex:1;min-width:0}
}

.feature-list-item{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.feature-check{
  width:24px;height:24px;min-width:24px;background:var(--gradient-soft);
  display:flex;align-items:center;justify-content:center;color:var(--primary);
  font-size:12px;margin-top:2px;
}

/* ── Yield panel (savings) ─────────────────────────────────────── */
.yield-panel{background:var(--gradient);color:#fff;padding:36px;position:relative;overflow:hidden}
.yield-panel::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:rgba(255,255,255,.08)}
.yield-rate{font-family:var(--font-display);font-size:clamp(3rem,8vw,4.2rem);font-weight:700;line-height:1}
.yield-grid{display:flex;gap:16px;background:rgba(255,255,255,.15);padding:16px;margin-top:24px}
.yield-grid > *{flex:1;min-width:0}
.yield-grid .figure{font-family:var(--font-mono);font-weight:600;font-size:1.3rem;margin-top:4px}

/* ── Loan cards ─────────────────────────────────────────────────── */
.loan-grid{display:flex;flex-direction:column;gap:20px}
.loan-grid > *{width:100%}
@media(min-width:700px){
  .loan-grid{flex-direction:row;flex-wrap:wrap}
  .loan-grid > *{flex:1 1 calc(50% - 10px)}
}
@media(min-width:1024px){
  .loan-grid > *{flex:1 1 calc(33.333% - 14px)}
}

.loan-card{background:var(--gradient);color:#fff;padding:32px;position:relative;overflow:hidden}
.loan-card::before{content:'';position:absolute;top:-70px;right:-70px;width:200px;height:200px;background:rgba(255,255,255,.08)}
.loan-meta{background:rgba(255,255,255,.13);padding:14px;display:flex;gap:8px;text-align:center;margin-top:18px}
.loan-meta > *{flex:1;min-width:0}
.loan-meta .figure{font-family:var(--font-mono);font-weight:600;font-size:11.5px;margin-top:4px}

/* ── Crypto grid ────────────────────────────────────────────────── */
.crypto-grid{display:flex;flex-wrap:wrap;gap:16px}
.crypto-grid > *{flex:1 1 calc(50% - 8px)}
@media(min-width:640px){
  .crypto-grid{gap:18px}
  .crypto-grid > *{flex:1 1 calc(33.333% - 12px)}
}
@media(min-width:1024px){
  .crypto-grid > *{flex:1 1 calc(16.666% - 15px)}
}
.crypto-coin{background:var(--bg-card);border:1.5px solid var(--border);padding:24px 16px;text-align:center;transition:var(--transition-slow)}
.crypto-coin:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}
.crypto-price{font-family:var(--font-mono);font-weight:600;font-size:1.25rem}

/* ── About stat tiles ──────────────────────────────────────────── */
.about-stats{display:flex;flex-wrap:wrap;gap:14px}
.about-stats > *{flex:1 1 calc(50% - 7px)}
.about-stat{background:var(--gray-50);padding:18px}
.about-stat .figure{font-family:var(--font-mono);font-weight:600;font-size:1.5rem;color:var(--primary)}

.feature-tiles{display:flex;flex-wrap:wrap;gap:14px}
.feature-tiles > *{flex:1 1 calc(50% - 7px)}

/* ── FAQ ───────────────────────────────────────────────────────── */
.faq-wrap{max-width:720px;margin:0 auto}
.faq-item{border:1px solid var(--border);margin-bottom:10px}
.faq-question{padding:18px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;font-size:14.5px;transition:var(--transition)}
.faq-question:hover{background:var(--gray-50)}
.faq-answer{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;font-size:14px;color:var(--gray-500);line-height:1.7}
.faq-item.open .faq-answer{max-height:300px;padding:0 20px 18px}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-icon{transition:transform .3s;font-size:20px;flex-shrink:0}

/* ── Contact ───────────────────────────────────────────────────── */
.contact-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.contact-icon{width:42px;height:42px;min-width:42px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--primary)}
.contact-form-grid{display:flex;flex-direction:column}
.contact-form-grid > *{width:100%}
@media(min-width:520px){
  .contact-form-grid.two-col{flex-direction:row;gap:16px}
  .contact-form-grid.two-col > *{flex:1;min-width:0}
}

/* ── CTA band ──────────────────────────────────────────────────── */
.cta-band{background:var(--gradient);padding:72px 0}
.cta-band h2{font-family:var(--font-display);font-weight:700;color:#fff;margin-bottom:14px;font-size:clamp(1.7rem,5vw,2.4rem)}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
@media(max-width:480px){.cta-actions{flex-direction:column}.cta-actions .btn{width:100%}}

/* ── Footer ────────────────────────────────────────────────────── */
.footer-grid{display:flex;flex-wrap:wrap;gap:36px;padding:56px 0 32px}
.footer-grid > *{flex:1 1 100%}
@media(min-width:640px){
  .footer-grid > *{flex:1 1 calc(50% - 18px)}
}
@media(min-width:1024px){
  .footer-grid > *:first-child{flex:2 1 0}
  .footer-grid > *:not(:first-child){flex:1 1 0}
}
.footer-bottom{flex-direction:column;gap:10px;text-align:center;display:flex;border-top:1px solid rgba(255,255,255,.1);padding:20px 0;font-size:12.5px;color:rgba(255,255,255,.45)}
@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left}}

/* ── Misc responsive section padding ──────────────────────────── */
@media(max-width:640px){
  .section{padding:56px 0}
  .section-header{margin-bottom:36px}
}
