/* Local editorial refresh, scoped to the homepage and pricing. */
.editorial-home,.editorial-pricing { --text-muted:#645e54; --accent-dark:#71583b; }
.editorial-home .nav,.editorial-pricing .nav { background:#faf7f2; border-bottom:1px solid #e9e2d8; }
.editorial-home .nav-links a,.editorial-pricing .nav-links a { letter-spacing:1.2px; }
.editorial-home .btn,.editorial-pricing .btn { text-transform:none; letter-spacing:.4px; font-size:.82rem; padding:16px 24px; }
.editorial-home .btn-filled,.editorial-pricing .pricing-card .btn,.editorial-pricing .btn-filled { background:#71583b; border-color:#71583b; color:#fff; }
.editorial-home .nav .nav-links .btn-filled,.editorial-pricing .nav .nav-links .btn-filled { background:#71583b; color:#fff!important; border-color:#71583b; }
.editorial-home .section-label,.editorial-pricing .section-label { color:#71583b; letter-spacing:2px; }
.editorial-home .section-description { line-height:1.9; }
.editorial-home .section-title { font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.17; }
.editorial-home .container { max-width:1280px; }
.editorial-hero { display:grid; grid-template-columns:45% 55%; padding-top:102px; background:#f4eee5; min-height:740px; }
.editorial-hero-copy { padding:76px 48px 65px max(32px,calc((100vw - 1280px)/2)); align-self:center; }
.editorial-hero h1 { font-family:var(--font-heading); font-size:clamp(3rem,4.6vw,5.2rem); line-height:1.12; font-weight:400; letter-spacing:-1.8px; margin:26px 0; color:#342d25; }
.editorial-hero h1 em { font-weight:400; color:#806646; }
.editorial-hero .hero-description { animation:none; opacity:1; transform:none; font-size:1rem; text-transform:none; letter-spacing:0; color:#645e54; padding:0; margin:0 0 28px; max-width:370px; line-height:1.85; }
.editorial-hero .section-label { font-size:.65rem; line-height:1.8; }
.editorial-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.editorial-link { display:inline-flex; gap:18px; align-items:center; padding:8px 0; color:#4f422f; border-bottom:1px solid #ac9578; font-size:.9rem; }
.editorial-link:hover { color:#806646; }
.editorial-proof { display:block; margin-top:35px; color:#645e54; font-size:.7rem; }
.editorial-proof span { color:#806646; margin-right:8px; letter-spacing:2px; }
.editorial-hero-photo { margin:0; position:relative; min-height:630px; }
.editorial-hero-photo img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:50% 50%; }
.editorial-hero-photo figcaption { position:absolute; bottom:22px; left:24px; color:white; font-size:.7rem; letter-spacing:1px; background:#302c25b3; padding:8px 12px; }
.editorial-home .portfolio-section { padding:100px 0 90px; }
.editorial-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.editorial-gallery-item { overflow:hidden; aspect-ratio:3/4; }
.editorial-gallery-item:nth-child(2),.editorial-gallery-item:nth-child(5) { aspect-ratio:4/3; align-self:center; }
.editorial-gallery-item img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }
.editorial-home .portfolio-cta { margin-top:40px; }
.editorial-home .about-preview { background:#eee7dc; padding:90px 0; }
.editorial-home .about-image { max-height:620px; }
.editorial-home .about-image img { width:100%; height:100%; object-fit:cover; }
.editorial-home .about-stats { border-top:1px solid #cfc4b4; margin-top:35px; padding-top:25px; }
.editorial-home .services-section { background:#faf7f2; padding:100px 0; }
.editorial-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:50px; }
.editorial-service { display:block; color:#342d25; }
.editorial-service:first-child { grid-row:span 2; }
.editorial-service img { width:100%; height:250px; object-fit:cover; object-position:center 25%; display:block; }
.editorial-service:first-child img { height:calc(100% - 85px); min-height:520px; }
.editorial-service>div { padding-top:18px; position:relative; }
.editorial-service h3 { font-family:var(--font-heading); font-size:1.6rem; font-weight:400; }
.editorial-service p { font-size:.8rem; color:#645e54; margin-top:6px; }
.editorial-service span { position:absolute; right:3px; top:22px; font-size:1.4rem; }
.editorial-service:hover h3 { color:#806646; }
.editorial-story { background:#eae2d5; padding:80px 0; }
.editorial-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.editorial-story img { width:100%; height:610px; object-fit:cover; object-position:center 35%; }
.editorial-story .editorial-link { margin-top:22px; }
.editorial-home .google-review-card { background:transparent; border:0; border-top:1px solid #d7cabb; box-shadow:none; border-radius:0; padding:30px 15px; }
.editorial-home .google-review-text { font-family:var(--font-heading); font-size:1.12rem; line-height:1.85; }
.editorial-home .contact-cta { background:#eee7dc; }
.editorial-pricing .pricing-card { text-align:left; padding:42px 26px 30px; border-color:#ded5c8; box-shadow:none; }
.editorial-pricing .pricing-card.featured,.editorial-pricing .pricing-card.featured:hover { background:#eee6d9; transform:none; }
.editorial-pricing .pricing-card.featured::before { background:#71583b; letter-spacing:1px; }
.editorial-pricing .pricing-card h3 { font-size:1.5rem; margin-bottom:12px; }
.editorial-pricing .pricing-card .card-subtitle { text-transform:none; letter-spacing:.3px; }
.editorial-pricing .pricing-card .card-price { font-size:2.7rem; padding-bottom:24px; border-bottom:1px solid #ded5c8; }
.editorial-pricing .pricing-card .card-features li { line-height:1.6; padding:9px 0; color:#595349; }
.editorial-pricing .pricing-card .btn { text-align:center; padding:14px 12px; }
.editorial-pricing .category-header { margin-bottom:45px; }
.editorial-home a:focus-visible,.editorial-pricing a:focus-visible { outline:3px solid #806646; outline-offset:5px; }
@media (max-width:1100px) {
 .editorial-hero-copy { padding:48px 28px; }
 .editorial-hero { grid-template-columns:48% 52%; }
 .editorial-hero h1 { font-size:3.4rem; }
 .editorial-story-grid { gap:45px; }
 .editorial-services { gap:20px; }
 .editorial-pricing .pricing-grid.cols-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
 .editorial-hero { grid-template-columns:1fr; padding-top:85px; min-height:0; }
 .editorial-hero-copy { padding:45px 24px 38px; }
 .editorial-hero h1 { font-size:clamp(2.8rem,10vw,4rem); letter-spacing:-1px; margin:20px 0; }
 .editorial-hero-photo { min-height:0; height:420px; }
 .editorial-hero-photo img { object-position:50% 58%; }
 .editorial-proof { margin-top:24px; }
 .editorial-actions { gap:17px; }
 .editorial-home .portfolio-section,.editorial-home .about-preview,.editorial-home .services-section { padding:60px 0; }
 .editorial-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .editorial-gallery-item:nth-child(n) { aspect-ratio:3/4; }
 .editorial-home .portfolio-section .reveal[style] { margin-bottom:30px!important; }
 .editorial-services { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 16px; margin-top:30px; }
 .editorial-service:first-child { grid-column:1/-1; grid-row:auto; }
 .editorial-service:first-child img { min-height:0; height:340px; }
 .editorial-service img { height:230px; }
 .editorial-service h3 { font-size:1.35rem; padding-right:20px; }
 .editorial-service p { line-height:1.7; }
 .editorial-story { padding:50px 0; }
 .editorial-story-grid { grid-template-columns:1fr; gap:35px; }
 .editorial-story img { height:440px; }
 .editorial-pricing .pricing-grid.cols-4,.editorial-pricing .pricing-grid.cols-3 { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
 .editorial-home .reveal,.editorial-pricing .reveal { opacity:1!important; transform:none!important; transition:none!important; }
}
.editorial-gallery-item:nth-child(2) { aspect-ratio:3/4; }
.editorial-gallery-item:nth-child(2) img { object-position:center 70%; }
.editorial-service:nth-child(2) img { object-position:center 65%; }
.editorial-home .sticky-cta-mobile a { background:#71583b; text-transform:none; letter-spacing:.4px; }
@media (max-width:760px) {
 .editorial-hero-photo { order:-1; height:300px; }
 .editorial-hero-copy { padding:32px 24px 38px; }
 .editorial-hero-photo figcaption { bottom:14px; left:16px; font-size:.6rem; }
}
.editorial-pricing .sticky-cta-mobile a { background:#71583b; text-transform:none; letter-spacing:.4px; }
