
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@600;700;800&family=Noto+Sans+TC:wght@400;500;600;700;800&family=Noto+Serif+TC:wght@600;700;800&display=swap');
:root{--dark:#11120f;--forest:#253729;--forest-2:#3b4f3c;--gold:#c39a62;--gold-soft:#e1c99c;--cream:#f6efe2;--paper:#fff7eb;--ink:#2d241d;--muted:#75695d;--line:rgba(195,154,98,.32);--inner:min(1680px,calc(100vw - 120px));}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:'Noto Sans TC',Inter,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}
.site-header{align-items:center;background:rgba(17,18,15,.72);border-bottom:1px solid rgba(195,154,98,.2);color:#fff;display:grid;grid-template-columns:1fr auto auto;gap:40px;height:86px;left:0;padding:0 max(44px,calc((100vw - 1680px)/2 + 44px));position:fixed;right:0;top:0;z-index:30;backdrop-filter:blur(16px)}.brand{display:grid;gap:3px;letter-spacing:.08em;line-height:1.05}.brand strong{font-family:Inter,sans-serif;font-size:20px;font-weight:800}.brand span{color:var(--gold-soft);font-size:13px;font-weight:700;letter-spacing:.18em}nav{display:flex;gap:40px;font-size:15px;font-weight:800}nav a{padding:31px 0 27px;position:relative}nav a::after{background:var(--gold);bottom:20px;content:'';height:2px;left:0;opacity:0;position:absolute;transform:scaleX(.35);transform-origin:left;transition:.25s;width:100%}nav a.active::after,nav a:hover::after{opacity:1;transform:scaleX(1)}.nav-cta{border:1px solid var(--gold);border-radius:999px;color:#fff;font-weight:800;padding:12px 24px}
.home-hero{align-items:center;background:linear-gradient(90deg,#f7efdf 0%,#f5ecd9 46%,#efe1cb 100%);display:grid;gap:72px;grid-template-columns:minmax(420px,.82fr) minmax(560px,1.18fr);min-height:calc(100vh - 0px);overflow:hidden;padding:148px max(60px,calc((100vw - 1680px)/2 + 60px)) 92px;position:relative;text-align:left}.home-hero::before{background:radial-gradient(circle at 16% 22%,rgba(255,255,255,.58),transparent 34%),radial-gradient(circle at 68% 50%,rgba(195,154,98,.16),transparent 38%);content:'';inset:0;position:absolute;z-index:0}.hero-copy{color:var(--ink);display:grid;justify-items:start;max-width:620px;padding:0;position:relative;z-index:2}.mark{border:1px solid rgba(195,154,98,.58);border-radius:999px;color:var(--gold);font-family:Inter,sans-serif;font-size:11px;font-weight:800;letter-spacing:.2em;padding:9px 16px}h1{font-family:'Noto Serif TC',serif;font-size:clamp(32px,3.3vw,58px);font-weight:700;letter-spacing:.01em;line-height:1.24;margin:20px 0 16px;text-shadow:none}.hero-copy h1{font-size:clamp(40px,4.2vw,76px);line-height:1.15;margin:28px 0 22px;max-width:720px}.hero-copy p{color:var(--forest);font-size:20px;font-weight:600;letter-spacing:.02em;line-height:1.9;max-width:560px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.hero-visual{align-self:stretch;border-radius:34px;box-shadow:0 30px 90px rgba(31,29,23,.16);min-height:680px;overflow:hidden;position:relative;z-index:2}.hero-visual::after{background:linear-gradient(90deg,rgba(246,239,226,.18),transparent 22%),linear-gradient(180deg,transparent 64%,rgba(17,18,15,.12));content:'';inset:0;position:absolute;pointer-events:none}.hero-photo{height:100%;object-fit:cover;object-position:center center;width:100%}
.btn{align-items:center;border-radius:999px;display:inline-flex;font-weight:800;justify-content:center;min-height:50px;min-width:142px;padding:13px 28px}.btn.outline{border:1px solid rgba(37,55,41,.42);color:var(--forest);margin-top:30px}.hero-actions .btn{margin-top:0}.btn.outline.dark{color:var(--gold);margin-top:28px}.btn.primary{background:var(--gold);color:#fff}
.section-heading{align-items:center;color:inherit;display:grid;gap:12px;justify-items:center;margin:0 auto 72px;max-width:980px;text-align:center}.section-heading::before,.section-heading::after{background:var(--line);content:'';height:1px;width:min(320px,22vw)}.section-heading span,.scene-copy span,.sub-hero>span,.notice-panel span,.contact-info span{color:var(--gold);font-family:Inter,sans-serif;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.section-heading p{max-width:720px}h2{font-family:'Noto Serif TC',serif;font-size:clamp(25px,2.25vw,38px);font-weight:700;line-height:1.34}h3{font-family:'Noto Serif TC',serif;font-size:24px;font-weight:700;line-height:1.32}p{color:var(--muted);font-size:17px;line-height:1.9}
.dark-section{background:linear-gradient(180deg,#2e4434,#1d2c23);color:#fff;padding:118px 0 132px}.dark-section p{color:rgba(255,247,232,.72)}.course-system{display:grid;gap:34px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;width:var(--inner)}.practice-card{background:var(--paper);border:1px solid rgba(195,154,98,.25);border-radius:14px;box-shadow:0 24px 58px rgba(10,14,10,.18);color:var(--ink);display:grid;grid-template-rows:auto 1fr;overflow:hidden;position:relative}.practice-card figure{aspect-ratio:16/10;margin:0;overflow:hidden;position:relative}.practice-card figure::after{background:linear-gradient(180deg,transparent 40%,rgba(13,18,13,.72));content:'';inset:0;position:absolute}.practice-photo{height:100%;object-fit:cover;object-position:center 42%;width:100%}.practice-card figcaption{bottom:24px;color:#fff;display:grid;gap:6px;left:24px;max-width:calc(100% - 48px);position:absolute;z-index:2}.practice-card figcaption span{color:var(--gold-soft);font-family:Inter,sans-serif;font-size:13px;font-weight:800;letter-spacing:.18em}.practice-card figcaption h3{font-size:28px;line-height:1.2;text-shadow:0 2px 18px rgba(0,0,0,.34)}.practice-info{align-items:end;display:grid;gap:20px;grid-template-columns:1fr auto;min-height:128px;padding:26px 28px 30px}.practice-info p{color:var(--muted);font-size:15px;line-height:1.75}.practice-info a{align-self:end;color:var(--gold);font-weight:800;white-space:nowrap}
.scene-section{align-items:center;background:#171716;color:#fff;display:grid;gap:90px;grid-template-columns:1fr .82fr;padding:130px max(60px,calc((100vw - 1680px)/2 + 60px))}.scene-copy{max-width:680px}.scene-copy p{color:rgba(255,247,232,.72)}.portrait-card{border-radius:2px;height:640px;object-fit:cover;object-position:center 28%;width:100%}.wide-photo img{height:720px;object-fit:cover;width:100%}.light-section{padding:126px 0 132px}.activity-grid{display:grid;gap:48px;grid-template-columns:1fr 1fr;margin:0 auto;width:var(--inner)}.activity-grid article{display:grid;gap:20px}.activity-grid img{aspect-ratio:16/9;border-radius:2px;height:auto;object-fit:cover;object-position:center 32%;width:100%}
.image-story{padding:112px 0;background:linear-gradient(180deg,rgba(255,247,235,.72),rgba(246,239,226,.96))}.image-story .section-heading{margin-bottom:52px}.story-grid{display:grid;gap:26px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;width:var(--inner)}.story-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:min(1230px,var(--inner));width:calc(100vw - 240px)}.story-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(57,45,33,.07);overflow:hidden}.story-card img{aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center 30%;width:100%}.story-card div{display:grid;gap:9px;padding:24px}.story-card span{color:var(--gold);font-family:Inter,sans-serif;font-size:12px;font-weight:800;letter-spacing:.18em}.story-card h3{font-size:24px}.story-card p{font-size:15px;line-height:1.75}
.sub-hero{margin:0 auto;padding:168px 24px 112px;text-align:center;width:var(--inner)}.sub-hero.dark-sub{background:linear-gradient(180deg,#11120f,#253729);color:#fff;margin:0;padding-left:max(24px,calc((100vw - 1680px)/2 + 24px));padding-right:max(24px,calc((100vw - 1680px)/2 + 24px));width:100%}.sub-hero h1{margin-bottom:16px;max-width:980px;margin-left:auto;margin-right:auto}.sub-hero p{font-size:18px}.dark-sub p{color:rgba(255,247,232,.72)}.intro-copy{margin:0 auto;max-width:860px;padding:18px 24px 86px;text-align:center}.class-grid,.feature-list,.teacher-grid,.process-flow,.contact-layout{margin:0 auto 142px;width:var(--inner)}
.class-grid{display:grid;gap:34px;grid-template-columns:repeat(3,minmax(0,1fr))}.class-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 60px rgba(57,45,33,.08);overflow:hidden}.class-card img{height:320px;object-fit:cover;object-position:center 28%;width:100%}.class-card div{padding:30px}.class-card span{color:var(--gold);font-family:Inter,sans-serif;font-weight:800}.class-card strong{color:var(--forest);display:block;margin:10px 0 12px}
.feature-list{display:grid;gap:70px}.feature-row{align-items:center;display:grid;gap:70px;grid-template-columns:.72fr 1.28fr}.feature-row:nth-child(even){grid-template-columns:1.28fr .72fr}.feature-row:nth-child(even) img{order:-1}.feature-row img{border-radius:3px;height:520px;object-fit:cover;width:100%}
.team-intro{align-items:start;display:grid;gap:80px;grid-template-columns:1fr .85fr;margin:76px auto 96px;width:var(--inner)}.team-intro h2{font-size:clamp(26px,2.05vw,42px);line-height:1.42;max-width:720px}.team-intro p{max-width:780px}.team-intro ul{margin-top:34px}.team-intro ul,.notice-panel ul{color:var(--muted);font-size:20px;line-height:2;list-style:'・ ';padding-left:24px}.teacher-grid{display:grid;gap:34px;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-grid article{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.teacher-grid img{height:420px;object-fit:cover;object-position:center 28%;width:100%}.teacher-grid div{padding:30px}.teacher-grid strong{color:var(--gold);display:block;margin:10px 0}
.process-flow{display:grid;gap:28px;grid-template-columns:repeat(4,minmax(0,1fr))}.process-flow article{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:34px}.process-flow span{color:var(--gold);font-family:Inter,sans-serif;font-weight:800}.notice-panel{align-items:center;background:#162118;color:#fff;display:grid;gap:70px;grid-template-columns:1fr 1fr;margin:0 auto 126px;padding:70px;width:var(--inner)}.notice-panel img{height:520px;object-fit:cover;width:100%}.notice-panel p,.notice-panel li{color:rgba(255,247,232,.76)}
.contact-layout{display:grid;gap:70px;grid-template-columns:.9fr 1.1fr}.contact-main{padding-top:72px}.contact-main form{margin-top:42px}.contact-info{max-width:720px}.contact-info h2{font-size:clamp(26px,2.05vw,42px);line-height:1.42;max-width:680px}.contact-info p{max-width:680px}.contact-info img{border-radius:3px;height:420px;margin-top:42px;object-fit:cover;object-position:center 24%;width:100%}.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.chips span{border:1px solid var(--line);border-radius:999px;color:var(--ink);letter-spacing:0;padding:12px 18px;text-transform:none}form{background:var(--paper);border:1px solid var(--line);border-radius:18px;display:grid;gap:18px;padding:36px}label{color:var(--muted);display:grid;font-weight:800;gap:10px}input,select,textarea{background:#fffaf0;border:1px solid var(--line);border-radius:999px;color:var(--ink);font:inherit;min-height:54px;padding:13px 18px}textarea{border-radius:18px;min-height:150px;resize:vertical}button{background:var(--forest);border:0;border-radius:999px;color:#fff;cursor:pointer;font:inherit;font-weight:800;min-height:58px}
.consult-strip{align-items:center;background:#263929;color:#fff;display:flex;gap:40px;justify-content:space-between;margin:0 auto 0;padding:54px max(60px,calc((100vw - 1680px)/2 + 60px))}.consult-strip p{color:rgba(255,247,232,.76);max-width:800px}.consult-strip h2{font-size:30px;margin:6px 0 8px}.consult-strip span{color:var(--gold);font-family:Inter,sans-serif;font-size:11px;font-weight:800;letter-spacing:.2em}.float-cta{align-items:center;background:var(--gold);border-radius:999px;bottom:28px;box-shadow:0 18px 45px rgba(14,16,13,.32);color:#fff;display:flex;font-weight:800;height:58px;justify-content:center;position:fixed;right:28px;width:88px;z-index:40}
.site-footer{align-items:center;background:#263929;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;gap:40px;min-height:250px;padding:58px max(60px,calc((100vw - 1680px)/2 + 60px))}.site-footer a,.site-footer span{color:rgba(255,247,232,.78)}.footer-brand{display:grid;gap:3px}.footer-brand strong{font-family:Inter,sans-serif;font-size:22px;font-weight:800;letter-spacing:.1em}.footer-brand span{color:var(--gold-soft)}.footer-links{display:flex;gap:32px;font-size:14px;font-weight:800}.footer-contact{display:grid;gap:8px;justify-items:end;text-align:right}.footer-contact strong{font-size:24px}
@media(max-width:1100px){:root{--inner:calc(100vw - 48px)}.site-header{height:auto;grid-template-columns:1fr;justify-items:center;padding:16px 24px;position:sticky}.brand{justify-items:center}nav{flex-wrap:wrap;gap:16px 22px;justify-content:center}nav a{padding:6px 0 12px}nav a::after{bottom:5px}.home-hero{gap:42px;grid-template-columns:1fr;min-height:auto;padding:124px 24px 78px;text-align:left}.hero-copy{max-width:760px;width:min(100%,760px)}.hero-visual{min-height:560px;width:100%}.course-system,.class-grid,.teacher-grid,.process-flow,.activity-grid,.story-grid{grid-template-columns:1fr 1fr}.story-grid-3{width:var(--inner)}.scene-section,.feature-row,.feature-row:nth-child(even),.team-intro,.notice-panel,.contact-layout{grid-template-columns:1fr}.team-intro{gap:38px;margin-top:58px}.team-intro ul{margin-top:0}.contact-main{padding-top:58px}.contact-main form{margin-top:12px}.feature-row:nth-child(even) img{order:0}.site-footer{grid-template-columns:1fr;text-align:left}.footer-contact{justify-items:start;text-align:left}}
@media(max-width:680px){:root{--inner:calc(100vw - 32px)}.site-header{position:relative;padding:14px 18px 16px}.brand strong{font-size:23px}.brand span{font-size:12px}nav{font-size:15px;gap:10px 18px;line-height:1.1;max-width:360px}nav a{padding:5px 0 10px}.nav-cta{font-size:15px;min-width:170px;padding:10px 22px;text-align:center}.home-hero{gap:30px;padding:74px 18px 56px}.hero-copy{padding:0}.hero-copy h1{font-size:34px;line-height:1.2}.hero-visual{border-radius:24px;min-height:430px}h1{font-size:30px;line-height:1.24}h2{font-size:26px}h3{font-size:22px}.team-intro h2,.contact-info h2{font-size:25px}.hero-copy p,.sub-hero p{font-size:16px}.mark{font-size:10px;letter-spacing:.14em}.course-system,.class-grid,.teacher-grid,.process-flow,.activity-grid,.story-grid{grid-template-columns:1fr}.scene-section,.light-section,.dark-section{padding-top:74px;padding-bottom:92px}.wide-photo img,.feature-row img,.notice-panel img,.teacher-grid img{height:330px}.sub-hero{padding-top:82px;padding-bottom:70px}.intro-copy{padding-bottom:62px}.consult-strip{align-items:flex-start;flex-direction:column;padding:40px 24px}.footer-links{flex-wrap:wrap}}
