/*
Theme Name: North-WoodCraft Child
Template: twentytwentyfive
Version: 2.4.0
Text Domain: north-woodcraft-child
*/
:is(.nwc-page,.nwc-projects) { --nwc-ink:#252a28; --nwc-muted:#596361; --nwc-paper:#f5f0e6; --nwc-accent:#80532d; color:var(--nwc-ink); background:var(--nwc-paper); padding:clamp(24px,5vw,72px); }
:is(.nwc-page,.nwc-projects) > * { max-width:1200px; margin-inline:auto; }
:is(.nwc-page,.nwc-projects) h1 { font-size:clamp(2.5rem,6vw,4.75rem); line-height:1.08; max-width:850px; margin-block:16px 24px; }
:is(.nwc-page,.nwc-projects) h2 { font-size:clamp(1.8rem,4vw,2.75rem); line-height:1.15; }
:is(.nwc-page,.nwc-projects) h3 { font-size:1.4rem; line-height:1.3; }
:is(.nwc-page,.nwc-projects) p { line-height:1.65; }
:is(.nwc-page,.nwc-projects) .nwc-eyebrow { color:var(--nwc-accent); font-size:.875rem; letter-spacing:.12em; font-weight:700; text-transform:uppercase; }
:is(.nwc-page,.nwc-projects) .nwc-intro { max-width:720px; margin-inline:0; color:var(--nwc-muted); }
:is(.nwc-page,.nwc-projects) .nwc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-block:32px 64px; }
:is(.nwc-page,.nwc-projects) .nwc-card { min-width:0; background:#fff; padding:20px; border:1px solid #d7d1c5; border-radius:8px; }
:is(.nwc-page,.nwc-projects) .nwc-card > * + * { margin-block-start:16px; }
:is(.nwc-page,.nwc-projects) .nwc-photo { aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; background:#e5dfd3; color:#596361; border:1px dashed #8f887c; padding:16px; text-align:center; box-sizing:border-box; }
:is(.nwc-page,.nwc-projects) .nwc-card .wp-block-image { margin:0; }
:is(.nwc-page,.nwc-projects) .nwc-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; }
:is(.nwc-page,.nwc-projects) .nwc-cta { border-top:1px solid #c9c2b6; padding-block:32px 8px; }
:is(.nwc-page,.nwc-projects) .wp-block-button__link { background:var(--nwc-accent); color:#fff; border-radius:4px; padding:14px 24px; font-weight:600; }
:is(.nwc-page,.nwc-projects) a:focus-visible { outline:3px solid #252a28; outline-offset:4px; }
:is(.nwc-page,.nwc-projects) .wp-block-button__link:hover { background:#604021; color:#fff; }
.home .wp-block-post-content > .wp-block-cover:first-child .wp-block-cover__inner-container { max-width:1200px; margin-inline:auto; }
.home .wp-block-post-content > .wp-block-cover:first-child h1 { max-width:800px; font-size:clamp(2.25rem,5vw,4rem); }
.home .wp-block-post-content > .wp-block-cover:first-child p { max-width:720px; }
@media(max-width:1000px) { :is(.nwc-page,.nwc-projects) .nwc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { :is(.nwc-page,.nwc-projects) .nwc-grid { grid-template-columns:1fr; } .home .wp-block-post-content > .wp-block-cover:first-child { padding:40px 24px !important; min-height:480px !important; } }

.nwc-contact .nwc-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-block:40px 56px; }
.nwc-contact .nwc-contact-value { font-size:1.2rem; font-weight:600; overflow-wrap:anywhere; }
.nwc-contact .nwc-details { background:#fff; padding:clamp(20px,4vw,40px); border:1px solid #d7d1c5; border-radius:8px; margin-block:32px; }
.nwc-contact .nwc-checklist { padding-left:1.4em; line-height:1.65; }
.nwc-contact .nwc-checklist li + li { margin-top:12px; }
@media(max-width:600px) { .nwc-contact .nwc-contact-grid { grid-template-columns:1fr; } }

@font-face { font-family:NWCManrope; src:url('assets/fonts/manrope.woff2') format('woff2'); font-weight:200 800; font-display:swap; }
.nwc-home,.nwc-site-header,.nwc-site-footer,:is(.nwc-page,.nwc-projects),.nwc-standard-page { font-family:NWCManrope,Manrope,sans-serif; }
.nwc-home { --ink:#24362f; --paper:#f6f3ec; --accent:#80532d; background:var(--paper); color:var(--ink); margin:0; }
.nwc-home *, .nwc-site-header *,.nwc-site-footer * { box-sizing:border-box; }
.nwc-home h1,.nwc-home h2,.nwc-home h3,.nwc-site-footer h2 { font-weight:500; letter-spacing:-.04em; margin:0; }
.nwc-home h1 { font-size:clamp(2.8rem,5.3vw,5rem); line-height:1.05; white-space:pre-line; }
.nwc-home h2 { font-size:clamp(2rem,3.8vw,3.6rem); line-height:1.12; white-space:pre-line; }
.nwc-home h3 { font-size:1.35rem; line-height:1.3; letter-spacing:-.025em; }
.nwc-home p { font-size:1rem; line-height:1.7; margin:0; }
.nwc-home .nwc-eyebrow { font-size:.72rem; line-height:1.6; letter-spacing:.16em; font-weight:700; color:var(--accent); margin:0 0 20px; }
.nwc-home a { text-underline-offset:5px; }
.nwc-home a:focus-visible,.nwc-site-header a:focus-visible,.nwc-site-footer a:focus-visible { outline:3px solid #bc8b58; outline-offset:5px; }
.nwc-home .wp-block-buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.nwc-home .wp-block-button__link { display:inline-block; background:#80532d; color:#fff; border:1px solid #80532d; border-radius:3px; padding:15px 22px; text-decoration:none; font-size:.9rem; font-weight:600; line-height:1.5; }
.nwc-home .wp-block-button__link:hover { background:#654124; border-color:#654124; }
.nwc-home .is-style-outline .wp-block-button__link { color:inherit; background:transparent; border:1px solid currentColor; }
.nwc-site-header { background:#f6f3ec; color:#24362f; padding:18px clamp(20px,5vw,72px); margin:0; }
.nwc-site-header .nwc-header-row { max-width:1280px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.nwc-site-header .nwc-logo { width:250px; flex-shrink:0; margin:0; }
.nwc-site-header .nwc-logo img { width:100%; height:auto; display:block; }
.nwc-site-header .wp-block-navigation { margin:0; font-size:.875rem; font-weight:600; }
.nwc-site-header .wp-block-navigation__container { gap:26px; }
.nwc-site-header a { text-decoration:none; }
.nwc-site-header a:hover { text-decoration:underline; }
.nwc-home .nwc-hero { background:#24362f; color:#f6f3ec; padding:clamp(36px,5vw,72px) clamp(20px,5vw,72px); }
.nwc-home .nwc-hero-grid { max-width:1280px; margin:auto; display:grid; grid-template-columns:1fr 1.08fr; gap:clamp(32px,5vw,72px); align-items:center; }
.nwc-home .nwc-hero-copy > * + * { margin-top:24px; }
.nwc-home .nwc-hero-copy .nwc-eyebrow { color:#dcc5a6; margin:0 0 24px; }
.nwc-home .nwc-hero-label { font-size:1.2rem; font-weight:600; }
.nwc-home .nwc-hero-desc { color:#e0e6df; max-width:480px; }
.nwc-home .nwc-hero-image { margin:0; }
.nwc-home .nwc-hero-image figure { margin:0; }
.nwc-home .nwc-hero-image img { width:100%; height:500px; object-fit:cover; object-position:55% 50%; display:block; border-radius:2px; }
.nwc-home .nwc-image-caption { color:#dcc5a6; font-size:.66rem; letter-spacing:.13em; margin-top:14px; }
.nwc-home .nwc-home-section { max-width:1280px; margin:0 auto; padding:80px clamp(20px,5vw,72px); }
.nwc-home .nwc-section-heading { max-width:760px; margin:0 0 36px; }
.nwc-home .nwc-section-intro { max-width:600px; color:#596361; margin-top:20px; }
.nwc-home .nwc-services-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.nwc-home .nwc-service-card { border-top:1px solid #c6bdaf; padding-top:24px; display:flex; flex-direction:column; gap:18px; margin:0; }
.nwc-home .nwc-service-card p { font-size:.9rem; }
.nwc-home .nwc-service-card p:last-child { margin-top:auto; padding-top:8px; font-weight:600; }
.nwc-home .nwc-number { color:#80532d; font-size:.8rem; font-weight:700; letter-spacing:.08em; }
.nwc-home .nwc-work { background:#ebe6dc; max-width:none; }
.nwc-home .nwc-work > * { max-width:1136px; margin-inline:auto; }
.nwc-home .nwc-work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.nwc-home .nwc-work-card { margin:0; }
.nwc-home .nwc-work-card figure { margin:0 0 20px; }
.nwc-home .nwc-work-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.nwc-home .nwc-work-card h3 { font-size:1.2rem; }
.nwc-home .nwc-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:40px; }
.nwc-home .nwc-step { margin:0; border-left:1px solid #c6bdaf; padding-left:24px; }
.nwc-home .nwc-step > * + * { margin-top:16px; }
.nwc-home .nwc-step p:last-child { color:#596361; }
.nwc-home .nwc-area { display:grid; grid-template-columns:1fr 1fr; gap:56px; border-top:1px solid #d7d1c5; }
.nwc-home .nwc-area-copy > * + * { margin-top:24px; }
.nwc-home .nwc-area-panel { background:#e7e4da; padding:32px; margin:0; align-self:center; }
.nwc-home .nwc-area-panel p + p { margin-top:20px; }
.nwc-home .nwc-area-panel .nwc-towns { font-size:1.2rem; line-height:1.9; }
.nwc-home .nwc-home-cta { max-width:none; text-align:center; background:#24362f; color:#f6f3ec; }
.nwc-home .nwc-home-cta .nwc-eyebrow { color:#dcc5a6; }
.nwc-home .nwc-home-cta p:not(.nwc-eyebrow) { margin-top:24px; color:#e0e6df; }
.nwc-home .nwc-home-cta .wp-block-buttons { justify-content:center; }
.nwc-site-footer { display:flex; justify-content:space-between; gap:40px; padding:48px clamp(20px,5vw,72px); color:#24362f; background:#f6f3ec; margin:0; }
.nwc-site-footer h2 { font-size:1.35rem; }
.nwc-site-footer p { font-size:.9rem; line-height:1.7; white-space:pre-line; margin-top:12px; }
.nwc-site-footer .nwc-footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin:0; }
.nwc-site-footer a { color:inherit; }
.nwc-standard-page { padding-block:56px; }
@media(max-width:1050px) { .nwc-home .nwc-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:40px; } .nwc-site-header .nwc-logo { width:210px; } .nwc-site-header .wp-block-navigation__container { gap:16px; } }
@media(max-width:780px) { .nwc-home .nwc-hero-grid,.nwc-home .nwc-area { grid-template-columns:1fr; } .nwc-home .nwc-hero-image img { height:360px; } .nwc-home .nwc-home-section { padding-block:56px; } .nwc-home .nwc-process-grid { gap:24px; } }
@media(max-width:600px) { .nwc-home .nwc-services-grid,.nwc-home .nwc-work-grid,.nwc-home .nwc-process-grid { grid-template-columns:1fr; } .nwc-home .nwc-hero-image img { height:300px; } .nwc-home .nwc-hero-copy { max-width:100%; } .nwc-site-header .nwc-logo { width:190px; } .nwc-site-footer { flex-direction:column; gap:24px; } .nwc-home .nwc-area-panel { padding:24px; } }

/* Align introduction, headings and gallery to one content grid. */
:is(.nwc-page,.nwc-projects) > .nwc-eyebrow,
:is(.nwc-page,.nwc-projects) > h1,
:is(.nwc-page,.nwc-projects) > h2,
:is(.nwc-page,.nwc-projects) > .nwc-intro { max-width:1200px; margin-inline:auto; }
:is(.nwc-page,.nwc-projects) > .nwc-eyebrow { margin-bottom:16px; }
:is(.nwc-page,.nwc-projects) > .nwc-intro { margin-top:20px; margin-bottom:32px; }

.nwc-services-page { font-family:NWCManrope,Manrope,sans-serif; color:#24362f; background:#f6f3ec; padding:0 clamp(20px,5vw,72px) 72px; }
.nwc-services-page .wp-block-post-content { max-width:1200px; margin:0 auto; }
.nwc-services-page .wp-block-post-content > * { max-width:1200px; margin-left:auto !important; margin-right:auto !important; }
.nwc-services-page .wp-block-post-content > * + * { margin-top:32px; }
.nwc-services-page .wp-block-post-content > .wp-block-cover:first-child { margin-top:0; padding:clamp(28px,5vw,64px) !important; min-height:520px !important; }
.nwc-services-page .wp-block-cover h1 { max-width:760px; font-size:clamp(2.2rem,4.5vw,4rem); line-height:1.12; }
.nwc-services-page .wp-block-cover p { max-width:720px; line-height:1.65; }
.nwc-services-page h2 { font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.2; margin-bottom:20px; }
.nwc-services-page h3 { font-size:1.3rem; line-height:1.35; }
.nwc-services-page p { line-height:1.65; }
.nwc-services-page .wp-block-columns { gap:28px; }
.nwc-services-page .wp-block-column { min-width:0; }
.nwc-services-page .wp-block-column > * + * { margin-top:16px; }
.nwc-services-page .wp-block-column .wp-block-image { margin-bottom:20px; }
.nwc-services-page .wp-block-column .wp-block-image img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.nwc-services-page .wp-block-button__link { background:#80532d; color:#fff; border-radius:4px; }
.nwc-services-page a:focus-visible { outline:3px solid #80532d; outline-offset:4px; }
@media(max-width:900px) { .nwc-services-page .wp-block-columns { flex-wrap:wrap !important; } .nwc-services-page .wp-block-column { flex-basis:100% !important; } }
@media(max-width:600px) { .nwc-services-page .wp-block-post-content > .wp-block-cover:first-child { min-height:440px !important; } }

/* Match Services typography to the homepage, including inline block colors. */
.nwc-services-page h1,
.nwc-services-page h2,
.nwc-services-page h3 { font-family:NWCManrope,Manrope,sans-serif !important; font-weight:500 !important; letter-spacing:-.04em !important; color:#24362f !important; }
.nwc-services-page h2 { font-size:clamp(2rem,3.8vw,3.6rem) !important; line-height:1.12 !important; }
.nwc-services-page h3 { font-size:1.35rem !important; line-height:1.3 !important; letter-spacing:-.025em !important; }
.nwc-services-page h1 strong,
.nwc-services-page h2 strong,
.nwc-services-page h3 strong { font-weight:inherit; }
.nwc-services-page p { font-family:NWCManrope,Manrope,sans-serif !important; font-size:1rem !important; line-height:1.7 !important; color:#596361 !important; font-weight:400 !important; }
.nwc-services-page .wp-block-cover h1 { color:#f6f3ec !important; }
.nwc-services-page .wp-block-cover p { color:#e0e6df !important; }
.nwc-services-page .wp-block-post-content > p:has(+ h2),
.nwc-services-page .wp-block-group > p:has(+ h2) { color:#80532d !important; font-size:.72rem !important; font-weight:700 !important; letter-spacing:.16em !important; line-height:1.6 !important; margin-bottom:20px; }
.nwc-services-page .wp-block-button__link { background:#80532d !important; color:#fff !important; font-family:NWCManrope,Manrope,sans-serif; font-size:.9rem; font-weight:600; padding:15px 22px; border-radius:3px; }

/* Existing Services CTA: its four adjacent blocks form one dark panel. */
.nwc-services-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) {
 background:#24362f; color:#dcc5a6 !important; padding:48px 32px 20px; margin-top:48px; margin-bottom:0;
 text-align:center;
}
.nwc-services-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2 {
 background:#24362f; color:#f6f3ec !important; padding:0 32px 24px; margin-top:0; margin-bottom:0; text-align:center;
}
.nwc-services-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2 + p {
 background:#24362f; color:#e0e6df !important; padding:0 32px 28px; margin-top:0; margin-bottom:0; text-align:center;
}
.nwc-services-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2 + p + .wp-block-buttons {
 background:#24362f; padding:0 32px 48px; margin-top:0; margin-bottom:48px; justify-content:center !important;
}
@media(max-width:600px) {
 .nwc-services-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons),
 .nwc-services-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2,
 .nwc-services-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2 + p,
 .nwc-services-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2 + p + .wp-block-buttons { padding-left:20px; padding-right:20px; }
}

/* About: style existing editable page content without replacing it. */
.nwc-about-page { font-family:NWCManrope,Manrope,sans-serif; background:#f6f3ec; color:#24362f; padding:0 clamp(20px,5vw,72px) 64px; }
.nwc-about-page .wp-block-post-content { max-width:1200px; margin:auto; }
.nwc-about-page .wp-block-post-content > * { max-width:1200px; margin-inline:auto !important; }
.nwc-about-page h1,.nwc-about-page h2 { font-family:NWCManrope,Manrope,sans-serif !important; color:#24362f !important; font-weight:500 !important; letter-spacing:-.04em; line-height:1.12; margin-top:0; margin-bottom:24px; }
.nwc-about-page h1 { font-size:clamp(2.8rem,5.3vw,5rem); }
.nwc-about-page h2 { font-size:clamp(2rem,3.8vw,3.6rem); }
.nwc-about-page h1 strong,.nwc-about-page h2 strong { font-weight:inherit; }
.nwc-about-page p { font-size:1rem !important; line-height:1.75; color:#596361; margin-top:16px; }
.nwc-about-page .wp-block-post-content > .wp-block-group { padding:56px 0; border-bottom:1px solid #d7d1c5; margin-top:0; }
.nwc-about-page .wp-block-post-content > .wp-block-group > * { max-width:850px; margin-left:0 !important; margin-right:0 !important; }
.nwc-about-page .wp-block-post-content > .wp-block-group > p:first-child,
.nwc-about-page .wp-block-post-content > p:has(+ h2) { color:#80532d; font-size:.72rem !important; letter-spacing:.16em; font-weight:700; text-transform:uppercase; margin-bottom:20px; }
.nwc-about-page .wp-block-post-content > .wp-block-group:first-child { background:#24362f; padding:64px clamp(24px,5vw,64px); border:0; }
.nwc-about-page .wp-block-post-content > .wp-block-group:first-child h1 { color:#f6f3ec !important; }
.nwc-about-page .wp-block-post-content > .wp-block-group:first-child p { color:#e0e6df; }
.nwc-about-page .wp-block-post-content > .wp-block-group:first-child p:first-child { color:#dcc5a6; }
.nwc-about-page .wp-block-post-content > p:has(+ h2) { margin-top:56px; }
.nwc-about-page .wp-block-columns { gap:28px; margin-top:32px; margin-bottom:32px; }
.nwc-about-page .wp-block-column { min-width:0; background:#ebe6dc; padding:28px; }
.nwc-about-page .wp-block-column p:first-child { color:#24362f; margin-top:0; }
.nwc-about-page em { color:#24362f; }
.nwc-about-page .wp-block-button__link { background:#80532d; color:#fff; border-radius:3px; font-weight:600; font-size:.9rem; padding:15px 22px; }
.nwc-about-page a:focus-visible { outline:3px solid #bc8b58; outline-offset:4px; }
.nwc-about-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) { background:#24362f; color:#dcc5a6; padding:48px 32px 20px; margin-bottom:0; text-align:center; }
.nwc-about-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2 { background:#24362f; color:#f6f3ec !important; padding:0 32px 24px; margin-top:0; margin-bottom:0; text-align:center; }
.nwc-about-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2 + p { background:#24362f; color:#e0e6df; padding:0 32px 28px; margin-top:0; margin-bottom:0; text-align:center; }
.nwc-about-page .wp-block-post-content > p:has(+ h2 + p + .wp-block-buttons) + h2 + p + .wp-block-buttons { background:#24362f; padding:0 32px 48px; margin-top:0; justify-content:center; }
@media(max-width:780px) { .nwc-about-page .wp-block-columns { flex-wrap:wrap !important; } .nwc-about-page .wp-block-column { flex-basis:100% !important; } }
@media(max-width:600px) { .nwc-about-page .wp-block-post-content > .wp-block-group { padding-block:40px; } .nwc-about-page .wp-block-post-content > .wp-block-group:first-child { padding:40px 24px; } }

/* Service Area: preserve city lists and style the existing block structure. */
.nwc-area-page { font-family:NWCManrope,Manrope,sans-serif; background:#f6f3ec; color:#24362f; padding:0 clamp(20px,5vw,72px) 64px; }
.nwc-area-page .wp-block-post-content { max-width:1200px; margin:auto; }
.nwc-area-page .wp-block-post-content > * { max-width:1200px; margin-inline:auto !important; }
.nwc-area-page h1,.nwc-area-page h2,.nwc-area-page h3 { font-family:NWCManrope,Manrope,sans-serif !important; font-weight:500; letter-spacing:-.04em; line-height:1.12; color:#24362f; }
.nwc-area-page h1 { font-size:clamp(2.6rem,5.3vw,4.8rem); }
.nwc-area-page h1 code { font:inherit; color:inherit; background:none; padding:0; border:0; }
.nwc-area-page h2 { font-size:clamp(2rem,3.8vw,3.6rem); margin-bottom:32px; }
.nwc-area-page h3 { font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.25; margin-block:16px; }
.nwc-area-page p { font-size:1rem !important; line-height:1.75; color:#596361; }
.nwc-area-page .wp-block-post-content > p:first-child { background:#24362f; color:#dcc5a6; font-size:.72rem !important; letter-spacing:.16em; font-weight:700; text-transform:uppercase; padding:56px clamp(24px,5vw,64px) 20px; margin-block:0; }
.nwc-area-page .wp-block-post-content > p:first-child + h1 { background:#24362f; color:#f6f3ec; padding:0 clamp(24px,5vw,64px) 24px; margin-block:0; }
.nwc-area-page .wp-block-post-content > p:first-child + h1 + p { background:#24362f; color:#e0e6df; padding:0 clamp(24px,5vw,64px) 56px; margin-top:0; margin-bottom:56px; }
.nwc-area-page .wp-block-post-content > p:has(+ h2) { font-size:.72rem !important; letter-spacing:.16em; font-weight:700; color:#80532d !important; margin-bottom:20px; }
.nwc-area-page .wp-block-columns { gap:28px; margin-block:32px 56px; }
.nwc-area-page .wp-block-column { min-width:0; background:#fff; border:1px solid #d7d1c5; padding:28px; border-radius:6px; }
.nwc-area-page .wp-block-column .wp-block-group > p:first-child { color:#24362f; font-size:1.2rem !important; font-weight:600; margin-bottom:20px; }
.nwc-area-page .wp-block-column .wp-block-group > p + p { line-height:2.1; }
.nwc-area-page .wp-block-columns:last-of-type .wp-block-column { background:#ebe6dc; }
.nwc-area-page .wp-block-columns:last-of-type .wp-block-column:last-child { background:#24362f; border-color:#24362f; }
.nwc-area-page .wp-block-columns:last-of-type .wp-block-column:last-child h3 { color:#f6f3ec; }
.nwc-area-page .wp-block-columns:last-of-type .wp-block-column:last-child p { color:#e0e6df; }
.nwc-area-page .wp-block-column > p:first-child { font-size:.72rem !important; font-weight:700; letter-spacing:.12em; }
.nwc-area-page .wp-block-column > p + p { margin-top:20px; }
.nwc-area-page .wp-block-button__link { background:#80532d !important; color:#fff; padding:15px 22px; font-size:.9rem; font-weight:600; border-radius:3px; }
.nwc-area-page .wp-block-buttons { margin-top:28px; }
.nwc-area-page a:focus-visible { outline:3px solid #bc8b58; outline-offset:4px; }
@media(max-width:780px) { .nwc-area-page .wp-block-columns { flex-wrap:wrap !important; } .nwc-area-page .wp-block-column { flex-basis:100% !important; } }

/* Equal image-to-title gaps, including the Decks block's inline zero margin. */
.nwc-services-page .wp-block-column .wp-block-image { margin-bottom:20px !important; }
.nwc-services-page .wp-block-column .wp-block-image + h3 { margin-top:0 !important; }
/* Paragraph defaults must not offset the first footer link. */
.nwc-site-footer .nwc-footer-links { align-items:center; }
.nwc-site-footer .nwc-footer-links > p { margin:0 !important; line-height:1.7; }

/* WordPress open navigation overlay, including iPhone safe areas. */
.nwc-site-header .wp-block-navigation__responsive-container.is-menu-open {
  box-sizing:border-box;
  padding:24px !important;
  padding-top:max(24px,env(safe-area-inset-top)) !important;
  padding-right:max(24px,env(safe-area-inset-right)) !important;
  padding-bottom:max(24px,env(safe-area-inset-bottom)) !important;
  padding-left:max(24px,env(safe-area-inset-left)) !important;
  background:#f6f3ec !important;
  color:#24362f !important;
}
.nwc-site-header .is-menu-open .wp-block-navigation__responsive-container-content {
  align-items:flex-start !important;
  padding-top:64px !important;
}
.nwc-site-header .is-menu-open .wp-block-navigation__container {
  width:100%;
  align-items:flex-start !important;
  gap:16px !important;
}
.nwc-site-header .is-menu-open .wp-block-navigation-item {
  align-items:flex-start !important;
  margin:0 !important;
}
.nwc-site-header .is-menu-open .wp-block-navigation-item__content {
  display:block;
  padding:8px 0 !important;
  font-size:22px !important;
  line-height:1.4 !important;
  color:#24362f !important;
}
.nwc-site-header .is-menu-open .wp-block-navigation__responsive-container-close {
  top:0 !important;
  right:0 !important;
  padding:10px;
  color:#24362f !important;
}

.nwc-edit-projects { max-width:1200px; margin-inline:auto; padding:40px 24px; color:#24362f; background:#f6f3ec; font-family:Manrope,sans-serif; }
.nwc-edit-projects > * + * { margin-top:24px; }
.nwc-edit-projects h1 { font-size:clamp(36px,5vw,64px); line-height:1.15; }
.nwc-edit-projects h2 { font-size:32px; line-height:1.2; }
.nwc-edit-projects h3 { font-size:24px; line-height:1.3; }
.nwc-edit-projects p { line-height:1.7; }
.nwc-edit-projects .wp-block-columns { gap:24px; margin-block:24px; }
.nwc-edit-card { background:white; border:1px solid #ddd6cb; border-radius:8px; padding:24px; height:100%; box-sizing:border-box; }
.nwc-edit-card > * + * { margin-top:20px; }
.nwc-edit-projects .wp-block-image { margin:0; }
.nwc-edit-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.nwc-edit-projects .wp-block-button__link { background:#80532d; color:white; border-radius:4px; padding:14px 20px; }
