/* ============================================================
   PALETA DE COLORES — cámbialos aquí si quieres ajustar la marca
   ============================================================ */
:root{
  --navy: #0A1128;
  --navy-soft: #1B263B;
  --navy-deep: #060B1C;
  --gold: #D4AF37;
  --gold-dark: #B5952F;
  --cream: #FAF9F6;
  --cream-warm: #F3EFE6;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--cream);
  color:var(--navy);
  font-family:'Outfit', system-ui, sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{ background:var(--gold); color:var(--navy); }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; border:0; background:none; color:inherit; }

/* Tipografía helpers */
.font-serif{ font-family:'Cormorant Garamond', Georgia, serif; }
.overline{
  font-family:'Outfit', sans-serif;
  font-size:11px; font-weight:500;
  letter-spacing:0.28em; text-transform:uppercase;
}
.italic-gold{ font-style:italic; color:var(--gold-dark); }

/* Layout */
.container{ max-width:1400px; margin:0 auto; padding:0 24px; }
@media (min-width:768px){ .container{ padding:0 40px; } }

/* ============================================================
   HEADER
   ============================================================ */
header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  transition:background 0.3s, border-color 0.3s, backdrop-filter 0.3s;
  border-bottom:1px solid transparent;
}
header.scrolled{
  background:rgba(250,249,246,0.85);
  backdrop-filter:blur(16px);
  border-bottom-color:rgba(10,17,40,0.1);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 24px;
}
@media (min-width:768px){ .header-inner{ padding:20px 40px; } }
.logo-link{ display:flex; align-items:center; gap:12px; }
.logo-link img{ height:44px; width:auto; transition:transform 0.5s; }
.logo-link:hover img{ transform:scale(1.05); }
.logo-divider{
  display:none; width:1px; height:32px;
  background:rgba(10,17,40,0.15);
}
.logo-text{ display:none; flex-direction:column; line-height:1; }
.logo-text .overline{ color:rgba(10,17,40,0.6); font-size:9px; }
.logo-text .name{
  font-family:'Cormorant Garamond', serif;
  color:rgba(10,17,40,0.8);
  font-size:13px; margin-top:4px;
}
@media (min-width:768px){
  .logo-divider, .logo-text{ display:flex; }
  .logo-link img{ height:48px; }
}
nav.desktop{ display:none; gap:36px; align-items:center; }
@media (min-width:768px){ nav.desktop{ display:flex; } }
nav.desktop a{ color:rgba(10,17,40,0.8); position:relative; padding-bottom:4px; }
nav.desktop a::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s cubic-bezier(0.22,1,0.36,1);
}
nav.desktop a:hover{ color:var(--navy); }
nav.desktop a:hover::after{ transform:scaleX(1); }

.btn-gold{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--gold); color:var(--navy);
  padding:12px 20px;
  transition:background 0.3s, color 0.3s;
}
.btn-gold:hover{ background:var(--navy); color:var(--cream); }
.btn-navy{
  display:inline-flex; align-items:center; gap:12px;
  background:var(--navy); color:var(--cream);
  padding:16px 28px;
  transition:background 0.3s, color 0.3s;
}
.btn-navy:hover{ background:var(--gold); color:var(--navy); }
.header-cta{ display:none; }
@media (min-width:768px){ .header-cta{ display:inline-flex; } }

.menu-toggle{
  display:flex; width:44px; height:44px;
  align-items:center; justify-content:center;
  border:1px solid rgba(10,17,40,0.2);
  transition:background 0.3s, color 0.3s;
}
.menu-toggle:hover{ background:var(--navy); color:var(--cream); }
@media (min-width:768px){ .menu-toggle{ display:none; } }

