/* build v2 — 2026-08-29T06:57:43.340Z — single-line nav */
/* Coconut Grove Inc. — site styles */
:root { --dark:#333333; --panel:#3b3b3b; --green:#8cba51; --btn:#8dc63f; --text:#b0b9bd; --bright:#dfe4e6; --footer:#e3ebd2; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--dark); color:var(--text); font-family:Mulish, Helvetica, Arial, sans-serif; font-size:14px; line-height:1.62; }
img { max-width:100%; }
a { color:var(--green); text-decoration:none; }
a:hover { color:#a6cf6e; }
h1, h2, h3 { font-family:Bitter, Georgia, serif; font-weight:400; }

.site-header { background:#fff; border-bottom:1px solid #b6d18a; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:clamp(12px, 2vw, 40px); min-height:62px; padding:0 clamp(14px, 2.4vw, 34px); }
.logo { display:block; flex:0 0 auto; }
.logo img { display:block; width:clamp(168px, 17vw, 241px); height:auto; }
.site-nav { flex:1 1 auto; min-width:0; overflow-x:auto; display:flex; align-items:flex-end; justify-content:flex-end; flex-wrap:nowrap; column-gap:clamp(6px, 0.85vw, 20px); padding:18px 0 0; scrollbar-width:none; -ms-overflow-style:none; }
.site-nav::-webkit-scrollbar { display:none; }
.site-nav a { font-size:clamp(9.5px, 0.92vw, 13.5px); letter-spacing:0.1px; color:#7d97a4; padding:6px 0 12px; border-bottom:3px solid transparent; white-space:nowrap; flex:0 0 auto; }
.site-nav a:hover { color:#333; }
.site-nav a.active { color:#333; border-bottom-color:#2b2b2b; }

.content { max-width:1030px; margin:0 auto; padding:34px 24px 80px; }
.content p { text-wrap:pretty; }

.site-footer { background:var(--footer); padding:40px 0 46px; }
.footer-inner { max-width:1030px; margin:0 auto; padding:0 24px; display:flex; flex-direction:column; align-items:center; gap:16px; }
.socials { display:flex; gap:12px; }
.socials a { width:34px; height:34px; border-radius:50%; background:#9a9a9a; display:flex; align-items:center; justify-content:center; color:#e3ebd2; }
.socials a:hover { background:#7d7d7d; }
.socials a.in { font-size:13px; font-weight:700; letter-spacing:-0.3px; }
.legal { margin:0; font-size:12px; color:#5c6653; text-align:center; }
.legal a { color:#4a5541; }

.floating-quote { position:fixed; right:26px; bottom:96px; z-index:50; background:var(--btn); color:#2f3a1c; padding:13px 20px; font-size:14px; font-weight:700; box-shadow:0 10px 26px rgba(0,0,0,0.35); }
.floating-quote:hover { background:#9dd352; color:#2f3a1c; }

/* Quote form */
.quote-page { max-width:760px; }
.quote-page h1 { font-size:25px; color:var(--green); margin:0 0 12px; }
.lede { margin:0 0 34px; max-width:620px; }
.quote-form { background:var(--panel); padding:32px 34px 36px; }
.form-head { margin:0 0 14px; color:var(--bright); }
.chips { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:30px; }
.chips label { cursor:pointer; }
.chips input { position:absolute; opacity:0; width:0; height:0; }
.chips span { display:inline-block; font-size:13px; padding:9px 16px; border:1px solid #565f58; color:var(--text); }
.chips input:checked + span { background:var(--btn); border-color:var(--btn); color:#2f3a1c; }
.chips input:focus-visible + span { outline:2px solid #a9cf7d; outline-offset:2px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.fl { display:block; font-size:13px; color:var(--bright); margin-bottom:7px; }
.opt { color:#8b9498; }
.quote-form input[type=text], .quote-form input[type=email], .quote-form input[type=tel], .quote-form textarea, .quote-form select {
  width:100%; background:#2f2f2f; border:1px solid #565f58; color:#e4e8e6; font-size:14px; padding:12px 13px; font-family:inherit; }
.quote-form textarea { height:92px; resize:vertical; margin-bottom:20px; }
.quote-form select { max-width:380px; margin-bottom:22px; }
.quote-form ::placeholder { color:#8b9498; }
.dropzone { display:block; border:1px dashed #6c756f; padding:22px; text-align:center; cursor:pointer; font-size:13px; color:#a9b2b6; margin-bottom:8px; }
.dropzone input { display:none; }
.filelist { margin:0 0 20px; font-size:13px; color:#a9cf7d; min-height:0; }
.hp { position:absolute; left:-9999px; }
.form-foot { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.fine { margin:0; font-size:12px; color:#8b9498; }
.quote-form button { background:var(--btn); color:#2f3a1c; font-size:14px; font-weight:700; padding:13px 26px; border:none; cursor:pointer; font-family:inherit; }
.quote-form button:hover { background:#9dd352; }

.gallery-thumbs img { cursor:pointer; }
.gallery-thumbs img:hover { opacity:0.75; }

/* Responsive: collapse the fixed two-column layouts carried in inline styles */
@media (max-width: 900px) {
  .content div[style*="grid-template-columns:612px"],
  .content div[style*="grid-template-columns:1fr 300px"],
  .content div[style*="grid-template-columns:322px 1fr"],
  .content div[style*="grid-template-columns:repeat(4, 1fr)"] { grid-template-columns:1fr !important; }
  .content img[style*="height:430px"] { height:auto !important; }
  .grid2 { grid-template-columns:1fr; }
  .floating-quote { right:14px; bottom:88px; }
}
