/* RAMCO 2026 PREMIUM EDITORIAL UI
   Visual restraint: fewer pills, quieter surfaces, stronger typography. */
:root{
  --ui-green:#0b4f3f;
  --ui-green-deep:#073d32;
  --ui-red:#951c27;
  --ui-red-dark:#78161f;
  --ui-gold:#b98a35;
  --ui-ivory:#fdf9f1;
  --ui-paper:#fffdf9;
  --ui-soft:#f6f0e6;
  --ui-ink:#173a31;
  --ui-muted:#65716c;
  --ui-line:#e6ddd0;
  --ui-line-strong:#d7cbbb;
  --ui-radius:14px;
  --ui-radius-sm:10px;
  --ui-shadow:0 18px 60px rgba(32,43,37,.075);
}

/* Overall canvas */
html{background:var(--ui-paper)}
body{color:var(--ui-ink);background:var(--ui-paper);font-size:15px;line-height:1.68}
::selection{background:rgba(11,79,63,.16);color:var(--ui-green-deep)}
.wide{width:min(94vw,1840px)!important}

/* Top bar and navigation */
.topline{
  height:30px!important;line-height:30px!important;
  background:var(--ui-green-deep)!important;color:#f6f1e8!important;
  font-size:9px!important;font-weight:700!important;letter-spacing:.085em!important;
  text-transform:uppercase;
}
.nav-shell{
  height:84px!important;background:rgba(255,253,249,.96)!important;
  border-bottom:1px solid var(--ui-line)!important;
  box-shadow:none!important;backdrop-filter:blur(14px);
}
.nav-inner{grid-template-columns:230px 1fr auto!important;gap:34px!important}
.main-nav{gap:30px!important;font-size:12px!important;color:#315a4e!important}
.main-nav a{position:relative;padding:31px 0 27px;transition:color .18s ease}
.main-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:21px;height:1px;background:var(--ui-red);transition:right .2s ease}
.main-nav a:hover,.main-nav a.active{color:var(--ui-red)!important}
.main-nav a:hover:after,.main-nav a.active:after{right:0}
.nav-actions{gap:10px!important}
.language{
  border:0!important;border-radius:0!important;background:transparent!important;
  padding:10px 12px!important;color:var(--ui-green)!important;font-size:11px!important;
  font-weight:700!important;text-decoration:underline;text-decoration-color:#d5c4ad;
  text-underline-offset:5px;cursor:pointer;
}

