.k2y-inner { margin: 4.5rem 3rem 3rem; }
.k2y-inner a { text-underline-offset: .2em; }
.k2y-inner a:focus-visible, .k2y-inner summary:focus-visible, .k2y-inner input:focus-visible, .k2y-inner textarea:focus-visible, .k2y-inner select:focus-visible { outline: 2px solid #111; outline-offset: 5px; }
.k2y-office-intro { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(12rem, 1fr); gap: 4rem; align-items: center; padding-bottom: 2.25rem; }
.k2y-office-about { font-size: 1.2rem; line-height: 1.55; }
.k2y-office-about p { max-width: 64ch; margin: 0; }
.k2y-office-services { border-left: 1px solid #d5d5d5; padding: 0 0 0 3rem; }
.k2y-office-services ul { list-style: none; padding: 0; margin: 0; }
.k2y-office-services li + li { margin-top: .35rem; }
.k2y-office-team { border-top: 1px solid #cfcfcf; padding-top: 1.2rem; }
.k2y-office-team > h2 { font-size: 1.45rem; line-height: 1.3; font-weight: 400; margin: 0 0 1.2rem; }
.k2y-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.k2y-team-member summary { position: relative; padding-right: 1.75rem; cursor: pointer; list-style: none; }
.k2y-team-member summary::-webkit-details-marker { display: none; }
.k2y-team-member__toggle { position: absolute; top: 0; right: .25rem; font-size: 1.1rem; line-height: 1.35; }
.k2y-team-member__toggle::after { content: "+"; }
.k2y-team-member[open] .k2y-team-member__toggle::after { content: "\2212"; }
.k2y-team-member__name { display: block; font-size: 1rem; line-height: 1.5; }
.k2y-team-member__role { display: block; color: #666; font-size: .85rem; line-height: 1.5; }
.k2y-team-member summary:hover .k2y-team-member__name, .k2y-team-member[open] .k2y-team-member__name { text-decoration: underline; text-underline-offset: .2em; }
.k2y-team-member__bio { padding-top: 1.25rem; font-size: .95rem; line-height: 1.6; }
.k2y-team-member__bio p { margin: 0 0 1rem; }
.k2y-team-member__bio img { display: block; width: auto; max-width: 220px; max-height: 300px; margin: 0 0 1rem; object-fit: contain; }
.k2y-office-feature { margin: 2rem 0 0; }
.k2y-office-feature > a { display: block; }
.k2y-office-feature__image { display: block; width: 100%; aspect-ratio: 3 / 1; object-fit: cover; object-position: var(--k2y-project-focal, center 55%); }
.k2y-office-feature figcaption { display: flex; justify-content: space-between; gap: 1rem; margin-top: .45rem; font-size: .78rem; line-height: 1.4; }
.k2y-office-feature figcaption > span:first-child { max-width: 88%; }
.k2y-office-feature figcaption > span:last-child { white-space: nowrap; }
.k2y-office-awards { margin-top: 2.5rem; border-top: 1px solid #cfcfcf; padding-top: 1.1rem; }
.k2y-office-awards summary { cursor: pointer; font-size: 1.1rem; }
.k2y-office-awards > div { max-width: 90ch; padding-top: .9rem; font-size: .95rem; }
.k2y-office-awards p { margin: 0; line-height: 1.8; }
.k2y-news-list { list-style: none; padding: 0; margin: 0; }
.k2y-news-item + .k2y-news-item { border-top: 1px solid #cfcfcf; }
.k2y-news-row { display: grid; grid-template-columns: minmax(6rem, 16%) minmax(0, 1fr); gap: 1rem; padding: 1.2rem 0; align-items: baseline; }
.k2y-news-item:first-child .k2y-news-row { padding-top: 0; }
.k2y-news-row time { color: #666; font-size: .95rem; white-space: nowrap; }
.k2y-news-row h2 { font-weight: 400; font-size: 1.08rem; line-height: 1.5; margin: 0; }
.k2y-news-row a { text-decoration: none; }
.k2y-news-row a:hover, .k2y-news-row a:focus-visible { text-decoration: underline; }
.k2y-news-feature { display: block; margin: .15rem 0 1.2rem; }
.k2y-news-feature img { display: block; width: 100%; aspect-ratio: 3 / 1; object-fit: cover; object-position: center 55%; }
.k2y-news-pagination { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.k2y-news-empty { margin: 0; }
.k2y-contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); max-width: 1150px; margin: 0 auto; min-height: 480px; }
.k2y-contact-details { align-self: center; padding: 0 3.5rem 0 0; font-size: 1.15rem; line-height: 1.55; }
.k2y-contact-details h2 { margin: 0 0 1.1rem; font-size: 1.5rem; line-height: 1.35; font-weight: 700; }
.k2y-contact-details p { margin: 0 0 1.2rem; overflow-wrap: anywhere; }
.k2y-contact-details a { text-decoration: none; }
.k2y-contact-details a:hover, .k2y-contact-details a:focus-visible { text-decoration: underline; }
.k2y-contact-details address { font-style: normal; margin-top: 1.8rem; max-width: 30ch; }
.k2y-contact-details .k2y-contact-map-link { margin-top: .8rem; font-size: .85rem; }
.k2y-contact-map-link a { text-decoration: underline; }
.k2y-contact-form { border-left: 1px solid #d5d5d5; padding-left: 3rem; }
.k2y-contact-form .wpcf7 { width: 100%; }
.k2y-contact-form .wpcf7 form { margin: 0; }
.k2y-contact-form .wpcf7 p { margin: 0 0 1.5rem; }
.k2y-contact-form .wpcf7 label { display: block; color: #666; font-size: .95rem; }
.k2y-contact-form .wpcf7-form-control-wrap { display: block; }
.k2y-contact-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .k2y-contact-form textarea, .k2y-contact-form select { display: block; width: 100%; border: 0; border-bottom: 1px solid #777; border-radius: 0; background: transparent; color: #111; padding: .65rem 0 .45rem; box-shadow: none; }
.k2y-contact-form input::placeholder, .k2y-contact-form textarea::placeholder { color: transparent; opacity: 1; }
.k2y-contact-form textarea { min-height: 150px; resize: vertical; }
.k2y-contact-form input[type="submit"], .k2y-contact-form button[type="submit"] { min-width: 195px; border: 1px solid #111; border-radius: 0; background: #fff; color: #111; padding: .65rem 1.5rem; cursor: pointer; }
.k2y-contact-form input[type="submit"]:hover, .k2y-contact-form button[type="submit"]:hover { color: #fff; background: #111; }
.k2y-contact-form input[type="submit"]:disabled, .k2y-contact-form button[type="submit"]:disabled { cursor: wait; opacity: .6; }
.k2y-contact-form .wpcf7-not-valid-tip { font-size: .85rem; color: #a31616; margin-top: .35rem; }
.k2y-contact-form [aria-invalid="true"] { border-bottom-color: #a31616; }
.k2y-contact-form .wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; padding: .7rem 0; border-width: 0; font-size: .95rem; }
.k2y-contact-form-unavailable { margin: 0; color: #666; }
@media (max-width: 960px) {
  .k2y-office-intro { grid-template-columns: minmax(0, 2fr) minmax(10rem, 1fr); gap: 2rem; }
  .k2y-office-services { padding-left: 2rem; }
  .k2y-contact-layout { min-height: 440px; }
  .k2y-contact-details { padding-right: 2rem; font-size: 1.05rem; }
  .k2y-contact-form { padding-left: 2rem; }
}
@media (max-width: 760px) {
  .k2y-inner { margin: 3rem 1.5rem 2rem; }
  .k2y-office-intro { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding-bottom: 1.75rem; }
  .k2y-office-about { font-size: 1.08rem; }
  .k2y-office-services { border-left: 0; padding-left: 0; }
  .k2y-office-services ul { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
  .k2y-office-services li + li { margin-top: 0; }
  .k2y-team-grid { gap: 1.5rem; grid-template-columns: minmax(0, 1fr); }
  .k2y-team-member__bio { max-width: 55ch; }
  .k2y-office-feature { margin-top: 1.75rem; }
  .k2y-office-feature__image, .k2y-news-feature img { aspect-ratio: 16 / 9; }
  .k2y-news-row { grid-template-columns: minmax(5.5rem, 22%) minmax(0, 1fr); gap: 1rem; padding: 1rem 0; }
  .k2y-news-row h2 { font-size: 1rem; }
  .k2y-news-row time { font-size: .85rem; }
  .k2y-contact-layout { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; min-height: 0; }
  .k2y-contact-details { padding-right: 0; }
  .k2y-contact-details address { margin-top: 1.2rem; }
  .k2y-contact-form { border-left: 0; border-top: 1px solid #d5d5d5; padding: 2rem 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .k2y-inner * { scroll-behavior: auto; }
}
