:root {
  --accent-color: #f4d03f;
  --accent2-color: #27ae60;
  --accent3-color: #2980b9;
  --accent4-color: #8e44ad;
  --primary-color: #c0392b;
  --dark-text-color: #3c3c3c;
  --gray-text-color: #7f8c8d;
  --font-family-body: "Source Sans Pro", sans-serif;
  --light-text-color: #ffffff;
  --dark-border-color: #bcbcbc;
  --light-border-color: #ececec;
  --font-family-heading: "Quicksand", sans-serif;
  --button-rounded-radius: 8px;
  --dark-background-color: #2e4053;
  --light-background-color: #f9ecec;
  --medium-background-color: #ebd1d1;
  --primary-button-text-color: #ffffff;
  --secondary-button-bg-color: #d6eaf8;
  --secondary-button-text-color: #c0392b;
  --primary-button-hover-bg-color: #a93226;
  --primary-button-hover-text-color: #ffffff;
  --secondary-button-hover-bg-color: #a9cce3;
}

html { scroll-behavior: smooth; }
body { font-family: var(--font-family-body); color: var(--dark-text-color); }

.hero-gradient { background: linear-gradient(to right, var(--dark-background-color), transparent); }
.dot-pattern { background-image: radial-gradient(circle, white 1px, transparent 1px); background-size: 20px 20px; }
.diagonal-pattern::before { content: ""; position: absolute; inset: 0; opacity: .05; pointer-events: none; background-image: repeating-linear-gradient(45deg, transparent, transparent 10px, var(--primary-color) 10px, var(--primary-color) 11px); }

.section-heading { max-width: 48rem; margin: 0 auto 4rem; text-align: center; }
.section-heading > p { font-size: 1.125rem; color: var(--gray-text-color); }
.section-title { font-family: var(--font-family-heading); font-size: clamp(2.25rem, 4vw, 3rem); line-height: 1.15; font-weight: 700; color: var(--dark-text-color); margin-bottom: 1.5rem; }
.section-title span { color: var(--primary-color); }
.subsection-title { font-family: var(--font-family-heading); font-size: 1.75rem; line-height: 1.2; font-weight: 700; color: var(--dark-text-color); margin: 2rem 0 1rem; }
.section-badge, .light-badge, .hero-badge { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border-radius: 999px; margin-bottom: 1.5rem; font-size: .875rem; font-weight: 600; }
.section-badge { background: var(--primary-color); color: white; }
.light-badge { background: var(--secondary-button-bg-color); color: var(--primary-color); }
.hero-badge { background: rgba(244, 208, 63, .92); color: var(--dark-text-color); }
.body-copy { font-size: 1.125rem; line-height: 1.75; color: var(--dark-text-color); margin-bottom: 1rem; }

.primary-link, .hero-cta { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; padding: 1rem 2rem; border-radius: var(--button-rounded-radius); background: var(--primary-color); color: white; font-weight: 700; box-shadow: 0 10px 22px rgba(192, 57, 43, .18); transition: background-color .3s, transform .3s, box-shadow .3s; }
.primary-link:hover, .hero-cta:hover { background: var(--primary-button-hover-bg-color); transform: scale(1.05); box-shadow: 0 15px 30px rgba(192, 57, 43, .25); }

.content-card, .method-card { position: relative; background: var(--light-background-color); border: 2px solid var(--light-border-color); border-radius: 1rem; padding: 1.5rem; transition: transform .3s, border-color .3s, box-shadow .3s; }
.method-card { background: white; padding: 2rem; border-top: 4px solid var(--primary-color); box-shadow: 0 10px 25px rgba(46, 64, 83, .1); }
.content-card:hover, .method-card:hover { transform: translateY(-8px); border-color: var(--primary-color); box-shadow: 0 20px 40px rgba(46, 64, 83, .15); }
.content-card h3, .method-card h3 { font-family: var(--font-family-heading); font-size: 1.5rem; line-height: 1.2; font-weight: 700; margin-bottom: .75rem; }
.content-card p, .method-card p { color: var(--gray-text-color); line-height: 1.6; }
.icon-circle { width: 4rem; height: 4rem; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: var(--primary-color); background: rgba(192, 57, 43, .1); font-size: 1.5rem; margin-bottom: 1rem; }

