/* ===========================================================================
   Stillwater Ranch - Harrill Construction x Coffman Stair Parts (page CSS)
   Scoped under body.gb-harrill-construction-tpl .gb-app. Tokens, @font-face and
   base type come from the theme's colors_and_type.css; this page ships its own
   full component CSS (it does NOT use gb-home.css). Header/footer are Elementor
   chrome (the export's own nav/footer/grit-chrome.js were stripped on build).
   =========================================================================== */

/* ---- header offset: pull the hero under the transparent Elementor header ---- */
body.gb-harrill-construction-tpl{ --gb-header-h:130px; }
@media (max-width:920px){ body.gb-harrill-construction-tpl{ --gb-header-h:120px; } }
@media (max-width:760px){ body.gb-harrill-construction-tpl{ --gb-header-h:100px; } }
body.gb-harrill-construction-tpl #content,
body.gb-harrill-construction-tpl .site-content{ padding-top:0!important; margin-top:0!important; }
body.gb-harrill-construction-tpl .gb-app{ margin-top:calc(-1 * var(--gb-header-h))!important; font-family:var(--font-sans); color:var(--gb-navy); background:var(--gb-paper); line-height:1.6; -webkit-font-smoothing:antialiased; }
/* hero copy clears the transparent header; the navy background still fills behind it */
body.gb-harrill-construction-tpl .gb-app .hero-stage{ padding-top:calc(var(--gb-header-h) + 40px)!important; }
@media (max-width:760px){ body.gb-harrill-construction-tpl .gb-app .hero-stage{ padding-top:calc(var(--gb-header-h) + 18px)!important; } }
/* the sticky jump bar pins just below the Elementor header (export used its own 74px nav) */
body.gb-harrill-construction-tpl .gb-app .jumpwrap{ top:var(--gb-header-h)!important; }
body.gb-harrill-construction-tpl section[id]{ scroll-margin-top:calc(var(--gb-header-h) + 60px)!important; }

/* ---- flattened export styles (scoped) ---- */

