:root { --text:20px; --label:15px; --ink:#17352d; --green:#153d32; --moss:#326a54; --mint:#cde3ca; --lime:#def45c; --cream:#f6f3ed; --sand:#e9e2d6; --clay:#dd7352; --line:rgba(23,53,45,.18); --display:'PingFang TC','Microsoft JhengHei','Noto Sans CJK TC',sans-serif; --sans:'PingFang TC','Microsoft JhengHei','Noto Sans CJK TC',Arial,sans-serif; --mono:'DM Mono',monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--sans); font-size:var(--text); line-height:1.75; letter-spacing:.018em; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.skip-link { position:absolute; left:10px; top:-60px; z-index:99; background:var(--lime); color:var(--ink); padding:8px 12px; }
.skip-link:focus { top:10px; }
.container { width:min(1180px, calc(100% - 64px)); margin:auto; }
.narrow { width:min(760px, calc(100% - 48px)); margin:auto; }
.eyebrow { margin:0 0 16px; color:var(--moss); font:500 var(--label)/1.4 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.eyebrow.light { color:var(--lime); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.25; letter-spacing:.01em; }
h1 { font:600 clamp(45px,7vw,94px)/1.09 var(--display); }
h2 { font:600 clamp(32px,4.1vw,58px)/1.17 var(--display); }
h3 { font:700 22px/1.38 var(--sans); }
h1 em,h2 em { font-weight:600; }
.lead { font-size:var(--text); line-height:1.8; }
.site-header { position:absolute; z-index:10; top:0; left:0; width:100%; color:#f8f5ef; }
.nav-shell { height:90px; width:min(1336px, calc(100% - 64px)); margin:auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.25); }
.brand { display:flex; align-items:center; gap:11px; font:bold var(--text)/1 var(--sans); letter-spacing:.04em; }
.brand-mark { display:grid; place-items:center; width:31px; height:31px; border:1px solid currentColor; border-radius:50%; font:italic 600 21px/1 var(--display); }
.brand small { display:block; margin-top:3px; font:400 10px/1.15 var(--mono); letter-spacing:.07em; }
.main-nav { display:flex; gap:38px; align-items:center; font-size:var(--text); }
.main-nav a { transition:opacity .2s; }
.main-nav a:hover { opacity:.62; }
.main-nav .nav-cta { margin-left:5px; padding:11px 20px; border:1px solid rgba(255,255,255,.6); border-radius:99px; }
.nav-cta span { color:var(--lime); margin-left:5px; }
.menu-button { display:none; border:0; color:inherit; background:none; width:38px; height:32px; padding:8px; cursor:pointer; }
.menu-button i { display:block; height:1px; background:currentColor; margin:6px 0; transition:transform .2s; }
.hero { min-height:720px; height:min(900px,100vh); min-height:680px; position:relative; overflow:hidden; isolation:isolate; background:var(--green); color:#f8f5ef; }
.hero-grid { position:absolute; inset:0; opacity:.19; background-image:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.28) 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,rgba(255,255,255,.28) 50%,transparent 50.1%); background-size:25% 100%,100% 25%; z-index:-1; }
.orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(1px); }
.orb-one { width:min(67vw,870px); aspect-ratio:1; right:-11%; bottom:-52%; background:radial-gradient(circle at 32% 28%,#e7f458 0 10%,#bddb72 29%,#589a76 55%,transparent 72%); }
.orb-two { width:48vw; aspect-ratio:1; right:12%; top:-46%; background:radial-gradient(circle,#385f51,transparent 64%); opacity:.9; }
.hero-copy { padding-top:clamp(210px,29vh,310px); }
.hero h1 { max-width:900px; margin:0; }
.hero h1 em { display:block; color:var(--lime); }
.hero-title>span,.hero-title>em,.principles-title>span,.principles-title>em,.programs-title>span { display:block; }
.hero-title>span,.hero-title>em,.principles-title>span,.principles-title>em,.programs-title>span { white-space:nowrap; }
.hero-intro { max-width:470px; margin:30px 0; font-size:var(--text); line-height:1.85; }
.hero-actions { display:flex; align-items:center; gap:29px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; min-width:225px; padding:15px 18px 15px 22px; border:1px solid currentColor; border-radius:99px; font-size:var(--text); transition:transform .2s, background .2s; }
.button span { font-size:24px; line-height:.6; }
.button:hover { transform:translateY(-3px); }
.button-primary { color:var(--cream); background:var(--ink); border-color:var(--ink); }
.button-light { color:var(--ink); background:var(--lime); border-color:var(--lime); }
.text-link { display:inline-flex; align-items:center; gap:10px; border-bottom:1px solid currentColor; padding-bottom:4px; font-size:var(--text); }
.text-link span { font-size:var(--text); transition:transform .2s; }
.text-link:hover span { transform:translateX(4px); }
.text-link.light { color:var(--cream); }
.hero-side-note { position:absolute; bottom:38px; right:32px; display:flex; align-items:end; gap:12px; font:var(--text)/1.45 var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.hero-side-note span { color:var(--lime); }
.hero-side-note p { margin:0; }
.intro-section { padding:clamp(92px,13vw,180px) 0; display:grid; grid-template-columns:1.1fr .9fr; gap:13%; }
.intro-section h2 { margin:0; }
.intro-title>span,.principles-title>span,.principles-title>em,.outcomes-title>span { display:block; white-space:nowrap; }
.intro-title { font-size:clamp(31px,3.45vw,50px); }
.intro-content { padding-top:43px; }
.intro-content .text-link { margin-top:24px; }
.principles { background:var(--ink); color:var(--cream); padding:112px 0 96px; }
.principles-heading { display:grid; grid-template-columns:1fr .5fr; gap:10%; align-items:end; }
.principles-heading h2 { margin:0; }
.principles-heading h2 em { color:var(--lime); }
.principles-heading p { margin:0 0 5px; color:#cddbd2; }
.principles-copy span { display:block; white-space:nowrap; }
.principle-list { margin-top:90px; display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.principle-list article { min-height:255px; padding:21px 0; border-top:1px solid rgba(255,255,255,.37); }
.principle-list span { color:var(--lime); font:var(--text) var(--mono); }
.principle-list h3 { margin:42px 0 14px; font-family:var(--display); font-size:34px; }
.principle-list p { max-width:none; margin:0; color:#d3ddd5; font-size:var(--text); }
.programs { padding:136px 0 157px; }
.section-title { position:relative; margin-bottom:57px; }
.section-title h2 { max-width:650px; margin:0; }
.programs .section-title h2 { max-width:none; font-size:clamp(32px,3.7vw,52px); }
.section-title .text-link { position:absolute; right:0; bottom:5px; }
.program-grid { display:grid; grid-template-columns:1.13fr .87fr .87fr; gap:16px; }
.program-card { min-height:450px; display:flex; flex-direction:column; justify-content:flex-end; padding:25px; color:#fbf8f3; border-radius:3px; position:relative; overflow:hidden; isolation:isolate; background:var(--moss); }
.program-card:before,.program-card:after { content:""; position:absolute; inset:auto; z-index:-1; border-radius:50%; }
.card-forest { background:linear-gradient(0deg,rgba(19,53,44,.72),rgba(19,53,44,.08)),url('/assets/web/forest.jpg') center/cover; }.card-forest:before { display:none; }.card-climb { background:linear-gradient(0deg,rgba(83,34,20,.68),rgba(83,34,20,.06)),url('/assets/wix/going-up.jpg') center/cover; }.card-climb:before { display:none; }.card-studio { background:linear-gradient(0deg,rgba(19,53,44,.55),rgba(19,53,44,.04)),url('/assets/web/creation.jpg') center/cover; color:#fff; }.card-studio:before,.card-studio:after { display:none; }
.program-card p { margin:0 0 auto; font:var(--label) var(--mono); letter-spacing:.08em; }.program-card h3 { margin:0 0 4px; font:600 36px var(--display); }.program-card span { font-size:var(--text); }
.outcomes { background:var(--sand); padding:113px 0; }.outcomes-inner { display:grid; grid-template-columns:.8fr 1.25fr; gap:10%; }.outcomes h2 { margin:0 0 58px; }.outcome-tags { display:flex; flex-wrap:wrap; gap:12px 10px; }.outcome-tags span { border:1px solid var(--ink); border-radius:99px; padding:8px 14px; font-size:var(--text); }
.journal { padding:139px 0 149px; }.journal-list { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }.journal-card { border-top:1px solid var(--line); padding-top:13px; }.journal-card a { display:block; }.post-tag { color:var(--moss); margin:0 0 13px; font:var(--text) var(--mono); letter-spacing:.06em; }.card-shape { height:190px; margin-bottom:19px; position:relative; overflow:hidden; color:rgba(255,255,255,.8); font:var(--text) var(--mono); }.card-shape span { position:absolute; bottom:13px; right:14px; }.shape-goingup { background:radial-gradient(ellipse at 25% 100%,#dd7650 0 25%,transparent 25.5%),radial-gradient(ellipse at 72% 10%,#eaf764 0 29%,transparent 29.4%),#285d4c; }.shape-corporate-maintenance { background:linear-gradient(135deg,#f4d8a5 0 40%,#dd7650 40% 62%,#356b55 62%); }.shape-startup-sacrifice { background:radial-gradient(circle at 52% 48%,#eaf764 0 18%,#496e5d 18.5% 40%,#163d33 40.5%); }.shape-how-to { background:linear-gradient(135deg,#f1ece1,#f1ece1 52%,#6b9b7b 52.5%); }.journal-card h3 { min-height:67px; margin:0 0 13px; font:700 22px/1.42 var(--sans); }.post-excerpt { min-height:5.25em; margin:0 0 19px; font-size:var(--text); line-height:1.75; color:#52665e; }.read-more { font-size:var(--text); border-bottom:1px solid var(--ink); padding-bottom:2px; }.read-more b { font-size:var(--text); margin-left:8px; transition:margin .2s; }.journal-card:hover .read-more b { margin-left:13px; }
.newsletter { padding:98px 0; background:var(--green); color:var(--cream); }.newsletter-inner { display:grid; grid-template-columns:1fr .84fr; gap:11%; align-items:center; }.newsletter h2 { margin:0; }.newsletter h2 em { color:var(--lime); }.subscribe-form { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.subscribe-form input { min-width:0; border:1px solid rgba(255,255,255,.5); border-radius:0; background:transparent; color:var(--cream); padding:12px 14px; outline-color:var(--lime); }.subscribe-form input::placeholder { color:#c8d8d0; }.subscribe-form button { grid-column:span 2; display:flex; justify-content:space-between; align-items:center; border:0; padding:13px 15px; background:var(--lime); color:var(--ink); cursor:pointer; font-weight:700; }.subscribe-form button span { font-size:var(--text); }.subscribe-form p { grid-column:span 2; margin:4px 0 0; color:#c8d8d0; font-size:var(--text); line-height:1.65; }.honeypot,.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.contact { background:var(--clay); color:#fff9f1; padding:125px 0; }.contact-inner { position:relative; }.contact h2 { max-width:650px; margin:0 0 27px; }.contact h2 em { color:var(--lime); }.contact p:not(.eyebrow) { max-width:480px; margin-bottom:28px; }
.site-footer { background:#102c25; color:#f5f2ec; }.footer-shell { min-height:184px; width:min(1336px, calc(100% - 64px)); margin:auto; display:grid; grid-template-columns:1fr 1fr auto; gap:25px; align-items:center; }.footer-brand { align-self:start; padding-top:34px; }.footer-brand.brand-image { width:164px; }.footer-shell .eyebrow { margin-bottom:8px; color:var(--lime); font-size:var(--text); letter-spacing:.06em; }.footer-email { font:22px var(--display); }.footer-meta { text-align:right; align-self:end; padding-bottom:28px; font-size:var(--text); color:#bbc9c0; }.footer-socials { display:flex; justify-content:flex-end; gap:20px; margin-bottom:10px; }.footer-socials a { display:inline-flex; align-items:center; gap:5px; margin:0; color:var(--lime); }.footer-socials svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; }.footer-socials .line-logo { overflow:visible; fill:currentColor; stroke:none; }.footer-socials .line-logo text { fill:#102c25; font:700 5px Arial,sans-serif; }.footer-meta p { display:block; margin:0; }
.blog-hero { color:#f9f6ef; background:var(--green); padding:210px 0 115px; position:relative; overflow:hidden; }.blog-hero:after { content:""; position:absolute; right:-10%; top:-42%; width:530px; aspect-ratio:1; border:1px solid rgba(222,244,92,.7); border-radius:50%; box-shadow:0 0 0 50px rgba(222,244,92,.14),0 0 0 105px rgba(222,244,92,.08); }.blog-hero .container { position:relative; z-index:1; }.blog-hero h1 { max-width:850px; margin:0 0 24px; }.blog-hero h1 em { color:var(--lime); }.blog-hero .container>p:last-child { max-width:480px; margin:0; color:#d5e0d9; }.blog-index { padding:68px 0 140px; }.blog-toolbar { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:19px; margin-bottom:32px; }.blog-toolbar>p { margin:0; font:var(--text) var(--mono); }.search { display:flex; align-items:center; gap:9px; border-bottom:1px solid var(--ink); }.search span { font-size:24px; transform:rotate(-15deg); }.search input { width:180px; border:0; outline:0; background:transparent; padding:3px 0; font-size:var(--text); }.blog-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:65px 25px; }.blog-cards .journal-card h3 { font-size:25px; min-height:auto; }.blog-cards .post-excerpt { min-height:auto; max-width:510px; }.no-results { text-align:center; margin:70px 0; color:#52665e; }
.article-header { padding:173px 0 78px; background:var(--sand); }.back-link { display:inline-block; font-size:var(--text); margin-bottom:48px; border-bottom:1px solid transparent; }.back-link:hover { border-color:currentColor; }.article-header .post-tag { margin-bottom:14px; }.article-header h1 { margin:0 0 30px; font-size:clamp(42px,6vw,76px); }.article-meta { display:flex; gap:16px; color:#52665e; font:var(--text) var(--mono); }.article-meta span+span:before { content:'·'; margin-right:16px; }.article-divider { height:50px; background:var(--sand); }.article-divider span { display:block; width:min(760px,calc(100% - 48px)); height:1px; margin:auto; background:var(--ink); }.article-content { padding:67px 0 120px; }.article-intro { font:600 24px/1.7 var(--display); margin-bottom:61px; }.article-content section { margin:0 0 41px; }.article-content h2 { margin:0 0 20px; font:600 31px/1.35 var(--display); }.article-content p { margin:0 0 20px; font-size:var(--text); line-height:2; }.article-content ul { padding-left:1.25em; }.article-content li { margin:10px 0; padding-left:7px; }.inline-link { display:inline-block; color:var(--moss); border-bottom:1px solid currentColor; }.article-cta { margin-top:70px; padding:44px; background:var(--mint); }.article-cta .eyebrow { margin-bottom:14px; }.article-cta h2 { margin-bottom:23px; }.related { padding:80px 0 135px; border-top:1px solid var(--line); }.related h2 { margin:0 0 37px; }.not-found { min-height:70vh; padding-top:180px; }.not-found h1 { margin:0 0 30px; }
@media (max-width:760px) { :root { --text:18px; --label:14px; }.container { width:calc(100% - 40px); }.narrow { width:calc(100% - 40px); }.nav-shell { width:calc(100% - 40px); height:74px; }.main-nav { position:absolute; display:none; top:74px; left:0; right:0; padding:24px 20px 30px; background:var(--green); flex-direction:column; align-items:flex-start; gap:17px; border-bottom:1px solid rgba(255,255,255,.2); }.main-nav.is-open { display:flex; }.main-nav .nav-cta { margin:6px 0 0; }.menu-button { display:block; }.hero { height:auto; min-height:690px; }.hero-copy { padding-top:175px; }.hero h1 { font-size:49px; }.hero-intro { font-size:var(--text); }.hero-actions { align-items:flex-start; flex-direction:column; gap:21px; }.hero-side-note { display:none; }.hero-title>span,.hero-title>em,.intro-title>span,.principles-title>span,.principles-title>em,.outcomes-title>span { white-space:normal; }.principles-copy span { white-space:normal; }.intro-section,.principles-heading,.outcomes-inner,.newsletter-inner { grid-template-columns:1fr; gap:25px; }.intro-section { padding:80px 0; }.intro-content { padding:0; }.lead { font-size:var(--text); }.principles { padding:78px 0 55px; }.principles-heading p { max-width:440px; }.principle-list { margin-top:45px; grid-template-columns:1fr; gap:0; }.principle-list article { min-height:0; padding:24px 0 31px; }.principle-list h3 { margin:25px 0 8px; }.programs { padding:82px 0; }.section-title { margin-bottom:38px; }.section-title .text-link { position:static; margin-top:18px; }.program-grid { grid-template-columns:1fr; }.program-card { min-height:285px; }.outcomes { padding:76px 0; }.outcomes h2 { margin-bottom:30px; }.journal { padding:83px 0; }.journal-list,.blog-cards { grid-template-columns:1fr; gap:43px; }.journal-card h3,.blog-cards .journal-card h3 { min-height:0; font-size:22px; }.post-excerpt { min-height:0; }.newsletter { padding:74px 0; }.subscribe-form { grid-template-columns:1fr; }.subscribe-form button,.subscribe-form p { grid-column:auto; }.post-excerpt { min-height:0; }.contact { padding:80px 0; }.footer-shell { width:calc(100% - 40px); grid-template-columns:1fr; gap:22px; padding:34px 0 24px; }.footer-brand { padding:0; }.footer-meta { padding:0; text-align:left; align-self:auto; }.footer-socials { justify-content:flex-start; }.footer-meta a { display:block; margin:0 0 5px; }.footer-meta p { display:block; margin:0; }.blog-hero { padding:150px 0 75px; }.blog-hero:after { width:310px; right:-44%; top:-11%; }.blog-toolbar { align-items:flex-end; }.search input { width:128px; }.article-header { padding:126px 0 51px; }.article-header h1 { font-size:44px; }.article-meta { flex-wrap:wrap; gap:5px 10px; }.article-divider { height:32px; }.article-content { padding:48px 0 78px; }.article-intro { font-size:21px; margin-bottom:46px; }.article-content h2 { font-size:27px; }.article-content p { font-size:var(--text); line-height:1.95; }.article-cta { margin-top:50px; padding:30px 24px; }.related { padding:61px 0 80px; } }
