/* RAMCO premium mobile navigation + responsive refinement */
:root{
  --mobile-cream:#fffaf1;
  --mobile-paper:#fffdf9;
  --mobile-green:#063f32;
  --mobile-red:#94131b;
  --mobile-gold:#b4873d;
  --mobile-line:#e6dccf;
}

.ramco-menu-button,.ramco-mobile-backdrop,.ramco-mobile-drawer{display:none}

@media(max-width:860px){
  body.ramco-menu-open{overflow:hidden}

  .topline{height:auto!important;min-height:26px!important;padding:6px 14px!important;line-height:1.35!important;font-size:8px!important;letter-spacing:.045em!important}
  .nav-shell{height:70px!important;background:rgba(255,253,249,.97)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .nav-inner{grid-template-columns:minmax(0,1fr) auto!important;gap:14px!important}
  .main-nav,.nav-actions{display:none!important}
  .mini-brand{min-width:0!important}
  .mini-brand>img.ramco-official-logo{width:min(190px,57vw)!important;height:48px!important;object-fit:contain!important;object-position:left center!important}

  .ramco-menu-button{display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(6,63,50,.13);background:rgba(255,255,255,.75);border-radius:12px;padding:0;cursor:pointer;color:var(--mobile-green);box-shadow:none}
  .ramco-menu-button-lines{display:grid;gap:5px;width:18px}
  .ramco-menu-button-lines i{display:block;height:1.5px;background:currentColor;border-radius:2px;transition:transform .2s ease,width .2s ease}
  .ramco-menu-button-lines i:nth-child(2){width:13px;justify-self:end}
  .ramco-menu-button:hover .ramco-menu-button-lines i:nth-child(2){width:18px}

  .ramco-mobile-backdrop{display:block;position:fixed;inset:0;z-index:89;background:rgba(4,29,23,.36);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  .ramco-mobile-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}

  .ramco-mobile-drawer{display:flex;position:fixed;z-index:90;top:0;right:0;width:min(430px,92vw);height:100dvh;background:var(--mobile-paper);border-left:1px solid var(--mobile-line);transform:translateX(102%);transition:transform .3s cubic-bezier(.2,.78,.2,1);flex-direction:column;overflow:auto;box-shadow:-24px 0 70px rgba(4,30,23,.13)}
  .ramco-mobile-drawer.open{transform:translateX(0)}
  .ramco-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid var(--mobile-line)}
  .ramco-mobile-logo{display:block;width:min(220px,62vw);height:50px;object-fit:contain;object-position:left center}
  .ramco-mobile-close{width:42px;height:42px;border:0;background:transparent;color:var(--mobile-green);font-size:30px;font-weight:300;line-height:1;cursor:pointer;border-radius:50%}
  .ramco-mobile-close:hover{background:#f4ecdf}

  .ramco-mobile-kicker{padding:25px 24px 7px;color:var(--mobile-gold);font-family:var(--ramco-sans,'Manrope',sans-serif);font-size:8px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
  .ramco-mobile-links{display:grid;padding:4px 24px 12px}
  .ramco-mobile-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 0;border-bottom:1px solid var(--mobile-line);font-family:var(--ramco-display,'Newsreader',serif);font-size:clamp(31px,9vw,42px);font-weight:520;line-height:.96;letter-spacing:-.035em;color:var(--mobile-green)}
  .ramco-mobile-links a:after{content:'→';font-family:var(--ramco-sans,'Manrope',sans-serif);font-size:16px;font-weight:400;color:#a29282;transition:transform .18s ease,color .18s ease}
  .ramco-mobile-links a:hover:after{transform:translateX(4px);color:var(--mobile-red)}
  .ramco-mobile-links a.active{color:var(--mobile-red)}

  .ramco-mobile-actions{display:grid;gap:10px;padding:20px 24px 18px}
  .ramco-mobile-quote{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-radius:10px;background:var(--mobile-red);color:#fff;font-family:var(--ramco-sans,'Manrope',sans-serif);font-size:11px;font-weight:750;letter-spacing:.01em}
  .ramco-mobile-language{display:flex;align-items:center;justify-content:space-between;padding:13px 2px;border:0;border-bottom:1px solid var(--mobile-line);background:transparent;color:var(--mobile-green);font-family:var(--ramco-sans,'Manrope',sans-serif);font-size:10px;font-weight:700;cursor:pointer}
  .ramco-mobile-language:after{content:'↔';color:var(--mobile-gold);font-size:15px}

  .ramco-mobile-meta{margin-top:auto;padding:18px 24px 26px;border-top:1px solid var(--mobile-line);display:grid;gap:12px;background:#fbf6ee}
  .ramco-mobile-meta small{font-family:var(--ramco-sans,'Manrope',sans-serif);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mobile-gold)}
  .ramco-mobile-meta a{font-family:var(--ramco-display,'Newsreader',serif);font-size:25px;letter-spacing:-.025em;color:var(--mobile-green)}
  .ramco-mobile-meta p{margin:0;font-family:var(--ramco-sans,'Manrope',sans-serif);font-size:10px;line-height:1.6;color:#6c736e}

  /* Responsive editorial refinement */
  .wide{width:90vw!important}
  .hero-grid{padding-top:48px!important;padding-bottom:58px!important;gap:34px!important}
  .hero h1{font-size:clamp(49px,14vw,66px)!important;line-height:.94!important;letter-spacing:-.045em!important;margin-bottom:20px!important}
  .hero-lead{font-size:14px!important;line-height:1.72!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:24px!important}
  .hero-actions .pill{width:100%!important;max-width:420px!important;justify-content:space-between!important}
  .hero-response{max-width:390px!important}
  .hero-proof{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding-top:16px!important}
  .difference-card{margin-top:4px!important;border-radius:16px!important}
  .difference-image{height:240px!important;min-height:240px!important}
  .difference-copy{padding:20px!important}
  .difference-copy h2{font-size:33px!important}
  .rooted,.story-rooted{font-size:7px!important;padding:7px 10px!important}

  .insurance-section{padding:78px 0 86px!important}
  .section-heading,.page-section-heading{margin-bottom:36px!important}
  .section-heading h2,.page-section-heading h2{font-size:clamp(40px,11.5vw,54px)!important;line-height:.98!important}
  .coverage-grid{grid-template-columns:1fr!important;gap:34px!important}
  .coverage-card{min-height:auto!important}
  .coverage-photo{height:260px!important;min-height:260px!important;border-radius:14px!important}
  .coverage-copy{padding-top:19px!important}
  .coverage-copy h3{font-size:35px!important}

  .miami-story-section{padding:84px 0!important}
  .miami-story-media{min-height:330px!important;border-radius:15px!important}
  .miami-story-copy h2{font-size:clamp(43px,12vw,58px)!important}
  .story-stats{gap:10px!important}
  .story-stats strong{font-size:30px!important}

  .contact-section{padding:72px 0!important}
  .contact-grid{gap:30px!important}
  .contact-section h2{font-size:clamp(42px,11vw,55px)!important}
  .quick-response-card{border-radius:14px!important}

  .page-hero-grid{padding:48px 0!important;gap:30px!important}
  .page-hero h1{font-size:clamp(48px,13vw,64px)!important;line-height:.95!important}
  .page-visual{height:300px!important;border-radius:15px!important}
  .page-section{padding-top:74px!important;padding-bottom:74px!important}
  .page-card-grid.cols-2,.page-card-grid.cols-3,.page-card-grid.cols-4,.split-grid,.office-grid-page,.glossary,.producer-grid{grid-template-columns:1fr!important}
  .page-cta-inner{grid-template-columns:1fr!important;gap:26px!important}
  .page-cta h2{font-size:44px!important}
  .page-actions{display:grid!important;grid-template-columns:1fr!important}
  .page-actions .pill{width:100%!important;justify-content:space-between!important}

  .quote-form,.service-picker,.quote-aside{padding:22px!important;border-radius:14px!important}
  .quote-grid,.commercial-fields{grid-template-columns:1fr!important}
  .quote-submit{display:grid!important;grid-template-columns:1fr!important}
  .quote-submit .pill{width:100%!important}
  .service-picker select,.service-picker input[type='search'],.quote-field input,.quote-field select{min-height:50px!important}

  footer{padding:26px 0!important}
  .footer-inner{grid-template-columns:1fr!important;gap:12px!important}
}

@media(prefers-reduced-motion:reduce){
  .ramco-mobile-drawer,.ramco-mobile-backdrop,.ramco-menu-button-lines i{transition:none!important}
}
