.interior-page { background: var(--paper); color: var(--ink); font-family: "DM Sans", sans-serif; overflow-x: clip; }
.interior-page h1, .interior-page h2, .interior-page h3 { font-family: "Sora", sans-serif; }
.inner-hero { position: relative; display: grid; grid-template-columns: 1fr .88fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); min-height: 680px; padding: 130px clamp(1.5rem, 8vw, 8.5rem) 90px; overflow: hidden; background: var(--deep); color: white; }
.inner-hero::before { position: absolute; content: ""; width: 700px; height: 700px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; right: -16rem; top: -24rem; box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018); }
.inner-hero-copy { position: relative; z-index: 1; max-width: 660px; }
.inner-hero-copy h1 { margin: 1.4rem 0 1rem; color: white; font-size: clamp(3.2rem, 6vw, 5.6rem); font-weight: 500; line-height: 1.04; letter-spacing: -.065em; }
.inner-hero-copy h1 em, .story-copy h2 em, .commitment-heading h2 em, .team-copy h2 em, .contact-intro h2 em, .location-copy h2 em, .inner-cta h2 em { color: #c4d1b5; font-style: normal; }
.inner-hero-copy > p:not(.eyebrow) { max-width: 470px; margin: 0 0 1.7rem; color: rgba(255,255,255,.7); font-size: 1rem; line-height: 1.8; }
.inner-hero-photo { position: relative; z-index: 1; width: 100%; height: min(54vw, 490px); min-height: 340px; overflow: hidden; border-radius: 48% 48% 4px 4px; }
.inner-hero-photo::after { position: absolute; content: ""; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(17,25,19,.5)); }
.inner-hero-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.inner-hero-photo > span { position: absolute; z-index: 1; bottom: 1.5rem; left: 1.5rem; color: white; font-size: .57rem; letter-spacing: .16em; }
.inner-hero .scroll-cue { bottom: 1.7rem; }
.story-section { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(3rem, 9vw, 9rem); padding-top: clamp(5rem, 9vw, 8.5rem); padding-bottom: clamp(5rem, 9vw, 8.5rem); }
.story-photo { position: relative; min-height: 475px; }
.story-photo::before { position: absolute; content: ""; inset: 1rem -1rem -1rem 1rem; background: #e8eae2; }
.story-photo img { position: relative; display: block; width: 100%; height: 475px; object-fit: cover; }
.photo-stamp { position: absolute; left: -1.4rem; bottom: 2rem; display: grid; place-items: center; width: 104px; height: 104px; padding: .5rem; border: 1px solid white; border-radius: 50%; background: var(--deep); color: white; text-align: center; font-size: .58rem; line-height: 1.6; letter-spacing: .1em; }
.story-copy h2, .commitment-heading h2, .team-copy h2, .location-copy h2 { margin: 1rem 0 1.1rem; color: var(--deep); font-size: clamp(2.35rem, 4vw, 3.8rem); font-weight: 500; line-height: 1.11; letter-spacing: -.055em; }
.story-copy h2 em, .contact-intro h2 em, .location-copy h2 em { color: var(--leaf); }
.story-copy > p:not(.eyebrow) { max-width: 540px; color: var(--muted); font-size: .88rem; line-height: 1.85; }
.story-copy .text-link { margin-top: .4rem; }
.commitment-section { padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 7vw, 7rem); background: var(--deep); color: white; }
.commitment-heading { width: min(1180px, 100%); margin: 0 auto 3rem; }
.commitment-heading h2 { color: white; }
.commitment-heading > p:not(.eyebrow) { max-width: 465px; margin: 0; color: rgba(255,255,255,.65); font-size: .9rem; line-height: 1.8; }
.commitment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; width: min(1180px, 100%); margin: 0 auto; }
.commitment-card { position: relative; min-height: 385px; overflow: hidden; background: #36473a; }
.commitment-card::after { position: absolute; content: ""; inset: 25% 0 0; background: linear-gradient(transparent, rgba(17,25,19,.88)); }
.commitment-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.commitment-card:hover > img { transform: scale(1.045); }
.commitment-card > div { position: absolute; z-index: 1; inset: auto 1.4rem 1.5rem; }
.commitment-card > div > span { color: #d1ddc4; font-size: .62rem; letter-spacing: .1em; }
.commitment-card h3 { margin: .55rem 0; color: white; font-size: 1.15rem; font-weight: 600; }
.commitment-card p { max-width: 340px; margin: 0; color: rgba(255,255,255,.75); font-size: .78rem; line-height: 1.7; }
.team-section { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(2rem, 8vw, 8rem); padding: clamp(5rem, 9vw, 8.5rem) clamp(1.5rem, 8vw, 8.5rem); background: #eceee7; }
.team-copy { max-width: 480px; }
.team-copy h2 { font-size: clamp(2.3rem, 4vw, 3.6rem); }
.team-copy h2 em { color: var(--leaf); }
.team-copy > p:not(.eyebrow) { margin: 0 0 1.6rem; color: var(--muted); font-size: .88rem; line-height: 1.85; }
.team-copy .btn-outline { border-color: #9da99a; color: var(--deep) !important; }
.team-copy .btn-outline:hover { background: var(--deep); color: white !important; }
.team-gallery { min-width: 0; }
.about-slider { position: relative; overflow: hidden; }
.about-slider .slides { position: relative; width: 100%; height: clamp(330px, 38vw, 510px); overflow: hidden; background: #d4d6cc; }
.about-slider .slides img { display: none; width: 100%; height: 100%; object-fit: cover; }
.about-slider .slides img.displaySlide { display: block; animation: gallery-fade .45s ease both; }
@keyframes gallery-fade { from { opacity: .4; transform: scale(1.025); } to { opacity: 1; transform: scale(1); } }
.slider-controls { display: flex; align-items: center; gap: .9rem; padding-top: 1rem; }
.slider-controls button { width: 42px; height: 42px; border: 1px solid #c8cec3; border-radius: 50%; background: transparent; color: var(--deep); cursor: pointer; transition: .2s ease; }
.slider-controls button:hover { background: var(--deep); color: white; }
.slide-counter { color: #92998e; font-size: .68rem; }
.slide-counter b { color: var(--deep); }
.technology-section { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2.5rem, 8vw, 8rem); padding-top: clamp(5rem, 8vw, 8rem); padding-bottom: clamp(5rem, 8vw, 8rem); }
.technology-image { height: 390px; overflow: hidden; }
.technology-image img { width: 100%; height: 100%; object-fit: cover; }
.technology-copy h2 { max-width: 490px; margin: 1rem 0; color: var(--deep); font: 500 clamp(2.1rem, 3.5vw, 3.2rem)/1.13 "Sora", sans-serif; letter-spacing: -.055em; }
.technology-copy > p:not(.eyebrow) { max-width: 485px; color: var(--muted); font-size: .88rem; line-height: 1.8; }
.technology-copy .text-link { margin-top: .4rem; }
.inner-cta { position: relative; overflow: hidden; padding: clamp(4.5rem, 8vw, 7rem) 1.5rem; text-align: center; background: var(--deep); color: white; }
.inner-cta::before, .inner-cta::after { position: absolute; content: ""; top: 50%; left: 50%; width: min(70vw, 660px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.inner-cta::after { width: min(53vw, 500px); }
.inner-cta .eyebrow { justify-content: center; }
.inner-cta h2 { position: relative; z-index: 1; margin: 1rem 0 1.5rem; color: white; font: 500 clamp(3rem, 6vw, 5.5rem)/1.02 "Sora", sans-serif; letter-spacing: -.06em; }
.contact-hero { min-height: 660px; }
.contact-hero-photo { border-radius: 6px 48% 6px 6px; }
.contact-main { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 8vw, 8rem); padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(5rem, 9vw, 8rem); }
.contact-intro { padding-top: .5rem; }
.contact-intro h2 { margin: 1rem 0; color: var(--deep); font: 500 clamp(2.7rem, 4.2vw, 4rem)/1.05 "Sora", sans-serif; letter-spacing: -.06em; }
.contact-intro > p:not(.eyebrow) { max-width: 390px; color: var(--muted); font-size: .9rem; line-height: 1.8; }
.contact-direct { display: grid; gap: 1rem; margin-top: 2rem; }
.contact-direct > a { display: flex; align-items: center; gap: .85rem; color: var(--deep); }
.contact-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 50%; background: #e7ebe1; color: var(--leaf); }
.contact-direct small, .contact-direct strong { display: block; }
.contact-direct small { margin-bottom: .2rem; color: var(--muted); font-size: .66rem; }
.contact-direct strong { font-size: .82rem; font-weight: 600; }
.contact-form-card { padding: clamp(1.5rem, 4vw, 3rem); background: white; box-shadow: 0 18px 60px rgba(39,55,45,.07); }
.form-heading { margin-bottom: 1.7rem; }
.form-heading > span { color: var(--leaf); font-size: .64rem; font-weight: 700; letter-spacing: .08em; }
.form-heading > span i { padding-inline: .3rem; color: #aab2a5; font-style: normal; }
.form-heading h3 { margin: .65rem 0 .3rem; color: var(--deep); font-size: 1.35rem; font-weight: 600; }
.form-heading > p { margin: 0; color: var(--muted); font-size: .75rem; }
.contact-form { display: grid; gap: 1.05rem; margin: 0; }
.form-row { display: grid; gap: .45rem; }
.form-row label { color: #4f5d51; font-size: .73rem; font-weight: 700; }
.form-row label span { color: #ba674b; }
.form-row input, .form-row textarea { width: 100%; max-width: none; min-height: 48px; margin: 0; padding: .8rem .9rem; border: 1px solid #dfe3da; border-radius: 3px; outline: none; background: #fbfbf8; color: var(--deep); font: 400 .8rem "DM Sans", sans-serif; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.form-row input:focus, .form-row textarea:focus { border-color: #7b9272; background: white; box-shadow: 0 0 0 3px rgba(113,132,100,.13); }
.form-row input::placeholder, .form-row textarea::placeholder { color: #a0a59b; }
.form-row textarea { min-height: 105px; resize: vertical; }
.form-row-split { grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-row-split > div { display: grid; gap: .45rem; }
.form-submit { justify-self: start; border: 0; background: var(--deep); color: white !important; cursor: pointer; }
.form-submit:hover { background: var(--leaf); }
.form-note { margin: -.45rem 0 0; color: #8a9187; font-size: .67rem; line-height: 1.5; }
.location-section { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 480px; background: #eceee7; }
.location-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 4rem clamp(1.5rem, 8vw, 8rem); }
.location-copy h2 { font-size: clamp(2.4rem, 4vw, 3.7rem); }
.location-copy > p:not(.eyebrow) { margin: 0 0 1rem; color: var(--muted); font-size: .83rem; line-height: 1.8; }
.location-map { min-height: 400px; }
.location-map iframe { width: 100%; height: 100%; min-height: 400px; border: 0; filter: saturate(.72); }

@media (max-width: 900px) {
  .inner-hero { grid-template-columns: 1fr .8fr; gap: 2rem; padding-inline: 6vw; }
  .inner-hero-copy h1 { font-size: clamp(2.8rem, 7vw, 4.7rem); }
  .story-section { gap: 3rem; }
  .story-photo, .story-photo img { height: 410px; min-height: 410px; }
  .team-section { grid-template-columns: .9fr 1.1fr; gap: 2.5rem; padding-inline: 6vw; }
  .contact-main { gap: 2.5rem; }
  .location-copy { padding-inline: 6vw; }
}

@media (max-width: 620px) {
  .inner-hero { min-height: 760px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 2rem; padding: 128px 1.3rem 82px; }
  .inner-hero-copy h1 { margin: 1rem 0; font-size: clamp(2.75rem, 12vw, 4rem); }
  .inner-hero-copy > p:not(.eyebrow) { font-size: .88rem; }
  .inner-hero-copy .btn { min-height: 46px; font-size: .72rem; }
  .inner-hero-photo { flex: 0 0 245px; min-height: 245px; height: 245px; width: calc(100% - 2rem); align-self: flex-end; }
  .inner-hero-photo > span { bottom: 1rem; left: 1rem; font-size: .49rem; }
  .inner-hero .scroll-cue { left: 1.3rem; bottom: 1.4rem; }
  .story-section { grid-template-columns: 1fr; gap: 2.5rem; padding-block: 4.5rem; }
  .story-photo, .story-photo img { height: 310px; min-height: 310px; }
  .story-photo { margin-right: .8rem; }
  .photo-stamp { left: -.7rem; bottom: 1rem; width: 82px; height: 82px; font-size: .5rem; }
  .story-copy h2, .commitment-heading h2, .team-copy h2, .location-copy h2 { font-size: 2.5rem; }
  .story-copy > p:not(.eyebrow) { font-size: .82rem; }
  .commitment-section { padding: 4.5rem 1.3rem; }
  .commitment-heading { margin-bottom: 2rem; }
  .commitment-grid { grid-template-columns: 1fr; gap: .85rem; }
  .commitment-card { min-height: 330px; }
  .team-section { grid-template-columns: 1fr; gap: 2rem; padding: 4.5rem 1.3rem; }
  .team-copy > p:not(.eyebrow) { font-size: .83rem; }
  .about-slider .slides { height: 280px; }
  .technology-section { grid-template-columns: 1fr; gap: 2rem; padding-block: 4.5rem; }
  .technology-image { height: 280px; }
  .technology-copy h2 { font-size: 2.35rem; }
  .inner-cta { padding-block: 4.5rem; }
  .inner-cta h2 { font-size: 3.4rem; }
  .contact-hero { min-height: 770px; }
  .contact-main { grid-template-columns: 1fr; gap: 2rem; padding-block: 4.5rem; }
  .contact-intro h2 { font-size: 3rem; }
  .contact-direct { grid-template-columns: 1fr; margin-top: 1.5rem; }
  .contact-form-card { padding: 1.35rem; }
  .form-row-split { grid-template-columns: 1fr; gap: 1rem; }
  .form-submit { justify-self: stretch; }
  .location-section { grid-template-columns: 1fr; }
  .location-copy { padding: 4rem 1.3rem 2.5rem; }
  .location-map, .location-map iframe { min-height: 320px; }
}

@media (prefers-reduced-motion: reduce) {
  .about-slider .slides img, .commitment-card > img { animation: none; transition: none; }
}
