:root{--oia-forest:#0b3424;--oia-green:#087443;--oia-green-dark:#075d37;--oia-gold:#d4a62a;--oia-ink:#17221c;--oia-muted:#5d6862;--oia-line:#dce3df;--oia-soft:#f4f7f5;--oia-white:#fff}

.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.home-section{padding:88px 0}
.eyebrow{margin:0 0 16px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.eyebrow--green{color:var(--oia-green)}
.eyebrow--light{color:#b9dfc9}
.section-heading{max-width:720px;margin-bottom:42px}
.section-heading h2,.semarang-copy h2,.contact-layout h2{margin:0;color:var(--oia-ink);font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;letter-spacing:-.04em}
.section-heading>p:last-child,.semarang-copy>p,.contact-layout>div>p{color:var(--oia-muted);font-size:1.04rem;line-height:1.75}
.section-heading--split{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:24px}
.button-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:6px;font-weight:750;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s,transform .18s}
.button:hover{transform:translateY(-1px)}
.button:focus-visible,.text-link:focus-visible,.path-item a:focus-visible,.degree-item a:focus-visible,.activity-card a:focus-visible,.contact-person:focus-visible{outline:3px solid #f1c84e;outline-offset:4px}
.button--primary{background:var(--oia-green);color:#fff}
.button--primary:hover{background:var(--oia-green-dark);color:#fff}
.button--outline-light{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(8,30,21,.16)}
.button--outline-light:hover{background:#fff;color:var(--oia-forest)}
.button--gold{background:var(--oia-gold);color:#142219}
.button--gold:hover{background:#e2b538;color:#142219}
.text-link,.path-item a,.degree-item a{display:inline-flex;align-items:center;gap:8px;color:var(--oia-green-dark);font-weight:750;text-decoration:none}
.text-link:hover,.path-item a:hover,.degree-item a:hover{text-decoration:underline;text-underline-offset:4px}

.admissions-hero{position:relative;min-height:660px;display:grid;align-items:end;overflow:hidden;background:var(--oia-forest)}
.admissions-hero__image,.admissions-hero__shade{position:absolute;inset:0;width:100%;height:100%}
.admissions-hero__image{object-fit:cover;object-position:center 44%}
.admissions-hero__shade{background:linear-gradient(90deg,rgba(5,32,22,.94) 0%,rgba(5,32,22,.7) 47%,rgba(5,32,22,.12) 78%),linear-gradient(0deg,rgba(5,25,18,.55),transparent 50%)}
.admissions-hero__content{position:relative;z-index:1;padding-top:100px;padding-bottom:92px}
.admissions-hero h1{max-width:760px;margin:0;color:#fff;font-size:clamp(2.65rem,6vw,5.2rem);line-height:.99;letter-spacing:-.055em}
.admissions-hero__copy{max-width:650px;margin:24px 0 32px;color:#f0f5f2;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}

.quick-facts{border-bottom:1px solid var(--oia-line);background:#fff}
.quick-facts__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.quick-fact{padding:28px 26px;border-right:1px solid var(--oia-line)}
.quick-fact:first-child{padding-left:0}
.quick-fact:last-child{border-right:0}
.quick-fact strong,.quick-fact span{display:block}
.quick-fact strong{font-size:1.02rem;color:var(--oia-ink)}
.quick-fact span{margin-top:5px;color:var(--oia-muted);font-size:.86rem}

.path-section,.semarang-section,.activities-section{background:#fff;color:var(--oia-ink)}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--oia-line);border-bottom:1px solid var(--oia-line)}
.path-item{padding:34px 32px 34px 0}
.path-item+.path-item{padding-left:32px;border-left:1px solid var(--oia-line)}
.path-item__number{color:var(--oia-green);font-weight:800;font-size:.78rem;letter-spacing:.12em}
.path-item h3{margin:20px 0 12px;color:var(--oia-ink);font-size:1.45rem}
.path-item p{min-height:55px;color:var(--oia-muted);line-height:1.65}

.programs-section{background:var(--oia-soft)}
.degree-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #cad5cf}
.degree-item{padding:30px 32px 30px 0;border-bottom:1px solid #cad5cf}
.degree-item:nth-child(even){padding-left:32px;border-left:1px solid #cad5cf}
.degree-item__meta{display:flex;gap:8px;flex-wrap:wrap}
.degree-item__meta span{padding:4px 8px;border:1px solid #c4d1ca;border-radius:4px;color:var(--oia-green-dark);font-size:.74rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.degree-item h3{margin:18px 0 8px;color:var(--oia-ink);font-size:1.45rem}
.degree-item p{margin:0 0 22px;color:var(--oia-muted)}

.semarang-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.semarang-media{aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#d8e0dc}
.semarang-media img{width:100%;height:100%;object-fit:cover}
.practical-list{list-style:none;padding:0;margin:30px 0}
.practical-list li{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--oia-line);color:var(--oia-muted);line-height:1.55}
.practical-list li:last-child{border-bottom:1px solid var(--oia-line)}
.practical-list i{color:var(--oia-green);font-size:1.2rem}
.practical-list strong{display:block;color:var(--oia-ink);margin-bottom:3px}

.application-section{background:var(--oia-forest);color:#fff}
.application-section .section-heading h2{color:#fff}
.application-steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0 0 38px;list-style:none}
.application-steps li{position:relative;padding:0 28px 0 0}
.application-steps li:not(:last-child)::after{content:"";position:absolute;top:20px;right:18px;width:calc(100% - 65px);height:1px;background:rgba(255,255,255,.28);transform:translateX(100%)}
.application-steps span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #8ebca2;border-radius:50%;color:#fff;font-weight:800}
.application-steps h3{margin:22px 0 8px;font-size:1.08rem}
.application-steps p{margin:0;color:#bdd0c5;font-size:.9rem;line-height:1.6}

.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.activity-card{border-bottom:3px solid var(--oia-green);background:#fff}
.activity-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--oia-soft)}
.activity-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.activity-card:hover img{transform:scale(1.025)}
.activity-card__body{padding:22px 4px 24px}
.activity-card__meta{margin:0 0 10px;color:var(--oia-green);font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.activity-card h3{margin:0;font-size:1.22rem;line-height:1.38}
.activity-card h3 a{color:var(--oia-ink);text-decoration:none}
.activity-card__body>p:last-child{color:var(--oia-muted);line-height:1.6}

.contact-section{background:#edf3ef}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact-person{display:flex;align-items:center;gap:16px;margin-top:28px;color:var(--oia-ink);text-decoration:none}
.contact-person img{width:68px;height:68px;border-radius:50%;object-fit:cover}
.contact-person strong,.contact-person small{display:block}
.contact-person small{margin-top:5px;color:var(--oia-muted)}
.contact-details{font-style:normal;border-top:1px solid #becdc4}
.contact-details>a,.contact-details>div{display:flex;gap:18px;padding:21px 0;border-bottom:1px solid #becdc4;color:var(--oia-ink);text-decoration:none}
.contact-details i{color:var(--oia-green);font-size:1.25rem}
.contact-details small{display:block;margin-bottom:4px;color:var(--oia-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;font-weight:750}
.contact-details a:hover span{text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){.home-section{padding:70px 0}
.quick-facts__grid{grid-template-columns:repeat(2,1fr)}
.quick-fact:nth-child(2){border-right:0}
.quick-fact:nth-child(-n+2){border-bottom:1px solid var(--oia-line)}
.path-grid,.semarang-layout,.contact-layout{grid-template-columns:1fr}
.semarang-layout,.contact-layout{gap:42px}
.path-item,.path-item+.path-item{padding:28px 0;border-left:0}
.path-item+.path-item{border-top:1px solid var(--oia-line)}
.path-item p{min-height:0}
.application-steps{grid-template-columns:repeat(2,1fr);gap:34px}
.application-steps li::after{display:none}
.activity-grid{grid-template-columns:repeat(2,1fr)}
.activity-card:last-child{display:none}
}

@media(max-width:600px){.container{width:min(100% - 32px,1180px)}
.home-section{padding:58px 0}
.section-heading{margin-bottom:30px}
.section-heading--split{display:block}
.section-heading--split>.text-link{margin-top:18px}
.admissions-hero{min-height:620px}
.admissions-hero__shade{background:linear-gradient(0deg,rgba(5,32,22,.95) 0%,rgba(5,32,22,.72) 62%,rgba(5,32,22,.22) 100%)}
.admissions-hero__content{padding-top:120px;padding-bottom:56px}
.admissions-hero h1{font-size:clamp(2.45rem,13vw,3.7rem)}
.button-row .button{width:100%}
.quick-facts__grid{grid-template-columns:1fr 1fr}
.quick-fact{padding:20px 14px 20px 0}
.quick-fact:nth-child(even){padding-left:14px}
.quick-fact strong{font-size:.92rem}
.degree-grid{grid-template-columns:1fr}
.degree-item,.degree-item:nth-child(even){padding:26px 0;border-left:0}
.semarang-copy h2,.contact-layout h2,.section-heading h2{font-size:2rem}
.application-steps{grid-template-columns:1fr;gap:28px}
.activity-grid{grid-template-columns:1fr}
.activity-card:last-child{display:block}
.contact-person{align-items:flex-start}
.contact-details>a,.contact-details>div{font-size:.92rem}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Equal-height editorial grids */
.path-grid,.degree-grid,.activity-grid{align-items:stretch}
.path-item,.degree-item,.activity-card{height:100%}
.path-item,.degree-item,.activity-card,.activity-card__body{display:flex;flex-direction:column}
.path-item p{min-height:0}
.path-item>a,.degree-item>a{margin-top:auto}
.activity-card__body{flex:1}
.activity-card__body>p:last-child{margin-top:auto;padding-top:12px}
.activity-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#e8efeb}
.activity-card__media>img{width:100%;height:100%;object-fit:cover}
.activity-card__placeholder{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#e8efeb;color:var(--oia-green-dark)}
.activity-card__placeholder img{width:54px;height:54px;object-fit:contain;opacity:.82}
.activity-card__placeholder small{font-weight:800;letter-spacing:.12em}