:root{
  --gb-navy:#18355E;--gb-navy-900:#0E1E36;--gb-navy-700:#123363;
  --gb-pink:#FF1894;--gb-pink-600:#D40D78;--gb-blue:#0092D6;
  --gb-paper:#F9F7F2;--gb-line:#DCDBD4;--gb-concrete:#94989B;
  --gb-ink:#18355E;--gb-ink-2:#41526B;--gb-ink-3:#6F7682;
  --font-display:"Zuume","Arial Narrow",system-ui,sans-serif;
  --font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --ease-out:cubic-bezier(.22,1,.36,1);--dur:240ms;
}
body.gb-harrill-construction-tpl .gb-app *{box-sizing:border-box;}
html:has(body.gb-harrill-construction-tpl){scroll-behavior:smooth;}
html:has(body.gb-harrill-construction-tpl), body.gb-harrill-construction-tpl .gb-app{margin:0;}
body.gb-harrill-construction-tpl .gb-app{font-family:var(--font-sans);color:var(--gb-navy);background:var(--gb-paper);line-height:1.6;-webkit-font-smoothing:antialiased;}
body.gb-harrill-construction-tpl .gb-app img{display:block;max-width:100%;}
body.gb-harrill-construction-tpl .gb-app a{color:inherit;text-decoration:none;}
body.gb-harrill-construction-tpl .gb-app .wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
body.gb-harrill-construction-tpl .gb-app .wrap-n{max-width:920px;margin:0 auto;padding:0 32px;}
body.gb-harrill-construction-tpl .gb-app h1, body.gb-harrill-construction-tpl .gb-app h2, body.gb-harrill-construction-tpl .gb-app h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;line-height:1.0;letter-spacing:.01em;margin:0;}
body.gb-harrill-construction-tpl .gb-app h2{font-size:clamp(30px,4.2vw,56px);}
body.gb-harrill-construction-tpl .gb-app h3{font-size:clamp(19px,2.2vw,26px);}
body.gb-harrill-construction-tpl .gb-app p{margin:0 0 18px;}
body.gb-harrill-construction-tpl .gb-app .lead{font-size:clamp(17px,1.6vw,21px);color:var(--gb-ink-2);line-height:1.6;}
body.gb-harrill-construction-tpl .gb-app .kicker, body.gb-harrill-construction-tpl .gb-app .eyb{font-family:var(--font-sans);font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:12.5px;color:var(--gb-pink);}
body.gb-harrill-construction-tpl .gb-app ::selection{background:var(--gb-pink);color:#fff;}
body.gb-harrill-construction-tpl .gb-app .sec{padding:104px 0;}
body.gb-harrill-construction-tpl .gb-app section[id]{scroll-margin-top:140px;}

/* nav */
body.gb-harrill-construction-tpl .gb-app .nav{position:sticky;top:0;z-index:90;background:rgba(11,23,48,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(120,160,210,.16);}
body.gb-harrill-construction-tpl .gb-app .nav-in{display:flex;align-items:center;justify-content:space-between;height:74px;}
body.gb-harrill-construction-tpl .gb-app .nlink{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12px;color:#AEBED5;transition:color var(--dur);}
body.gb-harrill-construction-tpl .gb-app .nlink:hover{color:#fff;}
body.gb-harrill-construction-tpl .gb-app .nbtn{display:inline-flex;align-items:center;gap:8px;background:var(--gb-pink);color:#fff;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;padding:12px 22px;border-radius:999px;box-shadow:0 10px 30px -8px rgba(255,24,148,.5);transition:transform var(--dur),box-shadow var(--dur);}
body.gb-harrill-construction-tpl .gb-app .nbtn:hover{transform:translateY(-2px);}

/* hero (centered editorial) */
body.gb-harrill-construction-tpl .gb-app .hero{position:relative;overflow:hidden;background:#0E1E36;color:#fff;}
body.gb-harrill-construction-tpl .gb-app .hero-wm{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);width:min(70vw,620px);opacity:.06;z-index:0;pointer-events:none;}
body.gb-harrill-construction-tpl .gb-app .hero-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 80% at 50% 46%,rgba(4,9,18,.55),transparent 72%);z-index:-1;}
body.gb-harrill-construction-tpl .gb-app .hero-stage{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 24px 78px;}
body.gb-harrill-construction-tpl .gb-app .hero-rule{display:flex;align-items:center;gap:18px;justify-content:center;margin-bottom:26px;}
body.gb-harrill-construction-tpl .gb-app .hero-rule span{height:1px;width:52px;background:rgba(255,255,255,.45);}
body.gb-harrill-construction-tpl .gb-app .hero-eyb{font-weight:700;letter-spacing:.34em;text-transform:uppercase;font-size:12px;color:var(--gb-pink);}
body.gb-harrill-construction-tpl .gb-app .hero-client{font-family:var(--font-display);text-transform:uppercase;font-weight:700;line-height:.9;font-size:clamp(56px,10.5vw,140px);margin:0;color:#fff;}
body.gb-harrill-construction-tpl .gb-app .hero-h{font-family:var(--font-display);text-transform:uppercase;font-weight:700;line-height:.95;font-size:clamp(19px,2.4vw,32px);letter-spacing:.04em;color:var(--gb-pink);margin:14px 0 0;}
body.gb-harrill-construction-tpl .gb-app .hero-spec{position:relative;z-index:3;border-top:1px solid rgba(255,255,255,.12);background:#0B1730;}
body.gb-harrill-construction-tpl .gb-app .hero-spec-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
body.gb-harrill-construction-tpl .gb-app .hero-spec .cell{padding:24px 28px;border-left:1px solid rgba(255,255,255,.12);}
body.gb-harrill-construction-tpl .gb-app .hero-spec .cell:first-child{border-left:none;}
body.gb-harrill-construction-tpl .gb-app .hero-spec .sk{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:6px;}
body.gb-harrill-construction-tpl .gb-app .hero-spec .sv{font-size:15px;font-weight:700;color:#fff;}

/* jump bar */
body.gb-harrill-construction-tpl .gb-app .jumpwrap{position:sticky;top:74px;z-index:60;background:rgba(11,23,48,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(120,160,210,.18);}
body.gb-harrill-construction-tpl .gb-app .jumprow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;padding:12px 32px;}
body.gb-harrill-construction-tpl .gb-app .jchip{font-family:var(--font-sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:11.5px;color:#AEBED5;padding:8px 15px;border:1px solid rgba(120,160,210,.28);border-radius:999px;transition:color var(--dur),border-color var(--dur),background var(--dur);}
body.gb-harrill-construction-tpl .gb-app .jchip:hover{color:#fff;border-color:var(--gb-pink);background:rgba(255,24,148,.12);}

/* buttons */
body.gb-harrill-construction-tpl .gb-app .btn-pink{display:inline-flex;align-items:center;gap:9px;background:var(--gb-pink);color:#fff;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;padding:14px 26px;border-radius:999px;box-shadow:0 10px 30px -8px rgba(255,24,148,.5);transition:transform var(--dur),box-shadow var(--dur);}
body.gb-harrill-construction-tpl .gb-app .btn-pink:hover{transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(255,24,148,.62);}

/* definition + proof band */
body.gb-harrill-construction-tpl .gb-app .defband{background:var(--gb-paper);border-bottom:1px solid var(--gb-line);}
body.gb-harrill-construction-tpl .gb-app .defband-in{padding:52px 32px;display:grid;grid-template-columns:1.12fr 1fr;gap:44px;align-items:center;max-width:1240px;margin:0 auto;}
body.gb-harrill-construction-tpl .gb-app .defband .def{font-size:clamp(18px,1.8vw,23px);line-height:1.55;color:var(--gb-ink-2);margin:0;text-wrap:pretty;}
body.gb-harrill-construction-tpl .gb-app .defband .def strong{color:var(--gb-navy);}
body.gb-harrill-construction-tpl .gb-app .defband .credit{border-left:3px solid var(--gb-pink);padding-left:22px;}
body.gb-harrill-construction-tpl .gb-app .defband .credit .ck{font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gb-pink);margin-bottom:8px;}
body.gb-harrill-construction-tpl .gb-app .defband .credit .cv{font-size:clamp(16px,1.5vw,19px);line-height:1.4;color:var(--gb-navy);font-weight:700;}

/* the work / gallery */
body.gb-harrill-construction-tpl .gb-app .vfeat{position:relative;margin:48px auto 56px;overflow:hidden;background:#0E1E36;cursor:pointer;max-width:880px;width:calc(100% - 64px);}
body.gb-harrill-construction-tpl .gb-app .vfeat.bleed{border-radius:14px;box-shadow:var(--shadow-card);}
body.gb-harrill-construction-tpl .gb-app .vfeat.branded .vmedia::after{display:none;}
body.gb-harrill-construction-tpl .gb-app .vftitle{text-align:center;max-width:880px;margin:0 auto 56px;padding:0 24px;}
body.gb-harrill-construction-tpl .gb-app .vftitle .vk{font:700 12px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gb-pink);margin:0 0 12px;}
body.gb-harrill-construction-tpl .gb-app .vftitle h3{font-family:var(--font-display);text-transform:uppercase;color:var(--gb-navy);font-weight:700;line-height:1.0;font-size:clamp(24px,3vw,40px);letter-spacing:.01em;margin:0;}
body.gb-harrill-construction-tpl .gb-app .shoot-bleed{position:relative;width:100%;margin:0 0 56px;display:block;}
body.gb-harrill-construction-tpl .gb-app .shoot-bleed img{width:100%;height:auto;max-height:360px;object-fit:cover;object-position:center 50%;display:block;}
body.gb-harrill-construction-tpl .gb-app .shoot-bleed::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,30,54,0) 34%,rgba(14,30,54,.5) 68%,rgba(14,30,54,.84));pointer-events:none;}
body.gb-harrill-construction-tpl .gb-app .sb-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px clamp(22px,5vw,68px);}
body.gb-harrill-construction-tpl .gb-app .sb-cap .vk{font:700 12px/1 var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gb-pink);margin:0 0 12px;}
body.gb-harrill-construction-tpl .gb-app .sb-cap h3{font-family:var(--font-display);text-transform:uppercase;color:#fff;font-weight:700;line-height:1.0;font-size:clamp(24px,3.4vw,46px);letter-spacing:.01em;margin:0;max-width:22ch;}
body.gb-harrill-construction-tpl .gb-app .vfeat .vmedia{position:relative;aspect-ratio:16/9;max-height:78vh;}
body.gb-harrill-construction-tpl .gb-app .vfeat .vmedia>img{width:100%;height:100%;object-fit:cover;display:block;}
body.gb-harrill-construction-tpl .gb-app .vfeat .vmedia::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,30,54,.10),rgba(14,30,54,.72));pointer-events:none;}
body.gb-harrill-construction-tpl .gb-app .vfeat .vplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:84px;height:84px;border-radius:50%;background:var(--gb-pink);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px rgba(255,24,148,.45);transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out);}
body.gb-harrill-construction-tpl .gb-app .vfeat:hover .vplay{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 14px 52px rgba(255,24,148,.6);}
body.gb-harrill-construction-tpl .gb-app .vfeat .vplay svg{width:34px;height:34px;margin-left:5px;fill:#fff;}
body.gb-harrill-construction-tpl .gb-app .vfeat .vcap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:34px clamp(22px,4vw,46px);}
body.gb-harrill-construction-tpl .gb-app .vfeat .vcap .vk{font:700 12px/1 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gb-pink);margin:0 0 12px;}
body.gb-harrill-construction-tpl .gb-app .vfeat .vcap .vt{font-family:var(--font-display);text-transform:uppercase;color:#fff;font-weight:700;line-height:1.02;font-size:clamp(20px,2.5vw,34px);letter-spacing:.01em;max-width:24ch;margin:0;}
body.gb-harrill-construction-tpl .gb-app .vfeat iframe{width:100%;aspect-ratio:16/9;display:block;border:0;}
@media(max-width:560px){body.gb-harrill-construction-tpl .gb-app .vfeat .vplay{width:64px;height:64px;}body.gb-harrill-construction-tpl .gb-app .vfeat .vplay svg{width:26px;height:26px;}}
body.gb-harrill-construction-tpl .gb-app .work-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:42px;}
body.gb-harrill-construction-tpl .gb-app .work-head h2{margin:8px 0 0;}
body.gb-harrill-construction-tpl .gb-app .work-head .count{max-width:34ch;color:var(--gb-ink-3);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0;}
body.gb-harrill-construction-tpl .gb-app .grid{column-count:3;column-gap:18px;}
@media(max-width:900px){body.gb-harrill-construction-tpl .gb-app .grid{column-count:2;}}
@media(max-width:560px){body.gb-harrill-construction-tpl .gb-app .grid{column-count:1;}}
body.gb-harrill-construction-tpl .gb-app .feature-duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
body.gb-harrill-construction-tpl .gb-app .feature-duo .g-item img{aspect-ratio:4/3;object-fit:cover;}
body.gb-harrill-construction-tpl .gb-app .feature-duo .g-item{box-shadow:0 28px 64px -30px rgba(14,30,55,.58);}
body.gb-harrill-construction-tpl .gb-app .feat-tag{position:absolute;top:14px;left:14px;z-index:6;background:var(--gb-pink);color:#fff;font-family:var(--font-sans);font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 11px;border-radius:999px;box-shadow:0 6px 16px -6px rgba(255,24,148,.7);}
@media(max-width:760px){body.gb-harrill-construction-tpl .gb-app .feature-duo{grid-template-columns:1fr;}}
body.gb-harrill-construction-tpl .gb-app .g-item{break-inside:avoid;margin:0 0 18px;position:relative;border-radius:12px;overflow:hidden;background:#0E1E36;box-shadow:0 16px 38px -26px rgba(14,30,55,.4);}
body.gb-harrill-construction-tpl .gb-app .g-item img{width:100%;height:auto;transition:transform .5s var(--ease-out);}
body.gb-harrill-construction-tpl .gb-app .g-item:hover img{transform:scale(1.04);}
body.gb-harrill-construction-tpl .gb-app .g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 14px;background:linear-gradient(transparent,rgba(11,23,48,.92));color:#fff;font-size:12.5px;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;}
body.gb-harrill-construction-tpl .gb-app .g-item:hover figcaption{opacity:1;transform:none;}
@media(hover:none){body.gb-harrill-construction-tpl .gb-app .g-item figcaption{opacity:1;transform:none;background:linear-gradient(transparent,rgba(11,23,48,.86));}}

/* the client */
body.gb-harrill-construction-tpl .gb-app .client-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
body.gb-harrill-construction-tpl .gb-app .client-photo{border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -34px rgba(14,30,55,.5);}
body.gb-harrill-construction-tpl .gb-app .client-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}

/* faq */
body.gb-harrill-construction-tpl .gb-app .faq details{background:#fff;border:1px solid var(--gb-line);border-radius:14px;padding:2px 24px;box-shadow:0 18px 40px -24px rgba(14,30,55,.18);}
body.gb-harrill-construction-tpl .gb-app .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:clamp(17px,1.9vw,22px);color:var(--gb-navy);}
body.gb-harrill-construction-tpl .gb-app .faq summary::-webkit-details-marker{display:none;}
body.gb-harrill-construction-tpl .gb-app .faq .pm{color:var(--gb-pink);font-size:26px;line-height:1;transition:transform .25s;}
body.gb-harrill-construction-tpl .gb-app .faq details[open] .pm{transform:rotate(45deg);}
body.gb-harrill-construction-tpl .gb-app .faq .fa{color:var(--gb-ink-2);font-size:15.5px;line-height:1.6;margin:0 0 20px;}

/* cta */
body.gb-harrill-construction-tpl .gb-app .cta{position:relative;overflow:hidden;background:linear-gradient(118deg,#0B1730 0%,#163B6E 46%,#0092D6 116%);color:#fff;text-align:center;}
body.gb-harrill-construction-tpl .gb-app .cta-in{position:relative;z-index:2;padding:112px 32px;max-width:760px;margin:0 auto;}
body.gb-harrill-construction-tpl .gb-app .cta h2{color:#fff;margin:16px 0 18px;}
body.gb-harrill-construction-tpl .gb-app .cta p{color:rgba(255,255,255,.84);font-size:17px;max-width:50ch;margin:0 auto 28px;}
body.gb-harrill-construction-tpl .gb-app .cta-wm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(60vw,560px);opacity:.1;z-index:1;}

/* footer */
body.gb-harrill-construction-tpl .gb-app .ft{background:#0B1730;color:#fff;}
body.gb-harrill-construction-tpl .gb-app .ft-in{padding:64px 32px 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;max-width:1240px;margin:0 auto;}
body.gb-harrill-construction-tpl .gb-app .ft p{color:rgba(255,255,255,.6);font-size:14px;max-width:34ch;}
body.gb-harrill-construction-tpl .gb-app .ft .fh{font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:11px;color:rgba(255,255,255,.5);margin-bottom:14px;}
body.gb-harrill-construction-tpl .gb-app .ft a{display:block;color:rgba(255,255,255,.78);font-size:14px;padding:5px 0;}
body.gb-harrill-construction-tpl .gb-app .ft a:hover{color:#fff;}
body.gb-harrill-construction-tpl .gb-app .ft-legal{max-width:1240px;margin:0 auto;padding:0 32px 36px;}
body.gb-harrill-construction-tpl .gb-app .ft-legal div{padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:rgba(255,255,255,.45);}

@media(max-width:980px){body.gb-harrill-construction-tpl .gb-app .nav .nlink.sec-link{display:none;}}
@media(max-width:860px){body.gb-harrill-construction-tpl .gb-app .client-in{grid-template-columns:1fr;gap:30px;}body.gb-harrill-construction-tpl .gb-app .defband-in{grid-template-columns:1fr;gap:28px;}}
@media(max-width:760px){
  body.gb-harrill-construction-tpl .gb-app .sec{padding:60px 0;}
  body.gb-harrill-construction-tpl .gb-app .wrap, body.gb-harrill-construction-tpl .gb-app .wrap-n{padding-left:20px;padding-right:20px;}
  body.gb-harrill-construction-tpl .gb-app section[id]{scroll-margin-top:120px;}
  body.gb-harrill-construction-tpl .gb-app .hero-stage{padding:96px 20px 56px;}
  body.gb-harrill-construction-tpl .gb-app .hero-spec-in{grid-template-columns:1fr 1fr;}
  body.gb-harrill-construction-tpl .gb-app .hero-spec .cell:nth-child(odd){border-left:none;}
  body.gb-harrill-construction-tpl .gb-app .jumprow{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:11px 20px;}
  body.gb-harrill-construction-tpl .gb-app .jumprow::-webkit-scrollbar{display:none;}
  body.gb-harrill-construction-tpl .gb-app .jchip{flex:none;}
  body.gb-harrill-construction-tpl .gb-app .ft-in{grid-template-columns:1fr;gap:30px;}
  body.gb-harrill-construction-tpl .gb-app .cta-in{padding:76px 20px;}
  /* picture gallery -> horizontal swipe carousels */
  body.gb-harrill-construction-tpl .gb-app .feature-duo{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 0 14px;padding:0 0 16px;scrollbar-width:thin;scrollbar-color:var(--gb-pink) rgba(14,30,55,.12);-webkit-overflow-scrolling:touch;}
  body.gb-harrill-construction-tpl .gb-app .feature-duo::-webkit-scrollbar{height:5px;}
  body.gb-harrill-construction-tpl .gb-app .feature-duo::-webkit-scrollbar-track{background:rgba(14,30,55,.10);border-radius:99px;}
  body.gb-harrill-construction-tpl .gb-app .feature-duo::-webkit-scrollbar-thumb{background:var(--gb-pink);border-radius:99px;}
  body.gb-harrill-construction-tpl .gb-app .feature-duo .g-item{flex:0 0 86%;scroll-snap-align:start;margin:0;}
  body.gb-harrill-construction-tpl .gb-app .feature-duo .g-item img{aspect-ratio:auto;height:230px;object-fit:cover;}
  body.gb-harrill-construction-tpl .gb-app .grid{column-count:unset;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0;padding:0 0 18px;scrollbar-width:thin;scrollbar-color:var(--gb-pink) rgba(14,30,55,.12);-webkit-overflow-scrolling:touch;}
  body.gb-harrill-construction-tpl .gb-app .grid::-webkit-scrollbar{height:5px;}
  body.gb-harrill-construction-tpl .gb-app .grid::-webkit-scrollbar-track{background:rgba(14,30,55,.10);border-radius:99px;}
  body.gb-harrill-construction-tpl .gb-app .grid::-webkit-scrollbar-thumb{background:var(--gb-pink);border-radius:99px;}
  body.gb-harrill-construction-tpl .gb-app .grid .g-item{flex:0 0 82%;scroll-snap-align:start;margin:0;break-inside:auto;}
  body.gb-harrill-construction-tpl .gb-app .grid .g-item img{height:240px;object-fit:cover;}
}

/* ===== MOD-style production polish ===== */
body.gb-harrill-construction-tpl .gb-app #sprog{position:fixed;top:0;left:0;height:3px;width:0;z-index:300;background:linear-gradient(90deg,var(--gb-pink),var(--gb-blue));box-shadow:0 0 14px rgba(255,24,148,.5);transition:width .1s linear;}
body.gb-harrill-construction-tpl .gb-app .hero-glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(72% 58% at 50% -6%, rgba(0,146,214,.20), transparent 62%);}
body.gb-harrill-construction-tpl .gb-app .hero-emb{position:absolute;z-index:0;pointer-events:none;opacity:.05;width:min(26vw,300px);}
body.gb-harrill-construction-tpl .gb-app .he1{left:2%;top:9%;transform:rotate(-8deg);width:min(20vw,230px);opacity:.1;}
body.gb-harrill-construction-tpl .gb-app .he2{right:3%;bottom:9%;transform:rotate(-5deg);width:min(34vw,360px);opacity:.13;}
@media(max-width:820px){body.gb-harrill-construction-tpl .gb-app .hero-emb{display:none;}}
body.gb-harrill-construction-tpl .gb-app .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);}
body.gb-harrill-construction-tpl .gb-app .reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){body.gb-harrill-construction-tpl .gb-app .reveal{opacity:1 !important;transform:none !important;}}
body.gb-harrill-construction-tpl .gb-app .g-item{cursor:zoom-in;}
body.gb-harrill-construction-tpl .gb-app .zbadge{position:absolute;top:12px;right:12px;z-index:5;display:inline-flex;align-items:center;gap:6px;background:rgba(11,23,48,.85);color:#fff;font-family:var(--font-sans);font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:7px 11px;border-radius:999px;opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s;pointer-events:none;}
body.gb-harrill-construction-tpl .gb-app .g-item:hover .zbadge{opacity:1;transform:none;}
@media(hover:none){body.gb-harrill-construction-tpl .gb-app .zbadge{opacity:1;transform:none;}}
body.gb-harrill-construction-tpl .gb-app .jchip.active{color:#fff;border-color:var(--gb-pink);background:rgba(255,24,148,.16);}
body.gb-harrill-construction-tpl .gb-app .lightbox{position:fixed;inset:0;z-index:400;background:rgba(6,12,22,.94);display:flex;align-items:center;justify-content:center;padding:32px;opacity:0;visibility:hidden;transition:opacity .3s;cursor:zoom-out;}
body.gb-harrill-construction-tpl .gb-app .lightbox.open{opacity:1;visibility:visible;}
body.gb-harrill-construction-tpl .gb-app .lightbox img{max-width:94vw;max-height:88vh;border-radius:8px;box-shadow:0 40px 100px -30px rgba(0,0,0,.8);}
body.gb-harrill-construction-tpl .gb-app .lightbox .lb-cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.82);font-size:13px;padding:0 24px;}
body.gb-harrill-construction-tpl .gb-app .lightbox .lb-close{position:absolute;top:20px;right:26px;color:#fff;font-size:34px;line-height:1;font-family:var(--font-sans);background:none;border:none;cursor:pointer;}

/* ===========================================================================
   House-rule overrides (Grit Blueprint) - applied on every spotlight build.
   1) FAQ accordion titles ship too small in the export -> bump (desktop ~24,
      mobile ~22).  2) Mobile (<=760px) 15px floor on the readable sub-15px
      content lines (the Coffman partnership line, gallery captions, the shoot
      count). Tracked uppercase micro-labels/eyebrows/tags/chips are design
      elements and are intentionally left at their original size.
   =========================================================================== */
body.gb-harrill-construction-tpl .gb-app .faq summary{ font-size:clamp(19px,2.2vw,24px); }
@media (max-width:760px){
  body.gb-harrill-construction-tpl .gb-app .faq summary{ font-size:22px; }
  body.gb-harrill-construction-tpl .gb-app .work-head .count{ font-size:15px; }
  body.gb-harrill-construction-tpl .gb-app .g-item figcaption{ font-size:15px; }
  body.gb-harrill-construction-tpl .gb-app .work-head p[style*="13px"]{ font-size:15px !important; }
}

/* ---------------------------------------------------------------------------
   Hero/CTA decorative marks: pin height:auto so the intrinsic aspect ratio is
   preserved. These set width only and rely on auto height; a global theme/
   Elementor img rule on the live site was overriding it and stretching the
   wide Coffman wordmark (2889x683) and bird outline. Scoped + !important so it
   wins regardless of chrome CSS.
   --------------------------------------------------------------------------- */
body.gb-harrill-construction-tpl .gb-app .hero-wm,
body.gb-harrill-construction-tpl .gb-app .hero-emb,
body.gb-harrill-construction-tpl .gb-app .cta-wm{ height:auto !important; }