nav.mobile{
  display:none; overflow:hidden;
  background:rgba(250,249,246,0.95); backdrop-filter:blur(16px);
  border-top:1px solid rgba(10,17,40,0.1);
}
nav.mobile.open{ display:block; }
nav.mobile .mobile-inner{ padding:24px; display:flex; flex-direction:column; gap:16px; }
nav.mobile a{ font-family:'Cormorant Garamond', serif; font-size:24px; }
nav.mobile .cta-btn{
  margin-top:8px; text-align:center;
  background:var(--gold); color:var(--navy); padding:12px 20px;
}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  padding:130px 0 80px;
  background:var(--cream);
  overflow:hidden;
}
@media (min-width:768px){ .hero{ padding:160px 0 128px; } }
.hero-frame-lines{ position:absolute; inset:0; pointer-events:none; }
.hero-frame-lines .v-left, .hero-frame-lines .v-right{
  position:absolute; top:0; bottom:0; width:1px; background:rgba(10,17,40,0.1);
}
.hero-frame-lines .v-left{ left:24px; }
.hero-frame-lines .v-right{ right:24px; }
.hero-frame-lines .h-top{
  position:absolute; top:96px; left:0; right:0; height:1px;
  background:rgba(10,17,40,0.1);
}
@media (min-width:768px){
  .hero-frame-lines .v-left{ left:40px; }
  .hero-frame-lines .v-right{ right:40px; }
}
.hero-grid{
  position:relative; display:grid; grid-template-columns:1fr; gap:40px;
  align-items:end;
}
@media (min-width:1024px){
  .hero-grid{ grid-template-columns:7fr 5fr; gap:56px; }
}
.tick{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Outfit', sans-serif;
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(10,17,40,0.7);
}
.tick::before{ content:''; width:22px; height:1px; background:currentColor; opacity:0.6; }

h1.hero-headline{
  font-family:'Cormorant Garamond', serif;
  font-weight:400;
  color:var(--navy);
  letter-spacing:-0.02em;
  font-size:52px; line-height:0.98;
  margin:32px 0 0;
}
@media (min-width:640px){ h1.hero-headline{ font-size:60px; } }
@media (min-width:768px){ h1.hero-headline{ font-size:86px; } }
@media (min-width:1024px){ h1.hero-headline{ font-size:104px; } }
h1.hero-headline .line{ display:block; overflow:hidden; padding-bottom:0.06em; line-height:1.02; }
h1.hero-headline .line > span{ display:inline-block; transform:translateY(110%); }
h1.hero-headline.loaded .line > span{
  transform:translateY(0);
  transition:transform 1.05s cubic-bezier(0.22,1,0.36,1);
}
h1.hero-headline.loaded .line:nth-child(1) > span{ transition-delay:0.4s; }
h1.hero-headline.loaded .line:nth-child(2) > span{ transition-delay:0.52s; }
h1.hero-headline.loaded .line:nth-child(3) > span{ transition-delay:0.64s; }
.hero-subline{
  margin:32px 0 0; max-width:576px;
  color:rgba(10,17,40,0.75);
  font-size:16px; line-height:1.7; font-weight:300;
}
@media (min-width:768px){ .hero-subline{ font-size:18px; } }
.hero-subline strong{ color:var(--navy); font-weight:500; }
.hero-ctas{
  margin-top:40px; display:flex; flex-wrap:wrap; align-items:center; gap:16px;
}
.hero-secondary-link{
  color:var(--navy); position:relative; padding:16px 4px;
  border-bottom:1px solid transparent; transition:border-color 0.3s;
}
.hero-secondary-link:hover{ border-color:var(--navy); }
.hero-stats{
  margin-top:56px;
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  max-width:512px; border-top:1px solid rgba(10,17,40,0.15); padding-top:24px;
}
.hero-stats > div{ padding-left:16px; border-left:1px solid rgba(10,17,40,0.15); }
.hero-stats > div:first-child{ padding-left:0; border-left:none; }
.hero-stats .overline{ color:rgba(10,17,40,0.5); }
.hero-stats .value{
  font-family:'Cormorant Garamond', serif; color:var(--navy);
  font-size:20px; margin-top:4px;
}

.portrait{
  position:relative; aspect-ratio:1/1; width:100%;
  background:var(--navy); overflow:hidden;
}
.portrait img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.portrait .beam{
  position:absolute; top:-33%; left:50%; transform:translateX(-50%);
  width:140%; height:70%; pointer-events:none;
  background:radial-gradient(closest-side, rgba(212,175,55,0.18), transparent 70%);
}
.portrait .corner{
  position:absolute; width:32px; height:32px;
  border-color:rgba(212,175,55,0.7);
}
.portrait .corner.tl{ top:16px; left:16px; border-top:1px solid; border-left:1px solid; }
.portrait .corner.br{ bottom:16px; right:16px; border-bottom:1px solid; border-right:1px solid; }

