/* Public website pages only (home, feature pages, pricing, free resources). The CRM does not load this file. */
.site-body{font-size:15px; line-height:1.65;}
.site-wide{max-width:1040px;}
.site-body .land-section h2{font-size:21px;}
.site-body .land-section p{margin:0 0 12px;}
.site-body .land-card h3 a{color:var(--navy);}
.site-body .land-card h3 a:hover{color:var(--teal);}
.site-lead{font-size:16px; max-width:820px;}
.site-more{font-size:14px; font-weight:600;}

/* Header navigation */
.site-nav{display:flex; align-items:center; gap:4px; flex-wrap:wrap; justify-content:flex-end;}
.site-nav a{color:rgba(255,255,255,.86); font-size:13px; font-weight:500; padding:7px 10px; border-radius:8px;}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:#fff; background:rgba(255,255,255,.12);}
.site-nav .land-login{margin-left:6px; color:#fff;}
@media (max-width:760px){
  .legal-top .land-nav{flex-wrap:wrap; gap:8px;}
  .site-nav{width:100%; justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch;}
  .site-nav a{white-space:nowrap; padding:6px 9px;}
}

/* Lists */
.site-list{padding-left:20px; margin:0 0 12px;}
.site-list li{margin:6px 0;}
.site-list.tight li{margin:3px 0; font-size:14px;}
.site-list.cols{columns:2 300px; column-gap:28px;}
.site-list.cols li{break-inside:avoid;}

/* Screenshots (only shown when the file exists in /assets/site/) */
.site-shot{margin:28px 0 0; text-align:center;}
.site-shot img{max-width:100%; height:auto; border-radius:12px; border:1px solid var(--line); box-shadow:0 10px 30px rgba(23,64,108,.12); background:#fff;}
.site-shot figcaption{font-size:12.5px; color:var(--muted); margin-top:8px;}

/* FAQ */
.site-faq details{background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:0 16px; margin:0 0 8px;}
.site-faq summary{cursor:pointer; font-weight:600; color:var(--navy); padding:14px 0; list-style-position:outside;}
.site-faq details[open] summary{border-bottom:1px solid var(--line); margin-bottom:10px;}
.site-faq details p{margin:0 0 14px;}

/* Demo form */
.site-demo{display:grid; grid-template-columns:1fr 1.1fr; gap:28px; align-items:start; background:linear-gradient(135deg,var(--navy),var(--teal)); color:#fff; border-radius:16px; padding:28px; margin:40px 0; scroll-margin-top:16px;}
.site-demo h2{color:#fff; font-size:22px;}
.site-demo-text p{color:rgba(255,255,255,.9);}
.site-form{background:var(--paper); color:var(--ink); border-radius:12px; padding:18px; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.site-form label{display:flex; flex-direction:column; gap:5px; font-size:12.5px; font-weight:600; color:var(--navy);}
.site-form input,.site-form textarea{font:inherit; font-size:15px; font-weight:400; padding:10px 12px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; min-width:0;}
.site-form textarea{resize:vertical; min-height:96px;}
.site-form .wide{grid-column:1 / -1;}
.site-form input:focus,.site-form textarea:focus{outline:2px solid var(--aqua); outline-offset:0; border-color:var(--aqua);}
.site-form button{grid-column:1 / -1; padding:12px; font-size:15px; cursor:pointer; border:0;}
.site-form-note{grid-column:1 / -1; font-size:11.5px; color:var(--muted); margin:0;}
.site-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
@media (max-width:760px){
  .site-demo{grid-template-columns:1fr; padding:20px 16px; gap:16px;}
  .site-form{grid-template-columns:1fr;}
}

/* Call-to-action band */
.site-band{background:var(--teal-light); border:1px solid var(--line); border-radius:14px; padding:22px; margin:36px 0; text-align:center;}
.site-band p{font-family:var(--font-head); font-weight:600; color:var(--navy); font-size:17px; margin:0 0 4px;}
.site-band .land-cta{justify-content:center; margin-top:12px;}
.site-band .land-cta .btn-ghost{background:#fff; color:var(--teal);}
.site-quote-card{max-width:720px;}
.site-quote-card h1{font-size:26px;}

/* Pricing */
.site-plans{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-bottom:12px;}
.site-plan{background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:20px; display:flex; flex-direction:column; gap:8px;}
.site-plan.featured{border:2px solid var(--aqua); box-shadow:0 10px 30px rgba(23,64,108,.12);}
.site-plan h3{margin:0;}
.site-price{font-family:var(--font-head); font-size:28px; font-weight:700; color:var(--navy);}
.site-price span{font-size:14px; font-weight:500; color:var(--muted);}
.site-plan .btn-primary{margin-top:auto; text-align:center;}

/* Sample quotation sheet */
.site-sheet{background:#fff; border:1px solid var(--line); border-radius:12px; padding:28px; font-size:14px;}
.site-sheet h3{font-size:15px; margin:22px 0 8px;}
.site-sheet-head{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; border-bottom:2px solid var(--navy); padding-bottom:12px; margin-bottom:14px;}
.site-sheet-meta{text-align:right;}
.site-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.site-table th,.site-table td{border:1px solid var(--line); padding:7px 9px; text-align:left; vertical-align:top;}
.site-table thead th{background:var(--teal-light); color:var(--navy);}
.site-table tbody th{font-weight:600; color:var(--navy); width:32%;}
.site-table .num{text-align:right; white-space:nowrap;}
.site-table tfoot th,.site-table tfoot td{background:#f7fafd;}
.site-sign{margin-top:28px; text-align:right;}
@media (max-width:640px){ .site-sheet{padding:16px;} .site-sheet-meta{text-align:left;} }

/* WhatsApp templates */
.site-tpls{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px;}
.site-tpl h2{font-size:16px !important; margin:0 0 2px;}
.site-tpl pre{white-space:pre-wrap; font-family:var(--font-body); font-size:14px; background:#e7f8ec; border-radius:10px; padding:12px; margin:10px 0 6px; color:var(--ink);}

/* Footer */
.site-foot{background:var(--navy); color:rgba(255,255,255,.82); margin-top:48px; padding:32px 0 20px; font-size:13.5px;}
.site-foot-cols{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:24px;}
.site-foot b{display:block; color:#fff; font-family:var(--font-head); margin-bottom:8px;}
.site-foot a{display:block; color:rgba(255,255,255,.82); margin:4px 0;}
.site-foot a:hover{color:#fff;}
.site-foot p{margin:0;}
.site-copy{border-top:1px solid rgba(255,255,255,.15); margin-top:22px !important; padding-top:14px; font-size:12px;}
@media (max-width:900px){ .site-foot-cols{grid-template-columns:1fr 1fr;} .site-foot-cols > div:first-child{grid-column:1 / -1;} }
@media (max-width:420px){ .site-foot-cols{grid-template-columns:1fr;} }

/* Footer contact links */
.site-foot-contact{margin-top:10px;}
.site-foot-contact a{font-weight:600; color:#fff;}

/* Contact page */
.site-contact-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
.site-contact-card{display:flex; flex-direction:column; align-items:flex-start; gap:4px; color:var(--ink);}
.site-contact-card h2{font-size:17px !important; margin:4px 0 0;}
.site-contact-card p{margin:0 0 8px !important; word-break:break-word;}
a.site-contact-card:hover{border-color:var(--aqua); box-shadow:0 6px 18px rgba(23,64,108,.1);}
.site-contact-card .btn-primary.sm,.site-contact-card .btn-ghost.sm{margin-top:auto;}

/* Floating WhatsApp + Email buttons (all public pages) */
.site-float{position:fixed; right:16px; bottom:16px; display:flex; flex-direction:column; gap:10px; z-index:50;}
.site-float-btn{display:flex; align-items:center; gap:8px; height:52px; padding:0 18px 0 14px; border-radius:26px; color:#fff; font-weight:600; font-size:14px;
  box-shadow:0 6px 20px rgba(0,0,0,.22); transition:transform .15s ease;}
.site-float-btn:hover{transform:translateY(-2px); color:#fff;}
.site-float-btn.wa{background:#1fa855;}
.site-float-btn.mail{background:var(--navy);}
.site-foot{padding-bottom:90px;}
@media (max-width:640px){
  .site-float{right:12px; bottom:12px; gap:8px;}
  .site-float-btn{width:50px; height:50px; padding:0; justify-content:center;}
  .site-float-btn span{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0);}
}

/* Blog (public) */
.blog-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.blog-grid.small{grid-template-columns:repeat(3,minmax(0,1fr));}
.blog-card{background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column;}
.blog-card-img{display:block; aspect-ratio:1200/630; background:linear-gradient(135deg,var(--navy),var(--teal)); overflow:hidden;}
.blog-card-img img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease;}
.blog-card:hover .blog-card-img img{transform:scale(1.03);}
.blog-card-img span{display:flex; height:100%; align-items:center; justify-content:center; color:rgba(255,255,255,.85); font:700 48px var(--font-head);}
.blog-card-body{padding:16px 18px 18px; display:flex; flex-direction:column; gap:6px; flex:1;}
.blog-card h2,.blog-card h3{font-size:17px !important; line-height:1.35; margin:0 !important;}
.blog-card h2 a,.blog-card h3 a{color:var(--navy);}
.blog-card h2 a:hover,.blog-card h3 a:hover{color:var(--teal);}
.blog-card p{margin:0 !important; font-size:14px; color:#3d4b5c;}
.blog-card .blog-meta{margin-top:auto; padding-top:6px;}
.blog-card.lead{grid-column:1 / -1; flex-direction:row;}
.blog-card.lead .blog-card-img{flex:0 0 55%;}
.blog-card.lead .blog-card-body{justify-content:center; padding:24px 28px;}
.blog-card.lead h2{font-size:24px !important;}
.blog-cat{font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--teal);}
.blog-meta{font-size:12.5px; color:var(--muted);}
.blog-pager{display:flex; justify-content:center; align-items:center; gap:18px; margin:26px 0 0; font-size:14px;}
.blog-pager a{font-weight:600; padding:8px 14px; border:1px solid var(--line); border-radius:8px; background:#fff;}
@media (max-width:900px){ .blog-grid,.blog-grid.small{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .blog-grid,.blog-grid.small{grid-template-columns:1fr;} .blog-card.lead{flex-direction:column;} .blog-card.lead .blog-card-img{flex:none;} .blog-card.lead .blog-card-body{padding:16px 18px 18px;} .blog-card.lead h2{font-size:19px !important;} }

.blog-wrap{max-width:780px;}
.blog-preview-bar{background:#fff3cd; color:#664d03; text-align:center; padding:10px 16px; font-size:14px; border-bottom:1px solid #f0d78c;}
.blog-crumbs{font-size:13px; color:var(--muted); margin:22px 0 8px;}
.blog-crumbs a{color:var(--muted);}
.blog-article header h1{font-size:34px; line-height:1.25; margin:4px 0 10px;}
.blog-article header .blog-meta{font-size:13.5px;}
.blog-cover{margin:22px 0;}
.blog-cover img{width:100%; height:auto; border-radius:14px; display:block;}
.blog-toc{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:12px 18px; margin:0 0 22px;}
.blog-toc summary{font-weight:700; color:var(--navy); cursor:pointer;}
.blog-toc ol{margin:10px 0 4px; padding-left:20px;}
.blog-toc li{margin:4px 0; font-size:14.5px;}
.blog-toc li.lvl3{margin-left:16px; list-style:circle; font-size:14px;}
.blog-content{font-size:17px; line-height:1.8; color:#1f2b37; overflow-wrap:anywhere;}
.blog-content > *:first-child{margin-top:0;}
.blog-content h2{font-size:25px; line-height:1.3; margin:36px 0 12px; scroll-margin-top:16px;}
.blog-content h3{font-size:20px; margin:28px 0 10px; scroll-margin-top:16px;}
.blog-content h4{font-size:17px; margin:22px 0 8px;}
.blog-content p{margin:0 0 18px;}
.blog-content ul,.blog-content ol{margin:0 0 18px; padding-left:24px;}
.blog-content li{margin:6px 0;}
.blog-content a{color:var(--teal); text-decoration:underline; text-underline-offset:2px;}
.blog-content blockquote{margin:22px 0; padding:14px 18px; border-left:4px solid var(--aqua); background:var(--teal-light); border-radius:0 10px 10px 0;}
.blog-content blockquote p:last-child{margin:0;}
.blog-content figure{margin:24px 0;}
.blog-content img{max-width:100%; height:auto; border-radius:10px; display:block; margin:0 auto;}
.blog-content figcaption{font-size:13.5px; color:var(--muted); text-align:center; margin-top:8px;}
.blog-content table{width:100%; border-collapse:collapse; margin:20px 0; font-size:15px;}
.blog-content th,.blog-content td{border:1px solid var(--line); padding:9px 11px; text-align:left; vertical-align:top;}
.blog-content th{background:var(--teal-light); color:var(--navy);}
.blog-content pre{background:#0f2236; color:#e6eef7; padding:14px; border-radius:10px; overflow-x:auto; font-size:14px;}
.blog-content code{font-size:.92em;}
.blog-content hr{border:0; border-top:1px solid var(--line); margin:30px 0;}
.blog-tags{display:flex; flex-wrap:wrap; gap:6px; margin:26px 0 0;}
.blog-tags span{font-size:12.5px; background:var(--teal-light); color:var(--teal); padding:4px 10px; border-radius:20px;}
.blog-share{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:20px 0 0; padding-top:16px; border-top:1px solid var(--line); font-size:14px;}
.blog-share span{color:var(--muted);}
.blog-share a{font-weight:600; padding:6px 12px; border:1px solid var(--line); border-radius:20px; background:#fff;}
@media (max-width:640px){ .blog-content table{display:block; overflow-x:auto; width:auto;} .blog-article header h1{font-size:26px;} .blog-content{font-size:16px;} .blog-content h2{font-size:21px;} }

/* Keyword landing pages */
.site-eyebrow{display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.14); color:#fff; padding:5px 12px; border-radius:20px; margin-bottom:12px;}
.site-chips{display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 4px;}
.site-chips span,.site-chips a{background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:6px 13px; font-size:13.5px; color:var(--navy); font-weight:500;}
.site-chips a:hover{border-color:var(--aqua);}
.compare-grid{grid-template-columns:1fr 1fr;}
.compare-grid .us{border:2px solid var(--good);}
.compare-grid .us h3{color:var(--good);}
.seg-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
.seg-grid .land-card{scroll-margin-top:16px;}
.seg-h{font-size:17px !important; margin:6px 0 6px !important;}
.site-explore{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px;}
.site-explore a{display:block; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px 16px; color:var(--navy); font-weight:600;}
.site-explore a span{display:block; font-weight:400; font-size:13px; color:var(--muted); margin-top:3px;}
.site-explore a:hover{border-color:var(--aqua);}
@media (max-width:640px){ .compare-grid{grid-template-columns:1fr;} }

/* Reviews */
.rv-summary{display:flex; align-items:center; gap:28px; flex-wrap:wrap; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:20px 24px;}
.rv-summary .btn-primary{margin-left:auto;}
.rv-score{display:flex; flex-direction:column; align-items:center; gap:2px;}
.rv-score b{font:800 44px/1 var(--font-head); color:var(--navy);}
.rv-stars{color:#e8a400; letter-spacing:2px; font-size:18px;}
.rv-bars{flex:1; min-width:220px; max-width:360px;}
.rv-bar{display:grid; grid-template-columns:34px 1fr 28px; gap:8px; align-items:center; font-size:13px; margin:3px 0;}
.rv-track{height:8px; background:#edf1f6; border-radius:6px; overflow:hidden;}
.rv-track span{display:block; height:100%; background:#e8a400; border-radius:6px;}
.rv-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:14px;}
.rv-list.rv-mini{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
.rv-card{background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:18px;}
.rv-card h3{margin:6px 0 4px !important; font-size:16px;}
.rv-card p{margin:6px 0 0 !important; font-size:14.5px; overflow-wrap:anywhere;}
.rv-head{display:flex; gap:10px; align-items:center; margin-bottom:6px;}
.rv-head time{margin-left:auto; white-space:nowrap;}
.rv-avatar{width:38px; height:38px; flex:none; border-radius:50%; background:var(--teal-light); color:var(--teal); font:700 16px var(--font-head); display:flex; align-items:center; justify-content:center;}
.rv-reply{margin-top:12px; background:var(--teal-light); border-radius:10px; padding:10px 12px; font-size:13.5px;}
.rv-reply b{color:var(--navy);}
.rv-write .site-form .rv-error{grid-column:1 / -1; background:#fdecea; color:#a32a1c; border-radius:8px; padding:8px 12px; margin:0; font-size:13.5px;}
.rv-thanks{display:block;}
.rv-rate{border:0; padding:0; margin:0; display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:2px;}
.rv-rate-label{display:block; font-size:12.5px; font-weight:600; color:var(--navy); margin-bottom:4px;}
.rv-rate input{position:absolute; opacity:0; width:1px; height:1px;}
.rv-rate label{font-size:32px; line-height:1; color:#d5dce6; cursor:pointer; padding:0 2px; font-weight:400 !important;}
.rv-rate input:checked ~ label,.rv-rate label:hover,.rv-rate label:hover ~ label{color:#e8a400;}
.rv-rate input:focus-visible + label{outline:2px solid var(--aqua); border-radius:4px;}
.rv-consent{flex-direction:row !important; align-items:flex-start; gap:8px !important; font-weight:400 !important; color:var(--ink) !important; font-size:13px !important;}
.rv-consent input{width:auto !important; margin-top:2px;}
@media (max-width:640px){ .rv-summary .btn-primary{margin-left:0;} .rv-list{grid-template-columns:1fr;} }

/* Security */
.sec-promise{display:flex; gap:22px; align-items:center; background:linear-gradient(135deg,#0f3b2e,#1f7a55); color:#fff; border-radius:16px; padding:26px 28px;}
.sec-promise h2{color:#fff !important; margin:0 0 8px !important;}
.sec-promise p{color:rgba(255,255,255,.92); margin:0 0 10px;}
.sec-promise a{color:#fff; text-decoration:underline;}
.sec-promise-badge{flex:none; width:96px; height:96px; border-radius:50%; border:3px solid rgba(255,255,255,.85); display:flex; align-items:center; justify-content:center; font:800 26px var(--font-head); background:rgba(255,255,255,.1);}
.sec-flow{list-style:none; counter-reset:sf; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; padding:0; margin:0;}
.sec-flow li{counter-increment:sf; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:14px; display:flex; flex-direction:column; gap:4px; position:relative;}
.sec-flow li:before{content:counter(sf); width:26px; height:26px; border-radius:50%; background:var(--navy); color:#fff; font:700 13px var(--font-head); display:flex; align-items:center; justify-content:center; margin-bottom:4px;}
.sec-flow b{color:var(--navy);} .sec-flow span{font-size:13.5px; color:var(--muted);}
@media (max-width:760px){ .sec-promise{flex-direction:column; align-items:flex-start; padding:20px;} .sec-promise-badge{width:72px; height:72px; font-size:20px;} .sec-flow{grid-template-columns:1fr 1fr;} }

/* Print / Save as PDF (free quotation template) */
@media print{
  .legal-top,.site-foot,.no-print,.site-band,.site-demo,.site-float{display:none !important;}
  .site-body{background:#fff;}
  .site-sheet{border:0; padding:0;}
  .land-section{margin:0;}
}

/* Public header on phones: brand first, menu row below (the CRM's own nav re-orders .brand-link) */
@media (max-width:760px){ .site-body .legal-top .brand-link{order:0;} .site-body .site-nav{order:1;} }
