:root{--navy:#243b4a;--blue:#3e5866;--copper:#805d39;--gold:#a67c52;--paper:#f7f5f0;--ink:#243b4a;--muted:#626765;--line:#d9d7cf;--soft:#eeece6}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line);min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:12px 5%}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:500;line-height:1.6}.brand-logo{width:60px;height:60px;object-fit:contain;flex-shrink:0}.brand small{display:block;color:var(--muted);font-size:12px;font-weight:400}.menu{display:none}nav{display:flex;align-items:center;gap:25px;font-size:14px;white-space:nowrap}.navcta{padding:10px 18px;border:1px solid var(--navy);border-radius:3px}nav a:hover{color:var(--copper)}.hero,.section,.contact,footer{padding-left:max(6%,calc((100vw - 1240px)/2));padding-right:max(6%,calc((100vw - 1240px)/2))}.hero{padding-top:50px;border-bottom:1px solid var(--line)}.herogrid{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:center}.eyebrow{font-size:14px;letter-spacing:1px;color:var(--copper);margin:0 0 20px;font-weight:400}h1,h2{font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;font-weight:500}h1{font-size:clamp(46px,5vw,68px);line-height:1.45;letter-spacing:2px;margin:0 0 12px}.hero-status{display:inline-block;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:8px;margin:0 0 18px}.hero-heading{font-size:23px;line-height:1.7;margin:0 0 15px}.herointro{font-size:16px;color:var(--muted);margin:0;line-height:2}.actions{display:flex;align-items:center;gap:25px;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 24px;border:0;border-radius:3px;font-size:15px;font-weight:500;line-height:1.6}.gold,.navy{background:var(--navy);color:white}.gold:hover,.navy:hover{background:var(--blue)}.textlink{font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:3px}.hero-scope{margin-top:25px;border-left:2px solid var(--gold);padding-left:15px}.hero-scope span{font-size:14px;color:var(--copper)}.hero-scope p{font-size:13px;color:var(--muted);margin:5px 0 0}.hero-portrait{max-width:370px;width:100%;margin:0;justify-self:end}.hero-portrait img{display:block;width:100%;height:auto;aspect-ratio:3/4;border-radius:3px}.hero-portrait figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 0}.hero-portrait figcaption span{font-size:20px}.hero-portrait figcaption small{font-size:13px;color:var(--muted)}.life-stages{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line);padding:25px 0 28px;gap:30px}.life-stages>div{border-left:1px solid var(--line);padding-left:25px}.life-stages>div:first-child{border-left:0;padding-left:0}.life-stages h3{font-size:17px;font-weight:500;margin:0 0 5px}.life-stages p{color:var(--muted);font-size:14px;margin:0}.section{padding-top:75px;padding-bottom:75px}h2{font-size:clamp(29px,3vw,40px);line-height:1.55;letter-spacing:1px;margin:0}h3{font-size:21px;font-weight:500;line-height:1.6;margin:0 0 15px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.about-intro{color:var(--muted);margin-top:25px;max-width:550px}.preparation-note{margin-top:25px;font-size:14px;padding:15px 0;border-top:1px solid var(--line)}.tag{font-size:12px;background:#ede6dd;color:var(--copper);padding:4px 8px}.preparation-note p{margin:10px 0 0;color:var(--muted)}.core-person{border-left:1px solid var(--line);padding-left:45px;scroll-margin-top:110px}.core-person h3{font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;font-size:34px;margin:0}.core-person .person-role{color:var(--copper);font-size:14px;margin:8px 0 25px}.core-person .advisor-principle{color:var(--ink);font-size:21px;margin:0 0 18px;line-height:1.9}.core-person>p:last-child{color:var(--muted);margin:0}.credentials{padding-top:35px;padding-bottom:55px;background:var(--soft)}.advisor-background{display:grid;grid-template-columns:1fr 1fr;gap:8%}.advisor-background h3{font-size:19px;letter-spacing:1px;padding-bottom:12px;border-bottom:1px solid #cccac2}.recognitions{margin:0}.recognitions>div{display:grid;grid-template-columns:135px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}.recognitions dt{color:var(--copper)}.recognitions dd{margin:0}.qualifications{margin:0;padding-left:20px;color:var(--muted);font-size:15px}.qualifications li{padding:6px 0}.qualifications li::marker{color:var(--gold)}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-top>p{font-size:15px;color:var(--muted);margin:0 0 5px}.services{background:var(--paper)}.service-grid{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:50px 190px 1fr;gap:12px 25px;padding:30px 0;border-bottom:1px solid var(--line)}.service-number{font-family:serif;font-size:22px;color:var(--copper);align-self:center}.service h3{font-size:25px;margin:0;align-self:center}.service>p{margin:0;color:var(--muted);font-size:16px}.service details{grid-column:3;margin-top:4px}.service summary{list-style:none;cursor:pointer;font-size:14px;color:var(--copper);display:flex;gap:18px;align-items:center;min-height:30px}.service summary::-webkit-details-marker{display:none}.service summary::after{content:'＋'}.service details[open] summary::after{content:'−'}.detailbody{max-width:650px}.detailbody p{font-size:15px;color:var(--muted)}.detailbody strong{font-weight:500;color:var(--ink)}.detailbody .note{font-size:13px}.service-cta{border:0;border-bottom:1px solid var(--gold);background:none;color:var(--ink);font-size:14px;padding:5px 0}.legacy-topics{font-size:15px;margin:20px 0}.legacy-topics>div{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.legacy-topics dt{color:var(--copper)}.legacy-topics dd{color:var(--muted);margin:0}.contact{padding-top:65px;padding-bottom:65px;display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#e8ecea}.contact-copy>p:not(.eyebrow){color:var(--muted);margin-top:25px}.contact dl{margin-top:28px;font-size:14px}.contact dl>div{display:grid;grid-template-columns:80px 1fr;gap:15px;border-bottom:1px solid #c9d2cc;padding:10px 0}.contact dt{color:var(--copper)}.contact dd{margin:0;color:var(--muted)}.contact-copy .service-age-note{font-size:12px;line-height:1.8}.contact-panel{background:var(--paper);padding:30px;border-top:2px solid var(--gold);border-radius:3px;align-self:start}.contact-panel h3{font-size:21px}.contact-panel>p{font-size:14px;color:var(--muted)}fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;margin:23px 0;padding:0}fieldset label{display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:14px;border:1px solid #bfc9c5;border-radius:3px;cursor:pointer}fieldset label:has(input:checked){background:#e5ebe7;border-color:var(--blue)}input{accent-color:var(--navy);width:16px;height:16px;flex-shrink:0}.message-label{font-size:13px;color:var(--muted)}textarea{display:block;width:100%;resize:vertical;border:1px solid #bfc9c5;border-radius:3px;background:white;color:var(--ink);padding:12px;font-size:14px;margin:8px 0 15px}.copy{width:100%}.contact-panel .status{min-height:22px;margin:8px 0;font-size:13px;color:#365944}.contact-panel .contact-note{border-top:1px solid var(--line);padding-top:15px;font-size:13px;margin:0}footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-top:30px;padding-bottom:20px}footer>p{font-family:serif;letter-spacing:2px;color:var(--copper)}footer>a:last-of-type{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-basis:100%;border-top:1px solid var(--line);padding-top:17px;color:var(--muted);font-size:12px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{width:calc(100% - 32px);max-width:560px;border:0;background:var(--paper);color:var(--ink);padding:40px}dialog::backdrop{background:#061c30aa}.close{position:absolute;right:15px;top:10px;font-size:28px;border:0;background:none;color:var(--ink)}dialog h2{font-size:27px}dialog p{color:var(--muted)}
@media(max-width:1050px){header{padding:10px 5%;min-height:80px}.brand{font-size:16px}.brand-logo{width:48px;height:48px}nav{gap:15px;font-size:13px}.navcta{padding:9px 12px}.herogrid{gap:6%}.hero-portrait{max-width:330px}.hero-heading{font-size:20px}.section{padding-top:60px;padding-bottom:60px}.core-person{padding-left:28px}.service{grid-template-columns:35px 170px 1fr;gap:12px 20px}.recognitions>div{grid-template-columns:115px 1fr;font-size:14px}.contact-panel{padding:24px}.contact{gap:6%}}
@media(max-width:800px){header{min-height:76px}.menu{display:block;background:none;color:var(--ink);border:1px solid #a9b5bd;border-radius:3px;padding:5px 12px;font-size:14px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 6%;font-size:15px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:12px}.navcta{text-align:center;margin-top:10px}.herogrid{grid-template-columns:1.15fr 1fr;gap:5%}h1{font-size:45px}.hero-heading{font-size:18px}.herointro{font-size:15px}.actions{gap:16px;flex-wrap:wrap}.button{padding:12px 20px}.hero-portrait figcaption{display:block}.hero-portrait figcaption small{display:block}.about{gap:7%}.core-person .advisor-principle{font-size:19px}.advisor-background{gap:6%}.recognitions>div{display:block}.recognitions dd{margin-top:3px}.qualifications{font-size:14px}.contact{grid-template-columns:1fr;gap:30px}.contact-panel{max-width:600px;width:100%}}
@media(max-width:600px){html{scroll-padding-top:95px}.brand{font-size:15px;gap:7px}.brand-logo{width:42px;height:42px}.brand small{font-size:11px}.hero{padding-top:28px}.herogrid{grid-template-columns:1fr;gap:30px}.eyebrow{font-size:13px;margin-bottom:15px}h1{font-size:48px}.hero-heading{font-size:20px}.hero-status{font-size:12px}.herointro{font-size:16px}.hero-scope{margin-top:20px}.hero-portrait{max-width:330px;justify-self:center}.hero-portrait figcaption{display:flex}.hero-portrait figcaption small{display:inline}.life-stages{grid-template-columns:1fr;gap:15px;padding:20px 0 25px;margin-top:22px}.life-stages>div{border-left:2px solid #d9d7cf;padding-left:15px}.life-stages>div:first-child{border-left:2px solid #d9d7cf;padding-left:15px}.life-stages h3{font-size:16px}.life-stages p{font-size:14px}.section{padding-top:45px;padding-bottom:45px}.about{grid-template-columns:1fr;gap:30px}.core-person{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.core-person h3{font-size:31px}.advisor-background{grid-template-columns:1fr;gap:28px}.credentials{padding-top:30px;padding-bottom:35px}.recognitions>div{display:grid;grid-template-columns:115px 1fr;gap:12px;font-size:14px}.recognitions dd{margin:0}.qualifications{font-size:15px}.section-top{display:block;margin-bottom:28px}.section-top>p{margin-top:20px;font-size:14px}h2{font-size:30px}.service{grid-template-columns:30px 1fr;gap:10px 15px;padding:24px 0}.service-number{font-size:18px}.service h3{font-size:23px}.service>p{grid-column:2}.service details{grid-column:2;margin-top:0}.legacy-topics>div{grid-template-columns:75px 1fr;gap:10px;font-size:14px}.contact{padding-top:45px;padding-bottom:45px}.contact-panel{padding:22px}.contact-panel h3{font-size:19px}fieldset label{padding:9px;font-size:14px}.footer-bottom{flex-direction:column;gap:4px}footer>p{display:none}footer{padding-top:25px}dialog{padding:35px 25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.contact dd a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px;overflow-wrap:anywhere}.contact dd{min-width:0}.line-contact{width:100%;background:transparent;color:var(--navy);border:1px solid var(--navy);margin-top:10px}.line-contact:hover{background:#e5ebe7}

.home-brand-visual{width:100%;max-width:410px;justify-self:end}.home-brand-visual img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.person-portrait{margin:0 0 26px;width:100%;max-width:320px}.person-portrait img{display:block;width:100%;height:auto;aspect-ratio:3/4;border-radius:3px}.person-portrait figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.person-portrait figcaption span{font-size:20px}.person-portrait figcaption small{font-size:13px;color:var(--muted)}@media(max-width:600px){.home-brand-visual{max-width:300px;justify-self:center}.person-portrait{max-width:330px;margin:0 auto 26px}}

.hero .herogrid{display:block}.hero .herocopy{max-width:820px}.hero .herointro{max-width:720px}.hero .life-stages{margin-top:30px}.home-brand-visual{max-width:340px;margin:5px auto 30px}.hero h1{margin-top:0}.hero .hero-scope{max-width:650px}@media(max-width:600px){.hero{padding-top:30px}.home-brand-visual{max-width:300px;margin:5px auto 25px}.hero .life-stages{margin-top:25px}}

.core-person .person-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}.core-person .english-name{font-family:"Arial",sans-serif;font-weight:400;font-size:16px;letter-spacing:0;color:var(--muted);line-height:1.7}@media(max-width:600px){.core-person .person-name{gap:5px 12px}.core-person .english-name{font-size:14px}}

.about-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.about-title-row>div{min-width:0}.about-brand-logo{width:120px;height:120px;flex-shrink:0;object-fit:contain}.about-title-row h2{font-size:clamp(26px,2.7vw,36px)}.about-title-row .eyebrow{margin-bottom:14px}@media(max-width:1050px){.about-title-row{gap:14px}.about-brand-logo{width:100px;height:100px}.about-title-row h2{font-size:27px}}@media(max-width:800px) and (min-width:601px){.about-title-row{align-items:flex-start}.about-brand-logo{width:70px;height:70px}.about-title-row h2{font-size:23px}}@media(max-width:600px){.about-title-row{gap:12px}.about-brand-logo{width:92px;height:92px}.about-title-row h2{font-size:clamp(23px,6vw,28px)}.about-title-row .eyebrow{margin-bottom:10px}.about{padding-top:32px}}

/* Wider screens use an editorial layout; phone styling stays intact. */
@media(min-width:601px){
  .hero{padding-top:56px}
  .hero .herocopy{display:grid;grid-template-columns:1fr 1.1fr;gap:6%;max-width:none;align-items:center}
  .hero h1{font-size:clamp(48px,5.8vw,82px);line-height:1.35;margin:0}
  .hero-body{min-width:0;padding:12px 0 12px 28px;border-left:1px solid var(--line)}
  .hero-heading{font-size:clamp(18px,2vw,24px)}
  .herointro .desktop{display:none}
  .hero .actions{gap:18px;margin:22px 0;flex-wrap:wrap}
  .hero .hero-scope{margin-top:20px}
  .hero .life-stages{margin-top:42px}
  .about{grid-template-columns:1fr;gap:48px}
  .about-brand{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
  .about-title-row{justify-content:flex-start;gap:24px}
  .about-title-row h2{font-size:clamp(25px,2.7vw,37px)}
  .about-brand-logo{width:100px;height:100px}
  .about-intro{margin:0;max-width:none}
  .preparation-note{margin-top:18px;padding-bottom:0}
  .core-person{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:8%;align-items:center;border-left:0;border-top:1px solid var(--line);padding:40px 0 0;}
  .person-portrait{margin:0;max-width:300px}
  .person-copy{max-width:660px;min-width:0}
  .person-copy>p:last-child{color:var(--muted);margin:0}
  .core-person .person-name{font-size:36px}
  .core-person .advisor-principle{font-size:23px}
  .advisor-background{grid-template-columns:1fr 1fr;gap:7%}
  .section-top>p{max-width:45%}
}
@media(min-width:601px) and (max-width:899px){
  .hero{padding-top:38px}
  .hero .herocopy{grid-template-columns:.85fr 1.15fr;gap:5%}
  .hero-body{padding-left:20px}
  .hero h1{font-size:clamp(43px,6.2vw,55px)}
  .hero .actions{gap:12px;margin:18px 0}
  .hero .button{padding:11px 16px;font-size:14px}
  .hero .hero-scope p{font-size:12px}
  .life-stages{gap:16px}
  .life-stages>div{padding-left:16px}
  .life-stages h3{font-size:16px}
  .about-brand{grid-template-columns:1fr;gap:20px}
  .about-title-row{justify-content:space-between;align-items:center}
  .about-title-row h2{font-size:31px}
  .about-brand-logo{width:100px;height:100px}
  .about-intro{max-width:650px}
  .core-person{grid-template-columns:minmax(180px, .85fr) 1.3fr;gap:6%;padding-top:32px}
  .core-person .person-name{font-size:30px;gap:4px 12px}
  .core-person .english-name{font-size:14px}
  .core-person .advisor-principle{font-size:19px}
  .core-person .person-role{margin-bottom:18px}
  .recognitions>div{display:block}
  .recognitions dd{margin-top:3px}
  .section-top{gap:24px}
  .section-top h2{font-size:31px}
}
@media(min-width:900px){
  .contact{grid-template-columns:1fr 1fr;gap:7%;align-items:start}
  .contact-panel{max-width:none}
}
@media(min-width:1100px){
  .hero{padding-top:72px}
  .hero .life-stages{margin-top:55px;padding-top:28px;padding-bottom:32px}
  .about{gap:55px}
  .about-brand-logo{width:120px;height:120px}
  .core-person{grid-template-columns:320px minmax(0,1fr);gap:9%}
  .person-portrait{max-width:320px}
  .person-copy .eyebrow{margin-bottom:15px}
  .core-person .person-name{font-size:42px}
  .core-person .english-name{font-size:18px}
  .service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:0;gap:32px;align-items:start}
  .service{grid-template-columns:1fr;gap:16px;border-top:1px solid var(--gold);border-bottom:0;padding:24px 0 0;min-width:0}
  .service-number{font-size:24px}
  .service h3{font-size:28px}
  .service>p,.service details{grid-column:1}
  .service>p{font-size:17px}
  .service details{margin-top:0}
  .legacy-topics>div{grid-template-columns:75px 1fr;gap:10px;font-size:14px}
}

.person-copy>p:last-child{color:var(--muted);margin:0}

/* Independent pages */
nav a[aria-current=page]{color:var(--copper);text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--gold)}
.inner-page main{min-height:65vh}.page-next{border-top:1px solid var(--line)}.page-next h2{font-size:clamp(25px,3vw,34px)}.page-next p{color:var(--muted)}.team-page>.core-person{margin-top:30px}.careers-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;border-bottom:1px solid var(--line)}.careers-hero h1{font-size:clamp(40px,4.4vw,64px)}.careers-intro>p:not(.hero-heading){color:var(--muted)}.careers-intro .button{margin-top:12px}.career-status{font-size:13px;margin-top:20px}.career-values{background:var(--soft)}.career-lead{max-width:680px;color:var(--muted);margin:24px 0 35px}.career-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.career-grid article{border-top:1px solid var(--gold);padding-top:20px}.career-grid h3{margin:10px 0}.career-grid p{color:var(--muted);margin:0}.career-conversation{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.career-conversation>div>p:last-child{color:var(--muted)}.career-questions{list-style:none;margin:0;padding:0}.career-questions li{padding:18px 0;border-bottom:1px solid var(--line)}
@media(min-width:801px) and (max-width:1100px){.menu{display:block;background:none;color:var(--ink);border:1px solid #a9b5bd;border-radius:3px;padding:5px 12px;font-size:14px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 6%;font-size:15px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:12px}}
@media(min-width:1101px){header nav{gap:20px;font-size:14px}}
@media(max-width:800px){.careers-hero{grid-template-columns:1fr;gap:25px}.careers-intro{max-width:650px}.career-grid{gap:20px}.career-grid h3{font-size:19px}.career-grid p{font-size:15px}.career-conversation{gap:5%}}
@media(max-width:600px){.inner-page .about-title-row{align-items:center}.team-page>.core-person{border-top:0;padding-top:0;margin-top:25px}.career-grid,.career-conversation{grid-template-columns:1fr;gap:28px}.career-grid article{padding-top:16px}.career-grid h3{font-size:21px}.careers-hero h1{font-size:39px}.career-questions li{padding:14px 0}.page-next .actions{margin-bottom:0}}

.resource-list{padding-left:20px;margin:12px 0 20px;font-size:16px}.resource-list li{padding:5px 0}.resource-list li::marker{color:var(--gold)}.career-experience{background:var(--soft)}.experience-actions{border-left:2px solid var(--gold);padding-left:28px}.experience-actions p{color:var(--muted)}.experience-actions .textlink{display:inline-block;margin:18px 0 0}.experience-actions .button{display:flex;max-width:280px}@media(max-width:600px){.experience-actions{padding-left:20px}.resource-list{margin-bottom:15px}}

.award-evidence{margin-top:42px;padding-top:30px;border-top:1px solid var(--line)}.award-evidence-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px}.award-evidence-heading h3{font-size:20px;margin:0}.award-evidence-heading p{font-size:13px;color:var(--muted);margin:0}.award-gallery{display:grid;grid-template-columns:minmax(220px,.9fr) 1fr 1fr;gap:24px;align-items:start}.award-gallery figure{margin:0;min-width:0}.award-gallery a{display:block;background:white;border:1px solid var(--line);border-radius:3px;overflow:hidden}.award-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.award-gallery figcaption{font-size:13px;margin-top:8px;color:var(--muted)}.award-gallery .award-event{grid-row:span 2}.award-gallery .award-event img{aspect-ratio:auto}.award-gallery .award-apfinsa{grid-column:span 2}.award-gallery .award-apfinsa img{aspect-ratio:2/1}.award-gallery a:hover{outline:1px solid var(--gold);outline-offset:3px}@media(max-width:900px){.award-gallery{grid-template-columns:minmax(180px,.8fr) 1fr;gap:20px}.award-gallery .award-event{grid-row:span 3}.award-gallery .award-apfinsa{grid-column:auto}.award-gallery .award-apfinsa img{aspect-ratio:4/3}}@media(max-width:600px){.award-evidence{margin-top:30px;padding-top:25px}.award-evidence-heading{display:block}.award-evidence-heading p{margin-top:8px}.award-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.award-gallery .award-event{grid-row:auto;grid-column:span 2;width:100%;max-width:260px;justify-self:center}.award-gallery .award-apfinsa{grid-column:span 2}.award-gallery .award-apfinsa img{aspect-ratio:4/3}.award-gallery figcaption{font-size:12px}}

/* Responsive brand mark on the About page. */
.about-page .about-brand-logo{width:124px;height:124px}
@media(min-width:601px){.about-page .about-brand-logo{width:138px;height:138px}}
@media(min-width:1100px){.about-page .about-brand-logo{width:166px;height:166px}}

.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.appointment-form label{display:grid;gap:8px;font-size:16px;min-width:0}.appointment-form input,.appointment-form select{width:100%;min-width:0;box-sizing:border-box;padding:10px;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:4px;font:inherit}.appointment-form button{grid-column:1/-1;justify-self:start}@media(max-width:600px){.training-grid,.appointment-form{grid-template-columns:1fr}}

/* Monthly event listings and LINE registration. */
.month-controls{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.month-controls button{background:transparent;border:1px solid var(--line);color:var(--navy);padding:12px 20px;border-radius:4px}.month-controls button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:white}.event-intro{padding-bottom:20px}.event-list-section{padding-top:20px}.event-list{display:grid;gap:28px}.event-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px;border-top:1px solid var(--line);padding:28px 0}.event-poster{align-self:start}.event-poster img{display:block;width:100%;height:auto;border-radius:4px}.event-card h3{font-size:25px;line-height:1.5;margin:0 0 20px}.event-card .eyebrow{margin-bottom:10px}.event-card dl{margin:0}.event-card dl>div{display:grid;grid-template-columns:48px 1fr;gap:12px;margin:6px 0}.event-card dt{color:var(--copper)}.event-card dd{margin:0;min-width:0}.event-card .actions{flex-wrap:wrap;margin:20px 0 0}.event-help{background:var(--soft)}.registration-dialog{width:min(680px,92vw);max-height:90dvh;overflow:auto;padding:28px;border:1px solid var(--line);border-radius:6px;color:var(--navy);background:var(--paper)}.registration-dialog::backdrop{background:rgba(20,35,45,.55)}.registration-dialog h2{font-size:28px}.registration-close{display:block;margin-left:auto;background:transparent;border:1px solid var(--line);padding:6px 14px;color:var(--navy)}.registration-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.registration-fields label{display:grid;gap:6px;min-width:0}.registration-dialog input:not([type="checkbox"]),.registration-dialog select,.registration-dialog textarea{display:block;width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--line);background:white;color:var(--navy);font:inherit;border-radius:3px}.registration-fields .field-wide{grid-column:1/-1}.registration-consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin:20px 0}.registration-consent input{margin-top:7px;flex-shrink:0;width:18px;height:18px}.registration-dialog .actions{flex-wrap:wrap;gap:12px}.registration-dialog .line-contact{width:auto;margin:0}.registration-dialog #registration-result{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.registration-dialog #registration-result label{display:block;margin-bottom:8px}.registration-dialog #registration-message{margin-bottom:15px}@media(max-width:600px){.event-intro h1{font-size:38px}.month-controls{gap:8px}.month-controls button{padding:10px 12px;font-size:14px}.event-card{grid-template-columns:1fr;gap:20px}.event-poster{max-width:180px}.event-card h3{font-size:23px}.registration-fields{grid-template-columns:1fr}.registration-dialog{padding:20px}.registration-dialog .actions>*{width:100%}}@media(min-width:1101px) and (max-width:1350px){header nav{gap:14px}}

.resource-intro{padding-bottom:25px}.resource-notice{border-left:2px solid var(--gold);padding-left:16px;max-width:800px;font-size:14px;color:var(--muted)}.resource-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.resource-filters button{padding:10px 16px;background:transparent;color:var(--navy);border:1px solid var(--line);border-radius:3px;font-size:14px}.resource-filters button[aria-pressed="true"]{background:var(--navy);color:white;border-color:var(--navy)}.knowledge-grid,.official-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.knowledge-card{padding:24px;border-top:2px solid var(--gold);background:var(--soft)}.knowledge-card h3,.official-grid h3{font-size:23px;line-height:1.5;margin:0 0 14px}.knowledge-card .eyebrow{margin-bottom:12px}.resource-meta{font-size:14px;color:var(--muted)}.resource-action{border-top:1px solid var(--line);padding-top:16px}.official-section{background:var(--soft)}.official-grid{gap:36px;margin-top:28px}.official-links{list-style:none;margin:0;padding:0}.official-links li{padding:14px 0;border-top:1px solid var(--line)}.official-links a{border-bottom:1px solid var(--gold);font-size:17px}.official-links p{font-size:14px;color:var(--muted);margin:6px 0 0}.privacy-copy{max-width:1000px;margin:auto;padding-left:6%;padding-right:6%}.privacy-copy h1{font-size:42px}.privacy-copy h2{font-size:26px;margin-top:36px}.privacy-link{font-size:14px;border-bottom:1px solid var(--gold)}select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:600px){.knowledge-grid,.official-grid{grid-template-columns:1fr}.knowledge-card{padding:20px}.resource-intro h1{font-size:38px}.privacy-copy h1{font-size:34px}}@media(min-width:1101px) and (max-width:1450px){header{flex-wrap:wrap;gap:10px}header nav{width:100%;justify-content:space-between;font-size:14px;gap:12px}}