/* ============================================================
   ABOUT
   ============================================================ */
.about{ padding:96px 0; background:var(--cream); }
@media (min-width:768px){ .about{ padding:160px 0; } }
.about-header{
  display:grid; grid-template-columns:1fr; gap:40px;
  align-items:end; margin-bottom:64px;
}
@media (min-width:1024px){
  .about-header{ grid-template-columns:4fr 8fr; gap:64px; margin-bottom:96px; }
}
h2.section-title{
  font-family:'Cormorant Garamond', serif; font-weight:400;
  color:var(--navy); letter-spacing:-0.02em;
  font-size:36px; line-height:0.98; margin:0;
}
@media (min-width:640px){ h2.section-title{ font-size:48px; } }
@media (min-width:768px){ h2.section-title{ font-size:60px; } }
@media (min-width:1024px){ h2.section-title{ font-size:76px; } }
.about-intro-p{
  margin:32px 0 0; max-width:672px;
  font-size:18px; line-height:1.7; font-weight:300;
}
.about-intro-p.p1{ color:rgba(10,17,40,0.8); }
.about-intro-p.p2{ color:rgba(10,17,40,0.75); margin-top:20px; }

.chapters{
  list-style:none; margin:0; padding:64px 0 0;
  display:grid; grid-template-columns:1fr; gap:40px;
  border-top:1px solid rgba(10,17,40,0.15);
}
@media (min-width:1024px){
  .chapters{ grid-template-columns:repeat(3,1fr); gap:32px; }
}
.chapter .num{
  font-family:'Cormorant Garamond', serif;
  color:var(--gold-dark);
  font-size:80px; line-height:1; letter-spacing:-0.05em;
}
@media (min-width:768px){ .chapter .num{ font-size:104px; } }
.chapter .divider{
  height:1px; width:64px; background:rgba(10,17,40,0.4); margin:16px 0 24px;
}
.chapter h3{
  font-family:'Cormorant Garamond', serif; font-weight:500;
  color:var(--navy); letter-spacing:-0.02em;
  font-size:30px; margin:0 0 16px;
}
@media (min-width:768px){ .chapter h3{ font-size:36px; } }
.chapter p{
  color:rgba(10,17,40,0.7); font-weight:300; line-height:1.7;
  max-width:28rem; margin:0;
}

.synergy{
  margin-top:80px; padding-top:56px;
  border-top:1px solid rgba(10,17,40,0.15);
  display:grid; grid-template-columns:1fr; gap:40px; align-items:center;
}
@media (min-width:768px){
  .synergy{ grid-template-columns:1fr 1fr; gap:64px; margin-top:112px; }
}
.synergy .quote{ font-family:'Cormorant Garamond', serif; font-size:24px; line-height:1.35; color:var(--navy); }
@media (min-width:768px){ .synergy .quote{ font-size:30px; } }
.synergy .text{ color:rgba(10,17,40,0.7); font-weight:300; line-height:1.7; }
@media (min-width:768px){ .synergy .text{ padding-left:32px; border-left:1px solid rgba(10,17,40,0.15); } }

/* ============================================================
   MARQUEE
   ============================================================ */
.marquee{
  background:var(--cream);
  border-top:1px solid rgba(10,17,40,0.1);
  border-bottom:1px solid rgba(10,17,40,0.1);
  padding:32px 0; overflow:hidden;
}
@media (min-width:768px){ .marquee{ padding:48px 0; } }
.marquee-track{
  display:flex; gap:0;
  animation:marquee 38s linear infinite;
  white-space:nowrap;
}
.marquee-track:hover{ animation-play-state:paused; }
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.marquee-item{
  font-family:'Cormorant Garamond', serif; font-style:italic;
  font-size:64px; line-height:1; letter-spacing:-0.02em;
  padding:0 32px;
  -webkit-text-stroke:1px var(--gold);
  color:transparent;
}
@media (min-width:768px){ .marquee-item{ font-size:104px; padding:0 56px; } }
.marquee-item .star{
  -webkit-text-stroke:0; color:var(--gold);
  font-style:normal; margin:0 24px;
}

