/* Shared components reuse the authored Crafted Home palette and system fonts. */
/* Make inline prose links transformable without changing surrounding font sizes. */
:is(.crafted-page,.crafted-site-footer,.crafted-also-see) a:not([class]){display:inline-block;}
@media(hover:hover) and (pointer:fine){
 :is(.crafted-page,.crafted-site-footer,.crafted-also-see) a[href]{transition:scale .16s ease;}
 :is(.crafted-page,.crafted-site-footer,.crafted-also-see) a[href]:is(:hover,:focus-visible){scale:1.04;}
}
@media(prefers-reduced-motion:reduce){
 :is(.crafted-page,.crafted-site-footer,.crafted-also-see) a[href]{transition:none!important;scale:none!important;}
}
body:has(.process-v3) .process-v3-cta{--p3-green:var(--crafted-charcoal,#292a28);background:var(--p3-green);}
@media(max-width:600px) and (orientation:portrait){
 body:has(.crafted-page) .crafted-page.crafted-page .crafted-page-header{background:#111c11!important;}
}
.crafted-services-nav{position:relative;display:flex;align-items:center;gap:3px;}
.crafted-page .crafted-header-nav .crafted-nav-link:hover .crafted-nav-label,
.crafted-page .crafted-header-nav .crafted-nav-link:focus-visible .crafted-nav-label{text-decoration:underline!important;text-decoration-color:var(--crafted-gold)!important;text-decoration-thickness:2px!important;text-underline-offset:6px;}
.crafted-page .crafted-header-nav .crafted-nav-link:focus-visible{outline:2px solid var(--crafted-green);outline-offset:3px;}
.crafted-page .crafted-header-nav .crafted-nav-link[aria-current] .crafted-nav-label{padding-block:0!important;background:transparent!important;box-shadow:none!important;text-decoration:underline!important;text-decoration-color:var(--crafted-gold)!important;text-decoration-thickness:3px!important;text-underline-offset:7px;}
.crafted-header-nav .crafted-services-menu>summary:hover{background:var(--crafted-cream);}
.crafted-services-menu>summary{display:flex;align-items:center;justify-content:center;width:32px;min-height:44px;cursor:pointer;list-style:none;color:var(--crafted-green);}
.crafted-services-menu>summary::-webkit-details-marker{display:none;}
.crafted-header-nav .crafted-services-nav{gap:0;}
.crafted-header-nav .crafted-services-menu>summary{width:24px;color:var(--crafted-charcoal,#292a28);}
.crafted-header-nav .crafted-services-menu>summary>span{display:none;}
.crafted-header-nav .crafted-services-menu>summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);}
.crafted-header-nav .crafted-services-menu[open]>summary::after{transform:translateY(2px) rotate(225deg);}
.crafted-services-menu>summary:focus-visible,.crafted-services-submenu a:focus-visible{outline:2px solid var(--crafted-green);outline-offset:2px;}
.crafted-services-submenu{position:absolute;top:100%;left:0;z-index:110;min-width:252px;padding:12px 18px;background:var(--crafted-cream);border-bottom:2px solid var(--crafted-gold);}
.crafted-page .crafted-services-submenu .crafted-services-overview{border-bottom:1px solid var(--crafted-line);margin-bottom:6px;padding-bottom:6px;}
.crafted-page .crafted-header-nav .crafted-services-submenu a{display:flex;justify-content:flex-start;white-space:normal;min-height:44px;}
.crafted-page .crafted-services-submenu a:hover{color:var(--crafted-green);text-decoration:underline!important;text-decoration-color:var(--crafted-gold)!important;text-underline-offset:5px;}
/* Keep details in normal flow: display:contents on an open details breaks Safari layout. */
.crafted-page .crafted-mobile-nav .crafted-services-nav{display:block;position:relative;flex:none;}
.crafted-page .crafted-mobile-nav .crafted-services-nav>.crafted-nav-link{padding-right:54px!important;min-height:48px;}
.crafted-page .crafted-mobile-nav .crafted-services-menu{display:block;position:static;margin:0;padding:0;}
.crafted-page .crafted-mobile-nav .crafted-services-submenu{position:static;min-width:0;width:100%;padding:6px 0 10px 14px;border:0;background:transparent;}
.crafted-page .crafted-mobile-nav .crafted-services-submenu a{display:block!important;height:auto!important;min-height:48px;font-size:15px!important;line-height:1.5!important;white-space:normal;}
.crafted-page .crafted-mobile-nav .crafted-services-menu>summary{position:absolute;top:0;right:0;width:48px;height:48px;min-height:48px;margin:0;padding:0;color:var(--crafted-green);border-left:1px solid var(--crafted-line);}
.crafted-page .crafted-mobile-nav .crafted-services-menu>summary>span{display:none;}
.crafted-page .crafted-mobile-nav .crafted-services-menu>summary::after{content:'';width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);}
.crafted-page .crafted-mobile-nav .crafted-services-menu[open]>summary::after{transform:translateY(2px) rotate(225deg);}
.crafted-page .crafted-mobile-menu-panel>.crafted-mobile-nav,.crafted-page .crafted-mobile-nav>*{flex-shrink:0;}
@media(min-width:601px),(min-width:480px) and (orientation:landscape){
 .crafted-page .crafted-header-inner{grid-template-columns:minmax(0,1fr) max-content;}
 .crafted-page .crafted-header-nav{grid-row:1;}
 :is(.process-v3,.bathroom-v2,.kitchen-v1) .crafted-header-inner::before{grid-column:2;grid-row:1;}
}
/* Each service is a single accessible link, including its icon and tagline. */
body.home .crafted-page.crafted-page .crafted-service-cell{color:var(--crafted-charcoal);display:flex!important;flex-direction:column!important;align-items:center!important;}
body.home .crafted-page.crafted-page .crafted-service-cell[href="/kitchens/"]{order:1!important;}
body.home .crafted-page.crafted-page .crafted-service-cell[href="/bathrooms/"]{order:2!important;}
body.home .crafted-page.crafted-page .crafted-service-cell[href="/whole-home-remodeling/"]{order:3!important;}
body.home .crafted-page.crafted-page .crafted-service-cell[href="/adus/"]{order:4!important;}
body.home .crafted-page.crafted-page .crafted-service-cell::after{display:none!important;}
body.home .crafted-page.crafted-page .crafted-service-copy{display:flex;flex:1;flex-direction:column;align-items:center;}
body.home .crafted-page.crafted-page .crafted-service-title{display:block!important;min-height:0!important;max-width:100%;padding-bottom:5px;}
body.home .crafted-page.crafted-page .crafted-service-title>span{position:relative;}
body.home .crafted-page.crafted-page .crafted-service-title>span::after{content:'';display:inline-block;width:100%;height:1px;background:var(--crafted-gold);position:absolute;left:0;bottom:-5px;}
body.home .crafted-page.crafted-page .crafted-service-copy p{margin:8px 0 0!important;}
.crafted-service-arrow{display:block;margin-top:10px;color:var(--crafted-gold);font:24px/1 Arial,sans-serif;}
body.home .crafted-page .crafted-service-cell:hover{background:var(--crafted-cream);}
body.home .crafted-page .crafted-service-cell:focus-visible{outline:2px solid var(--crafted-green);outline-offset:-4px;}
body.home .crafted-page .crafted-service-cell:hover .crafted-service-title{color:var(--crafted-green);}
body.home .crafted-page .crafted-project-type a{color:var(--crafted-green);-webkit-text-fill-color:var(--crafted-green);border-bottom:1px solid var(--crafted-gold);padding-bottom:3px;}
body.home .crafted-page .crafted-project-card h3 a{color:inherit;}
body.home .crafted-page .crafted-project-card a:focus-visible{outline:2px solid var(--crafted-green);outline-offset:4px;}
body.home .crafted-page .crafted-project-photo-link{display:block;}
body.home .crafted-page .crafted-service-examples a{color:var(--crafted-green);border-bottom:1px solid var(--crafted-gold);}
.crafted-about-page .crafted-about-service-intro a{color:var(--crafted-green);border-bottom:1px solid var(--crafted-gold);}
.crafted-about-page .crafted-about-service-intro a:hover{border-bottom-width:2px;}
.crafted-about-page .crafted-about-service-intro a:focus-visible{outline:2px solid var(--crafted-green);outline-offset:3px;}
.crafted-about-page .crafted-about-process-link{margin:24px 0 0;}
@media(min-width:1200px) and (hover:hover) and (pointer:fine){
 /* Original frame was 92.5% of the inner width; reduce that original by 11%. */
 body.home .crafted-page .chkc-frame{width:82.325%;margin-inline:auto;}
}
@media(max-width:600px) and (orientation:portrait){
 /* About's original 92px wordmark + 10%; match Home while keeping its 15px inset. */
 body:has(.crafted-about-page) .crafted-page.crafted-page .crafted-about-hero .crafted-mobile-hero-logo{width:101.2px!important;top:12px!important;left:auto!important;right:6px!important;}
 body.home .crafted-page.crafted-page .crafted-hero .crafted-mobile-hero-logo{width:101.2px!important;top:12px!important;left:15px!important;right:auto!important;}
 .crafted-site-footer .crafted-footer-remodeling{display:none;}
 body.home .crafted-page.crafted-page .crafted-service-cell:is([href="/whole-home-remodeling/"],[href="/adus/"])::after{content:'';display:block!important;position:absolute;top:0;left:12px;right:12px;width:auto;height:1px;background:var(--crafted-line);}
 body.home .crafted-page .chkc-section{padding-bottom:14px!important;}
 body.home .crafted-page .chkc-section .chkc-link{margin-top:4px;}
 body.home .crafted-page.crafted-page .crafted-why{padding-top:28px!important;}
}
.crafted-also-see{padding:24px 6.5%;background:var(--crafted-light);color:var(--crafted-copy);font:14px/1.8 Arial,sans-serif;text-align:center;}
.crafted-also-see a,.crafted-project-next-links a{display:inline-block;color:var(--crafted-green);border-bottom:1px solid var(--crafted-gold);margin:0 6px;}
.crafted-project-next-links{font:14px/1.8 Arial,sans-serif;margin:14px 0 0;}
.chp-cta .crafted-project-next-links a{color:var(--crafted-cream,#f4f0e7);-webkit-text-fill-color:var(--crafted-cream,#f4f0e7);}
body:has(.crafted-page) .entry-content>.crafted-also-see{padding:18px 6%!important;}
.crafted-also-see a:focus-visible,.crafted-project-next-links a:focus-visible{outline:2px solid var(--crafted-green);outline-offset:3px;}
.chp-cta .crafted-project-next-links a:focus-visible{outline-color:var(--crafted-cream,#f4f0e7);}
/* Tint the existing Process gold with the existing cream for small-text contrast. */
.crafted-site-footer{--crafted-green:#30382e;--crafted-green-dark:#252e23;--crafted-cream:#f4f0e7;--crafted-gold:color-mix(in srgb,#d9b182 90%,var(--crafted-cream));background:var(--crafted-green);color:var(--crafted-cream);padding:48px 6.5% 20px;font:14px/1.7 -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;}
/* Portfolio pages hid the old theme footer; keep the shared footer visible. */
body:has(.chp-page) .site-footer:has(.crafted-site-footer){display:block!important;}
.crafted-site-footer *{box-sizing:border-box;}
.crafted-footer-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr 1.2fr;gap:clamp(24px,4vw,64px);max-width:1320px;margin:auto;}
.crafted-site-footer .crafted-footer-brand img{display:block;width:230px;max-width:100%;height:auto;filter:brightness(0) invert(94%) sepia(9%) saturate(304%) hue-rotate(353deg);margin:0 0 16px;}
.crafted-site-footer p{margin:0 0 14px;}
.crafted-site-footer h2{font:600 12px/1.5 -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--crafted-gold);text-transform:uppercase;letter-spacing:.14em;margin:0 0 16px;}
.crafted-site-footer h2::after{content:'';display:block;width:28px;height:1px;margin-top:10px;background:var(--crafted-gold);}
.crafted-site-footer ul{list-style:none;padding:0;margin:0;}
.crafted-site-footer li{margin:0 0 4px;}
.crafted-site-footer a{display:inline-block;color:var(--crafted-cream);text-decoration:none;min-height:32px;}
.crafted-site-footer a:hover{color:var(--crafted-gold);text-decoration:underline;text-underline-offset:5px;}
.crafted-site-footer a:focus-visible{outline:2px solid var(--crafted-gold);outline-offset:4px;}
.crafted-site-footer .crafted-footer-contact a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px;font-size:16px;}
.crafted-site-footer .crafted-footer-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 18px;background:var(--crafted-green-dark);border:1px solid var(--crafted-gold);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;}
.crafted-site-footer .crafted-footer-button:hover{background:var(--crafted-cream);color:var(--crafted-green-dark);text-decoration:none;}
.crafted-site-footer .crafted-footer-copyright{max-width:1320px;margin:28px auto 0;font-size:12px;}
@media(max-width:850px){.crafted-footer-grid{grid-template-columns:1fr 1fr;gap:28px 24px;}.crafted-footer-brand{grid-column:1/-1;}.crafted-footer-contact{grid-column:1/-1;}.crafted-site-footer{padding:36px 6% 20px;}.crafted-site-footer a{min-height:44px;}.crafted-site-footer li{margin:0;}}
@media(max-width:850px){
 .crafted-site-footer .crafted-footer-contact{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:8px;}
 .crafted-site-footer .crafted-footer-contact h2{flex-basis:100%;margin-bottom:8px;}
 .crafted-site-footer .crafted-footer-contact p{margin:0;flex:0 0 auto;}
 .crafted-site-footer .crafted-footer-contact .crafted-footer-button{padding:10px 12px;font-size:10px;gap:8px;}
 .crafted-site-footer .crafted-footer-copyright{margin-top:12px;}
}

/* Services project navigation follows the About page's text-card layout. */
.services-v1 .services-v1-hero-anchor a{color:inherit;border-bottom:1px solid var(--crafted-gold);}
.services-v1 .services-v1-hero-anchor a:hover{color:var(--crafted-green);}
.services-v1 .services-v1-hero-anchor a:focus-visible{outline:2px solid var(--crafted-green);outline-offset:3px;}
.services-v1 .crafted-service-projects{padding:44px 5vw 48px;background:var(--crafted-cream);}
.services-v1 .crafted-service-projects-inner{max-width:1200px;margin:auto;}
.services-v1 .crafted-service-projects h2{margin:0 0 24px;font:400 clamp(26px,3vw,38px)/1.15 Georgia,'Times New Roman',serif;color:var(--crafted-charcoal);}
.services-v1 .crafted-service-project-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
.services-v1 .crafted-service-project-link{display:block;padding:18px 0 14px;border-top:1px solid var(--crafted-gold);color:var(--crafted-charcoal);}
.services-v1 .crafted-service-project-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font:400 25px/1.25 Georgia,'Times New Roman',serif;}
.services-v1 .crafted-service-project-description{display:block;margin-top:10px;font-size:15px;line-height:1.6;color:var(--crafted-copy);}
.services-v1 .crafted-service-project-link:hover .crafted-service-project-title{color:var(--crafted-green);text-decoration:underline;text-underline-offset:5px;}
.services-v1 .crafted-service-project-link:focus-visible{outline:2px solid var(--crafted-green);outline-offset:6px;}
@media(max-width:1000px){.services-v1 .crafted-service-project-links{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px) and (orientation:portrait){
 .services-v1 .crafted-service-projects{padding:32px 22px;}
 .services-v1 .crafted-service-project-links{grid-template-columns:1fr;gap:8px;}
 .services-v1 .crafted-service-project-link{padding:16px 0;}
 .services-v1 .crafted-service-project-title{font-size:24px;}
 .services-v1 .crafted-service-project-description{margin-top:6px;}
}
@media(min-width:1101px){
 body:has(.crafted-about-page) .crafted-page.crafted-page .crafted-about-approach{padding-bottom:52px!important;}
 body:has(.crafted-about-page) .crafted-page.crafted-page .crafted-about-personal{padding-top:56px!important;padding-bottom:60px!important;}
}

/* One decorative heading-rule system; functional borders and link underlines are separate. */
body{--crafted-rule-width:58px;--crafted-rule-weight:2px;--crafted-rule-gap:14px;--crafted-rule-heading-gap:20px;}
body:has(.crafted-page) .crafted-page.crafted-page :is(.crafted-hero-eyebrow,.crafted-eyebrow,.bath-v2-eyebrow,.adu-v1-eyebrow,.whole-v1-eyebrow,.process-v3-eyebrow,.contact-v1-eyebrow,.work-v1-eyebrow){margin-bottom:var(--crafted-rule-heading-gap)!important;}
body:has(.crafted-page) .crafted-page.crafted-page :is(.crafted-hero-eyebrow,.crafted-eyebrow,.bath-v2-eyebrow,.adu-v1-eyebrow,.whole-v1-eyebrow,.process-v3-eyebrow,.contact-v1-eyebrow,.work-v1-eyebrow)::after,
body:has(.crafted-page) .crafted-page.crafted-page :is(.bath-v2-eyebrow-center,.adu-v1-eyebrow-center)::before,
body .crafted-site-footer h2::after{
 width:var(--crafted-rule-width)!important;min-width:var(--crafted-rule-width)!important;max-width:var(--crafted-rule-width)!important;
 height:var(--crafted-rule-weight)!important;min-height:var(--crafted-rule-weight)!important;max-height:var(--crafted-rule-weight)!important;
 flex:0 0 auto!important;border:0!important;
}
body:has(.crafted-page) .crafted-page.crafted-page :is(.crafted-hero-eyebrow,.crafted-eyebrow)::after,
body .crafted-site-footer h2::after{margin-top:var(--crafted-rule-gap)!important;}
body:has(.crafted-page) .crafted-page.crafted-page :is(.bath-v2-eyebrow,.adu-v1-eyebrow,.whole-v1-eyebrow,.process-v3-eyebrow,.contact-v1-eyebrow,.work-v1-eyebrow){gap:var(--crafted-rule-gap)!important;}
body:has(.crafted-page) .crafted-page.crafted-page :is(.crafted-hero-eyebrow,.crafted-eyebrow,.bath-v2-eyebrow,.adu-v1-eyebrow,.whole-v1-eyebrow,.process-v3-eyebrow,.contact-v1-eyebrow,.work-v1-eyebrow)+:is(h1,h2,h3){margin-top:0!important;}
/* Home and About use their label accent, rather than a second line below the headline. */
body:has(.crafted-page) .crafted-page.crafted-page :is(.crafted-hero,.crafted-about-hero) .crafted-heading-rule{display:none!important;}
body.home .crafted-page.crafted-page .crafted-hero-subhead,
body:has(.crafted-about-page) .crafted-page.crafted-page .crafted-about-hero-lead{margin-top:24px!important;}
/* This standalone accent caps the contact information panel. */
body:has(.contact-v1) .crafted-page.crafted-page .contact-v1-approach .contact-v1-details::before{width:var(--crafted-rule-width)!important;height:var(--crafted-rule-weight)!important;}
@media(max-width:600px) and (orientation:portrait){
 body{--crafted-rule-width:50px;--crafted-rule-weight:1px;}
 body:has(.crafted-page) .crafted-page.crafted-page :is(.bath-v2-eyebrow,.adu-v1-eyebrow,.whole-v1-eyebrow,.process-v3-eyebrow,.contact-v1-eyebrow,.work-v1-eyebrow){display:block!important;}
 body:has(.crafted-page) .crafted-page.crafted-page :is(.bath-v2-eyebrow,.adu-v1-eyebrow,.whole-v1-eyebrow,.process-v3-eyebrow,.contact-v1-eyebrow,.work-v1-eyebrow)::after{display:block!important;position:static!important;margin:var(--crafted-rule-gap) 0 0!important;}
 body:has(.crafted-page) .crafted-page.crafted-page :is(.bath-v2-eyebrow-center,.adu-v1-eyebrow-center)::before{display:none!important;content:none!important;}
 body:has(.crafted-page) .crafted-page.crafted-page :is(.bath-v2-eyebrow-center,.adu-v1-eyebrow-center,.whole-v1-eyebrow-center,.contact-v1-eyebrow-center){text-align:center!important;}
 body:has(.crafted-page) .crafted-page.crafted-page :is(.bath-v2-eyebrow-center,.adu-v1-eyebrow-center,.whole-v1-eyebrow-center,.contact-v1-eyebrow-center)::after,
 body:has(.crafted-page) .crafted-page.crafted-page .adu-v1-statement .adu-v1-eyebrow::after{margin-inline:auto!important;}
}

/* October review: retain three footer navigation columns on portrait tablets. */
@media(min-width:601px) and (max-width:850px){
 .crafted-footer-grid{grid-template-columns:1fr .8fr 1.2fr;}
 .crafted-footer-contact{grid-column:auto;}
 .crafted-site-footer .crafted-footer-contact{display:block;}
 .crafted-site-footer .crafted-footer-contact h2{margin-bottom:16px;}
 .crafted-site-footer .crafted-footer-contact p{margin-bottom:14px;}
}
/* Four balanced steps with arrows at tablet widths. */
@media(min-width:601px) and (max-width:1100px){
 body.home .crafted-page.crafted-page .crafted-process-grid{display:grid!important;max-width:none!important;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)!important;gap:8px!important;align-items:stretch!important;}
 body.home .crafted-page.crafted-page .crafted-process-step{display:flex!important;flex-direction:column;justify-content:center;min-height:160px!important;padding:20px 4px!important;}
 body.home .crafted-page.crafted-page .crafted-process-step h3{font-size:clamp(16px,2.2vw,22px)!important;}
 body.home .crafted-page.crafted-page .crafted-process-arrow{display:flex!important;align-items:center;justify-content:center;width:auto!important;height:auto!important;font-size:24px!important;}
 body.home .crafted-page.crafted-page .crafted-process-arrow::before,body.home .crafted-page.crafted-page .crafted-process-arrow::after,body.home .crafted-page.crafted-page .crafted-process-arrow span::before{content:none!important;}
 body.home .crafted-page.crafted-page .crafted-process-arrow span{font-size:24px!important;}
}
/* Give the Bathroom comparison the same comfortable inset as adjacent content. */
@media(max-width:1100px){
 body:has(.bathroom-v2) .bathroom-v2 .bath-v2-slider{width:94%!important;}
}
