/* ---- Global (from the approved design's shared <style> block) ---- */
body{margin:0;background:#F7F6F2;color:#2B2E2A;font-family:'Jost',sans-serif;--accent:#33625C;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:#22423E;}

/* ---- Cookie consent banner ---- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#22302C;color:#C9D2CC;box-shadow:0 -4px 20px rgba(34,48,44,0.22);}
.cookie-inner{max-width:1140px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.cookie-inner p{margin:0;font-size:14px;line-height:1.6;font-weight:300;flex:1;min-width:240px;}
.cookie-inner a{color:#fff;border-bottom:1px solid rgba(255,255,255,0.4);}
.cookie-inner a:hover{color:#fff;}
.cookie-actions{display:flex;gap:10px;}
.cookie-btn{padding:10px 22px;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;font-weight:500;cursor:pointer;border:1px solid transparent;font-family:'Jost',sans-serif;}
.cookie-decline{background:transparent;border-color:#4A5A54;color:#C9D2CC;}
.cookie-decline:hover{border-color:#C9D2CC;}
.cookie-accept{background:var(--accent);color:#fff;}
.cookie-accept:hover{filter:brightness(1.1);}
@media (max-width:899px){ .cookie-banner{bottom:58px;} }
h1,h2,h3{text-wrap:balance;}
p{text-wrap:pretty;}

/* ---- Brand logo ---- */
.site-logo{height:38px;width:auto;display:block;}
@media (max-width:520px){ .site-logo{height:32px;} }

/* ---- Legal / long-form content pages (privacy, terms) ---- */
.legal{max-width:760px;margin:0 auto;color:#4A4F4A;font-weight:300;}
.legal .lead{font-size:18px;line-height:1.75;color:#3A3F3A;margin:0 0 16px;}
.legal p{margin:0 0 14px;font-size:16px;line-height:1.75;}
.legal h2{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3vw,32px);font-weight:500;color:#2B2E2A;line-height:1.2;margin:44px 0 14px;}
.legal h2:first-of-type{margin-top:8px;}
.legal h3{font-size:15px;font-weight:600;letter-spacing:0.02em;color:#2B2E2A;margin:24px 0 8px;}
.legal ul{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px;}
.legal li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.6;color:#4A4F4A;}
.legal li::before{content:"";width:6px;height:6px;margin-top:9px;background:var(--accent);border-radius:50%;flex-shrink:0;}
.legal a{color:var(--accent);border-bottom:1px solid var(--accent);}
.legal address{font-style:normal;line-height:1.8;font-size:16px;color:#3A3F3A;}
.legal hr{border:none;border-top:1px solid #E2E4DC;margin:8px 0 0;}

/* ---- Chrome responsive behaviour (design breakpoint: 900px) ---- */
.hdr-mobile{display:none;}
.sticky-callbar{display:none;}
.wa-float{bottom:22px;}
@media (max-width:899px){
  .hdr-desktop{display:none !important;}
  .hdr-mobile{display:flex !important;}
  .sticky-callbar{display:grid;}
  .wa-float{bottom:74px;}
}

/* ---- Footer link colours (design's footer <style> scope) ---- */
.site-footer a{color:#C9D2CC;}
.site-footer a:hover{color:#FFFFFF;}

/* ---- Hover states (transcribed from the design's style-hover attributes) ---- */
.nav-link:hover{color:var(--accent);}
.btn-primary:hover,
.h-brighten-down:hover{filter:brightness(0.88);color:#FFFFFF;}
.h-brighten-up:hover{filter:brightness(1.12);color:#FFFFFF;}
.h-tint:hover{background:rgba(51,98,92,0.08);}
.h-white-border:hover{border-color:#FFFFFF;color:#FFFFFF;}
.h-accent-border:hover{border-color:var(--accent);color:var(--accent);}
.card-link:hover{border-color:var(--accent);color:#2B2E2A;}

/* ---- Rich-text / bio prose (design paragraph typography) ---- */
.richtext p{margin:0;font-size:17px;line-height:1.75;font-weight:300;color:#4A4F4A;}
.richtext a{border-bottom:1px solid var(--accent);}

/* ---- Blog article body ---- */
.article p{margin:0;font-size:17px;line-height:1.8;font-weight:300;color:#4A4F4A;}
.article > p:first-of-type{font-size:18px;color:#3A3F3A;}
.article h2{margin:14px 0 0;font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3vw,32px);font-weight:500;line-height:1.2;}
.article ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;}
.article li{display:flex;gap:14px;align-items:flex-start;font-size:17px;line-height:1.7;font-weight:300;color:#4A4F4A;}
.article li::before{content:"";width:8px;height:8px;background:var(--accent);margin-top:9px;flex-shrink:0;}

/* ---- Accordion / carousel helpers (behaviour only; layout is inline) ---- */
.faq-panel[hidden]{display:none;}
.tc-slide{display:none;}
.tc-slide.is-active{display:flex;}
