.partner-header nav a[aria-current="page"]{color:var(--lime);font-weight:800}
.partner-hero{background:var(--deep);color:#fff;padding:5.5rem max(5vw,1.25rem) 4.5rem}
.partner-hero__inner{max-width:1120px;margin:0 auto}
.partner-hero .eyebrow{color:var(--lime)}
.partner-hero h1{font-size:clamp(3.2rem,7vw,6.5rem);line-height:.95;letter-spacing:-.075em;margin:0 0 1.35rem}
.partner-hero p:not(.eyebrow){max-width:42rem;margin:0;color:#c5d4cf;font-size:1.05rem}
.partner-back{display:inline-flex;margin-top:2rem;color:var(--deep);background:var(--lime);text-decoration:none;font-weight:800;border-radius:999px;padding:.72rem 1rem}
.partner-section{max-width:1240px;margin:0 auto;padding:5rem max(5vw,1.25rem) 6rem}
.partner-section__head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.8rem}
.partner-section__head h2{margin:0;font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.07em;line-height:1}
.partner-section__head>p{margin:0;max-width:28rem;color:#5d726c}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.partner-card{display:flex;flex-direction:column;min-height:390px;background:#fff;border:1px solid #d8ded8;border-radius:1rem;overflow:hidden;color:var(--ink);text-decoration:none;box-shadow:0 9px 30px #102b2b0d;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.partner-card:hover,.partner-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 42px #102b2b1a;border-color:#9eb4aa;outline:none}
.partner-logo{height:180px;display:grid;place-items:center;padding:2rem;border-bottom:1px solid #e1e5e1;position:relative;overflow:hidden}
.partner-logo--light{background:#fff}
.partner-logo--dark{background:#111}
.partner-logo img{display:block;max-width:100%;max-height:112px;object-fit:contain}
.partner-logo--nstc img{width:min(100%,440px)}
.partner-logo--yunlin img{max-height:118px;max-width:150px}
.partner-logo--g0v img{width:min(100%,175px);max-height:100px}
.partner-logo-fallback{display:none;place-items:center;position:absolute;inset:0;font-weight:900;font-size:2rem;letter-spacing:-.04em;color:var(--ink)}
.partner-logo-fallback--white{color:#fff}
.partner-card__body{padding:1.35rem 1.4rem 1.45rem;display:flex;flex-direction:column;flex:1}
.partner-kind{align-self:flex-start;background:#edf1ed;color:#567068;border-radius:999px;padding:.28rem .55rem;font-size:.7rem;font-weight:800;letter-spacing:.05em}
.partner-card h3{font-size:1.55rem;letter-spacing:-.05em;line-height:1.15;margin:1rem 0 .45rem}
.partner-url{margin:0;color:#697c75;font-size:.88rem;word-break:break-all}
.partner-visit{margin-top:auto;padding-top:1.6rem;color:#1f5f52;font-weight:800;font-size:.9rem}
.partner-note{margin:1.5rem 0 0;color:#71817c;font-size:.76rem}
.partner-footer-home{color:#dfff67;text-decoration:none;font-weight:800;align-self:center}
footer address{font-style:normal;display:flex;flex-direction:column}
@media(max-width:900px){.partner-grid{grid-template-columns:1fr 1fr}.partner-card:last-child{grid-column:1/-1}.partner-section__head{display:block}.partner-section__head>p{margin-top:1rem}}
@media(max-width:800px){.partner-header nav{display:flex;gap:.7rem;overflow:auto;white-space:nowrap;margin-left:1rem}.partner-header nav a:not([aria-current="page"]){display:none}.partner-hero{padding-top:4rem}.partner-grid{grid-template-columns:1fr}.partner-card:last-child{grid-column:auto}footer{gap:1rem;flex-direction:column}.partner-footer-home{align-self:flex-start}}
@media(max-width:480px){.partner-hero{padding:3.4rem 1rem 3rem}.partner-section{padding:3.5rem 1rem 4rem}.partner-logo{height:155px}.partner-card{min-height:340px}}