.whatsapp-card { border-radius: 1.5rem; padding: 2rem; color: white; background: linear-gradient(135deg, #25d366, #128c7e); box-shadow: 0 20px 45px rgba(18, 140, 126, .24); transition: transform .3s; }
.whatsapp-card:hover { transform: scale(1.03); }
.whatsapp-card h3 { font-family: var(--font-family-heading); font-size: 1.75rem; font-weight: 700; margin-bottom: .75rem; }
.whatsapp-card p { font-size: 1.125rem; margin-bottom: 1.5rem; }
.whatsapp-card a { display: flex; align-items: center; justify-content: center; gap: .75rem; width: 100%; padding: 1rem 1.5rem; border-radius: .75rem; color: #25d366; background: white; font-size: 1.125rem; font-weight: 700; }
.contact-row { display: flex; align-items: center; gap: 1rem; background: var(--light-background-color); border-radius: .75rem; padding: 1.5rem; transition: box-shadow .3s; }
.contact-row:hover { box-shadow: 0 10px 25px rgba(46, 64, 83, .12); }
.contact-row > i { width: 3.5rem; height: 3.5rem; flex: none; border-radius: 999px; display: flex; align-items: center; justify-content: center; color: var(--primary-color); background: rgba(192, 57, 43, .1); font-size: 1.25rem; }
.contact-row span, .contact-row strong { display: block; }
.contact-row a { color: var(--primary-color); font-weight: 600; }

.internal-hero { position: relative; min-height: 720px; display: flex; align-items: center; overflow: hidden; color: white; }
.internal-title { font-family: var(--font-family-heading); font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1.08; font-weight: 700; margin-bottom: 1.5rem; }
.internal-lead { max-width: 52rem; font-size: clamp(1.125rem, 2vw, 1.5rem); line-height: 1.55; margin-bottom: 2rem; opacity: .96; }
.breadcrumb-light { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; color: rgba(255,255,255,.85); font-size: .875rem; margin-bottom: 1.75rem; }
.breadcrumb-light a:hover { color: var(--accent-color); }
.breadcrumb-light i { font-size: .65rem; }

.about-hero { position: relative; min-height: 780px; display: flex; align-items: center; overflow: hidden; padding: 8rem 0 5rem; color: #fffaf4; background: radial-gradient(circle at 18% 18%, rgba(244,208,63,.24), transparent 30%), linear-gradient(135deg, #241f1c 0%, #63251f 48%, #c0392b 100%); }
.about-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(120deg, transparent 0 44%, rgba(255,255,255,.18) 44% 45%, transparent 45% 100%), radial-gradient(circle, rgba(255,255,255,.35) 1px, transparent 1px); background-size: 100% 100%, 24px 24px; }
.about-hero-orb { position: absolute; border-radius: 999px; filter: blur(2px); opacity: .75; }
.about-hero-orb-one { width: 18rem; height: 18rem; right: 8%; top: 12%; background: rgba(244,208,63,.18); }
.about-hero-orb-two { width: 11rem; height: 11rem; left: 6%; bottom: 10%; background: rgba(39,174,96,.18); }
.about-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; margin-bottom: 2rem; color: rgba(255,250,244,.78); font-size: .9rem; }
.about-breadcrumb a:hover { color: var(--accent-color); }
.about-breadcrumb i { font-size: .65rem; }
.about-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.about-hero-copy h1 { max-width: 760px; font-family: var(--font-family-heading); font-size: clamp(3rem, 7vw, 5.8rem); line-height: .98; font-weight: 800; letter-spacing: -.04em; margin-bottom: 1.5rem; }
.about-hero-copy p { max-width: 660px; color: rgba(255,250,244,.9); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.65; margin-bottom: 2rem; }
.about-kicker { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: 1.2rem; padding: .55rem 1rem; border: 1px solid rgba(244,208,63,.45); border-radius: 999px; background: rgba(255,255,255,.12); backdrop-filter: blur(14px); color: var(--accent-color); font-weight: 700; }
.about-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.about-secondary-link { display: inline-flex; align-items: center; gap: .55rem; color: #fffaf4; font-weight: 700; border-bottom: 1px solid rgba(255,250,244,.55); padding-bottom: .25rem; }
.about-secondary-link:hover { color: var(--accent-color); border-color: var(--accent-color); }
.about-portrait-wrap { position: relative; max-width: 470px; justify-self: center; }
.about-portrait-frame { position: relative; border-radius: 2rem; padding: .8rem; background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(244,208,63,.35)); box-shadow: 0 32px 80px rgba(0,0,0,.34); transform: rotate(2deg); }
.about-portrait-frame::before { content: ""; position: absolute; inset: 1.4rem -1rem -1rem 1.4rem; z-index: -1; border: 2px solid rgba(244,208,63,.55); border-radius: 2rem; }
.about-portrait-frame img { display: block; width: min(78vw, 420px); aspect-ratio: 4 / 5; object-fit: cover; border-radius: 1.45rem; filter: saturate(1.04) contrast(1.02); }
.about-signature-card { position: absolute; left: -2rem; bottom: 2rem; max-width: 280px; padding: 1.2rem; border: 1px solid rgba(255,255,255,.55); border-radius: 1.2rem; background: rgba(255,250,244,.92); color: var(--dark-text-color); box-shadow: 0 18px 45px rgba(0,0,0,.18); backdrop-filter: blur(16px); }
.about-signature-card span { display: block; color: var(--primary-color); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.about-signature-card strong { display: block; font-family: var(--font-family-heading); font-size: 1.55rem; line-height: 1.1; margin: .25rem 0 .45rem; }
.about-signature-card p { color: var(--gray-text-color); font-size: .98rem; line-height: 1.45; }
.about-story { position: relative; padding: clamp(4rem, 8vw, 7rem) 0; background: linear-gradient(180deg, #fffaf4 0%, var(--light-background-color) 100%); }
.about-story-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.about-method-card { position: relative; overflow: hidden; border-radius: 1.5rem; padding: 2rem; background: #fff; box-shadow: 0 24px 60px rgba(46,64,83,.13); border: 1px solid rgba(192,57,43,.16); }
.about-method-card::after { content: ""; position: absolute; right: -4rem; top: -4rem; width: 12rem; height: 12rem; border-radius: 999px; background: rgba(244,208,63,.22); }
.about-method-number { display: inline-flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; margin: 1rem 0 .9rem; border-radius: 999px; color: #fff; background: var(--primary-color); font-family: var(--font-family-heading); font-weight: 800; }
.about-method-number:first-child { margin-top: 0; }
.about-method-card h3 { font-family: var(--font-family-heading); font-size: 1.55rem; font-weight: 800; margin-bottom: .55rem; }
.about-method-card p { color: var(--gray-text-color); font-size: 1.05rem; line-height: 1.65; }
.about-pillars { position: relative; padding: clamp(4rem, 8vw, 7rem) 0; background: #fff; }
.about-pillars-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.about-pillar-card { position: relative; min-height: 260px; overflow: hidden; border-radius: 1.35rem; padding: 1.75rem; color: #fff; background: linear-gradient(145deg, #2e4053, #6d2d28); box-shadow: 0 20px 45px rgba(46,64,83,.16); transition: transform .3s ease, box-shadow .3s ease; }
.about-pillar-card:nth-child(2) { background: linear-gradient(145deg, #8f2a20, #c0392b); }
.about-pillar-card:nth-child(3) { background: linear-gradient(145deg, #365b4a, #27ae60); }
.about-pillar-card::after { content: ""; position: absolute; right: -3rem; bottom: -3rem; width: 10rem; height: 10rem; border-radius: 999px; background: rgba(255,255,255,.12); }
.about-pillar-card:hover { transform: translateY(-8px); box-shadow: 0 28px 60px rgba(46,64,83,.22); }
.about-pillar-card span { display: block; color: var(--accent-color); font-family: var(--font-family-heading); font-size: 3rem; line-height: 1; font-weight: 800; opacity: .9; margin-bottom: 2.2rem; }
.about-pillar-card h3 { position: relative; font-family: var(--font-family-heading); font-size: 1.55rem; line-height: 1.15; font-weight: 800; margin-bottom: .75rem; }
.about-pillar-card p { position: relative; color: rgba(255,255,255,.83); font-size: 1.05rem; line-height: 1.6; }
.premium-hero { position: relative; overflow: hidden; min-height: 760px; display: flex; align-items: center; padding: 8rem 0 5rem; color: #fffaf4; background: linear-gradient(135deg, #2e4053 0%, #6d2d28 52%, #c0392b 100%); }
.premium-hero-cursos { background: radial-gradient(circle at 75% 18%, rgba(244,208,63,.24), transparent 30%), linear-gradient(135deg, #2e4053 0%, #593728 50%, #c0392b 100%); }
.premium-hero-como-funciona { background: radial-gradient(circle at 72% 20%, rgba(39,174,96,.22), transparent 28%), linear-gradient(135deg, #203347 0%, #365b4a 48%, #8f2a20 100%); }
.premium-hero-contato { background: radial-gradient(circle at 72% 20%, rgba(37,211,102,.22), transparent 28%), linear-gradient(135deg, #172b36 0%, #128c7e 48%, #25d366 100%); }
.premium-noise { position: absolute; inset: 0; opacity: .2; background-image: radial-gradient(circle, rgba(255,255,255,.35) 1px, transparent 1px), linear-gradient(120deg, transparent 0 42%, rgba(255,255,255,.18) 42% 43%, transparent 43% 100%); background-size: 24px 24px, 100% 100%; }
.premium-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(310px, .55fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.premium-hero-copy h1 { max-width: 850px; font-family: var(--font-family-heading); font-size: clamp(3rem, 7vw, 5.5rem); line-height: 1; letter-spacing: -.04em; font-weight: 800; margin-bottom: 1.5rem; }
.premium-hero-copy p { max-width: 680px; color: rgba(255,250,244,.9); font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.65; margin-bottom: 2rem; }
.premium-feature-panel { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.45); border-radius: 1.6rem; padding: 2rem; background: rgba(255,250,244,.13); backdrop-filter: blur(18px); box-shadow: 0 26px 70px rgba(0,0,0,.2); }
.premium-feature-panel::after { content: ""; position: absolute; right: -4rem; bottom: -4rem; width: 13rem; height: 13rem; border-radius: 999px; background: rgba(244,208,63,.16); }
.premium-panel-label { display: inline-flex; margin-bottom: 1rem; color: var(--accent-color); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.premium-feature-panel h2 { position: relative; font-family: var(--font-family-heading); font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.05; font-weight: 800; margin-bottom: 1.5rem; }
.premium-panel-list { position: relative; display: grid; gap: .85rem; }
.premium-panel-list span { display: flex; align-items: center; gap: .75rem; padding: .9rem 1rem; border-radius: .9rem; background: rgba(255,255,255,.14); font-weight: 700; }
.premium-panel-list i { color: var(--accent-color); }
.premium-section { padding: clamp(4rem, 8vw, 7rem) 0; background: linear-gradient(180deg, #fffaf4 0%, #fff 100%); }
.premium-section-head { max-width: 760px; margin-bottom: 3rem; }
.premium-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.premium-card { position: relative; overflow: hidden; min-height: 245px; padding: 1.6rem; border-radius: 1.35rem; background: var(--light-background-color); border: 1px solid rgba(192,57,43,.14); box-shadow: 0 16px 38px rgba(46,64,83,.09); transition: transform .3s ease, box-shadow .3s ease; }
.premium-card::after { content: ""; position: absolute; right: -3rem; top: -3rem; width: 9rem; height: 9rem; border-radius: 999px; background: rgba(192,57,43,.1); }
.premium-card:hover { transform: translateY(-8px); box-shadow: 0 26px 55px rgba(46,64,83,.15); }
.premium-card span { display: block; color: var(--primary-color); font-family: var(--font-family-heading); font-size: 2.8rem; line-height: 1; font-weight: 800; margin-bottom: 1.5rem; }
.premium-card h3 { position: relative; font-family: var(--font-family-heading); font-size: 1.45rem; line-height: 1.15; font-weight: 800; margin-bottom: .75rem; }
.premium-card p { position: relative; color: var(--gray-text-color); font-size: 1.03rem; line-height: 1.6; }
.contact-showcase { padding: clamp(3.5rem, 7vw, 6rem) 0; background: #fff; }
.contact-showcase-card { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding: clamp(2rem, 5vw, 3.5rem); border-radius: 1.7rem; color: white; background: linear-gradient(135deg, #128c7e, #25d366); box-shadow: 0 24px 60px rgba(18,140,126,.22); }
.contact-showcase-card span { color: rgba(255,255,255,.78); font-size: .82rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.contact-showcase-card h2 { font-family: var(--font-family-heading); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; font-weight: 800; margin: .6rem 0 1rem; }
.contact-showcase-card p { max-width: 680px; color: rgba(255,255,255,.86); font-size: 1.12rem; line-height: 1.65; }
.contact-showcase-card a { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; padding: 1rem 1.5rem; border-radius: .9rem; background: white; color: #128c7e; font-weight: 800; white-space: nowrap; transition: transform .3s ease, box-shadow .3s ease; }
.contact-showcase-card a:hover { transform: scale(1.04); box-shadow: 0 16px 32px rgba(0,0,0,.16); }

.region-advantage { background: white; border-radius: 1.5rem; padding: 2rem; box-shadow: 0 20px 45px rgba(46, 64, 83, .14); border-top: 4px solid var(--primary-color); }
.region-advantage h2 { font-family: var(--font-family-heading); font-size: 1.75rem; font-weight: 700; margin-bottom: 1rem; }
.region-advantage h3 { font-family: var(--font-family-heading); font-size: 1.2rem; font-weight: 700; color: var(--primary-color); margin: 1.5rem 0 .5rem; }
.region-advantage p { color: var(--gray-text-color); font-size: 1.075rem; line-height: 1.7; }
.cta-banner { position: relative; overflow: hidden; border-radius: 1.5rem; padding: clamp(2rem, 6vw, 4rem); text-align: center; color: white; background: linear-gradient(to right, var(--primary-color), var(--primary-button-hover-bg-color)); box-shadow: 0 20px 45px rgba(192, 57, 43, .24); }
.cta-banner > i { position: absolute; top: 1.5rem; right: 2rem; }
.cta-banner h2 { position: relative; font-family: var(--font-family-heading); font-size: clamp(2rem, 4vw, 2.5rem); font-weight: 700; margin-bottom: 1rem; }
.cta-banner p { position: relative; max-width: 48rem; margin: 0 auto 2rem; font-size: 1.2rem; }
.cta-banner a { position: relative; display: inline-flex; align-items: center; gap: .75rem; background: white; color: var(--primary-color); padding: 1rem 2rem; border-radius: .75rem; font-weight: 700; transition: transform .3s, box-shadow .3s; }
.cta-banner a:hover { transform: scale(1.05); box-shadow: 0 15px 30px rgba(46, 64, 83, .2); }

.faq-item { background: white; border: 1px solid var(--light-border-color); border-radius: .75rem; box-shadow: 0 6px 16px rgba(46, 64, 83, .06); overflow: hidden; }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; padding: 1.25rem 1.5rem; list-style: none; font-family: var(--font-family-heading); font-size: 1.125rem; font-weight: 700; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary i { color: var(--primary-color); transition: transform .3s; }
.faq-item[open] summary i { transform: rotate(180deg); }
.faq-item p { padding: 0 1.5rem 1.5rem; color: var(--gray-text-color); font-size: 1.05rem; line-height: 1.65; }
.region-link-card { display: flex; align-items: center; gap: 1rem; border: 2px solid var(--light-border-color); border-radius: 1rem; padding: 1.25rem; background: var(--light-background-color); color: var(--dark-text-color); transition: transform .3s, border-color .3s, box-shadow .3s; }
.region-link-card:hover { transform: translateY(-5px); border-color: var(--primary-color); box-shadow: 0 14px 28px rgba(46,64,83,.12); }
.region-link-card > i:first-child { color: var(--primary-color); font-size: 1.25rem; }
.region-link-card > i:last-child { margin-left: auto; color: var(--primary-color); }

.marquee-shell { position: relative; z-index: 20; width: 100%; overflow: hidden; background: #8f2a20; color: white; border-top: 1px solid rgba(244,208,63,.45); border-bottom: 1px solid rgba(244,208,63,.45); box-shadow: 0 10px 28px rgba(46,64,83,.16); }
.marquee-track { display: flex; width: max-content; will-change: transform; }
.marquee-track span { flex: none; padding: .9rem 2.25rem; font-family: var(--font-family-heading); font-size: .8rem; font-weight: 700; letter-spacing: .18em; white-space: nowrap; }
.marquee-track b { color: var(--accent-color); padding: 0 .8rem; }
.italian-phrase-wrap { display: flex; align-items: center; gap: .55rem; width: fit-content; min-height: 2rem; margin-bottom: .8rem; padding: .35rem .8rem; color: rgba(255,255,255,.9); border-left: 2px solid var(--accent-color); background: rgba(46,64,83,.34); backdrop-filter: blur(12px); font-family: var(--font-family-heading); font-size: .86rem; font-weight: 600; letter-spacing: .05em; }
.italian-phrase-wrap i { color: var(--accent-color); }
.italian-phrase-wrap span { opacity: 1; transform: translateY(0); transition: opacity .25s ease, transform .25s ease; }
.italian-phrase-wrap span.phrase-out { opacity: 0; transform: translateY(5px); }
.cta-glow:focus-visible { outline: 3px solid var(--accent-color); outline-offset: 4px; }

@media (prefers-reduced-motion: no-preference) {
  .marquee-track { animation: marquee-scroll 34s linear infinite; }
  .marquee-shell:hover .marquee-track { animation-play-state: paused; }
  .cta-glow { animation: cta-breathe 3s ease-in-out infinite; }
  .motion-ready .reveal-on-scroll { opacity: 0; transform: translateY(20px); transition: opacity .6s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms), transform .6s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms); }
  .motion-ready .reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }
}

@keyframes marquee-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes cta-breathe { 0%,100% { box-shadow: 0 10px 22px rgba(192,57,43,.2), 0 0 0 0 rgba(244,208,63,0); } 50% { box-shadow: 0 14px 30px rgba(192,57,43,.35), 0 0 0 9px rgba(244,208,63,.14); } }

.footer-title { font-family: var(--font-family-heading); font-size: 1.125rem; font-weight: 700; color: var(--accent-color); margin-bottom: 1rem; }
.footer-link { color: #d1d5db; font-size: .875rem; transition: color .3s; }
.footer-link:hover { color: white; }
.footer-social { width: 2.5rem; height: 2.5rem; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.1); transition: background-color .3s, transform .3s; }
.footer-social:hover { background: rgba(255,255,255,.2); transform: scale(1.1); }
.whatsapp-float { position: fixed; bottom: 30px; right: 30px; z-index: 1000; animation: pulse-whatsapp 2s infinite; }
.whatsapp-float a { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; background: linear-gradient(135deg, #25d366, #128c7e); color: white; border-radius: 50%; box-shadow: 0 4px 20px rgba(37,211,102,.4); transition: transform .3s, box-shadow .3s; }
.whatsapp-float a:hover { transform: scale(1.1); box-shadow: 0 6px 30px rgba(37,211,102,.6); }
.whatsapp-float i { font-size: 32px; }

@keyframes pulse-whatsapp { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-18px); } }
@keyframes float-delayed { 0%,100% { transform: translateY(0); } 50% { transform: translateY(16px); } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes fade-in-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.animate-float { animation: float 4s ease-in-out infinite; }
.animate-float-delayed { animation: float-delayed 5s ease-in-out infinite; }
.animate-fade-in { animation: fade-in .7s ease-out both; }
.animate-fade-in-up { animation: fade-in-up .7s ease-out both; }
.animate-fade-in-up-delay { animation: fade-in-up .7s .15s ease-out both; }
.animate-fade-in-up-delay-2 { animation: fade-in-up .7s .3s ease-out both; }
.animate-fade-in-up-delay-3 { animation: fade-in-up .7s .45s ease-out both; }

@media (max-width: 640px) {
  .internal-hero { min-height: 680px; }
  .about-hero { min-height: auto; padding: 7rem 0 4rem; }
  .about-hero-copy h1 { font-size: clamp(2.7rem, 15vw, 4rem); }
  .about-signature-card { position: relative; left: auto; bottom: auto; margin: -1rem auto 0; }
  .whatsapp-float { bottom: 20px; right: 20px; }
  .whatsapp-float a { width: 55px; height: 55px; }
  .whatsapp-float i { font-size: 28px; }
  .marquee-track span { padding: .8rem 1.5rem; font-size: .72rem; letter-spacing: .14em; }
}

@media (max-width: 1024px) {
  .about-hero-grid, .about-story-grid { grid-template-columns: 1fr; }
  .about-portrait-wrap { justify-self: start; }
  .about-pillars-grid, .premium-hero-grid, .premium-card-grid, .contact-showcase-card { grid-template-columns: 1fr; }
  .premium-feature-panel { max-width: 560px; }
  .contact-showcase-card a { width: fit-content; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
