:root{--ease-out:cubic-bezier(.22,1,.36,1)}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:30;pointer-events:none}.reading-progress span{display:block;background:var(--orange);width:100%;height:100%;transform-origin:left;transform:scaleX(var(--reading-progress,0));will-change:transform}
.hero .container{padding-top:40px;padding-bottom:40px}.hero-school{margin-bottom:48px}.hero-grid{gap:clamp(50px,5vw,82px)}.hero-copy h1{font-weight:700;letter-spacing:.12em}.hero-identity{margin-bottom:22px}.hero-subtitle{letter-spacing:.12em}.hero-date{margin-top:52px;padding-top:32px}.hero-art-motion{transform:translate3d(var(--pointer-x,0px),calc(var(--pointer-y,0px) + var(--scroll-shift,0px)),0) rotate(var(--pointer-r,0deg));will-change:transform;transform-origin:50% 70%}.hero-art-motion img{width:100%}
.section-space{padding-block:112px}.section-heading{margin-bottom:62px}.section-intro{line-height:2.05}.companies{column-gap:0}.company{padding-right:40px}.company+.company{padding-left:40px}.company:last-child{padding-right:0}.company-top{height:162px;margin-bottom:32px;position:relative;justify-content:center;align-items:center}.company-number{position:absolute;top:0;left:0;font-size:1rem;font-weight:600;letter-spacing:.08em;color:var(--dark)}.company-logo{display:flex;align-items:center;justify-content:center;max-width:100%;height:148px;padding:5px 18px;margin-top:12px;transition:transform .8s var(--ease-out)}.company-logo:hover{transform:translateY(-4px)}.company-top .company-logo img{background:none;width:auto;height:auto;max-width:100%;max-height:142px;object-fit:contain}.logo-teng{width:166px}.company-top .logo-swico img{width:176px;max-height:84px}.logo-meanhome{width:280px}.company h3{min-height:92px;font-size:clamp(1.75rem,2.3vw,2.25rem);letter-spacing:.025em}.company-legal{font-size:1rem;font-weight:500;letter-spacing:.1em}.company-category{letter-spacing:.015em;margin-bottom:14px}.company-description{line-height:2.05;margin-bottom:30px}.company-focus{padding-top:20px;border-top:1px solid var(--line)}.company-focus span{font-weight:600;letter-spacing:.08em}
.agenda{background:#f4f1e3}.agenda-grid{grid-template-columns:.68fr 1fr;gap:clamp(90px,13vw,185px)}.schedule li{min-height:122px}.schedule h3{font-weight:700;letter-spacing:.025em}.schedule p{color:#326d66}.forum-heading{margin-bottom:64px}.forum-format{font-weight:500}.forum-topics{padding-top:40px}.forum-topics p{font-weight:500}.forum-evening{margin-top:84px}.site-footer{padding-top:50px;padding-bottom:30px}
.text-link,.footer-bottom a{text-decoration:none;position:relative;padding-bottom:8px}.text-link::after,.footer-bottom a::after{content:"";position:absolute;bottom:2px;left:0;height:1px;width:100%;background:currentColor;transform-origin:left;transform:scaleX(.58);transition:transform .65s var(--ease-out)}.text-link:hover::after,.text-link:focus-visible::after,.footer-bottom a:hover::after{transform:scaleX(1)}.site-header nav a{transition:border-color .6s var(--ease-out),color .6s var(--ease-out)}.site-header nav a:hover{color:#007d72}
.motion-enabled [data-reveal]{opacity:0;transform:translate3d(0,25px,0);transition:opacity 1s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.motion-enabled [data-reveal].is-visible{opacity:1;transform:translate3d(0,0,0)}
@media(max-width:1100px){.company{padding-right:28px}.company+.company{padding-left:28px}.company-logo{padding-inline:8px}.company h3{font-size:1.75rem}.section-space{padding-block:90px}.agenda-grid{gap:75px}}
@media(max-width:760px){.hero .container{padding-top:28px;padding-bottom:36px}.hero-school{margin-bottom:32px}.hero-identity{margin-bottom:16px}.hero-grid{display:contents}.hero-copy h1{font-weight:700;letter-spacing:.1em}.hero-date{margin-top:30px;padding-top:24px}.hero-art{margin-top:40px}.hero-art-motion{transform:none;will-change:auto;width:100%;aspect-ratio:802 / 601;overflow:hidden}.section-space{padding-block:72px}.section-heading{margin-bottom:34px}.company,.company+.company{padding-inline:0}.company-top{height:150px;margin-bottom:24px;justify-content:flex-start;padding-left:38px}.company-logo{margin-top:0}.logo-teng{width:146px}.company-top .company-logo img{max-height:138px}.logo-swico{width:194px;padding-left:0}.logo-meanhome{width:min(280px,100%);padding-left:0}.company h3{font-size:1.875rem;min-height:0;margin-bottom:20px}.company-legal{font-size:1rem;letter-spacing:.025em;font-weight:500}.company-focus{padding-top:18px}.company-focus span{display:block;margin-bottom:5px}.company-description{line-height:2}.companies{row-gap:34px}.company+.company{padding-top:32px}.agenda-grid{grid-template-columns:1fr;gap:40px}.schedule li{min-height:0;padding-bottom:36px}.forum-heading{margin-bottom:40px}.forum-heading img{width:92px}.forum-format{font-size:1.125rem;line-height:2}.forum-topics{padding-top:30px}.forum-evening{margin-top:50px}.footer-bottom{margin-top:34px}.motion-enabled [data-reveal]{transform:translate3d(0,18px,0)}}
@media(prefers-reduced-motion:reduce){.hero-art-motion{transform:none;will-change:auto}.motion-enabled [data-reveal]{opacity:1;transform:none;transition:none}.company-logo,.text-link::after,.footer-bottom a::after{transition:none}.reading-progress span{will-change:auto}}
@media print{[data-reveal]{opacity:1!important;transform:none!important}.hero-art-motion{transform:none!important}.reading-progress{display:none}}
.site-header{background:var(--dark);color:var(--cream);border-bottom-color:rgba(255,251,234,.18)}.site-header nav a:hover{color:var(--orange);border-color:var(--orange)}.site-header nav a[aria-current="location"]{border-color:var(--orange)}

/* 以活動名稱作為主標，英文只保留類別，不重複數字編號。 */
.wordmark strong{font:inherit;color:var(--orange)}
.visits h2,.forum h2{font-size:clamp(3rem,6vw,5.375rem);line-height:1.2;text-wrap:balance}
.visits{padding-top:80px}

@media(max-width:760px){
  /* 人物共用底線為原SVG y=1123；裁去viewBox底部2單位透明留白，固定於手機主視覺下緣。 */
  .hero .container{padding-bottom:0}
  .visits{padding-top:44px}
  .hero-school{justify-content:center;flex-wrap:wrap;gap:8px 28px;text-align:center}
  .hero-copy{width:100%;margin-inline:auto;text-align:center}
  .hero-identity,.hero-title{margin-inline:auto}
  .hero-date{grid-template-columns:1fr;justify-content:center;gap:18px}
  .date-number{grid-column:1;justify-self:center}
  .date-details{grid-column:1;justify-content:center;text-align:center}
  .section-heading,.agenda-intro,.company,.forum,.site-footer{text-align:center}
  .visits h2,.forum h2{font-size:clamp(2.75rem,11.5vw,3.75rem)}
  .section-intro{margin-inline:auto;max-width:32rem}
  .section-heading{margin-bottom:48px}
  .company-top{justify-content:center;padding-left:0}
  .company-logo{margin-inline:auto}
  .company-description{max-width:32rem;margin-inline:auto;text-wrap:pretty}
  .company-legal{display:block;margin-left:0;margin-top:8px}
  .company h3{margin-bottom:22px}
  .company-focus{width:100%;margin-inline:auto}
  .company-focus span{display:block;margin-right:0}
  .companies{row-gap:44px}
  .company+.company{padding-top:42px}
  .agenda-grid{gap:48px}
  .schedule{width:100%;max-width:none;margin-inline:auto;text-align:left}
  .schedule li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;border-left:0;padding:0 0 36px}
  .schedule li:before{display:block;left:50%;top:1.125rem;bottom:-1.125rem}
  .schedule li:after{display:block;left:calc(50% - 4.5px);top:calc(1.125rem - 4.5px)}
  .schedule li:last-child:before{display:none}
  .schedule li+li{padding-top:0}
  .schedule time{display:block;font-size:clamp(1.15rem,6.2vw,1.5rem);line-height:2.25rem;text-align:right}
  .schedule li>div{margin-top:0;min-width:0}
  .schedule h3{font-size:1.25rem;line-height:1.8;text-wrap:balance}
  .schedule p{max-width:28rem;margin-inline:0;text-wrap:balance}
  .forum-heading{flex-direction:column;gap:32px}
  .forum-heading img{width:84px}
  .forum-format{max-width:34rem;margin-inline:auto;text-wrap:balance}
  .forum-topics{align-items:center}
  .footer-grid{align-items:center}
  .footer-reminder{flex-direction:column;align-items:center;gap:20px}
  .footer-bottom{justify-content:center;flex-wrap:wrap;gap:16px 24px}
}

/* 官網入口：沿用細線互動，桌機與介紹對齊，手機置中；44px點擊範圍。 */
.company-link{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;min-height:44px;margin-top:20px;padding-block:10px;color:var(--dark);font-weight:600;letter-spacing:.04em}
.company-link span{color:var(--orange);font-size:1.25rem;line-height:1;transition:transform .65s var(--ease-out)}
.company-link:hover span,.company-link:focus-visible span{transform:translate(2px,-2px)}
@media(max-width:760px){.company-link{align-self:center}}
@media(prefers-reduced-motion:reduce){.company-link span{transition:none}.company-link:hover span,.company-link:focus-visible span{transform:none}}
