:root{
  --hj-ink:#171717;--hj-ink-2:#292726;--hj-red:#722F37;--hj-red-dark:#542229;
  --hj-copper:#b87843;--hj-paper:#f6f0e6;--hj-paper-2:#ebe0d1;--hj-white:#fff;
  --hj-muted:#6b655e;--hj-border:#d7cbbb;--hj-radius:6px;--hj-shadow:0 22px 70px rgba(23,23,23,.12);
  /* LOGO SIZE CONTROLS */
  --logo-header-height:50px;
  --logo-footer-height:50px;
  --logo-mobile-height:46px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;color:var(--hj-ink);background:var(--hj-paper);line-height:1.65}h1,h2,h3,h4,h5,.navbar-brand,.btn{font-family:"DM Sans",Inter,sans-serif}a{color:inherit}.section{padding:6rem 0}.section-sm{padding:4rem 0}.bg-ink{background:var(--hj-ink);color:#fff}.bg-paper{background:var(--hj-paper)}.bg-paper-2{background:var(--hj-paper-2)}.bg-white{background:#fff!important}.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--hj-red)}.display-title{font-weight:800;letter-spacing:-.045em;line-height:1.01}.lead-copy{font-size:1.15rem;color:var(--hj-muted);line-height:1.75}.text-muted-brand{color:var(--hj-muted)}
.utility-bar{background:var(--hj-ink);color:rgba(255,255,255,.78);font-size:.82rem}.utility-bar a{text-decoration:none}.utility-bar a:hover{color:#fff}.site-nav{background:rgba(246,240,230,.96);backdrop-filter:blur(14px)}.site-logo{display:flex;align-items:center;gap:.8rem;text-decoration:none}.logo-seal{width:42px;height:42px;border:2px solid var(--hj-red);border-radius:50%;display:grid;place-items:center;color:var(--hj-red);font-weight:900}.logo-copy strong{display:block;line-height:1;font-size:.98rem}.logo-copy small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hj-muted);margin-top:.3rem}.nav-link{font-weight:700;color:var(--hj-ink)!important}.nav-link:hover,.nav-link.active{color:var(--hj-red)!important}.btn{border-radius:4px;padding:.85rem 1.25rem;font-weight:800}.btn-primary{background:var(--hj-red);border-color:var(--hj-red)}.btn-primary:hover{background:var(--hj-red-dark);border-color:var(--hj-red-dark)}.btn-outline-dark:hover{background:var(--hj-ink)}
.hero{padding:5.5rem 0 4rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(114,47,55,.08) 1px,transparent 1px),linear-gradient(rgba(114,47,55,.08) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to right,#000,transparent 72%)}.hero .container{position:relative}.hero-title{font-size:clamp(3rem,7vw,6.5rem);max-width:1050px}.hero-rule{height:5px;width:90px;background:var(--hj-red);border-radius:0}.hero-panel{border:1px solid var(--hj-border);background:rgba(255,255,255,.64);border-radius:var(--hj-radius);padding:1.4rem}.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.hero-meta strong{display:block;font-size:1.8rem}.hero-meta span{font-size:.78rem;color:var(--hj-muted)}
.statement-strip{background:var(--hj-red);color:#fff;padding:1.15rem 0;font-weight:800;letter-spacing:.01em}.card-ui{height:100%;background:#fff;border:1px solid var(--hj-border);border-radius:var(--hj-radius);padding:1.7rem;transition:.25s}.card-ui:hover{transform:translateY(-4px);box-shadow:var(--hj-shadow)}.number{font-size:3.2rem;line-height:1;color:rgba(114,47,55,.18);font-weight:900}.icon-box{width:50px;height:50px;border-radius:5px;background:var(--hj-paper-2);display:grid;place-items:center;color:var(--hj-red);font-size:1.25rem}.allocation{display:grid;gap:1rem}.allocation-row{display:grid;grid-template-columns:90px 1fr;gap:1rem;align-items:center;padding:1.25rem;border-bottom:1px solid var(--hj-border)}.allocation-row strong{font-size:2rem;color:var(--hj-red)}.photo-wide{width:100%;height:clamp(360px,52vw,650px);object-fit:cover;border-radius:6px;box-shadow:var(--hj-shadow)}.photo-card{width:100%;height:280px;object-fit:cover;border-radius:6px}.quote-panel{border-left:5px solid var(--hj-red);padding:2rem;background:#fff;border-radius:0 6px 6px 0}.timeline{border-left:2px solid var(--hj-border);padding-left:2rem}.timeline-item{position:relative;padding-bottom:2rem}.timeline-item:before{content:"";position:absolute;left:-2.48rem;top:.35rem;width:14px;height:14px;background:var(--hj-red);border-radius:50%;box-shadow:0 0 0 6px var(--hj-paper)}.form-panel{background:#fff;border:1px solid var(--hj-border);border-radius:6px;padding:2rem;box-shadow:var(--hj-shadow)}.form-control,.form-select{min-height:52px;border-color:var(--hj-border);border-radius:4px}.form-control:focus,.form-select:focus{border-color:var(--hj-red);box-shadow:0 0 0 .2rem rgba(114,47,55,.12)}.accordion-item{border:1px solid var(--hj-border)!important;border-radius:5px!important;overflow:hidden;margin-bottom:.8rem}.accordion-button{font-weight:800}.accordion-button:not(.collapsed){background:var(--hj-paper-2);color:var(--hj-red);box-shadow:none}.footer{background:var(--hj-ink);color:rgba(255,255,255,.72)}.footer a{color:rgba(255,255,255,.72);text-decoration:none}.footer a:hover{color:#fff}.footer-title{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}.legal-note{font-size:.78rem;color:rgba(255,255,255,.52)}
@media(max-width:991.98px){.section{padding:4.5rem 0}.hero{padding-top:4rem}.hero-meta{grid-template-columns:1fr}.navbar-collapse{padding:1rem 0}.allocation-row{grid-template-columns:70px 1fr}}

/* =========================================================
   STICKY HEADER + UTILITY ACTIONS
========================================================= */
.site-header{z-index:1030}
.site-header.sticky-top{top:0}
.utility-actions a{display:inline-flex;align-items:center;color:rgba(255,255,255,.78);text-decoration:none;font-weight:700;white-space:nowrap}
.utility-actions a:hover,.utility-actions a.active{color:#fff}
.utility-login{padding:.38rem .72rem;border:1px solid rgba(255,255,255,.22);border-radius:4px}
.utility-login:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.08)}
.dropdown-item.active,.dropdown-item:active{background:var(--hj-paper-2);color:var(--hj-red)}

/* =========================================================
   BLOG
========================================================= */
.blog-search .input-group-text,.blog-search .form-control{min-height:54px;border-color:var(--hj-border)}
.blog-feature,.blog-card{background:#fff;border:1px solid var(--hj-border);border-radius:var(--hj-radius);overflow:hidden}
.blog-feature{box-shadow:0 18px 54px rgba(23,23,23,.07)}
.blog-feature-image{width:100%;height:100%;min-height:470px;object-fit:cover}
.blog-card{height:100%;transition:.25s ease}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--hj-shadow)}
.blog-card-image{display:block;width:100%;height:235px;object-fit:cover}
.blog-card-placeholder{height:235px;background:var(--hj-paper-2);display:grid;place-items:center;color:var(--hj-red);font-size:4rem}
.blog-card-body{padding:1.5rem}
.article-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.75rem;color:var(--hj-red);font-weight:800;text-decoration:none}
.article-link:hover{color:var(--hj-red-dark)}
.article-hero-image{display:block;width:100%;height:clamp(360px,52vw,650px);object-fit:cover;border-radius:6px;box-shadow:var(--hj-shadow)}
.article-content{font-size:1.08rem;line-height:1.85}
.article-content h2{margin-top:3rem;margin-bottom:1.2rem;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;letter-spacing:-.035em}
.article-content p{margin-bottom:1.5rem}
.article-toc-wrap{position:sticky;top:150px}
.article-toc{display:flex;flex-direction:column;border-left:1px solid var(--hj-border)}
.article-toc a{padding:.7rem 0 .7rem 1rem;color:var(--hj-muted);text-decoration:none;font-size:.9rem}
.article-toc a:hover{color:var(--hj-red)}
.article-quote{margin:2.5rem 0;padding:2rem;border-left:5px solid var(--hj-red);background:var(--hj-paper-2);border-radius:0 var(--hj-radius) var(--hj-radius) 0}
.article-quote p{margin:0;color:var(--hj-ink);font-family:"DM Sans",Inter,sans-serif;font-size:1.25rem;font-weight:700}
.article-callout{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0;padding:1.5rem;background:var(--hj-paper);border:1px solid var(--hj-border);border-radius:var(--hj-radius)}
.article-callout div{text-align:center;padding:1rem}
.article-callout strong{display:block;color:var(--hj-red);font-size:2rem;line-height:1}
.article-callout span{display:block;margin-top:.5rem;color:var(--hj-muted);font-size:.85rem}

/* =========================================================
   CONTACT
========================================================= */
.contact-stack{display:grid;gap:1rem}
.contact-item{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--hj-border)}
.contact-item small{display:block;color:var(--hj-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.contact-item a,.contact-item span{color:var(--hj-ink);text-decoration:none;font-weight:700}
.contact-item a:hover{color:var(--hj-red)}
.legal-info-box{padding:1.25rem;border:1px solid var(--hj-border);border-radius:var(--hj-radius);background:var(--hj-paper-2);font-size:.9rem}

@media(max-width:991.98px){
  .utility-bar .container{justify-content:center!important}
  .utility-actions{width:100%;justify-content:center;gap:1rem!important}
  .blog-feature-image{min-height:320px}
  .article-toc-wrap{position:static;margin-bottom:1rem}
  .article-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;gap:.5rem}
  .article-toc a{border:1px solid var(--hj-border);border-radius:4px;padding:.7rem}
}
@media(max-width:575.98px){
  .utility-actions{gap:.65rem!important;font-size:.76rem}
  .utility-login{padding:.3rem .55rem}
  .article-callout{grid-template-columns:1fr}
  .article-toc{grid-template-columns:1fr}
}

/* =========================================================
   LOGO
   Change the three --logo-*-height variables in :root above.
========================================================= */
.site-logo-img{display:block;width:auto;height:var(--logo-header-height);max-width:340px;object-fit:contain}
.site-logo-img-footer{height:var(--logo-footer-height);max-width:380px}
.logo-fallback strong{display:block;line-height:1;font-size:.98rem}
.logo-fallback small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hj-muted);margin-top:.3rem}
@media(max-width:575.98px){.site-logo-img{height:var(--logo-mobile-height);max-width:260px}.site-logo-img-footer{height:calc(var(--logo-mobile-height) + 10px)}}

