:root{--ink:#171713;--paper:#f4f1e9;--cream:#e8e2d5;--copper:#c97845;--copper-dark:#9b4f28;--muted:#706f68;--line:rgba(23,23,19,.14);--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:99;background:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header{height:80px;display:flex;align-items:center;gap:2rem;padding:0 clamp(1.25rem,4vw,4rem);background:rgba(244,241,233,.96);border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:.7rem;margin-right:auto}.brand img{width:42px;height:42px;border-radius:50%;object-fit:cover}.brand span{display:grid;line-height:1}.brand strong{font:800 1.25rem/1 var(--display);letter-spacing:-.05em}.brand small{font:700 .56rem/1.2 var(--display);letter-spacing:.22em;margin-top:.28rem}.site-nav{display:flex;gap:1.75rem;font-size:.9rem;font-weight:600}.site-nav a:hover{color:var(--copper-dark)}.header-call{align-self:stretch;display:grid;align-content:center;padding-left:2rem;border-left:1px solid var(--line);line-height:1.2}.header-call span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.header-call strong{font:700 .92rem var(--display)}.nav-toggle{display:none;background:0;border:0;padding:.5rem}.nav-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px}.hero{min-height:min(800px,calc(100vh - 80px));position:relative;isolation:isolate;display:grid;align-items:end;overflow:hidden;background:#181817;color:#fff}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{background:url("assets/source-1.jpg") center/cover no-repeat;transform:scale(1.02)}.hero-shade{background:linear-gradient(90deg,rgba(12,12,11,.95),rgba(12,12,11,.7) 46%,rgba(12,12,11,.2)),linear-gradient(0deg,rgba(12,12,11,.84),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(880px,90%);padding:clamp(4rem,9vw,8.5rem) clamp(1.25rem,5vw,5rem) clamp(2rem,5vw,4rem)}.eyebrow{display:flex;align-items:center;gap:.8rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:.72rem}.eyebrow span{width:34px;height:2px;background:var(--copper)}.eyebrow.dark{color:var(--copper-dark)}h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.045em}h1{font-size:clamp(3rem,7.4vw,6.9rem);line-height:.94}h1 em,h2 em{font-style:normal;color:var(--copper)}.hero-copy{font-size:clamp(1rem,1.55vw,1.25rem);max-width:640px;color:rgba(255,255,255,.78);margin:1.8rem 0}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:1.8rem;padding:.8rem 1.2rem;border:1px solid transparent;font-weight:700;font-size:.88rem;cursor:pointer}.button-primary{background:var(--copper);color:#1a120d}.button-primary:hover{background:#dc8b56}.button-ghost{border-color:rgba(255,255,255,.34);color:#fff}.button-ghost:hover{background:#fff;color:#111}.hero-trust{display:flex;margin-top:3.5rem;border-top:1px solid rgba(255,255,255,.2);padding-top:1.25rem}.hero-trust div{display:grid;padding-right:2.2rem;margin-right:2.2rem;border-right:1px solid rgba(255,255,255,.2)}.hero-trust div:last-child{border:0}.hero-trust strong{font-size:.85rem}.hero-trust span{color:rgba(255,255,255,.6);font-size:.75rem}.hero-mark{position:absolute;z-index:1;right:-.06em;bottom:-.23em;font:800 clamp(12rem,38vw,36rem)/.8 var(--display);letter-spacing:-.13em;color:rgba(255,255,255,.055);white-space:nowrap}.hero-mark span{font-size:.42em}.section-pad{padding:clamp(4.5rem,9vw,9rem) clamp(1.25rem,5vw,5rem)}.intro{display:grid;grid-template-columns:1.45fr .8fr;gap:8vw;align-items:end;border-bottom:1px solid var(--line)}h2{font-size:clamp(2.5rem,5vw,5.3rem);line-height:1.02}.intro-copy{font-size:1.12rem;color:var(--muted)}.text-link{display:inline-flex;gap:1rem;color:var(--ink);font-weight:700;border-bottom:1px solid;margin-top:1rem}.section-heading{display:grid;grid-template-columns:1.4fr .65fr;gap:8vw;align-items:end;margin-bottom:4rem}.section-heading>p{color:var(--muted);max-width:430px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.service-card{padding:2.2rem 1.5rem 2.5rem;border-right:1px solid var(--line);min-height:400px;display:flex;flex-direction:column}.service-card:last-child{border:0}.service-number{font-size:.7rem;color:var(--muted);letter-spacing:.12em}.service-icon{font-size:2.2rem;color:var(--copper-dark);margin:3rem 0 1.4rem}.service-card h3{font-size:1.35rem}.service-card p{color:var(--muted);font-size:.9rem}.service-card a{margin-top:auto;font-size:.82rem;font-weight:700}.service-card:hover{background:#ece6da}.work{background:#181817;color:#fff}.work-heading{max-width:900px}.work-heading>p:last-child{max-width:640px;color:rgba(255,255,255,.58);margin:1.5rem 0 3rem}.work-collage{display:grid;grid-template-columns:1.2fr .75fr;grid-template-rows:320px 320px;gap:1rem}.project{margin:0;position:relative;overflow:hidden;background:#333}.project-owner{grid-row:1/3}.project-logo{grid-column:2}.project img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.025)}.project figcaption{position:absolute;inset:auto 0 0;padding:4rem 1.5rem 1.4rem;background:linear-gradient(transparent,rgba(0,0,0,.86));display:grid}.project figcaption span{color:var(--copper);text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:700}.project figcaption strong{font:700 1.15rem var(--display)}.image-note{margin-top:1rem;font-size:.72rem;color:rgba(255,255,255,.42);text-transform:uppercase;letter-spacing:.08em}.about{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}.about-portrait{position:relative}.about-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}.portrait-badge{position:absolute;right:-2rem;bottom:2rem;background:var(--copper);width:150px;height:150px;border-radius:50%;display:grid;place-content:center;text-align:center}.portrait-badge strong{font:800 1.8rem var(--display)}.portrait-badge span{font-size:.65rem;max-width:90px;line-height:1.2}.about-copy .lead{font:600 1.2rem/1.5 var(--display);color:var(--ink);margin-top:2rem}.about-copy>p{color:var(--muted);max-width:620px}.owner-signoff{display:flex;align-items:center;gap:1.2rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.signature{font:italic 800 2rem/1 var(--display);color:var(--copper-dark)}.owner-signoff div:last-child{display:grid}.owner-signoff span{color:var(--muted);font-size:.8rem}.process{background:#e8e1d4}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:90px 1fr;gap:1rem;padding:1.65rem 0;border-bottom:1px solid var(--line)}.process-list li>span{color:var(--copper-dark);font-size:.75rem;font-weight:700}.process-list li div{display:grid;grid-template-columns:.6fr 1fr;gap:2rem}.process-list h3{font-size:1.25rem}.process-list p{margin:0;color:var(--muted)}.local-proof{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#1d211c;color:#fff}.local-content{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,5rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.local-content p:not(.eyebrow){color:rgba(255,255,255,.62);max-width:520px;margin:1.5rem 0 2rem}.local-map{position:relative;min-height:520px;overflow:hidden;background:#252a24}.map-lines{position:absolute;inset:-15%;background:repeating-radial-gradient(ellipse at 58% 48%,transparent 0 38px,rgba(255,255,255,.07) 39px 40px),linear-gradient(33deg,transparent 48%,rgba(201,120,69,.2) 49% 50%,transparent 51%),linear-gradient(115deg,transparent 45%,rgba(255,255,255,.08) 46% 46.5%,transparent 47%)}.map-pin{position:absolute;left:57%;top:42%;display:grid}.map-pin span{width:18px;height:18px;background:var(--copper);border:5px solid #fff;border-radius:50%;box-shadow:0 0 0 9px rgba(201,120,69,.25);margin-bottom:.8rem}.map-pin strong{font-family:var(--display)}.map-pin small{color:rgba(255,255,255,.55)}.area-list{position:absolute;left:2rem;right:2rem;bottom:2rem;display:flex;gap:.5rem;flex-wrap:wrap}.area-list span{border:1px solid rgba(255,255,255,.18);padding:.45rem .7rem;font-size:.7rem}.estimate{background:#151512;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.estimate-copy>p:not(.eyebrow){color:rgba(255,255,255,.6);max-width:560px}.direct-contact{display:grid;margin-top:3rem}.direct-contact span,.direct-contact small{color:rgba(255,255,255,.5);font-size:.75rem}.direct-contact a{font:700 1.5rem var(--display);color:var(--copper)}.estimate-form{display:grid;gap:1.25rem;padding:2rem;background:#22221e;border:1px solid rgba(255,255,255,.1)}.estimate-form label{display:grid;gap:.4rem}.estimate-form label>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6)}input,select,textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.2);border-radius:0;background:transparent;color:#fff;padding:.75rem .1rem;outline:none}select option{color:#111}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--copper)}.estimate-form .button{width:100%;margin-top:.6rem}.form-note{font-size:.7rem;color:rgba(255,255,255,.43);margin:0}.site-footer{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2rem;padding:4rem clamp(1.25rem,5vw,5rem) 1.5rem;background:#0f0f0d;color:#fff}.site-footer>div{display:flex;flex-direction:column;align-items:flex-start}.site-footer h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--copper);margin-bottom:1rem}.site-footer a,.site-footer span{font-size:.8rem;color:rgba(255,255,255,.62);margin:.2rem 0}.site-footer small{color:rgba(255,255,255,.38)}.footer-brand p{font-size:.8rem;color:rgba(255,255,255,.5)}.footer-bottom{grid-column:1/-1!important;flex-direction:row!important;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:1.4rem;margin-top:2rem}
@media(max-width:900px){.site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.nav-toggle{display:block}.header-call{display:none}.hero-content{width:100%}.hero-trust div{padding-right:1rem;margin-right:0}.intro,.section-heading,.about,.estimate{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.service-card{border-bottom:1px solid var(--line)}.work-collage{grid-template-columns:1fr;grid-template-rows:500px 260px 260px}.project-owner{grid-row:auto}.project-logo{grid-column:auto}.local-proof{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.footer-brand,.footer-bottom{grid-column:1/-1!important}}

[hidden]{display:none!important}.phone-reveal{font:inherit}.header-call.phone-reveal{border:0;border-left:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}.text-phone-reveal,.footer-phone-reveal{width:max-content;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--copper);padding:.15rem 0;font-weight:700;cursor:pointer}.footer-phone-reveal{color:rgba(255,255,255,.75);font-size:.8rem}
@media(max-width:560px){.site-header{height:68px}.site-nav{top:68px}.hero{min-height:calc(100vh - 68px)}h1{font-size:clamp(2.8rem,14vw,4.4rem)}.hero-trust{display:grid;grid-template-columns:1fr 1fr}.hero-trust div{border:0}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px;border-right:0}.work-collage{grid-template-rows:420px 220px 220px}.portrait-badge{right:-.5rem;width:120px;height:120px}.process-list li{grid-template-columns:45px 1fr}.process-list li div{grid-template-columns:1fr;gap:.2rem}.site-footer{grid-template-columns:1fr}.footer-bottom{flex-direction:column!important}.hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img{transition:none}}
.hero-media{background-image:url("assets/drywall.jpg")}
.quick-services{display:grid;grid-template-columns:repeat(3,1fr);background:#111;color:#fff}.quick-card{height:360px;position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.18)}.quick-card:last-child{border:0}.quick-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.68);transition:transform .5s,filter .5s}.quick-card>span{position:absolute;inset:auto 0 0;display:grid;padding:5rem 1.5rem 1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.9))}.quick-card small{color:var(--copper);font-weight:700;letter-spacing:.15em}.quick-card strong{font:700 clamp(1.25rem,2vw,1.8rem) var(--display)}.quick-card em{font-style:normal;font-size:.76rem;color:rgba(255,255,255,.62)}.quick-card:hover img{transform:scale(1.04);filter:brightness(.82)}
@media(max-width:760px){.quick-services{grid-template-columns:1fr}.quick-card{height:260px;border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}}
.category-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}.category-gallery figure{margin:0;position:relative;height:240px;overflow:hidden;background:#292925}.category-gallery figure:last-child{grid-column:2/4}.category-gallery img{width:100%;height:100%;object-fit:cover}.category-gallery figcaption{position:absolute;inset:auto 0 0;padding:2.5rem 1rem .9rem;background:linear-gradient(transparent,rgba(0,0,0,.9));font:700 .82rem var(--display)}
@media(max-width:760px){.category-gallery{grid-template-columns:1fr 1fr}.category-gallery figure:last-child{grid-column:1/-1}}
.owner-cutout{background:linear-gradient(135deg,#ddd7ca,#f7f4ed);overflow:hidden}.owner-cutout img{object-fit:contain;object-position:center bottom}.experience-strip{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(3rem,8vw,8rem);padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,5rem);background:#1b1b18;color:#fff}.experience-strip>div>p:last-child{max-width:620px;color:rgba(255,255,255,.62)}.experience-strip figure{margin:0;position:relative;min-height:420px;background:radial-gradient(circle at 50% 30%,#3e3d37,#20201d 68%);overflow:hidden}.experience-strip figure img{position:absolute;inset:auto 0 0;width:100%;height:92%;object-fit:contain;object-position:center bottom}.experience-strip figcaption{position:absolute;inset:auto 1rem 1rem;display:grid;padding:1rem;background:rgba(15,15,13,.82);backdrop-filter:blur(8px)}.experience-strip figcaption span{color:rgba(255,255,255,.55);font-size:.72rem}
@media(max-width:760px){.experience-strip{grid-template-columns:1fr}.experience-strip figure{min-height:340px}}
.hero-owner{position:absolute;z-index:2;right:1.5%;bottom:0;height:91%;max-width:48%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}.hero-content{width:min(820px,64%)}
@media(max-width:900px){.hero-owner{opacity:.28;right:-12%;max-width:72%;height:82%}.hero-content{width:100%}}
.hero{background:#141412}.hero:after{content:"";position:absolute;z-index:0;right:0;top:0;bottom:0;width:39%;background:linear-gradient(155deg,#35342f,#1d1d1a 72%);border-left:1px solid rgba(255,255,255,.1)}.hero-media{right:39%;background-position:center;filter:saturate(.65) contrast(1.08)}.hero-shade{right:39%;background:linear-gradient(90deg,rgba(12,12,11,.95),rgba(12,12,11,.55) 80%,rgba(12,12,11,.28))}.hero-content{width:61%;padding-right:2rem}.hero-owner{right:2.5%;height:86%;max-width:34%;filter:drop-shadow(0 20px 35px rgba(0,0,0,.45))}.hero-mark{display:none}
@media(max-width:640px){.hero:after{display:none}.hero-media,.hero-shade{right:0}.hero-shade{background:rgba(12,12,11,.8)}.hero-owner{display:none}.hero-content{width:100%;padding-right:1.25rem}}
.service-card{padding:0 1.5rem 2rem;min-height:500px}.service-photo{width:calc(100% + 3rem);max-width:none;height:210px;object-fit:cover;margin:0 -1.5rem 1.25rem}.service-card .service-number{margin-bottom:1.25rem}.service-card h3{margin-bottom:.35rem}
@media(max-width:560px){.service-card{min-height:470px}.service-photo{height:230px}}
.hero:after{display:none}.hero-media{inset:0;background-image:url("assets/source-1.jpg");background-position:center;background-size:cover;filter:none}.hero-shade{inset:0;background:linear-gradient(90deg,rgba(8,8,8,.9) 0%,rgba(8,8,8,.67) 47%,rgba(8,8,8,.18) 78%,rgba(8,8,8,.28) 100%)}.hero-content{width:62%;padding-right:2rem}.hero-owner{display:block;opacity:1;right:1.5%;height:90%;max-width:38%;z-index:3}.hero-mark{display:none}
@media(max-width:640px){.hero-owner{display:none}.hero-content{width:100%}.hero-shade{background:rgba(8,8,8,.76)}}
.hero-owner{display:none!important}.hero-media{background-image:url("assets/source-1.jpg?v=7")!important;background-position:center!important}
.hero-media{background-image:url("assets/source-1.jpg?v=8")!important}.hero-owner{display:block!important;opacity:1!important;right:0!important;bottom:0!important;width:42%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center top!important;z-index:3!important;filter:none!important;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 17%,#000 100%);mask-image:linear-gradient(to right,transparent 0%,#000 17%,#000 100%)}
@media(max-width:640px){.hero-owner{display:none!important}}

/* Keep the complete owner photo and every primary hero action visible in the
   opening desktop viewport. The source photo already contains the brick wall,
   so no transparency mask is needed at its left edge. */
@media(min-width:641px){
  .hero-content{
    width:62%;
    padding:clamp(2rem,4.5vh,3.5rem) 2rem clamp(1.4rem,3vh,2.2rem) clamp(1.25rem,4vw,4rem);
  }
  .hero-content h1{font-size:clamp(3.5rem,5.5vw,5.4rem)}
  .hero-copy{margin:1rem 0;line-height:1.45}
  .hero-trust{margin-top:1.5rem}
  .hero-owner{
    right:1%!important;
    bottom:0!important;
    width:38%!important;
    height:94%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:right bottom!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
}

/* Keep the workwear portrait supportive rather than dominant. */
@media(min-width:641px){
  .about-portrait{
    width:62%;
    max-width:300px;
    justify-self:center;
  }
  .about-portrait img{
    filter:saturate(.78) contrast(.94);
  }
  .about-portrait .portrait-badge{
    right:-1rem;
    bottom:1rem;
    width:110px;
    height:110px;
  }
}

/* The banner template's desktop centre is narrower than the browser window.
   Keep the written desktop navigation there; reserve the two-bar control for
   actual phone widths only. */
@media(min-width:641px) and (max-width:900px){
  .site-nav{
    display:flex;
    position:static;
    flex-direction:row;
    align-items:center;
    padding:0;
    border:0;
    background:transparent;
  }
  .nav-toggle{display:none}
  .header-call{display:grid}
}

/* Keep the complete C&K wall mark clear of Charlie's portrait. */
@media(min-width:641px){
  .hero-media{background-position:70% center!important}
}

/* Final unified hero artwork: one continuous brick wall, CK and Charlie. */
.hero-media{
  background-image:url("assets/hero-ck-charlie-v2.png?v=1"),url("assets/source-1.jpg?v=8")!important;
  background-position:center top,center!important;
  background-size:100% auto,cover!important;
  background-repeat:no-repeat,no-repeat!important;
}
.hero-owner{display:none!important}
@media(min-width:641px){
  .hero{
    min-height:0!important;
    height:calc(100vw * .5374 + 55px);
  }
  .hero-content{width:47%!important}
  .hero-content{
    padding:1rem 2rem 1rem 2.25rem!important;
  }
  .hero-content .eyebrow{margin:0 0 .45rem}
  .hero-content h1{
    font-size:44px!important;
    line-height:.94;
  }
  .hero-copy{
    margin:.6rem 0!important;
    font-size:.82rem!important;
    line-height:1.32!important;
  }
  .hero-actions{flex-wrap:nowrap}
  .hero-actions .button{
    min-height:44px;
    gap:.65rem;
    padding:.55rem .8rem;
    font-size:.74rem;
    white-space:nowrap;
  }
  .hero-trust{
    margin-top:.75rem!important;
    padding-top:.55rem!important;
  }
  .hero-trust div{
    padding-right:.75rem!important;
    margin-right:.75rem!important;
  }
  .hero-trust strong{font-size:.72rem}
  .hero-trust span{font-size:.64rem}
}

.experience-strip figure{min-height:0;aspect-ratio:16/9}
.experience-strip figure img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.experience-strip figcaption{
  inset:auto auto .75rem .75rem;
  width:auto;
  max-width:calc(100% - 1.5rem);
  padding:.6rem .8rem;
  background:rgba(15,15,13,.72);
  backdrop-filter:blur(5px);
  border-left:3px solid var(--copper);
  line-height:1.2;
}
.experience-strip figcaption strong{font-size:.84rem}
.experience-strip figcaption span{font-size:.66rem;margin-top:.18rem}
