/* RAMCO FINAL FINISH — restrained footer, scroll rhythm and micro interaction */
:root{
  --finish-green:#073f34;
  --finish-green-deep:#092e27;
  --finish-cream:#fbf7ef;
  --finish-gold:#bd9140;
  --finish-line:rgba(255,255,255,.14);
}

/* Header becomes slightly more compact once the visitor starts moving */
.nav-shell{transition:height .28s ease,background-color .28s ease,border-color .28s ease,box-shadow .28s ease,backdrop-filter .28s ease}
.nav-shell.ramco-scrolled{height:68px!important;background:rgba(255,253,248,.94)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:rgba(19,61,52,.10)!important;box-shadow:0 10px 30px rgba(19,61,52,.045)!important}
.nav-shell.ramco-scrolled .ramco-official-logo{transform:scale(.94);transform-origin:left center}
.ramco-official-logo{transition:transform .28s ease}

/* The footer carries hours/contact context, so the old top information strip is intentionally removed. */
.topline{display:none!important}

/* Calm page entrance and section reveal */
html.ramco-ready body{opacity:1}
body{opacity:.985;transition:opacity .28s ease}
.ramco-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.72,.25,1),transform .7s cubic-bezier(.2,.72,.25,1);transition-delay:var(--reveal-delay,0ms)}
.ramco-reveal.ramco-visible{opacity:1;transform:none}

/* Photography should feel tactile, not animated */
.coverage-photo,.insurance-photo-bg,.page-visual,.difference-image,.miami-story-media,.agent-photo{overflow:hidden}
.coverage-photo,.insurance-photo-bg,.page-visual,.difference-image video,.miami-story-media video,.agent-photo img{transition:transform .55s cubic-bezier(.2,.72,.25,1),filter .55s ease}
@media(hover:hover){
  .coverage-card:hover .coverage-photo{transform:scale(1.018)}
  .insurance-photo-card:hover .insurance-photo-bg{transform:scale(1.018)}
  .difference-card:hover .difference-image video,.miami-story-media:hover video{transform:scale(1.012)}
  .agent-card:hover .agent-photo img,.producer-card:hover img{transform:scale(1.012)}
}

/* Editorial inline links */
.coverage-copy a,.page-card a,.story-page-link,.producer-links a,.location-actions a:not(.pill){position:relative;text-decoration:none}
.coverage-copy a:after,.page-card a:after,.story-page-link:after,.producer-links a:after{content:'';position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .24s ease}
.coverage-copy a:hover:after,.page-card a:hover:after,.story-page-link:hover:after,.producer-links a:hover:after{transform:scaleX(1);transform-origin:left}