/* ============================================================
   SERVICES
   ============================================================ */
.services{ padding:96px 0; background:var(--navy); color:var(--cream); position:relative; overflow:hidden; }
@media (min-width:768px){ .services{ padding:144px 0; } }
.services .bg-lines .v-left, .services .bg-lines .v-right{
  position:absolute; top:0; bottom:0; width:1px; background:rgba(250,249,246,0.1);
}
.services .bg-lines .v-left{ left:24px; }
.services .bg-lines .v-right{ right:24px; }
@media (min-width:768px){
  .services .bg-lines .v-left{ left:40px; }
  .services .bg-lines .v-right{ right:40px; }
}
.services .glow{
  position:absolute; top:-160px; right:-160px;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(212,175,55,0.14), transparent 70%);
  pointer-events:none;
}
.services-header{
  display:grid; grid-template-columns:1fr; gap:40px;
  align-items:end; margin-bottom:64px;
}
@media (min-width:1024px){
  .services-header{ grid-template-columns:4fr 8fr; gap:64px; margin-bottom:80px; }
}
.services-header .tick{ color:var(--gold); }
.services-header h2{ color:var(--cream); }
.services-header h2 em{ color:var(--gold); font-style:italic; }

.service-grid{
  display:grid; grid-template-columns:1fr; gap:1px;
  background:rgba(250,249,246,0.1);
  border:1px solid rgba(250,249,246,0.1);
}
@media (min-width:768px){ .service-grid{ grid-template-columns:1fr 1fr; } }
.service-card{
  background:var(--navy); padding:32px;
  display:flex; flex-direction:column;
  min-height:420px;
  transition:background 0.5s;
}
@media (min-width:768px){ .service-card{ padding:48px; } }
.service-card:hover{ background:var(--navy-soft); }
.service-card .top-row{
  display:flex; align-items:flex-start; justify-content:space-between;
}
.service-card .num{
  font-family:'Cormorant Garamond', serif;
  color:var(--gold);
  font-size:48px; letter-spacing:-0.05em; line-height:1;
}
@media (min-width:768px){ .service-card .num{ font-size:60px; } }
.service-card .icon-box{
  width:44px; height:44px; border:1px solid rgba(250,249,246,0.25);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); transition:border-color 0.5s;
}
.service-card:hover .icon-box{ border-color:var(--gold); }
.service-card h3{
  font-family:'Cormorant Garamond', serif; font-weight:500;
  color:var(--cream);
  font-size:30px; line-height:1.05; letter-spacing:-0.02em;
  margin:32px 0 0;
  max-width:420px;
}
@media (min-width:768px){ .service-card h3{ font-size:34px; } }
.service-card .desc{
  margin:16px 0 0;
  color:rgba(250,249,246,0.7); font-weight:300; line-height:1.7;
  max-width:28rem;
}
.service-card ul{
  list-style:none; margin:24px 0 0; padding:0;
  display:flex; flex-wrap:wrap; gap:8px 24px;
}
.service-card ul li{ color:rgba(212,175,55,0.85); font-size:11px; letter-spacing:0.28em; text-transform:uppercase; }
.service-card .foot{
  margin-top:auto; padding-top:32px; border-top:1px solid rgba(250,249,246,0.1);
  display:flex; align-items:center; justify-content:space-between;
}
.service-card .foot .overline{ color:rgba(250,249,246,0.6); }
.service-card .foot a{
  color:var(--gold); position:relative; padding-bottom:2px;
  border-bottom:1px solid transparent; transition:border-color 0.3s;
  font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:8px;
}
.service-card .foot a:hover{ border-color:currentColor; }

/* ============================================================
   CONTACT
   ============================================================ */
