:root{
  --bg:#0e2a1f; /* deep forest green */
  --bg-2:#162b1b;
  --card:#0f2d23;
  --muted:#b7c7bd; /* desaturated light */
  --text:#f1f5f4; /* near white */
  --accent:#d9b79a; /* gold-beige */
  --accent-2:#caa785;
  --border: rgba(255,255,255,.08);
  --shadow: 0 12px 36px rgba(0,0,0,.35);
}

html, body{
  background: var(--bg);
  color: var(--text);
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.6;
}

/* Containers */
.container{max-width:1200px;margin:0 auto;padding:0 20px}
/* Ensure images never overflow container */
.container img{max-width:100%;height:auto}

/* Headings */
h1,h2,h3,h4{font-family:'Playfair Display',serif;color:var(--text);letter-spacing:.2px}
h1{font-weight:600;font-size:clamp(34px, 4.2vw, 56px);line-height:1.12}
h2{font-weight:600;font-size:clamp(28px, 3.2vw, 40px);line-height:1.18}
h3{font-weight:600;font-size:clamp(22px, 2.4vw, 28px);line-height:1.24}

/* Module titles with extended gold line */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 26px;position:relative;padding:8px 0}
.section-head:after{content:'';position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:3px;background:linear-gradient(90deg, var(--accent) .8, rgba(217,183,154,.18) 60%, rgba(217,183,154,0) 95%);border-radius:999px}
.section-title{margin:0;color:var(--accent);letter-spacing:.2px;padding:8px 16px;border:1.5px solid var(--accent);border-radius:999px;background:var(--bg);position:relative;z-index:1}

/* Gold separators */
.hr-gold{height:2px;background:linear-gradient(90deg,var(--accent),transparent);border:none;width:160px;border-radius:2px}

/* Text coloring */
.text-muted{color:var(--muted)}
.text-accent{color:var(--accent)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;border:1px solid var(--accent);color:var(--bg);background:var(--accent);text-decoration:none;font-weight:600;transition:all .2s ease}
.btn-outline{background:transparent;color:var(--accent)}
.btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
/* CTA pill like blog */
.btn.cta{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--bg);border-color:transparent;box-shadow:0 8px 24px rgba(202,167,133,.25), inset 0 0 0 1px rgba(255,255,255,.16)}
.btn.cta::after{content:'\203A'; /* › */ display:inline-block;margin-left:6px;transform:translateY(-1px);opacity:.9}
.btn.cta:hover{box-shadow:0 10px 28px rgba(202,167,133,.32), inset 0 0 0 1px rgba(255,255,255,.22)}

/* Cards & image frames */
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}
.img-frame{position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.img-frame img{display:block;width:100%;height:auto;object-fit:cover}
.img-frame .frame-border{position:absolute;inset:10px;border:2px solid var(--accent);border-radius:12px;pointer-events:none}

/* Sections */
.section{padding:64px 0}
.section-hero{padding-top:40px;padding-bottom:40px}
.section-alt{background:var(--bg-2)}

/* Breadcrumbs */
.bgr-breadcrumb{padding:24px 0}
.breadcrumb{display:flex;gap:8px;list-style:none;padding:0;margin:0}
.breadcrumb li{display:inline-flex;align-items:center;gap:8px;color:#cbd5e1}
.breadcrumb li+li:before{content:'›';opacity:.6}
.breadcrumb a{color:#cbd5e1;text-decoration:none}
.breadcrumb a:hover{color:#fff}

/* Header, footer tweaks */
header{background:transparent;color:var(--text)}
.topbar{background: rgb(22 43 27);border-bottom:1px solid var(--border);height: 34px;}
footer{background:var(--bg-2);color:var(--muted);padding:40px 0;border-top:1px solid var(--border)}

/* Links */
a{color:var(--accent)}
a:hover{color:var(--accent-2)}

/* Typography helpers */
.lead{font-size:clamp(16px,1.6vw,20px);color:var(--muted);max-width:72ch}
.kicker{font-weight:600;letter-spacing:.2em;color:var(--accent);text-transform:uppercase}

/* Grid helpers */
.grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width: 960px){
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
}

/* Hero composition accents from reference */
.hero-tag{display:inline-block;padding:6px 10px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);background:rgba(217,183,154,.06)}
.hero-cta{display:flex;gap:12px;align-items:center;margin-top:16px}

/* Quote/Testimonial styling */
.blockquote{padding:18px 20px;border-left:3px solid var(--accent);background:rgba(255,255,255,.02);border-radius:10px}

/* Decorative rounded image variant */
.img-rounded{border-radius:24px;overflow:hidden}

/* Navigation hover */
header .menu .menu-item > a{color:var(--text)}
header .menu .menu-item > a:hover{background:rgba(255,255,255,.06)}

/* Forms */
label{color:var(--muted);font-size:14px;letter-spacing:.3px}
input,select,textarea{background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s, box-shadow .2s, background .2s}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(202,167,133,.18);background:rgba(255,255,255,.06)}
select{appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23caa785"><path d="M7 10l5 5 5-5z"/></svg>');background-repeat:no-repeat;background-position:right 12px center;background-size:18px 18px;padding-right:36px}
.form-check-input{width:18px;height:18px;border-radius:5px;border:1px solid var(--border);background:rgba(255,255,255,.06)}
.form-check-input:checked{background:var(--accent);border-color:var(--accent)}
.invalid-feedback{color:#f7b0b0}
/* Form grid */
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.form-grid .form-field{display:flex;flex-direction:column}
.form-grid .col-span-2{grid-column:span 2}
@media(max-width: 960px){.form-grid{grid-template-columns:1fr}}
@media(max-width: 640px){.form-grid{grid-template-columns:1fr !important}}

/* FAQ wrapping to prevent horizontal scroll on mobile */
.faq-list, .faq-item, .faq-answer{overflow-wrap:anywhere;word-break:break-word}
.faq-answer img, .faq-answer iframe{max-width:100%;height:auto}
.faq-item summary{display:block;overflow-wrap:anywhere;word-break:break-word}

/* Header logo adjustments on small screens to avoid overlapping socials */
@media (max-width: 640px){
  /* Breadcrumb mobile layout */
  .breadcrumb{flex-wrap:wrap !important; row-gap:6px}
  .breadcrumb li{white-space:nowrap !important}
  .bgr-breadcrumb{padding:16px 0}
  /* Avoid sticky header overlay on mobile */
  header{position:static !important}
  header{margin-bottom:8px}
  .topbar .container,.topbar-row{flex-wrap:wrap}
  header .brand img{margin-top:0 !important;margin-bottom:0 !important;max-height:64px}
  /* Ensure form controls fill width */
  .form-field{min-width:0}
  .form-field.col-span-2{grid-column:1 / -1}
  .form-control,
  .form-field input,
  .form-field select,
  .form-field textarea{width:100% !important;max-width:100%}
}

/* Utilities */
.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}
.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}
