
:root{--gold:#f5bd27;--black:#0a0a0a;--cream:#f6f3ed;--white:#fff;--muted:#696969;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#151515;background:#fff}a{text-decoration:none;color:inherit}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.top{background:var(--gold);padding:8px 0;font-size:13px;font-weight:800;text-align:center;letter-spacing:.03em}
header{height:86px;background:#090909;color:white;display:flex;align-items:center;position:sticky;top:0;z-index:20;border-bottom:1px solid #222}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:190px;max-height:52px;object-fit:contain}.links{display:flex;align-items:center;gap:25px;font-weight:700;font-size:14px}.links a:hover{color:var(--gold)}.cta{background:var(--gold);color:#111!important;padding:14px 18px;border-radius:4px}
.dropdown{position:relative}.drop{display:none;position:absolute;top:22px;left:-20px;background:white;color:#111;padding:18px;min-width:230px;box-shadow:0 15px 35px #0003}.dropdown:hover .drop{display:grid;gap:12px}.drop a:hover{color:#9b6c00}
.hero{min-height:650px;background:linear-gradient(90deg,rgba(0,0,0,.79),rgba(0,0,0,.30)),url('assets/hero.jpg') center/cover;display:flex;align-items:center;color:#fff}
.hero-content{max-width:720px;padding:80px 0}.eyebrow{color:var(--gold);font-size:13px;letter-spacing:.16em;font-weight:900;text-transform:uppercase}.hero h1{font-size:clamp(48px,7vw,84px);line-height:.92;margin:15px 0 22px;letter-spacing:-.055em}.hero p{font-size:19px;line-height:1.55;max-width:650px;color:#eee}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn,a.btn,button.btn{appearance:none;-webkit-appearance:none;padding:16px 21px;border-radius:4px;font-family:inherit;font-size:16px;font-weight:900;line-height:1.25;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;cursor:pointer}.btn.gold{background:var(--gold);color:#111;border:0}.btn.outline{border:1px solid #fff;color:#fff;background:transparent}.btn.dark{background:#111;color:#fff;border:0}
.trust{background:#111;color:white}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0;text-align:center;font-weight:800;font-size:14px}.trust-grid div+div{border-left:1px solid #444}.trust b{color:var(--gold)}
section{padding:90px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section-head h2{font-size:clamp(35px,5vw,58px);letter-spacing:-.045em;margin:8px 0}.section-head p{max-width:550px;color:#666;line-height:1.6}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#f3f1ec;padding:32px;min-height:260px;display:flex;flex-direction:column;justify-content:end;transition:.2s}.card:hover{transform:translateY(-4px);background:#eee8dc}.card small{color:#9b6c00;font-weight:900}.card h3{font-size:29px;margin:10px 0}.card p{color:#666;line-height:1.5}.arrow{font-weight:900;margin-top:12px}
.tools{background:var(--black);color:white}.tools .section-head p{color:#bbb}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tool{border:1px solid #333;padding:30px;min-height:260px}.tool .num{color:var(--gold);font-size:13px;font-weight:900}.tool h3{font-size:28px}.tool p{color:#bbb;line-height:1.55}.tool a{color:var(--gold);font-weight:900}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.split h2{font-size:50px;letter-spacing:-.04em}.split p{color:#666;line-height:1.7}.goldbox{background:var(--gold);padding:55px}.goldbox h3{font-size:35px;margin-top:0}.goldbox p{color:#222}
.final{background:#efede7;text-align:center}.final h2{font-size:50px;margin:0 0 15px}.final p{color:#666}
footer{background:#080808;color:#ddd;padding:55px 0}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.foot img{width:210px}.foot h4{color:var(--gold)}.foot p,.foot a{font-size:14px;color:#aaa;line-height:1.8}.copyright{border-top:1px solid #333;margin-top:40px;padding-top:20px;color:#777;font-size:12px}
.pagehero{background:#111;color:white;padding:90px 0}.pagehero h1{font-size:60px;margin:10px 0}.content{max-width:850px}.content h2{font-size:38px}.content p{line-height:1.75;color:#555}.form{display:grid;gap:14px;max-width:720px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form input,.form select,.form textarea{width:100%;padding:16px;border:1px solid #ccc;font:inherit}.form textarea{min-height:130px}.mobile{display:none}
@media(max-width:850px){.links{display:none}.mobile{display:block;color:var(--gold);font-weight:900}.hero{min-height:570px}.trust-grid,.cards,.tool-grid,.split,.foot{grid-template-columns:1fr}.trust-grid div+div{border-left:0;border-top:1px solid #333;padding-top:15px}.trust-grid{gap:15px}.section-head{display:block}.form-row{grid-template-columns:1fr}.hero h1{font-size:52px}.pagehero h1{font-size:45px}}

/* V2 address-first experience */
.hero-v2{min-height:720px;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.28)),url('assets/hero.jpg') center/cover;display:flex;align-items:center;color:#fff}
.hero-v2 .hero-content{max-width:830px}
.address-launch{margin-top:30px;background:#fff;padding:9px;border-radius:7px;display:flex;gap:8px;max-width:760px;box-shadow:0 18px 50px #0005}
.address-launch input{flex:1;border:0;padding:17px 18px;font-size:17px;outline:0;min-width:0}
.address-launch button{border:0;background:var(--gold);font-weight:900;padding:0 24px;border-radius:4px;cursor:pointer;font-size:15px}
.micro{font-size:12px!important;color:#ddd!important;margin-top:10px}
.path-section{background:#f5f2eb}.path-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.path{background:white;padding:25px 20px;border:1px solid #e3dfd5;cursor:pointer;min-height:190px;transition:.2s}
.path:hover{transform:translateY(-4px);border-color:#c89513}.path .icon{font-size:28px}.path h3{font-size:19px;margin:18px 0 8px}.path p{font-size:13px;line-height:1.45;color:#666}
.experience{display:none;background:#0a0a0a;color:white;padding:45px 0}.experience.active{display:block}.experience-card{max-width:800px;margin:auto}.experience .back{background:none;border:0;color:#aaa;cursor:pointer;padding:0;margin-bottom:20px}.experience h2{font-size:42px;margin:0 0 10px}.experience p{color:#bbb;line-height:1.6}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.choice{border:1px solid #444;padding:18px;background:#151515;color:#fff;text-align:left;cursor:pointer;font-weight:800}.choice:hover,.choice.selected{border-color:var(--gold);color:var(--gold)}
.capture{display:none;margin-top:28px;border-top:1px solid #333;padding-top:28px}.capture.show{display:block}.capture h3{font-size:25px;margin:0 0 8px}.capture-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.capture-form input{padding:15px;border:1px solid #444;background:#151515;color:white}.capture-form button{grid-column:1/-1;border:0;background:var(--gold);padding:16px;font-weight:900;cursor:pointer}
.report-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.report-tile{background:#151515;border:1px solid #333;padding:22px}.report-tile small{color:var(--gold);font-weight:900}.report-tile h4{font-size:19px;margin:10px 0}.report-tile p{font-size:13px}
@media(max-width:850px){.address-launch{display:grid}.address-launch button{padding:17px}.path-grid{grid-template-columns:1fr 1fr}.report-preview{grid-template-columns:1fr 1fr}.hero-v2{min-height:650px}}
@media(max-width:520px){.path-grid,.choice-grid,.capture-form,.report-preview{grid-template-columns:1fr}.capture-form button{grid-column:auto}}

/* V3 refinement */
.hero-v2{position:relative;background-image:url('assets/hero.jpg');}
.hero-v2:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 42%,rgba(0,0,0,.36) 76%,rgba(0,0,0,.18) 100%)}
.hero-v2 .wrap{position:relative;z-index:1}
.hero-v2 .eyebrow{color:#ffd55e;text-shadow:0 1px 8px #000}
.hero-v2 h1,.hero-v2 h3,.hero-v2 p{text-shadow:0 2px 14px rgba(0,0,0,.75)}
.hero-v2 p{color:#fff}
.lineicon,.choiceicon{color:#b88400}
.lineicon svg{width:34px;height:34px}.choiceicon svg{width:23px;height:23px}
.lineicon svg,.choiceicon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.choice{display:flex;align-items:center;gap:13px}.choiceicon{flex:0 0 auto;color:var(--gold)}
.service-preview{background:#fff}
.financing-band{background:var(--gold)}
.financing-band .eyebrow{color:#111}.financing-band .split h2{margin-bottom:12px}
.financing-band .split p{color:#2d2d2d}
.finance-stat{background:#111;color:#fff;padding:42px;min-height:260px;display:flex;flex-direction:column;justify-content:center}
.finance-stat span{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.15em}
.finance-stat strong{font-size:30px;line-height:1.15;margin:14px 0 25px}.finance-stat a{color:var(--gold);font-weight:900}
@media(max-width:850px){.hero-v2:before{background:rgba(0,0,0,.72)}}

/* V4b — corrected hero override. Keep content aligned to the site's container. */
.hero-v2{
  min-height:680px;
  background-image:url('assets/hero.jpg');
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center center;
}
.hero-v2:before{
  background:linear-gradient(90deg,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.92) 28%,
    rgba(0,0,0,.76) 48%,
    rgba(0,0,0,.36) 72%,
    rgba(0,0,0,.12) 100%);
}
.hero-v2 .wrap.hero-content{
  width:min(var(--max),calc(100% - 40px));
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
  padding:72px 0;
}
.hero-v2 .eyebrow,
.hero-v2 h1,
.hero-v2 .hero-content>p,
.hero-v2 h3,
.hero-v2 .address-launch,
.hero-v2 .micro{
  max-width:720px;
}
.hero-v2 h1{
  font-size:clamp(48px,5.2vw,72px);
  line-height:.96;
  margin-top:18px;
}
.hero-v2 .hero-content>p:not(.micro){
  font-size:18px;
  line-height:1.55;
  color:#fff;
}
.address-launch{width:100%}

@media(max-width:1100px){
  .hero-v2{background-position:56% center}
  .hero-v2:before{
    background:linear-gradient(90deg,
      rgba(0,0,0,.96) 0%,
      rgba(0,0,0,.91) 40%,
      rgba(0,0,0,.62) 68%,
      rgba(0,0,0,.22) 100%);
  }
}
@media(max-width:850px){
  .hero-v2{min-height:640px;background-position:60% center}
  .hero-v2:before{background:rgba(0,0,0,.72)}
  .hero-v2 .wrap.hero-content{padding:55px 0}
}
@media(max-width:600px){
  .hero-v2{background-position:62% center}
  .hero-v2 h1{font-size:48px}
}

/* V4d — user-supplied flipped hero */
.hero-v2{
  background-image:url('assets/hero-flipped.jpg');
  background-position:center center;
}
@media(max-width:1100px){.hero-v2{background-position:52% center}}
@media(max-width:850px){.hero-v2{background-position:55% center}}
@media(max-width:600px){.hero-v2{background-position:57% center}}

/* V4f — clearer homepage section division */
.service-preview{
  background:#f3f1ec;
}
.service-preview .card{
  background:#fff;
}
.service-preview .card:hover{
  background:#fffaf0;
}

/* V4g — alternating homepage section rhythm */
.path-section{
  background:#fff;
}
.service-preview{
  background:#f3f1ec;
}
.service-preview .card{
  background:#fff;
}

/* V4h — service-card alignment */
.service-preview .card{
  display:grid;
  grid-template-rows:18px 42px minmax(76px,1fr) auto;
  align-content:start;
  min-height:275px;
}
.service-preview .card small{align-self:start}
.service-preview .card h3{margin:8px 0 12px}
.service-preview .card p{margin:0}
.service-preview .card .arrow{align-self:end}

/* Homepage lead prompt */
.lead-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:1000;display:none;align-items:center;justify-content:center;padding:22px}
.lead-modal.show{display:flex}
.lead-box{width:min(680px,100%);background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45);position:relative;overflow:hidden}
.lead-top{background:#111;color:#fff;padding:34px 38px 28px}
.lead-top .eyebrow{margin-bottom:8px}
.lead-top h2{font-size:38px;line-height:1.05;margin:0 0 10px;letter-spacing:-.035em}
.lead-top p{margin:0;color:#ccc;line-height:1.5}
.lead-body{padding:30px 38px 36px}
.lead-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer;z-index:2}
.lead-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.lead-option{padding:15px;border:1px solid #ddd;background:#fafafa;text-align:left;font-weight:800;cursor:pointer}
.lead-option:hover,.lead-option.active{border-color:#d49a00;background:#fff8e5}
.lead-next{width:100%;border:0;background:var(--gold);padding:16px;font-weight:900;cursor:pointer}
.lead-skip{display:block;margin:14px auto 0;border:0;background:none;color:#777;text-decoration:underline;cursor:pointer}
@media(max-width:600px){.lead-top,.lead-body{padding-left:24px;padding-right:24px}.lead-options{grid-template-columns:1fr}.lead-top h2{font-size:32px}}

/* V4i — complete lead flow as modal */
.modal-open{overflow:hidden}
.flow-modal{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.76);padding:28px;align-items:center;justify-content:center}
.flow-modal.show{display:flex}
.flow-shell{position:relative;width:min(940px,100%);max-height:calc(100vh - 56px);overflow:auto;background:#0b0b0b;color:#fff;border:1px solid #2d2d2d;box-shadow:0 35px 100px rgba(0,0,0,.55)}
.flow-step{display:none;padding:42px 54px 48px}.flow-step.active{display:block}
.flow-x{position:absolute;right:18px;top:14px;background:none;border:0;color:#aaa;font-size:30px;cursor:pointer;z-index:3}
.flow-back{border:0;background:none;color:#aaa;padding:0;margin:0 0 20px;cursor:pointer}
.flow-step .eyebrow{color:var(--gold)}
.flow-step h2{font-size:clamp(36px,5vw,55px);letter-spacing:-.045em;line-height:1;margin:7px 0 15px}
.flow-step>p{color:#bbb;font-size:17px;line-height:1.55}
.flow-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.flow-choices button{min-height:66px;display:flex;align-items:center;gap:14px;padding:16px 20px;background:#161616;border:1px solid #444;color:#fff;font-weight:800;text-align:left;cursor:pointer}
.flow-choices button:hover{border-color:var(--gold);color:var(--gold)}
.flow-icon{width:25px;color:var(--gold);font-size:21px;text-align:center}
.flow-form{margin-top:28px;border-top:1px solid #333;padding-top:26px}
.flow-address{margin-bottom:12px}.flow-address label{display:block;color:#bbb;font-size:12px;margin-bottom:7px}.flow-address label span{color:#777}
.flow-address input,.flow-form-grid input{width:100%;padding:16px;background:#161616;border:1px solid #444;color:#fff;font:inherit}
.flow-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.flow-submit{width:100%;border:0;background:var(--gold);padding:17px;margin-top:10px;font-weight:900;cursor:pointer}
.flow-note{font-size:11px!important;color:#777!important;margin:12px 0 0!important}
@media(max-width:700px){
 .flow-modal{padding:12px}.flow-shell{max-height:calc(100vh - 24px)}
 .flow-step{padding:34px 22px 30px}.flow-choices,.flow-form-grid{grid-template-columns:1fr}
 .flow-step h2{font-size:36px}
}

/* V4j — progressive property -> contact capture */
.property-step-form{margin-top:28px}
.property-step-form label{display:block;color:#bbb;font-size:12px;margin-bottom:8px}
.property-step-form input{width:100%;padding:18px;background:#161616;border:1px solid #444;color:#fff;font:inherit;font-size:16px}
.property-found{display:flex;align-items:center;gap:14px;border:1px solid #3a3a3a;background:#151515;padding:15px 18px;margin:0 0 26px}
.property-found>span{width:32px;height:32px;border-radius:50%;background:var(--gold);color:#111;display:grid;place-items:center;font-weight:900}
.property-found div{display:flex;flex-direction:column;gap:3px}
.property-found small{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.13em}
.property-found strong{font-size:15px}
#flowStep3 .flow-form{margin-top:25px}

/* V5 — persistent floating quick-start dock */
.quick-dock{
  position:fixed;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  width:min(880px,calc(100% - 40px));
  z-index:900;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:12px 12px 12px 20px;
  background:rgba(10,10,10,.97);
  color:#fff;
  border:1px solid #333;
  border-radius:8px;
  box-shadow:0 18px 55px rgba(0,0,0,.34);
  backdrop-filter:blur(8px);
}
.quick-dock-copy{display:flex;align-items:center;gap:13px;min-width:0}
.quick-dock-copy>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.quick-dock-copy strong{font-size:15px;white-space:nowrap}
.quick-dock-copy small{color:#aaa;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick-dot{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(245,189,39,.12);flex:0 0 auto}
.quick-dock button{border:0;border-radius:4px;background:var(--gold);color:#111;font-weight:900;padding:14px 18px;white-space:nowrap;cursor:pointer}
.quick-dock button:hover{filter:brightness(1.04)}
.quick-dock button span{margin-left:5px}
.flow-modal.show~main .quick-dock{opacity:0;pointer-events:none}
@media(max-width:700px){
  .quick-dock{
    bottom:10px;
    width:calc(100% - 20px);
    padding:10px 10px 10px 15px;
    border-radius:7px;
  }
  .quick-dock-copy>div{display:block}
  .quick-dock-copy strong{display:block;font-size:14px}
  .quick-dock-copy small{display:block;max-width:48vw;margin-top:2px}
  .quick-dock button{padding:13px 14px;font-size:11px}
}
@media(max-width:430px){
  .quick-dock-copy small{display:none}
  .quick-dock{gap:10px}
}

/* V5b — generalized goal -> recommendation flow */
.recommend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.recommend-card{display:flex;flex-direction:column;min-height:245px;padding:24px;background:#161616;border:1px solid #3e3e3e;color:#fff;text-decoration:none;transition:.16s ease}
.recommend-card:hover{border-color:var(--gold);transform:translateY(-2px);background:#1b1b1b}
.recommend-kicker{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.14em;margin-bottom:14px}
.recommend-card strong{font-size:21px;line-height:1.08;margin-bottom:12px}
.recommend-card p{color:#aaa;font-size:13px;line-height:1.5;margin:0 0 20px}
.recommend-card b{color:var(--gold);font-size:11px;margin-top:auto}
@media(max-width:760px){.recommend-grid{grid-template-columns:1fr}.recommend-card{min-height:0}}

/* V5d — persistent header + high-attention concierge, footer remains below it */
header{
  position:sticky;
  top:0;
  z-index:1200;
}

/* Reserve viewport space while concierge is fixed. JS switches it to normal flow
   when its placeholder reaches the end/footer zone. */
.persistent-concierge{
  position:sticky;
  bottom:0;
  z-index:800;
  background:#f6bd27;
  color:#0b0b0b;
  border-top:1px solid #d49a00;
  box-shadow:0 -12px 34px rgba(0,0,0,.20);
}
.persistent-concierge-inner{
  width:min(var(--max),calc(100% - 40px));
  margin:auto;
  min-height:116px;
  display:grid;
  grid-template-columns:250px 1fr;
  align-items:center;
  gap:26px;
  padding:14px 0;
}
.concierge-heading{border-right:1px solid rgba(0,0,0,.22);padding-right:24px}
.concierge-kicker{display:block;font-size:9px;font-weight:950;letter-spacing:.16em;margin-bottom:4px}
.concierge-heading strong{display:block;font-size:24px;line-height:1.02;letter-spacing:-.035em}
.concierge-heading small{display:block;font-size:10px;line-height:1.35;margin-top:6px;opacity:.7}
.concierge-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.concierge-actions button{
  min-height:78px;
  background:#0e0e0e;
  color:#fff;
  border:1px solid #0e0e0e;
  padding:10px 12px;
  text-align:left;
  cursor:pointer;
  transition:transform .15s ease,background .15s ease;
}
.concierge-actions button:hover{transform:translateY(-2px);background:#1b1b1b}
.concierge-actions button>span{display:block;color:#f6bd27;font-size:17px;margin-bottom:4px}
.concierge-actions button b{display:block;font-size:11px}
.concierge-actions button small{display:block;color:#999;font-size:9px;margin-top:2px}

/* Keep footer visually distinct once the sticky block reaches it. */
footer{position:relative;z-index:801}

@media(max-width:900px){
  .persistent-concierge-inner{grid-template-columns:180px 1fr;min-height:104px;gap:15px}
  .concierge-heading strong{font-size:20px}
  .concierge-heading small{display:none}
  .concierge-actions{overflow-x:auto;display:flex;scrollbar-width:none}
  .concierge-actions::-webkit-scrollbar{display:none}
  .concierge-actions button{flex:0 0 135px;min-height:70px}
}
@media(max-width:650px){
  .persistent-concierge-inner{display:block;width:calc(100% - 20px);padding:8px 0}
  .concierge-heading{border:0;padding:0 0 6px;display:flex;align-items:baseline;gap:8px}
  .concierge-kicker{display:none}
  .concierge-heading strong{font-size:16px;white-space:nowrap}
  .concierge-actions button{flex-basis:125px;min-height:58px;padding:7px 9px}
  .concierge-actions button>span{display:inline;margin-right:5px}
  .concierge-actions button small{display:none}
}

/* V5e — hero restoration guard */
.hero-v2{
  display:block !important;
  position:relative;
  min-height:680px;
  background-image:url('assets/hero-flipped.jpg') !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}
.hero-v2 .wrap.hero-content{position:relative;z-index:2}
@media(max-width:1100px){.hero-v2{background-position:52% center !important}}
@media(max-width:850px){.hero-v2{background-position:55% center !important;min-height:640px}}
@media(max-width:600px){.hero-v2{background-position:57% center !important}}

/* V5f — slimmer, white persistent concierge */
.persistent-concierge{
  background:#fff !important;
  color:#111 !important;
  border-top:1px solid #dedbd4 !important;
  box-shadow:0 -8px 24px rgba(0,0,0,.10) !important;
}
.persistent-concierge-inner{
  min-height:96px !important;
  padding:10px 0 !important;
}
.concierge-heading{
  border-right-color:#dedbd4 !important;
}
.concierge-kicker{
  color:#b87a00 !important;
}
.concierge-heading small{
  color:#666 !important;
  opacity:1 !important;
}
.concierge-actions button{
  min-height:64px !important;
  background:#f6f4ef !important;
  color:#111 !important;
  border-color:#dedbd4 !important;
  padding:8px 11px !important;
}
.concierge-actions button>span{
  color:#b87a00 !important;
  margin-bottom:2px !important;
}
.concierge-actions button small{
  color:#666 !important;
}
.concierge-actions button:hover{
  background:#fff !important;
  border-color:#d49a00 !important;
  transform:translateY(-2px);
}
@media(max-width:900px){
  .persistent-concierge-inner{min-height:88px !important}
  .concierge-actions button{min-height:60px !important}
}
@media(max-width:650px){
  .persistent-concierge-inner{padding:6px 0 !important}
  .concierge-actions button{min-height:52px !important}
}

/* V5g — tighter concierge, aligned mobile header, concierge remains final footer */
.persistent-concierge-inner{
  min-height:82px !important;
  padding:7px 0 !important;
}
.concierge-heading strong{font-size:21px !important}
.concierge-heading small{margin-top:3px !important}
.concierge-actions button{
  min-height:56px !important;
  padding:6px 10px !important;
}
.concierge-actions button>span{font-size:15px !important}

/* Let the concierge remain the final visible footer rather than yielding to footer. */
footer{
  display:none !important;
}

/* Mobile geometry: logo and hero copy share the exact same left guide.
   Hero bottom spacing mirrors the space above LOCAL EXPERTISE. */
@media(max-width:650px){
  header .wrap,
  .nav .wrap,
  .header-inner,
  .hero-v2 .wrap,
  .hero-v2 .wrap.hero-content{
    width:100% !important;
    padding-left:34px !important;
    padding-right:34px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .hero-v2{
    min-height:0 !important;
    padding-top:132px !important;
    padding-bottom:96px !important;
  }

  .persistent-concierge-inner{
    min-height:0 !important;
    padding:5px 0 !important;
  }
  .concierge-heading{
    padding-bottom:4px !important;
  }
  .concierge-heading strong{font-size:15px !important}
  .concierge-actions button{
    min-height:46px !important;
    padding:5px 8px !important;
  }
}

/* V5h — exact mobile logo alignment + restore original footer above concierge */

/* Restore the original site footer. Because the concierge is sticky and appears
   before the footer in document flow, the footer scrolls into view above it. */
footer{
  display:block !important;
  position:relative !important;
  z-index:801 !important;
}

/* On mobile the logo asset itself has visual whitespace, so align its visible
   MB mark with the hero copy rather than merely aligning its containing box. */
@media(max-width:650px){
  header .logo,
  header .brand,
  header a.logo{
    margin-left:-1px !important;
    transform:translateX(-1px) !important;
  }

  header .logo img,
  header .brand img,
  header a.logo img{
    transform:translateX(-1px) !important;
  }
}

/* V5J — unmistakably compact fixed intent rail */
body{padding-bottom:62px !important}
.persistent-concierge{
  position:fixed !important;left:0 !important;right:0 !important;bottom:0 !important;
  z-index:2000 !important;height:62px !important;background:#fff !important;
  border-top:1px solid #d9d6cf !important;box-shadow:0 -4px 16px rgba(0,0,0,.08) !important;padding:0 !important;
}
.persistent-concierge-inner{
  width:min(var(--max),calc(100% - 80px)) !important;height:62px !important;min-height:62px !important;
  margin:0 auto !important;padding:0 !important;display:grid !important;
  grid-template-columns:210px 1fr !important;align-items:center !important;gap:18px !important;
}
.concierge-heading{
  height:34px !important;padding:0 18px 0 0 !important;border-right:1px solid #ddd9d1 !important;
  display:flex !important;flex-direction:column !important;justify-content:center !important;
}
.concierge-kicker{display:block !important;color:#b57900 !important;font-size:7px !important;line-height:1 !important;letter-spacing:.16em !important;margin:0 0 4px !important}
.concierge-heading strong{font-size:15px !important;line-height:1 !important;letter-spacing:-.02em !important}
.concierge-heading small,.concierge-actions button small{display:none !important}
.concierge-actions{display:grid !important;grid-template-columns:repeat(5,1fr) !important;gap:6px !important;height:38px !important;overflow:visible !important}
.concierge-actions button{
  min-height:0 !important;height:38px !important;padding:0 10px !important;margin:0 !important;background:#fff !important;
  color:#111 !important;border:1px solid #ddd9d1 !important;display:flex !important;align-items:center !important;
  justify-content:flex-start !important;text-align:left !important;cursor:pointer !important;
}
.concierge-actions button span{display:inline !important;color:#b57900 !important;font-size:13px !important;margin:0 7px 0 0 !important}
.concierge-actions button b{display:inline !important;font-size:9px !important;line-height:1 !important}
footer{display:block !important;position:relative !important;z-index:1 !important;padding-bottom:62px !important}

/* Actual markup uses a.brand. Shift the visible logo left enough to match hero copy. */
@media(max-width:650px){
  body{padding-bottom:82px !important}
  header .wrap.nav{padding-left:34px !important;padding-right:34px !important}
  header a.brand{margin-left:-15px !important}
  .persistent-concierge{height:82px !important}
  .persistent-concierge-inner{
    width:calc(100% - 20px) !important;height:82px !important;min-height:82px !important;
    display:block !important;padding:6px 0 !important;
  }
  .concierge-heading{height:19px !important;border-right:0 !important;padding:0 !important;display:block !important}
  .concierge-kicker{display:none !important}
  .concierge-heading strong{font-size:13px !important}
  .concierge-actions{display:flex !important;height:44px !important;gap:5px !important;overflow-x:auto !important;scrollbar-width:none !important}
  .concierge-actions::-webkit-scrollbar{display:none}
  .concierge-actions button{flex:0 0 auto !important;height:36px !important;padding:0 9px !important}
  footer{padding-bottom:82px !important}
}
main > section:last-of-type{padding-top:58px !important;padding-bottom:58px !important}

/* V6 — right-edge concierge launcher + slide-out panel */

/* Undo old fixed-bar spacing */
body{padding-bottom:0 !important}
footer{padding-bottom:0 !important}

/* Correct header rail to hero rail on desktop. Hero content uses max-width 1040-ish within
   the shared site max; this aligns the brand wrapper to the same visual starting guide. */
@media(min-width:651px){
  header .wrap.nav{
    width:min(1040px,calc(100% - 80px)) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  header a.brand{margin-left:0 !important}
}

/* Edge launcher */
.concierge-tab{
  position:fixed;
  right:0;
  top:58%;
  transform:translateY(-50%);
  z-index:1450;
  width:58px;
  min-height:222px;
  border:0;
  border-radius:8px 0 0 8px;
  background:#f6bd27;
  color:#111;
  box-shadow:-8px 10px 28px rgba(0,0,0,.18);
  cursor:pointer;
  padding:14px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:11px;
}
.concierge-tab span{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:9px;
  font-weight:950;
  letter-spacing:.16em;
}
.concierge-tab b{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:12px;
  line-height:1.1;
}
.concierge-tab i{
  font-style:normal;
  font-size:18px;
}
.concierge-tab:hover{background:#ffc72c}

/* Slideout */
.concierge-scrim{
  position:fixed;inset:0;background:rgba(0,0,0,.46);
  opacity:0;pointer-events:none;transition:opacity .22s ease;z-index:1490;
}
.concierge-scrim.show{opacity:1;pointer-events:auto}
.concierge-panel{
  position:fixed;top:0;right:0;bottom:0;
  width:min(480px,100vw);
  background:#0d0d0d;color:#fff;
  z-index:1500;
  transform:translateX(102%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
  padding:64px 38px 34px;
  overflow-y:auto;
  box-shadow:-24px 0 60px rgba(0,0,0,.30);
}
.concierge-panel.open{transform:translateX(0)}
.concierge-panel-close{
  position:absolute;right:24px;top:20px;background:none;border:0;color:#aaa;
  font-size:31px;font-weight:300;cursor:pointer;line-height:1;
}
.concierge-panel-close:hover{color:#fff}
.concierge-panel-kicker{
  color:#f6bd27;font-size:10px;font-weight:950;letter-spacing:.15em;margin-bottom:12px;
}
.concierge-panel h2{
  font-size:40px;line-height:.98;letter-spacing:-.045em;margin:0 0 16px;max-width:390px;
}
.concierge-panel-intro{
  color:#aaa;font-size:14px;line-height:1.5;margin:0 0 28px;max-width:390px;
}
.concierge-panel-options{border-top:1px solid #333}
.concierge-panel-options>button{
  width:100%;background:transparent;border:0;border-bottom:1px solid #333;color:#fff;
  display:grid;grid-template-columns:34px 1fr 20px;align-items:center;gap:10px;
  text-align:left;padding:17px 4px;cursor:pointer;
}
.concierge-panel-options>button:hover{background:#151515}
.concierge-panel-options>button>span{
  width:28px;height:28px;border:1px solid #735b17;color:#f6bd27;
  display:grid;place-items:center;font-size:14px;
}
.concierge-panel-options strong{display:block;font-size:14px;line-height:1.2}
.concierge-panel-options small{display:block;color:#888;font-size:10px;margin-top:4px}
.concierge-panel-options>button>b{color:#f6bd27;font-size:16px}
.concierge-panel-foot{
  margin-top:28px;padding:18px;background:#f6bd27;color:#111;
}
.concierge-panel-foot span{display:block;font-size:10px;font-weight:700;margin-bottom:5px}
.concierge-panel-foot a{color:#111;text-decoration:none;font-size:13px;font-weight:950}

/* Mobile becomes a small horizontal edge pill and full-width bottom-style sheet. */
@media(max-width:650px){
  header a.brand{margin-left:-15px !important}
  .concierge-tab{
    top:auto;right:12px;bottom:14px;transform:none;
    width:auto;min-height:0;height:46px;border-radius:5px;
    padding:0 14px;flex-direction:row;gap:8px;
  }
  .concierge-tab span,.concierge-tab b{
    writing-mode:horizontal-tb;transform:none;
  }
  .concierge-tab span{font-size:8px}
  .concierge-tab b{font-size:11px}
  .concierge-panel{
    top:auto;left:0;right:0;bottom:0;width:100%;
    max-height:92vh;padding:48px 22px 24px;
    transform:translateY(102%);
    border-radius:14px 14px 0 0;
  }
  .concierge-panel.open{transform:translateY(0)}
  .concierge-panel h2{font-size:32px}
  .concierge-panel-options>button{padding:14px 2px}
}

/* V6B — stronger concierge launcher + actually align logo to hero */

/* DESKTOP: hero copy starts on the site's content rail. Put header on that SAME rail.
   Previous v6 narrowed the header to 1040px, which pushed the logo farther right. */
@media(min-width:651px){
  header .wrap.nav{
    width:min(var(--max),calc(100% - 80px)) !important;
    max-width:var(--max) !important;
    margin:0 auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  header a.brand{
    margin-left:0 !important;
    transform:translateX(-43px) !important;
  }
}

/* MOBILE: hero starts at 34px; shift visible brand mark left substantially. */
@media(max-width:650px){
  header .wrap.nav{
    width:100% !important;
    padding-left:34px !important;
    padding-right:34px !important;
    margin:0 !important;
  }
  header a.brand{
    margin-left:0 !important;
    transform:translateX(-15px) !important;
  }
}

/* Make the concierge launcher read like a real CTA rather than a tiny edge tab. */
.concierge-tab{
  right:18px !important;
  top:auto !important;
  bottom:28px !important;
  transform:none !important;
  width:250px !important;
  min-height:0 !important;
  height:auto !important;
  border-radius:7px !important;
  padding:14px 16px !important;
  display:grid !important;
  grid-template-columns:1fr auto !important;
  grid-template-areas:"eyebrow arrow" "title arrow" !important;
  align-items:center !important;
  text-align:left !important;
  gap:3px 12px !important;
  box-shadow:0 12px 34px rgba(0,0,0,.24) !important;
}
.concierge-tab span{
  grid-area:eyebrow !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
  font-size:8px !important;
  letter-spacing:.15em !important;
}
.concierge-tab b{
  grid-area:title !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
  font-size:13px !important;
  line-height:1.15 !important;
}
.concierge-tab i{
  grid-area:arrow !important;
  font-size:21px !important;
}
.concierge-tab::after{
  content:"";
  position:absolute;
  inset:-5px;
  border:1px solid rgba(246,189,39,.45);
  border-radius:10px;
  pointer-events:none;
}

/* On mobile keep it visible but not obnoxious. */
@media(max-width:650px){
  .concierge-tab{
    right:12px !important;
    bottom:14px !important;
    width:205px !important;
    padding:11px 13px !important;
  }
  .concierge-tab b{font-size:11px !important}
}

/* V6C — centered bottom concierge dock + upward-expanding sheet */

/* Launcher: centered, wider, unmistakably interactive */
.concierge-tab{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;
  z-index:1450 !important;
  width:min(520px,calc(100% - 40px)) !important;
  min-height:0 !important;
  height:64px !important;
  border-radius:8px !important;
  padding:10px 16px 10px 20px !important;
  background:#f6bd27 !important;
  color:#111 !important;
  box-shadow:0 12px 34px rgba(0,0,0,.26) !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  grid-template-rows:auto auto !important;
  grid-template-areas:
    "eyebrow title arrow"
    "eyebrow sub arrow" !important;
  column-gap:14px !important;
  row-gap:1px !important;
  align-items:center !important;
  text-align:left !important;
}
.concierge-tab::before{
  content:"";
  position:absolute;
  top:-4px;
  left:50%;
  width:42px;
  height:4px;
  transform:translateX(-50%);
  border-radius:99px;
  background:#111;
  opacity:.18;
}
.concierge-tab::after{
  content:"";
  position:absolute;
  inset:-5px;
  border:1px solid rgba(246,189,39,.48);
  border-radius:11px;
  pointer-events:none;
}
.concierge-tab span{
  grid-area:eyebrow !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
  font-size:8px !important;
  font-weight:950 !important;
  letter-spacing:.15em !important;
  padding-right:14px !important;
  border-right:1px solid rgba(17,17,17,.25) !important;
  align-self:stretch !important;
  display:flex !important;
  align-items:center !important;
}
.concierge-tab b{
  grid-area:title !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
  font-size:14px !important;
  line-height:1.05 !important;
  align-self:end !important;
}
.concierge-tab em{
  grid-area:sub !important;
  display:block !important;
  font-style:normal !important;
  font-size:9px !important;
  line-height:1.1 !important;
  opacity:.72 !important;
  align-self:start !important;
}
.concierge-tab i{
  grid-area:arrow !important;
  font-style:normal !important;
  font-size:22px !important;
  font-weight:800 !important;
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  background:#111 !important;
  color:#f6bd27 !important;
  display:grid !important;
  place-items:center !important;
}
.concierge-tab:hover{
  background:#ffc72c !important;
  transform:translateX(-50%) translateY(-2px) !important;
}

/* Panel is now a bottom sheet, not a sidebar */
.concierge-panel{
  top:auto !important;
  left:50% !important;
  right:auto !important;
  bottom:0 !important;
  width:min(760px,calc(100% - 32px)) !important;
  max-height:min(88vh,760px) !important;
  transform:translate(-50%,102%) !important;
  transition:transform .30s cubic-bezier(.2,.8,.2,1) !important;
  border-radius:14px 14px 0 0 !important;
  padding:48px 48px 34px !important;
  box-shadow:0 -24px 70px rgba(0,0,0,.34) !important;
}
.concierge-panel.open{
  transform:translate(-50%,0) !important;
}
.concierge-panel h2{
  font-size:42px !important;
  max-width:560px !important;
}
.concierge-panel-intro{
  max-width:560px !important;
}
.concierge-panel-options{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:0 18px !important;
}
.concierge-panel-options>button:last-child{
  grid-column:1/-1 !important;
}

/* Mobile: full-width-ish dock and sheet */
@media(max-width:650px){
  .concierge-tab{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    transform:none !important;
    width:auto !important;
    height:58px !important;
    padding:9px 12px !important;
    grid-template-columns:auto 1fr auto !important;
    column-gap:10px !important;
  }
  .concierge-tab:hover{transform:translateY(-1px) !important}
  .concierge-tab span{
    font-size:7px !important;
    padding-right:10px !important;
  }
  .concierge-tab b{font-size:12px !important}
  .concierge-tab em{font-size:8px !important}
  .concierge-tab i{width:30px !important;height:30px !important;font-size:18px !important}

  .concierge-panel{
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-height:92vh !important;
    transform:translateY(102%) !important;
    border-radius:14px 14px 0 0 !important;
    padding:44px 20px 22px !important;
  }
  .concierge-panel.open{transform:translateY(0) !important}
  .concierge-panel h2{font-size:31px !important}
  .concierge-panel-options{display:block !important}
}

/* V7 — question-first homepage */
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-ghost{border:1px solid rgba(255,255,255,.72);color:#fff;background:rgba(0,0,0,.16);backdrop-filter:blur(3px)}
.hero-ghost:hover{background:#fff;color:#111}
.hero-v2 .hero-actions{max-width:760px}
.home-tools{background:#0b0b0b;color:#fff;padding:100px 0}
.home-tools .section-head p{color:#aaa}
.home-tools .section-head h2{color:#fff}
.home-tool-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-items:stretch}
.home-tool-card{grid-column:span 2;appearance:none;border:1px solid #2b2b2b;background:#141414;color:#fff;padding:28px;text-align:left;min-height:300px;display:flex;flex-direction:column;cursor:pointer;transition:.2s;font:inherit;position:relative}
.home-tool-card:nth-child(4){grid-column:2/span 2}.home-tool-card:nth-child(5){grid-column:4/span 2}
.home-tool-card:hover{transform:translateY(-5px);border-color:var(--gold);background:#181818}
.home-tool-num{font-size:10px;font-weight:900;letter-spacing:.15em;color:#777}
.home-tool-icon{width:45px;height:45px;border:1px solid #3b3b3b;display:grid;place-items:center;margin:28px 0 20px;color:var(--gold);font-size:23px;font-weight:700}
.home-tool-card h3{font-size:25px;line-height:1.08;margin:0 0 13px;letter-spacing:-.025em}
.home-tool-card p{color:#aaa;line-height:1.5;font-size:14px;margin:0 0 24px}
.home-tool-card b{margin-top:auto;color:var(--gold);font-size:11px;letter-spacing:.05em}
@media(max-width:900px){.home-tool-grid{grid-template-columns:1fr 1fr}.home-tool-card,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5){grid-column:auto}.home-tool-card:last-child{grid-column:1/-1}.home-tool-card{min-height:250px}}
@media(max-width:600px){.hero-actions{display:grid}.hero-actions .btn{text-align:center}.home-tool-grid{grid-template-columns:1fr}.home-tool-card,.home-tool-card:last-child{grid-column:auto;min-height:220px}.home-tools{padding:72px 0}}


/* V7.1 — refinement pass */
/* Make the secondary hero CTA fully legible before hover. */
.hero-ghost{background:#fff!important;color:#111!important;border-color:#fff!important;backdrop-filter:none}
.hero-ghost:hover{background:var(--gold)!important;color:#111!important;border-color:var(--gold)!important}

/* Arrival question modal: larger, more human-readable choices. */
.flow-choices{gap:12px}
.flow-choices button{min-height:78px;padding:19px 22px;font-size:15px;line-height:1.3;letter-spacing:-.01em}
.flow-icon{width:31px;font-size:24px;flex:0 0 31px}
.flow-step>p{font-size:18px}

/* Editorial tool layout: one anchor card + four supporting choices. */
.home-tool-grid{grid-template-columns:1.08fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:14px}
.home-tool-card,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5){grid-column:auto;min-height:238px;padding:26px}
.home-tool-card:first-child{grid-row:1 / span 2;min-height:490px;padding:34px}
.home-tool-card:first-child .home-tool-icon{width:56px;height:56px;font-size:28px;margin-top:42px}
.home-tool-card:first-child h3{font-size:34px;max-width:270px}
.home-tool-card:first-child p{font-size:15px;max-width:280px}
.home-tool-card:not(:first-child) .home-tool-icon{margin:18px 0 16px;width:40px;height:40px;font-size:20px}
.home-tool-card:not(:first-child) h3{font-size:22px}
.home-tool-card:not(:first-child) p{margin-bottom:18px}

/* Keep the two CTAs sitting on the same visual baseline. */
.trust-cta-split{align-items:stretch}
.trust-cta-split>div{display:flex;flex-direction:column;align-items:flex-start}
.trust-cta-split>div:first-child .btn{margin-top:auto}
.trust-cta-split .goldbox .btn{margin-top:auto}

@media(max-width:900px){
 .home-tool-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
 .home-tool-card:first-child{grid-row:auto;grid-column:1/-1;min-height:300px}
 .home-tool-card,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5){min-height:250px}
}
@media(max-width:600px){
 .flow-choices button{font-size:16px;min-height:74px}
 .home-tool-grid{grid-template-columns:1fr}
 .home-tool-card:first-child,.home-tool-card,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5){grid-column:auto;min-height:220px}
}


/* V7.2 — unified question menu + layout polish */
.hero-v2 .hero-actions .hero-ghost,
.hero-v2 .hero-actions .hero-ghost:visited{background:#fff!important;color:#111!important;border:2px solid #fff!important;opacity:1!important}
.hero-v2 .hero-actions .hero-ghost:hover{background:var(--gold)!important;color:#111!important;border-color:var(--gold)!important}
.start-here-inline{appearance:none;border:0;background:none;color:#fff;font:inherit;font-weight:900;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:0 0 0 4px}
.start-here-inline:hover{color:var(--gold)}

/* Six equal question choices: cleaner 3x2 editorial grid. */
.home-tool-grid{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:auto!important;gap:14px!important}
.home-tool-card,.home-tool-card:first-child,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5),.home-tool-card:nth-child(6){grid-column:auto!important;grid-row:auto!important;min-height:285px!important;padding:28px!important}
.home-tool-card:first-child .home-tool-icon,.home-tool-card .home-tool-icon{width:44px!important;height:44px!important;font-size:22px!important;margin:24px 0 18px!important}
.home-tool-card:first-child h3,.home-tool-card h3{font-size:24px!important;max-width:none!important}
.home-tool-card:first-child p,.home-tool-card p{font-size:14px!important;max-width:none!important}

/* Match the scale of the two closing statements and align their actions. */
.trust-cta-split>div:first-child h2{font-size:34px!important;line-height:1.08!important;letter-spacing:-.035em!important;max-width:420px}
.trust-cta-split .goldbox h3{font-size:34px!important;line-height:1.08!important;letter-spacing:-.035em!important}
.trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{margin-top:auto!important}

/* Re-open the same centered quick-start modal without a bottom dock. */
.mid-start-here{position:fixed;right:22px;bottom:22px;z-index:55}
.mid-start-here button{appearance:none;border:1px solid rgba(255,255,255,.2);background:#111;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.28);padding:12px 16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.mid-start-here span{font-size:8px;letter-spacing:.14em;color:var(--gold);font-weight:900}
.mid-start-here b{font-size:12px}
.mid-start-here button:hover{border-color:var(--gold)}

@media(max-width:900px){.home-tool-grid{grid-template-columns:1fr 1fr!important}.home-tool-card,.home-tool-card:first-child{min-height:245px!important}.trust-cta-split>div:first-child h2,.trust-cta-split .goldbox h3{font-size:30px!important}}
@media(max-width:600px){.home-tool-grid{grid-template-columns:1fr!important}.home-tool-card,.home-tool-card:first-child{min-height:220px!important}.mid-start-here{right:12px;bottom:12px}.mid-start-here span{display:none}}

.nav-start-here{appearance:none;background:transparent;border:0;color:#fff;font:inherit;font-weight:800;font-size:13px;cursor:pointer;padding:10px 0}.nav-start-here:hover{color:var(--gold)}


/* V7.3 — cleaner navigation + simplified question system */
/* Secondary hero action: unequivocally solid white in every state. */
.hero-v2 .hero-actions a.btn.hero-ghost,
.hero-v2 .hero-actions a.btn.hero-ghost:link,
.hero-v2 .hero-actions a.btn.hero-ghost:visited{
  background:#fff !important;
  background-color:#fff !important;
  color:#111 !important;
  border:2px solid #fff !important;
  opacity:1 !important;
  box-shadow:none !important;
}
.hero-v2 .hero-actions a.btn.hero-ghost:hover,
.hero-v2 .hero-actions a.btn.hero-ghost:focus{
  background:var(--gold) !important;
  background-color:var(--gold) !important;
  border-color:var(--gold) !important;
  color:#111 !important;
}

/* Remove visual numbering and tighten the six homeowner choices. */
.home-tool-num{display:none!important}
.home-tool-card .home-tool-icon{margin-top:4px!important}
.home-tool-card{min-height:255px!important}

/* Closing two-column CTA: lock both buttons to exactly the same vertical baseline. */
.trust-cta-split{align-items:stretch!important}
.trust-cta-split>div{position:relative!important;min-height:300px!important;padding-bottom:78px!important}
.trust-cta-split>div:first-child .btn,
.trust-cta-split .goldbox .btn{
  position:absolute!important;
  bottom:28px!important;
  margin:0!important;
}
.trust-cta-split>div:first-child .btn{left:0!important}
.trust-cta-split .goldbox .btn{left:55px!important}

/* Persistent launcher: small enough to stay out of the way, bold enough to be noticed. */
.quickstart-float{position:fixed;right:24px;bottom:24px;z-index:70}
.quickstart-float button{appearance:none;border:0;background:var(--gold);color:#111;padding:14px 17px 15px;box-shadow:0 12px 36px rgba(0,0,0,.38);cursor:pointer;text-align:left;min-width:220px;transition:transform .18s ease,box-shadow .18s ease}
.quickstart-float button:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(0,0,0,.45)}
.quickstart-float span{display:block;font-size:9px;letter-spacing:.12em;font-weight:900;margin-bottom:3px}
.quickstart-float strong{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:14px}
.quickstart-float strong b{font-size:18px}

@media(max-width:900px){
 .trust-cta-split>div{min-height:auto!important;padding-bottom:90px!important}
 .trust-cta-split .goldbox .btn{left:55px!important}
}
@media(max-width:600px){
 .quickstart-float{right:12px;bottom:12px}
 .quickstart-float button{min-width:0;padding:12px 14px}
 .quickstart-float span{display:none}
 .quickstart-float strong{font-size:12px;gap:10px}
 .trust-cta-split .goldbox .btn{left:55px!important}
}


/* V7.4 — Exterior Details + footer breathing room + 4-up service preview */
.service-preview .cards{grid-template-columns:repeat(4,1fr)!important}
.service-preview .card{min-height:270px}
footer{padding-bottom:78px!important}
.copyright{padding-bottom:10px!important}
@media(max-width:1000px){.service-preview .cards{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.service-preview .cards{grid-template-columns:1fr!important}footer{padding-bottom:92px!important}}

/* V7.5 — popup cohesion, true 4-up services, footer breathing room */
.flow-choices button{
  background:#fff!important;
  color:#111!important;
  border:1px solid #fff!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.flow-choices button .flow-icon{color:#c58f00!important}
.flow-choices button:hover{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#111!important;
  transform:translateY(-2px);
}
.flow-choices button:hover .flow-icon{color:#111!important}

/* Four equal service tiles on one row at normal desktop widths. */
.service-preview .cards{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.service-preview .card{
  min-width:0!important;
  padding:25px 22px!important;
}
.service-preview .card h3{font-size:23px!important}
.service-preview .card p{font-size:13px!important;line-height:1.5!important}
.service-preview .card .arrow{font-size:11px!important}
@media(max-width:900px){.service-preview .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.service-preview .cards{grid-template-columns:1fr!important}}

/* Visible space after the copyright, including browsers with bottom UI/safe areas. */
footer{padding-bottom:0!important}
.copyright{
  padding-bottom:clamp(56px,7vh,90px)!important;
  margin-bottom:0!important;
}


/* V7.6 — homepage home-stretch refinements */
/* Quick-start popup: unmistakably white choices, gold only on hover. */
.flow-choices button,
.flow-choices a{
  background:#fff!important;
  color:#111!important;
  border-color:#fff!important;
}
.flow-choices button h3,.flow-choices button strong,.flow-choices button span:not(.flow-icon),
.flow-choices a h3,.flow-choices a strong,.flow-choices a span:not(.flow-icon){color:#111!important}
.flow-choices button:hover,.flow-choices a:hover{
  background:var(--gold)!important;
  border-color:var(--gold)!important;
  color:#111!important;
}

/* Homepage question tiles: light, simple cards against the black section. */
.home-tool-card,
.home-tool-card:first-child,
.home-tool-card:nth-child(4),
.home-tool-card:nth-child(5),
.home-tool-card:nth-child(6){
  background:#fff!important;
  color:#111!important;
  border-color:#fff!important;
}
.home-tool-card h3{color:#111!important}
.home-tool-card p{color:#555!important}
.home-tool-card .home-tool-icon{border-color:#ddd!important;color:#b98300!important}
.home-tool-card b{color:#9a7000!important}
.home-tool-card:hover{
  background:#f5f5f5!important;
  border-color:var(--gold)!important;
  transform:translateY(-4px);
}

/* Two-column trust CTA: no filler copy; both buttons share one baseline. */
.trust-cta-split{align-items:stretch!important}
.trust-cta-split>div{
  min-height:245px!important;
  padding-bottom:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
}
.trust-cta-split>div:first-child .btn,
.trust-cta-split .goldbox .btn{
  position:static!important;
  left:auto!important;
  bottom:auto!important;
  margin-top:auto!important;
}
.trust-cta-split .goldbox{padding:55px!important}
@media(max-width:900px){
 .trust-cta-split>div{min-height:auto!important}
 .trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{margin-top:28px!important}
}

/* V7.7 — charcoal interactive system + true shared CTA rows */
.flow-choices button,.flow-choices a{
  background:#1a1a1a!important;color:#fff!important;border:1px solid #383838!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}
.flow-choices button h3,.flow-choices button strong,.flow-choices button span:not(.flow-icon),
.flow-choices a h3,.flow-choices a strong,.flow-choices a span:not(.flow-icon){color:#fff!important}
.flow-choices button .flow-icon,.flow-choices a .flow-icon{color:var(--gold)!important}
.flow-choices button:hover,.flow-choices a:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:#111!important;transform:translateY(-2px)!important}
.flow-choices button:hover h3,.flow-choices button:hover strong,.flow-choices button:hover span,
.flow-choices a:hover h3,.flow-choices a:hover strong,.flow-choices a:hover span{color:#111!important}

.home-tool-card,.home-tool-card:first-child,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5),.home-tool-card:nth-child(6){
  background:#191919!important;color:#fff!important;border:1px solid #303030!important;min-height:238px!important;padding:25px!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}
.home-tool-card h3{color:#fff!important;font-size:23px!important}
.home-tool-card p{color:#aaa!important;margin-bottom:16px!important}
.home-tool-card .home-tool-icon{border-color:#3b3b3b!important;color:var(--gold)!important;margin:10px 0 17px!important}
.home-tool-card b{color:var(--gold)!important}
.home-tool-card:hover{background:var(--gold)!important;border-color:var(--gold)!important;transform:translateY(-3px)!important}
.home-tool-card:hover h3,.home-tool-card:hover p,.home-tool-card:hover b,.home-tool-card:hover .home-tool-icon{color:#111!important}
.home-tool-card:hover .home-tool-icon{border-color:rgba(17,17,17,.3)!important}

/* Both CTAs live on the same explicit grid row. */
.trust-cta-split{display:grid!important;grid-template-columns:1.1fr .9fr!important;grid-template-rows:auto auto!important;gap:0 60px!important;align-items:start!important}
.trust-cta-split>div{display:grid!important;grid-template-rows:auto 64px!important;align-items:start!important;min-height:0!important;padding-bottom:0!important}
.trust-cta-split>div:first-child{grid-column:1;grid-row:1 / span 2}
.trust-cta-split .goldbox{grid-column:2;grid-row:1 / span 2;padding:55px!important;align-self:stretch!important}
.trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{position:static!important;margin:0!important;align-self:end!important;justify-self:start!important}
.trust-cta-split>div:first-child h2,.trust-cta-split .goldbox h3{margin-bottom:0!important}
@media(max-width:900px){
 .trust-cta-split{grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:28px!important}
 .trust-cta-split>div:first-child,.trust-cta-split .goldbox{grid-column:1!important;grid-row:auto!important}
 .trust-cta-split>div{grid-template-rows:auto auto!important;gap:28px!important}
}

/* V7.7 charcoal interactive system */
.flow-choices button,.flow-choices a{background:#1a1a1a!important;color:#fff!important;border:1px solid #383838!important;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important}
.flow-choices button h3,.flow-choices button strong,.flow-choices button span:not(.flow-icon),.flow-choices a h3,.flow-choices a strong,.flow-choices a span:not(.flow-icon){color:#fff!important}
.flow-choices button .flow-icon,.flow-choices a .flow-icon{color:var(--gold)!important}
.flow-choices button:hover,.flow-choices a:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:#111!important;transform:translateY(-2px)!important}
.flow-choices button:hover h3,.flow-choices button:hover strong,.flow-choices button:hover span,.flow-choices a:hover h3,.flow-choices a:hover strong,.flow-choices a:hover span{color:#111!important}
.home-tool-card,.home-tool-card:first-child,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5),.home-tool-card:nth-child(6){background:#191919!important;color:#fff!important;border:1px solid #303030!important;min-height:238px!important;padding:25px!important;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important}
.home-tool-card h3{color:#fff!important;font-size:23px!important}.home-tool-card p{color:#aaa!important;margin-bottom:16px!important}.home-tool-card .home-tool-icon{border-color:#3b3b3b!important;color:var(--gold)!important;margin:10px 0 17px!important}.home-tool-card b{color:var(--gold)!important}
.home-tool-card:hover{background:var(--gold)!important;border-color:var(--gold)!important;transform:translateY(-3px)!important}.home-tool-card:hover h3,.home-tool-card:hover p,.home-tool-card:hover b,.home-tool-card:hover .home-tool-icon{color:#111!important}.home-tool-card:hover .home-tool-icon{border-color:rgba(17,17,17,.3)!important}
/* Explicit matching content/button rows for the two CTAs. */
.trust-cta-split{display:grid!important;grid-template-columns:1.1fr .9fr!important;gap:60px!important;align-items:stretch!important}
.trust-cta-split>div{display:grid!important;grid-template-rows:1fr auto!important;min-height:250px!important;padding-bottom:0!important;align-items:start!important}
.trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{position:static!important;left:auto!important;bottom:auto!important;margin:0!important;align-self:end!important;justify-self:start!important}
.trust-cta-split .goldbox{padding:55px!important}
@media(max-width:900px){.trust-cta-split{grid-template-columns:1fr!important;gap:28px!important}.trust-cta-split>div{min-height:auto!important;grid-template-rows:auto auto!important;gap:28px!important}}

/* V7.8 — closing CTA alignment fix. Equal physical boxes + shared button baseline. */
@media(min-width:901px){
  .trust-cta-split{display:grid!important;grid-template-columns:1.1fr .9fr!important;gap:60px!important;align-items:stretch!important}
  .trust-cta-split>div,.trust-cta-split .goldbox{box-sizing:border-box!important;height:245px!important;min-height:245px!important;position:relative!important;display:block!important}
  .trust-cta-split>div:first-child{padding:0!important}
  .trust-cta-split .goldbox{padding:45px 55px!important}
  .trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{position:absolute!important;margin:0!important;bottom:45px!important}
  .trust-cta-split>div:first-child .btn{left:0!important}
  .trust-cta-split .goldbox .btn{left:55px!important}
}

/* V7.9 CTA spacing */
@media(min-width:901px){
.trust-cta-split>div,.trust-cta-split .goldbox{height:265px!important;min-height:265px!important}
.trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{bottom:35px!important}
}

/* V7.10 — warm light interactive section + matching Quick Start modal */
.home-tools{background:#e9e8e4!important;color:#111!important}
.home-tools .section-head h2{color:#111!important}.home-tools .section-head p{color:#555!important}.home-tools .eyebrow{color:#a97800!important}
.home-tool-card,.home-tool-card:first-child,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5),.home-tool-card:nth-child(6){background:#fff!important;color:#111!important;border:1px solid #d7d5cf!important;box-shadow:0 1px 0 rgba(0,0,0,.03)!important}
.home-tool-card h3{color:#111!important}.home-tool-card p{color:#555!important}.home-tool-card .home-tool-icon{border-color:#d9d7d1!important;color:#a97800!important}.home-tool-card b{color:#8d6800!important}
.home-tool-card:hover{background:var(--gold)!important;border-color:var(--gold)!important;transform:translateY(-3px)!important}.home-tool-card:hover h3,.home-tool-card:hover p,.home-tool-card:hover b,.home-tool-card:hover .home-tool-icon{color:#111!important}.home-tool-card:hover .home-tool-icon{border-color:rgba(17,17,17,.25)!important}
.flow-modal{background:rgba(0,0,0,.66)!important}
.flow-shell{background:#e9e8e4!important;color:#111!important;border:1px solid #d2d0ca!important;box-shadow:0 35px 100px rgba(0,0,0,.45)!important}
.flow-x,.flow-back{color:#555!important}.flow-step h2{color:#111!important}.flow-step>p{color:#555!important}
.flow-choices button,.flow-choices a{background:#fff!important;color:#111!important;border:1px solid #d4d2cc!important;box-shadow:0 1px 0 rgba(0,0,0,.03)!important}
.flow-choices button h3,.flow-choices button strong,.flow-choices button span:not(.flow-icon),.flow-choices a h3,.flow-choices a strong,.flow-choices a span:not(.flow-icon){color:#111!important}.flow-choices button .flow-icon,.flow-choices a .flow-icon{color:#a97800!important}
.flow-choices button:hover,.flow-choices a:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:#111!important;transform:translateY(-2px)!important}
.flow-form{border-top-color:#cbc9c3!important}.flow-address label{color:#555!important}.flow-address label span{color:#777!important}.flow-address input,.flow-form-grid input{background:#fff!important;border-color:#cbc9c3!important;color:#111!important}.flow-note{color:#666!important}

/* V7.11 balanced closing headlines */
@media(min-width:901px){
  .trust-cta-split>div:first-child h2{max-width:560px!important;width:100%!important;}
  .trust-cta-split .goldbox h3{max-width:420px!important;}
}

/* V7.12 — medium warm stone interactive section */
.home-tools{background:#191918!important;color:#fff!important}
.home-tools .section-head h2{color:#fff!important}
.home-tools .section-head p{color:#f0efec!important}
.home-tools .eyebrow{color:#f5bd27!important}
.flow-shell{background:#191918!important;color:#fff!important;border-color:#8b8984!important}
.flow-x,.flow-back{color:#f1f0ed!important}
.flow-step h2{color:#fff!important}
.flow-step>p{color:#f0efec!important}

/* V7.13 — slightly tighter headline-to-CTA spacing while preserving shared baseline */
@media(min-width:901px){
  .trust-cta-split>div,.trust-cta-split .goldbox{height:250px!important;min-height:250px!important}
  .trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{bottom:40px!important}
}


/* V7.19 — homepage tools integrated into the dark section; popup remains card-based. */
.home-tools .home-tools-head{margin-bottom:34px!important}
.home-tools .home-tool-grid{gap:0!important;border-top:1px solid #3b3b39!important;border-left:1px solid #3b3b39!important}
.home-tools .home-tool-card,
.home-tools .home-tool-card:first-child,
.home-tools .home-tool-card:nth-child(4),
.home-tools .home-tool-card:nth-child(5),
.home-tools .home-tool-card:nth-child(6){
  background:transparent!important;
  color:#fff!important;
  border:0!important;
  border-right:1px solid #3b3b39!important;
  border-bottom:1px solid #3b3b39!important;
  box-shadow:none!important;
  border-radius:0!important;
  min-height:224px!important;
  padding:28px 30px!important;
}
.home-tools .home-tool-card h3{color:#fff!important}
.home-tools .home-tool-card p{color:#aaa9a5!important}
.home-tools .home-tool-card .home-tool-icon{border-color:#4a4946!important;color:var(--gold)!important}
.home-tools .home-tool-card b{color:var(--gold)!important}
.home-tools .home-tool-card:hover{
  background:#242422!important;
  border-right-color:#665b3e!important;
  border-bottom-color:#665b3e!important;
  transform:none!important;
  box-shadow:inset 3px 0 0 var(--gold)!important;
}
.home-tools .home-tool-card:hover h3{color:#fff!important}
.home-tools .home-tool-card:hover p{color:#c8c7c3!important}
.home-tools .home-tool-card:hover b,
.home-tools .home-tool-card:hover .home-tool-icon{color:var(--gold)!important}
.home-tools .home-tool-card:hover .home-tool-icon{border-color:#6a6044!important}
@media(max-width:900px){.home-tools .home-tool-grid{border-left:1px solid #3b3b39!important}}
@media(max-width:600px){.home-tools .home-tool-card,.home-tools .home-tool-card:first-child{min-height:200px!important}}

/* V7.20 — stronger typography hierarchy in Quick Start choices only. */
.flow-choices button > span:not(.flow-icon),
.flow-choices a > span:not(.flow-icon){
  font-size:20px!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  font-weight:800!important;
}
.flow-choices button,.flow-choices a{
  min-height:84px!important;
  padding:20px 22px!important;
}
@media(max-width:600px){
  .flow-choices button > span:not(.flow-icon),
  .flow-choices a > span:not(.flow-icon){font-size:18px!important}
  .flow-choices button,.flow-choices a{min-height:76px!important;padding:18px 20px!important}
}

/* V7.21 — make Quick Start choices unmistakably larger. */
.flow-step#flowStep1 .flow-choices button > span:not(.flow-icon),
.flow-step#flowStep1 .flow-choices a > span:not(.flow-icon){
  font-size:24px!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  font-weight:850!important;
}
.flow-step#flowStep1 .flow-choices .flow-icon{
  font-size:25px!important;
  line-height:1!important;
}
.flow-step#flowStep1 .flow-choices button,
.flow-step#flowStep1 .flow-choices a{
  min-height:88px!important;
  padding:20px 24px!important;
  gap:16px!important;
}
@media(max-width:600px){
  .flow-step#flowStep1 .flow-choices button > span:not(.flow-icon),
  .flow-step#flowStep1 .flow-choices a > span:not(.flow-icon){font-size:20px!important;line-height:1.15!important}
  .flow-step#flowStep1 .flow-choices .flow-icon{font-size:22px!important}
  .flow-step#flowStep1 .flow-choices button,
  .flow-step#flowStep1 .flow-choices a{min-height:80px!important;padding:18px 20px!important;gap:14px!important}
}

/* V7.22 — rebalance Quick Start typography after live-project verification. */
.flow-step#flowStep1 .flow-choices button > span:not(.flow-icon),
.flow-step#flowStep1 .flow-choices a > span:not(.flow-icon){
  font-size:16px!important;
  line-height:1.25!important;
  letter-spacing:-.01em!important;
  font-weight:800!important;
}
.flow-step#flowStep1 .flow-choices .flow-icon{
  font-size:20px!important;
  line-height:1!important;
}
.flow-step#flowStep1 .flow-choices button,
.flow-step#flowStep1 .flow-choices a{
  min-height:80px!important;
  padding:18px 22px!important;
  gap:14px!important;
}
@media(max-width:600px){
  .flow-step#flowStep1 .flow-choices button > span:not(.flow-icon),
  .flow-step#flowStep1 .flow-choices a > span:not(.flow-icon){font-size:16px!important;line-height:1.25!important}
  .flow-step#flowStep1 .flow-choices .flow-icon{font-size:20px!important}
  .flow-step#flowStep1 .flow-choices button,
  .flow-step#flowStep1 .flow-choices a{min-height:76px!important;padding:17px 20px!important;gap:13px!important}
}


/* V7.24 — Concierge polish: integrated dark modal + warm choice cards. */
.flow-modal{background:rgba(0,0,0,.48)!important;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}
.flow-shell{max-width:1060px!important;background:#171716!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:10px!important;box-shadow:0 38px 110px rgba(0,0,0,.62)!important;overflow:hidden}
.flow-step#flowStep1{padding:54px 64px 58px!important}
.flow-step#flowStep1>.eyebrow{color:var(--gold)!important;margin-bottom:10px!important;font-size:11px!important;letter-spacing:.18em!important}
.flow-step#flowStep1 h2{font-size:52px!important;line-height:1.02!important;letter-spacing:-.045em!important;max-width:850px!important;margin:0 0 12px!important}
.flow-step#flowStep1>p{font-size:16px!important;line-height:1.5!important;color:#c9c7c1!important;margin:0 0 30px!important}
.flow-x{top:20px!important;right:23px!important;color:#d8d6d0!important;font-size:28px!important;opacity:.8}.flow-x:hover{opacity:1;color:#fff!important}
.flow-step#flowStep1 .flow-choices{gap:12px!important}
.flow-step#flowStep1 .flow-choices button,.flow-step#flowStep1 .flow-choices a{min-height:78px!important;padding:16px 20px!important;gap:12px!important;background:#f1f0ed!important;border:1px solid #d7d4cc!important;border-radius:4px!important;box-shadow:0 2px 8px rgba(0,0,0,.10)!important;color:#171716!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.flow-step#flowStep1 .flow-choices button>span:not(.flow-icon),.flow-step#flowStep1 .flow-choices a>span:not(.flow-icon){font-size:16px!important;line-height:1.22!important;letter-spacing:-.015em!important;font-weight:800!important;color:#171716!important}
.flow-step#flowStep1 .flow-choices .flow-icon{width:36px!important;height:36px!important;flex:0 0 36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;font-size:20px!important;color:#a97800!important;transition:background .18s ease,color .18s ease!important}
.flow-step#flowStep1 .flow-choices button:hover,.flow-step#flowStep1 .flow-choices a:hover{background:#f7f6f3!important;border-color:var(--gold)!important;box-shadow:0 8px 20px rgba(0,0,0,.18)!important;transform:translateY(-2px)!important}
.flow-step#flowStep1 .flow-choices button:hover .flow-icon,.flow-step#flowStep1 .flow-choices a:hover .flow-icon{background:var(--gold)!important;color:#171716!important}
.flow-step#flowStep1 .flow-choices button:hover>span:not(.flow-icon),.flow-step#flowStep1 .flow-choices a:hover>span:not(.flow-icon){color:#171716!important}
@media(max-width:900px){.flow-step#flowStep1{padding:46px 34px 38px!important}.flow-step#flowStep1 h2{font-size:43px!important}}
@media(max-width:600px){.flow-modal{padding:10px!important}.flow-shell{border-radius:8px!important}.flow-step#flowStep1{padding:42px 20px 24px!important}.flow-step#flowStep1 h2{font-size:35px!important;line-height:1.05!important}.flow-step#flowStep1>p{font-size:15px!important;margin-bottom:22px!important}.flow-step#flowStep1 .flow-choices{gap:9px!important}.flow-step#flowStep1 .flow-choices button,.flow-step#flowStep1 .flow-choices a{min-height:70px!important;padding:14px 15px!important;gap:10px!important}.flow-step#flowStep1 .flow-choices button>span:not(.flow-icon),.flow-step#flowStep1 .flow-choices a>span:not(.flow-icon){font-size:15px!important}.flow-step#flowStep1 .flow-choices .flow-icon{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:18px!important}}


/* V7.25 — full concierge redesign. Deliberately overrides prior Quick Start passes. */
.flow-modal{
  background:rgba(0,0,0,.58)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:28px!important;
}
.flow-shell{
  width:min(1120px,calc(100vw - 56px))!important;
  max-width:1120px!important;
  background:#141414!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:0 42px 120px rgba(0,0,0,.72)!important;
}
.flow-step#flowStep1{
  padding:58px 66px 64px!important;
}
.flow-step#flowStep1>.eyebrow{
  margin:0 0 12px!important;
  color:#c89412!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.2em!important;
}
.flow-step#flowStep1 h2{
  max-width:none!important;
  margin:0 0 12px!important;
  font-size:50px!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  color:#fff!important;
}
.flow-step#flowStep1>p{
  margin:0 0 34px!important;
  color:#aaa7a0!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.flow-x{
  top:19px!important;right:22px!important;
  width:38px!important;height:38px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:50%!important;
  background:#222!important;
  color:#c8c5bd!important;
  font-size:24px!important;
  line-height:1!important;
  opacity:1!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.flow-x:hover{background:#302f2c!important;color:#fff!important;transform:rotate(4deg)!important}
.flow-step#flowStep1 .flow-choices{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
}
.flow-step#flowStep1 .flow-choices button,
.flow-step#flowStep1 .flow-choices a{
  position:relative!important;
  min-height:86px!important;
  padding:15px 22px 15px 16px!important;
  gap:16px!important;
  background:#e4dfd4!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  box-shadow:none!important;
  color:#151515!important;
  overflow:hidden!important;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.flow-step#flowStep1 .flow-choices button:before,
.flow-step#flowStep1 .flow-choices a:before{
  content:""!important;
  position:absolute!important;left:0!important;top:0!important;bottom:0!important;
  width:4px!important;background:#b98200!important;
  opacity:.72!important;
  transition:width .18s ease,opacity .18s ease!important;
}
.flow-step#flowStep1 .flow-choices .flow-icon{
  width:46px!important;height:46px!important;flex:0 0 46px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:7px!important;
  background:#1a1a19!important;
  border:1px solid #302f2b!important;
  color:#d2a21e!important;
  font-size:21px!important;
  font-weight:800!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)!important;
}
.flow-step#flowStep1 .flow-choices button>span:not(.flow-icon),
.flow-step#flowStep1 .flow-choices a>span:not(.flow-icon){
  color:#171717!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:-.018em!important;
}
.flow-step#flowStep1 .flow-choices button:hover,
.flow-step#flowStep1 .flow-choices a:hover{
  background:#f2eee5!important;
  border-color:#c89514!important;
  box-shadow:0 12px 28px rgba(0,0,0,.28)!important;
  transform:translateY(-3px)!important;
}
.flow-step#flowStep1 .flow-choices button:hover:before,
.flow-step#flowStep1 .flow-choices a:hover:before{width:7px!important;opacity:1!important}
.flow-step#flowStep1 .flow-choices button:hover .flow-icon,
.flow-step#flowStep1 .flow-choices a:hover .flow-icon{
  background:#b98200!important;color:#111!important;border-color:#b98200!important;
}
@media(max-width:900px){
 .flow-shell{width:min(760px,calc(100vw - 32px))!important}
 .flow-step#flowStep1{padding:52px 36px 40px!important}
 .flow-step#flowStep1 h2{font-size:42px!important}
}
@media(max-width:650px){
 .flow-modal{padding:10px!important}
 .flow-shell{width:calc(100vw - 20px)!important;border-radius:10px!important}
 .flow-step#flowStep1{padding:48px 18px 22px!important}
 .flow-step#flowStep1 h2{font-size:34px!important;line-height:1.03!important}
 .flow-step#flowStep1>p{font-size:14px!important;margin-bottom:22px!important}
 .flow-step#flowStep1 .flow-choices{grid-template-columns:1fr!important;gap:9px!important}
 .flow-step#flowStep1 .flow-choices button,.flow-step#flowStep1 .flow-choices a{min-height:68px!important;padding:10px 14px 10px 12px!important;gap:12px!important}
 .flow-step#flowStep1 .flow-choices .flow-icon{width:38px!important;height:38px!important;flex-basis:38px!important;font-size:18px!important}
 .flow-step#flowStep1 .flow-choices button>span:not(.flow-icon),.flow-step#flowStep1 .flow-choices a>span:not(.flow-icon){font-size:15px!important}
}


/* V8 production foundation */
.top a{text-decoration:none;color:#111}.mobile{border:0;background:transparent;cursor:pointer;font:inherit}
.service-hero{background:#111;color:#fff;padding:105px 0 100px;position:relative;overflow:hidden}
.service-hero:after{content:"";position:absolute;width:430px;height:430px;border:1px solid #2d2d2d;border-radius:50%;right:-90px;top:-155px;box-shadow:0 0 0 75px rgba(255,255,255,.018),0 0 0 150px rgba(255,255,255,.012)}
.service-hero-inner{position:relative;z-index:1}.service-hero-inner>div{max-width:820px}.service-hero h1{font-size:clamp(50px,6vw,78px);line-height:.96;letter-spacing:-.055em;margin:14px 0 22px}.service-hero p{font-size:19px;line-height:1.6;color:#ccc;max-width:720px}.service-ghost{border:1px solid #555;color:#fff}
.service-detail-strip{padding:0;background:#f2efe8}.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr)}.service-detail-card{padding:38px 34px;min-height:230px;border-right:1px solid #d8d3c8}.service-detail-card:last-child{border-right:0}.service-detail-card span{font-size:11px;font-weight:900;color:#9b6c00;letter-spacing:.14em}.service-detail-card h3{font-size:22px;margin:15px 0 10px}.service-detail-card p{color:#666;line-height:1.6;margin:0;font-size:14px}
.service-story{padding:105px 0}.service-story h2,.service-tool h2{font-size:clamp(38px,5vw,58px);letter-spacing:-.045em;line-height:1.02;margin:10px 0 20px}.service-story p,.service-tool p{font-size:17px;line-height:1.75;color:#666}.service-list{background:#f3f1ec;padding:42px 46px}.service-list h3{font-size:25px;margin:0 0 20px}.service-list ul{list-style:none;margin:0;padding:0}.service-list li{padding:15px 0;border-top:1px solid #d8d3c8;font-weight:750}.service-list li:before{content:"→";color:#9b6c00;margin-right:12px}
.service-tool{background:#0d0d0d;color:#fff;padding:90px 0}.service-tool p{color:#aaa}.tool-action{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.tool-action>a:not(.btn){color:#ccc;font-weight:800;font-size:13px}.tool-action>a:not(.btn):hover{color:var(--gold)}
.service-final{background:#f5bd27;padding:65px 0}.service-final>.wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.service-final .eyebrow{color:#111}.service-final h2{font-size:clamp(34px,4vw,50px);letter-spacing:-.04em;margin:8px 0 10px}.service-final p{margin:0;max-width:680px;line-height:1.6}.service-final .btn.gold{background:#111;color:#fff;white-space:nowrap}
@media(max-width:850px){.links.open{display:flex;position:absolute;left:0;right:0;top:86px;background:#0b0b0b;padding:20px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #333;box-shadow:0 20px 35px rgba(0,0,0,.35)}.links.open>a,.links.open>.dropdown>a{display:block;padding:13px 8px}.links.open .dropdown .drop{display:grid;position:static;box-shadow:none;background:#171717;color:#ddd;margin:0 0 7px;padding:8px 16px;gap:0}.links.open .drop a{padding:10px 0}.links.open .cta{text-align:center;margin-top:8px}.service-detail-grid{grid-template-columns:1fr}.service-detail-card{min-height:0;border-right:0;border-bottom:1px solid #d8d3c8}.service-detail-card:last-child{border-bottom:0}.service-final>.wrap{display:block}.service-final .btn{margin-top:25px}.service-hero{padding:78px 0}.service-story,.service-tool{padding:75px 0}}
@media(max-width:520px){.service-hero h1{font-size:48px}.service-hero p{font-size:17px}.service-list{padding:30px 25px}.service-detail-card{padding:30px 24px}}

/* V9.01 — warm-light concierge concept */
.flow-modal{
  background:rgba(8,8,8,.54)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
}
.flow-shell{
  background:rgba(246,243,235,.96)!important;
  border:1px solid rgba(201,149,20,.22)!important;
  box-shadow:0 42px 120px rgba(0,0,0,.52)!important;
}
.flow-step#flowStep1>.eyebrow{color:#a87500!important}
.flow-step#flowStep1 h2{color:#171716!important}
.flow-step#flowStep1>p{color:#66635d!important}
.flow-x{
  background:rgba(23,23,22,.08)!important;
  color:#4d4a44!important;
}
.flow-x:hover{background:#171716!important;color:#fff!important}
.flow-step#flowStep1 .flow-choices button,
.flow-step#flowStep1 .flow-choices a{
  background:rgba(255,255,255,.64)!important;
  border:1px solid rgba(23,23,22,.16)!important;
  box-shadow:0 2px 10px rgba(20,20,20,.035)!important;
}
.flow-step#flowStep1 .flow-choices button:before,
.flow-step#flowStep1 .flow-choices a:before{
  width:3px!important;
  background:#b98200!important;
  opacity:.72!important;
}
.flow-step#flowStep1 .flow-choices button:hover,
.flow-step#flowStep1 .flow-choices a:hover{
  background:rgba(255,255,255,.94)!important;
  border-color:#c89514!important;
  box-shadow:0 10px 24px rgba(20,20,20,.10)!important;
}

/* V9.02 — editorial concierge */
.flow-shell{width:min(800px,100%)!important;border-radius:12px!important}
.flow-step#flowStep1{padding:46px 50px 42px!important}
.flow-step#flowStep1 h2{font-size:42px!important;line-height:1.02!important;margin:10px 0 8px!important;letter-spacing:-.045em!important}
.flow-step#flowStep1>p{margin:0 0 24px!important}
.flow-step#flowStep1 .flow-choices{gap:0 28px!important;margin-top:0!important}
.flow-step#flowStep1 .flow-choices button,
.flow-step#flowStep1 .flow-choices a{
  min-height:86px!important;padding:14px 4px!important;gap:14px!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  border-bottom:1px solid rgba(23,23,22,.14)!important;box-shadow:none!important;
  transform:none!important;overflow:visible!important;
}
.flow-step#flowStep1 .flow-choices button:before,
.flow-step#flowStep1 .flow-choices a:before{display:none!important}
.flow-step#flowStep1 .flow-choices button:nth-last-child(-n+2),
.flow-step#flowStep1 .flow-choices a:nth-last-child(-n+2){border-bottom-color:transparent!important}
.flow-step#flowStep1 .flow-choices .flow-icon{
  width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:8px!important;
  font-size:21px!important;background:#191918!important;color:#d2a21e!important;border:1px solid #302f2b!important;
}
.flow-step#flowStep1 .flow-choice-copy{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important;flex:1!important;color:#171716!important}
.flow-step#flowStep1 .flow-choice-copy strong{font-size:15px!important;line-height:1.2!important;color:#171716!important;font-weight:850!important;letter-spacing:-.012em!important}
.flow-step#flowStep1 .flow-choice-copy small{font-size:12px!important;line-height:1.3!important;color:#77736c!important;font-weight:600!important;letter-spacing:0!important}
.flow-step#flowStep1 .flow-arrow{font-size:18px!important;color:#a87500!important;opacity:.45!important;transition:transform .18s ease,opacity .18s ease!important}
.flow-step#flowStep1 .flow-choices button:hover,
.flow-step#flowStep1 .flow-choices a:hover{background:rgba(255,255,255,.5)!important;border-color:rgba(23,23,22,.14)!important;box-shadow:none!important;transform:none!important;padding-left:10px!important;padding-right:10px!important}
.flow-step#flowStep1 .flow-choices button:hover .flow-icon,
.flow-step#flowStep1 .flow-choices a:hover .flow-icon{background:#191918!important;color:#d2a21e!important;border-color:#302f2b!important}
.flow-step#flowStep1 .flow-choices button:hover .flow-choice-copy strong,
.flow-step#flowStep1 .flow-choices a:hover .flow-choice-copy strong{color:#171716!important}
.flow-step#flowStep1 .flow-choices button:hover .flow-choice-copy small,
.flow-step#flowStep1 .flow-choices a:hover .flow-choice-copy small{color:#5e5a53!important}
.flow-step#flowStep1 .flow-choices button:hover .flow-arrow,
.flow-step#flowStep1 .flow-choices a:hover .flow-arrow{opacity:1!important;transform:translateX(3px)!important;color:#a87500!important}
@media(max-width:650px){
 .flow-step#flowStep1{padding:44px 20px 24px!important}
 .flow-step#flowStep1 h2{font-size:32px!important}
 .flow-step#flowStep1 .flow-choices{grid-template-columns:1fr!important}
 .flow-step#flowStep1 .flow-choices button,.flow-step#flowStep1 .flow-choices a{min-height:76px!important;padding:11px 2px!important;border-bottom:1px solid rgba(23,23,22,.14)!important}
 .flow-step#flowStep1 .flow-choices button:last-child,.flow-step#flowStep1 .flow-choices a:last-child{border-bottom-color:transparent!important}
 .flow-step#flowStep1 .flow-choices .flow-icon{width:42px!important;height:42px!important;flex-basis:42px!important}
 .flow-step#flowStep1 .flow-choice-copy strong{font-size:14px!important}
 .flow-step#flowStep1 .flow-choice-copy small{font-size:11px!important}
}

/* V9.03 — larger concierge type + browser zoom friendly sizing */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.flow-step#flowStep1>.eyebrow{font-size:12px!important}
.flow-step#flowStep1 h2{font-size:44px!important}
.flow-step#flowStep1>p{font-size:15px!important;line-height:1.45!important}
.flow-step#flowStep1 .flow-choices button,
.flow-step#flowStep1 .flow-choices a{min-height:94px!important;padding:16px 4px!important;gap:16px!important}
.flow-step#flowStep1 .flow-choices .flow-icon{width:52px!important;height:52px!important;flex-basis:52px!important;font-size:23px!important}
.flow-step#flowStep1 .flow-choice-copy{gap:6px!important}
.flow-step#flowStep1 .flow-choice-copy strong{font-size:17px!important;line-height:1.18!important}
.flow-step#flowStep1 .flow-choice-copy small{font-size:13.5px!important;line-height:1.35!important}
.flow-step#flowStep1 .flow-arrow{font-size:20px!important}
@media(max-width:650px){
 .flow-step#flowStep1 h2{font-size:34px!important}
 .flow-step#flowStep1>p{font-size:15px!important}
 .flow-step#flowStep1 .flow-choices button,.flow-step#flowStep1 .flow-choices a{min-height:82px!important;padding:12px 2px!important;gap:13px!important}
 .flow-step#flowStep1 .flow-choices .flow-icon{width:44px!important;height:44px!important;flex-basis:44px!important;font-size:19px!important}
 .flow-step#flowStep1 .flow-choice-copy strong{font-size:16px!important}
 .flow-step#flowStep1 .flow-choice-copy small{font-size:12.5px!important}
}

/* V9.04 — glass-inspired visual exploration */
:root{--glass-border:rgba(255,255,255,.16);--glass-fill:rgba(255,255,255,.075);--glass-fill-hover:rgba(255,255,255,.12)}
.home-tools{position:relative;overflow:hidden;background:linear-gradient(145deg,#0a0a0a 0%,#161612 50%,#0a0a0a 100%)!important;padding:110px 0!important}
.home-tools:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 22% 30%,rgba(200,151,28,.17),transparent 25%),radial-gradient(circle at 80% 68%,rgba(255,255,255,.09),transparent 23%);filter:blur(25px);pointer-events:none}
.home-tools>.wrap{position:relative;z-index:1}.home-tools-head{margin-bottom:42px!important}.home-tools-head h2{font-size:clamp(44px,5.2vw,68px)!important;line-height:.98!important;letter-spacing:-.055em!important;max-width:720px}
.home-tool-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:18px!important;perspective:1000px}
.home-tool-card,.home-tool-card:first-child,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5),.home-tool-card:nth-child(6){grid-column:auto!important;grid-row:auto!important;min-height:270px!important;padding:28px!important;border:1px solid var(--glass-border)!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 22px 55px rgba(0,0,0,.23)!important;backdrop-filter:blur(24px) saturate(125%)!important;-webkit-backdrop-filter:blur(24px) saturate(125%)!important;overflow:hidden!important;transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease!important}
.home-tool-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.10),transparent 28%,transparent 70%,rgba(199,149,24,.055));pointer-events:none}
.home-tool-card:hover{transform:translateY(-6px)!important;border-color:rgba(218,171,50,.48)!important;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.065))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 30px 70px rgba(0,0,0,.32)!important}
.home-tool-icon,.home-tool-card:first-child .home-tool-icon,.home-tool-card:not(:first-child) .home-tool-icon{width:48px!important;height:48px!important;margin:0 0 32px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.17)!important;background:rgba(8,8,8,.48)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important;font-size:21px!important;color:#e2b426!important;backdrop-filter:blur(12px)!important}
.home-tool-card h3,.home-tool-card:first-child h3,.home-tool-card:not(:first-child) h3{font-size:24px!important;line-height:1.05!important;letter-spacing:-.035em!important;margin:0 0 13px!important;max-width:290px!important;position:relative;z-index:1}
.home-tool-card p,.home-tool-card:first-child p{font-size:14px!important;line-height:1.5!important;color:rgba(255,255,255,.66)!important;max-width:310px!important;position:relative;z-index:1}
.home-tool-card b{font-size:11px!important;color:#e0b126!important;position:relative;z-index:1}
/* carry the material language into the concierge without changing its light/readable composition */
.flow-shell{background:rgba(246,243,235,.88)!important;border:1px solid rgba(255,255,255,.58)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 42px 120px rgba(0,0,0,.48)!important;backdrop-filter:blur(30px) saturate(125%)!important;-webkit-backdrop-filter:blur(30px) saturate(125%)!important}
@media(max-width:900px){.home-tool-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.home-tools{padding:76px 0!important}.home-tool-grid{grid-template-columns:1fr!important}.home-tool-card,.home-tool-card:first-child{min-height:235px!important;border-radius:20px!important}.home-tools-head h2{font-size:43px!important}}

/* V9.05 — smoked-glass material refinement
   Replace decorative gradients with true translucent panes, edge light, blur and restrained gold. */
:root{--smoke-fill:rgba(30,30,29,.62);--smoke-fill-hover:rgba(42,42,40,.72);--smoke-edge:rgba(255,255,255,.17);--smoke-edge-hover:rgba(255,255,255,.27)}
.home-tools{background:#111110!important;isolation:isolate}
.home-tools:before{content:none!important}
.home-tools:after{content:"";position:absolute;inset:0;background:url('assets/hero.jpg') center 58%/cover no-repeat;opacity:.075;filter:grayscale(1) contrast(1.08);transform:scale(1.03);z-index:0;pointer-events:none}
.home-tools>.wrap{position:relative;z-index:1}
.home-tool-card,.home-tool-card:first-child,.home-tool-card:nth-child(4),.home-tool-card:nth-child(5),.home-tool-card:nth-child(6){
 background:var(--smoke-fill)!important;
 border:1px solid var(--smoke-edge)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(255,255,255,.025),0 18px 44px rgba(0,0,0,.26)!important;
 backdrop-filter:blur(22px) saturate(112%)!important;
 -webkit-backdrop-filter:blur(22px) saturate(112%)!important;
}
.home-tool-card:before{content:""!important;position:absolute!important;left:18px!important;right:18px!important;top:0!important;height:1px!important;bottom:auto!important;background:rgba(255,255,255,.20)!important;opacity:.75!important;pointer-events:none!important}
.home-tool-card:hover{background:var(--smoke-fill-hover)!important;border-color:var(--smoke-edge-hover)!important;transform:translateY(-5px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,255,255,.035),0 26px 58px rgba(0,0,0,.34)!important}
.home-tool-card:hover:before{background:rgba(226,180,38,.56)!important}
.home-tool-icon,.home-tool-card:first-child .home-tool-icon,.home-tool-card:not(:first-child) .home-tool-icon{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 8px 20px rgba(0,0,0,.18)!important;backdrop-filter:blur(16px) saturate(110%)!important;-webkit-backdrop-filter:blur(16px) saturate(110%)!important}
.home-tool-card b{display:inline-flex;align-items:center;width:max-content;padding:9px 13px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:.2s ease}
.home-tool-card:hover b{background:rgba(255,255,255,.09);border-color:rgba(226,180,38,.34)!important;color:#f0c54b!important}
/* keep concierge light, but make its controls read as translucent glass rather than flat UI */
.flow-shell{background:rgba(246,243,235,.91)!important;border-color:rgba(255,255,255,.68)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 38px 100px rgba(0,0,0,.42)!important}
.flow-step#flowStep1 .flow-choice{background:rgba(255,255,255,.18)!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.42)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
.flow-step#flowStep1 .flow-choice:hover{background:rgba(255,255,255,.42)!important;border-color:rgba(180,132,0,.22)!important}

/* V9.06 — hero crop refinement: reveal more breathing room above roofline */
.hero-v2{
  background-position:center 36%!important;
}
@media(max-width:1100px){.hero-v2{background-position:52% 36%!important}}
@media(max-width:850px){.hero-v2{background-position:55% 38%!important}}
@media(max-width:600px){.hero-v2{background-position:57% 40%!important}}

/* V9.07 — fixed full-viewport hero canvas
   One hero image stays fixed behind the homepage while content scrolls over it. */
body{background:#0b0b0b}
body:before{
  content:"";
  position:fixed;
  z-index:-2;
  inset:0;
  width:100%;
  height:100vh;
  height:100dvh;
  background:url('assets/hero-new.jpg') center 45%/cover no-repeat;
  pointer-events:none;
}
.hero-v2{
  min-height:calc(100vh - 94px)!important;
  min-height:calc(100dvh - 94px)!important;
  background:transparent!important;
  background-image:none!important;
}
.hero-v2:before{
  background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.70) 40%,rgba(0,0,0,.25) 76%,rgba(0,0,0,.10) 100%)!important;
}
.home-tools{
  background:rgba(17,17,16,.76)!important;
  backdrop-filter:blur(12px) saturate(105%);
  -webkit-backdrop-filter:blur(12px) saturate(105%);
}
.home-tools:after{content:none!important}
@media(max-width:850px){
  body:before{background-position:55% 38%}
  .hero-v2{min-height:calc(100vh - 88px)!important;min-height:calc(100dvh - 88px)!important}
  .hero-v2:before{background:rgba(0,0,0,.68)!important}
}
@media(max-width:600px){body:before{background-position:57% 40%}}


/* V9.08 — homepage layering refinement
   Pull Explore into the first viewport and give text-heavy content its own readable surface. */
@media(min-width:851px){
  .home-tools{
    margin-top:-165px!important;
    padding-top:78px!important;
    z-index:3;
    overflow:visible!important;
    border-top:1px solid rgba(255,255,255,.13);
    box-shadow:0 -18px 48px rgba(0,0,0,.18);
  }
}
.trust-section{
  position:relative;
  z-index:2;
  background:rgba(15,15,14,.94)!important;
  color:#fff;
  backdrop-filter:blur(18px) saturate(105%);
  -webkit-backdrop-filter:blur(18px) saturate(105%);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.trust-section .eyebrow{color:var(--gold)!important}
.trust-section .trust-cta-split>div:first-child h2{color:#fff!important}
@media(max-width:850px){
  .home-tools{
    margin-top:-95px!important;
    padding-top:64px!important;
    position:relative;
    z-index:3;
    border-top:1px solid rgba(255,255,255,.12);
  }
}
@media(max-width:600px){
  .home-tools{margin-top:-70px!important;padding-top:58px!important}
}

/* V9.09 — tighten hero-to-Explore spacing and make the smoked surface continuous */
@media(min-width:851px){
  .home-tools{
    margin-top:-290px!important;
    padding-top:82px!important;
    border-top:0!important;
    box-shadow:none!important;
    background:rgba(17,17,16,.76)!important;
  }
}
@media(max-width:850px){
  .home-tools{
    border-top:0!important;
    box-shadow:none!important;
  }
}

/* V9.10 — hero readability + crop refinement */
body:before{
  /* Shift the fixed photograph upward: roofline sits closer beneath navigation and more facade/entry remains visible before Explore overlaps. */
  background-position:center 48%!important;
}
.hero-v2:before{
  /* Stronger left-side scrim for reliable copy contrast, fading smoothly into the photograph. */
  background:linear-gradient(90deg,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.90) 24%,
    rgba(0,0,0,.74) 43%,
    rgba(0,0,0,.40) 65%,
    rgba(0,0,0,.15) 84%,
    rgba(0,0,0,.06) 100%)!important;
}
@media(max-width:1100px){body:before{background-position:52% 48%!important}}
@media(max-width:850px){
  body:before{background-position:55% 47%!important}
  .hero-v2:before{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.76) 58%,rgba(0,0,0,.46) 100%)!important}
}
@media(max-width:600px){body:before{background-position:57% 46%!important}}

/* V9.11 — raise fixed hero crop so roofline sits just beneath navigation */
body:before{background-position:center 62%!important}
@media(max-width:1100px){body:before{background-position:52% 60%!important}}
@media(max-width:850px){body:before{background-position:55% 52%!important}}
@media(max-width:600px){body:before{background-position:57% 48%!important}}

/* V9.12 — actual fixed-canvas crop adjustment
   The source photo is almost the same aspect ratio as a desktop viewport, so
   background-position alone has virtually no vertical travel. Slightly zoom
   the fixed image to create crop room, then anchor it lower so the top lawn is
   cropped and the roofline rises beneath the navigation. */
@media(min-width:1101px){
  body:before{
    background-size:auto 112%!important;
    background-position:center 72%!important;
  }
}
@media(min-width:851px) and (max-width:1100px){
  body:before{
    background-size:auto 110%!important;
    background-position:52% 68%!important;
  }
}

/* V9.14 — Goldilocks hero crop: midpoint between V9.12 and V9.13 */
@media(min-width:1101px){
  body:before{
    background-size:auto 118%!important;
    background-position:center 75%!important;
  }
}
@media(min-width:851px) and (max-width:1100px){
  body:before{
    background-size:auto 114%!important;
    background-position:52% 71%!important;
  }
}

/* V9.15 — keep the hero readability scrim inside the visible hero only.
   Explore overlaps the final 290px of the hero, so stop the scrim at that
   boundary. The fixed photograph remains underneath, while Explore receives
   a consistent smoked-glass treatment without inheriting the hero's dark
   left-side gradient. */
@media(min-width:851px){
  .hero-v2:before{
    bottom:290px!important;
  }
}
@media(max-width:850px){
  .hero-v2:before{
    bottom:95px!important;
  }
}
@media(max-width:600px){
  .hero-v2:before{
    bottom:70px!important;
  }
}

/* V9.20 — intentional glass edge.
   Keep the clean V9.15 hero/glass boundary and mark the top edge of the
   smoked pane with a restrained warm-gold hairline instead of a fade. */
.home-tools{
  border-top:1px solid rgba(226,180,38,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
@media(max-width:600px){
  .home-tools{border-top-color:rgba(226,180,38,.34)!important}
}

/* V9.21 — full-height hero readability scrim.
   Keep the left-to-transparent gradient across the entire hero, including
   the portion underneath the overlapping semi-transparent Explore pane. */
.hero-v2:before{
  bottom:0!important;
}
@media(max-width:850px){
  .hero-v2:before{bottom:0!important}
}
@media(max-width:600px){
  .hero-v2:before{bottom:0!important}
}

/* V9.22 — fixed full-viewport readability scrim.
   Attach the left-to-transparent gradient to the same fixed canvas as the
   hero photograph so it continues behind every translucent overlay. */
body:after{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  width:100%;
  height:100vh;
  height:100dvh;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.90) 24%,
    rgba(0,0,0,.74) 43%,
    rgba(0,0,0,.40) 65%,
    rgba(0,0,0,.15) 84%,
    rgba(0,0,0,.06) 100%);
}
.hero-v2:before{background:transparent!important}
@media(max-width:850px){
  body:after{background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.76) 58%,rgba(0,0,0,.46) 100%)}
}

/* V9.23 — responsive hero content centering.
   Center the complete hero copy/CTA block inside the actually visible hero
   region: from the bottom of navigation to the gold Explore glass edge.
   The Explore pane overlaps the hero by 290px on desktop, so reserve that
   overlap as bottom space instead of centering against the hero's hidden
   full height. This keeps the composition balanced across viewport heights
   and browser zoom levels without moving the fixed photo or divider. */
@media(min-width:851px){
  .hero-v2{
    display:grid!important;
    align-items:center!important;
    box-sizing:border-box!important;
    padding-bottom:290px!important;
  }
  .hero-v2 .wrap.hero-content{
    align-self:center!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
}

/* Tablet: use the tablet Explore overlap as the reserved lower region. */
@media(min-width:651px) and (max-width:850px){
  .hero-v2{
    display:grid!important;
    align-items:center!important;
    box-sizing:border-box!important;
    padding-bottom:95px!important;
  }
  .hero-v2 .wrap.hero-content{
    align-self:center!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
}

/* V9.24 — exact hero vertical centering.
   Position the complete copy/CTA group at the mathematical midpoint of the
   visible hero region (hero top -> gold Explore edge), rather than relying on
   grid centering inside a padded box. */
@media(min-width:851px){
  .hero-v2{
    position:relative!important;
    display:block!important;
    padding-bottom:0!important;
  }
  .hero-v2 .wrap.hero-content{
    position:absolute!important;
    top:calc((100% - 290px) / 2)!important;
    left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:min(var(--max),calc(100% - 40px))!important;
    margin:0!important;
    padding:0!important;
  }
}
@media(min-width:651px) and (max-width:850px){
  .hero-v2{
    position:relative!important;
    display:block!important;
    padding-bottom:0!important;
  }
  .hero-v2 .wrap.hero-content{
    position:absolute!important;
    top:calc((100% - 95px) / 2)!important;
    left:50%!important;
    transform:translate(-50%,-50%)!important;
    width:min(var(--max),calc(100% - 40px))!important;
    margin:0!important;
    padding:0!important;
  }
}

/* V9.25 — restrained gold hairline beneath the main navigation.
   Match the warm-gold divider used at the hero / Explore glass boundary. */
header{
  border-bottom:1px solid rgba(226,180,38,.42)!important;
}
@media(max-width:600px){
  header{border-bottom-color:rgba(226,180,38,.34)!important}
}

/* V9.27 — opaque concierge + matching gold perimeter hairline */
.flow-shell{
  background:#e9e8e4!important;
  border:1px solid rgba(226,180,38,.42)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 35px 100px rgba(0,0,0,.45)!important;
}
@media(max-width:600px){
  .flow-shell{border-color:rgba(226,180,38,.34)!important}
}

/* V9.28 — visible gold hairline around homepage concierge popup */
.flow-shell{
  border:1px solid rgba(226,180,38,.78)!important;
}
@media(max-width:600px){
  .flow-shell{border-color:rgba(226,180,38,.68)!important}
}

/* V9.29 — brighter Mike Brown gold popup perimeter hairline */
.flow-shell{
  border:1px solid #e2b426!important;
}

/* V9.30 — 4px Mike Brown gold popup perimeter */
.flow-shell{
  border:4px solid #e2b426!important;
}

/* V9.31 — editorial floating home-tool cards */
.home-tools .home-tool-grid{
  gap:18px!important;
  border:0!important;
  perspective:none!important;
}
.home-tools .home-tool-card,
.home-tools .home-tool-card:first-child,
.home-tools .home-tool-card:nth-child(4),
.home-tools .home-tool-card:nth-child(5),
.home-tools .home-tool-card:nth-child(6){
  position:relative!important;
  min-height:270px!important;
  padding:30px 30px 28px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:18px!important;
  background:rgba(13,13,12,.58)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 16px 42px rgba(0,0,0,.16)!important;
  overflow:hidden!important;
  backdrop-filter:blur(9px)!important;
  -webkit-backdrop-filter:blur(9px)!important;
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease!important;
}
.home-tools .home-tool-card:before{
  content:""!important;
  position:absolute!important;
  width:150px!important;height:150px!important;
  left:-30px!important;top:-36px!important;inset:auto!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(226,180,38,.10) 0%,rgba(226,180,38,.035) 42%,transparent 72%)!important;
  pointer-events:none!important;
}
.home-tools .home-tool-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(226,180,38,.48)!important;
  background:rgba(20,20,18,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 22px 50px rgba(0,0,0,.23)!important;
}
.home-tools .home-tool-card .home-tool-icon,
.home-tools .home-tool-card:first-child .home-tool-icon,
.home-tools .home-tool-card:not(:first-child) .home-tool-icon{
  width:50px!important;height:50px!important;
  margin:0 0 30px!important;
  border:1px solid rgba(226,180,38,.24)!important;
  border-radius:14px!important;
  background:rgba(28,28,26,.86)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 8px 22px rgba(0,0,0,.22),0 0 24px rgba(226,180,38,.035)!important;
}
.home-tools .home-tool-card h3,
.home-tools .home-tool-card:first-child h3,
.home-tools .home-tool-card:not(:first-child) h3{
  font-size:24px!important;
  line-height:1.04!important;
  margin:0 0 12px!important;
}
.home-tools .home-tool-card p,
.home-tools .home-tool-card:first-child p{
  margin:0 0 25px!important;
  color:rgba(255,255,255,.66)!important;
}
.home-tools .home-tool-card b{
  display:inline!important;
  width:auto!important;
  margin-top:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:var(--gold)!important;
  font-size:11px!important;
  letter-spacing:.055em!important;
  transition:color .2s ease,letter-spacing .2s ease!important;
}
.home-tools .home-tool-card:hover b{
  padding:0!important;border:0!important;background:transparent!important;
  color:#f0c54b!important;letter-spacing:.07em!important;
}
@media(max-width:900px){
  .home-tools .home-tool-grid{border:0!important;gap:16px!important}
}
@media(max-width:600px){
  .home-tools .home-tool-card,.home-tools .home-tool-card:first-child{
    min-height:230px!important;border-radius:16px!important;padding:26px!important;
  }
}


/* V9.32 — editorial introduction for Explore Your Home */
.home-tools .home-tools-head{display:block!important;margin-bottom:42px!important}
.home-tools-intro{max-width:760px}
.home-tools-eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 17px;color:#e2b426;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.home-tools-eyebrow i{display:block;width:74px;height:1px;background:#e2b426;opacity:.9}
.home-tools .home-tools-head h2{font-size:clamp(40px,4.1vw,56px)!important;line-height:1!important;letter-spacing:-.045em!important;max-width:none!important;margin:0 0 17px!important}
.home-tools .home-tools-head p{max-width:650px;margin:0!important;color:rgba(255,255,255,.68)!important;font-size:16px!important;line-height:1.55!important}
@media(max-width:600px){.home-tools .home-tools-head{margin-bottom:32px!important}.home-tools-eyebrow{font-size:11px;gap:12px;margin-bottom:14px}.home-tools-eyebrow i{width:48px}.home-tools .home-tools-head h2{font-size:39px!important;margin-bottom:14px!important}.home-tools .home-tools-head p{font-size:15px!important}}

/* V9.33 — editorial exterior expertise + unified closing CTA */
.service-preview{
  position:relative; z-index:2; background:rgba(15,15,14,.94)!important; color:#fff;
  border-top:1px solid rgba(224,174,30,.72); padding:82px 0 88px!important;
  backdrop-filter:blur(18px) saturate(105%); -webkit-backdrop-filter:blur(18px) saturate(105%);
}
.service-preview .section-head{align-items:end!important;margin-bottom:38px!important}
.service-preview .section-head .eyebrow{color:var(--gold)!important;letter-spacing:.18em!important}
.service-preview .section-head h2{color:#fff!important;font-size:clamp(42px,4.4vw,64px)!important;line-height:.98!important;margin-top:12px!important}
.service-preview .section-head>p{color:rgba(255,255,255,.64)!important;max-width:500px!important;font-size:15px!important;line-height:1.65!important}
.service-preview .cards{gap:16px!important}
.service-preview .card{
  position:relative; overflow:hidden; background:rgba(10,10,9,.62)!important; color:#fff!important;
  border:1px solid rgba(255,255,255,.13)!important; border-radius:18px!important;
  min-height:300px!important; padding:28px 25px!important; justify-content:flex-start!important;
  box-shadow:0 18px 38px rgba(0,0,0,.16); transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease!important;
}
.service-preview .card:before{content:"";position:absolute;left:25px;right:25px;top:56px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(224,174,30,.08));opacity:.75}
.service-preview .card small{color:var(--gold)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.12em!important;margin-bottom:30px!important}
.service-preview .card h3{color:#fff!important;font-size:25px!important;margin:15px 0 12px!important}
.service-preview .card p{color:rgba(255,255,255,.62)!important;font-size:13px!important;line-height:1.58!important}
.service-preview .card .arrow{margin-top:auto!important;padding-top:30px!important;color:var(--gold)!important;font-size:11px!important;letter-spacing:.035em;text-transform:uppercase}
.service-preview .card:hover{transform:translateY(-4px)!important;background:rgba(20,20,18,.78)!important;border-color:rgba(224,174,30,.72)!important;box-shadow:0 24px 48px rgba(0,0,0,.24)!important}

.trust-section{border-top:1px solid rgba(224,174,30,.72)!important;padding:72px 0 76px!important}
.trust-cta-split{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)!important;align-items:center!important;gap:70px!important}
.trust-section .trust-cta-split>div:first-child h2{font-size:clamp(34px,3.4vw,50px)!important;line-height:1.04!important;margin:14px 0 18px!important}
.trust-section .trust-cta-split>div:first-child:after{content:"The tools can help you explore. When you're ready, our team can take it from here.";display:block;color:rgba(255,255,255,.62);font-size:15px;line-height:1.6;max-width:570px;margin:0 0 28px}
.trust-section .btn.dark{background:transparent!important;color:var(--gold)!important;border:0!important;padding:0!important;text-transform:uppercase!important;letter-spacing:.05em!important;box-shadow:none!important}
.trust-section .btn.dark:after{content:"  →"}
.trust-section .goldbox{background:transparent!important;border:0!important;border-left:1px solid rgba(224,174,30,.55)!important;padding:12px 0 12px 48px!important;min-height:0!important}
.trust-section .goldbox h3{color:#fff!important;font-size:30px!important;line-height:1.08!important;margin:0 0 24px!important}
.trust-section .goldbox .btn.dark{display:inline-flex!important;background:var(--gold)!important;color:#111!important;border:1px solid var(--gold)!important;padding:16px 22px!important;border-radius:3px!important}
.trust-section .goldbox .btn.dark:after{content:" →"}
@media(max-width:900px){.trust-cta-split{grid-template-columns:1fr!important;gap:42px!important}.trust-section .goldbox{border-left:0!important;border-top:1px solid rgba(224,174,30,.55)!important;padding:36px 0 0!important}}
@media(max-width:600px){.service-preview{padding:64px 0 68px!important}.service-preview .card{min-height:250px!important}.service-preview .section-head h2{font-size:42px!important}}


/* V9.34 — closing CTA flow fix + rounded expertise tiles */
.trust-section .trust-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.trust-section .trust-copy h2{margin:14px 0 18px!important}
.trust-section .trust-copy p{display:block!important;color:rgba(255,255,255,.62)!important;font-size:15px!important;line-height:1.6!important;max-width:570px!important;margin:0 0 28px!important}
.trust-section .trust-copy:after{content:none!important;display:none!important}
.trust-section .trust-copy .btn.dark{position:static!important;margin:0!important}
.service-preview .card{border-radius:18px!important}
@media(max-width:600px){.service-preview .card{border-radius:16px!important}}


/* v9.35 — trust section hierarchy + CTA flow */
.trust-section .trust-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  height:auto!important;
  min-height:0!important;
  position:static!important;
}
.trust-section .trust-copy h2{
  max-width:none!important;
  width:100%!important;
  margin:14px 0 30px!important;
  font-size:clamp(36px,3.25vw,48px)!important;
  line-height:1.08!important;
}
.trust-section .trust-copy h2 span{
  display:block;
  white-space:nowrap;
}
.trust-section .trust-copy p{display:none!important}
.trust-section .trust-copy .btn.dark{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin:0!important;
  align-self:flex-start!important;
}
.trust-section .goldbox .btn.dark{border-radius:9px!important}
@media(max-width:900px){
  .trust-section .trust-copy h2 span{white-space:normal}
  .trust-section .trust-copy h2{margin-bottom:24px!important}
}


/* v9.36 — balanced closing CTA columns */
@media(min-width:901px){
  .trust-section .trust-cta-split{align-items:stretch!important}
  .trust-section .trust-copy,
  .trust-section .goldbox{
    box-sizing:border-box!important;
    min-height:212px!important;
    height:212px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:flex-start!important;
  }
  .trust-section .trust-copy{padding:0!important}
  .trust-section .trust-copy h2{
    margin:0!important;
    width:100%!important;
  }
  .trust-section .trust-copy .btn.dark{margin-top:36px!important}
  .trust-section .goldbox{padding:0 0 0 48px!important}
  .trust-section .goldbox h3{margin:0!important}
  .trust-section .goldbox .btn.dark{margin:36px 0 0!important}
}
@media(max-width:900px){
  .trust-section .trust-copy h2{margin-top:0!important}
}

/* v9.37 — taller, precisely aligned closing CTA block */
@media(min-width:901px){
  .trust-section{padding:86px 0 90px!important}
  .trust-section .trust-cta-split{align-items:stretch!important}
  .trust-section .trust-copy,
  .trust-section .goldbox{
    height:230px!important;
    min-height:230px!important;
    justify-content:space-between!important;
  }
  .trust-section .trust-copy h2,
  .trust-section .goldbox h3{margin:0!important}
  .trust-section .trust-copy .btn.dark,
  .trust-section .goldbox .btn.dark{margin:0!important}
}

/* v9.38 — optically align closing CTA content, not just the columns */
@media(min-width:901px){
  .trust-section{padding:96px 0 100px!important}
  .trust-section .trust-copy,
  .trust-section .goldbox{
    height:250px!important;
    min-height:250px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:flex-start!important;
  }
  .trust-section .goldbox{padding:0 0 0 48px!important}
  .trust-section .trust-copy h2,
  .trust-section .goldbox h3{
    margin:0!important;
    padding:0!important;
  }
  .trust-section .goldbox h3{transform:none!important}
  .trust-section .trust-copy .btn.dark,
  .trust-section .goldbox .btn.dark{
    position:static!important;
    margin:0!important;
    align-self:flex-start!important;
  }
}

/* v9.39 — optical right-column alignment refinement */
@media(min-width:901px){
  .trust-section .goldbox h3{
    transform:translateY(18px)!important;
  }
  .trust-section .goldbox .btn.dark{
    transform:translateY(-14px)!important;
  }
}

/* v9.40b — true smoked-glass header over the homepage hero */
header{
  background:rgba(9,9,9,.76) !important;
  -webkit-backdrop-filter:blur(16px) saturate(112%);
  backdrop-filter:blur(16px) saturate(112%);
  border-bottom:1px solid rgba(245,189,39,.55) !important;
}
/* Pull only the homepage hero behind the in-flow sticky header, then restore
   the same visual/content start position with matching internal top space. */
body:has(.hero-v2) .hero-v2{
  margin-top:-86px !important;
  padding-top:86px !important;
}
@media(max-width:850px){
  body:has(.hero-v2) .hero-v2{
    margin-top:-86px !important;
    padding-top:86px !important;
  }
}

/* v9.42 — warm translucent glass break for Exterior Expertise */
.service-preview{
  background:rgba(226,220,207,.13)!important;
  color:#fff!important;
  border-top:0!important;
  border-bottom:1px solid rgba(224,174,30,.72)!important;
  -webkit-backdrop-filter:blur(20px) saturate(92%)!important;
  backdrop-filter:blur(20px) saturate(92%)!important;
}
.service-preview .section-head .eyebrow{color:var(--gold)!important}
.service-preview .section-head h2{color:#fff!important}
.service-preview .card{
  background:rgba(9,9,8,.70)!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.20)!important;
}
.service-preview .card:hover{
  background:rgba(17,17,15,.82)!important;
  border-color:rgba(224,174,30,.72)!important;
}

/* v9.43 — frame lower homepage sections + return header to solid black */
header{
  background:#080808 !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
  border-bottom:1px solid rgba(245,189,39,.55) !important;
}
/* Header is opaque again, so keep the hero in normal document flow. */
body:has(.hero-v2) .hero-v2{
  margin-top:0 !important;
  padding-top:0 !important;
}
/* Restore the gold hairline above and below Exterior Expertise. */
.service-preview{
  border-top:1px solid rgba(224,174,30,.72) !important;
  border-bottom:1px solid rgba(224,174,30,.72) !important;
}
/* Gold hairline between the closing trust section and footer. */
.trust-section{
  border-bottom:1px solid rgba(224,174,30,.72) !important;
}

/* v9.44 — alternating lower-page rhythm: light / dark / light
   Standardize all section hairlines to Mike Brown Gold at 1px. */
header,
.home-tools,
.service-preview,
.trust-section{
  border-color:var(--gold)!important;
  border-width:0 0 1px 0!important;
  border-style:solid!important;
}
header{border-bottom:1px solid var(--gold)!important}
.home-tools{border-top:1px solid var(--gold)!important;border-bottom:1px solid var(--gold)!important}
.service-preview{border-top:0!important;border-bottom:1px solid var(--gold)!important}
.trust-section{border-top:0!important;border-bottom:1px solid var(--gold)!important}

/* 1 — Explore: warm/light smoked glass */
.home-tools{
  background:rgba(226,220,207,.13)!important;
  -webkit-backdrop-filter:blur(20px) saturate(92%)!important;
  backdrop-filter:blur(20px) saturate(92%)!important;
}
.home-tools:before,.home-tools:after{content:none!important}
/* Keep the interactive tiles dark for contrast against the lighter glass. */
.home-tools .home-tool-card,
.home-tools .home-tool-card:first-child,
.home-tools .home-tool-card:nth-child(4),
.home-tools .home-tool-card:nth-child(5),
.home-tools .home-tool-card:nth-child(6){
  background:rgba(9,9,8,.70)!important;
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.20)!important;
}

/* 2 — Exterior Expertise: dark smoked section */
.service-preview{
  background:rgba(15,15,14,.94)!important;
  -webkit-backdrop-filter:blur(18px) saturate(105%)!important;
  backdrop-filter:blur(18px) saturate(105%)!important;
}
.service-preview .card{background:rgba(9,9,8,.70)!important}

/* 3 — Human/CTA block: warm/light smoked glass, with dark copy. */
.trust-section{
  background:rgba(226,220,207,.13)!important;
  color:#151515!important;
  -webkit-backdrop-filter:blur(20px) saturate(92%)!important;
  backdrop-filter:blur(20px) saturate(92%)!important;
}
.trust-section .trust-cta-split>div:first-child h2,
.trust-section .goldbox h3{color:#fff!important}
/* Keep this section's typography white for continuity/readability over the photographic glass. */
.trust-section .goldbox{border-left:1px solid var(--gold)!important}
@media(max-width:900px){.trust-section .goldbox{border-left:0!important;border-top:1px solid var(--gold)!important}}

/* v9.45 — lower-page progression: dark → medium → light → black footer */
/* 1 — Explore: dark smoked glass directly below the hero */
.home-tools{
  background:rgba(10,10,9,.90)!important;
  -webkit-backdrop-filter:blur(18px) saturate(104%)!important;
  backdrop-filter:blur(18px) saturate(104%)!important;
}

/* 2 — Exterior Expertise: medium warm smoked glass */
.service-preview{
  background:rgba(150,145,134,.16)!important;
  -webkit-backdrop-filter:blur(20px) saturate(94%)!important;
  backdrop-filter:blur(20px) saturate(94%)!important;
}
.service-preview .card{
  background:rgba(9,9,8,.72)!important;
}

/* 3 — Human/CTA: lightest warm glass before the black footer */
.trust-section{
  background:rgba(226,220,207,.13)!important;
  -webkit-backdrop-filter:blur(20px) saturate(92%)!important;
  backdrop-filter:blur(20px) saturate(92%)!important;
}

/* Keep every framing/divider line at one true Mike Brown Gold hairline. */
header,
.home-tools,
.service-preview,
.trust-section{
  border-color:#f5bd27!important;
}
header{border-bottom:1px solid #f5bd27!important}
.home-tools{border-top:1px solid #f5bd27!important;border-bottom:1px solid #f5bd27!important}
.service-preview{border-top:0!important;border-bottom:1px solid #f5bd27!important}
.trust-section{border-top:0!important;border-bottom:1px solid #f5bd27!important}
.trust-section .goldbox{border-left:1px solid #f5bd27!important}
@media(max-width:900px){.trust-section .goldbox{border-left:0!important;border-top:1px solid #f5bd27!important}}

/* v9.46 — deepen the middle step so dark → medium → light reads clearly */
.service-preview{
  background:rgba(38,37,34,.56)!important;
  -webkit-backdrop-filter:blur(20px) saturate(94%)!important;
  backdrop-filter:blur(20px) saturate(94%)!important;
}

/* v9.47 — crisp hero isolation + localized trust-section contrast */
/* The fixed photo itself must never inherit any glass blur/filter. */
body:before,
body:after,
.hero-v2,
.hero-v2:before{
  -webkit-filter:none!important;
  filter:none!important;
}
.hero-v2{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* Keep the lower CTA section light overall, but create soft dark pockets
   directly behind the two white-copy columns for reliable contrast. */
.trust-section{
  position:relative!important;
  isolation:isolate;
  overflow:hidden;
}
.trust-section:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 48% 115% at 20% 50%, rgba(0,0,0,.30) 0%, rgba(0,0,0,.19) 48%, rgba(0,0,0,0) 78%),
    radial-gradient(ellipse 34% 110% at 79% 46%, rgba(0,0,0,.28) 0%, rgba(0,0,0,.17) 50%, rgba(0,0,0,0) 80%);
}
.trust-section .wrap{
  position:relative;
  z-index:1;
}

/* v9.48 — restore light glass + translucent gold copy plates */
.trust-section:before{content:none!important;display:none!important}
.trust-section .trust-copy,
.trust-section .goldbox{
  position:relative!important;
  border-radius:14px!important;
  background:rgba(245,189,39,.14)!important;
  border:1px solid rgba(245,189,39,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 32px rgba(0,0,0,.08)!important;
  -webkit-backdrop-filter:blur(6px) saturate(105%)!important;
  backdrop-filter:blur(6px) saturate(105%)!important;
}
@media(min-width:901px){
  .trust-section .trust-copy{padding:34px 38px!important}
  .trust-section .goldbox{padding:34px 38px!important;border-left:1px solid rgba(245,189,39,.42)!important}
  .trust-cta-split>div,.trust-cta-split .goldbox{height:265px!important;min-height:265px!important}
  .trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{bottom:34px!important}
  .trust-cta-split>div:first-child .btn{left:38px!important}
  .trust-cta-split .goldbox .btn{left:38px!important}
}
@media(max-width:900px){
  .trust-section .trust-copy,.trust-section .goldbox{padding:28px!important}
  .trust-section .goldbox{border:1px solid rgba(245,189,39,.42)!important}
}

/* v9.49 — roomier neutral glass copy plates */
.trust-section .trust-copy,
.trust-section .goldbox{
  background:rgba(70,70,68,.38)!important;
  border:1px solid rgba(170,170,165,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 32px rgba(0,0,0,.08)!important;
  -webkit-backdrop-filter:blur(6px) saturate(102%)!important;
  backdrop-filter:blur(6px) saturate(102%)!important;
}
@media(min-width:901px){
  .trust-section .trust-copy{padding:44px 50px!important}
  .trust-section .goldbox{padding:44px 50px!important;border-left:1px solid rgba(170,170,165,.42)!important}
  .trust-cta-split>div,.trust-cta-split .goldbox{height:285px!important;min-height:285px!important}
  .trust-cta-split>div:first-child .btn,.trust-cta-split .goldbox .btn{bottom:44px!important}
  .trust-cta-split>div:first-child .btn{left:50px!important}
  .trust-cta-split .goldbox .btn{left:50px!important}
}
@media(max-width:900px){
  .trust-section .trust-copy,.trust-section .goldbox{padding:34px!important}
  .trust-section .goldbox{border:1px solid rgba(170,170,165,.42)!important}
}

/* v9.50 — compact dark smoked-glass trust panels */
.trust-section .trust-copy,
.trust-section .goldbox{
  background:rgba(22,22,21,.76)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 16px 34px rgba(0,0,0,.16)!important;
  -webkit-backdrop-filter:blur(8px) saturate(100%)!important;
  backdrop-filter:blur(8px) saturate(100%)!important;
}
@media(min-width:901px){
  .trust-section .trust-cta-split{
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)!important;
    gap:54px!important;
    align-items:start!important;
  }
  .trust-section .trust-copy,
  .trust-section .goldbox{
    box-sizing:border-box!important;
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    padding:34px 38px!important;
  }
  .trust-section .trust-copy h2,
  .trust-section .goldbox h3{
    margin:0!important;
  }
  .trust-section .trust-copy .btn.dark{
    position:static!important;
    margin-top:44px!important;
  }
  .trust-section .goldbox .btn.dark{
    position:static!important;
    margin-top:38px!important;
  }
  .trust-section .goldbox{
    border-left:1px solid rgba(255,255,255,.18)!important;
  }
}
@media(max-width:900px){
  .trust-section .trust-copy,
  .trust-section .goldbox{
    height:auto!important;
    min-height:0!important;
    padding:30px!important;
    border:1px solid rgba(255,255,255,.18)!important;
  }
  .trust-section .trust-copy .btn.dark,
  .trust-section .goldbox .btn.dark{
    position:static!important;
    margin-top:30px!important;
  }
}

/* v11 — open editorial trust section + single focused CTA card */
.trust-section{
  padding:58px 0 62px!important;
}
.trust-section .trust-cta-split{
  grid-template-columns:minmax(0,1.7fr) minmax(300px,.75fr)!important;
  gap:72px!important;
  align-items:center!important;
}
.trust-section .trust-copy{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  padding:0!important;
  height:auto!important;
  min-height:0!important;
}
.trust-section .trust-copy h2{
  max-width:760px!important;
  margin:0 0 28px!important;
  font-size:clamp(40px,4vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.trust-section .trust-copy .btn.dark{
  position:static!important;
  margin:0!important;
}
.trust-section .goldbox{
  background:rgba(20,20,19,.82)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 18px 38px rgba(0,0,0,.18)!important;
  -webkit-backdrop-filter:blur(9px) saturate(100%)!important;
  backdrop-filter:blur(9px) saturate(100%)!important;
  padding:38px 40px!important;
  height:auto!important;
  min-height:0!important;
}
.trust-section .goldbox h3{
  margin:0 0 28px!important;
  font-size:clamp(26px,2.2vw,34px)!important;
  line-height:1.08!important;
}
.trust-section .goldbox .btn.dark{
  position:static!important;
  margin:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  justify-content:space-between!important;
  padding:17px 22px!important;
}
@media(max-width:900px){
  .trust-section{padding:50px 0 54px!important}
  .trust-section .trust-cta-split{grid-template-columns:1fr!important;gap:38px!important}
  .trust-section .trust-copy{padding:0!important;border:0!important}
  .trust-section .goldbox{padding:30px!important;border:1px solid rgba(255,255,255,.16)!important}
}

/* v12 — homepage proportion + rhythm polish */
/* Let the lower homepage breathe without boxing every transition in gold. */
.home-tools{border-bottom:0!important}
.service-preview{border-top:0!important;border-bottom:0!important;padding:64px 0 68px!important}
.trust-section{border-top:0!important;border-bottom:0!important;padding:46px 0 50px!important}

/* Exterior Expertise should read as a supporting section, not a second hero. */
.service-preview .section-head{margin-bottom:28px!important}
.service-preview .section-head h2{
  font-size:clamp(38px,3.55vw,52px)!important;
  line-height:1.01!important;
  letter-spacing:-.04em!important;
  margin-top:9px!important;
}
.service-preview .cards{gap:16px!important}
.service-preview .card{
  min-height:238px!important;
  padding:25px 25px 23px!important;
}
.service-preview .card:before{top:52px!important}
.service-preview .card small{margin-bottom:25px!important}
.service-preview .card h3{font-size:24px!important;margin:12px 0 8px!important}
.service-preview .card p{line-height:1.5!important}
.service-preview .card .arrow{padding-top:18px!important}

/* Closing statement: compact editorial composition with one deliberate CTA card. */
.trust-section{
  background:linear-gradient(90deg,rgba(23,23,22,.84) 0%,rgba(32,32,29,.74) 54%,rgba(52,58,38,.58) 100%)!important;
  -webkit-backdrop-filter:blur(13px) saturate(88%)!important;
  backdrop-filter:blur(13px) saturate(88%)!important;
}
.trust-section .trust-cta-split{
  grid-template-columns:minmax(0,1.55fr) minmax(340px,.72fr)!important;
  gap:54px!important;
  align-items:center!important;
}
.trust-section .trust-copy h2{
  max-width:720px!important;
  font-size:clamp(37px,3.55vw,52px)!important;
  line-height:1.03!important;
  margin:0 0 22px!important;
}
.trust-section .goldbox{
  width:100%!important;
  max-width:390px!important;
  justify-self:end!important;
  padding:30px 34px!important;
  border-radius:15px!important;
}
.trust-section .goldbox h3{
  font-size:clamp(25px,2vw,31px)!important;
  margin:0 0 22px!important;
}
.trust-section .goldbox .btn.dark{padding:15px 20px!important}

@media(max-width:900px){
  .service-preview{padding:54px 0 58px!important}
  .service-preview .card{min-height:220px!important}
  .trust-section{padding:44px 0 48px!important}
  .trust-section .trust-cta-split{grid-template-columns:1fr!important;gap:30px!important}
  .trust-section .goldbox{justify-self:start!important;max-width:430px!important}
}

/* v13 — unified exterior expertise composition */
.expertise-combined{
  position:relative;
  overflow:hidden;
  padding:76px 0 68px;
  border:0!important;
  background:
    radial-gradient(ellipse at 78% 42%,rgba(98,119,54,.25) 0%,rgba(98,119,54,.10) 26%,transparent 55%),
    linear-gradient(105deg,#171817 0%,#262622 53%,#35382b 100%);
}
.expertise-combined:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 55% 24%,rgba(255,255,255,.10),transparent 43%);
  opacity:.8;
}
.expertise-combined .wrap{position:relative;z-index:1}
.expertise-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);gap:72px;align-items:center}
.service-index{border-top:1px solid rgba(255,255,255,.16)}
.service-row{display:grid;grid-template-columns:48px minmax(0,1fr) 34px;gap:14px;align-items:center;padding:22px 4px;border-bottom:1px solid rgba(255,255,255,.16);text-decoration:none;color:#fff;transition:.22s ease}
.service-num{align-self:start;padding-top:6px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.1em}
.service-row-copy{display:flex;align-items:baseline;gap:20px;min-width:0}
.service-row-copy strong{font-size:clamp(25px,2.2vw,33px);line-height:1;font-weight:900;letter-spacing:-.025em;min-width:190px}
.service-row-copy small{font-size:14px;line-height:1.4;color:rgba(255,255,255,.64)}
.service-arrow{justify-self:end;color:var(--gold);font-size:23px;transition:.22s ease}
.service-row:hover{padding-left:10px;border-bottom-color:rgba(247,190,35,.65)}
.service-row:hover .service-num{color:#fff}
.service-row:hover .service-arrow{transform:translateX(7px)}
.expertise-heading .eyebrow{margin-bottom:14px}
.expertise-heading h2{font-size:clamp(43px,4.4vw,65px);line-height:.98;letter-spacing:-.045em;margin:0 0 20px;color:#fff}
.expertise-heading p{max-width:390px;margin:0;color:rgba(255,255,255,.65);font-size:16px;line-height:1.55}
.expertise-bottom{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.68fr);gap:72px;align-items:center;margin-top:72px;padding-top:58px;border-top:1px solid rgba(255,255,255,.10)}
.expertise-bottom .trust-copy{padding:0!important;border:0!important}
.expertise-bottom .trust-copy h2{font-size:clamp(38px,3.7vw,54px)!important;line-height:1.02!important;letter-spacing:-.04em!important;max-width:760px!important;margin:0 0 22px!important;color:#fff}
.expertise-bottom .trust-copy h2 span{display:block}
.expertise-bottom .trust-copy .btn.dark{background:transparent!important;color:var(--gold)!important;padding:0!important;border:0!important;box-shadow:none!important;text-transform:uppercase;font-weight:900}
.expertise-bottom .trust-copy .btn.dark:after{content:" →"}
.expertise-bottom .goldbox{width:100%;max-width:390px;justify-self:end;background:rgba(10,10,10,.70);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:30px 34px;box-shadow:0 18px 44px rgba(0,0,0,.22)}
.expertise-bottom .goldbox h3{font-size:clamp(25px,2vw,31px);line-height:1.04;margin:0 0 22px;color:#fff}
.expertise-bottom .goldbox .btn.dark{width:100%;background:var(--gold)!important;color:#0a0a0a!important;border:0!important;padding:16px 20px!important}
@media(max-width:900px){
 .expertise-combined{padding:56px 0}
 .expertise-top,.expertise-bottom{grid-template-columns:1fr;gap:38px}
 .expertise-heading{grid-row:1}
 .service-index{grid-row:2}
 .expertise-bottom{margin-top:52px;padding-top:42px}
 .expertise-bottom .goldbox{justify-self:start;max-width:430px}
 .service-row-copy{display:block}.service-row-copy strong{display:block;margin-bottom:7px;min-width:0}.service-row-copy small{display:block}
}
@media(max-width:560px){
 .service-row{grid-template-columns:34px minmax(0,1fr) 24px;padding:18px 0;gap:10px}
 .service-row-copy strong{font-size:25px}.service-row-copy small{font-size:13px}
 .expertise-heading h2{font-size:43px}
}

/* v14 — unified expertise typography + spacing polish */
.service-num{font-size:14px}
.service-row-copy small{font-size:16px;line-height:1.45;color:rgba(255,255,255,.70)}
.expertise-heading p{font-size:19px;line-height:1.55;color:rgba(255,255,255,.70);max-width:430px}
.expertise-bottom{margin-top:52px;padding-top:0;border-top:0!important}
.expertise-bottom .trust-copy .btn.dark{font-size:16px!important}
.expertise-bottom .goldbox h3{font-size:clamp(27px,2.15vw,34px)}
@media(max-width:900px){
 .expertise-bottom{margin-top:42px;padding-top:0!important;border-top:0!important}
 .service-row-copy small{font-size:15px}
 .expertise-heading p{font-size:17px}
}
@media(max-width:560px){
 .service-num{font-size:13px}
 .service-row-copy small{font-size:14px}
}


/* v15 — homepage breathing room + simplified copy + concierge cohesion */
/* Prevent a phantom-looking dark strip when the sticky header is active. */
body:has(.hero-v2) header{margin-bottom:0!important}
body:has(.hero-v2) main{margin-top:0!important;padding-top:0!important}

/* With the supporting paragraphs removed, give the Explore intro a deliberate landing. */
.home-tools-head{margin-bottom:42px!important}
.home-tools-intro h2{margin-bottom:0!important}

/* More vertical rhythm inside the unified expertise composition. */
.expertise-combined{padding:94px 0 88px!important}
.expertise-top{align-items:center!important}
.expertise-bottom{margin-top:82px!important}
.expertise-heading h2{margin-bottom:0!important}
.service-row{padding-top:26px!important;padding-bottom:26px!important}

/* Make the floating concierge feel like the same design system as the site CTAs. */
.quickstart-float{right:28px!important;bottom:28px!important}
.quickstart-float button{
  min-width:244px!important;
  padding:14px 18px 15px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:8px!important;
  background:rgba(14,14,13,.94)!important;
  color:#fff!important;
  box-shadow:0 14px 36px rgba(0,0,0,.34)!important;
}
.quickstart-float button:hover{border-color:var(--gold)!important;background:#151515!important}
.quickstart-float span{color:var(--gold)!important;font-size:9px!important;letter-spacing:.14em!important;margin-bottom:5px!important}
.quickstart-float strong{font-size:14px!important;line-height:1.15!important}
.quickstart-float strong b{color:var(--gold)!important}

@media(max-width:900px){
  .expertise-combined{padding:68px 0 66px!important}
  .expertise-bottom{margin-top:58px!important}
  .service-row{padding-top:22px!important;padding-bottom:22px!important}
}
@media(max-width:600px){
  .quickstart-float{right:12px!important;bottom:12px!important}
  .quickstart-float button{min-width:0!important;padding:12px 14px!important}
}

/* v16 — give Explore Your Home heading and tool grid more breathing room */
.home-tools{padding-top:112px!important;padding-bottom:118px!important}
.home-tools .home-tools-head{margin-bottom:72px!important}
@media(max-width:900px){
  .home-tools{padding-top:88px!important;padding-bottom:92px!important}
  .home-tools .home-tools-head{margin-bottom:56px!important}
}
@media(max-width:600px){
  .home-tools{padding-top:76px!important;padding-bottom:80px!important}
  .home-tools .home-tools-head{margin-bottom:44px!important}
}

/* v17 — restore intentional homepage vertical rhythm */
@media(min-width:851px){
  body:has(.hero-v2) .hero-v2{
    display:flex!important;
    align-items:center!important;
    min-height:calc(100vh - 36px)!important;
    min-height:calc(100dvh - 36px)!important;
    box-sizing:border-box!important;
    padding-bottom:0!important;
  }
  body:has(.hero-v2) .hero-v2 .wrap.hero-content{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    transform:none!important;
    width:min(var(--max),calc(100% - 80px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:58px 0 64px!important;
  }
  .hero-v2 .eyebrow{margin-bottom:22px!important}
  .hero-v2 h1{margin:0 0 22px!important}
  .hero-v2 .hero-content>p:not(.micro){margin:0 0 38px!important}
  .hero-v2 .hero-actions{margin-top:0!important}
}

/* Explore: less empty space above the intro, more separation before cards. */
.home-tools{padding-top:76px!important;padding-bottom:112px!important}
.home-tools .home-tools-head{margin-bottom:72px!important}
@media(max-width:900px){
  .home-tools{padding-top:68px!important;padding-bottom:88px!important}
  .home-tools .home-tools-head{margin-bottom:54px!important}
}
@media(max-width:600px){
  .home-tools{padding-top:58px!important;padding-bottom:72px!important}
  .home-tools .home-tools-head{margin-bottom:40px!important}
}

/* v18 — fix hero / Explore collision and restore roofline crop */
@media(min-width:851px){
  /* Explore is now a normal following section; do not pull it over the hero. */
  body:has(.hero-v2) .home-tools{
    margin-top:0!important;
  }

  /* Restore a natural crop so the top of the roof is visible beneath navigation. */
  body:has(.hero-v2):before{
    background-size:cover!important;
    background-position:center 36%!important;
  }

  /* Keep a deliberate buffer beneath the CTA row before the hero edge. */
  body:has(.hero-v2) .hero-v2{
    min-height:calc(100vh - 132px)!important;
    min-height:calc(100dvh - 132px)!important;
  }
  body:has(.hero-v2) .hero-v2 .wrap.hero-content{
    padding-top:64px!important;
    padding-bottom:72px!important;
  }
}
@media(min-width:851px) and (max-width:1100px){
  body:has(.hero-v2):before{background-position:52% 36%!important}
}

/* v20 — balance hero whitespace above and below the content block */
@media(min-width:851px){
  body:has(.hero-v2) .hero-v2{
    display:flex!important;
    align-items:center!important;
    box-sizing:border-box!important;
    padding:0!important;
  }
  body:has(.hero-v2) .hero-v2 .wrap.hero-content{
    /* Equal outer breathing room: centering the complete content block makes
       header→eyebrow and CTA→next-section spacing visually symmetrical. */
    padding-top:72px!important;
    padding-bottom:72px!important;
    margin-top:auto!important;
    margin-bottom:auto!important;
  }
}

/* v21 — tighten the hero's equal outer breathing room */
@media(min-width:851px){
  body:has(.hero-v2) .hero-v2{
    min-height:calc(100vh - 182px)!important;
    min-height:calc(100dvh - 182px)!important;
  }
  body:has(.hero-v2) .hero-v2 .wrap.hero-content{
    padding-top:48px!important;
    padding-bottom:48px!important;
    margin-top:auto!important;
    margin-bottom:auto!important;
  }
}

/* v22 — slightly tighter hero bottom + raise concierge over hero edge */
@media(min-width:851px){
  body:has(.hero-v2) .hero-v2 .wrap.hero-content{
    padding-top:48px!important;
    padding-bottom:30px!important;
  }
  body:has(.hero-v2) .quickstart-float{
    bottom:clamp(170px,24vh,230px)!important;
  }
}


/* v23 — lock concierge into the hero CTA composition on desktop */
@media(min-width:851px){
  body:has(.hero-v2) .hero-v2 .wrap.hero-content{
    position:relative!important;
  }
  body:has(.hero-v2) .hero-v2 .quickstart-float{
    position:absolute!important;
    right:0!important;
    bottom:30px!important;
    z-index:8!important;
  }
  body:has(.hero-v2) .hero-v2 .quickstart-float button{
    min-width:244px!important;
  }
}
/* Preserve the compact floating launcher behavior on tablet/mobile. */
@media(max-width:850px){
  body:has(.hero-v2) .hero-v2 .quickstart-float{
    position:fixed!important;
    right:12px!important;
    bottom:12px!important;
    z-index:70!important;
  }
}


/* v25 — structural hero CTA alignment: all three actions share one responsive row */
@media(min-width:851px){
  body:has(.hero-v2) .hero-v2 .hero-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:28px!important;
    width:100%!important;
    max-width:none!important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions-primary{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    flex:0 0 auto!important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    margin-left:auto!important;
    flex:0 0 auto!important;
    z-index:8!important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float button{
    min-width:244px!important;
  }
}
@media(max-width:850px){
  body:has(.hero-v2) .hero-v2 .hero-actions-primary{
    display:grid;
    gap:12px;
  }
}

/* v26 — unify all three desktop hero actions */
@media (min-width:851px){
  body:has(.hero-v2) .hero-v2 .hero-actions-primary > .btn,
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float > button{
    height:54px !important;
    min-height:54px !important;
    box-sizing:border-box !important;
    border-radius:5px !important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions-primary > .btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float > button{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:0 17px !important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float span{
    margin:0 0 3px !important;
    line-height:1 !important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float strong{
    width:100% !important;
    line-height:1 !important;
  }
}

/* v27 — one responsive hero action system */
@media (min-width:851px){
  body:has(.hero-v2) .hero-v2 .hero-actions{
    display:flex!important; align-items:center!important; justify-content:space-between!important;
    gap:28px!important; width:100%!important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions-primary{
    display:grid!important; grid-template-columns:repeat(2, 1fr)!important;
    align-items:stretch!important; gap:12px!important; width:570px!important;
    flex:0 0 570px!important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions-primary > .btn,
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float > button{
    height:56px!important; min-height:0!important; max-height:56px!important;
    box-sizing:border-box!important; border-radius:5px!important; margin:0!important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions-primary > .btn{
    width:100%!important; padding:0 18px!important; display:flex!important;
    align-items:center!important; justify-content:center!important; white-space:nowrap!important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float{
    position:static!important; inset:auto!important; transform:none!important;
    margin:0 0 0 auto!important; flex:0 0 auto!important;
  }
  body:has(.hero-v2) .hero-v2 .hero-actions .quickstart-float > button{
    width:244px!important; min-width:244px!important; padding:0 17px!important;
    display:flex!important; flex-direction:column!important; justify-content:center!important;
  }
}

/* v28 — compact Explore Your Home so the full 2x3 tool grid fits a desktop viewport */
@media (min-width:901px){
  .home-tools{
    padding-top:44px!important;
    padding-bottom:52px!important;
  }
  .home-tools .home-tools-head{
    margin-bottom:34px!important;
  }
  .home-tools-eyebrow{
    margin-bottom:12px!important;
  }
  .home-tools .home-tools-head h2{
    font-size:clamp(38px,3.55vw,50px)!important;
  }
  .home-tool-grid{
    gap:12px!important;
  }
  .home-tool-card,
  .home-tool-card:first-child,
  .home-tool-card:nth-child(4),
  .home-tool-card:nth-child(5),
  .home-tool-card:nth-child(6){
    min-height:210px!important;
    padding:20px 24px!important;
  }
  .home-tool-card:first-child .home-tool-icon,
  .home-tool-card .home-tool-icon{
    width:40px!important;
    height:40px!important;
    font-size:20px!important;
    margin:4px 0 13px!important;
  }
  .home-tool-card:first-child h3,
  .home-tool-card h3{
    font-size:21px!important;
    line-height:1.05!important;
    margin-bottom:10px!important;
  }
  .home-tool-card:first-child p,
  .home-tool-card p{
    font-size:13px!important;
    line-height:1.4!important;
    margin-bottom:12px!important;
  }
  .home-tool-card b{
    font-size:10.5px!important;
  }
}

/* v29 — tighter tool grid + remove the gold ambient glass glow */
.home-tools:before{
  background:radial-gradient(circle at 80% 68%,rgba(255,255,255,.055),transparent 23%)!important;
}
.home-tool-card:before{
  background:linear-gradient(120deg,rgba(255,255,255,.075),transparent 30%,transparent 100%)!important;
}
@media (min-width:901px){
  .home-tools{
    padding-top:30px!important;
    padding-bottom:36px!important;
  }
  .home-tools .home-tools-head{
    margin-bottom:24px!important;
  }
  .home-tools-eyebrow{
    margin-bottom:8px!important;
  }
  .home-tools .home-tools-head h2{
    font-size:clamp(36px,3.35vw,47px)!important;
  }
  .home-tool-grid{
    gap:10px!important;
  }
  .home-tool-card,
  .home-tool-card:first-child,
  .home-tool-card:nth-child(4),
  .home-tool-card:nth-child(5),
  .home-tool-card:nth-child(6){
    min-height:186px!important;
    padding:17px 22px!important;
  }
  .home-tool-card:first-child .home-tool-icon,
  .home-tool-card .home-tool-icon{
    width:38px!important;
    height:38px!important;
    font-size:19px!important;
    margin:2px 0 11px!important;
  }
  .home-tool-card:first-child h3,
  .home-tool-card h3{
    font-size:20px!important;
    margin-bottom:8px!important;
  }
  .home-tool-card:first-child p,
  .home-tool-card p{
    font-size:12.5px!important;
    line-height:1.35!important;
    margin-bottom:9px!important;
  }
}

/* v30 — compact flat-black Explore Your Home tiles */
.home-tools .home-tool-card,
.home-tools .home-tool-card:first-child,
.home-tools .home-tool-card:nth-child(4),
.home-tools .home-tool-card:nth-child(5),
.home-tools .home-tool-card:nth-child(6){
  background:#090909!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:1px solid #343434!important;
}
.home-tools .home-tool-card:before,
.home-tools .home-tool-card:after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.home-tools .home-tool-card:hover{
  background:#0d0d0d!important;
  background-image:none!important;
  box-shadow:none!important;
  border-color:#555!important;
  transform:translateY(-2px)!important;
}
.home-tools .home-tool-card .home-tool-icon,
.home-tools .home-tool-card:first-child .home-tool-icon,
.home-tools .home-tool-card:not(:first-child) .home-tool-icon{
  background:#111!important;
  background-image:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
@media (min-width:901px){
  .home-tools{padding-top:24px!important;padding-bottom:26px!important}
  .home-tools .home-tools-head{margin-bottom:18px!important}
  .home-tools-eyebrow{margin-bottom:6px!important}
  .home-tools .home-tools-head h2{font-size:clamp(34px,3.15vw,44px)!important}
  .home-tool-grid{gap:9px!important}
  .home-tools .home-tool-card,
  .home-tools .home-tool-card:first-child,
  .home-tools .home-tool-card:nth-child(4),
  .home-tools .home-tool-card:nth-child(5),
  .home-tools .home-tool-card:nth-child(6){
    min-height:164px!important;
    padding:14px 20px!important;
  }
  .home-tools .home-tool-card:first-child .home-tool-icon,
  .home-tools .home-tool-card .home-tool-icon{
    width:36px!important;height:36px!important;font-size:18px!important;margin:0 0 8px!important;
  }
  .home-tools .home-tool-card:first-child h3,
  .home-tools .home-tool-card h3{font-size:19px!important;line-height:1.03!important;margin-bottom:6px!important}
  .home-tools .home-tool-card:first-child p,
  .home-tools .home-tool-card p{font-size:12px!important;line-height:1.3!important;margin-bottom:6px!important}
  .home-tools .home-tool-card b{font-size:10px!important}
}


/* v31 — tiles-only Explore Your Home section */
@media (min-width:901px){
  .home-tools{padding-top:48px!important;padding-bottom:48px!important;}
}
@media (max-width:900px){
  .home-tools{padding-top:52px!important;padding-bottom:52px!important;}
}
@media (max-width:600px){
  .home-tools{padding-top:42px!important;padding-bottom:56px!important;}
}


/* v32 — normalize all six tool tiles + contextual line icons */
.home-tools .home-tool-card,
.home-tools .home-tool-card:first-child,
.home-tools .home-tool-card:nth-child(4),
.home-tools .home-tool-card:nth-child(5),
.home-tools .home-tool-card:nth-child(6){
  justify-content:flex-start!important;
  align-items:stretch!important;
}
.home-tools .home-tool-card .home-tool-icon,
.home-tools .home-tool-card:first-child .home-tool-icon{
  flex:0 0 auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.home-tools .home-tool-card .home-tool-icon svg{
  width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.home-tools .home-tool-card h3,
.home-tools .home-tool-card:first-child h3{margin-top:0!important;}
.home-tools .home-tool-card b{margin-top:auto!important;}


/* v33 — definitive six-tile alignment; remove legacy first-card layout differences */
@media (min-width:901px){
  .home-tools .home-tool-card,
  .home-tools .home-tool-card:first-child,
  .home-tools .home-tool-card:nth-child(4),
  .home-tools .home-tool-card:nth-child(5),
  .home-tools .home-tool-card:nth-child(6){
    display:grid!important;
    grid-template-rows:36px 42px 34px 1fr!important;
    row-gap:8px!important;
    min-height:164px!important;
    padding:14px 20px!important;
    align-items:start!important;
    justify-content:stretch!important;
  }
  .home-tools .home-tool-card .home-tool-icon,
  .home-tools .home-tool-card:first-child .home-tool-icon,
  .home-tools .home-tool-card:not(:first-child) .home-tool-icon{
    width:36px!important;
    height:36px!important;
    margin:0!important;
    align-self:start!important;
  }
  .home-tools .home-tool-card h3,
  .home-tools .home-tool-card:first-child h3{
    font-size:19px!important;
    line-height:1.03!important;
    margin:0!important;
    max-width:none!important;
    align-self:start!important;
  }
  .home-tools .home-tool-card p,
  .home-tools .home-tool-card:first-child p{
    font-size:12px!important;
    line-height:1.3!important;
    margin:0!important;
    max-width:none!important;
    align-self:start!important;
  }
  .home-tools .home-tool-card b{
    margin:0!important;
    align-self:end!important;
  }
}

/* v34 — true uniform tool-card typography + a little more interior breathing room */
@media (min-width:901px){
  .home-tools button.home-tool-card,
  .home-tools a.home-tool-card,
  .home-tools button.home-tool-card:first-child,
  .home-tools a.home-tool-card:first-child{
    display:grid!important;
    grid-template-rows:40px 48px 40px 1fr!important;
    row-gap:9px!important;
    min-height:176px!important;
    padding:20px 26px!important;
    box-sizing:border-box!important;
  }
  .home-tools button.home-tool-card h3,
  .home-tools a.home-tool-card h3,
  .home-tools button.home-tool-card:first-child h3,
  .home-tools a.home-tool-card:first-child h3,
  .home-tools .home-tool-card:not(:first-child) h3{
    font-size:22px!important;
    line-height:1.04!important;
    letter-spacing:-.025em!important;
    margin:0!important;
    max-width:none!important;
    font-weight:700!important;
  }
  .home-tools button.home-tool-card p,
  .home-tools a.home-tool-card p,
  .home-tools button.home-tool-card:first-child p,
  .home-tools a.home-tool-card:first-child p{
    font-size:13px!important;
    line-height:1.35!important;
    margin:0!important;
    max-width:none!important;
  }
  .home-tools button.home-tool-card .home-tool-icon,
  .home-tools a.home-tool-card .home-tool-icon{
    width:40px!important;height:40px!important;margin:0!important;
  }
  .home-tools button.home-tool-card b,
  .home-tools a.home-tool-card b{
    margin:0!important;align-self:end!important;
  }
}

/* v35 — consistent breathing room between tile headings and descriptions */
@media (min-width:901px){
  .home-tools button.home-tool-card,
  .home-tools a.home-tool-card,
  .home-tools button.home-tool-card:first-child,
  .home-tools a.home-tool-card:first-child{
    grid-template-rows:40px 60px minmax(40px,auto) 1fr!important;
    min-height:194px!important;
  }
}
@media (max-width:900px){
  .home-tools .home-tool-card p,
  .home-tools .home-tool-card:first-child p{
    margin-top:14px!important;
  }
}

/* v36 — add vertical tile padding and breathing room on second-row tiles */
@media (min-width:901px){
  .home-tools button.home-tool-card,
  .home-tools a.home-tool-card,
  .home-tools button.home-tool-card:first-child,
  .home-tools a.home-tool-card:first-child{
    padding:28px 26px!important;
    min-height:230px!important;
  }
  .home-tools .home-tool-card:nth-child(n+4){
    grid-template-rows:40px 74px minmax(40px,auto) 1fr!important;
  }
}
@media (max-width:900px){
  .home-tools .home-tool-card,
  .home-tools .home-tool-card:first-child{
    padding-top:26px!important;
    padding-bottom:26px!important;
  }
}

/* v37 — give every tile heading a clear gap below its icon */
@media (min-width:901px){
  .home-tools button.home-tool-card,
  .home-tools a.home-tool-card,
  .home-tools button.home-tool-card:first-child,
  .home-tools a.home-tool-card:first-child{
    grid-template-rows:52px 60px minmax(40px,auto) 1fr!important;
    min-height:242px!important;
  }
  .home-tools .home-tool-card:nth-child(n+4){
    grid-template-rows:52px 74px minmax(40px,auto) 1fr!important;
  }
}
@media (max-width:900px){
  .home-tools .home-tool-card h3,
  .home-tools .home-tool-card:first-child h3{
    margin-top:12px!important;
  }
}

/* v38 — same icon/title/description/CTA layout in both tile rows */
@media (min-width:901px){
  .home-tools .home-tool-card:nth-child(n+4){
    grid-template-rows:52px 60px minmax(40px,auto) 1fr!important;
  }
}

/* v39 — enforce equal heights for BOTH rows, overriding earlier row-specific rules */
@media (min-width:901px){
  .home-tools .home-tool-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:252px!important;
    align-items:stretch!important;
  }
  .home-tools .home-tool-grid > .home-tool-card,
  .home-tools .home-tool-grid > .home-tool-card:first-child,
  .home-tools .home-tool-grid > .home-tool-card:nth-child(n+4),
  .home-tools .home-tool-grid > button.home-tool-card,
  .home-tools .home-tool-grid > a.home-tool-card{
    height:252px!important;
    min-height:252px!important;
    max-height:252px!important;
    grid-template-rows:52px 60px minmax(40px,auto) 1fr!important;
    padding:28px 26px!important;
    box-sizing:border-box!important;
  }
}

/* v40 — right-aligned exterior expertise heading on desktop */
@media (min-width:901px){
  .expertise-top .expertise-heading{text-align:right;justify-self:end;width:100%;}
  .expertise-top .expertise-heading .eyebrow{text-align:right;}
  .expertise-top .expertise-heading h2{text-align:right;}
}

/* v41 — anchor footer brand description to bottom of footer columns */
.foot > div:first-child{display:flex;flex-direction:column;align-items:flex-start;}
.foot > div:first-child > p{margin-top:auto;margin-bottom:0;}
@media(max-width:700px){.foot > div:first-child > p{margin-top:18px;}}

/* v42 — align the last line of footer brand copy with Financing */
@media (min-width:701px){
  .foot > div:first-child > p{margin-bottom:14px;}
}

/* v44 — premium ivory concierge: six independent choices */
.flow-modal{background:rgba(0,0,0,.72)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}
.flow-shell{width:min(1050px,100%)!important;max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;background:#f7f5f0!important;border:2px solid #d9a925!important;border-radius:20px!important;box-shadow:0 38px 110px rgba(0,0,0,.58)!important}
.flow-step#flowStep1{padding:48px 48px 44px!important}
.flow-step#flowStep1>.eyebrow{color:#aa790a!important;font-size:13px!important;letter-spacing:.16em!important}
.flow-step#flowStep1 h2{font-size:clamp(30px,4vw,52px)!important;line-height:1.08!important;margin:12px 0 10px!important;letter-spacing:-.045em!important}
.flow-step#flowStep1>p{font-size:16px!important;margin:0 0 30px!important;color:#625f59!important}
.flow-step#flowStep1 .flow-choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.flow-step#flowStep1 .flow-choices button,
.flow-step#flowStep1 .flow-choices a{display:flex!important;align-items:center!important;min-height:120px!important;padding:18px!important;gap:16px!important;background:#fbfaf7!important;border:1px solid #ddd8ce!important;border-radius:16px!important;box-shadow:0 7px 22px rgba(40,32,18,.035)!important;transform:none!important;overflow:visible!important;text-align:left!important}
.flow-step#flowStep1 .flow-choices button:nth-last-child(-n+2){border-bottom:1px solid #ddd8ce!important}
.flow-step#flowStep1 .flow-choices button:hover{background:#fff!important;border-color:#c9a34c!important;box-shadow:0 12px 30px rgba(40,32,18,.10)!important;padding:18px!important;transform:translateY(-2px)!important}
.flow-step#flowStep1 .flow-choices .flow-icon{width:64px!important;height:64px!important;flex:0 0 64px!important;border-radius:13px!important;background:#151515!important;color:#e4b321!important;border:0!important;font-size:27px!important}
.flow-step#flowStep1 .flow-choice-copy{flex:1!important;min-width:0!important;gap:6px!important}
.flow-step#flowStep1 .flow-choice-copy strong{font-size:18px!important;line-height:1.16!important;color:#171717!important}
.flow-step#flowStep1 .flow-choice-copy small{font-size:14px!important;line-height:1.35!important;color:#706d67!important}
.flow-step#flowStep1 .flow-arrow{width:38px!important;height:38px!important;flex:0 0 38px!important;display:grid!important;place-items:center!important;border:1px solid #ded7c9!important;border-radius:50%!important;font-size:24px!important;color:#c18e06!important;opacity:1!important}
.flow-x{top:18px!important;right:18px!important;border-radius:50%!important}
@media(max-width:750px){
 .flow-shell{width:100%!important;max-height:calc(100dvh - 20px)!important}
 .flow-step#flowStep1{padding:42px 20px 24px!important}
 .flow-step#flowStep1 h2{font-size:clamp(28px,7vw,38px)!important;padding-right:18px!important}
 .flow-step#flowStep1>p{font-size:14px!important;margin-bottom:20px!important}
 .flow-step#flowStep1 .flow-choices{grid-template-columns:1fr!important;gap:10px!important}
 .flow-step#flowStep1 .flow-choices button{min-height:84px!important;padding:12px!important;gap:12px!important}
 .flow-step#flowStep1 .flow-choices button:hover{padding:12px!important}
 .flow-step#flowStep1 .flow-choices .flow-icon{width:46px!important;height:46px!important;flex-basis:46px!important;font-size:21px!important}
 .flow-step#flowStep1 .flow-choice-copy strong{font-size:15px!important}
 .flow-step#flowStep1 .flow-choice-copy small{font-size:12px!important}
 .flow-step#flowStep1 .flow-arrow{width:30px!important;height:30px!important;flex-basis:30px!important;font-size:18px!important}
}

/* v45: concierge icons match homepage icon artwork */
.flow-step#flowStep1 .flow-choices .flow-icon svg{width:28px;height:28px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.flow-step#flowStep1 .flow-choices .flow-icon svg{width:22px;height:22px}}

/* v47 — extra breathing room beneath simplified concierge heading */
.flow-step#flowStep1 h2#flowTitle{margin-bottom:34px!important;}
@media(max-width:750px){.flow-step#flowStep1 h2#flowTitle{margin-bottom:26px!important;}}

/* v48: understated gold separator in homepage hero copy */
.hero-v2 .hero-copy-divider{color:#d7aa36;font-weight:600;display:inline-block;padding:0 .15em;text-shadow:none}
@media(max-width:600px){.hero-v2 .hero-copy-divider{display:none}}

/* v49: readable two-line hero description */
.hero-v2 .hero-two-line-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.65)}
.hero-v2 .hero-two-line-copy span{display:block;color:inherit}

/* v54 — cropped, silent exterior showcase in place of right-hand headline */
.expertise-top .expertise-video{position:relative;width:100%;max-width:520px;justify-self:end;aspect-ratio:16/9;overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#141714;box-shadow:0 20px 45px rgba(0,0,0,.28)}
.expertise-top .expertise-video video{display:block;width:100%;height:100%;object-fit:cover}
.expertise-top .expertise-video-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  border:0;
  border-radius:999px;
  min-width:72px;
  min-height:72px;
  padding:0 18px;
  background:rgba(245,189,39,.94);
  color:#111;
  font:inherit;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.expertise-top .expertise-video-play:hover{background:#ffd44a}
.expertise-top .expertise-video-play[hidden]{display:none!important}
@media(max-width:900px){.expertise-top .expertise-video{grid-row:1;justify-self:center;max-width:620px}}
@media(prefers-reduced-motion:reduce){.expertise-top .expertise-video video{animation:none}}


/* v55 — taller showcase on the left, services on the right */
@media(min-width:901px){
  .expertise-top{grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);gap:44px;align-items:stretch!important}
  .expertise-top .expertise-video{grid-column:1;grid-row:1;max-width:none;justify-self:stretch;align-self:stretch;aspect-ratio:auto;height:100%;min-height:100%}
  .expertise-top .service-index{grid-column:2;grid-row:1;min-width:0;align-self:center}
  .expertise-top .service-row-copy{display:block}
  .expertise-top .service-row-copy strong{display:block;min-width:0;margin-bottom:7px}
  .expertise-top .service-row-copy small{display:block}
}
@media(max-width:900px){
  .expertise-top .expertise-video{grid-row:1;max-width:none;justify-self:stretch;aspect-ratio:16/9;height:auto}
  .expertise-top .service-index{grid-row:2}
}

/* v57 — tighter services and shorter, matched-height video */
@media(min-width:901px){
  .expertise-top .service-row{padding-top:14px;padding-bottom:14px;}
  .expertise-top .service-row-copy strong{margin-bottom:4px;font-size:clamp(24px,2vw,30px);}
  .expertise-top .service-row-copy small{line-height:1.3;}
  .expertise-top .expertise-video{min-height:0;height:100%;}
  .expertise-bottom{margin-top:58px;}
}

/* v58 — more breathing room above Why Mike Brown link */
.expertise-bottom .trust-copy h2{margin-bottom:36px!important;}

/* v59: integrated customer reviews in the former expertise footer */
.expertise-bottom.reviews-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,76px);align-items:center;padding-top:clamp(35px,5vw,66px);padding-bottom:clamp(24px,4vw,48px)}
.reviews-feature .reviews-intro h2{font-size:clamp(36px,4.2vw,64px);line-height:1.04;letter-spacing:-.045em;margin:13px 0 17px;color:#fff}
.reviews-feature .reviews-eyebrow{font-size:12px;font-weight:800;letter-spacing:.15em;color:#f7bf26}
.reviews-feature .reviews-intro p{color:#c9c9c6;max-width:420px;font-size:16px;line-height:1.5;margin:0 0 23px}
.reviews-feature .reviews-link{display:inline-flex;align-items:center;gap:12px;color:#f7bf26;text-decoration:none;text-transform:uppercase;font-size:13px;letter-spacing:.04em;font-weight:800;border-bottom:1px solid rgba(247,191,38,.45);padding-bottom:7px}
.reviews-feature .reviews-link:hover{border-color:#f7bf26}
.reviews-feature .reviews-quote{background:rgba(11,12,10,.73);border:1px solid rgba(255,255,255,.16);border-radius:17px;padding:clamp(24px,3vw,38px);box-shadow:0 14px 35px rgba(0,0,0,.18)}
.reviews-feature .reviews-stars{color:#f7bf26;letter-spacing:5px;font-size:20px;margin-bottom:17px}
.reviews-feature .reviews-quote blockquote{margin:0 0 15px;font-size:clamp(23px,2.3vw,32px);font-weight:800;line-height:1.14;letter-spacing:-.025em;color:#fff}
.reviews-feature .reviews-quote p{color:#dededb;font-size:15px;line-height:1.55;margin:0 0 21px}
.reviews-feature .reviews-attribution{color:#aeb0a9;font-size:12px;line-height:1.5}
.reviews-feature .reviews-attribution span{color:#f7bf26;margin:0 5px}
@media(max-width:800px){.expertise-bottom.reviews-feature{grid-template-columns:1fr;gap:25px}.reviews-feature .reviews-intro h2{font-size:clamp(34px,8vw,50px)}}

/* v60 — compact customer reviews; keep the existing two-column design */
@media(min-width:801px){
  .expertise-bottom.reviews-feature{margin-top:32px!important;padding-top:10px;padding-bottom:8px;gap:clamp(24px,4vw,56px)}
  .reviews-feature .reviews-intro h2{font-size:clamp(34px,3.55vw,49px);margin:9px 0 10px;line-height:1.04}
  .reviews-feature .reviews-intro p{font-size:14px;line-height:1.35;margin-bottom:12px}
  .reviews-feature .reviews-quote{padding:20px 25px}
  .reviews-feature .reviews-stars{font-size:18px;margin-bottom:9px}
  .reviews-feature .reviews-quote blockquote{font-size:clamp(21px,1.9vw,27px);margin-bottom:9px;line-height:1.12}
  .reviews-feature .reviews-quote p{font-size:13px;line-height:1.4;margin-bottom:12px}
  .reviews-feature .reviews-attribution{font-size:11px}
}
@media(max-width:800px){
  .expertise-bottom.reviews-feature{margin-top:28px!important;padding-top:6px;padding-bottom:8px;gap:20px}
  .reviews-feature .reviews-intro h2{font-size:clamp(32px,7vw,44px);margin:10px 0}
  .reviews-feature .reviews-intro p{margin-bottom:14px}
  .reviews-feature .reviews-quote{padding:20px}
  .reviews-feature .reviews-stars{margin-bottom:10px}
  .reviews-feature .reviews-quote blockquote{font-size:23px;margin-bottom:10px}
  .reviews-feature .reviews-quote p{margin-bottom:12px}
}

/* v61 — compact verified Google rating and two testimonials */
.expertise-bottom.reviews-feature.reviews-v61{display:flex!important;flex-direction:column;align-items:stretch;gap:14px!important;margin-top:30px!important;padding-top:8px!important;padding-bottom:12px!important}
.reviews-v61-header{display:flex;align-items:center;justify-content:space-between;gap:24px}
.reviews-v61-heading{min-width:0}
.reviews-feature .reviews-v61-heading h2{font-size:clamp(28px,3vw,42px);line-height:1.07;letter-spacing:-.035em;margin:7px 0 0}
.reviews-v61-rating{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;white-space:nowrap;border:1px solid rgba(255,255,255,.16);border-radius:13px;padding:10px 14px;background:rgba(12,13,11,.65)}
.reviews-v61-rating strong{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.045em}
.reviews-v61-rating>span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.reviews-v61-stars{color:#f7bf26;letter-spacing:2px;font-size:17px;line-height:1.1}
.reviews-v61-rating small{font-size:12px;color:#c9c9c6}
.reviews-v61-rating-arrow{color:#f7bf26;margin-left:5px}
.reviews-v61-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reviews-v61-card{display:flex;flex-direction:column;background:rgba(11,12,10,.73);border:1px solid rgba(255,255,255,.16);border-radius:15px;padding:18px 21px;min-width:0}
.reviews-v61-card blockquote{font-size:clamp(16px,1.55vw,21px);font-weight:750;line-height:1.24;letter-spacing:-.02em;margin:10px 0 8px;color:#fff}
.reviews-v61-card p{font-size:13px;line-height:1.4;color:#d0d0cd;margin:0 0 12px}
.reviews-v61-author{font-size:12px;color:#bfc0bb;margin-top:auto}
.reviews-v61-author span{color:#f7bf26;margin:0 5px}
.reviews-feature .reviews-v61-link{align-self:flex-end;margin-top:0;font-size:12px;padding-bottom:4px}
@media(max-width:800px){.reviews-v61-header{align-items:flex-start;flex-direction:column;gap:14px}.reviews-v61-cards{grid-template-columns:1fr}.reviews-v61-rating strong{font-size:36px}.reviews-v61-card{padding:17px 18px}.reviews-feature .reviews-v61-heading h2{font-size:clamp(30px,7vw,42px)}}

/* v62: ensure reviews heading stays white on dark background */
.reviews-feature .reviews-v61-heading h2{color:#fff!important;}

/* v63: separate exterior services from customer reviews with a restrained gold rule */
.expertise-bottom.reviews-feature.reviews-v61{
  border-top:0!important;
  margin-top:32px!important;
  padding-top:28px!important;
  gap:22px!important;
}
.reviews-v61-heading h2{margin-top:0!important;}
@media(max-width:800px){
  .expertise-bottom.reviews-feature.reviews-v61{padding-top:24px!important;gap:20px!important;}
}

/* v66: Give review stars, quote and attribution more breathing room. */
.reviews-v61-card blockquote{ margin-top: 14px; margin-bottom: 14px; }
.reviews-v61-card .reviews-v61-author{ padding-top: 0; margin-top: auto; }

/* v67: compact single-row Google social proof */
.expertise-bottom.reviews-feature.reviews-v61.reviews-v67{
 display:grid!important;grid-template-columns:minmax(155px,.72fr) minmax(0,1.5fr) minmax(0,1.5fr)!important;
 align-items:stretch!important;gap:14px!important;margin-top:42px!important;
 padding:0 0 12px!important;border:0!important;
}
.reviews-v67-summary{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;
 color:#fff;text-decoration:none;min-width:0;padding:10px 6px 10px 0}
.reviews-v67-score{font-size:clamp(46px,5vw,70px);line-height:.95;letter-spacing:-.055em;font-weight:850}
.reviews-v67-stars{color:#f7bf26;font-size:clamp(17px,1.75vw,23px);letter-spacing:1px;white-space:nowrap;line-height:1.1}
.reviews-v67-count{color:#c9c9c6;font-size:13px}
.reviews-v67-action{color:#f7bf26;font-size:12px;font-weight:850;letter-spacing:.035em;margin-top:10px;border-bottom:1px solid rgba(247,191,38,.5);padding-bottom:5px}
.reviews-v67-summary:hover .reviews-v67-action{border-bottom-color:#f7bf26}
.reviews-v67-card{height:100%;padding:17px 19px!important}
.reviews-v67-card blockquote{font-size:clamp(15px,1.3vw,19px)!important;line-height:1.27!important;margin:11px 0 15px!important}
.reviews-v67-card .reviews-v61-author{margin-top:auto!important}
@media(max-width:900px){
 .expertise-bottom.reviews-feature.reviews-v61.reviews-v67{grid-template-columns:minmax(135px,.7fr) repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .reviews-v67-card{padding:15px!important}
 .reviews-v67-card blockquote{font-size:15px!important}
}
@media(max-width:680px){
 .expertise-bottom.reviews-feature.reviews-v61.reviews-v67{grid-template-columns:1fr!important;gap:12px!important;margin-top:32px!important}
 .reviews-v67-summary{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:3px;justify-content:start;padding:6px 0 12px}
 .reviews-v67-score{grid-row:1 / 3;font-size:48px;align-self:center}
 .reviews-v67-stars{align-self:end}
 .reviews-v67-count{align-self:start}
 .reviews-v67-action{grid-column:1 / -1;justify-self:start;margin-top:7px}
 .reviews-v67-card{padding:18px!important}
}

/* v68: more separation and roomier horizontal testimonials */
@media (min-width: 901px) {
  .expertise-bottom.reviews-feature.reviews-v61.reviews-v67{
    margin-top: 72px !important;
    grid-template-columns: minmax(125px,.53fr) minmax(0,1.6fr) minmax(0,1.6fr) !important;
    gap: 16px !important;
  }
  .reviews-v67-card{ padding: 29px 23px !important; }
}
@media (min-width: 681px) and (max-width: 900px) {
  .expertise-bottom.reviews-feature.reviews-v61.reviews-v67{ margin-top: 62px !important; }
  .reviews-v67-card{ padding: 24px 18px !important; }
}
@media (max-width: 680px) {
  .expertise-bottom.reviews-feature.reviews-v61.reviews-v67{ margin-top: 44px !important; }
  .reviews-v67-card{ padding: 24px 20px !important; }
}

/* v69: keep desktop navigation menus reachable across the trigger/menu boundary. */
@media (min-width:851px){
  header .links .dropdown > .drop{
    top:100%;
    margin-top:0;
    z-index:50;
  }
  header .links .dropdown:hover > .drop,
  header .links .dropdown:focus-within > .drop{
    display:grid;
    gap:12px;
  }
}

/* v71: four service pathways on roofing page */
.service-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-detail-card{padding:34px 25px;min-width:0}
.service-detail-card h3{font-size:clamp(17px,1.7vw,22px)}
.service-detail-link{display:inline-block;margin-top:17px;color:#876000;font-size:11px;font-weight:900;letter-spacing:.04em;text-decoration:none}
.service-detail-link:hover{text-decoration:underline}
@media(min-width:601px) and (max-width:850px){
.service-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-detail-card{border-right:1px solid #d8d3c8;border-bottom:1px solid #d8d3c8}
.service-detail-card:nth-child(2n){border-right:0}
.service-detail-card:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:600px){.service-detail-grid{grid-template-columns:1fr}.service-detail-card{border-right:0}}

.mb-before-after{background:#efede8;color:#191919;padding:clamp(55px,7vw,105px) 0}
.mb-before-after h2{max-width:850px;margin:12px 0;font-size:clamp(30px,4vw,52px)}
.mb-before-after p{max-width:700px;margin-bottom:30px}
.mb-comparison{--split:50%;position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:12px;background:#111}
.mb-comparison img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.mb-comparison-after{position:absolute;inset:0}
.mb-comparison-before{position:absolute;inset:0;width:var(--split);overflow:hidden}
.mb-comparison-before img{width:calc(100% * 100 / 50);max-width:none;object-fit:cover}
.mb-comparison-divider{position:absolute;z-index:2;top:0;bottom:0;left:var(--split);width:3px;background:#f5bd27;transform:translateX(-50%);pointer-events:none}
.mb-comparison-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#f5bd27;color:#111;font-weight:800;font-size:22px;box-shadow:0 2px 15px #0005}
.mb-comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3}
.mb-comparison-labels{display:flex;justify-content:space-between;font-weight:800;font-size:12px;letter-spacing:.1em;margin-top:12px}
@media(max-width:700px){.mb-comparison{aspect-ratio:4/5}}
.mb-comparison-before img{width:100%;height:100%;position:absolute;top:0;left:0;object-fit:cover}.mb-comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0);width:100%}

/* Commercial page */
body.commercial-page .commercial-mode-bar{
  background:#0a0a0a;
  border-bottom:1px solid rgba(245,189,39,.35);
  color:#fff;
}
body.commercial-page .commercial-mode-bar-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  min-height:42px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.commercial-page .commercial-mode-bar-inner span{color:var(--roof-gold)}
body.commercial-page .commercial-mode-bar-inner a{
  color:rgba(255,255,255,.55);
  text-decoration:none;
  letter-spacing:.06em;
  font-weight:700;
  text-transform:none;
  font-size:12px;
}
body.commercial-page .commercial-mode-bar-inner a:hover{color:#fff}
body.commercial-page .commercial-opener{
  background:#111;
  color:#fff;
  padding:clamp(28px,4vw,48px) 0;
  border-bottom:3px solid var(--roof-gold);
}
body.commercial-page .commercial-opener-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(22px,4vw,48px);
  align-items:center;
  min-height:0;
}
body.commercial-page .commercial-opener-copy{
  max-width:34em;
}
body.commercial-page .commercial-hero-brand{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(26px,3.2vw,40px);
  font-weight:750;
  letter-spacing:-.03em;
  line-height:1;
}
body.commercial-page .commercial-hero-brand em{
  font-style:normal;
  color:var(--roof-gold);
}
body.commercial-page .commercial-opener h1{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(30px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.035em;
  max-width:14ch;
}
body.commercial-page .commercial-opener-copy > p{
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:clamp(15px,1.3vw,17px);
  line-height:1.6;
}
body.commercial-page .commercial-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
body.commercial-page .commercial-opener-media{
  margin:0;
  overflow:hidden;
  border:3px solid var(--roof-gold);
  background:#1a1a1a;
}
body.commercial-page .commercial-opener-media img{
  display:block;
  width:100%;
  height:clamp(220px,34vh,360px);
  object-fit:cover;
  object-position:center 45%;
}
@media(max-width:850px){
  body.commercial-page .commercial-opener-layout{
    grid-template-columns:1fr;
    gap:20px;
  }
  body.commercial-page .commercial-opener-media img{
    height:clamp(200px,42vw,280px);
  }
  body.commercial-page .commercial-mode-bar-inner{
    min-height:38px;
  }
}

body.commercial-page .commercial-project-section{
  background:#171717;
  color:#fff;
  padding:clamp(52px,7vw,88px) 0;
}
body.commercial-page .commercial-project-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  align-items:center;
  gap:clamp(28px,4vw,64px);
}
body.commercial-page .commercial-project-copy .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.commercial-page .commercial-project-copy .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:var(--roof-gold);
  flex:none;
}
body.commercial-page .commercial-project-copy h2{
  margin:12px 0 16px;
  color:#fff;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.12;
  letter-spacing:-.03em;
}
body.commercial-page .commercial-project-copy p{
  margin:0 0 14px;
  color:rgba(255,255,255,.72);
  font-size:clamp(15px,1.3vw,17px);
  line-height:1.65;
  max-width:540px;
}
body.commercial-page .commercial-project-copy p:last-of-type{
  margin-bottom:0;
}
body.commercial-page .commercial-project-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
body.commercial-page .home-final-actions{
  display:flex!important;
  justify-content:center;
  align-items:center;
  max-width:none;
  grid-template-columns:none;
}
body.commercial-page .home-final-actions .btn{
  width:auto;
  min-width:min(100%,320px);
}
body.commercial-page .commercial-project-media{
  margin:0;
}
body.commercial-page .commercial-project-photo{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center 63%;
  border:3px solid var(--roof-gold);
  background:#2a2a2a;
}
@media(max-width:800px){
  body.commercial-page .commercial-project-layout{
    grid-template-columns:1fr;
  }
  body.commercial-page .commercial-project-photo{
    max-height:360px;
  }
}

/* Homepage conversion and storytelling — Pass 1 */
.hero-tagline{color:#d7b979;font-size:clamp(1.12rem,2.2vw,1.55rem);font-weight:600;letter-spacing:.015em;margin:12px 0 8px}
.hero-proof{display:inline-flex;align-items:center;flex-wrap:wrap;gap:9px;color:#fff;text-decoration:none;font-size:13px;margin:14px 0 18px;padding:9px 14px;border:1px solid rgba(218,189,126,.42);border-radius:30px;background:rgba(10,12,14,.48);backdrop-filter:blur(6px)}
.hero-proof-stars{color:#e5c57d;letter-spacing:2px}.hero-proof strong{font-weight:700}.hero-proof:hover{border-color:#e5c57d}
.home-commitment{background:#efeee9;color:#25272a;padding:clamp(44px,6vw,86px) 0}.commitment-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,5vw,85px);align-items:center}.commitment-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:750;color:#ad8b4c}.home-commitment h2,.home-reviews h2,.home-final-cta h2{font-size:clamp(28px,3.6vw,48px);line-height:1.12;letter-spacing:-.025em;margin:13px 0}.home-commitment p{font-size:clamp(16px,1.4vw,19px);line-height:1.7;color:#45474a;margin:0 0 22px}.commitment-link{font-size:12px;letter-spacing:.09em;font-weight:750;color:#74572a;text-decoration:none}.commitment-link:hover{text-decoration:underline}
.home-reviews{background:#f4f2ed;color:#242527;padding:clamp(48px,6vw,90px) 0}.home-reviews-heading{text-align:center;margin-bottom:28px}.home-reviews-heading p{color:#5b5b5b}.home-reviews .reviews-feature{margin-top:0}.home-reviews .reviews-v67-card{background:#fff;color:#252525}.home-reviews .reviews-v67-card blockquote{color:#303030}
.home-final-cta{background:#17191b;color:#fff;text-align:center;padding:clamp(60px,8vw,110px) 0;border-top:1px solid rgba(190,157,94,.4)}.home-final-cta .wrap{max-width:850px}.home-final-cta p{color:#d0d0d0;font-size:18px;line-height:1.6;max-width:680px;margin:0 auto 26px}.home-final-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:22px 0}.home-final-phone{display:inline-block;color:#dfc48d;margin-top:12px;text-decoration:none}.home-final-phone:hover{text-decoration:underline}
@media(max-width:760px){.commitment-layout{grid-template-columns:1fr;gap:12px}.home-commitment,.home-reviews{padding:46px 0}.hero-proof{font-size:12px;gap:6px}.home-final-actions{flex-direction:column;align-items:center}.home-final-actions .btn{width:min(100%,360px);text-align:center}}

/* Homepage Pass 1b — stronger trust and lower-commitment lead capture */
.hero-proof-featured{margin-top:20px;padding:13px 18px;border-radius:12px;gap:14px;background:rgba(12,14,16,.74);border-color:rgba(215,185,121,.6);text-align:left}
.hero-proof-score{font-size:clamp(30px,3.5vw,43px);font-weight:800;color:#e4c17b;line-height:1}
.hero-proof-details{display:flex;flex-direction:column;gap:4px}.hero-proof-details .hero-proof-stars{font-size:16px}.hero-explore-link{display:inline-flex;align-items:center;color:#eee;font-size:13px;text-decoration:underline;text-underline-offset:5px;letter-spacing:.025em}
.home-project-info{background:#eae9e5;color:#222;padding:clamp(55px,7vw,95px) 0}.info-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,7vw,100px);align-items:start}.home-project-info h2{font-size:clamp(30px,3.7vw,48px);line-height:1.13;margin:15px 0 22px}.home-project-info p{font-size:17px;line-height:1.65;color:#535353}.info-form{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #ded8ce;padding:clamp(22px,3vw,36px);border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.08)}.info-form>label:not(.info-consent){font-size:13px;font-weight:700;margin-top:5px}.info-form input:not([type=checkbox]),.info-form select,.info-form textarea{width:100%;box-sizing:border-box;background:#f7f7f5;border:1px solid #c9c8c4;color:#202020;border-radius:5px;padding:12px 13px;font:inherit}.info-form input:focus,.info-form select:focus,.info-form textarea:focus{outline:2px solid #b48c4e;outline-offset:1px}.info-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;color:#525252;margin:9px 0}.info-consent input{margin-top:3px;flex-shrink:0}.info-form .btn{cursor:pointer;margin-top:8px}.info-form .info-privacy{font-size:12px;line-height:1.5;margin:4px 0 0;color:#666}
@media(max-width:760px){.info-layout{grid-template-columns:1fr}.hero-proof-featured{margin-top:15px}.hero-explore-link{width:100%;justify-content:center;margin-top:7px}}

/* Homepage Pass 1c: section flow and immediate testimonial */
.hero-featured-quote{max-width:480px;margin-top:12px;padding-left:16px;border-left:2px solid rgba(223,191,126,.75);color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.hero-featured-quote-stars{font-size:13px;letter-spacing:2px;color:#e4c17b}.hero-featured-quote blockquote{margin:5px 0;font-size:clamp(13px,1.2vw,15px);line-height:1.5;font-style:italic}.hero-featured-quote-author{font-size:12px;color:#ddd}
.home-tools-intro{text-align:center;max-width:740px;margin:0 auto clamp(25px,4vw,44px)}.home-tools-intro h2{font-size:clamp(27px,3.5vw,43px);line-height:1.14;letter-spacing:-.025em;margin:10px 0 12px}.home-tools-intro p{font-size:16px;line-height:1.55;opacity:.85;margin:0}

/* Hero: editorial two-column layout with translucent customer reviews */
.hero-v2-reviews .hero-two-column{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);align-items:center;gap:clamp(28px,5vw,82px);max-width:1200px;width:calc(100% - 48px);box-sizing:border-box}
.hero-v2-reviews .hero-main-copy{min-width:0;text-align:left}
.hero-v2-reviews .hero-main-copy h1{max-width:700px}
.hero-v2-reviews .hero-main-copy .hero-actions{margin-bottom:0}
.hero-v2-reviews .hero-reviews-panel{box-sizing:border-box;min-width:0;width:100%;padding:clamp(22px,2.5vw,34px);background:rgba(17,19,21,.78);border:1px solid rgba(245,189,39,.40);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.26);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;text-align:left}
.hero-reviews-rating{display:flex;align-items:center;gap:18px;text-decoration:none;color:#fff}
.hero-reviews-score{font-size:clamp(40px,4.2vw,57px);line-height:1;color:#f5bd27;font-weight:800}
.hero-reviews-rating>span{display:flex;flex-direction:column;gap:3px}
.hero-reviews-stars{color:#f5bd27;letter-spacing:2px;font-size:14px}
.hero-reviews-count{font-size:13px;color:#eee}
.hero-reviews-divider{height:1px;background:rgba(245,189,39,.20);margin:19px 0}
.hero-review-item{margin:0;padding:0}
.hero-review-item blockquote{margin:8px 0;font-size:clamp(14px,1.15vw,16px);font-style:italic;line-height:1.55;color:#f5f2ed}
.hero-review-item figcaption{font-size:12px;color:#d9d5cd}
.hero-reviews-link{display:inline-block;margin-top:23px;font-size:12px;letter-spacing:.11em;color:#f5bd27;text-decoration:none;font-weight:700}
.hero-reviews-link:hover{text-decoration:underline}
@media(max-width:950px){.hero-v2-reviews .hero-two-column{grid-template-columns:minmax(0,1fr);gap:25px;max-width:680px}.hero-v2-reviews .hero-reviews-panel{max-width:640px}.hero-v2-reviews .hero-main-copy{text-align:left}}
@media(max-width:600px){.hero-v2-reviews .hero-two-column{width:calc(100% - 32px);gap:20px}.hero-v2-reviews .hero-reviews-panel{padding:19px}.hero-reviews-divider{margin:14px 0}.hero-reviews-link{margin-top:17px}}

/* Homepage hero polish: compact headline and matching glass action buttons */
body:has(.hero-v2-reviews) .hero-v2-reviews .hero-main-copy h1{font-size:clamp(42px,4.55vw,73px)!important;line-height:1.07!important;letter-spacing:-.035em!important;max-width:730px!important;text-wrap:wrap}
body:has(.hero-v2-reviews) .hero-v2-reviews .hero-main-copy .eyebrow{text-transform:uppercase;letter-spacing:.16em}
body:has(.hero-v2-reviews) .hero-v2-reviews .hero-actions-primary>a.btn{border-radius:9px!important;box-shadow:0 10px 28px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.24)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
body:has(.hero-v2-reviews) .hero-v2-reviews .hero-actions-primary>a.btn.gold{background:rgba(239,186,51,.86)!important;border:1px solid rgba(255,223,140,.8)!important;color:#171717!important}
body:has(.hero-v2-reviews) .hero-v2-reviews .hero-actions-primary>a.btn.hero-ghost{background:rgba(29,32,33,.69)!important;border:1px solid rgba(238,220,180,.55)!important;color:#fff!important}
body:has(.hero-v2-reviews) .hero-v2-reviews .hero-actions-primary>a.btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.28)!important}
@media(min-width:951px){.hero-v2-reviews .hero-two-column{grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr);gap:clamp(24px,3.2vw,58px)}}
@media(max-width:600px){body:has(.hero-v2-reviews) .hero-v2-reviews .hero-main-copy h1{font-size:clamp(38px,9vw,52px)!important}}


/* Align hero copy with the review card on desktop, while allowing natural mobile flow. */
@media (min-width:951px){
  .hero-v2-reviews .hero-two-column{align-items:stretch!important}
  .hero-v2-reviews .hero-main-copy{
    display:flex!important;
    flex-direction:column!important;
    align-self:stretch!important;
    justify-content:space-between!important;
  }
  .hero-v2-reviews .hero-main-copy .eyebrow{margin-top:0!important}
  .hero-v2-reviews .hero-main-copy .hero-actions{margin-top:auto!important;padding-top:clamp(24px,3vw,44px)!important}
  .hero-v2-reviews .hero-main-copy .hero-actions-primary{margin-bottom:0!important}
}

/* Hero photo comparison: mirror only the fixed photo layer, not the content or overlay. */
body:has(.hero-v2-reviews):before{transform:none!important}

/* Refined hero messaging: single headline, understated commitment signature. */
.hero-v2-reviews .hero-main-copy .hero-commitment{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin:clamp(15px,2vw,25px) 0 0}
.hero-v2-reviews .hero-commitment-rule{display:block;width:44px;height:2px;flex:none;border-radius:2px;background:#f5bd27}
.hero-v2-reviews .hero-commitment .hero-tagline{font-size:clamp(19px,1.8vw,25px)!important;font-weight:500!important;line-height:1.3!important;margin:0!important}
.hero-v2-reviews .hero-main-copy .hero-two-line-copy{max-width:570px;line-height:1.6!important;margin-top:clamp(16px,2vw,25px)!important}
@media(min-width:951px){
  .hero-v2-reviews .hero-main-copy h1{font-size:clamp(39px,3.8vw,61px)!important;line-height:1.11!important}
}

/* Shorter, calmer hero headline and architectural commitment separator. */
.hero-v2-reviews .hero-main-copy .hero-tagline-separator{color:#f5bd27;display:inline-block;margin:0 .28em;font-weight:400}
@media(min-width:951px){.hero-v2-reviews .hero-main-copy h1{font-size:clamp(40px,3.6vw,58px)!important;line-height:1.12!important}}

/* Hero copy refinements: no horizontal rule, gold vertical separator, balanced lines. */
.hero-v2-reviews .hero-commitment-rule{display:none!important}
.hero-v2-reviews .hero-tagline-separator{color:#f5bd27!important}
@media(min-width:951px){
  .hero-v2-reviews .hero-two-line-copy .hero-copy-line{display:block}
}

/* Compact review attribution: stars sit at the far right of each name line. */
.hero-v2-reviews .hero-review-item .hero-review-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hero-v2-reviews .hero-review-item .hero-review-footer .hero-reviews-stars{flex-shrink:0;white-space:nowrap;line-height:1;font-style:normal}
.hero-v2-reviews .hero-review-item blockquote{margin-top:0}
@media(max-width:420px){.hero-v2-reviews .hero-review-item .hero-review-footer{gap:6px}}

/* Center the complete hero message as one unit beside the reviews panel. */
@media(min-width:951px){
  .hero-v2-reviews .hero-two-column{align-items:center!important}
  .hero-v2-reviews .hero-main-copy{
    align-self:center!important;
    justify-content:flex-start!important;
    height:auto!important;
    min-height:0!important;
  }
  .hero-v2-reviews .hero-main-copy .hero-actions{
    margin-top:clamp(26px,3vw,42px)!important;
    padding-top:0!important;
  }
}

/* Fine-tune rhythm within the vertically centered hero copy group. */
@media(min-width:951px){
  .hero-v2-reviews .hero-main-copy .hero-commitment{margin-top:clamp(20px,2.2vw,32px)!important}
  .hero-v2-reviews .hero-main-copy .hero-two-line-copy{margin-top:clamp(12px,1.4vw,19px)!important}
  .hero-v2-reviews .hero-main-copy .hero-actions{margin-top:clamp(24px,2.5vw,34px)!important}
}
@media(max-width:950px){
  .hero-v2-reviews .hero-main-copy .hero-commitment{margin-top:20px!important}
  .hero-v2-reviews .hero-main-copy .hero-two-line-copy{margin-top:14px!important}
}

/* Match the space after the headline to the space before the CTA. */
@media(min-width:951px){
  .hero-v2-reviews .hero-main-copy .hero-commitment,
  .hero-v2-reviews .hero-main-copy .hero-actions{
    margin-top:clamp(24px,2.5vw,34px)!important;
  }
}
@media(max-width:950px){
  .hero-v2-reviews .hero-main-copy .hero-commitment,
  .hero-v2-reviews .hero-main-copy .hero-actions{
    margin-top:24px!important;
  }
}

/* Normalize element margins so the visible headline/tagline and paragraph/CTA gaps match. */
.hero-v2-reviews .hero-main-copy h1{margin-bottom:0!important}
.hero-v2-reviews .hero-main-copy .hero-two-line-copy{margin-bottom:0!important}

/* Optical correction: large headline line box creates extra visible whitespace. */
@media(min-width:951px){
  .hero-v2-reviews .hero-main-copy .hero-commitment{margin-top:12px!important}
}
@media(max-width:950px){
  .hero-v2-reviews .hero-main-copy .hero-commitment{margin-top:12px!important}
}

/* Goldilocks adjustment: middle ground between 12px and the previous 24–34px. */
.hero-v2-reviews .hero-main-copy .hero-commitment{margin-top:20px!important}

/* Subtle supporting-copy hierarchy: softer white, normal weight. */
.hero-v2-reviews .hero-main-copy .hero-two-line-copy,
.hero-v2-reviews .hero-main-copy .hero-two-line-copy .hero-copy-line{
  color:#d0d3d4!important;
  font-weight:400!important;
}

/* Slightly more compact desktop review card; preserve testimonial font sizes. */
@media(min-width:951px){
  .hero-v2-reviews .hero-reviews-panel{
    padding-top:clamp(12px,1.6vw,22px);
    padding-bottom:clamp(12px,1.6vw,22px);
  }
  .hero-v2-reviews .hero-reviews-divider{margin:14px 0}
  .hero-v2-reviews .hero-reviews-link{margin-top:16px}
}

/* Rebalance review panel without shrinking it: distribute saved footer space. */
.hero-v2-reviews .hero-review-name{color:#f5bd27;font-weight:600}
.hero-v2-reviews .hero-reviews-count{color:#f1eee6;text-decoration:underline;text-decoration-color:rgba(245,189,39,.55);text-underline-offset:3px}
@media(min-width:951px){
  .hero-v2-reviews .hero-reviews-panel{
    padding-top:clamp(22px,2.5vw,34px);
    padding-bottom:clamp(22px,2.5vw,34px);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }
  .hero-v2-reviews .hero-reviews-divider{margin:clamp(19px,2vw,29px) 0}
}

/* Final testimonial polish: right-aligned signatures and slightly shorter card. */
.hero-v2-reviews .hero-review-item .hero-review-footer{
  display:flex;
  justify-content:flex-end;
  text-align:right;
}
@media(min-width:951px){
  .hero-v2-reviews .hero-reviews-panel{
    padding-top:clamp(18px,2vw,27px);
    padding-bottom:clamp(26px,2.6vw,36px);
  }
  .hero-v2-reviews .hero-reviews-divider{margin:clamp(16px,1.7vw,23px) 0}
}

/* Review signature sits under the quote inside the carousel. */
.hero-v2-reviews .hero-review-item .hero-review-footer{
  padding-right:0;
  box-sizing:border-box;
}

/* Center the copy and the review card against each other. */
@media(min-width:951px){
  .hero-v2-reviews .hero-two-column{align-items:center!important}
  .hero-v2-reviews .hero-main-copy{
    align-self:center!important;
    height:auto!important;
    justify-content:flex-start!important;
  }
  .hero-v2-reviews .hero-reviews-panel{
    display:flex;
    flex-direction:column;
    align-self:center!important;
    height:auto!important;
    min-height:0!important;
    box-sizing:border-box;
  }
}
.hero-v2-reviews .hero-reviews-panel{
  position:relative;
}
.hero-v2-reviews .hero-reviews-rating{flex-shrink:0}
.hero-v2-reviews .hero-reviews-panel > .hero-reviews-divider{flex-shrink:0}
.hero-v2-reviews .hero-reviews-carousel{
  --hero-review-gutter:56px;
  position:relative;
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-height:0;
  padding:0 var(--hero-review-gutter);
  box-sizing:border-box;
}
.hero-v2-reviews .hero-reviews-viewport{
  position:relative;
  min-width:0;
  width:100%;
  display:flex;
  align-items:center;
}
.hero-v2-reviews .hero-reviews-viewport .hero-review-item{
  display:none;
  width:100%;
  margin:0;
  flex-direction:column;
  justify-content:center;
  gap:12px;
}
.hero-v2-reviews .hero-reviews-viewport .hero-review-item.is-active{display:flex}
.hero-v2-reviews .hero-reviews-viewport .hero-review-item blockquote{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:9;
  line-clamp:9;
  overflow:hidden;
  margin:0;
  flex:0 1 auto;
}
.hero-v2-reviews .hero-review-more{
  appearance:none;
  -webkit-appearance:none;
  align-self:flex-start;
  margin:0;
  padding:0;
  border:0;
  background:none;
  color:#f5bd27;
  font:inherit;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-color:rgba(245,189,39,.55);
  text-underline-offset:3px;
}
.hero-v2-reviews .hero-review-more:hover,
.hero-v2-reviews .hero-review-more:focus-visible{
  text-decoration-color:#f5bd27;
  outline:none;
}
.hero-v2-reviews .hero-reviews-nav{
  appearance:none;
  -webkit-appearance:none;
  position:absolute;
  top:0;
  left:0;
  z-index:3;
  width:34px;
  height:34px;
  margin:0;
  padding:0;
  border:1px solid rgba(245,189,39,.55);
  background:rgba(17,19,21,.72);
  color:#f5bd27;
  font-size:28px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  border-radius:4px;
  transform:none;
  transition:background .2s,border-color .2s,color .2s;
}
.hero-v2-reviews .hero-reviews-nav:hover,
.hero-v2-reviews .hero-reviews-nav:focus-visible{
  background:rgba(245,189,39,.14);
  border-color:#f5bd27;
  outline:none;
}
.hero-v2-reviews .hero-reviews-nav:active{background:rgba(245,189,39,.22)}
.hero-v2-reviews .hero-reviews-nav:disabled{
  opacity:.35;
  cursor:default;
}
.hero-v2-reviews .hero-reviews-nav span{
  display:block;
  transform:translateY(-1px);
}
@media(max-width:600px){
  .hero-v2-reviews .hero-reviews-carousel{--hero-review-gutter:48px}
  .hero-v2-reviews .hero-reviews-nav{width:30px;height:30px;font-size:24px}
  .hero-v2-reviews .hero-reviews-viewport .hero-review-item blockquote{
    -webkit-line-clamp:7;
    line-clamp:7;
  }
}

/* Full review popup from hero carousel. */
.hero-review-dialog{
  position:relative;
  width:min(560px,calc(100vw - 32px));
  max-height:min(80vh,640px);
  margin:auto;
  padding:28px 28px 52px;
  border:1px solid rgba(245,189,39,.45);
  border-radius:14px;
  background:#16181a;
  color:#f5f2ed;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  overflow:visible;
}
.hero-review-dialog::backdrop{
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.hero-review-dialog-nav{
  appearance:none;
  -webkit-appearance:none;
  position:absolute;
  top:50%;
  z-index:3;
  width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:1px solid rgba(245,189,39,.55);
  border-radius:4px;
  background:rgba(17,19,21,.92);
  color:#f5bd27;
  font-size:30px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  transition:background .2s,border-color .2s,color .2s;
}
.hero-review-dialog-prev{
  left:0;
  transform:translate(calc(-100% - 12px),-50%);
}
.hero-review-dialog-next{
  right:0;
  transform:translate(calc(100% + 12px),-50%);
}
.hero-review-dialog-nav:hover,
.hero-review-dialog-nav:focus-visible{
  background:rgba(245,189,39,.16);
  border-color:#f5bd27;
  outline:none;
}
.hero-review-dialog-nav:disabled{
  opacity:.35;
  cursor:default;
}
.hero-review-dialog-nav span{
  display:block;
  transform:translateY(-1px);
}
.hero-review-dialog-close-row{
  display:flex;
  justify-content:flex-end;
  margin:0 0 6px;
}
.hero-review-dialog-close{
  appearance:none;
  -webkit-appearance:none;
  width:34px;
  height:34px;
  margin:0;
  padding:0;
  border:1px solid rgba(245,189,39,.4);
  border-radius:4px;
  background:transparent;
  color:#f5bd27;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.hero-review-dialog-close:hover,
.hero-review-dialog-close:focus-visible{
  background:rgba(245,189,39,.14);
  outline:none;
}
.hero-review-dialog-stars{
  color:#f5bd27;
  letter-spacing:2px;
  font-size:14px;
  margin:0 0 14px;
}
.hero-review-dialog blockquote{
  margin:0;
  font-size:clamp(16px,1.4vw,18px);
  font-style:italic;
  line-height:1.6;
  color:#f5f2ed;
  max-height:min(52vh,420px);
  overflow:auto;
}
.hero-review-dialog-author{
  margin:18px 0 0;
  color:#f5bd27;
  font-weight:600;
  font-size:14px;
  text-align:right;
}
@media(max-width:600px){
  .hero-review-dialog{
    width:min(560px,calc(100vw - 88px));
  }
  .hero-review-dialog-nav{
    width:34px;
    height:34px;
    font-size:26px;
  }
  .hero-review-dialog-prev{transform:translate(calc(-100% - 8px),-50%)}
  .hero-review-dialog-next{transform:translate(calc(100% + 8px),-50%)}
}

/* MB monogram + Mike Brown Construction wordmark in homepage navigation. */
header .brand-wordmark{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap}
header .brand-wordmark img{width:105px;max-width:105px;max-height:55px;height:auto;object-fit:contain}
header .brand-wordmark .brand-divider{width:1px;height:43px;background:rgba(245,189,39,.8);flex-shrink:0}
header .brand-wordmark .brand-name{display:flex;flex-direction:column;gap:3px;line-height:1}
header .brand-wordmark .brand-name strong{font-size:20px;letter-spacing:-.025em;font-weight:700;color:#fff}
header .brand-wordmark .brand-name small{font-size:10px;letter-spacing:.16em;font-weight:700;color:#f5bd27}
@media(min-width:951px) and (max-width:1240px){
  header .brand-wordmark{gap:9px}
  header .brand-wordmark img{width:85px}
  header .brand-wordmark .brand-name strong{font-size:17px}
  header .links{gap:clamp(10px,1.25vw,18px)}
}
@media(max-width:950px){
  header .brand-wordmark img{width:92px}
  header .brand-wordmark .brand-name strong{font-size:18px}
}
@media(max-width:420px){
  header .brand-wordmark{gap:8px}
  header .brand-wordmark img{width:74px}
  header .brand-wordmark .brand-divider{height:35px}
  header .brand-wordmark .brand-name strong{font-size:16px}
  header .brand-wordmark .brand-name small{font-size:9px}
}

/* Header brand always shares the site content rail (.wrap) — no hero-specific nudges. */
header .wrap.nav{
  width:min(var(--max),calc(100% - 40px))!important;
  max-width:var(--max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
header a.brand,
header a.brand.brand-wordmark{
  margin-left:0!important;
  transform:none!important;
}

/* Commitment section: tighter vertical rhythm with the new homeowner-first copy. */
@media(min-width:951px){
  .home-commitment{padding:clamp(42px,4.7vw,68px) 0}
  .home-commitment .commitment-layout{gap:clamp(28px,4vw,65px)}
}
@media(max-width:950px){
  .home-commitment{padding:clamp(38px,5vw,54px) 0}
}

/* Commitment section: same gold palette as hero, with readable dark-on-cream text. */
.home-commitment .commitment-eyebrow{color:#856009;display:inline-flex;align-items:center;gap:10px}
.home-commitment .commitment-eyebrow::before{content:"";display:inline-block;width:22px;height:3px;background:#f5bd27;flex:none}
.home-commitment .commitment-link{color:#634910;text-decoration:underline;text-decoration-color:#f5bd27;text-decoration-thickness:2px;text-underline-offset:5px}
.home-commitment .commitment-link:hover{color:#151515;text-decoration-color:#d29b0c}
@media(min-width:951px){
  .home-commitment .commitment-layout{grid-template-columns:1fr 1fr}
}
/* Match the width of CONSTRUCTION to the Mike Brown wordmark through tracking. */
header .brand-wordmark .brand-name{align-items:stretch}
header .brand-wordmark .brand-name small{
  display:block;
  width:100%;
  text-align:justify;
  text-align-last:justify;
  letter-spacing:.12em;
}

/* Homepage section transition: reveal meaningful content sooner without shrinking the hero. */
@media(min-width:951px){
  .home-commitment{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
}
@media(max-width:950px){
  .home-commitment{padding-top:32px!important}
}

/* Keep the review panel flush with the hero copy column height. */
@media(min-width:951px){
  .hero-v2-reviews .hero-two-column{transform:none}
  .hero-v2-reviews .hero-reviews-panel{transform:none}
}

/* Center both commitment columns vertically within the cream section. */
@media(min-width:951px){
  .home-commitment{
    min-height:0;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    padding-top:36px!important;
    padding-bottom:36px!important;
  }
  .home-commitment .commitment-layout{
    width:100%;
    align-items:center;
  }
}

/* Keep commitment text centered vertically while restoring the site's content gutters. */
@media(min-width:951px){
  .home-commitment .wrap.commitment-layout{
    width:min(var(--max),calc(100% - 80px))!important;
    max-width:var(--max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    flex:0 1 auto;
  }
}

/* Match the navigation's exact gold hairline and optically center the left copy. */
.home-commitment{
  border-top:3px solid #f5bd27;
  border-bottom:3px solid #f5bd27;
}
@media(min-width:951px){
  .home-commitment .commitment-detail{
    position:relative;
    top:-5px;
  }
}

/* Editorial alignment for the commitment headline on desktop only. */
@media(min-width:951px){
  .home-commitment .commitment-heading{
    text-align:right;
  }
  .home-commitment .commitment-heading .commitment-eyebrow{
    justify-content:flex-end;
  }
}
@media(max-width:760px){
  .home-commitment .commitment-heading,
  .home-commitment .commitment-detail{display:contents}
  .home-commitment .commitment-layout{display:flex;flex-direction:column;align-items:stretch}
  .home-commitment .commitment-heading h2{order:1;text-align:center}
  .home-commitment .commitment-detail p{order:2}
  .home-commitment .commitment-link{order:3}
  .home-commitment .commitment-cta{order:4;align-self:center}
}

/* Services: simplified rows with a two-sided gold hover frame. */
.expertise-top .service-row{grid-template-columns:minmax(0,1fr) 34px;position:relative;border-top:1px solid transparent;}
.expertise-top .service-row:first-child{border-top-color:rgba(255,255,255,.16);}
.expertise-top .service-row:hover,.expertise-top .service-row:focus-visible{border-top-color:#f7be23;border-bottom-color:#f7be23;}
.expertise-top .service-row:hover + .service-row,.expertise-top .service-row:focus-visible + .service-row{border-top-color:transparent;}
@media(max-width:700px){.expertise-top .service-row{grid-template-columns:minmax(0,1fr) 24px;}}

/* Three-option homepage closing CTA: preserve original centered styling */
.home-final-cta .wrap{max-width:1200px}
.home-final-cta .home-final-actions{display:grid;grid-template-columns:1fr 1.13fr 1fr;gap:14px;align-items:stretch;margin:30px auto 22px;max-width:1150px}
.home-final-cta .home-final-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;white-space:normal;min-height:70px;padding:16px 18px;font-size:16px;line-height:1.25;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
.home-final-cta .home-final-actions .btn span{display:inline-block;transition:transform .22s ease}
.home-final-cta .home-final-actions .hero-ghost{background:#fff;color:#151515;border-color:#fff}
.home-final-cta .home-final-actions .btn:hover,
.home-final-cta .home-final-actions .btn:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(0,0,0,.28);
  outline:none;
}
.home-final-cta .home-final-actions .btn:hover span,
.home-final-cta .home-final-actions .btn:focus-visible span{
  transform:translateX(4px);
}
.home-final-cta .home-final-actions .btn:active{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.2);
}
.home-final-cta .home-final-actions .hero-ghost:hover,
.home-final-cta .home-final-actions .hero-ghost:focus-visible{
  background:#f0f0f0;
  color:#151515;
  border-color:#f0f0f0;
}
.home-final-cta .home-final-actions .gold:hover,
.home-final-cta .home-final-actions .gold:focus-visible{
  background:#ffd045;
}
@media (prefers-reduced-motion: reduce){
  .home-final-cta .home-final-actions .btn,
  .home-final-cta .home-final-actions .btn span{transition:none}
  .home-final-cta .home-final-actions .btn:hover,
  .home-final-cta .home-final-actions .btn:focus-visible,
  .home-final-cta .home-final-actions .btn:active{transform:none}
  .home-final-cta .home-final-actions .btn:hover span,
  .home-final-cta .home-final-actions .btn:focus-visible span{transform:none}
}
@media(max-width:760px){.home-final-cta .home-final-actions{display:flex;flex-direction:column;align-items:stretch;max-width:420px}.home-final-cta .home-final-actions .btn{width:100%;min-height:58px}}

/* Equal-width closing action buttons */
.home-final-cta .home-final-actions{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Neutral charcoal service showcase; remove previous olive green lighting. */
.expertise-combined{background:linear-gradient(112deg,#151515 0%,#242424 55%,#303030 100%)!important}
.expertise-combined:before{background:radial-gradient(ellipse at 65% 30%,rgba(255,255,255,.07),transparent 55%)!important}
/* Financing and insurance pathways replace the redundant inquiry form section. */
.home-project-support{background:#f0eee8;color:#242424;padding:76px 0 82px;border-top:2px solid #f6bf28}
.home-project-support .support-heading{max-width:850px;margin-bottom:38px}
.home-project-support .support-heading h2{font-size:clamp(34px,4vw,55px);line-height:1.08;letter-spacing:-.045em;margin:14px 0 16px}
.home-project-support .support-heading p{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:#515151;margin:0}
.home-project-support .support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px}
.home-project-support .support-option{border-top:2px solid #f6bf28;padding:24px 0 0;display:flex;flex-direction:column;align-items:flex-start}
.home-project-support .support-kicker{color:#9a6b00;font-size:12px;font-weight:800;letter-spacing:.15em}
.home-project-support .support-option h3{font-size:clamp(26px,2.5vw,36px);line-height:1.16;letter-spacing:-.035em;margin:17px 0 12px}
.home-project-support .support-option p{font-size:17px;line-height:1.65;color:#515151;max-width:540px;margin:0 0 25px}
.home-project-support .support-option a{margin-top:auto;color:#805700;text-decoration:none;font-weight:800;font-size:13px;letter-spacing:.08em;border-bottom:2px solid #f6bf28;padding-bottom:5px}
.home-project-support .support-option a:hover{color:#171717}
@media(max-width:700px){.home-project-support{padding:52px 0 60px}.home-project-support .support-grid{grid-template-columns:1fr;gap:36px}.home-project-support .support-heading{margin-bottom:28px}}

/* Consistent full-width gold separators between homepage sections.
   Apply the same 3px stroke used at the top of the services section.
   Internal hover rules, card borders and navigation remain unchanged. */
:root{--home-section-divider:#f5bd27;--home-section-divider-width:3px}
main > .hero-v2,
main > .home-commitment,
main > .expertise-combined,
main > .home-efficiency,
main > .home-project-support,
main > .home-visualizer,
main > .home-final-cta{border-top:var(--home-section-divider-width) solid var(--home-section-divider)!important;border-bottom:0!important}
.home-efficiency{
  position:relative;
  overflow:hidden;
  background:#1a1a18;
  color:#25272a;
  padding:clamp(48px,7vw,88px) 0;
}
.home-efficiency-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  clip-path:inset(0);
  -webkit-clip-path:inset(0);
}
.home-efficiency-bg img{
  display:block;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  height:100dvh;
  max-width:none;
  object-fit:cover;
  transform:scale(1.12);
  filter:blur(14px) saturate(1.05);
  pointer-events:none;
}
.home-efficiency-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(18,18,16,.55) 0%,rgba(18,18,16,.42) 45%,rgba(18,18,16,.62) 100%);
}
.home-efficiency-inner{
  position:relative;
  z-index:1;
}
.home-efficiency-panel{
  background:#fff;
  color:#242424;
  padding:clamp(28px,4vw,48px) clamp(22px,3.5vw,44px);
  border:3px solid #f5bd27;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.home-efficiency-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(24px,4vw,48px);
  align-items:center;
}
.home-efficiency-copy .commitment-eyebrow{
  color:#856009;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.home-efficiency-copy .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:#f5bd27;
  flex:none;
}
.home-efficiency-copy h2{
  font-size:clamp(32px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin:14px 0 16px;
  color:#242424;
  max-width:16ch;
}
.home-efficiency-copy p{
  margin:0 0 26px;
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.65;
  color:#515151;
  max-width:34em;
}
.home-efficiency-copy .btn.gold{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.home-efficiency-cta{
  gap:8px;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,gap .22s ease;
}
.home-efficiency-cta span{
  display:inline-block;
  transition:transform .22s ease;
}
.home-efficiency-cta:hover,
.home-efficiency-cta:focus-visible{
  transform:translateY(-3px);
  background:#ffd045;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  outline:none;
}
.home-efficiency-cta:hover span,
.home-efficiency-cta:focus-visible span{
  transform:translateX(4px);
}
.home-efficiency-cta:active{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.home-efficiency-layout:has(.home-efficiency-cta:hover) .home-efficiency-media img,
.home-efficiency-layout:has(.home-efficiency-cta:focus-visible) .home-efficiency-media img{
  transform:scale(1.03);
  filter:brightness(1.04);
}
@media (prefers-reduced-motion: reduce){
  .home-efficiency-cta,
  .home-efficiency-cta span{transition:none}
  .home-efficiency-cta:hover,
  .home-efficiency-cta:focus-visible,
  .home-efficiency-cta:active{transform:none}
  .home-efficiency-cta:hover span,
  .home-efficiency-cta:focus-visible span{transform:none}
  .home-efficiency-layout:has(.home-efficiency-cta:hover) .home-efficiency-media img,
  .home-efficiency-layout:has(.home-efficiency-cta:focus-visible) .home-efficiency-media img{
    transform:none;
    filter:none;
  }
}
.home-efficiency-media{
  margin:0;
  overflow:hidden;
  border-radius:14px;
  background:#17191b;
}
.home-efficiency-media-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.home-efficiency-media-link:focus-visible{
  outline:2px solid #f5bd27;
  outline-offset:3px;
}
.home-efficiency-media img{
  display:block;
  width:100%;
  height:clamp(240px,36vw,420px);
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.home-efficiency-media-link:hover img,
.home-efficiency-media-link:focus-visible img{
  transform:scale(1.02);
  filter:brightness(1.04);
}
@media(max-width:850px){
  .home-efficiency-layout{
    grid-template-columns:1fr;
  }
  .home-efficiency-copy h2{
    max-width:none;
  }
  .home-efficiency-media{
    order:-1;
  }
  .home-efficiency-media img{
    height:clamp(200px,52vw,320px);
  }
}
main > .home-final-cta{border-bottom:var(--home-section-divider-width) solid var(--home-section-divider)!important}

/* One consistent divider at the sticky header / hero boundary.
   Avoid stacking the hero's top border on the header's own border. */
body:has(.hero-v2) header{border-bottom:3px solid #f5bd27!important}
main > .hero-v2{border-top:0!important}

/* Final CTA: use the same bright brand gold as buttons and dividers. */
.home-final-cta .commitment-eyebrow,.home-final-cta .home-final-phone{color:#f5bd27!important}


/* Homepage financing and insurance benefits: compact icon-led labels. */
.home-project-support .support-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:28px;
  color:#9a6b00;
}
.home-project-support .support-icon{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  color:#a67b10;
}
.home-project-support .support-icon svg{
  width:25px;
  height:25px;
  display:block;
}
.home-project-support .support-option h3{margin-top:15px}
@media(max-width:700px){
  .home-project-support .support-kicker{gap:9px;font-size:11px;letter-spacing:.1em}
}

/* Center the financing and insurance introduction; keep option columns left-aligned. */
.home-project-support .support-heading{margin-left:auto;margin-right:auto;text-align:center;max-width:900px}
.home-project-support .support-heading p{max-width:800px;margin-left:auto;margin-right:auto}
.home-project-support .support-heading .commitment-eyebrow{justify-content:center}

/* Financing/insurance intro: explicitly center every heading element. */
.home-project-support > .wrap > .support-heading{width:100%;max-width:900px;margin:0 auto 38px;text-align:center;display:flex;flex-direction:column;align-items:center}
.home-project-support > .wrap > .support-heading .commitment-eyebrow,
.home-project-support > .wrap > .support-heading h2,
.home-project-support > .wrap > .support-heading p{display:block;width:100%;text-align:center;margin-left:auto;margin-right:auto}
.home-project-support > .wrap > .support-heading p{max-width:800px}
@media(max-width:700px){.home-project-support > .wrap > .support-heading{margin-bottom:28px}}

/* Center both financing and insurance columns, including their CTAs. */
.home-project-support .support-option{align-items:center;text-align:center}
.home-project-support .support-option .support-kicker{justify-content:center;text-align:center}
.home-project-support .support-option h3{width:100%;text-align:center}
.home-project-support .support-option p{margin-left:auto;margin-right:auto;text-align:center}
.home-project-support .support-option a{text-align:center}

/* Financing and insurance: centered intro, easy-to-scan left-aligned columns. */
.home-project-support .support-grid .support-option{align-items:flex-start;text-align:left}
.home-project-support .support-grid .support-option .support-kicker{justify-content:flex-start;text-align:left}
.home-project-support .support-grid .support-option h3{width:100%;text-align:left}
.home-project-support .support-grid .support-option p{margin-left:0;margin-right:0;text-align:left}
.home-project-support .support-grid .support-option a{align-self:flex-start;text-align:left;margin-top:auto}

/* Homepage support options: restrained interactive cream tiles. */
.home-project-support .support-grid{gap:24px}
.home-project-support .support-grid .support-tile{
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  min-width:0;padding:28px 30px 30px;border:1px solid #d9d5cb;
  border-radius:14px;background:#f8f7f3;color:#242424;
  text-decoration:none;box-shadow:0 3px 12px rgba(20,20,20,.035);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease;
}
.home-project-support .support-grid .support-tile h3{color:#242424}
.home-project-support .support-grid .support-tile p{margin-bottom:26px}
.home-project-support .support-grid .support-tile .support-tile-cta{
  display:inline-flex;gap:6px;align-items:center;align-self:flex-start;
  margin-top:auto;color:#805700;font-size:13px;font-weight:800;letter-spacing:.08em;
  border-bottom:2px solid #f6bf28;padding-bottom:5px;
}
.home-project-support .support-grid .support-tile .support-tile-cta span{display:inline-block;transition:transform .22s ease}
.home-project-support .support-grid .support-tile:hover,
.home-project-support .support-grid .support-tile:focus-visible{
  transform:translateY(-4px);border-color:#f5bd27;background:#fbfaf7;
  box-shadow:0 14px 30px rgba(20,20,20,.12);
}
.home-project-support .support-grid .support-tile:hover .support-tile-cta span,
.home-project-support .support-grid .support-tile:focus-visible .support-tile-cta span{transform:translateX(5px)}
.home-project-support .support-grid .support-tile:focus-visible{outline:2px solid #a67500;outline-offset:3px}
@media(max-width:700px){.home-project-support .support-grid{gap:18px}.home-project-support .support-grid .support-tile{padding:24px}}
@media(prefers-reduced-motion:reduce){
 .home-project-support .support-grid .support-tile,
 .home-project-support .support-grid .support-tile .support-tile-cta span{transition:none}
 .home-project-support .support-grid .support-tile:hover,
 .home-project-support .support-grid .support-tile:focus-visible{transform:none}
}

/* Match the commitment link typography to the financing/insurance CTAs. */
.home-commitment .commitment-link{font-size:13px;font-weight:800;letter-spacing:.08em}
.home-commitment .commitment-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,gap .22s ease;
}
.home-commitment .commitment-cta span{
  display:inline-block;
  transition:transform .22s ease;
}
.home-commitment .commitment-cta:hover,
.home-commitment .commitment-cta:focus-visible{
  transform:translateY(-3px);
  background:#ffd045;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  outline:none;
}
.home-commitment .commitment-cta:hover span,
.home-commitment .commitment-cta:focus-visible span{
  transform:translateX(4px);
}
.home-commitment .commitment-cta:active{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
@media (prefers-reduced-motion: reduce){
  .home-commitment .commitment-cta,
  .home-commitment .commitment-cta span{
    transition:none;
  }
  .home-commitment .commitment-cta:hover,
  .home-commitment .commitment-cta:focus-visible,
  .home-commitment .commitment-cta:active{
    transform:none;
  }
  .home-commitment .commitment-cta:hover span,
  .home-commitment .commitment-cta:focus-visible span{
    transform:none;
  }
}
@media(min-width:951px){
  .home-commitment .commitment-heading .commitment-cta{margin-left:auto}
}

/* Shared compact footer: the sticky header already carries the MB logo. */
footer.site-footer-refined{
  background:#080808!important;
  color:#f7f7f7;
  padding:54px 0!important;
  border-top:0!important;
  margin:0!important;
  box-sizing:border-box;
}
.site-footer-refined .site-footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,.9fr);
  gap:clamp(32px,5vw,88px);
  align-items:stretch;
  padding-bottom:0;
}
.site-footer-refined h3{margin:0 0 14px;font-size:21px;line-height:1.2;letter-spacing:-.02em;color:#fff}
.site-footer-refined h4{margin:0 0 18px;color:#f5bd27;font-size:15px;font-weight:800;letter-spacing:.01em}
.site-footer-refined p{margin:0 0 12px;color:#b9b9b9;font-size:14px;line-height:1.7}
.site-footer-about p:first-of-type{color:#f5bd27;font-weight:700}
.site-footer-refined .site-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.site-footer-refined .site-footer-links h4{margin-bottom:7px}
.site-footer-refined a{color:#b9b9b9;text-decoration:none;font-size:14px;line-height:1.5;transition:color .18s ease}
.site-footer-refined a:hover,.site-footer-refined a:focus-visible{color:#f5bd27}
.site-footer-refined .site-footer-contact p{margin-top:14px}
.site-footer-refined .site-footer-contact-link{display:inline-flex;align-items:center;gap:8px;margin-top:8px;color:#f5bd27;font-weight:800}
.site-footer-refined .site-footer-contact-link span{transition:transform .2s ease}
.site-footer-refined .site-footer-contact-link:hover span{transform:translateX(4px)}
.site-footer-refined .site-footer-bottom{
  border-top:1px solid rgba(255,255,255,.16);
  padding:19px 0 25px!important;
  color:#999;font-size:12px;line-height:1.5;
}
@media(max-width:760px){
  footer.site-footer-refined{padding:38px 0!important}
  .site-footer-refined .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding-bottom:0}
  .site-footer-refined .site-footer-about{grid-column:1/-1}
}
@media(max-width:460px){
  .site-footer-refined .site-footer-grid{grid-template-columns:1fr}
  .site-footer-refined .site-footer-about{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.site-footer-refined a,.site-footer-refined .site-footer-contact-link span{transition:none}}

/* Balanced footer: company, services, and two distinct office locations. */
.site-footer-refined .site-footer-grid{
  grid-template-columns:minmax(0,1.6fr) minmax(0,.75fr) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(22px,3.4vw,54px);
}
.site-footer-refined .site-footer-office h4{white-space:nowrap}
.site-footer-refined .site-footer-office p{margin-top:0}
.site-footer-refined .site-footer-reach{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:20px;
}
.site-footer-refined .site-footer-reach > a:first-child{color:#fff;font-weight:700}
.site-footer-refined .site-footer-reach .site-footer-contact-link{margin-top:0}
@media(max-width:950px){
  .site-footer-refined .site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 40px}
  .site-footer-refined .site-footer-about{grid-column:auto}
}
@media(max-width:520px){
  .site-footer-refined .site-footer-grid{grid-template-columns:1fr;gap:28px}
  .site-footer-refined .site-footer-about{grid-column:auto}
}

/* Footer copyright sits at bottom right, level with the Financing link; no separator. */
.site-footer-refined .site-footer-grid{padding-bottom:0;align-items:stretch}
.site-footer-refined .site-footer-office:last-child{display:flex;flex-direction:column;align-items:flex-start}
.site-footer-refined .site-footer-office:last-child .site-footer-copyright{
  display:block;margin-top:auto;padding-top:20px;
  font-size:11px;line-height:1.5;color:#999;white-space:nowrap;
}
.site-footer-refined .site-footer-bottom{display:none!important;border:0!important}
@media(max-width:950px){
  .site-footer-refined .site-footer-office:last-child .site-footer-copyright{
    margin-top:24px;white-space:normal;
  }
}

/* Align Explore link rhythm with the office columns. */
.site-footer-refined .site-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.site-footer-refined .site-footer-links h4{margin-bottom:4px}
.site-footer-refined .site-footer-links a{display:block;line-height:1.5}

/* Footer final spacing and copyright placement. */
.site-footer-refined .site-footer-links{gap:4px}
.site-footer-refined .site-footer-links h4{margin-bottom:8px}
.site-footer-refined .site-footer-office{display:flex;flex-direction:column;align-items:flex-start}
.site-footer-refined .site-footer-office .site-footer-copyright{
 display:block;margin-top:auto;padding-top:20px;color:#999;font-size:11px;line-height:1.5;white-space:normal
}
@media(max-width:950px){.site-footer-refined .site-footer-office .site-footer-copyright{margin-top:24px}}

/* Navigation dropdown: dark, restrained, consistent with the site header. */
@media (min-width:851px){
  header .links .dropdown > .drop{
    left:-18px;
    top:calc(100% + 12px);
    min-width:224px;
    padding:9px;
    background:#191919;
    color:#f6f6f6;
    border:1px solid rgba(245,189,39,.48);
    border-radius:10px;
    box-shadow:0 18px 38px rgba(0,0,0,.42);
    gap:2px!important;
  }
  header .links .dropdown > .drop::before{
    content:"";
    position:absolute;
    height:14px;
    left:0;right:0;
    bottom:100%;
  }
  header .links .dropdown > .drop a{
    display:block;
    padding:12px 13px;
    border-radius:6px;
    color:#f4f4f4;
    font-size:14px;
    line-height:1.2;
    transition:background .18s,color .18s;
  }
  header .links .dropdown > .drop a:hover,
  header .links .dropdown > .drop a:focus-visible{
    background:rgba(245,189,39,.13);
    color:var(--gold);
  }
}

/* Roofing page — homepage extension only. Minimal additions atop homepage patterns. */
body.roof-page,
body.details-page,
body.windows-page,
body.siding-page,
body.about-page,
body.storm-page,
body.commercial-page{
  --roof-gold:#f5bd27;
  --roof-gold-text:#805700;
}
body.roof-page header,
body.details-page header,
body.windows-page header,
body.siding-page header,
body.about-page header,
body.storm-page header,
body.commercial-page header{
  border-bottom:3px solid var(--roof-gold)!important;
}
/* Single full-bleed dividers: top border only (avoids stacked doubles between sections). */
body.roof-page main > .roof-stage,
body.details-page main > .roof-stage,
body.windows-page main > .roof-stage,
body.siding-page main > .roof-stage,
body.about-page main > .roof-stage,
body.storm-page main > .storm-hero,
body.storm-page main > .storm-signs,
body.storm-page main > .storm-impact,
body.storm-page main > .roof-stage,
body.commercial-page main > .commercial-hero,
body.commercial-page main > .commercial-opener,
body.commercial-page main > .commercial-sheet-intro,
body.commercial-page main > .commercial-hybrid-hero,
body.commercial-page main > .commercial-hybrid-systems,
body.commercial-page main > .commercial-hybrid-heatmap,
body.commercial-page main > .commercial-hybrid-portfolio,
body.commercial-page main > .commercial-system-breakout,
body.commercial-page main > .commercial-bands,
body.commercial-page main > .commercial-sheet-cta,
body.commercial-page main > .commercial-featured,
body.commercial-page main > .commercial-credibility,
body.commercial-page main > .commercial-categories,
body.commercial-page main > .commercial-dir-hero,
body.commercial-page main > .commercial-directory,
body.commercial-page main > .commercial-project-view,
body.commercial-page main > .commercial-map-band,
body.commercial-page main > .commercial-close,
body.commercial-page main > .commercial-project-section,
body.commercial-page main > .roof-stage,
body.roof-page main > .roof-choices,
body.details-page main > .roof-choices,
body.windows-page main > .roof-choices,
body.siding-page main > .roof-choices,
body.about-page main > .roof-choices,
body.storm-page main > .roof-choices,
body.commercial-page main > .roof-choices,
body.roof-page main > .roof-materials-stage,
body.details-page main > .roof-materials-stage,
body.windows-page main > .roof-materials-stage,
body.siding-page main > .roof-materials-stage,
body.about-page main > .roof-materials-stage,
body.storm-page main > .roof-materials-stage,
body.commercial-page main > .roof-materials-stage,
body.roof-page main > .roof-inspections,
body.details-page main > .roof-inspections,
body.windows-page main > .roof-inspections,
body.siding-page main > .roof-inspections,
body.about-page main > .roof-inspections,
body.storm-page main > .roof-inspections,
body.commercial-page main > .roof-inspections,
body.roof-page main > .roof-faq-stage,
body.details-page main > .roof-faq-stage,
body.windows-page main > .roof-faq-stage,
body.siding-page main > .roof-faq-stage,
body.about-page main > .roof-faq-stage,
body.storm-page main > .roof-faq-stage,
body.commercial-page main > .roof-faq-stage,
body.details-page main > .details-next-support,
body.siding-page main > .siding-paths,
body.siding-page main > .siding-faq-stage,
body.roof-page main > .home-final-cta,
body.details-page main > .home-final-cta,
body.windows-page main > .home-final-cta,
body.siding-page main > .home-final-cta,
body.about-page main > .home-final-cta,
body.storm-page main > .home-final-cta,
body.commercial-page main > .home-final-cta,
body.roof-page main > .expertise-combined,
body.details-page main > .expertise-combined,
body.windows-page main > .expertise-combined,
body.siding-page main > .expertise-combined,
body.about-page main > .expertise-combined,
body.storm-page main > .expertise-combined,
body.commercial-page main > .expertise-combined{
  border-top:3px solid var(--roof-gold)!important;
  border-bottom:0!important;
}
body.roof-page main > .roof-stage:first-of-type,
body.details-page main > .roof-stage:first-of-type,
body.windows-page main > .roof-stage:first-of-type,
body.siding-page main > .roof-stage:first-of-type,
body.about-page main > .roof-stage:first-of-type,
body.storm-page main > .storm-hero:first-of-type,
body.storm-page main > .roof-stage:first-of-type,
body.commercial-page main > .commercial-hero:first-of-type,
body.commercial-page main > .commercial-sheet-intro:first-of-type,
body.commercial-page main > .commercial-hybrid-hero:first-of-type,
body.commercial-page main > .roof-stage:first-of-type{
  border-top:0!important;
}
body.roof-page main > .home-final-cta,
body.details-page main > .home-final-cta,
body.windows-page main > .home-final-cta,
body.siding-page main > .home-final-cta,
body.about-page main > .home-final-cta,
body.storm-page main > .home-final-cta,
body.commercial-page main > .home-final-cta{
  border-bottom:3px solid var(--roof-gold)!important;
}
body.roof-page #roofing-intro,
body.roof-page #roofing-process,
body.roof-page #roofing-materials,
body.siding-page #siding-intro,
body.siding-page #siding-process,
body.windows-page #windows-intro,
body.windows-page #windows-process,
body.details-page #details-intro,
body.details-page #details-process,
body.about-page #about-intro,
body.about-page #about-process,
body.storm-page #storm-intro,
body.commercial-page #storm-intro,
body.storm-page #storm-process,
body.commercial-page #storm-process{
  scroll-margin-top:110px;
}
/* Timeline jump targets are centered via JS; keep margin minimal so centering stays true. */
body.roof-page #roofing-services,
body.roof-page #roofing-inspections,
body.roof-page #roofing-faq,
body.roof-page #roofing-ready,
body.siding-page #siding-look,
body.siding-page #siding-materials,
body.siding-page #siding-services,
body.siding-page #siding-inspections,
body.siding-page #siding-next,
body.siding-page #siding-faq,
body.siding-page #siding-ready,
body.windows-page #windows-services,
body.windows-page #windows-materials,
body.windows-page #windows-inspections,
body.windows-page #windows-faq,
body.windows-page #windows-ready,
body.details-page #details-services,
body.details-page #details-materials,
body.details-page #details-inspections,
body.details-page #details-next,
body.details-page #details-faq,
body.details-page #details-ready,
body.about-page #about-approach,
body.about-page #about-area,
body.about-page #about-ready,
body.storm-page #storm-signs,
body.commercial-page #storm-signs,
body.storm-page #storm-insurance,
body.commercial-page #storm-insurance,
body.storm-page #storm-impact,
body.storm-page #storm-ready,
body.commercial-page #storm-ready{
  scroll-margin-top:0;
}

/* Full-bleed blurred stage + floating process panel */
body.roof-page .roof-stage,
body.details-page .roof-stage,
body.windows-page .roof-stage,
body.siding-page .roof-stage,
body.about-page .roof-stage,
body.storm-page .roof-stage,
body.commercial-page .roof-stage{
  position:relative;
  overflow:hidden;
  padding:clamp(48px,7vw,88px) 0 0;
  background:#1a1a18;
}
body.roof-page .roof-stage-bg,
body.details-page .roof-stage-bg,
body.windows-page .roof-stage-bg,
body.siding-page .roof-stage-bg,
body.about-page .roof-stage-bg,
body.storm-page .roof-stage-bg,
body.commercial-page .roof-stage-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  clip-path:inset(0);
  -webkit-clip-path:inset(0);
}
body.roof-page .roof-stage-bg img,
body.details-page .roof-stage-bg img,
body.windows-page .roof-stage-bg img,
body.siding-page .roof-stage-bg img,
body.about-page .roof-stage-bg img,
body.storm-page .roof-stage-bg img,
body.commercial-page .roof-stage-bg img{
  display:block;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  height:100dvh;
  max-width:none;
  object-fit:cover;
  transform:scale(1.12);
  filter:blur(14px) saturate(1.05);
  pointer-events:none;
}
/* Roofing intro only: sharp shingle photo. Later stage backgrounds stay blurred. */
body.roof-page .roof-stage > .roof-stage-bg img{
  transform:none;
  filter:none;
  object-position:center center;
  image-rendering:auto;
}
@media (prefers-reduced-motion: reduce){
  .home-efficiency-bg img,
  .home-visualizer-bg img,
  body.roof-page .roof-stage-bg img,
  body.details-page .roof-stage-bg img,
  body.windows-page .roof-stage-bg img,
  body.siding-page .roof-stage-bg img,
  body.about-page .roof-stage-bg img,
  body.storm-page .roof-stage-bg img,
  body.commercial-page .roof-stage-bg img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
}
body.roof-page .roof-stage-bg:after,
body.details-page .roof-stage-bg:after,
body.windows-page .roof-stage-bg:after,
body.siding-page .roof-stage-bg:after,
body.about-page .roof-stage-bg:after,
body.storm-page .roof-stage-bg:after,
body.commercial-page .roof-stage-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(18,18,16,.55) 0%,rgba(18,18,16,.42) 45%,rgba(18,18,16,.62) 100%);
}
body.roof-page .roof-stage-inner,
body.details-page .roof-stage-inner,
body.windows-page .roof-stage-inner,
body.siding-page .roof-stage-inner,
body.about-page .roof-stage-inner,
body.storm-page .roof-stage-inner,
body.commercial-page .roof-stage-inner{
  position:relative;
  z-index:1;
}
body.roof-page .roof-process-panel,
body.details-page .roof-process-panel,
body.windows-page .roof-process-panel,
body.siding-page .roof-process-panel,
body.about-page .roof-process-panel,
body.storm-page .roof-process-panel,
body.commercial-page .roof-process-panel{
  background:#fff;
  color:#242424;
  padding:clamp(28px,4vw,48px) clamp(22px,3.5vw,44px);
  border:3px solid var(--roof-gold);
  border-bottom:0;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  margin-bottom:0;
}
body.roof-page .roof-process-panel .support-heading,
body.details-page .roof-process-panel .support-heading,
body.windows-page .roof-process-panel .support-heading,
body.siding-page .roof-process-panel .support-heading,
body.about-page .roof-process-panel .support-heading,
body.storm-page .roof-process-panel .support-heading,
body.commercial-page .roof-process-panel .support-heading{
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
body.roof-page .roof-process-panel .support-heading .commitment-eyebrow,
body.details-page .roof-process-panel .support-heading .commitment-eyebrow,
body.windows-page .roof-process-panel .support-heading .commitment-eyebrow,
body.siding-page .roof-process-panel .support-heading .commitment-eyebrow,
body.about-page .roof-process-panel .support-heading .commitment-eyebrow,
body.storm-page .roof-process-panel .support-heading .commitment-eyebrow,
body.commercial-page .roof-process-panel .support-heading .commitment-eyebrow{
  color:var(--roof-gold-text);
  justify-content:center;
}
body.roof-page .roof-process-panel .support-heading .commitment-eyebrow::before,
body.details-page .roof-process-panel .support-heading .commitment-eyebrow::before,
body.windows-page .roof-process-panel .support-heading .commitment-eyebrow::before,
body.siding-page .roof-process-panel .support-heading .commitment-eyebrow::before,
body.about-page .roof-process-panel .support-heading .commitment-eyebrow::before,
body.storm-page .roof-process-panel .support-heading .commitment-eyebrow::before,
body.commercial-page .roof-process-panel .support-heading .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:var(--roof-gold);
  flex:none;
  margin-right:10px;
}
body.windows-page .roof-process-panel .support-heading .commitment-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.windows-page .roof-process-panel .support-heading .commitment-eyebrow::before,
body.windows-page .roof-process-panel .support-heading .commitment-eyebrow::after{
  content:"";
  width:28px;
  height:3px;
  margin:0;
  background:var(--roof-gold);
  flex:none;
}
/* Windows intro: white card covers only the left of the sharp house.
   Size the photo to the hero so both rows of windows stay in frame. */
body.windows-page #windows-intro > .roof-stage-bg img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  transform:none;
  filter:none;
  object-fit:cover;
  object-position:center center;
}
@media(min-width:901px){
  body.windows-page #windows-intro{
    min-height:calc(100vw * 720 / 1280);
    padding-bottom:0;
  }
}
body.windows-page #windows-intro > .roof-stage-bg:after{
  background:linear-gradient(180deg,rgba(18,18,16,.22) 0%,rgba(18,18,16,.1) 46%,rgba(18,18,16,.24) 100%);
}
body.windows-page #windows-intro{
  padding-bottom:clamp(36px,5vw,72px);
}
body.windows-page #windows-intro .roof-process-panel{
  width:min(680px,58%);
  margin-right:auto;
  border-bottom:3px solid var(--roof-gold);
}
@media(max-width:900px){
  body.windows-page #windows-intro .roof-process-panel{
    width:100%;
  }
}
body.roof-page .roof-process-panel .support-heading h1,
body.details-page .roof-process-panel .support-heading h1,
body.windows-page .roof-process-panel .support-heading h1,
body.siding-page .roof-process-panel .support-heading h1,
body.about-page .roof-process-panel .support-heading h1,
body.storm-page .roof-process-panel .support-heading h1,
body.commercial-page .roof-process-panel .support-heading h1{
  color:#242424;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.12;
  letter-spacing:-.03em;
  margin:12px 0 12px;
  text-align:center;
}
body.roof-page .roof-process-panel .support-heading p,
body.details-page .roof-process-panel .support-heading p,
body.windows-page .roof-process-panel .support-heading p,
body.siding-page .roof-process-panel .support-heading p,
body.about-page .roof-process-panel .support-heading p,
body.storm-page .roof-process-panel .support-heading p,
body.commercial-page .roof-process-panel .support-heading p{
  color:#515151;
  margin:0 auto;
  text-align:center;
  max-width:640px;
}

/* Replacement / repair — editorial two-up */
/* Match Step 3: section/panel pad above the mark, tight 18px gap into the content. */
body.roof-page .roof-choices.expertise-combined,
body.details-page .roof-choices.expertise-combined,
body.windows-page .roof-choices.expertise-combined,
body.siding-page .roof-choices.expertise-combined,
body.about-page .roof-choices.expertise-combined,
body.storm-page .roof-choices.expertise-combined,
body.commercial-page .roof-choices.expertise-combined{
  padding:0 0 clamp(48px,5vw,72px)!important;
}
body.roof-page .roof-choices.expertise-combined{
  padding:clamp(48px,5vw,72px) 0!important;
}
body.roof-page .roof-gallery-head,
body.details-page .roof-gallery-head,
body.windows-page .roof-gallery-head,
body.siding-page .roof-gallery-head,
body.about-page .roof-gallery-head,
body.storm-page .roof-gallery-head,
body.commercial-page .roof-gallery-head{
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  margin:0 auto;
  max-width:none;
  width:100%;
  text-align:center;
  /* Equal band: centers the mark without a large gap above the photos. */
  padding:clamp(40px,5vw,52px) 0;
}
body.roof-page .roof-inspections.expertise-combined{
  padding:clamp(52px,6vw,76px) 0!important;
}
body.roof-page .home-final-cta{
  padding:clamp(52px,6vw,76px) 0 clamp(64px,8vw,96px)!important;
}
body.roof-page .home-final-cta .home-final-phone{
  margin-top:22px;
  margin-bottom:8px;
}
body.roof-page .roof-gallery-head .roof-step-mark{
  margin:0 auto;
}
body.roof-page .roof-inspections .roof-step-mark,
body.roof-page .home-final-cta .roof-step-mark{
  margin:0 auto 18px;
}
/* Avoid margin-collapse so Step 4 matches Step 3’s mark-to-headline gap. */
body.roof-page .home-final-cta .roof-step-mark{
  margin-bottom:0;
  padding-bottom:18px;
}
body.roof-page .home-final-cta h2{
  margin-top:14px;
}
body.roof-page .roof-step-mark{
  display:flex;
  width:fit-content;
  max-width:100%;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0 auto 18px;
  padding:0;
  text-align:center;
  color:var(--roof-gold)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
  line-height:1.2!important;
  font-style:normal!important;
}
body.roof-page .roof-step-mark::before,
body.roof-page .roof-step-mark::after{
  content:"";
  display:block;
  width:22px;
  height:3px;
  background:var(--roof-gold);
  flex:none;
}
body.roof-page .roof-faq-panel .roof-step-mark{
  color:var(--roof-gold-text,#805700)!important;
}
body.roof-page .roof-faq-panel .roof-step-mark::before,
body.roof-page .roof-faq-panel .roof-step-mark::after{
  background:var(--roof-gold-text,#805700);
}
body.roof-page .roof-inspections .support-heading,
body.roof-page .roof-faq-panel .support-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
}
body.roof-page .roof-choice-grid,
body.details-page .roof-choice-grid,
body.windows-page .roof-choice-grid,
body.siding-page .roof-choice-grid,
body.about-page .roof-choice-grid,
body.storm-page .roof-choice-grid,
body.commercial-page .roof-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,56px);
}
body.roof-page .roof-choice img,
body.details-page .roof-choice img,
body.windows-page .roof-choice img,
body.siding-page .roof-choice img,
body.about-page .roof-choice img,
body.storm-page .roof-choice img,
body.commercial-page .roof-choice img{
  display:block;
  width:100%;
  height:auto;
  max-height:190px;
  aspect-ratio:2/1;
  object-fit:cover;
  background:#1a1a18;
  margin-bottom:16px;
  border:3px solid var(--roof-gold);
  box-sizing:border-box;
}
body.roof-page .roof-choice img{
  margin-bottom:26px;
  border:0;
  border-radius:14px;
}
/* Windows replacement: photo on the left, copy beside it. */
body.windows-page .roof-choices.expertise-combined{
  padding:clamp(40px,5vw,64px) 0!important;
}
body.windows-page .windows-replacement{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,4vw,64px);
  align-items:center;
}
body.windows-page .roof-choices .windows-replacement img{
  width:100%;
  height:100%;
  max-height:none;
  aspect-ratio:4/3;
  margin:0;
  object-fit:cover;
  border-radius:14px;
}
@media(max-width:900px){
  body.windows-page .windows-replacement{
    grid-template-columns:1fr;
  }
  body.windows-page .roof-choices .windows-replacement img{
    height:auto;
    aspect-ratio:16/9;
  }
}
body.roof-page .roof-choice-media{
  margin:0 0 26px;
  overflow:hidden;
  border:3px solid var(--roof-gold);
  border-radius:14px;
  background:#1a1a18;
}
body.roof-page .roof-choice-media img{
  margin-bottom:0;
  border-radius:0;
  transition:transform .35s ease,filter .35s ease;
  will-change:transform;
}
body.roof-page .roof-choice:hover .roof-choice-media img,
body.roof-page .roof-choice:focus-within .roof-choice-media img{
  transform:scale(1.04);
  filter:brightness(1.05);
}
body.roof-page .roof-choice-copy h3{
  transition:color .22s ease;
}
body.roof-page .roof-choice:hover .roof-choice-copy h3,
body.roof-page .roof-choice:focus-within .roof-choice-copy h3{
  color:#f5bd27;
}
@media (prefers-reduced-motion: reduce){
  body.roof-page .roof-choice-media img,
  body.roof-page .roof-choice-copy h3{
    transition:none;
  }
  body.roof-page .roof-choice:hover .roof-choice-media img,
  body.roof-page .roof-choice:focus-within .roof-choice-media img{
    transform:none;
  }
}
body.roof-page .roof-choice-copy h3,
body.details-page .roof-choice-copy h3,
body.windows-page .roof-choice-copy h3,
body.siding-page .roof-choice-copy h3,
body.about-page .roof-choice-copy h3,
body.storm-page .roof-choice-copy h3,
body.commercial-page .roof-choice-copy h3{
  color:#fff;
  font-size:clamp(22px,2.2vw,30px);
  letter-spacing:-.03em;
  margin:0 0 10px;
}
body.roof-page .roof-choice-copy p,
body.details-page .roof-choice-copy p,
body.windows-page .roof-choice-copy p,
body.siding-page .roof-choice-copy p,
body.about-page .roof-choice-copy p,
body.storm-page .roof-choice-copy p,
body.commercial-page .roof-choice-copy p{
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.65;
  margin:0 0 16px;
  max-width:34em;
}
body.roof-page .roof-choice-copy{
  text-align:center;
}
body.roof-page .roof-choice-copy p{
  margin-left:auto;
  margin-right:auto;
}
body.roof-page .roof-choice-copy .roof-inline-link{
  display:inline-block;
}

/* Inspections band (charcoal) */
body.roof-page .roof-inspections .support-heading,
body.details-page .roof-inspections .support-heading,
body.windows-page .roof-inspections .support-heading,
body.siding-page .roof-inspections .support-heading,
body.about-page .roof-inspections .support-heading,
body.storm-page .roof-inspections .support-heading,
body.commercial-page .roof-inspections .support-heading{
  text-align:center;
  max-width:720px;
  margin:0 auto;
}
body.roof-page .roof-inspections h2,
body.details-page .roof-inspections h2,
body.windows-page .roof-inspections h2,
body.siding-page .roof-inspections h2,
body.about-page .roof-inspections h2,
body.storm-page .roof-inspections h2,
body.commercial-page .roof-inspections h2{
  color:#fff;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.12;
  letter-spacing:-.03em;
  margin:12px 0 14px;
}
body.roof-page .roof-inspections p,
body.details-page .roof-inspections p,
body.windows-page .roof-inspections p,
body.siding-page .roof-inspections p,
body.about-page .roof-inspections p,
body.storm-page .roof-inspections p,
body.commercial-page .roof-inspections p{
  color:rgba(255,255,255,.72);
  font-size:clamp(16px,1.35vw,18px);
  line-height:1.65;
  margin:0 auto;
}
body.roof-page .roof-inspect-btn,
body.details-page .roof-inspect-btn,
body.windows-page .roof-inspect-btn,
body.siding-page .roof-inspect-btn,
body.about-page .roof-inspect-btn,
body.storm-page .roof-inspect-btn,
body.commercial-page .roof-inspect-btn{
  display:inline-flex;
  margin-top:22px;
  text-decoration:none;
}
body.roof-page .roof-inspect-btn{
  align-items:center;
  gap:8px;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,gap .22s ease;
  will-change:transform;
}
body.roof-page .roof-inspect-btn span{
  display:inline-block;
  transition:transform .22s ease;
}
body.roof-page .roof-inspect-btn:hover,
body.roof-page .roof-inspect-btn:focus-visible{
  transform:translateY(-3px);
  background:#ffd045;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
  outline:none;
  gap:12px;
}
body.roof-page .roof-inspect-btn:hover span,
body.roof-page .roof-inspect-btn:focus-visible span{
  transform:translateX(4px);
}
body.roof-page .roof-inspect-btn:active{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.2);
}
@media (prefers-reduced-motion: reduce){
  body.roof-page .roof-inspect-btn,
  body.roof-page .roof-inspect-btn span{
    transition:none;
  }
  body.roof-page .roof-inspect-btn:hover,
  body.roof-page .roof-inspect-btn:focus-visible,
  body.roof-page .roof-inspect-btn:active{
    transform:none;
  }
  body.roof-page .roof-inspect-btn:hover span,
  body.roof-page .roof-inspect-btn:focus-visible span{
    transform:none;
  }
}

/* Gallery gold links on charcoal */
body.roof-page .roof-inline-link,
body.details-page .roof-inline-link,
body.windows-page .roof-inline-link,
body.siding-page .roof-inline-link,
body.about-page .roof-inline-link,
body.storm-page .roof-inline-link,
body.commercial-page .roof-inline-link{
  color:var(--roof-gold);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:2px solid rgba(245,189,39,.55);
  padding-bottom:3px;
}
body.roof-page .roof-inline-link:hover,
body.details-page .roof-inline-link:hover,
body.windows-page .roof-inline-link:hover,
body.siding-page .roof-inline-link:hover,
body.about-page .roof-inline-link:hover,
body.storm-page .roof-inline-link:hover,
body.commercial-page .roof-inline-link:hover{
  color:#fff;
  border-bottom-color:var(--roof-gold);
}

/* Horizontal process timeline */
body.roof-page .roof-timeline,
body.details-page .roof-timeline,
body.windows-page .roof-timeline,
body.siding-page .roof-timeline,
body.about-page .roof-timeline,
body.storm-page .roof-timeline,
body.commercial-page .roof-timeline{
  list-style:none;
  margin:42px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
  position:relative;
}
body.roof-page .roof-timeline:before,
body.details-page .roof-timeline:before,
body.windows-page .roof-timeline:before,
body.siding-page .roof-timeline:before,
body.about-page .roof-timeline:before,
body.storm-page .roof-timeline:before,
body.commercial-page .roof-timeline:before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:11px;
  height:3px;
  background:var(--roof-gold);
}
body.roof-page .roof-timeline li,
body.details-page .roof-timeline li,
body.windows-page .roof-timeline li,
body.siding-page .roof-timeline li,
body.about-page .roof-timeline li,
body.storm-page .roof-timeline li,
body.commercial-page .roof-timeline li{
  position:relative;
  padding-top:36px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
body.roof-page .roof-timeline-num,
body.details-page .roof-timeline-num,
body.windows-page .roof-timeline-num,
body.siding-page .roof-timeline-num,
body.about-page .roof-timeline-num,
body.storm-page .roof-timeline-num,
body.commercial-page .roof-timeline-num{
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 6px;
  background:#fff;
  color:var(--roof-gold-text);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
}
body.roof-page .roof-timeline h3,
body.details-page .roof-timeline h3,
body.windows-page .roof-timeline h3,
body.siding-page .roof-timeline h3,
body.about-page .roof-timeline h3,
body.storm-page .roof-timeline h3,
body.commercial-page .roof-timeline h3{
  font-size:clamp(18px,1.8vw,24px);
  letter-spacing:-.03em;
  margin:0 0 8px;
  color:#242424;
}
body.roof-page .roof-timeline h3 a,
body.details-page .roof-timeline h3 a,
body.windows-page .roof-timeline h3 a,
body.siding-page .roof-timeline h3 a,
body.about-page .roof-timeline h3 a,
body.storm-page .roof-timeline h3 a,
body.commercial-page .roof-timeline h3 a{
  color:inherit;
  text-decoration:none;
  border-bottom:2px solid transparent;
  transition:color .16s ease,border-color .16s ease;
}
body.roof-page .roof-timeline h3 a:hover,
body.details-page .roof-timeline h3 a:hover,
body.windows-page .roof-timeline h3 a:hover,
body.siding-page .roof-timeline h3 a:hover,
body.roof-page .roof-timeline h3 a:focus-visible,
body.details-page .roof-timeline h3 a:focus-visible,
body.windows-page .roof-timeline h3 a:focus-visible,
body.siding-page .roof-timeline h3 a:focus-visible,
body.about-page .roof-timeline h3 a:focus-visible,
body.storm-page .roof-timeline h3 a:focus-visible,
body.commercial-page .roof-timeline h3 a:focus-visible{
  color:var(--roof-gold-text);
  border-bottom-color:var(--roof-gold);
  outline:none;
}
body.roof-page .roof-timeline p,
body.details-page .roof-timeline p,
body.windows-page .roof-timeline p,
body.siding-page .roof-timeline p,
body.about-page .roof-timeline p,
body.storm-page .roof-timeline p,
body.commercial-page .roof-timeline p{
  margin:0 0 14px;
  color:#515151;
  font-size:14px;
  line-height:1.55;
  max-width:22em;
}
body.roof-page .roof-timeline-cta,
body.details-page .roof-timeline-cta,
body.windows-page .roof-timeline-cta,
body.siding-page .roof-timeline-cta,
body.about-page .roof-timeline-cta,
body.storm-page .roof-timeline-cta,
body.commercial-page .roof-timeline-cta{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:11.5em;
  color:var(--roof-gold-text,#805700);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:0;
  padding-bottom:0;
}
body.roof-page .roof-timeline-cta:hover,
body.details-page .roof-timeline-cta:hover,
body.windows-page .roof-timeline-cta:hover,
body.siding-page .roof-timeline-cta:hover,
body.roof-page .roof-timeline-cta:focus-visible,
body.details-page .roof-timeline-cta:focus-visible,
body.windows-page .roof-timeline-cta:focus-visible,
body.siding-page .roof-timeline-cta:focus-visible,
body.about-page .roof-timeline-cta:focus-visible,
body.storm-page .roof-timeline-cta:focus-visible,
body.commercial-page .roof-timeline-cta:focus-visible{
  color:var(--roof-gold-text,#805700);
  text-decoration:underline;
  text-underline-offset:4px;
  outline:none;
}
body.roof-page .roof-timeline-cta .roof-cta-lower,
body.details-page .roof-timeline-cta .roof-cta-lower,
body.windows-page .roof-timeline-cta .roof-cta-lower,
body.siding-page .roof-timeline-cta .roof-cta-lower,
body.about-page .roof-timeline-cta .roof-cta-lower,
body.storm-page .roof-timeline-cta .roof-cta-lower,
body.commercial-page .roof-timeline-cta .roof-cta-lower{
  text-transform:none;
}

/* Materials — cream panel over blurred edges (matches wrap width) */
body.roof-page .roof-materials-stage,
body.details-page .roof-materials-stage,
body.windows-page .roof-materials-stage,
body.siding-page .roof-materials-stage,
body.about-page .roof-materials-stage,
body.storm-page .roof-materials-stage,
body.commercial-page .roof-materials-stage{
  position:relative;
  overflow:hidden;
  padding:clamp(36px,5vw,56px) 0;
  background:#1a1a18;
}
body.siding-page #siding-materials{
  padding-top:0;
  padding-bottom:0;
}
body.roof-page .roof-materials-inner,
body.details-page .roof-materials-inner,
body.windows-page .roof-materials-inner,
body.siding-page .roof-materials-inner,
body.about-page .roof-materials-inner,
body.storm-page .roof-materials-inner,
body.commercial-page .roof-materials-inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:clamp(36px,5vw,56px);
}
body.roof-page .roof-materials-panel,
body.details-page .roof-materials-panel,
body.windows-page .roof-materials-panel,
body.siding-page .roof-materials-panel,
body.about-page .roof-materials-panel,
body.storm-page .roof-materials-panel,
body.commercial-page .roof-materials-panel{
  background:#f0eee8;
  color:#242424;
  padding:clamp(36px,5vw,56px) clamp(22px,3.5vw,48px);
  border:3px solid var(--roof-gold);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
/* Shared cream support-tile treatment for materials-stage CTAs */
body.roof-page .roof-materials-viz-callout.support-tile,
body.siding-page .roof-materials-viz-callout.support-tile,
body.roof-page .roof-materials-finance.support-tile{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  min-width:0;
  width:100%;
  margin:0;
  padding:28px 30px 30px;
  box-sizing:border-box;
  border:1px solid #d9d5cb;
  border-radius:14px;
  background:#f8f7f3;
  color:#242424;
  text-decoration:none;
  box-shadow:0 3px 12px rgba(20,20,20,.035);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background-color .22s ease,filter .22s ease;
}
body.roof-page .roof-materials-panel .roof-materials-viz-callout.support-tile,
body.siding-page .roof-materials-panel .roof-materials-viz-callout.support-tile{
  max-width:820px;
  margin:28px auto 0;
}
body.roof-page .roof-materials-viz-callout .support-kicker,
body.siding-page .roof-materials-viz-callout .support-kicker,
body.roof-page .roof-materials-finance .support-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:28px;
  color:#9a6b00;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
}
body.roof-page .roof-materials-viz-callout .support-icon,
body.siding-page .roof-materials-viz-callout .support-icon,
body.roof-page .roof-materials-finance .support-icon{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  color:#a67b10;
}
body.roof-page .roof-materials-viz-callout .support-icon svg,
body.siding-page .roof-materials-viz-callout .support-icon svg,
body.roof-page .roof-materials-finance .support-icon svg{
  width:25px;
  height:25px;
  display:block;
}
body.roof-page .roof-materials-viz-callout h3,
body.siding-page .roof-materials-viz-callout h3,
body.roof-page .roof-materials-finance h3{
  margin:15px 0 12px;
  color:#242424;
  font-size:clamp(26px,2.5vw,36px);
  letter-spacing:-.035em;
  line-height:1.16;
  font-weight:900;
}
body.roof-page .roof-materials-viz-callout p,
body.siding-page .roof-materials-viz-callout p,
body.roof-page .roof-materials-finance p{
  margin:0 0 26px;
  color:#515151;
  font-size:17px;
  line-height:1.65;
  max-width:540px;
}
body.roof-page .roof-materials-viz-callout .support-tile-cta,
body.siding-page .roof-materials-viz-callout .support-tile-cta,
body.roof-page .roof-materials-finance .support-tile-cta{
  display:inline-flex;
  gap:6px;
  align-items:center;
  align-self:flex-start;
  margin-top:auto;
  color:#805700;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  border-bottom:2px solid #f6bf28;
  padding-bottom:5px;
}
body.roof-page .roof-materials-viz-callout .support-tile-cta span,
body.siding-page .roof-materials-viz-callout .support-tile-cta span,
body.roof-page .roof-materials-finance .support-tile-cta span{
  display:inline-block;
  transition:transform .22s ease;
}
body.roof-page .roof-materials-viz-callout.support-tile:hover,
body.roof-page .roof-materials-viz-callout.support-tile:focus-visible,
body.siding-page .roof-materials-viz-callout.support-tile:hover,
body.siding-page .roof-materials-viz-callout.support-tile:focus-visible,
body.roof-page .roof-materials-finance.support-tile:hover,
body.roof-page .roof-materials-finance.support-tile:focus-visible{
  transform:translateY(-4px);
  border-color:#f5bd27;
  background:#fbfaf7;
  box-shadow:0 14px 30px rgba(20,20,20,.12);
  outline:none;
}
body.roof-page .roof-materials-viz-callout.support-tile:focus-visible,
body.siding-page .roof-materials-viz-callout.support-tile:focus-visible,
body.roof-page .roof-materials-finance.support-tile:focus-visible{
  outline:2px solid #a67500;
  outline-offset:3px;
}
body.roof-page .roof-materials-viz-callout.support-tile:hover .support-tile-cta span,
body.roof-page .roof-materials-viz-callout.support-tile:focus-visible .support-tile-cta span,
body.siding-page .roof-materials-viz-callout.support-tile:hover .support-tile-cta span,
body.siding-page .roof-materials-viz-callout.support-tile:focus-visible .support-tile-cta span,
body.roof-page .roof-materials-finance.support-tile:hover .support-tile-cta span,
body.roof-page .roof-materials-finance.support-tile:focus-visible .support-tile-cta span{
  transform:translateX(5px);
}

/* Financing: full-width Mike Brown gold band */
body.roof-page .roof-materials-finance.support-tile{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:clamp(24px,4vw,48px);
  max-width:none;
  padding:clamp(28px,3.6vw,40px) clamp(28px,3.5vw,44px);
  border:0;
  border-radius:14px;
  background:var(--roof-gold,#f5bd27);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
body.roof-page .roof-materials-finance-copy{
  min-width:0;
  flex:1 1 auto;
}
body.roof-page .roof-materials-finance .support-kicker,
body.roof-page .roof-materials-finance .support-icon{
  color:#5c4200;
}
body.roof-page .roof-materials-finance h3{
  color:#111;
}
body.roof-page .roof-materials-finance p{
  margin:0;
  max-width:42em;
  color:rgba(17,17,17,.78);
}
body.roof-page .roof-materials-finance .support-tile-cta{
  flex:none;
  align-self:center;
  margin-top:0;
  padding:14px 18px 14px;
  border:0;
  border-radius:4px;
  background:#111;
  color:#fff;
  letter-spacing:.08em;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,gap .22s ease;
}
body.roof-page .roof-materials-finance.support-tile:hover,
body.roof-page .roof-materials-finance.support-tile:focus-visible{
  background:#ffd045;
  border-color:transparent;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.28),
    0 0 32px rgba(245,189,39,.45),
    0 22px 48px rgba(0,0,0,.3);
}
body.roof-page .roof-materials-finance.support-tile:hover .support-tile-cta,
body.roof-page .roof-materials-finance.support-tile:focus-visible .support-tile-cta{
  background:#242424;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  gap:10px;
}
/* Siding visualizer: gold so it stands apart from the cream tiles */
body.siding-page .roof-materials-viz-callout.support-tile{
  border:0;
  background:var(--roof-gold,#f5bd27);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
body.siding-page .roof-materials-viz-callout .support-kicker,
body.siding-page .roof-materials-viz-callout .support-icon{
  color:#5c4200;
}
body.siding-page .roof-materials-viz-callout h3{
  color:#111;
}
body.siding-page .roof-materials-viz-callout p{
  color:rgba(17,17,17,.78);
}
body.siding-page .roof-materials-viz-callout .support-tile-cta{
  padding:14px 18px;
  border:0;
  border-radius:4px;
  background:#111;
  color:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,gap .22s ease;
}
body.siding-page .roof-materials-viz-callout.support-tile:hover,
body.siding-page .roof-materials-viz-callout.support-tile:focus-visible{
  background:#ffd045;
  border-color:transparent;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.28),
    0 0 32px rgba(245,189,39,.45),
    0 22px 48px rgba(0,0,0,.3);
}
body.siding-page .roof-materials-viz-callout.support-tile:hover .support-tile-cta,
body.siding-page .roof-materials-viz-callout.support-tile:focus-visible .support-tile-cta{
  background:#242424;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  gap:10px;
}
@media(max-width:750px){
  body.roof-page .roof-materials-finance.support-tile{
    flex-direction:column;
    align-items:flex-start;
    padding:24px;
  }
  body.roof-page .roof-materials-finance .support-tile-cta{
    align-self:stretch;
    justify-content:center;
    margin-top:22px;
  }
  body.roof-page .roof-materials-viz-callout.support-tile,
  body.siding-page .roof-materials-viz-callout.support-tile{
    padding:24px;
  }
  body.roof-page .roof-materials-viz-callout .support-kicker,
  body.siding-page .roof-materials-viz-callout .support-kicker,
  body.roof-page .roof-materials-finance .support-kicker{
    gap:9px;
    font-size:11px;
    letter-spacing:.1em;
  }
}
@media (prefers-reduced-motion: reduce){
  body.roof-page .roof-materials-viz-callout.support-tile,
  body.siding-page .roof-materials-viz-callout.support-tile,
  body.roof-page .roof-materials-finance.support-tile,
  body.roof-page .roof-materials-viz-callout .support-tile-cta span,
  body.siding-page .roof-materials-viz-callout .support-tile-cta span,
  body.siding-page .roof-materials-viz-callout .support-tile-cta,
  body.roof-page .roof-materials-finance .support-tile-cta span,
  body.roof-page .roof-materials-finance .support-tile-cta{
    transition:none;
  }
  body.roof-page .roof-materials-viz-callout.support-tile:hover,
  body.roof-page .roof-materials-viz-callout.support-tile:focus-visible,
  body.siding-page .roof-materials-viz-callout.support-tile:hover,
  body.siding-page .roof-materials-viz-callout.support-tile:focus-visible,
  body.roof-page .roof-materials-finance.support-tile:hover,
  body.roof-page .roof-materials-finance.support-tile:focus-visible{
    transform:none;
  }
  body.roof-page .roof-materials-viz-callout.support-tile:hover .support-tile-cta span,
  body.roof-page .roof-materials-viz-callout.support-tile:focus-visible .support-tile-cta span,
  body.siding-page .roof-materials-viz-callout.support-tile:hover .support-tile-cta span,
  body.siding-page .roof-materials-viz-callout.support-tile:focus-visible .support-tile-cta span,
  body.roof-page .roof-materials-finance.support-tile:hover .support-tile-cta span,
  body.roof-page .roof-materials-finance.support-tile:focus-visible .support-tile-cta span{
    transform:none;
  }
}
body.roof-page .roof-materials-intro,
body.details-page .roof-materials-intro,
body.windows-page .roof-materials-intro,
body.siding-page .roof-materials-intro,
body.about-page .roof-materials-intro,
body.storm-page .roof-materials-intro,
body.commercial-page .roof-materials-intro{
  margin:0 auto 8px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
body.roof-page .roof-materials-intro h2,
body.details-page .roof-materials-intro h2,
body.windows-page .roof-materials-intro h2,
body.siding-page .roof-materials-intro h2,
body.about-page .roof-materials-intro h2,
body.storm-page .roof-materials-intro h2,
body.commercial-page .roof-materials-intro h2{
  margin:0 0 14px;
  text-align:center;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.12;
  letter-spacing:-.03em;
  color:#242424;
}
body.roof-page .roof-materials-intro > p,
body.details-page .roof-materials-intro > p,
body.windows-page .roof-materials-intro > p,
body.siding-page .roof-materials-intro > p,
body.about-page .roof-materials-intro > p,
body.storm-page .roof-materials-intro > p,
body.commercial-page .roof-materials-intro > p{
  margin:0 auto;
  max-width:640px;
  text-align:center;
  color:#515151;
  font-size:clamp(16px,1.35vw,18px);
  line-height:1.65;
}
body.roof-page .roof-materials-intro > p:not(.roof-materials-viz-lead),
body.details-page .roof-materials-intro > p:not(.roof-materials-viz-lead),
body.windows-page .roof-materials-intro > p:not(.roof-materials-viz-lead),
body.siding-page .roof-materials-intro > p:not(.roof-materials-viz-lead),
body.about-page .roof-materials-intro > p:not(.roof-materials-viz-lead),
body.storm-page .roof-materials-intro > p:not(.roof-materials-viz-lead),
body.commercial-page .roof-materials-intro > p:not(.roof-materials-viz-lead){
  font-style:italic;
}
body.details-page .roof-materials-viz-lead,
body.windows-page .roof-materials-viz-lead,
body.siding-page .roof-materials-viz-lead,
body.about-page .roof-materials-viz-lead,
body.storm-page .roof-materials-viz-lead,
body.commercial-page .roof-materials-viz-lead{
  margin:0 auto 14px!important;
  max-width:none;
  color:#242424!important;
  font-size:16px!important;
  font-weight:600;
  line-height:1.5!important;
  font-style:normal!important;
}
body.details-page .roof-materials-visualizer,
body.windows-page .roof-materials-visualizer,
body.siding-page .roof-materials-visualizer,
body.about-page .roof-materials-visualizer,
body.storm-page .roof-materials-visualizer,
body.commercial-page .roof-materials-visualizer{
  display:inline-flex;
  margin-top:0;
  text-decoration:none;
}
body.details-page .roof-materials-visualizer:hover,
body.windows-page .roof-materials-visualizer:hover,
body.siding-page .roof-materials-visualizer:hover,
body.about-page .roof-materials-visualizer:hover,
body.storm-page .roof-materials-visualizer:hover,
body.commercial-page .roof-materials-visualizer:hover{
  text-decoration:none;
}
body.roof-page .roof-materials-rows,
body.details-page .roof-materials-rows,
body.windows-page .roof-materials-rows,
body.siding-page .roof-materials-rows,
body.about-page .roof-materials-rows,
body.storm-page .roof-materials-rows,
body.commercial-page .roof-materials-rows{
  display:flex;
  flex-direction:column;
  max-width:820px;
  margin:32px auto 0;
  border-top:1px solid rgba(20,20,20,.14);
}
body.roof-page .roof-materials-rows{
  border-top:0;
}
body.roof-page .roof-materials-rows,
body.siding-page .roof-materials-rows{
  background:#f8f7f3;
  border:1px solid #d9d5cb;
  border-radius:14px;
  box-shadow:0 3px 12px rgba(20,20,20,.035);
  padding:8px 22px 10px;
}
body.siding-page .roof-materials-row:last-child{
  border-bottom:0;
}
@media (max-width:900px){
  body.roof-page .roof-materials-rows,
  body.siding-page .roof-materials-rows{
    padding:4px 10px 6px;
  }
}
body.roof-page .roof-materials-row,
body.details-page .roof-materials-row,
body.windows-page .roof-materials-row,
body.siding-page .roof-materials-row,
body.about-page .roof-materials-row,
body.storm-page .roof-materials-row,
body.commercial-page .roof-materials-row{
  border-bottom:1px solid rgba(20,20,20,.14);
  padding:0;
}
body.roof-page .roof-materials-row:last-child{
  border-bottom:0;
}
body.roof-page .roof-materials-row > summary,
body.details-page .roof-materials-row > summary,
body.windows-page .roof-materials-row > summary,
body.siding-page .roof-materials-row > summary,
body.about-page .roof-materials-row > summary,
body.storm-page .roof-materials-row > summary,
body.commercial-page .roof-materials-row > summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:clamp(18px,3vw,32px);
  align-items:center;
  padding:22px 0;
}
body.roof-page .roof-materials-row > summary::-webkit-details-marker,
body.details-page .roof-materials-row > summary::-webkit-details-marker,
body.windows-page .roof-materials-row > summary::-webkit-details-marker,
body.siding-page .roof-materials-row > summary::-webkit-details-marker,
body.about-page .roof-materials-row > summary::-webkit-details-marker,
body.storm-page .roof-materials-row > summary::-webkit-details-marker,
body.commercial-page .roof-materials-row > summary::-webkit-details-marker{display:none}
body.roof-page .roof-materials-row > summary:focus-visible,
body.details-page .roof-materials-row > summary:focus-visible,
body.windows-page .roof-materials-row > summary:focus-visible,
body.siding-page .roof-materials-row > summary:focus-visible,
body.about-page .roof-materials-row > summary:focus-visible,
body.storm-page .roof-materials-row > summary:focus-visible,
body.commercial-page .roof-materials-row > summary:focus-visible{
  outline:2px solid #f5bd27;
  outline-offset:4px;
}
body.roof-page .roof-materials-row img,
body.details-page .roof-materials-row img,
body.windows-page .roof-materials-row img,
body.siding-page .roof-materials-row img,
body.about-page .roof-materials-row img,
body.storm-page .roof-materials-row img,
body.commercial-page .roof-materials-row img{
  display:block;
  width:210px;
  height:210px;
  max-width:100%;
  aspect-ratio:1;
  object-fit:cover;
  background:#ddd9d0;
  border:3px solid #242424;
  box-sizing:border-box;
}
body.roof-page .roof-materials-row > summary,
body.siding-page .roof-materials-row > summary{
  transition:transform .22s ease,background-color .22s ease;
  border-radius:8px;
}
body.roof-page .roof-materials-row > summary img,
body.siding-page .roof-materials-row > summary img{
  transition:transform .35s ease,border-color .22s ease,box-shadow .22s ease,filter .35s ease;
}
body.roof-page .roof-materials-row > summary .roof-materials-copy h3,
body.siding-page .roof-materials-row > summary .roof-materials-copy h3,
body.roof-page .roof-materials-row > summary .roof-materials-toggle,
body.siding-page .roof-materials-row > summary .roof-materials-toggle{
  transition:color .22s ease,transform .22s ease;
}
body.roof-page .roof-materials-row > summary:hover,
body.roof-page .roof-materials-row > summary:focus-visible,
body.siding-page .roof-materials-row > summary:hover,
body.siding-page .roof-materials-row > summary:focus-visible{
  transform:translateY(-2px);
  background:rgba(245,189,39,.06);
}
body.roof-page .roof-materials-row > summary:hover img,
body.roof-page .roof-materials-row > summary:focus-visible img,
body.siding-page .roof-materials-row > summary:hover img,
body.siding-page .roof-materials-row > summary:focus-visible img{
  transform:scale(1.03);
  border-color:#f5bd27;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  filter:brightness(1.04);
}
body.roof-page .roof-materials-row > summary:hover .roof-materials-copy h3,
body.roof-page .roof-materials-row > summary:focus-visible .roof-materials-copy h3,
body.siding-page .roof-materials-row > summary:hover .roof-materials-copy h3,
body.siding-page .roof-materials-row > summary:focus-visible .roof-materials-copy h3{
  color:#111;
}
body.roof-page .roof-materials-row > summary:hover .roof-materials-toggle,
body.roof-page .roof-materials-row > summary:focus-visible .roof-materials-toggle,
body.siding-page .roof-materials-row > summary:hover .roof-materials-toggle,
body.siding-page .roof-materials-row > summary:focus-visible .roof-materials-toggle{
  color:var(--roof-gold-text,#805700);
  transform:translateX(3px);
}
@media (prefers-reduced-motion: reduce){
  body.roof-page .roof-materials-row > summary,
  body.siding-page .roof-materials-row > summary,
  body.roof-page .roof-materials-row > summary img,
  body.siding-page .roof-materials-row > summary img,
  body.roof-page .roof-materials-row > summary .roof-materials-copy h3,
  body.siding-page .roof-materials-row > summary .roof-materials-copy h3,
  body.roof-page .roof-materials-row > summary .roof-materials-toggle,
  body.siding-page .roof-materials-row > summary .roof-materials-toggle{
    transition:none;
  }
  body.roof-page .roof-materials-row > summary:hover,
  body.roof-page .roof-materials-row > summary:focus-visible,
  body.siding-page .roof-materials-row > summary:hover,
  body.siding-page .roof-materials-row > summary:focus-visible{
    transform:none;
  }
  body.roof-page .roof-materials-row > summary:hover img,
  body.roof-page .roof-materials-row > summary:focus-visible img,
  body.siding-page .roof-materials-row > summary:hover img,
  body.siding-page .roof-materials-row > summary:focus-visible img{
    transform:none;
  }
  body.roof-page .roof-materials-row > summary:hover .roof-materials-toggle,
  body.roof-page .roof-materials-row > summary:focus-visible .roof-materials-toggle,
  body.siding-page .roof-materials-row > summary:hover .roof-materials-toggle,
  body.siding-page .roof-materials-row > summary:focus-visible .roof-materials-toggle{
    transform:none;
  }
}
body.roof-page .roof-materials-copy h3,
body.details-page .roof-materials-copy h3,
body.windows-page .roof-materials-copy h3,
body.siding-page .roof-materials-copy h3,
body.about-page .roof-materials-copy h3,
body.storm-page .roof-materials-copy h3,
body.commercial-page .roof-materials-copy h3{
  font-size:clamp(22px,2.1vw,30px);
  letter-spacing:-.03em;
  font-weight:900;
  margin:0 0 8px;
  color:#242424;
}
body.roof-page .roof-materials-copy > p,
body.details-page .roof-materials-copy > p,
body.windows-page .roof-materials-copy > p,
body.siding-page .roof-materials-copy > p,
body.about-page .roof-materials-copy > p,
body.storm-page .roof-materials-copy > p,
body.commercial-page .roof-materials-copy > p{
  margin:0 0 12px;
  color:#515151;
  line-height:1.6;
  font-size:15px;
  max-width:40em;
}
body.roof-page .roof-materials-toggle,
body.details-page .roof-materials-toggle,
body.windows-page .roof-materials-toggle,
body.siding-page .roof-materials-toggle,
body.about-page .roof-materials-toggle,
body.storm-page .roof-materials-toggle,
body.commercial-page .roof-materials-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#242424;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.roof-page .roof-materials-toggle:after,
body.details-page .roof-materials-toggle:after,
body.windows-page .roof-materials-toggle:after,
body.siding-page .roof-materials-toggle:after,
body.about-page .roof-materials-toggle:after,
body.storm-page .roof-materials-toggle:after,
body.commercial-page .roof-materials-toggle:after{
  content:"+";
  color:#f5bd27;
  font-size:16px;
  font-weight:800;
  line-height:1;
}
body.roof-page .roof-materials-row[open] .roof-materials-toggle:after,
body.details-page .roof-materials-row[open] .roof-materials-toggle:after,
body.windows-page .roof-materials-row[open] .roof-materials-toggle:after,
body.siding-page .roof-materials-row[open] .roof-materials-toggle:after,
body.about-page .roof-materials-row[open] .roof-materials-toggle:after,
body.storm-page .roof-materials-row[open] .roof-materials-toggle:after,
body.commercial-page .roof-materials-row[open] .roof-materials-toggle:after{content:"–"}
body.roof-page .roof-materials-row[open] .roof-materials-toggle,
body.details-page .roof-materials-row[open] .roof-materials-toggle,
body.windows-page .roof-materials-row[open] .roof-materials-toggle,
body.siding-page .roof-materials-row[open] .roof-materials-toggle,
body.about-page .roof-materials-row[open] .roof-materials-toggle,
body.storm-page .roof-materials-row[open] .roof-materials-toggle,
body.commercial-page .roof-materials-row[open] .roof-materials-toggle{color:var(--roof-gold-text)}
body.roof-page .roof-materials-more,
body.details-page .roof-materials-more,
body.windows-page .roof-materials-more,
body.siding-page .roof-materials-more,
body.about-page .roof-materials-more,
body.storm-page .roof-materials-more,
body.commercial-page .roof-materials-more{
  margin:0;
  padding:18px 0 28px;
  border-top:2px solid var(--roof-gold);
}
body.roof-page .roof-materials-lede,
body.details-page .roof-materials-lede,
body.windows-page .roof-materials-lede,
body.siding-page .roof-materials-lede,
body.about-page .roof-materials-lede,
body.storm-page .roof-materials-lede,
body.commercial-page .roof-materials-lede{
  margin:0 0 18px;
  color:#515151;
  font-size:15px;
  line-height:1.65;
  font-style:italic;
  max-width:none;
}
body.roof-page .roof-materials-cols,
body.details-page .roof-materials-cols,
body.windows-page .roof-materials-cols,
body.siding-page .roof-materials-cols,
body.about-page .roof-materials-cols,
body.storm-page .roof-materials-cols,
body.commercial-page .roof-materials-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,3vw,36px);
}
body.roof-page .roof-materials-more p,
body.details-page .roof-materials-more p,
body.windows-page .roof-materials-more p,
body.siding-page .roof-materials-more p,
body.about-page .roof-materials-more p,
body.storm-page .roof-materials-more p,
body.commercial-page .roof-materials-more p{
  margin:0 0 12px;
  color:#515151;
  line-height:1.65;
  font-size:15px;
}
body.roof-page .roof-materials-more p:last-child,
body.details-page .roof-materials-more p:last-child,
body.windows-page .roof-materials-more p:last-child,
body.siding-page .roof-materials-more p:last-child,
body.about-page .roof-materials-more p:last-child,
body.storm-page .roof-materials-more p:last-child,
body.commercial-page .roof-materials-more p:last-child{margin-bottom:0}
body.roof-page .roof-materials-more strong,
body.details-page .roof-materials-more strong,
body.windows-page .roof-materials-more strong,
body.siding-page .roof-materials-more strong,
body.about-page .roof-materials-more strong,
body.storm-page .roof-materials-more strong,
body.commercial-page .roof-materials-more strong{
  display:block;
  margin:0 0 10px;
  color:#242424;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.roof-page .roof-materials-more ul,
body.details-page .roof-materials-more ul,
body.windows-page .roof-materials-more ul,
body.siding-page .roof-materials-more ul,
body.about-page .roof-materials-more ul,
body.storm-page .roof-materials-more ul,
body.commercial-page .roof-materials-more ul{
  list-style:none;
  margin:0;
  padding:0;
  color:#515151;
  font-size:15px;
  line-height:1.5;
}
body.roof-page .roof-materials-more li,
body.details-page .roof-materials-more li,
body.windows-page .roof-materials-more li,
body.siding-page .roof-materials-more li,
body.about-page .roof-materials-more li,
body.storm-page .roof-materials-more li,
body.commercial-page .roof-materials-more li{
  position:relative;
  margin:0 0 8px;
  padding-left:16px;
}
body.roof-page .roof-materials-more li:before,
body.details-page .roof-materials-more li:before,
body.windows-page .roof-materials-more li:before,
body.siding-page .roof-materials-more li:before,
body.about-page .roof-materials-more li:before,
body.storm-page .roof-materials-more li:before,
body.commercial-page .roof-materials-more li:before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:6px;
  height:2px;
  background:var(--roof-gold);
}
body.roof-page .roof-materials-more li:last-child,
body.details-page .roof-materials-more li:last-child,
body.windows-page .roof-materials-more li:last-child,
body.siding-page .roof-materials-more li:last-child,
body.about-page .roof-materials-more li:last-child,
body.storm-page .roof-materials-more li:last-child,
body.commercial-page .roof-materials-more li:last-child{margin-bottom:0}
body.roof-page .roof-materials-note,
body.details-page .roof-materials-note,
body.windows-page .roof-materials-note,
body.siding-page .roof-materials-note,
body.about-page .roof-materials-note,
body.storm-page .roof-materials-note,
body.commercial-page .roof-materials-note{
  margin:18px 0 0!important;
  padding-top:14px;
  border-top:1px solid rgba(20,20,20,.12);
  font-size:14px!important;
  color:#515151;
}

/* FAQ — cream panel flush top/bottom, blur on sides only */
body.roof-page .roof-faq-stage,
body.details-page .roof-faq-stage,
body.windows-page .roof-faq-stage,
body.siding-page .roof-faq-stage,
body.about-page .roof-faq-stage,
body.storm-page .roof-faq-stage,
body.commercial-page .roof-faq-stage{
  position:relative;
  overflow:hidden;
  padding:0;
  background:#1a1a18;
}
body.roof-page .roof-faq-inner,
body.details-page .roof-faq-inner,
body.windows-page .roof-faq-inner,
body.siding-page .roof-faq-inner,
body.about-page .roof-faq-inner,
body.storm-page .roof-faq-inner,
body.commercial-page .roof-faq-inner{
  position:relative;
  z-index:1;
}
body.roof-page .roof-faq-panel,
body.details-page .roof-faq-panel,
body.windows-page .roof-faq-panel,
body.siding-page .roof-faq-panel,
body.about-page .roof-faq-panel,
body.storm-page .roof-faq-panel,
body.commercial-page .roof-faq-panel{
  background:#f0eee8;
  color:#242424;
  padding:clamp(52px,6vw,76px) clamp(22px,3.5vw,48px);
  border-left:3px solid var(--roof-gold);
  border-right:3px solid var(--roof-gold);
  border-top:0;
  border-bottom:0;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
body.roof-page .roof-faq-panel .commitment-eyebrow,
body.details-page .roof-faq-panel .commitment-eyebrow,
body.windows-page .roof-faq-panel .commitment-eyebrow,
body.siding-page .roof-faq-panel .commitment-eyebrow,
body.about-page .roof-faq-panel .commitment-eyebrow,
body.storm-page .roof-faq-panel .commitment-eyebrow,
body.commercial-page .roof-faq-panel .commitment-eyebrow{
  color:var(--roof-gold-text);
}
body.roof-page .roof-faq-list summary:after,
body.details-page .roof-faq-list summary:after,
body.windows-page .roof-faq-list summary:after,
body.siding-page .roof-faq-list summary:after,
body.about-page .roof-faq-list summary:after,
body.storm-page .roof-faq-list summary:after,
body.commercial-page .roof-faq-list summary:after{
  color:var(--roof-gold);
}
body.roof-page .roof-faq-list summary:hover,
body.details-page .roof-faq-list summary:hover,
body.windows-page .roof-faq-list summary:hover,
body.siding-page .roof-faq-list summary:hover,
body.roof-page .roof-faq-list summary:focus-visible,
body.details-page .roof-faq-list summary:focus-visible,
body.windows-page .roof-faq-list summary:focus-visible,
body.siding-page .roof-faq-list summary:focus-visible,
body.about-page .roof-faq-list summary:focus-visible,
body.storm-page .roof-faq-list summary:focus-visible,
body.commercial-page .roof-faq-list summary:focus-visible{
  color:var(--roof-gold-text);
}
body.roof-page .roof-faq-list a,
body.details-page .roof-faq-list a,
body.windows-page .roof-faq-list a,
body.siding-page .roof-faq-list a,
body.about-page .roof-faq-list a,
body.storm-page .roof-faq-list a,
body.commercial-page .roof-faq-list a{
  color:var(--roof-gold-text);
}
body.roof-page .home-final-cta .commitment-eyebrow,
body.details-page .home-final-cta .commitment-eyebrow,
body.windows-page .home-final-cta .commitment-eyebrow,
body.siding-page .home-final-cta .commitment-eyebrow,
body.roof-page .home-final-cta .home-final-phone,
body.details-page .home-final-cta .home-final-phone,
body.windows-page .home-final-cta .home-final-phone,
body.siding-page .home-final-cta .home-final-phone,
body.about-page .home-final-cta .home-final-phone,
body.storm-page .home-final-cta .home-final-phone,
body.commercial-page .home-final-cta .home-final-phone{
  color:var(--roof-gold)!important;
}
body.roof-page .roof-materials-toggle:after,
body.details-page .roof-materials-toggle:after,
body.windows-page .roof-materials-toggle:after,
body.siding-page .roof-materials-toggle:after,
body.about-page .roof-materials-toggle:after,
body.storm-page .roof-materials-toggle:after,
body.commercial-page .roof-materials-toggle:after{
  color:var(--roof-gold);
}
body.roof-page .roof-faq-panel .support-heading,
body.details-page .roof-faq-panel .support-heading,
body.windows-page .roof-faq-panel .support-heading,
body.siding-page .roof-faq-panel .support-heading,
body.about-page .roof-faq-panel .support-heading,
body.storm-page .roof-faq-panel .support-heading,
body.commercial-page .roof-faq-panel .support-heading{
  max-width:850px;
  margin:0 auto 38px;
  text-align:center;
}
body.roof-page .roof-faq-panel .support-heading h2,
body.details-page .roof-faq-panel .support-heading h2,
body.windows-page .roof-faq-panel .support-heading h2,
body.siding-page .roof-faq-panel .support-heading h2,
body.about-page .roof-faq-panel .support-heading h2,
body.storm-page .roof-faq-panel .support-heading h2,
body.commercial-page .roof-faq-panel .support-heading h2{
  font-size:clamp(34px,4vw,55px);
  line-height:1.08;
  letter-spacing:-.045em;
  margin:14px 0 16px;
  color:#242424;
}
body.roof-page .roof-faq-panel .support-heading p,
body.details-page .roof-faq-panel .support-heading p,
body.windows-page .roof-faq-panel .support-heading p,
body.siding-page .roof-faq-panel .support-heading p,
body.about-page .roof-faq-panel .support-heading p,
body.storm-page .roof-faq-panel .support-heading p,
body.commercial-page .roof-faq-panel .support-heading p{
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.6;
  color:#515151;
  margin:0 auto;
  max-width:800px;
}
body.roof-page .roof-faq-list,
body.details-page .roof-faq-list,
body.windows-page .roof-faq-list,
body.siding-page .roof-faq-list,
body.about-page .roof-faq-list,
body.storm-page .roof-faq-list,
body.commercial-page .roof-faq-list{
  max-width:860px;
  margin:8px auto 0;
  border-top:1px solid rgba(20,20,20,.14);
}
body.roof-page .roof-faq-list details,
body.details-page .roof-faq-list details,
body.windows-page .roof-faq-list details,
body.siding-page .roof-faq-list details,
body.about-page .roof-faq-list details,
body.storm-page .roof-faq-list details,
body.commercial-page .roof-faq-list details{
  border-bottom:1px solid rgba(20,20,20,.14);
}
body.roof-page .roof-faq-list summary,
body.details-page .roof-faq-list summary,
body.windows-page .roof-faq-list summary,
body.siding-page .roof-faq-list summary,
body.about-page .roof-faq-list summary,
body.storm-page .roof-faq-list summary,
body.commercial-page .roof-faq-list summary{
  list-style:none;
  cursor:pointer;
  padding:18px 0;
  font-weight:700;
  font-size:16px;
  line-height:1.4;
  color:#242424;
}
body.roof-page .roof-faq-list summary::-webkit-details-marker,
body.details-page .roof-faq-list summary::-webkit-details-marker,
body.windows-page .roof-faq-list summary::-webkit-details-marker,
body.siding-page .roof-faq-list summary::-webkit-details-marker,
body.about-page .roof-faq-list summary::-webkit-details-marker,
body.storm-page .roof-faq-list summary::-webkit-details-marker,
body.commercial-page .roof-faq-list summary::-webkit-details-marker{display:none}
body.roof-page .roof-faq-list summary:after,
body.details-page .roof-faq-list summary:after,
body.windows-page .roof-faq-list summary:after,
body.siding-page .roof-faq-list summary:after,
body.about-page .roof-faq-list summary:after,
body.storm-page .roof-faq-list summary:after,
body.commercial-page .roof-faq-list summary:after{
  content:"+";
  float:right;
  color:var(--roof-gold);
  font-weight:800;
}
body.roof-page .roof-faq-list details[open] summary:after,
body.details-page .roof-faq-list details[open] summary:after,
body.windows-page .roof-faq-list details[open] summary:after,
body.siding-page .roof-faq-list details[open] summary:after,
body.about-page .roof-faq-list details[open] summary:after,
body.storm-page .roof-faq-list details[open] summary:after,
body.commercial-page .roof-faq-list details[open] summary:after{content:"–"}
body.roof-page .roof-faq-list summary:hover,
body.details-page .roof-faq-list summary:hover,
body.windows-page .roof-faq-list summary:hover,
body.siding-page .roof-faq-list summary:hover,
body.roof-page .roof-faq-list summary:focus-visible,
body.details-page .roof-faq-list summary:focus-visible,
body.windows-page .roof-faq-list summary:focus-visible,
body.siding-page .roof-faq-list summary:focus-visible,
body.about-page .roof-faq-list summary:focus-visible,
body.storm-page .roof-faq-list summary:focus-visible,
body.commercial-page .roof-faq-list summary:focus-visible{
  color:var(--roof-gold-text);
  outline:none;
}
body.roof-page .roof-faq-list details p,
body.details-page .roof-faq-list details p,
body.windows-page .roof-faq-list details p,
body.siding-page .roof-faq-list details p,
body.about-page .roof-faq-list details p,
body.storm-page .roof-faq-list details p,
body.commercial-page .roof-faq-list details p{
  margin:0 0 18px;
  color:#515151;
  line-height:1.65;
}
body.roof-page .roof-faq-list details p{
  padding-left:18px;
}
body.roof-page .roof-faq-list a,
body.details-page .roof-faq-list a,
body.windows-page .roof-faq-list a,
body.siding-page .roof-faq-list a,
body.about-page .roof-faq-list a,
body.storm-page .roof-faq-list a,
body.commercial-page .roof-faq-list a{
  color:var(--roof-gold-text);
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:900px){
  body.roof-page .roof-stage,
body.details-page .roof-stage,
body.windows-page .roof-stage,
body.siding-page .roof-stage,
body.about-page .roof-stage,
body.storm-page .roof-stage,
body.commercial-page .roof-stage{padding:28px 0 0}
  body.roof-page .roof-process-panel,
body.details-page .roof-process-panel,
body.windows-page .roof-process-panel,
body.siding-page .roof-process-panel,
body.about-page .roof-process-panel,
body.storm-page .roof-process-panel,
body.commercial-page .roof-process-panel{padding:24px 18px 28px}
  body.roof-page .roof-choice-grid,
body.details-page .roof-choice-grid,
body.windows-page .roof-choice-grid,
body.siding-page .roof-choice-grid,
body.about-page .roof-choice-grid,
body.storm-page .roof-choice-grid,
body.commercial-page .roof-choice-grid{grid-template-columns:1fr;gap:28px}
  body.roof-page .roof-choice img,
body.details-page .roof-choice img,
body.windows-page .roof-choice img,
body.siding-page .roof-choice img,
body.about-page .roof-choice img,
body.storm-page .roof-choice img,
body.commercial-page .roof-choice img{max-height:160px}
  body.roof-page .roof-timeline,
body.details-page .roof-timeline,
body.windows-page .roof-timeline,
body.siding-page .roof-timeline,
body.about-page .roof-timeline,
body.storm-page .roof-timeline,
body.commercial-page .roof-timeline{grid-template-columns:1fr 1fr;gap:22px 20px}
  body.roof-page .roof-timeline:before,
body.details-page .roof-timeline:before,
body.windows-page .roof-timeline:before,
body.siding-page .roof-timeline:before,
body.about-page .roof-timeline:before,
body.storm-page .roof-timeline:before,
body.commercial-page .roof-timeline:before{display:none}
  body.roof-page .roof-timeline li,
body.details-page .roof-timeline li,
body.windows-page .roof-timeline li,
body.siding-page .roof-timeline li,
body.about-page .roof-timeline li,
body.storm-page .roof-timeline li,
body.commercial-page .roof-timeline li{
    border-top:3px solid #f5bd27;
    padding-top:18px;
  }
  body.roof-page .roof-timeline-num,
body.details-page .roof-timeline-num,
body.windows-page .roof-timeline-num,
body.siding-page .roof-timeline-num,
body.about-page .roof-timeline-num,
body.storm-page .roof-timeline-num,
body.commercial-page .roof-timeline-num{position:static;transform:none;margin-bottom:8px}
  body.roof-page .roof-materials-row > summary,
body.details-page .roof-materials-row > summary,
body.windows-page .roof-materials-row > summary,
body.siding-page .roof-materials-row > summary,
body.about-page .roof-materials-row > summary,
body.storm-page .roof-materials-row > summary,
body.commercial-page .roof-materials-row > summary{
    grid-template-columns:144px minmax(0,1fr);
    gap:14px;
    padding:18px 0;
  }
  body.roof-page .roof-materials-row img,
body.details-page .roof-materials-row img,
body.windows-page .roof-materials-row img,
body.siding-page .roof-materials-row img,
body.about-page .roof-materials-row img,
body.storm-page .roof-materials-row img,
body.commercial-page .roof-materials-row img{
    width:144px;
    height:144px;
  }
  body.roof-page .roof-materials-more,
body.details-page .roof-materials-more,
body.windows-page .roof-materials-more,
body.siding-page .roof-materials-more,
body.about-page .roof-materials-more,
body.storm-page .roof-materials-more,
body.commercial-page .roof-materials-more{
    padding-bottom:20px;
  }
  body.roof-page .roof-materials-cols,
body.details-page .roof-materials-cols,
body.windows-page .roof-materials-cols,
body.siding-page .roof-materials-cols,
body.about-page .roof-materials-cols,
body.storm-page .roof-materials-cols,
body.commercial-page .roof-materials-cols{
    grid-template-columns:1fr;
    gap:18px;
  }
}
@media(max-width:700px){
  body.roof-page .roof-timeline,
body.details-page .roof-timeline,
body.windows-page .roof-timeline,
body.siding-page .roof-timeline,
body.about-page .roof-timeline,
body.storm-page .roof-timeline,
body.commercial-page .roof-timeline{grid-template-columns:1fr}
}

/* Siding intro is a statement, not a numbered process like roofing. */
body.siding-page .siding-process-split .support-heading{
  margin:0!important;
  text-align:left!important;
  align-items:flex-start!important;
}
body.siding-page .siding-process-split .support-heading h1,
body.siding-page .siding-process-split .support-heading p{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
  max-width:none;
}
body.siding-page .siding-process-split .support-heading h1{
  max-width:none;
  white-space:normal;
  margin:0;
  color:#151515;
  font-size:clamp(44px,5.6vw,76px);
  line-height:.96;
  letter-spacing:-.04em;
}
body.siding-page .siding-process-split .support-heading p{
  max-width:34em;
}
body.roof-page .roof-process-panel .support-heading .page-service,
body.siding-page .siding-process-split .support-heading .page-service{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  max-width:none;
  font-size:18px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--roof-gold-text);
  line-height:1.2;
}
body.siding-page .siding-process-split .support-heading .page-service{
  color:var(--roof-gold-text);
}
body.roof-page .roof-process-panel .support-heading .page-service::before,
body.roof-page .roof-process-panel .support-heading .page-service::after,
body.siding-page .siding-process-split .support-heading .page-service::before,
body.siding-page .siding-process-split .support-heading .page-service::after{
  content:"";
  width:28px;
  height:3px;
  background:var(--roof-gold);
  flex:none;
}
body.siding-page .siding-process-split .support-heading .page-service::before,
body.siding-page .siding-process-split .support-heading .page-service::after{
  background:var(--roof-gold-text);
}
body.roof-page .roof-process-panel .support-heading .page-service{
  text-align:center;
}

/* Intro grows so the materials blur starts below the first screen. */
body.siding-page .siding-hero-stack{
  display:flex;
  flex-direction:column;
  min-height:calc(100dvh - 70px);
}
body.siding-page .siding-hero-stack > .siding-services{
  flex:0 0 auto;
}
/* Siding intro: finished house on the right, white wash from the left, title floating on it. */
body.siding-page .siding-intro{
  flex:1 0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px,4vw,48px) max(20px,calc((100% - var(--max)) / 2)) clamp(28px,4vw,48px);
  background:#d5e2ee;
  overflow:visible;
}
body.siding-page .siding-intro::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,#fff 0%,#fff 20%,rgba(255,255,255,.94) 38%,rgba(255,255,255,.55) 52%,rgba(255,255,255,0) 64%,rgba(255,255,255,0) 100%);
}
body.siding-page .siding-intro-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
body.siding-page .siding-intro-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:68% center;
}
body.siding-page .siding-intro-split{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:flex-start;
}
body.siding-page .siding-intro .roof-process-panel{
  width:100%;
  max-width:none;
  background:transparent;
  color:#151515;
  border:0;
  box-shadow:none;
  display:block;
  padding:0;
}
body.siding-page .siding-intro .support-heading{
  flex:1 1 auto;
  min-width:0;
}
body.siding-page .siding-intro-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  flex:0 0 auto;
}
body.siding-page .siding-services{
  background:#171717;
  color:#fff;
  border-top:3px solid var(--roof-gold);
  padding:clamp(28px,4vw,48px) 0;
}
body.siding-page .siding-services-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(16px,2vw,22px);
  align-items:stretch;
}
body.siding-page .siding-service{
  display:grid;
  grid-template-columns:minmax(132px,46%) minmax(0,1fr);
  align-items:stretch;
  overflow:hidden;
  border:0;
  border-radius:16px;
  background:#222;
  text-align:left;
  text-decoration:none;
  color:#fff;
  min-width:0;
  transition:transform .22s ease,box-shadow .22s ease;
}
body.siding-page .siding-service-photo-clip{
  position:relative;
  min-height:100%;
  overflow:hidden;
}
body.siding-page .siding-service-photo{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  border:0;
  border-radius:0;
  transition:transform .35s ease;
}
body.siding-page .siding-service-photo-replacement{
  object-position:center center;
}
body.siding-page .siding-service-photo-repair{
  object-position:center 40%;
}
body.siding-page .siding-service-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:clamp(18px,2vw,26px) clamp(16px,2vw,24px);
}
body.siding-page .siding-service h2{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(20px,1.55vw,26px);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.15;
}
body.siding-page .siding-service p{
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:15px;
  line-height:1.5;
}
body.siding-page .siding-service:hover,
body.siding-page .siding-service:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(0,0,0,.28);
  outline:none;
}
body.siding-page .siding-service:hover .siding-service-photo,
body.siding-page .siding-service:focus-visible .siding-service-photo{
  transform:scale(1.04);
}
body.siding-page .siding-service:active{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.2);
}
@media (prefers-reduced-motion:reduce){
  body.siding-page .siding-service,
  body.siding-page .siding-service-photo,
  body.siding-page .siding-service-cta,
  body.siding-page .siding-service-cta span{ transition:none; }
  body.siding-page .siding-service:hover,
  body.siding-page .siding-service:focus-visible,
  body.siding-page .siding-service:active,
  body.siding-page .siding-service:hover .siding-service-photo,
  body.siding-page .siding-service:focus-visible .siding-service-photo{ transform:none; }
  body.siding-page .siding-service:hover .siding-service-cta span,
  body.siding-page .siding-service:focus-visible .siding-service-cta span{ transform:none; }
}
body.siding-page .siding-service-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:18px;
  color:var(--roof-gold);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-bottom:2px solid var(--roof-gold);
  padding-bottom:4px;
  transition:color .22s ease,border-color .22s ease,gap .22s ease;
}
body.siding-page .siding-service-cta span{
  display:inline-block;
  transition:transform .22s ease;
}
body.siding-page .siding-service:hover .siding-service-cta,
body.siding-page .siding-service:focus-visible .siding-service-cta{
  color:#fff;
  border-bottom-color:#fff;
  gap:10px;
}
body.siding-page .siding-service:hover .siding-service-cta span,
body.siding-page .siding-service:focus-visible .siding-service-cta span{
  transform:translateX(5px);
}
body.siding-page .siding-service:focus-visible{
  outline:2px solid var(--roof-gold);
  outline-offset:4px;
}
body.siding-page .siding-compare{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#17191b;
  color:#191919;
  padding:0;
}
body.siding-page .siding-compare-bg{
  position:absolute;
  inset:0;
  z-index:0;
}
body.siding-page .siding-compare-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.12);
  filter:blur(14px) saturate(1.05);
}
body.siding-page .siding-compare-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(12,12,11,.42) 0%,rgba(12,12,11,.18) 18%,rgba(12,12,11,.18) 82%,rgba(12,12,11,.42) 100%);
}
body.siding-page .siding-compare-inner{
  position:relative;
  z-index:1;
}
body.siding-page .siding-compare-panel{
  background:#efede8;
  border-left:3px solid var(--roof-gold);
  border-right:3px solid var(--roof-gold);
  padding:clamp(28px,4vw,48px) clamp(22px,3vw,40px);
}
body.siding-page .siding-comparison-labels{
  color:#191919;
}
body.siding-page .siding-comparison{
  border:3px solid var(--roof-gold);
  border-radius:14px;
  aspect-ratio:16/9;
  width:100%;
  height:auto;
}
body.siding-page .siding-comparison .mb-comparison-before img{
  width:108%;
  height:auto;
  aspect-ratio:1206/1238;
  max-width:none;
  object-fit:fill;
  transform:translate(-1%, -22%);
}
body.siding-page .siding-intro-actions .btn{
  min-width:280px;
}
body.siding-page .siding-title-break{display:none}
@media(max-width:600px){
  body.siding-page .siding-title-break{display:unset}
}

body.siding-page .roof-inspections.expertise-combined{
  padding:clamp(52px,6vw,76px) 0!important;
}
body.siding-page main > #siding-inspections{
  border-bottom:3px solid var(--roof-gold)!important;
}
body.siding-page .roof-inspect-btn{
  align-items:center;
  gap:8px;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,gap .22s ease;
}
body.siding-page .roof-inspect-btn span{
  display:inline-block;
  transition:transform .22s ease;
}
body.siding-page .roof-inspect-btn:hover,
body.siding-page .roof-inspect-btn:focus-visible{
  transform:translateY(-3px);
  background:#ffd045;
  box-shadow:0 14px 32px rgba(0,0,0,.28);
  outline:none;
  gap:12px;
}
body.siding-page .roof-inspect-btn:hover span,
body.siding-page .roof-inspect-btn:focus-visible span{
  transform:translateX(4px);
}
body.siding-page .roof-inspect-btn:active{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.2);
}
@media (prefers-reduced-motion: reduce){
  body.siding-page .roof-inspect-btn,
  body.siding-page .roof-inspect-btn span{
    transition:none;
  }
  body.siding-page .roof-inspect-btn:hover,
  body.siding-page .roof-inspect-btn:focus-visible,
  body.siding-page .roof-inspect-btn:active,
  body.siding-page .roof-inspect-btn:hover span,
  body.siding-page .roof-inspect-btn:focus-visible span{
    transform:none;
  }
}
@media (max-width:750px){
  body.siding-page .roof-inspect-btn{
    width:100%;
    justify-content:center;
  }
}

/* Alternating next-step bands */
body.siding-page .siding-paths{
  background:#171717;
  color:#fff;
  padding:clamp(48px,6vw,80px) 0;
}
body.siding-page .siding-path-band{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(22px,4vw,48px);
  align-items:center;
  text-decoration:none;
  color:inherit;
  margin:0 0 28px;
  padding:0 0 28px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
body.siding-page .siding-path-band:last-child{
  margin-bottom:0;
  padding-bottom:0;
  border-bottom:0;
}
body.siding-page .siding-path-band.is-reversed .siding-path-media{order:2}
body.siding-page .siding-path-band.is-reversed .siding-path-copy{order:1}
body.siding-page .siding-path-media{
  overflow:hidden;
  border:3px solid var(--roof-gold);
  background:#111;
}
body.siding-page .siding-path-media img{
  display:block;
  width:100%;
  height:clamp(180px,28vw,280px);
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
body.siding-page .siding-path-copy .support-kicker{
  display:block;
  color:var(--roof-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  margin:0 0 10px;
}
body.siding-page .siding-path-copy h3{
  margin:0 0 10px;
  font-size:clamp(22px,2.4vw,30px);
  letter-spacing:-.03em;
  color:#fff;
}
body.siding-page .siding-path-copy p{
  margin:0 0 14px;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.6;
  max-width:34em;
}
body.siding-page .siding-path-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--roof-gold);
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  transition:color .22s ease,gap .22s ease;
}
body.siding-page .siding-path-cta span{
  display:inline-block;
  transition:transform .22s ease;
}
body.siding-page .siding-path-band:hover .siding-path-media img,
body.siding-page .siding-path-band:focus-visible .siding-path-media img{
  transform:scale(1.04);
  filter:brightness(1.04);
}
body.siding-page .siding-path-band:hover .siding-path-cta,
body.siding-page .siding-path-band:focus-visible .siding-path-cta{
  color:#fff;
  gap:10px;
}
body.siding-page .siding-path-band:hover .siding-path-cta span,
body.siding-page .siding-path-band:focus-visible .siding-path-cta span{
  transform:translateX(4px);
}
@media (prefers-reduced-motion: reduce){
  body.siding-page .siding-path-media img,
  body.siding-page .siding-path-cta,
  body.siding-page .siding-path-cta span{ transition:none; }
  body.siding-page .siding-path-band:hover .siding-path-media img,
  body.siding-page .siding-path-band:focus-visible .siding-path-media img,
  body.siding-page .siding-path-band:hover .siding-path-cta span,
  body.siding-page .siding-path-band:focus-visible .siding-path-cta span{ transform:none; }
}

/* FAQ beige panel, photo only on left/right margins */
body.siding-page .siding-faq-stage{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#17191b;
  padding:0;
}
body.siding-page .siding-faq-stage-bg{
  position:absolute;
  inset:0;
  z-index:0;
}
body.siding-page .siding-faq-stage-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.12);
  filter:blur(14px) saturate(1.05);
}
body.siding-page .siding-faq-stage-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(12,12,11,.42) 0%,rgba(12,12,11,.18) 18%,rgba(12,12,11,.18) 82%,rgba(12,12,11,.42) 100%);
}
body.siding-page .siding-faq-stage-inner{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
}
/* Comparison and FAQ margins: mid-gray horizontal lap. Materials uses the blurred house photo. */
body.siding-page .siding-compare,
body.siding-page .siding-faq-stage{
  background:#848280;
}
body.siding-page .siding-compare-bg,
body.siding-page .siding-faq-stage-bg{
  overflow:hidden;
  clip-path:inset(0);
  -webkit-clip-path:inset(0);
  background-image:url("assets/siding-lap-tile.jpg?v=1");
  background-repeat:repeat;
  background-size:auto calc(100dvh * 210 / 720 / 3);
  background-attachment:fixed;
  background-position:left top;
  filter:blur(3px) grayscale(1) brightness(.66);
}
body.siding-page .siding-compare-bg img,
body.siding-page .siding-faq-stage-bg img{
  display:none;
}
body.siding-page .siding-compare-bg::before,
body.siding-page .siding-faq-stage-bg::before,
body.siding-page .siding-compare-bg::after,
body.siding-page .siding-faq-stage-bg::after{
  content:none;
}
body.siding-page .siding-faq-panel{
  width:100%;
  background:#f0eee8;
  border-left:3px solid var(--roof-gold);
  border-right:3px solid var(--roof-gold);
  border-top:0;
  border-bottom:0;
  padding:clamp(40px,5vw,72px) clamp(26px,3.8vw,44px);
  box-shadow:none;
  color:#242424;
}
body.siding-page .siding-faq-panel .support-heading{
  text-align:center;
  max-width:none;
  margin:0 auto 22px;
}
body.siding-page .siding-faq-panel .support-heading h2,
body.siding-page .siding-faq-panel .support-heading p{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
body.siding-page .siding-faq-panel .commitment-eyebrow{
  color:var(--roof-gold-text);
  justify-content:flex-start;
}
body.siding-page .siding-faq-panel h2{
  color:#242424;
  margin:12px 0;
  font-size:clamp(28px,3.2vw,42px);
}
body.siding-page .siding-faq-panel .support-heading p{
  color:#515151;
  margin:0 auto;
  max-width:40em;
  text-align:center;
}
body.siding-page .siding-faq-list{
  margin:0;
  border-top:1px solid #ddd7cb;
}
body.siding-page .siding-faq-list details{
  border-bottom:1px solid #ddd7cb;
}
body.siding-page .siding-faq-list summary{
  list-style:none;
  cursor:pointer;
  padding:18px 0 18px 1.15em;
  font-weight:700;
  font-size:16px;
  line-height:1.4;
  color:#242424;
}
body.siding-page .siding-faq-list summary::-webkit-details-marker{display:none}
body.siding-page .siding-faq-list summary:after{
  content:"+";
  float:right;
  color:var(--roof-gold-text);
  font-weight:800;
}
body.siding-page .siding-faq-list details[open] summary:after{content:"–"}
body.siding-page .siding-faq-list summary:hover,
body.siding-page .siding-faq-list summary:focus-visible{
  color:var(--roof-gold-text);
  outline:none;
}
body.siding-page .siding-faq-list details p{
  margin:0 0 18px;
  padding-left:2.6em;
  padding-right:1.5em;
  color:#515151;
  line-height:1.65;
}
body.siding-page .siding-faq-list a{
  color:var(--roof-gold-text);
  text-decoration:underline;
  text-underline-offset:3px;
}

body.details-page .details-next-support{
  position:relative;
  overflow:hidden;
  background:#1a1a18;
  padding:clamp(36px,5vw,56px) 0;
  border-top:0!important;
}
body.details-page main > #details-next{
  border-top:0!important;
}
body.details-page #details-next .details-next-panel{
  position:relative;
  z-index:1;
  background:#f0eee8;
  border:3px solid var(--roof-gold);
  padding:clamp(36px,4.5vw,52px) clamp(22px,3.5vw,40px);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
body.details-page .details-next-support .support-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media(max-width:900px){
  body.details-page .details-next-support .support-grid{
    grid-template-columns:1fr;
  }
  body.siding-page .siding-path-band,
  body.siding-page .siding-path-band.is-reversed{
    grid-template-columns:1fr;
  }
  body.siding-page .siding-services-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  body.siding-page .siding-service{
    grid-template-columns:minmax(120px,42%) minmax(0,1fr);
  }
  body.siding-page .siding-service h2{
    font-size:20px;
  }
  body.siding-page .siding-service p{
    font-size:14px;
  }
  body.siding-page .siding-path-band.is-reversed .siding-path-media,
  body.siding-page .siding-path-band.is-reversed .siding-path-copy{
    order:initial;
  }
  body.siding-page .siding-intro{
    padding:28px 20px;
  }
  body.siding-page .siding-intro::after{
    background:linear-gradient(90deg,#fff 0%,#fff 62%,rgba(255,255,255,.92) 74%,rgba(255,255,255,0) 92%);
  }
  body.siding-page .siding-intro-bg img{
    object-position:78% center;
  }
  body.siding-page .siding-intro .roof-process-panel{
    width:100%;
    max-width:none;
    border:0;
    background:transparent;
    align-items:flex-start;
  }
  body.siding-page .siding-process-split .support-heading{
    text-align:left!important;
    align-items:flex-start!important;
  }
  body.siding-page .siding-process-split .support-heading h1,
  body.siding-page .siding-process-split .support-heading p{
    text-align:left!important;
  }
  body.siding-page .siding-intro-actions{
    width:100%;
  }
  body.siding-page .siding-intro-actions .btn{
    min-width:0;
    width:100%;
  }
  body.siding-page .siding-intro .support-heading h1{
    font-size:clamp(36px,11vw,52px);
  }
  body.siding-page .siding-comparison{
    aspect-ratio:16/9;
  }
}
@media(max-width:700px){
  body.siding-page .siding-faq-panel{
    padding:32px 18px 36px;
  }
}

/* Exterior details / windows: intro is a single text block (no timeline). */
body.details-page .details-intro-panel,
body.windows-page .details-intro-panel,
body.about-page .details-intro-panel,
body.storm-page .details-intro-panel,
body.commercial-page .details-intro-panel{
  border-bottom:3px solid var(--roof-gold);
}
body.details-page .details-intro-panel .support-heading,
body.windows-page .details-intro-panel .support-heading,
body.about-page .details-intro-panel .support-heading,
body.storm-page .details-intro-panel .support-heading,
body.commercial-page .details-intro-panel .support-heading{
  max-width:720px;
}
body.details-page .details-intro-panel .support-heading p,
body.windows-page .details-intro-panel .support-heading p,
body.about-page .details-intro-panel .support-heading p,
body.storm-page .details-intro-panel .support-heading p,
body.commercial-page .details-intro-panel .support-heading p{
  max-width:40em;
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.7;
}
/* Exterior details intro: eave photo on the left half, copy on the right. */
body.details-page #details-intro .roof-process-panel{
  padding:0;
  overflow:hidden;
}
body.details-page #details-intro .details-intro-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
}
body.details-page #details-intro .details-intro-photo{
  margin:0;
  min-height:100%;
}
body.details-page #details-intro .details-intro-photo img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center center;
}
body.details-page #details-intro .support-heading{
  margin:0;
  max-width:none;
  text-align:left;
  align-items:flex-start;
  justify-content:center;
  padding:clamp(28px,3.5vw,48px) clamp(24px,3vw,44px);
}
body.details-page #details-intro .support-heading .commitment-eyebrow{
  justify-content:flex-start;
}
body.details-page #details-intro .support-heading h1,
body.details-page #details-intro .support-heading p{
  text-align:left;
  max-width:none;
}
@media(max-width:900px){
  body.details-page #details-intro .details-intro-split{
    grid-template-columns:1fr;
  }
  body.details-page #details-intro .details-intro-photo img{
    height:auto;
    aspect-ratio:16/9;
  }
}
/* Cream panel flushes into the charcoal inspection band — no blur strip between. */
body.windows-page .roof-materials-stage{
  padding-bottom:0;
}
body.windows-page .roof-materials-panel{
  border-bottom:0;
  box-shadow:none;
}

/* About intro: founder photo + company story. The story panel continues this card. */
body.about-page .about-intro-panel{
  padding:clamp(28px,3.5vw,44px) clamp(28px,3.5vw,44px) 12px;
  border-bottom:0;
  box-shadow:none;
}
body.about-page main > #about-area{
  border-top:0!important;
}
body.about-page .roof-materials-stage{
  padding-top:0;
}
body.about-page .roof-materials-panel{
  background:#fff;
  border-top:0;
  padding:28px clamp(28px,3.5vw,44px) clamp(36px,5vw,56px);
}
body.about-page .about-intro-layout{
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(0,1.2fr);
  gap:clamp(24px,3.5vw,48px);
  align-items:center;
}
body.about-page .about-intro-photo{
  margin:0;
}
body.about-page .about-intro-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center top;
  border:3px solid #242424;
  background:#2a2a2a;
}
body.about-page .about-intro-panel .support-heading{
  margin:0;
  max-width:none;
  text-align:left;
  align-items:flex-start;
}
body.about-page .about-intro-panel .support-heading .commitment-eyebrow{
  justify-content:flex-start;
}
body.about-page .about-intro-panel .support-heading h1{
  text-align:left;
  font-size:clamp(26px,3vw,38px);
}
body.about-page .about-intro-panel .support-heading p{
  margin:0 0 14px;
  text-align:left;
  max-width:none;
  font-size:clamp(15px,1.25vw,17px);
  line-height:1.65;
}
body.about-page .about-intro-panel .support-heading p:last-child{
  margin-bottom:0;
}
@media(max-width:800px){
  body.about-page .about-intro-layout{
    grid-template-columns:1fr;
    gap:22px;
  }
  body.about-page .about-intro-photo img{
    max-height:420px;
    width:100%;
  }
}
body.about-page .about-story{
  max-width:none;
  margin:0;
  text-align:left;
}
body.about-page .about-story::after{
  content:"";
  display:block;
  clear:both;
}
body.about-page .about-story-photo{
  float:left;
  width:min(42%,420px);
  margin:4px 28px 12px 0;
  overflow:hidden;
  border:3px solid #242424;
  background:#2a2a2a;
}
body.about-page .about-story-photo.is-right{
  float:right;
  margin:4px 0 12px 28px;
}
body.about-page .about-story-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center;
}
body.about-page .about-story-photo.is-roof img{
  transform:scale(1.18);
  transform-origin:center 36%;
}
body.about-page .about-story h2{
  clear:both;
  margin:40px 0 14px;
  color:#242424;
  font-size:clamp(26px,3vw,36px);
  line-height:1.15;
  letter-spacing:-.03em;
  text-align:left;
}
body.about-page .about-story h2:first-child{
  margin-top:0;
}
body.about-page .about-story p{
  margin:0 0 14px;
  color:#515151;
  font-size:clamp(16px,1.35vw,18px);
  line-height:1.65;
}
body.about-page .about-story p:last-child{
  margin-bottom:0;
}
body.about-page .about-story + .about-locale-grid{
  margin-top:28px;
}
body.about-page .about-locale-grid + .about-service-links{
  margin-top:28px;
}
body.about-page .about-service-links + .about-story{
  margin-top:42px;
}

/* About page: offices first, then an even service-button row below */
body.about-page .about-locale-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,48px);
  margin:48px 0 0;
  max-width:none;
}
body.about-page .about-office{
  text-align:center;
}
body.about-page .about-office h3{
  margin:0 0 8px;
  color:#242424;
  font-size:clamp(22px,2.1vw,28px);
  letter-spacing:-.03em;
  font-weight:900;
}
body.about-page .about-office p{
  margin:0 0 12px;
  color:#515151;
  font-size:15px;
  line-height:1.6;
}
body.about-page .about-office .roof-inline-link{
  color:var(--roof-gold-text);
  border-bottom-color:rgba(128,87,0,.35);
}
body.about-page .about-office .roof-inline-link:hover{
  color:#5c3e00;
  border-bottom-color:var(--roof-gold-text);
}
body.about-page .about-service-links{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%;
  max-width:none;
  margin:36px 0 0;
  padding-top:28px;
  border-top:1px solid #ddd8ce;
}
body.about-page .about-service-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:64px;
  padding:14px 12px;
  border:3px solid #242424;
  background:#fff;
  color:#242424;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  text-align:center;
}
body.about-page .about-service-links a:hover{
  border-color:var(--roof-gold);
  color:var(--roof-gold-text);
}
@media(max-width:900px){
  body.about-page .about-locale-grid{
    grid-template-columns:1fr;
  }
  body.about-page .about-service-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:36px;
  }
}
@media(max-width:700px){
  body.about-page .about-story-photo,
  body.about-page .about-story-photo.is-right{
    float:none;
    width:100%;
    margin:0 0 16px;
  }
}
@media(max-width:520px){
  body.about-page .about-service-links{
    grid-template-columns:1fr;
  }
}

/* Storm damage page */
body.storm-page .storm-hero{
  position:relative;
  min-height:clamp(560px,72vh,760px);
  display:flex;
  align-items:center;
  color:#fff;
  background:#111 url('assets/storm-hero.jpg?v=1') center/cover no-repeat;
  overflow:hidden;
}
body.storm-page .storm-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(270deg,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.90) 28%,
    rgba(0,0,0,.72) 48%,
    rgba(0,0,0,.34) 72%,
    rgba(0,0,0,.12) 100%);
  pointer-events:none;
}
body.storm-page .storm-hero > .wrap{
  position:relative;
  z-index:1;
}
body.storm-page .storm-hero-inner{
  max-width:720px;
  margin-left:auto;
  margin-right:0;
  padding:clamp(56px,8vw,96px) 0;
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}
body.storm-page .storm-hero .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  flex-direction:row-reverse;
  gap:10px;
}
body.storm-page .storm-hero .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:var(--roof-gold);
  flex:none;
}
body.storm-page .storm-hero h1{
  margin:14px 0 16px;
  color:#fff;
  font-size:clamp(36px,5vw,64px);
  line-height:1.05;
  letter-spacing:-.04em;
  text-align:right;
  text-shadow:0 2px 18px rgba(0,0,0,.55);
}
body.storm-page .storm-hero p{
  margin:0;
  max-width:540px;
  color:rgba(255,255,255,.92);
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.55;
  text-align:right;
  text-shadow:0 1px 12px rgba(0,0,0,.5);
}
body.storm-page .storm-hero-actions{
  margin-top:28px;
}
body.storm-page .storm-hero-actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:850px){
  body.storm-page .storm-hero{
    min-height:560px;
    background-position:42% center;
  }
  body.storm-page .storm-hero:before{
    background:rgba(0,0,0,.78);
  }
  body.storm-page .storm-hero-inner{
    margin-left:0;
    margin-right:0;
    max-width:none;
    align-items:flex-end;
  }
}
body.storm-page .storm-signs{
  background:#171717;
  color:#fff;
  padding:clamp(52px,7vw,88px) 0;
}
body.storm-page .storm-impact{
  background:#121212;
  color:#fff;
  padding:clamp(52px,7vw,88px) 0;
}
body.storm-page .storm-impact-intro{
  max-width:38em;
  margin:0 auto clamp(28px,4vw,40px);
  text-align:center;
}
body.storm-page .storm-impact-intro .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
body.storm-page .storm-impact-intro .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:var(--roof-gold);
  flex:none;
}
body.storm-page .storm-impact-intro h2{
  margin:12px 0 12px;
  color:#fff;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.12;
  letter-spacing:-.03em;
}
body.storm-page .storm-impact-intro p{
  margin:0 auto;
  max-width:34em;
  color:rgba(255,255,255,.68);
  font-size:clamp(15px,1.3vw,17px);
  line-height:1.65;
}
body.storm-page .storm-impact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,36px);
  max-width:1100px;
  margin:0 auto;
}
body.storm-page .storm-impact-point{
  margin:0;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.14);
  text-align:left;
}
body.storm-page .storm-impact-num{
  display:block;
  margin:0 0 12px;
  color:var(--roof-gold);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
}
body.storm-page .storm-impact-point h3{
  margin:0 0 8px;
  color:#fff;
  font-size:clamp(18px,1.8vw,24px);
  letter-spacing:-.02em;
  line-height:1.15;
}
body.storm-page .storm-impact-point p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:14px;
  line-height:1.55;
  max-width:28em;
}
body.storm-page .storm-signs-head{
  max-width:640px;
  margin:0 auto 36px;
  text-align:center;
}
body.storm-page .storm-signs-head .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
body.storm-page .storm-signs-head .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:var(--roof-gold);
  flex:none;
}
body.storm-page .storm-signs-head h2{
  margin:12px 0 12px;
  color:#fff;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.12;
  letter-spacing:-.03em;
}
body.storm-page .storm-signs-head p{
  margin:0 auto;
  max-width:34em;
  color:rgba(255,255,255,.68);
  font-size:clamp(15px,1.3vw,17px);
  line-height:1.65;
}
body.storm-page .storm-signs-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  max-width:1100px;
  margin:0 auto;
  border-top:3px solid var(--roof-gold);
  border-bottom:3px solid var(--roof-gold);
}
body.storm-page .storm-sign{
  padding:clamp(22px,2.5vw,32px) clamp(16px,1.8vw,24px);
  border-right:1px solid rgba(255,255,255,.14);
  text-align:left;
}
body.storm-page .storm-sign:last-child{
  border-right:0;
}
body.storm-page .storm-sign-num{
  display:block;
  margin:0 0 14px;
  color:var(--roof-gold);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
}
body.storm-page .storm-sign h3{
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(18px,1.7vw,22px);
  letter-spacing:-.03em;
  font-weight:900;
}
body.storm-page .storm-sign p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.6;
}
body.storm-page .storm-insurance-panel{
  padding-bottom:clamp(36px,4vw,52px);
}
body.storm-page .roof-materials-intro .commitment-eyebrow,
body.commercial-page .roof-materials-intro .commitment-eyebrow{
  color:var(--roof-gold-text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
body.storm-page .roof-materials-intro .commitment-eyebrow::before,
body.commercial-page .roof-materials-intro .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:var(--roof-gold);
  flex:none;
}
body.storm-page .storm-insurance-split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,56px);
  margin:40px auto 0;
  max-width:920px;
  text-align:left;
}
body.storm-page .storm-insurance-point{
  padding-top:18px;
  border-top:3px solid var(--roof-gold);
}
body.storm-page .storm-insurance-kicker{
  display:block;
  margin:0 0 10px;
  color:var(--roof-gold-text);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
body.storm-page .storm-insurance-point h3{
  margin:0 0 10px;
  color:#242424;
  font-size:clamp(24px,2.4vw,32px);
  letter-spacing:-.03em;
  font-weight:900;
  line-height:1.15;
}
body.storm-page .storm-insurance-point p{
  margin:0;
  color:#515151;
  font-size:15px;
  line-height:1.65;
}
body.storm-page .storm-insurance-process{
  margin:36px auto 0;
  max-width:920px;
  text-align:center;
}
body.storm-page .storm-help-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.4vw,28px);
  text-align:left;
}
body.storm-page .storm-help-steps li{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  min-height:100%;
  padding:clamp(28px,3vw,36px) clamp(24px,2.6vw,32px) clamp(30px,3.2vw,38px);
  border:0;
  border-top:3px solid var(--roof-gold);
  background:#fff;
  box-shadow:
    0 1px 0 rgba(36,36,36,.04),
    0 18px 44px rgba(20,20,20,.10);
  box-sizing:border-box;
}
body.storm-page .storm-help-num{
  display:block;
  margin:0 0 18px;
  color:var(--roof-gold-text);
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
}
body.storm-page .storm-help-steps h3{
  margin:0 0 12px;
  color:#242424;
  font-size:clamp(24px,2.3vw,32px);
  letter-spacing:-.035em;
  font-weight:900;
  line-height:1.12;
}
body.storm-page .storm-help-steps p{
  margin:0;
  color:#5a5a5a;
  font-size:15px;
  line-height:1.7;
  max-width:28em;
}
@media(max-width:900px){
  body.storm-page .storm-signs-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.storm-page .storm-sign:nth-child(2n){
    border-right:0;
  }
  body.storm-page .storm-sign:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  body.storm-page .storm-impact-grid{
    grid-template-columns:1fr;
  }
  body.storm-page .storm-help-steps{
    grid-template-columns:1fr;
    gap:18px;
  }
}
@media(max-width:700px){
  body.storm-page .storm-insurance-split{
    grid-template-columns:1fr;
    gap:28px;
  }
}
@media(max-width:560px){
  body.storm-page .storm-signs-grid{
    grid-template-columns:1fr;
  }
  body.storm-page .storm-sign{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  body.storm-page .storm-sign:last-child{
    border-bottom:0;
  }
  body.storm-page .storm-sign:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.14);
  }
}

/* Contact page — align with shared service design system */
body.contact-page{
  --roof-gold:#f5bd27;
  --roof-gold-text:#805700;
  background:#efeee9!important;
}
body.contact-page:before,
body.contact-page:after{
  /* Contact doesn’t use the fixed homepage hero canvas. */
  opacity:0!important;
  visibility:hidden!important;
}
body.contact-page header{
  border-bottom:3px solid var(--roof-gold)!important;
}
body.contact-page main > .contact-main,
body.contact-page main > .home-final-cta{
  border-top:3px solid var(--roof-gold)!important;
  border-bottom:0!important;
}
body.contact-page main > .contact-main:first-of-type{
  border-top:0!important;
}
body.contact-page main > .home-final-cta{
  border-bottom:3px solid var(--roof-gold)!important;
}
body.contact-page .contact-main{
  background:#efeee9;
  color:#25272a;
  padding:clamp(48px,7vw,88px) 0;
}
body.contact-page .contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:clamp(32px,5vw,72px);
  align-items:start;
}
body.contact-page .contact-form-panel .commitment-eyebrow,
body.contact-page .contact-aside .commitment-eyebrow{
  color:#856009;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.contact-page .contact-form-panel .commitment-eyebrow::before,
body.contact-page .contact-aside .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:#f5bd27;
  flex:none;
}
body.contact-page .contact-form-panel h1{
  font-size:clamp(32px,4vw,48px);
  line-height:1.1;
  letter-spacing:-.03em;
  margin:12px 0 14px;
}
body.contact-page .contact-form-lead{
  margin:0 0 28px;
  font-size:clamp(15px,1.3vw,18px);
  line-height:1.65;
  color:#515151;
  max-width:560px;
}
body.contact-page .contact-form{
  display:grid;
  gap:16px;
}
body.contact-page .contact-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
body.contact-page .known-contact-shell{
  margin:0 0 2px;
}
body.contact-page .mb-address-wrap{
  position:relative;
  z-index:6;
}

/* Shared address autocomplete dropdown */
.mb-address-wrap{
  position:relative;
  width:100%;
}
.mb-address-suggestions{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  z-index:40;
  background:#fff;
  border:1px solid #c9c8c4;
  border-radius:5px;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  max-height:280px;
  overflow:auto;
}
.mb-address-suggestions.is-hidden{display:none}
.mb-address-suggestion{
  display:block;
  width:100%;
  border:0;
  border-bottom:1px solid #eceae4;
  background:#fff;
  text-align:left;
  padding:12px 14px;
  cursor:pointer;
  font:inherit;
  color:#191919;
}
.mb-address-suggestion:hover,
.mb-address-suggestion:focus-visible{
  background:#fff8e6;
  outline:none;
}
.mb-address-suggestion strong,
.mb-address-suggestion span{display:block}
.mb-address-suggestion strong{font-size:14px;font-weight:700}
.mb-address-suggestion span{font-size:12px;color:#666;margin-top:3px}
.mb-address-attribution{
  text-align:right;
  padding:7px 11px;
  font-size:10px;
  font-weight:700;
  color:#777;
  background:#faf9f6;
}
body.contact-page .contact-field label{
  display:block;
  font-size:11px;
  letter-spacing:.12em;
  font-weight:750;
  text-transform:uppercase;
  color:#5c5c5c;
  margin:0 0 7px;
}
body.contact-page .contact-field input,
body.contact-page .contact-field select,
body.contact-page .contact-field textarea{
  width:100%;
  border:1px solid #cfcfc9;
  background:#fff;
  padding:15px 14px;
  font:inherit;
  font-size:16px;
  border-radius:2px;
  color:#191919;
  outline:none;
  box-sizing:border-box;
  min-height:54px;
}
body.contact-page .contact-field select{
  appearance:none;
  -webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#666 50%),linear-gradient(135deg,#666 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  padding-right:40px;
  line-height:1.25;
}
body.contact-page .contact-field input:focus,
body.contact-page .contact-field select:focus,
body.contact-page .contact-field textarea:focus{
  border-color:#111;
  box-shadow:0 0 0 2px rgba(245,189,39,.35);
}
body.contact-page .contact-field textarea{
  min-height:140px;
  resize:vertical;
}
body.contact-page .contact-form-error{
  margin:0;
  color:#a11919;
  font-size:15px;
  line-height:1.45;
}
body.contact-page .contact-submit{
  border:0;
  cursor:pointer;
  justify-self:start;
  margin-top:6px;
  min-width:220px;
  min-height:54px;
  font-family:inherit;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 21px;
}
body.contact-page .contact-aside{
  display:grid;
  gap:28px;
  padding:clamp(22px,3vw,28px);
  background:#fff;
  border:1px solid #deddd7;
}
body.contact-page .contact-aside-block p{
  margin:10px 0 0;
  font-size:14px;
  line-height:1.55;
  color:#5a5a5a;
}
body.contact-page .contact-phone{
  display:block;
  width:fit-content;
  margin-top:12px;
  font-size:clamp(26px,3vw,34px);
  font-weight:800;
  letter-spacing:-.03em;
  color:#151515;
  text-decoration:none;
}
body.contact-page .contact-phone:hover{
  color:#805700;
}
body.contact-page .contact-office{
  margin-top:16px;
}
body.contact-page .contact-office + .contact-office{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e6e5e0;
}
body.contact-page .contact-office h3{
  margin:0 0 6px;
  font-size:16px;
  letter-spacing:-.01em;
}
body.contact-page .contact-office p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:#5a5a5a;
}
body.contact-page .contact-aside-actions{
  display:grid;
  gap:10px;
  margin-top:14px;
}
body.contact-page .contact-aside-actions .btn{
  width:100%;
  text-align:center;
  justify-content:center;
}
body.contact-page .contact-aside-actions .hero-ghost{
  background:#17191b;
  color:#fff;
  border-color:#17191b;
}
body.contact-page .contact-aside-actions .hero-ghost:hover{
  background:#2a2c2e;
  color:#fff;
}
body.contact-page .contact-final-actions{
  display:flex!important;
  justify-content:center;
  grid-template-columns:none!important;
  max-width:720px;
}
body.contact-page .home-final-cta .commitment-eyebrow,
body.contact-page .home-final-cta .home-final-phone{
  color:#f5bd27!important;
}
@media(max-width:900px){
  body.contact-page .contact-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  body.contact-page .contact-form-row{
    grid-template-columns:1fr;
  }
  body.contact-page .contact-submit{
    width:100%;
  }
  body.contact-page .contact-final-actions{
    flex-direction:column;
    align-items:stretch;
  }
  body.contact-page .contact-final-actions .btn{
    width:100%;
  }
}

/* Homepage visualizer — roof-page style inset panel over blurred stage */
.home-visualizer{
  position:relative;
  overflow:hidden;
  background:#1a1a18;
  color:#25272a;
  padding:clamp(48px,7vw,88px) 0;
}
.home-visualizer-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  clip-path:inset(0);
  -webkit-clip-path:inset(0);
}
.home-visualizer-bg img{
  display:block;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  height:100dvh;
  max-width:none;
  object-fit:cover;
  transform:scale(1.12);
  filter:blur(14px) saturate(1.05);
  pointer-events:none;
}
.home-visualizer-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(18,18,16,.55) 0%,rgba(18,18,16,.42) 45%,rgba(18,18,16,.62) 100%);
}
.home-visualizer-inner{
  position:relative;
  z-index:1;
}
.home-visualizer-panel{
  background:#fff;
  color:#242424;
  padding:clamp(28px,4vw,48px) clamp(22px,3.5vw,44px);
  border:3px solid #f5bd27;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}
.home-visualizer-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(24px,4vw,48px);
  align-items:center;
}
.home-visualizer-copy .commitment-eyebrow{
  color:#856009;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.home-visualizer-copy .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:#f5bd27;
  flex:none;
}
.home-visualizer-copy h2{
  font-size:clamp(32px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin:14px 0 16px;
  max-width:16ch;
}
.home-visualizer-copy p{
  margin:0 0 26px;
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.65;
  color:#515151;
  max-width:34em;
}
.home-visualizer-copy .btn{
  display:inline-flex;
}
.home-visualizer-cta{
  gap:8px;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,gap .22s ease;
  will-change:transform;
}
.home-visualizer-cta span{
  display:inline-block;
  transition:transform .22s ease;
}
.home-visualizer-cta:hover,
.home-visualizer-cta:focus-visible{
  transform:translateY(-3px);
  background:#ffd045;
  box-shadow:0 14px 32px rgba(0,0,0,.22);
  outline:none;
}
.home-visualizer-cta:hover span,
.home-visualizer-cta:focus-visible span{
  transform:translateX(4px);
}
.home-visualizer-cta:active{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.home-visualizer-layout:has(.home-visualizer-cta:hover) .home-visualizer-media img,
.home-visualizer-layout:has(.home-visualizer-cta:focus-visible) .home-visualizer-media img{
  transform:scale(1.03);
}
.home-visualizer-media img{
  transition:transform .35s ease;
}
@media (prefers-reduced-motion: reduce){
  .home-visualizer-cta,
  .home-visualizer-cta span,
  .home-visualizer-media img{
    transition:none;
  }
  .home-visualizer-cta:hover,
  .home-visualizer-cta:focus-visible,
  .home-visualizer-cta:active{
    transform:none;
  }
  .home-visualizer-cta:hover span,
  .home-visualizer-cta:focus-visible span{
    transform:none;
  }
  .home-visualizer-layout:has(.home-visualizer-cta:hover) .home-visualizer-media img,
  .home-visualizer-layout:has(.home-visualizer-cta:focus-visible) .home-visualizer-media img{
    transform:none;
  }
}
.home-visualizer-media{
  margin:0;
  overflow:hidden;
  border-radius:14px;
  background:#17191b;
}
.home-visualizer-media-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.home-visualizer-media-link:focus-visible{
  outline:2px solid #f5bd27;
  outline-offset:3px;
}
.home-visualizer-media img{
  display:block;
  width:100%;
  height:clamp(240px,36vw,420px);
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.home-visualizer-media-link:hover img,
.home-visualizer-media-link:focus-visible img{
  transform:scale(1.02);
  filter:brightness(1.04);
}
@media(max-width:850px){
  .home-visualizer-layout{
    grid-template-columns:1fr;
  }
  .home-visualizer-copy h2{
    max-width:none;
  }
  .home-visualizer-media{
    order:-1;
  }
  .home-visualizer-media img{
    height:clamp(200px,52vw,320px);
  }
}

/* Financing lead tool — customer payment explorer */
body.financing-page{
  background:#0b0b0b!important;
  color:#1d1f21;
}
body.financing-page:before,
body.financing-page:after{
  /* Section uses its own hero treatment so the fixed homepage canvas doesn’t fight it. */
  opacity:0!important;
  visibility:hidden!important;
}
body.financing-page header{
  background:#0a0a0a;
  border-bottom:3px solid #f5bd27!important;
}
body.financing-page main > .finance-main,
body.financing-page main > .finance-intro-band,
body.financing-page main > .finance-process,
body.financing-page main > .home-final-cta{
  border-top:3px solid #f5bd27!important;
  border-bottom:0!important;
}
body.financing-page main > .finance-intro-band:first-of-type{
  border-top:0!important;
}
body.financing-page main > .home-final-cta{
  border-bottom:3px solid #f5bd27!important;
}
body.financing-page #finance-tool,
body.financing-page #finance-overview,
body.financing-page #finance-process{
  scroll-margin-top:96px;
}
.finance-main{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#25272a;
  padding:clamp(42px,6vw,88px) 0 clamp(48px,7vw,96px);
  z-index:1;
  background:#17191b;
}
.finance-main-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.finance-main-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.1);
  filter:blur(12px) saturate(1.05);
}
.finance-main-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(18,18,16,.55) 0%,rgba(18,18,16,.42) 45%,rgba(18,18,16,.62) 100%);
}
.finance-layout{
  position:relative;
  z-index:1;
  display:grid;
  gap:0;
  max-width:860px;
}
.finance-panel{
  background:#fff;
  border:3px solid #f5bd27;
  border-radius:4px;
  padding:clamp(24px,3.5vw,40px);
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  display:grid;
  gap:clamp(22px,3vw,32px);
}
.finance-intro .commitment-eyebrow{
  color:#856009;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.finance-intro .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:#f5bd27;
  flex:none;
}
.finance-intro h1{
  font-size:clamp(30px,4vw,48px);
  line-height:1.12;
  letter-spacing:-.025em;
  margin:12px 0 14px;
  color:#151515;
}
.finance-intro p{
  margin:0;
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.65;
  color:#4a4c4f;
  max-width:42rem;
}
.finance-promo{
  margin-top:14px!important;
  padding:12px 14px;
  background:#fff8e6;
  border-left:3px solid #f5bd27;
  color:#3d3420!important;
  font-size:15px!important;
  font-weight:650;
}
.finance-tool{
  background:#faf9f6;
  border:1px solid #e2ddd4;
  border-radius:4px;
  padding:clamp(18px,2.5vw,28px);
}
.finance-progress{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:28px;
}
.finance-progress-step{
  width:28px;
  height:28px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  background:#eceae4;
  color:#6a6a6a;
  flex:none;
}
.finance-progress-step.is-active,
.finance-progress-step.is-done{
  background:#f5bd27;
  color:#111;
}
.finance-progress-bar{
  flex:1;
  height:2px;
  background:#e4dfd6;
}
.finance-step h2{
  font-size:clamp(22px,2.6vw,30px);
  margin:0 0 8px;
  letter-spacing:-.02em;
}
.finance-step-lead{
  margin:0 0 22px;
  color:#5a5c5f;
  line-height:1.55;
}
.finance-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.finance-term-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.finance-term-actions{
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid #e4dfd6;
  justify-content:flex-start;
}
.finance-term-actions .finance-back{
  min-width:140px;
}
.finance-choice,
.finance-chip{
  appearance:none;
  border:1px solid #d5d0c6;
  background:#faf9f6;
  color:#1d1f21;
  border-radius:4px;
  padding:16px 14px;
  font:inherit;
  font-size:18px;
  font-weight:750;
  cursor:pointer;
  text-align:center;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.finance-choice:hover,
.finance-chip:hover{
  border-color:#f5bd27;
  background:#fff;
}
.finance-choice.is-selected,
.finance-chip.is-selected{
  border-color:#f5bd27;
  background:#fff8e6;
  box-shadow:inset 0 0 0 1px #f5bd27;
}
.finance-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}
.finance-chip{
  padding:12px 16px;
  font-size:16px;
}
.finance-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:14px;
}
.finance-field label{
  font-size:13px;
  font-weight:750;
  color:#333;
}
.finance-estimate-hint{
  position:relative;
  background:#fff8e6;
  border:1px solid #f0d58a;
  border-left:3px solid #f5bd27;
  border-radius:4px;
  padding:14px 16px 18px;
  margin:0 0 18px;
  animation:financeHintIn .45s ease-out;
}
.finance-estimate-hint[hidden]{display:none}
.finance-estimate-hint p{
  margin:0;
  font-size:14px;
  line-height:1.5;
  color:#3a3426;
}
.finance-estimate-hint strong{color:#111}
.finance-estimate-hint-arrow{
  position:absolute;
  left:28px;
  bottom:-9px;
  width:16px;
  height:16px;
  background:#fff8e6;
  border-right:1px solid #f0d58a;
  border-bottom:1px solid #f0d58a;
  transform:rotate(45deg);
}
.finance-amount-input{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #c9c8c4;
  border-radius:5px;
  background:#f7f7f5;
  padding:0 14px;
}
@keyframes financeHintIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:none}
}
.finance-amount-input span{
  font-weight:800;
  color:#666;
}
.finance-amount-input input,
.finance-field input{
  width:100%;
  box-sizing:border-box;
  border:0;
  background:transparent;
  padding:14px 0;
  font:inherit;
  font-size:18px;
  font-weight:700;
}
.finance-field input{
  border:1px solid #c9c8c4;
  border-radius:5px;
  background:#f7f7f5;
  padding:13px 14px;
  font-size:16px;
  font-weight:500;
}
.finance-amount-input input:focus,
.finance-field input:focus{
  outline:none;
}
.finance-amount-input:focus-within,
.finance-field input:focus{
  outline:2px solid #b48c4e;
  outline-offset:1px;
}
.finance-alt-link{
  margin:4px 0 22px;
  font-size:14px;
}
.finance-alt-link a{
  color:#634910;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:#f5bd27;
  text-underline-offset:4px;
}
.finance-step-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:8px;
}
/* Match estimator primary/secondary CTAs inside the payment tool */
body.financing-page .finance-tool .btn,
body.financing-page .finance-tool .btn.gold,
body.financing-page .finance-tool .btn.hero-ghost{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  padding:15px 19px;
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  border-radius:4px;
  cursor:pointer;
  min-width:190px;
  text-decoration:none;
  box-sizing:border-box;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none;
}
body.financing-page .finance-tool .btn.gold{
  background:#f5bd27!important;
  color:#111!important;
  border:0!important;
}
body.financing-page .finance-tool .btn.gold:hover{
  background:#ffd44a!important;
  color:#111!important;
}
body.financing-page .finance-tool .btn.hero-ghost{
  background:transparent!important;
  color:#333!important;
  border:1px solid #cfc9bd!important;
}
body.financing-page .finance-tool .btn.hero-ghost:hover{
  background:transparent!important;
  border-color:#f5bd27!important;
  color:#111!important;
}
body.financing-page .finance-tool .btn[hidden],
body.financing-page .finance-tool a.btn[hidden],
body.financing-page .finance-step-actions[hidden]{
  display:none!important;
}
body.financing-page .finance-tool .finance-lead-form .btn.gold{
  width:100%;
  min-width:0;
}
.finance-result{
  background:#111;
  color:#fff;
  padding:clamp(22px,3vw,32px);
  border-radius:4px;
  margin-bottom:26px;
}
.finance-result small{
  display:block;
  color:#bdbdbd;
  letter-spacing:.08em;
  font-size:11px;
  font-weight:750;
}
.finance-result strong{
  display:block;
  color:#f5bd27;
  font-size:clamp(40px,6vw,56px);
  line-height:1.05;
  margin:10px 0 8px;
}
.finance-result > span{
  display:block;
  color:#ddd;
  font-size:15px;
  margin-bottom:16px;
}
.finance-disclaimer{
  margin:0;
  color:#b7b7b7;
  font-size:13px;
  line-height:1.55;
}
.finance-disclaimer strong{
  display:inline;
  color:#f0d48a;
  font-size:inherit;
  margin:0;
}
.finance-lead h3,
.finance-next h3{
  margin:0 0 8px;
  font-size:22px;
}
.finance-lead > p,
.finance-next > p{
  margin:0 0 18px;
  color:#555;
  line-height:1.55;
}
.finance-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.finance-lead-form .btn{
  margin-top:6px;
}
.finance-lead-gate{
  display:grid;
  gap:12px;
  justify-items:start;
  margin-top:8px;
}
.finance-lead-gate h3{
  margin:0;
  font-size:clamp(22px,2.4vw,28px);
  line-height:1.2;
}
.finance-lead-gate p{
  margin:0;
  font-size:16px;
  line-height:1.6;
  color:#515151;
  max-width:36rem;
}
.finance-lead-capture[hidden],
.finance-lead-gate[hidden]{
  display:none!important;
}
.finance-consent,
.contact-consent{
  margin:0 0 14px;
  font-size:12.5px;
  line-height:1.55;
  color:#6b6b6b;
}
body.privacy-page .privacy-doc{
  background:#f7f5ef;
  padding:72px 0 96px;
  border-top:3px solid var(--roof-gold,#f5bd27);
}
body.privacy-page .privacy-doc-inner{
  max-width:760px;
}
body.privacy-page .privacy-doc h1{
  font-size:clamp(34px,4.5vw,52px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin:12px 0 10px;
  color:#171717;
}
body.privacy-page .privacy-updated{
  color:#805700;
  font-size:13px;
  font-weight:750;
  letter-spacing:.04em;
  margin:0 0 28px;
}
body.privacy-page .privacy-doc h2{
  font-size:clamp(22px,2.4vw,28px);
  margin:36px 0 12px;
  color:#171717;
}
body.privacy-page .privacy-doc p,
body.privacy-page .privacy-doc li{
  font-size:16px;
  line-height:1.7;
  color:#3f3f3f;
}
body.privacy-page .privacy-doc ul{
  margin:0 0 16px;
  padding-left:1.2em;
}
body.privacy-page .privacy-doc a{
  color:#805700;
  font-weight:700;
}
html.privacy-panel,
body.privacy-page.privacy-panel{
  background:#f7f5ef;
}
body.privacy-page.privacy-panel > header,
body.privacy-page.privacy-panel > footer,
body.privacy-page.privacy-panel .home-final-cta{
  display:none!important;
}
body.privacy-page.privacy-panel .privacy-doc{
  padding:28px 0 48px;
  border-top:0;
}
body.privacy-page.privacy-panel .privacy-doc-inner{
  max-width:100%;
  padding:0 22px;
}
body.privacy-page.privacy-panel .privacy-doc h1{
  font-size:clamp(28px,4vw,40px);
}
.finance-form-error{
  color:#a83e32;
  font-size:14px;
  margin:0 0 10px;
}
.finance-next-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.finance-honeypot{
  position:absolute;
  left:-9999px;
}
@media(max-width:700px){
  .finance-choice-grid,
  .finance-term-grid,
  .finance-form-row{
    grid-template-columns:1fr;
  }
  .finance-step-actions .btn,
  .finance-next-actions .btn{
    width:100%;
    text-align:center;
  }
  /* Keep term Back separate from the stacked year choices */
  .finance-term-actions{
    margin-top:24px;
    padding-top:20px;
  }
  .finance-term-actions .btn{
    width:auto;
    min-width:140px;
  }
}

/* Inset beige intro with blurred photo margins */
.finance-intro-band{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#242424;
  padding:clamp(36px,5.5vw,72px) 0 0;
  background:#17191b;
}
.finance-intro-band-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.finance-intro-band-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.12);
  filter:blur(14px) saturate(1.05);
}
.finance-intro-band-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(12,12,11,.42) 0%,rgba(12,12,11,.22) 18%,rgba(12,12,11,.18) 82%,rgba(12,12,11,.42) 100%);
}
.finance-intro-band-inner{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:center;
}
.finance-intro-panel{
  width:min(100%,920px);
  background:#f0eee8;
  border:3px solid #f5bd27;
  padding:clamp(26px,3.8vw,46px);
  box-shadow:0 22px 55px rgba(0,0,0,.28);
}
.finance-overview-head{
  max-width:640px;
  margin:0 0 24px;
  text-align:left;
}
.finance-overview-head .commitment-eyebrow{
  justify-content:flex-start;
  color:#856009;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.finance-overview-head .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:#f5bd27;
  flex:none;
}
.finance-overview-head h2{
  font-size:clamp(28px,3.4vw,42px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin:12px 0 12px;
}
.finance-overview-head p{
  margin:0;
  max-width:560px;
  font-size:clamp(15px,1.3vw,17px);
  line-height:1.6;
  color:#515151;
}
.finance-overview-cta{
  margin:18px 0 0!important;
}
.finance-overview-cta .btn{
  display:inline-flex;
}
.finance-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:0;
}
.finance-overview-card{
  background:#fff;
  border-top:3px solid #f5bd27;
  padding:18px 18px 20px;
}
.finance-overview-kicker{
  display:block;
  color:#9a6b00;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  margin-bottom:8px;
}
.finance-overview-card h3{
  font-size:clamp(18px,1.8vw,22px);
  line-height:1.2;
  letter-spacing:-.03em;
  margin:0 0 8px;
}
.finance-overview-card p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#515151;
}

/* Full-width charcoal process */
.finance-process{
  background:#17191b;
  color:#fff;
  padding:clamp(48px,6vw,84px) 0;
}
.finance-process-inner{
  display:grid;
  grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);
  gap:clamp(28px,5vw,72px);
  align-items:start;
}
.finance-process-head .commitment-eyebrow{
  color:#f5bd27;
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.finance-process-head .commitment-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;
  height:3px;
  background:#f5bd27;
  flex:none;
}
.finance-process-head h2{
  font-size:clamp(28px,3.5vw,44px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin:12px 0 12px;
  color:#fff;
}
.finance-process-head p{
  margin:0;
  max-width:360px;
  font-size:16px;
  line-height:1.6;
  color:#b9b9b9;
}
.finance-process-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  position:relative;
}
.finance-process-steps::before{
  content:"";
  position:absolute;
  left:15px;
  top:8px;
  bottom:28px;
  width:2px;
  background:linear-gradient(180deg,#f5bd27 0%,rgba(245,189,39,.2) 100%);
}
.finance-process-steps li{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:0 0 26px;
  position:relative;
}
.finance-process-steps li:last-child{padding-bottom:0}
.finance-process-steps span{
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f5bd27;
  color:#111;
  font-size:12px;
  font-weight:900;
  letter-spacing:0;
  position:relative;
  z-index:1;
  box-shadow:0 0 0 4px #17191b;
}
.finance-process-steps h3{
  margin:3px 0 6px;
  font-size:18px;
  line-height:1.25;
  color:#fff;
}
.finance-process-steps p{
  margin:0;
  font-size:15px;
  line-height:1.55;
  color:#b9b9b9;
}
.finance-intro .finance-promo a{
  color:#805700;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.finance-intro .finance-promo a:hover{color:#111}
@media(max-width:900px){
  .finance-process-inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  .finance-process-head p{
    max-width:560px;
  }
}
@media(max-width:700px){
  .finance-overview-grid{
    grid-template-columns:1fr;
  }
  .finance-intro-band{
    padding-top:28px;
  }
  .finance-intro-panel{
    padding:22px 18px 24px;
  }
  .finance-process{
    padding:40px 0 48px;
  }
}

/* Materials vendor marks + product brand labels (roofing + siding) */
body.roof-page .materials-vendor-logos,
body.siding-page .materials-vendor-logos{
  list-style:none;
  margin:18px 0 8px;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 22px;
}
body.roof-page .materials-vendor-logos li,
body.siding-page .materials-vendor-logos li{
  margin:0;
  padding:12px 16px;
  background:#fff;
  border:1px solid #ddd7cb;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  height:74px;
  min-height:74px;
  min-width:140px;
}
body.roof-page .materials-vendor-logos li{
  width:232px;
  min-width:232px;
}
body.roof-page .materials-vendor-logos img,
body.siding-page .materials-vendor-logos img{
  display:block;
  height:48px;
  width:auto;
  max-width:180px;
  object-fit:contain;
}
body.roof-page .materials-vendor-certainteed img{
  height:48px;
  max-width:200px;
}
body.roof-page .materials-product-brand,
body.siding-page .materials-product-brand{
  margin:0 0 6px!important;
  color:#9a6b00!important;
  font-size:11px!important;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1.2!important;
  max-width:none!important;
}
body.roof-page .roof-materials-copy h3,
body.siding-page .roof-materials-copy h3{
  margin-top:0;
}
@media(max-width:700px){
  body.roof-page .materials-vendor-logos,
  body.siding-page .materials-vendor-logos{
    gap:10px;
  }
  body.roof-page .materials-vendor-logos li,
  body.siding-page .materials-vendor-logos li{
    padding:8px 12px;
    min-height:46px;
  }
  body.roof-page .materials-vendor-logos li{
    width:180px;
    min-width:180px;
  }
  body.roof-page .materials-vendor-logos img,
  body.siding-page .materials-vendor-logos img{
    height:32px;
    max-width:140px;
  }
}

.finance-known{
  margin-bottom:8px;
}
.finance-known-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.finance-known-actions .btn.hero-ghost{
  background:transparent;
  color:#333;
  border:1px solid #cfc9bd;
}
.finance-known-actions .btn.hero-ghost:hover{
  border-color:#f5bd27;
  color:#111;
}
@media(max-width:700px){
  .finance-known-actions .btn{
    width:100%;
    text-align:center;
  }
}

/* Commercial project gallery — portfolio / credibility mode */
body.commercial-page .commercial-credibility{
  background:#111;
  color:#fff;
  padding:clamp(40px,5vw,72px) 0;
  border-top:3px solid var(--roof-gold);
}
body.commercial-page .commercial-credibility-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
}
body.commercial-page .commercial-credibility .commitment-eyebrow,
body.commercial-page .commercial-categories-head .commitment-eyebrow,
body.commercial-page .commercial-close .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.commercial-page .commercial-credibility .commitment-eyebrow::before,
body.commercial-page .commercial-categories-head .commitment-eyebrow::before,
body.commercial-page .commercial-close .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
body.commercial-page .commercial-credibility h2{
  margin:12px 0 14px;
  font-size:clamp(28px,3.4vw,44px);
  letter-spacing:-.03em;
  line-height:1.12;
}
body.commercial-page .commercial-credibility p{
  margin:0;
  max-width:40em;
  color:rgba(255,255,255,.72);
  font-size:16px;
  line-height:1.65;
}
body.commercial-page .commercial-cred-points{
  margin:8px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
body.commercial-page .commercial-cred-points li{
  position:relative;
  padding:12px 0 12px 18px;
  border-left:3px solid var(--roof-gold);
  color:rgba(255,255,255,.82);
  font-size:15px;
  line-height:1.45;
  background:rgba(255,255,255,.03);
}
body.commercial-page .commercial-featured{
  background:#101010;
  color:#fff;
  padding:clamp(48px,6vw,84px) 0;
}
body.commercial-page .commercial-featured-head{
  margin:0 0 26px;
  max-width:640px;
}
body.commercial-page .commercial-featured-head .commitment-eyebrow,
body.commercial-page .commercial-categories-head .commitment-eyebrow,
body.commercial-page .commercial-close .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.commercial-page .commercial-featured-head .commitment-eyebrow::before,
body.commercial-page .commercial-categories-head .commitment-eyebrow::before,
body.commercial-page .commercial-close .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
body.commercial-page .commercial-featured-head h2{
  margin:12px 0 0;
  font-size:clamp(28px,3.4vw,44px);
  letter-spacing:-.03em;
  line-height:1.12;
}
body.commercial-page .commercial-featured-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,2vw,20px);
}
body.commercial-page .commercial-featured-shot{
  margin:0;
  position:relative;
  overflow:hidden;
  background:#1a1a1a;
  border-bottom:3px solid var(--roof-gold);
}
body.commercial-page .commercial-featured-shot img{
  display:block;
  width:100%;
  height:clamp(220px,28vw,320px);
  object-fit:cover;
  transition:transform .7s ease;
}
body.commercial-page .commercial-featured-shot:hover img{
  transform:scale(1.04);
}
body.commercial-page .commercial-featured-shot figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:18px 16px 14px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.88));
  color:#fff;
  font-size:14px;
  line-height:1.35;
}
body.commercial-page .commercial-featured-shot figcaption span{
  display:block;
  color:var(--roof-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:4px;
}
body.commercial-page .commercial-categories{
  background:#171717;
  color:#fff;
  padding:clamp(48px,6vw,84px) 0;
}
body.commercial-page .commercial-categories-head{
  max-width:720px;
  margin:0 0 28px;
}
body.commercial-page .commercial-categories-head h2{
  margin:12px 0 12px;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.03em;
}
body.commercial-page .commercial-categories-head p{
  margin:0;
  color:rgba(255,255,255,.7);
  font-size:15px;
  line-height:1.6;
}
body.commercial-page .commercial-tile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
}
body.commercial-page .commercial-tile{
  position:relative;
  display:block;
  min-height:clamp(260px,32vw,380px);
  overflow:hidden;
  text-decoration:none;
  color:#fff;
  background:#111;
  border:0;
  isolation:isolate;
}
body.commercial-page .commercial-tile img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s ease;
  z-index:0;
}
body.commercial-page .commercial-tile:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.55) 45%,rgba(0,0,0,.92) 100%);
}
body.commercial-page .commercial-tile-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:inherit;
  padding:clamp(20px,3vw,28px);
  border-left:3px solid var(--roof-gold);
}
body.commercial-page .commercial-tile h3{
  margin:8px 0 8px;
  font-size:clamp(28px,3vw,40px);
  letter-spacing:-.03em;
  line-height:1.05;
}
body.commercial-page .commercial-tile p{
  margin:0 0 14px;
  max-width:28em;
  color:rgba(255,255,255,.78);
  font-size:15px;
  line-height:1.5;
}
body.commercial-page .commercial-tile:hover img,
body.commercial-page .commercial-tile:focus-visible img{
  transform:scale(1.05);
}
body.commercial-page .commercial-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease, transform .65s ease;
}
body.commercial-page .commercial-reveal.is-in{
  opacity:1;
  transform:none;
}
@media(prefers-reduced-motion:reduce){
  body.commercial-page .commercial-reveal{
    opacity:1;
    transform:none;
    transition:none;
  }
  body.commercial-page .commercial-featured-shot img,
  body.commercial-page .commercial-tile img{
    transition:none;
  }
}
body.commercial-page .commercial-dir-link-wrap{margin:28px 0 0}
body.commercial-page .commercial-dir-link{
  color:var(--roof-gold);
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
}
body.commercial-page .commercial-dir-link:hover{text-decoration:underline}
body.commercial-page .commercial-foot-note{
  margin:22px 0 0;
  color:rgba(255,255,255,.38);
  font-size:12px;
  line-height:1.5;
}
body.commercial-page .commercial-map-band{
  background:#0f0f0f;
  color:#fff;
  padding:clamp(48px,6vw,84px) 0;
}
body.commercial-page .commercial-map-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(24px,4vw,48px);
  align-items:start;
}
body.commercial-page .commercial-map-copy .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.commercial-page .commercial-map-copy .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
body.commercial-page .commercial-map-copy h2{
  margin:12px 0 12px;
  font-size:clamp(28px,3.4vw,44px);
  letter-spacing:-.03em;
  line-height:1.12;
}
body.commercial-page .commercial-map-copy > p{
  margin:0 0 18px;
  color:rgba(255,255,255,.7);
  font-size:15px;
  line-height:1.65;
  max-width:34em;
}
body.commercial-page .commercial-map-stat{
  margin:0 0 6px;
  font-size:clamp(22px,2.4vw,28px);
  letter-spacing:-.02em;
}
body.commercial-page .commercial-map-stat strong{color:var(--roof-gold)}
body.commercial-page .commercial-map-stat-sub{
  margin:0 0 20px;
  color:rgba(255,255,255,.5);
  font-size:13px;
  line-height:1.5;
  max-width:34em;
}
body.commercial-page .commercial-map-stage{
  display:grid;
  gap:16px;
}
body.commercial-page .commercial-map-canvas{
  border:1px solid rgba(255,255,255,.08);
  background:#141414;
  overflow:hidden;
}
body.commercial-page .commercial-map-canvas svg{
  display:block;
  width:100%;
  height:auto;
}
body.commercial-page .commercial-map-dot{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
body.commercial-page .commercial-map-dot-halo{
  fill:rgba(245,189,39,.14);
}
body.commercial-page .commercial-map-dot-core{
  fill:var(--roof-gold);
  stroke:#111;
  stroke-width:2;
}
body.commercial-page .commercial-map-dot:hover .commercial-map-dot-core,
body.commercial-page .commercial-map-dot:focus-visible .commercial-map-dot-core{
  fill:#fff;
}
body.commercial-page .commercial-map-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
}
body.commercial-page .commercial-map-list a{
  display:flex;
  justify-content:space-between;
  gap:12px;
  text-decoration:none;
  color:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:8px 0;
  font-size:14px;
}
body.commercial-page .commercial-map-list a:hover{
  color:#fff;
}
body.commercial-page .commercial-map-city-count{
  color:var(--roof-gold);
  font-weight:800;
}
body.commercial-page .commercial-close{
  background:#0d0d0d;
  color:#fff;
  text-align:center;
  padding:clamp(56px,7vw,96px) 0;
}
body.commercial-page .commercial-close h2{
  margin:12px auto 14px;
  max-width:16ch;
  font-size:clamp(28px,3.6vw,46px);
  letter-spacing:-.03em;
  line-height:1.12;
}
body.commercial-page .commercial-close > .wrap > p{
  margin:0 auto 24px;
  max-width:36em;
  color:rgba(255,255,255,.7);
  font-size:16px;
  line-height:1.6;
}
body.commercial-page .commercial-close-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:18px;
}
body.commercial-page .commercial-close-phone{
  color:var(--roof-gold);
  font-size:18px;
  font-weight:700;
  text-decoration:none;
}
body.commercial-page .commercial-close-phone:hover{text-decoration:underline}
body.commercial-page .commercial-residential-note{
  margin:28px 0 0;
  color:rgba(255,255,255,.45);
  font-size:13px;
}
body.commercial-page .commercial-residential-note a{
  color:rgba(255,255,255,.72);
  text-decoration:underline;
  text-underline-offset:3px;
}
body.commercial-page .commercial-mode-chip{
  display:inline-block;
  margin:0 0 14px;
  padding:6px 10px;
  border:1px solid rgba(245,189,39,.45);
  color:var(--roof-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.commercial-page .commercial-card-kicker{
  display:block;
  color:var(--roof-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
}
body.commercial-page .commercial-card-cta{
  color:var(--roof-gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
body.commercial-page .commercial-sample-banner,
body.commercial-page .commercial-sample-note{
  margin:28px 0 0;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.55;
}
body.commercial-page .commercial-sample-note{
  background:rgba(245,189,39,.12);
  border:1px solid rgba(245,189,39,.35);
  color:#f0eee8;
  padding:12px 14px;
  margin:0 0 18px;
}
body.commercial-page .commercial-sample-note a{color:var(--roof-gold)}
body.commercial-page .commercial-dir-hero{
  position:relative;
  color:#fff;
  background:#111;
  padding:clamp(42px,6vw,76px) 0 36px;
  overflow:hidden;
}
body.commercial-page .commercial-dir-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.78) 45%,rgba(0,0,0,.45) 100%),
    var(--commercial-dir-image) center/cover no-repeat;
  z-index:0;
}
body.commercial-page .commercial-dir-hero > .wrap{position:relative;z-index:1}
body.commercial-page .commercial-back{
  display:inline-block;
  color:var(--roof-gold);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  margin:0 0 18px;
}
body.commercial-page .commercial-back:hover{text-decoration:underline}
body.commercial-page .commercial-dir-hero .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.commercial-page .commercial-dir-hero .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
body.commercial-page .commercial-dir-hero h1{
  margin:12px 0 12px;
  font-size:clamp(32px,4.4vw,56px);
  letter-spacing:-.04em;
  line-height:1.05;
  max-width:16ch;
}
body.commercial-page .commercial-dir-hero p{
  margin:0 0 22px;
  max-width:40em;
  color:rgba(255,255,255,.88);
  font-size:16px;
  line-height:1.6;
}
body.commercial-page .commercial-cat-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.commercial-page .commercial-cat-tabs a{
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.28);
  padding:9px 14px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.commercial-page .commercial-cat-tabs a[aria-current="page"],
body.commercial-page .commercial-cat-tabs a:hover{
  border-color:var(--roof-gold);
  color:var(--roof-gold);
}

body.commercial-page .commercial-directory{
  background:#141414;
  color:#fff;
  padding:clamp(28px,4vw,48px) 0 clamp(48px,6vw,80px);
}
body.commercial-page .commercial-filters{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,.8fr));
  gap:12px;
  margin:0 0 18px;
}
body.commercial-page .commercial-filters label{
  display:grid;
  gap:6px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
body.commercial-page .commercial-filters input{
  width:100%;
  border:1px solid rgba(255,255,255,.16);
  background:#1d1d1d;
  color:#fff;
  padding:12px 14px;
  font:inherit;
  font-size:15px;
}
body.commercial-page .commercial-filters input::placeholder{color:rgba(255,255,255,.35)}
body.commercial-page .commercial-count{
  margin:0 0 18px;
  color:rgba(255,255,255,.55);
  font-size:14px;
}
body.commercial-page .commercial-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
}
body.commercial-page .commercial-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
  background:#1d1d1d;
  border-top:3px solid var(--roof-gold);
  min-height:100%;
}
body.commercial-page .commercial-card-media{
  position:relative;
  background:#222;
}
body.commercial-page .commercial-card-media img{
  display:block;
  width:100%;
  height:190px;
  object-fit:cover;
}
body.commercial-page .commercial-card-badge{
  position:absolute;
  top:10px;
  left:10px;
  background:rgba(0,0,0,.78);
  color:var(--roof-gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:6px 8px;
}
body.commercial-page .commercial-card-copy{
  padding:16px 16px 18px;
  display:flex;
  flex-direction:column;
  flex:1;
}
body.commercial-page .commercial-card-copy h3{
  margin:8px 0 8px;
  font-size:18px;
  letter-spacing:-.02em;
  line-height:1.25;
  color:#fff;
}
body.commercial-page .commercial-card-copy p{
  margin:0 0 14px;
  color:rgba(255,255,255,.68);
  font-size:14px;
  line-height:1.55;
  flex:1;
}
body.commercial-page .commercial-empty{
  margin:12px 0 0;
  color:rgba(255,255,255,.55);
}
body.commercial-directory-page .commercial-residential-note{
  margin-top:22px;
}
body.commercial-page .commercial-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

body.commercial-page .commercial-project-view{
  background:#171717;
  color:#fff;
  padding:clamp(28px,4vw,48px) 0 clamp(56px,7vw,96px);
}
body.commercial-page .commercial-project-heading h1{
  margin:12px 0 10px;
  font-size:clamp(30px,4vw,52px);
  letter-spacing:-.04em;
  line-height:1.08;
  max-width:18ch;
}
body.commercial-page .commercial-project-address{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:16px;
}
body.commercial-page .commercial-project-heading .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.commercial-page .commercial-project-heading .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
body.commercial-page .commercial-project-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:clamp(18px,3vw,36px);
  margin-top:28px;
}
body.commercial-page .commercial-project-hero{
  margin:0;
  position:relative;
}
body.commercial-page .commercial-project-hero img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:3px solid var(--roof-gold);
  background:#222;
}
body.commercial-page .commercial-maps-link{
  display:inline-block;
  margin-top:12px;
  color:var(--roof-gold);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
body.commercial-page .commercial-maps-link:hover{text-decoration:underline}
body.commercial-page .commercial-maps-attr{
  margin:8px 0 0;
  color:rgba(255,255,255,.5);
  font-size:12px;
  line-height:1.45;
}
body.commercial-page .commercial-project-facts{
  background:#222;
  border-left:3px solid var(--roof-gold);
  padding:22px 20px;
}
body.commercial-page .commercial-project-facts h2{
  margin:0 0 14px;
  font-size:22px;
  letter-spacing:-.02em;
}
body.commercial-page .commercial-project-facts dl{
  margin:0 0 16px;
  display:grid;
  gap:10px;
}
body.commercial-page .commercial-project-facts dl div{
  display:grid;
  gap:2px;
}
body.commercial-page .commercial-project-facts dt{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--roof-gold);
  font-weight:800;
}
body.commercial-page .commercial-project-facts dd{
  margin:0;
  color:rgba(255,255,255,.88);
}
body.commercial-page .commercial-project-facts > p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.6;
}
body.commercial-page .commercial-album{
  margin-top:clamp(36px,5vw,56px);
}
body.commercial-page .commercial-album-head{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
body.commercial-page .commercial-album-head h2{
  margin:0;
  font-size:clamp(24px,3vw,34px);
  letter-spacing:-.03em;
}
body.commercial-page .commercial-phase-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body.commercial-page .commercial-phase-tab{
  border:1px solid rgba(255,255,255,.22);
  background:transparent;
  color:#fff;
  padding:8px 12px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
}
body.commercial-page .commercial-phase-tab span{
  color:rgba(255,255,255,.55);
  margin-left:4px;
}
body.commercial-page .commercial-phase-tab.is-active,
body.commercial-page .commercial-phase-tab:hover{
  border-color:var(--roof-gold);
  color:var(--roof-gold);
}
body.commercial-page .commercial-album-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.commercial-page .commercial-album-shot{
  position:relative;
  border:0;
  padding:0;
  background:#222;
  cursor:pointer;
  text-align:left;
}
body.commercial-page .commercial-album-shot img{
  display:block;
  width:100%;
  height:180px;
  object-fit:cover;
}
body.commercial-page .commercial-album-shot span{
  position:absolute;
  left:10px;
  bottom:10px;
  background:rgba(0,0,0,.75);
  color:var(--roof-gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:5px 7px;
}
body.commercial-page .commercial-album-empty{color:rgba(255,255,255,.65)}
body.commercial-page .commercial-similar-cta{
  margin-top:clamp(36px,5vw,56px);
  text-align:center;
}
body.commercial-page .commercial-similar-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:min(100%,720px);
  white-space:normal;
  text-align:center;
  line-height:1.35;
  padding:18px 22px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:800;
}

.commercial-lightbox{
  position:fixed;
  inset:0;
  z-index:1200;
  background:rgba(0,0,0,.92);
  display:grid;
  place-items:center;
  padding:48px 56px 72px;
}
.commercial-lightbox[hidden]{display:none!important}
.commercial-lightbox img{
  max-width:min(1100px,100%);
  max-height:min(78vh,100%);
  object-fit:contain;
}
.commercial-lightbox-close,
.commercial-lightbox-nav{
  position:absolute;
  border:0;
  background:transparent;
  color:#fff;
  font-size:42px;
  line-height:1;
  cursor:pointer;
}
.commercial-lightbox-close{top:12px;right:18px}
.commercial-lightbox-nav.is-prev{left:12px;top:50%;transform:translateY(-50%)}
.commercial-lightbox-nav.is-next{right:12px;top:50%;transform:translateY(-50%)}
.commercial-lightbox-caption{
  position:absolute;
  left:0;
  right:0;
  bottom:18px;
  margin:0;
  text-align:center;
  color:rgba(255,255,255,.8);
  font-size:14px;
  padding:0 24px;
}
body.commercial-lightbox-open{overflow:hidden}

.commercial-project-modal{
  position:fixed;
  inset:0;
  z-index:1100;
  display:grid;
  place-items:center;
  padding:clamp(16px,3vw,36px);
}
.commercial-project-modal[hidden]{display:none!important}
.commercial-project-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
}
.commercial-project-modal-dialog{
  position:relative;
  z-index:1;
  width:min(960px,100%);
  max-height:min(90vh,920px);
  overflow:auto;
  background:#121212;
  color:#fff;
  border:2px solid var(--roof-gold);
  box-shadow:0 28px 80px rgba(0,0,0,.55);
  outline:none;
}
.commercial-project-modal-close{
  position:sticky;
  top:0;
  float:right;
  z-index:2;
  margin:10px 10px 0 0;
  width:42px;
  height:42px;
  border:0;
  border-radius:0;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.commercial-project-modal-close:hover{color:var(--roof-gold)}
.commercial-project-modal-body{
  padding:clamp(18px,3vw,28px) clamp(18px,3vw,32px) clamp(28px,4vw,40px);
  clear:both;
}
.commercial-project-modal-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(16px,2.5vw,28px);
  align-items:start;
}
.commercial-project-modal-media{
  margin:0;
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden;
}
.commercial-project-modal-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}
.commercial-project-modal-copy .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.commercial-project-modal-copy .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
.commercial-project-modal-copy h2{
  margin:10px 0 6px;
  font-size:clamp(24px,3vw,36px);
  letter-spacing:-.03em;
  line-height:1.12;
}
.commercial-project-modal-copy .commercial-project-subtitle{
  margin:0 0 8px;
  color:rgba(255,255,255,.7);
  font-size:15px;
}
.commercial-project-modal-copy .commercial-project-address{
  margin:0 0 16px;
  color:rgba(255,255,255,.72);
  font-size:15px;
}
.commercial-project-modal-facts{
  margin:0 0 14px;
  display:grid;
  gap:10px;
}
.commercial-project-modal-facts div{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:10px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.commercial-project-modal-facts dt{
  margin:0;
  color:rgba(255,255,255,.5);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.commercial-project-modal-facts dd{
  margin:0;
  font-size:14px;
  font-weight:650;
}
.commercial-project-modal-desc{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.6;
}
.commercial-project-modal-album{
  margin-top:clamp(22px,3vw,32px);
}
.commercial-project-modal-album h3{
  margin:0 0 12px;
  font-size:18px;
  letter-spacing:-.02em;
}
.commercial-project-modal-cta{
  margin-top:clamp(24px,3.5vw,36px);
  padding:clamp(18px,3vw,28px);
  border-top:3px solid var(--roof-gold);
  background:#0b0b0b;
  text-align:center;
}
.commercial-project-modal-cta h3{
  margin:0 0 8px;
  font-size:clamp(22px,2.8vw,30px);
  letter-spacing:-.03em;
}
.commercial-project-modal-cta p{
  margin:0 0 16px;
  color:rgba(255,255,255,.65);
  font-size:15px;
}
body.commercial-project-modal-open{overflow:hidden}
@media(max-width:800px){
  .commercial-project-modal-layout{
    grid-template-columns:1fr;
  }
  .commercial-project-modal-facts div{
    grid-template-columns:1fr;
    gap:4px;
  }
}

@media(max-width:960px){
  body.commercial-page .commercial-credibility-grid,
  body.commercial-page .commercial-map-layout,
  body.commercial-page .commercial-featured-grid,
  body.commercial-page .commercial-tile-grid,
  body.commercial-page .commercial-card-grid,
  body.commercial-page .commercial-album-grid,
  body.commercial-page .commercial-project-hero-grid,
  body.commercial-page .commercial-filters{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:700px){
  body.commercial-page .commercial-credibility-grid,
  body.commercial-page .commercial-map-layout,
  body.commercial-page .commercial-featured-grid,
  body.commercial-page .commercial-tile-grid,
  body.commercial-page .commercial-card-grid,
  body.commercial-page .commercial-album-grid,
  body.commercial-page .commercial-project-hero-grid,
  body.commercial-page .commercial-filters,
  body.commercial-page .commercial-map-list{
    grid-template-columns:1fr;
  }
  body.commercial-page .commercial-tile{
    min-height:280px;
  }
  body.commercial-page .commercial-card-media img,
  body.commercial-page .commercial-album-shot img{
    height:210px;
  }
  .commercial-lightbox{padding:56px 12px 80px}
}

/* Commercial capability sheet */
body.commercial-sheet-page{
  background:#0b0b0b;
  color:#fff;
}
body.commercial-sheet-page .commercial-sheet-header{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  height:auto;
  min-height:0;
  background:#0b0b0b;
  border-bottom:0;
  position:sticky;
  top:0;
  z-index:40;
}
body.commercial-sheet-page .commercial-sheet-home-banner{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
  background:var(--roof-gold);
  color:#1a1200;
  text-align:center;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  min-height:32px;
  padding:0 16px;
}
body.commercial-sheet-page .commercial-sheet-home-banner-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  line-height:1;
  /* Caps sit high in the em box; nudge ink to optical center */
  transform:translateY(1.5px);
}
body.commercial-sheet-page .commercial-sheet-home-banner-label > span{
  line-height:1;
}
body.commercial-sheet-page .commercial-sheet-home-banner:hover,
body.commercial-sheet-page .commercial-sheet-home-banner:focus-visible{
  filter:brightness(.95);
}
body.commercial-sheet-page .commercial-sheet-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:72px;
}
body.commercial-sheet-page .commercial-sheet-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#fff;
  font-size:clamp(18px,2vw,22px);
  font-weight:750;
  letter-spacing:-.02em;
}
body.commercial-sheet-page .commercial-sheet-brand img{
  width:42px;
  height:auto;
  display:block;
}
body.commercial-sheet-page .commercial-sheet-brand em{
  font-style:normal;
  color:var(--roof-gold);
}
body.commercial-sheet-page .commercial-sheet-actions{
  display:flex;
  align-items:center;
  gap:14px;
}
body.commercial-sheet-page .commercial-sheet-phone{
  color:var(--roof-gold);
  text-decoration:none;
  font-weight:700;
  letter-spacing:.02em;
}
body.commercial-sheet-page .commercial-sheet-phone:hover{text-decoration:underline}
body.commercial-sheet-page .commercial-sheet-contact-short{display:none}
body.commercial-sheet-page .commercial-sheet-intro{
  padding:clamp(28px,4vw,44px) 0 clamp(18px,3vw,28px);
  border-bottom:3px solid var(--roof-gold);
}
body.commercial-sheet-page .commercial-sheet-intro h1{
  margin:0 0 10px;
  font-size:clamp(34px,5vw,56px);
  letter-spacing:-.04em;
  line-height:1.05;
}
body.commercial-sheet-page .commercial-sheet-intro p{
  margin:0;
  max-width:36em;
  color:rgba(255,255,255,.7);
  font-size:clamp(15px,1.4vw,18px);
  line-height:1.55;
}
body.commercial-sheet-page .commercial-bands{
  display:grid;
}
body.commercial-sheet-page .commercial-band{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  min-height:clamp(240px,38vh,360px);
  text-decoration:none;
  color:#fff;
  overflow:hidden;
  background:#111;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.commercial-sheet-page .commercial-band:nth-child(even){
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
}
body.commercial-sheet-page .commercial-band:nth-child(even) img{order:2}
body.commercial-sheet-page .commercial-band:nth-child(even) .commercial-band-copy{order:1}
body.commercial-sheet-page .commercial-band img{
  display:block;
  width:100%;
  height:100%;
  min-height:clamp(240px,38vh,360px);
  object-fit:cover;
  transition:transform .7s ease;
}
body.commercial-sheet-page .commercial-band-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  padding:clamp(24px,4vw,40px);
  background:#121212;
  border-left:3px solid var(--roof-gold);
}
body.commercial-sheet-page .commercial-band:nth-child(even) .commercial-band-copy{
  border-left:0;
  border-right:3px solid var(--roof-gold);
}
body.commercial-sheet-page .commercial-band-copy span{
  font-size:clamp(28px,3.4vw,42px);
  font-weight:750;
  letter-spacing:-.03em;
  line-height:1.05;
}
body.commercial-sheet-page .commercial-band-copy p{
  margin:0;
  max-width:28em;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.55;
}
body.commercial-sheet-page .commercial-band-copy em{
  margin-top:8px;
  font-style:normal;
  color:var(--roof-gold);
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.commercial-sheet-page .commercial-band:hover img,
body.commercial-sheet-page .commercial-band:focus-visible img{
  transform:scale(1.04);
}
body.commercial-sheet-page .commercial-map-band-compact{
  padding:clamp(36px,5vw,64px) 0;
  background:#0f0f0f;
  border-top:0;
}
body.commercial-sheet-page .commercial-map-compact{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(18px,3vw,36px);
  align-items:center;
}
body.commercial-sheet-page .commercial-map-compact-copy h2{
  margin:0 0 12px;
  font-size:clamp(24px,3vw,34px);
  letter-spacing:-.03em;
}
body.commercial-sheet-page .commercial-map-compact .commercial-map-stat{
  font-size:clamp(18px,2vw,22px);
}
body.commercial-sheet-page .commercial-map-compact .commercial-map-stat-sub{
  margin-bottom:14px;
}
body.commercial-sheet-page .commercial-map-compact .commercial-map-canvas{
  max-height:280px;
}
body.commercial-sheet-page .commercial-map-compact .commercial-map-canvas svg{
  max-height:280px;
}
body.commercial-hybrid-page .commercial-process{
  background:#121212;
  color:#fff;
  padding:clamp(40px,6vw,72px) 0;
  border-top:0;
}
body.commercial-hybrid-page .commercial-process-intro{
  max-width:38em;
  margin:0 auto clamp(28px,4vw,40px);
  text-align:center;
}
body.commercial-hybrid-page .commercial-process-intro .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
body.commercial-hybrid-page .commercial-process-intro .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
body.commercial-hybrid-page .commercial-process-intro h2{
  margin:12px 0 10px;
  font-size:clamp(26px,3.2vw,40px);
  letter-spacing:-.03em;
  line-height:1.12;
}
body.commercial-hybrid-page .commercial-process-intro p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:15px;
  line-height:1.6;
}
body.commercial-hybrid-page .commercial-process-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,36px);
}
body.commercial-hybrid-page .commercial-process-steps li{
  margin:0;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.14);
  text-align:center;
}
body.commercial-hybrid-page .commercial-process-step-num{
  display:block;
  margin:0 0 12px;
  color:var(--roof-gold);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
}
body.commercial-hybrid-page .commercial-process-steps h3{
  margin:0 0 8px;
  font-size:clamp(20px,2.2vw,26px);
  letter-spacing:-.02em;
  line-height:1.15;
}
body.commercial-hybrid-page .commercial-process-steps p{
  margin:0 auto;
  color:rgba(255,255,255,.62);
  font-size:14px;
  line-height:1.55;
  max-width:28em;
}
@media(max-width:850px){
  body.commercial-hybrid-page .commercial-process-steps{
    grid-template-columns:1fr;
  }
}
body.commercial-sheet-page .commercial-sheet-cta,
body.commercial-page main > .commercial-sheet-cta{
  text-align:center;
  padding:clamp(72px,10vw,120px) 0;
  background:#1a1a1a;
  border-top:3px solid var(--roof-gold)!important;
  border-bottom:3px solid var(--roof-gold)!important;
}
body.commercial-sheet-page .commercial-sheet-cta h2{
  margin:0 0 10px;
  font-size:clamp(28px,3.6vw,44px);
  letter-spacing:-.03em;
}
body.commercial-sheet-page .commercial-sheet-cta > .wrap > p{
  margin:0 0 22px;
  color:rgba(255,255,255,.68);
}
body.commercial-sheet-page .commercial-sheet-cta .btn{
  min-width:min(100%,320px);
}
body.commercial-sheet-page footer.commercial-sheet-footer.site-footer-refined{
  border-top:0;
  background:#0b0b0b;
  padding:clamp(42px,6vw,72px) 0 28px!important;
}
body.commercial-sheet-page footer.commercial-sheet-footer.site-footer-refined .site-footer-about p:first-of-type{
  color:var(--roof-gold);
}
@media(max-width:850px){
  body.commercial-sheet-page .commercial-sheet-nav{
    min-height:64px;
  }
  body.commercial-sheet-page .commercial-sheet-phone{display:none}
  body.commercial-sheet-page .commercial-sheet-contact{
    padding:11px 14px;
    font-size:14px;
  }
  body.commercial-sheet-page .commercial-sheet-contact-full{display:none}
  body.commercial-sheet-page .commercial-sheet-contact-short{display:inline}
  body.commercial-sheet-page .commercial-band,
  body.commercial-sheet-page .commercial-band:nth-child(even){
    grid-template-columns:1fr;
  }
  body.commercial-sheet-page .commercial-band:nth-child(even) img,
  body.commercial-sheet-page .commercial-band:nth-child(even) .commercial-band-copy{
    order:initial;
  }
  body.commercial-sheet-page .commercial-band img{
    min-height:220px;
    height:220px;
  }
  body.commercial-sheet-page .commercial-band-copy,
  body.commercial-sheet-page .commercial-band:nth-child(even) .commercial-band-copy{
    border-left:3px solid var(--roof-gold);
    border-right:0;
  }
  body.commercial-sheet-page .commercial-map-compact{
    grid-template-columns:1fr;
  }
}
@media(prefers-reduced-motion:reduce){
  body.commercial-sheet-page .commercial-band img{transition:none}
}

/* Hybrid commercial landing + portfolio */
body.commercial-hybrid-page .commercial-hybrid-hero{
  padding:clamp(28px,4vw,48px) 0 clamp(22px,3vw,34px);
  border-bottom:3px solid var(--roof-gold);
  background:#0b0b0b;
}
body.commercial-hybrid-page .commercial-hybrid-hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);
  gap:clamp(20px,4vw,48px);
  align-items:end;
}
body.commercial-hybrid-page .commercial-hybrid-hero h1{
  margin:0 0 14px;
  font-size:clamp(34px,5vw,56px);
  letter-spacing:-.04em;
  line-height:1.02;
  max-width:11em;
}
body.commercial-hybrid-page .commercial-hybrid-hero h1 span{
  display:block;
}
body.commercial-hybrid-page .commercial-hybrid-hero p{
  margin:0;
  max-width:38em;
  color:rgba(255,255,255,.72);
  font-size:clamp(15px,1.35vw,17px);
  line-height:1.6;
}
body.commercial-hybrid-page .commercial-hybrid-stats{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
body.commercial-hybrid-page .commercial-hybrid-stats li{
  display:grid;
  gap:2px;
  padding:12px 14px;
  border-left:3px solid var(--roof-gold);
  background:rgba(255,255,255,.04);
}
body.commercial-hybrid-page .commercial-hybrid-stats strong{
  font-size:clamp(22px,2.4vw,28px);
  letter-spacing:-.02em;
  color:#fff;
}
body.commercial-hybrid-page .commercial-hybrid-stats span{
  color:rgba(255,255,255,.55);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
}
body.commercial-hybrid-page .commercial-hybrid-systems{
  padding:clamp(18px,3vw,28px) 0;
  background:#101010;
}
body.commercial-hybrid-page .commercial-hybrid-system-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
body.commercial-hybrid-page .commercial-hybrid-system{
  position:relative;
  display:block;
  border:0;
  padding:0;
  min-height:110px;
  overflow:hidden;
  cursor:pointer;
  background:#1a1a1a;
  text-align:left;
  color:#fff;
  text-decoration:none;
}
body.commercial-hybrid-page .commercial-hybrid-system img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.55;
  transition:opacity .35s ease, transform .5s ease;
}
body.commercial-hybrid-page .commercial-hybrid-system-label{
  position:relative;
  z-index:1;
  display:block;
  padding:16px 44px 16px 16px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-shadow:0 1px 10px rgba(0,0,0,.7);
}
body.commercial-hybrid-page .commercial-hybrid-system-arrow{
  position:absolute;
  right:14px;
  top:50%;
  z-index:1;
  transform:translateY(-50%);
  font-size:22px;
  font-weight:700;
  color:var(--roof-gold);
  text-shadow:0 1px 10px rgba(0,0,0,.7);
  transition:transform .25s ease;
}
body.commercial-hybrid-page .commercial-hybrid-system:hover .commercial-hybrid-system-arrow,
body.commercial-hybrid-page .commercial-hybrid-system:focus-visible .commercial-hybrid-system-arrow{
  transform:translate(3px,-50%);
}
body.commercial-hybrid-page .commercial-hybrid-system:hover img,
body.commercial-hybrid-page .commercial-hybrid-system.is-active img{
  opacity:.8;
  transform:scale(1.04);
}
body.commercial-hybrid-page .commercial-hybrid-system.is-active{
  outline:2px solid var(--roof-gold);
  outline-offset:0;
}
body.commercial-hybrid-page .commercial-hybrid-portfolio{
  padding:clamp(36px,5vw,64px) 0 clamp(48px,6vw,80px);
  background:#1a1a1a;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
}
body.commercial-hybrid-page .commercial-system-accordion-section{
  position:relative;
  overflow:hidden;
  background:#1a1a18;
  color:#fff;
  padding:clamp(36px,5vw,56px) 0;
  border-top:3px solid var(--roof-gold);
  border-bottom:3px solid var(--roof-gold);
  scroll-margin-top:90px;
}
body.commercial-hybrid-page .commercial-system-stage-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
body.commercial-hybrid-page .commercial-system-stage-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.12);
  filter:blur(14px) saturate(1.05);
}
body.commercial-hybrid-page .commercial-system-stage-bg:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(15,15,15,.58) 0%,rgba(15,15,15,.42) 45%,rgba(15,15,15,.66) 100%);
}
body.commercial-hybrid-page .commercial-system-accordion-section > .wrap{
  position:relative;
  z-index:1;
}
body.commercial-hybrid-page .commercial-system-accordion.is-split{
  display:grid;
  grid-template-columns:minmax(108px,148px) minmax(0,1fr);
  grid-template-rows:repeat(4,minmax(0,1fr));
  min-height:clamp(420px,56vh,560px);
  border:1px solid rgba(255,255,255,.16);
  background:rgba(11,11,11,.92);
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  overflow:hidden;
}
body.commercial-hybrid-page .commercial-system-breakout{
  display:contents;
  color:#fff;
  scroll-margin-top:90px;
}
body.commercial-hybrid-page .commercial-system-accordion-heading{
  grid-column:1;
  margin:0;
  min-height:0;
  font-size:inherit;
  font-weight:inherit;
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:#101010;
}
body.commercial-hybrid-page .commercial-system-breakout:nth-child(4) .commercial-system-accordion-heading{
  border-bottom:0;
}
body.commercial-hybrid-page .commercial-system-breakout.is-open .commercial-system-accordion-heading{
  background:#0b0b0b;
  border-right-color:transparent;
  box-shadow:inset 3px 0 0 var(--roof-gold);
  position:relative;
  z-index:1;
}
body.commercial-hybrid-page .commercial-system-standalone{
  background:#0f0f0f;
  color:#fff;
  padding:clamp(36px,5vw,64px) 0;
  border-top:3px solid var(--roof-gold);
  scroll-margin-top:90px;
}
body.commercial-hybrid-page .commercial-system-standalone .commercial-system-breakout-layout{
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  align-items:stretch;
  gap:clamp(22px,3.5vw,40px);
}
body.commercial-hybrid-page .commercial-system-standalone .commercial-system-accordion-label{
  display:block;
  margin:0 0 12px;
  max-width:none;
}
body.commercial-hybrid-page .commercial-system-standalone .commercial-system-breakout-copy > p:not(.commercial-system-accordion-label),
body.commercial-hybrid-page .commercial-system-standalone .commercial-system-specs{
  max-width:none;
}
body.commercial-hybrid-page .commercial-system-standalone .commercial-system-breakout-media{
  margin:0;
  height:auto;
  min-height:100%;
  border:2px solid var(--roof-gold);
  align-self:stretch;
}
body.commercial-hybrid-page .commercial-system-standalone .commercial-system-breakout-media img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  transition:transform .5s ease;
}
body.commercial-hybrid-page .commercial-system-standalone:hover .commercial-system-breakout-media img{
  transform:scale(1.03);
}
body.commercial-hybrid-page .commercial-system-accordion-trigger{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:14px 10px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:center;
  cursor:pointer;
  font:inherit;
}
body.commercial-hybrid-page .commercial-system-accordion-rail{
  display:none;
}
body.commercial-hybrid-page .commercial-system-accordion-trigger .commitment-eyebrow{
  color:rgba(255,255,255,.72);
  display:block;
  width:100%;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:13px;
  font-weight:800;
  line-height:1.25;
  text-align:center;
}
body.commercial-hybrid-page .commercial-system-accordion-trigger .commitment-eyebrow::before{
  display:none;
}
body.commercial-hybrid-page .commercial-system-breakout.is-open .commercial-system-accordion-trigger .commitment-eyebrow,
body.commercial-hybrid-page .commercial-system-accordion-trigger:hover .commitment-eyebrow,
body.commercial-hybrid-page .commercial-system-accordion-trigger:focus-visible .commitment-eyebrow{
  color:var(--roof-gold);
}
body.commercial-hybrid-page .commercial-system-accordion-panel{
  grid-column:2;
  grid-row:1 / -1;
  min-width:0;
  min-height:0;
  padding:0;
  overflow:hidden;
  background:#0b0b0b;
  display:flex;
}
body.commercial-hybrid-page .commercial-system-accordion-panel[hidden]{
  display:none;
}
body.commercial-hybrid-page .commercial-system-breakout-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(18px,2.5vw,28px);
  align-items:center;
  min-height:100%;
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-layout{
  flex:1 1 auto;
  width:100%;
  height:100%;
  min-height:0;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);
  align-items:stretch;
  gap:clamp(32px,4.4vw,56px);
  padding:clamp(32px,4.4vw,48px) 0 clamp(32px,4.4vw,48px) clamp(40px,5.6vw,64px);
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-copy{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:0;
  height:100%;
  gap:16px;
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-copy > p:not(.commercial-system-accordion-label){
  margin:0;
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-specs{
  margin:0;
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-cta{
  margin-top:auto;
  align-self:flex-start;
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-media{
  margin:0 clamp(32px,4.4vw,48px) 0 0;
  height:100%;
  min-height:0;
  border:2px solid var(--roof-gold);
  align-self:stretch;
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-media img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  transition:none;
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-media:hover img{
  transform:none;
}
body.commercial-hybrid-page .commercial-system-accordion-label{
  margin:0 0 12px;
  max-width:18ch;
  font-size:clamp(22px,2.4vw,32px);
  font-weight:750;
  letter-spacing:-.03em;
  line-height:1.15;
  color:#fff;
}
body.commercial-hybrid-page .commercial-system-breakout-copy > p:not(.commercial-system-accordion-label){
  margin:0 0 18px;
  color:rgba(255,255,255,.62);
  font-size:15px;
  line-height:1.6;
  max-width:34em;
}
body.commercial-hybrid-page .commercial-system-specs{
  list-style:none;
  margin:0 0 22px;
  padding:0;
  display:grid;
  gap:0;
  max-width:28em;
}
body.commercial-hybrid-page .commercial-system-specs li{
  margin:0;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.62);
  font-size:14px;
  line-height:1.45;
}
body.commercial-hybrid-page .commercial-system-specs li:last-child{
  border-bottom:1px solid rgba(255,255,255,.14);
}
body.commercial-hybrid-page .commercial-system-specs strong{
  color:#fff;
  font-weight:750;
}
body.commercial-hybrid-page .commercial-system-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--roof-gold);
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.commercial-hybrid-page .commercial-system-cta span{
  transition:transform .25s ease;
}
body.commercial-hybrid-page .commercial-system-cta:hover span,
body.commercial-hybrid-page .commercial-system-cta:focus-visible span{
  transform:translateX(3px);
}
body.commercial-hybrid-page .commercial-system-breakout-media{
  margin:0;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  background:#0b0b0b;
}
body.commercial-hybrid-page .commercial-system-breakout-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .5s ease;
}
body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-media img,
body.commercial-hybrid-page .commercial-system-breakout.is-open .commercial-system-breakout-media img,
body.commercial-hybrid-page .commercial-system-breakout.is-open:hover .commercial-system-breakout-media img{
  transform:none;
  transition:none;
}
@media(max-width:900px){
  body.commercial-hybrid-page .commercial-system-stage-bg{
    display:none;
  }
  body.commercial-hybrid-page .commercial-system-accordion-section{
    background:#121212;
  }
  body.commercial-hybrid-page .commercial-system-accordion.is-split{
    display:block;
    min-height:0;
    border:0;
    background:transparent;
    overflow:visible;
  }
  body.commercial-hybrid-page .commercial-system-breakout{
    display:block;
    border-top:1px solid rgba(255,255,255,.12);
  }
  body.commercial-hybrid-page .commercial-system-breakout:first-child{
    border-top:0;
  }
  body.commercial-hybrid-page .commercial-system-accordion-heading{
    border:0;
    background:transparent;
    box-shadow:none;
  }
  body.commercial-hybrid-page .commercial-system-breakout.is-open .commercial-system-accordion-heading{
    background:transparent;
    box-shadow:none;
  }
  body.commercial-hybrid-page .commercial-system-accordion-trigger{
    height:auto;
    min-height:0;
    justify-content:flex-start;
    text-align:left;
    padding:18px 0;
  }
  body.commercial-hybrid-page .commercial-system-accordion-trigger .commitment-eyebrow{
    color:rgba(255,255,255,.78);
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    width:auto;
    text-align:left;
  }
  body.commercial-hybrid-page .commercial-system-breakout.is-open .commercial-system-accordion-trigger .commitment-eyebrow{
    color:var(--roof-gold);
  }
  body.commercial-hybrid-page .commercial-system-accordion-trigger .commitment-eyebrow br{
    display:none;
  }
  body.commercial-hybrid-page .commercial-system-accordion-trigger .commitment-eyebrow::before{
    content:"";
    display:inline-block;
    width:22px;
    height:3px;
    background:var(--roof-gold);
  }
  body.commercial-hybrid-page .commercial-system-accordion-panel{
    grid-column:auto;
    grid-row:auto;
    display:block;
    padding:0 0 24px;
    overflow:visible;
    background:transparent;
  }
  body.commercial-hybrid-page .commercial-system-accordion-panel[hidden]{
    display:none;
  }
  body.commercial-hybrid-page .commercial-system-breakout-layout,
  body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-layout,
  body.commercial-hybrid-page .commercial-system-standalone .commercial-system-breakout-layout{
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
    padding:0;
    gap:18px;
  }
  body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-copy{
    height:auto;
    justify-content:flex-start;
  }
  body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-media{
    margin:0;
    height:auto;
    border:2px solid var(--roof-gold);
    order:-1;
  }
  body.commercial-hybrid-page .commercial-system-accordion-panel .commercial-system-breakout-media img{
    height:auto;
    aspect-ratio:16/10;
  }
  body.commercial-hybrid-page .commercial-system-standalone .commercial-system-breakout-media{
    min-height:0;
    height:auto;
  }
  body.commercial-hybrid-page .commercial-system-standalone .commercial-system-breakout-media img{
    aspect-ratio:16/10;
    height:auto;
  }
  body.commercial-hybrid-page .commercial-system-accordion-label{
    max-width:none;
  }
  body.commercial-hybrid-page .commercial-system-breakout.is-open:hover .commercial-system-breakout-media img,
  body.commercial-hybrid-page .commercial-system-standalone:hover .commercial-system-breakout-media img{
    transform:none;
  }
}
body.commercial-hybrid-page .commercial-hybrid-portfolio-head{
  display:grid;
  gap:12px;
  margin-bottom:clamp(22px,3vw,32px);
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
body.commercial-hybrid-page .commercial-hybrid-portfolio-head > .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.commercial-hybrid-page .commercial-hybrid-portfolio-head > .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
body.commercial-hybrid-page .commercial-hybrid-portfolio-title-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:end;
  gap:14px 24px;
}
body.commercial-hybrid-page .commercial-hybrid-portfolio-head h2{
  margin:0;
  font-size:clamp(26px,3.2vw,40px);
  letter-spacing:-.03em;
  line-height:1.12;
}
body.commercial-hybrid-page .commercial-hub-filters{
  display:flex;
  flex-wrap:wrap;
  gap:4px 18px;
  padding-bottom:2px;
}
body.commercial-hybrid-page .commercial-hub-filters button{
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:rgba(255,255,255,.55);
  padding:6px 0;
  font:inherit;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
body.commercial-hybrid-page .commercial-hub-filters button.is-active,
body.commercial-hybrid-page .commercial-hub-filters button:hover{
  color:var(--roof-gold);
  border-bottom-color:var(--roof-gold);
}
body.commercial-hybrid-page .commercial-spec-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2.2vw,24px);
}
body.commercial-hybrid-page .commercial-card{
  background:transparent;
  border:1px solid transparent;
  border-top:1px solid transparent;
  min-height:0;
  padding:10px;
  margin:0 -10px;
  transition:background .25s ease, border-color .25s ease;
}
body.commercial-hybrid-page .commercial-card:hover,
body.commercial-hybrid-page .commercial-card:focus-visible{
  background:rgba(245,189,39,.12);
  border-color:rgba(245,189,39,.42);
}
body.commercial-hybrid-page .commercial-card-media{
  border:2px solid var(--roof-gold);
  overflow:hidden;
  background:#0b0b0b;
}
body.commercial-hybrid-page .commercial-card-media img{
  height:auto;
  aspect-ratio:16/10;
  transition:transform .5s ease;
}
body.commercial-hybrid-page .commercial-card:hover .commercial-card-media img,
body.commercial-hybrid-page .commercial-card:focus-visible .commercial-card-media img{
  transform:scale(1.03);
}
body.commercial-hybrid-page .commercial-card-badge{
  top:12px;
  left:12px;
  background:rgba(0,0,0,.72);
  border:1px solid rgba(255,255,255,.14);
  padding:5px 8px;
}
body.commercial-hybrid-page .commercial-card-copy{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:12px 2px 2px;
}
body.commercial-hybrid-page .commercial-card-kicker{
  letter-spacing:.12em;
  margin:0;
}
body.commercial-hybrid-page .commercial-card-copy h3{
  margin:5px 0 10px;
  font-size:clamp(17px,1.6vw,20px);
  letter-spacing:-.025em;
  line-height:1.2;
}
body.commercial-hybrid-page .commercial-card-meta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 14px;
  align-items:center;
  margin:0 0 12px;
}
body.commercial-hybrid-page .commercial-spec-card .commercial-card-specs{
  display:grid;
  gap:3px;
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.35;
}
body.commercial-hybrid-page .commercial-spec-card .commercial-card-specs span{
  display:block;
  color:rgba(255,255,255,.62);
  font-weight:400;
  font-size:13px;
}
body.commercial-hybrid-page .commercial-card-location{
  color:rgba(255,255,255,.88)!important;
}
body.commercial-hybrid-page .commercial-card-materials{
  color:rgba(255,255,255,.62)!important;
}
body.commercial-hybrid-page .commercial-card-size{
  margin:0;
  color:var(--roof-gold)!important;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  line-height:1.25;
  text-align:right;
  white-space:nowrap;
  align-self:center;
}
body.commercial-hybrid-page .commercial-card-cta{
  margin-top:auto;
  letter-spacing:.08em;
}
body.commercial-hybrid-page .commercial-more-wrap .btn.hero-ghost{
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
body.commercial-hybrid-page .commercial-more-wrap .btn.hero-ghost:hover{
  border-color:var(--roof-gold);
  color:var(--roof-gold);
}
body.commercial-page .commercial-spec-card .commercial-card-specs{
  display:grid;
  gap:4px;
  margin:0 0 12px;
  color:rgba(255,255,255,.88);
  font-size:13px;
  line-height:1.35;
}
body.commercial-page .commercial-spec-card .commercial-card-specs span{
  display:block;
}
body.commercial-page .commercial-spec-card .commercial-card-specs span:first-child{
  color:var(--roof-gold);
  font-weight:800;
  font-size:14px;
}
body.commercial-page .commercial-project-subtitle{
  margin:0 0 8px;
  color:rgba(255,255,255,.62);
  font-size:15px;
}
@media(max-width:960px){
  body.commercial-hybrid-page .commercial-hybrid-hero-layout,
  body.commercial-hybrid-page .commercial-hybrid-system-row,
  body.commercial-hybrid-page .commercial-spec-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:700px){
  body.commercial-hybrid-page .commercial-hybrid-hero-layout,
  body.commercial-hybrid-page .commercial-hybrid-system-row,
  body.commercial-hybrid-page .commercial-spec-grid{
    grid-template-columns:1fr;
  }
}

/* Hybrid hero: full-bleed photo + national heat map */
body.commercial-hybrid-page .commercial-hybrid-hero-bleed{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(36px,5vw,64px) 0;
  border-bottom:3px solid var(--roof-gold);
  min-height:clamp(420px,62vh,620px);
  display:flex;
  align-items:center;
}
body.commercial-hybrid-page .commercial-hybrid-hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
}
body.commercial-hybrid-page .commercial-hybrid-hero-bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  transform:scale(1.06);
  filter:saturate(.55) contrast(1.08) brightness(.72);
}
body.commercial-hybrid-page .commercial-hybrid-hero-metal .commercial-hybrid-hero-bg img{
  object-position:center 42%;
  filter:saturate(.7) contrast(1.02) brightness(.82);
}
body.commercial-hybrid-page .commercial-hybrid-hero-bleed:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.35) 42%,
    rgba(0,0,0,.22) 100%);
  pointer-events:none;
}
body.commercial-hybrid-page .commercial-hybrid-hero-metal:before{
  background:
    linear-gradient(90deg,
      rgba(0,0,0,.92) 0%,
      rgba(0,0,0,.78) 28%,
      rgba(0,0,0,.48) 52%,
      rgba(0,0,0,.22) 78%,
      rgba(0,0,0,.12) 100%),
    linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.32) 100%);
}
body.commercial-hybrid-page .commercial-hybrid-hero-impact-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(240px,.7fr);
  gap:clamp(18px,3vw,36px);
  align-items:stretch;
}
body.commercial-hybrid-page .wrap.commercial-hybrid-hero-impact-layout{
  width:min(var(--max),calc(100% - 40px));
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
}
body.commercial-hybrid-page .commercial-hybrid-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-self:stretch;
  max-width:34em;
  min-height:100%;
  gap:22px;
}
body.commercial-hybrid-page .commercial-hybrid-hero-copy > :first-child{
  margin-top:0;
}
body.commercial-hybrid-page .commercial-hero-actions{
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
body.commercial-hybrid-page .commercial-hybrid-hero-bleed .commercial-hybrid-hero-copy p,
body.commercial-hybrid-page .commercial-hybrid-hero-bleed .commercial-hybrid-hero-copy h1{
  text-shadow:0 2px 18px rgba(0,0,0,.45);
}
body.commercial-hybrid-page .commercial-hybrid-hero-systems{
  display:grid;
  grid-template-rows:repeat(5,minmax(0,1fr));
  gap:10px;
  min-height:100%;
  align-self:stretch;
}
body.commercial-hybrid-page .commercial-hybrid-hero-systems .commercial-hybrid-system{
  min-height:0;
  height:100%;
  border:2px solid var(--roof-gold);
  background:rgba(10,10,10,.55);
  backdrop-filter:blur(4px);
  outline:none;
}
body.commercial-hybrid-page .commercial-hybrid-hero-systems .commercial-hybrid-system-label{
  padding:16px 48px 16px 16px;
}
body.commercial-hybrid-page .commercial-hybrid-hero-systems .commercial-hybrid-system.is-active{
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35);
  background:rgba(10,10,10,.7);
}
body.commercial-hybrid-page .commercial-hybrid-hero-systems .commercial-hybrid-system img{
  opacity:.45;
}
body.commercial-hybrid-page .commercial-hybrid-hero-systems .commercial-hybrid-system:hover img,
body.commercial-hybrid-page .commercial-hybrid-hero-systems .commercial-hybrid-system.is-active img{
  opacity:.75;
}
body.commercial-hybrid-page .commercial-hybrid-heatmap{
  background:#0f0f0f;
  padding:clamp(36px,5vw,64px) 0;
}
body.commercial-hybrid-page .commercial-hybrid-heatmap-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:clamp(18px,3vw,36px);
  align-items:center;
}
body.commercial-hybrid-page .commercial-hybrid-heatmap-intro .commitment-eyebrow{
  color:var(--roof-gold);
  display:inline-flex;
  align-items:center;
  gap:10px;
}
body.commercial-hybrid-page .commercial-hybrid-heatmap-intro .commitment-eyebrow::before{
  content:"";
  width:22px;
  height:3px;
  background:var(--roof-gold);
  display:inline-block;
}
body.commercial-hybrid-page .commercial-hybrid-heatmap-intro h2{
  margin:12px 0 10px;
  font-size:clamp(26px,3.2vw,40px);
  letter-spacing:-.03em;
  line-height:1.12;
}
body.commercial-hybrid-page .commercial-hybrid-heatmap-intro p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:15px;
  line-height:1.6;
  max-width:34em;
}
body.commercial-hybrid-page .commercial-reach-stats{
  margin:22px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 20px;
  max-width:28em;
}
body.commercial-hybrid-page .commercial-reach-stats > div{
  margin:0;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.14);
}
body.commercial-hybrid-page .commercial-reach-stats dt{
  margin:0 0 4px;
  color:var(--roof-gold);
  font-size:clamp(28px,3vw,36px);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1;
}
body.commercial-hybrid-page .commercial-reach-stats dd{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:13px;
  line-height:1.35;
}
body.commercial-hybrid-page .commercial-heat-panel-section{
  min-height:clamp(280px,42vh,420px);
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
body.commercial-hybrid-page .commercial-heat-panel{
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:clamp(280px,46vh,420px);
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
body.commercial-hybrid-page .commercial-heat-copy{
  padding:12px 14px 8px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.commercial-hybrid-page .commercial-heat-copy span{
  display:block;
  color:var(--roof-gold);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:4px;
}
body.commercial-hybrid-page .commercial-heat-copy strong{
  display:block;
  font-size:16px;
  letter-spacing:-.02em;
  margin-bottom:4px;
}
body.commercial-hybrid-page .commercial-heat-copy p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:12px;
  line-height:1.45;
  max-width:46em;
}
body.commercial-hybrid-page .commercial-heat-canvas{
  min-height:0;
  overflow:hidden;
}
body.commercial-hybrid-page .commercial-heat-canvas svg{
  display:block;
  width:100%;
  height:100%;
  min-height:240px;
}
@media(max-width:960px){
  body.commercial-hybrid-page .commercial-hybrid-hero-impact-layout,
  body.commercial-hybrid-page .commercial-hybrid-heatmap-layout{
    grid-template-columns:1fr;
    gap:18px;
  }
  body.commercial-hybrid-page .commercial-hybrid-hero-copy{
    min-height:0;
    justify-content:flex-start;
    gap:18px;
  }
  body.commercial-hybrid-page .commercial-hero-actions{
    margin-top:0;
  }
  body.commercial-hybrid-page .commercial-hybrid-hero-systems{
    grid-template-rows:none;
    min-height:0;
  }
  body.commercial-hybrid-page .commercial-hybrid-hero-systems .commercial-hybrid-system{
    min-height:72px;
    height:auto;
  }
  body.commercial-hybrid-page .commercial-heat-panel,
  body.commercial-hybrid-page .commercial-heat-panel-section{
    min-height:0;
    display:block;
  }
  body.commercial-hybrid-page .commercial-heat-canvas{
    min-height:0;
    overflow:visible;
  }
  body.commercial-hybrid-page .commercial-heat-canvas svg{
    min-height:0;
    width:100%;
    height:auto;
    aspect-ratio:960 / 560;
  }
  body.commercial-hybrid-page .commercial-hybrid-hero-bleed:before,
  body.commercial-hybrid-page .commercial-hybrid-hero-metal:before{
    background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.88) 100%);
  }
}

/* Roofing phone layout: short step grid, stacked material photos, logos in one row. */
@media(max-width:700px){
  body.roof-page #roofing-intro{
    padding:64px 0 0;
  }
  body.roof-page #roofing-intro .roof-process-panel{
    padding:20px 16px 25px;
  }
  body.roof-page #roofing-intro .support-heading h1{
    margin-bottom:0;
  }
  body.roof-page #roofing-intro .roof-timeline{
    grid-template-columns:1fr 1fr;
    gap:12px 14px;
    margin-top:0;
  }
  body.roof-page #roofing-intro .roof-timeline li{
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    text-align:left;
    padding-top:10px;
  }
  body.roof-page #roofing-intro .roof-timeline li:nth-child(-n+2){
    border-top:0;
    padding-top:28px;
  }
  body.roof-page .roof-choice-grid{
    gap:clamp(48px,5vw,72px);
  }
  body.roof-page #roofing-intro .roof-timeline-num{
    margin:0;
    flex:none;
  }
  body.roof-page #roofing-intro .roof-timeline h3{
    font-size:15px;
    line-height:1.2;
    margin:0;
  }
  body.roof-page #roofing-intro .roof-timeline p,
  body.roof-page #roofing-intro .roof-timeline-cta{
    display:none;
  }
  body.roof-page .materials-vendor-logos{
    flex-wrap:nowrap;
    gap:8px;
  }
  body.roof-page .materials-vendor-logos li{
    width:auto;
    min-width:0;
    flex:1 1 0;
    height:48px;
    min-height:48px;
    padding:6px 8px;
  }
  body.roof-page .materials-vendor-logos img,
  body.roof-page .materials-vendor-certainteed img{
    height:24px;
    max-width:100%;
  }
  body.roof-page .roof-materials-row > summary{
    grid-template-columns:1fr;
    gap:12px;
    align-items:start;
  }
  body.roof-page .roof-materials-row > summary img{
    width:100%;
    height:132px;
    aspect-ratio:auto;
  }
  body.roof-page .roof-faq-list summary{
    position:relative;
    padding-right:28px;
  }
  body.roof-page .roof-faq-list summary:after{
    float:none;
    position:absolute;
    right:0;
    top:18px;
  }
}

/* Siding phone layout: more of the house, sharper replacement frame, stacked types. */
@media(max-width:700px){
  body.siding-page .siding-hero-stack{
    min-height:0;
  }
  body.siding-page .siding-intro{
    flex:0 0 auto;
    min-height:52vh;
    justify-content:flex-end;
    padding:28px 20px 32px;
  }
  body.siding-page .siding-intro::after{
    background:linear-gradient(90deg,#fff 0%,#fff 8%,rgba(255,255,255,.9) 28%,rgba(255,255,255,.45) 48%,rgba(255,255,255,0) 66%);
  }
  body.siding-page .siding-intro .support-heading h1{
    font-size:30px;
    line-height:1.05;
  }
  body.siding-page .siding-service{
    grid-template-columns:1fr;
  }
  body.siding-page .siding-service-photo-clip{
    aspect-ratio:2/1;
    min-height:0;
  }
  body.siding-page .materials-vendor-logos{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,150px));
    justify-content:center;
    gap:8px;
    width:100%;
  }
  body.siding-page .materials-vendor-logos li{
    width:auto;
    min-width:0;
    height:58px;
    min-height:58px;
    padding:8px;
  }
  body.siding-page .materials-vendor-logos li:nth-child(1){
    grid-column:1 / -1;
    grid-row:2;
    justify-self:center;
    width:150px;
  }
  body.siding-page .materials-vendor-logos li:nth-child(2){
    grid-column:1;
    grid-row:1;
  }
  body.siding-page .materials-vendor-logos li:nth-child(3){
    grid-column:2;
    grid-row:1;
  }
  body.siding-page .materials-vendor-logos img{
    height:30px;
    max-width:100%;
  }
  body.siding-page .roof-materials-row > summary{
    grid-template-columns:1fr;
    gap:12px;
    align-items:start;
  }
  body.siding-page .roof-materials-row > summary img{
    width:100%;
    height:132px;
    aspect-ratio:auto;
  }
  body.siding-page .siding-faq-list summary{
    position:relative;
    padding-right:28px;
  }
  body.siding-page .siding-faq-list summary:after{
    float:none;
    position:absolute;
    right:0;
    top:18px;
  }
}

/* Storm phone layout: number beside each point, FAQ icons clear of the question. */
@media(max-width:700px){
  body.storm-page .storm-signs-grid{
    grid-template-columns:1fr;
  }
  body.storm-page .storm-sign{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    column-gap:12px;
    align-items:start;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14);
    padding:18px 4px;
  }
  body.storm-page .storm-sign:last-child{
    border-bottom:0;
  }
  body.storm-page .storm-sign:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  body.storm-page .storm-sign-num{
    grid-row:1 / span 2;
    margin:3px 0 0;
  }
  body.storm-page .storm-sign h3,
  body.storm-page .storm-sign p{
    grid-column:2;
  }
  body.storm-page .storm-sign h3{
    margin:0 0 4px;
  }
  body.storm-page .storm-impact-point{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    column-gap:12px;
    align-items:start;
  }
  body.storm-page .storm-impact-num{
    grid-row:1 / span 2;
    margin:3px 0 0;
  }
  body.storm-page .storm-impact-point h3,
  body.storm-page .storm-impact-point p{
    grid-column:2;
  }
  body.storm-page .storm-impact-point h3{
    margin:0 0 4px;
  }
  body.storm-page .roof-faq-list summary{
    position:relative;
    padding-right:28px;
  }
  body.storm-page .roof-faq-list summary:after{
    float:none;
    position:absolute;
    right:0;
    top:18px;
  }
}

/* Homepage phone hero: match the button gap, and match the band under the reviews to the band above the headline. */
@media(max-width:650px){
  .hero-v2-reviews .hero-two-column{
    gap:24px;
  }
  body:has(.hero-v2-reviews) .hero-v2{
    padding-bottom:18px!important;
  }
}
