/* Guided editorial case studies. */
.ct-case{--ct-navy:#004993;--ct-blue:#0b579e;--ct-gold:#ffc742;--ct-cream:#fbf7ef;--ct-ink:#082f5c;position:relative;z-index:2;background:var(--ct-cream);color:var(--ct-ink);overflow:hidden}
.case-chinese-tutor,.case-guided-project,.case-castle-photoart{background:var(--paper)}
.castle-case{--ct-navy:#263c3a;--ct-blue:#678f8b;--ct-gold:#d8c9ae;--ct-cream:#f5f1e9;--ct-ink:#292b29}
.guided-case{--ct-navy:#0b0a36;--ct-blue:#0fc5f3;--ct-gold:#ffc21c;--ct-cream:#f4f1e9;--ct-ink:#15144f}
.ct-progress{position:fixed;z-index:1001;top:0;left:0;width:100%;height:3px;pointer-events:none}.ct-progress i{display:block;width:100%;height:100%;background:var(--ct-gold);transform:scaleX(0);transform-origin:left center}
.ct-section{position:relative;padding-right:max(5vw,30px);padding-left:max(5vw,30px)}
.ct-reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.ct-reveal.is-visible{opacity:1;transform:none}
.ct-media{position:relative;margin:0;overflow:hidden;border-radius:24px;background:#e7e0d4;box-shadow:0 30px 80px rgba(0,35,75,.14);transform-style:preserve-3d;will-change:transform}
.ct-media:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.22) 49%,transparent 56%);transform:translateX(-120%);transition:transform .9s ease;pointer-events:none}
.ct-media:hover:after{transform:translateX(120%)}
.ct-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.ct-media:hover img{transform:scale(1.025)}
.ct-media figcaption{position:absolute;z-index:2;right:14px;bottom:14px;margin:0;padding:8px 11px;border-radius:100px;background:rgba(0,73,147,.88);backdrop-filter:blur(8px);color:#fff;font:500 8px/1 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.ct-section-number{display:flex;align-items:center;gap:15px;color:var(--ct-ink);font:500 9px/1 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.ct-section-number span{color:var(--ct-blue)}.ct-section-number p{margin:0}.ct-section-number:before{content:"";width:42px;height:1px;background:var(--ct-blue)}

.ct-hero{min-height:min(760px,100svh);padding-top:150px;padding-bottom:70px;background:var(--ct-navy);color:#fff;display:grid;grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr);gap:5vw;align-items:center}
.ct-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(#000 30%,transparent)}
.ct-hero-copy{position:relative;z-index:3;max-width:620px}.ct-hero-copy .kicker{color:rgba(255,255,255,.62)}.ct-hero-copy .kicker>span{background:var(--ct-gold)}
.ct-hero-copy h1{margin:30px 0 28px;font:750 clamp(4.4rem,7.7vw,8rem)/.76 Manrope,sans-serif;letter-spacing:-.08em}.ct-hero-copy h1 em{font-style:normal;color:var(--ct-gold)}
.ct-hero-copy>p:not(.kicker){max-width:570px;margin:0;color:rgba(255,255,255,.7);font-size:clamp(15px,1.15vw,18px);line-height:1.68}
.ct-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.ct-meta span,.ct-meta a{padding:8px 11px;border:1px solid rgba(255,255,255,.22);border-radius:100px;color:rgba(255,255,255,.72);font:500 8px/1.1 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.ct-meta a{border-color:rgba(255,199,66,.68);color:var(--ct-gold);transition:background-color .2s ease,color .2s ease}.ct-meta a:hover,.ct-meta a:focus-visible{background:var(--ct-gold);color:var(--ct-ink)}.ct-meta a b{font-size:11px}
.ct-hero-art{z-index:2;aspect-ratio:16/9;border-radius:28px;box-shadow:0 34px 90px rgba(0,0,0,.26)}.ct-hero-art img{position:relative;z-index:2}.ct-hero-art figcaption{background:rgba(0,20,55,.72)}
.ct-scroll{position:absolute;z-index:4;left:max(5vw,30px);bottom:26px;display:inline-flex;align-items:center;gap:28px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.34);color:#fff;font:500 9px/1 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.ct-scroll b{color:var(--ct-gold)}

.ct-brief{padding-top:78px;padding-bottom:78px;display:grid;grid-template-columns:.55fr 1.45fr;gap:7vw;border-bottom:1px solid rgba(0,73,147,.14)}
.ct-brief-copy{max-width:1040px}.ct-brief-copy h2,.ct-concept-copy h2,.ct-palette-copy h2,.ct-scale-head h2,.ct-system-head h2,.ct-outcome h2{margin:0;font:700 clamp(2.8rem,5vw,5.5rem)/.92 Manrope,sans-serif;letter-spacing:-.065em}
.ct-brief-copy>p{max-width:850px;margin:24px 0 0;color:#4b6278;font-size:clamp(16px,1.25vw,19px);line-height:1.7}
.ct-brief-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.ct-brief-tags span{padding:9px 13px;border-radius:100px;background:#fff;color:var(--ct-blue);font:500 8px/1 'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase;box-shadow:0 8px 28px rgba(0,73,147,.08)}

.ct-concept{padding-top:84px;padding-bottom:84px;display:grid;grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr);gap:6vw;align-items:center;background:#fff}
.ct-concept-copy .ct-section-number,.ct-palette-copy .ct-section-number,.ct-scale-head .ct-section-number{margin-bottom:30px}.ct-concept-copy h2{max-width:650px}.ct-concept-copy>p{max-width:640px;margin:24px 0;color:#53687c;line-height:1.72}.ct-concept-copy blockquote{margin:28px 0 0;padding-top:18px;border-top:1px solid rgba(0,73,147,.16);font:600 clamp(1.2rem,1.8vw,1.75rem)/1.4 Manrope,sans-serif;letter-spacing:-.025em}
.ct-symbols{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:30px}.ct-symbols span{min-height:82px;padding:17px;border:1px solid rgba(0,73,147,.16);border-radius:16px;color:#67788a;font:500 9px/1.45 'DM Mono',monospace;text-transform:uppercase}.ct-symbols b{display:block;margin-bottom:7px;color:var(--ct-blue);font:700 17px/1 Manrope,sans-serif;text-transform:none}.ct-symbols i{color:var(--ct-gold);font:700 24px/1 Manrope,sans-serif;font-style:normal}
.ct-concept-image{aspect-ratio:16/9}

.ct-palette{padding-top:84px;padding-bottom:84px;display:grid;grid-template-columns:1.15fr .85fr;gap:6vw;align-items:center;background:var(--ct-gold)}
.ct-palette-image{aspect-ratio:16/9;box-shadow:0 32px 75px rgba(81,52,0,.17)}
.ct-palette-copy .ct-section-number:before{background:var(--ct-ink)}.ct-palette-copy .ct-section-number span{color:#fff}.ct-palette-copy>p{margin:24px 0;color:rgba(8,47,92,.78);line-height:1.72}.ct-palette-copy blockquote{margin:30px 0 0;padding:20px 0 0;border-top:1px solid rgba(8,47,92,.22);font:600 clamp(1.3rem,2vw,2rem)/1.35 Manrope,sans-serif;letter-spacing:-.03em}

.ct-scale{padding-top:78px;padding-bottom:78px;display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:center;background:var(--ct-cream)}
.ct-scale-head{max-width:650px}.ct-scale-head>p{margin:24px 0 0;color:#53687c;line-height:1.72}.ct-scale-image{aspect-ratio:16/9}

.ct-system{padding-top:58px;padding-bottom:64px;background:var(--ct-navy);color:#fff}
.ct-system .ct-section-number{color:#fff}.ct-system .ct-section-number span{color:var(--ct-gold)}.ct-system .ct-section-number:before{background:var(--ct-gold)}
.ct-system-head{display:grid;grid-template-columns:.42fr 1.58fr;gap:5vw;margin-bottom:26px}.ct-system-head>div:last-child{display:grid;grid-template-columns:1.15fr .85fr;gap:3vw;align-items:end}.ct-system-head h2{max-width:680px;font-size:clamp(2.65rem,4.25vw,4.8rem)}.ct-system-head>div:last-child p{margin:0;color:rgba(255,255,255,.64);font-size:14px;line-height:1.58}
.ct-system-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:14px;height:clamp(390px,32vw,470px)}.ct-system-grid .ct-media{border-radius:20px;box-shadow:0 28px 65px rgba(0,0,0,.23)}.ct-system-wide{grid-row:1/3}.ct-system-grid img{object-fit:cover}.ct-system-grid-sparse{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-template-rows:1fr}.ct-system-grid-sparse .ct-system-wide{grid-row:auto}

.ct-outcome{min-height:590px;padding-top:88px;padding-bottom:92px;background:var(--ct-blue);color:#fff;display:grid;grid-template-columns:1.25fr .75fr;gap:6vw;align-items:center}
.ct-outcome:after{content:"好";position:absolute;right:-.03em;bottom:-.18em;color:rgba(255,255,255,.035);font:800 33vw/1 Manrope,sans-serif;pointer-events:none}.ct-outcome-copy{position:relative;z-index:2;max-width:1000px}.ct-outcome .kicker{color:rgba(255,255,255,.65)}.ct-outcome .kicker>span{background:var(--ct-gold)}.ct-outcome h2{margin-top:32px}.ct-outcome-copy>p:not(.kicker){max-width:700px;margin:24px 0 0;color:rgba(255,255,255,.68);font-size:17px;line-height:1.7}
.ct-project-link{position:relative;z-index:3;justify-self:end;width:190px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--ct-gold);color:var(--ct-ink);font:600 11px/1.45 'DM Mono',monospace;text-transform:uppercase;box-shadow:0 28px 60px rgba(0,0,0,.2);transition:transform .25s ease}.ct-project-link:hover{transform:scale(1.05) rotate(-3deg)}.ct-project-link span{white-space:nowrap}.ct-project-link span i{font-style:normal}.ct-project-link b{display:block;margin-top:8px;font-size:20px}
.ct-next-link{position:absolute;z-index:3;right:max(5vw,30px);bottom:30px;display:flex;align-items:center;gap:18px;color:#fff}.ct-next-link small{font:500 8px/1 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;opacity:.55}.ct-next-link span{border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:6px;font-weight:600}.ct-next-link b{color:var(--ct-gold)}
.castle-case .ct-palette{background:#d9cdb9}.castle-case .ct-palette-copy .ct-section-number span{color:#263c3a}.castle-case .ct-system{background:#263c3a}.castle-case .ct-outcome{background:#678f8b}.castle-case .ct-outcome:after{content:"C"}.castle-case .ct-hero-copy h1{font-size:clamp(4rem,7vw,7.4rem)}
.guided-case .ct-hero-copy h1{font-size:clamp(3.7rem,7vw,7.2rem);line-height:.84}.ct-hero-no-media{grid-template-columns:1fr}.ct-hero-no-media .ct-hero-copy{max-width:1000px}

@media(max-width:1050px){
	.ct-hero{grid-template-columns:.82fr 1.18fr}.ct-hero-copy h1{font-size:clamp(4rem,8vw,6.5rem)}
	.ct-concept,.ct-palette,.ct-scale{gap:4vw}.ct-system-head>div:last-child{grid-template-columns:1fr}
}
@media(max-width:800px){
	.ct-section{padding-right:24px;padding-left:24px}.ct-hero{min-height:auto;padding-top:130px;padding-bottom:78px;grid-template-columns:1fr;gap:38px}.ct-hero-copy{max-width:680px}.ct-hero-copy h1{font-size:clamp(4rem,15vw,7rem)}.ct-hero-art{width:100%;max-width:760px}.ct-scroll{left:24px}
	.ct-brief,.ct-concept,.ct-palette,.ct-scale{grid-template-columns:1fr;gap:36px}.ct-brief{padding-top:70px;padding-bottom:70px}.ct-concept,.ct-palette,.ct-scale{padding-top:72px;padding-bottom:72px}.ct-concept-image{order:-1}.ct-palette-copy{order:-1}
	.ct-system{padding-top:62px;padding-bottom:64px}.ct-system-head{grid-template-columns:1fr;gap:22px}.ct-system-head>div:last-child{grid-template-columns:1fr 1fr}.ct-system-grid{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto}.ct-system-grid .ct-media{aspect-ratio:16/9}.ct-system-wide{grid-column:1/3;grid-row:auto}
	.ct-outcome{min-height:620px;grid-template-columns:1fr;padding-top:80px;padding-bottom:130px}.ct-project-link{justify-self:start;width:155px}.ct-next-link{right:24px}
}
@media(max-width:560px){
	.ct-section{padding-right:20px;padding-left:20px}.ct-hero{padding-top:112px;padding-bottom:72px}.ct-hero-copy h1{font-size:17vw}.ct-hero-art{border-radius:18px}.ct-scroll{left:20px;bottom:24px}.ct-meta span,.ct-meta a{font-size:7px}
	.ct-brief{padding-top:58px;padding-bottom:58px;gap:28px}.ct-concept,.ct-palette,.ct-scale{padding-top:62px;padding-bottom:62px;gap:28px}.ct-brief-copy h2,.ct-concept-copy h2,.ct-palette-copy h2,.ct-scale-head h2,.ct-system-head h2,.ct-outcome h2{font-size:clamp(2.55rem,12vw,4.2rem)}.ct-symbols{grid-template-columns:1fr}.ct-symbols i{text-align:center}.ct-media{border-radius:16px}.ct-media figcaption{font-size:7px}
	.ct-system{padding-top:56px;padding-bottom:58px}.ct-system-head>div:last-child{grid-template-columns:1fr}.ct-system-grid{grid-template-columns:1fr}.ct-system-wide{grid-column:auto}.ct-system-grid .ct-media{aspect-ratio:16/9}
	.ct-outcome{padding-top:68px;padding-bottom:160px}.ct-outcome-copy>p:not(.kicker){font-size:15px}.ct-project-link{width:138px;font-size:9.5px;line-height:1.35}.ct-project-link span{max-width:112px;white-space:normal}.ct-project-link span i{display:block}.ct-project-link b{margin-top:10px;font-size:18px}.ct-next-link{left:20px;right:auto;bottom:35px}.ct-next-link small{display:none}
}
@media(prefers-reduced-motion:reduce){.ct-reveal{opacity:1;transform:none;transition:none}.ct-media,.ct-media img,.ct-media:after,.ct-project-link{transition:none!important}}
