*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#242522;background:#f7f6f2}img{max-width:100%}a{color:inherit}.shell{width:min(1180px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(247,246,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid #d9d6ce}.header-row{min-height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.brand{font-weight:900;letter-spacing:.02em;text-decoration:none;font-size:21px}.brand small{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;color:#77736b;text-transform:uppercase;margin-top:2px}.main-nav{display:flex;justify-content:center;gap:25px}.main-nav a{text-decoration:none;font-size:14px;font-weight:750;color:#494a46}.main-nav a:hover,.main-nav a.active{color:#111}.contact-mini{display:flex;align-items:center;gap:8px}.contact-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;text-decoration:none;border:1px solid #cbc6bc;background:#fff;color:#282925;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.contact-icon:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(28,29,26,.14);background:#f0eee8}.contact-icon svg{width:18px;height:18px;fill:currentColor}.contact-icon.phone{background:#282925;color:#fff;border-color:#282925}.contact-icon.facebook{background:#fff;color:#282925}.facebook-mark{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:24px;line-height:1;transform:translateY(1px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{min-height:540px;display:flex;align-items:flex-end;position:relative;background-size:cover;background-position:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,18,17,.78),rgba(17,18,17,.25) 70%,rgba(17,18,17,.08))}.hero-inner{position:relative;color:#fff;padding:78px 0 68px;max-width:720px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:850;opacity:.86}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,7vw,82px);line-height:.98;margin:12px 0 18px;font-weight:500}.hero p{font-size:19px;line-height:1.55;max-width:650px;margin:0 0 24px}.actions{display:flex;flex-wrap:wrap;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:850;font-size:14px;background:#fff;color:#222}.btn.dark{background:#252723;color:#fff}.btn.outline{background:transparent;color:inherit;border:1px solid currentColor}.intro{padding:72px 0;background:#f7f6f2}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.intro h2,.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;color:#252723;font-size:clamp(34px,5vw,56px);line-height:1.06;margin:8px 0 18px}.intro p,.section-heading p{font-size:17px;line-height:1.7;color:#55564f}.intro-photo img{width:100%;height:430px;object-fit:cover;border-radius:18px}.project-nav{padding:70px 0 80px;background:#292b27;color:#fff}.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}.project-nav .section-heading h2,.project-nav .section-heading p{color:#fff}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.category-card{position:relative;display:block;min-height:310px;overflow:hidden;border-radius:17px;text-decoration:none;background:#111}.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.category-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.73),rgba(0,0,0,.04) 65%)}.category-card:hover img{transform:scale(1.035)}.category-label{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;font-family:Georgia,'Times New Roman',serif;font-size:26px}.category-label small{display:block;font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:5px;opacity:.8}.category-card.wide{grid-column:span 2}.featured-home{padding:76px 0;background:#fff}.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{border-radius:16px;overflow:hidden;background:#f1f0ec;text-decoration:none;transition:transform .2s ease}.feature-card:hover{transform:translateY(-3px)}.feature-card img{display:block;width:100%;height:240px;object-fit:cover}.feature-copy{padding:20px}.feature-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:500;margin:0 0 8px}.feature-copy p{margin:0;color:#5a5b55;line-height:1.55}.contact-band{padding:54px 0;background:#ddd8ce}.contact-band-row{display:flex;align-items:center;justify-content:space-between;gap:26px}.contact-band h2{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:500;margin:0 0 6px}.contact-band p{margin:0;color:#575750}.site-footer{padding:42px 0;background:#1e201d;color:#e9e8e2}.footer-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}.footer-links{display:flex;flex-wrap:wrap;gap:15px}.footer-links a{text-decoration:none;color:#e9e8e2;font-size:13px}.muted{color:#a9aaa4;font-size:12px;margin-top:10px}.page-hero{padding:74px 0 50px;background:#e9e6de}.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,6vw,68px);font-weight:500;line-height:1;margin:10px 0 18px}.page-hero p{font-size:18px;line-height:1.65;color:#4f504b}.page-hero img{width:100%;height:390px;object-fit:cover;border-radius:18px}.featured-projects{padding:58px 0;background:#fff}.featured-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.featured-project-card{display:grid;grid-template-columns:190px 1fr;overflow:hidden;border-radius:15px;background:#f1f0ec;text-decoration:none}.featured-project-card img{width:100%;height:100%;min-height:180px;object-fit:cover}.featured-project-card div{padding:22px}.featured-project-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:26px;margin:0 0 7px}.featured-project-card p{margin:0;color:#585952;line-height:1.5}.gallery-page{padding:66px 0;background:#f7f6f2}.gallery-group{margin-bottom:64px}.gallery-group:last-child{margin-bottom:0}.gallery-group-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:20px;border-bottom:1px solid #d7d3ca;padding-bottom:16px}.gallery-group h2{font-family:Georgia,'Times New Roman',serif;font-size:36px;font-weight:500;margin:0}.gallery-group p{max-width:610px;margin:0;color:#5b5b55;line-height:1.55}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo{display:block;position:relative;overflow:hidden;border-radius:10px;background:#ddd}.photo img{display:block;width:100%;height:250px;object-fit:cover;transition:transform .25s ease}.photo:hover img{transform:scale(1.025)}.photo span{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 10px;color:#fff;font-size:12px;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.72))}.project-form-page{padding:70px 0;background:#f7f6f2}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}.contact-card{background:#292b27;color:#fff;border-radius:18px;padding:34px;position:sticky;top:100px}.contact-card h2{font-family:Georgia,'Times New Roman',serif;font-size:37px;font-weight:500;margin:0 0 14px}.contact-card a{color:#fff}.form-card{background:#fff;border-radius:18px;padding:34px;border:1px solid #dedbd3}.form-card label{display:block;font-size:13px;font-weight:800;margin:0 0 7px}.form-card input,.form-card textarea,.form-card select{width:100%;border:1px solid #c9c6be;border-radius:9px;padding:12px 13px;font:inherit;background:#fff;margin-bottom:17px}.form-card textarea{min-height:150px;resize:vertical}.form-card button{border:0;cursor:pointer}.breadcrumb{padding:16px 0;background:#f7f6f2;border-bottom:1px solid #ddd9d0;font-size:12px;color:#6b6b65}.breadcrumb a{text-decoration:none}.lightbox{position:fixed;inset:0;background:rgba(10,10,10,.94);z-index:3000;display:none;align-items:center;justify-content:center;padding:24px}.lightbox.open{display:flex}.lightbox img{max-width:min(1200px,92vw);max-height:82vh;object-fit:contain}.lightbox-close{position:absolute;top:18px;right:24px;border:0;background:transparent;color:#fff;font-size:38px;cursor:pointer}.lightbox-caption{position:absolute;bottom:18px;left:20px;right:20px;text-align:center;color:#fff;font-size:13px}@media(max-width:900px){.header-row{grid-template-columns:1fr auto}.main-nav{display:none}.contact-icon{width:34px;height:34px}.contact-icon svg{width:16px;height:16px}.facebook-mark{font-size:21px}.intro-grid,.page-hero-grid,.form-layout{grid-template-columns:1fr}.category-grid,.featured-grid,.photo-grid{grid-template-columns:repeat(2,1fr)}.category-card.wide{grid-column:span 1}.featured-project-card{grid-template-columns:150px 1fr}.contact-card{position:static}.footer-grid{grid-template-columns:1fr}.intro-photo img,.page-hero img{height:330px}}@media(max-width:600px){.shell{width:min(100% - 24px,1180px)}.site-header{position:sticky}.header-row{min-height:64px;gap:10px}.brand{font-size:18px}.brand small{display:none}.contact-mini{gap:5px}.contact-mini{gap:4px}.contact-icon{width:32px;height:32px}.hero{min-height:500px}.hero-inner{padding:56px 0 50px}.hero h1{font-size:48px}.hero p{font-size:16px}.intro{padding:50px 0}.intro-grid{gap:26px}.intro-photo img{height:260px}.project-nav{padding:52px 0}.category-grid{grid-template-columns:1fr 1fr;gap:10px}.category-card{min-height:205px;border-radius:12px}.category-label{left:14px;right:14px;bottom:13px;font-size:20px}.featured-home{padding:52px 0}.featured-grid{grid-template-columns:1fr}.feature-card img{height:230px}.contact-band{padding:38px 0}.contact-band-row{align-items:flex-start;flex-direction:column}.contact-band h2{font-size:32px}.page-hero{padding:48px 0 36px}.page-hero-grid{gap:24px}.page-hero img{height:260px}.featured-projects{padding:42px 0}.featured-project-grid{grid-template-columns:1fr}.featured-project-card{grid-template-columns:115px 1fr}.featured-project-card div{padding:16px}.featured-project-card h3{font-size:21px}.gallery-page{padding:48px 0}.gallery-group{margin-bottom:46px}.gallery-group-head{display:block}.gallery-group h2{font-size:31px;margin-bottom:7px}.photo-grid{grid-template-columns:1fr 1fr;gap:7px}.photo img{height:170px}.photo span{font-size:10px;padding:25px 8px 8px}.project-form-page{padding:48px 0}.form-card,.contact-card{padding:24px}.footer-links{gap:10px}.actions{gap:7px}.btn{font-size:13px;padding:11px 15px}}


