:root{
  --yys-bg:#f7f3e9;
  --yys-surface:#fffdf8;
  --yys-surface-2:#eef1e9;
  --yys-green:#254b38;
  --yys-green-dark:#173629;
  --yys-green-soft:#657d68;
  --yys-gold:#b78b45;
  --yys-text:#2b302d;
  --yys-muted:#6c746e;
  --yys-line:#d9ddd5;
  --yys-white:#fff;
  --yys-radius:22px;
  --yys-shadow:0 18px 48px rgba(29,55,41,.08);
  --yys-container:1180px;
  --yys-reading:760px;
  --yys-header:78px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--yys-bg);color:var(--yys-text);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,-apple-system,sans-serif;line-height:1.8;font-size:17px;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:var(--yys-green);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--yys-green-dark)}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:#d9e4d6;color:var(--yys-green-dark)}
.container{width:min(calc(100% - 40px),var(--yys-container));margin-inline:auto}
.reading{width:min(calc(100% - 40px),var(--yys-reading));margin-inline:auto}
.section{padding:96px 0}
.section--tight{padding:64px 0}
.section--surface{background:var(--yys-surface)}
.section--green{background:var(--yys-green-dark);color:var(--yys-white)}
.eyebrow{font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;color:var(--yys-green-soft);font-weight:700;margin:0 0 14px}
.section--green .eyebrow{color:#c8d7cb}
h1,h2,h3,h4{font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;color:var(--yys-green-dark);line-height:1.28;letter-spacing:.02em;margin:0 0 22px;font-weight:700}
.section--green h1,.section--green h2,.section--green h3{color:#fff}
h1{font-size:clamp(2.35rem,5vw,4.7rem)}
h2{font-size:clamp(1.9rem,3.4vw,3.1rem)}
h3{font-size:clamp(1.25rem,2vw,1.65rem)}
p{margin:0 0 1.35em}
.lead{font-size:clamp(1.08rem,1.8vw,1.28rem);line-height:1.9;color:#4b544e}
.section--green .lead{color:#dce6df}
.muted{color:var(--yys-muted)}
.kicker{font-size:.95rem;font-weight:700;letter-spacing:.08em;color:var(--yys-green-soft)}
.highlight{font-family:"Noto Serif TC","Songti TC",serif;font-size:clamp(1.45rem,2.6vw,2.15rem);line-height:1.55;color:var(--yys-green-dark);margin:34px 0}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 22px;border-radius:999px;border:1px solid var(--yys-green);background:var(--yys-green);color:#fff;font-weight:700;text-decoration:none;transition:.2s ease;gap:8px}
.btn:hover{background:var(--yys-green-dark);border-color:var(--yys-green-dark);color:#fff;transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--yys-green)}
.btn--ghost:hover{color:#fff}
.btn--light{background:#fff;color:var(--yys-green-dark);border-color:#fff}
.btn--light:hover{background:#eef3ef;color:var(--yys-green-dark);border-color:#eef3ef}
.text-link{display:inline-flex;gap:7px;align-items:center;font-weight:700;text-decoration:none}
.text-link::after{content:"→";transition:transform .2s ease}.text-link:hover::after{transform:translateX(3px)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,243,233,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(37,75,56,.09)}
.header-inner{height:var(--yys-header);display:flex;align-items:center;justify-content:space-between;gap:30px}
.site-branding img{width:auto;height:58px;max-width:150px;object-fit:contain}
.site-branding a{display:block}
.primary-nav ul{list-style:none;display:flex;align-items:center;gap:25px;margin:0;padding:0}
.primary-nav a{font-size:.94rem;color:var(--yys-text);text-decoration:none;font-weight:650;white-space:nowrap}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--yys-green)}
.menu-toggle{display:none;border:0;background:transparent;padding:9px;color:var(--yys-green-dark);border-radius:10px}
.menu-toggle svg{width:26px;height:26px;display:block}

/* Hero */
.hero{min-height:calc(100vh - var(--yys-header));position:relative;display:flex;align-items:center;overflow:hidden;background:#e7ebdf}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,233,.98) 0%,rgba(247,243,233,.92) 36%,rgba(247,243,233,.44) 58%,rgba(247,243,233,.05) 82%)}
.hero-content{position:relative;z-index:2;width:min(660px,58%);padding:78px 0}
.hero-logo{width:210px;margin-bottom:18px}
.hero h1{max-width:600px;margin-bottom:18px}
.hero .lead{max-width:610px}

/* Layouts */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.split--reverse{grid-template-columns:.95fr 1.05fr}.split--reverse .split-media{order:-1}
.split-media img,.media-card img{width:100%;border-radius:var(--yys-radius);object-fit:cover}
.split-media img{max-height:620px}
.media-card{position:relative}
.media-card--shadow img{box-shadow:var(--yys-shadow)}
.caption{font-size:.84rem;color:var(--yys-muted);margin-top:10px;line-height:1.55}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.stack{display:grid;gap:20px}

/* Numbered content */
.point-list{display:grid;gap:4px;margin-top:30px;border-top:1px solid var(--yys-line)}
.point{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--yys-line)}
.point-num{font-weight:800;color:var(--yys-gold);font-size:.9rem;padding-top:4px}
.point h3{margin-bottom:7px;font-size:1.25rem}
.point p{margin:0;color:#555e58}
.term-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--yys-line);border-bottom:1px solid var(--yys-line);margin-top:36px}
.term{padding:24px 22px;border-right:1px solid var(--yys-line)}
.term:last-child{border-right:0}.term strong{display:block;color:var(--yys-green-dark);font-size:1.05rem;margin-bottom:4px}.term span{font-size:.93rem;color:var(--yys-muted)}

/* Cards */
.research-card,.degree-card{background:var(--yys-surface);border:1px solid var(--yys-line);border-radius:var(--yys-radius);overflow:hidden}
.research-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.research-card-body{padding:24px 24px 28px}.research-card h3{margin-bottom:10px}.research-card p{color:#5d665f;font-size:.96rem}
.research-card .caption{padding:0 24px 18px;margin:0}
.degree-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}
.degree-card{padding:26px}
.degree-brix{font-family:"Noto Serif TC","Songti TC",serif;font-size:2rem;color:var(--yys-green-dark);font-weight:700;margin-bottom:10px}
.degree-card .flavor{font-size:.92rem;color:var(--yys-muted);margin-top:16px;padding-top:15px;border-top:1px solid var(--yys-line)}
.status{display:inline-block;border-radius:999px;padding:6px 11px;background:#efe7d4;color:#765d2f;font-size:.82rem;font-weight:700;margin-top:8px}

/* Pricing */
.price-wrap{margin-top:34px;border:1px solid var(--yys-line);border-radius:var(--yys-radius);overflow:hidden;background:var(--yys-surface)}
.price-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid var(--yys-line)}
.price-row:last-child{border-bottom:0}.price-row>div{padding:18px 22px}.price-row>div+div{border-left:1px solid var(--yys-line)}
.price-head{background:#edf1e8;font-weight:800;color:var(--yys-green-dark)}
.price-value{font-weight:800;font-size:1.1rem;color:var(--yys-green-dark)}
.spec-note{font-size:.9rem;color:var(--yys-muted);margin-top:14px}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.step{padding:25px 22px;border-top:2px solid var(--yys-green);background:rgba(255,255,255,.42)}
.step-num{font-weight:800;color:var(--yys-gold);font-size:.86rem;letter-spacing:.08em}.step h3{margin:8px 0 9px;font-size:1.18rem}.step p{font-size:.92rem;margin:0;color:#5d665f}

/* About narrative */
.narrative{display:grid;gap:66px;margin-top:46px}
.narrative-item{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start;border-top:1px solid var(--yys-line);padding-top:34px}
.narrative-item--text-only{grid-template-columns:.85fr 1.15fr}.narrative-index{font-size:.82rem;font-weight:800;letter-spacing:.12em;color:var(--yys-gold)}

/* Article */
.page-hero{padding:82px 0 58px;border-bottom:1px solid var(--yys-line);background:var(--yys-surface)}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);max-width:900px}.page-hero .lead{max-width:850px}
.breadcrumb{font-size:.82rem;color:var(--yys-muted);margin-bottom:24px}.breadcrumb a{color:var(--yys-muted);text-decoration:none}.breadcrumb span{margin:0 7px}
.article-wrap{padding:80px 0 100px}.article-cover{margin:0 auto 48px;width:min(calc(100% - 40px),980px)}.article-cover img{width:100%;border-radius:var(--yys-radius);max-height:640px;object-fit:cover}
.article-content{width:min(calc(100% - 40px),var(--yys-reading));margin:auto}.article-content h2{font-size:clamp(1.65rem,3vw,2.3rem);margin-top:58px}.article-content h3{margin-top:38px}.article-content ul{padding-left:1.2em}.article-content blockquote{margin:42px 0;padding:25px 30px;border-left:4px solid var(--yys-gold);background:#f0ede2;font-family:"Noto Serif TC","Songti TC",serif;font-size:1.25rem;line-height:1.7;color:var(--yys-green-dark)}
.article-next{margin-top:70px;padding-top:34px;border-top:1px solid var(--yys-line)}

/* CTA */
.line-cta{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.line-qr{width:190px;padding:13px;background:#fff;border-radius:18px}
.line-id{font-weight:800;letter-spacing:.02em}

/* Footer */
.site-footer{background:#e8eadf;border-top:1px solid rgba(37,75,56,.1);padding:58px 0 28px}
.footer-main{display:grid;grid-template-columns:220px 1fr;gap:70px;align-items:start}.footer-logo img{width:180px}.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 25px}.footer-nav a{text-decoration:none;color:var(--yys-text);font-size:.92rem}.footer-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:30px;margin-top:32px;border-top:1px solid rgba(37,75,56,.13);font-size:.82rem;color:var(--yys-muted)}

/* Admin-friendly notice style on front */
.notice-box{padding:20px 22px;border:1px solid var(--yys-line);background:#f5f2e8;border-radius:16px;color:#535c56;font-size:.94rem}

/* 404 */
.not-found{text-align:center;padding:130px 0}.not-found .code{font-size:clamp(5rem,15vw,10rem);font-family:serif;color:#d2d9cf;line-height:1}

@media (max-width:1040px){
  .primary-nav ul{gap:16px}.primary-nav a{font-size:.88rem}.site-branding img{height:52px;max-width:132px}
  .split,.split--reverse{gap:42px}.term-grid{grid-template-columns:repeat(2,1fr)}.term:nth-child(2){border-right:0}.term:nth-child(-n+2){border-bottom:1px solid var(--yys-line)}
}
@media (max-width:860px){
  :root{--yys-header:68px}
  body{font-size:16px}
  .section{padding:72px 0}.section--tight{padding:50px 0}
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
  .header-inner{position:relative;z-index:102}
  .site-branding{position:relative;z-index:104}
  .menu-toggle{display:block;position:relative;z-index:105}
  .primary-nav{position:fixed;inset:0;width:100vw;height:100dvh;min-height:100vh;background:rgba(247,243,233,.995);padding:calc(var(--yys-header) + 38px) 24px 48px;transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .28s ease,visibility 0s linear .28s;overflow-y:auto;overscroll-behavior:contain;z-index:103}
  .primary-nav.is-open{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .28s ease,visibility 0s}
  .primary-nav ul{display:block;width:min(100%,520px);margin:0 auto;padding:0}
  .primary-nav li{border-bottom:1px solid var(--yys-line)}
  .primary-nav li:first-child{border-top:1px solid var(--yys-line)}
  .primary-nav a{display:flex;align-items:center;min-height:64px;padding:14px 8px;font-family:"Noto Serif TC","Songti TC","PMingLiU",serif;font-size:1.22rem;font-weight:700;color:var(--yys-green-dark);white-space:normal}
  .primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--yys-green);padding-left:18px;position:relative}
  .primary-nav .current-menu-item>a::before,.primary-nav .current_page_item>a::before{content:"";position:absolute;left:5px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--yys-gold);transform:translateY(-50%)}
  body.menu-open .menu-toggle{position:fixed;top:12px;right:max(14px,calc((100vw - var(--yys-container))/2));background:rgba(247,243,233,.9)}
  body.menu-open .menu-toggle svg{display:none}
  body.menu-open .menu-toggle::before{content:"×";display:block;width:26px;height:26px;line-height:23px;text-align:center;font-size:2rem;font-weight:300;color:var(--yys-green-dark)}
  .hero{min-height:auto;display:block;background:var(--yys-bg)}.hero::after{display:none}.hero-content{width:100%;padding:58px 0 38px}.hero-media{position:relative;height:54vw;min-height:330px;max-height:520px}.hero-media img{object-position:center center}.hero-logo{width:176px}
  .split,.split--reverse{grid-template-columns:1fr;gap:36px}.split--reverse .split-media{order:0}.split-media img{max-height:none}
  .grid-3,.degree-grid{grid-template-columns:1fr}.grid-4,.steps{grid-template-columns:repeat(2,1fr)}
  .narrative-item,.narrative-item--text-only{grid-template-columns:1fr;gap:14px}.narrative{gap:48px}
  .line-cta{grid-template-columns:1fr}.line-qr{display:none}
  .footer-main{grid-template-columns:1fr;gap:30px}.footer-meta{flex-direction:column;align-items:flex-start}
}
@media (max-width:620px){
  .container,.reading,.article-content,.article-cover{width:min(calc(100% - 28px),var(--yys-container))}
  .section{padding:62px 0}.page-hero{padding:58px 0 42px}
  h1{font-size:2.45rem}h2{font-size:2rem}
  .grid-2,.grid-4,.steps{grid-template-columns:1fr}
  .term-grid{grid-template-columns:1fr}.term{border-right:0!important;border-bottom:1px solid var(--yys-line)}.term:last-child{border-bottom:0}.term:nth-child(-n+2){border-bottom:1px solid var(--yys-line)}
  .price-row{grid-template-columns:1fr 1fr}.price-row>div:first-child{grid-column:1/-1;background:#f2f1e9}.price-row>div:nth-child(2){border-left:0}.price-row>div{padding:15px 16px}.price-head>div:first-child{display:none}.price-head{display:grid;grid-template-columns:1fr 1fr}.price-head>div{grid-column:auto!important;background:#edf1e8!important}.price-head>div:nth-child(2){border-left:0}
  .point{grid-template-columns:40px 1fr}.research-card-body,.degree-card{padding:20px}
  .hero-media{height:68vw;min-height:300px}.hero-content{padding-top:46px}.hero-logo{width:154px}.hero h1{font-size:2.5rem}
  .footer-nav ul{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.term-grid--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:620px){.term-grid--3{grid-template-columns:1fr}}
