@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/bricolage-grotesque-latin.woff2) format('woff2')}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fira-sans-700-latin.woff2) format('woff2')}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/fira-sans-800-latin.woff2) format('woff2')}
/* RoofQuest site styles (shared by all pages) */
  /* ---------- RoofQuest scoped styles (rq- prefix avoids theme conflicts) ---------- */
  #rq-home{font-family:'Bricolage Grotesque',system-ui,sans-serif;color:#17232D;background:#F4F1E9;margin:0;line-height:1.6;font-size:17px}
  #rq-home *,#rq-home *::before,#rq-home *::after{box-sizing:border-box}
  #rq-home h1,#rq-home h2,#rq-home h3{font-family:'Fira Sans',sans-serif;font-weight:800;line-height:1.12;margin:0}
  #rq-home p{margin:0}
  #rq-home img{max-width:100%;height:auto;display:block}
  #rq-home a{text-decoration:none}
  .rq-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
  .rq-btn{display:inline-block;background:#F4A340;color:#17232D;font-weight:700;font-size:17px;padding:16px 30px;border-radius:10px;transition:background .15s ease}
  .rq-btn:hover{background:#F4F1E9}
  .rq-btn-ghost{display:inline-block;border:1.5px solid rgba(244,241,233,.55);color:#F4F1E9;font-weight:600;font-size:17px;padding:14.5px 28px;border-radius:10px}
  .rq-btn-ghost:hover{border-color:#F4F1E9}
  .rq-eyebrow{font-size:13.5px;font-weight:700;letter-spacing:.18em;color:#F4A340;text-transform:uppercase}
  .rq-eyebrow-dark{font-size:13.5px;font-weight:700;letter-spacing:.18em;color:#113F5B;text-transform:uppercase}
  /* Compass-star brand mark before every section eyebrow */
  .rq-eyebrow::before,.rq-eyebrow-dark::before{content:"";display:inline-block;width:13px;height:13px;margin:0 9px -1px 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 1 15.6 10.4 25 13 15.6 15.6 13 25 10.4 15.6 1 13 10.4 10.4Z' fill='%23F4A340'/%3E%3C/svg%3E") no-repeat center/contain}

  /* Faint topographic contours (decorative, behind content). One shared SVG symbol, placed on
     one side of each section and faded toward the text with a mask so it never sits behind copy at
     full strength. The left version is the same drawing mirrored. */
  .rq-hero,.rq-stakes,.rq-guide,.rq-plan,.rq-leadgen,.rq-final{position:relative;overflow:hidden}
  .rq-hero .rq-wrap,.rq-stakes .rq-wrap,.rq-guide .rq-wrap,.rq-plan .rq-wrap,.rq-leadgen .rq-wrap,.rq-final .rq-wrap{position:relative}
  .rq-topo{position:absolute;top:0;right:0;width:min(780px,60%);height:100%;pointer-events:none;fill:none;stroke-width:1.25;-webkit-mask-image:linear-gradient(to left,#000 15%,transparent 90%);mask-image:linear-gradient(to left,#000 15%,transparent 90%)}
  .rq-topo-left{right:auto;left:0;transform:scaleX(-1)}
  .rq-topo-on-light{stroke:#113F5B;stroke-opacity:.07}
  .rq-topo-on-dark{stroke:#3996C4;stroke-opacity:.12}
  .rq-topo-on-amber{stroke:#17232D;stroke-opacity:.08}
  @media (max-width:760px){.rq-topo{width:85%;height:60%}}

  /* Dashed waypoint trail connecting the three plan steps */
  .rq-trail{display:block;width:100%;max-width:1060px;margin:-6px auto -26px}
  @media (max-width:960px){.rq-trail{display:none}}

  /* Header */
  .rq-header{background:#F4F1E9;border-bottom:1px solid rgba(17,63,91,.12);position:relative}
  .rq-header .rq-wrap{display:flex;align-items:center;gap:28px;padding-top:18px;padding-bottom:18px}
  .rq-logo img{width:210px}
  .rq-header-phone{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:#113F5B;font-weight:700;font-size:15.5px;white-space:nowrap}
  .rq-header-phone:hover span{text-decoration:underline;text-decoration-color:#F4A340;text-decoration-thickness:2px;text-underline-offset:6px}
  .rq-header-cta{padding:12px 22px;font-size:15px;white-space:nowrap}

  /* Hero */
  .rq-hero{background:#113F5B;color:#F4F1E9}
  .rq-hero .rq-wrap{display:flex;gap:64px;align-items:center;padding-top:80px;padding-bottom:88px;position:relative;z-index:1}
  .rq-hero-copy{max-width:620px;display:flex;flex-direction:column;gap:26px}
  .rq-hero h1{font-size:clamp(34px,4.2vw,50px);letter-spacing:-.015em;text-wrap:balance}
  .rq-hero-sub{font-size:19px;line-height:1.6;color:rgba(244,241,233,.85)}
  /* Hero photo: fills the right side and fades into Expedition Blue behind the text */
  .rq-hero-media{display:block;position:absolute;top:0;right:0;bottom:0;width:58%}
  .rq-hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% 40%}
  .rq-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,#113F5B 0%,rgba(17,63,91,.92) 24%,rgba(17,63,91,.5) 52%,rgba(17,63,91,.12) 100%)}
  @media (max-width:1099px){
    .rq-hero-media{position:relative;width:100%;height:auto;aspect-ratio:16/9;max-height:440px}
    .rq-hero-media::after{background:linear-gradient(to bottom,#113F5B 0%,rgba(17,63,91,0) 28%)}
  }
  .rq-hero-ctas{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
  .rq-hero-trust{border-top:1px solid rgba(244,241,233,.18);padding-top:20px;display:flex;flex-direction:column;gap:8px;margin-top:4px}
  .rq-hero-trust strong{font-size:15px;font-weight:500;color:rgba(244,241,233,.9)}

  /* Quest map card */

  /* Stakes */
  .rq-stakes{background:#F4F1E9;text-align:center}
  .rq-stakes .rq-wrap{padding-top:88px;padding-bottom:88px;display:flex;flex-direction:column;gap:22px;align-items:center}
  .rq-stakes h2{font-size:clamp(28px,3.6vw,40px);color:#113F5B;max-width:820px}
  .rq-stakes p{font-size:18.5px;max-width:760px;color:rgba(23,35,45,.8)}

  /* Simple content pages (contact, thank-you) */
  #rq-home .rq-page{text-align:left;align-items:flex-start;max-width:820px;padding-top:64px;padding-bottom:84px;display:flex;flex-direction:column;gap:20px}
  #rq-home .rq-page h1{font-size:clamp(30px,4vw,44px);color:#113F5B}
  #rq-home .rq-page h2{font-size:24px;color:#113F5B;margin-top:10px}
  #rq-home .rq-page p{font-size:18px;color:rgba(23,35,45,.85)}
  #rq-home .rq-page p a,#rq-home .rq-contact-card a{color:#113F5B;font-weight:600;text-decoration:underline;text-decoration-color:#F4A340;text-decoration-thickness:2px;text-underline-offset:4px}
  #rq-home .rq-signoff{font-weight:600}
  .rq-contact-card{background:#fff;border:1px solid rgba(17,63,91,.1);border-radius:14px;padding:28px;margin:6px 0;display:grid;gap:18px}
  .rq-contact-card dt{font-size:13.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#113F5B}
  .rq-contact-card dd{margin:4px 0 0;font-size:18px}

  /* Services */
  .rq-services{background:#fff}
  .rq-services .rq-wrap{padding-top:88px;padding-bottom:88px;display:flex;flex-direction:column;gap:44px}
  .rq-services-head{display:flex;flex-direction:column;gap:14px;max-width:720px}
  .rq-services h2{font-size:clamp(28px,3.6vw,40px);color:#113F5B}
  .rq-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .rq-card{background:#F4F1E9;border:1px solid rgba(17,63,91,.1);border-radius:14px;padding:32px 28px;display:flex;flex-direction:column;gap:14px}
  .rq-card h3{font-size:22px;color:#113F5B}
  .rq-card p{font-size:16px;color:rgba(23,35,45,.8)}
  .rq-card svg{flex-shrink:0}

  /* Guide */
  .rq-guide{background:#113F5B;color:#F4F1E9}
  .rq-guide .rq-wrap{padding-top:88px;padding-bottom:88px;display:flex;gap:64px;align-items:center}
  .rq-guide-copy{display:flex;flex-direction:column;gap:20px;max-width:640px}
  .rq-guide h2{font-size:clamp(28px,3.6vw,40px)}
  .rq-guide p{font-size:18px;color:rgba(244,241,233,.85)}
  .rq-guide-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:10px}
  .rq-stat span{display:block;line-height:1.45}
  .rq-stat strong{display:block;font-family:'Fira Sans',sans-serif;font-size:34px;font-weight:800;color:#F4A340}
  .rq-stat span{font-size:14px;color:rgba(244,241,233,.7)}

  /* Plan */
  .rq-plan{background:#F4F1E9}
  .rq-plan .rq-wrap{padding-top:88px;padding-bottom:88px;display:flex;flex-direction:column;gap:44px;align-items:center;text-align:center}
  .rq-plan h2{font-size:clamp(28px,3.6vw,40px);color:#113F5B}
  .rq-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:100%}
  .rq-step{background:#fff;border:1px solid rgba(17,63,91,.1);border-radius:14px;padding:36px 28px;display:flex;flex-direction:column;gap:12px;align-items:center}
  .rq-step-num{width:46px;height:46px;border-radius:50%;background:#F4A340;color:#17232D;font-family:'Fira Sans',sans-serif;font-weight:800;font-size:21px;display:flex;align-items:center;justify-content:center}
  .rq-step h3{font-size:21px;color:#113F5B}
  .rq-step p{font-size:15.5px;color:rgba(23,35,45,.8)}

  /* Testimonials */
  .rq-testimonials{background:#fff}
  .rq-testimonials .rq-wrap{padding-top:88px;padding-bottom:88px;display:flex;flex-direction:column;gap:44px}
  .rq-testimonials h2{font-size:clamp(28px,3.6vw,40px);color:#113F5B;text-align:center}
  .rq-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .rq-quote{background:#F4F1E9;border:1px solid rgba(17,63,91,.1);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:18px}
  .rq-quote p{font-size:15.5px;color:rgba(23,35,45,.85);flex-grow:1}
  .rq-quote-person{display:flex;align-items:center;gap:14px}
  .rq-quote-person img{width:52px;height:52px;border-radius:50%;object-fit:cover}
  .rq-quote-person strong{display:block;font-size:15px;color:#113F5B}
  .rq-quote-person span{font-size:13.5px;color:rgba(23,35,45,.65)}

  /* Client wall: three tilted rows of logos scrolling in alternate directions */
  .rq-clients{background:#F4F1E9;overflow:hidden;padding:72px 0 calc(64px + 3vw)}
  .rq-clients .rq-wrap{display:flex;justify-content:center;margin-bottom:calc(40px + 3vw)}
  .rq-clients h2{font-size:clamp(28px,3.6vw,40px);color:#113F5B;text-align:center}
  .rq-logo-band{--tile:144px;--space:32px;width:116vw;margin-left:-8vw;transform:rotate(-3.5deg);display:flex;flex-direction:column;gap:28px}
  .rq-logo-row{overflow:hidden}
  .rq-logo-track{display:flex;width:max-content;animation:rq-logos-left 96s linear infinite}
  .rq-logo-row-15 .rq-logo-track{animation-duration:90s}
  .rq-logo-row-right .rq-logo-track{animation-name:rq-logos-right}
  .rq-logo-band:hover .rq-logo-track{animation-play-state:paused}
  .rq-logo-set{display:flex}
  #rq-home .rq-logo-set img{width:var(--tile);height:var(--tile);margin-right:var(--space);padding:14px;background:#fff;border:1px solid rgba(17,63,91,.08);border-radius:16px;object-fit:contain;flex-shrink:0}
  @keyframes rq-logos-left{from{transform:translateX(0)}to{transform:translateX(-33.3333%)}}
  @keyframes rq-logos-right{from{transform:translateX(-33.3333%)}to{transform:translateX(0)}}
  @media (max-width:760px){.rq-logo-band{--tile:92px;--space:14px;gap:16px}#rq-home .rq-logo-set img{padding:9px;border-radius:12px}}
  @media (prefers-reduced-motion:reduce){.rq-logo-track{animation:none}}

  /* Videos (lazy-load facades: the iframe only loads on click) */
  .rq-videos{background:#fff}
  .rq-videos .rq-wrap{padding-top:88px;padding-bottom:88px;display:flex;flex-direction:column;gap:40px}
  .rq-videos-head{display:flex;flex-direction:column;gap:12px;text-align:center;align-items:center}
  .rq-videos h1,.rq-videos h2{font-size:clamp(30px,4vw,44px);color:#113F5B}
  .rq-video-page .rq-wrap{padding-top:64px}
  .rq-videos-sub{font-size:17.5px;color:rgba(23,35,45,.8);max-width:680px}
  .rq-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .rq-video-item{display:flex;flex-direction:column;gap:12px}
  .rq-video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#17232D;cursor:pointer;border:0;padding:0;display:block;width:100%}
  .rq-video img{width:100%;height:100%;object-fit:cover;opacity:.92}
  .rq-video-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
  .rq-video-play span{width:68px;height:48px;background:#F4A340;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,.35);transition:transform .15s ease}
  .rq-video:hover .rq-video-play span{transform:scale(1.08)}
  .rq-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
  .rq-video-item p{font-size:15px;font-weight:600;color:#113F5B;text-align:center}

  /* Lead gen band */
  .rq-leadgen{background:#17232D;color:#F4F1E9}
  .rq-leadgen .rq-wrap{padding-top:72px;padding-bottom:72px;display:flex;gap:48px;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .rq-leadgen-copy{max-width:640px;display:flex;flex-direction:column;gap:14px}
  .rq-leadgen h2{font-size:clamp(26px,3.2vw,36px)}
  .rq-leadgen p{font-size:17.5px;color:rgba(244,241,233,.85)}

  /* Final CTA */
  .rq-final{background:#F4A340;text-align:center}
  .rq-final .rq-wrap{padding-top:76px;padding-bottom:76px;display:flex;flex-direction:column;gap:20px;align-items:center}
  .rq-final h2{font-size:clamp(28px,3.6vw,42px);color:#17232D}
  .rq-final p{font-size:18px;color:rgba(23,35,45,.85);max-width:640px}
  .rq-btn-dark{display:inline-block;background:#113F5B;color:#F4F1E9;font-weight:700;font-size:17px;padding:17px 34px;border-radius:10px}
  .rq-btn-dark:hover{background:#17232D}

  /* Footer */
  .rq-footer{background:#113F5B;color:rgba(244,241,233,.75)}
  .rq-footer .rq-wrap{padding-top:64px;padding-bottom:40px;display:flex;flex-direction:column;gap:40px}
  .rq-footer-top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
  .rq-footer-logo img{width:200px;margin-bottom:14px}
  .rq-footer h4{font-family:'Fira Sans',sans-serif;font-size:15px;font-weight:700;color:#F4F1E9;margin:0 0 12px;letter-spacing:.08em;text-transform:uppercase}
  .rq-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
  .rq-footer a{color:rgba(244,241,233,.75);font-size:15px}
  .rq-footer a:hover{color:#F4A340}
  .rq-footer-bottom a{font-size:13.5px}
  .rq-footer-bottom{border-top:1px solid rgba(244,241,233,.15);padding-top:22px;font-size:13.5px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:rgba(244,241,233,.7)}

  /* Responsive */
  @media (max-width: 960px){
    .rq-hero .rq-wrap{flex-direction:column;align-items:flex-start;padding-top:52px;padding-bottom:56px}
    .rq-cards,.rq-steps,.rq-quotes,.rq-video-grid{grid-template-columns:1fr}
    .rq-guide .rq-wrap{flex-direction:column;align-items:flex-start}
    .rq-header .rq-wrap{gap:16px}
  }
  /* Phones: logo, phone icon button, and the booking button only */
  @media (max-width:600px){
    .rq-logo img{width:140px}
    .rq-header .rq-wrap{gap:10px;padding-top:14px;padding-bottom:14px}
    .rq-header-phone{width:44px;height:44px;justify-content:center;border:1.5px solid rgba(17,63,91,.35);border-radius:10px;flex-shrink:0}
    .rq-header-phone span{display:none}
    .rq-header-cta{padding:8px 14px;font-size:14px;line-height:1.25;white-space:normal;text-align:center;max-width:124px}
    .rq-guide-stats{grid-template-columns:1fr;gap:18px}
  }