/* CDK restrained brand accents - 2026-08-22 */
:root{
  --cdk-blue:#123a78;
  --cdk-blue-deep:#0d2d61;
  --cdk-gold:#c99a2e;
  --cdk-stone:#f7f6f2;
  --cdk-charcoal:#292b27;
}

.brand{color:var(--cdk-blue-deep)}
.footer-brand{color:#fff}
.main-nav a:hover,.main-nav a.active{color:var(--cdk-blue-deep)}
.main-nav a.active{position:relative}
.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--cdk-gold);border-radius:2px}

.brand-eyebrow{color:var(--cdk-blue-deep)!important}
.text-link{color:var(--cdk-blue-deep);font-weight:800;text-decoration:none;border-bottom:2px solid rgba(201,154,46,.55);padding-bottom:2px}
.text-link:hover{border-color:var(--cdk-gold)}

.contact-icon.phone{background:var(--cdk-blue-deep);border-color:var(--cdk-blue-deep)}
.contact-icon.facebook{color:#1877f2}
.btn.brand-btn{background:var(--cdk-blue-deep);color:#fff}
.dark-outline{color:var(--cdk-blue-deep)!important;border-color:var(--cdk-blue-deep)!important}

.hero .eyebrow{color:#f0c95a;opacity:1}
.project-nav{background:#292b27}
.project-nav .eyebrow{color:#e2bd56;opacity:1}
.category-card:hover{box-shadow:0 0 0 2px var(--cdk-gold)}
.contact-band{border-top:3px solid var(--cdk-gold)}

.about-page{padding:72px 0;background:#fff}
.about-copy{max-width:850px}
.about-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(34px,5vw,52px);line-height:1.08;margin:0 0 24px;color:#252723}
.about-copy p{font-size:18px;line-height:1.75;color:#4e504a;margin:0 0 20px}
.about-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}

.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13)}
.social-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#e9e8e2;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 12px 7px 7px;font-size:13px;font-weight:800;transition:background .16s ease,transform .16s ease}
.social-link:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}
.social-mark{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;font-family:Arial,Helvetica,sans-serif;font-weight:900}
.facebook-social .social-mark{background:#1877f2;color:#fff;font-size:18px}
.nextdoor-social .social-mark{background:#8bcf32;color:#fff;font-size:13px}

@media(max-width:600px){
  .about-page{padding:48px 0}
  .about-copy p{font-size:17px}
  .social-link{flex:1 1 calc(50% - 5px);justify-content:center}
}


/* ABOUT PHOTO — SHOW FULL IMAGE, NO ZOOM/CROP */
.about-hero .page-hero-grid > div:last-child {
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-hero .page-hero-grid img {
    width: 100%;
    height: auto;
    max-height: 560px;
    object-fit: contain;
    object-position: center;
    background: #f7f6f2;
}

@media (max-width: 900px) {
    .about-hero .page-hero-grid img {
        max-height: none;
        width: 100%;
        height: auto;
    }
}


/* HOMEPAGE INTRO PORTRAIT PHOTO — FULL DOOR / STEPS / WALKWAY */
.intro-grid {
    grid-template-columns: 1.15fr .75fr;
}

.intro-photo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.intro-photo img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 620px;
    object-fit: contain;
    object-position: center;
    border-radius: 18px;
    display: block;
}

@media (max-width: 900px) {
    .intro-grid {
        grid-template-columns: 1fr;
    }

    .intro-photo img {
        width: 100%;
        max-height: none;
        height: auto;
    }
}


/* CDK SMALL BRAND BADGE — HEADER + FOOTER */
.brand-with-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.brand-with-badge > span {
    display: block;
}

.header-cdk-badge {
    display: block;
    width: 62px;
    height: 62px;
    object-fit: contain;
    object-position: center;
    border-radius: 7px;
    flex: 0 0 auto;
}

.footer-identity {
    display: flex;
    align-items: center;
    gap: 13px;
}

.footer-cdk-badge {
    display: block;
    width: 82px;
    height: 82px;
    object-fit: contain;
    object-position: center;
    border-radius: 8px;
    flex: 0 0 auto;
}

@media (max-width: 600px) {
    .brand-with-badge {
        gap: 7px;
    }

    .header-cdk-badge {
        width: 58px;
        height: auto;
        border-radius: 5px;
    }

    .footer-cdk-badge {
        width: 76px;
        height: auto;
    }
}


/* WHOLE CDK BADGE — preserve complete invoice/billing logo */
.header-cdk-badge {
    width: 62px !important;
    height: 62px !important;
    object-fit: contain !important;
    object-position: center !important;
}

.footer-cdk-badge {
    width: 82px !important;
    height: 82px !important;
    object-fit: contain !important;
    object-position: center !important;
}

@media (max-width: 600px) {
    .header-cdk-badge {
        width: 48px !important;
        height: 48px !important;
    }
    .footer-cdk-badge {
        width: 68px !important;
        height: 68px !important;
    }
}


/* ===== CDK FINAL POLISH PASS — 2026-08-22 ===== */

/* Better keyboard focus without adding visual clutter */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(201,154,46,.85);
    outline-offset: 3px;
}

/* Keep project photos feeling like the main content */
.gallery-group-head p {
    font-size: 15px;
}

.gallery-toggle {
    display: none;
    margin: 14px auto 0;
    border: 1px solid #c8c3b8;
    background: #fff;
    color: #222;
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 999px;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

/* Slightly cleaner touch behavior */
.category-card,
.feature-card,
.featured-project-card,
.photo {
    -webkit-tap-highlight-color: transparent;
}

@media (max-width: 600px) {
    /* Keep the complete CDK invoice/billing mark visible without crowding contact icons */
    .shell {
        width: min(100% - 20px,1180px);
    }

    .header-row {
        min-height: 60px;
        gap: 7px;
        grid-template-columns: minmax(0,1fr) auto;
    }

    .brand-with-badge {
        gap: 6px;
        min-width: 0;
    }

    .header-cdk-badge {
        width: 40px !important;
        height: 40px !important;
        border-radius: 5px;
    }

    .brand-with-badge > span {
        min-width: 0;
        font-size: 15px;
        line-height: 1.05;
        white-space: nowrap;
    }

    .brand small {
        display: block;
        font-size: 7px;
        letter-spacing: .09em;
        margin-top: 3px;
    }

    .contact-mini {
        gap: 3px;
    }

    .contact-icon {
        width: 29px;
        height: 29px;
    }

    .contact-icon svg {
        width: 14px;
        height: 14px;
    }

    .facebook-mark {
        font-size: 18px;
    }

    /* Homepage hierarchy: less dead space, same photo-first look */
    .hero {
        min-height: 470px;
        background-position: center center;
    }

    .hero-inner {
        padding: 48px 0 42px;
    }

    .hero h1 {
        font-size: 44px;
    }

    .intro,
    .project-nav,
    .featured-home {
        padding-top: 46px;
        padding-bottom: 48px;
    }

    .section-heading {
        margin-bottom: 26px;
    }

    .intro h2,
    .section-heading h2 {
        font-size: 34px;
    }

    /* Mobile gallery baseline: show 3 first, expand on demand */
    .gallery-group.mobile-collapsed .photo-grid .photo:nth-child(n+4) {
        display: none;
    }

    .gallery-group.has-gallery-toggle .gallery-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .gallery-group-head {
        margin-bottom: 14px;
        padding-bottom: 12px;
    }

    .photo-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .photo img {
        height: 230px;
    }

    .photo span {
        font-size: 11px;
        padding: 30px 10px 9px;
    }

    /* Category hero photo is visible sooner */
    .page-hero {
        padding-top: 40px;
    }

    .page-hero-grid {
        gap: 20px;
    }

    .page-hero img {
        height: 250px;
    }

    /* Footer badge stays present but secondary */
    .footer-cdk-badge {
        width: 62px !important;
        height: 62px !important;
    }

    .footer-identity {
        align-items: center;
        gap: 10px;
    }

    .contact-band .actions {
        width: 100%;
    }

    .contact-band .btn {
        flex: 1 1 auto;
    }
}


/* WHAT WOULD YOU LIKE TO SEE — priority layout */
@media (min-width: 901px) {
    .category-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .category-grid .category-card,
    .category-grid .category-card.wide,
    .category-grid .category-card.feature-wide {
        grid-column: span 1 !important;
    }

    /* Second row: Stone Veneer gets the larger feature position */
    .category-grid .category-card.feature-wide {
        grid-column: span 2 !important;
    }
}

@media (max-width: 900px) {
    .category-grid .category-card,
    .category-grid .category-card.feature-wide {
        grid-column: span 1 !important;
    }
}
