/* Sage & Prep — shared site styles (header, footer, pages) */
:root{--sage:#7C8B6F;--sage-d:#5f6e54;--cream:#F5F1E8;--terra:#C97B5A;--ink:#2E2A26;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;font-size:18px;}
.serif{font-family:Georgia,"Times New Roman",serif;}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px;}
a{color:var(--terra);}

/* Header */
.site-header{background:rgba(245,241,232,.92);backdrop-filter:saturate(120%) blur(6px);border-bottom:1px solid #e7e1d2;position:sticky;top:0;z-index:50;}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;max-width:1040px;margin:0 auto;}
.site-header .logo{font-family:Georgia,serif;font-weight:bold;letter-spacing:2px;text-transform:uppercase;color:var(--sage);font-size:18px;text-decoration:none;}
.site-header nav{display:flex;gap:30px;flex-wrap:wrap;align-items:center;}
.site-header nav a{color:#5f5a52;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;position:relative;padding-bottom:4px;transition:color .15s;}
.site-header nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--terra);transition:width .22s ease;}
.site-header nav a:hover{color:var(--ink);}
.site-header nav a:hover:after{width:100%;}
.site-header nav a.active{color:var(--ink);}
.site-header nav a.active:after{width:100%;}
.site-header nav a.nav-cta{background:var(--terra);color:#fff;font-size:13px;letter-spacing:.6px;text-transform:none;font-weight:700;padding:10px 19px;border-radius:24px;transition:background .15s, transform .15s;}
.site-header nav a.nav-cta:hover{background:#b56a4c;transform:translateY(-1px);color:#fff;}
.site-header nav a.nav-cta:after{display:none;}
@media(max-width:640px){.site-header nav{gap:16px;}.site-header nav a{font-size:11.5px;letter-spacing:1.2px;}.site-header nav a.nav-cta{font-size:12.5px;padding:8px 15px;}}

/* Generic content page */
.page-hero{text-align:center;padding:48px 0 10px;}
.page-hero h1{font-family:Georgia,serif;font-size:38px;line-height:1.12;margin-bottom:10px;}
.page-hero p{color:#5f5a52;font-size:18px;}
.content{max-width:760px;margin:0 auto;padding:18px 22px 40px;}
.content h2{font-family:Georgia,serif;color:var(--ink);font-size:24px;margin:28px 0 8px;}
.content h3{color:var(--terra);font-size:18px;margin:18px 0 6px;}
.content p,.content li{font-size:16.5px;color:#3f3b34;}
.content ul{padding-left:22px;margin:8px 0;}
.content li{margin:6px 0;}
.content .updated{color:#8a857c;font-size:14px;margin-bottom:18px;}
.card-block{background:#fff;border:1px solid #e7e1d2;border-radius:16px;padding:28px 30px;margin:18px 0;box-shadow:0 8px 26px rgba(0,0,0,.05);}

/* FAQ accordion */
details.faq{background:#fff;border:1px solid #e7e1d2;border-radius:12px;padding:0 20px;margin:10px 0;}
details.faq summary{font-weight:bold;font-size:17px;padding:16px 0;cursor:pointer;list-style:none;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary:before{content:"+ ";color:var(--terra);font-weight:bold;}
details.faq[open] summary:before{content:"– ";}
details.faq p{padding:0 0 16px;color:#4a463f;font-size:16px;}

/* Footer */
.site-footer{background:#EFEADD;border-top:1px solid #e2dccd;margin-top:40px;padding:34px 0 18px;}
.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:20px 28px;align-items:start;}
@media(max-width:760px){.site-footer .cols{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.site-footer .cols{grid-template-columns:1fr;}}
.site-footer .logo{font-family:Georgia,serif;font-weight:bold;letter-spacing:2px;text-transform:uppercase;color:var(--sage);font-size:18px;margin-bottom:8px;}
.site-footer p{font-size:14.5px;color:#5f5a52;margin-bottom:10px;}
.site-footer h4{font-size:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--sage-d);margin-bottom:10px;}
.site-footer a{display:block;color:#3f3b34;text-decoration:none;font-size:14.5px;margin:6px 0;}
.site-footer a:hover{color:var(--sage);}
.site-footer .social a{display:inline-block;margin-right:14px;color:var(--sage-d);font-weight:600;}
.site-footer .legal-bottom{border-top:1px solid #ded7c6;margin-top:26px;padding-top:18px;font-size:12.5px;color:#8a857c;line-height:1.5;text-align:center;}
.site-footer .legal-bottom a{display:inline;color:var(--sage);}

/* Brand logo in header/footer */
.site-header .logo{display:inline-flex;align-items:center;gap:9px;}
.site-header .logo .logo-mark{height:30px;width:30px;object-fit:contain;}
.footer-logo{width:175px;height:auto;display:block;margin-bottom:10px;}
.site-header .logo .logo-img{height:42px;width:auto;display:block;}
/* Testimonial with photo */
.review-head{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.review-head img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:center top;flex:0 0 54px;}
.badge-verified{display:inline-block;background:#E7F0E2;color:#4f6b43;font-size:12px;font-weight:700;padding:2px 9px;border-radius:20px;}

.pillar .pic{margin-bottom:6px;line-height:0;}
.pillar .pic svg{display:inline-block;}

/* RESPONSIVE-FIXES */
@media(max-width:760px){
  .site-footer .cols{grid-template-columns:1fr 1fr;gap:18px 24px;}
  .site-footer .brandcol{grid-column:1 / -1;text-align:center;}
  .site-footer .brandcol .footer-logo{margin-left:auto;margin-right:auto;}
}
@media(max-width:640px){
  .site-header .nav{flex-direction:column;gap:10px;text-align:center;padding:12px 16px;}
  .site-header nav{justify-content:center;gap:18px;flex-wrap:wrap;}
  .site-header .logo{justify-content:center;}
}

/* Vertical review cards — horizontal carousel */
.vwrap{position:relative;}
.vgrid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;scrollbar-width:none;}
.vgrid::-webkit-scrollbar{display:none;}
.vgrid .vcard{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;}
@media(max-width:820px){.vgrid .vcard{flex:0 0 78%;}}
.vwrap:after{content:"";position:absolute;top:0;right:0;bottom:16px;width:54px;pointer-events:none;
  background:linear-gradient(to right,rgba(245,241,232,0),rgba(245,241,232,.95));border-radius:0 18px 18px 0;}
.vnav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;
  border:1px solid #d8d1c0;background:#fff;color:#5f6e54;font-size:22px;font-weight:bold;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;line-height:1;}
.vnav:hover{background:#7C8B6F;color:#fff;}
.vnav.prev{left:-10px;}
.vnav.next{right:-10px;}
@media(max-width:820px){.vnav.prev{left:4px;}.vnav.next{right:4px;}}
.vhint{text-align:center;font-size:13.5px;color:#8a857c;margin-top:2px;}
.vcard{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:3/4.2;box-shadow:0 12px 34px rgba(0,0,0,.12);background:#dcd5c4;}
.vcard img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;}
.vcard .grad{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 32%,rgba(28,30,24,.55) 62%,rgba(24,26,20,.88) 100%);}
.vcard .txt{position:absolute;left:0;right:0;bottom:0;padding:18px 18px 16px;color:#fff;}
.vcard .stars{color:#E9C76C;font-size:15px;letter-spacing:1px;margin-bottom:6px;}
.vcard .quote{font-size:14.5px;line-height:1.45;font-style:italic;margin-bottom:10px;color:#f4f1ea;}
.vcard .who{display:flex;align-items:center;gap:8px;}
.vcard .nm{font-weight:700;font-size:14.5px;}
.vcard .bdg{background:rgba(231,240,226,.92);color:#4f6b43;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:20px;}

/* Lifestyle band */
.lifeband{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px;}
.lifeband img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:0 8px 22px rgba(0,0,0,.10);display:block;}
.lifeband img:nth-child(even){transform:translateY(10px);}
@media(max-width:820px){
  .lifeband{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
  .lifeband img{flex:0 0 46%;scroll-snap-align:start;transform:none!important;}
}
.vcard .lc{font-size:12px;color:#d8d3c8;margin-top:2px;}

/* Option A — thumbnails inside the about card */
.thumbrow{display:flex;gap:10px;justify-content:center;margin:20px 0 16px;}
.thumbrow img,.thumbrow video{width:17.5%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.10);display:block;}
@media(max-width:640px){.thumbrow{flex-wrap:wrap;}.thumbrow img,.thumbrow video{width:30%;}}
