 @media only screen and (min-width: 0rem) {body {font-family: var(--bodyFont);color: var(--bodyTextColor);background-color: var(--stone);}.container {width: 100%;max-width: 76rem;margin: 0 auto;padding: 0 1.5rem;}.head {text-align: center;margin-bottom: 3rem;display: flex;flex-direction: column;align-items: center;}.eyebrow {font-family: var(--bodyFont);font-weight: 600;letter-spacing: 0.26em;text-transform: uppercase;font-size: 0.72rem;color: var(--primary);display: inline-flex;align-items: center;gap: 0.7rem;}.eyebrow::before, .eyebrow::after {content: "";width: 1.5rem;height: 1px;background-color: var(--primary);display: inline-block;}.eyebrow.on-dark {color: var(--white);}.eyebrow.on-dark::before, .eyebrow.on-dark::after {background-color: var(--primaryOnDark);}.section-title {font-family: var(--headingFont);font-weight: 600;font-size: clamp(2.1rem, 6vw, 3.5rem);line-height: 1.03;letter-spacing: -0.03em;color: var(--headerColor);margin: 1.1rem 0 0;max-width: 22ch;}.section-title .accent {color: var(--primary);}.section-title .accent-light {color: var(--primaryOnDark);font-weight: 400;}.section-title.on-dark {color: var(--white);}.btn {display: inline-flex;align-items: center;justify-content: center;gap: 0.55rem;font-family: var(--bodyFont);font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;font-size: 0.82rem;padding: 1.15rem 2.4rem;border-radius: var(--radius);border: 2px solid transparent;cursor: pointer;text-align: center;text-decoration: none;transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;}.btn-brick {background-color: var(--primary);color: var(--white);box-shadow: 0 0.9rem 2rem rgba(23, 19, 15, 0.28);}.btn-brick:hover {background-color: var(--primaryDark);transform: translateY(-3px);}.btn-outline {background-color: transparent;color: var(--primary);border-color: var(--primary);}.btn-outline:hover {background-color: var(--primary);color: var(--white);transform: translateY(-3px);}.btn-light {background-color: var(--white);color: var(--primaryDark);box-shadow: 0 0.9rem 2rem rgba(9, 22, 6, 0.35);}.btn-light:hover {background-color: var(--stoneAlt);transform: translateY(-3px);}.reveal {opacity: 1;}html.js .reveal {opacity: 0;transform: translateY(1.5rem);transition: opacity 0.7s ease, transform 0.7s ease;}html.js .reveal.is-in {opacity: 1;transform: none;}.arch {position: relative;overflow: hidden;border-radius: 14rem 14rem var(--radius) var(--radius);box-shadow: var(--shadow);}.arch img {width: 100%;height: 100%;aspect-ratio: 3 / 4;object-fit: cover;display: block;}}@media only screen and (min-width: 48rem) {.head {margin-bottom: 3.75rem;}}@media only screen and (prefers-reduced-motion: reduce) {html.js .reveal {opacity: 1;transform: none;transition: none;}.btn:hover {transform: none;}}@media only screen and (min-width: 0rem) {#hero {position: relative;min-height: 86vh;display: flex;align-items: center;justify-content: center;overflow: hidden;background-color: var(--secondaryDark);padding: 8.5rem 0 4rem;text-align: center;}#hero .hero-photo {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;z-index: 1;}#hero .hero-veil {position: absolute;inset: 0;z-index: 2;background: linear-gradient(180deg, rgba(11, 33, 6, 0.82) 0%, rgba(18, 51, 10, 0.62) 42%, rgba(11, 26, 5, 0.9) 100%);}#hero .container {position: relative;z-index: 3;}#hero .hero-inner {max-width: 48rem;margin: 0 auto;display: flex;flex-direction: column;align-items: center;}#hero h1 {font-family: var(--headingFont);font-weight: 600;font-size: clamp(2.5rem, 9vw, 4.6rem);line-height: 0.98;letter-spacing: -0.035em;color: var(--white);text-shadow: 0 0.15rem 1.6rem rgba(9, 22, 6, 0.55);}#hero .hero-second {display: block;color: var(--primaryOnDark);font-weight: 400;}#hero .hero-sub {font-size: 1.06rem;line-height: 1.7;color: rgba(255, 255, 255, 0.92);max-width: 34rem;margin: 1.4rem auto 2.25rem;text-shadow: 0 0.1rem 0.9rem rgba(9, 22, 6, 0.5);}#hero .hero-facts {list-style: none;margin: 3rem 0 0;padding: 1.75rem 0 0;width: 100%;max-width: 46rem;border-top: 1px solid rgba(255, 255, 255, 0.22);display: grid;grid-template-columns: 1fr;gap: 1.5rem;}#hero .hero-facts li {display: flex;flex-direction: column;align-items: center;gap: 0.3rem;}#hero .fact-num {font-family: var(--headingFont);font-weight: 500;font-size: 1.9rem;line-height: 1;color: var(--white);letter-spacing: -0.02em;}#hero .fact-lbl {font-size: 0.72rem;font-weight: 600;letter-spacing: 0.2em;text-transform: uppercase;color: rgba(255, 255, 255, 0.75);}}@media only screen and (min-width: 48rem) {#hero {padding: 10rem 0 5rem;}#hero .hero-facts {grid-template-columns: repeat(2, 1fr);max-width: 30rem;gap: 2rem;}#hero .hero-facts li {position: relative;}#hero .hero-facts li + li::before {content: "";position: absolute;left: -1rem;top: 0.25rem;bottom: 0.25rem;width: 1px;background-color: rgba(255, 255, 255, 0.22);}}@media only screen and (min-width: 64rem) {#hero {min-height: 92vh;}}@media only screen and (min-width: 0rem) {#about {background-color: var(--white);padding: 4.5rem 0;}#about .about-wrap {display: grid;grid-template-columns: 1fr;gap: 3rem;align-items: center;}#about .about-art {position: relative;max-width: 24rem;width: 100%;margin: 0 auto;}#about .arch-tag {position: absolute;bottom: -1rem;left: 50%;transform: translateX(-50%);background-color: var(--primary);color: var(--white);font-size: 0.72rem;font-weight: 700;letter-spacing: 0.2em;text-transform: uppercase;padding: 0.75rem 1.4rem;border-radius: var(--radius);box-shadow: var(--shadowSmall);white-space: nowrap;}#about .about-copy {display: flex;flex-direction: column;align-items: center;text-align: center;}#about .about-copy p {font-size: 1.02rem;line-height: 1.8;color: var(--bodyTextColor);max-width: 34rem;margin-top: 1.4rem;}#about .about-sign {margin: 2rem 0 2rem;padding-top: 1.5rem;border-top: 1px solid var(--line);width: 100%;max-width: 20rem;display: flex;flex-direction: column;gap: 0.2rem;}#about .sign-name {font-family: var(--headingFont);font-size: 1.35rem;font-weight: 500;color: var(--headerColor);letter-spacing: -0.02em;}#about .sign-role {font-size: 0.78rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: var(--primary);}}@media only screen and (min-width: 48rem) {#about {padding: 6.5rem 0;}}@media only screen and (min-width: 64rem) {#about .about-wrap {grid-template-columns: 0.85fr 1.15fr;gap: 5rem;}#about .about-art {max-width: none;}}@media only screen and (min-width: 0rem) {#services {background-color: var(--stone);padding: 4.5rem 0;}#services .svc-grid {list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: 1fr;gap: 1.75rem;}#services .svc {background-color: var(--white);border: 1px solid var(--line);border-radius: var(--radius);overflow: hidden;display: flex;flex-direction: column;transition: transform 0.3s ease, box-shadow 0.3s ease;}#services .svc:hover {transform: translateY(-6px);box-shadow: var(--shadow);}#services .svc-photo {position: relative;overflow: hidden;}#services .svc-photo img {width: 100%;aspect-ratio: 16 / 10;object-fit: cover;display: block;transition: transform 0.6s ease;}#services .svc:hover .svc-photo img {transform: scale(1.05);}#services .svc-body {padding: 2rem 1.9rem 2.25rem;text-align: center;border-top: 0.25rem solid var(--primary);}#services .svc h3 {font-family: var(--headingFont);font-weight: 600;font-size: 1.45rem;letter-spacing: -0.025em;color: var(--headerColor);margin-bottom: 0.7rem;}#services .svc p {font-size: 0.98rem;line-height: 1.75;color: var(--bodyTextColor);max-width: 30rem;margin: 0 auto;}}@media only screen and (min-width: 48rem) {#services {padding: 6.5rem 0;}#services .svc-grid {grid-template-columns: repeat(2, 1fr);gap: 2rem;}}@media only screen and (min-width: 64rem) {#services .svc-grid {gap: 2.5rem;}}@media only screen and (min-width: 0rem) {#ba {background-color: var(--secondaryDark);padding: 4.5rem 0;}#ba .ba-stack {display: grid;grid-template-columns: 1fr;gap: 2.5rem;}#ba .ba-item {background-color: rgba(255, 255, 255, 0.04);border: 1px solid rgba(255, 255, 255, 0.14);border-radius: var(--radius);overflow: hidden;}#ba .ba-frame {--pos: 50%;position: relative;overflow: hidden;line-height: 0;touch-action: pan-y;}#ba .ba-frame img {width: 100%;aspect-ratio: 4 / 3;object-fit: cover;display: block;user-select: none;pointer-events: none;}#ba .ba-top {position: absolute;inset: 0;height: 100%;clip-path: inset(0 0 0 var(--pos));}#ba .ba-line {position: absolute;top: 0;bottom: 0;left: var(--pos);width: 2px;margin-left: -1px;background-color: var(--white);z-index: 3;}#ba .ba-tag {position: absolute;bottom: 0.9rem;z-index: 4;font-size: 0.66rem;font-weight: 700;letter-spacing: 0.2em;text-transform: uppercase;color: var(--white);background-color: rgba(11, 26, 5, 0.7);padding: 0.45rem 0.8rem;border-radius: var(--radiusSmall);line-height: 1;}#ba .ba-tag-left {left: 0.9rem;}#ba .ba-tag-right {right: 0.9rem;}#ba .ba-range {position: absolute;inset: 0;z-index: 5;width: 100%;height: 100%;margin: 0;padding: 0;background: transparent;border: none;appearance: none;-webkit-appearance: none;cursor: ew-resize;}#ba .ba-range::-webkit-slider-runnable-track {background: transparent;height: 100%;}#ba .ba-range::-moz-range-track {background: transparent;height: 100%;}#ba .ba-range::-webkit-slider-thumb {appearance: none;-webkit-appearance: none;width: 3rem;height: 3rem;border-radius: 50%;background-color: var(--white);border: 3px solid var(--primary);box-shadow: 0 0.5rem 1.25rem rgba(9, 22, 6, 0.45);cursor: ew-resize;}#ba .ba-range::-moz-range-thumb {width: 3rem;height: 3rem;border-radius: 50%;background-color: var(--white);border: 3px solid var(--primary);box-shadow: 0 0.5rem 1.25rem rgba(9, 22, 6, 0.45);cursor: ew-resize;}#ba .ba-range:focus-visible {outline: 3px solid var(--primaryOnDark);outline-offset: -3px;}#ba .ba-meta {padding: 1.6rem 1.5rem 1.9rem;text-align: center;}#ba .ba-meta h3 {font-family: var(--headingFont);font-weight: 600;font-size: 1.3rem;letter-spacing: -0.02em;color: var(--white);margin-bottom: 0.6rem;}#ba .ba-meta p {font-size: 0.95rem;line-height: 1.75;color: rgba(255, 255, 255, 0.78);max-width: 34rem;margin: 0 auto;}#ba .ba-video {margin-top: 4rem;padding-top: 3.5rem;border-top: 1px solid rgba(255, 255, 255, 0.16);display: flex;flex-direction: column;align-items: center;}#ba .ba-video .head {margin-bottom: 2.5rem;}#ba .vid-title {font-family: var(--headingFont);font-weight: 600;font-size: clamp(1.6rem, 4.4vw, 2.3rem);letter-spacing: -0.025em;color: var(--white);margin-top: 1rem;text-align: center;}#ba .vid-pair {width: 100%;display: grid;grid-template-columns: 1fr;gap: 1.75rem;}#ba .vid {margin: 0;text-align: center;display: flex;flex-direction: column;align-items: center;}#ba .vid video {width: 100%;max-width: 17rem;aspect-ratio: 9 / 16;object-fit: cover;display: block;margin: 0 auto;background-color: #000;border-radius: var(--radius);border: 1px solid rgba(255, 255, 255, 0.16);}#ba .vid figcaption {margin-top: 0.9rem;font-size: 0.72rem;font-weight: 700;letter-spacing: 0.22em;text-transform: uppercase;color: rgba(255, 255, 255, 0.8);}#ba .vid-toggle {margin-top: 2rem;font-family: var(--bodyFont);font-size: 0.72rem;font-weight: 700;letter-spacing: 0.16em;text-transform: uppercase;color: var(--white);background-color: transparent;border: 1px solid rgba(255, 255, 255, 0.45);border-radius: var(--radius);padding: 0.75rem 1.5rem;cursor: pointer;transition: background-color 0.25s ease, border-color 0.25s ease;}#ba .vid-toggle:hover {background-color: var(--primary);border-color: var(--primary);}}@media only screen and (min-width: 48rem) {#ba {padding: 6.5rem 0;}#ba .vid-pair {grid-template-columns: repeat(2, 1fr);gap: 2.25rem;}#ba .vid video {max-width: 19rem;}}@media only screen and (min-width: 64rem) {#ba .ba-stack {grid-template-columns: repeat(3, 1fr);gap: 2rem;}#ba .ba-frame img {aspect-ratio: 1 / 1;}#ba .vid-pair {max-width: 46rem;margin: 0 auto;}#ba .vid video {max-width: 21rem;}}@media only screen and (min-width: 0rem) {#projects {background-color: var(--white);padding: 4.5rem 0;}#projects .proj-carousel {position: relative;display: flex;align-items: center;max-width: 68rem;margin: 0 auto;}#projects .p-viewport {overflow: hidden;width: 100%;}#projects .p-track {list-style: none;margin: 0;padding: 0;display: flex;transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);}#projects .p-slide {min-width: 100%;padding: 0 0.4rem;box-sizing: border-box;}#projects .p-slide img {width: 100%;aspect-ratio: 4 / 3;object-fit: cover;display: block;border-radius: var(--radius);box-shadow: var(--shadowSmall);}#projects .p-arrow {position: absolute;top: 50%;transform: translateY(-50%);z-index: 4;width: 3rem;height: 3rem;border-radius: 50%;display: flex;align-items: center;justify-content: center;background-color: var(--primary);color: var(--white);border: none;font-size: 1.5rem;line-height: 1;cursor: pointer;box-shadow: var(--shadowSmall);transition: background-color 0.25s ease, transform 0.25s ease;}#projects .p-prev {left: -0.5rem;}#projects .p-next {right: -0.5rem;}#projects .p-dots {display: flex;justify-content: center;gap: 0.55rem;margin-top: 2rem;}#projects .p-dot {width: 0.6rem;height: 0.6rem;padding: 0;border-radius: 50%;background-color: var(--line);border: none;cursor: pointer;transition: background-color 0.25s ease, width 0.25s ease;}#projects .p-dot.is-active {background-color: var(--primary);width: 1.7rem;border-radius: 100px;}}@media only screen and (min-width: 48rem) {#projects {padding: 6.5rem 0;}#projects .p-slide {min-width: 50%;}#projects .p-prev {left: -1.25rem;}#projects .p-next {right: -1.25rem;}}@media only screen and (min-width: 64rem) {#projects .p-slide {min-width: 33.3333%;}#projects .p-prev {left: -1.75rem;}#projects .p-next {right: -1.75rem;}}@media (hover: hover) {#projects .p-arrow:hover {background-color: var(--primaryDark);transform: translateY(-50%) scale(1.06);}}@media only screen and (min-width: 0rem) {#reviews {background-color: var(--stone);padding: 4.5rem 0;}#reviews .rev-pair {display: grid;grid-template-columns: 1fr;gap: 3.5rem;max-width: 62rem;margin: 0 auto;}#reviews .rev {margin: 0;display: flex;flex-direction: column;align-items: center;text-align: center;}#reviews .rev::before {content: "\201C";font-family: var(--headingFont);font-size: 5rem;line-height: 0.7;font-weight: 600;color: var(--primary);display: block;margin-bottom: 1.25rem;}#reviews blockquote {margin: 0;}#reviews blockquote p {font-family: var(--headingFont);font-size: 1.18rem;font-weight: 400;line-height: 1.6;letter-spacing: -0.015em;color: var(--headerColor);max-width: 26rem;}#reviews figcaption {margin-top: 1.75rem;padding-top: 1.5rem;border-top: 2px solid var(--primary);display: flex;flex-direction: column;gap: 0.35rem;}#reviews .rev-name {font-size: 0.85rem;font-weight: 700;letter-spacing: 0.16em;text-transform: uppercase;color: var(--headerColor);}#reviews .rev-src {font-size: 0.72rem;font-weight: 600;letter-spacing: 0.14em;text-transform: uppercase;color: var(--primary);}}@media only screen and (min-width: 48rem) {#reviews {padding: 6.5rem 0;}#reviews .rev-pair {grid-template-columns: repeat(2, 1fr);gap: 3rem;}#reviews .rev + .rev {position: relative;}#reviews .rev + .rev::after {content: "";position: absolute;left: -1.5rem;top: 1rem;bottom: 1rem;width: 1px;background-color: var(--line);}#reviews blockquote p {font-size: 1.22rem;}}@media only screen and (min-width: 64rem) {#reviews .rev-pair {gap: 4.5rem;align-items: start;}#reviews .rev + .rev {margin-top: 4rem;}#reviews .rev + .rev::after {left: -2.25rem;top: -4rem;}}@media only screen and (min-width: 0rem) {#areas {background-color: var(--white);padding: 4.5rem 0;}#areas .area-run {list-style: none;margin: 0 auto;padding: 0;max-width: 54rem;display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 0.5rem 1.25rem;}#areas .area-run li {font-family: var(--headingFont);font-size: clamp(1.35rem, 4.4vw, 2rem);font-weight: 500;letter-spacing: -0.025em;line-height: 1.25;color: var(--headerColor);display: inline-flex;align-items: center;gap: 1.25rem;}#areas .area-run li::after {content: "";width: 0.45rem;height: 0.45rem;background-color: var(--primary);transform: rotate(45deg);display: inline-block;flex-shrink: 0;}#areas .area-run li:last-child::after {display: none;}#areas .areas-note {text-align: center;margin: 2.75rem auto 0;max-width: 34rem;font-size: 0.98rem;line-height: 1.75;color: var(--bodyTextColor);padding-top: 2rem;border-top: 1px solid var(--line);}}@media only screen and (min-width: 48rem) {#areas {padding: 6.5rem 0;}#areas .area-run {gap: 0.75rem 1.75rem;}}@media only screen and (min-width: 0rem) {#cta {position: relative;overflow: hidden;background-color: var(--secondaryDark);padding: 5.5rem 0;text-align: center;}#cta .cta-photo {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;z-index: 1;}#cta .cta-veil {position: absolute;inset: 0;z-index: 2;background: linear-gradient(180deg, rgba(11, 26, 5, 0.78) 0%, rgba(31, 84, 13, 0.72) 55%, rgba(11, 26, 5, 0.88) 100%);}#cta .container {position: relative;z-index: 3;display: flex;flex-direction: column;align-items: center;}#cta h2 {font-family: var(--headingFont);font-weight: 600;font-size: clamp(2.1rem, 6vw, 3.4rem);line-height: 1.03;letter-spacing: -0.03em;color: var(--white);max-width: 20ch;}#cta .cta-accent {color: var(--primaryOnDark);font-weight: 400;}#cta p {max-width: 36rem;margin: 1.2rem auto 2.25rem;font-size: 1.04rem;line-height: 1.75;color: rgba(255, 255, 255, 0.9);}#cta .cta-phone {margin-top: 1.5rem;font-size: 0.98rem;font-weight: 600;letter-spacing: 0.04em;color: var(--white);text-decoration: underline;text-underline-offset: 0.35rem;transition: color 0.25s ease;}#cta .cta-phone:hover {color: var(--primaryOnDark);}}@media only screen and (min-width: 48rem) {#cta {padding: 7rem 0;}}