.institutional-page { background: #fff; }
.institutional-hero { position: relative; overflow: hidden; padding: 76px 0 62px; background: radial-gradient(circle at 82% 12%, rgba(159,0,159,.1), transparent 28rem), linear-gradient(135deg,#fff 0%,#fbf8ff 58%,#fff7ff 100%); }
.institutional-hero::after { position: absolute; top: -180px; right: -180px; width: 420px; height: 420px; border: 1px solid rgba(159,0,159,.09); border-radius: 50%; content: ""; box-shadow: 0 0 0 60px rgba(159,0,159,.025), 0 0 0 120px rgba(159,0,159,.015); }
.institutional-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr .82fr; align-items: center; gap: 64px; }
.institutional-hero__copy { max-width: 760px; }
.institutional-hero h1 { margin-bottom: 20px; font-size: clamp(2.65rem,5.4vw,5.4rem); }
.institutional-hero h1 span { color: var(--color-brand); }
.institutional-hero__lead { max-width: 720px; color: #373849; font-size: clamp(1.12rem,1.7vw,1.38rem); font-weight: 600; }
.institutional-hero__support { max-width: 650px; color: var(--color-copy); }
.institutional-hero__visual { overflow: hidden; min-height: 360px; border: 1px solid rgba(159,0,159,.12); border-radius: 24px; background: #fff; box-shadow: 0 24px 60px rgba(45,19,51,.13); }
.institutional-hero__visual img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.institutional-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.breadcrumb { margin-bottom: 18px; color: var(--color-muted); font-size: .74rem; }
.breadcrumb a { color: var(--color-brand); font-weight: 700; }
.institutional-section { padding: 76px 0; }
.institutional-section--soft { background: linear-gradient(135deg,#fcf9fd,#fff 55%,#faf5fc); }
.institutional-section--dark { color: #fff; background: var(--gradient-dark); }
.institutional-heading { max-width: 820px; margin-bottom: 36px; }
.institutional-heading--center { margin-inline: auto; text-align: center; }
.institutional-heading h2 { margin-bottom: 14px; font-size: clamp(1.8rem,3.4vw,3.25rem); }
.institutional-heading p { color: var(--color-copy); }
.institutional-section--dark .institutional-heading p { color: #b9bdca; }
.institutional-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.institutional-grid--2 { grid-template-columns: repeat(2,1fr); }
.institutional-grid--4 { grid-template-columns: repeat(4,1fr); }
.institutional-card { padding: 28px; border: 1px solid var(--color-line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.institutional-card__icon { display: grid; width: 48px; height: 48px; margin-bottom: 18px; place-items: center; border: 1px solid #e6cfe9; border-radius: 12px; background: #fbf1fc; color: var(--color-brand); font-size: 1.35rem; }
.institutional-card__icon.semantic-icon::before { width: 24px; height: 24px; }
.institutional-card h3 { margin-bottom: 9px; font-size: 1.12rem; }
.institutional-card p { margin: 0; color: var(--color-muted); font-size: .9rem; }
.institutional-card ul { margin: 14px 0 0; padding: 0; list-style: none; }
.institutional-card li { position: relative; margin: 8px 0; padding-left: 18px; color: var(--color-copy); font-size: .82rem; }
.institutional-card li::before { position: absolute; left: 0; color: var(--color-brand); content: "•"; }
.institutional-split { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 60px; }
.institutional-split__image { overflow: hidden; border-radius: 20px; box-shadow: var(--shadow-md); }
.institutional-split__image img { width: 100%; min-height: 390px; object-fit: cover; }
.institutional-copy h2 { font-size: clamp(1.9rem,3.4vw,3.2rem); }
.institutional-copy p { color: var(--color-copy); }
.institutional-copy blockquote { margin: 28px 0 0; padding: 24px; border-left: 4px solid var(--color-brand); border-radius: 0 12px 12px 0; background: #fbf3fc; color: #2d2431; font-size: 1.08rem; font-weight: 650; }
.principles-list { display: grid; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.principles-list li { display: flex; gap: 13px; align-items: flex-start; }
.principles-list span { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--color-brand); color: #fff; font-size: .72rem; font-weight: 800; }
.principles-list strong,.principles-list small { display: block; }
.principles-list small { color: var(--color-muted); }
.institutional-band { display: grid; grid-template-columns: 1.5fr 1fr auto; align-items: center; gap: 28px; padding: 30px 34px; border-radius: 16px; background: var(--gradient-brand); color: #fff; box-shadow: 0 18px 45px rgba(116,0,120,.22); }
.institutional-band h2,.institutional-band p { margin: 0; }
.institutional-band h2 { font-size: clamp(1.35rem,2.5vw,2rem); }
.institutional-band p { color: rgba(255,255,255,.82); }
.contact-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 24px; }
.contact-aside { display: grid; align-content: start; gap: 16px; }
.contact-option { display: flex; gap: 16px; padding: 22px; border: 1px solid var(--color-line); border-radius: 14px; background: #fff; box-shadow: var(--shadow-sm); }
.contact-option > span { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: #f7e8f7; color: var(--color-brand); }
.contact-option strong,.contact-option small,.contact-option a { display: block; }
.contact-option small { color: var(--color-muted); }
.contact-option a { margin-top: 5px; color: var(--color-brand); font-size: .86rem; font-weight: 750; }
.simple-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 30px; border: 1px solid #e4d0e6; border-radius: 16px; background: #fff; box-shadow: var(--shadow-md); }
.simple-form .field--full,.simple-form button,.simple-form .form-note,.simple-form .form-feedback { grid-column: 1 / -1; }
.simple-form textarea { min-height: 132px; resize: vertical; }
.simple-form input,.simple-form select,.simple-form textarea { width: 100%; padding: 12px 13px; border: 1px solid #ddd3df; border-radius: 6px; background: #fff; color: var(--color-ink); font: inherit; }
.simple-form input:focus,.simple-form select:focus,.simple-form textarea:focus { outline: 2px solid rgba(159,0,159,.17); border-color: var(--color-brand); }
.simple-form input[type="file"] { padding: 9px; font-size: .8rem; }
.simple-form label { display: block; margin-bottom: 5px; color: #55205b; font-size: .75rem; font-weight: 750; }
.form-note,.form-feedback { margin: 0; color: var(--color-muted); font-size: .7rem; text-align: center; }
.form-feedback { color: #087444; font-weight: 700; }
.privacy-layout { display: grid; grid-template-columns: 260px minmax(0,800px); justify-content: center; gap: 54px; }
.privacy-nav { position: sticky; top: 92px; align-self: start; padding: 20px; border: 1px solid var(--color-line); border-radius: 12px; background: #fff; }
.privacy-nav strong { display: block; margin-bottom: 10px; font-size: .85rem; }
.privacy-nav a { display: block; padding: 7px 0; color: var(--color-muted); font-size: .78rem; }
.privacy-nav a:hover { color: var(--color-brand); }
.legal-copy section { scroll-margin-top: 100px; margin-bottom: 42px; }
.legal-copy h2 { margin-bottom: 12px; font-size: 1.45rem; }
.legal-copy p,.legal-copy li { color: var(--color-copy); font-size: .92rem; }
.legal-copy ul { padding-left: 20px; }
.legal-note { padding: 18px 20px; border: 1px solid #ead7eb; border-radius: 10px; background: #fdf7fd; color: var(--color-copy); font-size: .82rem; }
.career-areas { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; }
.career-area { padding: 22px 18px; border: 1px solid var(--color-line); border-radius: 14px; background: #fff; text-align: center; box-shadow: var(--shadow-sm); }
.career-area span { color: var(--color-brand); font-size: 1.5rem; }
.career-area > .semantic-icon { width: 42px; height: 42px; margin-inline: auto; border-radius: 50%; background: var(--color-brand-soft); }
.career-area > .semantic-icon::before { width: 22px; height: 22px; }
.career-area h3 { margin: 10px 0 5px; font-size: .93rem; }
.career-area p { margin: 0; color: var(--color-muted); font-size: .72rem; }
@media (max-width: 980px) { .institutional-hero__grid,.institutional-split,.contact-layout { grid-template-columns: 1fr; } .institutional-hero__visual { min-height: 300px; } .institutional-grid--4 { grid-template-columns: repeat(2,1fr); } .career-areas { grid-template-columns: repeat(3,1fr); } .privacy-layout { grid-template-columns: 1fr; } .privacy-nav { position: static; display: flex; overflow-x: auto; gap: 18px; white-space: nowrap; } .privacy-nav strong { display:none; } .institutional-band { grid-template-columns: 1fr; text-align: center; } }
@media (max-width: 680px) { .institutional-hero { padding: 42px 0 34px; } .institutional-hero__grid { gap: 30px; } .institutional-hero h1 { font-size: clamp(2.35rem,11vw,3.25rem); } .institutional-hero__visual,.institutional-hero__visual img { min-height: 260px; } .institutional-hero__actions { display:grid; } .institutional-hero__actions .button { width:100%; } .institutional-section { padding: 50px 0; } .institutional-grid,.institutional-grid--2,.institutional-grid--4 { grid-template-columns: 1fr; } .institutional-card { padding: 22px; } .institutional-split { gap: 30px; } .institutional-split__image img { min-height: 280px; } .simple-form { grid-template-columns: 1fr; padding: 22px 18px; } .simple-form .field,.simple-form .field--full,.simple-form button,.simple-form .form-note,.simple-form .form-feedback { grid-column: 1; } .career-areas { grid-template-columns: 1fr 1fr; } .institutional-band { padding: 26px 20px; } }
@media (max-width: 420px) { .career-areas { grid-template-columns: 1fr; } }

/* Institutional refinement layer */
.institutional-hero { isolation: isolate; padding: clamp(76px, 8vw, 118px) 0 clamp(66px, 7vw, 98px); background: radial-gradient(circle at 80% 18%, rgba(159,0,159,.095), transparent 27rem), linear-gradient(135deg,#fff 0%,#faf7fc 58%,#fff 100%); }
.institutional-hero::before { position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgba(159,0,159,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(159,0,159,.04) 1px, transparent 1px); background-size: 58px 58px; content: ""; mask-image: radial-gradient(circle at 80% 35%, #000, transparent 48%); }
.institutional-hero__grid { grid-template-columns: 1.08fr .92fr; gap: clamp(48px, 6vw, 88px); }
.institutional-hero h1 { max-width: 860px; font-size: clamp(3.1rem,5.8vw,6rem); letter-spacing: -.06em; }
.institutional-hero__visual { min-height: 430px; border-color: rgba(159,0,159,.1); border-radius: var(--radius-lg); box-shadow: 0 30px 80px rgba(45,19,51,.14); transform: rotate(.6deg); }
.institutional-hero__visual img { min-height: 430px; transition: transform 1s var(--ease-standard); }
.institutional-hero__visual:hover img { transform: scale(1.025); }
.institutional-section { padding: var(--section-space) 0; }
.institutional-heading { margin-bottom: 48px; }
.institutional-heading h2, .institutional-copy h2 { font-size: clamp(2.15rem,3.9vw,3.85rem); }
.institutional-card { padding: 32px; border-radius: var(--radius-md); box-shadow: var(--shadow-xs); transition: transform var(--duration-medium) var(--ease-standard), box-shadow var(--duration-medium) ease, border-color var(--duration-medium) ease; }
.institutional-card:hover { border-color: rgba(159,0,159,.24); box-shadow: var(--shadow-sm); transform: translateY(-4px); }
.institutional-card__icon { width: 52px; height: 52px; border-radius: 50%; background: var(--color-brand-soft); }
.institutional-split { gap: clamp(50px, 7vw, 96px); }
.institutional-split__image { border-radius: var(--radius-lg); box-shadow: 0 28px 72px rgba(42,14,55,.14); }
.institutional-copy blockquote { padding: 28px 30px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: linear-gradient(90deg, var(--color-brand-soft), #fff); }
.institutional-band { position: relative; overflow: hidden; padding: 34px 40px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-md); background: var(--gradient-brand-deep); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 22px 55px rgba(116,0,120,.2); }
.institutional-band::after { position: absolute; right: -70px; bottom: -160px; width: 320px; height: 320px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; content: ""; box-shadow: 0 0 0 42px rgba(255,255,255,.025); }
.institutional-band > * { position: relative; z-index: 1; }
.contact-option, .simple-form, .privacy-nav, .career-area { border-radius: var(--radius-md); box-shadow: var(--shadow-xs); }
.simple-form { padding: 38px; }
.simple-form input,.simple-form select,.simple-form textarea { border-radius: var(--radius-xs); transition: border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease; }
.career-area { transition: transform var(--duration-medium) var(--ease-standard), border-color var(--duration-medium) ease; }
.career-area:hover { border-color: rgba(159,0,159,.25); transform: translateY(-4px); }
.institutional-page [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity var(--duration-slow) var(--ease-standard) var(--reveal-delay, 0ms), transform var(--duration-slow) var(--ease-standard) var(--reveal-delay, 0ms); }
.institutional-page [data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .institutional-hero__grid { grid-template-columns: 1fr; }
  .institutional-hero__copy { max-width: 820px; }
  .institutional-hero__visual { transform: none; }
}

@media (max-width: 680px) {
  .institutional-hero { padding: 54px 0 42px; }
  .institutional-hero h1 { font-size: clamp(2.7rem,12vw,3.65rem); }
  .institutional-hero__visual,.institutional-hero__visual img { min-height: 290px; }
  .institutional-section { padding: 60px 0; }
  .institutional-card { padding: 24px; }
  .simple-form { padding: 26px 20px; }
}
