@media(max-width:1080px){.nav__cta{display:none}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){:root{--header-height:72px}.menu-toggle{display:inline-flex}.nav__links{position:fixed;inset-inline:1rem;inset-block-start:calc(var(--header-height) + .5rem);max-height:calc(100svh - var(--header-height) - 1.5rem);display:grid;align-content:start;gap:0;padding:1rem;overflow-y:auto;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transform:translateY(-1rem);opacity:0;visibility:hidden;transition:.2s}.nav__links[data-open="true"]{transform:translateY(0);opacity:1;visibility:visible}.nav__link{display:block;padding:.9rem 1rem;border-radius:.6rem}.nav__link:hover{background:var(--mint-100)}.nav__link::after{display:none}.hero{min-height:auto;padding-block-start:48vh}.hero::before{background:linear-gradient(0deg,var(--ivory) 0%,var(--ivory) 52%,rgba(248,247,242,.08) 78%)}.hero__image{height:55%}.hero__content{padding-block:3rem 4.5rem}.split{grid-template-columns:1fr}.split__media{order:-1}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-item--wide{grid-column:span 6}.footer__top{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.container,.narrow{width:min(calc(100% - 1.25rem),var(--container))}.section{padding-block:4rem}.display{font-size:clamp(2.45rem,13vw,3.6rem)}.nav__actions{gap:.4rem}.language-toggle,.menu-toggle{width:2.8rem;min-width:2.8rem;height:2.8rem}.brand__text span{display:none}.grid--2,.grid--3,.grid--4,.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.gallery-item,.gallery-item--wide{grid-column:1/-1;min-height:250px}.media-frame img{min-height:300px}.footer__top{grid-template-columns:1fr}.footer__bottom{flex-direction:column}.cta{border-radius:var(--radius-md)}}
@media(max-width:640px){h1,h2,h3{overflow-wrap:anywhere}}@media(max-width:430px){.brand__text{display:none}}
@media(max-width:640px){.brand__logo{max-width:7.5rem;height:3.35rem}.portrait-frame{max-width:22rem}.container,.narrow,.nav,.page-hero .container{min-width:0;max-width:100%}}

/* Premium mobile experience */
@media (max-width: 900px) {
  .site-header { background: rgba(251,248,240,.97); }
  .nav { gap: .75rem; }
  .nav__links {
    inset-inline: .75rem;
    padding: .65rem;
    border-radius: 1.35rem;
    box-shadow: 0 24px 60px rgba(46,48,41,.18);
  }
  .nav__link {
    min-height: 3.25rem;
    display: flex;
    align-items: center;
    padding-inline: 1rem;
    font-size: .98rem;
  }
  .nav__link[aria-current="page"] {
    color: var(--white);
    background: var(--teal-700);
  }
  .hero__content { max-width: 42rem; }
  .page-hero { padding-block: 4rem; }
  .card:hover { transform: none; box-shadow: var(--shadow-sm); }
}

@media (max-width: 640px) {
  :root {
    --header-height: 66px;
    --radius-md: 1rem;
    --radius-lg: 1.35rem;
  }
  body { font-size: .97rem; }
  .container,
  .narrow { width: min(calc(100% - 1.5rem), var(--container)); }
  .section { padding-block: 3.5rem; }
  .section--compact { padding-block: 2.75rem; }
  .section-heading { margin-block-end: 1.75rem; }
  .eyebrow {
    margin-block-end: .75rem;
    font-size: .7rem;
    letter-spacing: .1em;
  }
  .display {
    margin-block-end: 1rem;
    font-size: clamp(2.2rem, 11vw, 3.15rem);
    line-height: 1.06;
  }
  .title { font-size: clamp(1.8rem, 8vw, 2.45rem); }
  .lead { font-size: 1.02rem; line-height: 1.65; }
  .brand__logo { max-width: 7rem; height: 3rem; }
  .language-toggle,
  .menu-toggle {
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
    min-height: 2.75rem;
    background: var(--white);
  }
  .hero {
    min-height: auto;
    padding-block-start: min(47vh, 25rem);
  }
  .hero__image { height: min(50vh, 27rem); object-position: 62% center; }
  .hero::before {
    background: linear-gradient(0deg,var(--ivory) 0%,var(--ivory) 54%,rgba(251,248,240,.15) 82%);
  }
  .hero__content { padding-block: 2.25rem 3.5rem; }
  .hero__content .cluster,
  .cta .cluster { display: grid; grid-template-columns: 1fr; }
  .hero__content .button,
  .cta .button,
  .form > .button { width: 100%; }
  .hero__note { align-items: flex-start; margin-block-start: 1.5rem; line-height: 1.5; }
  .page-hero { padding-block: 3rem; }
  .page-hero .display { font-size: clamp(2.15rem, 10vw, 3rem); }
  .breadcrumbs { margin-block-end: 1rem; }
  .grid { gap: 1rem; }
  .card { padding: 1.25rem; }
  .card__icon { width: 2.65rem; margin-block-end: 1rem; border-radius: .8rem; }
  .split { gap: 2rem; }
  .media-frame img { min-height: 260px; }
  .portrait-frame img { min-height: 0; }
  .journey__item { padding: 1.25rem 1rem 1.25rem 3.6rem; }
  .journey__item::before { width: 2.35rem; inset-inline-start: -1.2rem; }
  .filter-bar {
    flex-wrap: nowrap;
    margin-inline: -.75rem;
    padding-inline: .75rem;
    padding-block-end: .5rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .filter-bar::-webkit-scrollbar { display: none; }
  .filter-button { flex: 0 0 auto; scroll-snap-align: start; }
  .gallery-item,
  .gallery-item--wide { min-height: 220px; }
  .form { gap: 1rem; }
  .form-grid { gap: .9rem; }
  .field :is(input,select,textarea) {
    min-height: 3.5rem;
    font-size: 1rem;
  }
  .checkbox { grid-template-columns: 1.4rem 1fr; }
  .checkbox input { width: 1.35rem; height: 1.35rem; }
  .faq__button { min-height: 3.75rem; padding-block: 1rem; text-align: start; }
  .cta { padding: 2rem 1.25rem; }
  .map-placeholder { min-height: 300px; padding: 1.25rem; }
  .footer__top { gap: 2rem; padding-block: 3.25rem; }
  .footer__bottom { padding-block: 1.25rem 1.75rem; }
}

@media (max-width: 380px) {
  .container,
  .narrow { width: min(calc(100% - 1rem), var(--container)); }
  .brand__logo { max-width: 6.35rem; }
  .nav__actions { gap: .3rem; }
  .language-toggle,
  .menu-toggle { width: 2.6rem; min-width: 2.6rem; height: 2.6rem; min-height: 2.6rem; }
}

@media (hover: none) {
  .button:hover { transform: none; }
  .gallery-item:hover img { transform: none; }
}

/* Refined phone layout */
@media (max-width: 640px) {
  body.nav-open::before {
    position: fixed;
    inset: var(--header-height) 0 0;
    z-index: 90;
    background: rgba(41,43,36,.38);
    backdrop-filter: blur(3px);
    content: "";
  }

  .site-header { box-shadow: 0 1px 0 rgba(46,48,41,.06); }
  .nav { min-height: var(--header-height); }
  .nav__links {
    inset-block-start: calc(var(--header-height) + .65rem);
    gap: .2rem;
    padding: .7rem;
  }
  .nav__link { min-height: 3.15rem; font-weight: 750; }
  .menu-toggle span { transition: background .2s; }
  .menu-toggle span::before,
  .menu-toggle span::after { transform-origin: center; }
  .menu-toggle[aria-expanded="true"] span { background: transparent; }
  .menu-toggle[aria-expanded="true"] span::before { transform: translateY(2px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span::after { transform: rotate(-45deg); }

  .hero {
    display: block;
    padding-block-start: clamp(17rem, 72vw, 23rem);
    background: var(--ivory);
  }
  .hero__image {
    height: clamp(18.5rem, 78vw, 25rem);
    object-position: 61% center;
  }
  .hero::before {
    height: clamp(18.5rem, 78vw, 25rem);
    background: linear-gradient(180deg,transparent 55%,var(--ivory) 100%);
  }
  .hero .container { position: relative; z-index: 2; }
  .hero__content {
    margin-block-start: -1.25rem;
    padding: 1.5rem 0 3.5rem;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }
  .hero__content .display { max-width: 10ch; }
  .hero__content .lead { margin-block-end: 1.35rem; }
  .hero__content .cluster { gap: .65rem; }
  .hero__note { margin-block-end: 0; }

  .page-hero { padding-block: 2.6rem 3rem; }
  .page-hero .display { max-width: 13ch; }
  .breadcrumbs { gap: .35rem; font-size: .78rem; }
  .section-heading > :last-child,
  .card > :last-child,
  .notice > :last-child,
  .journey__item > :last-child { margin-block-end: 0; }

  .card {
    padding: 1.3rem;
    border-color: rgba(104,116,61,.14);
    box-shadow: 0 8px 24px rgba(46,48,41,.06);
  }
  .grid--3 .profile-card { padding: 0; }
  .card h2 { font-size: 1.35rem; }
  .card h3 { font-size: 1.18rem; }
  .card__link { min-height: 2.75rem; align-items: center; }
  .check-list { gap: .8rem; margin-block-end: 0; }
  .check-list li { grid-template-columns: 1.75rem 1fr; gap: .65rem; }
  .check-list li::before { width: 1.55rem; }

  .split__media { width: 100%; }
  .media-frame:not(.portrait-frame) img { aspect-ratio: 4/3; min-height: 0; }
  .portrait-frame { width: min(100%,20rem); }
  .portrait-frame img { aspect-ratio: 4/5; object-fit: cover; object-position: center 18%; }
  .gallery-grid { gap: .75rem; }
  .gallery-item,
  .gallery-item--wide { min-height: 0; aspect-ratio: 4/3; }

  .journey { padding-inline-start: .2rem; }
  .journey__item { border-inline-start-color: rgba(104,116,61,.35); }
  .journey__item h3 { margin-block-end: .4rem; }
  .faq__button { font-size: 1rem; line-height: 1.45; }
  .notice { padding: 1rem; }
  .map-placeholder { min-height: 15rem; }

  .cluster { gap: .6rem; }
  .cluster .button { width: 100%; }
  .button { min-height: 3.35rem; padding-inline: 1.1rem; }
  .form.card { padding: 1.15rem; }
  .field { gap: .35rem; }
  .field :is(input,select,textarea) { border-radius: .85rem; }

  .cta { text-align: center; }
  .cta .title { margin-inline: auto; }
  .cta .button { width: 100%; }
  .footer__top { grid-template-columns: 1fr 1fr; gap: 2rem 1rem; }
  .footer__brand { grid-column: 1/-1; }
  .footer__brand p { margin-block-end: .75rem; }
  .footer__bottom { gap: .5rem; text-align: center; }
}

@media (max-width: 380px) {
  .hero { padding-block-start: 15.5rem; }
  .hero__image,
  .hero::before { height: 17rem; }
  .hero__content .display { font-size: 2.05rem; }
  .footer__top { grid-template-columns: 1fr; }
  .footer__brand { grid-column: auto; }
}

/* Five-member roster: preserve each supplied portrait and adapt to narrow screens. */
.team-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.15rem; }
.team-grid .profile-card { padding:0; min-width:0; }
.team-grid .profile-card__visual { display:block; aspect-ratio:3/4; background:#fff; }
.team-grid .profile-card__portrait { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:contain; }
.team-grid .profile-card__body { padding:1.2rem 1rem; }
.team-grid :is(h2,h3) { font-size:1.2rem; line-height:1.5; margin-block-end:.5rem; }
.team-grid .profile-card__body p { font-size:.95rem; line-height:1.7; margin:0; }
.team-experience { display:inline-block; margin-block-start:.8rem; padding:.3rem .7rem; border-radius:999px; background:var(--mint-100); color:var(--teal-700); font-size:.8rem; font-weight:700; }
@media(max-width:1100px) { .team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .team-grid { grid-template-columns:1fr; } }
