/* ============================================ FIRENZE TURISMO — token system Cor: #6B2437 vinho | #C9A227 ouro | #2F4536 verde-vinhedo #F6F0E4 creme | #241B1D carvão | #FFFFFF branco Tipo: Fraunces (display) + Jost (corpo/UI) ============================================ */ :root{ --vinho: #6B2437; --vinho-escuro: #4A1826; --ouro: #C9A227; --ouro-claro: #E4C868; --verde: #2F4536; --creme: #F6F0E4; --carvao: #241B1D; --branco: #FFFFFF; --texto: #3A2F30; --font-display: 'Fraunces', serif; --font-body: 'Jost', sans-serif; } *{ box-sizing: border-box; } html{ scroll-behavior: smooth; } body{ font-family: var(--font-body); color: var(--texto); background: var(--branco); font-weight: 400; overflow-x: hidden; } h1, h2, h3, h4{ font-family: var(--font-display); color: var(--vinho-escuro); font-weight: 600; } a{ text-decoration: none; } ::selection{ background: var(--ouro-claro); color: var(--carvao); } /* ===== NAVBAR ===== */ #mainNav{ padding: 18px 0; background: rgba(246, 240, 228, 0.0); transition: all .35s ease; } #mainNav.scrolled{ background: rgba(246, 240, 228, 0.94); backdrop-filter: blur(8px); padding: 10px 0; box-shadow: 0 4px 24px rgba(36,27,29,.08); } .brand-mark{ font-family: var(--font-display); font-size: 1.55rem; font-weight: 600; color: var(--branco); transition: color .35s ease; } #mainNav.scrolled .brand-mark{ color: var(--vinho); } .brand-sub{ font-size: .62rem; letter-spacing: .3em; font-weight: 500; color: var(--ouro-claro); display: block; margin-top: -4px; margin-left: 2px; } #mainNav .nav-link{ color: var(--branco); font-weight: 500; font-size: .93rem; padding: .5rem .9rem; transition: color .3s ease; } #mainNav.scrolled .nav-link{ color: var(--texto); } #mainNav .nav-link:hover{ color: var(--ouro-claro); } #mainNav.scrolled .nav-link:hover{ color: var(--vinho); } .btn-cta{ background: var(--ouro); color: var(--carvao) !important; border: none; font-weight: 600; padding: .65rem 1.4rem; border-radius: 2px; transition: all .3s ease; letter-spacing: .01em; } .btn-cta:hover{ background: var(--ouro-claro); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(201,162,39,.35); } .btn-outline-cta{ border: 1.5px solid var(--branco); color: var(--branco); font-weight: 600; padding: .65rem 1.4rem; border-radius: 2px; transition: all .3s ease; } .btn-outline-cta:hover{ background: var(--branco); color: var(--vinho); } /* ===== HERO ===== */ .hero{ position: relative; min-height: 100vh; background: linear-gradient(180deg, rgba(36,20,26,.55) 0%, rgba(36,20,26,.75) 100%), url('https://images.unsplash.com/photo-1543363136-336e2b3f8b5d?q=80&w=1920&auto=format&fit=crop') center/cover no-repeat; } .hero-overlay{ position: absolute; inset: 0; background: radial-gradient(ellipse at 20% 30%, rgba(107,36,55,.35), transparent 55%); } .eyebrow{ font-family: var(--font-body); text-transform: uppercase; letter-spacing: .18em; font-size: .78rem; font-weight: 600; color: var(--ouro-claro); margin-bottom: 1.1rem; } section .eyebrow{ color: var(--vinho); } .hero-title{ color: var(--branco); font-size: clamp(2.4rem, 5.2vw, 4.1rem); line-height: 1.08; margin-bottom: 1.4rem; } .hero-lead{ color: rgba(255,255,255,.88); font-size: 1.15rem; max-width: 560px; line-height: 1.65; } .hero-scroll{ position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.75); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; } .hero-scroll span{ width: 1px; height: 34px; background: rgba(255,255,255,.5); display: block; animation: scrollPulse 1.8s ease-in-out infinite; } @keyframes scrollPulse{ 0%,100%{ opacity: .3; } 50%{ opacity: 1; } } /* ===== TRUST STRIP ===== */ .trust-strip{ background: var(--carvao); padding: 2.4rem 0; } .trust-num{ font-family: var(--font-display); color: var(--ouro-claro); font-size: 2.1rem; font-weight: 600; } .trust-label{ color: rgba(255,255,255,.75); font-size: .82rem; letter-spacing: .03em; max-width: 160px; margin: 0 auto; } /* ===== SECTION GENERIC ===== */ .section-pad{ padding: 6.5rem 0; } .bg-cream{ background: var(--creme); } .section-title{ font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.2; margin-bottom: 1.2rem; } .section-text{ color: #5C4E50; font-size: 1.02rem; line-height: 1.75; } /* ===== ABOUT ===== */ .about-list li{ display: flex; align-items: flex-start; gap: .7rem; margin-bottom: .8rem; color: var(--texto); font-weight: 500; font-size: .95rem; } .about-list i{ color: var(--vinho); font-size: 1.05rem; margin-top: .1rem; } .ratio-card{ display: grid; grid-template-columns: 1fr 1fr; border-radius: 4px; overflow: hidden; } .ratio-card-inner{ background: var(--vinho); color: var(--branco); padding: 2.6rem 1.8rem; min-height: 320px; display: flex; flex-direction: column; justify-content: center; gap: .8rem; } .ratio-card-inner i{ color: var(--ouro-claro); } .ratio-card-inner h3{ color: var(--branco); font-size: 1.5rem; margin: 0; } .ratio-card-inner p{ font-size: .92rem; line-height: 1.6; color: rgba(255,255,255,.85); margin: 0; } .ratio-card-inner.alt{ background: var(--verde); } /* ===== SERVICES ===== */ .service-card{ background: var(--branco); border: 1px solid rgba(107,36,55,.1); border-radius: 4px; padding: 2rem 1.6rem; height: 100%; transition: all .3s ease; } .service-card:hover{ transform: translateY(-6px); box-shadow: 0 16px 32px rgba(36,27,29,.1); border-color: transparent; } .service-icon{ width: 52px; height: 52px; border-radius: 50%; background: var(--creme); color: var(--vinho); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 1.1rem; } .service-card h3{ font-size: 1.15rem; margin-bottom: .6rem; } .service-card p{ font-size: .92rem; color: #6B5C5E; line-height: 1.6; margin: 0; } /* ===== DESTINOS ===== */ .dest-card{ background: var(--branco); border-left: 3px solid var(--ouro); padding: 1.9rem 1.7rem; height: 100%; box-shadow: 0 6px 24px rgba(36,27,29,.06); border-radius: 0 4px 4px 0; transition: box-shadow .3s ease; } .dest-card:hover{ box-shadow: 0 14px 32px rgba(36,27,29,.12); } .dest-tag{ display: inline-block; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: var(--vinho); font-weight: 600; background: var(--creme); padding: .25rem .65rem; border-radius: 20px; margin-bottom: .9rem; } .dest-card h3{ font-size: 1.2rem; margin-bottom: .6rem; } .dest-card p{ font-size: .92rem; color: #6B5C5E; line-height: 1.6; } .dest-days{ display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--verde); font-weight: 500; margin-top: .9rem; } /* ===== NUMBERS / DIFFERENTIALS ===== */ .numbers-section{ background: var(--branco); } .diff-card{ padding: 1.6rem; height: 100%; border-radius: 4px; background: var(--creme); } .diff-card i{ color: var(--vinho); font-size: 1.5rem; margin-bottom: .7rem; display: block; } .diff-card h4{ font-size: 1.05rem; margin-bottom: .5rem; } .diff-card p{ font-size: .88rem; color: #6B5C5E; line-height: 1.55; margin: 0; } /* ===== QUOTES ===== */ .quote-card{ background: var(--branco); padding: 2.2rem 1.8rem; border-radius: 4px; height: 100%; box-shadow: 0 6px 22px rgba(36,27,29,.06); } .quote-card i{ color: var(--ouro); font-size: 1.8rem; } .quote-card p{ font-family: var(--font-display); font-style: italic; font-size: 1.02rem; line-height: 1.6; color: var(--texto); margin: .8rem 0 1.2rem; } .quote-author{ font-size: .82rem; color: var(--vinho); font-weight: 600; letter-spacing: .02em; } /* ===== CONTACT ===== */ .contact-section{ background: var(--carvao); } .contact-section .eyebrow{ color: var(--ouro-claro); } .contact-section .section-title{ color: var(--branco); } .contact-section .section-text{ color: rgba(255,255,255,.72); } .contact-list li{ display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; } .contact-list i{ color: var(--ouro); font-size: 1.2rem; margin-top: .2rem; width: 24px; } .contact-list strong{ display: block; color: var(--branco); font-size: .9rem; margin-bottom: .15rem; } .contact-list span{ color: rgba(255,255,255,.7); font-size: .92rem; line-height: 1.5; } .contact-form-card{ background: var(--branco); border-radius: 6px; padding: 2.2rem; } .contact-form-card .form-label{ font-size: .85rem; font-weight: 500; color: var(--texto); } .contact-form-card .form-control{ border: 1px solid rgba(107,36,55,.2); border-radius: 3px; padding: .65rem .9rem; font-family: var(--font-body); } .contact-form-card .form-control:focus{ border-color: var(--vinho); box-shadow: 0 0 0 .2rem rgba(107,36,55,.12); } /* ===== FOOTER ===== */ .site-footer{ background: var(--vinho-escuro); color: rgba(255,255,255,.75); padding: 4rem 0 2rem; } .footer-brand .brand-mark{ color: var(--branco); } .footer-text{ font-size: .88rem; line-height: 1.6; margin-top: 1rem; color: rgba(255,255,255,.65); } .site-footer h5{ font-family: var(--font-body); color: var(--ouro-claro); font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 1.1rem; } .footer-links li{ font-size: .86rem; margin-bottom: .6rem; color: rgba(255,255,255,.7); } .footer-links i{ color: var(--ouro); margin-right: 6px; } .site-footer hr{ border-color: rgba(255,255,255,.15); margin: 2.5rem 0 1.5rem; } .footer-copy{ font-size: .8rem; color: rgba(255,255,255,.5); } /* ===== WHATSAPP FAB ===== */ .whatsapp-fab{ position: fixed; bottom: 26px; right: 26px; width: 58px; height: 58px; background: var(--verde); color: var(--branco); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; box-shadow: 0 10px 26px rgba(47,69,54,.4); z-index: 999; transition: transform .3s ease; } .whatsapp-fab:hover{ transform: scale(1.08); color: var(--branco); } /* ===== RESPONSIVE ===== */ @media (max-width: 991.98px){ #mainNav{ background: rgba(36,20,26,.92); } .brand-mark, #mainNav .nav-link{ color: var(--branco) !important; } .ratio-card{ grid-template-columns: 1fr; } .section-pad{ padding: 4.2rem 0; } } @media (prefers-reduced-motion: reduce){ html{ scroll-behavior: auto; } .hero-scroll span{ animation: none; } }