/* Homepage-only polish; shared pages and the approved footer keep their styles. */
.df-home { background:#fff; }
.df-home .site-nav .nav-cta { color:#102e50!important; }
.df-home .site-nav a { min-height:44px; display:inline-flex; align-items:center; }
.df-home a:focus-visible { outline:3px solid #143b6b; outline-offset:5px; }
.df-home .site-header a:focus-visible { outline-color:#fff; }
.home-skip { position:fixed; top:8px; left:8px; transform:translateY(-180%); background:white; color:#143b6b; padding:12px 20px; z-index:200; }
.home-skip:focus { transform:none; }
.df-home main { overflow:clip; }
.df-home main h1,.df-home main h2,.df-home main h3 { color:#143b6b; }
.home-hero { display:grid; grid-template-columns:1fr 1fr; min-height:640px; background:#f3f6ef; }
.home-hero__copy { padding:72px max(32px,calc((100vw - 1280px)/2)); padding-right:55px; align-self:center; }
.df-home .home-kicker { color:#365b22; font-size:.76rem; text-transform:uppercase; letter-spacing:.15em; font-weight:800; margin:0 0 18px; }
.home-hero h1 { font-size:clamp(42px,4.6vw,70px); line-height:1.06; letter-spacing:-.045em; margin:0 0 28px; }
.home-hero h1 em { font-style:normal; color:#426c26; }
.home-hero__copy>p:not(.home-kicker) { max-width:480px; }
.home-lead { font-size:1.22rem; font-weight:650; color:#143b6b; }
.home-actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-top:30px; }
.home-button { display:inline-flex; gap:28px; align-items:center; justify-content:space-between; background:#8cc63f; color:#102e50; padding:16px 22px; border-radius:5px; font-weight:750; text-decoration:none; min-height:52px; }
.home-button:hover { background:#add968; }
.home-text-link { color:#143b6b; display:inline-flex; align-items:center; min-height:44px; font-weight:700; text-underline-offset:6px; }
.home-trust { font-size:.8rem; margin:26px 0 0; color:#4d5c4a; }
.home-hero__photo { position:relative; margin:0; min-width:0; }
.home-hero__photo img { width:100%; height:100%; object-fit:cover; display:block; }
.home-hero__photo figcaption { position:absolute; bottom:0; left:0; right:0; padding:26px 28px; color:#fff; background:linear-gradient(transparent,#071c31e8); font-size:.82rem; }
.home-service-strip { display:flex; justify-content:center; gap:70px; padding:23px; background:#143b6b; color:white; font-weight:650; border-bottom:4px solid #8cc63f; }
.home-section { max-width:1280px; padding:80px 32px; margin:auto; scroll-margin-top:120px; }
.home-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.df-home .home-section h2 { font-size:clamp(30px,3.2vw,44px); letter-spacing:-.035em; line-height:1.15; margin:0; }
.home-intro { max-width:680px; margin:22px 0 36px; color:#4b565f; }
.home-project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.home-project-grid figure,.home-comparison figure { margin:0; min-width:0; }
.home-project-grid img { display:block; width:100%; height:370px; object-fit:cover; border-radius:7px; }
.home-project-grid figure:nth-child(2) img { object-position:48% center; }
.home-project-grid figcaption { padding:22px 0 0; }
.home-project-grid figcaption>span { color:#456729; font-size:.73rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.home-project-grid h3 { margin:10px 0; font-size:1.22rem; }
.home-project-grid p { margin:0; color:#4b565f; }
.home-transformation { background:#edf2e8; }
.home-comparison { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.home-comparison img { width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; display:block; border-radius:6px 6px 0 0; }
.home-comparison figcaption { display:flex; gap:15px; flex-wrap:wrap; align-items:center; justify-content:space-between; background:#143b6b; color:white; padding:18px 22px; border-bottom:4px solid #8cc63f; }
.home-comparison figcaption span { font-size:.85rem; }
.home-project-note { font-size:.85rem; color:#4b565f; margin:20px 0 0; }
.home-about { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.home-about p:not(.home-kicker) { margin:25px 0; }
.home-service-list a { position:relative; display:flex; flex-direction:column; padding:25px 40px 25px 0; color:#143b6b; text-decoration:none; border-bottom:1px solid #d1dacb; }
.home-service-list strong { font-size:1.2rem; }
.home-service-list span { font-size:.9rem; color:#4b565f; margin-top:5px; }
.home-service-list b { position:absolute; right:5px; top:30px; }
.home-inspiration { display:grid; grid-template-columns:1.1fr 1fr; background:#143b6b; color:white; }
.home-inspiration figure { margin:0; min-width:0; }
.home-inspiration img { display:block; width:100%; height:100%; object-fit:cover; }
.home-inspiration>div { padding:65px 50px; align-self:center; }
.df-home .home-inspiration h2 { color:white; font-size:clamp(32px,3.3vw,48px); letter-spacing:-.035em; line-height:1.12; margin:0 0 25px; }
.df-home .home-inspiration .home-kicker { color:#c6ed9b; }
.home-inspiration .home-button { margin-top:18px; }
.home-concept-note { font-size:.76rem; color:#d8e2ed; margin:24px 0 0; }
.home-hero { position:relative; display:flex; min-height:680px; isolation:isolate; background:#102b46; }
.home-hero__photo { position:absolute; inset:0; z-index:-2; height:100%; }
.home-hero__photo img { object-position:center 58%; }
.home-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,24,43,.93) 0%,rgba(5,24,43,.86) 36%,rgba(5,24,43,.3) 65%,rgba(5,24,43,.08) 100%); }
.home-hero__copy { width:min(1280px,100%); margin:0 auto; align-self:flex-start; padding:50px 32px 70px; color:white; }
.df-home .home-hero h1 { color:white; max-width:620px; font-size:clamp(48px,5.4vw,78px); }
.home-hero h1 em { color:#b9e781; }
.df-home .home-hero .home-kicker { color:#c6ed9b; }
.home-hero .home-lead,.home-hero .home-trust,.home-hero .home-text-link { color:white; }
.home-hero .home-text-link:focus-visible,.home-hero .home-button:focus-visible { outline-color:white; }
.home-hero__photo figcaption { text-align:right; padding:22px 32px; background:linear-gradient(transparent,#071c3170); }
.df-home .testimonials { max-width:none; padding:65px max(24px,calc((100vw - 1216px)/2)); }
.df-home .testimonials h2 { font-size:clamp(28px,3vw,40px); margin-top:0; }
.df-home .review-btn { color:#102e50; }
@media(max-width:1000px) { .home-hero__copy{padding:48px 28px 60px}.home-hero{min-height:560px}.home-service-strip{gap:30px}.home-project-grid img{height:290px}.home-about{gap:35px} }
@media(max-width:700px) { .home-inspiration{grid-template-columns:1fr}.home-inspiration>div{padding:38px 24px}.home-inspiration img{height:auto}.home-hero__photo img{object-position:50% center} }
@media(max-width:700px) { .df-home .site-header{position:relative;padding:14px 20px;gap:12px}.df-home .site-nav{gap:6px 18px}.df-home .site-nav a{font-size:.9rem}.df-home .site-logo img{max-height:65px}.home-hero{grid-template-columns:1fr}.home-hero__copy{padding:42px 24px}.home-hero__photo{height:330px}.home-hero h1{font-size:48px}.home-service-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:center;font-size:.86rem}.home-section{padding:52px 24px;scroll-margin-top:20px}.home-section-heading{display:block}.home-section-heading>a{margin-top:15px}.home-project-grid{grid-template-columns:1fr;gap:36px}.home-project-grid img{height:auto;aspect-ratio:4/3;object-position:center}.home-project-grid figure:first-child img{aspect-ratio:4/5}.home-comparison{gap:12px}.home-comparison figcaption{padding:12px;gap:8px;font-size:.85rem}.home-comparison figcaption span{font-size:.72rem}.home-about{grid-template-columns:1fr;gap:18px}.home-actions{gap:14px}.home-button{width:100%}.home-project-grid h3{margin:9px 0} }
@media(max-width:700px) { .home-hero{min-height:650px}.home-hero__photo{height:100%}.home-hero__copy{padding:48px 24px 65px}.home-hero::before{background:linear-gradient(90deg,rgba(5,24,43,.9),rgba(5,24,43,.7))}.home-hero__photo img{object-position:56% center}.df-home .home-hero h1{font-size:48px}.home-hero__photo figcaption{font-size:.7rem;padding:16px 24px}.home-hero__copy>p{max-width:100%} }

.home-hero .home-kicker { margin-bottom:14px; }
.home-hero h1 { margin-bottom:18px; }
.home-hero .home-lead { margin:0 0 14px; }
.home-hero .home-actions { margin-top:20px; }
.home-founder { display:grid; grid-template-columns:349px minmax(0,1fr); gap:70px; align-items:center; }
.home-founder__portrait { margin:0; border-radius:8px; overflow:hidden; background:#143b6b; border-bottom:5px solid #8cc63f; }
.home-founder__portrait img { display:block; width:100%; height:auto; }
.home-founder__portrait figcaption { padding:22px 24px; color:white; }
.home-founder__portrait strong,.home-founder__portrait span { display:block; }
.home-founder__portrait strong { font-size:1.35rem; }
.home-founder__portrait span { font-size:.83rem; margin-top:5px; color:#e4eddb; }
.home-founder__story>p:not(.home-kicker) { margin:20px 0; }
@media(max-width:900px) { .home-founder{grid-template-columns:280px minmax(0,1fr);gap:32px} }
@media(max-width:700px) { .home-founder{grid-template-columns:1fr;gap:32px}.home-founder__portrait{width:min(349px,100%);margin:auto}.home-founder__story .home-actions{align-items:flex-start} }
@media(max-width:700px) {
  .home-hero__copy,.home-section,.home-inspiration>div { text-align:center; }
  .home-hero__copy { padding:36px 24px 70px; }
  .df-home .home-hero h1 { font-size:clamp(36px,10vw,48px); margin-left:auto; margin-right:auto; }
  .home-hero__copy>p,.home-intro { margin-left:auto; margin-right:auto; }
  .home-actions,.home-founder__story .home-actions { justify-content:center; align-items:center; }
  .home-button { justify-content:center; gap:14px; }
  .home-hero__photo figcaption { text-align:center; }
  .home-hero::before { background:linear-gradient(180deg,rgba(5,24,43,.8),rgba(5,24,43,.73)); }
  .home-project-grid figcaption,.home-founder__portrait figcaption { text-align:center; }
  .home-comparison { grid-template-columns:1fr; gap:24px; }
  .home-comparison figcaption { justify-content:center; }
}
.df-home .home-reviews { background:#102f54; padding-top:72px; padding-bottom:72px; border-top:5px solid #8cc63f; }
.df-home .home-reviews .home-kicker { color:#c6ed9b; margin-bottom:16px; }
.df-home .home-reviews h2 { color:white; max-width:720px; margin:0 auto 38px; line-height:1.15; letter-spacing:-.035em; scroll-margin-top:140px; }
.home-reviews .testimonial-grid { gap:24px; margin:0; }
.home-reviews .testimonial { position:relative; display:flex; flex-direction:column; padding:32px; text-align:left; border-radius:7px; background:#fff; box-shadow:none; border-bottom:4px solid #8cc63f; }
.home-reviews .testimonial::before { content:'\201C'; display:block; height:46px; font:700 76px/1 Georgia,serif; color:#517e28; margin-bottom:16px; }
.home-reviews .testimonial p { color:#193650; font-size:1.05rem; line-height:1.75; margin:0 0 28px; }
.home-reviews .testimonial>span { display:block; margin-top:auto; padding-top:18px; border-top:1px solid #dce4d5; color:#143b6b; font-size:.88rem; font-weight:750; }
.df-home .home-reviews .review-btn { display:inline-flex; align-items:center; justify-content:center; margin:32px auto 0; min-height:48px; padding:12px 24px; border:1px solid #b9e781; border-radius:5px; background:transparent; color:white; }
.df-home .home-reviews .review-btn:hover { background:#8cc63f; color:#102e50; }
.df-home .home-reviews a:focus-visible { outline-color:white; }
@media(max-width:700px) { .df-home .home-reviews{padding:48px 24px}.home-reviews .testimonial-grid{grid-template-columns:1fr;gap:20px}.home-reviews .testimonial{text-align:center;padding:26px}.home-reviews .testimonial::before{margin-bottom:12px}.home-reviews .testimonial p{margin-bottom:20px}.df-home .home-reviews h2{font-size:32px;scroll-margin-top:24px} }
.home-contact { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.home-contact .home-intro { margin-bottom:22px; }
.home-contact__area { color:#143b6b; font-size:.9rem; font-weight:650; }
.home-contact__card { min-width:0; background:#f0f5e9; border:1px solid #d7e3cb; border-top:5px solid #8cc63f; border-radius:8px; padding:34px; }
.home-contact__card h3 { margin:0 0 14px; font-size:1.2rem; }
.home-contact__phone { display:block; color:#143b6b; font-weight:800; font-size:clamp(25px,2.6vw,38px); letter-spacing:-.03em; text-decoration:none; min-height:48px; }
.home-contact__actions { display:flex; flex-wrap:wrap; gap:14px; margin:22px 0 12px; }
.home-contact__text { display:inline-flex; align-items:center; justify-content:center; min-height:52px; border:1px solid #143b6b; border-radius:5px; color:#143b6b; font-weight:700; padding:12px 20px; text-decoration:none; }
.home-contact__email { display:flex; align-items:center; min-height:44px; overflow-wrap:anywhere; color:#143b6b; font-size:.9rem; text-underline-offset:4px; }
.home-contact__card>p { border-top:1px solid #cfdbc4; padding-top:18px; margin:14px 0 0; font-size:.88rem; color:#485442; }
@media(max-width:900px) { .home-contact{gap:30px}.home-contact__card{padding:26px} }
@media(max-width:700px) { .home-contact{grid-template-columns:1fr;gap:25px}.home-contact__actions{justify-content:center}.home-contact__text{width:100%}.home-contact__email{justify-content:center}.home-contact__card{padding:24px 18px} }

/* Show the whole kitchen before the copy on phones. */
@media(max-width:700px){
 .home-hero{display:flex;flex-direction:column;min-height:0;background:#102b46}
 .home-hero::before{display:none}
 .home-hero__photo{position:relative;inset:auto;order:-1;z-index:auto;width:100%;height:auto;aspect-ratio:3/2}
 .home-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center}
 .home-hero__photo figcaption{font-size:.7rem;padding:22px 16px 10px;background:linear-gradient(transparent,rgba(5,24,43,.75))}
 .home-hero__copy{padding:30px 24px 36px;width:100%}
}