/* Buttons: refined, not generic pills */
.pill{
  border-radius:var(--ui-radius-sm)!important;
  min-height:46px;padding:12px 18px!important;
  font-size:11px!important;font-weight:750!important;letter-spacing:-.01em!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.pill.red{background:var(--ui-red)!important;color:#fff!important;box-shadow:none!important;border:1px solid var(--ui-red)!important}
.pill.red:hover{background:var(--ui-red-dark)!important;border-color:var(--ui-red-dark)!important;transform:translateY(-1px)}
.pill.outline{background:transparent!important;border:1px solid var(--ui-line-strong)!important;color:var(--ui-green)!important}
.pill.outline:hover{background:#fff!important;border-color:#b9aa97!important;transform:translateY(-1px)}

/* Editorial labels */
.micro,.gold-label,.agent-title,.role{
  color:var(--ui-gold)!important;font-size:9px!important;font-weight:800!important;
  letter-spacing:.17em!important;text-transform:uppercase!important;
}
.micro>span{background:var(--ui-gold)!important;width:34px!important}
.gold-rule{height:15px!important;border-bottom:1px solid var(--ui-line-strong)!important;margin-bottom:14px!important}
.gold-rule i{display:none!important}

/* Display hierarchy */
.hero h1,.page-hero h1{
  color:var(--ui-green)!important;
  font-size:clamp(58px,5.4vw,104px)!important;line-height:.91!important;
  letter-spacing:-.055em!important;font-weight:500!important;
}
.section-heading h2,.page-section-heading h2,.team-heading h2,.contact-section h2,
.miami-story-copy h2,.home-partners h2,.reviews-summary h2,.locations-heading h2{
  color:var(--ui-green)!important;line-height:.98!important;font-weight:500!important;
  letter-spacing:-.05em!important;
}
.hero-lead,.page-lead,.page-section-heading>p:last-child,.section-heading>p:last-child{
  color:var(--ui-muted)!important;line-height:1.75!important;font-size:15px!important;
}

/* Homepage hero: calmer and more editorial */
.hero{background:linear-gradient(112deg,#fffdf8 0%,#fffaf2 60%,#f8f1e6 100%)!important}
.hero-grid{gap:min(7vw,120px)!important;padding-top:80px!important;padding-bottom:78px!important}
.hero-copy{max-width:900px!important}
.hero-actions{margin-top:32px!important;margin-bottom:20px!important}
.hero-response{color:#597067!important;font-size:10px!important;letter-spacing:.01em}
.hero-proof{gap:22px!important;color:#6e766f!important}
.hero-proof span{font-size:8.5px!important;letter-spacing:.11em!important}
.difference-card{
  border-radius:18px!important;border:1px solid var(--ui-line)!important;
  box-shadow:var(--ui-shadow)!important;background:var(--ui-paper)!important;
  transform:none!important;
}
.difference-image{height:285px!important}
.difference-copy{padding:28px 30px 30px!important;min-height:auto!important}
.difference-copy h2{color:var(--ui-red)!important;font-size:37px!important;font-weight:500!important;margin:13px 0 11px!important}
.difference-copy>p:last-child{font-size:11px!important;line-height:1.7!important;color:#6a716d!important}
.rooted,.story-rooted{
  border-radius:6px!important;background:rgba(7,61,50,.91)!important;
  padding:7px 11px!important;font-size:8px!important;letter-spacing:.12em!important;
}
.pause,.story-video-toggle{background:rgba(7,61,50,.92)!important;border-radius:7px!important}
.swoop{opacity:.18!important}

/* Coverage cards: photography first, no floating icon bubbles */
.insurance-section{background:var(--ui-paper)!important}
.section-heading{margin-left:0!important;max-width:790px!important}
.coverage-grid{gap:28px!important}
.coverage-card{
  border:0!important;border-radius:16px!important;background:transparent!important;
  box-shadow:none!important;overflow:visible!important;
}
.coverage-photo{border-radius:16px!important;overflow:hidden!important;box-shadow:0 12px 38px rgba(30,44,37,.07)}
.coverage-photo>span{display:none!important}
.coverage-copy{padding:22px 2px 8px!important}
.coverage-copy h3{font-size:34px!important;line-height:1!important;color:var(--ui-green)!important;font-weight:500!important;margin-bottom:9px!important}
.coverage-copy p{font-size:11px!important;line-height:1.7!important;color:var(--ui-muted)!important;min-height:0!important;max-width:520px}
.coverage-copy a,.page-card a,.story-page-link{font-size:10px!important;color:var(--ui-red)!important;font-weight:800!important;letter-spacing:.01em}
.coverage-copy a:hover,.page-card a:hover,.story-page-link:hover{text-decoration:underline;text-underline-offset:4px}

/* Miami story */
.miami-story-section{background:var(--ui-soft)!important;border-color:var(--ui-line)!important}
.miami-story-grid{gap:min(7vw,110px)!important}
.miami-story-media{border-radius:16px!important;box-shadow:none!important;border:1px solid var(--ui-line)!important}
.miami-story-copy>p:not(.gold-label){font-size:14px!important;line-height:1.8!important;color:var(--ui-muted)!important}
.story-stats{border-top-color:var(--ui-line-strong)!important}
.story-stats strong{color:var(--ui-red)!important;font-weight:500!important}
.story-stats span{color:#777d78!important}

/* Global internal-page UI */
.page-section{background:var(--ui-paper)}
.page-section.soft{background:var(--ui-soft)!important;border-color:var(--ui-line)!important}
.internal-page .page-hero{background:linear-gradient(120deg,#fffdf8,#f9f2e8)!important;border-color:var(--ui-line)!important}
.internal-page .page-visual{border-radius:16px!important;border-color:var(--ui-line)!important}
.page-section-heading{max-width:860px!important}

/* Lists and cards become editorial, not app-like */
.page-card-grid{gap:32px!important}
.page-card,.split-panel,.glossary article,.faq-list details{
  background:transparent!important;box-shadow:none!important;border-radius:0!important;
  border-left:0!important;border-right:0!important;border-bottom:0!important;
  border-top:1px solid var(--ui-line)!important;
}
.page-card{padding:28px 0!important}
.page-card h3,.split-panel h3,.glossary h3{color:var(--ui-green)!important;font-weight:500!important}
.page-card p,.split-panel p,.glossary p,.faq-list details p{color:var(--ui-muted)!important}
.page-card-icon{display:none!important}
.faq-list summary{color:var(--ui-green)!important;font-size:23px!important;font-weight:500!important}

/* Photo-led insurance cards */
.insurance-photo-card{border-radius:16px!important;box-shadow:none!important;border:1px solid var(--ui-line)!important}
.insurance-photo-card:after{background:linear-gradient(180deg,rgba(4,30,25,.03) 16%,rgba(4,30,25,.82) 100%)!important}
.insurance-photo-card .coverage-links a{
  border-radius:7px!important;background:rgba(255,253,249,.94)!important;
  border:1px solid rgba(255,255,255,.55)!important;padding:8px 10px!important;
}
.insurance-photo-card .coverage-links a:hover{background:#fff!important;color:var(--ui-red)!important}

/* Forms and service controls */
.quote-form,.service-picker,.office-card,.producer-card,.location-card{
  border-radius:16px!important;border:1px solid var(--ui-line)!important;
  box-shadow:none!important;background:#fff!important;
}
.quote-field label,.service-picker label{color:#426156!important;font-size:8.5px!important;letter-spacing:.12em!important}
.quote-field input,.quote-field select,.service-picker input,.service-picker select{
  min-height:49px!important;border-radius:8px!important;border-color:var(--ui-line-strong)!important;
  background:#fffdf9!important;font-size:12px!important;color:var(--ui-ink)!important;
}
.quote-field input:focus,.quote-field select:focus,.service-picker input:focus,.service-picker select:focus{
  border-color:#a98b5a!important;box-shadow:0 0 0 3px rgba(185,138,53,.11)!important;
}
.quote-aside{border-radius:16px!important;background:var(--ui-green-deep)!important}

/* Tags and chips: less bubbly */
.coverage-tags{gap:6px!important}
.coverage-tags span,.coverage-links a,.partner-rail span,.home-partner-rail span{
  border-radius:6px!important;
}
.coverage-tags span{background:transparent!important;border-color:var(--ui-line-strong)!important;padding:5px 8px!important}

/* People cards */
.agent-card,.producer-card{border-radius:16px!important;border-color:var(--ui-line)!important;box-shadow:none!important;background:#fff!important}
.agent-info h3,.producer-card h3{color:var(--ui-green)!important;font-weight:500!important}
.agent-role{color:var(--ui-red)!important}
.agent-contact{border-color:var(--ui-line)!important}
.agent-tagline,.spanish-note{font-family:var(--ramco-display)!important;color:#416e60!important}

/* Footer */
footer,.page-footer{background:#0d3028!important;color:#dbe5e0!important}
.footer-inner{padding-top:5px;padding-bottom:5px}

/* Interaction polish */
a,button{transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid rgba(185,138,53,.65);outline-offset:3px}

@media(max-width:1180px){
  .nav-inner{grid-template-columns:210px 1fr auto!important}
  .main-nav{gap:20px!important}
}
@media(max-width:760px){
  .topline{height:27px!important;line-height:27px!important;font-size:7.5px!important;letter-spacing:.055em!important}
  .nav-shell{height:70px!important}
  .nav-inner{grid-template-columns:1fr auto!important}
  .hero h1,.page-hero h1{font-size:clamp(50px,14vw,68px)!important;line-height:.94!important}
  .hero-grid{padding-top:54px!important;padding-bottom:58px!important}
  .difference-image{height:240px!important}
  .coverage-grid{gap:42px!important}
  .coverage-copy h3{font-size:31px!important}
  .pill{min-height:44px!important;padding:11px 15px!important}
}