.contact{ padding:96px 0; background:var(--cream); }
@media (min-width:768px){ .contact{ padding:144px 0; } }
.contact-grid{
  display:grid; grid-template-columns:1fr; gap:40px;
}
@media (min-width:1024px){ .contact-grid{ grid-template-columns:5fr 7fr; gap:64px; } }
.contact-left h2{ margin-top:24px; font-size:36px; }
@media (min-width:640px){ .contact-left h2{ font-size:48px; } }
@media (min-width:768px){ .contact-left h2{ font-size:60px; } }
@media (min-width:1024px){ .contact-left h2{ font-size:72px; } }
.contact-left h2 em{ color:var(--gold-dark); font-style:italic; }
.contact-intro{
  margin:32px 0 0; max-width:512px;
  color:rgba(10,17,40,0.75); font-size:18px; line-height:1.7; font-weight:300;
}
.contact-info{
  list-style:none; margin:40px 0 0; padding:32px 0 0;
  border-top:1px solid rgba(10,17,40,0.15);
  display:flex; flex-direction:column; gap:20px;
}
.contact-info li{ display:flex; align-items:flex-start; gap:16px; }
.contact-info .icon{
  margin-top:4px; width:32px; height:32px;
  border:1px solid rgba(10,17,40,0.2);
  display:flex; align-items:center; justify-content:center; color:var(--navy);
}
.contact-info .overline{ color:rgba(10,17,40,0.5); }
.contact-info .value{
  font-family:'Cormorant Garamond', serif;
  color:var(--navy); font-size:24px; margin-top:2px;
  position:relative; padding-bottom:2px; border-bottom:1px solid transparent;
  transition:border-color 0.3s; display:inline-block;
}
.contact-info a.value:hover{ border-color:var(--navy); }

/* Form */
.contact-right{ position:relative; }
.form-card{
  position:relative;
  background:#ffffff; border:1px solid rgba(10,17,40,0.1);
  padding:24px;
}
@media (min-width:640px){ .form-card{ padding:40px; } }
@media (min-width:768px){ .form-card{ padding:48px; } }
.form-badge{
  position:absolute; top:-12px; left:24px;
  background:var(--cream); padding:0 12px;
  font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
  color:rgba(10,17,40,0.6);
}
form{ display:grid; grid-template-columns:1fr; gap:24px; }
@media (min-width:768px){ form{ grid-template-columns:1fr 1fr; } }
.field{ display:block; }
.field.full{ grid-column:1 / -1; }
.field label{
  font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
  color:rgba(10,17,40,0.6);
}
.field label .req{ color:var(--gold-dark); margin-left:4px; }
.field input, .field select, .field textarea{
  width:100%; margin-top:4px;
  background:transparent; color:var(--navy);
  border:0; border-bottom:1px solid rgba(10,17,40,0.2);
  padding:12px 0; font:inherit;
  transition:border-color 0.3s; outline:none;
  border-radius:0;
}
.field input:focus, .field select:focus, .field textarea:focus{ border-bottom-color:var(--gold); }
.field textarea{ resize:none; }
.field input::placeholder, .field textarea::placeholder{ color:rgba(10,17,40,0.3); }
.field select{ appearance:none; background-image:none; padding-right:24px; }
.form-foot{
  grid-column:1 / -1;
  display:flex; flex-direction:column; gap:16px;
  padding-top:16px;
}
@media (min-width:640px){ .form-foot{ flex-direction:row; align-items:center; justify-content:space-between; } }
.form-foot p{ margin:0; max-width:24rem; font-size:12px; color:rgba(10,17,40,0.5); }
.form-foot button{
  display:inline-flex; align-items:center; gap:12px;
  background:var(--navy); color:var(--cream);
  padding:16px 28px;
  font-size:11px; letter-spacing:0.28em; text-transform:uppercase;
  transition:background 0.3s, color 0.3s;
}
.form-foot button:hover{ background:var(--gold); color:var(--navy); }
.form-foot button[disabled]{ opacity:0.6; cursor:not-allowed; }

.form-success{ display:none; padding:64px 0; text-align:center; }
.form-success.show{ display:block; }
.form-success .success-icon{
  width:56px; height:56px; border-radius:50%; border:1px solid var(--gold);
  margin:0 auto; color:var(--gold-dark);
  display:flex; align-items:center; justify-content:center;
}
.form-success h3{
  font-family:'Cormorant Garamond', serif; color:var(--navy);
  font-size:30px; margin:24px 0 0;
}
.form-success p{
  color:rgba(10,17,40,0.7); max-width:28rem; margin:16px auto 0;
}
.form-success button{
  margin-top:32px;
  color:var(--navy); font-size:11px; letter-spacing:0.28em;
  text-transform:uppercase; padding-bottom:2px;
  border-bottom:1px solid transparent; transition:border-color 0.3s;
}
.form-success button:hover{ border-color:var(--navy); }