/* Keep Bootstrap red utilities aligned with the brand burgundy. */
.text-danger{color:var(--hj-red)!important}


/* ==========================================================
   BUTTON / LINK INTERACTION COLOURS
   Prevent Bootstrap/browser active & focus states turning blue.
   ========================================================== */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:first-child:active,
:not(.btn-check) + .btn-primary:active,
.btn-check:checked + .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #722F37;
    --bs-btn-border-color: #722F37;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #5f2730;
    --bs-btn-hover-border-color: #5f2730;
    --bs-btn-focus-shadow-rgb: 114, 47, 55;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #542229;
    --bs-btn-active-border-color: #542229;
    background-color: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color);
    color: var(--bs-btn-color);
}

.btn-primary:focus-visible,
.btn-outline-primary:focus-visible,
.btn:focus-visible {
    outline: 2px solid #722F37;
    outline-offset: 2px;
    box-shadow: none;
}

.btn-outline-primary {
    --bs-btn-color: #722F37;
    --bs-btn-border-color: #722F37;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #722F37;
    --bs-btn-hover-border-color: #722F37;
    --bs-btn-focus-shadow-rgb: 114, 47, 55;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #542229;
    --bs-btn-active-border-color: #542229;
}

a:focus-visible {
    outline-color: #722F37;
}