/* Replace the old thin footer with a real RAMCO ending */
footer.ramco-footer-enhanced{background:linear-gradient(140deg,var(--finish-green-deep),var(--finish-green));color:#f5f2e9;padding:0!important;font-family:var(--ramco-sans,'Manrope',sans-serif);border-top:1px solid rgba(255,255,255,.08)}
.ramco-footer-main{padding:74px 0 58px}
.ramco-footer-grid{display:grid;grid-template-columns:minmax(280px,1.25fr) .65fr .65fr .95fr;gap:clamp(36px,5vw,84px);align-items:start}
.ramco-footer-brand{max-width:400px}
.ramco-footer-logo-wrap{display:inline-flex;background:#fffdf8;padding:9px 12px;border-radius:10px;margin-bottom:24px}
.ramco-footer-logo{display:block;width:min(250px,62vw);height:auto}
.ramco-footer-brand>p{margin:0 0 24px;color:rgba(245,242,233,.72);font-size:12px;line-height:1.75;max-width:350px}
.ramco-footer-phone{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:700;font-size:13px;letter-spacing:-.01em}
.ramco-footer-phone span{color:#dfb65b;font-size:15px}
.ramco-footer-column>small{display:block;color:#d7ad55;font-size:8px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:4px 0 18px}
.ramco-footer-column nav{display:grid;gap:12px}
.ramco-footer-column nav a{width:max-content;max-width:100%;color:rgba(245,242,233,.78);font-size:11px;line-height:1.5;transition:color .2s ease,transform .2s ease}
.ramco-footer-column nav a:hover{color:#fff;transform:translateX(2px)}
.ramco-footer-office{padding-bottom:14px;margin-bottom:15px;border-bottom:1px solid var(--finish-line)}
.ramco-footer-office:last-of-type{margin-bottom:12px}
.ramco-footer-office strong{display:block;font-family:var(--ramco-display,'Newsreader',serif);font-size:18px;font-weight:500;color:#fff;margin-bottom:3px}
.ramco-footer-office span{display:block;color:rgba(245,242,233,.67);font-size:10px;line-height:1.55}
.ramco-footer-hours{color:#f0c75e;font-size:10px;line-height:1.65;margin-top:15px;font-weight:700}
.ramco-footer-bottom{border-top:1px solid var(--finish-line)}
.ramco-footer-bottom-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:28px;color:rgba(245,242,233,.53);font-size:8.5px;line-height:1.55;letter-spacing:.015em}
.ramco-footer-bottom-inner span:last-child{max-width:780px;text-align:right}

/* Give the final CTA a graceful handoff into footer */
main>section:last-of-type{position:relative}
main>section:last-of-type:after{content:'';position:absolute;left:50%;bottom:0;width:min(92vw,2400px);height:1px;transform:translateX(-50%);background:rgba(20,78,61,.08)}

@media(max-width:1050px){
  .ramco-footer-grid{grid-template-columns:1.3fr .7fr .7fr;gap:42px}
  .ramco-footer-column.ramco-footer-service{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 50px;padding-top:18px;border-top:1px solid var(--finish-line)}
  .ramco-footer-service>small,.ramco-footer-hours{grid-column:1/-1}
}

@media(max-width:760px){
  .nav-shell.ramco-scrolled{height:66px!important}
  .ramco-footer-main{padding:54px 0 38px}
  .ramco-footer-grid{grid-template-columns:1fr;gap:36px}
  .ramco-footer-brand{max-width:none}
  .ramco-footer-column{padding-top:24px;border-top:1px solid var(--finish-line)}
  .ramco-footer-column.ramco-footer-service{grid-column:auto;display:block;padding-top:24px}
  .ramco-footer-office{padding-bottom:15px;margin-bottom:15px}
  .ramco-footer-bottom-inner{min-height:0;padding:24px 0 30px;display:grid;gap:8px}
  .ramco-footer-bottom-inner span:last-child{text-align:left}
  .ramco-reveal{transform:translateY(12px)}
}

@media(prefers-reduced-motion:reduce){
  body,.nav-shell,.ramco-official-logo,.ramco-reveal,.coverage-photo,.insurance-photo-bg,.page-visual,.difference-image video,.miami-story-media video,.agent-photo img,.producer-card img{transition:none!important;animation:none!important}
  .ramco-reveal{opacity:1!important;transform:none!important}
}


/* RAMCO MARKETING REFRESH 2026-08-14 */
#home .home-talk-section{background:#fff;color:#173f36;padding:clamp(70px,8vw,120px) 0;border-top:1px solid rgba(7,80,61,.10)}
#home .home-talk-inner{max-width:860px;text-align:center;margin:0 auto;padding:clamp(34px,5vw,64px);border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(23,63,54,.10);border:1px solid rgba(7,80,61,.10)}
#home .home-talk-inner h2{margin:10px auto 12px;max-width:680px}
#home .home-talk-inner>p:not(.gold-label){max-width:650px;margin:0 auto 26px;color:#52635f}
#home .home-talk-inner .pill{display:inline-flex}
.ramco-footer-logo-wrap{background:#fff;padding:10px 14px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.10);display:inline-flex;align-items:center;justify-content:center}
.ramco-footer-logo{display:block}
.about-legacy-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:30px;padding-top:22px;border-top:1px solid rgba(201,165,91,.36)}
.about-legacy-facts span{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#07503d}
@media(max-width:640px){#home .home-talk-inner{text-align:left;padding:30px 24px}.about-legacy-facts{gap:10px 14px}.about-legacy-facts span{font-size:.7rem}}
