/* ROUGERIE FINANCES — shared private-banking visual identity. */
:root {
  --bg:#faf8f4; --surface:#fff; --surface-2:#f1ede6; --surface-3:#e9e2d7;
  --ink:#251c20; --txt:#433c3e; --txt-muted:#655d60; --txt-dim:#766d70;
  --navy-900:#28151c; --navy-800:#421c29;
  --blue:#821e36; --blue-bright:#a12c46; --blue-deep:#69192d;
  --gold:#bd9651; --gold-soft:#e7cf9e; --gold-ink:#856126;
  --line:rgba(83,57,38,.13); --line-strong:rgba(83,57,38,.23);
  --grad-blue:linear-gradient(125deg,#64192d,#922b43);
  --grad-gold:linear-gradient(125deg,#e8d5ad,#c7a362);
  --shadow-sm:0 8px 28px -18px rgba(51,27,30,.22);
  --shadow-lg:0 24px 65px -30px rgba(51,27,30,.25);
  --shadow-blue:0 12px 28px -18px rgba(105,25,45,.5);
  --radius:8px; --radius-sm:6px;
}
body { background:#faf8f4; color:#433c3e; font-family:Inter,'Segoe UI',Arial,sans-serif; }
.hero-grid>*,.form-grid>*,.info-cards>*,.footer-grid>* { min-width:0; }
.info-card a,.foot-contact a,.legal-line,.company-details { overflow-wrap:anywhere; }
h1,h2,h3,h4 { font-family:'Playfair Display',Georgia,serif; color:#251c20; }
h1 { letter-spacing:-.035em; line-height:1.12; }
a { color:#791d33; }
::selection { background:#e7cf9e; color:#28151c; }
:focus-visible { outline:3px solid #a17a35; outline-offset:4px; }
.topbar,.top-wrap { background:#28151c; color:#e9dfd4; border-bottom:1px solid #967343; }
.topbar .container { padding-top:9px; padding-bottom:9px; }
.top-wrap .con p,.top-wrap .con p span { color:#e9dfd4; }
.site-header,.ftco-navbar-light { background:rgba(255,255,255,.98)!important; border-bottom:1px solid #e5ddd0; box-shadow:0 4px 20px rgba(45,22,27,.04); }
.nav { padding:4px 0; gap:20px; min-height:116px; }
.brand-logo,.navbar-brand { display:inline-flex; align-items:center; background:#fff; border:0; border-radius:0; box-shadow:none; padding:0; flex-shrink:0; }
.brand-logo img,.navbar-brand img { width:148px!important; height:116px!important; object-fit:contain; display:block; }
.nav-head .brand-logo img { width:125px!important; height:100px!important; }
.ftco-navbar-light .navbar-brand { padding:0; }
.ftco-navbar-light .navbar-nav>.nav-item>.nav-link,.nav-links a { color:#493c40; font-size:14px; font-weight:600; }
.ftco-navbar-light .navbar-nav>.nav-item>.nav-link:hover,.ftco-navbar-light .navbar-nav>.nav-item.active>.nav-link { color:#821e36; }
.nav-links a.active::after { height:2px; background:#9b783c; }
.btn,.btn.btn-primary { border-radius:4px; padding:15px 27px; font-size:14px; font-weight:600; letter-spacing:.02em; box-shadow:none; }
.btn-primary,.btn.btn-primary { background:#781e34!important; border-color:#781e34!important; color:#fff!important; }
.btn-primary:hover,.btn.btn-primary:hover { background:#571526!important; border-color:#571526!important; transform:translateY(-2px); }
.btn-gold { background:#781e34; color:#fff; border-color:#781e34; }
.btn-gold:hover { background:#571526; color:#fff; }
.btn-ghost { color:#69192d; border-color:#c5b6a3; }
.hero { background:radial-gradient(ellipse at 90% 10%,#efe5d4 0,transparent 45%),#faf8f4; padding:78px 0 82px; border-bottom:1px solid #e6ded2; }
.hero::before,.hero::after { display:none; }
.hero-grid { gap:64px; }
.hero h1 { font-size:clamp(2.5rem,4.6vw,4.4rem); max-width:760px; }
.hero .lead { font-size:1.02rem; line-height:1.85; max-width:610px; }
.eyebrow,.subheading { color:#856126!important; letter-spacing:.19em; font-size:11px; text-transform:uppercase; font-weight:700; }
.hero-visual .frame { border-radius:110px 8px 8px 8px; border:1px solid #d7c6ac; box-shadow:14px 16px 0 #eee5d8; }
.hero-visual .frame img { filter:saturate(.75); }
.hero-mini { padding-top:24px; border-top:1px solid #ddcfbd; gap:30px; }
.hero-mini .l { color:#655d60; }
.hero-badge,.hero-visual .badge { background:#fff; border:1px solid #dac9ac; border-radius:5px; }
.trust { background:#fff; border-bottom:1px solid #e7dfd3; }
.trust .item span { color:#655d60; }
.section { padding-top:88px; padding-bottom:88px; }
.section.alt { background:#f1ede6; }
.card { border:1px solid #e2d9cd; border-radius:6px; padding:36px 30px; box-shadow:none; }
.card:hover { transform:translateY(-4px); box-shadow:0 16px 40px -25px #795c48; border-color:#b99556; }
.card .ico,.info-card .ico { background:#f3eae2; color:#821e36; border-color:#ead8c3; border-radius:5px; }
.card::before { background:#b99556; }
.split-media img { border-radius:6px; }
.split-media .tag { border-radius:4px; background:#781e34; }
.counters { background:#301a23; border-top:1px solid #a78751; border-bottom:1px solid #a78751; }
.counters::after { display:none; }
.page-hero { background:#f0e9de; padding:56px 0 60px; border-bottom:1px solid #ded1bf; }
.page-hero h1 { font-size:clamp(2.1rem,4vw,3.5rem); max-width:980px; }
.breadcrumb { color:#746356; }
.page-hero .eyebrow { margin-bottom:14px; }
.form-wrap,.contact-wrap,.info-card { background:#fff; border:1px solid #dfd4c5; border-radius:6px; box-shadow:0 15px 45px -30px #715445; }
.field input,.field select,.field textarea,.form-control { background:#fff!important; color:#33272c!important; border:1px solid #cfc5ba!important; border-radius:4px!important; min-height:48px; }
.field input:focus,.field select:focus,.field textarea:focus,.form-control:focus { border-color:#927039!important; box-shadow:0 0 0 3px rgba(185,149,86,.16)!important; }
.field label { color:#49363d; font-weight:600; }
.article { background:white; padding:42px; border:1px solid #e4dbcf; border-top:3px solid #b99556; border-radius:4px; }
.article h3 { color:#781e34; }
.map-frame { border-radius:5px; box-shadow:none; }
.tcard { border-radius:6px; border-color:#e2d9cd; box-shadow:none; }
.cta-band,.cta { background:#361d27; }
.site-footer,.ftco-footer { background:#281b22!important; border-top:3px solid #b99556; padding-top:60px; }
.site-footer h4,.ftco-footer .ftco-heading-2 { color:#f4eade!important; letter-spacing:.1em; font-family:Inter,'Segoe UI',Arial,sans-serif; font-size:13px; }
.site-footer p,.site-footer li,.site-footer a,.site-footer .legal-line,.ftco-footer p,.ftco-footer li,.ftco-footer a,.ftco-footer .text,.company-details { color:#d7cad0!important; }
.site-footer a:hover,.ftco-footer a:hover { color:#efd29b!important; }
.site-footer .brand-logo,.ftco-footer .logo a { background:#fff; border-radius:5px; padding:5px 22px; margin-bottom:20px; display:inline-flex; }
.site-footer .brand-logo img,.ftco-footer .logo img { width:190px!important; height:155px!important; object-fit:contain; }
.footer-grid { gap:36px; }
.footer-bottom,.legal-line,.company-details { border-color:rgba(230,209,181,.2); }
.footer-bottom { background:rgba(0,0,0,.12); }
.legal-line { line-height:1.9; }
.ftco-section { padding-top:80px; padding-bottom:80px; }
.ftco-section .services { border-radius:6px; border:1px solid #e2d9cd; box-shadow:none; }
.ftco-section .services .icon { background:#781e34!important; }
.hero-wrap .overlay { background:#28151c; opacity:.68; }
.hero-wrap h1,.hero-wrap h2,.slider-hero h1,.slider-hero h2 { color:#fff; }
.ftco-navbar-light .navbar-toggler { color:#69192d!important; }
@media(min-width:993px) { .ftco-navbar-light { position:sticky; top:0; z-index:100; } }
@media(max-width:992px) {
 .nav { min-height:96px; }
 .brand-logo img,.navbar-brand img { width:125px!important; height:96px!important; }
 .hero { padding:48px 0 60px; }
 .hero-grid { gap:38px; }
 .hero-visual { width:100%; max-width:620px; }
 .hero-visual .frame { border-radius:55px 6px 6px 6px; box-shadow:8px 10px 0 #eee5d8; }
 .nav-menu { background:#fff; }
 .ftco-navbar-light .navbar-nav>.nav-item>.nav-link { padding:12px 8px; }
}
@media(max-width:600px) {
 .topbar { font-size:11px; }
 .topbar .container { gap:4px; }
 .nav { gap:12px; }
 .hero h1 { font-size:2.55rem; }
 .hero .lead { font-size:15px; }
 .hero-actions { gap:12px; }
 .hero-actions .btn { width:100%; }
 .hero-mini { gap:22px; }
 .hero-mini .n { font-size:1.65rem; }
 .section,.ftco-section { padding-top:52px; padding-bottom:52px; }
 .page-hero { padding:34px 0 40px; }
 .article { padding:24px 20px; }
 .card { padding:28px 24px; }
 .site-footer .brand-logo img,.ftco-footer .logo img { width:170px!important; height:140px!important; }
 .footer-grid { gap:30px; }
 .form-wrap { padding:25px 20px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; animation-iteration-count:1!important; }
}
