:root{--cream:#f7f3eb;--sand:#eee8d9;--dark:#17102d;--purple:#270075;--gold:#c6ab43;--red:#921d26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#191919;font-family:Arial,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h2{font-size:40px;line-height:1.35}a{color:inherit}button{font:inherit;border:0;border-radius:50px;background:linear-gradient(110deg,#eadb92,#c7a73d);color:#280978;font-size:26px;font-weight:700;padding:12px 54px;white-space:nowrap}button:disabled{opacity:1;cursor:default}button span{font-size:35px;vertical-align:middle;margin-left:12px}header{height:126px;background:linear-gradient(100deg,#926334,#655153);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;color:#fff}header img{width:255px}nav{display:flex;gap:32px;font-size:16px}nav a{text-decoration:none}nav a:hover,nav a:focus-visible{color:#f0d46a}.date-strip{padding:30px 18%;background:var(--purple);display:flex;justify-content:space-between;align-items:center;color:#fff;gap:20px}.date-strip strong{font:64px Georgia,serif}.date-strip strong small{font-size:18px;margin-left:8px}.date-strip p{font-size:20px}.wrap{width:calc(100% - 64px);max-width:1160px;margin:auto}.cream{background:var(--cream)}.sand{background:var(--sand)}.dark{background:var(--dark);color:white}.eyebrow{color:var(--gold);font-size:14px;letter-spacing:2px;font-weight:600;margin-bottom:14px}.gold,.english{color:var(--gold)}.red{color:var(--red)}section{padding:70px 0}.hero{padding:0}.intro{text-align:center;padding:52px 0 80px}.intro h2{color:var(--purple);font-size:34px}.intro blockquote{font-size:22px;margin:20px 0 0}.intro cite{display:block;font:18px Georgia,serif;margin-top:8px}.benefits{padding:86px 0 110px}.benefits h2{font-size:34px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px}.benefit-grid>div{display:flex;align-items:center;gap:18px;padding:0 24px;border-right:1px solid #736133}.benefit-grid>div:first-child{padding-left:0}.benefit-grid>div:last-child{border:0}.benefit-grid p{font-size:20px;line-height:1.5}.master{padding:70px 0}.master-lead{margin:20px 0 30px 410px;color:var(--red);font-size:26px;line-height:1.45;font-weight:700}.master-grid{display:grid;grid-template-columns:360px 1fr;gap:56px}.master-photo{background:linear-gradient(160deg,#ad1109,#270e16);height:570px;overflow:hidden}.master-photo img{height:100%;width:100%;object-fit:cover;object-position:50% top;transform:scale(1.12);transform-origin:50% 0}.master h2{font-size:52px}.english{font-size:28px;margin:4px 0 22px}.body-copy{font-size:18px;line-height:1.8}.master h3{margin:28px 0 14px;font-size:24px}.impact{display:grid;grid-template-columns:98px 1fr;gap:8px;margin:10px 0}.impact h4{font-size:18px;color:var(--red)}.impact p{font-size:16px;line-height:1.7}.book{padding:60px 0 70px}.book-grid{display:grid;grid-template-columns:360px 1fr;align-items:center;gap:110px}.book-grid>img{width:340px;max-height:540px;object-fit:contain}.book h2{font-size:38px}.book .english{font-size:24px}.recommendations{font-size:23px;font-weight:700;line-height:1.5;margin:28px 0}.speakers{background:linear-gradient(#17102d 15%,#17102d 38%,#250072 100%);padding:70px 0 96px}.speaker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:70px 46px;margin:75px 0 0}.speaker{grid-column:span 2}.speaker:nth-child(4){grid-column:2/span 2}.speaker:nth-child(5){grid-column:4/span 2}.portrait{height:235px;width:215px;margin:0 auto 18px;position:relative;border-left:1px solid var(--gold);border-right:1px solid var(--gold);transform:skew(-10deg);background:linear-gradient(150deg,#200444,#251156);overflow:hidden}.portrait img{height:100%;width:100%;object-fit:cover;object-position:50% top;transform:skew(10deg) scale(1.15);transform-origin:50% top}.speaker h3{text-align:center;font-size:26px;margin-bottom:10px}.role{font-size:16px;color:var(--gold);text-align:center;line-height:1.5;min-height:48px;margin-bottom:22px}.bio p{font-size:15px;line-height:1.7;margin:3px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px}.section-heading>p{font:40px Georgia,serif;color:var(--purple)}.section-heading small{font-size:21px}table{border-collapse:collapse;width:87%;margin-left:13%;font-size:18px}th{text-align:left;padding:15px 24px;font-weight:400}td{padding:22px 24px;line-height:1.6}td:first-child{width:195px;white-space:nowrap;vertical-align:top}tbody tr:nth-child(odd){background:#eee8dc}td strong{display:block;color:var(--red);font-size:19px}tr:first-child strong,tr:nth-child(2) strong,tr:last-child strong{color:#191919}td span{display:block;font-size:16px}.agenda{padding:76px 0 130px}.venue{padding:80px 0}.venue-grid{display:grid;grid-template-columns:300px 1fr;gap:50px}.venue-grid>div:last-child{border-left:1px solid #d6c79c;padding-left:90px}.venue h3{font-size:24px;color:var(--purple);margin-bottom:14px}.venue p,.venue dd{font-size:17px;line-height:1.7}dl{display:grid;grid-template-columns:55px 1fr;gap:20px 24px;margin:30px 0 0}dt{color:#b45a60;font-size:18px}dd{margin:0}.registration{background:linear-gradient(100deg,#600927,#17102d 80%);color:#fff;padding:42px 0}.registration-main{display:flex;justify-content:center;align-items:center;gap:120px;padding:52px 0}.registration h3{font-size:62px;color:var(--gold);margin-bottom:12px}.registration-main p{font-size:22px;line-height:1.7}.steps{counter-reset:step;list-style:none;border:1px solid #81503e;display:flex;padding:20px 28px;justify-content:center;gap:26px;margin:0}.steps li{counter-increment:step;font-size:17px;line-height:1.4;position:relative}.steps li:before{content:counter(step);display:inline-block;text-align:center;color:#411144;background:var(--gold);border-radius:50%;width:22px;height:22px;margin-right:5px}.steps li:not(:last-child):after{content:'→';margin-left:18px;color:var(--gold)}.organizers{text-align:center;background:white;padding:75px 0 65px}.organizers img{width:533px;margin:45px auto 0}.notices{padding:55px 0 70px}.notices h3{font-size:24px;color:var(--gold);margin:25px 0 14px}.notices p{font-size:16px;line-height:1.8;margin:4px 0}.notices a{overflow-wrap:anywhere}.bottom-cta{padding:22px 10%;background:linear-gradient(100deg,#a89446,#260080 23%,#260080 80%,#a89446);color:white;display:flex;align-items:center;justify-content:center;gap:46px}.bottom-cta strong{font:60px Georgia,serif}.bottom-cta p{font-size:22px;color:#e8d878}.bottom-cta small{display:block;font-size:18px;color:white;margin-top:6px}.bottom-cta button{font-size:22px}footer{padding:45px 20px 65px;background:#242424;text-align:center;color:#bbb;font-size:14px}
@media(max-width:1000px){header{height:auto;min-height:90px;padding:22px 5%;flex-wrap:wrap}header img{width:230px}nav{gap:18px;flex-wrap:wrap}.date-strip{padding:25px 8%}.date-strip strong{font-size:48px}.wrap{width:calc(100% - 64px)}.master-grid{grid-template-columns:30% 1fr;gap:30px}.master-lead{margin-left:33%}.master-photo{height:520px}.master h2{font-size:38px}.book-grid{grid-template-columns:30% 1fr;gap:50px}.speaker-grid{gap:55px 25px}.portrait{width:175px;height:205px}.venue-grid{grid-template-columns:200px 1fr;gap:30px}.venue-grid>div:last-child{padding-left:30px}.steps{flex-wrap:wrap;gap:16px}.section-heading>p{font-size:30px}.bottom-cta{padding:24px 5%;gap:24px}.bottom-cta button{padding:10px 25px}}
@media(max-width:640px){h2{font-size:28px}header{padding:18px 22px;gap:20px}header img{width:210px}nav{gap:14px 19px;font-size:14px}.date-strip{padding:25px 24px;flex-direction:column;text-align:center;gap:23px}.date-strip strong{font-size:44px}.date-strip p{font-size:16px}button{font-size:21px;padding:8px 42px}.wrap{width:calc(100% - 44px)}section{padding:48px 0}.intro{padding:42px 0}.intro h2{font-size:24px}.intro blockquote{font-size:17px;line-height:1.7}.intro cite{font-size:15px}.benefits{padding:48px 0}.benefits h2{font-size:25px}.benefit-grid{display:block;margin-top:24px}.benefit-grid>div,.benefit-grid>div:first-child{border:0;border-bottom:1px solid #5a4b35;padding:18px 0;gap:24px}.benefit-grid p{font-size:19px}.master{padding:48px 0}.master-lead{margin:20px 0 26px;font-size:21px}.master-grid{display:block}.master-photo{width:240px;height:360px;margin:0 auto 28px}.master h2{font-size:34px}.english{font-size:25px}.body-copy{font-size:17px}.impact{grid-template-columns:1fr;gap:5px;margin:18px 0}.impact p{font-size:16px}.book{padding:48px 0}.book-grid{display:flex;flex-direction:column;gap:28px}.book-grid>img{width:220px;height:300px}.book h2{font-size:28px}.book .english{font-size:22px}.recommendations{font-size:19px}.speakers{padding:48px 0}.speaker-grid{display:flex;flex-direction:column;gap:48px;margin-top:40px}.portrait{width:205px;height:240px}.speaker{max-width:330px;width:100%;margin:auto}.speaker h3{font-size:26px}.role{min-height:0}.bio p{font-size:16px;line-height:1.8}.agenda{padding:48px 0}.section-heading{display:block;margin-bottom:24px}.section-heading>p{font-size:28px;margin-top:14px}.section-heading small{font-size:17px}table{width:100%;margin:0;font-size:14px}th{padding:14px 9px}td{padding:18px 9px}td:first-child{width:100px;font-size:14px}td strong{font-size:16px}td span{font-size:15px;margin-top:4px}.venue{padding:48px 0}.venue-grid{display:block}.venue-grid>div:last-child{border:0;padding:24px 0 0}.venue h3{font-size:21px}dl{grid-template-columns:38px 1fr;gap:18px 12px}.venue p,.venue dd{font-size:16px}.registration{padding:40px 0}.registration-main{flex-direction:column;gap:26px;padding:32px 0;text-align:center}.registration h3{font-size:44px}.registration-main p{font-size:18px}.steps{display:block;padding:20px 18px}.steps li{margin:14px 0;font-size:16px}.steps li:not(:last-child):after{display:none}.steps li br{display:none}.organizers{padding:46px 22px}.organizers img{width:100%;max-width:400px;margin-top:30px}.notices{padding:40px 0}.notices p{font-size:15px;line-height:1.9}.notices h3{font-size:22px}.bottom-cta{flex-wrap:wrap;gap:14px 24px;padding:26px 22px}.bottom-cta strong{font-size:46px}.bottom-cta p{font-size:17px}.bottom-cta small{font-size:15px}.bottom-cta button{padding:8px 46px}footer{font-size:12px;line-height:1.8;padding:30px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero{color:#fff}
.speaker:nth-child(5) .portrait img{transform:skew(10deg) scale(2.2) translateY(-10%)}

/* October 12: supplied hero background, quote marks, and numeric artwork. */
.hero{background:#17102d url('assets/主頁背景圖.png') center/cover no-repeat;overflow:hidden}
.hero-native{position:relative;width:100%;height:min(47.875vw,766px);max-width:1600px;margin:auto;overflow:hidden}
.hero-portrait{position:absolute;width:42%;max-width:none;left:8%;bottom:-5%;opacity:1}
.hero-copy{position:absolute;top:18.5%;left:48.5%;right:3%}
.hero-copy .gold{font-size:clamp(17px,2vw,32px);margin-bottom:24px;font-weight:600}
.hero h1{font-size:clamp(34px,5.05vw,81px);line-height:1.14;letter-spacing:-.025em}
.hero h1 small{display:block;font-size:clamp(24px,3.55vw,57px);font-weight:300;line-height:1.35;margin-bottom:12px;letter-spacing:0}
.hero-name{position:absolute;left:14%;bottom:7%;font-size:clamp(27px,3.25vw,52px);line-height:1.15;font-family:Georgia,"Songti TC","Noto Serif TC",serif;color:#fff}
.hero-name>span{display:block;font-size:clamp(13px,1.35vw,22px);margin-bottom:8px;letter-spacing:.05em;font-family:Arial,"PingFang TC",sans-serif}
.hero-name em{font-size:clamp(29px,3.6vw,58px);font-weight:400;color:var(--gold)}
.quote{display:flex;justify-content:center;align-items:flex-start;gap:24px;color:#b6721d;font-size:31px;line-height:1.65;font-weight:700;margin:24px auto;width:100%}
.quote-copy{width:650px;max-width:calc(100% - 168px);text-align:justify;text-align-last:justify}
.quote-copy>span{display:block;white-space:nowrap}
.quote-mark{width:60px;height:60px;flex:0 0 60px;object-fit:contain;margin-top:-2px}
.benefit-number{width:78px;height:78px;flex:0 0 78px;object-fit:contain}
@media(min-width:641px) and (max-width:1000px){
 .hero-copy .gold{margin-bottom:12px}.hero h1 small{margin-bottom:6px}
 .quote{font-size:clamp(20px,3.1vw,31px);gap:12px}.quote-copy{width:650px;max-width:calc(100% - 104px)}.quote-mark{width:40px;height:40px;flex-basis:40px}
 .benefit-number{width:56px;height:56px;flex-basis:56px}.benefit-grid>div{gap:12px;padding:0 12px}
}
@media(max-width:640px){
 .hero{background-position:48% center}.hero-native{height:535px;min-height:535px;padding:0}
 .hero-portrait{width:300px;left:-23px;bottom:-36px}.hero-copy{top:34px;left:24px;right:20px}
 .hero-copy .gold{font-size:17px;margin-bottom:18px}.hero h1{font-size:33px;line-height:1.4;letter-spacing:0}.hero h1 small{font-size:23px;margin-bottom:5px}
 .hero-name{left:175px;bottom:110px;font-size:23px;line-height:1.2;white-space:nowrap;font-family:Arial,"PingFang TC",sans-serif}.hero-name>span{display:none}.hero-name em{font-size:24px;font-family:Georgia,serif}
 .quote{gap:6px;font-size:clamp(13px,3.7vw,23px);line-height:1.9;margin:22px auto}
 .quote-copy{width:100%;max-width:calc(100% - 52px)}.quote-mark{width:20px;height:20px;flex-basis:20px;margin-top:3px}
 .benefit-number{width:66px;height:66px;flex-basis:66px}
}
.quote-copy{width:max-content}
.hero-native:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#17102d);pointer-events:none}
.hero-copy,.hero-name{z-index:1}
@media(max-width:640px){.hero-name{left:44%;font-size:clamp(20px,5.9vw,23px)}.hero-name em{font-size:clamp(20px,6.15vw,24px)}.hero-native:after{inset:75% 0 0}}
/* Align the desktop introduction with the photo while preserving its crop and height. */
@media(min-width:641px){
 .master>.wrap{display:grid;grid-template-columns:360px minmax(0,1fr);column-gap:56px}
 .master .eyebrow{grid-column:1/-1;grid-row:1}
 .master-lead{grid-column:2;grid-row:2;margin:20px 0 30px}
 .master-grid{display:contents}
 .master-photo{grid-column:1;grid-row:2/4;align-self:start;margin-top:20px}
 .master-grid>div:last-child{grid-column:2;grid-row:3;min-width:0}
}
@media(min-width:641px) and (max-width:1000px){
 .master>.wrap{grid-template-columns:30% minmax(0,1fr);column-gap:30px}
 .master-lead{margin-left:0}
}
/* Speaker reference: centered head-and-shoulders portraits and tighter text rhythm. */
.speakers .portrait{background:linear-gradient(90deg,#250072 0%,rgba(37,0,114,0) 100%)}
.speakers .portrait img{position:absolute;max-width:none;height:auto;object-fit:contain;transform:skew(10deg);transform-origin:center top}
.speaker:nth-child(1) .portrait img{width:150%;left:-22%;top:-22%}
.speaker:nth-child(2) .portrait img{width:180%;left:-56%;top:-26%}
.speaker:nth-child(3) .portrait img{width:130%;left:-15%;top:-22%}
.speaker:nth-child(4) .portrait img{width:115%;left:-7.5%;top:-5%}
.speaker:nth-child(5) .portrait img{width:365%;left:-125%;top:-24%;transform:skew(10deg)}
.speakers .speaker h3{margin-bottom:6px}
.speakers .role{font-weight:600;line-height:1.35;min-height:44px;margin-bottom:16px}
.speakers .bio p{font-size:16px;line-height:1.55;margin:0}
.speakers .bio .bio-label{color:rgba(192,163,83,.7)}
.speaker-grid{row-gap:96px}
@media(max-width:640px){.speaker-grid{gap:48px}.speakers .role{min-height:0;margin-bottom:16px}.speakers .bio p{line-height:1.65}}
/* Account for the transparent margins in each supplied portrait. */
.speaker:nth-child(1) .portrait img{left:-40%}
.speaker:nth-child(2) .portrait img{left:-63%}
.speaker:nth-child(3) .portrait img{left:-26%}
.speaker:nth-child(4) .portrait img{left:-13%}
.speaker:nth-child(5) .portrait img{left:-150%}
/* Justified biography copy with hanging experience bullets. */
.speakers .bio-item{display:grid;grid-template-columns:.8em minmax(0,1fr)}
.speakers .bio-text,.speakers .bio-professional{text-align:justify;text-align-last:start;text-justify:inter-ideograph;overflow-wrap:break-word}
/* Agenda names retain the existing role styling; forum participants share one start edge. */
.agenda-name{font-weight:700}
.agenda td .forum-person{display:grid;grid-template-columns:4em minmax(0,1fr)}
.agenda td .forum-label,.agenda td .forum-detail{display:block;margin-top:0}
/* Venue address and travel descriptions: 70% black; station names emphasized. */
.venue .venue-grid>div:last-child>p{font-size:19px;color:rgba(0,0,0,.7)}
.venue dd{color:rgba(0,0,0,.7)}
.venue .station-name{font-weight:700}
/* Bring the travel labels closer to their descriptions. */
.venue dl{grid-template-columns:42px minmax(0,1fr);column-gap:14px}
@media(max-width:640px){.venue dl{grid-template-columns:38px minmax(0,1fr);column-gap:8px}}
/* Compact registration flow with hanging step numbers and first-line arrows. */
.registration .steps{width:max-content;max-width:100%;margin:0 auto;padding:12px 18px;gap:20px;align-items:flex-start}
.registration .steps li{display:grid;grid-template-columns:22px auto;column-gap:5px;position:relative}
.registration .steps li:before{grid-column:1;grid-row:1;margin-right:0}
.registration .steps .step-copy{grid-column:2;grid-row:1;display:block}
.registration .steps li:not(:last-child):after{content:none;display:none}
.registration .steps li+li{margin-left:20px}
.registration .steps li+li:after{content:'→';display:block;position:absolute;left:-30px;top:0;color:var(--gold);margin:0}
.registration-main>div{--registration-title-size:62px}
.registration-main .registration-capacity{width:calc(var(--registration-title-size)*4);display:flex;justify-content:space-between;white-space:nowrap;font-size:24px;font-weight:700;line-height:1.7}
@media(max-width:1000px) and (min-width:641px){.registration .steps{gap:14px;row-gap:18px}.registration .steps li+li{margin-left:16px}.registration .steps li+li:after{left:-24px}}
@media(max-width:640px){
 .registration-main>div{--registration-title-size:44px}
 .registration-main .registration-capacity{font-size:18px;margin:0 auto}
 .registration .steps{width:max-content;max-width:100%;padding:10px 14px;display:grid;gap:12px}
 .registration .steps li{margin:0;text-align:left}.registration .steps li+li{margin-left:0}
 .registration .steps li+li:after{display:none}.registration .steps .step-copy br{display:block}
}
.registration .steps li:nth-child(n+2):after{content:'→';display:block;position:absolute;left:-30px;top:0;color:var(--gold);margin:0}
@media(min-width:641px) and (max-width:1000px){.registration .steps li:nth-child(n+2):after{left:-24px}}
@media(max-width:640px){.registration .steps li:nth-child(n+2):after{display:none}}
.registration-main h3{width:max-content}
@media(max-width:640px){.registration-main h3{margin-left:auto;margin-right:auto}}
@media(max-width:640px){.registration-main .registration-capacity{font-size:17px}}

/* Supplied date artwork and compact registration reminder. */
.date-strip-image{width:340px;height:auto}
.agenda-time-image{width:330px;height:auto}
.registration-main .registration-reminder{width:calc(var(--registration-title-size)*4);font-size:18px;font-weight:300;text-align:justify;text-align-last:justify;white-space:nowrap}
@media(max-width:640px){.date-strip-image{width:280px}.agenda-time-image{width:280px}.registration-main .registration-reminder{font-size:14px;margin:0 auto}}

/* Supplied hero artwork and full-width fade. */
header{align-items:flex-end;padding-top:28px;padding-bottom:28px}
nav a{transition:opacity .2s}
nav a:hover{color:inherit;opacity:.4}
.hero{position:relative}
.hero:after{content:"";position:absolute;inset:48% 0 0;background:url('assets/主頁漸層.png') center/100% 100% no-repeat;pointer-events:none}
.hero-native{overflow:visible}
.hero-native:after{display:none}
.hero-copy,.hero-name{z-index:2}
.hero-copy img{width:100%;height:auto}
.hero-name{width:28%;font-size:inherit}
.hero-name img{width:100%;height:auto}
.date-strip>button{min-width:340px;display:flex;align-items:center;justify-content:center;gap:20px}
.button-arrow{width:40px;height:40px;object-fit:contain}
.intro blockquote,.intro cite{font-family:Georgia,"Songti TC","Noto Serif TC",serif}
.intro blockquote>strong{font-weight:700}
.intro cite{font-weight:400}
@media(max-width:1000px){.date-strip>button{min-width:300px}}
@media(max-width:640px){header{padding-top:18px;padding-bottom:18px}.hero:after{inset:65% 0 0}.hero-copy{top:34px;left:24px;right:20px}.hero-name{left:44%;width:53%;bottom:85px;white-space:normal}.date-strip>button{min-width:300px;max-width:100%;gap:20px}.button-arrow{width:32px;height:32px}}

header{align-items:center;padding-top:0;padding-bottom:0}header nav{align-self:flex-end;margin-bottom:28px}
@media(max-width:1000px){header{padding-top:22px;padding-bottom:22px}header nav{align-self:auto;margin-bottom:0}}
@media(max-width:640px){header{padding-top:18px;padding-bottom:18px}}

/* Local homepage size and opacity refinements. */
.hero-copy img{width:90%}
.hero-name{width:25.2%;left:calc(14% - 5px)}
.hero:after{opacity:.7}
@media(min-width:1001px){header{height:112px}header nav{margin-bottom:24px}}
@media(max-width:640px){.hero-name{width:47.7%;left:calc(44% - 5px)}}

.hero:after{z-index:1}

/* Relative position refinements from the approved homepage. */
.hero-name{transform:translate(-10px,8px)}
.date-strip-image{transform:translateX(15px) scale(1.03);transform-origin:left center}
.date-strip>button{width:346.8px;min-width:346.8px;transform:translateX(-15px)}
@media(max-width:1000px){.date-strip>button{width:306px;min-width:306px}}

/* Transparent fixed navigation and tablet/mobile disclosure menu. */
:root{--header-height:112px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-height);min-height:0;background:transparent;isolation:isolate}
header:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#926334,#655153);opacity:0;transition:opacity .25s}
header.is-scrolled:before{opacity:.85}
.hero{padding-top:var(--header-height)}
.menu-toggle{display:none}
@media(max-width:1100px){
 :root{--header-height:90px}
 header{height:var(--header-height);padding:0 5%;flex-wrap:nowrap;align-items:center;justify-content:space-between}
 header>a{display:flex;align-items:center;height:100%;overflow:hidden}
 header img{width:230px;flex-shrink:0}
 header nav{position:absolute;top:100%;right:5%;display:none;flex-direction:column;gap:0;min-width:200px;margin:0;padding:10px 0;border-radius:0 0 8px 8px;background:linear-gradient(100deg,rgba(146,99,52,.95),rgba(101,81,83,.95));box-shadow:0 8px 20px #0002;font-size:16px;align-self:auto}
 header.menu-open nav{display:flex}
 header nav a{padding:14px 24px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:9px;border-radius:0;background:transparent;cursor:pointer}
 .menu-toggle span{display:block;width:26px;height:2px;margin:0;background:#fff;transition:transform .2s,opacity .2s}
 .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 .menu-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
}
@media(max-width:640px){:root{--header-height:76px}header{padding:0 22px}header img{width:210px}header nav{right:22px;max-width:calc(100vw - 44px)}}
@media(prefers-reduced-motion:reduce){header:before,.menu-toggle span{transition:none}}

/* Keep laptop navigation horizontal without changing its header or page layout. */
@media(min-width:1024px) and (max-width:1100px){
 .menu-toggle{display:none}
 header nav,header.menu-open nav{position:static;display:flex;flex-direction:row;gap:24px;min-width:0;margin:0 0 24px;padding:0;border-radius:0;background:none;box-shadow:none;font-size:16px;align-self:flex-end}
 header nav a{padding:0}
}

/* Registration form preview, using supplied background and existing type scale. */
.signup{background:#270f43 url('assets/報名.jpg') center/cover no-repeat;color:#fff;padding:70px 0 80px;text-align:center}
.signup .eyebrow{color:var(--gold)}
.signup h2{width:max-content;margin:0 auto;padding-bottom:18px;border-bottom:1px solid #c6ab4380}
.signup-intro{margin:28px auto 42px;font-size:16px;line-height:1.7}
.signup-form{max-width:760px;margin:auto;padding:56px 64px 40px;border-radius:12px;background:#d2b86c;color:#280942;text-align:left}
.signup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.signup-fields label{font-size:18px;font-weight:700;line-height:1.5;min-width:0}
.signup-fields .field-full{grid-column:1/-1}
.signup-fields input{display:block;width:100%;margin-top:10px;border:1px solid #e3dcca;border-radius:4px;background:white;padding:16px 18px;font:400 18px/1.4 Arial,"PingFang TC","Noto Sans TC",sans-serif;color:#280942}
.signup-fields input::placeholder{color:#9b8aa9;opacity:1}
.signup-fields input:focus-visible{outline:2px solid #270075;outline-offset:2px}
.signup-privacy{margin-top:38px;font-size:16px;line-height:1.8}
.signup-privacy .privacy-toggle{list-style:none;background:#290644;color:white;border-radius:4px;padding:16px 20px;text-align:center;font-weight:700;cursor:pointer}
.signup-privacy .privacy-toggle::-webkit-details-marker{display:none}
.signup-privacy .privacy-toggle:focus-visible{outline:2px solid white;outline-offset:3px}
.signup-privacy>div{background:#ffffff35;padding:20px;margin-top:12px;border-radius:4px}
.signup-privacy p+p{margin-top:12px}
.signup-consent{display:flex;gap:12px;align-items:flex-start;margin:38px 0;border-block:1px solid #9b834a66;padding:18px 0;font-size:16px;line-height:1.7;cursor:pointer}
.signup-consent input{width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:#290644}
.signup-submit{display:block;width:360px;max-width:100%;margin:auto;background:linear-gradient(#f4edbf,#d1b76a 65%,#f5e8af);color:#280942;font-size:22px;padding:16px 24px;box-shadow:0 8px 16px #5e451c55}
.signup-preview-note{text-align:center;font-size:14px;margin-top:14px;color:#50355c}
.signup-notes{padding:24px;margin-top:28px;border-radius:8px;background:#b7924c40;font-size:16px;line-height:1.8}
.signup-notes p+p{margin-top:10px}
@media(max-width:640px){.signup{padding:48px 0}.signup-intro{font-size:15px;margin:24px 0 30px}.signup-form{padding:28px 22px}.signup-fields{grid-template-columns:1fr;gap:22px}.signup-fields label,.signup-fields input{font-size:16px}.signup-fields input{padding:14px}.signup-privacy{margin-top:28px;font-size:15px}.signup-privacy .privacy-toggle{padding:14px 10px}.signup-consent{font-size:15px;margin:28px 0}.signup-submit{font-size:21px}.signup-notes{padding:18px;font-size:15px}}

.privacy-toggle{width:100%;font-size:16px;line-height:1.8}.signup-privacy [hidden]{display:none}

/* Shared registration-button finish and reference proportions for mobile. */
.date-strip>button,.registration-main>button,.bottom-cta>button,.signup-submit{background:linear-gradient(#f4edbf,#d1b76a 65%,#f5e8af);color:#280942;box-shadow:0 8px 16px #5e451c55;border-radius:50px}
@media(max-width:640px){
 .hero-native{height:calc(142vw - var(--header-height));min-height:0}
 .hero-copy{top:1vw;left:12%;right:12%}
 .hero-copy img{width:100%}
 .hero-portrait{width:80%;left:-1%;bottom:-10px}
 .hero-name{left:36.5%;bottom:5vw;width:52%;transform:none}
 .date-strip-image{transform:none;margin:auto}
 .date-strip>button{transform:none}
 .date-strip>div{width:100%;display:flex;justify-content:center}
}

@media(max-width:640px){.hero-portrait{left:-8%}}

.signup-consent a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){
 :root{--mobile-cta-width:min(360px,calc(100vw - 90px))}
 .hero-portrait{bottom:-22px}
 .book-grid>img{width:242px;height:330px}
 .date-strip>button,.registration-main>button,.bottom-cta>button,.signup-submit{width:var(--mobile-cta-width);min-width:0;max-width:100%}
 .registration .steps{width:var(--mobile-cta-width);max-width:100%;margin-left:auto;margin-right:auto}
}

button[data-scroll-signup]{cursor:pointer}
.signup-intro a{text-decoration:underline;text-underline-offset:4px}
.privacy-dialog{border:0;border-radius:12px;padding:0;width:min(850px,calc(100vw - 48px));max-height:85dvh;color:#280942;background:#fffaf0;box-shadow:0 20px 70px #0006}
.privacy-dialog[open]{display:flex;flex-direction:column}
.privacy-dialog::backdrop{background:#17102dbb}
.privacy-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid #d6c79c}
.privacy-dialog-heading h2{font-size:24px;line-height:1.5}
.privacy-close{background:none;box-shadow:none;border-radius:4px;padding:0;width:36px;min-width:36px;height:36px;line-height:1;font-size:32px;cursor:pointer}
.privacy-dialog-body{overflow:auto;padding:24px 28px;font-size:16px;line-height:1.85;overscroll-behavior:contain}
.privacy-dialog-body h3{font-size:18px;margin:20px 0 8px}
.privacy-dialog-body p{margin:10px 0;text-align:justify}
.privacy-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;border-top:1px solid #d6c79c}
.privacy-dialog-actions a{font-size:16px}
.privacy-read{font-size:18px;padding:12px 26px;cursor:pointer}
body.privacy-modal-open{overflow:hidden}
@media(max-width:640px){.privacy-dialog{width:calc(100vw - 28px);max-height:88dvh}.privacy-dialog-heading{padding:20px 18px;gap:10px}.privacy-dialog-heading h2{font-size:20px}.privacy-dialog-body{padding:18px;font-size:16px}.privacy-dialog-actions{padding:16px 18px;flex-wrap:wrap;justify-content:center}.privacy-read{font-size:17px}}

/* Laptop annotations: preserve desktop and mobile layouts. */
@media(min-width:1024px) and (max-width:1100px){
 .hero-stage{position:relative;isolation:isolate}
 .hero:after{display:none}
 .hero-stage:after{content:"";position:absolute;inset:48% 0 0;background:url('assets/主頁漸層.png') center/100% 100% no-repeat;opacity:.7;pointer-events:none;z-index:1}
 .hero-stage .date-strip>div,.hero-stage .date-strip>button{position:relative;z-index:2}
 .date-strip>button{transform:translateX(5px)}
 .benefits>.wrap,.agenda>.wrap,.venue>.wrap{width:calc(100% - 104px)}
 .master>.wrap{width:calc(100% - 84px)}
 .book-grid>img{transform:translateX(15px)}
 .book-grid>div{transform:translateX(-5px)}
}
.master .body-copy,.master .impact p{text-align:justify;text-align-last:start;text-justify:inter-ideograph}

/* Laptop follow-up: equal CTA dimensions, smaller master photo, centered book pair. */
@media(min-width:1024px) and (max-width:1100px){
 .date-strip>button,.registration-main>button,.bottom-cta>button{width:266.23px;min-width:266.23px;height:64.76px;padding:12px 24px;font-size:26px;display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0}
 .date-strip>button .button-arrow{width:35px;height:35px}
 .registration-main>button span,.bottom-cta>button span{margin-left:0;font-size:35px}
 .master-photo{width:306px;height:484.5px;justify-self:center}
 .book-grid{width:min(100%,860px);margin-inline:auto;grid-template-columns:340px minmax(0,1fr);gap:30px}
 .book-grid>img,.book-grid>div{transform:none}
}

/* Tablet reference: portrait and biography above a full-width influence section. */
@media(min-width:641px) and (max-width:1023px){
 .hero-native{height:calc(47.875vw + 50px)}
 .hero-portrait{width:48.3%;left:4.85%}
 .master>.wrap{grid-template-columns:40% minmax(0,1fr);column-gap:20px;grid-template-rows:auto 1fr auto auto}
 .master .eyebrow{margin-bottom:30px}
 .master-photo{grid-column:1;grid-row:2/4;width:100%;height:auto;aspect-ratio:0.84;margin-top:0}
 .master-grid>div:last-child{display:contents}
 .master-lead{grid-column:2;grid-row:2;align-self:end;margin:0 0 26px;font-size:20px;line-height:1.5}
 .master-summary{grid-column:2;grid-row:3;align-self:end}
 .master-summary h2{font-size:38px}
 .master-summary .english{font-size:26px;margin:0 0 16px}
 .master-summary .body-copy{font-size:16px;line-height:1.65;color:#666}
 .master-influence{grid-column:1/-1;grid-row:4;margin:24px 20px 0 40px}
 .master-influence h3{display:flex;align-items:center;gap:18px;margin:0 0 16px}
 .master-influence h3:after{content:"";height:1px;background:#d8d5ce;flex:1}
 .master-influence .impact{grid-template-columns:98px minmax(0,1fr);gap:14px;margin:14px 0}
 .master-influence .impact p{color:#666}
}

@media(min-width:641px) and (max-width:1023px){.master-photo{background:#600000}.master-photo img{transform:scale(1.45)}}

.registration{background:#270f43 url('assets/報名.jpg?v=20261012-34') center/cover no-repeat}
.notice-consent{border-top:1px solid #d6c79c;padding-top:20px;margin-top:24px!important}
.notice-consent input{width:18px;height:18px;margin:0 10px 0 0;vertical-align:middle;accent-color:#280942}
#registration-notice .privacy-dialog-actions{justify-content:flex-end}

#registration-notice .privacy-dialog-actions{justify-content:space-between;flex-wrap:wrap}
#registration-notice .notice-end{font-size:16px;line-height:1.6;flex:1;min-width:220px}
#registration-notice .privacy-read{border:1px solid #280942;border-radius:8px;background:transparent;color:#280942;box-shadow:none;transition:background-color .2s,color .2s}
#registration-notice .privacy-read:hover,#registration-notice .privacy-read:focus-visible{background:#280942;color:#fff}
@media(max-width:640px){#registration-notice .privacy-dialog-actions{justify-content:flex-end}#registration-notice .notice-end{flex-basis:100%;font-size:15px}}

#registration-notice .privacy-dialog-actions{justify-content:flex-end}
#registration-notice .privacy-read{max-width:100%;white-space:normal;line-height:1.6}


/* Gentle entrance and tactile CTA feedback, with independent translation
   so responsive offsets and reference image transforms remain intact. */
.motion-reveal{transition:opacity 1.8s ease,translate 1.8s cubic-bezier(.22,.61,.36,1)}
.motion-pending{opacity:0;translate:0 25px}
.motion-pending:focus-within{opacity:1;translate:0 0}
button[data-scroll-signup]{transition:translate .2s ease,box-shadow .2s ease,filter .2s ease}
button[data-scroll-signup] .button-arrow,button[data-scroll-signup]>span{transition:translate .2s ease}
button[data-scroll-signup]:focus-visible{outline:3px solid #fff2b7;outline-offset:5px;box-shadow:0 10px 24px #c6ab4355}
@media(hover:hover) and (pointer:fine){
 button[data-scroll-signup]:hover{translate:0 -3px;filter:brightness(1.06);box-shadow:0 12px 26px #c6ab4366}
 button[data-scroll-signup]:hover .button-arrow,button[data-scroll-signup]:hover>span{translate:4px 0}
}
button[data-scroll-signup]:active{translate:0 1px;filter:brightness(.98);box-shadow:0 3px 8px #5e451c55}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .motion-reveal,.motion-pending{transition:none;opacity:1;translate:none}
 button[data-scroll-signup],button[data-scroll-signup] .button-arrow,button[data-scroll-signup]>span{transition:none;translate:none!important}
 #registration-notice .privacy-read{transition:none}
}


/* Current reading section and a restrained three-color speaker background. */
#site-nav a{transition:color .2s ease,opacity .2s ease}
#site-nav a[aria-current="location"]{color:#f0d46a;opacity:1}
#site-nav a:hover,#site-nav a:focus-visible{color:#f0d46a;opacity:1}
#speakers{background-image:none;background-color:#17102d;animation:color-change-3x 12s ease-in-out infinite both}
@keyframes color-change-3x{
 0%,100%{background-color:#17102d}
 33.333%{background-color:#250072}
 66.667%{background-color:#4b1235}
}
@media(prefers-reduced-motion:reduce){
 #speakers{animation:none;background-color:#17102d}
 #site-nav a{transition:none}
}


/* Supplied arrows on every registration CTA. */
.registration-main>button,.bottom-cta>button{display:flex;align-items:center;justify-content:center;gap:16px}
.registration-main .button-arrow,.bottom-cta .button-arrow{width:35px;height:35px;flex:0 0 35px}
@media(max-width:640px){.registration-main .button-arrow,.bottom-cta .button-arrow{width:32px;height:32px;flex-basis:32px}}

/* Overscan keeps moving backgrounds covered at the edges. */
.hero{background-image:none}
.hero:before{content:"";position:absolute;inset:-36px 0;background:url('assets/主頁背景圖.png') center/cover no-repeat;background-position:inherit;transform:translateY(var(--parallax-y,0px));pointer-events:none}
#registration{position:relative;isolation:isolate;overflow:hidden;background-image:none}
#registration:before{content:"";position:absolute;inset:-36px 0;z-index:0;background:url('assets/報名.jpg?v=20261012-34') center/cover no-repeat;transform:translateY(var(--parallax-y,0px));pointer-events:none}
#registration>.wrap{position:relative;z-index:1}
.date-strip,.bottom-cta{background:linear-gradient(100deg,#a89446 0%,#260080 23%,#260080 65%,#a89446 85%,#260080 100%);background-size:160% 100%;animation:gold-gradient-drift 9s ease-in-out infinite alternate}
@keyframes gold-gradient-drift{from{background-position:0% 50%}to{background-position:100% 50%}}
.hero-portrait,.hero-copy,.hero-name{animation:hero-fade-in 1.5s ease both}
.hero-copy{animation-delay:.12s}
.hero-name{animation-delay:.24s}
@keyframes hero-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 .hero:before,#registration:before{transform:none}
 .date-strip,.bottom-cta,.hero-portrait,.hero-copy,.hero-name{animation:none}
}
@media print{.motion-pending{opacity:1;translate:none}}

/* Compact hero date band; keep the artwork and button sizes. */
.date-strip{padding-top:18px;padding-bottom:18px}


/* Hero background alone drifts independently of the existing scroll parallax. */
.hero:before{
 --hero-drift-x:12px;
 --hero-drift-y:12px;
 inset:-36px -18px;
 scale:1.015;
 animation:hero-background-drift 12s ease-in-out infinite alternate;
}
@keyframes hero-background-drift{
 from{translate:calc(-1 * var(--hero-drift-x)) calc(-1 * var(--hero-drift-y))}
 to{translate:var(--hero-drift-x) var(--hero-drift-y)}
}
@media(max-width:640px){
 .hero:before{--hero-drift-x:6px;--hero-drift-y:6px;inset:-36px -10px}
}
@media(prefers-reduced-motion:reduce){
 .hero:before{animation:none;translate:none;scale:none;inset:-36px 0}
}

/* Mobile header only: menu on the left, logo on the right. */
@media(max-width:1023px){
 header>.menu-toggle{order:0}
 header>a{order:1}
}

/* Mobile header logo: 20 percent smaller and aligned to the right edge. */
@media(max-width:640px){
 header>a{margin-left:auto;justify-content:flex-end}
 header>a>img{width:168px}
}

/* Dropdown follows the left-side menu trigger. */
@media(max-width:1023px){header nav{left:5%;right:auto}}
@media(max-width:640px){header nav{left:22px;right:auto}}

/* Agenda footnote: AI live-subtitle notice, aligned with the table. */
.agenda-note{width:87%;margin:20px 0 0 13%;padding:0 24px;font-size:14px;line-height:1.8;color:#7a705f;text-align:justify;text-align-last:start;text-justify:inter-ideograph}
@media(max-width:640px){.agenda-note{width:100%;margin:16px 0 0;padding:0 9px;font-size:13px;line-height:1.75}}
