
:root{--jht-black:#080808;--jht-charcoal:#151515;--jht-gold:#d2a84a;--jht-cream:#f4f0e7;--jht-white:#fff;--jht-muted:#c8c8c8}
html{scroll-behavior:smooth}
body.jht-homepage-active{margin:0!important;background:var(--jht-black)!important}
body.jht-homepage-active .wp-site-blocks{padding:0!important}
body.jht-homepage-active .wp-block-post-title,
body.jht-homepage-active .entry-title,
body.jht-homepage-active main>.wp-block-group:first-child>h1,
body.jht-homepage-active footer.wp-block-template-part,
body.jht-homepage-active .wp-site-blocks>footer,
body.jht-homepage-active header.wp-block-template-part,
body.jht-homepage-active .wp-site-blocks>header{display:none!important}
body.jht-homepage-active main,
body.jht-homepage-active .wp-block-post-content,
body.jht-homepage-active .entry-content{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
#jht-homepage{font-family:Arial,Helvetica,sans-serif;background:var(--jht-black);color:var(--jht-white);line-height:1.55}
#jht-homepage *{box-sizing:border-box}
.jht-header{position:sticky;top:0;z-index:999;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(4,4,4,.97);border-bottom:1px solid rgba(210,168,74,.35);padding:14px clamp(18px,4vw,64px)}
.jht-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;letter-spacing:.05em}
.jht-brand strong,.jht-brand small{display:block}.jht-brand strong{font-size:15px}.jht-brand small{font-size:9px;color:var(--jht-gold);letter-spacing:.14em}
.jht-roof{font-size:32px;color:var(--jht-gold)}
.jht-nav{display:flex;align-items:center;gap:20px}.jht-nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.05em}.jht-nav a:hover{color:var(--jht-gold)}
.jht-phone-top{border:1px solid var(--jht-gold);padding:10px 14px;color:var(--jht-gold)!important}
.jht-menu-toggle{display:none;background:none;border:1px solid var(--jht-gold);color:var(--jht-gold);font-size:24px;padding:5px 10px}
.jht-hero{min-height:650px;background-size:cover;background-position:center;display:flex;align-items:center;padding:80px clamp(22px,7vw,110px)}
.jht-hero-content{max-width:700px}.jht-eyebrow{color:var(--jht-gold);text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:800}.centered{text-align:center}
.jht-hero h1{font-family:Georgia,serif;font-size:clamp(46px,7vw,86px);line-height:1.02;margin:12px 0 22px}.jht-hero h1 span{color:var(--jht-gold)}
.jht-hero p:not(.jht-eyebrow){max-width:620px;font-size:18px;color:#eee}
.jht-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.jht-btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:13px 22px;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;font-weight:800;font-size:12px}
.jht-btn-gold{background:var(--jht-gold);color:#080808}.jht-btn-outline{border:1px solid var(--jht-gold);color:#fff;background:rgba(0,0,0,.28)}
.jht-trust{display:grid;grid-template-columns:repeat(4,1fr);background:#101010;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a}
.jht-trust article{display:flex;gap:12px;padding:24px;border-right:1px solid #2a2a2a}.jht-trust article:last-child{border-right:0}.jht-trust b{font-size:28px;color:var(--jht-gold)}.jht-trust strong,.jht-trust span{display:block}.jht-trust strong{font-size:13px;color:var(--jht-gold);text-transform:uppercase}.jht-trust span{font-size:12px;color:#d5d5d5}
.jht-section{padding:75px clamp(20px,6vw,90px)}.jht-dark{background:#0b0b0b}.jht-section h2,.jht-contact h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,58px);line-height:1.12;margin:8px 0 18px;text-align:center}.jht-intro{max-width:850px;margin:0 auto 38px;text-align:center;color:#d3d3d3}
.jht-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1200px;margin:0 auto}
.jht-service-card{position:relative;background:#1a1a1a;color:#fff;text-decoration:none;border:1px solid #272727;overflow:hidden}.jht-service-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .35s}.jht-service-card:hover img{transform:scale(1.04)}.jht-service-card span{display:flex;justify-content:space-between;gap:8px;padding:14px;font-size:12px;font-weight:800;text-transform:uppercase}.jht-service-card b{color:var(--jht-gold)}
.center-btn{width:max-content;margin:30px auto 0;display:flex}
.jht-about{display:grid;grid-template-columns:1fr 1.25fr;gap:55px;background:var(--jht-cream);color:#151515;align-items:center}.jht-about h2{text-align:left}.jht-about-image img{width:100%;display:block;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.jht-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-top:26px}.jht-feature-list p{border-top:1px solid #d7cab0;padding-top:12px}.jht-feature-list b,.jht-feature-list span{display:block}.jht-feature-list b{color:#8b681f}.jht-feature-list span{font-size:13px;color:#444}
.jht-split{display:flex;justify-content:space-between;align-items:center;gap:30px}.jht-split h2{text-align:left}.jht-split>div{max-width:750px}
.jht-design{background:linear-gradient(135deg,#f7f1e6,#fff);color:#161616;text-align:center}
.jht-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1100px;margin:35px auto 0}.jht-reviews blockquote{margin:0;padding:30px;background:#151515;border-top:3px solid var(--jht-gold);color:#eee;font-family:Georgia,serif;font-size:18px}
.jht-contact{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:55px clamp(20px,6vw,90px);background:#151515;border-top:1px solid var(--jht-gold)}.jht-contact h2{text-align:left;margin:5px 0}.jht-contact p{margin:0;color:#d7d7d7}
.jht-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;padding:30px;background:#050505;border-top:1px solid #272727;color:#bbb;text-align:center;font-size:13px}.jht-footer strong{color:var(--jht-gold)}.jht-footer a{color:#fff}
@media(max-width:980px){
  .jht-menu-toggle{display:block}.jht-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#080808;padding:18px 24px;border-bottom:1px solid var(--jht-gold)}.jht-nav.is-open{display:flex}.jht-nav a{padding:10px 0}
  .jht-trust{grid-template-columns:1fr 1fr}.jht-service-grid{grid-template-columns:1fr 1fr}.jht-about{grid-template-columns:1fr}.jht-split,.jht-contact{align-items:flex-start;flex-direction:column}.jht-reviews{grid-template-columns:1fr}
}
@media(max-width:600px){
  .jht-header{padding:12px 16px}.jht-brand strong{font-size:12px}.jht-brand small{font-size:8px}.jht-roof{font-size:24px}
  .jht-hero{min-height:620px;padding:72px 22px;background-position:62% center}.jht-hero h1{font-size:47px}.jht-hero p:not(.jht-eyebrow){font-size:16px}.jht-actions{flex-direction:column}.jht-btn{width:100%}
  .jht-trust{grid-template-columns:1fr}.jht-trust article{border-right:0;border-bottom:1px solid #2a2a2a}.jht-service-grid{grid-template-columns:1fr}.jht-feature-list{grid-template-columns:1fr}.jht-section{padding:58px 18px}.jht-about{gap:30px}.center-btn{width:100%}
}


/* Version 2 refinements */
.jht-roofmark{position:relative;display:inline-block;width:39px;height:30px;flex:0 0 39px}
.jht-roofmark i,.jht-roofmark em{position:absolute;display:block}
.jht-roofmark i{width:29px;height:29px;border-top:3px solid var(--jht-gold);border-left:3px solid var(--jht-gold);transform:rotate(45deg);left:5px;top:8px}
.jht-roofmark em{width:28px;height:17px;border-left:2px solid var(--jht-gold);border-right:2px solid var(--jht-gold);border-bottom:2px solid var(--jht-gold);left:6px;top:13px;background:#080808}
.jht-service-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.jht-service-card-v2{display:grid;grid-template-columns:66px 1fr auto;align-items:center;gap:18px;min-height:135px;padding:24px;background:linear-gradient(135deg,#111,#1b1b1b);border:1px solid #303030;border-left:3px solid var(--jht-gold);color:#fff;text-decoration:none;transition:transform .2s,border-color .2s,background .2s}
.jht-service-card-v2:hover{transform:translateY(-2px);border-color:var(--jht-gold);background:linear-gradient(135deg,#171717,#222)}
.jht-service-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border:1px solid var(--jht-gold);font-family:Georgia,serif;font-size:29px;color:var(--jht-gold)}
.jht-service-copy strong,.jht-service-copy small{display:block}
.jht-service-copy strong{font-size:15px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.jht-service-copy small{font-size:13px;line-height:1.45;color:#cfcfcf}
.jht-service-card-v2>b{font-size:23px;color:var(--jht-gold)}
.jht-review-feature{max-width:850px;margin:36px auto 0;padding:42px;text-align:center;background:#151515;border-top:3px solid var(--jht-gold)}
.jht-review-feature h3{font-family:Georgia,serif;font-size:clamp(28px,4vw,42px);margin:8px 0 15px}
.jht-review-feature p{color:#d3d3d3;max-width:680px;margin:0 auto 25px}
.jht-stars{color:var(--jht-gold);font-size:28px;letter-spacing:.18em}
@media(max-width:700px){
 .jht-service-grid-v2{grid-template-columns:1fr}
 .jht-service-card-v2{grid-template-columns:56px 1fr auto;gap:14px;padding:20px;min-height:126px}
 .jht-service-icon{width:50px;height:50px;font-size:24px}
 .jht-service-copy strong{font-size:14px}
 .jht-service-copy small{font-size:12px}
 .jht-review-feature{padding:30px 20px}
}


/* Version 3 branding and homepage additions */
.jht-brand-words strong{
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:.065em!important;
}
.jht-brand-words small{
  font-size:10px!important;
  font-weight:800!important;
}
.jht-roofmark{width:48px!important;height:35px!important;flex-basis:48px!important}
.jht-roofmark i{width:32px!important;height:32px!important;left:8px!important;top:8px!important;border-width:4px 0 0 4px!important}
.jht-roofmark em{width:34px!important;height:19px!important;left:7px!important;top:14px!important;border-width:0 3px 3px!important}

.jht-owner-feature{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:55px;
  align-items:center;
  background:#0b0b0b;
}
.jht-owner-copy h2{
  text-align:left;
  margin-bottom:24px;
}
.jht-owner-copy p{color:#d2d2d2;max-width:720px}
.jht-owner-copy h3{
  font-family:Georgia,serif;
  color:var(--jht-gold);
  font-size:42px;
  margin:28px 0 0;
}
.jht-owner-title{
  display:block;
  margin:2px 0 24px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  color:#cfcfcf;
}
.jht-owner-visual img{
  width:100%;
  display:block;
  border:1px solid rgba(210,168,74,.55);
  box-shadow:0 20px 55px rgba(0,0,0,.45);
}

.jht-design-feature{
  display:grid;
  grid-template-columns:1fr .8fr;
  align-items:center;
  gap:55px;
  text-align:left;
  background:linear-gradient(135deg,#17130d,#080808);
  color:#fff;
}
.jht-design-feature h2{text-align:left;color:#fff}
.jht-design-copy p{color:#dedede}
.jht-design-copy ul{
  list-style:none;
  padding:0;
  margin:25px 0 30px;
}
.jht-design-copy li{
  position:relative;
  padding:8px 0 8px 28px;
  color:#e2e2e2;
}
.jht-design-copy li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--jht-gold);
  font-weight:900;
}
.jht-design-visual img{
  width:100%;
  display:block;
  border:1px solid rgba(210,168,74,.65);
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}

@media(max-width:850px){
  .jht-owner-feature,.jht-design-feature{grid-template-columns:1fr;gap:32px}
  .jht-owner-copy h2,.jht-design-feature h2{text-align:left}
  .jht-owner-visual{order:-1}
}
@media(max-width:600px){
  .jht-brand-words strong{font-size:15px!important}
  .jht-brand-words small{font-size:9px!important}
  .jht-roofmark{width:41px!important;flex-basis:41px!important}
  .jht-owner-copy h3{font-size:34px}
}


/* Version 5 — official branding */
.jht-official-brand{
  display:flex!important;
  align-items:center!important;
  width:min(335px,67vw)!important;
  height:76px!important;
  overflow:hidden!important;
  padding:0!important;
}
.jht-official-brand img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
  display:block!important;
}
.jht-footer-v5{
  flex-direction:column!important;
  align-items:center!important;
  gap:20px!important;
  padding:42px 20px 34px!important;
}
.jht-footer-logo{
  width:min(430px,88vw)!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
}
.jht-footer-details{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 24px;
  color:#cfcfcf;
  text-align:center;
}
.jht-footer-details a{
  color:#fff;
  font-weight:700;
}
@media(max-width:600px){
  .jht-official-brand{
    width:245px!important;
    height:62px!important;
  }
  .jht-header{
    min-height:88px;
  }
  .jht-footer-logo{
    width:min(350px,92vw)!important;
  }
}
