/* finesse: brand-commerce / editorial sport / court drawing / warm paper / orange */
:root{--paper:#f1efe6;--ink:#17382f;--sub:#65736a;--accent:#e75b2d;--line:#cdd2c8;--light:#fcfaf3;--court:#214b3c;--white:#ecece0;--font:Arial,'PingFang TC','Microsoft JhengHei',sans-serif}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font-family:var(--font)}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:var(--paper);z-index:100}header{height:94px;padding:20px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px}.brand b{font-size:32px;letter-spacing:-3px}.brand span{color:var(--accent)}.brand small{font-size:10px;line-height:1.4;letter-spacing:1px}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav a,nav button{min-height:44px;display:inline-flex;align-items:center}nav button{border:0;background:transparent;color:var(--ink)}main{min-height:65vh}.hero{padding:64px 5% 50px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4%;position:relative}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold;text-transform:uppercase;margin:0 0 24px}.hero h1{font-size:clamp(56px,6.5vw,100px);line-height:.95;letter-spacing:-5px;margin:0 0 30px;max-width:700px}.hero h1 em{font-style:normal;color:var(--accent)}.intro{font-size:20px;line-height:1.7;max-width:470px}.muted{color:var(--sub);font-size:13px;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--accent);color:var(--light);padding:16px 22px;min-height:52px;border:0;font-weight:bold;font-size:14px;border-radius:2px}.secondary{background:transparent;border:1px solid var(--ink);color:var(--ink)}.hero .btn{margin-top:12px}.art{background:var(--court);position:relative;aspect-ratio:1.05;overflow:hidden;color:var(--white)}.art svg{width:100%;height:100%;display:block}.art .caption{position:absolute;bottom:24px;left:26px;font-size:10px;letter-spacing:2px}.art .tag{position:absolute;top:25px;left:26px;font-size:11px;letter-spacing:2px}.flight{stroke-dasharray:8 9;animation:flight 16s linear infinite}@keyframes flight{to{stroke-dashoffset:-170}}.ticker{padding:20px 5%;border-block:1px solid var(--line);display:flex;gap:30px;justify-content:space-between;font-size:11px;letter-spacing:2px}.section{padding:80px 5%}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:35px}.section h2{font-size:clamp(32px,4vw,55px);letter-spacing:-2px;margin:0;line-height:1.15}.section-head p{max-width:360px;color:var(--sub);line-height:1.7}.course-row{display:grid;grid-template-columns:80px minmax(0,1.5fr) minmax(0,1fr) 130px;gap:26px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}.course-row:last-child{border-bottom:1px solid var(--line)}.number{font-size:44px;color:var(--accent);font-weight:bold;letter-spacing:-3px}.course-row h3{font-size:25px;margin:0 0 8px}.course-row .en{font-size:10px;letter-spacing:2px}.course-row p{font-size:14px;line-height:1.8;color:var(--sub)}.course-row .price{text-align:right}.price b{font-size:21px;display:block;margin-bottom:15px}.textlink{font-size:13px;text-decoration:underline;text-underline-offset:5px;display:inline-block;min-height:44px}.manifesto{background:var(--ink);color:var(--paper);padding:75px 5%;display:grid;grid-template-columns:1fr 1fr;gap:6%}.manifesto h2{font-size:clamp(32px,4.5vw,64px);line-height:1.15;letter-spacing:-2px;margin:0}.manifesto p{line-height:1.9;max-width:500px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:20px}.step h3{font-size:20px}.step p{font-size:14px;line-height:1.9;color:var(--sub)}footer{border-top:1px solid var(--line);padding:45px 5%;display:flex;justify-content:space-between;gap:30px;align-items:start}footer p{font-size:11px;letter-spacing:1px}footer span{font-size:10px}.page{padding:55px 5% 90px;max-width:1400px;margin:auto}.page>h1{font-size:clamp(36px,5vw,65px);letter-spacing:-2px;line-height:1.1;margin:20px 0 40px}.back{font-size:12px;display:inline-block;min-height:44px}.detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6%}.detail h1{font-size:48px;letter-spacing:-2px;line-height:1.2;margin:10px 0 25px}.detail p{line-height:1.9}.details-list{padding:20px 0;border-block:1px solid var(--line);margin:25px 0}.details-list div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;font-size:13px}.purchase{display:flex;align-items:center;justify-content:space-between;gap:20px}.purchase b{font-size:29px}.note{padding:18px 20px;background:var(--light);border-left:3px solid var(--accent);font-size:13px;line-height:1.8;margin:25px 0}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:7%}.summary{padding:28px;background:var(--light);height:fit-content}.summary h2{margin-top:0}.item{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:25px}.item h3{margin:0 0 10px}.remove{background:none;border:0;padding:10px 0;min-height:44px;color:var(--sub);text-decoration:underline}.total{display:flex;justify-content:space-between;font-size:22px;font-weight:bold;margin:25px 0}.full{width:100%}label{display:block;font-size:14px;margin:25px 0 10px}input{width:100%;min-height:52px;padding:14px;background:var(--light);border:1px solid var(--line);border-radius:2px}.empty{padding:55px 0;max-width:650px}.empty h2{font-size:32px}.empty p{line-height:1.8}.error{color:var(--accent);line-height:1.7}.status{font-size:11px;letter-spacing:1px;display:inline-block;padding:10px;background:var(--ink);color:var(--paper)}.order-id{font-family:monospace;overflow-wrap:anywhere}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:15px 25px;display:none;z-index:20;max-width:90%;font-size:13px}details{border-top:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:18px;min-height:44px}details p{line-height:1.9;max-width:800px}h1,h2,h3{overflow-wrap:anywhere;min-width:0}@media(max-width:800px){header{height:78px;padding:15px 5%}nav{gap:16px}nav a{font-size:12px}.brand b{font-size:27px}.brand small{display:none}.hero{padding-top:40px;grid-template-columns:1fr;gap:35px}.hero h1{font-size:70px;letter-spacing:-4px}.intro{font-size:18px}.art{aspect-ratio:1.2}.ticker{flex-wrap:wrap;gap:12px;font-size:9px}.section{padding:55px 5%}.section-head{display:block}.course-row{grid-template-columns:45px minmax(0,1fr) 100px;gap:16px}.course-row>p{grid-column:2 / 4;margin:0}.course-row .price{grid-column:3;grid-row:1}.course-row h3{font-size:21px}.number{font-size:32px}.manifesto,.detail,.checkout-grid{grid-template-columns:1fr;gap:35px}.steps{grid-template-columns:1fr;gap:20px}.detail h1{font-size:36px}.page{padding-top:35px}footer{flex-wrap:wrap}.section-head p{max-width:none}}@media(max-width:375px){nav{gap:9px}.hero h1{font-size:57px}.purchase{flex-wrap:wrap}.course-row{grid-template-columns:30px minmax(0,1fr) 85px;gap:10px}.price b{font-size:16px}.course-row h3{font-size:18px}.course-row .en{font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
.item b,.textlink,.btn{white-space:nowrap}.item>span,.item>div{min-width:0}.item b{flex-shrink:0}.details-list div span:last-child{max-width:65%;text-align:right}
header .brand,nav a,nav button{white-space:nowrap;flex-shrink:0}@media(max-width:340px){header{padding-inline:12px}header .brand b{font-size:24px;letter-spacing:-2px}nav{gap:8px}nav a{font-size:10px}nav button{font-size:11px;padding:0}.hero h1{font-size:48px;letter-spacing:-3px}.hero{padding-inline:5%}}
/* finesse · cinematic teaching · human-led course commerce · graphite/red */
:root{--paper:#f5f5f1;--ink:#17191b;--sub:#707476;--accent:#e2433b;--line:#d8d9d7;--light:#fcfcf8;--court:#25282b;--white:#f0f2ed}header{height:82px;background:var(--paper)}.brand b{letter-spacing:-2px}.iphero{position:relative;min-height:640px;height:calc(100vh - 82px);max-height:900px;background:var(--ink);color:var(--light);display:flex;align-items:center;isolation:isolate}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-photo{object-position:64% 40%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(16,18,21,.92),rgba(16,18,21,.65) 45%,rgba(16,18,21,.1) 82%),linear-gradient(0deg,rgba(16,18,21,.55),transparent 30%)}.iphero-copy{padding:55px 6%;max-width:920px}.hero-kicker,.micro{font-size:11px;letter-spacing:2px;font-weight:600}.iphero h1{font-size:clamp(40px,4.6vw,72px);letter-spacing:-2px;line-height:1.22;margin:26px 0}.iphero p{font-size:18px;line-height:1.9;color:var(--white)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.lightbtn{color:var(--light);border-color:var(--white)}.hero-foot{font-size:12px;color:var(--white);margin-top:38px}.hero-credit{position:absolute;bottom:22px;right:5%;font-size:10px;color:var(--white)}.trust-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 6%;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1px}.trust-strip p{font-size:18px;letter-spacing:0}.editorial{padding:100px 7%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10%}.editorial h2,.lesson-copy h2,.course-heading h2,.instructor h2,.curriculum-intro h2{font-size:clamp(34px,3.6vw,55px);line-height:1.25;letter-spacing:-1.5px;margin:24px 0}.editorial-body p{font-size:16px;line-height:1.9;color:var(--sub)}.editorial-body .lead{font-size:25px;line-height:1.6;color:var(--ink)}.lesson-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);background:var(--ink);color:var(--light)}.lesson-still{position:relative;min-height:450px}.lesson-still img{width:100%;height:100%;object-fit:cover}.play-round{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;border:1px solid var(--white);background:rgba(20,20,20,.25);color:var(--light);font-size:32px}.lesson-still>span{position:absolute;bottom:25px;left:25px;color:var(--white);font-size:10px;letter-spacing:2px}.lesson-copy{padding:65px 12%}.lesson-copy p{line-height:1.9;color:var(--white);font-size:15px}.textbutton{background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:7px;min-height:48px;padding:10px 0}.course-section{padding:85px 6%}.course-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:36px}.course-heading p{line-height:1.9;font-size:14px;color:var(--sub);margin-bottom:26px}.collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.program{background:var(--light)}.program-cover{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:240px;padding:30px;color:var(--light);background:var(--ink);overflow:hidden}.cover-0{background:linear-gradient(90deg,rgba(17,19,22,.78),rgba(17,19,22,.15)),url('/media/coach-detail.jpg') center/cover}.cover-1{background:var(--court)}.cover-2{background:var(--accent)}.program-cover:after{content:'↗';position:absolute;bottom:-18px;right:10px;font-size:150px;opacity:.13}.volume{position:absolute;top:24px;left:30px;font-size:10px;letter-spacing:2px}.coverword{font-size:30px;font-weight:bold;letter-spacing:-1px}.covertitle{font-size:16px;margin-top:10px}.signature{position:absolute;bottom:24px;font-size:10px;letter-spacing:2px}.program-body{padding:24px}.program-body .micro{font-size:10px;color:var(--sub);letter-spacing:0}.program h3{font-size:23px;margin:18px 0 12px;line-height:1.4}.program p{font-size:14px;line-height:1.8;color:var(--sub)}.program-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.program-bottom a{font-size:12px;min-height:44px;display:flex;align-items:center;white-space:nowrap}.catalog-note{font-size:12px;line-height:1.8;color:var(--sub);margin-top:26px}.instructor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10%;padding:80px 9%;background:var(--light)}.instructor img{width:100%;height:580px;object-fit:cover;object-position:50% 25%}.instructor p{font-size:15px;line-height:1.9;max-width:470px;color:var(--sub)}.smallfaq{max-width:1200px;margin:auto}.smallfaq h2{font-size:32px;margin:0 0 35px}.course-hero-v2{background:var(--ink);color:var(--light);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.course-hero-content{padding:50px 12% 60px}.course-hero-content .micro{display:block;margin-top:25px}.course-hero-content h1{font-size:48px;line-height:1.3;letter-spacing:-2px}.course-hero-content p{line-height:1.9;font-size:17px}.course-meta{font-size:12px;color:var(--white)}.course-hero-v2>img{width:100%;height:100%;min-height:540px;object-fit:cover}.curriculum-section{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10%;padding:85px 7%}.curriculum-intro p{font-size:14px;line-height:1.9;color:var(--sub)}.chapters summary{font-size:15px;line-height:1.75;display:flex;gap:20px;align-items:start}.chapters summary span{font-family:monospace;color:var(--sub);font-size:12px;min-width:20px}.chapters details{padding:20px 0}.chapters details p{font-size:13px;color:var(--sub);padding-left:40px}.enroll-panel{display:flex;justify-content:space-between;align-items:center;gap:35px;background:var(--light);margin:0 7%;padding:40px}.enroll-panel strong{display:block;font-size:35px;margin:0 0 20px}.enroll-panel h2{font-size:28px}.trailer-dialog{width:min(1100px,94vw);max-height:94vh;padding:24px;background:var(--ink);color:var(--light);border:1px solid var(--sub)}.trailer-dialog::backdrop{background:rgba(10,12,16,.85)}.trailer-dialog video{width:100%;max-height:68vh;display:block}.trailer-dialog h2{font-size:20px;padding-right:45px}.trailer-dialog p{font-size:12px;line-height:1.8;color:var(--white)}.close-dialog{position:absolute;top:12px;right:15px;width:44px;height:44px;background:transparent;border:0;color:var(--light);font-size:32px}@media(max-width:800px){.iphero{height:auto;min-height:680px;align-items:end}.hero-photo{object-position:58% 20%}.hero-shade{background:linear-gradient(0deg,rgba(16,18,21,.98) 10%,rgba(16,18,21,.62) 55%,rgba(16,18,21,.08))}.iphero-copy{padding:270px 6% 65px}.iphero h1{font-size:40px}.iphero p{font-size:16px}.hero-foot{font-size:10px;margin-top:25px}.hero-kicker{font-size:9px}.hero-credit{right:6%;font-size:9px;bottom:20px}.trust-strip{flex-wrap:wrap;padding:22px 6%;gap:10px}.trust-strip p{width:100%;font-size:17px;margin:7px 0}.editorial,.lesson-feature,.instructor,.course-hero-v2,.curriculum-section{grid-template-columns:1fr;gap:25px}.editorial{padding:60px 6%}.editorial h2{font-size:36px}.lesson-still{min-height:0;aspect-ratio:16/9}.lesson-copy{padding:30px 6% 50px}.course-section{padding:55px 6%}.course-heading{display:block}.collection{grid-template-columns:1fr;gap:30px}.program-cover{min-height:260px}.instructor{padding:50px 6%}.instructor img{height:460px;order:-1}.course-hero-content{padding:25px 6% 35px}.course-hero-content h1{font-size:36px}.course-hero-v2>img{min-height:0;height:260px;object-position:center}.curriculum-section{padding:45px 6%}.curriculum-intro h2{font-size:34px}.enroll-panel{margin:0 6%;padding:25px;flex-direction:column;align-items:start;gap:15px}.smallfaq h2{font-size:28px}.trailer-dialog{padding:16px}.trailer-dialog h2{font-size:16px}.hero-actions .btn{gap:12px;font-size:12px;padding:15px}.hero-actions .lightbtn{padding-inline:16px}}@media(max-width:340px){.iphero h1{font-size:33px}.hero-actions{gap:9px}.hero-actions .btn{font-size:11px;padding:13px;gap:6px}.coverword{font-size:28px}}
@media(min-width:801px){.hero-photo{left:28%;width:72%;object-position:50% 25%}.hero-shade{background:linear-gradient(90deg,rgba(16,18,21,1) 5%,rgba(16,18,21,.97) 27%,rgba(16,18,21,.65) 48%,rgba(16,18,21,.04) 75%),linear-gradient(0deg,rgba(16,18,21,.6),transparent 32%)}}.course-heading h1{font-size:clamp(36px,4vw,60px);line-height:1.25;letter-spacing:-2px}
@media(max-width:800px){.hero-photo{object-position:47% 20%}}
.order-row .order-id{white-space:normal;overflow-wrap:anywhere}.order-row .textbutton{white-space:nowrap}@media(max-width:600px){.order-row{flex-direction:column;gap:10px}.order-row>div:last-child{display:flex;align-items:center;gap:25px}.order-row br{display:none}}
