/* Homepage / bright, architectural, image-first. */
.modern-hero {padding-top:20px}.modern-hero__board {display:grid;grid-template-columns:5fr 7fr;width:min(calc(100% - 32px),1440px);margin:auto;border-radius:24px;overflow:hidden;background:#f0eee8;min-height:596px}
.modern-hero__copy {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:50px clamp(28px,4vw,60px)}
.modern-hero .eyebrow {display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.105em;color:var(--slate);margin-bottom:35px}
.status-dot {width:6px;height:6px;background:var(--brass);border-radius:50%;flex:none}
.modern-hero h1 {font-size:clamp(48px,4.6vw,74px);letter-spacing:-.066em;line-height:1.02;margin:0 0 26px;max-width:13ch;text-wrap:initial}
.modern-hero h1 span {color:#697060}.modern-hero__copy>p {font-size:15px;line-height:1.75;color:var(--charcoal);max-width:37ch;margin:0 0 31px}
.modern-hero .btn-row {gap:10px 24px;align-items:center}.modern-hero .btn {font-size:13px;padding:16px 20px;gap:18px}.modern-hero .text-link {font-size:13px;gap:13px;min-height:48px;white-space:nowrap}
.modern-hero__foot {margin-top:55px;display:flex;gap:14px;align-items:center;font-size:11px;line-height:1.6;color:var(--slate)}.mini-rule {height:36px;width:1px;background:#a7ad9f}
.modern-hero__photo {position:relative;min-height:596px;overflow:hidden;background:var(--sand)}.modern-hero__project {display:block;height:100%;width:100%;position:absolute;inset:0}
.modern-hero__project img {height:100%;width:100%;object-fit:cover;object-position:52% 50%}
.modern-hero__label {position:absolute;bottom:24px;left:24px;right:24px;background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:14px;padding:15px 17px;max-width:315px;display:flex;justify-content:space-between;align-items:center;gap:32px;text-decoration:none;color:var(--ink)}
.modern-hero__label small {display:block;font-size:10px;color:var(--slate);letter-spacing:.045em;margin-bottom:3px}.modern-hero__label strong {font-size:17px;font-weight:500;letter-spacing:-.03em}
.round-arrow {width:39px;height:39px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:22px;flex:none}
.modern-signature {display:flex;justify-content:space-between;gap:20px;padding-block:23px;font-size:11px;color:var(--slate);border-bottom:1px solid var(--line)}
.modern-signature>a {text-decoration:none;display:inline-flex;gap:14px;color:var(--slate);align-items:center}.modern-signature>a span {color:var(--ink)}
.soft-heading {color:#697060}.modern-work .section-head {align-items:flex-end}.section-aside {max-width:36ch}.section-aside p {font-size:14px;line-height:1.75;color:var(--slate);margin:0 0 11px}
.modern-projects {display:grid;grid-template-columns:1fr 1fr;gap:34px 26px}.project-tile {min-width:0}.project-tile>a {text-decoration:none;display:block}.project-tile__image {border-radius:17px;overflow:hidden;aspect-ratio:1.43;background:var(--sand)}
.project-tile__image img {width:100%;height:100%;object-fit:cover}.project-tile--featured {grid-column:1/-1;display:grid;grid-template-columns:7fr 5fr;background:var(--sand);border-radius:20px;overflow:hidden}
.project-tile--featured>a {display:contents}.project-tile--featured .project-tile__image {border-radius:0;aspect-ratio:1.76}.project-tile--featured .project-tile__meta {align-self:center;padding:32px clamp(24px,4vw,60px)}
.project-tile__meta {padding-top:18px}.project-tile__meta .plate-meta {font-size:10px;color:var(--slate);letter-spacing:.09em;font-weight:400;display:block;margin-bottom:9px}
.project-tile__meta h3 {font-size:32px;letter-spacing:-.055em;display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0}.project-tile--featured h3 {font-size:39px}
.project-tile__meta p {font-size:14px;line-height:1.75;color:var(--slate);max-width:34ch;margin:18px 0 22px}.project-tile__link {font-size:12px;display:inline-flex;gap:35px;align-items:center;min-height:44px}
.project-tile:not(.project-tile--featured) .project-tile__meta h3 {font-size:30px}.work-bottom {display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:23px 0 12px;margin-top:12px;font-size:12px;color:var(--slate)}.work-bottom .text-link {font-size:12px}
.modern-services {background:var(--sand)}.modern-service-grid {display:grid;grid-template-columns:5fr 6fr;gap:9%}.modern-services__intro>p {max-width:37ch;font-size:15px;color:var(--slate);line-height:1.75;margin-bottom:28px}
.modern-services__detail {max-width:340px;position:relative}.modern-services__detail img {width:100%;height:290px;object-fit:cover;object-position:center 45%;border-radius:16px}
.modern-services__detail figcaption {font-size:11px;line-height:1.65;color:var(--slate);margin-top:11px}
.modern-services__list {align-self:center}.modern-services__list>.text-link {margin-top:28px}
.modern-services .service-index__image {display:none}.modern-services .service-index a {grid-template-columns:28px 1fr 42px;min-height:90px;gap:22px}.modern-services .service-index :is(h2,h3) {font-size:clamp(23px,2vw,30px)}
.modern-process-grid {display:grid;grid-template-columns:5fr 6fr;gap:9%}.modern-process-grid>div:first-child>p {font-size:15px;line-height:1.75;color:var(--slate);max-width:37ch;margin:24px 0 12px}
.modern-process h2 {max-width:14ch}.modern-process .process__step>div {display:block}.modern-process .process__step h3 {margin-bottom:5px}.modern-process .process__step p {max-width:100%;font-size:13px}.modern-process .process__step {grid-template-columns:34px 1fr;gap:20px;padding:22px 0}
.modern-testimonial {padding:75px 0;background:#e8e9e1}.modern-testimonial__inner {display:grid;grid-template-columns:1fr 8fr;gap:25px;max-width:1120px}.quote-glyph {font-size:150px;line-height:.8;letter-spacing:-.07em;color:#78806d;font-family:Georgia,serif}
.modern-testimonial .eyebrow {color:#536044;font-size:10px}.modern-testimonial .review blockquote p {font-size:clamp(25px,2.45vw,37px);font-weight:400;letter-spacing:-.044em;line-height:1.38;max-width:45ch;margin-bottom:20px}
.modern-testimonial .review figcaption {color:#434a3e;font-size:12px}.modern-testimonial .review figcaption strong {font-weight:600}
.modern-location {padding-block:57px;border-bottom:1px solid var(--line)}.modern-location__inner {display:flex;justify-content:space-between;gap:40px;align-items:center}.modern-location h2 {font-size:clamp(27px,2.4vw,35px);margin:0;line-height:1.15}
.modern-location .eyebrow {margin-bottom:14px}.modern-location p {font-size:14px;color:var(--slate);line-height:1.7;margin-bottom:10px}
.modern-estimate {background:#f5f4ef}.modern-estimate .lead-copy>p {font-size:15px;line-height:1.75;max-width:37ch;margin-top:25px;margin-bottom:0;color:var(--slate)}.modern-estimate .lead-copy .muted {margin-top:12px}
.modern-phone {display:block;text-decoration:none;margin-top:40px;padding-bottom:25px;border-bottom:1px solid var(--line);max-width:385px}
.modern-phone small {display:block;font-size:11px;color:var(--slate);margin-bottom:9px}.modern-phone>span {font-size:29px;display:flex;justify-content:space-between;gap:20px;align-items:center;letter-spacing:-.035em;line-height:1.3}
.estimate-note {display:flex;gap:16px;align-items:center;margin-top:25px}.estimate-note>span {width:37px;height:37px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex:none;font-size:20px}.estimate-note p {font-size:12px;line-height:1.7;color:var(--slate);margin:0}
@media(min-width:1550px){.modern-hero__board {min-height:630px}.modern-hero__photo {min-height:630px}}
@media(min-width:1024px) and (max-width:1250px){.modern-hero__copy {padding:35px}.modern-hero h1 {font-size:55px}.modern-hero__foot {margin-top:32px}.modern-hero .btn-row {gap:6px}}
@media(max-width:1023px){.modern-hero__board {grid-template-columns:1fr 1fr;min-height:500px}.modern-hero__copy {padding:32px}.modern-hero__photo {min-height:500px}.modern-hero h1 {font-size:46px}.modern-hero .eyebrow {font-size:10px;letter-spacing:.07em;margin-bottom:25px}.modern-hero__foot {margin-top:30px}.modern-hero__copy>p {font-size:14px}.modern-hero .btn-row {gap:8px 14px}.desktop-break {display:none}.modern-service-grid,.modern-process-grid {gap:6%}.modern-projects {gap:26px}.project-tile--featured {grid-template-columns:6fr 5fr}.project-tile--featured h3 {font-size:32px}.project-tile--featured .project-tile__meta {padding:25px}.project-tile--featured .project-tile__image {aspect-ratio:auto;min-height:330px}.modern-signature>span:nth-child(2) {display:none}.work-bottom {align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:767px){
 .modern-hero {padding-top:0}.modern-hero__board {grid-template-columns:1fr;width:100%;border-radius:0;min-height:0}.modern-hero__copy {padding:29px 22px 28px}.modern-hero .eyebrow {font-size:10px;letter-spacing:.09em;margin-bottom:23px}
 .modern-hero h1 {font-size:clamp(43px,11.7vw,62px);line-height:1.025;letter-spacing:-.058em;margin-bottom:20px;max-width:none}
 .modern-hero__copy>p {font-size:14px;line-height:1.65;max-width:37ch;margin-bottom:22px}.modern-hero .btn-row {gap:8px 15px;width:100%}.modern-hero .btn {padding:14px 18px;font-size:12px;gap:13px}.modern-hero .text-link {font-size:12px;gap:10px}
 .modern-hero__foot {display:none}.modern-hero__photo {min-height:320px;height:clamp(320px,79vw,430px)}.modern-hero__project img {object-position:54% center}
 .modern-hero__label {left:18px;right:18px;bottom:17px;padding:12px 14px;max-width:258px;border-radius:12px}.modern-hero__label strong {font-size:16px}.modern-hero__label small {font-size:10px}.modern-hero__label .round-arrow {width:34px;height:34px;font-size:20px}
 .modern-signature {padding-block:14px;font-size:10px;gap:10px}.modern-signature>a {gap:0}.modern-signature>a span {font-size:14px;padding-left:8px}.modern-signature>a span::after {content:''}
 .modern-work .section-head {align-items:flex-start;gap:20px}.section-aside p {font-size:13px}.section-aside {max-width:none}.section-aside .text-link {font-size:13px}
 .modern-projects {grid-template-columns:1fr;gap:30px}.project-tile--featured {grid-template-columns:1fr;border-radius:16px}.project-tile--featured .project-tile__image {min-height:0;aspect-ratio:1.43}.project-tile--featured .project-tile__meta {padding:23px}
 .project-tile--featured h3 {font-size:31px}.project-tile__meta .plate-meta {font-size:10px}.project-tile__meta p {font-size:13px;max-width:34ch;margin:14px 0 12px}.project-tile__link {font-size:12px}.project-tile:not(.project-tile--featured) .project-tile__meta h3 {font-size:28px}.project-tile__meta .round-arrow {width:35px;height:35px;font-size:20px}
 .project-tile__image {aspect-ratio:1.36;border-radius:14px}.project-tile__meta {padding-top:15px}.work-bottom {font-size:11px;gap:4px;margin-top:17px;padding-top:15px}.work-bottom .text-link {font-size:11px;gap:12px}
 .modern-service-grid,.modern-process-grid {grid-template-columns:1fr;gap:32px}.modern-services__intro>p {font-size:14px;max-width:36ch;margin-bottom:23px}.modern-services__detail {max-width:100%;display:grid;grid-template-columns:140px 1fr;gap:17px;align-items:end}.modern-services__detail img {height:165px;border-radius:12px}.modern-services__detail figcaption {font-size:11px;margin:0;padding-bottom:5px}
 .modern-services .service-index a {grid-template-columns:22px 1fr 34px;min-height:80px;padding:20px 0;gap:15px}.modern-services .service-index :is(h2,h3) {font-size:23px}.modern-services__list>.text-link {margin-top:20px;font-size:13px}
 .modern-process h2 {max-width:none}.modern-process-grid>div:first-child>p {font-size:14px}.modern-process .process__step {gap:17px}.modern-testimonial {padding:50px 0}.modern-testimonial__inner {grid-template-columns:1fr;gap:8px}.quote-glyph {font-size:85px;height:53px}.modern-testimonial .eyebrow {font-size:10px}.modern-testimonial .review blockquote p {font-size:27px;line-height:1.37;letter-spacing:-.047em}.modern-testimonial .review figcaption {font-size:11px}
 .modern-location {padding:43px 0}.modern-location__inner {flex-direction:column;align-items:flex-start;gap:25px}.modern-location h2 {font-size:29px}.modern-location p {font-size:13px}.modern-location .text-link {font-size:13px}.modern-estimate h2 {font-size:40px}.modern-estimate .lead-copy>p {font-size:14px;max-width:37ch;margin-top:20px}.modern-phone {margin-top:27px;max-width:none}.modern-phone>span {font-size:28px}.modern-estimate .lead-grid {gap:35px}.estimate-note p {font-size:11px}
}
@media(max-width:359px){.modern-hero h1 {font-size:39px}.modern-hero .btn-row {gap:4px 12px}.modern-hero .btn {font-size:11px;padding:13px 14px}.modern-hero .text-link {font-size:11px;gap:6px}}
