/* GTTC public partnership microsite · zero remote fonts, images or analytics */
:root{--forest:#102f28;--forest2:#173e35;--green:#39745e;--lime:#dff0c5;--cream:#f8f8f2;--white:#fff;--ink:#233a31;--muted:#5f7069;--line:#dce5dc;--shadow:0 12px 35px rgba(21,48,38,.065)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans SC","Noto Sans JP",sans-serif;color:var(--ink);background:var(--cream);line-height:1.65}a{color:#1b6450}a:hover{text-decoration-color:#89be8d}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #89c79a;outline-offset:3px}.skip{position:absolute;left:-10000px;top:0;background:#fff;padding:12px;z-index:99}.skip:focus{left:15px} .container{max-width:1140px;margin:auto;padding:0 24px}.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:13px;padding-bottom:13px}.logo{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:760;color:var(--forest);text-decoration:none;letter-spacing:-.7px}.brand-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--forest);color:var(--lime);font-size:19px}.navlinks{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.navlinks a{font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}.navlinks a:hover{color:var(--forest)}.lang{display:flex;align-items:center;gap:5px}.lang button{background:none;border:1px solid transparent;padding:5px 7px;font:inherit;font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;border-radius:7px}.lang button[aria-pressed="true"]{background:#e8f2e7;border-color:#d3e4d4;color:var(--forest)}.hero{background:radial-gradient(ellipse at 84% 25%,#255944 0,#153e33 45%,#0e2c25 100%);color:white;overflow:hidden}.hero-grid{min-height:550px;display:grid;grid-template-columns:1.06fr .94fr;gap:46px;align-items:center;padding-top:74px;padding-bottom:74px}.kicker{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:800;color:#c1e5b0}.hero h1{font-size:clamp(40px,5.3vw,69px);letter-spacing:-2.8px;line-height:1.12;margin:17px 0 26px;font-weight:790}.hero p{max-width:565px;color:#dbede0;font-size:18px;line-height:1.85;margin-bottom:25px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border-radius:11px;background:var(--lime);color:var(--forest);padding:12px 19px;text-decoration:none;font-size:14px;font-weight:750;display:inline-flex;align-items:center;gap:8px}.btn-ghost{background:transparent;color:white;border:1px solid #789a87}.hero-note{color:#b5d0bf;font-size:12px;margin-top:23px}.landscape{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center}.landscape svg{width:100%;max-width:540px;height:auto;filter:drop-shadow(0 28px 35px rgba(0,0,0,.15))}.section{padding:74px 0}.section.soft{background:#eff3eb}.section-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--green);font-weight:800}.section h2{font-size:clamp(27px,3.2vw,40px);line-height:1.2;letter-spacing:-1px;color:var(--forest);margin:10px 0 18px}.lead{max-width:780px;color:var(--muted);font-size:16px;margin:0 0 33px}.pill{display:inline-block;border:1px solid #c5dac6;border-radius:100px;background:#e7f1e4;color:#2a634d;padding:4px 11px;font-size:11px;font-weight:760}.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:var(--shadow);display:flex;flex-direction:column}.course .number{font-size:11px;letter-spacing:1.2px;font-weight:800;color:#5f876f}.course h3{font-size:20px;line-height:1.33;letter-spacing:-.6px;margin:13px 0 8px;color:var(--forest)}.course .where{font-size:12px;font-weight:650;color:#507361;margin:0 0 13px}.course p{font-size:14px;color:var(--muted);margin:0 0 16px;flex:1}.course a{font-size:13px;font-weight:700;text-decoration:none}.meta{font-size:12px;color:var(--muted)}.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}.feature{background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.feature h3{font-size:19px;line-height:1.35;margin:0 0 10px;color:var(--forest)}.feature p,.feature li{font-size:14px;color:var(--muted)}.feature ul{padding-left:22px;margin:10px 0 0}.callout{display:flex;align-items:flex-start;gap:14px;border-left:3px solid #84b998;background:#ecf4e9;border-radius:0 12px 12px 0;padding:20px 22px;margin-top:28px;font-size:14px;color:#3a604b}.contact-section{background:var(--forest);color:#fff}.contact-section h2{color:#fff}.contact-section .lead{color:#d3e3d8}.contact-card{border:1px solid #557966;border-radius:16px;padding:22px;max-width:700px;background:#1a4538}.contact-card a{color:#d9f0c8;font-weight:750;overflow-wrap:anywhere}.email-missing{color:#fff0ba;font-size:13px;padding:12px;border-radius:8px;background:#614c18;display:none}.contact-info{display:none}.site-footer{background:#0a231d;color:#bed2c5;padding:30px 0;font-size:12px}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-grid a{color:#cbe7d5;margin-left:16px}.notice{max-width:800px;color:var(--muted);font-size:14px}.article{background:#fff;border:1px solid var(--line);border-radius:18px;max-width:850px;padding:36px;margin:32px 0 0}.article h2{font-size:21px}.article p{font-size:14px;color:#53655b}.article h3{font-size:16px}.article a{overflow-wrap:anywhere}.subhero{padding:62px 0 22px}.subhero h1{color:var(--forest);font-size:42px;line-height:1.15;margin:11px 0}.subhero p{max-width:800px;color:var(--muted)}.lang-note{color:var(--muted);font-size:12px;margin-top:12px}.legal-body{padding-bottom:80px}@media(max-width:940px){.hero-grid{gap:12px}.hero h1{letter-spacing:-1.6px}.landscape{min-height:280px}.trio{grid-template-columns:1fr 1fr}.nav{gap:10px}}@media(max-width:680px){.container{padding-left:18px;padding-right:18px}.nav{align-items:flex-start}.navlinks{gap:10px}.hero-grid{grid-template-columns:1fr;min-height:unset;padding-top:52px;padding-bottom:30px}.landscape{min-height:200px}.landscape svg{max-width:360px}.hero p{font-size:16px}.trio,.cols{grid-template-columns:1fr}.section{padding:52px 0}.article{padding:22px}.subhero h1{font-size:34px}.footer-grid a{margin:0 13px 0 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