/* Toast */
.toast{
  position:fixed; bottom:24px; right:24px;
  background:var(--navy); color:var(--cream);
  padding:16px 20px;
  font-size:14px; box-shadow:0 20px 60px -30px rgba(0,0,0,0.5);
  transform:translateY(100px); opacity:0; transition:transform 0.4s, opacity 0.4s;
  z-index:100; max-width:320px;
}
.toast.show{ transform:translateY(0); opacity:1; }
.toast.error{ background:#8b1a1a; }

/* ============================================================
   FOOTER
   ============================================================ */
footer{
  background:var(--navy-deep); color:rgba(250,249,246,0.9);
  padding:80px 0 40px; position:relative; overflow:hidden;
}
footer .glow{
  position:absolute; top:-160px; left:-160px;
  width:500px; height:500px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(212,175,55,0.12), transparent 70%);
  opacity:0.7; pointer-events:none;
}
.footer-top{
  position:relative;
  display:grid; grid-template-columns:1fr; gap:40px;
  padding-bottom:64px; border-bottom:1px solid rgba(250,249,246,0.1);
}
@media (min-width:1024px){ .footer-top{ grid-template-columns:6fr 3fr 3fr; } }
.footer-brand{ display:flex; align-items:center; gap:16px; }
.footer-brand img{ height:64px; }
@media (min-width:768px){ .footer-brand img{ height:80px; } }
.footer-brand .name{ font-family:'Cormorant Garamond', serif; font-size:18px; }
.footer-brand .overline{ color:rgba(250,249,246,0.5); font-size:9px; }
.footer-headline{
  margin:32px 0 0;
  font-family:'Cormorant Garamond', serif;
  font-size:30px; line-height:1.15; max-width:672px; color:var(--cream);
}
@media (min-width:768px){ .footer-headline{ font-size:48px; } }
.footer-headline .accent{ color:var(--gold); font-style:italic; }
.footer-col .overline{ color:rgba(250,249,246,0.5); margin-bottom:24px; display:block; }
.footer-col a{
  color:var(--cream);
  position:relative; padding-bottom:2px;
  border-bottom:1px solid transparent; transition:border-color 0.3s;
  display:inline-flex; align-items:center; gap:8px;
}
.footer-col a:hover{ border-color:currentColor; }
.footer-col .email{ font-family:'Cormorant Garamond', serif; font-size:20px; display:block; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.footer-col .whatsapp{ margin-top:16px; color:rgba(250,249,246,0.85); }
.footer-col .whatsapp svg{ color:var(--gold); }
.footer-col .location{ color:rgba(250,249,246,0.6); font-size:14px; margin-top:12px; }
.footer-col .hours{ color:rgba(250,249,246,0.6); font-size:14px; margin-top:4px; }
.footer-bottom{
  padding-top:32px;
  display:flex; flex-direction:column; gap:16px;
  align-items:flex-start; justify-content:space-between;
  font-size:12px; color:rgba(250,249,246,0.55);
}
@media (min-width:768px){ .footer-bottom{ flex-direction:row; align-items:center; } }
.footer-bottom .links{ display:flex; gap:24px; }
.footer-bottom a{ position:relative; padding-bottom:2px; border-bottom:1px solid transparent; transition:border-color 0.3s; }
.footer-bottom a:hover{ border-color:currentColor; }

/* ============================================================
   Reveal on scroll
   ============================================================ */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity 0.9s cubic-bezier(0.22,1,0.36,1), transform 0.9s cubic-bezier(0.22,1,0.36,1); }
.reveal.in{ opacity:1; transform:translateY(0); }

.icon-sm{ width:14px; height:14px; }
.icon-md{ width:16px; height:16px; }
.icon-lg{ width:18px; height:18px; }
